@miragon/pulse-widget-shell 0.24.2 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +134 -127
- package/dist/caller.d.ts +3 -0
- package/dist/caller.d.ts.map +1 -0
- package/dist/caller.js +18 -0
- package/dist/caller.js.map +1 -0
- package/dist/composed-server.d.ts +34 -66
- package/dist/composed-server.d.ts.map +1 -1
- package/dist/composed-server.js +130 -137
- package/dist/composed-server.js.map +1 -1
- package/dist/composition.d.ts +61 -111
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +120 -54
- package/dist/composition.js.map +1 -1
- package/dist/font-assets.d.ts +7 -28
- package/dist/font-assets.d.ts.map +1 -1
- package/dist/font-assets.js +11 -43
- package/dist/font-assets.js.map +1 -1
- package/dist/health.d.ts +9 -45
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +6 -24
- package/dist/health.js.map +1 -1
- package/dist/host-boot.d.ts +8 -38
- package/dist/host-boot.d.ts.map +1 -1
- package/dist/host-boot.js +10 -32
- package/dist/host-boot.js.map +1 -1
- package/dist/http-edge.d.ts +20 -76
- package/dist/http-edge.d.ts.map +1 -1
- package/dist/http-edge.js +17 -60
- package/dist/http-edge.js.map +1 -1
- package/dist/metrics.d.ts +6 -21
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +8 -36
- package/dist/metrics.js.map +1 -1
- package/dist/node-listener.d.ts +7 -39
- package/dist/node-listener.d.ts.map +1 -1
- package/dist/node-listener.js +6 -18
- package/dist/node-listener.js.map +1 -1
- package/dist/oauth-env.d.ts +15 -35
- package/dist/oauth-env.d.ts.map +1 -1
- package/dist/oauth-env.js +122 -62
- package/dist/oauth-env.js.map +1 -1
- package/dist/protocol/bpmn-names.d.ts +19 -0
- package/dist/protocol/bpmn-names.d.ts.map +1 -0
- package/dist/{bpmn-names.js → protocol/bpmn-names.js} +9 -38
- package/dist/protocol/bpmn-names.js.map +1 -0
- package/dist/protocol/served-fonts.d.ts +17 -0
- package/dist/protocol/served-fonts.d.ts.map +1 -0
- package/dist/protocol/served-fonts.js +30 -0
- package/dist/protocol/served-fonts.js.map +1 -0
- package/dist/protocol/tool-result.d.ts +24 -0
- package/dist/protocol/tool-result.d.ts.map +1 -0
- package/dist/protocol/tool-result.js +37 -0
- package/dist/protocol/tool-result.js.map +1 -0
- package/dist/protocol/translator.d.ts +14 -0
- package/dist/protocol/translator.d.ts.map +1 -0
- package/dist/protocol/translator.js +18 -0
- package/dist/protocol/translator.js.map +1 -0
- package/dist/protocol/view-name.d.ts +11 -0
- package/dist/protocol/view-name.d.ts.map +1 -0
- package/dist/protocol/view-name.js +23 -0
- package/dist/protocol/view-name.js.map +1 -0
- package/dist/request-context.d.ts +4 -33
- package/dist/request-context.d.ts.map +1 -1
- package/dist/request-context.js +11 -43
- package/dist/request-context.js.map +1 -1
- package/dist/server.d.ts +19 -39
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +28 -32
- package/dist/server.js.map +1 -1
- package/dist/testing/glossary.d.ts +4 -32
- package/dist/testing/glossary.d.ts.map +1 -1
- package/dist/testing/glossary.js +6 -30
- package/dist/testing/glossary.js.map +1 -1
- package/dist/testing/index.d.ts +1 -38
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -38
- package/dist/testing/index.js.map +1 -1
- package/dist/tool-errors.d.ts +16 -0
- package/dist/tool-errors.d.ts.map +1 -0
- package/dist/tool-errors.js +23 -0
- package/dist/tool-errors.js.map +1 -0
- package/dist/tool-registrar.d.ts +29 -0
- package/dist/tool-registrar.d.ts.map +1 -0
- package/dist/tool-registrar.js +47 -0
- package/dist/tool-registrar.js.map +1 -0
- package/dist/tool-registration.d.ts +35 -0
- package/dist/tool-registration.d.ts.map +1 -0
- package/dist/tool-registration.js +80 -0
- package/dist/tool-registration.js.map +1 -0
- package/dist/tool-schema-trim.d.ts +1 -15
- package/dist/tool-schema-trim.d.ts.map +1 -1
- package/dist/tool-schema-trim.js +1 -16
- package/dist/tool-schema-trim.js.map +1 -1
- package/dist/toolsets.d.ts +10 -56
- package/dist/toolsets.d.ts.map +1 -1
- package/dist/toolsets.js +2 -10
- package/dist/toolsets.js.map +1 -1
- package/dist/ui/action-feedback.d.ts +4 -26
- package/dist/ui/action-feedback.d.ts.map +1 -1
- package/dist/ui/action-feedback.js +5 -19
- package/dist/ui/action-feedback.js.map +1 -1
- package/dist/ui/ask-ai-button.d.ts +6 -43
- package/dist/ui/ask-ai-button.d.ts.map +1 -1
- package/dist/ui/ask-ai-button.js +6 -18
- package/dist/ui/ask-ai-button.js.map +1 -1
- package/dist/ui/ask-ai-prompt.d.ts +6 -82
- package/dist/ui/ask-ai-prompt.d.ts.map +1 -1
- package/dist/ui/ask-ai-prompt.js +10 -77
- package/dist/ui/ask-ai-prompt.js.map +1 -1
- package/dist/ui/bpmn-tokens.d.ts +3 -48
- package/dist/ui/bpmn-tokens.d.ts.map +1 -1
- package/dist/ui/bpmn-tokens.js +3 -46
- package/dist/ui/bpmn-tokens.js.map +1 -1
- package/dist/ui/bpmn-zoom-controls.d.ts +4 -17
- package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -1
- package/dist/ui/bpmn-zoom-controls.js +2 -16
- package/dist/ui/bpmn-zoom-controls.js.map +1 -1
- package/dist/ui/call-observer.d.ts +35 -0
- package/dist/ui/call-observer.d.ts.map +1 -0
- package/dist/ui/call-observer.js +86 -0
- package/dist/ui/call-observer.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +4 -31
- package/dist/ui/confirm-dialog.d.ts.map +1 -1
- package/dist/ui/confirm-dialog.js +4 -27
- package/dist/ui/confirm-dialog.js.map +1 -1
- package/dist/ui/count-tone.d.ts +3 -17
- package/dist/ui/count-tone.d.ts.map +1 -1
- package/dist/ui/count-tone.js +2 -16
- package/dist/ui/count-tone.js.map +1 -1
- package/dist/ui/declare-served-fonts.d.ts +4 -10
- package/dist/ui/declare-served-fonts.d.ts.map +1 -1
- package/dist/ui/declare-served-fonts.js +6 -13
- package/dist/ui/declare-served-fonts.js.map +1 -1
- package/dist/ui/describe-error.d.ts +5 -47
- package/dist/ui/describe-error.d.ts.map +1 -1
- package/dist/ui/describe-error.js +8 -45
- package/dist/ui/describe-error.js.map +1 -1
- package/dist/ui/display-mode-toggle.d.ts +3 -16
- package/dist/ui/display-mode-toggle.d.ts.map +1 -1
- package/dist/ui/display-mode-toggle.js +6 -15
- package/dist/ui/display-mode-toggle.js.map +1 -1
- package/dist/ui/error-labels.d.ts +3 -19
- package/dist/ui/error-labels.d.ts.map +1 -1
- package/dist/ui/error-labels.js +0 -1
- package/dist/ui/error-labels.js.map +1 -1
- package/dist/ui/hand-off-button.d.ts +3 -18
- package/dist/ui/hand-off-button.d.ts.map +1 -1
- package/dist/ui/hand-off-button.js +3 -18
- package/dist/ui/hand-off-button.js.map +1 -1
- package/dist/ui/host-context.d.ts +13 -50
- package/dist/ui/host-context.d.ts.map +1 -1
- package/dist/ui/host-context.js +20 -51
- package/dist/ui/host-context.js.map +1 -1
- package/dist/ui/host-contexts.d.ts +19 -0
- package/dist/ui/host-contexts.d.ts.map +1 -0
- package/dist/ui/host-contexts.js +31 -0
- package/dist/ui/host-contexts.js.map +1 -0
- package/dist/ui/host-document.d.ts +3 -18
- package/dist/ui/host-document.d.ts.map +1 -1
- package/dist/ui/host-document.js +7 -25
- package/dist/ui/host-document.js.map +1 -1
- package/dist/ui/host-widgets.d.ts +21 -4
- package/dist/ui/host-widgets.d.ts.map +1 -1
- package/dist/ui/host-widgets.js +19 -11
- package/dist/ui/host-widgets.js.map +1 -1
- package/dist/ui/id-text.d.ts +1 -17
- package/dist/ui/id-text.d.ts.map +1 -1
- package/dist/ui/id-text.js +5 -26
- package/dist/ui/id-text.js.map +1 -1
- package/dist/ui/index.d.ts +24 -43
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +36 -51
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/inline-budget.d.ts +2 -16
- package/dist/ui/inline-budget.d.ts.map +1 -1
- package/dist/ui/inline-budget.js +1 -8
- package/dist/ui/inline-budget.js.map +1 -1
- package/dist/ui/inline-fit-registry.d.ts +4 -31
- package/dist/ui/inline-fit-registry.d.ts.map +1 -1
- package/dist/ui/inline-fit-registry.js +9 -27
- package/dist/ui/inline-fit-registry.js.map +1 -1
- package/dist/ui/inline-fit-solve.d.ts +5 -27
- package/dist/ui/inline-fit-solve.d.ts.map +1 -1
- package/dist/ui/inline-fit-solve.js +4 -23
- package/dist/ui/inline-fit-solve.js.map +1 -1
- package/dist/ui/inline-fit.d.ts +4 -53
- package/dist/ui/inline-fit.d.ts.map +1 -1
- package/dist/ui/inline-fit.js +16 -62
- package/dist/ui/inline-fit.js.map +1 -1
- package/dist/ui/kit-labels.d.ts +12 -51
- package/dist/ui/kit-labels.d.ts.map +1 -1
- package/dist/ui/kit-labels.js +18 -28
- package/dist/ui/kit-labels.js.map +1 -1
- package/dist/ui/list-table.d.ts +15 -69
- package/dist/ui/list-table.d.ts.map +1 -1
- package/dist/ui/list-table.js +11 -69
- package/dist/ui/list-table.js.map +1 -1
- package/dist/ui/locale-gate.d.ts +11 -0
- package/dist/ui/locale-gate.d.ts.map +1 -0
- package/dist/ui/locale-gate.js +53 -0
- package/dist/ui/locale-gate.js.map +1 -0
- package/dist/ui/mcp-use-host.d.ts +20 -0
- package/dist/ui/mcp-use-host.d.ts.map +1 -0
- package/dist/ui/mcp-use-host.js +162 -0
- package/dist/ui/mcp-use-host.js.map +1 -0
- package/dist/ui/open-in-cockpit-link.d.ts +2 -21
- package/dist/ui/open-in-cockpit-link.d.ts.map +1 -1
- package/dist/ui/open-in-cockpit-link.js +5 -20
- package/dist/ui/open-in-cockpit-link.js.map +1 -1
- package/dist/ui/paged-rows.d.ts +3 -14
- package/dist/ui/paged-rows.d.ts.map +1 -1
- package/dist/ui/paged-rows.js +4 -14
- package/dist/ui/paged-rows.js.map +1 -1
- package/dist/ui/query-fallback.d.ts +2 -16
- package/dist/ui/query-fallback.d.ts.map +1 -1
- package/dist/ui/query-fallback.js +2 -14
- package/dist/ui/query-fallback.js.map +1 -1
- package/dist/ui/shell-host.d.ts +13 -23
- package/dist/ui/shell-host.d.ts.map +1 -1
- package/dist/ui/shell-host.js +1 -46
- package/dist/ui/shell-host.js.map +1 -1
- package/dist/ui/test-view-host.d.ts +51 -0
- package/dist/ui/test-view-host.d.ts.map +1 -0
- package/dist/ui/test-view-host.js +72 -0
- package/dist/ui/test-view-host.js.map +1 -0
- package/dist/ui/tool-query.d.ts +41 -0
- package/dist/ui/tool-query.d.ts.map +1 -0
- package/dist/ui/tool-query.js +128 -0
- package/dist/ui/tool-query.js.map +1 -0
- package/dist/ui/use-apply-theme.d.ts +1 -8
- package/dist/ui/use-apply-theme.d.ts.map +1 -1
- package/dist/ui/use-apply-theme.js +1 -8
- package/dist/ui/use-apply-theme.js.map +1 -1
- package/dist/ui/use-bpmn-viewer.d.ts +39 -73
- package/dist/ui/use-bpmn-viewer.d.ts.map +1 -1
- package/dist/ui/use-bpmn-viewer.js +18 -66
- package/dist/ui/use-bpmn-viewer.js.map +1 -1
- package/dist/ui/use-detail-view.d.ts +4 -26
- package/dist/ui/use-detail-view.d.ts.map +1 -1
- package/dist/ui/use-detail-view.js +7 -28
- package/dist/ui/use-detail-view.js.map +1 -1
- package/dist/ui/use-paged-list-view.d.ts +5 -25
- package/dist/ui/use-paged-list-view.d.ts.map +1 -1
- package/dist/ui/use-paged-list-view.js +5 -14
- package/dist/ui/use-paged-list-view.js.map +1 -1
- package/dist/ui/use-paged-view-data.d.ts +11 -66
- package/dist/ui/use-paged-view-data.d.ts.map +1 -1
- package/dist/ui/use-paged-view-data.js +20 -53
- package/dist/ui/use-paged-view-data.js.map +1 -1
- package/dist/ui/view-call.d.ts +66 -0
- package/dist/ui/view-call.d.ts.map +1 -0
- package/dist/ui/view-call.js +63 -0
- package/dist/ui/view-call.js.map +1 -0
- package/dist/ui/view-data-state.d.ts +1 -31
- package/dist/ui/view-data-state.d.ts.map +1 -1
- package/dist/ui/view-data-state.js +3 -32
- package/dist/ui/view-data-state.js.map +1 -1
- package/dist/ui/view-error-boundary.d.ts +24 -0
- package/dist/ui/view-error-boundary.d.ts.map +1 -0
- package/dist/ui/view-error-boundary.js +33 -0
- package/dist/ui/view-error-boundary.js.map +1 -0
- package/dist/ui/view-frame.d.ts +15 -0
- package/dist/ui/view-frame.d.ts.map +1 -0
- package/dist/ui/view-frame.js +72 -0
- package/dist/ui/view-frame.js.map +1 -0
- package/dist/ui/view-host.d.ts +35 -0
- package/dist/ui/view-host.d.ts.map +1 -0
- package/dist/ui/view-host.js +18 -0
- package/dist/ui/view-host.js.map +1 -0
- package/dist/ui/view-meta.d.ts +6 -29
- package/dist/ui/view-meta.d.ts.map +1 -1
- package/dist/ui/view-meta.js +2 -13
- package/dist/ui/view-meta.js.map +1 -1
- package/dist/ui/view-refresh-state.d.ts +4 -18
- package/dist/ui/view-refresh-state.d.ts.map +1 -1
- package/dist/ui/view-refresh-state.js +1 -7
- package/dist/ui/view-refresh-state.js.map +1 -1
- package/dist/ui/view-root.d.ts +26 -0
- package/dist/ui/view-root.d.ts.map +1 -0
- package/dist/ui/view-root.js +48 -0
- package/dist/ui/view-root.js.map +1 -0
- package/dist/ui/views.d.ts +17 -0
- package/dist/ui/views.d.ts.map +1 -0
- package/dist/ui/views.js +11 -0
- package/dist/ui/views.js.map +1 -0
- package/dist/ui/widget-shell.d.ts +1 -13
- package/dist/ui/widget-shell.d.ts.map +1 -1
- package/dist/ui/widget-shell.js +5 -30
- package/dist/ui/widget-shell.js.map +1 -1
- package/dist/view-bundle.d.ts +15 -0
- package/dist/view-bundle.d.ts.map +1 -0
- package/dist/view-bundle.js +23 -0
- package/dist/view-bundle.js.map +1 -0
- package/dist/view-results.d.ts +12 -23
- package/dist/view-results.d.ts.map +1 -1
- package/dist/view-results.js +14 -11
- package/dist/view-results.js.map +1 -1
- package/dist/widget-tool-bindings.d.ts +19 -48
- package/dist/widget-tool-bindings.d.ts.map +1 -1
- package/dist/widget-tool-bindings.js +21 -49
- package/dist/widget-tool-bindings.js.map +1 -1
- package/package.json +24 -36
- package/dist/adapt-data-widget.d.ts +0 -7
- package/dist/adapt-data-widget.d.ts.map +0 -1
- package/dist/adapt-data-widget.js +0 -7
- package/dist/adapt-data-widget.js.map +0 -1
- package/dist/bpmn-names.d.ts +0 -42
- package/dist/bpmn-names.d.ts.map +0 -1
- package/dist/bpmn-names.js.map +0 -1
- package/dist/bpmn-names.test.d.ts +0 -2
- package/dist/bpmn-names.test.d.ts.map +0 -1
- package/dist/bpmn-names.test.js +0 -143
- package/dist/bpmn-names.test.js.map +0 -1
- package/dist/build-data-feed-result.test.d.ts +0 -2
- package/dist/build-data-feed-result.test.d.ts.map +0 -1
- package/dist/build-data-feed-result.test.js +0 -28
- package/dist/build-data-feed-result.test.js.map +0 -1
- package/dist/build-single-widget-view.test.d.ts +0 -2
- package/dist/build-single-widget-view.test.d.ts.map +0 -1
- package/dist/build-single-widget-view.test.js +0 -136
- package/dist/build-single-widget-view.test.js.map +0 -1
- package/dist/builder-texts.d.ts +0 -27
- package/dist/builder-texts.d.ts.map +0 -1
- package/dist/builder-texts.js +0 -32
- package/dist/builder-texts.js.map +0 -1
- package/dist/builder-texts.test.d.ts +0 -2
- package/dist/builder-texts.test.d.ts.map +0 -1
- package/dist/builder-texts.test.js +0 -54
- package/dist/builder-texts.test.js.map +0 -1
- package/dist/catalogue-sync.d.ts +0 -18
- package/dist/catalogue-sync.d.ts.map +0 -1
- package/dist/catalogue-sync.js +0 -31
- package/dist/catalogue-sync.js.map +0 -1
- package/dist/catalogue-sync.test.d.ts +0 -2
- package/dist/catalogue-sync.test.d.ts.map +0 -1
- package/dist/catalogue-sync.test.js +0 -22
- package/dist/catalogue-sync.test.js.map +0 -1
- package/dist/composed-server.edge.test.d.ts +0 -2
- package/dist/composed-server.edge.test.d.ts.map +0 -1
- package/dist/composed-server.edge.test.js +0 -184
- package/dist/composed-server.edge.test.js.map +0 -1
- package/dist/composed-server.fonts.test.d.ts +0 -2
- package/dist/composed-server.fonts.test.d.ts.map +0 -1
- package/dist/composed-server.fonts.test.js +0 -186
- package/dist/composed-server.fonts.test.js.map +0 -1
- package/dist/composed-server.test.d.ts +0 -2
- package/dist/composed-server.test.d.ts.map +0 -1
- package/dist/composed-server.test.js +0 -332
- package/dist/composed-server.test.js.map +0 -1
- package/dist/composition.test.d.ts +0 -2
- package/dist/composition.test.d.ts.map +0 -1
- package/dist/composition.test.js +0 -275
- package/dist/composition.test.js.map +0 -1
- package/dist/dashboard-store-postgres.d.ts +0 -43
- package/dist/dashboard-store-postgres.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.js +0 -225
- package/dist/dashboard-store-postgres.js.map +0 -1
- package/dist/dashboard-store-postgres.test.d.ts +0 -2
- package/dist/dashboard-store-postgres.test.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.test.js +0 -272
- package/dist/dashboard-store-postgres.test.js.map +0 -1
- package/dist/font-assets.test.d.ts +0 -2
- package/dist/font-assets.test.d.ts.map +0 -1
- package/dist/font-assets.test.js +0 -123
- package/dist/font-assets.test.js.map +0 -1
- package/dist/health.test.d.ts +0 -2
- package/dist/health.test.d.ts.map +0 -1
- package/dist/health.test.js +0 -140
- package/dist/health.test.js.map +0 -1
- package/dist/host-boot.test.d.ts +0 -2
- package/dist/host-boot.test.d.ts.map +0 -1
- package/dist/host-boot.test.js +0 -59
- package/dist/host-boot.test.js.map +0 -1
- package/dist/http-edge.test.d.ts +0 -2
- package/dist/http-edge.test.d.ts.map +0 -1
- package/dist/http-edge.test.js +0 -255
- package/dist/http-edge.test.js.map +0 -1
- package/dist/metrics.test.d.ts +0 -2
- package/dist/metrics.test.d.ts.map +0 -1
- package/dist/metrics.test.js +0 -154
- package/dist/metrics.test.js.map +0 -1
- package/dist/node-listener.test.d.ts +0 -2
- package/dist/node-listener.test.d.ts.map +0 -1
- package/dist/node-listener.test.js +0 -331
- package/dist/node-listener.test.js.map +0 -1
- package/dist/oauth-env.test.d.ts +0 -2
- package/dist/oauth-env.test.d.ts.map +0 -1
- package/dist/oauth-env.test.js +0 -76
- package/dist/oauth-env.test.js.map +0 -1
- package/dist/postgres.d.ts +0 -59
- package/dist/postgres.d.ts.map +0 -1
- package/dist/postgres.js +0 -80
- package/dist/postgres.js.map +0 -1
- package/dist/profile-advisory.d.ts +0 -19
- package/dist/profile-advisory.d.ts.map +0 -1
- package/dist/profile-advisory.js +0 -48
- package/dist/profile-advisory.js.map +0 -1
- package/dist/profile-advisory.test.d.ts +0 -2
- package/dist/profile-advisory.test.d.ts.map +0 -1
- package/dist/profile-advisory.test.js +0 -53
- package/dist/profile-advisory.test.js.map +0 -1
- package/dist/profile-constants.d.ts +0 -37
- package/dist/profile-constants.d.ts.map +0 -1
- package/dist/profile-constants.js +0 -37
- package/dist/profile-constants.js.map +0 -1
- package/dist/profile-migrations.d.ts +0 -71
- package/dist/profile-migrations.d.ts.map +0 -1
- package/dist/profile-migrations.js +0 -88
- package/dist/profile-migrations.js.map +0 -1
- package/dist/profile-migrations.test.d.ts +0 -2
- package/dist/profile-migrations.test.d.ts.map +0 -1
- package/dist/profile-migrations.test.js +0 -200
- package/dist/profile-migrations.test.js.map +0 -1
- package/dist/profile-record.d.ts +0 -60
- package/dist/profile-record.d.ts.map +0 -1
- package/dist/profile-record.js +0 -78
- package/dist/profile-record.js.map +0 -1
- package/dist/profile-slice.d.ts +0 -53
- package/dist/profile-slice.d.ts.map +0 -1
- package/dist/profile-slice.js +0 -73
- package/dist/profile-slice.js.map +0 -1
- package/dist/profile-slice.test.d.ts +0 -2
- package/dist/profile-slice.test.d.ts.map +0 -1
- package/dist/profile-slice.test.js +0 -73
- package/dist/profile-slice.test.js.map +0 -1
- package/dist/profile-store-env.d.ts +0 -34
- package/dist/profile-store-env.d.ts.map +0 -1
- package/dist/profile-store-env.js +0 -44
- package/dist/profile-store-env.js.map +0 -1
- package/dist/profile-store-env.test.d.ts +0 -2
- package/dist/profile-store-env.test.d.ts.map +0 -1
- package/dist/profile-store-env.test.js +0 -69
- package/dist/profile-store-env.test.js.map +0 -1
- package/dist/profile-store-postgres.d.ts +0 -33
- package/dist/profile-store-postgres.d.ts.map +0 -1
- package/dist/profile-store-postgres.js +0 -87
- package/dist/profile-store-postgres.js.map +0 -1
- package/dist/profile-store-raw.test.d.ts +0 -2
- package/dist/profile-store-raw.test.d.ts.map +0 -1
- package/dist/profile-store-raw.test.js +0 -185
- package/dist/profile-store-raw.test.js.map +0 -1
- package/dist/profile-store.d.ts +0 -85
- package/dist/profile-store.d.ts.map +0 -1
- package/dist/profile-store.js +0 -182
- package/dist/profile-store.js.map +0 -1
- package/dist/profile-store.test.d.ts +0 -2
- package/dist/profile-store.test.d.ts.map +0 -1
- package/dist/profile-store.test.js +0 -353
- package/dist/profile-store.test.js.map +0 -1
- package/dist/profile.d.ts +0 -75
- package/dist/profile.d.ts.map +0 -1
- package/dist/profile.js +0 -85
- package/dist/profile.js.map +0 -1
- package/dist/profile.test.d.ts +0 -2
- package/dist/profile.test.d.ts.map +0 -1
- package/dist/profile.test.js +0 -71
- package/dist/profile.test.js.map +0 -1
- package/dist/request-context.test.d.ts +0 -2
- package/dist/request-context.test.d.ts.map +0 -1
- package/dist/request-context.test.js +0 -107
- package/dist/request-context.test.js.map +0 -1
- package/dist/served-fonts.d.ts +0 -38
- package/dist/served-fonts.d.ts.map +0 -1
- package/dist/served-fonts.js +0 -51
- package/dist/served-fonts.js.map +0 -1
- package/dist/served-fonts.test.d.ts +0 -2
- package/dist/served-fonts.test.d.ts.map +0 -1
- package/dist/served-fonts.test.js +0 -30
- package/dist/served-fonts.test.js.map +0 -1
- package/dist/server-locale.d.ts +0 -58
- package/dist/server-locale.d.ts.map +0 -1
- package/dist/server-locale.js +0 -64
- package/dist/server-locale.js.map +0 -1
- package/dist/server-locale.test.d.ts +0 -2
- package/dist/server-locale.test.d.ts.map +0 -1
- package/dist/server-locale.test.js +0 -90
- package/dist/server-locale.test.js.map +0 -1
- package/dist/shell-catalogue.d.ts +0 -12
- package/dist/shell-catalogue.d.ts.map +0 -1
- package/dist/shell-catalogue.js +0 -142
- package/dist/shell-catalogue.js.map +0 -1
- package/dist/shell-settings-contract.d.ts +0 -34
- package/dist/shell-settings-contract.d.ts.map +0 -1
- package/dist/shell-settings-contract.js +0 -21
- package/dist/shell-settings-contract.js.map +0 -1
- package/dist/shell-settings.d.ts +0 -24
- package/dist/shell-settings.d.ts.map +0 -1
- package/dist/shell-settings.js +0 -148
- package/dist/shell-settings.js.map +0 -1
- package/dist/shell-settings.test.d.ts +0 -2
- package/dist/shell-settings.test.d.ts.map +0 -1
- package/dist/shell-settings.test.js +0 -115
- package/dist/shell-settings.test.js.map +0 -1
- package/dist/testing/catalog-text.d.ts +0 -53
- package/dist/testing/catalog-text.d.ts.map +0 -1
- package/dist/testing/catalog-text.js +0 -146
- package/dist/testing/catalog-text.js.map +0 -1
- package/dist/testing/catalog-text.test.d.ts +0 -2
- package/dist/testing/catalog-text.test.d.ts.map +0 -1
- package/dist/testing/catalog-text.test.js +0 -137
- package/dist/testing/catalog-text.test.js.map +0 -1
- package/dist/testing/colors.d.ts +0 -34
- package/dist/testing/colors.d.ts.map +0 -1
- package/dist/testing/colors.js +0 -124
- package/dist/testing/colors.js.map +0 -1
- package/dist/testing/colors.test.d.ts +0 -2
- package/dist/testing/colors.test.d.ts.map +0 -1
- package/dist/testing/colors.test.js +0 -166
- package/dist/testing/colors.test.js.map +0 -1
- package/dist/testing/contrast.d.ts +0 -77
- package/dist/testing/contrast.d.ts.map +0 -1
- package/dist/testing/contrast.js +0 -382
- package/dist/testing/contrast.js.map +0 -1
- package/dist/testing/contrast.test.d.ts +0 -2
- package/dist/testing/contrast.test.d.ts.map +0 -1
- package/dist/testing/contrast.test.js +0 -230
- package/dist/testing/contrast.test.js.map +0 -1
- package/dist/testing/display-texts.d.ts +0 -23
- package/dist/testing/display-texts.d.ts.map +0 -1
- package/dist/testing/display-texts.js +0 -88
- package/dist/testing/display-texts.js.map +0 -1
- package/dist/testing/display-texts.test.d.ts +0 -2
- package/dist/testing/display-texts.test.d.ts.map +0 -1
- package/dist/testing/display-texts.test.js +0 -169
- package/dist/testing/display-texts.test.js.map +0 -1
- package/dist/testing/glossary.test.d.ts +0 -2
- package/dist/testing/glossary.test.d.ts.map +0 -1
- package/dist/testing/glossary.test.js +0 -78
- package/dist/testing/glossary.test.js.map +0 -1
- package/dist/testing/glyphs.d.ts +0 -27
- package/dist/testing/glyphs.d.ts.map +0 -1
- package/dist/testing/glyphs.js +0 -130
- package/dist/testing/glyphs.js.map +0 -1
- package/dist/testing/glyphs.test.d.ts +0 -2
- package/dist/testing/glyphs.test.d.ts.map +0 -1
- package/dist/testing/glyphs.test.js +0 -146
- package/dist/testing/glyphs.test.js.map +0 -1
- package/dist/testing/icon-sizes.d.ts +0 -22
- package/dist/testing/icon-sizes.d.ts.map +0 -1
- package/dist/testing/icon-sizes.js +0 -39
- package/dist/testing/icon-sizes.js.map +0 -1
- package/dist/testing/icon-sizes.test.d.ts +0 -2
- package/dist/testing/icon-sizes.test.d.ts.map +0 -1
- package/dist/testing/icon-sizes.test.js +0 -36
- package/dist/testing/icon-sizes.test.js.map +0 -1
- package/dist/testing/source-scan.d.ts +0 -16
- package/dist/testing/source-scan.d.ts.map +0 -1
- package/dist/testing/source-scan.js +0 -57
- package/dist/testing/source-scan.js.map +0 -1
- package/dist/testing/tone-pairs.d.ts +0 -20
- package/dist/testing/tone-pairs.d.ts.map +0 -1
- package/dist/testing/tone-pairs.js +0 -154
- package/dist/testing/tone-pairs.js.map +0 -1
- package/dist/testing/type-scale.d.ts +0 -40
- package/dist/testing/type-scale.d.ts.map +0 -1
- package/dist/testing/type-scale.js +0 -55
- package/dist/testing/type-scale.js.map +0 -1
- package/dist/testing/type-scale.test.d.ts +0 -2
- package/dist/testing/type-scale.test.d.ts.map +0 -1
- package/dist/testing/type-scale.test.js +0 -61
- package/dist/testing/type-scale.test.js.map +0 -1
- package/dist/tool-schema-trim.test.d.ts +0 -2
- package/dist/tool-schema-trim.test.d.ts.map +0 -1
- package/dist/tool-schema-trim.test.js +0 -53
- package/dist/tool-schema-trim.test.js.map +0 -1
- package/dist/toolsets.test.d.ts +0 -2
- package/dist/toolsets.test.d.ts.map +0 -1
- package/dist/toolsets.test.js +0 -86
- package/dist/toolsets.test.js.map +0 -1
- package/dist/ui/action-feedback.test.d.ts +0 -2
- package/dist/ui/action-feedback.test.d.ts.map +0 -1
- package/dist/ui/action-feedback.test.js +0 -77
- package/dist/ui/action-feedback.test.js.map +0 -1
- package/dist/ui/app-shell-providers.d.ts +0 -18
- package/dist/ui/app-shell-providers.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.js +0 -19
- package/dist/ui/app-shell-providers.js.map +0 -1
- package/dist/ui/app-shell-providers.test.d.ts +0 -2
- package/dist/ui/app-shell-providers.test.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.test.js +0 -249
- package/dist/ui/app-shell-providers.test.js.map +0 -1
- package/dist/ui/ask-ai-button.test.d.ts +0 -2
- package/dist/ui/ask-ai-button.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-button.test.js +0 -103
- package/dist/ui/ask-ai-button.test.js.map +0 -1
- package/dist/ui/ask-ai-prompt.test.d.ts +0 -2
- package/dist/ui/ask-ai-prompt.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-prompt.test.js +0 -240
- package/dist/ui/ask-ai-prompt.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js +0 -174
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts +0 -119
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.js +0 -231
- package/dist/ui/bpmn-heatmap/heat-utils.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.js +0 -59
- package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.d.ts +0 -46
- package/dist/ui/bpmn-heatmap-labels.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.js +0 -16
- package/dist/ui/bpmn-heatmap-labels.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.d.ts +0 -38
- package/dist/ui/bpmn-heatmap-widget.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.js +0 -65
- package/dist/ui/bpmn-heatmap-widget.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.js +0 -173
- package/dist/ui/bpmn-heatmap-widget.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap.d.ts +0 -61
- package/dist/ui/bpmn-heatmap.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap.js +0 -119
- package/dist/ui/bpmn-heatmap.js.map +0 -1
- package/dist/ui/bpmn-tokens.test.d.ts +0 -2
- package/dist/ui/bpmn-tokens.test.d.ts.map +0 -1
- package/dist/ui/bpmn-tokens.test.js +0 -98
- package/dist/ui/bpmn-tokens.test.js.map +0 -1
- package/dist/ui/brand-gates.test.d.ts +0 -2
- package/dist/ui/brand-gates.test.d.ts.map +0 -1
- package/dist/ui/brand-gates.test.js +0 -131
- package/dist/ui/brand-gates.test.js.map +0 -1
- package/dist/ui/brand-mark.d.ts +0 -37
- package/dist/ui/brand-mark.d.ts.map +0 -1
- package/dist/ui/brand-mark.js +0 -33
- package/dist/ui/brand-mark.js.map +0 -1
- package/dist/ui/brand-mark.test.d.ts +0 -2
- package/dist/ui/brand-mark.test.d.ts.map +0 -1
- package/dist/ui/brand-mark.test.js +0 -111
- package/dist/ui/brand-mark.test.js.map +0 -1
- package/dist/ui/confirm-dialog.test.d.ts +0 -2
- package/dist/ui/confirm-dialog.test.d.ts.map +0 -1
- package/dist/ui/confirm-dialog.test.js +0 -115
- package/dist/ui/confirm-dialog.test.js.map +0 -1
- package/dist/ui/count-tone.test.d.ts +0 -2
- package/dist/ui/count-tone.test.d.ts.map +0 -1
- package/dist/ui/count-tone.test.js +0 -27
- package/dist/ui/count-tone.test.js.map +0 -1
- package/dist/ui/create-use-t.d.ts +0 -15
- package/dist/ui/create-use-t.d.ts.map +0 -1
- package/dist/ui/create-use-t.js +0 -17
- package/dist/ui/create-use-t.js.map +0 -1
- package/dist/ui/declare-served-fonts.test.d.ts +0 -2
- package/dist/ui/declare-served-fonts.test.d.ts.map +0 -1
- package/dist/ui/declare-served-fonts.test.js +0 -44
- package/dist/ui/declare-served-fonts.test.js.map +0 -1
- package/dist/ui/describe-error.test.d.ts +0 -2
- package/dist/ui/describe-error.test.d.ts.map +0 -1
- package/dist/ui/describe-error.test.js +0 -274
- package/dist/ui/describe-error.test.js.map +0 -1
- package/dist/ui/format.d.ts +0 -81
- package/dist/ui/format.d.ts.map +0 -1
- package/dist/ui/format.js +0 -189
- package/dist/ui/format.js.map +0 -1
- package/dist/ui/format.test.d.ts +0 -2
- package/dist/ui/format.test.d.ts.map +0 -1
- package/dist/ui/format.test.js +0 -181
- package/dist/ui/format.test.js.map +0 -1
- package/dist/ui/generic-widgets.d.ts +0 -15
- package/dist/ui/generic-widgets.d.ts.map +0 -1
- package/dist/ui/generic-widgets.js +0 -122
- package/dist/ui/generic-widgets.js.map +0 -1
- package/dist/ui/generic-widgets.test.d.ts +0 -2
- package/dist/ui/generic-widgets.test.d.ts.map +0 -1
- package/dist/ui/generic-widgets.test.js +0 -139
- package/dist/ui/generic-widgets.test.js.map +0 -1
- package/dist/ui/hand-off-button.test.d.ts +0 -2
- package/dist/ui/hand-off-button.test.d.ts.map +0 -1
- package/dist/ui/hand-off-button.test.js +0 -78
- package/dist/ui/hand-off-button.test.js.map +0 -1
- package/dist/ui/host-context.test.d.ts +0 -2
- package/dist/ui/host-context.test.d.ts.map +0 -1
- package/dist/ui/host-context.test.js +0 -160
- package/dist/ui/host-context.test.js.map +0 -1
- package/dist/ui/host-document.test.d.ts +0 -2
- package/dist/ui/host-document.test.d.ts.map +0 -1
- package/dist/ui/host-document.test.js +0 -112
- package/dist/ui/host-document.test.js.map +0 -1
- package/dist/ui/humanize-key.d.ts +0 -11
- package/dist/ui/humanize-key.d.ts.map +0 -1
- package/dist/ui/humanize-key.js +0 -26
- package/dist/ui/humanize-key.js.map +0 -1
- package/dist/ui/humanize-key.test.d.ts +0 -2
- package/dist/ui/humanize-key.test.d.ts.map +0 -1
- package/dist/ui/humanize-key.test.js +0 -42
- package/dist/ui/humanize-key.test.js.map +0 -1
- package/dist/ui/icon.d.ts +0 -37
- package/dist/ui/icon.d.ts.map +0 -1
- package/dist/ui/icon.js +0 -32
- package/dist/ui/icon.js.map +0 -1
- package/dist/ui/id-breaks.d.ts +0 -17
- package/dist/ui/id-breaks.d.ts.map +0 -1
- package/dist/ui/id-breaks.js +0 -36
- package/dist/ui/id-breaks.js.map +0 -1
- package/dist/ui/id-breaks.test.d.ts +0 -2
- package/dist/ui/id-breaks.test.d.ts.map +0 -1
- package/dist/ui/id-breaks.test.js +0 -37
- package/dist/ui/id-breaks.test.js.map +0 -1
- package/dist/ui/id-text.test.d.ts +0 -2
- package/dist/ui/id-text.test.d.ts.map +0 -1
- package/dist/ui/id-text.test.js +0 -122
- package/dist/ui/id-text.test.js.map +0 -1
- package/dist/ui/index.test.d.ts +0 -2
- package/dist/ui/index.test.d.ts.map +0 -1
- package/dist/ui/index.test.js +0 -34
- package/dist/ui/index.test.js.map +0 -1
- package/dist/ui/inline-fit-solve.test.d.ts +0 -2
- package/dist/ui/inline-fit-solve.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-solve.test.js +0 -108
- package/dist/ui/inline-fit-solve.test.js.map +0 -1
- package/dist/ui/inline-fit-time.test.d.ts +0 -2
- package/dist/ui/inline-fit-time.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-time.test.js +0 -110
- package/dist/ui/inline-fit-time.test.js.map +0 -1
- package/dist/ui/inline-fit.test-support.d.ts +0 -26
- package/dist/ui/inline-fit.test-support.d.ts.map +0 -1
- package/dist/ui/inline-fit.test-support.js +0 -34
- package/dist/ui/inline-fit.test-support.js.map +0 -1
- package/dist/ui/inline-fit.test.d.ts +0 -2
- package/dist/ui/inline-fit.test.d.ts.map +0 -1
- package/dist/ui/inline-fit.test.js +0 -159
- package/dist/ui/inline-fit.test.js.map +0 -1
- package/dist/ui/kit-labels.test.d.ts +0 -2
- package/dist/ui/kit-labels.test.d.ts.map +0 -1
- package/dist/ui/kit-labels.test.js +0 -98
- package/dist/ui/kit-labels.test.js.map +0 -1
- package/dist/ui/kit-type-roles.test.d.ts +0 -2
- package/dist/ui/kit-type-roles.test.d.ts.map +0 -1
- package/dist/ui/kit-type-roles.test.js +0 -122
- package/dist/ui/kit-type-roles.test.js.map +0 -1
- package/dist/ui/komet-svg.d.ts +0 -15
- package/dist/ui/komet-svg.d.ts.map +0 -1
- package/dist/ui/komet-svg.js +0 -21
- package/dist/ui/komet-svg.js.map +0 -1
- package/dist/ui/list-table.test.d.ts +0 -2
- package/dist/ui/list-table.test.d.ts.map +0 -1
- package/dist/ui/list-table.test.js +0 -169
- package/dist/ui/list-table.test.js.map +0 -1
- package/dist/ui/localized-app-view.d.ts +0 -40
- package/dist/ui/localized-app-view.d.ts.map +0 -1
- package/dist/ui/localized-app-view.js +0 -71
- package/dist/ui/localized-app-view.js.map +0 -1
- package/dist/ui/log-text.d.ts +0 -24
- package/dist/ui/log-text.d.ts.map +0 -1
- package/dist/ui/log-text.js +0 -31
- package/dist/ui/log-text.js.map +0 -1
- package/dist/ui/menu-item.d.ts +0 -12
- package/dist/ui/menu-item.d.ts.map +0 -1
- package/dist/ui/menu-item.js +0 -13
- package/dist/ui/menu-item.js.map +0 -1
- package/dist/ui/named-id.d.ts +0 -23
- package/dist/ui/named-id.d.ts.map +0 -1
- package/dist/ui/named-id.js +0 -21
- package/dist/ui/named-id.js.map +0 -1
- package/dist/ui/named-id.test.d.ts +0 -2
- package/dist/ui/named-id.test.d.ts.map +0 -1
- package/dist/ui/named-id.test.js +0 -57
- package/dist/ui/named-id.test.js.map +0 -1
- package/dist/ui/native-select.d.ts +0 -17
- package/dist/ui/native-select.d.ts.map +0 -1
- package/dist/ui/native-select.js +0 -20
- package/dist/ui/native-select.js.map +0 -1
- package/dist/ui/navigation-focus.d.ts +0 -20
- package/dist/ui/navigation-focus.d.ts.map +0 -1
- package/dist/ui/navigation-focus.js +0 -25
- package/dist/ui/navigation-focus.js.map +0 -1
- package/dist/ui/navigation-focus.test.d.ts +0 -2
- package/dist/ui/navigation-focus.test.d.ts.map +0 -1
- package/dist/ui/navigation-focus.test.js +0 -28
- package/dist/ui/navigation-focus.test.js.map +0 -1
- package/dist/ui/paged-list-footer.test.d.ts +0 -2
- package/dist/ui/paged-list-footer.test.d.ts.map +0 -1
- package/dist/ui/paged-list-footer.test.js +0 -128
- package/dist/ui/paged-list-footer.test.js.map +0 -1
- package/dist/ui/parse-tool-result.test.d.ts +0 -2
- package/dist/ui/parse-tool-result.test.d.ts.map +0 -1
- package/dist/ui/parse-tool-result.test.js +0 -88
- package/dist/ui/parse-tool-result.test.js.map +0 -1
- package/dist/ui/profile-gate.d.ts +0 -37
- package/dist/ui/profile-gate.d.ts.map +0 -1
- package/dist/ui/profile-gate.js +0 -126
- package/dist/ui/profile-gate.js.map +0 -1
- package/dist/ui/profile-gate.test.d.ts +0 -2
- package/dist/ui/profile-gate.test.d.ts.map +0 -1
- package/dist/ui/profile-gate.test.js +0 -246
- package/dist/ui/profile-gate.test.js.map +0 -1
- package/dist/ui/query-fallback.test.d.ts +0 -2
- package/dist/ui/query-fallback.test.d.ts.map +0 -1
- package/dist/ui/query-fallback.test.js +0 -49
- package/dist/ui/query-fallback.test.js.map +0 -1
- package/dist/ui/row-card.d.ts +0 -13
- package/dist/ui/row-card.d.ts.map +0 -1
- package/dist/ui/row-card.js +0 -11
- package/dist/ui/row-card.js.map +0 -1
- package/dist/ui/section.d.ts +0 -18
- package/dist/ui/section.d.ts.map +0 -1
- package/dist/ui/section.js +0 -14
- package/dist/ui/section.js.map +0 -1
- package/dist/ui/segmented-control.d.ts +0 -25
- package/dist/ui/segmented-control.d.ts.map +0 -1
- package/dist/ui/segmented-control.js +0 -22
- package/dist/ui/segmented-control.js.map +0 -1
- package/dist/ui/settings-labels.d.ts +0 -33
- package/dist/ui/settings-labels.d.ts.map +0 -1
- package/dist/ui/settings-labels.js +0 -50
- package/dist/ui/settings-labels.js.map +0 -1
- package/dist/ui/settings-layout.d.ts +0 -29
- package/dist/ui/settings-layout.d.ts.map +0 -1
- package/dist/ui/settings-layout.js +0 -49
- package/dist/ui/settings-layout.js.map +0 -1
- package/dist/ui/settings-layout.test.d.ts +0 -2
- package/dist/ui/settings-layout.test.d.ts.map +0 -1
- package/dist/ui/settings-layout.test.js +0 -73
- package/dist/ui/settings-layout.test.js.map +0 -1
- package/dist/ui/settings.d.ts +0 -47
- package/dist/ui/settings.d.ts.map +0 -1
- package/dist/ui/settings.js +0 -48
- package/dist/ui/settings.js.map +0 -1
- package/dist/ui/settings.test.d.ts +0 -2
- package/dist/ui/settings.test.d.ts.map +0 -1
- package/dist/ui/settings.test.js +0 -38
- package/dist/ui/settings.test.js.map +0 -1
- package/dist/ui/shell-settings.d.ts +0 -31
- package/dist/ui/shell-settings.d.ts.map +0 -1
- package/dist/ui/shell-settings.js +0 -97
- package/dist/ui/shell-settings.js.map +0 -1
- package/dist/ui/shell-settings.test.d.ts +0 -2
- package/dist/ui/shell-settings.test.d.ts.map +0 -1
- package/dist/ui/shell-settings.test.js +0 -108
- package/dist/ui/shell-settings.test.js.map +0 -1
- package/dist/ui/shell-widgets.d.ts +0 -14
- package/dist/ui/shell-widgets.d.ts.map +0 -1
- package/dist/ui/shell-widgets.js +0 -18
- package/dist/ui/shell-widgets.js.map +0 -1
- package/dist/ui/table.d.ts +0 -61
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js +0 -43
- package/dist/ui/table.js.map +0 -1
- package/dist/ui/tone-components.test.d.ts +0 -2
- package/dist/ui/tone-components.test.d.ts.map +0 -1
- package/dist/ui/tone-components.test.js +0 -145
- package/dist/ui/tone-components.test.js.map +0 -1
- package/dist/ui/tone-contrast.test.d.ts +0 -2
- package/dist/ui/tone-contrast.test.d.ts.map +0 -1
- package/dist/ui/tone-contrast.test.js +0 -66
- package/dist/ui/tone-contrast.test.js.map +0 -1
- package/dist/ui/toolkit-overlap.test.d.ts +0 -2
- package/dist/ui/toolkit-overlap.test.d.ts.map +0 -1
- package/dist/ui/toolkit-overlap.test.js +0 -86
- package/dist/ui/toolkit-overlap.test.js.map +0 -1
- package/dist/ui/use-apply-theme.test.d.ts +0 -2
- package/dist/ui/use-apply-theme.test.d.ts.map +0 -1
- package/dist/ui/use-apply-theme.test.js +0 -102
- package/dist/ui/use-apply-theme.test.js.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.d.ts +0 -2
- package/dist/ui/use-bpmn-viewer.test.d.ts.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.js +0 -239
- package/dist/ui/use-bpmn-viewer.test.js.map +0 -1
- package/dist/ui/use-detail-view.test.d.ts +0 -2
- package/dist/ui/use-detail-view.test.d.ts.map +0 -1
- package/dist/ui/use-detail-view.test.js +0 -178
- package/dist/ui/use-detail-view.test.js.map +0 -1
- package/dist/ui/use-paged-list-view.test.d.ts +0 -2
- package/dist/ui/use-paged-list-view.test.d.ts.map +0 -1
- package/dist/ui/use-paged-list-view.test.js +0 -136
- package/dist/ui/use-paged-list-view.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.js +0 -144
- package/dist/ui/use-paged-view-data.seeded.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.test.js +0 -330
- package/dist/ui/use-paged-view-data.test.js.map +0 -1
- package/dist/ui/use-reset-on-change.d.ts +0 -22
- package/dist/ui/use-reset-on-change.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.js +0 -29
- package/dist/ui/use-reset-on-change.js.map +0 -1
- package/dist/ui/use-reset-on-change.test.d.ts +0 -2
- package/dist/ui/use-reset-on-change.test.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.test.js +0 -61
- package/dist/ui/use-reset-on-change.test.js.map +0 -1
- package/dist/ui/use-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-view-data.seeded.test.js +0 -168
- package/dist/ui/use-view-data.seeded.test.js.map +0 -1
- package/dist/ui/view-data-state.test.d.ts +0 -2
- package/dist/ui/view-data-state.test.d.ts.map +0 -1
- package/dist/ui/view-data-state.test.js +0 -62
- package/dist/ui/view-data-state.test.js.map +0 -1
- package/dist/ui/view-meta.test.d.ts +0 -2
- package/dist/ui/view-meta.test.d.ts.map +0 -1
- package/dist/ui/view-meta.test.js +0 -92
- package/dist/ui/view-meta.test.js.map +0 -1
- package/dist/ui/widget-shell.test.d.ts +0 -2
- package/dist/ui/widget-shell.test.d.ts.map +0 -1
- package/dist/ui/widget-shell.test.js +0 -41
- package/dist/ui/widget-shell.test.js.map +0 -1
- package/dist/widget-meta-defaults.d.ts +0 -48
- package/dist/widget-meta-defaults.d.ts.map +0 -1
- package/dist/widget-meta-defaults.js +0 -80
- package/dist/widget-meta-defaults.js.map +0 -1
- package/dist/widget-meta-defaults.test.d.ts +0 -2
- package/dist/widget-meta-defaults.test.d.ts.map +0 -1
- package/dist/widget-meta-defaults.test.js +0 -196
- package/dist/widget-meta-defaults.test.js.map +0 -1
- package/dist/widget-tool-bindings.test.d.ts +0 -2
- package/dist/widget-tool-bindings.test.d.ts.map +0 -1
- package/dist/widget-tool-bindings.test.js +0 -83
- package/dist/widget-tool-bindings.test.js.map +0 -1
- package/dist/with-tool-errors.test.d.ts +0 -2
- package/dist/with-tool-errors.test.d.ts.map +0 -1
- package/dist/with-tool-errors.test.js +0 -38
- package/dist/with-tool-errors.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"named-id.test.js","sourceRoot":"","sources":["../../src/ui/named-id.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ComponentProps } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* The form control look the kit's native inputs share (CI §8 "Eingabefelder"):
|
|
4
|
-
* the `--input` edge (`--cd-kontur`, 3:1 against the card — the decorative
|
|
5
|
-
* `--border` reaches 1.26:1), the danger edge on an entry marked
|
|
6
|
-
* `aria-invalid` (with the field's error line, `SettingsField`), 14 px (the
|
|
7
|
-
* dense-controls step), the md radius and the toolkit's opaque focus ring.
|
|
8
|
-
*/
|
|
9
|
-
export declare const FIELD_CONTROL: string;
|
|
10
|
-
/**
|
|
11
|
-
* Styled native `<select>` on the role tokens — the one canonical class
|
|
12
|
-
* string for dropdowns in widgets (user-profile and the task form each
|
|
13
|
-
* hand-rolled their own, with diverging border tokens). Native on purpose:
|
|
14
|
-
* widget iframes keep the host's popover positioning out of the picture.
|
|
15
|
-
*/
|
|
16
|
-
export declare function NativeSelect({ className, ...props }: ComponentProps<"select">): import("react").JSX.Element;
|
|
17
|
-
//# sourceMappingURL=native-select.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-select.d.ts","sourceRoot":"","sources":["../../src/ui/native-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,QAGzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,+BAE7E"}
|
package/dist/ui/native-select.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cn, FOCUS_RING } from "@miragon/mcp-toolkit-ui";
|
|
3
|
-
/**
|
|
4
|
-
* The form control look the kit's native inputs share (CI §8 "Eingabefelder"):
|
|
5
|
-
* the `--input` edge (`--cd-kontur`, 3:1 against the card — the decorative
|
|
6
|
-
* `--border` reaches 1.26:1), the danger edge on an entry marked
|
|
7
|
-
* `aria-invalid` (with the field's error line, `SettingsField`), 14 px (the
|
|
8
|
-
* dense-controls step), the md radius and the toolkit's opaque focus ring.
|
|
9
|
-
*/
|
|
10
|
-
export const FIELD_CONTROL = cn("border-input bg-background text-foreground text-dense aria-invalid:border-danger h-9 rounded-md border px-2 disabled:cursor-not-allowed disabled:opacity-50", FOCUS_RING);
|
|
11
|
-
/**
|
|
12
|
-
* Styled native `<select>` on the role tokens — the one canonical class
|
|
13
|
-
* string for dropdowns in widgets (user-profile and the task form each
|
|
14
|
-
* hand-rolled their own, with diverging border tokens). Native on purpose:
|
|
15
|
-
* widget iframes keep the host's popover positioning out of the picture.
|
|
16
|
-
*/
|
|
17
|
-
export function NativeSelect({ className, ...props }) {
|
|
18
|
-
return _jsx("select", { ...props, className: cn(FIELD_CONTROL, className) });
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=native-select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-select.js","sourceRoot":"","sources":["../../src/ui/native-select.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAC7B,6JAA6J,EAC7J,UAAU,CACX,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA4B;IAC5E,OAAO,oBAAY,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,GAAI,CAAA;AACvE,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* The frame of a client-side router's views (#344 N107): after a navigation
|
|
4
|
-
* — a new `viewKey` — focus moves to the new view (the frame itself, so the
|
|
5
|
-
* next Tab starts there and a screen reader reads on from it), and its
|
|
6
|
-
* `label` is announced in a polite live region. Without it a drill or a
|
|
7
|
-
* breadcrumb pop dropped focus on the document body and said nothing.
|
|
8
|
-
*
|
|
9
|
-
* The first render takes no focus (the view only opened); every later key
|
|
10
|
-
* does. Render the same frame for every view of the router, so it persists
|
|
11
|
-
* across them.
|
|
12
|
-
*/
|
|
13
|
-
export declare function NavigationFocus({ viewKey, label, children, }: {
|
|
14
|
-
/** Identifies the view on screen; a change is a navigation. */
|
|
15
|
-
viewKey: string;
|
|
16
|
-
/** The view's name, announced after a navigation ("Incidents", "Order 4711"). */
|
|
17
|
-
label: string;
|
|
18
|
-
children: ReactNode;
|
|
19
|
-
}): import("react").JSX.Element;
|
|
20
|
-
//# sourceMappingURL=navigation-focus.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-focus.d.ts","sourceRoot":"","sources":["../../src/ui/navigation-focus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE;IACD,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB,+BAgBA"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef } from "react";
|
|
3
|
-
/**
|
|
4
|
-
* The frame of a client-side router's views (#344 N107): after a navigation
|
|
5
|
-
* — a new `viewKey` — focus moves to the new view (the frame itself, so the
|
|
6
|
-
* next Tab starts there and a screen reader reads on from it), and its
|
|
7
|
-
* `label` is announced in a polite live region. Without it a drill or a
|
|
8
|
-
* breadcrumb pop dropped focus on the document body and said nothing.
|
|
9
|
-
*
|
|
10
|
-
* The first render takes no focus (the view only opened); every later key
|
|
11
|
-
* does. Render the same frame for every view of the router, so it persists
|
|
12
|
-
* across them.
|
|
13
|
-
*/
|
|
14
|
-
export function NavigationFocus({ viewKey, label, children, }) {
|
|
15
|
-
const frame = useRef(null);
|
|
16
|
-
const shown = useRef(viewKey);
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
if (shown.current === viewKey)
|
|
19
|
-
return;
|
|
20
|
-
shown.current = viewKey;
|
|
21
|
-
frame.current?.focus();
|
|
22
|
-
}, [viewKey]);
|
|
23
|
-
return (_jsxs("div", { ref: frame, tabIndex: -1, className: "min-w-0 outline-none", children: [_jsx("span", { role: "status", "aria-live": "polite", className: "sr-only", children: label }), children] }));
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=navigation-focus.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-focus.js","sourceRoot":"","sources":["../../src/ui/navigation-focus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAA;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,QAAQ,GAOT;IACC,MAAM,KAAK,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;YAAE,OAAM;QACrC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;QACvB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,OAAO,CACL,eAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAC,sBAAsB,aAC7D,eAAM,IAAI,EAAC,QAAQ,eAAW,QAAQ,EAAC,SAAS,EAAC,SAAS,YACvD,KAAK,GACD,EACN,QAAQ,IACL,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-focus.test.d.ts","sourceRoot":"","sources":["../../src/ui/navigation-focus.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// @vitest-environment happy-dom
|
|
3
|
-
import { afterEach, describe, expect, it } from "vitest";
|
|
4
|
-
import { cleanup, render, screen } from "@testing-library/react";
|
|
5
|
-
import { NavigationFocus } from "./navigation-focus.js";
|
|
6
|
-
/** #344 N107: a client-side navigation moves focus to the new view and names it. */
|
|
7
|
-
afterEach(cleanup);
|
|
8
|
-
const frameOf = () => screen.getByText("view body").parentElement;
|
|
9
|
-
describe("NavigationFocus", () => {
|
|
10
|
-
it("takes no focus when the view only opened", () => {
|
|
11
|
-
render(_jsx(NavigationFocus, { viewKey: "overview", label: "Overview", children: _jsx("p", { children: "view body" }) }));
|
|
12
|
-
expect(document.activeElement).toBe(document.body);
|
|
13
|
-
expect(frameOf().getAttribute("tabindex")).toBe("-1");
|
|
14
|
-
});
|
|
15
|
-
it("moves focus to the view after a navigation and says where you are", () => {
|
|
16
|
-
const { rerender } = render(_jsx(NavigationFocus, { viewKey: "overview", label: "Overview", children: _jsx("p", { children: "view body" }) }));
|
|
17
|
-
rerender(_jsx(NavigationFocus, { viewKey: "incidents", label: "Incidents", children: _jsx("p", { children: "view body" }) }));
|
|
18
|
-
expect(document.activeElement).toBe(frameOf());
|
|
19
|
-
expect(screen.getByRole("status").textContent).toBe("Incidents");
|
|
20
|
-
});
|
|
21
|
-
it("leaves focus where it is while the same view re-renders", () => {
|
|
22
|
-
const { rerender } = render(_jsxs(NavigationFocus, { viewKey: "overview", label: "Overview", children: [_jsx("button", { type: "button", children: "act" }), _jsx("p", { children: "view body" })] }));
|
|
23
|
-
screen.getByRole("button", { name: "act" }).focus();
|
|
24
|
-
rerender(_jsxs(NavigationFocus, { viewKey: "overview", label: "Overview", children: [_jsx("button", { type: "button", children: "act" }), _jsx("p", { children: "view body" })] }));
|
|
25
|
-
expect(document.activeElement).toBe(screen.getByRole("button", { name: "act" }));
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=navigation-focus.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-focus.test.js","sourceRoot":"","sources":["../../src/ui/navigation-focus.test.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,oFAAoF;AACpF,SAAS,CAAC,OAAO,CAAC,CAAA;AAElB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,aAA4B,CAAA;AAEhF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CACJ,KAAC,eAAe,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,YAClD,oCAAgB,GACA,CACnB,CAAA;QACD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CACzB,KAAC,eAAe,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,YAClD,oCAAgB,GACA,CACnB,CAAA;QACD,QAAQ,CACN,KAAC,eAAe,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,WAAW,YACpD,oCAAgB,GACA,CACnB,CAAA;QACD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CACzB,MAAC,eAAe,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,aAClD,iBAAQ,IAAI,EAAC,QAAQ,oBAAa,EAClC,oCAAgB,IACA,CACnB,CAAA;QACD,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;QACnD,QAAQ,CACN,MAAC,eAAe,IAAC,OAAO,EAAC,UAAU,EAAC,KAAK,EAAC,UAAU,aAClD,iBAAQ,IAAI,EAAC,QAAQ,oBAAa,EAClC,oCAAgB,IACA,CACnB,CAAA;QACD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paged-list-footer.test.d.ts","sourceRoot":"","sources":["../../src/ui/paged-list-footer.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// @vitest-environment happy-dom
|
|
3
|
-
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
4
|
-
import { cleanup, fireEvent, render, screen } from "@testing-library/react";
|
|
5
|
-
import { LocaleProvider, PagedListFooter } from "@miragon/mcp-toolkit-ui";
|
|
6
|
-
import { NO_FIT_ROWS } from "./inline-fit.js";
|
|
7
|
-
import { PagedRows } from "./paged-rows.js";
|
|
8
|
-
afterEach(() => cleanup());
|
|
9
|
-
/** A settled page 0 of the current filter: two of three rows, nothing in flight. */
|
|
10
|
-
function paged(overrides = {}) {
|
|
11
|
-
return {
|
|
12
|
-
items: ["a", "b"],
|
|
13
|
-
firstPage: {},
|
|
14
|
-
total: 3,
|
|
15
|
-
stale: false,
|
|
16
|
-
hasMore: true,
|
|
17
|
-
loadMore: vi.fn(),
|
|
18
|
-
loading: false,
|
|
19
|
-
refreshing: false,
|
|
20
|
-
loadingMore: false,
|
|
21
|
-
error: null,
|
|
22
|
-
retry: vi.fn(),
|
|
23
|
-
loadMoreError: null,
|
|
24
|
-
fit: NO_FIT_ROWS,
|
|
25
|
-
footerLabels: undefined,
|
|
26
|
-
...overrides,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
/** The count line's wrapper: visually hidden while there is nothing to show. */
|
|
30
|
-
const footerOf = (status) => status.closest('[data-slot="list-footer"]');
|
|
31
|
-
function renderList(state) {
|
|
32
|
-
render(_jsxs(_Fragment, { children: [_jsx(PagedRows, { paged: state, children: _jsx("p", { children: "rows" }) }), _jsx(PagedListFooter, { paged: state, noun: "items" })] }));
|
|
33
|
-
return { rows: screen.getByText("rows").parentElement, status: screen.getByRole("status") };
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* The kit's PagedRows over the toolkit's PagedListFooter (2.8, which took the
|
|
37
|
-
* widget-shell fork's behaviour; its own suite is `PagedListFooter.test.tsx`
|
|
38
|
-
* in @miragon/mcp-toolkit-ui). `usePagedViewData`'s result passes as is.
|
|
39
|
-
*
|
|
40
|
-
* While a new search or filter is in flight (or has failed) the list keeps the
|
|
41
|
-
* previous result on screen (`stale`). A sighted operator must SEE that —
|
|
42
|
-
* a marked list (a bar in the state's tone, info in flight, warning once it
|
|
43
|
-
* failed; never a dimming that drops muted text under AA), a visible
|
|
44
|
-
* "Updating…" — and no "Showing X of Y" may pair the previous count with the
|
|
45
|
-
* new search (#341 review). The list has ONE live region: the footer's count
|
|
46
|
-
* line.
|
|
47
|
-
*/
|
|
48
|
-
describe("PagedListFooter + PagedRows — the stale and in-flight states", () => {
|
|
49
|
-
it("a settled page: the count in the one live region, rows not marked", () => {
|
|
50
|
-
const { rows, status } = renderList(paged());
|
|
51
|
-
expect(screen.getAllByRole("status")).toHaveLength(1);
|
|
52
|
-
expect(status.textContent).toBe("Showing 2 of 3 items");
|
|
53
|
-
expect(footerOf(status).className).not.toContain("sr-only");
|
|
54
|
-
expect(rows.getAttribute("aria-busy")).toBe("false");
|
|
55
|
-
expect(rows.hasAttribute("data-stale")).toBe(false);
|
|
56
|
-
expect(rows.querySelector("[data-tone]")).toBeNull();
|
|
57
|
-
expect(rows.className).not.toContain("opacity");
|
|
58
|
-
});
|
|
59
|
-
it("a new search in flight: a VISIBLE Updating… line, busy rows marked info, no count", () => {
|
|
60
|
-
const { rows, status } = renderList(paged({ stale: true, refreshing: true, hasMore: false }));
|
|
61
|
-
expect(footerOf(status).className).not.toContain("sr-only");
|
|
62
|
-
expect(status.textContent).toBe("Updating…");
|
|
63
|
-
expect(rows.getAttribute("aria-busy")).toBe("true");
|
|
64
|
-
expect(rows.getAttribute("data-stale")).toBe("true");
|
|
65
|
-
expect(rows.querySelector("[data-tone]")?.getAttribute("data-tone")).toBe("info");
|
|
66
|
-
expect(rows.className).not.toContain("opacity");
|
|
67
|
-
expect(screen.queryByText(/Showing/)).toBeNull();
|
|
68
|
-
});
|
|
69
|
-
it("a failed search: the rows stay marked (warning), the failure says so, still no count", () => {
|
|
70
|
-
const state = paged({ stale: true, hasMore: false, error: new Error("engine down") });
|
|
71
|
-
const { rows, status } = renderList(state);
|
|
72
|
-
const alert = screen.getByRole("alert");
|
|
73
|
-
expect(alert.textContent).toContain("Couldn't update the list");
|
|
74
|
-
expect(alert.textContent).toContain("You're seeing the previous result.");
|
|
75
|
-
// The raw reason sits under "Details", out of the sentence.
|
|
76
|
-
expect(alert.querySelector("details pre")?.textContent).toBe("engine down");
|
|
77
|
-
expect(alert.getAttribute("data-tone")).toBe("warning");
|
|
78
|
-
expect(rows.getAttribute("data-stale")).toBe("true");
|
|
79
|
-
expect(rows.querySelector("[data-tone]")?.getAttribute("data-tone")).toBe("warning");
|
|
80
|
-
expect(footerOf(status).className).toBe("sr-only");
|
|
81
|
-
expect(status.textContent).toBe("");
|
|
82
|
-
expect(screen.queryByText(/Showing/)).toBeNull();
|
|
83
|
-
fireEvent.click(screen.getByRole("button", { name: "Try again" }));
|
|
84
|
-
expect(state.retry).toHaveBeenCalledTimes(1);
|
|
85
|
-
expect(state.loadMore).not.toHaveBeenCalled();
|
|
86
|
-
});
|
|
87
|
-
it("a same-filter refetch: Updating… is visible, the count of THIS filter stays", () => {
|
|
88
|
-
const { rows, status } = renderList(paged({ refreshing: true }));
|
|
89
|
-
expect(status.textContent).toBe("Showing 2 of 3 itemsUpdating…");
|
|
90
|
-
expect(footerOf(status).className).not.toContain("sr-only");
|
|
91
|
-
expect(rows.getAttribute("aria-busy")).toBe("true");
|
|
92
|
-
expect(rows.hasAttribute("data-stale")).toBe(false);
|
|
93
|
-
});
|
|
94
|
-
it("a search that finds nothing: the live region stays and says so", () => {
|
|
95
|
-
const { status } = renderList(paged({ items: [], total: 0, hasMore: false }));
|
|
96
|
-
expect(status.textContent).toBe("No entries");
|
|
97
|
-
expect(footerOf(status).className).toBe("sr-only");
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
/**
|
|
101
|
-
* The footer's strings come from the toolkit's catalog: without a caller's
|
|
102
|
-
* texts they follow the active locale like the rest of the kit (#339) — the
|
|
103
|
-
* two failure lines included.
|
|
104
|
-
*/
|
|
105
|
-
describe("PagedListFooter — the catalog follows the active locale", () => {
|
|
106
|
-
function renderGerman(state) {
|
|
107
|
-
render(_jsx(LocaleProvider, { locale: "de", children: _jsx(PagedListFooter, { paged: state, noun: "Eintr\u00E4ge" }) }));
|
|
108
|
-
}
|
|
109
|
-
it("in flight: Wird aktualisiert…", () => {
|
|
110
|
-
renderGerman(paged({ stale: true, refreshing: true, hasMore: false }));
|
|
111
|
-
expect(screen.getByRole("status").textContent).toBe("Wird aktualisiert…");
|
|
112
|
-
});
|
|
113
|
-
it("a failed page 0 and a failed load-more, each with the German retry", () => {
|
|
114
|
-
renderGerman(paged({
|
|
115
|
-
stale: true,
|
|
116
|
-
error: new Error("weg"),
|
|
117
|
-
loadMoreError: new Error("Zeitüberschreitung"),
|
|
118
|
-
}));
|
|
119
|
-
const [refresh, more] = screen.getAllByRole("alert");
|
|
120
|
-
expect(refresh.textContent).toContain("Die Liste konnte nicht aktualisiert werden");
|
|
121
|
-
expect(refresh.textContent).toContain("Du siehst das vorherige Ergebnis.");
|
|
122
|
-
expect(refresh.querySelector("details pre")?.textContent).toBe("weg");
|
|
123
|
-
expect(more.textContent).toContain("Weitere Einträge konnten nicht geladen werden");
|
|
124
|
-
expect(more.querySelector("details pre")?.textContent).toBe("Zeitüberschreitung");
|
|
125
|
-
expect(screen.getAllByRole("button", { name: "Erneut versuchen" })).toHaveLength(2);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
//# sourceMappingURL=paged-list-footer.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paged-list-footer.test.js","sourceRoot":"","sources":["../../src/ui/paged-list-footer.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-tool-result.test.d.ts","sourceRoot":"","sources":["../../src/ui/parse-tool-result.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { parseToolResult, parseViewToolResult } from "@miragon/mcp-toolkit-ui";
|
|
3
|
-
describe("parseToolResult (structuredContent-first contract)", () => {
|
|
4
|
-
it("prefers structuredContent over the text channel", () => {
|
|
5
|
-
const result = {
|
|
6
|
-
content: [{ type: "text", text: "Process list: 2 definitions." }],
|
|
7
|
-
structuredContent: { items: [1, 2], total: 2 },
|
|
8
|
-
};
|
|
9
|
-
expect(parseToolResult(result)).toEqual({ items: [1, 2], total: 2 });
|
|
10
|
-
});
|
|
11
|
-
it("prefers structuredContent even when the text channel is parseable JSON", () => {
|
|
12
|
-
const result = {
|
|
13
|
-
content: [{ type: "text", text: JSON.stringify({ fromText: true }) }],
|
|
14
|
-
structuredContent: { fromStructured: true },
|
|
15
|
-
};
|
|
16
|
-
expect(parseToolResult(result)).toEqual({ fromStructured: true });
|
|
17
|
-
});
|
|
18
|
-
it("falls back to JSON-decoding the first text block without structuredContent", () => {
|
|
19
|
-
const result = {
|
|
20
|
-
content: [{ type: "text", text: JSON.stringify({ items: [1, 2], total: 2 }) }],
|
|
21
|
-
};
|
|
22
|
-
expect(parseToolResult(result)).toEqual({ items: [1, 2], total: 2 });
|
|
23
|
-
});
|
|
24
|
-
it("returns non-JSON text verbatim without structuredContent", () => {
|
|
25
|
-
const result = { content: [{ type: "text", text: "plain status line" }] };
|
|
26
|
-
expect(parseToolResult(result)).toBe("plain status line");
|
|
27
|
-
});
|
|
28
|
-
it("falls back to the raw result when neither channel is present", () => {
|
|
29
|
-
const result = { something: "else" };
|
|
30
|
-
expect(parseToolResult(result)).toEqual({ something: "else" });
|
|
31
|
-
});
|
|
32
|
-
it("throws the first text block as the error message on isError results", () => {
|
|
33
|
-
const result = { isError: true, content: [{ type: "text", text: "boom" }] };
|
|
34
|
-
expect(() => parseToolResult(result)).toThrowError("boom");
|
|
35
|
-
});
|
|
36
|
-
it("throws a generic message on isError results without content", () => {
|
|
37
|
-
expect(() => parseToolResult({ isError: true })).toThrowError("Tool call failed");
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe("parseViewToolResult (show-tool envelope unwrap)", () => {
|
|
41
|
-
it("unwraps a single-step view envelope to the widget's flat data", () => {
|
|
42
|
-
const result = {
|
|
43
|
-
content: [{ type: "text", text: "Model summary." }],
|
|
44
|
-
structuredContent: {
|
|
45
|
-
title: "Instances",
|
|
46
|
-
context: {
|
|
47
|
-
keys: {},
|
|
48
|
-
stepIds: ["result"],
|
|
49
|
-
stepData: { result: { data: { rows: [1], total: 1 }, keys: {} } },
|
|
50
|
-
errors: [],
|
|
51
|
-
},
|
|
52
|
-
layout: [],
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
expect(parseViewToolResult(result)).toEqual({ rows: [1], total: 1 });
|
|
56
|
-
});
|
|
57
|
-
it("returns multi-step composed views keyed by step id", () => {
|
|
58
|
-
const result = {
|
|
59
|
-
structuredContent: {
|
|
60
|
-
context: {
|
|
61
|
-
stepIds: ["kpis", "result_1"],
|
|
62
|
-
stepData: {
|
|
63
|
-
kpis: { data: { totalCount: 5 } },
|
|
64
|
-
result_1: { data: { patterns: [] } },
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
layout: [],
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
expect(parseViewToolResult(result)).toEqual({
|
|
71
|
-
kpis: { totalCount: 5 },
|
|
72
|
-
result_1: { patterns: [] },
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
it("passes non-envelope results (e.g. *_data feeds) through unchanged", () => {
|
|
76
|
-
const data = { jobs: [], totalCount: 0 };
|
|
77
|
-
const result = {
|
|
78
|
-
content: [{ type: "text", text: JSON.stringify(data) }],
|
|
79
|
-
structuredContent: data,
|
|
80
|
-
};
|
|
81
|
-
expect(parseViewToolResult(result)).toEqual(data);
|
|
82
|
-
});
|
|
83
|
-
it("propagates isError results as thrown errors", () => {
|
|
84
|
-
const result = { isError: true, content: [{ type: "text", text: "boom" }] };
|
|
85
|
-
expect(() => parseViewToolResult(result)).toThrowError("boom");
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
//# sourceMappingURL=parse-tool-result.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-tool-result.test.js","sourceRoot":"","sources":["../../src/ui/parse-tool-result.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
2
|
-
export interface ProfileGateProps {
|
|
3
|
-
/**
|
|
4
|
-
* The first paint's bound wait for the profile (ms, default
|
|
5
|
-
* {@link PROFILE_WAIT_MS}), counted from the host connection — a slow
|
|
6
|
-
* handshake never eats into it: a feed that neither answers nor fails in
|
|
7
|
-
* time (a slow store) renders from the host context instead of holding the
|
|
8
|
-
* view.
|
|
9
|
-
*/
|
|
10
|
-
profileWaitMs?: number;
|
|
11
|
-
children: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Resolves the active user profile once at the app root — the shell's own
|
|
15
|
-
* feed (`shell_settings_data`), under the key the language section shares
|
|
16
|
-
* ({@link SHELL_SETTINGS_KEY}), so a saved language re-fetches one entry and
|
|
17
|
-
* flips every view live (the refetch never re-shows the first-paint
|
|
18
|
-
* skeleton) — and turns it, with
|
|
19
|
-
* the host context ({@link useShellHost}), into the view's ONE effective
|
|
20
|
-
* locale and theme — so every widget is localized and themed with zero
|
|
21
|
-
* per-widget wiring:
|
|
22
|
-
* - language: explicit profile choice > `hostContext.locale` > English;
|
|
23
|
-
* - theme: `hostContext.theme` > the OS (applied document-wide by
|
|
24
|
-
* {@link useApplyTheme}; there is no in-app theme switch);
|
|
25
|
-
* - the shared date formatters follow the same locale and the host's time zone.
|
|
26
|
-
* The first paint waits for the host handshake (bounded by {@link HOST_WAIT_MS}),
|
|
27
|
-
* then for the profile (bounded by `profileWaitMs` from the connection) behind
|
|
28
|
-
* a neutral skeleton, so a German profile or a dark host never flashes English
|
|
29
|
-
* or the OS theme first. A feed that FAILS (e.g. a root without a profile store
|
|
30
|
-
* registers no settings tools, or the host cannot call server tools) releases
|
|
31
|
-
* the gate at its first failure
|
|
32
|
-
* with the host-derived values — react-query keeps the query pending through
|
|
33
|
-
* its retries, which run on in the background; a retry that answers later
|
|
34
|
-
* still applies live.
|
|
35
|
-
*/
|
|
36
|
-
export declare function ProfileGate({ profileWaitMs, children }: ProfileGateProps): import("react").JSX.Element;
|
|
37
|
-
//# sourceMappingURL=profile-gate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-gate.d.ts","sourceRoot":"","sources":["../../src/ui/profile-gate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAoCd,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAaxE"}
|
package/dist/ui/profile-gate.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useEffect, useLayoutEffect, useMemo, useState, useSyncExternalStore, } from "react";
|
|
3
|
-
import { AppQueryProvider, LocaleProvider, Skeleton, useToolQuery } from "@miragon/mcp-toolkit-ui";
|
|
4
|
-
import { useHostBridge } from "@miragon/mcp-toolkit-ui/app";
|
|
5
|
-
import { getFormatLocale, setFormatLocale, subscribeFormatLocale, } from "./format.js";
|
|
6
|
-
import { formattingLocale, resolveLanguage, validTimeZone } from "./host-context.js";
|
|
7
|
-
import { SHELL_SETTINGS_DATA } from "../shell-settings-contract.js";
|
|
8
|
-
import { kitLabels } from "./kit-labels.js";
|
|
9
|
-
import { SHELL_SETTINGS_KEY } from "./shell-settings.js";
|
|
10
|
-
import { useShellHost } from "./shell-host.js";
|
|
11
|
-
import { useApplyTheme } from "./use-apply-theme.js";
|
|
12
|
-
/**
|
|
13
|
-
* How long the first paint waits for the profile, counted from the host
|
|
14
|
-
* connection, before it renders from the host context alone.
|
|
15
|
-
*/
|
|
16
|
-
const PROFILE_WAIT_MS = 1_500;
|
|
17
|
-
/**
|
|
18
|
-
* How long the first paint waits for the host handshake itself, counted from
|
|
19
|
-
* mount. Deliberately longer than the profile wait: painting before the host
|
|
20
|
-
* context arrived is exactly the OS-theme/English flash the gate exists to
|
|
21
|
-
* prevent, so only a host that never answers `ui/initialize` gets a view
|
|
22
|
-
* without it.
|
|
23
|
-
*/
|
|
24
|
-
const HOST_WAIT_MS = 5_000;
|
|
25
|
-
/**
|
|
26
|
-
* Resolves the active user profile once at the app root — the shell's own
|
|
27
|
-
* feed (`shell_settings_data`), under the key the language section shares
|
|
28
|
-
* ({@link SHELL_SETTINGS_KEY}), so a saved language re-fetches one entry and
|
|
29
|
-
* flips every view live (the refetch never re-shows the first-paint
|
|
30
|
-
* skeleton) — and turns it, with
|
|
31
|
-
* the host context ({@link useShellHost}), into the view's ONE effective
|
|
32
|
-
* locale and theme — so every widget is localized and themed with zero
|
|
33
|
-
* per-widget wiring:
|
|
34
|
-
* - language: explicit profile choice > `hostContext.locale` > English;
|
|
35
|
-
* - theme: `hostContext.theme` > the OS (applied document-wide by
|
|
36
|
-
* {@link useApplyTheme}; there is no in-app theme switch);
|
|
37
|
-
* - the shared date formatters follow the same locale and the host's time zone.
|
|
38
|
-
* The first paint waits for the host handshake (bounded by {@link HOST_WAIT_MS}),
|
|
39
|
-
* then for the profile (bounded by `profileWaitMs` from the connection) behind
|
|
40
|
-
* a neutral skeleton, so a German profile or a dark host never flashes English
|
|
41
|
-
* or the OS theme first. A feed that FAILS (e.g. a root without a profile store
|
|
42
|
-
* registers no settings tools, or the host cannot call server tools) releases
|
|
43
|
-
* the gate at its first failure
|
|
44
|
-
* with the host-derived values — react-query keeps the query pending through
|
|
45
|
-
* its retries, which run on in the background; a retry that answers later
|
|
46
|
-
* still applies live.
|
|
47
|
-
*/
|
|
48
|
-
export function ProfileGate({ profileWaitMs, children }) {
|
|
49
|
-
const { callTool } = useHostBridge();
|
|
50
|
-
// Adapt the host bridge's `Record<string, unknown>` args to the provider's
|
|
51
|
-
// `object` signature.
|
|
52
|
-
const callToolFn = useCallback((name, args) => callTool(name, args), [callTool]);
|
|
53
|
-
return (_jsx(AppQueryProvider, { callTool: callToolFn, children: _jsx(ProfileGateInner, { profileWaitMs: profileWaitMs, children: children }) }));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* True once `ms` elapsed since `start` first held. The clock starts once and
|
|
57
|
-
* never restarts, and the result never flips back.
|
|
58
|
-
*/
|
|
59
|
-
function useElapsedSince(start, ms) {
|
|
60
|
-
const [started, setStarted] = useState(start);
|
|
61
|
-
if (start && !started)
|
|
62
|
-
setStarted(true);
|
|
63
|
-
const [elapsed, setElapsed] = useState(false);
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
if (!started)
|
|
66
|
-
return;
|
|
67
|
-
const id = setTimeout(() => setElapsed(true), ms);
|
|
68
|
-
return () => clearTimeout(id);
|
|
69
|
-
}, [started, ms]);
|
|
70
|
-
return elapsed;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Whether the first paint may go ahead. It waits for the host (its theme and
|
|
74
|
-
* locale), then for the profile's answer: data, an error, or a FIRST failure
|
|
75
|
-
* (the query stays pending through react-query's retries, ~7 s of backoff on
|
|
76
|
-
* the toolkit's client) — or for the profile's bound, counted from the
|
|
77
|
-
* connection. Only a host that never connects paints without its context,
|
|
78
|
-
* after the longer host bound.
|
|
79
|
-
*/
|
|
80
|
-
function useFirstPaintSettled(connected, profile, profileWaitMs) {
|
|
81
|
-
const hostWaitedOut = useElapsedSince(true, HOST_WAIT_MS);
|
|
82
|
-
const profileWaitedOut = useElapsedSince(connected, profileWaitMs);
|
|
83
|
-
const profileAnswered = !profile.isPending || profile.failureCount > 0 || profileWaitedOut;
|
|
84
|
-
return (connected && profileAnswered) || hostWaitedOut;
|
|
85
|
-
}
|
|
86
|
-
function ProfileGateInner({ profileWaitMs = PROFILE_WAIT_MS, children, }) {
|
|
87
|
-
const host = useShellHost();
|
|
88
|
-
const query = useToolQuery([...SHELL_SETTINGS_KEY], SHELL_SETTINGS_DATA, {});
|
|
89
|
-
const profile = query.data;
|
|
90
|
-
const settled = useFirstPaintSettled(host.connected, query, profileWaitMs);
|
|
91
|
-
useApplyTheme();
|
|
92
|
-
const language = resolveLanguage(profile?.language, host.locale);
|
|
93
|
-
const target = useMemo(() => ({
|
|
94
|
-
language,
|
|
95
|
-
locale: formattingLocale(language, host.locale),
|
|
96
|
-
timeZone: validTimeZone(host.timeZone),
|
|
97
|
-
}), [language, host.locale, host.timeZone]);
|
|
98
|
-
// Publish before paint: the document language (screen readers — the view
|
|
99
|
-
// document ships without one) and the formatters' locale. The tree below
|
|
100
|
-
// reads the PUBLISHED value, so a widget never formats a date in one locale
|
|
101
|
-
// while its strings render in another.
|
|
102
|
-
useLayoutEffect(() => {
|
|
103
|
-
document.documentElement.lang = target.language;
|
|
104
|
-
setFormatLocale(target);
|
|
105
|
-
}, [target]);
|
|
106
|
-
const published = useSyncExternalStore(subscribeFormatLocale, getFormatLocale, getFormatLocale);
|
|
107
|
-
// Once settled and published, the tree stays mounted for good and only
|
|
108
|
-
// follows changes (a saved language flips live).
|
|
109
|
-
const [ready, setReady] = useState(false);
|
|
110
|
-
if (!ready && settled && isPublished(published, target))
|
|
111
|
-
setReady(true);
|
|
112
|
-
if (!ready)
|
|
113
|
-
return host.connected ? _jsx(GateSkeleton, { language: language }) : null;
|
|
114
|
-
return _jsx(LocaleProvider, { locale: published?.language ?? language, children: children });
|
|
115
|
-
}
|
|
116
|
-
/** The formatters already render in `target` — the first paint may go ahead. */
|
|
117
|
-
function isPublished(published, target) {
|
|
118
|
-
return (published?.language === target.language &&
|
|
119
|
-
published.locale === target.locale &&
|
|
120
|
-
published.timeZone === target.timeZone);
|
|
121
|
-
}
|
|
122
|
-
/** The pre-paint placeholder: the toolkit view skeleton's shape, no visible text. */
|
|
123
|
-
function GateSkeleton({ language }) {
|
|
124
|
-
return (_jsxs("div", { className: "flex flex-col gap-4 p-4", "aria-busy": "true", children: [_jsx(Skeleton, { className: "h-8 w-48" }), _jsx(Skeleton, { className: "h-32 w-full" }), _jsx("span", { role: "status", className: "sr-only", children: kitLabels(language).loading })] }));
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=profile-gate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-gate.js","sourceRoot":"","sources":["../../src/ui/profile-gate.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,EACP,QAAQ,EACR,oBAAoB,GAErB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,GAEtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAOpD;;;GAGG;AACH,MAAM,eAAe,GAAG,KAAK,CAAA;AAE7B;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,KAAK,CAAA;AAc1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAoB;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAA;IACpC,2EAA2E;IAC3E,sBAAsB;IACtB,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAA+B,CAAC,EAC/E,CAAC,QAAQ,CAAC,CACX,CAAA;IACD,OAAO,CACL,KAAC,gBAAgB,IAAC,QAAQ,EAAE,UAAU,YACpC,KAAC,gBAAgB,IAAC,aAAa,EAAE,aAAa,YAAG,QAAQ,GAAoB,GAC5D,CACpB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,EAAU;IACjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,KAAK,IAAI,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACjD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACjB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,SAAkB,EAClB,OAAqD,EACrD,aAAqB;IAErB,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACzD,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAClE,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,gBAAgB,CAAA;IAC1F,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,aAAa,CAAA;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,aAAa,GAAG,eAAe,EAC/B,QAAQ,GACqD;IAC7D,MAAM,IAAI,GAAG,YAAY,EAAE,CAAA;IAC3B,MAAM,KAAK,GAAG,YAAY,CAAc,CAAC,GAAG,kBAAkB,CAAC,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAA;IACzF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;IAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IAE1E,aAAa,EAAE,CAAA;IACf,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ;QACR,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;QAC/C,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;KACvC,CAAC,EACF,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;IACD,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,uCAAuC;IACvC,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,eAAe,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/C,eAAe,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACZ,MAAM,SAAS,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;IAE/F,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEvE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/E,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,IAAI,QAAQ,YAAG,QAAQ,GAAkB,CAAA;AAC7F,CAAC;AAED,gFAAgF;AAChF,SAAS,WAAW,CAAC,SAAmC,EAAE,MAAoB;IAC5E,OAAO,CACL,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC,QAAQ;QACvC,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAClC,SAAS,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CACvC,CAAA;AACH,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,EAAE,QAAQ,EAAwB;IACtD,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,eAAW,MAAM,aACvD,KAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,GAAG,EACjC,KAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,GAAG,EACpC,eAAM,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,YACpC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,GACvB,IACH,CACP,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-gate.test.d.ts","sourceRoot":"","sources":["../../src/ui/profile-gate.test.tsx"],"names":[],"mappings":""}
|