@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,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many rows each inline list of a view keeps so the view fits the host's
|
|
3
|
+
* height budget (#396): the pure half of the measured inline fit
|
|
4
|
+
* (`inline-fit.tsx` measures, this decides). Inputs are what the rendered
|
|
5
|
+
* view measures, never assumed sizes: the content's height and, per list,
|
|
6
|
+
* the bottom edge of every row it shows. Dropping rows k…n−1 of a list saves
|
|
7
|
+
* the distance between the bottom of its last shown row and the bottom of
|
|
8
|
+
* row k−1.
|
|
9
|
+
*
|
|
10
|
+
* The order rows go in:
|
|
11
|
+
* 1. one row at a time from the list showing the most rows (a tie: the later
|
|
12
|
+
* list first), down to {@link FitLimits.softMin} each;
|
|
13
|
+
* 2. then the lists after the first one, last first, down to
|
|
14
|
+
* {@link FitLimits.hardMin}; then the first list.
|
|
15
|
+
* When the view does not fit even at `hardMin` everywhere, cutting below
|
|
16
|
+
* `softMin` buys nothing: the result is the state after step 1 and
|
|
17
|
+
* `fits: false` (the view then scrolls inside the budget, its safety net).
|
|
18
|
+
*
|
|
19
|
+
* A cap never grows here (growth is a new epoch: another budget, width or
|
|
20
|
+
* display mode), never drops below `hardMin`, and a list frozen by the user
|
|
21
|
+
* ("Show more" in place) is never cut.
|
|
22
|
+
*/
|
|
23
|
+
export interface FitSlot {
|
|
24
|
+
id: string;
|
|
25
|
+
/** Position in the document: lower is earlier. */
|
|
26
|
+
order: number;
|
|
27
|
+
/** The bottom edge (px, any common origin) of each row the list shows, top to bottom. */
|
|
28
|
+
bottoms: readonly number[];
|
|
29
|
+
/** The user revealed rows in place: keep them. */
|
|
30
|
+
frozen: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface FitLimits {
|
|
33
|
+
/** Rows a list keeps before any list goes below it. */
|
|
34
|
+
softMin: number;
|
|
35
|
+
/** The fewest rows a list ever shows inline. */
|
|
36
|
+
hardMin: number;
|
|
37
|
+
}
|
|
38
|
+
export declare const FIT_LIMITS: FitLimits;
|
|
39
|
+
export interface FitResult {
|
|
40
|
+
/** The new row count of every list that loses rows; lists not named keep theirs. */
|
|
41
|
+
cuts: Record<string, number>;
|
|
42
|
+
/** The content fits the budget after the cuts (as far as the cuts can tell). */
|
|
43
|
+
fits: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function solveInlineFit(input: {
|
|
46
|
+
budget: number;
|
|
47
|
+
content: number;
|
|
48
|
+
slots: readonly FitSlot[];
|
|
49
|
+
}, limits?: FitLimits): FitResult;
|
|
50
|
+
//# sourceMappingURL=inline-fit-solve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-solve.d.ts","sourceRoot":"","sources":["../../src/ui/inline-fit-solve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,UAAU,EAAE,SAAsC,CAAA;AAE/D,MAAM,WAAW,SAAS;IACxB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,gFAAgF;IAChF,IAAI,EAAE,OAAO,CAAA;CACd;AA8CD,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EACrE,MAAM,GAAE,SAAsB,GAC7B,SAAS,CAoBX"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many rows each inline list of a view keeps so the view fits the host's
|
|
3
|
+
* height budget (#396): the pure half of the measured inline fit
|
|
4
|
+
* (`inline-fit.tsx` measures, this decides). Inputs are what the rendered
|
|
5
|
+
* view measures, never assumed sizes: the content's height and, per list,
|
|
6
|
+
* the bottom edge of every row it shows. Dropping rows k…n−1 of a list saves
|
|
7
|
+
* the distance between the bottom of its last shown row and the bottom of
|
|
8
|
+
* row k−1.
|
|
9
|
+
*
|
|
10
|
+
* The order rows go in:
|
|
11
|
+
* 1. one row at a time from the list showing the most rows (a tie: the later
|
|
12
|
+
* list first), down to {@link FitLimits.softMin} each;
|
|
13
|
+
* 2. then the lists after the first one, last first, down to
|
|
14
|
+
* {@link FitLimits.hardMin}; then the first list.
|
|
15
|
+
* When the view does not fit even at `hardMin` everywhere, cutting below
|
|
16
|
+
* `softMin` buys nothing: the result is the state after step 1 and
|
|
17
|
+
* `fits: false` (the view then scrolls inside the budget, its safety net).
|
|
18
|
+
*
|
|
19
|
+
* A cap never grows here (growth is a new epoch: another budget, width or
|
|
20
|
+
* display mode), never drops below `hardMin`, and a list frozen by the user
|
|
21
|
+
* ("Show more" in place) is never cut.
|
|
22
|
+
*/
|
|
23
|
+
export const FIT_LIMITS = { softMin: 3, hardMin: 1 };
|
|
24
|
+
/** What dropping a list's rows below `keep` saves. */
|
|
25
|
+
function savedBy({ slot, shown, keep }) {
|
|
26
|
+
if (keep >= shown)
|
|
27
|
+
return 0;
|
|
28
|
+
return slot.bottoms[shown - 1] - slot.bottoms[keep - 1];
|
|
29
|
+
}
|
|
30
|
+
const totalSaved = (lists) => lists.reduce((sum, list) => sum + savedBy(list), 0);
|
|
31
|
+
/** Step 1: the list with the most rows gives one, down to `softMin`. */
|
|
32
|
+
function trimToSoftMin(lists, over, softMin) {
|
|
33
|
+
while (totalSaved(lists) < over) {
|
|
34
|
+
let pick;
|
|
35
|
+
for (const list of lists) {
|
|
36
|
+
if (list.keep <= Math.min(softMin, list.shown))
|
|
37
|
+
continue;
|
|
38
|
+
if (!pick ||
|
|
39
|
+
list.keep > pick.keep ||
|
|
40
|
+
(list.keep === pick.keep && list.slot.order > pick.slot.order)) {
|
|
41
|
+
pick = list;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!pick)
|
|
45
|
+
return;
|
|
46
|
+
pick.keep -= 1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Step 2: the later lists, last first, then the first one, down to `hardMin`. */
|
|
50
|
+
function trimToHardMin(lists, over, hardMin) {
|
|
51
|
+
const byOrder = [...lists].sort((a, b) => a.slot.order - b.slot.order);
|
|
52
|
+
const sequence = [...byOrder.slice(1).reverse(), ...byOrder.slice(0, 1)];
|
|
53
|
+
for (const list of sequence) {
|
|
54
|
+
while (totalSaved(lists) < over && list.keep > hardMin)
|
|
55
|
+
list.keep -= 1;
|
|
56
|
+
if (totalSaved(lists) >= over)
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export function solveInlineFit(input, limits = FIT_LIMITS) {
|
|
61
|
+
const over = Math.ceil(input.content) - input.budget;
|
|
62
|
+
if (over <= 0)
|
|
63
|
+
return { cuts: {}, fits: true };
|
|
64
|
+
const lists = input.slots
|
|
65
|
+
.filter((slot) => !slot.frozen && slot.bottoms.length > 0)
|
|
66
|
+
.map((slot) => ({ slot, shown: slot.bottoms.length, keep: slot.bottoms.length }));
|
|
67
|
+
trimToSoftMin(lists, over, limits.softMin);
|
|
68
|
+
const soft = lists.map((list) => list.keep);
|
|
69
|
+
let fits = totalSaved(lists) >= over;
|
|
70
|
+
if (!fits) {
|
|
71
|
+
trimToHardMin(lists, over, Math.max(1, limits.hardMin));
|
|
72
|
+
fits = totalSaved(lists) >= over;
|
|
73
|
+
// Below softMin only where it makes the view fit.
|
|
74
|
+
if (!fits)
|
|
75
|
+
lists.forEach((list, i) => (list.keep = soft[i]));
|
|
76
|
+
}
|
|
77
|
+
const cuts = {};
|
|
78
|
+
for (const list of lists)
|
|
79
|
+
if (list.keep < list.shown)
|
|
80
|
+
cuts[list.slot.id] = list.keep;
|
|
81
|
+
return { cuts, fits };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=inline-fit-solve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-solve.js","sourceRoot":"","sources":["../../src/ui/inline-fit-solve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmBH,MAAM,CAAC,MAAM,UAAU,GAAc,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;AAe/D,sDAAsD;AACtD,SAAS,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAW;IAC7C,IAAI,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,CAAA;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAE,EAAE,CAC/C,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAErD,wEAAwE;AACxE,SAAS,aAAa,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAe;IACpE,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;QAChC,IAAI,IAAyB,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACxD,IACE,CAAC,IAAI;gBACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;gBACrB,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAC9D,CAAC;gBACD,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;IAChB,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAe;IACpE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO;YAAE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA;QACtE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI;YAAE,OAAM;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAqE,EACrE,SAAoB,UAAU;IAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;IACpD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC9C,MAAM,KAAK,GAAc,KAAK,CAAC,KAAK;SACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACzD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAEnF,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACvD,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;QAChC,kDAAkD;QAClD,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,IAAI,GAA2B,EAAE,CAAA;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA;IACpF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-solve.test.d.ts","sourceRoot":"","sources":["../../src/ui/inline-fit-solve.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { solveInlineFit } from "./inline-fit-solve.js";
|
|
3
|
+
/**
|
|
4
|
+
* The inline fit's decision (#396), with the sizes measured on the playground
|
|
5
|
+
* views at 760 px (chrome above and below the rows, row heights): a list
|
|
6
|
+
* keeps as many rows as fit, 3 before any list goes lower, 1 at the least,
|
|
7
|
+
* and never 0.
|
|
8
|
+
*/
|
|
9
|
+
/** A list whose `count` rows of `height` px start at `top`. */
|
|
10
|
+
function list(id, count, height, top = 0, order = 0) {
|
|
11
|
+
return {
|
|
12
|
+
id,
|
|
13
|
+
order,
|
|
14
|
+
bottoms: Array.from({ length: count }, (_, i) => top + (i + 1) * height),
|
|
15
|
+
frozen: false,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** A view of `chrome` px around one list of `count` × `height` px rows. */
|
|
19
|
+
function view(budget, chrome, count, height) {
|
|
20
|
+
return { budget, content: chrome + count * height, slots: [list("rows", count, height, chrome)] };
|
|
21
|
+
}
|
|
22
|
+
describe("solveInlineFit: one list", () => {
|
|
23
|
+
it("leaves a view that fits as it is", () => {
|
|
24
|
+
expect(solveInlineFit(view(600, 342, 2, 66))).toEqual({ cuts: {}, fits: true });
|
|
25
|
+
expect(solveInlineFit(view(600, 400, 2, 100))).toEqual({ cuts: {}, fits: true });
|
|
26
|
+
});
|
|
27
|
+
it("keeps the rows that fit: engine-wide instances, scoped instances, a 600 px budget", () => {
|
|
28
|
+
// 360 px chrome and 66 px rows (engine-wide instances after the density fix).
|
|
29
|
+
expect(solveInlineFit(view(600, 360, 10, 66))).toEqual({ cuts: { rows: 3 }, fits: true });
|
|
30
|
+
// 360 px chrome and 57 px rows (scoped instances).
|
|
31
|
+
expect(solveInlineFit(view(600, 360, 10, 57))).toEqual({ cuts: { rows: 4 }, fits: true });
|
|
32
|
+
});
|
|
33
|
+
it("goes below 3 rows only where that makes the view fit: the job panel", () => {
|
|
34
|
+
// 408 px chrome and 87 px rows: 3 rows are 669 px, 2 are 582.
|
|
35
|
+
expect(solveInlineFit(view(600, 408, 10, 87))).toEqual({ cuts: { rows: 2 }, fits: true });
|
|
36
|
+
expect(solveInlineFit(view(600, 500, 10, 87))).toEqual({ cuts: { rows: 1 }, fits: true });
|
|
37
|
+
});
|
|
38
|
+
it("keeps 3 rows when even 1 does not fit: the view then scrolls inside the budget", () => {
|
|
39
|
+
// The analytics dashboard: about 1000 px around its activity table.
|
|
40
|
+
expect(solveInlineFit(view(600, 1000, 7, 66))).toEqual({ cuts: { rows: 3 }, fits: false });
|
|
41
|
+
});
|
|
42
|
+
it("fits more rows into a larger budget", () => {
|
|
43
|
+
expect(solveInlineFit(view(800, 360, 10, 66)).cuts).toEqual({ rows: 6 });
|
|
44
|
+
expect(solveInlineFit(view(800, 360, 10, 57)).cuts).toEqual({ rows: 7 });
|
|
45
|
+
expect(solveInlineFit(view(800, 408, 10, 87)).cuts).toEqual({ rows: 4 });
|
|
46
|
+
});
|
|
47
|
+
it("rounds a fractional content height up: 600.4 px is over a 600 px budget", () => {
|
|
48
|
+
const slot = list("rows", 4, 50, 400);
|
|
49
|
+
expect(solveInlineFit({ budget: 600, content: 600, slots: [slot] }).cuts).toEqual({});
|
|
50
|
+
expect(solveInlineFit({ budget: 600, content: 600.4, slots: [slot] }).cuts).toEqual({ rows: 3 });
|
|
51
|
+
});
|
|
52
|
+
it("never cuts a list the user revealed rows of", () => {
|
|
53
|
+
const frozen = { ...list("rows", 10, 66, 360), frozen: true };
|
|
54
|
+
expect(solveInlineFit({ budget: 600, content: 1020, slots: [frozen] })).toEqual({
|
|
55
|
+
cuts: {},
|
|
56
|
+
fits: false,
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
it("ignores lists that show no rows (hidden, empty)", () => {
|
|
60
|
+
const hidden = { id: "hidden", order: 1, bottoms: [], frozen: false };
|
|
61
|
+
expect(solveInlineFit({ budget: 600, content: 700, slots: [hidden] })).toEqual({
|
|
62
|
+
cuts: {},
|
|
63
|
+
fits: false,
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
it("lets a short list give a row only where that makes the view fit, and never its last", () => {
|
|
67
|
+
// 2 rows, 52 px over: one goes.
|
|
68
|
+
expect(solveInlineFit(view(600, 520, 2, 66))).toEqual({ cuts: { rows: 1 }, fits: true });
|
|
69
|
+
// 92 px over: even 1 row does not fit, so both stay.
|
|
70
|
+
expect(solveInlineFit(view(600, 560, 2, 66))).toEqual({ cuts: {}, fits: false });
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe("solveInlineFit: several lists", () => {
|
|
74
|
+
const twoLists = (budget, over) => {
|
|
75
|
+
const first = list("first", 6, 50, 200, 0);
|
|
76
|
+
const second = list("second", 4, 50, 600, 1);
|
|
77
|
+
return { budget, content: budget + over, slots: [first, second] };
|
|
78
|
+
};
|
|
79
|
+
it("takes rows from the list showing the most first", () => {
|
|
80
|
+
// 6 and 4 rows: the first gives two, then both are at 4 and the later one gives.
|
|
81
|
+
expect(solveInlineFit(twoLists(600, 150)).cuts).toEqual({ first: 4, second: 3 });
|
|
82
|
+
});
|
|
83
|
+
it("on a tie, the later list gives first", () => {
|
|
84
|
+
const first = list("first", 4, 50, 200, 0);
|
|
85
|
+
const second = list("second", 4, 50, 500, 1);
|
|
86
|
+
expect(solveInlineFit({ budget: 600, content: 650, slots: [first, second] }).cuts).toEqual({
|
|
87
|
+
second: 3,
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
it("below 3 rows: the later lists first, the first list last", () => {
|
|
91
|
+
// Both at 3 save 200 px (50 px rows); the second at 1 saves 100 more.
|
|
92
|
+
expect(solveInlineFit(twoLists(600, 300)).cuts).toEqual({ first: 3, second: 1 });
|
|
93
|
+
// 50 px more: then the first list gives too.
|
|
94
|
+
expect(solveInlineFit(twoLists(600, 350)).cuts).toEqual({ first: 2, second: 1 });
|
|
95
|
+
});
|
|
96
|
+
it("keeps every list at 3 when the view cannot fit at 1 each", () => {
|
|
97
|
+
expect(solveInlineFit(twoLists(600, 900))).toEqual({
|
|
98
|
+
cuts: { first: 3, second: 3 },
|
|
99
|
+
fits: false,
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
it("is stable: solving its own result again changes nothing", () => {
|
|
103
|
+
const first = list("first", 4, 50, 200, 0);
|
|
104
|
+
const second = list("second", 3, 50, 500, 1);
|
|
105
|
+
expect(solveInlineFit({ budget: 600, content: 600, slots: [first, second] }).cuts).toEqual({});
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=inline-fit-solve.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-solve.test.js","sourceRoot":"","sources":["../../src/ui/inline-fit-solve.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-time.test.d.ts","sourceRoot":"","sources":["../../src/ui/inline-fit-time.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// @vitest-environment happy-dom
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { act, cleanup, fireEvent, render, screen } from "@testing-library/react";
|
|
6
|
+
import { Host, ROWS, Table, layout, shownRows } from "./inline-fit.test-support.js";
|
|
7
|
+
/**
|
|
8
|
+
* The inline fit over time (#396): a second pass for the line its own cap
|
|
9
|
+
* adds, late growth before and after the user touches the view, a list shown
|
|
10
|
+
* from a hidden tab, a new budget after rows were revealed, a revealed list
|
|
11
|
+
* next to a changing one, and the step "Show more" reveals.
|
|
12
|
+
*/
|
|
13
|
+
afterEach(() => cleanup());
|
|
14
|
+
describe("the fit over time", () => {
|
|
15
|
+
/** A layout whose chrome can grow later, and whose hidden lists show no rows. */
|
|
16
|
+
function mutableLayout(start) {
|
|
17
|
+
const state = { ...start, footer: start.footer ?? 40 };
|
|
18
|
+
const measure = {
|
|
19
|
+
rows: (element) => element.closest("[data-test-hidden]")
|
|
20
|
+
? []
|
|
21
|
+
: Array.from(element.children).map((_, i) => state.chrome + (i + 1) * state.row),
|
|
22
|
+
content: (box) => state.chrome +
|
|
23
|
+
box.querySelectorAll("[data-inline-fit-rows] > *").length * state.row +
|
|
24
|
+
box.querySelectorAll("tfoot").length * state.footer,
|
|
25
|
+
};
|
|
26
|
+
return { state, measure };
|
|
27
|
+
}
|
|
28
|
+
const observers = [];
|
|
29
|
+
beforeEach(() => {
|
|
30
|
+
vi.stubGlobal("ResizeObserver", class {
|
|
31
|
+
constructor(callback) {
|
|
32
|
+
observers.push(callback);
|
|
33
|
+
}
|
|
34
|
+
observe() { }
|
|
35
|
+
disconnect() { }
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
afterEach(() => {
|
|
39
|
+
vi.unstubAllGlobals();
|
|
40
|
+
observers.length = 0;
|
|
41
|
+
});
|
|
42
|
+
/** The view's content changed size (fonts, a diagram, a tab shown). */
|
|
43
|
+
const resized = () => act(() => observers.forEach((callback) => callback()));
|
|
44
|
+
const rowsOf = (prefix) => shownRows().filter((text) => text.startsWith(prefix));
|
|
45
|
+
it("absorbs the 'k of N' line its own cap adds (a second pass)", () => {
|
|
46
|
+
// 8 rows are 780 px; 5 fit before the line appears, 4 with it.
|
|
47
|
+
render(_jsx(Host, { measure: layout({ chrome: 300, row: 60 }), children: _jsx(Table, { rows: ROWS.slice(0, 8) }) }));
|
|
48
|
+
expect(shownRows()).toHaveLength(4);
|
|
49
|
+
expect(screen.getByText("4 of 8 shown")).toBeTruthy();
|
|
50
|
+
});
|
|
51
|
+
it("refits what grows late until the user touches the view, then leaves the rows alone", () => {
|
|
52
|
+
const { state, measure } = mutableLayout({ chrome: 300, row: 60 });
|
|
53
|
+
render(_jsx(Host, { measure: measure, children: _jsx(Table, {}) }));
|
|
54
|
+
expect(shownRows()).toHaveLength(4);
|
|
55
|
+
state.chrome = 360;
|
|
56
|
+
resized();
|
|
57
|
+
expect(shownRows()).toHaveLength(3);
|
|
58
|
+
fireEvent.pointerDown(window);
|
|
59
|
+
state.chrome = 420;
|
|
60
|
+
resized();
|
|
61
|
+
// Rows never vanish under the pointer: the view scrolls inside its budget instead.
|
|
62
|
+
expect(shownRows()).toHaveLength(3);
|
|
63
|
+
});
|
|
64
|
+
it("fits a list the first time it shows, also after the user touched the view", () => {
|
|
65
|
+
const { measure } = mutableLayout({ chrome: 300, row: 60 });
|
|
66
|
+
function Tabbed() {
|
|
67
|
+
const [shown, setShown] = useState(false);
|
|
68
|
+
return (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", onClick: () => setShown(true), children: "show" }), _jsx("div", { "data-test-hidden": shown ? undefined : "", children: _jsx(Table, {}) })] }));
|
|
69
|
+
}
|
|
70
|
+
render(_jsx(Host, { measure: measure, children: _jsx(Tabbed, {}) }));
|
|
71
|
+
// Hidden: nothing to measure, nothing cut.
|
|
72
|
+
expect(shownRows()).toHaveLength(10);
|
|
73
|
+
fireEvent.pointerDown(window);
|
|
74
|
+
fireEvent.click(screen.getByRole("button", { name: "show" }));
|
|
75
|
+
resized();
|
|
76
|
+
expect(shownRows()).toHaveLength(4);
|
|
77
|
+
});
|
|
78
|
+
it("a new budget refits a list whose rows the user revealed in place", () => {
|
|
79
|
+
// 340 px chrome, 60 px rows: 3 of 6 fit 600 px.
|
|
80
|
+
const measure = layout({ chrome: 340, row: 60 });
|
|
81
|
+
const { rerender } = render(_jsx(Host, { measure: measure, children: _jsx(Table, { rows: ROWS.slice(0, 6) }) }));
|
|
82
|
+
expect(shownRows()).toHaveLength(3);
|
|
83
|
+
fireEvent.click(screen.getByRole("button", { name: "Show more" }));
|
|
84
|
+
expect(shownRows()).toHaveLength(6);
|
|
85
|
+
rerender(_jsx(Host, { budget: 500, measure: measure, children: _jsx(Table, { rows: ROWS.slice(0, 6) }) }));
|
|
86
|
+
expect(shownRows()).toHaveLength(2);
|
|
87
|
+
});
|
|
88
|
+
it("keeps the rows the user revealed while another list of the view changes", () => {
|
|
89
|
+
const measure = layout({ chrome: 100, row: 50 });
|
|
90
|
+
const a = Array.from({ length: 12 }, (_, i) => `row a${i + 1}`);
|
|
91
|
+
function TwoTables({ b }) {
|
|
92
|
+
return (_jsxs(_Fragment, { children: [_jsx(Table, { rows: a }), _jsx(Table, { rows: Array.from({ length: b }, (_, i) => `row b${i + 1}`) })] }));
|
|
93
|
+
}
|
|
94
|
+
const { rerender } = render(_jsx(Host, { measure: measure, children: _jsx(TwoTables, { b: 2 }) }));
|
|
95
|
+
expect(rowsOf("row a")).toHaveLength(7);
|
|
96
|
+
fireEvent.click(screen.getByRole("button", { name: "Show more" }));
|
|
97
|
+
expect(rowsOf("row a")).toHaveLength(12);
|
|
98
|
+
rerender(_jsx(Host, { measure: measure, children: _jsx(TwoTables, { b: 6 }) }));
|
|
99
|
+
expect(rowsOf("row a")).toHaveLength(12);
|
|
100
|
+
expect(rowsOf("row b")).toHaveLength(3);
|
|
101
|
+
});
|
|
102
|
+
it("reveals at least 3 rows per click where only 1 fits", () => {
|
|
103
|
+
// 470 px chrome, 87 px rows: 1 row fits.
|
|
104
|
+
render(_jsx(Host, { measure: layout({ chrome: 470, row: 87 }), children: _jsx(Table, {}) }));
|
|
105
|
+
expect(shownRows()).toHaveLength(1);
|
|
106
|
+
fireEvent.click(screen.getByRole("button", { name: "Show more" }));
|
|
107
|
+
expect(shownRows()).toHaveLength(4);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=inline-fit-time.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit-time.test.js","sourceRoot":"","sources":["../../src/ui/inline-fit-time.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
import { type FitMeasure } from "./inline-fit-registry.js";
|
|
3
|
+
export { CONTINUES_ATTRIBUTE, DOM_MEASURE, FIT_CONTINUES_ROW, type FitMeasure, } from "./inline-fit-registry.js";
|
|
4
|
+
/**
|
|
5
|
+
* The measured inline fit (#396): an inline view is a card in a chat, and a
|
|
6
|
+
* card taller than the host's height budget turns into one scroll box. So
|
|
7
|
+
* inline, every list of the view shows only as many rows as fit, measured on
|
|
8
|
+
* the rendered view: its real chrome and its real rows (a two-line row with a
|
|
9
|
+
* name and an id is not a one-line row, and a view's header, filters and
|
|
10
|
+
* footer differ per view). The rest is one "Show all" away (fullscreen, or
|
|
11
|
+
* the next rows in place where the host offers no fullscreen).
|
|
12
|
+
*
|
|
13
|
+
* - The fit runs before the first paint (each list's layout effect), so the
|
|
14
|
+
* host's first size report already has the fitted height; a footer that
|
|
15
|
+
* appears because of a cap ("3 of 160") is absorbed by the next pass.
|
|
16
|
+
* - Within an EPOCH (the budget, the frame's width, inline vs. fullscreen) a
|
|
17
|
+
* cap only shrinks; a new epoch starts every list at {@link START_ROWS}
|
|
18
|
+
* again. Without a stated budget the view is fitted to
|
|
19
|
+
* {@link UNSTATED_BUDGET} and never capped.
|
|
20
|
+
* - Until the user first touches the view (pointer or key), content that
|
|
21
|
+
* grows late (a font swap, a diagram, an error line) refits; after that,
|
|
22
|
+
* only a list's own placement does (mounted, shown from a hidden tab, a new
|
|
23
|
+
* search or filter), so rows never vanish under the pointer.
|
|
24
|
+
* - Revealing rows in place freezes a list until its search or filter
|
|
25
|
+
* changes.
|
|
26
|
+
*
|
|
27
|
+
* Outside a host (unit renders, fixtures) and in fullscreen there is no fit:
|
|
28
|
+
* every row shows.
|
|
29
|
+
*/
|
|
30
|
+
/** Rows a list starts with in an epoch, before the fit takes some away. */
|
|
31
|
+
export declare const START_ROWS = 10;
|
|
32
|
+
/** The height an inline view is fitted to when the host states no budget. */
|
|
33
|
+
export declare const UNSTATED_BUDGET = 600;
|
|
34
|
+
/**
|
|
35
|
+
* The view's document box with its fit: `HostDocument` renders the view in
|
|
36
|
+
* it in every display mode (the tree never changes with the mode; only
|
|
37
|
+
* `active` and the style do). `data-inline-fit` on the box says whether the
|
|
38
|
+
* last fit made the view fit ("fits") or not ("overflow": it then scrolls
|
|
39
|
+
* inside the budget).
|
|
40
|
+
*/
|
|
41
|
+
export declare function InlineFitBox({ active, budget, style, measure, children, }: {
|
|
42
|
+
/** Inline under a host: fit. Fullscreen/PiP: every row. */
|
|
43
|
+
active: boolean;
|
|
44
|
+
/** The host's height budget in px, {@link UNSTATED_BUDGET} when it states none. */
|
|
45
|
+
budget: number;
|
|
46
|
+
style?: CSSProperties;
|
|
47
|
+
measure?: FitMeasure;
|
|
48
|
+
children: ReactNode;
|
|
49
|
+
}): import("react").JSX.Element;
|
|
50
|
+
/** One list's rows in the fit: how many it shows, and how its rows are found. */
|
|
51
|
+
export interface InlineRows {
|
|
52
|
+
/** Rows the list shows; null = every row (no fit: fullscreen, no host, or not fitted). */
|
|
53
|
+
cap: number | null;
|
|
54
|
+
/** Rows the fit leaves the list: the step "Show more" reveals in place. */
|
|
55
|
+
step: number;
|
|
56
|
+
/** The element whose children are the rows (a `<tbody>`, an `<ol>`). */
|
|
57
|
+
attachRows: (element: HTMLElement | null) => void;
|
|
58
|
+
/** The paged list's wrapper: the rows when no table inside names its body. */
|
|
59
|
+
attachFallback: (element: HTMLElement | null) => void;
|
|
60
|
+
/** Shows `rows` more in place and keeps them until the search or filter changes. */
|
|
61
|
+
reveal: (rows: number) => void;
|
|
62
|
+
}
|
|
63
|
+
/** A list outside the fit: every row, nothing to register. */
|
|
64
|
+
export declare const NO_FIT_ROWS: InlineRows;
|
|
65
|
+
/**
|
|
66
|
+
* Registers a list with the view's fit. `available` is how many rows it has
|
|
67
|
+
* (loaded); `resetKey` names its search or filter (a new one drops the rows
|
|
68
|
+
* revealed in place and refits the list's placement). `enabled: false` (a
|
|
69
|
+
* table inside a paged list, which fits as one) registers nothing.
|
|
70
|
+
*/
|
|
71
|
+
export declare function useInlineRows(available: number, { resetKey, contentKey, enabled, }?: {
|
|
72
|
+
resetKey?: string;
|
|
73
|
+
/** Changes when the rows' content changes (a page landed): the list refits. */
|
|
74
|
+
contentKey?: unknown;
|
|
75
|
+
enabled?: boolean;
|
|
76
|
+
}): InlineRows;
|
|
77
|
+
//# sourceMappingURL=inline-fit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-fit.d.ts","sourceRoot":"","sources":["../../src/ui/inline-fit.tsx"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAEd,OAAO,EAA4C,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAEpG,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,KAAK,UAAU,GAChB,MAAM,0BAA0B,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,6EAA6E;AAC7E,eAAO,MAAM,eAAe,MAAM,CAAA;AAmDlC;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAqB,EACrB,QAAQ,GACT,EAAE;IACD,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAA;IACf,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,SAAS,CAAA;CACpB,+BAmHA;AA0BD,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACjD,8EAA8E;IAC9E,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACrD,oFAAoF;IACpF,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,UAMzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,EACE,QAAa,EACb,UAAU,EACV,OAAc,GACf,GAAE;IACD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CACb,GACL,UAAU,CAuCZ"}
|