@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
package/dist/ui/format.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Locale-aware formatting helpers shared by every widget module. Each helper
|
|
3
|
-
* returns an em-dash for null/undefined/empty input so callers can render
|
|
4
|
-
* directly into a table cell without per-row branching.
|
|
5
|
-
*
|
|
6
|
-
* THE single source for timestamp/number/percent/period/duration/truncate
|
|
7
|
-
* rendering — the modules' former local copies drifted into three different
|
|
8
|
-
* duration styles ("3m 7s" / "3.1m" / "3.1min"); the canonical style is the
|
|
9
|
-
* compact family below ("3m 7s", German "3 Min. 7 s").
|
|
10
|
-
*
|
|
11
|
-
* Dates and numbers render in the view's EFFECTIVE locale (and dates in the
|
|
12
|
-
* host's time zone), not the iframe browser's: the shell's ProfileGate
|
|
13
|
-
* resolves them (explicit profile language > host locale > English) and
|
|
14
|
-
* publishes them here with {@link setFormatLocale} before its children
|
|
15
|
-
* render. Outside the shell (unit renders, fixtures) the browser defaults
|
|
16
|
-
* apply and unit words are English.
|
|
17
|
-
*/
|
|
18
|
-
/** The locale + time zone the date helpers render in. */
|
|
19
|
-
export interface FormatLocale {
|
|
20
|
-
/** The effective UI language — what the shell's `LocaleProvider` carries. */
|
|
21
|
-
language: string;
|
|
22
|
-
/** The BCP 47 tag dates format in (the host's full tag when it speaks `language`). */
|
|
23
|
-
locale: string;
|
|
24
|
-
/** IANA time zone; `undefined` = the browser's. */
|
|
25
|
-
timeZone?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Publish the locale the date helpers render in (the shell's ProfileGate;
|
|
29
|
-
* `undefined` restores the browser defaults). A no-op for an unchanged value,
|
|
30
|
-
* so subscribers only re-render on a real change.
|
|
31
|
-
*/
|
|
32
|
-
export declare function setFormatLocale(next: FormatLocale | undefined): void;
|
|
33
|
-
/** The published format locale — `useSyncExternalStore` snapshot. */
|
|
34
|
-
export declare function getFormatLocale(): FormatLocale | undefined;
|
|
35
|
-
/** Subscribe to {@link setFormatLocale} changes — `useSyncExternalStore` subscribe. */
|
|
36
|
-
export declare function subscribeFormatLocale(listener: () => void): () => void;
|
|
37
|
-
export declare function formatTimestamp(iso: string | null | undefined): string;
|
|
38
|
-
export declare function formatDate(iso: string | null | undefined): string;
|
|
39
|
-
export declare function formatTime(iso: string | null | undefined, opts?: {
|
|
40
|
-
seconds?: boolean;
|
|
41
|
-
}): string;
|
|
42
|
-
/**
|
|
43
|
-
* A number in the view's locale ("1.234,5" / "1,234.5"); em-dash for
|
|
44
|
-
* null/undefined/NaN/±Infinity. `options` are passed to `Intl.NumberFormat`.
|
|
45
|
-
*/
|
|
46
|
-
export declare function formatNumber(value: number | null | undefined, options?: Intl.NumberFormatOptions): string;
|
|
47
|
-
/** Fraction digits and sign of {@link formatPercent} / {@link formatPercentPoints}. */
|
|
48
|
-
export interface PercentFormatOptions {
|
|
49
|
-
/** Default 1, raised to `minimumFractionDigits` when that is larger. */
|
|
50
|
-
maximumFractionDigits?: number;
|
|
51
|
-
/** Default 0 — set it equal to the maximum for aligned table columns. */
|
|
52
|
-
minimumFractionDigits?: number;
|
|
53
|
-
/** Show "+" for a positive value (deltas). */
|
|
54
|
-
signed?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* A value in PERCENT units (3.7 means 3.7 %) in the view's locale:
|
|
58
|
-
* "3,7 %" in German, "3.7%" in English. Em-dash for a missing value.
|
|
59
|
-
*/
|
|
60
|
-
export declare function formatPercent(percent: number | null | undefined, options?: PercentFormatOptions): string;
|
|
61
|
-
/**
|
|
62
|
-
* A difference of two percentages in percentage points, signed by default:
|
|
63
|
-
* "+0,2 Pp." in German, "+0.2 pp" in English.
|
|
64
|
-
*/
|
|
65
|
-
export declare function formatPercentPoints(points: number | null | undefined, options?: PercentFormatOptions): string;
|
|
66
|
-
/**
|
|
67
|
-
* A look-back period token ("7d", "24h", "30m", "2w") as words in the view's
|
|
68
|
-
* language: "7 Tage" / "7 days", "1 Stunde" / "1 hour". Anything that is not
|
|
69
|
-
* such a token comes back unchanged; empty input renders the em-dash.
|
|
70
|
-
*/
|
|
71
|
-
export declare function formatPeriod(period: string | null | undefined): string;
|
|
72
|
-
/**
|
|
73
|
-
* Format a millisecond duration compactly in the view's language: English
|
|
74
|
-
* `420ms`, `12s`, `3m 7s`, `1h 24m`; German `420 ms`, `12 s`, `3 Min. 7 s`,
|
|
75
|
-
* `1 h 24 Min.`. Returns an em-dash for null, negative or NaN input;
|
|
76
|
-
* fractional input is rounded to whole ms.
|
|
77
|
-
*/
|
|
78
|
-
export declare function formatDuration(ms: number | null | undefined): string;
|
|
79
|
-
/** Truncate with an ellipsis; em-dash for null/empty input. */
|
|
80
|
-
export declare function truncate(value: string | null | undefined, max: number): string;
|
|
81
|
-
//# sourceMappingURL=format.d.ts.map
|
package/dist/ui/format.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAA;IAChB,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AASD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAIpE;AAED,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAE1D;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtE;AAaD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGtE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGjE;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CAOR;AAqBD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GACjC,MAAM,CAGR;AAED,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yEAAyE;IACzE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAgBD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAIR;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOtE;AAQD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAWpE;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9E"}
|
package/dist/ui/format.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Locale-aware formatting helpers shared by every widget module. Each helper
|
|
3
|
-
* returns an em-dash for null/undefined/empty input so callers can render
|
|
4
|
-
* directly into a table cell without per-row branching.
|
|
5
|
-
*
|
|
6
|
-
* THE single source for timestamp/number/percent/period/duration/truncate
|
|
7
|
-
* rendering — the modules' former local copies drifted into three different
|
|
8
|
-
* duration styles ("3m 7s" / "3.1m" / "3.1min"); the canonical style is the
|
|
9
|
-
* compact family below ("3m 7s", German "3 Min. 7 s").
|
|
10
|
-
*
|
|
11
|
-
* Dates and numbers render in the view's EFFECTIVE locale (and dates in the
|
|
12
|
-
* host's time zone), not the iframe browser's: the shell's ProfileGate
|
|
13
|
-
* resolves them (explicit profile language > host locale > English) and
|
|
14
|
-
* publishes them here with {@link setFormatLocale} before its children
|
|
15
|
-
* render. Outside the shell (unit renders, fixtures) the browser defaults
|
|
16
|
-
* apply and unit words are English.
|
|
17
|
-
*/
|
|
18
|
-
const EMPTY = "—";
|
|
19
|
-
let current;
|
|
20
|
-
const listeners = new Set();
|
|
21
|
-
function sameFormatLocale(a, b) {
|
|
22
|
-
return a?.language === b?.language && a?.locale === b?.locale && a?.timeZone === b?.timeZone;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Publish the locale the date helpers render in (the shell's ProfileGate;
|
|
26
|
-
* `undefined` restores the browser defaults). A no-op for an unchanged value,
|
|
27
|
-
* so subscribers only re-render on a real change.
|
|
28
|
-
*/
|
|
29
|
-
export function setFormatLocale(next) {
|
|
30
|
-
if (sameFormatLocale(current, next))
|
|
31
|
-
return;
|
|
32
|
-
current = next;
|
|
33
|
-
for (const listener of listeners)
|
|
34
|
-
listener();
|
|
35
|
-
}
|
|
36
|
-
/** The published format locale — `useSyncExternalStore` snapshot. */
|
|
37
|
-
export function getFormatLocale() {
|
|
38
|
-
return current;
|
|
39
|
-
}
|
|
40
|
-
/** Subscribe to {@link setFormatLocale} changes — `useSyncExternalStore` subscribe. */
|
|
41
|
-
export function subscribeFormatLocale(listener) {
|
|
42
|
-
listeners.add(listener);
|
|
43
|
-
return () => {
|
|
44
|
-
listeners.delete(listener);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/** Options for a date helper: the published time zone folded in. */
|
|
48
|
-
function zoned(options = {}) {
|
|
49
|
-
return current?.timeZone ? { ...options, timeZone: current.timeZone } : options;
|
|
50
|
-
}
|
|
51
|
-
/** Parse an ISO string; null for unparsable input so callers render {@link EMPTY}. */
|
|
52
|
-
function parseDate(iso) {
|
|
53
|
-
const date = new Date(iso);
|
|
54
|
-
return Number.isNaN(date.getTime()) ? null : date;
|
|
55
|
-
}
|
|
56
|
-
export function formatTimestamp(iso) {
|
|
57
|
-
if (!iso)
|
|
58
|
-
return EMPTY;
|
|
59
|
-
return parseDate(iso)?.toLocaleString(current?.locale, zoned()) ?? EMPTY;
|
|
60
|
-
}
|
|
61
|
-
export function formatDate(iso) {
|
|
62
|
-
if (!iso)
|
|
63
|
-
return EMPTY;
|
|
64
|
-
return parseDate(iso)?.toLocaleDateString(current?.locale, zoned()) ?? EMPTY;
|
|
65
|
-
}
|
|
66
|
-
export function formatTime(iso, opts = {}) {
|
|
67
|
-
if (!iso)
|
|
68
|
-
return EMPTY;
|
|
69
|
-
const date = parseDate(iso);
|
|
70
|
-
if (!date)
|
|
71
|
-
return EMPTY;
|
|
72
|
-
return opts.seconds === false
|
|
73
|
-
? date.toLocaleTimeString(current?.locale, zoned({ hour: "2-digit", minute: "2-digit" }))
|
|
74
|
-
: date.toLocaleTimeString(current?.locale, zoned());
|
|
75
|
-
}
|
|
76
|
-
// ── Numbers ─────────────────────────────────────────────────────────────────
|
|
77
|
-
//
|
|
78
|
-
// Every number a widget shows goes through these helpers, never `toFixed`
|
|
79
|
-
// or an argument-less `toLocaleString()` (an ESLint gate in widget code):
|
|
80
|
-
// both ignore the view's locale ("3.7%" in a German cockpit, "1,234" vs
|
|
81
|
-
// "1.234"). They read the same published locale as the date helpers.
|
|
82
|
-
/** A non-breaking space: a number never wraps away from its unit. */
|
|
83
|
-
const NBSP = " ";
|
|
84
|
-
/** The UI language the unit words follow: German or English. */
|
|
85
|
-
function unitLanguage() {
|
|
86
|
-
return current?.language.toLowerCase().startsWith("de") ? "de" : "en";
|
|
87
|
-
}
|
|
88
|
-
function isNumber(value) {
|
|
89
|
-
return typeof value === "number" && Number.isFinite(value);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* A number in the view's locale ("1.234,5" / "1,234.5"); em-dash for
|
|
93
|
-
* null/undefined/NaN/±Infinity. `options` are passed to `Intl.NumberFormat`.
|
|
94
|
-
*/
|
|
95
|
-
export function formatNumber(value, options) {
|
|
96
|
-
if (!isNumber(value))
|
|
97
|
-
return EMPTY;
|
|
98
|
-
return new Intl.NumberFormat(current?.locale, options).format(value);
|
|
99
|
-
}
|
|
100
|
-
function percentOptions(options, signedDefault) {
|
|
101
|
-
const minimumFractionDigits = options?.minimumFractionDigits ?? 0;
|
|
102
|
-
return {
|
|
103
|
-
// Intl throws a RangeError for a maximum below the minimum; a formatter
|
|
104
|
-
// runs during render, so it never may.
|
|
105
|
-
maximumFractionDigits: Math.max(options?.maximumFractionDigits ?? 1, minimumFractionDigits),
|
|
106
|
-
minimumFractionDigits,
|
|
107
|
-
signDisplay: (options?.signed ?? signedDefault) ? "exceptZero" : "auto",
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* A value in PERCENT units (3.7 means 3.7 %) in the view's locale:
|
|
112
|
-
* "3,7 %" in German, "3.7%" in English. Em-dash for a missing value.
|
|
113
|
-
*/
|
|
114
|
-
export function formatPercent(percent, options) {
|
|
115
|
-
if (!isNumber(percent))
|
|
116
|
-
return EMPTY;
|
|
117
|
-
return new Intl.NumberFormat(current?.locale, {
|
|
118
|
-
style: "percent",
|
|
119
|
-
...percentOptions(options, false),
|
|
120
|
-
}).format(percent / 100);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* A difference of two percentages in percentage points, signed by default:
|
|
124
|
-
* "+0,2 Pp." in German, "+0.2 pp" in English.
|
|
125
|
-
*/
|
|
126
|
-
export function formatPercentPoints(points, options) {
|
|
127
|
-
if (!isNumber(points))
|
|
128
|
-
return EMPTY;
|
|
129
|
-
const n = new Intl.NumberFormat(current?.locale, percentOptions(options, true)).format(points);
|
|
130
|
-
return `${n}${NBSP}${unitLanguage() === "de" ? "Pp." : "pp"}`;
|
|
131
|
-
}
|
|
132
|
-
const PERIOD_UNITS = {
|
|
133
|
-
en: { m: ["minute", "minutes"], h: ["hour", "hours"], d: ["day", "days"], w: ["week", "weeks"] },
|
|
134
|
-
de: {
|
|
135
|
-
m: ["Minute", "Minuten"],
|
|
136
|
-
h: ["Stunde", "Stunden"],
|
|
137
|
-
d: ["Tag", "Tage"],
|
|
138
|
-
w: ["Woche", "Wochen"],
|
|
139
|
-
},
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
* A look-back period token ("7d", "24h", "30m", "2w") as words in the view's
|
|
143
|
-
* language: "7 Tage" / "7 days", "1 Stunde" / "1 hour". Anything that is not
|
|
144
|
-
* such a token comes back unchanged; empty input renders the em-dash.
|
|
145
|
-
*/
|
|
146
|
-
export function formatPeriod(period) {
|
|
147
|
-
if (!period)
|
|
148
|
-
return EMPTY;
|
|
149
|
-
const match = /^(\d+)\s*([mhdw])$/i.exec(period.trim());
|
|
150
|
-
if (!match)
|
|
151
|
-
return period;
|
|
152
|
-
const count = Number(match[1]);
|
|
153
|
-
const [one, other] = PERIOD_UNITS[unitLanguage()][match[2].toLowerCase()];
|
|
154
|
-
return `${formatNumber(count)}${NBSP}${count === 1 ? one : other}`;
|
|
155
|
-
}
|
|
156
|
-
/** Unit symbols of {@link formatDuration}; German puts a space between number and unit. */
|
|
157
|
-
const DURATION_UNITS = {
|
|
158
|
-
en: { ms: "ms", s: "s", min: "m", h: "h", gap: "" },
|
|
159
|
-
de: { ms: "ms", s: "s", min: "Min.", h: "h", gap: NBSP },
|
|
160
|
-
};
|
|
161
|
-
/**
|
|
162
|
-
* Format a millisecond duration compactly in the view's language: English
|
|
163
|
-
* `420ms`, `12s`, `3m 7s`, `1h 24m`; German `420 ms`, `12 s`, `3 Min. 7 s`,
|
|
164
|
-
* `1 h 24 Min.`. Returns an em-dash for null, negative or NaN input;
|
|
165
|
-
* fractional input is rounded to whole ms.
|
|
166
|
-
*/
|
|
167
|
-
export function formatDuration(ms) {
|
|
168
|
-
if (ms == null || ms < 0 || Number.isNaN(ms))
|
|
169
|
-
return EMPTY;
|
|
170
|
-
const units = DURATION_UNITS[unitLanguage()];
|
|
171
|
-
const part = (n, unit) => `${formatNumber(n)}${units.gap}${unit}`;
|
|
172
|
-
const total = Math.round(ms);
|
|
173
|
-
if (total < 1000)
|
|
174
|
-
return part(total, units.ms);
|
|
175
|
-
const s = Math.floor(total / 1000);
|
|
176
|
-
if (s < 60)
|
|
177
|
-
return part(s, units.s);
|
|
178
|
-
const m = Math.floor(s / 60);
|
|
179
|
-
if (m < 60)
|
|
180
|
-
return `${part(m, units.min)} ${part(s % 60, units.s)}`;
|
|
181
|
-
return `${part(Math.floor(m / 60), units.h)} ${part(m % 60, units.min)}`;
|
|
182
|
-
}
|
|
183
|
-
/** Truncate with an ellipsis; em-dash for null/empty input. */
|
|
184
|
-
export function truncate(value, max) {
|
|
185
|
-
if (!value)
|
|
186
|
-
return EMPTY;
|
|
187
|
-
return value.length > max ? value.slice(0, max) + "…" : value;
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=format.js.map
|
package/dist/ui/format.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/format.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../src/ui/format.test.ts"],"names":[],"mappings":""}
|
package/dist/ui/format.test.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { formatDate, formatDuration, formatNumber, formatPercent, formatPercentPoints, formatPeriod, formatTime, formatTimestamp, getFormatLocale, setFormatLocale, subscribeFormatLocale, truncate, } from "./format.js";
|
|
3
|
-
const EMPTY = "—";
|
|
4
|
-
afterEach(() => setFormatLocale(undefined));
|
|
5
|
-
describe("the published format locale (set by the shell's ProfileGate)", () => {
|
|
6
|
-
const iso = "2026-07-22T22:15:30.000Z";
|
|
7
|
-
it("renders every date helper in the published locale and time zone, not the browser's", () => {
|
|
8
|
-
setFormatLocale({ language: "de", locale: "de-AT", timeZone: "Asia/Tokyo" });
|
|
9
|
-
const date = new Date(iso);
|
|
10
|
-
expect(formatTimestamp(iso)).toBe(date.toLocaleString("de-AT", { timeZone: "Asia/Tokyo" }));
|
|
11
|
-
expect(formatDate(iso)).toBe(date.toLocaleDateString("de-AT", { timeZone: "Asia/Tokyo" }));
|
|
12
|
-
expect(formatTime(iso)).toBe(date.toLocaleTimeString("de-AT", { timeZone: "Asia/Tokyo" }));
|
|
13
|
-
expect(formatTime(iso, { seconds: false })).toBe(date.toLocaleTimeString("de-AT", {
|
|
14
|
-
hour: "2-digit",
|
|
15
|
-
minute: "2-digit",
|
|
16
|
-
timeZone: "Asia/Tokyo",
|
|
17
|
-
}));
|
|
18
|
-
// The zone moves the calendar day: 22:15 UTC is already the 23rd in Tokyo.
|
|
19
|
-
expect(formatDate(iso)).toContain("23");
|
|
20
|
-
});
|
|
21
|
-
it("keeps the browser's zone when none is published", () => {
|
|
22
|
-
setFormatLocale({ language: "en", locale: "en-GB" });
|
|
23
|
-
expect(formatTimestamp(iso)).toBe(new Date(iso).toLocaleString("en-GB"));
|
|
24
|
-
});
|
|
25
|
-
it("notifies subscribers on a real change only, and stops after unsubscribe", () => {
|
|
26
|
-
const listener = vi.fn();
|
|
27
|
-
const unsubscribe = subscribeFormatLocale(listener);
|
|
28
|
-
setFormatLocale({ language: "de", locale: "de" });
|
|
29
|
-
setFormatLocale({ language: "de", locale: "de" });
|
|
30
|
-
expect(listener).toHaveBeenCalledTimes(1);
|
|
31
|
-
expect(getFormatLocale()).toEqual({ language: "de", locale: "de" });
|
|
32
|
-
setFormatLocale({ language: "de", locale: "de", timeZone: "Europe/Berlin" });
|
|
33
|
-
expect(listener).toHaveBeenCalledTimes(2);
|
|
34
|
-
unsubscribe();
|
|
35
|
-
setFormatLocale(undefined);
|
|
36
|
-
expect(listener).toHaveBeenCalledTimes(2);
|
|
37
|
-
expect(getFormatLocale()).toBeUndefined();
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe("formatTimestamp / formatDate / formatTime", () => {
|
|
41
|
-
it("renders a valid ISO timestamp", () => {
|
|
42
|
-
const iso = "2026-07-22T10:15:30.000Z";
|
|
43
|
-
// No published locale: the browser's own, spelled out (an argument-less or
|
|
44
|
-
// `undefined` toLocaleString is what the kit's number gate bans).
|
|
45
|
-
const browserLocale = new Intl.DateTimeFormat().resolvedOptions().locale;
|
|
46
|
-
expect(formatTimestamp(iso)).toBe(new Date(iso).toLocaleString(browserLocale));
|
|
47
|
-
expect(formatDate(iso)).toBe(new Date(iso).toLocaleDateString());
|
|
48
|
-
expect(formatTime(iso)).toBe(new Date(iso).toLocaleTimeString());
|
|
49
|
-
});
|
|
50
|
-
it("returns the placeholder for null/undefined/empty input", () => {
|
|
51
|
-
for (const value of [null, undefined, ""]) {
|
|
52
|
-
expect(formatTimestamp(value)).toBe(EMPTY);
|
|
53
|
-
expect(formatDate(value)).toBe(EMPTY);
|
|
54
|
-
expect(formatTime(value)).toBe(EMPTY);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
it("returns the placeholder for an unparsable date instead of 'Invalid Date'", () => {
|
|
58
|
-
expect(formatTimestamp("not-a-date")).toBe(EMPTY);
|
|
59
|
-
expect(formatDate("not-a-date")).toBe(EMPTY);
|
|
60
|
-
expect(formatTime("not-a-date")).toBe(EMPTY);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
describe("formatDuration", () => {
|
|
64
|
-
it("formats the canonical compact family", () => {
|
|
65
|
-
expect(formatDuration(420)).toBe("420ms");
|
|
66
|
-
expect(formatDuration(12_000)).toBe("12s");
|
|
67
|
-
expect(formatDuration(187_000)).toBe("3m 7s");
|
|
68
|
-
expect(formatDuration(5_040_000)).toBe("1h 24m");
|
|
69
|
-
});
|
|
70
|
-
it("rounds fractional milliseconds", () => {
|
|
71
|
-
expect(formatDuration(420.4)).toBe("420ms");
|
|
72
|
-
expect(formatDuration(999.6)).toBe("1s");
|
|
73
|
-
});
|
|
74
|
-
it("returns the placeholder for null, negative and NaN input", () => {
|
|
75
|
-
expect(formatDuration(null)).toBe(EMPTY);
|
|
76
|
-
expect(formatDuration(undefined)).toBe(EMPTY);
|
|
77
|
-
expect(formatDuration(-1)).toBe(EMPTY);
|
|
78
|
-
expect(formatDuration(Number.NaN)).toBe(EMPTY);
|
|
79
|
-
});
|
|
80
|
-
it("speaks German units in a German view: a space before the unit, never wrapping", () => {
|
|
81
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
82
|
-
expect(formatDuration(420)).toBe(`420${NBSP}ms`);
|
|
83
|
-
expect(formatDuration(12_000)).toBe(`12${NBSP}s`);
|
|
84
|
-
expect(formatDuration(187_000)).toBe(`3${NBSP}Min. 7${NBSP}s`);
|
|
85
|
-
expect(formatDuration(5_040_000)).toBe(`1${NBSP}h 24${NBSP}Min.`);
|
|
86
|
-
expect(formatDuration(3_600_000 * 1234)).toBe(`1.234${NBSP}h 0${NBSP}Min.`);
|
|
87
|
-
});
|
|
88
|
-
it("keeps the compact English family in an English view, grouped by the locale", () => {
|
|
89
|
-
setFormatLocale({ language: "en", locale: "en-US" });
|
|
90
|
-
expect(formatDuration(187_000)).toBe("3m 7s");
|
|
91
|
-
expect(formatDuration(3_600_000 * 1234)).toBe("1,234h 0m");
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
const NBSP = " ";
|
|
95
|
-
describe("formatNumber", () => {
|
|
96
|
-
it("groups and separates decimals in the view's locale", () => {
|
|
97
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
98
|
-
expect(formatNumber(1234567.5)).toBe("1.234.567,5");
|
|
99
|
-
expect(formatNumber(0.25, { style: "percent" })).toBe(`25${NBSP}%`);
|
|
100
|
-
setFormatLocale({ language: "en", locale: "en-US" });
|
|
101
|
-
expect(formatNumber(1234567.5)).toBe("1,234,567.5");
|
|
102
|
-
expect(formatNumber(1234.567, { maximumFractionDigits: 1 })).toBe("1,234.6");
|
|
103
|
-
});
|
|
104
|
-
it("returns the placeholder for missing and non-finite values, 0 stays 0", () => {
|
|
105
|
-
for (const value of [null, undefined, Number.NaN, Number.POSITIVE_INFINITY]) {
|
|
106
|
-
expect(formatNumber(value)).toBe(EMPTY);
|
|
107
|
-
}
|
|
108
|
-
expect(formatNumber(0)).toBe("0");
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe("formatPercent / formatPercentPoints", () => {
|
|
112
|
-
it("formats percent units: 3,7 % in German, 3.7% in English", () => {
|
|
113
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
114
|
-
expect(formatPercent(3.7)).toBe(`3,7${NBSP}%`);
|
|
115
|
-
expect(formatPercent(3)).toBe(`3${NBSP}%`);
|
|
116
|
-
expect(formatPercent(3, { minimumFractionDigits: 1 })).toBe(`3,0${NBSP}%`);
|
|
117
|
-
expect(formatPercent(-84.66, { signed: true })).toBe(`-84,7${NBSP}%`);
|
|
118
|
-
expect(formatPercent(12.345, { maximumFractionDigits: 2 })).toBe(`12,35${NBSP}%`);
|
|
119
|
-
setFormatLocale({ language: "en", locale: "en-US" });
|
|
120
|
-
expect(formatPercent(3.7)).toBe("3.7%");
|
|
121
|
-
expect(formatPercent(427.4, { signed: true })).toBe("+427.4%");
|
|
122
|
-
expect(formatPercent(0, { signed: true })).toBe("0%");
|
|
123
|
-
});
|
|
124
|
-
it("formats percentage points signed by default: +0,2 Pp. / +0.2 pp", () => {
|
|
125
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
126
|
-
expect(formatPercentPoints(0.2)).toBe(`+0,2${NBSP}Pp.`);
|
|
127
|
-
expect(formatPercentPoints(-1.25)).toBe(`-1,3${NBSP}Pp.`);
|
|
128
|
-
expect(formatPercentPoints(0)).toBe(`0${NBSP}Pp.`);
|
|
129
|
-
setFormatLocale({ language: "en", locale: "en-GB" });
|
|
130
|
-
expect(formatPercentPoints(0.2)).toBe(`+0.2${NBSP}pp`);
|
|
131
|
-
expect(formatPercentPoints(0.2, { signed: false })).toBe(`0.2${NBSP}pp`);
|
|
132
|
-
});
|
|
133
|
-
it("raises the default maximum to a larger minimum instead of throwing during render", () => {
|
|
134
|
-
// `rate.toFixed(2) + "%"` migrated naturally: the default maximum of 1
|
|
135
|
-
// would sit below the minimum, which Intl rejects with a RangeError.
|
|
136
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
137
|
-
expect(formatPercent(3.75, { minimumFractionDigits: 2 })).toBe(`3,75${NBSP}%`);
|
|
138
|
-
expect(formatPercentPoints(0.25, { minimumFractionDigits: 2 })).toBe(`+0,25${NBSP}Pp.`);
|
|
139
|
-
setFormatLocale({ language: "en", locale: "en-US" });
|
|
140
|
-
expect(formatPercent(3.7, { minimumFractionDigits: 3 })).toBe("3.700%");
|
|
141
|
-
expect(formatPercent(3.75, { minimumFractionDigits: 2, maximumFractionDigits: 1 })).toBe("3.75%");
|
|
142
|
-
});
|
|
143
|
-
it("returns the placeholder for a missing value", () => {
|
|
144
|
-
expect(formatPercent(null)).toBe(EMPTY);
|
|
145
|
-
expect(formatPercentPoints(undefined)).toBe(EMPTY);
|
|
146
|
-
expect(formatPercent(Number.NaN)).toBe(EMPTY);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
describe("formatPeriod", () => {
|
|
150
|
-
it("spells a period token in the view's language, singular and plural", () => {
|
|
151
|
-
setFormatLocale({ language: "de", locale: "de-DE" });
|
|
152
|
-
expect(formatPeriod("7d")).toBe(`7${NBSP}Tage`);
|
|
153
|
-
expect(formatPeriod("1d")).toBe(`1${NBSP}Tag`);
|
|
154
|
-
expect(formatPeriod("24h")).toBe(`24${NBSP}Stunden`);
|
|
155
|
-
expect(formatPeriod("1H")).toBe(`1${NBSP}Stunde`);
|
|
156
|
-
expect(formatPeriod("30m")).toBe(`30${NBSP}Minuten`);
|
|
157
|
-
expect(formatPeriod("2w")).toBe(`2${NBSP}Wochen`);
|
|
158
|
-
setFormatLocale({ language: "en", locale: "en-US" });
|
|
159
|
-
expect(formatPeriod("7d")).toBe(`7${NBSP}days`);
|
|
160
|
-
expect(formatPeriod("1w")).toBe(`1${NBSP}week`);
|
|
161
|
-
expect(formatPeriod(" 14d ")).toBe(`14${NBSP}days`);
|
|
162
|
-
});
|
|
163
|
-
it("passes anything else through and renders the placeholder for no period", () => {
|
|
164
|
-
expect(formatPeriod("last quarter")).toBe("last quarter");
|
|
165
|
-
expect(formatPeriod("7y")).toBe("7y");
|
|
166
|
-
expect(formatPeriod("")).toBe(EMPTY);
|
|
167
|
-
expect(formatPeriod(null)).toBe(EMPTY);
|
|
168
|
-
});
|
|
169
|
-
it("speaks English while no locale is published (fixtures, unit renders)", () => {
|
|
170
|
-
expect(formatPeriod("3d")).toBe(`3${NBSP}days`);
|
|
171
|
-
expect(formatPercentPoints(1)).toContain("pp");
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
describe("truncate", () => {
|
|
175
|
-
it("truncates with an ellipsis and passes short values through", () => {
|
|
176
|
-
expect(truncate("abcdef", 3)).toBe("abc…");
|
|
177
|
-
expect(truncate("abc", 3)).toBe("abc");
|
|
178
|
-
expect(truncate(null, 3)).toBe(EMPTY);
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
//# sourceMappingURL=format.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.test.js","sourceRoot":"","sources":["../../src/ui/format.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { WidgetProps } from "@miragon/mcp-toolkit-core";
|
|
2
|
-
/**
|
|
3
|
-
* `shell:kpi-grid` — renders `keys[props.dataKey]` as a KPI strip.
|
|
4
|
-
* widgetProps: `dataKey` (required), `boxed?`, `variant?` ("strip" | "soft"),
|
|
5
|
-
* `emptyText?`.
|
|
6
|
-
*/
|
|
7
|
-
export declare function GenericKpiGridWidget({ keys, widgetProps }: WidgetProps): import("react").JSX.Element;
|
|
8
|
-
/**
|
|
9
|
-
* `shell:data-table` — renders `keys[props.dataKey]` (an array of records, or
|
|
10
|
-
* `{ rows: [...] }`) as a cockpit-style table. widgetProps: `dataKey`
|
|
11
|
-
* (required), `columns?` (`[{ key, label?, align? }]`, derived from the first
|
|
12
|
-
* row when omitted; a missing `label` is the key in words), `emptyText?`.
|
|
13
|
-
*/
|
|
14
|
-
export declare function GenericDataTableWidget({ keys, widgetProps }: WidgetProps): import("react").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=generic-widgets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generic-widgets.d.ts","sourceRoot":"","sources":["../../src/ui/generic-widgets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAgE5D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,WAAW,+BAkBtE;AAsCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,WAAW,+BAmCxE"}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { KpiGrid, resolveTone, useLocale } from "@miragon/mcp-toolkit-ui";
|
|
3
|
-
import { humanizeKey } from "./humanize-key.js";
|
|
4
|
-
import { kitLabels } from "./kit-labels.js";
|
|
5
|
-
import { ListTable } from "./list-table.js";
|
|
6
|
-
import { TableEmptyState, Td } from "./table.js";
|
|
7
|
-
/**
|
|
8
|
-
* Module-agnostic widgets — the standard composition targets for
|
|
9
|
-
* `render-view` and the visual builder: any module or pipeline step produces
|
|
10
|
-
* a context key with plain data, and a layout cell points a generic widget at
|
|
11
|
-
* it via `props.dataKey` — no custom widget needed for a standard KPI row or
|
|
12
|
-
* data table.
|
|
13
|
-
*
|
|
14
|
-
* Registered by the server app under the `shell:` namespace (see
|
|
15
|
-
* `../shell-catalogue.ts`, exported via `@miragon/pulse-widget-shell/server`). Their texts arrive via
|
|
16
|
-
* props; what they say themselves (the empty state, a Boolean's "Yes"/"No",
|
|
17
|
-
* the table's name) follows the active locale through `kitLabels`.
|
|
18
|
-
*/
|
|
19
|
-
function isRecord(v) {
|
|
20
|
-
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
21
|
-
}
|
|
22
|
-
function isPrimitive(v) {
|
|
23
|
-
return typeof v === "string" || typeof v === "number" || typeof v === "boolean";
|
|
24
|
-
}
|
|
25
|
-
/** A cell as shown: numbers and text as they are, a Boolean in words, anything else a dash. */
|
|
26
|
-
function cellValue(v, words) {
|
|
27
|
-
if (typeof v === "number")
|
|
28
|
-
return v;
|
|
29
|
-
if (typeof v === "string")
|
|
30
|
-
return v;
|
|
31
|
-
if (typeof v === "boolean")
|
|
32
|
-
return v ? words.yes : words.no;
|
|
33
|
-
return "—";
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Accepts either an array of `{ label, value, tone?, fraction? }` cells or a
|
|
37
|
-
* plain `{ label: value }` object; everything else renders as empty.
|
|
38
|
-
*/
|
|
39
|
-
function coerceKpiCells(raw, words) {
|
|
40
|
-
if (Array.isArray(raw)) {
|
|
41
|
-
return raw
|
|
42
|
-
.filter(isRecord)
|
|
43
|
-
.filter((r) => typeof r.label === "string" && r.label.length > 0)
|
|
44
|
-
.map((r) => ({
|
|
45
|
-
label: r.label,
|
|
46
|
-
value: cellValue(r.value, words),
|
|
47
|
-
// A tone from the wire: the five tones as is, a retired name
|
|
48
|
-
// (`critical`) onto its tone, anything else neutral (no dot).
|
|
49
|
-
tone: typeof r.tone === "string" ? resolveTone(r.tone) : undefined,
|
|
50
|
-
fraction: typeof r.fraction === "string" ? r.fraction : undefined,
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
if (isRecord(raw)) {
|
|
54
|
-
return Object.entries(raw)
|
|
55
|
-
.filter(([, v]) => isPrimitive(v))
|
|
56
|
-
.map(([label, v]) => ({ label, value: cellValue(v, words) }));
|
|
57
|
-
}
|
|
58
|
-
return [];
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* `shell:kpi-grid` — renders `keys[props.dataKey]` as a KPI strip.
|
|
62
|
-
* widgetProps: `dataKey` (required), `boxed?`, `variant?` ("strip" | "soft"),
|
|
63
|
-
* `emptyText?`.
|
|
64
|
-
*/
|
|
65
|
-
export function GenericKpiGridWidget({ keys, widgetProps }) {
|
|
66
|
-
const labels = kitLabels(useLocale());
|
|
67
|
-
const dataKey = typeof widgetProps?.dataKey === "string" ? widgetProps.dataKey : undefined;
|
|
68
|
-
const cells = coerceKpiCells(dataKey ? keys[dataKey] : undefined, labels);
|
|
69
|
-
if (cells.length === 0) {
|
|
70
|
-
return typeof widgetProps?.emptyText === "string" ? (_jsx(TableEmptyState, { children: widgetProps.emptyText })) : (_jsx(TableEmptyState, { description: labels.noDataHint, children: labels.noFiguresYet }));
|
|
71
|
-
}
|
|
72
|
-
return (_jsx(KpiGrid, { cells: cells, boxed: widgetProps?.boxed === true, variant: widgetProps?.variant === "soft" ? "soft" : "strip" }));
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* The table's columns: the `columns` prop as given, else the first row's
|
|
76
|
-
* primitive fields. A header nobody wrote is the key in words ("Total
|
|
77
|
-
* incidents" for `totalIncidents`); a written `label` stays as it is.
|
|
78
|
-
*/
|
|
79
|
-
function coerceColumns(raw, rows) {
|
|
80
|
-
if (Array.isArray(raw)) {
|
|
81
|
-
const cols = raw
|
|
82
|
-
.filter(isRecord)
|
|
83
|
-
.filter((c) => typeof c.key === "string" && c.key.length > 0)
|
|
84
|
-
.map((c) => ({
|
|
85
|
-
key: c.key,
|
|
86
|
-
label: typeof c.label === "string" ? c.label : humanizeKey(c.key),
|
|
87
|
-
align: c.align === "right" ? "right" : "left",
|
|
88
|
-
}));
|
|
89
|
-
if (cols.length > 0)
|
|
90
|
-
return cols;
|
|
91
|
-
}
|
|
92
|
-
// Derive from the first row: primitive-valued keys, capped for readability.
|
|
93
|
-
const first = rows[0];
|
|
94
|
-
if (!first)
|
|
95
|
-
return [];
|
|
96
|
-
return Object.keys(first)
|
|
97
|
-
.filter((k) => isPrimitive(first[k]) || first[k] === null)
|
|
98
|
-
.slice(0, 8)
|
|
99
|
-
.map((key) => ({
|
|
100
|
-
key,
|
|
101
|
-
label: humanizeKey(key),
|
|
102
|
-
align: typeof first[key] === "number" ? "right" : "left",
|
|
103
|
-
}));
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* `shell:data-table` — renders `keys[props.dataKey]` (an array of records, or
|
|
107
|
-
* `{ rows: [...] }`) as a cockpit-style table. widgetProps: `dataKey`
|
|
108
|
-
* (required), `columns?` (`[{ key, label?, align? }]`, derived from the first
|
|
109
|
-
* row when omitted; a missing `label` is the key in words), `emptyText?`.
|
|
110
|
-
*/
|
|
111
|
-
export function GenericDataTableWidget({ keys, widgetProps }) {
|
|
112
|
-
const labels = kitLabels(useLocale());
|
|
113
|
-
const dataKey = typeof widgetProps?.dataKey === "string" ? widgetProps.dataKey : undefined;
|
|
114
|
-
const raw = dataKey ? keys[dataKey] : undefined;
|
|
115
|
-
const rows = (Array.isArray(raw) ? raw : isRecord(raw) && Array.isArray(raw.rows) ? raw.rows : []).filter(isRecord);
|
|
116
|
-
const columns = coerceColumns(widgetProps?.columns, rows);
|
|
117
|
-
if (rows.length === 0 || columns.length === 0) {
|
|
118
|
-
return typeof widgetProps?.emptyText === "string" ? (_jsx(TableEmptyState, { children: widgetProps.emptyText })) : (_jsx(TableEmptyState, { description: labels.noDataHint, children: labels.noRowsYet }));
|
|
119
|
-
}
|
|
120
|
-
return (_jsx("div", { className: "border-border overflow-hidden rounded-md border", children: _jsx(ListTable, { ariaLabel: labels.dataTable, columns: columns.map((col) => ({ label: col.label, align: col.align })), children: rows.map((row, i) => (_jsx("tr", { children: columns.map((col) => (_jsx(Td, { align: col.align, children: cellValue(row[col.key], labels) }, col.key))) }, i))) }) }));
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=generic-widgets.js.map
|