@miragon/pulse-widget-shell 0.0.0-stage → 0.22.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/LICENSE +21 -0
- package/README.md +164 -2
- package/dist/adapt-data-widget.d.ts +7 -0
- package/dist/adapt-data-widget.d.ts.map +1 -0
- package/dist/adapt-data-widget.js +7 -0
- package/dist/adapt-data-widget.js.map +1 -0
- package/dist/bpmn-names.d.ts +42 -0
- package/dist/bpmn-names.d.ts.map +1 -0
- package/dist/bpmn-names.js +151 -0
- package/dist/bpmn-names.js.map +1 -0
- package/dist/bpmn-names.test.d.ts +2 -0
- package/dist/bpmn-names.test.d.ts.map +1 -0
- package/dist/bpmn-names.test.js +143 -0
- package/dist/bpmn-names.test.js.map +1 -0
- package/dist/build-data-feed-result.test.d.ts +2 -0
- package/dist/build-data-feed-result.test.d.ts.map +1 -0
- package/dist/build-data-feed-result.test.js +28 -0
- package/dist/build-data-feed-result.test.js.map +1 -0
- package/dist/build-single-widget-view.test.d.ts +2 -0
- package/dist/build-single-widget-view.test.d.ts.map +1 -0
- package/dist/build-single-widget-view.test.js +136 -0
- package/dist/build-single-widget-view.test.js.map +1 -0
- package/dist/builder-texts.d.ts +27 -0
- package/dist/builder-texts.d.ts.map +1 -0
- package/dist/builder-texts.js +32 -0
- package/dist/builder-texts.js.map +1 -0
- package/dist/builder-texts.test.d.ts +2 -0
- package/dist/builder-texts.test.d.ts.map +1 -0
- package/dist/builder-texts.test.js +54 -0
- package/dist/builder-texts.test.js.map +1 -0
- package/dist/catalogue-sync.d.ts +18 -0
- package/dist/catalogue-sync.d.ts.map +1 -0
- package/dist/catalogue-sync.js +31 -0
- package/dist/catalogue-sync.js.map +1 -0
- package/dist/catalogue-sync.test.d.ts +2 -0
- package/dist/catalogue-sync.test.d.ts.map +1 -0
- package/dist/catalogue-sync.test.js +22 -0
- package/dist/catalogue-sync.test.js.map +1 -0
- package/dist/composed-server.d.ts +110 -0
- package/dist/composed-server.d.ts.map +1 -0
- package/dist/composed-server.edge.test.d.ts +2 -0
- package/dist/composed-server.edge.test.d.ts.map +1 -0
- package/dist/composed-server.edge.test.js +184 -0
- package/dist/composed-server.edge.test.js.map +1 -0
- package/dist/composed-server.fonts.test.d.ts +2 -0
- package/dist/composed-server.fonts.test.d.ts.map +1 -0
- package/dist/composed-server.fonts.test.js +186 -0
- package/dist/composed-server.fonts.test.js.map +1 -0
- package/dist/composed-server.js +260 -0
- package/dist/composed-server.js.map +1 -0
- package/dist/composed-server.test.d.ts +2 -0
- package/dist/composed-server.test.d.ts.map +1 -0
- package/dist/composed-server.test.js +332 -0
- package/dist/composed-server.test.js.map +1 -0
- package/dist/composition.d.ts +155 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +163 -0
- package/dist/composition.js.map +1 -0
- package/dist/composition.test.d.ts +2 -0
- package/dist/composition.test.d.ts.map +1 -0
- package/dist/composition.test.js +275 -0
- package/dist/composition.test.js.map +1 -0
- package/dist/dashboard-store-postgres.d.ts +43 -0
- package/dist/dashboard-store-postgres.d.ts.map +1 -0
- package/dist/dashboard-store-postgres.js +225 -0
- package/dist/dashboard-store-postgres.js.map +1 -0
- package/dist/dashboard-store-postgres.test.d.ts +2 -0
- package/dist/dashboard-store-postgres.test.d.ts.map +1 -0
- package/dist/dashboard-store-postgres.test.js +272 -0
- package/dist/dashboard-store-postgres.test.js.map +1 -0
- package/dist/font-assets.d.ts +47 -0
- package/dist/font-assets.d.ts.map +1 -0
- package/dist/font-assets.js +93 -0
- package/dist/font-assets.js.map +1 -0
- package/dist/font-assets.test.d.ts +2 -0
- package/dist/font-assets.test.d.ts.map +1 -0
- package/dist/font-assets.test.js +123 -0
- package/dist/font-assets.test.js.map +1 -0
- package/dist/health.d.ts +59 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +74 -0
- package/dist/health.js.map +1 -0
- package/dist/health.test.d.ts +2 -0
- package/dist/health.test.d.ts.map +1 -0
- package/dist/health.test.js +140 -0
- package/dist/health.test.js.map +1 -0
- package/dist/host-boot.d.ts +56 -0
- package/dist/host-boot.d.ts.map +1 -0
- package/dist/host-boot.js +64 -0
- package/dist/host-boot.js.map +1 -0
- package/dist/host-boot.test.d.ts +2 -0
- package/dist/host-boot.test.d.ts.map +1 -0
- package/dist/host-boot.test.js +59 -0
- package/dist/host-boot.test.js.map +1 -0
- package/dist/http-edge.d.ts +117 -0
- package/dist/http-edge.d.ts.map +1 -0
- package/dist/http-edge.js +219 -0
- package/dist/http-edge.js.map +1 -0
- package/dist/http-edge.test.d.ts +2 -0
- package/dist/http-edge.test.d.ts.map +1 -0
- package/dist/http-edge.test.js +255 -0
- package/dist/http-edge.test.js.map +1 -0
- package/dist/metrics.d.ts +48 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +124 -0
- package/dist/metrics.js.map +1 -0
- package/dist/metrics.test.d.ts +2 -0
- package/dist/metrics.test.d.ts.map +1 -0
- package/dist/metrics.test.js +154 -0
- package/dist/metrics.test.js.map +1 -0
- package/dist/node-listener.d.ts +61 -0
- package/dist/node-listener.d.ts.map +1 -0
- package/dist/node-listener.js +165 -0
- package/dist/node-listener.js.map +1 -0
- package/dist/node-listener.test.d.ts +2 -0
- package/dist/node-listener.test.d.ts.map +1 -0
- package/dist/node-listener.test.js +331 -0
- package/dist/node-listener.test.js.map +1 -0
- package/dist/oauth-env.d.ts +42 -0
- package/dist/oauth-env.d.ts.map +1 -0
- package/dist/oauth-env.js +78 -0
- package/dist/oauth-env.js.map +1 -0
- package/dist/oauth-env.test.d.ts +2 -0
- package/dist/oauth-env.test.d.ts.map +1 -0
- package/dist/oauth-env.test.js +76 -0
- package/dist/oauth-env.test.js.map +1 -0
- package/dist/postgres.d.ts +59 -0
- package/dist/postgres.d.ts.map +1 -0
- package/dist/postgres.js +80 -0
- package/dist/postgres.js.map +1 -0
- package/dist/profile-advisory.d.ts +19 -0
- package/dist/profile-advisory.d.ts.map +1 -0
- package/dist/profile-advisory.js +48 -0
- package/dist/profile-advisory.js.map +1 -0
- package/dist/profile-advisory.test.d.ts +2 -0
- package/dist/profile-advisory.test.d.ts.map +1 -0
- package/dist/profile-advisory.test.js +53 -0
- package/dist/profile-advisory.test.js.map +1 -0
- package/dist/profile-constants.d.ts +37 -0
- package/dist/profile-constants.d.ts.map +1 -0
- package/dist/profile-constants.js +37 -0
- package/dist/profile-constants.js.map +1 -0
- package/dist/profile-migrations.d.ts +71 -0
- package/dist/profile-migrations.d.ts.map +1 -0
- package/dist/profile-migrations.js +88 -0
- package/dist/profile-migrations.js.map +1 -0
- package/dist/profile-migrations.test.d.ts +2 -0
- package/dist/profile-migrations.test.d.ts.map +1 -0
- package/dist/profile-migrations.test.js +200 -0
- package/dist/profile-migrations.test.js.map +1 -0
- package/dist/profile-record.d.ts +60 -0
- package/dist/profile-record.d.ts.map +1 -0
- package/dist/profile-record.js +78 -0
- package/dist/profile-record.js.map +1 -0
- package/dist/profile-slice.d.ts +53 -0
- package/dist/profile-slice.d.ts.map +1 -0
- package/dist/profile-slice.js +73 -0
- package/dist/profile-slice.js.map +1 -0
- package/dist/profile-slice.test.d.ts +2 -0
- package/dist/profile-slice.test.d.ts.map +1 -0
- package/dist/profile-slice.test.js +73 -0
- package/dist/profile-slice.test.js.map +1 -0
- package/dist/profile-store-env.d.ts +34 -0
- package/dist/profile-store-env.d.ts.map +1 -0
- package/dist/profile-store-env.js +44 -0
- package/dist/profile-store-env.js.map +1 -0
- package/dist/profile-store-env.test.d.ts +2 -0
- package/dist/profile-store-env.test.d.ts.map +1 -0
- package/dist/profile-store-env.test.js +69 -0
- package/dist/profile-store-env.test.js.map +1 -0
- package/dist/profile-store-postgres.d.ts +33 -0
- package/dist/profile-store-postgres.d.ts.map +1 -0
- package/dist/profile-store-postgres.js +87 -0
- package/dist/profile-store-postgres.js.map +1 -0
- package/dist/profile-store-raw.test.d.ts +2 -0
- package/dist/profile-store-raw.test.d.ts.map +1 -0
- package/dist/profile-store-raw.test.js +185 -0
- package/dist/profile-store-raw.test.js.map +1 -0
- package/dist/profile-store.d.ts +85 -0
- package/dist/profile-store.d.ts.map +1 -0
- package/dist/profile-store.js +182 -0
- package/dist/profile-store.js.map +1 -0
- package/dist/profile-store.test.d.ts +2 -0
- package/dist/profile-store.test.d.ts.map +1 -0
- package/dist/profile-store.test.js +353 -0
- package/dist/profile-store.test.js.map +1 -0
- package/dist/profile.d.ts +75 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +85 -0
- package/dist/profile.js.map +1 -0
- package/dist/profile.test.d.ts +2 -0
- package/dist/profile.test.d.ts.map +1 -0
- package/dist/profile.test.js +71 -0
- package/dist/profile.test.js.map +1 -0
- package/dist/request-context.d.ts +47 -0
- package/dist/request-context.d.ts.map +1 -0
- package/dist/request-context.js +85 -0
- package/dist/request-context.js.map +1 -0
- package/dist/request-context.test.d.ts +2 -0
- package/dist/request-context.test.d.ts.map +1 -0
- package/dist/request-context.test.js +107 -0
- package/dist/request-context.test.js.map +1 -0
- package/dist/served-fonts.d.ts +38 -0
- package/dist/served-fonts.d.ts.map +1 -0
- package/dist/served-fonts.js +51 -0
- package/dist/served-fonts.js.map +1 -0
- package/dist/served-fonts.test.d.ts +2 -0
- package/dist/served-fonts.test.d.ts.map +1 -0
- package/dist/served-fonts.test.js +30 -0
- package/dist/served-fonts.test.js.map +1 -0
- package/dist/server-locale.d.ts +58 -0
- package/dist/server-locale.d.ts.map +1 -0
- package/dist/server-locale.js +64 -0
- package/dist/server-locale.js.map +1 -0
- package/dist/server-locale.test.d.ts +2 -0
- package/dist/server-locale.test.d.ts.map +1 -0
- package/dist/server-locale.test.js +90 -0
- package/dist/server-locale.test.js.map +1 -0
- package/dist/server.d.ts +43 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +34 -0
- package/dist/server.js.map +1 -0
- package/dist/shell-catalogue.d.ts +12 -0
- package/dist/shell-catalogue.d.ts.map +1 -0
- package/dist/shell-catalogue.js +142 -0
- package/dist/shell-catalogue.js.map +1 -0
- package/dist/shell-settings-contract.d.ts +34 -0
- package/dist/shell-settings-contract.d.ts.map +1 -0
- package/dist/shell-settings-contract.js +21 -0
- package/dist/shell-settings-contract.js.map +1 -0
- package/dist/shell-settings.d.ts +24 -0
- package/dist/shell-settings.d.ts.map +1 -0
- package/dist/shell-settings.js +148 -0
- package/dist/shell-settings.js.map +1 -0
- package/dist/shell-settings.test.d.ts +2 -0
- package/dist/shell-settings.test.d.ts.map +1 -0
- package/dist/shell-settings.test.js +115 -0
- package/dist/shell-settings.test.js.map +1 -0
- package/dist/testing/catalog-text.d.ts +53 -0
- package/dist/testing/catalog-text.d.ts.map +1 -0
- package/dist/testing/catalog-text.js +146 -0
- package/dist/testing/catalog-text.js.map +1 -0
- package/dist/testing/catalog-text.test.d.ts +2 -0
- package/dist/testing/catalog-text.test.d.ts.map +1 -0
- package/dist/testing/catalog-text.test.js +137 -0
- package/dist/testing/catalog-text.test.js.map +1 -0
- package/dist/testing/colors.d.ts +34 -0
- package/dist/testing/colors.d.ts.map +1 -0
- package/dist/testing/colors.js +124 -0
- package/dist/testing/colors.js.map +1 -0
- package/dist/testing/colors.test.d.ts +2 -0
- package/dist/testing/colors.test.d.ts.map +1 -0
- package/dist/testing/colors.test.js +166 -0
- package/dist/testing/colors.test.js.map +1 -0
- package/dist/testing/contrast.d.ts +77 -0
- package/dist/testing/contrast.d.ts.map +1 -0
- package/dist/testing/contrast.js +382 -0
- package/dist/testing/contrast.js.map +1 -0
- package/dist/testing/contrast.test.d.ts +2 -0
- package/dist/testing/contrast.test.d.ts.map +1 -0
- package/dist/testing/contrast.test.js +230 -0
- package/dist/testing/contrast.test.js.map +1 -0
- package/dist/testing/display-texts.d.ts +23 -0
- package/dist/testing/display-texts.d.ts.map +1 -0
- package/dist/testing/display-texts.js +88 -0
- package/dist/testing/display-texts.js.map +1 -0
- package/dist/testing/display-texts.test.d.ts +2 -0
- package/dist/testing/display-texts.test.d.ts.map +1 -0
- package/dist/testing/display-texts.test.js +169 -0
- package/dist/testing/display-texts.test.js.map +1 -0
- package/dist/testing/glossary.d.ts +52 -0
- package/dist/testing/glossary.d.ts.map +1 -0
- package/dist/testing/glossary.js +135 -0
- package/dist/testing/glossary.js.map +1 -0
- package/dist/testing/glossary.test.d.ts +2 -0
- package/dist/testing/glossary.test.d.ts.map +1 -0
- package/dist/testing/glossary.test.js +78 -0
- package/dist/testing/glossary.test.js.map +1 -0
- package/dist/testing/glyphs.d.ts +27 -0
- package/dist/testing/glyphs.d.ts.map +1 -0
- package/dist/testing/glyphs.js +130 -0
- package/dist/testing/glyphs.js.map +1 -0
- package/dist/testing/glyphs.test.d.ts +2 -0
- package/dist/testing/glyphs.test.d.ts.map +1 -0
- package/dist/testing/glyphs.test.js +146 -0
- package/dist/testing/glyphs.test.js.map +1 -0
- package/dist/testing/icon-sizes.d.ts +22 -0
- package/dist/testing/icon-sizes.d.ts.map +1 -0
- package/dist/testing/icon-sizes.js +39 -0
- package/dist/testing/icon-sizes.js.map +1 -0
- package/dist/testing/icon-sizes.test.d.ts +2 -0
- package/dist/testing/icon-sizes.test.d.ts.map +1 -0
- package/dist/testing/icon-sizes.test.js +36 -0
- package/dist/testing/icon-sizes.test.js.map +1 -0
- package/dist/testing/index.d.ts +40 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +40 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/source-scan.d.ts +16 -0
- package/dist/testing/source-scan.d.ts.map +1 -0
- package/dist/testing/source-scan.js +57 -0
- package/dist/testing/source-scan.js.map +1 -0
- package/dist/testing/tone-pairs.d.ts +20 -0
- package/dist/testing/tone-pairs.d.ts.map +1 -0
- package/dist/testing/tone-pairs.js +154 -0
- package/dist/testing/tone-pairs.js.map +1 -0
- package/dist/testing/type-scale.d.ts +40 -0
- package/dist/testing/type-scale.d.ts.map +1 -0
- package/dist/testing/type-scale.js +55 -0
- package/dist/testing/type-scale.js.map +1 -0
- package/dist/testing/type-scale.test.d.ts +2 -0
- package/dist/testing/type-scale.test.d.ts.map +1 -0
- package/dist/testing/type-scale.test.js +61 -0
- package/dist/testing/type-scale.test.js.map +1 -0
- package/dist/tool-schema-trim.d.ts +24 -0
- package/dist/tool-schema-trim.d.ts.map +1 -0
- package/dist/tool-schema-trim.js +49 -0
- package/dist/tool-schema-trim.js.map +1 -0
- package/dist/tool-schema-trim.test.d.ts +2 -0
- package/dist/tool-schema-trim.test.d.ts.map +1 -0
- package/dist/tool-schema-trim.test.js +53 -0
- package/dist/tool-schema-trim.test.js.map +1 -0
- package/dist/toolsets.d.ts +76 -0
- package/dist/toolsets.d.ts.map +1 -0
- package/dist/toolsets.js +41 -0
- package/dist/toolsets.js.map +1 -0
- package/dist/toolsets.test.d.ts +2 -0
- package/dist/toolsets.test.d.ts.map +1 -0
- package/dist/toolsets.test.js +86 -0
- package/dist/toolsets.test.js.map +1 -0
- package/dist/ui/action-feedback.d.ts +33 -0
- package/dist/ui/action-feedback.d.ts.map +1 -0
- package/dist/ui/action-feedback.js +51 -0
- package/dist/ui/action-feedback.js.map +1 -0
- package/dist/ui/action-feedback.test.d.ts +2 -0
- package/dist/ui/action-feedback.test.d.ts.map +1 -0
- package/dist/ui/action-feedback.test.js +77 -0
- package/dist/ui/action-feedback.test.js.map +1 -0
- package/dist/ui/app-shell-providers.d.ts +18 -0
- package/dist/ui/app-shell-providers.d.ts.map +1 -0
- package/dist/ui/app-shell-providers.js +19 -0
- package/dist/ui/app-shell-providers.js.map +1 -0
- package/dist/ui/app-shell-providers.test.d.ts +2 -0
- package/dist/ui/app-shell-providers.test.d.ts.map +1 -0
- package/dist/ui/app-shell-providers.test.js +249 -0
- package/dist/ui/app-shell-providers.test.js.map +1 -0
- package/dist/ui/ask-ai-button.d.ts +56 -0
- package/dist/ui/ask-ai-button.d.ts.map +1 -0
- package/dist/ui/ask-ai-button.js +36 -0
- package/dist/ui/ask-ai-button.js.map +1 -0
- package/dist/ui/ask-ai-button.test.d.ts +2 -0
- package/dist/ui/ask-ai-button.test.d.ts.map +1 -0
- package/dist/ui/ask-ai-button.test.js +103 -0
- package/dist/ui/ask-ai-button.test.js.map +1 -0
- package/dist/ui/ask-ai-prompt.d.ts +115 -0
- package/dist/ui/ask-ai-prompt.d.ts.map +1 -0
- package/dist/ui/ask-ai-prompt.js +174 -0
- package/dist/ui/ask-ai-prompt.js.map +1 -0
- package/dist/ui/ask-ai-prompt.test.d.ts +2 -0
- package/dist/ui/ask-ai-prompt.test.d.ts.map +1 -0
- package/dist/ui/ask-ai-prompt.test.js +240 -0
- package/dist/ui/ask-ai-prompt.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js +174 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts +119 -0
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.js +231 -0
- package/dist/ui/bpmn-heatmap/heat-utils.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.js +59 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap-labels.d.ts +46 -0
- package/dist/ui/bpmn-heatmap-labels.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-labels.js +16 -0
- package/dist/ui/bpmn-heatmap-labels.js.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.d.ts +38 -0
- package/dist/ui/bpmn-heatmap-widget.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.js +65 -0
- package/dist/ui/bpmn-heatmap-widget.js.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.test.js +173 -0
- package/dist/ui/bpmn-heatmap-widget.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap.d.ts +61 -0
- package/dist/ui/bpmn-heatmap.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap.js +119 -0
- package/dist/ui/bpmn-heatmap.js.map +1 -0
- package/dist/ui/bpmn-tokens.d.ts +81 -0
- package/dist/ui/bpmn-tokens.d.ts.map +1 -0
- package/dist/ui/bpmn-tokens.js +114 -0
- package/dist/ui/bpmn-tokens.js.map +1 -0
- package/dist/ui/bpmn-tokens.test.d.ts +2 -0
- package/dist/ui/bpmn-tokens.test.d.ts.map +1 -0
- package/dist/ui/bpmn-tokens.test.js +98 -0
- package/dist/ui/bpmn-tokens.test.js.map +1 -0
- package/dist/ui/bpmn-zoom-controls.d.ts +30 -0
- package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -0
- package/dist/ui/bpmn-zoom-controls.js +29 -0
- package/dist/ui/bpmn-zoom-controls.js.map +1 -0
- package/dist/ui/brand-gates.test.d.ts +2 -0
- package/dist/ui/brand-gates.test.d.ts.map +1 -0
- package/dist/ui/brand-gates.test.js +131 -0
- package/dist/ui/brand-gates.test.js.map +1 -0
- package/dist/ui/brand-mark.d.ts +37 -0
- package/dist/ui/brand-mark.d.ts.map +1 -0
- package/dist/ui/brand-mark.js +33 -0
- package/dist/ui/brand-mark.js.map +1 -0
- package/dist/ui/brand-mark.test.d.ts +2 -0
- package/dist/ui/brand-mark.test.d.ts.map +1 -0
- package/dist/ui/brand-mark.test.js +111 -0
- package/dist/ui/brand-mark.test.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +55 -0
- package/dist/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/ui/confirm-dialog.js +59 -0
- package/dist/ui/confirm-dialog.js.map +1 -0
- package/dist/ui/confirm-dialog.test.d.ts +2 -0
- package/dist/ui/confirm-dialog.test.d.ts.map +1 -0
- package/dist/ui/confirm-dialog.test.js +115 -0
- package/dist/ui/confirm-dialog.test.js.map +1 -0
- package/dist/ui/count-tone.d.ts +20 -0
- package/dist/ui/count-tone.d.ts.map +1 -0
- package/dist/ui/count-tone.js +27 -0
- package/dist/ui/count-tone.js.map +1 -0
- package/dist/ui/count-tone.test.d.ts +2 -0
- package/dist/ui/count-tone.test.d.ts.map +1 -0
- package/dist/ui/count-tone.test.js +27 -0
- package/dist/ui/count-tone.test.js.map +1 -0
- package/dist/ui/create-use-t.d.ts +15 -0
- package/dist/ui/create-use-t.d.ts.map +1 -0
- package/dist/ui/create-use-t.js +17 -0
- package/dist/ui/create-use-t.js.map +1 -0
- package/dist/ui/declare-served-fonts.d.ts +14 -0
- package/dist/ui/declare-served-fonts.d.ts.map +1 -0
- package/dist/ui/declare-served-fonts.js +38 -0
- package/dist/ui/declare-served-fonts.js.map +1 -0
- package/dist/ui/declare-served-fonts.test.d.ts +2 -0
- package/dist/ui/declare-served-fonts.test.d.ts.map +1 -0
- package/dist/ui/declare-served-fonts.test.js +44 -0
- package/dist/ui/declare-served-fonts.test.js.map +1 -0
- package/dist/ui/describe-error.d.ts +71 -0
- package/dist/ui/describe-error.d.ts.map +1 -0
- package/dist/ui/describe-error.js +175 -0
- package/dist/ui/describe-error.js.map +1 -0
- package/dist/ui/describe-error.test.d.ts +2 -0
- package/dist/ui/describe-error.test.d.ts.map +1 -0
- package/dist/ui/describe-error.test.js +274 -0
- package/dist/ui/describe-error.test.js.map +1 -0
- package/dist/ui/display-mode-toggle.d.ts +32 -0
- package/dist/ui/display-mode-toggle.d.ts.map +1 -0
- package/dist/ui/display-mode-toggle.js +39 -0
- package/dist/ui/display-mode-toggle.js.map +1 -0
- package/dist/ui/error-labels.d.ts +65 -0
- package/dist/ui/error-labels.d.ts.map +1 -0
- package/dist/ui/error-labels.js +111 -0
- package/dist/ui/error-labels.js.map +1 -0
- package/dist/ui/format.d.ts +81 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +189 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/format.test.d.ts +2 -0
- package/dist/ui/format.test.d.ts.map +1 -0
- package/dist/ui/format.test.js +181 -0
- package/dist/ui/format.test.js.map +1 -0
- package/dist/ui/generic-widgets.d.ts +15 -0
- package/dist/ui/generic-widgets.d.ts.map +1 -0
- package/dist/ui/generic-widgets.js +122 -0
- package/dist/ui/generic-widgets.js.map +1 -0
- package/dist/ui/generic-widgets.test.d.ts +2 -0
- package/dist/ui/generic-widgets.test.d.ts.map +1 -0
- package/dist/ui/generic-widgets.test.js +139 -0
- package/dist/ui/generic-widgets.test.js.map +1 -0
- package/dist/ui/hand-off-button.d.ts +45 -0
- package/dist/ui/hand-off-button.d.ts.map +1 -0
- package/dist/ui/hand-off-button.js +44 -0
- package/dist/ui/hand-off-button.js.map +1 -0
- package/dist/ui/hand-off-button.test.d.ts +2 -0
- package/dist/ui/hand-off-button.test.d.ts.map +1 -0
- package/dist/ui/hand-off-button.test.js +78 -0
- package/dist/ui/hand-off-button.test.js.map +1 -0
- package/dist/ui/host-context.d.ts +66 -0
- package/dist/ui/host-context.d.ts.map +1 -0
- package/dist/ui/host-context.js +122 -0
- package/dist/ui/host-context.js.map +1 -0
- package/dist/ui/host-context.test.d.ts +2 -0
- package/dist/ui/host-context.test.d.ts.map +1 -0
- package/dist/ui/host-context.test.js +160 -0
- package/dist/ui/host-context.test.js.map +1 -0
- package/dist/ui/host-document.d.ts +25 -0
- package/dist/ui/host-document.d.ts.map +1 -0
- package/dist/ui/host-document.js +93 -0
- package/dist/ui/host-document.js.map +1 -0
- package/dist/ui/host-document.test.d.ts +2 -0
- package/dist/ui/host-document.test.d.ts.map +1 -0
- package/dist/ui/host-document.test.js +112 -0
- package/dist/ui/host-document.test.js.map +1 -0
- package/dist/ui/host-widgets.d.ts +8 -0
- package/dist/ui/host-widgets.d.ts.map +1 -0
- package/dist/ui/host-widgets.js +18 -0
- package/dist/ui/host-widgets.js.map +1 -0
- package/dist/ui/humanize-key.d.ts +11 -0
- package/dist/ui/humanize-key.d.ts.map +1 -0
- package/dist/ui/humanize-key.js +26 -0
- package/dist/ui/humanize-key.js.map +1 -0
- package/dist/ui/humanize-key.test.d.ts +2 -0
- package/dist/ui/humanize-key.test.d.ts.map +1 -0
- package/dist/ui/humanize-key.test.js +42 -0
- package/dist/ui/humanize-key.test.js.map +1 -0
- package/dist/ui/icon.d.ts +37 -0
- package/dist/ui/icon.d.ts.map +1 -0
- package/dist/ui/icon.js +32 -0
- package/dist/ui/icon.js.map +1 -0
- package/dist/ui/id-breaks.d.ts +17 -0
- package/dist/ui/id-breaks.d.ts.map +1 -0
- package/dist/ui/id-breaks.js +36 -0
- package/dist/ui/id-breaks.js.map +1 -0
- package/dist/ui/id-breaks.test.d.ts +2 -0
- package/dist/ui/id-breaks.test.d.ts.map +1 -0
- package/dist/ui/id-breaks.test.js +37 -0
- package/dist/ui/id-breaks.test.js.map +1 -0
- package/dist/ui/id-text.d.ts +29 -0
- package/dist/ui/id-text.d.ts.map +1 -0
- package/dist/ui/id-text.js +103 -0
- package/dist/ui/id-text.js.map +1 -0
- package/dist/ui/id-text.test.d.ts +2 -0
- package/dist/ui/id-text.test.d.ts.map +1 -0
- package/dist/ui/id-text.test.js +122 -0
- package/dist/ui/id-text.test.js.map +1 -0
- package/dist/ui/index.d.ts +57 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +65 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/index.test.d.ts +2 -0
- package/dist/ui/index.test.d.ts.map +1 -0
- package/dist/ui/index.test.js +34 -0
- package/dist/ui/index.test.js.map +1 -0
- package/dist/ui/inline-budget.d.ts +35 -0
- package/dist/ui/inline-budget.d.ts.map +1 -0
- package/dist/ui/inline-budget.js +27 -0
- package/dist/ui/inline-budget.js.map +1 -0
- package/dist/ui/inline-fit-registry.d.ts +56 -0
- package/dist/ui/inline-fit-registry.d.ts.map +1 -0
- package/dist/ui/inline-fit-registry.js +114 -0
- package/dist/ui/inline-fit-registry.js.map +1 -0
- package/dist/ui/inline-fit-solve.d.ts +50 -0
- package/dist/ui/inline-fit-solve.d.ts.map +1 -0
- package/dist/ui/inline-fit-solve.js +83 -0
- package/dist/ui/inline-fit-solve.js.map +1 -0
- package/dist/ui/inline-fit-solve.test.d.ts +2 -0
- package/dist/ui/inline-fit-solve.test.d.ts.map +1 -0
- package/dist/ui/inline-fit-solve.test.js +108 -0
- package/dist/ui/inline-fit-solve.test.js.map +1 -0
- package/dist/ui/inline-fit-time.test.d.ts +2 -0
- package/dist/ui/inline-fit-time.test.d.ts.map +1 -0
- package/dist/ui/inline-fit-time.test.js +110 -0
- package/dist/ui/inline-fit-time.test.js.map +1 -0
- package/dist/ui/inline-fit.d.ts +77 -0
- package/dist/ui/inline-fit.d.ts.map +1 -0
- package/dist/ui/inline-fit.js +242 -0
- package/dist/ui/inline-fit.js.map +1 -0
- package/dist/ui/inline-fit.test-support.d.ts +26 -0
- package/dist/ui/inline-fit.test-support.d.ts.map +1 -0
- package/dist/ui/inline-fit.test-support.js +34 -0
- package/dist/ui/inline-fit.test-support.js.map +1 -0
- package/dist/ui/inline-fit.test.d.ts +2 -0
- package/dist/ui/inline-fit.test.d.ts.map +1 -0
- package/dist/ui/inline-fit.test.js +159 -0
- package/dist/ui/inline-fit.test.js.map +1 -0
- package/dist/ui/kit-labels.d.ts +80 -0
- package/dist/ui/kit-labels.d.ts.map +1 -0
- package/dist/ui/kit-labels.js +110 -0
- package/dist/ui/kit-labels.js.map +1 -0
- package/dist/ui/kit-labels.test.d.ts +2 -0
- package/dist/ui/kit-labels.test.d.ts.map +1 -0
- package/dist/ui/kit-labels.test.js +98 -0
- package/dist/ui/kit-labels.test.js.map +1 -0
- package/dist/ui/kit-type-roles.test.d.ts +2 -0
- package/dist/ui/kit-type-roles.test.d.ts.map +1 -0
- package/dist/ui/kit-type-roles.test.js +122 -0
- package/dist/ui/kit-type-roles.test.js.map +1 -0
- package/dist/ui/komet-svg.d.ts +15 -0
- package/dist/ui/komet-svg.d.ts.map +1 -0
- package/dist/ui/komet-svg.js +21 -0
- package/dist/ui/komet-svg.js.map +1 -0
- package/dist/ui/list-table.d.ts +108 -0
- package/dist/ui/list-table.d.ts.map +1 -0
- package/dist/ui/list-table.js +161 -0
- package/dist/ui/list-table.js.map +1 -0
- package/dist/ui/list-table.test.d.ts +2 -0
- package/dist/ui/list-table.test.d.ts.map +1 -0
- package/dist/ui/list-table.test.js +169 -0
- package/dist/ui/list-table.test.js.map +1 -0
- package/dist/ui/localized-app-view.d.ts +40 -0
- package/dist/ui/localized-app-view.d.ts.map +1 -0
- package/dist/ui/localized-app-view.js +71 -0
- package/dist/ui/localized-app-view.js.map +1 -0
- package/dist/ui/log-text.d.ts +24 -0
- package/dist/ui/log-text.d.ts.map +1 -0
- package/dist/ui/log-text.js +31 -0
- package/dist/ui/log-text.js.map +1 -0
- package/dist/ui/menu-item.d.ts +12 -0
- package/dist/ui/menu-item.d.ts.map +1 -0
- package/dist/ui/menu-item.js +13 -0
- package/dist/ui/menu-item.js.map +1 -0
- package/dist/ui/named-id.d.ts +23 -0
- package/dist/ui/named-id.d.ts.map +1 -0
- package/dist/ui/named-id.js +21 -0
- package/dist/ui/named-id.js.map +1 -0
- package/dist/ui/named-id.test.d.ts +2 -0
- package/dist/ui/named-id.test.d.ts.map +1 -0
- package/dist/ui/named-id.test.js +57 -0
- package/dist/ui/named-id.test.js.map +1 -0
- package/dist/ui/native-select.d.ts +17 -0
- package/dist/ui/native-select.d.ts.map +1 -0
- package/dist/ui/native-select.js +20 -0
- package/dist/ui/native-select.js.map +1 -0
- package/dist/ui/navigation-focus.d.ts +20 -0
- package/dist/ui/navigation-focus.d.ts.map +1 -0
- package/dist/ui/navigation-focus.js +25 -0
- package/dist/ui/navigation-focus.js.map +1 -0
- package/dist/ui/navigation-focus.test.d.ts +2 -0
- package/dist/ui/navigation-focus.test.d.ts.map +1 -0
- package/dist/ui/navigation-focus.test.js +28 -0
- package/dist/ui/navigation-focus.test.js.map +1 -0
- package/dist/ui/open-in-cockpit-link.d.ts +28 -0
- package/dist/ui/open-in-cockpit-link.d.ts.map +1 -0
- package/dist/ui/open-in-cockpit-link.js +41 -0
- package/dist/ui/open-in-cockpit-link.js.map +1 -0
- package/dist/ui/paged-list-footer.test.d.ts +2 -0
- package/dist/ui/paged-list-footer.test.d.ts.map +1 -0
- package/dist/ui/paged-list-footer.test.js +128 -0
- package/dist/ui/paged-list-footer.test.js.map +1 -0
- package/dist/ui/paged-rows.d.ts +24 -0
- package/dist/ui/paged-rows.d.ts.map +1 -0
- package/dist/ui/paged-rows.js +25 -0
- package/dist/ui/paged-rows.js.map +1 -0
- package/dist/ui/parse-tool-result.test.d.ts +2 -0
- package/dist/ui/parse-tool-result.test.d.ts.map +1 -0
- package/dist/ui/parse-tool-result.test.js +88 -0
- package/dist/ui/parse-tool-result.test.js.map +1 -0
- package/dist/ui/profile-gate.d.ts +37 -0
- package/dist/ui/profile-gate.d.ts.map +1 -0
- package/dist/ui/profile-gate.js +126 -0
- package/dist/ui/profile-gate.js.map +1 -0
- package/dist/ui/profile-gate.test.d.ts +2 -0
- package/dist/ui/profile-gate.test.d.ts.map +1 -0
- package/dist/ui/profile-gate.test.js +246 -0
- package/dist/ui/profile-gate.test.js.map +1 -0
- package/dist/ui/query-fallback.d.ts +27 -0
- package/dist/ui/query-fallback.d.ts.map +1 -0
- package/dist/ui/query-fallback.js +30 -0
- package/dist/ui/query-fallback.js.map +1 -0
- package/dist/ui/query-fallback.test.d.ts +2 -0
- package/dist/ui/query-fallback.test.d.ts.map +1 -0
- package/dist/ui/query-fallback.test.js +49 -0
- package/dist/ui/query-fallback.test.js.map +1 -0
- package/dist/ui/row-card.d.ts +13 -0
- package/dist/ui/row-card.d.ts.map +1 -0
- package/dist/ui/row-card.js +11 -0
- package/dist/ui/row-card.js.map +1 -0
- package/dist/ui/section.d.ts +18 -0
- package/dist/ui/section.d.ts.map +1 -0
- package/dist/ui/section.js +14 -0
- package/dist/ui/section.js.map +1 -0
- package/dist/ui/segmented-control.d.ts +25 -0
- package/dist/ui/segmented-control.d.ts.map +1 -0
- package/dist/ui/segmented-control.js +22 -0
- package/dist/ui/segmented-control.js.map +1 -0
- package/dist/ui/settings-labels.d.ts +33 -0
- package/dist/ui/settings-labels.d.ts.map +1 -0
- package/dist/ui/settings-labels.js +50 -0
- package/dist/ui/settings-labels.js.map +1 -0
- package/dist/ui/settings-layout.d.ts +29 -0
- package/dist/ui/settings-layout.d.ts.map +1 -0
- package/dist/ui/settings-layout.js +49 -0
- package/dist/ui/settings-layout.js.map +1 -0
- package/dist/ui/settings-layout.test.d.ts +2 -0
- package/dist/ui/settings-layout.test.d.ts.map +1 -0
- package/dist/ui/settings-layout.test.js +73 -0
- package/dist/ui/settings-layout.test.js.map +1 -0
- package/dist/ui/settings.d.ts +47 -0
- package/dist/ui/settings.d.ts.map +1 -0
- package/dist/ui/settings.js +48 -0
- package/dist/ui/settings.js.map +1 -0
- package/dist/ui/settings.test.d.ts +2 -0
- package/dist/ui/settings.test.d.ts.map +1 -0
- package/dist/ui/settings.test.js +38 -0
- package/dist/ui/settings.test.js.map +1 -0
- package/dist/ui/shell-host.d.ts +46 -0
- package/dist/ui/shell-host.d.ts.map +1 -0
- package/dist/ui/shell-host.js +56 -0
- package/dist/ui/shell-host.js.map +1 -0
- package/dist/ui/shell-settings.d.ts +31 -0
- package/dist/ui/shell-settings.d.ts.map +1 -0
- package/dist/ui/shell-settings.js +97 -0
- package/dist/ui/shell-settings.js.map +1 -0
- package/dist/ui/shell-settings.test.d.ts +2 -0
- package/dist/ui/shell-settings.test.d.ts.map +1 -0
- package/dist/ui/shell-settings.test.js +108 -0
- package/dist/ui/shell-settings.test.js.map +1 -0
- package/dist/ui/shell-widgets.d.ts +14 -0
- package/dist/ui/shell-widgets.d.ts.map +1 -0
- package/dist/ui/shell-widgets.js +18 -0
- package/dist/ui/shell-widgets.js.map +1 -0
- package/dist/ui/table.d.ts +61 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +43 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tone-components.test.d.ts +2 -0
- package/dist/ui/tone-components.test.d.ts.map +1 -0
- package/dist/ui/tone-components.test.js +145 -0
- package/dist/ui/tone-components.test.js.map +1 -0
- package/dist/ui/tone-contrast.test.d.ts +2 -0
- package/dist/ui/tone-contrast.test.d.ts.map +1 -0
- package/dist/ui/tone-contrast.test.js +66 -0
- package/dist/ui/tone-contrast.test.js.map +1 -0
- package/dist/ui/toolkit-overlap.test.d.ts +2 -0
- package/dist/ui/toolkit-overlap.test.d.ts.map +1 -0
- package/dist/ui/toolkit-overlap.test.js +86 -0
- package/dist/ui/toolkit-overlap.test.js.map +1 -0
- package/dist/ui/use-apply-theme.d.ts +11 -0
- package/dist/ui/use-apply-theme.d.ts.map +1 -0
- package/dist/ui/use-apply-theme.js +37 -0
- package/dist/ui/use-apply-theme.js.map +1 -0
- package/dist/ui/use-apply-theme.test.d.ts +2 -0
- package/dist/ui/use-apply-theme.test.d.ts.map +1 -0
- package/dist/ui/use-apply-theme.test.js +102 -0
- package/dist/ui/use-apply-theme.test.js.map +1 -0
- package/dist/ui/use-bpmn-viewer.d.ts +135 -0
- package/dist/ui/use-bpmn-viewer.d.ts.map +1 -0
- package/dist/ui/use-bpmn-viewer.js +257 -0
- package/dist/ui/use-bpmn-viewer.js.map +1 -0
- package/dist/ui/use-bpmn-viewer.test.d.ts +2 -0
- package/dist/ui/use-bpmn-viewer.test.d.ts.map +1 -0
- package/dist/ui/use-bpmn-viewer.test.js +239 -0
- package/dist/ui/use-bpmn-viewer.test.js.map +1 -0
- package/dist/ui/use-detail-view.d.ts +49 -0
- package/dist/ui/use-detail-view.d.ts.map +1 -0
- package/dist/ui/use-detail-view.js +52 -0
- package/dist/ui/use-detail-view.js.map +1 -0
- package/dist/ui/use-detail-view.test.d.ts +2 -0
- package/dist/ui/use-detail-view.test.d.ts.map +1 -0
- package/dist/ui/use-detail-view.test.js +178 -0
- package/dist/ui/use-detail-view.test.js.map +1 -0
- package/dist/ui/use-paged-list-view.d.ts +48 -0
- package/dist/ui/use-paged-list-view.d.ts.map +1 -0
- package/dist/ui/use-paged-list-view.js +41 -0
- package/dist/ui/use-paged-list-view.js.map +1 -0
- package/dist/ui/use-paged-list-view.test.d.ts +2 -0
- package/dist/ui/use-paged-list-view.test.d.ts.map +1 -0
- package/dist/ui/use-paged-list-view.test.js +136 -0
- package/dist/ui/use-paged-list-view.test.js.map +1 -0
- package/dist/ui/use-paged-view-data.d.ts +103 -0
- package/dist/ui/use-paged-view-data.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.js +173 -0
- package/dist/ui/use-paged-view-data.js.map +1 -0
- package/dist/ui/use-paged-view-data.seeded.test.d.ts +2 -0
- package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.seeded.test.js +144 -0
- package/dist/ui/use-paged-view-data.seeded.test.js.map +1 -0
- package/dist/ui/use-paged-view-data.test.d.ts +2 -0
- package/dist/ui/use-paged-view-data.test.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.test.js +330 -0
- package/dist/ui/use-paged-view-data.test.js.map +1 -0
- package/dist/ui/use-reset-on-change.d.ts +22 -0
- package/dist/ui/use-reset-on-change.d.ts.map +1 -0
- package/dist/ui/use-reset-on-change.js +29 -0
- package/dist/ui/use-reset-on-change.js.map +1 -0
- package/dist/ui/use-reset-on-change.test.d.ts +2 -0
- package/dist/ui/use-reset-on-change.test.d.ts.map +1 -0
- package/dist/ui/use-reset-on-change.test.js +61 -0
- package/dist/ui/use-reset-on-change.test.js.map +1 -0
- package/dist/ui/use-view-data.seeded.test.d.ts +2 -0
- package/dist/ui/use-view-data.seeded.test.d.ts.map +1 -0
- package/dist/ui/use-view-data.seeded.test.js +168 -0
- package/dist/ui/use-view-data.seeded.test.js.map +1 -0
- package/dist/ui/view-data-state.d.ts +52 -0
- package/dist/ui/view-data-state.d.ts.map +1 -0
- package/dist/ui/view-data-state.js +54 -0
- package/dist/ui/view-data-state.js.map +1 -0
- package/dist/ui/view-data-state.test.d.ts +2 -0
- package/dist/ui/view-data-state.test.d.ts.map +1 -0
- package/dist/ui/view-data-state.test.js +62 -0
- package/dist/ui/view-data-state.test.js.map +1 -0
- package/dist/ui/view-meta.d.ts +70 -0
- package/dist/ui/view-meta.d.ts.map +1 -0
- package/dist/ui/view-meta.js +84 -0
- package/dist/ui/view-meta.js.map +1 -0
- package/dist/ui/view-meta.test.d.ts +2 -0
- package/dist/ui/view-meta.test.d.ts.map +1 -0
- package/dist/ui/view-meta.test.js +92 -0
- package/dist/ui/view-meta.test.js.map +1 -0
- package/dist/ui/view-refresh-state.d.ts +26 -0
- package/dist/ui/view-refresh-state.d.ts.map +1 -0
- package/dist/ui/view-refresh-state.js +15 -0
- package/dist/ui/view-refresh-state.js.map +1 -0
- package/dist/ui/widget-shell.d.ts +24 -0
- package/dist/ui/widget-shell.d.ts.map +1 -0
- package/dist/ui/widget-shell.js +50 -0
- package/dist/ui/widget-shell.js.map +1 -0
- package/dist/ui/widget-shell.test.d.ts +2 -0
- package/dist/ui/widget-shell.test.d.ts.map +1 -0
- package/dist/ui/widget-shell.test.js +41 -0
- package/dist/ui/widget-shell.test.js.map +1 -0
- package/dist/view-results.d.ts +42 -0
- package/dist/view-results.d.ts.map +1 -0
- package/dist/view-results.js +17 -0
- package/dist/view-results.js.map +1 -0
- package/dist/widget-meta-defaults.d.ts +48 -0
- package/dist/widget-meta-defaults.d.ts.map +1 -0
- package/dist/widget-meta-defaults.js +80 -0
- package/dist/widget-meta-defaults.js.map +1 -0
- package/dist/widget-meta-defaults.test.d.ts +2 -0
- package/dist/widget-meta-defaults.test.d.ts.map +1 -0
- package/dist/widget-meta-defaults.test.js +196 -0
- package/dist/widget-meta-defaults.test.js.map +1 -0
- package/dist/widget-tool-bindings.d.ts +71 -0
- package/dist/widget-tool-bindings.d.ts.map +1 -0
- package/dist/widget-tool-bindings.js +80 -0
- package/dist/widget-tool-bindings.js.map +1 -0
- package/dist/widget-tool-bindings.test.d.ts +2 -0
- package/dist/widget-tool-bindings.test.d.ts.map +1 -0
- package/dist/widget-tool-bindings.test.js +83 -0
- package/dist/widget-tool-bindings.test.js.map +1 -0
- package/dist/with-tool-errors.test.d.ts +2 -0
- package/dist/with-tool-errors.test.d.ts.map +1 -0
- package/dist/with-tool-errors.test.js +38 -0
- package/dist/with-tool-errors.test.js.map +1 -0
- package/package.json +113 -3
|
@@ -0,0 +1,181 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.test.js","sourceRoot":"","sources":["../../src/ui/format.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-widgets.js","sourceRoot":"","sources":["../../src/ui/generic-widgets.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-widgets.test.d.ts","sourceRoot":"","sources":["../../src/ui/generic-widgets.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// @vitest-environment happy-dom
|
|
3
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
4
|
+
import { cleanup, render, screen } from "@testing-library/react";
|
|
5
|
+
import { GenericDataTableWidget, GenericKpiGridWidget } from "./generic-widgets.js";
|
|
6
|
+
/**
|
|
7
|
+
* The `shell:*` widgets are render-view and builder targets: they render
|
|
8
|
+
* whatever plain data a context key holds, and what they show reads for
|
|
9
|
+
* people, also when nobody wrote the labels (#322 U18).
|
|
10
|
+
*/
|
|
11
|
+
afterEach(cleanup);
|
|
12
|
+
const CONTEXT = {};
|
|
13
|
+
function renderTable(raw, widgetProps = {}) {
|
|
14
|
+
render(_jsx(GenericDataTableWidget, { keys: { "probe:rows": raw }, context: CONTEXT, widgetProps: { dataKey: "probe:rows", ...widgetProps } }));
|
|
15
|
+
return screen.queryAllByRole("columnheader").map((th) => th.textContent);
|
|
16
|
+
}
|
|
17
|
+
const cells = () => screen.getAllByRole("cell").map((td) => td.textContent);
|
|
18
|
+
const ROWS = [
|
|
19
|
+
{ process: "Invoice", totalIncidents: 3, process_definition_key: "invoice" },
|
|
20
|
+
{ process: "Order", totalIncidents: 0, process_definition_key: "order" },
|
|
21
|
+
];
|
|
22
|
+
describe("shell:data-table", () => {
|
|
23
|
+
it("derives the columns from the first row, each key in words", () => {
|
|
24
|
+
expect(renderTable(ROWS)).toEqual(["Process", "Total incidents", "Process definition key"]);
|
|
25
|
+
// A number column aligns right, the others left.
|
|
26
|
+
const [process, incidents] = screen.getAllByRole("columnheader");
|
|
27
|
+
expect(incidents.className).toContain("text-right");
|
|
28
|
+
expect(process.className).toContain("text-left");
|
|
29
|
+
expect(cells()).toEqual(["Invoice", "3", "invoice", "Order", "0", "order"]);
|
|
30
|
+
});
|
|
31
|
+
it("keeps a written label and words the key of a column without one", () => {
|
|
32
|
+
expect(renderTable(ROWS, {
|
|
33
|
+
columns: [
|
|
34
|
+
{ key: "process", label: "Prozess" },
|
|
35
|
+
{ key: "totalIncidents", align: "right" },
|
|
36
|
+
{ key: "" },
|
|
37
|
+
{ label: "no key" },
|
|
38
|
+
"not a column",
|
|
39
|
+
],
|
|
40
|
+
})).toEqual(["Prozess", "Total incidents"]);
|
|
41
|
+
expect(screen.getAllByRole("columnheader")[1].className).toContain("text-right");
|
|
42
|
+
expect(cells()).toEqual(["Invoice", "3", "Order", "0"]);
|
|
43
|
+
});
|
|
44
|
+
it("derives the columns when none of the given ones is usable", () => {
|
|
45
|
+
expect(renderTable(ROWS, { columns: [{ label: "no key" }] })).toEqual([
|
|
46
|
+
"Process",
|
|
47
|
+
"Total incidents",
|
|
48
|
+
"Process definition key",
|
|
49
|
+
]);
|
|
50
|
+
});
|
|
51
|
+
it("reads { rows: [...] }, derives primitive and null fields only, at most eight", () => {
|
|
52
|
+
const wide = Object.fromEntries(Array.from({ length: 10 }, (_, i) => [`field${String(i)}`, i]));
|
|
53
|
+
const row = { flag: true, note: null, nested: { a: 1 }, list: [1], ...wide };
|
|
54
|
+
const headers = renderTable({ rows: [row, "not a record"] });
|
|
55
|
+
expect(headers).toEqual([
|
|
56
|
+
"Flag",
|
|
57
|
+
"Note",
|
|
58
|
+
"Field0",
|
|
59
|
+
"Field1",
|
|
60
|
+
"Field2",
|
|
61
|
+
"Field3",
|
|
62
|
+
"Field4",
|
|
63
|
+
"Field5",
|
|
64
|
+
]);
|
|
65
|
+
// A Boolean in words, null and anything not primitive as a dash.
|
|
66
|
+
expect(cells().slice(0, 3)).toEqual(["Yes", "—", "0"]);
|
|
67
|
+
});
|
|
68
|
+
it("shows a dash for a cell whose value is not primitive", () => {
|
|
69
|
+
renderTable([
|
|
70
|
+
{ name: "a", detail: "x" },
|
|
71
|
+
{ name: "b", detail: { deep: true } },
|
|
72
|
+
]);
|
|
73
|
+
expect(cells()).toEqual(["a", "x", "b", "—"]);
|
|
74
|
+
});
|
|
75
|
+
it("says so when the key holds no rows, in the given text or the kit's words", () => {
|
|
76
|
+
renderTable([], { emptyText: "Keine Zeilen." });
|
|
77
|
+
expect(screen.getByText("Keine Zeilen.")).toBeTruthy();
|
|
78
|
+
cleanup();
|
|
79
|
+
renderTable({ rows: "none" });
|
|
80
|
+
expect(screen.getByText("No rows yet")).toBeTruthy();
|
|
81
|
+
cleanup();
|
|
82
|
+
render(_jsx(GenericDataTableWidget, { keys: {}, context: CONTEXT }));
|
|
83
|
+
expect(screen.getByText("No rows yet")).toBeTruthy();
|
|
84
|
+
});
|
|
85
|
+
it("says so when the first row has no field it can show", () => {
|
|
86
|
+
renderTable([{ nested: { a: 1 } }]);
|
|
87
|
+
expect(screen.getByText("No rows yet")).toBeTruthy();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
function renderKpis(raw, widgetProps = {}) {
|
|
91
|
+
return render(_jsx(GenericKpiGridWidget, { keys: { "probe:kpis": raw }, context: CONTEXT, widgetProps: { dataKey: "probe:kpis", ...widgetProps } }));
|
|
92
|
+
}
|
|
93
|
+
describe("shell:kpi-grid", () => {
|
|
94
|
+
it("renders an array of cells, skipping the ones without a label", () => {
|
|
95
|
+
const { container } = renderKpis([
|
|
96
|
+
{ label: "Open incidents", value: 4, tone: "danger", fraction: " /10" },
|
|
97
|
+
{ label: "Running", value: "12" },
|
|
98
|
+
{ label: "Healthy", value: true, tone: "critical" },
|
|
99
|
+
{ label: "Unknown", value: { n: 1 }, tone: 7 },
|
|
100
|
+
{ label: "", value: 1 },
|
|
101
|
+
{ value: 2 },
|
|
102
|
+
"not a cell",
|
|
103
|
+
]);
|
|
104
|
+
const text = container.textContent ?? "";
|
|
105
|
+
for (const shown of ["Open incidents", "4", "/10", "Running", "12", "Healthy", "Yes"]) {
|
|
106
|
+
expect(text).toContain(shown);
|
|
107
|
+
}
|
|
108
|
+
expect(text).toContain("Unknown");
|
|
109
|
+
expect(text).toContain("—");
|
|
110
|
+
expect(container.querySelectorAll("[data-tone]").length).toBeGreaterThan(0);
|
|
111
|
+
});
|
|
112
|
+
it("renders a plain { label: value } object, primitive values only", () => {
|
|
113
|
+
const { container } = renderKpis({ "Open incidents": 4, Running: "12", nested: { a: 1 } });
|
|
114
|
+
const text = container.textContent ?? "";
|
|
115
|
+
expect(text).toContain("Open incidents");
|
|
116
|
+
expect(text).toContain("Running");
|
|
117
|
+
expect(text).not.toContain("nested");
|
|
118
|
+
});
|
|
119
|
+
it("passes the frame and the style on", () => {
|
|
120
|
+
const strip = renderKpis([{ label: "Running", value: 1 }]).container.innerHTML;
|
|
121
|
+
cleanup();
|
|
122
|
+
const soft = renderKpis([{ label: "Running", value: 1 }], {
|
|
123
|
+
boxed: true,
|
|
124
|
+
variant: "soft",
|
|
125
|
+
}).container.innerHTML;
|
|
126
|
+
expect(soft).not.toBe(strip);
|
|
127
|
+
});
|
|
128
|
+
it("says so when the key holds no cells, in the given text or the kit's words", () => {
|
|
129
|
+
renderKpis("not cells", { emptyText: "Keine Kennzahlen." });
|
|
130
|
+
expect(screen.getByText("Keine Kennzahlen.")).toBeTruthy();
|
|
131
|
+
cleanup();
|
|
132
|
+
renderKpis([]);
|
|
133
|
+
expect(screen.getByText("No figures yet")).toBeTruthy();
|
|
134
|
+
cleanup();
|
|
135
|
+
render(_jsx(GenericKpiGridWidget, { keys: {}, context: CONTEXT, widgetProps: { dataKey: 7 } }));
|
|
136
|
+
expect(screen.getByText("No figures yet")).toBeTruthy();
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
//# sourceMappingURL=generic-widgets.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-widgets.test.js","sourceRoot":"","sources":["../../src/ui/generic-widgets.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type AskAiVariant } from "./ask-ai-button.js";
|
|
2
|
+
import type { AskAiPrompt } from "./ask-ai-prompt.js";
|
|
3
|
+
import type { LucideIcon } from "./icon.js";
|
|
4
|
+
/**
|
|
5
|
+
* The product's ONE hand-off vocabulary: what a hand-off asks the chat to
|
|
6
|
+
* do, one entry per function, each with the Lucide icon of that function.
|
|
7
|
+
* Its label ("Ursache im Chat klären" / "Find cause in chat") is the kit's
|
|
8
|
+
* `handOff` entry, so the same function reads and looks the same in every
|
|
9
|
+
* module, and no icon stands for two functions (CI U4: never a sparkle,
|
|
10
|
+
* never a generic "AI" symbol). A connector widget renders hand-offs only
|
|
11
|
+
* through {@link HandOffButton} (an ESLint gate bans `AskAiButton` there); a
|
|
12
|
+
* new function goes here, with its label in both languages.
|
|
13
|
+
*/
|
|
14
|
+
export declare const HAND_OFF_ACTIONS: {
|
|
15
|
+
readonly assess: LucideIcon;
|
|
16
|
+
readonly findCause: LucideIcon;
|
|
17
|
+
readonly explainError: LucideIcon;
|
|
18
|
+
readonly planFix: LucideIcon;
|
|
19
|
+
readonly draftTicket: LucideIcon;
|
|
20
|
+
readonly explainTimeline: LucideIcon;
|
|
21
|
+
readonly explainDuration: LucideIcon;
|
|
22
|
+
readonly checkVariables: LucideIcon;
|
|
23
|
+
readonly explainDiagram: LucideIcon;
|
|
24
|
+
readonly checkHealth: LucideIcon;
|
|
25
|
+
readonly analyzeFailures: LucideIcon;
|
|
26
|
+
readonly analyzePerformance: LucideIcon;
|
|
27
|
+
readonly explainBottleneck: LucideIcon;
|
|
28
|
+
readonly prioritize: LucideIcon;
|
|
29
|
+
readonly compareEngines: LucideIcon;
|
|
30
|
+
};
|
|
31
|
+
export type HandOffAction = keyof typeof HAND_OFF_ACTIONS;
|
|
32
|
+
/**
|
|
33
|
+
* A chat hand-off: the kit's {@link AskAiButton} (a secondary outline, so the
|
|
34
|
+
* deterministic next step stays the view's primary action) with the icon and
|
|
35
|
+
* verb of `action`. `icon` variant rows keep the label as the accessible name
|
|
36
|
+
* and tooltip; `title` overrides both when a row needs its subject in them
|
|
37
|
+
* ("Compare “order” across its engines in chat").
|
|
38
|
+
*/
|
|
39
|
+
export declare function HandOffButton({ action, prompt, variant, title, }: {
|
|
40
|
+
action: HandOffAction;
|
|
41
|
+
prompt: AskAiPrompt | null;
|
|
42
|
+
variant?: AskAiVariant;
|
|
43
|
+
title?: string;
|
|
44
|
+
}): import("react").JSX.Element;
|
|
45
|
+
//# sourceMappingURL=hand-off-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hand-off-button.d.ts","sourceRoot":"","sources":["../../src/ui/hand-off-button.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAG3C;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;CAgBkB,CAAA;AAE/C,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAEzD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,EACN,OAAkB,EAClB,KAAK,GACN,EAAE;IACD,MAAM,EAAE,aAAa,CAAA;IACrB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,+BAWA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useLocale } from "@miragon/mcp-toolkit-ui";
|
|
3
|
+
import { ArrowLeftRight, Braces, Bug, ClipboardList, FileSearch, Gauge, Hourglass, ListChecks, ListOrdered, Route, ScanSearch, Stethoscope, Timer, Workflow, Wrench, } from "lucide-react";
|
|
4
|
+
import { AskAiButton } from "./ask-ai-button.js";
|
|
5
|
+
import { kitLabels } from "./kit-labels.js";
|
|
6
|
+
/**
|
|
7
|
+
* The product's ONE hand-off vocabulary: what a hand-off asks the chat to
|
|
8
|
+
* do, one entry per function, each with the Lucide icon of that function.
|
|
9
|
+
* Its label ("Ursache im Chat klären" / "Find cause in chat") is the kit's
|
|
10
|
+
* `handOff` entry, so the same function reads and looks the same in every
|
|
11
|
+
* module, and no icon stands for two functions (CI U4: never a sparkle,
|
|
12
|
+
* never a generic "AI" symbol). A connector widget renders hand-offs only
|
|
13
|
+
* through {@link HandOffButton} (an ESLint gate bans `AskAiButton` there); a
|
|
14
|
+
* new function goes here, with its label in both languages.
|
|
15
|
+
*/
|
|
16
|
+
export const HAND_OFF_ACTIONS = {
|
|
17
|
+
assess: ListChecks,
|
|
18
|
+
findCause: ScanSearch,
|
|
19
|
+
explainError: FileSearch,
|
|
20
|
+
planFix: Wrench,
|
|
21
|
+
draftTicket: ClipboardList,
|
|
22
|
+
explainTimeline: Route,
|
|
23
|
+
explainDuration: Timer,
|
|
24
|
+
checkVariables: Braces,
|
|
25
|
+
explainDiagram: Workflow,
|
|
26
|
+
checkHealth: Stethoscope,
|
|
27
|
+
analyzeFailures: Bug,
|
|
28
|
+
analyzePerformance: Gauge,
|
|
29
|
+
explainBottleneck: Hourglass,
|
|
30
|
+
prioritize: ListOrdered,
|
|
31
|
+
compareEngines: ArrowLeftRight,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* A chat hand-off: the kit's {@link AskAiButton} (a secondary outline, so the
|
|
35
|
+
* deterministic next step stays the view's primary action) with the icon and
|
|
36
|
+
* verb of `action`. `icon` variant rows keep the label as the accessible name
|
|
37
|
+
* and tooltip; `title` overrides both when a row needs its subject in them
|
|
38
|
+
* ("Compare “order” across its engines in chat").
|
|
39
|
+
*/
|
|
40
|
+
export function HandOffButton({ action, prompt, variant = "subtle", title, }) {
|
|
41
|
+
const locale = useLocale();
|
|
42
|
+
return (_jsx(AskAiButton, { icon: HAND_OFF_ACTIONS[action], label: kitLabels(locale).handOff[action], prompt: prompt, variant: variant, title: title }));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=hand-off-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hand-off-button.js","sourceRoot":"","sources":["../../src/ui/hand-off-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,MAAM,EACN,GAAG,EACH,aAAa,EACb,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,GACP,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAA;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,YAAY,EAAE,UAAU;IACxB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE,WAAW;IACxB,eAAe,EAAE,GAAG;IACpB,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,SAAS;IAC5B,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,cAAc;CACe,CAAA;AAI/C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,MAAM,EACN,MAAM,EACN,OAAO,GAAG,QAAQ,EAClB,KAAK,GAMN;IACC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hand-off-button.test.d.ts","sourceRoot":"","sources":["../../src/ui/hand-off-button.test.tsx"],"names":[],"mappings":""}
|