@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,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { Button, useToolkitMessages } from "@miragon/mcp-toolkit-ui";
|
|
4
|
+
import { Maximize2, Minimize2 } from "lucide-react";
|
|
5
|
+
import { Icon } from "./icon.js";
|
|
6
|
+
const NO_CONTROL = {
|
|
7
|
+
displayMode: "inline",
|
|
8
|
+
canFullscreen: false,
|
|
9
|
+
request: () => undefined,
|
|
10
|
+
};
|
|
11
|
+
const DisplayModeControlContext = createContext(NO_CONTROL);
|
|
12
|
+
export function DisplayModeControlProvider({ control, children, }) {
|
|
13
|
+
return (_jsx(DisplayModeControlContext.Provider, { value: control, children: children }));
|
|
14
|
+
}
|
|
15
|
+
export function useDisplayModeControl() {
|
|
16
|
+
return useContext(DisplayModeControlContext);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fullscreen and back, for a surface that hides the view's own chrome (the
|
|
20
|
+
* standalone drill-down, #344 N109): the same words as the toolkit's toolbar
|
|
21
|
+
* toggle, nothing where the host offers no fullscreen.
|
|
22
|
+
*/
|
|
23
|
+
export function DisplayModeToggle() {
|
|
24
|
+
const { displayMode, canFullscreen, request } = useDisplayModeControl();
|
|
25
|
+
const words = useToolkitMessages().view;
|
|
26
|
+
if (!canFullscreen)
|
|
27
|
+
return null;
|
|
28
|
+
const fullscreen = displayMode === "fullscreen";
|
|
29
|
+
const label = fullscreen ? words.exitFullscreen : words.enterFullscreen;
|
|
30
|
+
return (_jsx(Button, { type: "button", variant: "outline", size: "icon", "aria-label": label, title: label, onClick: () => request(fullscreen ? "inline" : "fullscreen"), children: _jsx(Icon, { icon: fullscreen ? Minimize2 : Maximize2 }) }));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The display modes every view of the bundle supports, for the roots'
|
|
34
|
+
* `bootstrapView({ default, viewConfig })` (#344 N159): inline as a card,
|
|
35
|
+
* fullscreen for the rest. Not picture-in-picture: no view is laid out for a
|
|
36
|
+
* small floating frame, so a host must not offer one.
|
|
37
|
+
*/
|
|
38
|
+
export const SHELL_VIEW_CONFIG = { displayModes: ["inline", "fullscreen"] };
|
|
39
|
+
//# sourceMappingURL=display-mode-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-mode-toggle.js","sourceRoot":"","sources":["../../src/ui/display-mode-toggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAahC,MAAM,UAAU,GAAuB;IACrC,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;CACzB,CAAA;AAED,MAAM,yBAAyB,GAAG,aAAa,CAAqB,UAAU,CAAC,CAAA;AAE/E,MAAM,UAAU,0BAA0B,CAAC,EACzC,OAAO,EACP,QAAQ,GAIT;IACC,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC/C,QAAQ,GAC0B,CACtC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,yBAAyB,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAA;IACvE,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,IAAI,CAAA;IACvC,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,UAAU,GAAG,WAAW,KAAK,YAAY,CAAA;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAA;IACvE,OAAO,CACL,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,gBACC,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAE5D,KAAC,IAAI,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAI,GAC3C,CACV,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAW,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Locale } from "../profile-constants.js";
|
|
2
|
+
/**
|
|
3
|
+
* Who failed, as the error text names it: a configured engine (with its id
|
|
4
|
+
* when the message carries one), Prometheus, or nothing the kit recognises.
|
|
5
|
+
*/
|
|
6
|
+
export type ErrorSource = {
|
|
7
|
+
type: "engine";
|
|
8
|
+
id?: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: "prometheus";
|
|
11
|
+
} | {
|
|
12
|
+
type: "unknown";
|
|
13
|
+
};
|
|
14
|
+
/** One error kind's words: what happened (title) and what you can do (hint). */
|
|
15
|
+
export interface ErrorKindLabels {
|
|
16
|
+
title: (p: {
|
|
17
|
+
source: string;
|
|
18
|
+
status: string;
|
|
19
|
+
}) => string;
|
|
20
|
+
hint: (p: {
|
|
21
|
+
source: ErrorSource["type"];
|
|
22
|
+
}) => string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The words of `describeError` (en/de). Voice (brand-tone): a title says what
|
|
26
|
+
* happened, a hint what you can do; German addresses you with du; no dash as
|
|
27
|
+
* a connector. Checked branch by branch (every source, the toast lines) by the
|
|
28
|
+
* catalog text and glossary tests in `brand-gates.test.ts`.
|
|
29
|
+
*/
|
|
30
|
+
export interface ErrorLabels {
|
|
31
|
+
/** The source as the subject of a title, sentence-initial. */
|
|
32
|
+
source: (p: {
|
|
33
|
+
source: ErrorSource;
|
|
34
|
+
}) => string;
|
|
35
|
+
/** The HTTP status as a title suffix (" (HTTP 503)"). */
|
|
36
|
+
status: (p: {
|
|
37
|
+
status: number;
|
|
38
|
+
}) => string;
|
|
39
|
+
unreachable: ErrorKindLabels;
|
|
40
|
+
timeout: ErrorKindLabels;
|
|
41
|
+
notOnServer: ErrorKindLabels;
|
|
42
|
+
unauthorized: ErrorKindLabels;
|
|
43
|
+
forbidden: ErrorKindLabels;
|
|
44
|
+
notFound: ErrorKindLabels;
|
|
45
|
+
failed: ErrorKindLabels;
|
|
46
|
+
unknown: ErrorKindLabels;
|
|
47
|
+
/**
|
|
48
|
+
* A failed write's toast. A toast has a title and one line, no "Details":
|
|
49
|
+
* these words never point there, and they carry the reason themselves.
|
|
50
|
+
*/
|
|
51
|
+
toast: {
|
|
52
|
+
/** What happened, then the source's own reason, quoted. */
|
|
53
|
+
reason: (p: {
|
|
54
|
+
title: string;
|
|
55
|
+
reason: string;
|
|
56
|
+
}) => string;
|
|
57
|
+
/** `failed`'s next step, without the "Details" sentence. */
|
|
58
|
+
failedHint: () => string;
|
|
59
|
+
/** The write's answer never came (timeout, lost connection): it may have gone through. */
|
|
60
|
+
mayHaveApplied: () => string;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/** Both label sets, for `describeError` and the catalog text test. */
|
|
64
|
+
export declare const ERROR_LABELS: Readonly<Record<Locale, ErrorLabels>>;
|
|
65
|
+
//# sourceMappingURL=error-labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-labels.d.ts","sourceRoot":"","sources":["../../src/ui/error-labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,WAAW,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAA;AAEhF,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACxD,IAAI,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,MAAM,CAAA;CACrD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,MAAM,CAAA;IAC9C,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;IACzC,WAAW,EAAE,eAAe,CAAA;IAC5B,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,eAAe,CAAA;IAC5B,YAAY,EAAE,eAAe,CAAA;IAC7B,SAAS,EAAE,eAAe,CAAA;IAC1B,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;IACxB;;;OAGG;IACH,KAAK,EAAE;QACL,2DAA2D;QAC3D,MAAM,EAAE,CAAC,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAA;QACxD,4DAA4D;QAC5D,UAAU,EAAE,MAAM,MAAM,CAAA;QACxB,0FAA0F;QAC1F,cAAc,EAAE,MAAM,MAAM,CAAA;KAC7B,CAAA;CACF;AA6HD,sEAAsE;AACtE,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAsB,CAAA"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/** A reason as a quotation ends without its own full stop; the sentence's comes after the quote. */
|
|
2
|
+
const unstop = (reason) => reason.replace(/[.\s]+$/, "");
|
|
3
|
+
const EN = {
|
|
4
|
+
source: ({ source }) => source.type === "engine"
|
|
5
|
+
? source.id
|
|
6
|
+
? `Engine ${source.id}`
|
|
7
|
+
: "The engine"
|
|
8
|
+
: source.type === "prometheus"
|
|
9
|
+
? "Prometheus"
|
|
10
|
+
: "The data source",
|
|
11
|
+
status: ({ status }) => ` (HTTP ${status})`,
|
|
12
|
+
unreachable: {
|
|
13
|
+
title: ({ source, status }) => `${source} is unreachable${status}`,
|
|
14
|
+
hint: ({ source }) => source === "engine"
|
|
15
|
+
? "Check that the engine is running, or pick another engine."
|
|
16
|
+
: source === "prometheus"
|
|
17
|
+
? "Check that Prometheus is running and reachable."
|
|
18
|
+
: "Check the connection, then try again.",
|
|
19
|
+
},
|
|
20
|
+
timeout: {
|
|
21
|
+
title: ({ source }) => `${source} did not respond in time`,
|
|
22
|
+
hint: ({ source }) => source === "engine"
|
|
23
|
+
? "Try again in a moment. If it keeps happening, the engine may be under heavy load."
|
|
24
|
+
: "Try again in a moment.",
|
|
25
|
+
},
|
|
26
|
+
notOnServer: {
|
|
27
|
+
title: () => "This data isn't available on this server",
|
|
28
|
+
hint: () => "The module behind it isn't active here. Ask in the chat what you can do instead.",
|
|
29
|
+
},
|
|
30
|
+
unauthorized: {
|
|
31
|
+
title: ({ source, status }) => `${source} rejected the server's credentials${status}`,
|
|
32
|
+
hint: () => "Ask whoever runs this server to check its credentials.",
|
|
33
|
+
},
|
|
34
|
+
forbidden: {
|
|
35
|
+
title: ({ source, status }) => `${source} denied access${status}`,
|
|
36
|
+
hint: () => "The server's account lacks the permission for this. Ask whoever runs the server to check it.",
|
|
37
|
+
},
|
|
38
|
+
notFound: {
|
|
39
|
+
title: () => "This entry no longer exists",
|
|
40
|
+
hint: () => "It may have ended or been deleted. Go back to the list, or try again.",
|
|
41
|
+
},
|
|
42
|
+
failed: {
|
|
43
|
+
title: ({ source, status }) => `${source} reported an error${status}`,
|
|
44
|
+
hint: () => "You'll find the reason under Details. Try again, or ask in the chat.",
|
|
45
|
+
},
|
|
46
|
+
unknown: {
|
|
47
|
+
title: () => "Something went wrong",
|
|
48
|
+
hint: () => "Try again. If it fails again, ask in the chat.",
|
|
49
|
+
},
|
|
50
|
+
toast: {
|
|
51
|
+
reason: ({ title, reason }) => `${title}: “${unstop(reason)}”.`,
|
|
52
|
+
failedHint: () => "Try again, or ask in the chat.",
|
|
53
|
+
mayHaveApplied: () => "It may have worked anyway. Check the current state before you try again.",
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
const DE = {
|
|
57
|
+
source: ({ source }) => source.type === "engine"
|
|
58
|
+
? source.id
|
|
59
|
+
? `Die Engine ${source.id}`
|
|
60
|
+
: "Die Engine"
|
|
61
|
+
: source.type === "prometheus"
|
|
62
|
+
? "Prometheus"
|
|
63
|
+
: "Die Datenquelle",
|
|
64
|
+
status: ({ status }) => ` (HTTP ${status})`,
|
|
65
|
+
unreachable: {
|
|
66
|
+
title: ({ source, status }) => `${source} ist nicht erreichbar${status}`,
|
|
67
|
+
hint: ({ source }) => source === "engine"
|
|
68
|
+
? "Prüf, ob die Engine läuft, oder wähl eine andere Engine."
|
|
69
|
+
: source === "prometheus"
|
|
70
|
+
? "Prüf, ob Prometheus läuft und erreichbar ist."
|
|
71
|
+
: "Prüf die Verbindung und versuch es noch mal.",
|
|
72
|
+
},
|
|
73
|
+
timeout: {
|
|
74
|
+
title: ({ source }) => `${source} antwortet nicht rechtzeitig`,
|
|
75
|
+
hint: ({ source }) => source === "engine"
|
|
76
|
+
? "Versuch es gleich noch mal. Passiert das öfter, ist die Engine vielleicht stark ausgelastet."
|
|
77
|
+
: "Versuch es gleich noch mal.",
|
|
78
|
+
},
|
|
79
|
+
notOnServer: {
|
|
80
|
+
title: () => "Diese Daten gibt es auf diesem Server nicht",
|
|
81
|
+
hint: () => "Das zuständige Modul ist hier nicht aktiv. Frag im Chat, was du stattdessen tun kannst.",
|
|
82
|
+
},
|
|
83
|
+
unauthorized: {
|
|
84
|
+
title: ({ source, status }) => `${source} lehnt die Zugangsdaten des Servers ab${status}`,
|
|
85
|
+
hint: () => "Bitte die Person, die den Server betreibt, die Zugangsdaten zu prüfen.",
|
|
86
|
+
},
|
|
87
|
+
forbidden: {
|
|
88
|
+
title: ({ source, status }) => `${source} verweigert den Zugriff${status}`,
|
|
89
|
+
hint: () => "Dem Konto des Servers fehlt dafür die Berechtigung. Bitte die Person, die den Server betreibt, das zu prüfen.",
|
|
90
|
+
},
|
|
91
|
+
notFound: {
|
|
92
|
+
title: () => "Diesen Eintrag gibt es nicht mehr",
|
|
93
|
+
hint: () => "Er wurde vielleicht beendet oder gelöscht. Geh zurück zur Liste oder versuch es noch mal.",
|
|
94
|
+
},
|
|
95
|
+
failed: {
|
|
96
|
+
title: ({ source, status }) => `${source} meldet einen Fehler${status}`,
|
|
97
|
+
hint: () => "Den Grund findest du unter Details. Versuch es noch mal oder frag im Chat nach.",
|
|
98
|
+
},
|
|
99
|
+
unknown: {
|
|
100
|
+
title: () => "Das hat nicht geklappt",
|
|
101
|
+
hint: () => "Versuch es noch mal. Klappt es wieder nicht, frag im Chat nach.",
|
|
102
|
+
},
|
|
103
|
+
toast: {
|
|
104
|
+
reason: ({ title, reason }) => `${title}: „${unstop(reason)}“.`,
|
|
105
|
+
failedHint: () => "Versuch es noch mal oder frag im Chat nach.",
|
|
106
|
+
mayHaveApplied: () => "Vielleicht hat es trotzdem geklappt. Prüf den aktuellen Stand, bevor du es noch mal versuchst.",
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
/** Both label sets, for `describeError` and the catalog text test. */
|
|
110
|
+
export const ERROR_LABELS = { en: EN, de: DE };
|
|
111
|
+
//# sourceMappingURL=error-labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-labels.js","sourceRoot":"","sources":["../../src/ui/error-labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../src/ui/format.test.ts"],"names":[],"mappings":""}
|