okengine 0.11.2 → 0.13.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/manifest.v1.schema.json +1 -1
- package/package.json +57 -3
- package/site/content/docs/ai/index.mdx +2 -2
- package/site/content/docs/ai/llms-txt.mdx +21 -16
- package/site/content/docs/ai/mcp.mdx +1 -1
- package/site/content/docs/ai/skills.mdx +16 -14
- package/site/content/docs/deployment/docker-swarm.mdx +7 -8
- package/site/content/docs/deployment/docker.mdx +20 -12
- package/site/content/docs/deployment/index.mdx +2 -2
- package/site/content/docs/deployment/kubernetes.mdx +2 -2
- package/site/content/docs/deployment/reverse-proxy.mdx +39 -21
- package/site/content/docs/elements/ai.mdx +25 -15
- package/site/content/docs/elements/channel.mdx +2 -2
- package/site/content/docs/elements/clock.mdx +11 -1
- package/site/content/docs/elements/flow.mdx +66 -16
- package/site/content/docs/elements/gate.mdx +47 -39
- package/site/content/docs/elements/signal.mdx +2 -2
- package/site/content/docs/elements/store.mdx +211 -48
- package/site/content/docs/elements/vault.mdx +126 -41
- package/site/content/docs/get-started/basic-usage.mdx +14 -6
- package/site/content/docs/get-started/installation.mdx +24 -16
- package/site/content/docs/plugins/cors.mdx +9 -9
- package/site/content/docs/plugins/csrf.mdx +1 -1
- package/site/content/docs/providers/cockroachdb.mdx +13 -0
- package/site/content/docs/providers/index.mdx +1 -0
- package/site/content/docs/providers/neon.mdx +22 -0
- package/site/content/docs/providers/supabase.mdx +17 -0
- package/site/content/docs/providers/yugabytedb.mdx +15 -0
- package/site/content/docs/recipes/caddy.mdx +3 -3
- package/site/content/docs/recipes/cockroachdb.mdx +8 -2
- package/site/content/docs/recipes/dragonfly.mdx +4 -3
- package/site/content/docs/recipes/index.mdx +6 -1
- package/site/content/docs/recipes/llama-cpp.mdx +5 -6
- package/site/content/docs/recipes/mailpit.mdx +3 -3
- package/site/content/docs/recipes/meilisearch.mdx +4 -4
- package/site/content/docs/recipes/meta.json +1 -0
- package/site/content/docs/recipes/nginx.mdx +117 -0
- package/site/content/docs/recipes/ollama.mdx +3 -3
- package/site/content/docs/recipes/pgdog.mdx +1 -1
- package/site/content/docs/recipes/postgres.mdx +44 -8
- package/site/content/docs/recipes/redis.mdx +11 -7
- package/site/content/docs/recipes/rustfs.mdx +4 -4
- package/site/content/docs/recipes/sglang.mdx +2 -2
- package/site/content/docs/recipes/supabase-docker.mdx +24 -0
- package/site/content/docs/recipes/timescale.mdx +30 -6
- package/site/content/docs/recipes/traefik.mdx +10 -7
- package/site/content/docs/recipes/valkey.mdx +5 -3
- package/site/content/docs/recipes/vllm.mdx +2 -2
- package/site/content/docs/recipes/yugabytedb.mdx +7 -1
- package/site/content/docs/reference/cli.md +67 -34
- package/site/content/docs/reference/client.mdx +39 -20
- package/site/content/docs/reference/configuration.mdx +34 -25
- package/site/content/docs/reference/environment-variables.mdx +28 -25
- package/site/content/docs/reference/errors.mdx +25 -20
- package/site/content/docs/reference/fx.mdx +19 -12
- package/site/content/docs/reference/plugins.mdx +2 -2
- package/site/content/docs/reference/security.md +16 -7
- package/src/auth/auth.test.ts +2 -2
- package/src/auth/bindings.ts +5 -5
- package/src/auth/config.ts +8 -0
- package/src/auth/gate-auth.test.ts +5 -5
- package/src/auth/index.ts +3 -0
- package/src/auth/operator.ts +1 -1
- package/src/auth/password-policy.test.ts +142 -5
- package/src/auth/password-policy.ts +128 -12
- package/src/auth/plugin.ts +2 -2
- package/src/cli/ai-setup/ai-setup.test.ts +1 -1
- package/src/cli/ai-setup/apply.ts +3 -18
- package/src/cli/ai-setup/index.ts +4 -4
- package/src/cli/ai-setup/prompts.ts +1 -1
- package/src/cli/ask-seed.test.ts +27 -0
- package/src/cli/ask-seed.ts +11 -7
- package/src/cli/attach-host-console.test.ts +134 -0
- package/src/cli/attach-host-console.ts +100 -0
- package/src/cli/console-cmd.test.ts +81 -0
- package/src/cli/console-cmd.ts +107 -0
- package/src/cli/db-seed.ts +14 -3
- package/src/cli/db.test.ts +37 -2
- package/src/cli/db.ts +26 -0
- package/src/cli/dev-app-runner.ts +6 -40
- package/src/cli/dev-console-vite.test.ts +86 -0
- package/src/cli/dev-console-vite.ts +164 -0
- package/src/cli/dev-schema-sync.ts +2 -2
- package/src/cli/dev.test.ts +78 -2
- package/src/cli/dev.ts +170 -56
- package/src/cli/docker-cli.test.ts +2 -2
- package/src/cli/docker.ts +1 -1
- package/src/cli/doctor.ts +2 -1
- package/src/cli/drizzle-env.test.ts +4 -9
- package/src/cli/drizzle-env.ts +2 -2
- package/src/cli/hero-meta.test.ts +37 -0
- package/src/cli/hero-meta.ts +30 -9
- package/src/cli/index.ts +5 -0
- package/src/cli/load-config.images.test.ts +13 -12
- package/src/cli/load-config.ts +1 -1
- package/src/cli/project-state.test.ts +6 -2
- package/src/cli/project-state.ts +27 -11
- package/src/cli/registry.ts +11 -0
- package/src/cli/replay.ts +7 -2
- package/src/cli/vault-cmd.test.ts +2 -0
- package/src/cli/vault-cmd.ts +7 -2
- package/src/client/create.test.ts +38 -2
- package/src/client/create.ts +16 -11
- package/src/client/index.ts +6 -0
- package/src/client/pager.test.ts +66 -0
- package/src/client/pager.ts +138 -0
- package/src/client/transport.ts +9 -6
- package/src/client/types.ts +58 -10
- package/src/compiler/aot.test.ts +12 -2
- package/src/compiler/effects-infer.ts +13 -4
- package/src/compiler/extract.test.ts +257 -5
- package/src/compiler/extract.ts +324 -58
- package/src/compiler/fixtures/skyport/src/flows/bookings/index.ts +2 -2
- package/src/compiler/fixtures/skyport/src/gates.ts +2 -0
- package/src/compiler/fixtures/skyport.expected.json +4 -0
- package/src/config/driver-defaults.test.ts +3 -0
- package/src/config/driver-defaults.ts +14 -0
- package/src/config/index.ts +5 -0
- package/src/console/budget.test.ts +27 -37
- package/src/console/index.ts +3 -0
- package/src/console/password-policy.ts +89 -0
- package/src/console/server/app.ts +138 -12
- package/src/console/server/auth-rate.test.ts +3 -3
- package/src/console/server/auth-store.test.ts +222 -0
- package/src/console/server/auth-store.ts +499 -0
- package/src/console/server/bind.ts +2 -3
- package/src/console/server/channels.test.ts +1 -1
- package/src/console/server/claim.test.ts +60 -1
- package/src/console/server/claim.ts +137 -2
- package/src/console/server/console.test.ts +102 -6
- package/src/console/server/dry-run.audit.test.ts +5 -2
- package/src/console/server/files-catalog.test.ts +51 -0
- package/src/console/server/files-catalog.ts +122 -0
- package/src/console/server/flows-invoke.test.ts +655 -38
- package/src/console/server/flows.ts +907 -90
- package/src/console/server/gates.test.ts +59 -0
- package/src/console/server/gates.ts +17 -14
- package/src/console/server/i18n.ts +7 -4
- package/src/console/server/index-search.test.ts +57 -0
- package/src/console/server/index-search.ts +102 -0
- package/src/console/server/index.ts +32 -1
- package/src/console/server/instances.test.ts +68 -0
- package/src/console/server/instances.ts +58 -0
- package/src/console/server/invoke-user-flow.test.ts +206 -0
- package/src/console/server/invoke-user-flow.ts +367 -0
- package/src/console/server/live.test.ts +44 -1
- package/src/console/server/live.ts +16 -0
- package/src/console/server/operator-db.test.ts +5 -5
- package/src/console/server/operator-db.ts +2 -2
- package/src/console/server/panel-load.ts +1 -0
- package/src/console/server/plugin.ts +12 -2
- package/src/console/server/runs-history.test.ts +143 -0
- package/src/console/server/runs-ingest.test.ts +379 -0
- package/src/console/server/runs-ingest.ts +127 -0
- package/src/console/server/runs-list-nesting.test.ts +97 -0
- package/src/console/server/runs-pii.test.ts +69 -0
- package/src/console/server/runs-pii.ts +50 -4
- package/src/console/server/runs-query-guard.test.ts +75 -0
- package/src/console/server/runs-query-guard.ts +224 -0
- package/src/console/server/runs-query-mask.test.ts +37 -0
- package/src/console/server/runs-query-mask.ts +82 -0
- package/src/console/server/runs-query.test.ts +287 -0
- package/src/console/server/runs-query.ts +107 -0
- package/src/console/server/security-headers.ts +21 -2
- package/src/console/server/security.gate.test.ts +306 -3
- package/src/console/server/serve.ts +138 -9
- package/src/console/server/spa-paths.test.ts +36 -0
- package/src/console/server/spa-proxy.test.ts +86 -0
- package/src/console/server/sql-catalog.ts +572 -0
- package/src/console/server/sql-extension.test.ts +19 -0
- package/src/console/server/sql-rls.test.ts +44 -0
- package/src/console/server/state.ts +445 -7
- package/src/console/server/store-kv-stats.test.ts +178 -0
- package/src/console/server/store-kv-stats.ts +339 -0
- package/src/console/server/store-stats.test.ts +165 -0
- package/src/console/server/store-stats.ts +526 -0
- package/src/console/server/store.test.ts +930 -0
- package/src/console/server/store.ts +859 -76
- package/src/console/server/traces-replay.test.ts +212 -0
- package/src/console/server/vault-http.test.ts +458 -0
- package/src/console/server/vault-overlay.test.ts +49 -0
- package/src/console/server/vault-overlay.ts +99 -0
- package/src/console/server/vault.test.ts +75 -0
- package/src/console/server/vault.ts +443 -27
- package/src/console/ui-next/components.json +26 -0
- package/src/console/ui-next/dist/assets/bash-CLZ0U2zV.js +1 -0
- package/src/console/ui-next/dist/assets/cache-glyph-CLPBqZeb.js +1 -0
- package/src/console/ui-next/dist/assets/call-pii-button-bqkxMrJH.js +1 -0
- package/src/console/ui-next/dist/assets/collapsible-DYb0xU8C.js +1 -0
- package/src/console/ui-next/dist/assets/confirm-sheet-DDCRmG62.js +1 -0
- package/src/console/ui-next/dist/assets/dagre.esm-ZwcdTuZZ.js +1 -0
- package/src/console/ui-next/dist/assets/duration-tone-oiRxPVsZ.js +9 -0
- package/src/console/ui-next/dist/assets/explorer-empty-HjTnVQoR.js +1 -0
- package/src/console/ui-next/dist/assets/flows-page-Dg8CTE29.js +1 -0
- package/src/console/ui-next/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/src/console/ui-next/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/src/console/ui-next/dist/assets/highlighted-json-CvDPvveV.js +154 -0
- package/src/console/ui-next/dist/assets/http-method-BJ92Z_ke.js +1 -0
- package/src/console/ui-next/dist/assets/index-Bp-R7jtM.js +66 -0
- package/src/console/ui-next/dist/assets/index-D4Ldtj79.css +2 -0
- package/src/console/ui-next/dist/assets/json-qhed-kSA.js +1 -0
- package/src/console/ui-next/dist/assets/link-DF7SZ9Ek.js +1 -0
- package/src/console/ui-next/dist/assets/observability-page-DAnpEaq1.js +4 -0
- package/src/console/ui-next/dist/assets/preload-helper-oH4irX4C.js +1 -0
- package/src/console/ui-next/dist/assets/query-gate-parts-1m8m1iNp.js +2 -0
- package/src/console/ui-next/dist/assets/react-B1ML8gxg.js +1 -0
- package/src/console/ui-next/dist/assets/react-dom-Bph1y7z7.js +9 -0
- package/src/console/ui-next/dist/assets/replica-lag-C8_BRt2x.js +18 -0
- package/src/console/ui-next/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/src/console/ui-next/dist/assets/sheet-form-D-ata7jy.js +1 -0
- package/src/console/ui-next/dist/assets/shortcut-Cgzuv4k1.js +1 -0
- package/src/console/ui-next/dist/assets/shortcut-keys-DO4IsVqv.js +1 -0
- package/src/console/ui-next/dist/assets/skeleton-CL_X0GCj.js +1 -0
- package/src/console/ui-next/dist/assets/sql-BskegiFM.js +1 -0
- package/src/console/ui-next/dist/assets/store-page-v3LXdYpr.js +45 -0
- package/src/console/ui-next/dist/assets/trace-detail-sheet-D16lWQMt.js +2 -0
- package/src/console/ui-next/dist/assets/tsx-udAQXfEw.js +1 -0
- package/src/console/ui-next/dist/assets/typescript-bsJCZSQ-.js +1 -0
- package/src/console/ui-next/dist/assets/units-page-BtQ0bqMe.js +1 -0
- package/src/console/ui-next/dist/assets/use-vault-list-Cl79j_ku.js +1 -0
- package/src/console/ui-next/dist/assets/vault-page-Ca-MvcmJ.js +2 -0
- package/src/console/ui-next/dist/assets/xyflow-D7n4g6go.js +7 -0
- package/src/console/ui-next/dist/assets/xyflow-DZ0Ws1xk.css +1 -0
- package/src/console/ui-next/dist/favicon.svg +6 -0
- package/src/console/ui-next/dist/index.html +56 -0
- package/src/console/ui-next/index.html +45 -0
- package/src/console/ui-next/public/favicon.svg +6 -0
- package/src/console/ui-next/seed-invoke-host.test.ts +47 -0
- package/src/console/ui-next/seed-invoke-host.ts +199 -0
- package/src/console/ui-next/seed-invoke-ops.test.ts +280 -0
- package/src/console/ui-next/seed-invoke-ops.ts +587 -0
- package/src/console/ui-next/src/client-session.test.ts +22 -0
- package/src/console/ui-next/src/client.ts +1379 -0
- package/src/console/ui-next/src/components/agents/agent-code.tsx +207 -0
- package/src/console/ui-next/src/components/agents/agent-disclosure.tsx +63 -0
- package/src/console/ui-next/src/components/agents/file-diff.tsx +271 -0
- package/src/console/ui-next/src/components/auth-card.tsx +298 -0
- package/src/console/ui-next/src/components/charts/animation.ts +36 -0
- package/src/console/ui-next/src/components/charts/area-chart-loading.tsx +115 -0
- package/src/console/ui-next/src/components/charts/area-chart.tsx +261 -0
- package/src/console/ui-next/src/components/charts/area-gradient-defs.tsx +98 -0
- package/src/console/ui-next/src/components/charts/area.tsx +349 -0
- package/src/console/ui-next/src/components/charts/chart-child-passthrough.ts +110 -0
- package/src/console/ui-next/src/components/charts/chart-config-context.tsx +81 -0
- package/src/console/ui-next/src/components/charts/chart-context.tsx +414 -0
- package/src/console/ui-next/src/components/charts/chart-defs.ts +61 -0
- package/src/console/ui-next/src/components/charts/chart-formatters.ts +26 -0
- package/src/console/ui-next/src/components/charts/chart-legend-hover.tsx +41 -0
- package/src/console/ui-next/src/components/charts/chart-loading-label.tsx +56 -0
- package/src/console/ui-next/src/components/charts/chart-phase.ts +52 -0
- package/src/console/ui-next/src/components/charts/chart-reveal-clip.tsx +87 -0
- package/src/console/ui-next/src/components/charts/composed-chart.tsx +333 -0
- package/src/console/ui-next/src/components/charts/dash-tail-stroke.tsx +75 -0
- package/src/console/ui-next/src/components/charts/decimate-time-series.ts +134 -0
- package/src/console/ui-next/src/components/charts/fade-edges.ts +52 -0
- package/src/console/ui-next/src/components/charts/filter-data-by-x-domain.ts +59 -0
- package/src/console/ui-next/src/components/charts/generate-chart-skeleton-data.ts +42 -0
- package/src/console/ui-next/src/components/charts/grid.tsx +299 -0
- package/src/console/ui-next/src/components/charts/highlight-segment-bounds.ts +68 -0
- package/src/console/ui-next/src/components/charts/highlight-segment.tsx +65 -0
- package/src/console/ui-next/src/components/charts/indicator-fade.ts +62 -0
- package/src/console/ui-next/src/components/charts/line-chart-loading.tsx +111 -0
- package/src/console/ui-next/src/components/charts/line-chart.tsx +293 -0
- package/src/console/ui-next/src/components/charts/line-loading-pulse.tsx +201 -0
- package/src/console/ui-next/src/components/charts/line-loading-timing.ts +12 -0
- package/src/console/ui-next/src/components/charts/line-series-terminal-marker.tsx +91 -0
- package/src/console/ui-next/src/components/charts/line.tsx +384 -0
- package/src/console/ui-next/src/components/charts/loading-sweep.tsx +452 -0
- package/src/console/ui-next/src/components/charts/motion-utils.ts +47 -0
- package/src/console/ui-next/src/components/charts/path-stroke-utils.ts +82 -0
- package/src/console/ui-next/src/components/charts/pattern-area.tsx +45 -0
- package/src/console/ui-next/src/components/charts/projection-config.ts +112 -0
- package/src/console/ui-next/src/components/charts/projection-line-end-marker.tsx +51 -0
- package/src/console/ui-next/src/components/charts/projection-line.tsx +208 -0
- package/src/console/ui-next/src/components/charts/projection-utils.ts +378 -0
- package/src/console/ui-next/src/components/charts/reference-area-config.ts +59 -0
- package/src/console/ui-next/src/components/charts/reference-area-geometry.ts +136 -0
- package/src/console/ui-next/src/components/charts/reference-area-registration-context.tsx +16 -0
- package/src/console/ui-next/src/components/charts/series-bar-layout.ts +60 -0
- package/src/console/ui-next/src/components/charts/series-bar.tsx +304 -0
- package/src/console/ui-next/src/components/charts/series-dash-tail-overlay.tsx +82 -0
- package/src/console/ui-next/src/components/charts/series-highlight-layer.tsx +49 -0
- package/src/console/ui-next/src/components/charts/series-hover-dim.tsx +57 -0
- package/src/console/ui-next/src/components/charts/series-markers.tsx +267 -0
- package/src/console/ui-next/src/components/charts/series-path-utils.ts +103 -0
- package/src/console/ui-next/src/components/charts/series-point-marker.tsx +205 -0
- package/src/console/ui-next/src/components/charts/static-chart-preview-context.tsx +16 -0
- package/src/console/ui-next/src/components/charts/time-series-chart-shell.tsx +644 -0
- package/src/console/ui-next/src/components/charts/tooltip/chart-tooltip.tsx +400 -0
- package/src/console/ui-next/src/components/charts/tooltip/date-ticker.tsx +140 -0
- package/src/console/ui-next/src/components/charts/tooltip/index.ts +10 -0
- package/src/console/ui-next/src/components/charts/tooltip/tooltip-box.tsx +227 -0
- package/src/console/ui-next/src/components/charts/tooltip/tooltip-content.tsx +58 -0
- package/src/console/ui-next/src/components/charts/tooltip/tooltip-dot.tsx +173 -0
- package/src/console/ui-next/src/components/charts/tooltip/tooltip-indicator.tsx +191 -0
- package/src/console/ui-next/src/components/charts/use-animated-series-path.ts +155 -0
- package/src/console/ui-next/src/components/charts/use-animated-y-domains.ts +227 -0
- package/src/console/ui-next/src/components/charts/use-chart-interaction.ts +343 -0
- package/src/console/ui-next/src/components/charts/use-chart-phase-orchestrator.ts +173 -0
- package/src/console/ui-next/src/components/charts/use-enter-complete.ts +28 -0
- package/src/console/ui-next/src/components/charts/use-grid-shimmer.ts +101 -0
- package/src/console/ui-next/src/components/charts/use-highlight-segment.ts +58 -0
- package/src/console/ui-next/src/components/charts/use-mount-progress.ts +29 -0
- package/src/console/ui-next/src/components/charts/use-scheduled-tooltip.ts +97 -0
- package/src/console/ui-next/src/components/charts/x-axis.tsx +635 -0
- package/src/console/ui-next/src/components/charts/y-axis-scales.ts +108 -0
- package/src/console/ui-next/src/components/charts/y-axis-ticks.ts +25 -0
- package/src/console/ui-next/src/components/charts/y-axis.tsx +151 -0
- package/src/console/ui-next/src/components/charts/y-domain-utils.ts +120 -0
- package/src/console/ui-next/src/components/console-chrome.tsx +50 -0
- package/src/console/ui-next/src/components/document-title.tsx +18 -0
- package/src/console/ui-next/src/components/explorer/copy-inline-button.tsx +57 -0
- package/src/console/ui-next/src/components/explorer/detail-header.tsx +82 -0
- package/src/console/ui-next/src/components/explorer/explorer-chrome.ts +123 -0
- package/src/console/ui-next/src/components/explorer/explorer-empty.tsx +67 -0
- package/src/console/ui-next/src/components/explorer/explorer-search.tsx +20 -0
- package/src/console/ui-next/src/components/explorer/explorer-start-toggle.tsx +52 -0
- package/src/console/ui-next/src/components/explorer/section-head.tsx +33 -0
- package/src/console/ui-next/src/components/explorer/tree-expand-toggle.tsx +69 -0
- package/src/console/ui-next/src/components/explorer/use-explorer-start-panel.ts +34 -0
- package/src/console/ui-next/src/components/gate-list.tsx +70 -0
- package/src/console/ui-next/src/components/generate-password-button.tsx +76 -0
- package/src/console/ui-next/src/components/highlighted-json.tsx +73 -0
- package/src/console/ui-next/src/components/http-method-badge.tsx +35 -0
- package/src/console/ui-next/src/components/mode-toggle.tsx +84 -0
- package/src/console/ui-next/src/components/motion/button/base.tsx +145 -0
- package/src/console/ui-next/src/components/motion/button/expanding-arrow.tsx +167 -0
- package/src/console/ui-next/src/components/motion/button/index.ts +12 -0
- package/src/console/ui-next/src/components/motion/button/stateful.tsx +243 -0
- package/src/console/ui-next/src/components/motion/checkbox.tsx +120 -0
- package/src/console/ui-next/src/components/motion/select.tsx +436 -0
- package/src/console/ui-next/src/components/motion/switch.tsx +108 -0
- package/src/console/ui-next/src/components/motion/table/editable-cell.tsx +98 -0
- package/src/console/ui-next/src/components/motion/table/index.tsx +404 -0
- package/src/console/ui-next/src/components/motion/table/row-handle.tsx +95 -0
- package/src/console/ui-next/src/components/motion/table/skeleton-rows.tsx +52 -0
- package/src/console/ui-next/src/components/motion/table/table-header.tsx +337 -0
- package/src/console/ui-next/src/components/motion/table/table-menu.tsx +130 -0
- package/src/console/ui-next/src/components/motion/table/types.ts +109 -0
- package/src/console/ui-next/src/components/motion/table/use-cell-range.ts +145 -0
- package/src/console/ui-next/src/components/motion/table/use-column-reorder.ts +112 -0
- package/src/console/ui-next/src/components/motion/table/use-column-resize.ts +83 -0
- package/src/console/ui-next/src/components/motion/table/use-column-sort.ts +73 -0
- package/src/console/ui-next/src/components/motion/table/use-row-selection.ts +70 -0
- package/src/console/ui-next/src/components/motion/table/utils.ts +138 -0
- package/src/console/ui-next/src/components/oke-logo.tsx +65 -0
- package/src/console/ui-next/src/components/password-input.tsx +67 -0
- package/src/console/ui-next/src/components/password-strength.tsx +160 -0
- package/src/console/ui-next/src/components/shell/app-sidebar.tsx +117 -0
- package/src/console/ui-next/src/components/shell/command-items.test.ts +30 -0
- package/src/console/ui-next/src/components/shell/command-items.ts +144 -0
- package/src/console/ui-next/src/components/shell/command-match.test.ts +37 -0
- package/src/console/ui-next/src/components/shell/command-match.ts +45 -0
- package/src/console/ui-next/src/components/shell/command-palette.tsx +334 -0
- package/src/console/ui-next/src/components/shell/nav-footer.tsx +109 -0
- package/src/console/ui-next/src/components/shell/section-empty.tsx +42 -0
- package/src/console/ui-next/src/components/shell/settings-dialog.tsx +65 -0
- package/src/console/ui-next/src/components/shell/shell-layout.tsx +100 -0
- package/src/console/ui-next/src/components/shimmering-text.tsx +87 -0
- package/src/console/ui-next/src/components/signal-delivery-badge.tsx +38 -0
- package/src/console/ui-next/src/components/theme-provider.tsx +86 -0
- package/src/console/ui-next/src/components/ui/alert-dialog.tsx +147 -0
- package/src/console/ui-next/src/components/ui/avatar.tsx +91 -0
- package/src/console/ui-next/src/components/ui/badge.tsx +54 -0
- package/src/console/ui-next/src/components/ui/breadcrumb.tsx +104 -0
- package/src/console/ui-next/src/components/ui/button.tsx +58 -0
- package/src/console/ui-next/src/components/ui/card.tsx +88 -0
- package/src/console/ui-next/src/components/ui/collapsible.tsx +15 -0
- package/src/console/ui-next/src/components/ui/confirm-sheet.tsx +149 -0
- package/src/console/ui-next/src/components/ui/dialog.tsx +144 -0
- package/src/console/ui-next/src/components/ui/dropdown-menu.tsx +265 -0
- package/src/console/ui-next/src/components/ui/empty.tsx +95 -0
- package/src/console/ui-next/src/components/ui/field.tsx +224 -0
- package/src/console/ui-next/src/components/ui/input.tsx +30 -0
- package/src/console/ui-next/src/components/ui/kbd.tsx +41 -0
- package/src/console/ui-next/src/components/ui/label.tsx +20 -0
- package/src/console/ui-next/src/components/ui/progress.tsx +66 -0
- package/src/console/ui-next/src/components/ui/resizable.tsx +74 -0
- package/src/console/ui-next/src/components/ui/select.tsx +230 -0
- package/src/console/ui-next/src/components/ui/separator.tsx +21 -0
- package/src/console/ui-next/src/components/ui/sheet-form.tsx +337 -0
- package/src/console/ui-next/src/components/ui/sheet.tsx +130 -0
- package/src/console/ui-next/src/components/ui/sidebar.tsx +691 -0
- package/src/console/ui-next/src/components/ui/skeleton.tsx +20 -0
- package/src/console/ui-next/src/components/ui/toggle-group.tsx +87 -0
- package/src/console/ui-next/src/components/ui/toggle.tsx +46 -0
- package/src/console/ui-next/src/components/ui/toolbar-tip.tsx +41 -0
- package/src/console/ui-next/src/components/ui/tooltip.tsx +74 -0
- package/src/console/ui-next/src/features/auth/auth-redirect.test.ts +119 -0
- package/src/console/ui-next/src/features/auth/auth-redirect.ts +153 -0
- package/src/console/ui-next/src/features/auth/login-form.tsx +234 -0
- package/src/console/ui-next/src/features/auth/logout.ts +17 -0
- package/src/console/ui-next/src/features/flows/data/console-live-session.test.ts +329 -0
- package/src/console/ui-next/src/features/flows/data/console-live-session.ts +210 -0
- package/src/console/ui-next/src/features/flows/data/use-console-live.ts +79 -0
- package/src/console/ui-next/src/features/flows/data/use-manifest.ts +23 -0
- package/src/console/ui-next/src/features/flows/data/use-runs.ts +24 -0
- package/src/console/ui-next/src/features/flows/fixture.ts +81 -0
- package/src/console/ui-next/src/features/flows/flows-page.tsx +227 -0
- package/src/console/ui-next/src/features/flows/graph/build-flow-graph.test.ts +236 -0
- package/src/console/ui-next/src/features/flows/graph/build-flow-graph.ts +530 -0
- package/src/console/ui-next/src/features/flows/graph/element-map.test.ts +443 -0
- package/src/console/ui-next/src/features/flows/graph/element-map.ts +1077 -0
- package/src/console/ui-next/src/features/flows/graph/flow-graph-nodes.tsx +486 -0
- package/src/console/ui-next/src/features/flows/graph/flow-graph-theme.ts +143 -0
- package/src/console/ui-next/src/features/flows/graph/flow-graph.tsx +268 -0
- package/src/console/ui-next/src/features/flows/graph/neighborhood.test.ts +64 -0
- package/src/console/ui-next/src/features/flows/graph/neighborhood.ts +82 -0
- package/src/console/ui-next/src/features/flows/graph/orchestra.test.ts +97 -0
- package/src/console/ui-next/src/features/flows/graph/orchestra.ts +86 -0
- package/src/console/ui-next/src/features/flows/graph/use-overview-orchestra.ts +95 -0
- package/src/console/ui-next/src/features/flows/state/flows-selection.test.ts +24 -0
- package/src/console/ui-next/src/features/flows/state/flows-selection.ts +92 -0
- package/src/console/ui-next/src/features/flows/traces/advanced-filters.tsx +222 -0
- package/src/console/ui-next/src/features/flows/traces/cache-glyph.tsx +42 -0
- package/src/console/ui-next/src/features/flows/traces/cache-icon.test.ts +27 -0
- package/src/console/ui-next/src/features/flows/traces/cache-icon.ts +48 -0
- package/src/console/ui-next/src/features/flows/traces/dimension-query.test.ts +100 -0
- package/src/console/ui-next/src/features/flows/traces/dimension-query.ts +325 -0
- package/src/console/ui-next/src/features/flows/traces/duration-tone.test.ts +71 -0
- package/src/console/ui-next/src/features/flows/traces/duration-tone.ts +128 -0
- package/src/console/ui-next/src/features/flows/traces/effect-kind.ts +106 -0
- package/src/console/ui-next/src/features/flows/traces/effect-summary.ts +193 -0
- package/src/console/ui-next/src/features/flows/traces/filter-runs.test.ts +98 -0
- package/src/console/ui-next/src/features/flows/traces/filter-runs.ts +68 -0
- package/src/console/ui-next/src/features/flows/traces/format-duration.test.ts +47 -0
- package/src/console/ui-next/src/features/flows/traces/format-duration.ts +25 -0
- package/src/console/ui-next/src/features/flows/traces/graph-filter.test.ts +192 -0
- package/src/console/ui-next/src/features/flows/traces/graph-filter.ts +175 -0
- package/src/console/ui-next/src/features/flows/traces/http-method.ts +134 -0
- package/src/console/ui-next/src/features/flows/traces/replay-playback.test.ts +101 -0
- package/src/console/ui-next/src/features/flows/traces/replay-playback.ts +107 -0
- package/src/console/ui-next/src/features/flows/traces/request-input-view.test.ts +60 -0
- package/src/console/ui-next/src/features/flows/traces/request-input-view.ts +108 -0
- package/src/console/ui-next/src/features/flows/traces/request-meta.ts +62 -0
- package/src/console/ui-next/src/features/flows/traces/scope-runs.test.ts +51 -0
- package/src/console/ui-next/src/features/flows/traces/scope-runs.ts +23 -0
- package/src/console/ui-next/src/features/flows/traces/trace-actions.test.ts +80 -0
- package/src/console/ui-next/src/features/flows/traces/trace-actions.ts +57 -0
- package/src/console/ui-next/src/features/flows/traces/trace-chain.test.ts +68 -0
- package/src/console/ui-next/src/features/flows/traces/trace-chain.ts +59 -0
- package/src/console/ui-next/src/features/flows/traces/trace-detail-sheet.tsx +1003 -0
- package/src/console/ui-next/src/features/flows/traces/trace-detail.test.ts +357 -0
- package/src/console/ui-next/src/features/flows/traces/trace-gates.ts +90 -0
- package/src/console/ui-next/src/features/flows/traces/trace-request-section.tsx +574 -0
- package/src/console/ui-next/src/features/flows/traces/trace-row-meta.test.ts +42 -0
- package/src/console/ui-next/src/features/flows/traces/trace-row-meta.ts +47 -0
- package/src/console/ui-next/src/features/flows/traces/trace-row.tsx +149 -0
- package/src/console/ui-next/src/features/flows/traces/traces-pane.tsx +289 -0
- package/src/console/ui-next/src/features/flows/traces/trigger-icon.test.ts +42 -0
- package/src/console/ui-next/src/features/flows/traces/trigger-icon.ts +53 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-bars.test.ts +93 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-bars.ts +80 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-timeline.test.ts +121 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-timeline.ts +230 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-tooltip.test.ts +51 -0
- package/src/console/ui-next/src/features/flows/traces/waterfall-tooltip.ts +20 -0
- package/src/console/ui-next/src/features/not-found/not-found-page.tsx +23 -0
- package/src/console/ui-next/src/features/observability/data/use-ai-list.ts +26 -0
- package/src/console/ui-next/src/features/observability/data/use-clock-list.ts +27 -0
- package/src/console/ui-next/src/features/observability/data/use-instances-list.ts +27 -0
- package/src/console/ui-next/src/features/observability/data/use-runs-query.ts +39 -0
- package/src/console/ui-next/src/features/observability/data/use-signals-list.ts +25 -0
- package/src/console/ui-next/src/features/observability/detail/ai-rail.tsx +77 -0
- package/src/console/ui-next/src/features/observability/detail/instance-fleet-sheet.tsx +111 -0
- package/src/console/ui-next/src/features/observability/detail/metrics-chart.tsx +111 -0
- package/src/console/ui-next/src/features/observability/detail/metrics-panel.tsx +154 -0
- package/src/console/ui-next/src/features/observability/explorer/error-list.tsx +139 -0
- package/src/console/ui-next/src/features/observability/explorer/error-row.tsx +84 -0
- package/src/console/ui-next/src/features/observability/explorer/health-strip.tsx +146 -0
- package/src/console/ui-next/src/features/observability/lib/ask-count.test.ts +47 -0
- package/src/console/ui-next/src/features/observability/lib/ask-count.ts +44 -0
- package/src/console/ui-next/src/features/observability/lib/health-cells.test.ts +243 -0
- package/src/console/ui-next/src/features/observability/lib/health-cells.ts +207 -0
- package/src/console/ui-next/src/features/observability/lib/run-fixture.ts +43 -0
- package/src/console/ui-next/src/features/observability/lib/time-buckets.test.ts +61 -0
- package/src/console/ui-next/src/features/observability/lib/time-buckets.ts +126 -0
- package/src/console/ui-next/src/features/observability/lib/token-count.test.ts +75 -0
- package/src/console/ui-next/src/features/observability/lib/token-count.ts +70 -0
- package/src/console/ui-next/src/features/observability/lib/top-errors.test.ts +89 -0
- package/src/console/ui-next/src/features/observability/lib/top-errors.ts +135 -0
- package/src/console/ui-next/src/features/observability/lib/window-stats.test.ts +62 -0
- package/src/console/ui-next/src/features/observability/lib/window-stats.ts +124 -0
- package/src/console/ui-next/src/features/observability/observability-page.tsx +217 -0
- package/src/console/ui-next/src/features/observability/query/runs-query-panel.tsx +91 -0
- package/src/console/ui-next/src/features/observability/state/observability-selection.test.ts +27 -0
- package/src/console/ui-next/src/features/observability/state/observability-selection.ts +121 -0
- package/src/console/ui-next/src/features/setup/auth-gate.test.ts +17 -0
- package/src/console/ui-next/src/features/setup/auth-gate.ts +21 -0
- package/src/console/ui-next/src/features/setup/claim-page.tsx +418 -0
- package/src/console/ui-next/src/features/store/data/use-gates.ts +26 -0
- package/src/console/ui-next/src/features/store/data/use-store-edit.ts +92 -0
- package/src/console/ui-next/src/features/store/data/use-store-files.ts +96 -0
- package/src/console/ui-next/src/features/store/data/use-store-kv-stats.ts +47 -0
- package/src/console/ui-next/src/features/store/data/use-store-query.test.ts +42 -0
- package/src/console/ui-next/src/features/store/data/use-store-query.ts +68 -0
- package/src/console/ui-next/src/features/store/data/use-store-reveal.ts +28 -0
- package/src/console/ui-next/src/features/store/data/use-store-sql-advise.ts +39 -0
- package/src/console/ui-next/src/features/store/data/use-store-sql-locks.ts +51 -0
- package/src/console/ui-next/src/features/store/data/use-store-sql-stats.ts +47 -0
- package/src/console/ui-next/src/features/store/data/use-store-sql.ts +39 -0
- package/src/console/ui-next/src/features/store/data/use-stores-list.ts +24 -0
- package/src/console/ui-next/src/features/store/detail/browse-section.tsx +692 -0
- package/src/console/ui-next/src/features/store/detail/json-value-sheet.tsx +470 -0
- package/src/console/ui-next/src/features/store/detail/resource-panel.tsx +325 -0
- package/src/console/ui-next/src/features/store/detail/reveal-cell.tsx +137 -0
- package/src/console/ui-next/src/features/store/detail/store-row-detail-sheet.tsx +225 -0
- package/src/console/ui-next/src/features/store/detail/touched-by-section.tsx +101 -0
- package/src/console/ui-next/src/features/store/explorer/store-tree.tsx +1044 -0
- package/src/console/ui-next/src/features/store/files/file-explorer.tsx +563 -0
- package/src/console/ui-next/src/features/store/files/file-kind-icon.tsx +70 -0
- package/src/console/ui-next/src/features/store/files/file-preview.tsx +338 -0
- package/src/console/ui-next/src/features/store/files/file-upload-sheet.tsx +190 -0
- package/src/console/ui-next/src/features/store/grid/catalog-advanced.tsx +80 -0
- package/src/console/ui-next/src/features/store/grid/extension-library-sheet.tsx +761 -0
- package/src/console/ui-next/src/features/store/grid/kv-add-sheet.tsx +165 -0
- package/src/console/ui-next/src/features/store/grid/pending-changes-sheet.tsx +219 -0
- package/src/console/ui-next/src/features/store/grid/rls-policy-sheet.tsx +875 -0
- package/src/console/ui-next/src/features/store/grid/sql-function-sheet.tsx +473 -0
- package/src/console/ui-next/src/features/store/grid/sql-index-sheet.tsx +355 -0
- package/src/console/ui-next/src/features/store/grid/sql-insert-sheet.tsx +177 -0
- package/src/console/ui-next/src/features/store/grid/sql-trigger-sheet.tsx +445 -0
- package/src/console/ui-next/src/features/store/grid/store-confirm-sheet.tsx +73 -0
- package/src/console/ui-next/src/features/store/grid/store-data-grid.tsx +1844 -0
- package/src/console/ui-next/src/features/store/grid/store-edit-sheet.tsx +329 -0
- package/src/console/ui-next/src/features/store/grid/store-grid-context-menu.tsx +111 -0
- package/src/console/ui-next/src/features/store/grid/store-grid-shortcuts.tsx +124 -0
- package/src/console/ui-next/src/features/store/lib/cell-selection.test.ts +125 -0
- package/src/console/ui-next/src/features/store/lib/cell-selection.ts +115 -0
- package/src/console/ui-next/src/features/store/lib/confirmation.test.ts +48 -0
- package/src/console/ui-next/src/features/store/lib/confirmation.ts +63 -0
- package/src/console/ui-next/src/features/store/lib/edit-history.test.ts +60 -0
- package/src/console/ui-next/src/features/store/lib/edit-history.ts +64 -0
- package/src/console/ui-next/src/features/store/lib/fields-from-table.ts +94 -0
- package/src/console/ui-next/src/features/store/lib/files-body.test.ts +16 -0
- package/src/console/ui-next/src/features/store/lib/files-body.ts +79 -0
- package/src/console/ui-next/src/features/store/lib/files-meta.test.ts +75 -0
- package/src/console/ui-next/src/features/store/lib/files-meta.ts +259 -0
- package/src/console/ui-next/src/features/store/lib/files-origin.test.ts +69 -0
- package/src/console/ui-next/src/features/store/lib/files-origin.ts +53 -0
- package/src/console/ui-next/src/features/store/lib/files-tree.test.ts +123 -0
- package/src/console/ui-next/src/features/store/lib/files-tree.ts +233 -0
- package/src/console/ui-next/src/features/store/lib/grid-model.test.ts +127 -0
- package/src/console/ui-next/src/features/store/lib/grid-model.ts +219 -0
- package/src/console/ui-next/src/features/store/lib/grid-transfer.test.ts +123 -0
- package/src/console/ui-next/src/features/store/lib/grid-transfer.ts +217 -0
- package/src/console/ui-next/src/features/store/lib/index-query.test.ts +30 -0
- package/src/console/ui-next/src/features/store/lib/index-query.ts +57 -0
- package/src/console/ui-next/src/features/store/lib/json-value.test.ts +141 -0
- package/src/console/ui-next/src/features/store/lib/json-value.ts +266 -0
- package/src/console/ui-next/src/features/store/lib/kv-format.test.ts +44 -0
- package/src/console/ui-next/src/features/store/lib/kv-format.ts +103 -0
- package/src/console/ui-next/src/features/store/lib/kv-meta.test.ts +43 -0
- package/src/console/ui-next/src/features/store/lib/kv-meta.ts +63 -0
- package/src/console/ui-next/src/features/store/lib/kv-query.test.ts +128 -0
- package/src/console/ui-next/src/features/store/lib/kv-query.ts +303 -0
- package/src/console/ui-next/src/features/store/lib/parse-resource-ref.ts +38 -0
- package/src/console/ui-next/src/features/store/lib/patch.test.ts +99 -0
- package/src/console/ui-next/src/features/store/lib/patch.ts +129 -0
- package/src/console/ui-next/src/features/store/lib/pending-edits.test.ts +125 -0
- package/src/console/ui-next/src/features/store/lib/pending-edits.ts +150 -0
- package/src/console/ui-next/src/features/store/lib/pending-sql.test.ts +108 -0
- package/src/console/ui-next/src/features/store/lib/pending-sql.ts +136 -0
- package/src/console/ui-next/src/features/store/lib/pg-extension-library.test.ts +117 -0
- package/src/console/ui-next/src/features/store/lib/pg-extension-library.ts +277 -0
- package/src/console/ui-next/src/features/store/lib/query-defaults.test.ts +78 -0
- package/src/console/ui-next/src/features/store/lib/query-defaults.ts +77 -0
- package/src/console/ui-next/src/features/store/lib/query-gate.test.ts +132 -0
- package/src/console/ui-next/src/features/store/lib/query-gate.ts +187 -0
- package/src/console/ui-next/src/features/store/lib/query-highlight.test.ts +103 -0
- package/src/console/ui-next/src/features/store/lib/query-highlight.ts +382 -0
- package/src/console/ui-next/src/features/store/lib/query-schema.test.ts +139 -0
- package/src/console/ui-next/src/features/store/lib/query-schema.ts +128 -0
- package/src/console/ui-next/src/features/store/lib/query-session.test.ts +91 -0
- package/src/console/ui-next/src/features/store/lib/query-session.ts +330 -0
- package/src/console/ui-next/src/features/store/lib/replica-lag.test.ts +101 -0
- package/src/console/ui-next/src/features/store/lib/replica-lag.ts +31 -0
- package/src/console/ui-next/src/features/store/lib/resource-effects.ts +12 -0
- package/src/console/ui-next/src/features/store/lib/rls-gate-catalog.test.ts +131 -0
- package/src/console/ui-next/src/features/store/lib/rls-gate-catalog.ts +274 -0
- package/src/console/ui-next/src/features/store/lib/rls-policy.test.ts +95 -0
- package/src/console/ui-next/src/features/store/lib/rls-policy.ts +290 -0
- package/src/console/ui-next/src/features/store/lib/rtl.test.ts +17 -0
- package/src/console/ui-next/src/features/store/lib/rtl.ts +15 -0
- package/src/console/ui-next/src/features/store/lib/schema-color.test.ts +91 -0
- package/src/console/ui-next/src/features/store/lib/schema-color.ts +216 -0
- package/src/console/ui-next/src/features/store/lib/schema-graph.test.ts +435 -0
- package/src/console/ui-next/src/features/store/lib/schema-graph.ts +566 -0
- package/src/console/ui-next/src/features/store/lib/sql-catalog.test.ts +60 -0
- package/src/console/ui-next/src/features/store/lib/sql-catalog.ts +98 -0
- package/src/console/ui-next/src/features/store/lib/sql-complete.test.ts +109 -0
- package/src/console/ui-next/src/features/store/lib/sql-complete.ts +385 -0
- package/src/console/ui-next/src/features/store/lib/sql-format.test.ts +35 -0
- package/src/console/ui-next/src/features/store/lib/sql-format.ts +85 -0
- package/src/console/ui-next/src/features/store/lib/sql-function.test.ts +141 -0
- package/src/console/ui-next/src/features/store/lib/sql-function.ts +195 -0
- package/src/console/ui-next/src/features/store/lib/sql-index.test.ts +101 -0
- package/src/console/ui-next/src/features/store/lib/sql-index.ts +151 -0
- package/src/console/ui-next/src/features/store/lib/sql-statements.test.ts +114 -0
- package/src/console/ui-next/src/features/store/lib/sql-statements.ts +205 -0
- package/src/console/ui-next/src/features/store/lib/sql-trigger.test.ts +125 -0
- package/src/console/ui-next/src/features/store/lib/sql-trigger.ts +210 -0
- package/src/console/ui-next/src/features/store/lib/store-tree.test.ts +220 -0
- package/src/console/ui-next/src/features/store/lib/store-tree.ts +314 -0
- package/src/console/ui-next/src/features/store/performance/advisor-enable.test.ts +16 -0
- package/src/console/ui-next/src/features/store/performance/advisor-enable.ts +26 -0
- package/src/console/ui-next/src/features/store/performance/kv-performance-panel.tsx +223 -0
- package/src/console/ui-next/src/features/store/performance/performance-panel.tsx +442 -0
- package/src/console/ui-next/src/features/store/query/query-complete.tsx +131 -0
- package/src/console/ui-next/src/features/store/query/query-console.tsx +1159 -0
- package/src/console/ui-next/src/features/store/query/query-editor.tsx +300 -0
- package/src/console/ui-next/src/features/store/query/query-gate-menu.tsx +178 -0
- package/src/console/ui-next/src/features/store/query/query-gate-parts.tsx +344 -0
- package/src/console/ui-next/src/features/store/query/query-gate-viz.tsx +166 -0
- package/src/console/ui-next/src/features/store/query/query-highlight-view.tsx +61 -0
- package/src/console/ui-next/src/features/store/query/query-results.tsx +369 -0
- package/src/console/ui-next/src/features/store/query/query-schema-panel.tsx +300 -0
- package/src/console/ui-next/src/features/store/query/sql-style-editor.tsx +73 -0
- package/src/console/ui-next/src/features/store/schema/schema-constraint-icon.tsx +108 -0
- package/src/console/ui-next/src/features/store/schema/schema-relation-edge.tsx +76 -0
- package/src/console/ui-next/src/features/store/schema/schema-relation-icon.tsx +84 -0
- package/src/console/ui-next/src/features/store/schema/schema-table-node.tsx +199 -0
- package/src/console/ui-next/src/features/store/schema/schema-visualizer.tsx +273 -0
- package/src/console/ui-next/src/features/store/state/store-selection.test.ts +38 -0
- package/src/console/ui-next/src/features/store/state/store-selection.ts +154 -0
- package/src/console/ui-next/src/features/store/store-page.tsx +180 -0
- package/src/console/ui-next/src/features/units/call/call-api-panel.tsx +1247 -0
- package/src/console/ui-next/src/features/units/call/call-identity-menu.tsx +226 -0
- package/src/console/ui-next/src/features/units/call/call-pii-button.tsx +60 -0
- package/src/console/ui-next/src/features/units/data/use-flows-invoke.ts +75 -0
- package/src/console/ui-next/src/features/units/detail/effects-summary.tsx +80 -0
- package/src/console/ui-next/src/features/units/detail/errors-section.tsx +64 -0
- package/src/console/ui-next/src/features/units/detail/flow-activity-strip.tsx +119 -0
- package/src/console/ui-next/src/features/units/detail/flow-contract-panel.tsx +335 -0
- package/src/console/ui-next/src/features/units/detail/schema-fields.tsx +149 -0
- package/src/console/ui-next/src/features/units/detail/validation-section.tsx +66 -0
- package/src/console/ui-next/src/features/units/explorer/units-tree.tsx +644 -0
- package/src/console/ui-next/src/features/units/lib/call-invoke-as.test.ts +40 -0
- package/src/console/ui-next/src/features/units/lib/call-read-safe.test.ts +38 -0
- package/src/console/ui-next/src/features/units/lib/call-read-safe.ts +32 -0
- package/src/console/ui-next/src/features/units/lib/call-timing.test.ts +28 -0
- package/src/console/ui-next/src/features/units/lib/call-timing.ts +34 -0
- package/src/console/ui-next/src/features/units/lib/contract-input.test.ts +47 -0
- package/src/console/ui-next/src/features/units/lib/contract-input.ts +68 -0
- package/src/console/ui-next/src/features/units/lib/fields-from-schema.test.ts +119 -0
- package/src/console/ui-next/src/features/units/lib/fields-from-schema.ts +329 -0
- package/src/console/ui-next/src/features/units/lib/fk-lookup.test.ts +103 -0
- package/src/console/ui-next/src/features/units/lib/fk-lookup.ts +175 -0
- package/src/console/ui-next/src/features/units/lib/flow-activity.test.ts +76 -0
- package/src/console/ui-next/src/features/units/lib/flow-activity.ts +68 -0
- package/src/console/ui-next/src/features/units/lib/flow-trigger.test.ts +63 -0
- package/src/console/ui-next/src/features/units/lib/flow-trigger.ts +120 -0
- package/src/console/ui-next/src/features/units/lib/invoke-cache.test.ts +31 -0
- package/src/console/ui-next/src/features/units/lib/invoke-cache.ts +22 -0
- package/src/console/ui-next/src/features/units/lib/invoke-response.test.ts +76 -0
- package/src/console/ui-next/src/features/units/lib/invoke-response.ts +70 -0
- package/src/console/ui-next/src/features/units/lib/path-params.test.ts +43 -0
- package/src/console/ui-next/src/features/units/lib/path-params.ts +75 -0
- package/src/console/ui-next/src/features/units/lib/resolve-clock.test.ts +106 -0
- package/src/console/ui-next/src/features/units/lib/resolve-clock.ts +79 -0
- package/src/console/ui-next/src/features/units/lib/schema-type-visual.ts +28 -0
- package/src/console/ui-next/src/features/units/lib/signal-delivery.test.ts +29 -0
- package/src/console/ui-next/src/features/units/lib/signal-delivery.ts +67 -0
- package/src/console/ui-next/src/features/units/lib/unit-tree.test.ts +289 -0
- package/src/console/ui-next/src/features/units/lib/unit-tree.ts +307 -0
- package/src/console/ui-next/src/features/units/lib/validate-contract.ts +103 -0
- package/src/console/ui-next/src/features/units/state/units-selection.ts +49 -0
- package/src/console/ui-next/src/features/units/units-page.tsx +120 -0
- package/src/console/ui-next/src/features/vault/data/use-vault-list.ts +27 -0
- package/src/console/ui-next/src/features/vault/detail/vault-detail.tsx +831 -0
- package/src/console/ui-next/src/features/vault/detail/vault-overview.tsx +71 -0
- package/src/console/ui-next/src/features/vault/explorer/vault-list.tsx +291 -0
- package/src/console/ui-next/src/features/vault/explorer/vault-posture-strip.tsx +131 -0
- package/src/console/ui-next/src/features/vault/explorer/vault-search.tsx +126 -0
- package/src/console/ui-next/src/features/vault/lib/backend.test.ts +147 -0
- package/src/console/ui-next/src/features/vault/lib/backend.ts +216 -0
- package/src/console/ui-next/src/features/vault/lib/blast-radius.ts +53 -0
- package/src/console/ui-next/src/features/vault/lib/confirmation.test.ts +41 -0
- package/src/console/ui-next/src/features/vault/lib/confirmation.ts +50 -0
- package/src/console/ui-next/src/features/vault/lib/contract-ops.test.ts +35 -0
- package/src/console/ui-next/src/features/vault/lib/contract-ops.ts +94 -0
- package/src/console/ui-next/src/features/vault/lib/dormant.ts +28 -0
- package/src/console/ui-next/src/features/vault/lib/export-safe.test.ts +25 -0
- package/src/console/ui-next/src/features/vault/lib/export-safe.ts +62 -0
- package/src/console/ui-next/src/features/vault/lib/fixture.ts +92 -0
- package/src/console/ui-next/src/features/vault/lib/group.test.ts +31 -0
- package/src/console/ui-next/src/features/vault/lib/group.ts +43 -0
- package/src/console/ui-next/src/features/vault/lib/posture.test.ts +137 -0
- package/src/console/ui-next/src/features/vault/lib/posture.ts +275 -0
- package/src/console/ui-next/src/features/vault/lib/progress.test.ts +36 -0
- package/src/console/ui-next/src/features/vault/lib/progress.ts +51 -0
- package/src/console/ui-next/src/features/vault/lib/search.test.ts +139 -0
- package/src/console/ui-next/src/features/vault/lib/search.ts +403 -0
- package/src/console/ui-next/src/features/vault/lib/theme.ts +14 -0
- package/src/console/ui-next/src/features/vault/lib/types.ts +114 -0
- package/src/console/ui-next/src/features/vault/lib/write-review.test.ts +139 -0
- package/src/console/ui-next/src/features/vault/lib/write-review.ts +115 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-create-sheet.tsx +209 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-master-key-sheet.tsx +87 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-rotate-master-sheet.tsx +43 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-security-sheet.tsx +205 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-verify-sheet.tsx +103 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-write-review-dialog.test.tsx +175 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-write-review-dialog.tsx +135 -0
- package/src/console/ui-next/src/features/vault/sheets/vault-write-sheet.tsx +224 -0
- package/src/console/ui-next/src/features/vault/state/vault-selection.test.ts +20 -0
- package/src/console/ui-next/src/features/vault/state/vault-selection.ts +87 -0
- package/src/console/ui-next/src/features/vault/vault-page.tsx +439 -0
- package/src/console/ui-next/src/hooks/use-mobile.ts +22 -0
- package/src/console/ui-next/src/lib/document-meta.test.ts +43 -0
- package/src/console/ui-next/src/lib/document-meta.ts +34 -0
- package/src/console/ui-next/src/lib/ease.ts +59 -0
- package/src/console/ui-next/src/lib/element-icons.test.ts +38 -0
- package/src/console/ui-next/src/lib/element-icons.ts +75 -0
- package/src/console/ui-next/src/lib/highlight.test.ts +30 -0
- package/src/console/ui-next/src/lib/highlight.ts +39 -0
- package/src/console/ui-next/src/lib/hooks/use-hover-capable.ts +30 -0
- package/src/console/ui-next/src/lib/last-module-search.test.ts +47 -0
- package/src/console/ui-next/src/lib/last-module-search.ts +164 -0
- package/src/console/ui-next/src/lib/motion.ts +16 -0
- package/src/console/ui-next/src/lib/shiki.ts +42 -0
- package/src/console/ui-next/src/lib/shortcut-keys.tsx +47 -0
- package/src/console/ui-next/src/lib/shortcut.test.ts +70 -0
- package/src/console/ui-next/src/lib/shortcut.ts +111 -0
- package/src/console/ui-next/src/lib/use-console-shortcuts.ts +56 -0
- package/src/console/ui-next/src/lib/use-last-module-search.ts +37 -0
- package/src/console/ui-next/src/lib/utils.ts +15 -0
- package/src/console/ui-next/src/main.tsx +44 -0
- package/src/console/ui-next/src/router.tsx +175 -0
- package/src/console/ui-next/src/styles.css +384 -0
- package/src/console/ui-next/src/vite-env.d.ts +17 -0
- package/src/console/ui-next/tsconfig.json +25 -0
- package/src/console/ui-next/ui-next-dev-operator.test.ts +76 -0
- package/src/console/ui-next/ui-next-dev-operator.ts +81 -0
- package/src/console/ui-next/ui-next-seed-app-schema.ts +526 -0
- package/src/console/ui-next/ui-next-seed-manifest-surface.ts +882 -0
- package/src/console/ui-next/ui-next-seed-manifest.ts +635 -0
- package/src/console/ui-next/ui-next-seed-runs.ts +1429 -0
- package/src/console/ui-next/ui-next-seed-store.ts +1125 -0
- package/src/console/ui-next/ui-next-seed.test.ts +511 -0
- package/src/console/ui-next/ui-next-seed.ts +122 -0
- package/src/console/ui-next/vite-console-kernel-plugin.ts +195 -0
- package/src/console/ui-next/vite.config.ts +88 -0
- package/src/console/xss.gate.test.ts +21 -26
- package/src/docker/compose.ts +26 -7
- package/src/docker/derive.ts +67 -13
- package/src/docker/docker.test.ts +219 -27
- package/src/docker/helpers.ts +48 -0
- package/src/docker/images-config.test.ts +29 -22
- package/src/docker/index.ts +8 -0
- package/src/docker/postgres-advisor.integration.test.ts +163 -0
- package/src/docker/query-passthrough.integration.test.ts +212 -0
- package/src/docker/recipes/dragonfly.ts +3 -6
- package/src/docker/recipes/index.ts +13 -0
- package/src/docker/recipes/llama-cpp.ts +3 -3
- package/src/docker/recipes/nginx.ts +61 -0
- package/src/docker/recipes/ollama.ts +1 -1
- package/src/docker/recipes/postgres-advisor.ts +58 -0
- package/src/docker/recipes/postgres.ts +6 -2
- package/src/docker/recipes/redis.ts +2 -6
- package/src/docker/recipes/sglang.ts +1 -1
- package/src/docker/recipes/timescale.ts +6 -2
- package/src/docker/recipes/traefik.ts +1 -0
- package/src/docker/recipes/valkey.ts +2 -6
- package/src/docker/recipes/vllm.ts +1 -1
- package/src/docker/stack-id.test.ts +5 -14
- package/src/docker/stack-id.ts +15 -35
- package/src/docker/stack.integration.test.ts +2 -2
- package/src/docker/types.ts +16 -7
- package/src/drivers/ai-mock.ts +41 -1
- package/src/drivers/ai-openai-compatible.ts +19 -1
- package/src/drivers/index.ts +32 -0
- package/src/drivers/instances-postgres.ts +154 -0
- package/src/drivers/meilisearch.integration.test.ts +9 -0
- package/src/drivers/meilisearch.test.ts +134 -6
- package/src/drivers/meilisearch.ts +77 -8
- package/src/drivers/memory.ts +384 -24
- package/src/drivers/pg-extensions.test.ts +50 -0
- package/src/drivers/pg-extensions.ts +1054 -0
- package/src/drivers/pg-rls.test.ts +71 -0
- package/src/drivers/pg-rls.ts +234 -0
- package/src/drivers/pgvector.ts +24 -0
- package/src/drivers/redis.ts +12 -0
- package/src/drivers/s3-ensure-bucket.test.ts +88 -0
- package/src/drivers/s3-ensure-bucket.ts +152 -0
- package/src/drivers/s3.ts +34 -2
- package/src/drivers/types.ts +29 -1
- package/src/drivers/vault-1password.test.ts +164 -0
- package/src/drivers/vault-1password.ts +351 -0
- package/src/drivers/vault-aws-secrets-manager.ts +15 -94
- package/src/drivers/vault-azure-key-vault.test.ts +137 -0
- package/src/drivers/vault-azure-key-vault.ts +243 -0
- package/src/drivers/vault-doppler.test.ts +133 -0
- package/src/drivers/vault-doppler.ts +202 -0
- package/src/drivers/vault-dotenv-parse.ts +32 -0
- package/src/drivers/vault-env.ts +1 -1
- package/src/drivers/vault-gcp-secret-manager.test.ts +127 -0
- package/src/drivers/vault-gcp-secret-manager.ts +291 -0
- package/src/drivers/vault-managed.test.ts +23 -26
- package/src/drivers/vault-managed.ts +58 -20
- package/src/drivers/vault-remote-bag.ts +242 -0
- package/src/drivers/vault-types.ts +9 -7
- package/src/elements/ai/runtime.ts +100 -8
- package/src/elements/ai/schema.test.ts +133 -0
- package/src/elements/ai/schema.ts +156 -11
- package/src/elements/ai.test.ts +53 -0
- package/src/elements/ai.ts +1 -0
- package/src/elements/clock/runtime.ts +31 -13
- package/src/elements/clock.test.ts +49 -0
- package/src/elements/gate/config.ts +18 -3
- package/src/elements/gate/declare.ts +25 -5
- package/src/elements/gate/flatten.ts +74 -0
- package/src/elements/gate/permissions.ts +1 -0
- package/src/elements/gate/runtime.ts +19 -7
- package/src/elements/gate.test.ts +32 -0
- package/src/elements/gate.ts +9 -1
- package/src/elements/store/cache.test.ts +79 -0
- package/src/elements/store/cache.ts +176 -0
- package/src/elements/store/classify.ts +79 -4
- package/src/elements/store/declare.ts +7 -0
- package/src/elements/store/emit-drizzle.ts +3 -1
- package/src/elements/store/files-policy.test.ts +36 -1
- package/src/elements/store/files-policy.ts +151 -0
- package/src/elements/store/kv-sql.test.ts +86 -0
- package/src/elements/store/kv-sql.ts +178 -0
- package/src/elements/store/resource-list-docs.fixture.ts +0 -2
- package/src/elements/store/resource-list-docs.test.ts +3 -0
- package/src/elements/store/resource.test.ts +62 -2
- package/src/elements/store/resource.ts +279 -62
- package/src/elements/store/runtime.ts +88 -11
- package/src/elements/store/schema-decl.test.ts +49 -0
- package/src/elements/store/schema-decl.ts +29 -9
- package/src/elements/store/seed.test.ts +22 -1
- package/src/elements/store/seed.ts +46 -1
- package/src/elements/store/sql-session.ts +32 -7
- package/src/elements/store/table.ts +17 -1
- package/src/elements/store/upsert-app.test.ts +1 -1
- package/src/elements/store.test.ts +23 -0
- package/src/elements/store.ts +26 -3
- package/src/elements/vault/boot-chain.test.ts +108 -10
- package/src/elements/vault/boot-chain.ts +15 -15
- package/src/elements/vault/builtin-adapter.test.ts +1 -0
- package/src/elements/vault/builtin-adapter.ts +12 -0
- package/src/elements/vault/chain.ts +6 -20
- package/src/elements/vault/declare.ts +5 -2
- package/src/elements/vault/runtime.ts +47 -13
- package/src/elements/vault/storage.ts +35 -4
- package/src/elements/vault.test.ts +1 -0
- package/src/elements/vault.ts +2 -0
- package/src/full.ts +10 -0
- package/src/http.ts +1 -1
- package/src/index.ts +8 -0
- package/src/kernel/adopt-barrel-fresh.test.ts +1 -2
- package/src/kernel/app-auth.ts +8 -1
- package/src/kernel/app.ts +245 -25
- package/src/kernel/auth-resolve.ts +51 -0
- package/src/kernel/auto-cache.test.ts +270 -0
- package/src/kernel/boot-bind/ai.test.ts +34 -1
- package/src/kernel/boot-bind/ai.ts +15 -2
- package/src/kernel/boot-bind/channel.test.ts +1 -1
- package/src/kernel/boot-bind/channel.ts +1 -1
- package/src/kernel/boot-bind/clock.ts +9 -7
- package/src/kernel/boot-bind/gate.ts +1 -1
- package/src/kernel/boot-bind/honor-config.test.ts +70 -3
- package/src/kernel/boot-bind/instances.ts +58 -0
- package/src/kernel/boot-bind/journal.ts +3 -2
- package/src/kernel/boot-bind/runs.ts +63 -5
- package/src/kernel/boot-bind/signal.ts +1 -1
- package/src/kernel/boot-bind/store.test.ts +150 -1
- package/src/kernel/boot-bind/store.ts +70 -5
- package/src/kernel/boot.test.ts +9 -9
- package/src/kernel/boot.ts +115 -16
- package/src/kernel/capability.test.ts +42 -0
- package/src/kernel/capability.ts +44 -2
- package/src/kernel/compensate.test.ts +34 -1
- package/src/kernel/compensate.ts +19 -0
- package/src/kernel/effect-timing.test.ts +16 -0
- package/src/kernel/effects-stamping.test.ts +3 -3
- package/src/kernel/effects.test.ts +15 -0
- package/src/kernel/effects.ts +39 -5
- package/src/kernel/elapsed.test.ts +26 -0
- package/src/kernel/elapsed.ts +23 -0
- package/src/kernel/errors.ts +26 -3
- package/src/kernel/flow.ts +5 -1
- package/src/kernel/fx-ask-telemetry.test.ts +114 -0
- package/src/kernel/fx.test.ts +143 -2
- package/src/kernel/fx.ts +136 -19
- package/src/kernel/graceful-shutdown.test.ts +20 -0
- package/src/kernel/graceful-shutdown.ts +9 -3
- package/src/kernel/horizontal-child.ts +4 -4
- package/src/kernel/http-query.test.ts +184 -0
- package/src/kernel/http-resource.ts +55 -0
- package/src/kernel/index.ts +43 -0
- package/src/kernel/instance-id.ts +23 -0
- package/src/kernel/instances-chaos-child.ts +73 -0
- package/src/kernel/instances.chaos.test.ts +238 -0
- package/src/kernel/instances.test.ts +85 -0
- package/src/kernel/instances.ts +372 -0
- package/src/kernel/lazy-require.ts +20 -0
- package/src/kernel/list-page.test.ts +194 -0
- package/src/kernel/list-page.ts +515 -0
- package/src/kernel/list-query.ts +469 -0
- package/src/kernel/pipeline-api-key.test.ts +266 -0
- package/src/kernel/pipeline.test.ts +164 -2
- package/src/kernel/pipeline.ts +13 -1
- package/src/kernel/plugin-elements.test.ts +1 -1
- package/src/kernel/plugin-needs.test.ts +1 -1
- package/src/kernel/plugin.ts +5 -5
- package/src/kernel/ready.test.ts +22 -2
- package/src/kernel/registry.ts +8 -4
- package/src/kernel/resource-mount.test.ts +75 -0
- package/src/kernel/router/index.ts +2 -0
- package/src/kernel/router/linear.ts +7 -0
- package/src/kernel/router/regexp.ts +8 -0
- package/src/kernel/router/smart.ts +7 -3
- package/src/kernel/router/trie.ts +7 -0
- package/src/kernel/router/types.ts +41 -1
- package/src/kernel/router.test.ts +27 -0
- package/src/kernel/router.ts +2 -0
- package/src/kernel/run-duration.test.ts +92 -0
- package/src/kernel/run-telemetry.ts +8 -2
- package/src/kernel/triggers.ts +95 -74
- package/src/manifest/diff.test.ts +13 -0
- package/src/manifest/diff.ts +15 -0
- package/src/manifest/sql-resource.test.ts +29 -0
- package/src/manifest/sql-resource.ts +20 -4
- package/src/manifest/types.ts +13 -3
- package/src/plugins/auth-delivery.mailpit.integration.test.ts +1 -1
- package/src/plugins/auth-methods.security.test.ts +3 -3
- package/src/plugins/auth-methods.test.ts +2 -2
- package/src/plugins/cors.test.ts +4 -2
- package/src/plugins/cors.ts +11 -2
- package/src/plugins/csrf.test.ts +17 -0
- package/src/plugins/csrf.ts +1 -1
- package/src/plugins/username-policy.test.ts +8 -8
- package/src/plugins/username.ts +1 -1
- package/src/release/build-lib.ts +7 -1
- package/src/release/limits.ts +2 -2
- package/src/release/measure.ts +7 -10
- package/src/runs/bridge-to-console.ts +99 -0
- package/src/runs/collect.test.ts +68 -0
- package/src/runs/collect.ts +29 -2
- package/src/runs/drivers/clickhouse.ts +4 -1
- package/src/runs/drivers/files.ts +138 -33
- package/src/runs/drivers/memory.ts +46 -7
- package/src/runs/drivers/postgres.ts +4 -1
- package/src/runs/duckdb.test.ts +33 -0
- package/src/runs/duckdb.ts +41 -0
- package/src/runs/history.ts +61 -0
- package/src/runs/index.ts +29 -1
- package/src/runs/parquet.test.ts +110 -0
- package/src/runs/parquet.ts +129 -8
- package/src/runs/retention.test.ts +24 -0
- package/src/runs/retention.ts +42 -0
- package/src/runs/runs.test.ts +101 -0
- package/src/runs/runtime.ts +5 -3
- package/src/runs/types.ts +33 -4
- package/src/runtime/bun.ts +61 -4
- package/src/runtime/dev-request-log.test.ts +4 -0
- package/src/runtime/dev-request-log.ts +19 -2
- package/src/runtime/index.ts +8 -1
- package/src/runtime/json-code-block.test.ts +355 -0
- package/src/runtime/json-code-block.ts +961 -0
- package/src/runtime/serve.test.ts +49 -4
- package/src/term.test.ts +89 -1
- package/src/term.ts +103 -29
- package/src/test/create-test-app.ts +3 -1
- package/src/console/ui/access/AccessA11yView.tsx +0 -222
- package/src/console/ui/access/a11y.test.tsx +0 -113
- package/src/console/ui/access/acknowledgement.test.ts +0 -10
- package/src/console/ui/access/acknowledgement.ts +0 -33
- package/src/console/ui/access/blast-radius.test.ts +0 -26
- package/src/console/ui/access/blast-radius.ts +0 -38
- package/src/console/ui/access/confirmation.test.ts +0 -34
- package/src/console/ui/access/confirmation.ts +0 -33
- package/src/console/ui/access/fixture.ts +0 -199
- package/src/console/ui/access/grantable.test.ts +0 -15
- package/src/console/ui/access/grantable.ts +0 -31
- package/src/console/ui/access/hygiene.test.ts +0 -12
- package/src/console/ui/access/hygiene.ts +0 -39
- package/src/console/ui/access/index.ts +0 -47
- package/src/console/ui/access/provenance.test.ts +0 -10
- package/src/console/ui/access/provenance.ts +0 -25
- package/src/console/ui/access/search.test.ts +0 -13
- package/src/console/ui/access/search.ts +0 -68
- package/src/console/ui/access/types.ts +0 -111
- package/src/console/ui/ai/AiA11yView.tsx +0 -254
- package/src/console/ui/ai/a11y.test.tsx +0 -96
- package/src/console/ui/ai/findings.ts +0 -41
- package/src/console/ui/ai/fixture.ts +0 -177
- package/src/console/ui/ai/format.ts +0 -88
- package/src/console/ui/ai/group.test.ts +0 -35
- package/src/console/ui/ai/group.ts +0 -80
- package/src/console/ui/ai/index.ts +0 -59
- package/src/console/ui/ai/promotion.test.ts +0 -72
- package/src/console/ui/ai/promotion.ts +0 -141
- package/src/console/ui/ai/search.test.ts +0 -31
- package/src/console/ui/ai/search.ts +0 -79
- package/src/console/ui/ai/types.ts +0 -132
- package/src/console/ui/architecture/ArchitectureA11yView.tsx +0 -142
- package/src/console/ui/architecture/a11y.test.tsx +0 -96
- package/src/console/ui/architecture/boundary.ts +0 -42
- package/src/console/ui/architecture/declared.ts +0 -161
- package/src/console/ui/architecture/fixture.ts +0 -74
- package/src/console/ui/architecture/index.ts +0 -56
- package/src/console/ui/architecture/layers.ts +0 -64
- package/src/console/ui/architecture/layout.ts +0 -66
- package/src/console/ui/architecture/pathologies.ts +0 -251
- package/src/console/ui/architecture/search.ts +0 -136
- package/src/console/ui/architecture/traffic.ts +0 -92
- package/src/console/ui/architecture/types.ts +0 -136
- package/src/console/ui/architecture/view.test.ts +0 -153
- package/src/console/ui/architecture/view.ts +0 -489
- package/src/console/ui/channels/ChannelsA11yView.tsx +0 -171
- package/src/console/ui/channels/a11y.test.tsx +0 -95
- package/src/console/ui/channels/confirmation.test.ts +0 -34
- package/src/console/ui/channels/confirmation.ts +0 -24
- package/src/console/ui/channels/fallback.test.ts +0 -15
- package/src/console/ui/channels/fallback.ts +0 -20
- package/src/console/ui/channels/findings.ts +0 -34
- package/src/console/ui/channels/fixture.ts +0 -134
- package/src/console/ui/channels/group.ts +0 -25
- package/src/console/ui/channels/index.ts +0 -51
- package/src/console/ui/channels/locale.test.ts +0 -15
- package/src/console/ui/channels/locale.ts +0 -25
- package/src/console/ui/channels/mask.test.ts +0 -14
- package/src/console/ui/channels/mask.ts +0 -12
- package/src/console/ui/channels/search.ts +0 -49
- package/src/console/ui/channels/taxonomy.test.ts +0 -17
- package/src/console/ui/channels/taxonomy.ts +0 -47
- package/src/console/ui/channels/types.ts +0 -118
- package/src/console/ui/clock/ClockA11yView.tsx +0 -165
- package/src/console/ui/clock/a11y.test.tsx +0 -96
- package/src/console/ui/clock/confirmation.test.ts +0 -30
- package/src/console/ui/clock/confirmation.ts +0 -31
- package/src/console/ui/clock/findings.ts +0 -37
- package/src/console/ui/clock/fixture.ts +0 -111
- package/src/console/ui/clock/health.test.ts +0 -25
- package/src/console/ui/clock/health.ts +0 -56
- package/src/console/ui/clock/index.ts +0 -41
- package/src/console/ui/clock/search.test.ts +0 -37
- package/src/console/ui/clock/search.ts +0 -72
- package/src/console/ui/clock/timeline.test.ts +0 -42
- package/src/console/ui/clock/timeline.ts +0 -41
- package/src/console/ui/clock/types.ts +0 -79
- package/src/console/ui/clock/waiting-on.test.ts +0 -30
- package/src/console/ui/clock/waiting-on.ts +0 -78
- package/src/console/ui/confirmation.unify.test.ts +0 -92
- package/src/console/ui/diff/DiffA11yView.tsx +0 -76
- package/src/console/ui/diff/a11y.test.tsx +0 -96
- package/src/console/ui/diff/fixture.ts +0 -85
- package/src/console/ui/diff/group.test.ts +0 -48
- package/src/console/ui/diff/group.ts +0 -91
- package/src/console/ui/diff/index.ts +0 -32
- package/src/console/ui/diff/search.test.ts +0 -28
- package/src/console/ui/diff/search.ts +0 -63
- package/src/console/ui/diff/summary.ts +0 -73
- package/src/console/ui/diff/types.ts +0 -48
- package/src/console/ui/display.test.ts +0 -14
- package/src/console/ui/display.ts +0 -9
- package/src/console/ui/dist/assets/index--Y0Uaz-m.js +0 -10
- package/src/console/ui/dist/assets/panel-access-ri1X9Otj.js +0 -64
- package/src/console/ui/dist/assets/panel-ai-DLHjRoJk.js +0 -1
- package/src/console/ui/dist/assets/panel-architecture-DI3bQF3J.js +0 -1
- package/src/console/ui/dist/assets/panel-channels-BDYWX29p.js +0 -1
- package/src/console/ui/dist/assets/panel-clock-i-JpTjVB.js +0 -1
- package/src/console/ui/dist/assets/panel-diff-CFuWxiXy.js +0 -1
- package/src/console/ui/dist/assets/panel-flows-B8TRhcoe.js +0 -48
- package/src/console/ui/dist/assets/panel-gates-CfkBgco7.js +0 -1
- package/src/console/ui/dist/assets/panel-overview-CW0CQEc2.js +0 -1
- package/src/console/ui/dist/assets/panel-plugins-DDJwTehL.js +0 -1
- package/src/console/ui/dist/assets/panel-runs-BxuyDI3x.js +0 -1
- package/src/console/ui/dist/assets/panel-signals-BXofbj7v.js +0 -1
- package/src/console/ui/dist/assets/panel-store-B8mH-arU.js +0 -1
- package/src/console/ui/dist/assets/panel-traces-DSA-ZWnf.js +0 -1
- package/src/console/ui/dist/assets/panel-vault-BkZdJPX8.js +0 -1
- package/src/console/ui/dist/assets/rolldown-runtime-B0Z9INg1.js +0 -1
- package/src/console/ui/dist/assets/style-C3L349iZ.css +0 -3
- package/src/console/ui/dist/favicon.svg +0 -7
- package/src/console/ui/dist/index.html +0 -15
- package/src/console/ui/flows/FlowsA11yView.tsx +0 -140
- package/src/console/ui/flows/a11y.test.tsx +0 -99
- package/src/console/ui/flows/buffer.test.ts +0 -83
- package/src/console/ui/flows/buffer.ts +0 -111
- package/src/console/ui/flows/confirmation.ts +0 -129
- package/src/console/ui/flows/contract.test.ts +0 -85
- package/src/console/ui/flows/contract.ts +0 -329
- package/src/console/ui/flows/fixture.ts +0 -81
- package/src/console/ui/flows/graph.test.ts +0 -93
- package/src/console/ui/flows/graph.ts +0 -539
- package/src/console/ui/flows/index.ts +0 -82
- package/src/console/ui/flows/save-as-test.test.ts +0 -47
- package/src/console/ui/flows/save-as-test.ts +0 -97
- package/src/console/ui/flows/search.ts +0 -238
- package/src/console/ui/flows/tiers.ts +0 -133
- package/src/console/ui/gates/GatesA11yView.tsx +0 -183
- package/src/console/ui/gates/a11y.test.tsx +0 -113
- package/src/console/ui/gates/audit.test.ts +0 -40
- package/src/console/ui/gates/audit.ts +0 -61
- package/src/console/ui/gates/denial.test.ts +0 -34
- package/src/console/ui/gates/denial.ts +0 -43
- package/src/console/ui/gates/findings.ts +0 -17
- package/src/console/ui/gates/fixture.ts +0 -193
- package/src/console/ui/gates/group.test.ts +0 -30
- package/src/console/ui/gates/group.ts +0 -94
- package/src/console/ui/gates/index.ts +0 -39
- package/src/console/ui/gates/search.test.ts +0 -49
- package/src/console/ui/gates/search.ts +0 -108
- package/src/console/ui/gates/types.ts +0 -124
- package/src/console/ui/overview/OverviewA11yView.tsx +0 -134
- package/src/console/ui/overview/a11y.test.tsx +0 -112
- package/src/console/ui/overview/busiest.ts +0 -24
- package/src/console/ui/overview/compose.ts +0 -121
- package/src/console/ui/overview/cost.test.ts +0 -39
- package/src/console/ui/overview/cost.ts +0 -134
- package/src/console/ui/overview/fixture.ts +0 -156
- package/src/console/ui/overview/golden.ts +0 -47
- package/src/console/ui/overview/index.ts +0 -52
- package/src/console/ui/overview/rank.test.ts +0 -129
- package/src/console/ui/overview/rank.ts +0 -205
- package/src/console/ui/overview/slo.test.ts +0 -69
- package/src/console/ui/overview/slo.ts +0 -240
- package/src/console/ui/overview/types.ts +0 -127
- package/src/console/ui/overview/verdict.ts +0 -124
- package/src/console/ui/plugins/PluginsA11yView.tsx +0 -217
- package/src/console/ui/plugins/a11y.test.tsx +0 -96
- package/src/console/ui/plugins/command.test.ts +0 -22
- package/src/console/ui/plugins/command.ts +0 -27
- package/src/console/ui/plugins/findings.ts +0 -39
- package/src/console/ui/plugins/fixture.ts +0 -238
- package/src/console/ui/plugins/group.test.ts +0 -36
- package/src/console/ui/plugins/group.ts +0 -62
- package/src/console/ui/plugins/index.ts +0 -30
- package/src/console/ui/plugins/search.ts +0 -55
- package/src/console/ui/plugins/types.ts +0 -118
- package/src/console/ui/runs/RunsA11yView.tsx +0 -252
- package/src/console/ui/runs/a11y.test.tsx +0 -96
- package/src/console/ui/runs/errors.test.ts +0 -53
- package/src/console/ui/runs/errors.ts +0 -88
- package/src/console/ui/runs/explain.test.ts +0 -23
- package/src/console/ui/runs/explain.ts +0 -28
- package/src/console/ui/runs/fixture.ts +0 -189
- package/src/console/ui/runs/group.test.ts +0 -24
- package/src/console/ui/runs/group.ts +0 -76
- package/src/console/ui/runs/histogram.test.ts +0 -22
- package/src/console/ui/runs/histogram.ts +0 -82
- package/src/console/ui/runs/index.ts +0 -69
- package/src/console/ui/runs/project.ts +0 -118
- package/src/console/ui/runs/query.test.ts +0 -48
- package/src/console/ui/runs/query.ts +0 -260
- package/src/console/ui/runs/search.test.ts +0 -45
- package/src/console/ui/runs/search.ts +0 -143
- package/src/console/ui/runs/trace-link.test.ts +0 -26
- package/src/console/ui/runs/trace-link.ts +0 -87
- package/src/console/ui/runs/types.ts +0 -135
- package/src/console/ui/shell/App.tsx +0 -88
- package/src/console/ui/shell/client.ts +0 -1642
- package/src/console/ui/shell/components/oke-logo.tsx +0 -40
- package/src/console/ui/shell/components/ui.tsx +0 -111
- package/src/console/ui/shell/index.html +0 -13
- package/src/console/ui/shell/layout/Shell.tsx +0 -92
- package/src/console/ui/shell/main.tsx +0 -216
- package/src/console/ui/shell/panels/Access.tsx +0 -5
- package/src/console/ui/shell/panels/Ai.tsx +0 -5
- package/src/console/ui/shell/panels/Architecture.tsx +0 -5
- package/src/console/ui/shell/panels/Channels.tsx +0 -5
- package/src/console/ui/shell/panels/Clock.tsx +0 -5
- package/src/console/ui/shell/panels/Diff.tsx +0 -5
- package/src/console/ui/shell/panels/Flows.tsx +0 -5
- package/src/console/ui/shell/panels/Gates.tsx +0 -5
- package/src/console/ui/shell/panels/Overview.tsx +0 -6
- package/src/console/ui/shell/panels/Plugins.tsx +0 -5
- package/src/console/ui/shell/panels/Runs.tsx +0 -5
- package/src/console/ui/shell/panels/Signals.tsx +0 -5
- package/src/console/ui/shell/panels/Store.tsx +0 -5
- package/src/console/ui/shell/panels/Traces.tsx +0 -5
- package/src/console/ui/shell/panels/Vault.tsx +0 -5
- package/src/console/ui/shell/panels/access/AccessPanel.tsx +0 -749
- package/src/console/ui/shell/panels/ai/AiPanel.tsx +0 -492
- package/src/console/ui/shell/panels/architecture/ArchitecturePanel.tsx +0 -329
- package/src/console/ui/shell/panels/channels/ChannelsPanel.tsx +0 -422
- package/src/console/ui/shell/panels/clock/ClockPanel.tsx +0 -454
- package/src/console/ui/shell/panels/diff/DiffPanel.tsx +0 -234
- package/src/console/ui/shell/panels/flows/ContractEditor.tsx +0 -284
- package/src/console/ui/shell/panels/flows/FlowDrawer.tsx +0 -335
- package/src/console/ui/shell/panels/flows/FlowsPanel.tsx +0 -482
- package/src/console/ui/shell/panels/gates/GatesPanel.tsx +0 -433
- package/src/console/ui/shell/panels/overview/OverviewPanel.tsx +0 -398
- package/src/console/ui/shell/panels/plugins/PluginsPanel.tsx +0 -402
- package/src/console/ui/shell/panels/runs/RunsPanel.tsx +0 -652
- package/src/console/ui/shell/panels/signals/SignalsPanel.tsx +0 -788
- package/src/console/ui/shell/panels/store/StorePanel.tsx +0 -755
- package/src/console/ui/shell/panels/traces/TracesPanel.tsx +0 -478
- package/src/console/ui/shell/panels/vault/VaultPanel.tsx +0 -477
- package/src/console/ui/shell/plugin/Sandbox.tsx +0 -29
- package/src/console/ui/shell/public/favicon.svg +0 -7
- package/src/console/ui/shell/setup/Wizard.tsx +0 -211
- package/src/console/ui/shell/styles.css +0 -74
- package/src/console/ui/signals/SignalsA11yView.tsx +0 -252
- package/src/console/ui/signals/a11y.test.tsx +0 -96
- package/src/console/ui/signals/confirmation.test.ts +0 -35
- package/src/console/ui/signals/confirmation.ts +0 -59
- package/src/console/ui/signals/dry-run.test.ts +0 -18
- package/src/console/ui/signals/dry-run.ts +0 -34
- package/src/console/ui/signals/durable.test.ts +0 -22
- package/src/console/ui/signals/durable.ts +0 -39
- package/src/console/ui/signals/findings.ts +0 -31
- package/src/console/ui/signals/fixture.ts +0 -242
- package/src/console/ui/signals/group.test.ts +0 -26
- package/src/console/ui/signals/group.ts +0 -41
- package/src/console/ui/signals/index.ts +0 -49
- package/src/console/ui/signals/monitor.test.ts +0 -30
- package/src/console/ui/signals/monitor.ts +0 -74
- package/src/console/ui/signals/schema-form.test.ts +0 -23
- package/src/console/ui/signals/schema-form.ts +0 -109
- package/src/console/ui/signals/search.ts +0 -93
- package/src/console/ui/signals/types.ts +0 -72
- package/src/console/ui/store/StoreA11yView.tsx +0 -193
- package/src/console/ui/store/a11y.test.tsx +0 -96
- package/src/console/ui/store/cache-view.test.ts +0 -13
- package/src/console/ui/store/cache-view.ts +0 -36
- package/src/console/ui/store/confirmation.test.ts +0 -36
- package/src/console/ui/store/confirmation.ts +0 -52
- package/src/console/ui/store/dry-run.test.ts +0 -15
- package/src/console/ui/store/dry-run.ts +0 -26
- package/src/console/ui/store/fixture.ts +0 -167
- package/src/console/ui/store/group.test.ts +0 -16
- package/src/console/ui/store/group.ts +0 -38
- package/src/console/ui/store/index.ts +0 -36
- package/src/console/ui/store/search.ts +0 -74
- package/src/console/ui/store/types.ts +0 -67
- package/src/console/ui/store/will-not-fire.test.ts +0 -19
- package/src/console/ui/store/will-not-fire.ts +0 -39
- package/src/console/ui/traces/TracesA11yView.tsx +0 -181
- package/src/console/ui/traces/a11y.test.tsx +0 -96
- package/src/console/ui/traces/chain.test.ts +0 -47
- package/src/console/ui/traces/chain.ts +0 -142
- package/src/console/ui/traces/critical-path.test.ts +0 -22
- package/src/console/ui/traces/critical-path.ts +0 -55
- package/src/console/ui/traces/filter.test.ts +0 -74
- package/src/console/ui/traces/filter.ts +0 -104
- package/src/console/ui/traces/fixture.ts +0 -126
- package/src/console/ui/traces/fold.test.ts +0 -59
- package/src/console/ui/traces/fold.ts +0 -168
- package/src/console/ui/traces/index.ts +0 -64
- package/src/console/ui/traces/mini.ts +0 -63
- package/src/console/ui/traces/replay.test.ts +0 -22
- package/src/console/ui/traces/replay.ts +0 -33
- package/src/console/ui/traces/sampling.test.ts +0 -26
- package/src/console/ui/traces/sampling.ts +0 -63
- package/src/console/ui/traces/search.ts +0 -135
- package/src/console/ui/traces/tier.ts +0 -70
- package/src/console/ui/traces/types.ts +0 -125
- package/src/console/ui/tsconfig.json +0 -20
- package/src/console/ui/vault/VaultA11yView.tsx +0 -197
- package/src/console/ui/vault/a11y.test.tsx +0 -96
- package/src/console/ui/vault/backend.test.ts +0 -75
- package/src/console/ui/vault/backend.ts +0 -117
- package/src/console/ui/vault/blast-radius.ts +0 -53
- package/src/console/ui/vault/confirmation.test.ts +0 -37
- package/src/console/ui/vault/confirmation.ts +0 -36
- package/src/console/ui/vault/dormant.ts +0 -28
- package/src/console/ui/vault/export-safe.test.ts +0 -26
- package/src/console/ui/vault/export-safe.ts +0 -62
- package/src/console/ui/vault/fixture.ts +0 -94
- package/src/console/ui/vault/group.test.ts +0 -25
- package/src/console/ui/vault/group.ts +0 -49
- package/src/console/ui/vault/index.ts +0 -47
- package/src/console/ui/vault/search.ts +0 -58
- package/src/console/ui/vault/types.ts +0 -83
- package/src/console/ui/vite.config.ts +0 -84
- /package/src/console/{ui/vault → ui-next/src/features/vault/lib}/blast-radius.test.ts +0 -0
- /package/src/console/{ui/vault → ui-next/src/features/vault/lib}/dormant.test.ts +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{$n as n,Cr as r,Er as i,La as a,Li as o,Mr as s,Oa as c,Qn as l,To as u,_r as d,br as f,cr as p,dr as m,er as h,gr as g,ha as _,hr as v,i as y,kr as b,l as x,mr as S,nr as C,o as w,s as T,sr as E,tr as D,u as O,ur as k,va as A,vr as j,wa as M,wr as N,xr as P,yr as F}from"./shortcut-keys-DO4IsVqv.js";import{t as I,x as L}from"./link-DF7SZ9Ek.js";import{n as R,r as z}from"./react-dom-Bph1y7z7.js";import{A as ee,C as te,D as B,E as V,S as H,T as U,_ as ne,b as re,g as ie,h as ae,v as oe,w as se,x as ce,y as W}from"./xyflow-D7n4g6go.js";import{g as le,i as ue,k as de,n as fe,t as G,x as pe}from"./react-B1ML8gxg.js";import{i as me,n as he,r as ge}from"./duration-tone-oiRxPVsZ.js";import{c as _e,s as ve,t as ye}from"./trace-detail-sheet-D16lWQMt.js";import{a as be,c as xe,i as Se,o as Ce,r as we,s as Te}from"./index-Bp-R7jtM.js";import{_ as Ee,f as De,g as Oe,h as ke,m as Ae,n as je,p as Me,r as Ne,t as Pe,u as Fe}from"./collapsible-DYb0xU8C.js";import{a as Ie,i as Le,s as Re}from"./highlighted-json-CvDPvveV.js";import{H as ze,M as Be,n as Ve,t as He}from"./replica-lag-C8_BRt2x.js";import{n as Ue,r as We}from"./use-vault-list-Cl79j_ku.js";import{t as Ge}from"./explorer-empty-HjTnVQoR.js";import{t as Ke}from"./call-pii-button-bqkxMrJH.js";function qe(e,t,n={}){let r=e.get(),i=null,a=r,o,s=typeof r==`string`?r.replace(/[\d.-]/g,``):void 0,c=()=>{i&&=(i.stop(),null),e.animation=void 0},l=()=>{let t=Ye(e.get()),r=Ye(a);if(t===r){c();return}let s=i?i.getGeneratorVelocity():e.getVelocity();c(),i=new pe({keyframes:[t,r],velocity:s,type:`spring`,restDelta:.001,restSpeed:.01,...n,onUpdate:o})},u=()=>{l(),e.animation=i??void 0,e.events.animationStart?.notify(),i?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((e,t)=>{a=e,o=e=>t(Je(e,s)),de.postRender(u)},c),le(t)){let r=n.skipInitialAnimation===!0,i=t.on(`change`,t=>{r?(r=!1,e.jump(Je(t,s),!1)):e.set(Je(t,s))}),a=e.on(`destroy`,i);return()=>{i(),a()}}return c}function Je(e,t){return t?e+t:e}function Ye(e){return typeof e==`number`?e:parseFloat(e)}var K=e(z(),1);function Xe(e,t={}){let{isStatic:n}=(0,K.useContext)(ue),r=()=>le(e)?e.get():e;if(n)return ve(r);let i=_e(r());return(0,K.useInsertionEffect)(()=>qe(i,e,t),[i,JSON.stringify(t)]),i}function Ze(e,t={}){return Xe(e,{type:`spring`,...t})}var Qe=Math.PI/180,$e=180/Math.PI,et=18,tt=.96422,nt=1,rt=.82521,it=4/29,at=6/29,ot=3*at*at,st=at*at*at;function ct(e){if(e instanceof ut)return new ut(e.l,e.a,e.b,e.opacity);if(e instanceof _t)return vt(e);e instanceof ce||(e=U(e));var t=mt(e.r),n=mt(e.g),r=mt(e.b),i=dt((.2225045*t+.7168786*n+.0606169*r)/nt),a,o;return t===n&&n===r?a=o=i:(a=dt((.4360747*t+.3850649*n+.1430804*r)/tt),o=dt((.0139322*t+.0971045*n+.7141733*r)/rt)),new ut(116*i-16,500*(a-i),200*(i-o),e.opacity)}function lt(e,t,n,r){return arguments.length===1?ct(e):new ut(e,t,n,r??1)}function ut(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}V(ut,lt,B(re,{brighter(e){return new ut(this.l+et*(e??1),this.a,this.b,this.opacity)},darker(e){return new ut(this.l-et*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=tt*ft(t),e=nt*ft(e),n=rt*ft(n),new ce(pt(3.1338561*t-1.6168667*e-.4906146*n),pt(-.9787684*t+1.9161415*e+.033454*n),pt(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function dt(e){return e>st?e**(1/3):e/ot+it}function ft(e){return e>at?e*e*e:ot*(e-it)}function pt(e){return 255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055)}function mt(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function ht(e){if(e instanceof _t)return new _t(e.h,e.c,e.l,e.opacity);if(e instanceof ut||(e=ct(e)),e.a===0&&e.b===0)return new _t(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*$e;return new _t(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function gt(e,t,n,r){return arguments.length===1?ht(e):new _t(e,t,n,r??1)}function _t(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function vt(e){if(isNaN(e.h))return new ut(e.l,0,0,e.opacity);var t=e.h*Qe;return new ut(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}V(_t,gt,B(re,{brighter(e){return new _t(this.h,this.c,this.l+et*(e??1),this.opacity)},darker(e){return new _t(this.h,this.c,this.l-et*(e??1),this.opacity)},rgb(){return vt(this).rgb()}}));var yt=-.14861,bt=1.78277,xt=-.29227,St=-.90649,Ct=1.97294,wt=Ct*St,Tt=Ct*bt,Et=bt*xt-St*yt;function Dt(e){if(e instanceof kt)return new kt(e.h,e.s,e.l,e.opacity);e instanceof ce||(e=U(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(Et*r+wt*t-Tt*n)/(Et+wt-Tt),a=r-i,o=(Ct*(n-i)-xt*a)/St,s=Math.sqrt(o*o+a*a)/(Ct*i*(1-i)),c=s?Math.atan2(o,a)*$e-120:NaN;return new kt(c<0?c+360:c,s,i,e.opacity)}function Ot(e,t,n,r){return arguments.length===1?Dt(e):new kt(e,t,n,r??1)}function kt(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}V(kt,Ot,B(re,{brighter(e){return e=e==null?H:H**+e,new kt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?te:te**+e,new kt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*Qe,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new ce(255*(t+n*(yt*r+bt*i)),255*(t+n*(xt*r+St*i)),255*(t+Ct*r*n),this.opacity)}}));function At(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function jt(e){return function(t,n){var r=e((t=se(t)).h,(n=se(n)).h),i=W(t.s,n.s),a=W(t.l,n.l),o=W(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Mt=jt(oe),Nt=jt(W);function Pt(e,t){var n=W((e=lt(e)).l,(t=lt(t)).l),r=W(e.a,t.a),i=W(e.b,t.b),a=W(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function Ft(e){return function(t,n){var r=e((t=gt(t)).h,(n=gt(n)).h),i=W(t.c,n.c),a=W(t.l,n.l),o=W(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var It=Ft(oe),Lt=Ft(W);function Rt(e){return(function t(n){n=+n;function r(t,r){var i=e((t=Ot(t)).h,(r=Ot(r)).h),a=W(t.s,r.s),o=W(t.l,r.l),s=W(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}var zt=Rt(oe),Bt=Rt(W),Vt=[`console.ai.list`];function Ht(){return u({queryKey:Vt,queryFn:async()=>{let e=await _();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty AI list`);return e.data}})}var Ut=[`console.clock.list`];function Wt(){return u({queryKey:Ut,queryFn:async()=>{let e=await A();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty clock list`);return e.data},refetchInterval:15e3})}var Gt=[`console.instances.list`];function Kt(){return u({queryKey:Gt,queryFn:async()=>{let e=await M();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty instances list`);return e.data},refetchInterval:15e3})}var qt=[`console.signals.list`];function Jt(){return u({queryKey:qt,queryFn:async()=>{let e=await a();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty signals list`);return e.data},refetchInterval:1e4})}function Yt(e,t,n){let r=Te(e,t,n),i=0,a=0;for(let e of r)e.inputTokens!==null&&e.inputTokens>0&&(i+=e.inputTokens),e.outputTokens!==null&&e.outputTokens>0&&(a+=e.outputTokens);return i===0&&a===0?{kind:`empty`}:{kind:`summary`,inputTokens:i,outputTokens:a,windowMs:n}}function Xt(e){return!Number.isFinite(e)||e<=0?`—`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(Math.round(e))}function Zt(e){let t=[];return e.inputTokens>0&&t.push(`${Xt(e.inputTokens)} in`),e.outputTokens>0&&t.push(`${Xt(e.outputTokens)} out`),t.length===0?null:t.join(` · `)}var q=ee();function Qt({ai:e,asks:t,tokens:n}){let r=(e?.versions??[]).filter(e=>e.sampleCount>0),i=r.length===0?null:r.reduce((e,t)=>e+t.cost.mean,0)/r.length,a=n.kind===`summary`?Zt(n):null;return(0,q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 border-b border-border/60 px-3 py-1.5`,"data-slot":`observability-ai-rail`,"aria-label":`AI usage`,children:[(0,q.jsx)(`span`,{className:`text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`AI`}),i==null?(0,q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,"data-slot":`observability-ai-empty`,children:`No cost samples in the Console AI journal.`}):(0,q.jsxs)(`p`,{className:`text-[11px] text-foreground/85`,"data-slot":`observability-ai-cost`,children:[(0,q.jsxs)(`span`,{className:`tabular-nums`,children:[`mean `,$t(i)]}),(0,q.jsx)(`span`,{className:`text-muted-foreground`,children:` · `}),(0,q.jsxs)(`span`,{className:`tabular-nums`,children:[r.length,` version`]})]}),a?(0,q.jsx)(`p`,{className:`font-mono text-[10px] text-muted-foreground`,"data-slot":`observability-ai-tokens`,children:a}):null,t.kind===`summary`?(0,q.jsxs)(`span`,{className:`ml-auto font-mono text-[10px] text-muted-foreground`,"data-slot":`observability-ai-asks`,children:[t.asks,` ask`,t.asks===1?``:`s`,` in window`]}):(0,q.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:`No ask effects in window`})]})}function $t(e){return Number.isFinite(e)?e===0?`0`:e<.01?e.toExponential(2):e.toFixed(4):`—`}function en({fleet:e,open:t,onClose:n}){let r=e?.kind===`fleet`?e.instances:[],i=e?.kind===`fleet`?e.now:Date.now();return(0,q.jsx)(y,{open:t,onOpenChange:e=>!e&&n(),children:(0,q.jsxs)(w,{side:`right`,className:`flex w-full flex-col sm:max-w-md`,"data-slot":`instance-fleet-sheet`,children:[(0,q.jsxs)(x,{children:[(0,q.jsx)(O,{children:`Instances`}),(0,q.jsx)(T,{children:e?.kind===`fleet`?`${e.alive} alive — Clock and Journal leases this process holds`:`No shared fleet registry on this Console`})]}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:r.length===0?(0,q.jsx)(`p`,{className:E,children:e?.kind===`fleet`?`Every presence lease has expired.`:`The registry is unbound (test / no shared store).`}):(0,q.jsx)(`ul`,{className:`divide-y divide-border/60`,children:r.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(tn,{row:e,now:i})},e.id))})})]})})}function tn({row:e,now:t}){let n=Math.max(0,t-e.heartbeatAt),i=e.clock.map(e=>e.name).join(`, `),a=e.journal.map(e=>e.flow).join(`, `);return(0,q.jsxs)(`div`,{className:m,"data-slot":`instance-fleet-row`,"data-instance-id":e.id,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`size-1.5 shrink-0 rounded-full`,n<3e4?`bg-emerald-500`:`bg-muted-foreground/50`)}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`p`,{className:`truncate font-medium text-foreground`,children:e.id}),(0,q.jsxs)(`p`,{className:`mt-0.5 text-[10px] text-muted-foreground`,children:[`heartbeat `,Le(n),` ago`,e.pid===void 0?``:` · pid ${e.pid}`]}),(0,q.jsx)(`p`,{className:`${P} mt-1.5`,children:`Clock`}),(0,q.jsx)(`p`,{className:`truncate font-mono text-[10px] text-muted-foreground`,children:i.length>0?i:`holding nothing`}),(0,q.jsx)(`p`,{className:`${P} mt-1.5`,children:`Journal`}),(0,q.jsx)(`p`,{className:`truncate font-mono text-[10px] text-muted-foreground`,children:a.length>0?a:`holding nothing`})]})]})}function nn(e){return e.map(e=>({date:new Date(e.startAt),requests:e.n,errors:e.errors,p95:e.p95Ms}))}function rn(e){return e<=36e5?6e4:e<=864e5?3e5:36e5}function an(e,t){return Math.floor(e/t)*t}function on(e,t,n){let r=Te(e,t,n);if(r.length===0)return{kind:`empty`};let i=rn(n),a=an(t-Math.max(0,n),i),o=an(t,i),s=new Map,c=new Map;for(let e=a;e<=o;e+=i)s.set(e,[]),c.set(e,{n:0,errors:0});for(let e of r){let t=an(e.startedAt,i),n=s.get(t),r=c.get(t);!n||!r||(n.push(e.durationMs),r.n+=1,Ce(e)&&(r.errors+=1))}let l=[];for(let e=a;e<=o;e+=i){let t=s.get(e)??[],n=c.get(e)??{n:0,errors:0},r=[...t].sort((e,t)=>e-t);l.push({startAt:e,n:n.n,errors:n.errors,errorRate:n.n===0?0:n.errors/n.n,p95Ms:n.n===0?0:be(r,.95),requestPerSec:n.n/(i/1e3)})}return{kind:`series`,buckets:l,bucketMs:i,windowMs:n}}function J(e){return function(){return e}}var sn=Math.PI,cn=2*sn,ln=1e-6,un=cn-ln;function dn(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function fn(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return dn;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var pn=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?dn:fn(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>ln)if(!(Math.abs(u*s-c*l)>ln)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((sn-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>ln&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>ln||Math.abs(this._y1-l)>ln)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%cn+cn),d>un?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>ln&&this._append`A${n},${n},0,${+(d>=sn)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};pn.prototype;function mn(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new pn(t)}Array.prototype.slice;function hn(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function gn(e){this._context=e}gn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function _n(e){return new gn(e)}function vn(e){return e[0]}function yn(e){return e[1]}function bn(e,t){var n=J(!0),r=null,i=_n,a=null,o=mn(s);e=typeof e==`function`?e:e===void 0?vn:J(e),t=typeof t==`function`?t:t===void 0?yn:J(t);function s(s){var c,l=(s=hn(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:J(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function xn(e,t,n){var r=null,i=J(!0),a=null,o=_n,s=null,c=mn(l);e=typeof e==`function`?e:e===void 0?vn:J(+e),t=typeof t==`function`?t:J(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?yn:J(+n);function l(l){var u,d,f,p=(l=hn(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return bn().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:J(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:J(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:J(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:J(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:J(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function Sn(e){return e<0?-1:1}function Cn(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Sn(a)+Sn(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function wn(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Tn(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function En(e){this._context=e}En.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Tn(this,this._t0,wn(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Tn(this,wn(this,n=Cn(this,e,t)),n);break;default:Tn(this,this._t0,n=Cn(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(En.prototype).point=function(e,t){En.prototype.point.call(this,t,e)};function Dn(e){return new En(e)}function On(e){this._context=e}On.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=kn(e),i=kn(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function kn(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function An(e){return new On(e)}var jn=t(((e,t)=>{(function(){var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}));function Mn(e,t){e(t)}function Nn(){let{x:e,x0:t,x1:n,y:r,y0:i,y1:a,defined:o,curve:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=xn();return e&&Mn(c.x,e),t&&Mn(c.x0,t),n&&Mn(c.x1,n),r&&Mn(c.y,r),i&&Mn(c.y0,i),a&&Mn(c.y1,a),o&&c.defined(o),s&&c.curve(s),c}function Pn(){let{x:e,y:t,defined:n,curve:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=bn();return e&&Mn(i.x,e),t&&Mn(i.y,t),n&&i.defined(n),r&&i.curve(r),i}var Fn=e(jn());function In(e){let{top:t=0,left:n=0,transform:r,className:i,children:a,innerRef:o,...s}=e;return(0,q.jsx)(`g`,{ref:o,className:(0,Fn.default)(`visx-group`,i),transform:r||`translate(${n}, ${t})`,...s,children:a})}function Ln(e){let{from:t={x:0,y:0},to:n={x:1,y:1},fill:r=`transparent`,className:i,innerRef:a,...o}=e,s=t.x===n.x||t.y===n.y;return(0,q.jsx)(`line`,{ref:a,className:(0,Fn.default)(`visx-line`,i),x1:t.x,y1:t.y,x2:n.x,y2:n.y,fill:r,shapeRendering:s?`crispEdges`:`auto`,...o})}function Rn(e){let{children:t,data:n=[],x:r,y:i,fill:a=`transparent`,className:o,curve:s,innerRef:c,defined:l=()=>!0,...u}=e,d=Pn({x:r,y:i,defined:l,curve:s});return t?(0,q.jsx)(q.Fragment,{children:t({path:d})}):(0,q.jsx)(`path`,{ref:c,className:(0,Fn.default)(`visx-linepath`,o),d:d(n)||``,fill:a,strokeLinecap:`round`,...u})}function zn(e){let{x:t,x0:n,x1:r,y:i,y1:a,y0:o,yScale:s,data:c=[],defined:l=()=>!0,className:u,curve:d,innerRef:f,children:p,...m}=e,h=Nn({x:t,x0:n,x1:r,defined:l,curve:d});return o==null?h.y0(s.range()[0]):Mn(h.y0,o),i&&!a&&Mn(h.y1,i),a&&!i&&Mn(h.y1,a),p?(0,q.jsx)(q.Fragment,{children:p({path:h})}):(0,q.jsx)(`path`,{ref:f,className:(0,Fn.default)(`visx-area-closed`,u),d:h(c)||``,...m})}function Bn(e){return e===!1?{left:!1,right:!1,any:!1}:e===`left`?{left:!0,right:!1,any:!0}:e===`right`?{left:!1,right:!0,any:!0}:{left:!0,right:!0,any:!0}}function Vn(e){return[{offset:`0%`,opacity:+!e.left},{offset:`15%`,opacity:1},{offset:`85%`,opacity:1},{offset:`100%`,opacity:+!e.right}]}function Hn(e){return{gradientUnits:`userSpaceOnUse`,x1:0,x2:e,y1:0,y2:0}}function Un({gradientId:e,strokeGradientId:t,edgeMaskId:n,edgeGradientId:r,fill:i,fillOpacity:a,gradientToOpacity:o,gradientSpan:s=1,resolvedStroke:c,isPatternFill:l,fadeEdges:u,innerWidth:d,innerHeight:f}){let p=Bn(u),m=p.any?Vn(p):null,h=p.any&&!l?Vn(p):null,g=Math.min(1,Math.max(.01,s)),_=`${g*100}%`;return(0,q.jsxs)(`defs`,{children:[l?null:(0,q.jsxs)(`linearGradient`,{id:e,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:i,stopOpacity:a}}),(0,q.jsx)(`stop`,{offset:_,style:{stopColor:i,stopOpacity:o}}),g<1?(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:i,stopOpacity:o}}):null]}),m?(0,q.jsx)(`linearGradient`,{id:t,...Hn(d),children:m.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:c,stopOpacity:e.opacity}},e.offset))}):null,h?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`linearGradient`,{id:r,...Hn(d),children:h.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:`white`,stopOpacity:e.opacity}},e.offset))}),(0,q.jsx)(`mask`,{id:n,children:(0,q.jsx)(`rect`,{fill:`url(#${r})`,height:f,width:d,x:`0`,y:`0`})})]}):null]})}function Wn(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Gn(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Kn(e){let t,n,r;e.length===2?(t=e===Wn||e===Gn?e:qn,n=e,r=e):(t=Wn,n=(t,n)=>Wn(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function qn(){return 0}function Jn(e){return e===null?NaN:+e}var Yn=Kn(Wn),Xn=Yn.right;Yn.left,Kn(Jn).center;function Zn(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var Qn=Math.sqrt(50),$n=Math.sqrt(10),er=Math.sqrt(2);function tr(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Qn?10:a>=$n?5:a>=er?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?tr(e,t,n*2):[s,c,l]}function nr(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?tr(t,e,n):tr(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o;else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function rr(e,t,n){return t=+t,e=+e,n=+n,tr(e,t,n)[2]}function ir(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?rr(t,e,n):rr(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ar(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function or(e){return function(){return e}}function sr(e){return+e}var cr=[0,1];function lr(e){return e}function ur(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:or(isNaN(t)?NaN:.5)}function dr(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function fr(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=ur(i,r),a=n(o,a)):(r=ur(r,i),a=n(a,o)),function(e){return a(r(e))}}function pr(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=ur(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Xn(e,t,1,r)-1;return a[n](i[n](t))}}function mr(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function hr(){var e=cr,t=cr,n=ae,r,i,a,o=lr,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==lr&&(o=dr(e[0],e[n-1])),s=n>2?pr:fr,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),ie))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,sr),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=At,u()},d.clamp=function(e){return arguments.length?(o=e?!0:lr,u()):o!==lr},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function gr(){return hr()(lr,lr)}function _r(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function vr(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function yr(e){return e=vr(Math.abs(e)),e?e[1]:NaN}function br(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function xr(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Sr=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Cr(e){if(!(t=Sr.exec(e)))throw Error(`invalid format: `+e);var t;return new wr({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Cr.prototype=wr.prototype;function wr(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}wr.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function Tr(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Er;function Dr(e,t){var n=vr(e,t);if(!n)return Er=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Er=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+vr(e,Math.max(0,t+a-1))[0]}function Or(e,t){var n=vr(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var kr={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:_r,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Or(e*100,t),r:Or,s:Dr,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ar(e){return e}var jr=Array.prototype.map,Mr=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Nr(e){var t=e.grouping===void 0||e.thousands===void 0?Ar:br(jr.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Ar:xr(jr.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Cr(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):kr[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=kr[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Tr(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Er!==void 0?Mr[8+Er/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(yr(t)/3)))*3,r=10**-n,i=l((e=Cr(e),e.type=`f`,e),{suffix:Mr[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Pr,Fr,Ir;Lr({thousands:`,`,grouping:[3],currency:[`$`,``]});function Lr(e){return Pr=Nr(e),Fr=Pr.format,Ir=Pr.formatPrefix,Pr}function Rr(e){return Math.max(0,-yr(Math.abs(e)))}function zr(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(yr(t)/3)))*3-yr(Math.abs(e)))}function Br(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,yr(t)-yr(e))+1}function Vr(e,t,n,r){var i=ir(e,t,n),a;switch(r=Cr(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=zr(i,o))&&(r.precision=a),Ir(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Br(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Rr(i))&&(r.precision=a-(r.type===`%`)*2)}return Fr(r)}function Hr(e){var t=e.domain;return e.ticks=function(e){var n=t();return nr(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Vr(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=rr(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Ur(){var e=gr();return e.copy=function(){return mr(e,Ur())},ar.apply(e,arguments),Hr(e)}function Wr(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}var Gr=new Date,Kr=new Date;function Y(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Y(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(Gr.setTime(+t),Kr.setTime(+r),e(Gr),e(Kr),Math.floor(n(Gr,Kr))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var qr=Y(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);qr.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Y(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):qr),qr.range;var Jr=1e3,Yr=Jr*60,Xr=Yr*60,Zr=Xr*24,Qr=Zr*7,$r=Zr*30,ei=Zr*365,ti=Y(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Jr)},(e,t)=>(t-e)/Jr,e=>e.getUTCSeconds());ti.range;var ni=Y(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr)},(e,t)=>{e.setTime(+e+t*Yr)},(e,t)=>(t-e)/Yr,e=>e.getMinutes());ni.range;var ri=Y(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Yr)},(e,t)=>(t-e)/Yr,e=>e.getUTCMinutes());ri.range;var ii=Y(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Jr-e.getMinutes()*Yr)},(e,t)=>{e.setTime(+e+t*Xr)},(e,t)=>(t-e)/Xr,e=>e.getHours());ii.range;var ai=Y(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Xr)},(e,t)=>(t-e)/Xr,e=>e.getUTCHours());ai.range;var oi=Y(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Yr)/Zr,e=>e.getDate()-1);oi.range;var si=Y(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zr,e=>e.getUTCDate()-1);si.range;var ci=Y(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zr,e=>Math.floor(e/Zr));ci.range;function li(e){return Y(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Yr)/Qr)}var ui=li(0),di=li(1),fi=li(2),pi=li(3),mi=li(4),hi=li(5),gi=li(6);ui.range,di.range,fi.range,pi.range,mi.range,hi.range,gi.range;function _i(e){return Y(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Qr)}var vi=_i(0),yi=_i(1),bi=_i(2),xi=_i(3),Si=_i(4),Ci=_i(5),wi=_i(6);vi.range,yi.range,bi.range,xi.range,Si.range,Ci.range,wi.range;var Ti=Y(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Ti.range;var Ei=Y(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Ei.range;var Di=Y(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Di.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Y(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Di.range;var Oi=Y(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Oi.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Y(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),Oi.range;function ki(e,t,n,r,i,a){let o=[[ti,1,Jr],[ti,5,5*Jr],[ti,15,15*Jr],[ti,30,30*Jr],[a,1,Yr],[a,5,5*Yr],[a,15,15*Yr],[a,30,30*Yr],[i,1,Xr],[i,3,3*Xr],[i,6,6*Xr],[i,12,12*Xr],[r,1,Zr],[r,2,2*Zr],[n,1,Qr],[t,1,$r],[t,3,3*$r],[e,1,ei]];function s(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:c(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function c(t,n,r){let i=Math.abs(n-t)/r,a=Kn(([,,e])=>e).right(o,i);if(a===o.length)return e.every(ir(t/ei,n/ei,r));if(a===0)return qr.every(Math.max(ir(t,n,r),1));let[s,c]=o[i/o[a-1][2]<o[a][2]/i?a-1:a];return s.every(c)}return[s,c]}var[Ai,ji]=ki(Oi,Ei,vi,ci,ai,ri),[Mi,Ni]=ki(Di,Ti,ui,oi,ii,ni);function Pi(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Fi(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Ii(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Li(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Hi(i),u=Ui(i),d=Hi(a),f=Ui(a),p=Hi(o),m=Ui(o),h=Hi(s),g=Ui(s),_=Hi(c),v=Ui(c),y={a:N,A:P,b:F,B:I,c:null,d:ua,e:ua,f:ha,g:Ea,G:Oa,H:da,I:fa,j:pa,L:ma,m:ga,M:_a,p:L,q:R,Q:Za,s:Qa,S:va,u:ya,U:ba,V:Sa,w:Ca,W:wa,x:null,X:null,y:Ta,Y:Da,Z:ka,"%":Xa},b={a:z,A:ee,b:te,B,c:null,d:Aa,e:Aa,f:Fa,g:Ka,G:Ja,H:ja,I:Ma,j:Na,L:Pa,m:Ia,M:La,p:V,q:H,Q:Za,s:Qa,S:Ra,u:za,U:Ba,V:Ha,w:Ua,W:Wa,x:null,X:null,y:Ga,Y:qa,Z:Ya,"%":Xa},x={a:E,A:D,b:O,B:k,c:A,d:ea,e:ea,f:oa,g:Xi,G:Yi,H:na,I:na,j:ta,L:aa,m:$i,M:ra,p:T,q:Qi,Q:ca,s:la,S:ia,u:Gi,U:Ki,V:qi,w:Wi,W:Ji,x:j,X:M,y:Xi,Y:Yi,Z:Zi,"%":sa};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=Ri[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=Ii(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=Fi(Ii(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?yi.ceil(a):yi(a),a=si.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Pi(Ii(r.y,0,1)),o=a.getDay(),a=o>4||o===0?di.ceil(a):di(a),a=oi.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?Fi(Ii(r.y,0,1)).getUTCDay():Pi(Ii(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,Fi(r)):Pi(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in Ri?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function ee(e){return a[e.getUTCDay()]}function te(e){return c[e.getUTCMonth()]}function B(e){return s[e.getUTCMonth()]}function V(e){return i[+(e.getUTCHours()>=12)]}function H(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var Ri={"-":``,_:` `,0:`0`},X=/^\s*\d+/,zi=/^%/,Bi=/[\\^$*+?|[\]().{}]/g;function Z(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Vi(e){return e.replace(Bi,`\\$&`)}function Hi(e){return RegExp(`^(?:`+e.map(Vi).join(`|`)+`)`,`i`)}function Ui(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Wi(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Gi(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Ki(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function qi(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Ji(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Yi(e,t,n){var r=X.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Xi(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Zi(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Qi(e,t,n){var r=X.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function $i(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function ea(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function ta(e,t,n){var r=X.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function na(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function ra(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function ia(e,t,n){var r=X.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function aa(e,t,n){var r=X.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function oa(e,t,n){var r=X.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function sa(e,t,n){var r=zi.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function ca(e,t,n){var r=X.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function la(e,t,n){var r=X.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function ua(e,t){return Z(e.getDate(),t,2)}function da(e,t){return Z(e.getHours(),t,2)}function fa(e,t){return Z(e.getHours()%12||12,t,2)}function pa(e,t){return Z(1+oi.count(Di(e),e),t,3)}function ma(e,t){return Z(e.getMilliseconds(),t,3)}function ha(e,t){return ma(e,t)+`000`}function ga(e,t){return Z(e.getMonth()+1,t,2)}function _a(e,t){return Z(e.getMinutes(),t,2)}function va(e,t){return Z(e.getSeconds(),t,2)}function ya(e){var t=e.getDay();return t===0?7:t}function ba(e,t){return Z(ui.count(Di(e)-1,e),t,2)}function xa(e){var t=e.getDay();return t>=4||t===0?mi(e):mi.ceil(e)}function Sa(e,t){return e=xa(e),Z(mi.count(Di(e),e)+(Di(e).getDay()===4),t,2)}function Ca(e){return e.getDay()}function wa(e,t){return Z(di.count(Di(e)-1,e),t,2)}function Ta(e,t){return Z(e.getFullYear()%100,t,2)}function Ea(e,t){return e=xa(e),Z(e.getFullYear()%100,t,2)}function Da(e,t){return Z(e.getFullYear()%1e4,t,4)}function Oa(e,t){var n=e.getDay();return e=n>=4||n===0?mi(e):mi.ceil(e),Z(e.getFullYear()%1e4,t,4)}function ka(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Z(t/60|0,`0`,2)+Z(t%60,`0`,2)}function Aa(e,t){return Z(e.getUTCDate(),t,2)}function ja(e,t){return Z(e.getUTCHours(),t,2)}function Ma(e,t){return Z(e.getUTCHours()%12||12,t,2)}function Na(e,t){return Z(1+si.count(Oi(e),e),t,3)}function Pa(e,t){return Z(e.getUTCMilliseconds(),t,3)}function Fa(e,t){return Pa(e,t)+`000`}function Ia(e,t){return Z(e.getUTCMonth()+1,t,2)}function La(e,t){return Z(e.getUTCMinutes(),t,2)}function Ra(e,t){return Z(e.getUTCSeconds(),t,2)}function za(e){var t=e.getUTCDay();return t===0?7:t}function Ba(e,t){return Z(vi.count(Oi(e)-1,e),t,2)}function Va(e){var t=e.getUTCDay();return t>=4||t===0?Si(e):Si.ceil(e)}function Ha(e,t){return e=Va(e),Z(Si.count(Oi(e),e)+(Oi(e).getUTCDay()===4),t,2)}function Ua(e){return e.getUTCDay()}function Wa(e,t){return Z(yi.count(Oi(e)-1,e),t,2)}function Ga(e,t){return Z(e.getUTCFullYear()%100,t,2)}function Ka(e,t){return e=Va(e),Z(e.getUTCFullYear()%100,t,2)}function qa(e,t){return Z(e.getUTCFullYear()%1e4,t,4)}function Ja(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Si(e):Si.ceil(e),Z(e.getUTCFullYear()%1e4,t,4)}function Ya(){return`+0000`}function Xa(){return`%`}function Za(e){return+e}function Qa(e){return Math.floor(e/1e3)}var $a,eo;to({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function to(e){return $a=Li(e),eo=$a.format,$a.parse,$a.utcFormat,$a.utcParse,$a}function no(e){return new Date(e)}function ro(e){return e instanceof Date?+e:+new Date(+e)}function io(e,t,n,r,i,a,o,s,c,l){var u=gr(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,ro)):f().map(no)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(Wr(n,e)):u},u.copy=function(){return mr(u,io(e,t,n,r,i,a,o,s,c,l))},u}function ao(){return ar.apply(io(Mi,Ni,Di,Ti,ui,oi,ii,ni,ti,eo).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function oo(e,t){t.domain&&(`nice`in e||`quantiles`in e||`padding`in e,e.domain(t.domain))}function so(e,t){t.range&&(`padding`in e,e.range(t.range))}function co(e,t){`align`in e&&`align`in t&&t.align!==void 0&&e.align(t.align)}function lo(e,t){`base`in e&&`base`in t&&t.base!==void 0&&e.base(t.base)}function uo(e,t){`clamp`in e&&`clamp`in t&&t.clamp!==void 0&&e.clamp(t.clamp)}function fo(e,t){`constant`in e&&`constant`in t&&t.constant!==void 0&&e.constant(t.constant)}function po(e,t){`exponent`in e&&`exponent`in t&&t.exponent!==void 0&&e.exponent(t.exponent)}var mo={lab:Pt,hcl:It,"hcl-long":Lt,hsl:Mt,"hsl-long":Nt,cubehelix:zt,"cubehelix-long":Bt,rgb:ne};function ho(e){switch(e){case`lab`:case`hcl`:case`hcl-long`:case`hsl`:case`hsl-long`:case`cubehelix`:case`cubehelix-long`:case`rgb`:return mo[e]}let{type:t,gamma:n}=e,r=mo[t];return n===void 0?r:r.gamma(n)}function go(e,t){if(`interpolate`in t&&`interpolate`in e&&t.interpolate!==void 0){let n=ho(t.interpolate);e.interpolate(n)}}var _o=new Date(Date.UTC(2020,1,2,3,4,5)),vo=`%Y-%m-%d %H:%M`;function yo(e){return e.tickFormat(1,vo)(_o)===`2020-02-02 03:04`}var bo={day:oi,hour:ii,minute:ni,month:Ti,second:ti,week:ui,year:Di},xo={day:si,hour:ai,minute:ri,month:Ei,second:ti,week:vi,year:Oi};function So(e,t){if(`nice`in t&&t.nice!==void 0&&`nice`in e){let{nice:n}=t;if(typeof n==`boolean`)n&&e.nice();else if(typeof n==`number`)e.nice(n);else{let t=e,r=yo(t);if(typeof n==`string`)t.nice(r?xo[n]:bo[n]);else{let{interval:e,step:i}=n,a=(r?xo[e]:bo[e]).every(i);a!=null&&t.nice(a)}}}}function Co(e,t){`padding`in e&&`padding`in t&&t.padding!==void 0&&e.padding(t.padding),`paddingInner`in e&&`paddingInner`in t&&t.paddingInner!==void 0&&e.paddingInner(t.paddingInner),`paddingOuter`in e&&`paddingOuter`in t&&t.paddingOuter!==void 0&&e.paddingOuter(t.paddingOuter)}function wo(e,t){if(t.reverse){let t=e.range().slice().reverse();`padding`in e,e.range(t)}}function To(e,t){`round`in t&&t.round!==void 0&&(t.round&&`interpolate`in t&&t.interpolate!==void 0?console.warn(`[visx/scale/applyRound] ignoring round: scale config contains round and interpolate. only applying interpolate. config:`,t):`round`in e?e.round(t.round):`interpolate`in e&&t.round&&e.interpolate(At))}function Eo(e,t){`unknown`in e&&`unknown`in t&&t.unknown!==void 0&&e.unknown(t.unknown)}function Do(e,t){if(`zero`in t&&t.zero===!0){let[t,n]=e.domain(),r=n<t,[i,a]=r?[n,t]:[t,n],o=[Math.min(0,i),Math.max(0,a)];e.domain(r?o.reverse():o)}}var Oo=[`domain`,`nice`,`zero`,`interpolate`,`round`,`range`,`reverse`,`align`,`base`,`clamp`,`constant`,`exponent`,`padding`,`unknown`],ko={domain:oo,nice:So,zero:Do,interpolate:go,round:To,align:co,base:lo,clamp:uo,constant:fo,exponent:po,padding:Co,range:so,reverse:wo,unknown:Eo};function Ao(){let e=new Set([...arguments]),t=Oo.filter(t=>e.has(t));return function(e,n){return n!==void 0&&t.forEach(t=>{ko[t](e,n)}),e}}var jo=Ao(`domain`,`range`,`reverse`,`clamp`,`interpolate`,`nice`,`round`,`zero`);function Mo(e){return jo(Ur(),e)}var No=Ao(`domain`,`range`,`reverse`,`clamp`,`interpolate`,`nice`,`round`);function Po(e){return No(ao(),e)}function Fo(e){if((typeof e==`function`||typeof e==`object`&&e)&&`valueOf`in e){let t=e.valueOf();if(typeof t==`number`)return t}return e}function Io(e,t){let n=e;return`ticks`in n?n.ticks(t):n.domain().filter((e,n,r)=>t==null||r.length<=t||n%Math.round((r.length-1)/t)===0)}var Lo=`left`;function Ro(e){return e==null||e===``?Lo:String(e)}function zo(e){let t=new Map;for(let n of e){let e=Ro(n.yAxisId),r=t.get(e)??[];r.push(n),t.set(e,r)}return t}function Bo(e,t){return e[Lo]||(Object.values(e)[0]??t)}function Vo({lines:e,innerHeight:t,domainsByAxis:n}){let r=zo(e),i={};for(let[e]of r){let r=n[e]??n.left??[0,100];i[e]=Mo({range:[t,0],domain:r})}return i.left||(i[Lo]=Mo({range:[t,0],domain:n.left??[0,100]})),i}var Q={background:`var(--chart-background)`,foreground:`var(--chart-foreground)`,foregroundMuted:`var(--chart-foreground-muted)`,label:`var(--chart-label)`,linePrimary:`var(--chart-line-primary)`,lineSecondary:`var(--chart-line-secondary)`,crosshair:`var(--chart-crosshair)`,grid:`var(--chart-grid)`,indicatorColor:`var(--chart-indicator-color)`,indicatorSecondaryColor:`var(--chart-indicator-secondary-color)`,markerBackground:`var(--chart-marker-background)`,markerBorder:`var(--chart-marker-border)`,markerForeground:`var(--chart-marker-foreground)`,badgeBackground:`var(--chart-marker-badge-background)`,badgeForeground:`var(--chart-marker-badge-foreground)`,segmentBackground:`var(--chart-segment-background)`,segmentLine:`var(--chart-segment-line)`,brushBorder:`var(--chart-brush-border)`,tooltipBackground:`var(--chart-tooltip-background)`},Ho=[`var(--chart-1)`,`var(--chart-2)`,`var(--chart-3)`,`var(--chart-4)`,`var(--chart-5)`],Uo=(0,K.createContext)(null),Wo=(0,K.createContext)(null);function Go({children:e,value:t}){let n=(0,K.useMemo)(()=>({data:t.data,renderData:t.renderData,xScale:t.xScale,yScale:t.yScale,yScales:t.yScales,width:t.width,height:t.height,innerWidth:t.innerWidth,innerHeight:t.innerHeight,margin:t.margin,columnWidth:t.columnWidth,containerRef:t.containerRef,lines:t.lines,referenceAreas:t.referenceAreas,chartPhase:t.chartPhase,chartStatus:t.chartStatus,loadingLabel:t.loadingLabel,yDomainTweenDuration:t.yDomainTweenDuration,yDomainSkeletonByAxis:t.yDomainSkeletonByAxis,yDomainTargetByAxis:t.yDomainTargetByAxis,isLoaded:t.isLoaded,animationDuration:t.animationDuration,animationEasing:t.animationEasing,enterTransition:t.enterTransition,revealEpoch:t.revealEpoch,notifyLoadingPulseComplete:t.notifyLoadingPulseComplete,xAccessor:t.xAccessor,dateLabels:t.dateLabels,xDomain:t.xDomain,xDomainSlotCount:t.xDomainSlotCount,barScale:t.barScale,bandWidth:t.bandWidth,barXAccessor:t.barXAccessor,orientation:t.orientation,stacked:t.stacked,stackOffsets:t.stackOffsets,composedBarDataKeys:t.composedBarDataKeys,composedBarSize:t.composedBarSize,composedMaxBarSize:t.composedMaxBarSize,composedBarGap:t.composedBarGap,composedStacked:t.composedStacked,composedStackOffsets:t.composedStackOffsets,composedStackGap:t.composedStackGap}),[t.data,t.renderData,t.xScale,t.yScale,t.yScales,t.width,t.height,t.innerWidth,t.innerHeight,t.margin,t.columnWidth,t.containerRef,t.lines,t.referenceAreas,t.chartPhase,t.chartStatus,t.loadingLabel,t.yDomainTweenDuration,t.yDomainSkeletonByAxis,t.yDomainTargetByAxis,t.isLoaded,t.animationDuration,t.animationEasing,t.enterTransition,t.revealEpoch,t.notifyLoadingPulseComplete,t.xAccessor,t.dateLabels,t.xDomain,t.xDomainSlotCount,t.barScale,t.bandWidth,t.barXAccessor,t.orientation,t.stacked,t.stackOffsets,t.composedBarDataKeys,t.composedBarSize,t.composedMaxBarSize,t.composedBarGap,t.composedStacked,t.composedStackOffsets,t.composedStackGap]),r=(0,K.useMemo)(()=>({tooltipData:t.tooltipData,setTooltipData:t.setTooltipData,selection:t.selection,clearSelection:t.clearSelection,hoveredBarIndex:t.hoveredBarIndex,setHoveredBarIndex:t.setHoveredBarIndex,hoveredCandleIndex:t.hoveredCandleIndex,setHoveredCandleIndex:t.setHoveredCandleIndex}),[t.tooltipData,t.setTooltipData,t.selection,t.clearSelection,t.hoveredBarIndex,t.setHoveredBarIndex,t.hoveredCandleIndex,t.setHoveredCandleIndex]);return(0,q.jsx)(Uo.Provider,{value:n,children:(0,q.jsx)(Wo.Provider,{value:r,children:e})})}function Ko(){let e=(0,K.useContext)(Uo);if(!e)throw Error(`useChartStable must be used within a ChartProvider. Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.`);return e}function qo(e){let{yScales:t,yScale:n}=Ko();return t[e==null||e===``?`left`:String(e)]??n}function Jo(){let e=(0,K.useContext)(Wo);if(!e)throw Error(`useChartHover must be used within a ChartProvider. Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.`);return e}function Yo(){let e=Ko(),t=Jo();return{...e,...t}}var Xo=2.2,Zo=.45,Qo=[.85,0,.15,1],$o=10;function es(e){switch(e){case`loading`:return`loop`;case`exiting`:return`exit`;case`revealingLoading`:return`enter`;default:return null}}function ts(e,t,n,r){let i=_e(0),a=e+20,o=e+$o,s=ve(i,e=>e<=.5?e/.5*a:(1-(e-.5)/.5)*a),c=ve(i,e=>{if(e<=.5)return-10;let t=(e-.5)/.5;return o-(1-t)*a});return(0,K.useEffect)(()=>{if(e<=0)return;let n=Xo/2,a=!1,o,s=()=>{a||r?.()},c=e=>{let t=n*((1-e)/.5);o=me(i,1,{duration:Math.max(t,.01),ease:[...Qo],onComplete:s})};if(t===`loop`)return i.set(0),o=me(i,1,{duration:Xo,ease:[...Qo],onComplete:s}),()=>{a=!0,o?.stop()};if(t===`exit`){let e=i.get();if(e<.5){let t=n*((.5-e)/.5);o=me(i,.5,{duration:Math.max(t,.01),ease:[...Qo],onComplete:()=>{a||c(.5)}})}else c(e);return()=>{a=!0,o?.stop()}}if(t===`enter`)return i.set(0),o=me(i,.5,{duration:n,ease:[...Qo],onComplete:s}),()=>{a=!0,o?.stop()}},[e,n,t,r,i]),{clipX:c,clipWidth:s}}function ns({pathD:e,mode:t=`loop`,loopEpoch:n=0,stroke:r=Q.foreground,strokeOpacity:i=.5,strokeWidth:a=2.5,onCycleComplete:o}){let{innerWidth:s,innerHeight:c}=Ko(),l=(0,K.useId)(),u=`line-loading-clip-${l}`,d=`line-loading-gradient-${l}`,f=Vn(Bn(!0)),p=c+20,{clipX:m,clipWidth:h}=ts(s,t,n,o);return s<=0?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`defs`,{children:[(0,q.jsx)(`clipPath`,{id:u,children:(0,q.jsx)(G.rect,{height:p,style:{width:h,x:m},y:-10})}),(0,q.jsx)(`linearGradient`,{id:d,...Hn(s),children:f.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,stopColor:r,stopOpacity:e.opacity},e.offset))})]}),(0,q.jsx)(`path`,{clipPath:`url(#${u})`,d:e,fill:`none`,opacity:i,stroke:`url(#${d})`,strokeLinecap:`round`,strokeWidth:a})]})}ns.displayName=`LineLoadingPulseStroke`;var rs=2,is=-1,as=2,os=25,ss=20,cs=80,ls=14,us=.55,ds=.18,fs=.02;function ps(e){let t=Math.sin(e)*43758.5453;return t-Math.floor(t)}function ms(e,t=0,n=ss,r=cs){let i=r-n;return Array.from({length:e},(e,r)=>n+Math.floor(ps((r+1)*12.9898+t)*i))}function hs(e=17,t=.05,n=.9){return Array.from({length:e},(r,i)=>{let a=i/(e-1),o=t+Math.sin(a*Math.PI)**2*(n-t);return{offset:`${(a*100).toFixed(0)}%`,opacity:Number(o.toFixed(3))}})}function gs({chartId:e,width:t,height:n,durationSeconds:r,onSweepComplete:i}){let a=(0,K.useMemo)(()=>hs(),[]),o=(0,K.useRef)(is),s=(0,K.useCallback)(e=>{let t=typeof e.x==`number`?e.x:is;t>=1&&o.current<1&&i(),o.current=t},[i]);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`linearGradient`,{id:`${e}-grad`,x1:`0`,x2:`1`,y1:`0`,y2:`0`,children:a.map(({offset:e,opacity:t})=>(0,q.jsx)(`stop`,{offset:e,stopColor:`white`,stopOpacity:t},e))}),(0,q.jsx)(`pattern`,{height:`1`,id:`${e}-pattern`,patternContentUnits:`objectBoundingBox`,patternTransform:`rotate(${os})`,patternUnits:`objectBoundingBox`,width:3,x:`0`,y:`0`,children:(0,q.jsx)(G.rect,{animate:{x:as},fill:`url(#${e}-grad)`,height:`1`,initial:{x:is},onUpdate:s,transition:{duration:r,ease:`linear`,repeat:1/0,repeatType:`loop`},width:`1`,y:`0`})}),(0,q.jsx)(`mask`,{id:`${e}-mask`,maskUnits:`userSpaceOnUse`,children:(0,q.jsx)(`rect`,{fill:`url(#${e}-pattern)`,height:n,width:t})})]})}function _s({curve:e,withArea:t=!1,mode:n=`loop`,onTransitionComplete:r,stroke:i=Q.foreground,strokeOpacity:a=us,strokeWidth:o=2,pointCount:s=ls,durationSeconds:c=rs}){let{innerWidth:l,innerHeight:u}=Ko(),d=fe(),f=`line-sweep-${(0,K.useId)().replace(/[^a-zA-Z0-9_-]/g,``)}`,p=n===`loop`,[m,h]=(0,K.useState)(0),g=(0,K.useCallback)(()=>{p&&h(e=>e+1)},[p]),_=(0,K.useMemo)(()=>ms(s,m),[s,m]);if((0,K.useEffect)(()=>{d&&!p&&r?.()},[d,p,r]),l<=0||u<=0||_.length<2)return null;let v=Mo({domain:[0,_.length-1],range:[0,l]}),y=Mo({domain:[0,100],range:[u,0]}),b=_.map((e,t)=>({index:t,value:e})),x=e=>v(e.index),S=e=>y(e.value),C=(0,q.jsxs)(q.Fragment,{children:[t?(0,q.jsx)(zn,{curve:e,data:b,fill:`url(#${f}-area)`,x,y:S,yScale:y}):null,(0,q.jsx)(Rn,{curve:e,data:b,fill:`none`,stroke:i,strokeLinecap:`round`,strokeOpacity:a,strokeWidth:o,x,y:S})]}),w=t?(0,q.jsxs)(`linearGradient`,{id:`${f}-area`,x1:`0`,x2:`0`,y1:`0`,y2:`1`,children:[(0,q.jsx)(`stop`,{offset:`0%`,stopColor:i,stopOpacity:ds}),(0,q.jsx)(`stop`,{offset:`100%`,stopColor:i,stopOpacity:fs})]}):null;if(d)return(0,q.jsxs)(q.Fragment,{children:[w?(0,q.jsx)(`defs`,{children:w}):null,C]});let T=`url(#${f}-mask)`,E=(0,q.jsxs)(`defs`,{children:[w,(0,q.jsx)(gs,{chartId:f,durationSeconds:c,height:u,onSweepComplete:g,width:l})]});return p?(0,q.jsxs)(q.Fragment,{children:[E,(0,q.jsx)(`g`,{mask:T,children:C})]}):(0,q.jsxs)(q.Fragment,{children:[E,(0,q.jsx)(G.g,{animate:{opacity:n===`exit`?0:1},initial:{opacity:+(n===`exit`)},mask:T,onAnimationComplete:r,transition:{duration:Zo,ease:[...Qo]},children:C})]})}_s.displayName=`LineLoadingSweep`;var vs={pathD:null,pathLength:0};function ys(e,t){let[n,r]=(0,K.useState)(vs);return(0,K.useEffect)(()=>{let t=e.current;if(!t)return;let n=t.getAttribute(`d`),i=n?t.getTotalLength():0;r(e=>e.pathD===n&&e.pathLength===i?e:{pathD:n,pathLength:i})},t),n}function bs(e,t){return e!=null&&e>=0&&e<t-1}function xs(e,t,n,r){let i=e[t];return i?n(r(i))??0:0}function Ss({pathD:e,pathLength:t,dashStartLength:n,dashStartX:r,innerWidth:i,innerHeight:a,stroke:o,strokeWidth:s,dashArray:c}){let l=(0,K.useId)().replace(/:/g,``);if(!e||t<=0||n>=t)return null;let u=s*2,d=Math.max(0,i-r+u);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`clipPath`,{id:l,children:(0,q.jsx)(`rect`,{height:a+u,width:d,x:r-s,y:-s})})}),(0,q.jsx)(`path`,{d:e,fill:`none`,stroke:o,strokeDasharray:`${n} ${Math.max(1,t-n)}`,strokeLinecap:`round`,strokeWidth:s}),(0,q.jsx)(`path`,{clipPath:`url(#${l})`,d:e,fill:`none`,stroke:o,strokeDasharray:c,strokeLinecap:`round`,strokeWidth:s})]})}function Cs({dashFromIndex:e,dashArray:t,data:n,pathD:r,pathLength:i,innerWidth:a,innerHeight:o,stroke:s,strokeWidth:c,xScale:l,xAccessor:u}){let d=bs(e,n.length),f=(0,K.useMemo)(()=>!d||e==null?0:xs(n,e,l,u),[d,e,n,l,u]),p=(0,K.useMemo)(()=>!d||e==null||i<=0?0:e/Math.max(1,n.length-1)*i,[d,e,n.length,i]);return!d||e==null||i<=0?null:(0,q.jsx)(Ss,{dashArray:t,dashStartLength:p,dashStartX:f,innerHeight:o,innerWidth:a,pathD:r,pathLength:i,stroke:s,strokeWidth:c})}var ws=(0,K.memo)(Cs);function Ts({pathRef:e,visible:t,stroke:n,strokeWidth:r,height:i,x:a,width:o}){let s=(0,K.useId)();return t&&e.current?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`clipPath`,{id:s,children:(0,q.jsx)(G.rect,{height:i,width:o,x:a,y:0})})}),(0,q.jsx)(G.path,{animate:{opacity:1},clipPath:`url(#${s})`,d:e.current.getAttribute(`d`)||``,exit:{opacity:0},fill:`none`,initial:{opacity:0},stroke:n,strokeLinecap:`round`,strokeWidth:r,transition:{duration:.4,ease:`easeInOut`}})]}):null}Ts.displayName=`HighlightSegment`;var Es={tooltipSpring:{stiffness:300,damping:30},tooltipBoxSpring:{stiffness:100,damping:20},highlightSpring:{stiffness:180,damping:28}},Ds=(0,K.createContext)(null);function Os(){return(0,K.useContext)(Ds)??Es}var ks=Es.tooltipBoxSpring.damping;function As(e){if(e===0)return{animate:!1,springConfig:Es.tooltipBoxSpring};let t=e??ks,n=Es.tooltipBoxSpring.stiffness;if(t<ks){let e=(ks-t)/ks;n+=e*400}else if(t>ks){let e=(t-ks)/(100-ks);n-=e*85}return{animate:!0,springConfig:{stiffness:Math.max(12,Math.round(n)),damping:t}}}var js={x:0,width:0,isActive:!1};function Ms(e,t,n,r,i){if(e.length===0)return js;if(i?.active)return{x:Math.min(i.startX,i.endX),width:Math.abs(i.endX-i.startX),isActive:!0};if(!r)return js;let a=r.index,o=Math.max(0,a-1),s=Math.min(e.length-1,a+1),c=e[o],l=e[s];if(!(c&&l))return js;let u=t(n(c))??0,d=t(n(l))??0;return{x:u,width:Math.max(0,d-u),isActive:!0}}function Ns({enabled:e=!0}={}){let{data:t,xScale:n,xAccessor:r}=Ko(),{tooltipData:i,selection:a}=Jo(),{highlightSpring:o}=Os(),s=(0,K.useMemo)(()=>e?Ms(t,n,r,i,a):js,[e,t,n,r,i,a]),c=Ze(0,o),l=Ze(0,o),u=(0,K.useRef)(!1);return s.isActive&&!u.current?(c.jump(s.x),l.jump(s.width)):(c.set(s.x),l.set(s.width)),u.current=s.isActive,{xSpring:c,widthSpring:l,isActive:s.isActive}}function Ps({enabled:e,height:t,pathRef:n,stroke:r,strokeWidth:i}){let{isLoaded:a}=Ko(),{xSpring:o,widthSpring:s,isActive:c}=Ns({enabled:e});return(0,q.jsx)(Ts,{height:t,pathRef:n,stroke:r,strokeWidth:i,visible:e&&c&&a,width:s,x:o})}Ps.displayName=`SeriesHighlightLayer`;var Fs=(0,K.createContext)(null);function Is(){return(0,K.useContext)(Fs)??{hoveredIndex:null,setHoveredIndex:()=>{}}}function Ls({enabled:e=!0,dimOpacity:t=.5,durationSec:n=.4,seriesIndex:r,children:i}){let{tooltipData:a,selection:o}=Jo(),{hoveredIndex:s}=Is(),c=a!==null||o?.active===!0,l=e&&(c||s!==null&&r!==void 0&&s!==r)?t:1;return(0,q.jsx)(G.g,{animate:{opacity:l},initial:{opacity:1},transition:{duration:n,ease:`easeInOut`},children:i})}Ls.displayName=`SeriesHoverDim`;var Rs=`cubic-bezier(0.85, 0, 0.15, 1)`,zs=1100,Bs={type:`tween`,duration:zs/1e3,ease:[.85,0,.15,1]};function Vs(e){return e?.type===`tween`?{...e,ease:e.ease??Bs.ease}:{type:`tween`,duration:typeof e?.duration==`number`?e.duration:zs/1e3,ease:Bs.ease}}function Hs({fill:e,stroke:t,strokeWidth:n,ringGap:r,outlineWidth:i,outlineColor:a,radius:o}){let s=t??e??`currentColor`,c=a??s,l=n>0?o+r+n:o,u=i>0?l+i/2:0;return(0,q.jsxs)(q.Fragment,{children:[i>0?(0,q.jsx)(`circle`,{cx:0,cy:0,fill:`none`,r:u,stroke:c,strokeWidth:i}):null,(0,q.jsx)(`circle`,{cx:0,cy:0,fill:e,r:o}),n>0?(0,q.jsx)(`circle`,{cx:0,cy:0,fill:`none`,r:o+r+n/2,stroke:s,strokeWidth:n}):null]})}var Us=(0,K.memo)(function({cx:e,cy:t,scale:n=1,fill:r,stroke:i,strokeWidth:a=2,ringGap:o=2,outlineWidth:s=0,outlineColor:c,radius:l=5}){return(0,q.jsx)(`g`,{transform:`translate(${e}, ${t}) scale(${n})`,children:(0,q.jsx)(Hs,{fill:r,outlineColor:c,outlineWidth:s,radius:l,ringGap:o,stroke:i,strokeWidth:a})})});function Ws({dataKey:e,index:t,cx:n,cy:r,enterBlur:i=2,revealDelay:a,revealEpoch:o,enterDuration:s,fill:c,stroke:l,strokeWidth:u=2,ringGap:d=2,outlineWidth:f=0,outlineColor:p,radius:m=5}){let h={hidden:{opacity:0,filter:`blur(${i}px)`,scale:1},visible:{opacity:1,filter:`blur(0px)`,scale:1,transition:{delay:a,duration:s,ease:Bs.ease}}};return(0,q.jsx)(`g`,{transform:`translate(${n}, ${r})`,children:(0,q.jsx)(G.g,{animate:`visible`,initial:`hidden`,variants:h,children:(0,q.jsx)(Hs,{fill:c,outlineColor:p,outlineWidth:f,radius:m,ringGap:d,stroke:l,strokeWidth:u})},`${e}-${t}-${o}`)})}function Gs(e){let t=e.radius??5,n=e.strokeWidth??2,r=e.ringGap??2,i=e.outlineWidth??0,a=e.showActiveHighlight??!0,o=n>0?r+n:0,s=i>0?i:0,c=a?t*.35:0;return t+o+s+c+2}function Ks({dataKey:e,fill:t,stroke:n,strokeWidth:r=2,ringGap:i=2,outlineWidth:a=0,outlineColor:o,radius:s=5,animate:c=!0,fadeOnHover:l=!0,inactiveOpacity:u=.5,inactiveBlur:d=2,enterBlur:f=2,showActiveHighlight:p=!0}){let{data:m,xScale:h,innerWidth:g,enterTransition:_,animationDuration:v,revealEpoch:y,isLoaded:b,xAccessor:x,lines:S}=Ko(),C=(0,K.useMemo)(()=>{let t=S.findIndex(t=>t.dataKey===e);return t>=0?t:0},[S,e]),w=S[C],T=qo(w?.yAxisId),E=Ho[C%Ho.length]??Ho[0],D=t??w?.stroke??E,O=n??D,k=(0,K.useMemo)(()=>Gs({radius:s,strokeWidth:r,ringGap:i,outlineWidth:a,showActiveHighlight:p}),[s,r,i,a,p]),A=Vs(_).duration??v/1e3,j=c&&!b,M=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?T(n)??0:null},[e,T]),N=(0,K.useMemo)(()=>m.flatMap((e,t)=>{let n=M(e);if(n===null)return[];let r=h(x(e))??0,i=Math.max(0,r-k);return[{index:t,cx:r,cy:n,revealDelay:g>0&&j?i/g*A:0}]}),[m,M,h,x,g,j,A,k]),P=(0,K.useMemo)(()=>({fill:D,stroke:O,strokeWidth:r,ringGap:i,outlineWidth:a,outlineColor:o,radius:s}),[D,O,r,i,a,o,s]);if(j)return(0,q.jsx)(`g`,{children:N.map(t=>(0,q.jsx)(Ws,{cx:t.cx,cy:t.cy,dataKey:e,enterBlur:f,enterDuration:.5,index:t.index,revealDelay:t.revealDelay,revealEpoch:y??0,...P},`${e}-${t.index}`))});let F=N.map(t=>(0,q.jsx)(Us,{cx:t.cx,cy:t.cy,...P},`${e}-${t.index}`));return(0,q.jsxs)(`g`,{children:[(0,q.jsx)(qs,{enabled:l,inactiveBlur:d,inactiveOpacity:u,seriesIndex:C,children:F}),(0,q.jsx)(Js,{activeScale:p?1.35:1,enabled:l,markerStyle:P,points:N})]})}Ks.displayName=`SeriesMarkers`;function qs({enabled:e,inactiveOpacity:t,inactiveBlur:n,seriesIndex:r,children:i}){let{tooltipData:a}=Jo(),{hoveredIndex:o}=Is(),s=e&&(a!==null||o!==null&&o!==r);return(0,q.jsx)(`g`,{opacity:s?t:1,style:{transition:`opacity 0.15s ease-in-out, filter 0.15s ease-in-out`,filter:s&&n>0?`blur(${n}px)`:`none`},children:i})}function Js({enabled:e,points:t,markerStyle:n,activeScale:r}){let{tooltipData:i}=Jo();if(!e||i===null)return null;let a=t.find(e=>e.index===i.index);return a?(0,q.jsx)(Us,{cx:a.cx,cy:a.cy,scale:r,...n}):null}function Ys(e,t,n,r){let i=es(e),a=t===!1?null:n??(t===!0?`loop`:i),o=a!=null,s=e===`revealing`||e===`ready`||e===`exitingReady`,[c,l]=(0,K.useState)(0);return{handleLoadingPulseComplete:(0,K.useCallback)(()=>{if(a===`loop`){window.setTimeout(()=>{l(e=>e+1)},280);return}r?.()},[r,a]),pulseMode:a,pulseEpoch:c,showLoadingPulse:o,showSeriesContent:s}}function Xs({dataKey:e,yAxisId:t,fill:n=Q.linePrimary,fillOpacity:r=.4,stroke:i,strokeWidth:a=2,curve:o=Dn,animate:s=!0,showLine:c=!0,showHighlight:l=!0,gradientToOpacity:u=0,gradientSpan:d=1,fadeEdges:f=!1,showMarkers:p=!1,markers:m,dashFromIndex:h,dashArray:g=`6,4`,loading:_,loadingStroke:v=Q.foreground,loadingStrokeOpacity:y=.5,loadingPulseMode:b,loadingStyle:x=`pulse`}){let{data:S,renderData:C,xScale:w,innerHeight:T,innerWidth:E,xAccessor:D,lines:O,chartPhase:k,notifyLoadingPulseComplete:A}=Ko(),j=qo(t),{handleLoadingPulseComplete:M,pulseMode:N,pulseEpoch:P,showLoadingPulse:F,showSeriesContent:I}=Ys(k,_,b,A),L=(0,K.useMemo)(()=>{let t=O.findIndex(t=>t.dataKey===e);return t>=0?t:0},[O,e]),R=(0,K.useRef)(null),{pathLength:z,pathD:ee}=ys(R,[C,E,h,c,I,F]),te=(0,K.useId)(),B=`area-gradient-${e}-${te}`,V=`area-stroke-gradient-${e}-${te}`,H=`area-edge-mask-${e}-${te}`,U=`${H}-gradient`,ne=n.startsWith(`url(`),re=ne||r>0,ie=ne?n:`url(#${B})`,ae=i||(ne?Q.linePrimary:n),oe=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?j(n)??0:0},[e,j]),se=bs(h,S.length),ce=Bn(f),W=ce.any&&!ne,le=ae;!W&&ce.any&&(le=`url(#${V})`);let ue=l&&c&&!F&&I,de=I&&c,fe=`transparent`;de&&!se&&(fe=le);let G=(0,q.jsxs)(q.Fragment,{children:[I&&re?(0,q.jsx)(zn,{curve:o,data:C,fill:ie,x:e=>w(D(e))??0,y:oe,yScale:j}):null,c&&(I||F)?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Rn,{curve:o,data:C,innerRef:R,stroke:fe,strokeLinecap:`round`,strokeWidth:a,x:e=>w(D(e))??0,y:oe}),de?(0,q.jsx)(ws,{dashArray:g,dashFromIndex:h,data:S,innerHeight:T,innerWidth:E,pathD:ee,pathLength:z,stroke:le,strokeWidth:a,xAccessor:D,xScale:w}):null]}):null]}),pe=F&&E>0&&x===`sweep`,me=F&&E>0&&!pe;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Un,{edgeGradientId:U,edgeMaskId:H,fadeEdges:f,fill:n,fillOpacity:r,gradientId:B,gradientSpan:d,gradientToOpacity:u,innerHeight:T,innerWidth:E,isPatternFill:ne,resolvedStroke:ae,strokeGradientId:V}),(0,q.jsx)(Ls,{dimOpacity:.6,enabled:l,seriesIndex:L,children:W?(0,q.jsx)(`g`,{mask:`url(#${H})`,children:G}):G}),(0,q.jsx)(Ps,{enabled:ue,height:T,pathRef:R,stroke:ae,strokeWidth:a}),p&&I?(0,q.jsx)(Ks,{animate:s,dataKey:e,...m,fill:m?.fill??ae,stroke:m?.stroke??m?.fill??ae}):null,pe?(0,q.jsx)(_s,{curve:o,mode:N??`loop`,onTransitionComplete:M,stroke:v,strokeOpacity:y,strokeWidth:a,withArea:!0},`loading-sweep`):null,me&&ee?(0,q.jsx)(ns,{loopEpoch:P,mode:N??void 0,onCycleComplete:M,pathD:ee,stroke:v,strokeOpacity:y,strokeWidth:a},`loading-pulse`):null]})}Xs.displayName=`Area`;var Zs=t(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Qs=t(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),$s=t(((e,t)=>{var n=Qs(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),ec=t(((e,t)=>{var n=$s();t.exports=function(){return n.Date.now()}})),tc=t(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),nc=t(((e,t)=>{var n=tc(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),rc=t(((e,t)=>{t.exports=$s().Symbol})),ic=t(((e,t)=>{var n=rc(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),ac=t(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),oc=t(((e,t)=>{var n=rc(),r=ic(),i=ac(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),sc=t(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),cc=t(((e,t)=>{var n=oc(),r=sc(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),lc=t(((e,t)=>{var n=nc(),r=Zs(),i=cc(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),uc=e(t(((e,t)=>{var n=Zs(),r=ec(),i=lc(),a=`Expected a function`,o=Math.max,s=Math.min;function c(e,t,c){var l,u,d,f,p,m,h=0,g=!1,_=!1,v=!0;if(typeof e!=`function`)throw TypeError(a);t=i(t)||0,n(c)&&(g=!!c.leading,_=`maxWait`in c,d=_?o(i(c.maxWait)||0,t):d,v=`trailing`in c?!!c.trailing:v);function y(t){var n=l,r=u;return l=u=void 0,h=t,f=e.apply(r,n),f}function b(e){return h=e,p=setTimeout(C,t),g?y(e):f}function x(e){var n=e-m,r=e-h,i=t-n;return _?s(i,d-r):i}function S(e){var n=e-m,r=e-h;return m===void 0||n>=t||n<0||_&&r>=d}function C(){var e=r();if(S(e))return w(e);p=setTimeout(C,x(e))}function w(e){return p=void 0,v&&l?y(e):(l=u=void 0,f)}function T(){p!==void 0&&clearTimeout(p),h=0,l=m=u=p=void 0}function E(){return p===void 0?f:w(r())}function D(){var e=r(),n=S(e);if(l=arguments,u=this,m=e,n){if(p===void 0)return b(m);if(_)return clearTimeout(p),p=setTimeout(C,t),y(m)}return p===void 0&&(p=setTimeout(C,t)),f}return D.cancel=T,D.flush=E,D}t.exports=c}))()),dc=[],fc={width:0,height:0,top:0,left:0};function pc(){let{initialSize:e=fc,debounceTime:t=300,ignoreDimensions:n=dc,enableDebounceLeadingCall:r=!0,resizeObserverPolyfill:i}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=(0,K.useRef)(null),o=(0,K.useRef)(0),[s,c]=(0,K.useState)({...fc,...e}),l=(0,K.useMemo)(()=>{let e=Array.isArray(n)?n:[n];return(0,uc.default)(t=>{c(n=>Object.keys(n).filter(e=>n[e]!==t[e]).every(t=>e.includes(t))?n:t)},t,{leading:r})},[t,r,n]);return(0,K.useEffect)(()=>{let e=new(i||window.ResizeObserver)(e=>{e.forEach(e=>{let{left:t,top:n,width:r,height:i}=e?.contentRect??{};o.current=window.requestAnimationFrame(()=>{l({width:r,height:i,top:n,left:t})})})});return a.current&&e.observe(a.current),()=>{window.cancelAnimationFrame(o.current),e.disconnect(),l.cancel()}},[l,i]),{parentRef:a,resize:l,...s}}var mc={width:`100%`,height:`100%`};function hc(e){let{className:t,children:n,debounceTime:r,ignoreDimensions:i,initialSize:a,parentSizeStyles:o=mc,enableDebounceLeadingCall:s=!0,resizeObserverPolyfill:c,...l}=e,{parentRef:u,resize:d,...f}=pc({initialSize:a,debounceTime:r,ignoreDimensions:i,enableDebounceLeadingCall:s,resizeObserverPolyfill:c});return(0,q.jsx)(`div`,{style:o,ref:u,className:t,...l,children:n({...f,ref:u.current,resize:d})})}function gc(e,t,n,r,i){return e.map((e,a)=>{let o=t(e),s=e[i];return{x:n(o)??0,y:typeof s==`number`?r(s)??0:0,key:String(o.getTime?.()??a)}})}function _c(e,t,n){if(n>=1)return t;if(n<=0)return e.length>0?e:t;let r=new Map(e.map(e=>[e.key,e]));return t.map((i,a)=>{let o=r.get(i.key);if(o)return{key:i.key,x:o.x+(i.x-o.x)*n,y:o.y+(i.y-o.y)*n};let s=a>0?t[a-1]:void 0,c=s?r.get(s.key):void 0,l=a<t.length-1?t[a+1]:void 0,u=l?r.get(l.key):void 0,d=c??u??e[0]??i;return{key:i.key,x:d.x+(i.x-d.x)*n,y:d.y+(i.y-d.y)*n}})}function vc(e,t){return e.length===0?``:bn().x(e=>e.x).y(e=>e.y).curve(t)(e)??``}function yc({renderData:e,xAccessor:t,dataKey:n,innerWidth:r,xDomainMin:i,xDomainMax:a}){return`${r}|${i}|${a}|${e.map(e=>{let r=t(e),i=e[n];return`${r.getTime()}:${typeof i==`number`?i:``}`}).join(`,`)}`}function bc({renderData:e,xAccessor:t,xScale:n,yScale:r,dataKey:i,curve:a,chartPhase:o,durationMs:s,innerWidth:c,enabled:l}){let u=fe(),[d,f]=(0,K.useState)(null),p=(0,K.useRef)(null),m=(0,K.useRef)(!1),h=(0,K.useMemo)(()=>n.domain?.()??[new Date(0),new Date(0)],[n]),g=(0,K.useMemo)(()=>yc({renderData:e,xAccessor:t,dataKey:i,innerWidth:c,xDomainMin:h[0]?.getTime?.()??0,xDomainMax:h[1]?.getTime?.()??0}),[e,t,i,c,h]),_=(0,K.useMemo)(()=>gc(e,t,n,r,i),[e,t,n,r,i]),v=(0,K.useRef)(g);(0,K.useEffect)(()=>{m.current||(p.current=_)},[_]),(0,K.useEffect)(()=>{if(!(l&&!u&&o===`ready`&&s>0&&e.length>0)){m.current=!1,f(null),p.current=_,v.current=g;return}if(v.current===g)return;v.current=g;let a=p.current??_;if(a.length===0){p.current=_;return}m.current=!0;let c=a,d=me(0,1,{duration:s/1e3,ease:[...Qo],onUpdate:a=>{let o=gc(e,t,n,r,i),s=_c(c,o,a);p.current=s,f(s)},onComplete:()=>{m.current=!1,p.current=_,f(null)}});return()=>{d.stop(),m.current=!1}},[g,o,s,l,u,e,t,n,r,i,_]);let y=d??_;return{pathD:(0,K.useMemo)(()=>vc(y,a),[y,a]),isPathAnimating:d!=null}}function xc({animatedPathD:e,curve:t,getY:n,pathRef:r,renderData:i,strokeWidth:a,useDataTransitionPath:o,visibleStroke:s,xAccessor:c,xScale:l}){return o&&e?(0,q.jsx)(`path`,{d:e,fill:`none`,ref:r,stroke:s,strokeLinecap:`round`,strokeWidth:a}):(0,q.jsx)(Rn,{curve:t,data:i,innerRef:r,stroke:s,strokeLinecap:`round`,strokeWidth:a,x:e=>l(c(e))??0,y:n})}function Sc({curve:e,handleLoadingPulseComplete:t,innerWidth:n,loadingStroke:r,loadingStrokeOpacity:i,loadingStyle:a,pathD:o,pulseEpoch:s,pulseMode:c,showLoadingPulse:l,strokeWidth:u}){let d=l&&n>0&&a===`sweep`;return(0,q.jsxs)(q.Fragment,{children:[d?(0,q.jsx)(_s,{curve:e,mode:c??`loop`,onTransitionComplete:t,stroke:r,strokeOpacity:i,strokeWidth:u},`loading-sweep`):null,l&&n>0&&!d&&o?(0,q.jsx)(ns,{loopEpoch:s,mode:c??void 0,onCycleComplete:t,pathD:o,stroke:r,strokeOpacity:i,strokeWidth:u},`loading-pulse`):null]})}function Cc({dataKey:e,yAxisId:t,stroke:n=Q.linePrimary,strokeWidth:r=2.5,curve:i=An,animate:a=!0,fadeEdges:o=!0,showHighlight:s=!0,showMarkers:c=!1,markers:l,dashFromIndex:u,dashArray:d=`6,4`,loading:f,loadingStroke:p=Q.foreground,loadingStrokeOpacity:m=.5,loadingPulseMode:h,onLoadingPulseCycleComplete:g,loadingStyle:_=`pulse`}){let{data:v,renderData:y,xScale:b,innerHeight:x,innerWidth:S,xAccessor:C,lines:w,chartPhase:T,notifyLoadingPulseComplete:E,yDomainTweenDuration:D}=Ko(),O=qo(t),k=a&&T===`ready`,{pathD:A}=bc({chartPhase:T,curve:i,dataKey:e,durationMs:D,enabled:k,innerWidth:S,renderData:y,xAccessor:C,xScale:b,yScale:O}),j=es(T),M=f===!1?null:h??(f===!0?`loop`:j),N=M!=null,[P,F]=(0,K.useState)(0),I=s&&!N,L=(0,K.useCallback)(()=>{if(g?.(),M===`loop`){window.setTimeout(()=>{F(e=>e+1)},280);return}E?.()},[E,g,M]),R=(0,K.useMemo)(()=>{let t=w.findIndex(t=>t.dataKey===e);return t>=0?t:0},[w,e]),z=(0,K.useRef)(null),{pathLength:ee,pathD:te}=ys(z,[y,S,u,a,k?A:null]),B=`line-gradient-${e}-${(0,K.useId)()}`,V=(0,K.useCallback)(t=>{let n=t[e];return typeof n==`number`?O(n)??0:0},[e,O]),H=bs(u,v.length),U=Bn(o),ne=U.any?`url(#${B})`:n,re=U.any?Vn(U):null,ie=T===`revealing`||T===`ready`||T===`exitingReady`,ae=`transparent`;return ie&&!H&&(ae=ne),(0,q.jsxs)(q.Fragment,{children:[re?(0,q.jsx)(`defs`,{children:(0,q.jsx)(`linearGradient`,{id:B,...Hn(S),children:re.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:n,stopOpacity:e.opacity}},e.offset))})}):null,(0,q.jsxs)(Ls,{dimOpacity:.3,enabled:I,seriesIndex:R,children:[(0,q.jsx)(xc,{animatedPathD:A,curve:i,getY:V,pathRef:z,renderData:y,strokeWidth:r,useDataTransitionPath:k,visibleStroke:ae,xAccessor:C,xScale:b}),(0,q.jsx)(ws,{dashArray:d,dashFromIndex:u,data:v,innerHeight:x,innerWidth:S,pathD:te,pathLength:ee,stroke:ne,strokeWidth:r,xAccessor:C,xScale:b})]}),c?(0,q.jsx)(Ks,{animate:a,dataKey:e,...l,fill:l?.fill??n,stroke:l?.stroke??l?.fill??n}):null,(0,q.jsx)(Ps,{enabled:I,height:x,pathRef:z,stroke:n,strokeWidth:r}),(0,q.jsx)(Sc,{curve:i,handleLoadingPulseComplete:L,innerWidth:S,loadingStroke:p,loadingStrokeOpacity:m,loadingStyle:_,pathD:te,pulseEpoch:P,pulseMode:M,showLoadingPulse:N,strokeWidth:r})]})}Cc.displayName=`Line`;function wc(e,t,n=Bs){return{...e??n,delay:t}}function Tc(e){let{innerWidth:t,dataLength:n,columnWidth:r,seriesCount:i,composedBarSize:a,composedMaxBarSize:o,composedBarGap:s=4,stacked:c=!1}=e,l=s,u=c?1:Math.max(1,i),d=r;d<=0&&(d=n<2?t:t/(n-1));let f=a??Math.min(d*.88,o??1/0);if(o!=null&&(f=Math.min(f,o)),u>1){let e=d*.92;u*f+(u-1)*l>e&&e>0&&(f=Math.max(4,(e-(u-1)*l)/u))}return Math.max(2,f)}function Ec(e){let{barWidth:t,seriesCount:n,gap:r=4,stacked:i=!1}=e;if(i||n<=1)return Math.ceil(t/2);let a=n*t+(n-1)*r;return Math.ceil(a/2)}function Dc(e){let{stacked:t,composedStackOffsets:n,rowIndex:r,dataKey:i,value:a,yScale:o,innerHeight:s,xCenter:c,barWidth:l,seriesCount:u,gap:d,seriesIndex:f,stackGap:p,isLastSeries:m,radius:h}=e;if(t&&n){let e=n.get(r)?.get(i)??0,t=s-(o(a)??0),u=o(e)??s,d=f*p,g=u-t-d;return!m&&p>0&&(t=Math.max(0,t-p)),{barLeft:c-l/2,barHeight:t,effectiveRadius:p>0||m?h:0,valueY:g}}let g=u*l+(u>1?(u-1)*d:0),_=o(a)??s;return{barLeft:c-g/2+f*(l+d),barHeight:s-_,effectiveRadius:h,valueY:_}}function Oc({dataKey:e,fill:t=Q.linePrimary,radius:n=0,animate:r=!0,fadedOpacity:i=.3}){let{data:a,xScale:o,yScale:s,xAccessor:c,innerHeight:l,innerWidth:u,columnWidth:d,isLoaded:f,animationDuration:p,enterTransition:m,revealEpoch:h=0,barScale:g,composedBarDataKeys:_,composedBarSize:v,composedMaxBarSize:y,composedBarGap:b,composedStacked:x,composedStackOffsets:S,composedStackGap:C,tooltipData:w}=Yo(),T=(0,K.useMemo)(()=>_&&_.length>0?_:[e],[_,e]),E=(0,K.useMemo)(()=>{let t=T.indexOf(e);return t>=0?t:0},[T,e]),D=T.length,O=b??4,k=C??0,A=!!x&&S!=null&&_!=null&&_.length>0,j=E===D-1,M=(0,K.useMemo)(()=>Tc({innerWidth:u,dataLength:a.length,columnWidth:d,seriesCount:D,composedBarSize:v,composedMaxBarSize:y,composedBarGap:O,stacked:A}),[d,v,y,a.length,O,u,D,A]),N=(p||1100)*.4,P=a.length>1?N/1e3/a.length:0,{hoveredIndex:F}=Is(),I=F!==null&&F!==E,L=w?.index??null;return g?(console.warn(`SeriesBar is for time-based ComposedChart / LineChart context. Use Bar inside BarChart for categorical x.`),null):(0,q.jsx)(`g`,{className:`series-bar`,children:a.map((a,u)=>{let d=a[e];if(typeof d!=`number`)return null;let p=o(c(a))??0,{barLeft:g,valueY:_,barHeight:v,effectiveRadius:y}=Dc({stacked:A,composedStackOffsets:S,rowIndex:u,dataKey:e,value:d,yScale:s,innerHeight:l,xCenter:p,barWidth:M,seriesCount:D,gap:O,seriesIndex:E,stackGap:k,isLastSeries:j,radius:n}),b=String(c(a).getTime()),x=L!==null&&L!==u||I;return r&&!f?(0,q.jsx)(kc,{barHeight:v,barWidth:M,calculatedStaggerDelay:P,enterTransition:m,fadedOpacity:i,fill:t,index:u,innerHeight:l,isFaded:x,radius:y,revealEpoch:h,x:g,y:_},`${e}-${b}-${h}`):(0,q.jsx)(G.rect,{animate:{opacity:x?i:1},fill:t,height:v,rx:y,ry:y,transition:{opacity:{duration:.12}},width:M,x:g,y:_},`${e}-${b}`)})})}Oc.displayName=`SeriesBar`;function kc({x:e,y:t,barWidth:n,barHeight:r,fill:i,radius:a,index:o,innerHeight:s,calculatedStaggerDelay:c,enterTransition:l,revealEpoch:u,isFaded:d,fadedOpacity:f}){let p=wc(l,o*c);return(0,q.jsx)(G.rect,{animate:{height:r,y:t,opacity:d?f:1},fill:i,initial:{height:0,y:s,opacity:1},rx:a,ry:a,transition:p,width:n,x:e},`series-bar-${o}-${u}`)}function Ac(e){return typeof e==`function`&&e.__chartClipPassthrough===!0}function jc(e){if(Ac(e.type)){let t=e.props.children;if((0,K.isValidElement)(t))return jc(t)}return e}var Mc=new Set([`Background`,`Grid`,`XAxis`,`YAxis`,`BarXAxis`,`BarYAxis`,`LiveXAxis`,`LiveYAxis`]),Nc=new Set([`ReferenceArea`,`BarColumnTrack`]);function Pc(e){let t=e.type;if(t.__isChartMarkers||t.__isPostOverlay)return!0;let n=typeof e.type==`function`&&(t.displayName||t.name)||``;return n===`ChartMarkers`||n===`MarkerGroup`||n===`ChartBrush`}function Fc(e){let t=e.type,n=typeof e.type==`function`&&(t.displayName||t.name)||``;return Nc.has(n)}function Ic(e){let t=e.type,n=typeof e.type==`function`&&(t.displayName||t.name)||``;return Mc.has(n)}function Lc(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}var Rc=new Set([`Lines`,`Circles`,`Waves`,`Hexagons`,`Path`,`Pattern`]);function zc(e){let t=Lc(e);return t.includes(`Pattern`)||Rc.has(t)}function Bc(e){let t=Lc(e);return t.includes(`Gradient`)||t===`LinearGradient`||t===`RadialGradient`}var Vc=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`}),Hc=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),Uc=new Intl.DateTimeFormat(`en-US`,{hour:`2-digit`,minute:`2-digit`,hour12:!1});new Intl.DateTimeFormat(`en-US`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});var Wc=new Intl.NumberFormat(`en-US`).format,Gc=`ready`;function Kc(e){return e===`loading`?`loading`:`ready`}function qc(e){return e===`ready`}function Jc({clipPathId:e,height:t,targetWidth:n,enterTransition:r,revealEpoch:i,padding:a=0,animating:o=!0,mode:s=`reveal`,onComplete:c}){let l=Vs(r),u=Math.max(0,n+a*2),d=t+a*2;if(!o)return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(`rect`,{height:d,width:u,x:-a,y:-a})});if(s===`conceal`){let t=-a+u;return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(G.rect,{animate:{width:0,x:t},height:d,initial:{width:u,x:-a},onAnimationComplete:()=>c?.(),transition:l,y:-a},`conceal-${i}`)})}return(0,q.jsx)(`clipPath`,{id:e,children:(0,q.jsx)(G.rect,{animate:{width:u},height:d,initial:{width:0},transition:l,width:u,x:-a,y:-a},`reveal-${i}`)})}function Yc(e,t,n=[]){let r=e.length;if(t>=r||t<3)return e;let i=(e,t)=>{if(n.length===0){for(let t of Object.values(e))if(typeof t==`number`)return t;return t}let r=0,i=0;for(let t of n){let n=e[t];typeof n==`number`&&(r+=n,i++)}return i>0?r/i:t},a=[e[0]],o=(r-2)/(t-2),s=0;for(let n=0;n<t-2;n++){let t=Math.floor((n+1)*o)+1,c=Math.min(Math.floor((n+2)*o)+1,r-1),l=Math.floor((n+2)*o)+1,u=Math.min(Math.floor((n+3)*o)+1,r),d=Math.max(0,u-l),f=r-1,p=i(e[r-1],r-1);if(d>0){f=0,p=0;for(let t=l;t<u;t++)f+=t,p+=i(e[t],t);f/=d,p/=d}let m=e[s],h=s,g=i(m,s),_=-1,v=t;for(let n=t;n<c;n++){let t=Math.abs((h-f)*(i(e[n],n)-g)-(h-n)*(p-g))*.5;t>_&&(_=t,v=n)}a.push(e[v]),s=v}return a.push(e[r-1]),a}function Xc(e){return Math.max(64,Math.ceil(e*1.5))}function Zc(e,t,n){let r=t[0].getTime(),i=t[1].getTime(),a=Math.min(r,i),o=Math.max(r,i);return e.filter(e=>{let t=n(e).getTime();return t>=a&&t<=o})}function Qc(e={}){let t=e.dataKey??`value`,n=e.pointCount??7,r=e.baseDate??new Date(`2025-01-01`);return Array.from({length:n},(e,n)=>{let i=new Date(r);return i.setDate(r.getDate()+n),{date:i,[t]:Math.round(110+Math.sin(n*1.15)*36+n*9)}})}function $c(e,t){return e.map((e,n)=>({...e,[t]:Math.round(95+Math.sin(n*1.05)*28+n*7)}))}function el(e){let t=1/0,n=-1/0;for(let r of e)for(let e of r)e.value<t&&(t=e.value),e.value>n&&(n=e.value);return t===1/0?null:{minValue:t,maxValue:n}}function tl(e){let t=1/0,n=-1/0;for(let r of e)for(let e of r){let r=e.date.getTime();r<t&&(t=r),r>n&&(n=r)}return t===1/0?null:{minTime:t,maxTime:n}}function nl(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function rl(e){return nl(e)===`ProjectionLine`}function il(e){return e?.length?e.map(e=>({date:e.date instanceof Date?e.date:new Date(e.date),value:e.value})):[]}function al(e){let t=[],n=e=>{K.Children.forEach(e,e=>{if(!(0,K.isValidElement)(e))return;if(e.type===K.Fragment){n(e.props.children);return}if(rl(e)){let n=e.props,r=il(n?.data);r.length>=2&&t.push({yAxisId:Ro(n?.yAxisId),data:r});return}if(Ac(e.type)){n(e.props.children);return}let r=e.props;r?.children&&n(r.children)})};return n(e),t}function ol(e,t,n){let r=el(t.filter(e=>e.yAxisId===n).map(e=>e.data));if(!r)return e;let[i,a]=e,o=Math.min(i,r.minValue),s=Math.max(a,r.maxValue);if(o>=0&&i>=0)return[0,s<=0?100:s*1.1];let c=(s-o)*.05||1;return[o-c,s+c]}function sl(e,t){let n=tl(t.map(e=>e.data));return n?Math.max(e,n.maxTime):e}function cl(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function ll(e){return cl(e)===`ReferenceArea`}function ul(e){let t=[],n=e=>{K.Children.forEach(e,e=>{if(!(0,K.isValidElement)(e))return;if(ll(e)){let n=e.props;n&&t.push({yAxisId:Ro(n.yAxisId),y1:n.y1,y2:n.y2,axisLabelColor:n.axisLabelColor});return}let r=e.props;r?.children&&n(r.children)})};return n(e),t}var dl=(0,K.createContext)(null),fl=(0,K.createContext)(!1);function pl(){return(0,K.useContext)(fl)}function ml(e){let t=Mo({domain:e,range:[0,1],nice:!0}).domain();return[t[0]??e[0],t[1]??e[1]]}function hl(e,t){let n=Math.max(Math.abs(t[1]-t[0]),Math.abs(e[1]-e[0]),1),r=Math.abs(t[0]-e[0])/n,i=Math.abs(t[1]-e[1])/n;return r>=.02||i>=.02}function gl(e){return e===`loading`||e===`revealingLoading`}function _l(e){return e===`loading`||e===`exiting`||e===`gridTweenLoading`}function vl(e){return e===`gridTweenLoading`||e===`gridTweenReady`}function yl(e,t,n){switch(e){case`loading`:case`exiting`:case`gridTweenLoading`:return t;case`exitingReady`:case`gridTweenReady`:case`revealing`:case`ready`:return n;default:return n}}function bl({lines:e,resolveDomain:t}){let n=zo(e),r={};for(let[e,i]of n){let n=i.map(e=>e.dataKey);r[Ro(e)]=ml(t(n))}return r.left||=ml([0,100]),r}function xl(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!(n&&i)||n[0]!==i[0]||n[1]!==i[1])return!1}return!0}function Sl(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Cl(e,t,n){xl(n.current,e)||(t(e),n.current=e)}function wl({destination:e,durationMs:t,enabled:n,reducedMotion:r,animatedRef:i,setAnimatedByAxis:a,onSettled:o}){if(xl(i.current,e)){o?.();return}if(!n||r){Cl(e,a,i),o?.();return}let s=Object.keys(e),c=i.current,l=!1;for(let t of s){let n=c[t]??e[t]??[0,100];if(hl(n,e[t]??n)){l=!0;break}}if(!l){Cl(e,a,i),o?.();return}let u={};for(let t of s)u[t]=c[t]??e[t]??[0,100];return me(0,1,{duration:t/1e3,ease:[...Qo],onUpdate:t=>{let n={};for(let r of s){let i=u[r]??e[r]??[0,100],a=e[r]??i;n[r]=hl(i,a)?Sl(i,a,t):a}i.current=n,a(n)},onComplete:()=>{Cl(e,a,i),o?.()}})}function Tl({enabled:e,durationMs:t,chartPhase:n,skeletonByAxis:r,targetByAxis:i,onSettled:a,tweenOnTargetChange:o=!1}){let s=fe(),c=yl(n,r,i),l=(0,K.useRef)(c);l.current=c;let u=(0,K.useRef)(r);u.current=r;let d=(0,K.useRef)(i);d.current=i;let[f,p]=(0,K.useState)(c),m=(0,K.useRef)(f),h=(0,K.useRef)(n),g=(0,K.useRef)(a);g.current=a,(0,K.useEffect)(()=>{m.current=f},[f]),(0,K.useEffect)(()=>{if(h.current===n)return;h.current=n;let r=()=>{g.current?.()};if(n===`exiting`){Cl(u.current,p,m);return}if(n===`exitingReady`){Cl(d.current,p,m);return}if(n===`loading`){Cl(u.current,p,m);return}if(n===`revealing`||n===`ready`){Cl(d.current,p,m);return}if(!vl(n))return;let i=wl({destination:l.current,durationMs:t,enabled:e,reducedMotion:s,animatedRef:m,setAnimatedByAxis:p,onSettled:r});return()=>i?.stop()},[n,t,e,s]);let _=JSON.stringify(i),v=(0,K.useRef)(_);return(0,K.useEffect)(()=>{if(n!==`ready`&&n!==`revealing`){v.current=_;return}if(v.current!==_){if(v.current=_,o&&n===`ready`){let n=wl({destination:d.current,durationMs:t,enabled:e,reducedMotion:s,animatedRef:m,setAnimatedByAxis:p,onSettled:()=>g.current?.()});return()=>n?.stop()}Cl(d.current,p,m)}},[n,t,e,s,_,o]),f}var El=class{x=0;y=0;constructor(e){let{x:t=0,y:n=0}=e;this.x=t,this.y=n}value(){return{x:this.x,y:this.y}}toArray(){return[this.x,this.y]}};function Dl(e){return!!e&&e instanceof Element}function Ol(e){return!!e&&(e instanceof SVGElement||`ownerSVGElement`in e)}function kl(e){return!!e&&`createSVGPoint`in e}function Al(e){return!!e&&`getScreenCTM`in e}function jl(e){return!!e&&`changedTouches`in e}function Ml(e){return!!e&&`clientX`in e}function Nl(e){return!!e&&(e instanceof Event||`nativeEvent`in e&&e.nativeEvent instanceof Event)}var Pl={x:0,y:0};function Fl(e){if(!e)return{...Pl};if(jl(e))return e.changedTouches.length>0?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{...Pl};if(Ml(e))return{x:e.clientX,y:e.clientY};let t=e?.target,n=t&&`getBoundingClientRect`in t?t.getBoundingClientRect():null;return n?{x:n.x+n.width/2,y:n.y+n.height/2}:{...Pl}}function Il(e,t){if(!e||!t)return null;let n=Fl(t),r=Ol(e)?e.ownerSVGElement:e,i=Al(r)?r.getScreenCTM():null;if(kl(r)&&i){let e=r.createSVGPoint();return e.x=n.x,e.y=n.y,e=e.matrixTransform(i.inverse()),new El({x:e.x,y:e.y})}let a=e.getBoundingClientRect();return new El({x:n.x-a.left-e.clientLeft,y:n.y-a.top-e.clientTop})}function Ll(e,t){if(Dl(e)&&t)return Il(e,t);if(Nl(e)){let t=e,n=t.target;if(n)return Il(n,t)}return null}function Rl(e){if(typeof e==`object`&&e&&`index`in e&&typeof e.index==`number`){let{index:t,x:n}=e;return typeof n==`number`?`${t}:${Math.round(n)}`:String(t)}return JSON.stringify(e)}function zl(){let[e,t]=(0,K.useState)(null),n=(0,K.useRef)(null),r=(0,K.useRef)(null),i=(0,K.useRef)(null),a=(0,K.useRef)(null);(0,K.useEffect)(()=>()=>{i.current!==null&&cancelAnimationFrame(i.current)},[]);let o=(0,K.useCallback)((e,r)=>{r!==n.current&&(n.current=r,t(e))},[]);return{tooltipData:e,setTooltipData:t,scheduleTooltip:(0,K.useCallback)((e,t)=>{let s=t??Rl(e);r.current=e,a.current=s,s!==n.current&&i.current===null&&(i.current=requestAnimationFrame(()=>{i.current=null;let e=r.current,t=a.current;e&&t&&o(e,t)}))},[o]),clearTooltip:(0,K.useCallback)(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null),r.current=null,a.current=null,n.current=null,t(null)},[]),resetTooltipDedupe:(0,K.useCallback)(()=>{n.current=null},[])}}function Bl({xScale:e,yScale:t,yScales:n,data:r,lines:i,margin:a,xAccessor:o,bisectDate:s,canInteract:c}){let[l,u]=(0,K.useState)(null),{tooltipData:d,setTooltipData:f,scheduleTooltip:p,clearTooltip:m,resetTooltipDedupe:h}=zl(),g=(0,K.useRef)(!1),_=(0,K.useRef)(0),v=(0,K.useRef)(null),y=(0,K.useCallback)(a=>{let c=e.invert(a),l=s(r,c,1),u=r[l-1],d=r[l];if(!u)return null;let f=u,p=l-1;if(d){let e=o(u).getTime(),t=o(d).getTime();c.getTime()-e>t-c.getTime()&&(f=d,p=l)}let m={};for(let e of i){let r=f[e.dataKey];if(typeof r==`number`){let i=n[Ro(e.yAxisId)]??t;m[e.dataKey]=i(r)??0}}return{point:f,index:p,x:e(o(f))??0,yPositions:m}},[e,t,n,r,i,o,s]),b=(0,K.useCallback)(t=>{let n=e.invert(t),i=s(r,n,1),a=r[i-1],c=r[i];if(!a)return 0;if(c){let e=o(a).getTime(),t=o(c).getTime();if(n.getTime()-e>t-n.getTime())return i}return i-1},[e,r,o,s]),x=(0,K.useCallback)((e,t=0)=>{let n=null;if(`touches`in e){let r=e.touches[t];if(!r)return null;let i=e.currentTarget.ownerSVGElement;if(!i)return null;n=Ll(i,r)}else n=Ll(e);return n?n.x-a.left:null},[a.left]),S=(0,K.useCallback)(e=>{let t=x(e);if(t===null)return;if(g.current){let e=Math.min(_.current,t),n=Math.max(_.current,t);u({startX:e,endX:n,startIndex:b(e),endIndex:b(n),active:!0});return}v.current=t;let n=y(t);n&&p(n)},[x,y,b,p]),C=(0,K.useCallback)(()=>{v.current=null,m(),g.current&&=!1,u(null)},[m]),w=(0,K.useCallback)(e=>{let t=x(e);t!==null&&(g.current=!0,_.current=t,m(),u(null))},[x,m]),T=(0,K.useCallback)(()=>{g.current&&=!1,u(null)},[]),E=(0,K.useCallback)(e=>{if(e.touches.length===1){e.preventDefault();let t=x(e,0);if(t===null)return;v.current=t;let n=y(t);n&&p(n)}else if(e.touches.length===2){e.preventDefault(),h(),m();let t=x(e,0),n=x(e,1);if(t===null||n===null)return;let r=Math.min(t,n),i=Math.max(t,n);u({startX:r,endX:i,startIndex:b(r),endIndex:b(i),active:!0})}},[x,y,b,p,h,m]),D=(0,K.useCallback)(e=>{if(e.touches.length===1){e.preventDefault();let t=x(e,0);if(t===null)return;v.current=t;let n=y(t);n&&p(n)}else if(e.touches.length===2){e.preventDefault();let t=x(e,0),n=x(e,1);if(t===null||n===null)return;let r=Math.min(t,n),i=Math.max(t,n);u({startX:r,endX:i,startIndex:b(r),endIndex:b(i),active:!0})}},[x,y,b,p]),O=(0,K.useCallback)(()=>{m(),u(null)},[m]),k=(0,K.useCallback)(()=>{u(null)},[]);return(0,K.useEffect)(()=>{if(!c||v.current===null)return;let e=y(v.current);if(e){p(e,`${e.index}:${Math.round(e.x)}`);return}m()},[c,m,y,p]),{tooltipData:d,setTooltipData:f,selection:l,clearSelection:k,interactionHandlers:c?{onMouseMove:S,onMouseLeave:C,onMouseDown:w,onMouseUp:T,onTouchStart:E,onTouchMove:D,onTouchEnd:O}:{},interactionStyle:{cursor:c?`crosshair`:`default`,touchAction:`none`}}}function Vl({chartStatus:e,targetData:t,skeletonData:n,animationDuration:r,yDomainTweenDuration:i,revealSignature:a=``,skipEnterReveal:o=!1}){let[s,c]=(0,K.useState)(()=>Kc(e)),[l,u]=(0,K.useState)(()=>e===`loading`?n:t),[d,f]=(0,K.useState)(0),[p,m]=(0,K.useState)(0),[h,g]=(0,K.useState)(()=>e===`ready`),_=(0,K.useRef)(e),v=(0,K.useRef)(s);v.current=s,(0,K.useEffect)(()=>{let a=_.current;if(a!==e){if(_.current=e,e===`ready`&&a===`loading`){g(!1),r<=0?i<=0?(u(t),c(`revealing`)):c(`gridTweenReady`):c(`exiting`);return}e===`loading`&&a===`ready`&&(g(!1),r<=0?i<=0?(u(n),c(`loading`)):c(`gridTweenLoading`):(m(e=>e+1),c(`exitingReady`)))}},[r,e,n,t,i]),(0,K.useEffect)(()=>{o||e===`ready`&&v.current===`ready`&&(c(`revealing`),g(!1))},[r,e,a,o]),(0,K.useEffect)(()=>{switch(s){case`loading`:e===`loading`&&u(n);break;case`exiting`:u(n);break;case`exitingReady`:case`gridTweenLoading`:case`gridTweenReady`:case`revealing`:case`ready`:u(t)}},[s,e,n,t]);let y=(0,K.useCallback)(()=>{v.current===`exiting`&&c(`gridTweenReady`)},[]),b=(0,K.useCallback)(()=>{v.current===`exitingReady`&&c(`gridTweenLoading`)},[]),x=(0,K.useCallback)(()=>{if(v.current===`gridTweenLoading`){c(`loading`);return}v.current===`gridTweenReady`&&c(`revealing`)},[]);return(0,K.useEffect)(()=>{if(s!==`revealing`)return;if(f(e=>e+1),r<=0){c(`ready`),g(!0);return}let e=window.setTimeout(()=>{c(`ready`),g(!0)},r);return()=>window.clearTimeout(e)},[r,s]),{chartPhase:s,plotData:l,revealEpoch:d,concealEpoch:p,isLoaded:h,notifyLoadingPulseComplete:y,notifyRevealConcealComplete:b,notifyYDomainTweenComplete:x}}function Hl(e,t){let n=1/0,r=-1/0;for(let i of e)for(let e of t){let t=i[e];typeof t==`number`&&(t<n&&(n=t),t>r&&(r=t))}return n===1/0?{minValue:0,maxValue:100}:{minValue:n,maxValue:r}}function Ul(e,t,n){if(n!=null&&n>0)return[0,n*1.1];let{minValue:r,maxValue:i}=Hl(e,t);if(r>=0)return[0,i<=0?100:i*1.1];let a=(i-r)*.05||1;return[r-a,i+a]}function Wl(e,t){return e.key==null?(0,K.cloneElement)(e,{key:`chart-child-${t}`}):e}function Gl(e){let{width:t,height:n}=e;return t<10||n<10?null:(0,q.jsx)(Kl,{...e})}var Kl=(0,K.memo)(function({width:e,height:t,data:n,xDataKey:r,margin:i,animationDuration:a,animationEasing:o=Rs,enterTransition:s,revealSignature:c=``,children:l,containerRef:u,lines:d,clipPathId:f,composedBarDataKeys:p,composedBarSize:m,composedMaxBarSize:h,composedBarGap:g,composedStacked:_,composedStackOffsets:v,composedStackGap:y,yScaleDomainMax:b,chartStatus:x=Gc,loadingLabel:S,yDomainTween:C=!0,yDomainTweenDuration:w=500,xDomain:T,xDomainSlotCount:E,tweenYDomainOnXDomainChange:D=!1,onPhaseChange:O}){let k=pl(),A=e-i.left-i.right,j=t-i.top-i.bottom,M=(0,K.useCallback)((e,t)=>{let n=zo(d);return Ul(e,t,n.size===1&&n.has(`left`)&&b!=null?b:void 0)},[d,b]),N=(0,K.useMemo)(()=>{let e=d[0]?.dataKey??`value`;return n.length===0?Qc({dataKey:e}):$c(n,e)},[n,d]),{chartPhase:P,plotData:F,revealEpoch:I,concealEpoch:L,isLoaded:R,notifyLoadingPulseComplete:z,notifyRevealConcealComplete:ee,notifyYDomainTweenComplete:te}=Vl({animationDuration:a,chartStatus:x,revealSignature:c,skeletonData:N,skipEnterReveal:k,targetData:n,yDomainTweenDuration:w});(0,K.useEffect)(()=>{O?.(P)},[P,O]);let B=(0,K.useCallback)(e=>{let t=e[r];return t instanceof Date?t:new Date(t)},[r]),V=(0,K.useMemo)(()=>Kn(e=>B(e)).left,[B]),H=(0,K.useMemo)(()=>T?Zc(F,T,B):F,[F,T,B]),U=(0,K.useMemo)(()=>al(l),[l]),ne=(0,K.useMemo)(()=>{let e=T?T[0].getTime():Zn(F,e=>B(e).getTime())[0]??0,t=T?T[1].getTime():Zn(F,e=>B(e).getTime())[1]??e;return T||(t=sl(t,U)),Po({range:[0,A],domain:[e,t]})},[A,F,U,B,T]),re=T?F:H,ie=(0,K.useMemo)(()=>{let e=d.map(e=>e.dataKey);return Yc(re,Xc(A),e)},[re,A,d]),ae=(0,K.useMemo)(()=>{let e=T&&E!=null?E:H.length;return e<2?0:A/(e-1)},[A,H.length,T,E]),oe=(0,K.useMemo)(()=>bl({lines:d,resolveDomain:e=>M(N,e)}),[d,M,N]),se=(0,K.useMemo)(()=>{let e=bl({lines:d,resolveDomain:e=>M(T?H:n,e)});if(U.length===0)return e;let t={...e};for(let n of Object.keys(e))t[n]=ol(e[n]??[0,100],U,n);for(let e of U)t[e.yAxisId]||(t[e.yAxisId]=ol([0,100],U,e.yAxisId));return t},[n,d,U,M,H,T]),ce=Tl({chartPhase:P,durationMs:w,enabled:C,onSettled:te,skeletonByAxis:oe,targetByAxis:se,tweenOnTargetChange:C||D&&T!=null}),W=(0,K.useMemo)(()=>Vo({domainsByAxis:ce,innerHeight:j,lines:d}),[ce,j,d]),le=Bo(W,Mo({range:[j,0],domain:[0,100],nice:!0})),ue=(0,K.useMemo)(()=>{let e=H.map(e=>B(e)),t=e[0],n=e.at(-1),r=(t&&n?n.getTime()-t.getTime():0)<1296e5?Uc:Vc;return e.map(e=>r.format(e))},[H,B]),{tooltipData:de,setTooltipData:fe,selection:G,clearSelection:pe,interactionHandlers:me,interactionStyle:he}=Bl({bisectDate:V,canInteract:R&&qc(P),data:H,lines:d,margin:i,xAccessor:B,xScale:ne,yScale:le,yScales:W}),ge=[],_e=[],ve=[],ye=[],be=[];K.Children.forEach(l,(e,t)=>{if(!(0,K.isValidElement)(e))return;let n=jc(Wl(e,t));Bc(n)?ge.push(n):zc(n)?ye.push(n):Pc(n)?be.push(n):Ic(n)?_e.push(n):Fc(n)?ve.push(n):ye.push(n)});let[xe,Se]=(0,K.useState)(()=>new Map),Ce=(0,K.useCallback)((e,t)=>{Se(n=>{let r=n.get(e);if(r&&r.yAxisId===t.yAxisId&&r.y1===t.y1&&r.y2===t.y2&&r.axisLabelColor===t.axisLabelColor)return n;let i=new Map(n);return i.set(e,t),i})},[]),we=(0,K.useCallback)(e=>{Se(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),Te=(0,K.useMemo)(()=>({registerReferenceArea:Ce,unregisterReferenceArea:we}),[Ce,we]),Ee=(0,K.useMemo)(()=>{let e=ul(l),t=[...xe.values()];return t.length===0?e:e.length===0?t:[...e,...t]},[l,xe]),De=(0,K.useMemo)(()=>({data:H,renderData:ie,xScale:ne,yScale:le,yScales:W,width:e,height:t,innerWidth:A,innerHeight:j,margin:i,columnWidth:ae,tooltipData:de,setTooltipData:fe,containerRef:u,lines:d,referenceAreas:Ee,chartPhase:P,chartStatus:x,loadingLabel:S,yDomainTweenDuration:w,yDomainSkeletonByAxis:oe,yDomainTargetByAxis:se,isLoaded:R,animationDuration:a,animationEasing:o,enterTransition:s,revealEpoch:I,notifyLoadingPulseComplete:z,xAccessor:B,dateLabels:ue,xDomain:T,xDomainSlotCount:E,selection:G,clearSelection:pe,composedBarDataKeys:p,composedBarSize:m,composedMaxBarSize:h,composedBarGap:g,composedStacked:_,composedStackOffsets:v,composedStackGap:y}),[H,ie,ne,le,W,e,t,A,j,i,ae,de,fe,u,d,Ee,P,x,S,w,oe,se,R,a,o,s,I,z,B,ue,T,E,G,pe,p,m,h,g,_,v,y]),Oe=!k&&ie.length>1&&A>0&&a>0,ke=P===`revealing`,Ae=P===`exitingReady`&&a>0,je=s??{...Bs,duration:a/1e3},Me=(0,K.useMemo)(()=>p?.length?Ec({barWidth:Tc({columnWidth:ae,composedBarGap:g,composedBarSize:m,composedMaxBarSize:h,dataLength:F.length,innerWidth:A,seriesCount:p.length,stacked:_}),gap:g,seriesCount:p.length,stacked:_}):0,[ae,p,g,m,h,_,A,F.length]);return(0,q.jsx)(dl.Provider,{value:Te,children:(0,q.jsx)(Go,{value:De,children:(0,q.jsxs)(`svg`,{"aria-hidden":`true`,height:t,width:e,children:[(0,q.jsxs)(`defs`,{children:[ge,Oe?(0,q.jsx)(Jc,{animating:ke||Ae,clipPathId:f,enterTransition:je,height:j+20,mode:Ae?`conceal`:`reveal`,onComplete:Ae?ee:void 0,padding:Me,revealEpoch:Ae?L:I,targetWidth:A}):null]}),(0,q.jsx)(`rect`,{fill:`transparent`,height:t,width:e,x:0,y:0}),(0,q.jsxs)(`g`,{...me,style:he,transform:`translate(${i.left},${i.top})`,children:[(0,q.jsx)(`rect`,{fill:`transparent`,height:j,width:A,x:0,y:0}),_e,ve,Oe?(0,q.jsx)(`g`,{clipPath:`url(#${f})`,children:ye}):ye,be]})]})})})}),ql={top:40,right:40,bottom:40,left:40};function Jl(e){let t=e.type;return typeof e.type==`function`&&(t.displayName||t.name)||``}function Yl(e,t){let n=e.findIndex(e=>e.dataKey===t.dataKey);if(n===-1){e.push(t);return}e[n]=t}function Xl(e,t,n){let r=Jl(e);if(e.type!==Oc&&r!==`SeriesBar`)return!1;let i=e.props;return!i.dataKey||(n.push(i.dataKey),Yl(t,{dataKey:i.dataKey,stroke:i.stroke||i.fill||`var(--chart-line-primary)`,strokeWidth:0}),!0)}function Zl(e,t){let n=Jl(e);if(e.type!==Cc&&n!==`Line`)return!1;let r=e.props;return r.dataKey&&Yl(t,{dataKey:r.dataKey,stroke:r.stroke||`var(--chart-line-primary)`,strokeWidth:r.strokeWidth??2.5,yAxisId:r.yAxisId}),!0}function Ql(e,t){let n=Jl(e);if(e.type!==Xs&&n!==`Area`)return!1;let r=e.props;return r.dataKey&&Yl(t,{dataKey:r.dataKey,stroke:r.stroke||r.fill||`var(--chart-line-primary)`,strokeWidth:r.strokeWidth??2,yAxisId:r.yAxisId}),!0}function $l(e){let t=[],n=[];return K.Children.forEach(e,e=>{(0,K.isValidElement)(e)&&(Xl(e,t,n)||Zl(e,t)||Ql(e,t))}),{lines:t,barDataKeys:n}}function eu(e,t,n){let r=new Set(n),i=0;for(let a of e){let e=0;for(let t of n){let n=a[t];typeof n==`number`&&(e+=n)}let o=0;for(let e of t){if(r.has(e.dataKey))continue;let t=a[e.dataKey];typeof t==`number`&&(o=Math.max(o,t))}i=Math.max(i,e,o)}return i>0?i:void 0}function tu({width:e,height:t,data:n,xDataKey:r,margin:i,animationDuration:a,animationEasing:o,enterTransition:s,revealSignature:c,children:l,containerRef:u,barSize:d,maxBarSize:f,barGap:p,stacked:m=!1,stackGap:h=0,onPhaseChange:g}){let{lines:_,barDataKeys:v}=(0,K.useMemo)(()=>$l(l),[l]),y=(0,K.useMemo)(()=>{if(!(m&&v.length>0))return;let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];if(!r)continue;let i=new Map,a=0;for(let e of v){i.set(e,a);let t=r[e];typeof t==`number`&&(a+=t)}e.set(t,i)}return e},[n,v,m]),b=(0,K.useMemo)(()=>m&&v.length>0?eu(n,_,v):void 0,[n,_,v,m]);return(0,q.jsx)(Gl,{animationDuration:a,animationEasing:o,clipPathId:`composed-chart-grow-clip`,composedBarDataKeys:v.length>0?v:void 0,composedBarGap:p,composedBarSize:d,composedMaxBarSize:f,composedStacked:m,composedStackGap:h,composedStackOffsets:y,containerRef:u,data:n,enterTransition:s,height:t,lines:_,margin:i,onPhaseChange:g,revealSignature:c,width:e,xDataKey:r,yScaleDomainMax:b,children:l})}function nu({data:e,xDataKey:t=`date`,margin:n,animationDuration:i=1100,animationEasing:a,enterTransition:o,revealSignature:s,aspectRatio:c=`2 / 1`,className:l=``,children:u,barSize:d,maxBarSize:f,barGap:p=4,stacked:m=!1,stackGap:h=0,onPhaseChange:g}){let _=(0,K.useRef)(null),v={...ql,...n};return(0,q.jsx)(`div`,{className:r(`relative w-full`,l),ref:_,style:{aspectRatio:c,touchAction:`none`},children:(0,q.jsx)(hc,{debounceTime:10,children:({width:n,height:r})=>(0,q.jsx)(tu,{animationDuration:i,animationEasing:a,barGap:p,barSize:d,containerRef:_,data:e,enterTransition:o,height:r,margin:v,maxBarSize:f,onPhaseChange:g,revealSignature:s,stacked:m,stackGap:h,width:n,xDataKey:t,children:u})})})}nu.displayName=`ComposedChart`;function ru(e){return`bandwidth`in e?e.bandwidth():0}function iu(e){let{top:t=0,left:n=0,scale:r,width:i,stroke:a=`#eaf0f6`,strokeWidth:o=1,strokeDasharray:s,className:c,children:l,numTicks:u=10,lineStyle:d,offset:f,tickValues:p,...m}=e,h=p??Io(r,u),g=(f??0)+ru(r)/2,_=h.map((e,t)=>{let n=(Fo(r(e))??0)+g;return{index:t,from:new El({x:0,y:n}),to:new El({x:i,y:n})}});return(0,q.jsx)(In,{className:(0,Fn.default)(`visx-rows`,c),top:t,left:n,children:l?l({lines:_}):_.map(e=>{let{from:t,to:n,index:r}=e;return(0,q.jsx)(Ln,{from:t,to:n,stroke:a,strokeWidth:o,strokeDasharray:s,style:d,...m},`row-line-${r}`)})})}function au(e){let{top:t=0,left:n=0,scale:r,height:i,stroke:a=`#eaf0f6`,strokeWidth:o=1,strokeDasharray:s,className:c,numTicks:l=10,lineStyle:u,offset:d,tickValues:f,children:p,...m}=e,h=f??Io(r,l),g=(d??0)+ru(r)/2,_=h.map((e,t)=>{let n=(Fo(r(e))??0)+g;return{index:t,from:new El({x:n,y:0}),to:new El({x:n,y:i})}});return(0,q.jsx)(In,{className:(0,Fn.default)(`visx-columns`,c),top:t,left:n,children:p?p({lines:_}):_.map(e=>{let{from:t,to:n,index:r}=e;return(0,q.jsx)(Ln,{from:t,to:n,stroke:a,strokeWidth:o,strokeDasharray:s,style:u,...m},`column-line-${r}`)})})}function ou({innerWidth:e,shimmer:t,shimmerLength:n,shimmerSpeed:r,shimmerSync:i,active:a,oneShot:o=!1}){let s=_e(0),c=fe(),l=Xo/Math.max(r,.1),u=a&&t&&c!==!0&&e>0;(0,K.useEffect)(()=>{if(!u)return;let e=!1,t,n,r=()=>{e||(s.set(0),n=me(s,1,{duration:l,ease:[...Qo],onComplete:()=>{e||(t=window.setTimeout(r,280))}}))};return i&&o?(s.set(0),n=me(s,1,{duration:l/2,ease:[...Qo]}),()=>n?.stop()):i?(r(),()=>{e=!0,n?.stop(),t!==void 0&&window.clearTimeout(t)}):(s.set(0),n=me(s,1,{duration:l,repeat:1/0,ease:[...Qo]}),()=>n?.stop())},[o,s,l,u,i]);let d=ve(s,t=>-n+t*(e+n*2));return{shimmerEnabled:u,shimmerTransform:ve(d,e=>`translate(${e}, 0)`)}}var su=140,cu=1,lu=`color-mix(in oklch, var(--foreground) 68%, transparent)`;function uu(e,t){return!t||e.length<=2?e:e.slice(1,-1)}function du(e){let{hideHorizontalEdgeLines:t,numTicksRows:n,rowTickValues:r,yScale:i}=e,a=r??(i.ticks?i.ticks(n):[]),o=uu(a,t);if(!(o===a&&!r&&!t))return o.length>0?o:void 0}function fu({horizontal:e=!0,vertical:t=!1,numTicksRows:n=5,numTicksColumns:r=10,rowTickValues:i,stroke:a=Q.grid,loadingStroke:o,strokeOpacity:s=1,strokeWidth:c=1,strokeDasharray:l=`4,4`,highlightRowValues:u,highlightRowStroke:d=Q.foregroundMuted,highlightRowStrokeOpacity:f=1,highlightRowStrokeWidth:p=1,highlightRowStrokeDasharray:m=`0`,fadeHorizontal:h=!0,fadeVertical:g=!1,hideHorizontalEdgeLines:_=!1,hideVerticalEdgeLines:v=!1,yAxisId:y,shimmer:b=!1,shimmerStroke:x=lu,shimmerLength:S=su,shimmerSpeed:C=cu,shimmerSync:w=!1}){let{xScale:T,innerWidth:E,innerHeight:D,orientation:O,barScale:k,chartPhase:A}=Ko(),j=qo(y),M=b&&gl(A),N=_l(A)&&o!=null?o:a,{shimmerEnabled:P,shimmerTransform:F}=ou({innerWidth:E,shimmer:b,shimmerLength:S,shimmerSpeed:C,shimmerSync:w,active:M}),I=O===`horizontal`&&k?j:T,L=du({hideHorizontalEdgeLines:_,numTicksRows:n,rowTickValues:i,yScale:j}),R=t&&I&&typeof I==`function`&&v?(()=>{let e=uu(I.ticks?.(r)??[],!0);return e.length>0?e:void 0})():void 0,z=(0,K.useId)(),ee=`grid-rows-fade-${z}`,te=`${ee}-gradient`,B=`grid-shimmer-${z}`,V=`grid-cols-fade-${z}`,H=`${V}-gradient`,U=h?`url(#${ee})`:void 0;return(0,q.jsxs)(`g`,{className:`chart-grid`,children:[e&&h&&(0,q.jsxs)(`defs`,{children:[(0,q.jsxs)(`linearGradient`,{id:te,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:`white`,stopOpacity:0}}),(0,q.jsx)(`stop`,{offset:`10%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`90%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:`white`,stopOpacity:0}})]}),(0,q.jsx)(`mask`,{id:ee,children:(0,q.jsx)(`rect`,{fill:`url(#${te})`,height:D,width:E,x:`0`,y:`0`})})]}),e&&P?(0,q.jsx)(`defs`,{children:(0,q.jsxs)(G.linearGradient,{gradientTransform:F,gradientUnits:`userSpaceOnUse`,id:B,x1:0,x2:S,y1:0,y2:0,children:[(0,q.jsx)(`stop`,{offset:`0%`,stopColor:x,stopOpacity:0}),(0,q.jsx)(`stop`,{offset:`35%`,stopColor:x,stopOpacity:.45}),(0,q.jsx)(`stop`,{offset:`50%`,stopColor:x,stopOpacity:1}),(0,q.jsx)(`stop`,{offset:`65%`,stopColor:x,stopOpacity:.45}),(0,q.jsx)(`stop`,{offset:`100%`,stopColor:x,stopOpacity:0})]})}):null,t&&g&&(0,q.jsxs)(`defs`,{children:[(0,q.jsxs)(`linearGradient`,{id:H,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:[(0,q.jsx)(`stop`,{offset:`0%`,style:{stopColor:`white`,stopOpacity:0}}),(0,q.jsx)(`stop`,{offset:`10%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`90%`,style:{stopColor:`white`,stopOpacity:1}}),(0,q.jsx)(`stop`,{offset:`100%`,style:{stopColor:`white`,stopOpacity:0}})]}),(0,q.jsx)(`mask`,{id:V,children:(0,q.jsx)(`rect`,{fill:`url(#${H})`,height:D,width:E,x:`0`,y:`0`})})]}),e&&(0,q.jsxs)(`g`,{mask:U,children:[(0,q.jsx)(iu,{numTicks:L?void 0:n,scale:j,stroke:N,strokeDasharray:l,strokeOpacity:s,strokeWidth:c,tickValues:L,width:E}),P?(0,q.jsx)(iu,{numTicks:L?void 0:n,scale:j,stroke:`url(#${B})`,strokeDasharray:l,strokeOpacity:1,strokeWidth:c,tickValues:L,width:E}):null]}),e&&u&&u.length>0?(0,q.jsx)(`g`,{className:`chart-grid-highlight-rows`,children:u.map(e=>{let t=j(e);return t==null||!Number.isFinite(t)?null:(0,q.jsx)(`line`,{stroke:d,strokeDasharray:m,strokeOpacity:f,strokeWidth:p,x1:0,x2:E,y1:t,y2:t},e)})}):null,t&&I&&typeof I==`function`&&(0,q.jsx)(`g`,{mask:g?`url(#${V})`:void 0,children:(0,q.jsx)(au,{height:D,numTicks:R?void 0:r,scale:I,stroke:a,strokeDasharray:l,strokeOpacity:s,strokeWidth:c,tickValues:R})})]})}fu.displayName=`Grid`;var pu=e(R(),1),mu=24,hu=60,gu=(0,K.memo)(function({currentIndex:e,labels:t}){let n=t[e]??t[0]??``;return(0,q.jsx)(`div`,{className:`overflow-hidden rounded-full bg-zinc-900 px-4 py-1 text-white shadow-lg dark:bg-zinc-100 dark:text-zinc-900`,children:(0,q.jsx)(`div`,{className:`flex h-6 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:n})})})}),_u=(0,K.memo)(function({currentIndex:e,labels:t}){let n=(0,K.useMemo)(()=>t.map((e,t)=>{let n=e.split(` `);return{month:n[0]||``,day:n[1]||``,full:e,key:`${e}::${t}`}}),[t]),r=(0,K.useMemo)(()=>{let e=[];return n.forEach((t,n)=>{let r=e.at(-1);(!r||r.month!==t.month)&&e.push({month:t.month,key:`${t.month}-${n}`,startIndex:n})}),e},[n]),i=(0,K.useMemo)(()=>{if(e<0||e>=n.length)return 0;for(let t=r.length-1;t>=0;t--){let n=r[t];if(n&&n.startIndex<=e)return t}return 0},[e,n.length,r]),a=(0,K.useRef)(-1),o=Ze(0,{stiffness:400,damping:35}),s=Ze(0,{stiffness:400,damping:35});if(o.set(-e*mu),i>=0){let e=a.current===-1,t=a.current!==i;(e||t)&&(s.set(-i*mu),a.current=i)}return(0,q.jsx)(`div`,{className:`overflow-hidden rounded-full bg-zinc-900 px-4 py-1 text-white shadow-lg dark:bg-zinc-100 dark:text-zinc-900`,children:(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex items-center justify-center gap-1`,children:[(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsx)(G.div,{className:`flex flex-col`,style:{y:s},children:r.map(e=>(0,q.jsx)(`div`,{className:`flex h-6 shrink-0 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:e.month})},e.key))})}),(0,q.jsx)(`div`,{className:`relative h-6 overflow-hidden`,children:(0,q.jsx)(G.div,{className:`flex flex-col`,style:{y:o},children:n.map(e=>(0,q.jsx)(`div`,{className:`flex h-6 shrink-0 items-center justify-center`,children:(0,q.jsx)(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:e.day})},e.key))})})]})})})});function vu({currentIndex:e,labels:t,visible:n}){return!n||t.length===0?null:t.length>hu?(0,q.jsx)(gu,{currentIndex:e,labels:t}):(0,q.jsx)(_u,{currentIndex:e,labels:t})}vu.displayName=`DateTicker`;function yu(e){let[t,n]=(0,K.useState)(!1);(0,K.useEffect)(()=>{n(!0)},[]);let r=e.containerRef.current;return!(t&&r)||!e.visible?null:(0,q.jsx)(bu,{...e,container:r})}function bu({x:e,y:t,containerWidth:n,containerHeight:i,offset:a=16,className:o=``,children:s,left:c,top:l,flipped:u,springConfig:d,animate:f=!0,entrance:p=!0,panelStyle:m,backgroundColor:h=Q.tooltipBackground,container:g}){let{tooltipBoxSpring:_}=Os(),v=d??_,y=(0,K.useRef)(null),b=(0,K.useRef)(180),x=(0,K.useRef)(80),[S,C]=(0,K.useState)({left:e,top:t}),w=b.current,T=x.current,E=e+w+a>n,D=E?e-a-w:e+a,O=Math.max(a,Math.min(t-T/2,i-T-a)),k=Ze(D,v),A=Ze(O,v);f&&c===void 0&&k.set(D),f&&l===void 0&&A.set(O),(0,K.useLayoutEffect)(()=>{if(!y.current)return;let r=y.current,o=r.offsetWidth,s=r.offsetHeight;o>0&&(b.current=o),s>0&&(x.current=s);let u=b.current,d=x.current,p=e+u+a>n?e-a-u:e+a,m=Math.max(a,Math.min(t-d/2,i-d-a));if(!f){C({left:p,top:m});return}c===void 0&&k.set(p),l===void 0&&A.set(m)},[e,t,n,i,a,c,l,f,k,A]);let j=(0,K.useRef)(E),[M,N]=(0,K.useState)(0);(0,K.useEffect)(()=>{j.current!==E&&(N(e=>e+1),j.current=E)},[E]);let P=f?c??k:S.left,F=f?l??A:S.top,I=u??E,L=I?`right top`:`left top`,R=r(`min-w-[140px] overflow-hidden rounded-lg text-chart-tooltip-foreground shadow-lg`,m?.backgroundColor===void 0&&h===Q.tooltipBackground&&`bg-chart-tooltip-background`,m?.backdropFilter===void 0&&`backdrop-blur-md`),z={transformOrigin:L,...m?.backgroundColor===void 0&&{backgroundColor:h},...m};return p?(0,pu.createPortal)((0,q.jsx)(G.div,{animate:{opacity:1},className:r(`pointer-events-none absolute z-50`,o),exit:{opacity:0},initial:{opacity:0},ref:y,style:{left:P,top:F},transition:{duration:.1},children:(0,q.jsx)(G.div,{animate:{scale:1,opacity:1,x:0},className:R,initial:{scale:.85,opacity:0,x:I?20:-20},style:z,transition:{type:`spring`,stiffness:300,damping:25},children:s},M)}),g):(0,pu.createPortal)((0,q.jsx)(`div`,{className:r(`pointer-events-none absolute z-50`,o),ref:y,style:{left:S.left,top:S.top},children:(0,q.jsx)(`div`,{className:R,style:z,children:s})}),g)}yu.displayName=`TooltipBox`;function xu({title:e,rows:t,children:n}){return(0,q.jsx)(`div`,{className:`overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`px-3 py-2.5`,children:[e&&(0,q.jsx)(`div`,{className:`mb-2 text-left font-medium text-chart-tooltip-foreground text-xs`,children:e}),(0,q.jsx)(`div`,{className:`space-y-1.5`,children:t.map(e=>(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,q.jsx)(`span`,{className:`text-chart-tooltip-muted text-sm`,children:e.label})]}),(0,q.jsx)(`span`,{className:`font-medium text-chart-tooltip-foreground text-sm tabular-nums`,children:typeof e.value==`number`?Wc(e.value):e.value})]},`${e.label}-${e.color}`))}),n&&(0,q.jsx)(`div`,{className:`mt-2 transition-opacity duration-200 ease-out`,children:n})]})})}xu.displayName=`TooltipContent`;function Su(e,t){return e*2*Math.max(0,Math.min(.5,t))}function Cu({x:e,y:t,halfExtent:n,cornerRadiusFraction:r,fill:i,stroke:a,strokeWidth:o,springConfig:s}){let{tooltipSpring:c}=Os(),l=s??c,u=Ze(e,l),d=Ze(t,l),f=n*2,p=Su(n,r),m=ve(u,e=>e-n),h=ve(d,e=>e-n);return u.set(e),d.set(t),(0,q.jsx)(G.rect,{fill:i,height:f,rx:p,ry:p,stroke:a,strokeWidth:o,width:f,x:m,y:h})}function wu({x:e,y:t,visible:n,color:r,size:i=5,strokeColor:a=Q.background,strokeWidth:o=2,variant:s=`dot`,cornerRadiusFraction:c=.25,springConfig:l,animate:u=!0}){let{tooltipSpring:d}=Os(),f=l??d,p=Ze(e,f),m=Ze(t,f),h=s===`ring`,g=h?`transparent`:r,_=h?r:a,v=h?o??1.5:o;if(u&&!h&&(p.set(e),m.set(t)),!n)return null;if(h){if(u)return(0,q.jsx)(Cu,{cornerRadiusFraction:c,fill:g,halfExtent:i,springConfig:l,stroke:_,strokeWidth:v,x:e,y:t});let n=i*2,r=Su(i,c);return(0,q.jsx)(`rect`,{fill:g,height:n,rx:r,ry:r,stroke:_,strokeWidth:v,width:n,x:e-i,y:t-i})}return u?(0,q.jsx)(G.circle,{cx:p,cy:m,fill:g,r:i,stroke:_,strokeWidth:v}):(0,q.jsx)(`circle`,{cx:e,cy:t,fill:g,r:i,stroke:_,strokeWidth:v})}wu.displayName=`TooltipDot`;function Tu(e){return e===!1||e===`none`?{top:!1,bottom:!1,any:!1}:e===!0||e===`both`?{top:!0,bottom:!0,any:!0}:e===`top`?{top:!0,bottom:!1,any:!0}:{top:!1,bottom:!0,any:!0}}function Eu(e,t=10){let n=Math.min(40,Math.max(2,t)),r=100-n;return e.any?e.top&&e.bottom?[{offset:`0%`,opacity:0},{offset:`${n}%`,opacity:1},{offset:`50%`,opacity:1},{offset:`${r}%`,opacity:1},{offset:`100%`,opacity:0}]:e.top?[{offset:`0%`,opacity:0},{offset:`${n}%`,opacity:1},{offset:`100%`,opacity:1}]:[{offset:`0%`,opacity:1},{offset:`${r}%`,opacity:1},{offset:`100%`,opacity:0}]:[{offset:`0%`,opacity:1}]}function Du(e){if(typeof e==`number`)return e;switch(e){case`line`:return 1;case`thin`:return 2;case`medium`:return 4;case`thick`:return 8;default:return 1}}function Ou(e){return e.visible?(0,q.jsx)(ku,{...e}):null}function ku({x:e,visible:t,height:n,width:r=`line`,span:i,columnWidth:a,colorEdge:o=Q.crosshair,colorMid:s=Q.crosshair,fadeEdges:c=`both`,fadeLength:l=10,animate:u=!0,gradientId:d=`tooltip-indicator-gradient`,springConfig:f,strokeDasharray:p}){let{tooltipSpring:m}=Os(),h=f??m,g=i!==void 0&&a!==void 0?i*a:Du(r),_=e-g/2,v=e,y=Ze(_,h),b=Ze(v,h);u&&(y.set(_),b.set(v)),(0,K.useEffect)(()=>{y.set(_),b.set(v)},[b,y,v,_,t]);let x=s||o,S=Tu(c);if(p){let e=Math.max(1,g);return u?(0,q.jsx)(G.line,{stroke:x,strokeDasharray:p,strokeWidth:e,x1:b,x2:b,y1:0,y2:n}):(0,q.jsx)(`line`,{stroke:x,strokeDasharray:p,strokeWidth:e,x1:v,x2:v,y1:0,y2:n})}if(!S.any)return u?(0,q.jsx)(G.rect,{fill:x,height:n,width:g,x:y,y:0}):(0,q.jsx)(`rect`,{fill:x,height:n,width:g,x:_,y:0});let C=Eu(S,l);return(0,q.jsxs)(`g`,{children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`linearGradient`,{id:d,x1:`0%`,x2:`0%`,y1:`0%`,y2:`100%`,children:C.map(e=>(0,q.jsx)(`stop`,{offset:e.offset,style:{stopColor:x,stopOpacity:e.opacity}},e.offset))})}),u?(0,q.jsx)(G.rect,{fill:`url(#${d})`,height:n,width:g,x:y,y:0}):(0,q.jsx)(`rect`,{fill:`url(#${d})`,height:n,width:g,x:_,y:0})]})}Ou.displayName=`TooltipIndicator`;var Au=(0,K.memo)(function({showDatePill:e=!0,showCrosshair:t=!0,showDots:n=!0,dotVariant:r=`dot`,dotSize:i=5,dotRadiusFraction:a,dotScale:o=1,dotStrokeWidth:s,indicatorColor:c,content:l,rows:u,dotColor:d,children:f,className:p=``,container:m,springConfig:h,matchCrosshair:g=!1,damping:_,indicatorDasharray:v,indicatorFadeEdges:y,indicatorFadeLength:b,boxSpringConfig:x,panelStyle:S,backgroundColor:C}){let{tooltipData:w,width:T,height:E,innerHeight:D,margin:O,columnWidth:k,lines:A,xAccessor:j,dateLabels:M,containerRef:N,orientation:P,barXAccessor:F,bandWidth:I,squareSnap:L}=Yo(),{tooltipSpring:R}=Os(),z=P===`horizontal`,ee=M.length>60,te=(0,K.useMemo)(()=>{if(r!==`ring`||!I||A.length===0)return i*o;let e=A.length,t=L?.groupGap??(e>1?4:0);return(I-t*(e-1))/e/2*o},[I,o,i,r,A.length,L?.groupGap]),B=(0,K.useMemo)(()=>x?{animate:!ee,springConfig:x}:g?{animate:!ee,springConfig:h??R}:As(_),[x,_,ee,g,h,R]),V=w!==null,H=w?.x??0,U=H+O.left,ne=A[0]?.dataKey,re=(ne?w?.yPositions[ne]??0:0)+O.top,ie=(0,K.useMemo)(()=>w?u?u(w.point):A.map(e=>({color:e.stroke,label:e.dataKey,value:w.point[e.dataKey]??0})):[],[w,A,u]),ae=(0,K.useMemo)(()=>(e,t)=>{if(u&&ie[t]?.color)return ie[t].color;if(d!=null){if(typeof d==`function`&&w)return d(w.point,e);if(typeof d==`string`)return d}return e.stroke},[d,u,w,ie]),oe=(0,K.useMemo)(()=>c==null?Q.crosshair:typeof c==`function`?w?c(w.point):Q.crosshair:c,[c,w]),se=(0,K.useMemo)(()=>{if(w)return F?F(w.point):Hc.format(j(w.point))},[w,F,j]),ce=(0,q.jsxs)(q.Fragment,{children:[t&&(0,q.jsx)(`svg`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,height:`100%`,width:`100%`,children:(0,q.jsx)(`g`,{transform:`translate(${O.left},${O.top})`,children:(0,q.jsx)(Ou,{animate:!ee,colorEdge:oe,colorMid:oe,columnWidth:k,fadeEdges:v?`none`:y??`both`,fadeLength:b,height:D,springConfig:h,strokeDasharray:v,visible:V,width:`line`,x:H})})}),n&&V&&!z&&(0,q.jsx)(`svg`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,height:`100%`,width:`100%`,children:(0,q.jsx)(`g`,{transform:`translate(${O.left},${O.top})`,children:A.map((e,t)=>(0,q.jsx)(wu,{color:ae(e,t),cornerRadiusFraction:r===`ring`?a:void 0,size:te,springConfig:h,strokeColor:Q.background,strokeWidth:r===`ring`?s:void 0,variant:r,visible:V,x:w?.xPositions?.[e.dataKey]??H,y:w?.yPositions[e.dataKey]??0},e.dataKey))})}),(0,q.jsx)(yu,{animate:B.animate,backgroundColor:C,className:p,containerHeight:E,containerRef:N,containerWidth:T,panelStyle:S,springConfig:B.springConfig,top:z?void 0:O.top,visible:V,x:U,y:z?re:O.top,children:l&&w?l({point:w.point,index:w.index}):!l&&(0,q.jsx)(xu,{rows:ie,title:se,children:f})}),(0,q.jsx)(Mu,{currentIndex:w?.index??0,discreteInteraction:ee,enabled:e&&!z,labels:M,springConfig:h,visible:V,xWithMargin:U})]});return(0,pu.createPortal)(ce,m)});function ju(e){let{containerRef:t}=Ko(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)(Au,{...e,container:i}):null}ju.displayName=`ChartTooltip`;function Mu(e){return e.enabled&&e.visible&&e.labels.length>0?(0,q.jsx)(Nu,{...e}):null}function Nu({labels:e,currentIndex:t,xWithMargin:n,discreteInteraction:r,springConfig:i,visible:a}){let{tooltipSpring:o}=Os(),s=Ze(n,i??o);return r||s.set(n),(0,K.useEffect)(()=>{s.set(n)},[s,a]),(0,q.jsx)(G.div,{className:`pointer-events-none absolute z-50`,style:{left:r?n:s,transform:`translateX(-50%)`,bottom:4},children:(0,q.jsx)(vu,{currentIndex:t,labels:e,visible:a})})}var Pu=500;function Fu({label:e,x:t,crosshairX:n,hoveredLabel:i,isHovering:a,tickerHalfWidth:o,animatePosition:s}){let c=o+20,l=1;if(a&&n!==null){let r=Math.abs(t-n);r<o||i&&e===i?l=0:r<c&&(l=(r-o)/20)}return(0,q.jsx)(`div`,{className:`absolute`,style:{left:t,bottom:12,width:0,display:`flex`,justifyContent:`center`,transition:s?`left ${Pu}ms cubic-bezier(${Qo.join(`, `)})`:void 0},children:(0,q.jsx)(`span`,{className:r(`whitespace-nowrap text-chart-label text-xs`),style:{opacity:l,transition:`opacity 0.4s ease-in-out`},children:e})})}var Iu=400;function Lu(e,t){if(t<0||t>e)return 0;let n=1;for(let r=0;r<t;r++)n=n*(e-r)/(r+1);return n}function Ru(e,t){if(t===1)return e>=1?[[e]]:[];let n=[];for(let r=1;r<=e-(t-1);r++)for(let i of Ru(e-r,t-1))n.push([r,...i]);return n}function zu(e){let t=[0],n=0;for(let r of e)n+=r,t.push(n);return t}function Bu(e,t){let n=e-1;if(n<=0)return[0];let r=Array.from({length:t},(e,r)=>Math.round(r/(t-1)*n)),i=[...new Set(r)].sort((e,t)=>e-t);return i[0]!==0&&i.unshift(0),i.at(-1)!==n&&i.push(n),[...new Set(i)].sort((e,t)=>e-t)}function Vu(e,t){let n=e-1;if(n<=0)return[[0]];let r=t-1;return r<=0?[[0]]:Lu(n-1,r-1)>Iu?[Bu(e,t)]:Ru(n,r).map(zu)}function Hu(e,t,n,r){let i=new Set,a=[];for(let o of e){let e=t[o];if(!e)continue;let s=n[o]??Vc.format(r(e));i.has(s)||(i.add(s),a.push(o))}return a}function Uu(e){let t=[];for(let n=1;n<e.length;n++){let r=e[n],i=e[n-1];r!=null&&i!=null&&t.push(r-i)}return t}function Wu(e){let t=Uu(e),n=Math.min(...t),r=t.indexOf(n);return r===t.length-1?0:r===0?1:2}function Gu(e,t,n){if(e.length<2)return{score:1/0,symmetryPenalty:1/0,countDistance:1/0,edgePreference:1/0};let r=[];for(let n=1;n<e.length;n++){let i=e[n],a=e[n-1];i!=null&&a!=null&&r.push(t(i)-t(a))}let i=Math.min(...r),a=Math.max(...r),o=r.reduce((e,t)=>e+t,0)/r.length,s=o>0?(a-i)/o:a-i,c=Math.abs(e.length-n),l=Uu(e),u=Math.min(...l),d=l.indexOf(u),f=d>0&&d<l.length-1?.08:0,p=l.reduce((e,t,n)=>e+Math.abs(t-(l.at(-1-n)??t)),0)/l.length;return{score:s+.1*c+f+p*.02,symmetryPenalty:p,countDistance:c,edgePreference:Wu(e)}}function Ku(e,t,n,r){return e.score<t.score-1e-6?!0:Math.abs(e.score-t.score)>1e-6?!1:n<r?!0:n>r?!1:e.symmetryPenalty<t.symmetryPenalty-1e-6?!0:e.symmetryPenalty>t.symmetryPenalty+1e-6?!1:e.edgePreference<t.edgePreference}function qu(e,t,n){if(e<=0)return[];if(e===1)return[0];if(e<=t)return Array.from({length:e},(e,t)=>t);let r=n?.resolveXPx??(e=>e),i=Math.max(2,t-1),a=Math.min(e,t+1),o=Bu(e,t),s=Gu(o,r,t),c=s.countDistance;for(let l=i;l<=a;l++)for(let i of Vu(e,l)){let e=n?.data&&n.dateLabels&&n.xAccessor?Hu(i,n.data,n.dateLabels,n.xAccessor):i;if(e.length<2)continue;let a=Gu(e,r,t),l=Math.abs(e.length-t);Ku(a,s,l,c)&&(o=e,s=a,c=l)}return o}function Ju({data:e,dateLabels:t,marginLeft:n,targetTickCount:r,xAccessor:i,xScale:a}){let o=new Set,s=[],c=t=>{let n=e[t];return n?a(i(n))??0:t};for(let l of qu(e.length,r,{data:e,dateLabels:t,resolveXPx:c,xAccessor:i})){let r=e[l];if(!r)continue;let c=i(r),u=t[l]??Vc.format(c);o.has(u)||(o.add(u),s.push({date:c,label:u,x:(a(c)??0)+n}))}return s}function Yu({marginLeft:e,numTicks:t,xScale:n}){let r=n.domain(),i=r[0],a=r[1];if(!(i&&a))return[];let o=i.getTime(),s=a.getTime()-o,c=Math.max(2,t),l=new Set,u=[];for(let t=0;t<c;t++){let r=t/(c-1),i=new Date(o+r*s),a=Vc.format(i);l.has(a)||(l.add(a),u.push({date:i,label:a,x:(n(i)??0)+e}))}return u}function Xu(e,t,n){if(e.length===0)return!1;let r=n.domain()[1],i=e.at(-1);return r&&i?r.getTime()>t(i).getTime():!1}function Zu(e,t,n,r,i,a){if(t.length===0||a<=0)return e;let o=t.at(-1),s=r.domain()[1];if(!(o&&s))return e;let c=n(o).getTime(),l=s.getTime();if(l<=c)return e;let u=new Set(e.map(e=>e.label)),d=[],f=Math.min(a,3);for(let e=1;e<=f;e++){let t=new Date(c+e/(f+1)*(l-c)),n=Vc.format(t);u.has(n)||(u.add(n),d.push({date:t,label:n,x:(r(t)??0)+i}))}let p=Vc.format(s);return u.has(p)||d.push({date:s,label:p,x:(r(s)??0)+i}),d.length===0?e:[...e,...d].sort((e,t)=>e.x-t.x)}function Qu(e){let{containerRef:t}=Ko(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)($u,{...e,container:i}):null}var $u=(0,K.memo)(function({numTicks:e=5,tickerHalfWidth:t=50,tickMode:n=`data`,container:r}){let{xScale:i,margin:a,tooltipData:o,data:s,xAccessor:c,dateLabels:l,xDomain:u}=Yo(),d=(0,K.useMemo)(()=>{let t=n===`data`&&Xu(s,c,i);if(n===`domain`||t&&u==null)return Yu({marginLeft:a.left,numTicks:e,xScale:i});let r=Ju({data:s,dateLabels:l,marginLeft:a.left,targetTickCount:e,xAccessor:c,xScale:i});return t&&u!=null?Zu(r,s,c,i,a.left,Math.max(1,e-r.length+1)):r},[n,u,s,l,c,i,a.left,e]),f=o!==null,p=o?o.x+a.left:null,m=f&&o?l[o.index]??Vc.format(c(o.point)):null;return(0,pu.createPortal)((0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,children:d.map(e=>(0,q.jsx)(Fu,{animatePosition:u==null,crosshairX:p,hoveredLabel:m,isHovering:f,label:e.label,tickerHalfWidth:t,x:e.x},`${e.date.getTime()}-${e.x}`))}),r)});Qu.displayName=`XAxis`;function ed(e,t,n){let r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]),a=e??r,o=t??i;return[Math.min(a,o),Math.max(a,o)]}function td(e){if(e==null||!Number.isFinite(e))return 5;let t=Math.round(e);return t<1?1:t>10?10:t}var nd=500;function rd(e,t,n){return n?n(e):t&&e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e)}function id(e,t,n,r){for(let i of r){if(!i.axisLabelColor||Ro(i.yAxisId)!==t)continue;let[r,a]=ed(i.y1,i.y2,n.domain()),o=n(a)??0,s=n(r)??0;if(e>=Math.min(o,s)&&e<=Math.max(o,s))return i.axisLabelColor}}function ad(e){let{containerRef:t}=Ko(),[n,r]=(0,K.useState)(!1);(0,K.useEffect)(()=>{r(!0)},[]);let i=t.current;return n&&i?(0,q.jsx)(od,{...e,container:i}):null}var od=(0,K.memo)(function({yAxisId:e,orientation:t=`left`,numTicks:n=5,formatLargeNumbers:r=!0,formatValue:i,container:a}){let{margin:o,referenceAreas:s}=Ko(),c=qo(e),l=t===`left`,u=Ro(e),d=(0,K.useMemo)(()=>c.ticks(td(n)).map(e=>{let t=(c(e)??0)+o.top;return{value:e,y:t,label:rd(e,r,i),labelColor:id(t-o.top,u,c,s)}}),[c,o.top,n,r,i,u,s]);return(0,pu.createPortal)((0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,children:(0,q.jsx)(`div`,{className:`absolute top-0 bottom-0`,style:l?{left:0,width:o.left}:{right:0,width:o.right},children:d.map(e=>(0,q.jsx)(`div`,{className:`absolute flex items-center`,style:{top:e.y,transform:`translateY(-50%)`,transition:`top ${nd}ms cubic-bezier(${Qo.join(`, `)})`,...l?{right:0,justifyContent:`flex-end`,paddingRight:8}:{left:0,justifyContent:`flex-start`,paddingLeft:8}},children:(0,q.jsx)(`span`,{className:`text-chart-label text-xs`,style:e.labelColor?{color:e.labelColor}:void 0,children:e.label})},e.value))})}),a)});ad.displayName=`YAxis`;var $={requests:{key:`requests`,label:`Requests`,color:`var(--chart-1)`},errors:{key:`errors`,label:`Errors`,color:`var(--destructive)`},p95:{key:`p95`,label:`P95`,color:`var(--chart-2)`}};function sd({data:e}){let t=e.map(e=>({date:e.date,requests:e.requests,errors:e.errors,p95:e.p95}));return(0,q.jsxs)(nu,{aspectRatio:`16 / 7`,barGap:0,className:`min-h-[240px]`,data:t,margin:{top:12,right:44,bottom:28,left:36},maxBarSize:16,xDataKey:`date`,children:[(0,q.jsx)(fu,{horizontal:!0,numTicksRows:4}),(0,q.jsx)(Oc,{dataKey:$.requests.key,fill:$.requests.color,radius:2}),(0,q.jsx)(Cc,{dataKey:$.errors.key,showMarkers:!1,stroke:$.errors.color,strokeWidth:2}),(0,q.jsx)(Xs,{dataKey:$.p95.key,fadeEdges:!0,fill:$.p95.color,fillOpacity:.28,showMarkers:!1,strokeWidth:2,yAxisId:`right`}),(0,q.jsx)(ad,{formatLargeNumbers:!1,numTicks:4}),(0,q.jsx)(ad,{formatValue:e=>Le(e),numTicks:4,orientation:`right`,yAxisId:`right`}),(0,q.jsx)(Qu,{numTicks:6}),(0,q.jsx)(ju,{rows:cd,showCrosshair:!0})]})}function cd(e){let t=ld(e.requests),n=ld(e.errors),r=ld(e.p95);return[{color:$.requests.color,label:$.requests.label,value:t},{color:$.errors.color,label:$.errors.label,value:n},{color:$.p95.color,label:$.p95.label,value:Le(r)}]}function ld(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function ud({series:e,stats:t}){if(e.kind===`empty`||t.kind===`empty`)return(0,q.jsx)(Ge,{icon:i,title:`No runs in this window`,description:`The Console buffer has no traces for the selected lookback. Numbers stay empty — they are not zero.`});let n=nn(e.buckets),a=Math.round(t.errorRate*100);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`observability-metrics`,children:[(0,q.jsxs)(`header`,{className:v,children:[(0,q.jsx)(`h2`,{className:r(P,`flex items-center px-2`),children:`Metrics`}),(0,q.jsxs)(`span`,{className:`ml-auto px-2 font-mono text-[10px] text-muted-foreground`,children:[e.buckets.length,` buckets`]})]}),(0,q.jsxs)(`div`,{className:`grid shrink-0 grid-cols-4 border-b border-border/60`,"data-slot":`observability-kpis`,children:[(0,q.jsx)(dd,{label:`Runs`,value:String(t.total)}),(0,q.jsx)(dd,{label:`Errors`,meta:`${a}%`,tone:t.errors>0?`warn`:`ok`,value:String(t.errors)}),(0,q.jsx)(dd,{label:`P95`,toneClassName:ge(he(t.p95Ms)),value:Le(t.p95Ms)}),(0,q.jsx)(dd,{label:`P50`,toneClassName:ge(he(t.p50Ms)),value:Le(t.p50Ms)})]}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 px-3 pt-3`,"data-slot":`observability-legend`,children:[(0,q.jsx)(fd,{color:$.requests.color,label:$.requests.label,shape:`bar`}),(0,q.jsx)(fd,{color:$.errors.color,label:$.errors.label,shape:`line`}),(0,q.jsx)(fd,{color:$.p95.color,label:`${$.p95.label} · right`,shape:`area`})]}),(0,q.jsx)(`div`,{className:`px-1 pb-2`,"data-slot":`observability-chart`,children:(0,q.jsx)(sd,{data:n})})]})]})}function dd({label:e,value:t,meta:n,tone:i,toneClassName:a}){return(0,q.jsxs)(`div`,{className:`flex flex-col gap-0.5 border-r border-border/60 px-3 py-2.5 last:border-r-0`,children:[(0,q.jsx)(`span`,{className:r(P,`text-muted-foreground`),children:e}),(0,q.jsxs)(`span`,{className:r(`font-mono text-lg leading-none font-semibold tabular-nums tracking-tight`,i===`warn`&&`text-destructive`,i===`ok`&&`text-foreground`,a),children:[t,n?(0,q.jsx)(`span`,{className:`ml-1.5 text-[10px] font-medium text-muted-foreground`,children:n}):null]})]})}function fd({color:e,label:t,shape:n}){return(0,q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[10px] text-muted-foreground`,children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`shrink-0`,n===`bar`&&`h-2 w-2 rounded-[2px]`,n===`line`&&`h-0.5 w-3 rounded-full`,n===`area`&&`h-2 w-2.5 rounded-sm opacity-70`),style:{backgroundColor:e}}),t]})}function pd(e){if(!e.error)return null;let t=e.error.data,n=t&&typeof t==`object`&&`reason`in t&&typeof t.reason==`string`?t.reason:null,r=Error(n??e.error.message??e.error.code);return r.code=e.error.code,r.data=e.error.data,r}function md(){return L({mutationFn:async e=>{let t=await c(e),n=pd(t);if(n)throw n;if(!t.data)throw Error(`Empty runs query`);return t.data}})}var hd=`SELECT flow, count(*) AS runs, round(avg(duration_ms), 1) AS avg_ms
|
|
2
|
+
FROM runs
|
|
3
|
+
GROUP BY flow
|
|
4
|
+
ORDER BY runs DESC`;function gd(){let[e,t]=(0,K.useState)(hd),[n,i]=(0,K.useState)(!0),a=md(),s=a.error instanceof Error?a.error.message:a.error?String(a.error):null;return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`runs-query-panel`,children:[(0,q.jsxs)(`header`,{className:v,children:[(0,q.jsx)(`h2`,{className:r(P,`flex items-center px-2`),children:`Query`}),(0,q.jsx)(Ke,{piiMasked:n,disabled:a.isPending,onToggle:()=>i(e=>!e)}),(0,q.jsxs)(`button`,{type:`button`,className:r(d,`ml-auto font-semibold disabled:pointer-events-none disabled:opacity-40`),disabled:a.isPending||e.trim().length===0,onClick:()=>a.mutate({sql:e,...n?{}:{revealPii:!0}}),"data-slot":`runs-query-run`,children:[(0,q.jsx)(N,{icon:o,className:`size-3.5`}),`Run`]})]}),(0,q.jsx)(`p`,{className:`shrink-0 border-b border-border/60 px-3 py-1.5 text-[11px] leading-relaxed text-muted-foreground`,"data-slot":`runs-query-pii-gap`,role:`note`,children:`Free-form SQL over persisted runs. Masking is column-key only (dim_* and JSON blobs) — aliases and expressions can leak classified values. Limitation: RunsQueryPiiProjectionGap. Not the same guarantee as GET /console/runs.`}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,q.jsx)(Be,{value:e,onChange:t,language:`sql`,onRun:()=>a.mutate({sql:e,...n?{}:{revealPii:!0}}),label:`Runs SQL`})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 border-t border-border/60`,children:(0,q.jsx)(Ve,{rows:a.data?.rows??null,error:s,pending:a.isPending,meta:a.data?`${a.data.rowCount} rows${a.data.truncated?` (truncated)`:``} · ${a.data.durationMs}ms`:null,executed:e,storeRef:`runs`})})]})}function _d(e,t,n){return`${e}\u001f${t??``}\u001f${n}`}function vd(e,t,n){let r=Te(e,t,n).filter(Ce);if(r.length===0)return{kind:`empty`};let i=new Map;for(let e of r){let t=e.error,n=_d(t,e.errorMessage,e.flow),r=i.get(n);if(!r){i.set(n,{key:n,error:t,errorMessage:e.errorMessage,flow:e.flow,count:1,latestStartedAt:e.startedAt,latestRunId:e.id});continue}let a=e.startedAt>=r.latestStartedAt;i.set(n,{...r,count:r.count+1,latestStartedAt:a?e.startedAt:r.latestStartedAt,latestRunId:a?e.id:r.latestRunId})}return{kind:`groups`,groups:[...i.values()].sort((e,t)=>t.count===e.count?t.latestStartedAt-e.latestStartedAt:t.count-e.count),windowMs:n}}function yd(e,t){let n=t.trim().toLowerCase();return n.length===0?e:e.filter(e=>e.error.toLowerCase().includes(n)||e.flow.toLowerCase().includes(n)||(e.errorMessage?.toLowerCase().includes(n)??!1))}function bd(e){let t=[],n=new Map;for(let r of e){let e=n.get(r.error);if(!e){t.push(r.error),n.set(r.error,[r]);continue}e.push(r)}return t.map(e=>({error:e,groups:n.get(e)??[]}))}function xd({group:e,selected:t,nowMs:n,onSelect:i}){return(0,q.jsxs)(`div`,{"data-slot":`observability-error-row`,"data-error-key":e.key,"data-selected":t?`true`:`false`,className:r(`group relative flex w-full items-stretch border-b border-border/60 text-xs transition-colors`,`hover:bg-muted/50 focus-within:bg-muted/50`,t&&`bg-muted/70`),children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(k,`bg-destructive`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:`flex min-w-0 flex-1 items-center gap-2 py-1.5 pr-1 pl-0 text-left outline-none`,children:[(0,q.jsx)(`span`,{className:`ml-2.5 size-1.5 shrink-0 rounded-full bg-destructive`,"aria-hidden":!0}),(0,q.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[(0,q.jsx)(`span`,{className:`font-medium text-foreground`,children:e.flow}),e.errorMessage?(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[` · `,e.errorMessage]}):null]}),(0,q.jsx)(`span`,{className:`w-8 shrink-0 text-right font-mono tabular-nums text-[10px] text-muted-foreground`,children:e.count}),(0,q.jsx)(`span`,{className:`w-10 shrink-0 truncate text-right text-[10px] text-muted-foreground`,children:Sd(e.latestStartedAt,n)})]}),(0,q.jsx)(`button`,{type:`button`,className:r(`flex items-center px-2 text-[10px] text-muted-foreground hover:bg-muted/50 hover:text-foreground`,`opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100`),"data-slot":`observability-error-open-trace`,onClick:t=>{t.stopPropagation(),i(e)},children:`Trace`})]})}function Sd(e,t){let n=Math.max(0,t-e);return n<6e4?`${Math.max(1,Math.round(n/1e3))}s`:n<36e5?`${Math.round(n/6e4)}m`:`${Math.round(n/36e5)}h`}function Cd({errors:e,query:t,selectedErrorKey:n,nowMs:r,onQueryChange:i,onSelect:a}){let o=e.kind===`groups`?e.groups:[],s=(0,K.useMemo)(()=>yd(o,t),[o,t]),c=(0,K.useMemo)(()=>bd(s),[s]);return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,"data-slot":`observability-error-list`,children:[(0,q.jsx)(`div`,{className:f,children:(0,q.jsx)(Fe,{"data-slot":`observability-error-search`,value:t,onChange:e=>i(e.target.value),placeholder:`Filter errors…`,"aria-label":`Filter errors`})}),(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:e.kind===`empty`?(0,q.jsx)(`p`,{className:E,"data-slot":`observability-errors-empty`,children:`No errors in the Console buffer for this window.`}):s.length===0?(0,q.jsx)(`p`,{className:E,children:`No errors match this filter.`}):c.map(e=>(0,q.jsx)(wd,{error:e.error,groups:e.groups,selectedErrorKey:n,nowMs:r,onSelect:a},e.error))})]})}function wd({error:e,groups:t,selectedErrorKey:i,nowMs:a,onSelect:o}){let[c,u]=(0,K.useState)(!0),d=t.reduce((e,t)=>e+t.count,0);return(0,q.jsxs)(Pe,{open:c,onOpenChange:u,className:l,children:[(0,q.jsx)(Ne,{nativeButton:!1,className:n,render:t=>(0,q.jsxs)(`div`,{...t,children:[(0,q.jsx)(N,{icon:s,className:r(D,!c&&`-rotate-90`),"aria-hidden":!0}),(0,q.jsx)(N,{icon:b,className:`size-3.5 shrink-0 text-destructive`}),(0,q.jsx)(`span`,{className:h,children:e}),(0,q.jsx)(`span`,{className:C,children:d})]})}),(0,q.jsx)(je,{children:t.map(e=>(0,q.jsx)(xd,{group:e,selected:e.key===i,nowMs:a,onSelect:o},e.key))})]})}var Td=Object.keys(Se);function Ed({cells:e,window:t,onWindowChange:n,onInstancesClick:i}){return(0,q.jsx)(`section`,{"aria-label":`System health`,className:`shrink-0 border-b border-border/60 bg-background`,"data-slot":`observability-health-strip`,children:(0,q.jsxs)(`div`,{className:`flex min-h-10 flex-wrap items-stretch`,children:[e.map(e=>(0,q.jsx)(Dd,{cell:e,onClick:e.id===`instances`?i:void 0},e.id)),(0,q.jsx)(`div`,{className:`ml-auto flex items-stretch`,role:`group`,"aria-label":`Lookback window`,children:Td.map(e=>{let i=e===t;return(0,q.jsx)(Ee,{label:`Last ${e}`,className:`flex self-stretch`,children:(0,q.jsx)(`button`,{type:`button`,"aria-pressed":i,onClick:()=>n(e),className:r(d,`tabular-nums`,i?F:j),children:e})},e)})})]})})}function Dd({cell:e,onClick:t}){let n=r(`flex items-center gap-1.5 self-stretch px-2 text-[10px] transition-colors`,e.tone===`warn`&&`text-destructive dark:text-rose-300`,e.tone===`ok`&&`text-foreground/85`,e.tone===`empty`&&`text-muted-foreground`,(t||e.href)&&`hover:bg-muted/50`),i=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,className:r(`size-1.5 shrink-0 rounded-full`,e.tone===`ok`&&`bg-emerald-500 dark:bg-emerald-400`,e.tone===`warn`&&`bg-destructive`,e.tone===`empty`&&`bg-muted-foreground/40`,e.id===`live`&&e.tone===`ok`&&`animate-pulse`)}),(0,q.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,q.jsx)(`span`,{className:`font-mono tabular-nums`,children:e.value})]});return t?(0,q.jsx)(`button`,{type:`button`,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,"aria-label":`${e.label} ${e.value}`,onClick:t,children:i}):e.href?(0,q.jsx)(I,{to:e.href,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,"aria-label":`${e.label} ${e.value}`,children:i}):(0,q.jsx)(`span`,{role:e.tone===`warn`?`alert`:`status`,"data-slot":`health-cell-${e.id}`,"data-tone":e.tone,className:n,children:i})}function Od(e,t,n){let r=Te(e,t,n),i=0;for(let e of r)for(let t of e.effects)t.kind===`ask`&&(i+=1);return i===0?{kind:`empty`}:{kind:`summary`,asks:i,windowMs:n}}function kd(e,t){let n=new Set(t.flatMap(e=>e.children.map(e=>e.effectRef)));return n.size===0?null:He(e,n)}function Ad(e){return[jd(e.fleet),Md(e.vaultCard),Nd(e.stores),Pd(e.runs,e.stores),Fd(e.crons),Id(e.signals),Ld(e.window),Rd(e.liveStatus)]}function jd(e){return!e||e.kind===`empty`?{id:`instances`,label:`Instances`,value:`no fleet`,tone:`empty`}:e.alive===0?{id:`instances`,label:`Instances`,value:`0 alive`,tone:`warn`}:{id:`instances`,label:`Instances`,value:`${e.alive} alive`,tone:`ok`}}function Md(e){if(!e)return{id:`vault`,label:`Vault`,value:`no backend`,tone:`empty`,href:`/vault`};let t=e.badges.find(e=>e.tone===`warn`);if(t)return{id:`vault`,label:`Vault`,value:t.label,tone:`warn`,href:`/vault`};let n=e.badges.find(e=>e.id===`unsealed`||e.id===`sealed`),r=e.facts.find(e=>e.label===`KEK generation`),i=[n?.label,r?.value].filter(e=>!!e);return{id:`vault`,label:`Vault`,value:i.length>0?i.join(` · `):e.title,tone:`ok`,href:`/vault`}}function Nd(e){if(e.length===0)return{id:`drift`,label:`Store`,value:`no stores`,tone:`empty`,href:`/store`};let t=e.filter(e=>e.migrationDrift?.drifted===!0).length;return t>0?{id:`drift`,label:`Store`,value:`${t} drifted`,tone:`warn`,href:`/store`}:{id:`drift`,label:`Store`,value:`in sync`,tone:`ok`,href:`/store`}}function Pd(e,t){let n=kd(e,t);return n==null?{id:`lag`,label:`Replica`,value:`no lag observed`,tone:`empty`,href:`/store`}:{id:`lag`,label:`Replica`,value:Le(n),tone:n>=250?`warn`:`ok`,href:`/store`}}function Fd(e){if(e.length===0)return{id:`clock`,label:`Clock`,value:`no crons`,tone:`empty`};let t=e.filter(e=>e.health.overdue).length;if(t>0)return{id:`clock`,label:`Clock`,value:`${t} overdue`,tone:`warn`};let n=e.find(e=>e.health.leaderInstanceId)?.health.leaderInstanceId;return{id:`clock`,label:`Clock`,value:n?`lease ${zd(n)}`:`on schedule`,tone:`ok`}}function Id(e){if(e.length===0)return{id:`signal`,label:`Signal`,value:`no signals`,tone:`empty`};let t=e.reduce((e,t)=>e+t.dead,0),n=e.reduce((e,t)=>e+t.pending,0),r=e.reduce((e,t)=>t.outboxLagMs==null?e:e==null||t.outboxLagMs>e?t.outboxLagMs:e,null);return t>0?{id:`signal`,label:`Signal`,value:`${t} dead`,tone:`warn`}:r!=null&&r>=250?{id:`signal`,label:`Signal`,value:`${Le(r)} lag`,tone:`warn`}:n>0?{id:`signal`,label:`Signal`,value:`${n} pending`,tone:`ok`}:{id:`signal`,label:`Signal`,value:`quiet`,tone:`ok`}}function Ld(e){if(e.kind===`empty`)return{id:`window`,label:`Runs`,value:`no recent runs`,tone:`empty`};let t=Math.round(e.errorRate*100);return{id:`window`,label:`Runs`,value:`P95 ${Le(e.p95Ms)} · ${t}% err`,tone:e.errorRate>0||e.p95Ms>=250?`warn`:`ok`}}function Rd(e){return e===`open`?{id:`live`,label:`Live`,value:`live`,tone:`ok`}:e===`connecting`?{id:`live`,label:`Live`,value:`connecting`,tone:`empty`}:{id:`live`,label:`Live`,value:`polling`,tone:`warn`}}function zd(e){return e.length<=8?e:e.slice(0,8)}function Bd(){let e=Re(),t=Ie(!0),n=ze(),i=Ue(),a=Wt(),o=Kt(),s=Jt(),c=Ht(),{selectedRunId:l,window:u,selectedErrorKey:f,query:m,view:h,setSelectedRun:_,setWindow:y,setSelectedError:b,setQuery:x,setView:C}=we(),[w,T]=(0,K.useState)(!1),E=De(),D=(0,q.jsx)(Oe,{open:E.open,onToggle:E.toggle,noun:`errors`,controlsId:`observability-errors`,dataSlot:`observability-errors-toggle`}),O=Date.now(),k=Se[u],A=e.data??[],M=(0,K.useMemo)(()=>xe(A,O,k),[A,O,k]),N=(0,K.useMemo)(()=>vd(A,O,k),[A,O,k]),P=(0,K.useMemo)(()=>on(A,O,k),[A,O,k]),F=(0,K.useMemo)(()=>Od(A,O,k),[A,O,k]),I=(0,K.useMemo)(()=>Yt(A,O,k),[A,O,k]),L=(0,K.useMemo)(()=>We(i.data?.backend??null),[i.data?.backend]),R=(0,K.useMemo)(()=>Ad({vaultCard:L,stores:n.data?.stores??[],runs:A,crons:a.data?.crons??[],signals:s.data?.signals??[],window:M,liveStatus:t,fleet:o.data}),[L,n.data?.stores,A,a.data?.crons,s.data?.signals,M,t,o.data]),z=(0,K.useMemo)(()=>l?A.find(e=>e.id===l)??null:null,[A,l]);return(0,q.jsxs)(`div`,{className:p,"data-slot":`observability-page`,children:[(0,q.jsx)(Ed,{cells:R,window:u,onWindowChange:y,onInstancesClick:()=>T(!0)}),(0,q.jsxs)(ke,{orientation:`horizontal`,className:`min-h-0 flex-1`,children:[(0,q.jsx)(Ae,{panelRef:E.panelRef,collapsible:!0,collapsedSize:0,defaultSize:S.start.defaultSize,minSize:S.start.minSize,onResize:E.onResize,className:`min-h-0 overflow-hidden`,children:(0,q.jsx)(`div`,{id:`observability-errors`,className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`observability-errors`,children:(0,q.jsx)(Cd,{errors:N,query:m,selectedErrorKey:f,nowMs:O,onQueryChange:x,onSelect:e=>b(e.key,e.latestRunId)})})}),E.open?(0,q.jsx)(Me,{withHandle:!0}):null,(0,q.jsx)(Ae,{defaultSize:S.end.defaultSize,minSize:S.end.minSize,className:`min-h-0 overflow-hidden`,children:(0,q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,q.jsxs)(`div`,{className:v,role:`tablist`,"aria-label":`Observability detail`,children:[D,(0,q.jsx)(`span`,{className:`w-px shrink-0 self-stretch bg-border/60`,"aria-hidden":!0}),(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":h===`metrics`,className:r(d,`font-semibold tracking-[0.08em] uppercase`,h===`metrics`?g:j),onClick:()=>C(`metrics`),"data-slot":`observability-view-metrics`,children:`Metrics`}),(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":h===`query`,className:r(d,`font-semibold tracking-[0.08em] uppercase`,h===`query`?g:j),onClick:()=>C(`query`),"data-slot":`observability-view-query`,children:`SQL`})]}),h===`query`?(0,q.jsx)(gd,{}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qt,{ai:c.data,asks:F,tokens:I}),(0,q.jsx)(ud,{series:P,stats:M})]})]})})]}),(0,q.jsx)(ye,{run:z,onClose:()=>_(null)}),(0,q.jsx)(en,{fleet:o.data,open:w,onClose:()=>T(!1)})]})}export{Bd as ObservabilityPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{r as t}from"./react-dom-Bph1y7z7.js";import{A as n}from"./xyflow-D7n4g6go.js";var r=e(t(),1),i=n(),a=(0,r.createContext)({theme:`system`,setTheme:()=>null});function o({children:e,defaultTheme:t=`system`,storageKey:n=`oke-console-theme`,...o}){let[s,c]=(0,r.useState)(()=>localStorage.getItem(n)||t);(0,r.useEffect)(()=>{let e=window.document.documentElement,t=window.matchMedia(`(prefers-color-scheme: dark)`),n=()=>{let n=s===`system`?t.matches?`dark`:`light`:s;e.classList.remove(`light`,`dark`),e.classList.add(n)};if(n(),s===`system`)return t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[s]);let l={theme:s,setTheme:e=>{localStorage.setItem(n,e),c(e)}};return(0,i.jsx)(a.Provider,{...o,value:l,children:e})}function s(){let e=(0,r.useContext)(a);if(e===void 0)throw Error(`useTheme must be used within a ThemeProvider`);return e}var c=`modulepreload`,l=function(e){return`/`+e},u={},d=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=function(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))},i=function(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href},a=document.getElementsByTagName(`link`),o=document.querySelector(`meta[property=csp-nonce]`),s=o?.nonce||o?.getAttribute(`nonce`);r=e(t.map(e=>{if(e=l(e,n),e=i(e),e in u)return;u[e]=!0;let t=e.endsWith(`.css`);for(let n=a.length-1;n>=0;n--){let r=a[n];if(r.href===e&&(!t||r.rel===`stylesheet`))return}let r=document.createElement(`link`);if(r.rel=t?`stylesheet`:c,t||(r.as=`script`),r.crossOrigin=``,r.href=e,s&&r.setAttribute(`nonce`,s),document.head.appendChild(r),t)return new Promise((t,n)=>{r.addEventListener(`load`,t),r.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${e}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};export{o as n,s as r,d as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{A as t,At as n,B as r,Bn as i,C as a,Cr as o,Ct as s,D as c,E as l,G as u,Gn as d,Hi as f,In as p,Jn as m,Jt as h,K as g,M as ee,Mn as _,N as v,Nt as y,O as b,Pt as x,Q as S,Qt as te,R as ne,Sa as C,St as re,Tn as w,To as T,U as E,Ua as D,Un as O,V as k,Vi as ie,Wn as A,Xt as j,Zt as M,_a as N,_r as P,_t as ae,aa as oe,an as F,ar as se,ba as I,bn as L,bt as R,dr as z,ea as B,en as V,fn as ce,g as H,gr as U,ia as W,in as le,ir as G,j as ue,jt as de,k as fe,mt as pe,nn as me,nt as he,oa as ge,on as _e,pt as ve,q as ye,rn as be,tn as xe,un as Se,ur as Ce,ut as we,v as Te,vn as Ee,vr as De,vt as K,wr as Oe,xa as ke,xn as Ae,xr as je,xt as Me,ya as Ne,yn as Pe,yt as q,z as Fe}from"./shortcut-keys-DO4IsVqv.js";import{x as J}from"./link-DF7SZ9Ek.js";import{r as Ie}from"./react-dom-Bph1y7z7.js";import{A as Le}from"./xyflow-D7n4g6go.js";import{D as Re,E as ze,F as Be,I as Ve,M as He,O as Ue,P as We,T as Ge,j as Ke,k as qe,w as Je}from"./sheet-form-D-ata7jy.js";import{_ as Ye}from"./collapsible-DYb0xU8C.js";var Y=e(Ie(),1);function Xe(e){let[t,n]=Y.useState({current:e,previous:null});return e!==t.current&&n({current:e,previous:t.current}),t.previous}function Ze(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var Qe=[`console.store.query`];function $e(e,t,n){if(!e||!n||!t)return;let r=t[1];if(tt(r)&&r.ref===n.ref&&(r.child??``)===(n.child??``)&&(r.tenant??``)===(n.tenant??``))return e}function et(e,t){return T({queryKey:[...Qe,e],enabled:t&&e!==null,placeholderData:(t,n)=>$e(t,n?.queryKey,e),queryFn:async()=>{if(!e)throw Error(`Missing store query input`);let t=await D(e);if(t.error)throw Error(N(t.error));if(!t.data)throw Error(`Empty store query`);return t.data}})}function tt(e){return typeof e==`object`&&!!e&&`ref`in e&&typeof e.ref==`string`}var nt=Y.createContext(null),rt=Y.createContext(null);function X(){let e=Y.useContext(nt);if(e===null)throw Error(A(60));return e}function it(){let e=Y.useContext(rt);if(e===null)throw Error(A(61));return e}var at=(e,t)=>Object.is(e,t);function ot(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function st(e,t,n){return!e||e.length===0?!1:e.some(e=>e!==void 0&&ot(t,e,n))}function ct(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e!==void 0&&ot(e,t,n))}function lt(e,t,n){return e.filter(e=>!ot(t,e,n))}function ut(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var Z=Le();function dt(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function ft(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(dt(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function pt(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return ut(e)}function mt(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?ut(e.value):ut(e)}function ht(e,t,n){function r(){return pt(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=dt(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function gt(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Z.jsx)(Y.Fragment,{children:ht(r,t,n)},i)),e),[])}var Q={id:q(e=>e.id),labelId:q(e=>e.labelId),modal:q(e=>e.modal),multiple:q(e=>e.multiple),items:q(e=>e.items),itemToStringLabel:q(e=>e.itemToStringLabel),itemToStringValue:q(e=>e.itemToStringValue),isItemEqualToValue:q(e=>e.isItemEqualToValue),value:q(e=>e.value),hasSelectedValue:q(e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:mt(t,r)!==``}),hasNullItemLabel:q((e,t)=>t?ft(e.items):!1),open:q(e=>e.open),mounted:q(e=>e.mounted),forceMount:q(e=>e.forceMount),transitionStatus:q(e=>e.transitionStatus),openMethod:q(e=>e.openMethod),activeIndex:q(e=>e.activeIndex),selectedIndex:q(e=>e.selectedIndex),isActive:q((e,t)=>e.activeIndex===t),isSelected:q((e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>ot(t,e,n)):ot(t,r,n)}),isSelectedByFocus:q((e,t)=>e.selectedIndex===t),popupProps:q(e=>e.popupProps),triggerProps:q(e=>e.triggerProps),triggerElement:q(e=>e.triggerElement),positionerElement:q(e=>e.positionerElement),listElement:q(e=>e.listElement),popupSide:q(e=>e.popupSide),scrollUpArrowVisible:q(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:q(e=>e.scrollDownArrowVisible),hasScrollArrows:q(e=>e.hasScrollArrows)};function _t(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}function vt(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}function yt(e,t){return Math.max(0,e-t)}function bt(e,t){if(t<=0)return 0;let n=vt(e,0,t),r=n,i=t-n,a=r<=1,o=i<=1;return a&&o?r<=i?0:t:a?0:o?t:n}function xt(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:l,form:u,autoComplete:f,disabled:p=!1,readOnly:h=!1,required:g=!1,modal:_=!0,actionsRef:v,inputRef:y,onOpenChangeComplete:te,items:ne,multiple:C=!1,itemToStringLabel:w,itemToStringValue:T,isItemEqualToValue:E=at,highlightItemOnHover:D=!0,children:O}=e,{clearErrors:k}=ue(),{setDirty:ie,setTouched:A,setFocused:N,validityData:P,setFilled:oe,name:se,disabled:I,validation:z,validationMode:B}=ee(),V=fe({id:t}),H=I||p,U=se??l,[W,le]=b({controlled:n,default:C?r??Pe:r,name:`Select`,state:`value`}),[G,de]=b({controlled:a,default:o,name:`Select`,state:`open`}),ge=Y.useRef([]),_e=Y.useRef([]),ve=Y.useRef(null),ye=Y.useRef(null),Se=Y.useRef(0),Ce=Y.useRef(null),Te=Y.useRef([]),Ee=Y.useRef(!1),De=Y.useRef(null),Oe=Y.useRef(null),ke=Y.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),Ae=Y.useRef(!1),{mounted:je,setMounted:Me,transitionStatus:Ne}=pe(G),{openMethod:q,triggerProps:Fe}=Ke(G),J=m(()=>new ae({id:V,labelId:void 0,modal:_,multiple:C,itemToStringLabel:w,itemToStringValue:T,isItemEqualToValue:E,value:W,open:G,mounted:je,transitionStatus:Ne,items:ne,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,Ie=K(J,Q.activeIndex),Le=K(J,Q.selectedIndex),Re=K(J,Q.triggerElement),ze=K(J,Q.positionerElement),Ue=Xe(q),Ge=q??Ue??null,qe=Y.useMemo(()=>C?``:mt(W,T),[C,W,T]),Je=Y.useMemo(()=>C&&Array.isArray(W)?W.map(e=>mt(e,T)):mt(W,T),[C,W,T]),Ye=me(J.state.triggerElement),Qe=xe(()=>Je);c(Ye,V,W,Qe,!H,l);let $e=Y.useRef(W),et=C?Array.isArray(W)&&W.length>0:W!=null&&mt(W,T)!==``;d(()=>{W!==$e.current&&J.set(`forceMount`,!0)},[J,W]),d(()=>{oe(et)},[et,oe]),d(function(){let e=Te.current,t;if(C){let n=Array.isArray(W)?W:[];if(n.length===0)t=null;else{let r=n[n.length-1],i=ct(e,r,E);t=i===-1?null:i}}else{let n=ct(e,W,E);t=n===-1?null:n}t===null&&(Oe.current=null),!G&&J.set(`selectedIndex`,t)},[et,C,G,W,Te,E,J,Oe]);function tt(e){let t=P.initialValue;return Array.isArray(e)&&Array.isArray(t)?!_t(e,t,(e,t)=>ot(e,t,E)):e!==t}He(W,()=>{k(U),ie(tt(W)),z.change(W)});let X=xe((e,t)=>{s?.(e,t),!t.isCanceled&&(de(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(A(!0),N(!1),B===`onBlur`&&z.commit(W)))}),it=xe(()=>{Me(!1),J.update({activeIndex:null,openMethod:null}),te?.(!1)});we({enabled:!v,open:G,ref:ve,onComplete(){G||it()}}),Y.useImperativeHandle(v,()=>({unmount:it}),[it]);let st=xe((e,t)=>{i?.(e,t),!t.isCanceled&&le(e)}),lt=xe(()=>{let e=J.state.listElement||ve.current;if(!e)return;let t=yt(e.scrollHeight,e.clientHeight),n=bt(e.scrollTop,t),r=n>0,i=n<t;J.state.scrollUpArrowVisible!==r&&J.set(`scrollUpArrowVisible`,r),J.state.scrollDownArrowVisible!==i&&J.set(`scrollDownArrowVisible`,i)}),ut=S({open:G,onOpenChange:X,elements:{reference:Re,floating:ze}}),dt=Ve(ut,{enabled:!h&&!H,event:`mousedown`}),ft=re(ut),ht=Be(ut,{enabled:!h&&!H,listRef:ge,activeIndex:Ie,selectedIndex:Le,disabledIndices:Pe,onNavigate(e){e===null&&!G||J.set(`activeIndex`,e)},focusItemOnHover:D}),gt=We(ut,{enabled:!h&&!H&&(G||!C),listRef:_e,activeIndex:Ie,selectedIndex:Le,disabledIndices:e=>Ze(ge.current[e]),onMatch(e){G?J.set(`activeIndex`,e):st(Te.current[e],F(`none`))},onTyping(e){Ee.current=e}}),vt=Y.useMemo(()=>{let e=x(gt.reference,ht.reference,ft.reference,dt.reference,Fe);return V&&(e.id=V),e},[dt.reference,gt.reference,ht.reference,ft.reference,Fe,V]),xt=Y.useMemo(()=>x(he,gt.floating,ht.floating,ft.floating),[gt.floating,ht.floating,ft.floating]),St=ht.item??L;R(()=>{J.update({popupProps:xt,triggerProps:vt})}),d(()=>{J.update({id:V,modal:_,multiple:C,value:W,open:G,mounted:je,transitionStatus:Ne,popupProps:xt,triggerProps:vt,items:ne,itemToStringLabel:w,itemToStringValue:T,isItemEqualToValue:E,openMethod:Ge})},[J,V,_,C,W,G,je,Ne,xt,vt,ne,w,T,E,Ge]);let Ct=Y.useMemo(()=>({store:J,name:U,required:g,disabled:H,readOnly:h,multiple:C,highlightItemOnHover:D,setValue:st,setOpen:X,listRef:ge,popupRef:ve,scrollHandlerRef:ye,handleScrollArrowVisibility:lt,scrollArrowsMountedCountRef:Se,itemProps:St,valueRef:Ce,valuesRef:Te,labelsRef:_e,typingRef:Ee,selectionRef:ke,firstItemTextRef:De,selectedItemTextRef:Oe,validation:z,onOpenChangeComplete:te,alignItemWithTriggerActiveRef:Ae,initialValueRef:$e}),[J,U,g,H,h,C,D,st,X,St,z,te,lt]),wt=be(y,z.inputRef),Tt=C&&Array.isArray(W)&&W.length>0,Et=C?void 0:U,Dt=Y.useMemo(()=>!C||!Array.isArray(W)||!U?null:W.map(e=>{let t=mt(e,T);return(0,Z.jsx)(`input`,{type:`hidden`,form:u,name:U,value:t,disabled:H},t)}),[C,W,u,U,T,H]);return(0,Z.jsx)(nt.Provider,{value:Ct,children:(0,Z.jsxs)(rt.Provider,{value:ut,children:[O,(0,Z.jsx)(`input`,{...z.getValidationProps(H,{onFocus(){J.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||H||h)return;let t=e.currentTarget.value,n=F(ce,e.nativeEvent);function r(){if(C)return;let e=t.toLowerCase(),r=Te.current.findIndex(t=>mt(t,T).toLowerCase()===e||pt(t,w).toLowerCase()===e);r===-1&&(r=Te.current.findIndex((t,n)=>{let r=_e.current[n];return r!=null&&r.toLowerCase()===e}));let i=r===-1?void 0:Te.current[r];i!=null&&st(i,n)}J.set(`forceMount`,!0),queueMicrotask(r)}}),id:V&&Et==null?`${V}-hidden-input`:void 0,form:u,name:Et,autoComplete:f,value:qe,disabled:H,required:g&&!Tt,readOnly:h,ref:wt,style:U?M:j,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),Dt]})})}function St(e,t){return e??t}var Ct=2,wt=400,Tt={...g,...v,popupSide:e=>e?{"data-popup-side":e}:null,value:()=>null},Et=Y.forwardRef(function(e,n){let{render:r,className:i,id:o,disabled:s=!1,nativeButton:c=!0,style:l,...u}=e,{setTouched:d,setFocused:f,validationMode:p,state:m,disabled:h}=ee(),{labelId:g}=t(),{store:_,setOpen:v,selectionRef:b,validation:S,readOnly:ne,required:C,alignItemWithTriggerActiveRef:re,disabled:T}=X(),E=h||T||s,D=K(_,Q.open),k=K(_,Q.mounted),ie=K(_,Q.value),A=K(_,Q.triggerProps),j=K(_,Q.positionerElement),M=K(_,Q.listElement),N=K(_,Q.popupSide),P=K(_,Q.id),ae=K(_,Q.labelId),oe=K(_,Q.hasSelectedValue),se=k&&j?N:null,I=o??P,L=St(g,ae);fe({id:I});let R=me(j),z=Y.useRef(null),{getButtonProps:B,buttonRef:V}=a({disabled:E,native:c}),H=xe(e=>{_.set(`triggerElement`,e)}),U=O(),W=O(),le=O();Y.useEffect(()=>{if(D)return le.start(wt,()=>{b.current.allowUnselectedMouseUp=!0,b.current.allowSelectedMouseUp=!0}),()=>{le.clear()};b.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},W.clear()},[D,b,W,le]);let G=x(A,{id:I,role:`combobox`,"aria-expanded":D?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":D?M?.id??Ae(j)?.id:void 0,"aria-labelledby":L,"aria-readonly":ne||void 0,"aria-required":C||void 0,tabIndex:E?-1:0,onFocus(e){f(!0),D&&re.current&&v(!1,F(ce,e.nativeEvent)),U.start(0,()=>{_.set(`forceMount`,!0)})},onBlur(e){w(j,e.relatedTarget)||(d(!0),f(!1),p===`onBlur`&&S.commit(ie))},onMouseDown(e){if(D)return;let t=te(e.currentTarget);function n(e){if(!z.current)return;let t=e.target;if(w(z.current,t)||w(R.current,t))return;let n=Je(z.current);e.clientX>=n.left-Ct&&e.clientX<=n.right+Ct&&e.clientY>=n.top-Ct&&e.clientY<=n.bottom+Ct||v(!1,F(_e,e))}W.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},u,B),ue=S.getValidationProps(E,G);ue.role=`combobox`;let de={...m,open:D,disabled:E,value:ie,readOnly:ne,popupSide:se,placeholder:!oe};return y(`button`,e,{ref:[n,z,V,H],state:de,stateAttributesMapping:Tt,props:ue})}),Dt={value:()=>null},Ot=Y.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,{store:c,valueRef:l}=X(),u=K(c,Q.value),d=K(c,Q.items),f=K(c,Q.itemToStringLabel),p=K(c,Q.hasSelectedValue),m=!p&&a!=null&&i==null,h=K(c,Q.hasNullItemLabel,m),g={value:u,placeholder:!p},ee=null;return ee=typeof i==`function`?i(u):i??(!p&&a!=null&&!h?a:Array.isArray(u)?gt(u,d,f):ht(u,d,f)),y(`span`,e,{state:g,ref:[t,l],props:[{children:ee},s],stateAttributesMapping:Dt})}),kt=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o}=X(),s={open:K(o,Q.open)};return y(`span`,e,{state:s,ref:t,props:[{"aria-hidden":!0,children:`▼`},a],stateAttributesMapping:ye})}),At=Y.createContext(void 0),jt=Y.forwardRef(function(e,t){let{store:r}=X(),i=K(r,Q.mounted),a=K(r,Q.forceMount);return i||a?(0,Z.jsx)(At.Provider,{value:!0,children:(0,Z.jsx)(n,{ref:t,...e})}):null}),Mt=Y.createContext(void 0);function Nt(){let e=Y.useContext(Mt);if(!e)throw Error(A(59));return e}function Pt(e,t){e&&Object.assign(e.style,t)}var Ft={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},It={position:`fixed`},Lt=Y.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o=`bottom`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:f,arrowPadding:p=5,sticky:m=!1,disableAnchorTracking:h,alignItemWithTrigger:g=!0,collisionAvoidance:ee=de,style:_,...v}=e,{store:y,listRef:b,labelsRef:x,alignItemWithTriggerActiveRef:S,selectedItemTextRef:te,valuesRef:C,initialValueRef:re,popupRef:w,setValue:T}=X(),E=it(),D=K(y,Q.open),O=K(y,Q.mounted),ie=K(y,Q.modal),A=K(y,Q.value),j=K(y,Q.openMethod),M=K(y,Q.positionerElement),N=K(y,Q.triggerElement),P=K(y,Q.isItemEqualToValue),ae=K(y,Q.transitionStatus),oe=Y.useRef(null),se=Y.useRef(null),[I,L]=Y.useState(g),R=O&&I&&j!==`touch`;!O&&I!==g&&L(g),d(()=>{O||(Q.scrollUpArrowVisible(y.state)&&y.set(`scrollUpArrowVisible`,!1),Q.scrollDownArrowVisible(y.state)&&y.set(`scrollDownArrowVisible`,!1))},[y,O]),Y.useImperativeHandle(S,()=>R),Ge((R||ie)&&D,j===`touch`,M,N);let z=k({anchor:n,floatingRootContext:E,positionMethod:r,mounted:O,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:p,collisionBoundary:u,collisionPadding:f,sticky:m,disableAnchorTracking:h??R,collisionAvoidance:ee,keepMounted:!0}),B=R?`none`:z.side,V=R?It:z.positionerStyles,U={open:D,side:B,align:z.align,anchorHidden:z.anchorHidden};d(()=>{y.set(`popupSide`,z.side)},[y,z.side]);let W=xe(e=>{y.set(`positionerElement`,e)}),le=Fe(e,U,{styles:V,transitionStatus:ae,props:v,refs:[t,W],hidden:!O,inert:!D}),G=Y.useRef(0),ue=xe(e=>{if(e.size===0&&G.current===0||C.current.length===0)return;let t=G.current;if(G.current=e.size,e.size===t)return;let n=F(ce);if(t!==0&&!y.state.multiple&&A!==null&&ct(C.current,A,P)===-1){let e=re.current,t=e!=null&&ct(C.current,e,P)!==-1?e:null;T(t,n),t===null&&(y.set(`selectedIndex`,null),te.current=null)}if(t!==0&&y.state.multiple&&Array.isArray(A)){let e=e=>ct(C.current,e,P)!==-1,t=A.filter(t=>e(t));(t.length!==A.length||t.some(e=>!st(A,e,P)))&&(T(t,n),t.length===0&&(y.set(`selectedIndex`,null),te.current=null))}if(D&&R){y.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};Pt(M,e),Pt(w.current,e)}}),fe=Y.useMemo(()=>({...z,side:B,alignItemWithTriggerActive:R,setControlledAlignItemWithTrigger:L,scrollUpArrowRef:oe,scrollDownArrowRef:se}),[z,B,R,L]);return(0,Z.jsx)(ze,{elementsRef:b,labelsRef:x,onMapChange:ue,children:(0,Z.jsxs)(Mt.Provider,{value:fe,children:[O&&ie&&(0,Z.jsx)(H,{inert:ne(!D),cutout:N}),le]})})}),Rt=`base-ui-disable-scrollbar`,zt={className:Rt,getElement(e){return(0,Z.jsx)(`style`,{nonce:e,href:Rt,precedence:`base-ui:low`,children:`.${Rt}{scrollbar-width:none}.${Rt}::-webkit-scrollbar{display:none}`})}},Bt=Y.createContext(void 0),Vt={disableStyleElements:!1};function Ht(){return Y.useContext(Bt)??Vt}var Ut={...u,...ve},Wt=Y.forwardRef(function(e,t){let{render:n,className:a,style:o,finalFocus:c,...l}=e,{store:u,popupRef:f,onOpenChangeComplete:p,setOpen:m,valueRef:h,firstItemTextRef:g,selectedItemTextRef:ee,multiple:v,handleScrollArrowVisibility:b,scrollHandlerRef:x,listRef:S,highlightItemOnHover:ne}=X(),{side:C,align:re,alignItemWithTriggerActive:w,isPositioned:T,setControlledAlignItemWithTrigger:D}=Nt(),O=Re(!0)!=null,k=it(),ie=E(),{nonce:A,disableStyleElements:j}=Ht(),M=K(u,Q.id),N=K(u,Q.open),P=K(u,Q.openMethod),ae=K(u,Q.mounted),oe=K(u,Q.popupProps),se=K(u,Q.transitionStatus),I=K(u,Q.triggerElement),L=K(u,Q.positionerElement),R=K(u,Q.listElement),z=Y.useRef(!1),B=Y.useRef(!1),ce=Y.useRef({}),H=V(),U=xe(e=>{if(!L||!f.current||!B.current)return;if(z.current||!w){b();return}let t=L.style.top===`0px`,n=L.style.bottom===`0px`;if(!t&&!n){b();return}let r=qt(L),i=Jt(L.getBoundingClientRect().height,`y`,r),a=te(L),o=_(L),s=o.getComputedStyle(L),c=parseFloat(s.marginTop),l=parseFloat(s.marginBottom),u=Gt(o.getComputedStyle(f.current)),d=Math.min(a.documentElement.clientHeight-c-l,u),p=e.scrollTop,m=Kt(e),h=0,g=null,ee=!1,v=!1,y=e=>{L.style.height=`${e}px`},x=(t,n)=>{let r=vt(t,0,d-i);r>0&&y(i+r),e.scrollTop=n,d-(i+r)<=1&&(z.current=!0),b()},S=t?m-p:p,ne=Math.min(i+S,d);if(h=ne,S<=1){x(S,t?m:0);return}if(d-ne>1?t?v=!0:g=0:(ee=!0,n&&p<m&&(g=p-(S-(i+S-d)))),h=Math.ceil(h),h!==0&&y(h),v||g!=null){let t=Kt(e),n=v?t:vt(g,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n)}(ee||h>=d-1)&&(z.current=!0),b()});Y.useImperativeHandle(x,()=>U,[U]),we({open:N,ref:f,onComplete(){N&&p?.(!0)}});let W={open:N,transitionStatus:se,side:C,align:re};d(()=>{!L||!f.current||Object.keys(ce.current).length||(ce.current={top:L.style.top||`0`,left:L.style.left||`0`,right:L.style.right,height:L.style.height,bottom:L.style.bottom,minHeight:L.style.minHeight,maxHeight:L.style.maxHeight,marginTop:L.style.marginTop,marginBottom:L.style.marginBottom})},[f,L]),d(()=>{N||w||(B.current=!1,z.current=!1,Pt(L,ce.current))},[N,w,L,f]),d(()=>{let e=f.current;if(!N||!I||!L||!e||w&&!T||u.state.transitionStatus===`ending`)return;if(!w){B.current=!0,H.request(b),e.style.removeProperty(`--transform-origin`);return}let t=Zt(e);e.style.removeProperty(`--transform-origin`);try{let t=ee.current;t?.isConnected||(t=!Q.hasSelectedValue(u.state)&&g.current?.isConnected?g.current:null);let n=h.current,r=_(L),a=r.getComputedStyle(L),o=r.getComputedStyle(e),s=te(I),c=qt(I),l=Yt(I.getBoundingClientRect(),c),d=Yt(L.getBoundingClientRect(),c),f=l.height,p=R||e,m=p.scrollHeight,v=parseFloat(o.borderBottomWidth),y=parseFloat(a.marginTop)||10,x=parseFloat(a.marginBottom)||10,C=parseFloat(a.minHeight)||100,re=Gt(o),w=s.documentElement.clientHeight-y-x,T=s.documentElement.clientWidth,E=w-l.bottom+f,O,k=ie===`rtl`?l.right-d.width:l.left,A=0;if(t&&n){let e=Yt(n.getBoundingClientRect(),c);O=Yt(t.getBoundingClientRect(),c),k=d.left+(ie===`rtl`?e.right-O.right:e.left-O.left);let r=e.top-l.top+e.height/2;A=O.top-d.top+O.height/2-r}let j=E+A+x+v,M=Math.min(w,j),N=w-y-x,P=j-M,ae=T-5;L.style.left=`${vt(k,5,ae-d.width)}px`,L.style.height=`${M}px`,L.style.maxHeight=`none`,L.style.marginTop=`${y}px`,L.style.marginBottom=`${x}px`,e.style.height=`100%`;let oe=Kt(p),F=P>=oe-1;F&&(M=Math.min(w,d.height)-(P-oe));let se=l.top<20||l.bottom>w-20||Math.ceil(M)+1<Math.min(m,C),V=(r.visualViewport?.scale??1)!==1&&i;if(se||V){B.current=!0,Pt(L,ce.current),D(!1);return}let H=Math.max(C,M);if(F){let e=Math.max(0,w-j);L.style.top=d.height>=N?`0`:`${e}px`,L.style.height=`${M}px`,p.scrollTop=Kt(p)}else L.style.bottom=`0`,p.scrollTop=P;if(O){let t=d.top,n=d.height,r=O.top+O.height/2,i=vt(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(`--transform-origin`,`50% ${i}%`)}(H===w||M>=re)&&(z.current=!0),b(),ne&&u.state.selectedIndex===null&&u.state.activeIndex===null&&S.current[0]!=null&&u.set(`activeIndex`,0),B.current=!0}finally{t()}},[u,N,L,I,h,g,ee,f,b,w,D,H,R,S,ne,ie,T]),Y.useEffect(()=>{if(!w||!L||!N)return;let e=_(L);function t(e){m(!1,F(Ee,e))}return le(e,`resize`,t)},[m,w,L,N]);let G={...R?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":v||void 0,id:`${M}-list`},onKeyDown(e){O&&Te.has(e.key)&&e.stopPropagation()},onScroll(e){R||U(e.currentTarget)},...w&&{style:R?{height:`100%`}:Ft}},ue=y(`div`,e,{ref:[t,f],state:W,stateAttributesMapping:Ut,props:[oe,G,r(se),{className:!R&&w?zt.className:void 0},l]});return(0,Z.jsxs)(Y.Fragment,{children:[!j&&zt.getElement(A),(0,Z.jsx)(s,{context:k,modal:!1,disabled:!ae,openInteractionType:P,returnFocus:c,restoreFocus:!0,children:ue})]})});function Gt(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&parseFloat(t)||1/0}function Kt(e){return yt(e.scrollHeight,e.clientHeight)}function qt(e){return Me.getScale(e)}function Jt(e,t,n){return e/n[t]}function Yt(e,t){return h({x:Jt(e.x,`x`,t),y:Jt(e.y,`y`,t),width:Jt(e.width,`x`,t),height:Jt(e.height,`y`,t)})}var Xt=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function Zt(e){let{style:t}=e,n={};for(let[e,r]of Xt)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of Xt){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var Qt=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o,scrollHandlerRef:s}=X(),{alignItemWithTriggerActive:c}=Nt(),l=K(o,Q.hasScrollArrows),u=K(o,Q.openMethod),d=K(o,Q.multiple),f={id:`${K(o,Q.id)}-list`,role:`listbox`,"aria-multiselectable":d||void 0,onScroll(e){s.current?.(e.currentTarget)},...c&&{style:Ft},className:l&&u!==`touch`?zt.className:void 0},p=xe(e=>{o.set(`listElement`,e)});return y(`div`,e,{ref:[t,p],props:[f,a]})}),$t=Y.createContext(void 0);function en(){let e=Y.useContext($t);if(!e)throw Error(A(57));return e}var tn=Y.memo(Y.forwardRef(function(e,t){let{render:n,className:r,style:i,value:o=null,label:s,disabled:c=!1,nativeButton:l=!1,...u}=e,f=Y.useRef(null),m=qe({label:s,textRef:f,indexGuessBehavior:Ue.GuessFromOrder}),{store:h,itemProps:g,setOpen:ee,setValue:_,selectionRef:v,typingRef:b,valuesRef:x,multiple:S,selectedItemTextRef:te,disabled:ne,readOnly:C}=X(),re=K(h,Q.isActive,m.index),w=K(h,Q.open),T=K(h,Q.isSelected,o),E=K(h,Q.isSelectedByFocus,m.index),D=K(h,Q.isItemEqualToValue),O=m.index,k=O!==-1,ie=Y.useRef(null);d(()=>{if(!k)return;let e=x.current;return e[O]=o,()=>{delete e[O]}},[k,O,o,x]),d(()=>{if(!k)return;let e=h.state.value,t=e;S&&Array.isArray(e)&&(t=e.length>0?e[e.length-1]:void 0),t!==void 0&&ot(o,t,D)&&(h.set(`selectedIndex`,O),f.current&&(te.current=f.current))},[k,O,S,D,h,o,te]);let A=Y.useRef(null),j=Y.useRef(`mouse`),M=Y.useRef(!1),{getButtonProps:N,buttonRef:P}=a({disabled:c,focusableWhenDisabled:!0,native:l,composite:!0}),ae={disabled:c,selected:T,highlighted:re};function oe(e){if(ne||C)return;let t=h.state.value;if(S){let n=Array.isArray(t)?t:[],r=T?lt(n,o,D):[...n,o];_(r,F(Se,e))}else _(o,F(Se,e)),ee(!1,F(Se,e))}function se(){v.current.dragY=0}let I={role:`option`,"aria-selected":T,tabIndex:w&&re?0:-1,onKeyDown(e){A.current=e.key,h.set(`activeIndex`,O),e.key===` `&&b.current&&e.preventDefault()},onClick(e){let t=e.type===`click`&&j.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&p(e.nativeEvent)&&(n!==void 0||re),i=t&&!r&&!M.current;M.current=!1,(e.type!==`keydown`||A.current!==null)&&(c||e.type===`keydown`&&A.current===` `&&b.current||i||(A.current=null,oe(e.nativeEvent)))},onPointerEnter(e){j.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=v.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){j.current=e.pointerType,M.current=!0,se()},onMouseUp(){if(se(),c||j.current===`touch`||M.current)return;let e=!v.current.allowSelectedMouseUp&&T,t=!v.current.allowUnselectedMouseUp&&!T;e||t||(M.current=!0,ie.current?.click(),M.current=!1)}},L=y(`div`,e,{ref:[P,t,m.ref,ie],state:ae,props:[g,I,u,N]}),R=Y.useMemo(()=>({selected:T,index:O,textRef:f,selectedByFocus:E,hasRegistered:k}),[T,O,f,E,k]);return(0,Z.jsx)($t.Provider,{value:R,children:L})})),nn=Y.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=en();return n||r?(0,Z.jsx)(rn,{...e,ref:t}):null}),rn=Y.memo(Y.forwardRef((e,t)=>{let{render:n,className:r,style:i,keepMounted:a,...o}=e,{selected:s}=en(),c=Y.useRef(null),{transitionStatus:l,setMounted:u}=pe(s),d=y(`span`,e,{ref:[t,c],state:{selected:s,transitionStatus:l},props:[{"aria-hidden":!0,children:`✔️`},o],stateAttributesMapping:ve});return we({open:s,ref:c,onComplete(){s||u(!1)}}),d})),an=Y.memo(Y.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i,hasRegistered:a}=en(),{firstItemTextRef:o,selectedItemTextRef:s}=X(),{render:c,className:l,style:u,...d}=e,f=Y.useCallback(e=>{e&&(a&&n===0&&(o.current=e),a&&i&&(s.current=e))},[o,s,n,i,a]);return y(`div`,e,{ref:[f,t,r],props:d})})),on=Y.createContext(void 0),sn=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,[o,s]=Y.useState(),c=Y.useMemo(()=>({labelId:o,setLabelId:s}),[o,s]),l=y(`div`,e,{ref:t,props:[{role:`group`,"aria-labelledby":o},a]});return(0,Z.jsx)(on.Provider,{value:c,children:l})}),cn=xt;function ln({className:e,...t}){return(0,Z.jsx)(sn,{"data-slot":`select-group`,className:o(`scroll-my-1 p-1`,e),...t})}function un({className:e,...t}){return(0,Z.jsx)(Ot,{"data-slot":`select-value`,className:o(`flex flex-1 text-left`,e),...t})}function dn({className:e,size:t=`default`,flat:n=!1,children:r,...i}){return(0,Z.jsxs)(Et,{"data-slot":`select-trigger`,"data-size":t,"data-flat":n?`true`:void 0,className:o(`flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,n&&`rounded-none border-0 bg-transparent shadow-none hover:bg-transparent focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent dark:hover:bg-transparent`,e),...i,children:[r,(0,Z.jsx)(kt,{render:(0,Z.jsx)(Oe,{icon:oe,className:`pointer-events-none size-4 text-muted-foreground`,strokeWidth:1.5})})]})}function fn({className:e,children:t,side:n=`bottom`,sideOffset:r=4,align:i=`center`,alignOffset:a=0,alignItemWithTrigger:s=!0,...c}){return(0,Z.jsx)(jt,{children:(0,Z.jsx)(Lt,{side:n,sideOffset:r,align:i,alignOffset:a,alignItemWithTrigger:s,className:`isolate z-50`,children:(0,Z.jsx)(Wt,{"data-slot":`select-content`,"data-align-trigger":s,className:o(`cn-menu-target cn-menu-translucent relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...c,children:(0,Z.jsx)(Qt,{children:t})})})})}function pn({className:e,children:t,...n}){return(0,Z.jsxs)(tn,{"data-slot":`select-item`,className:o(`relative flex w-full cursor-default items-center gap-2 rounded-md py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,Z.jsx)(an,{className:`flex min-w-0 flex-1 items-center gap-2`,children:t}),(0,Z.jsx)(nn,{render:(0,Z.jsx)(`span`,{className:`pointer-events-none absolute top-1/2 right-2 flex size-4 -translate-y-1/2 items-center justify-center`}),children:(0,Z.jsx)(Oe,{icon:B,className:`pointer-events-none size-3.5`,strokeWidth:1.5})})]})}var mn=new Set([`ALL`,`SELECT`,`INSERT`,`UPDATE`,`DELETE`]),hn=new Set([`PERMISSIVE`,`RESTRICTIVE`]);function gn(e){return`"${e.replaceAll(`"`,``)}"`}function _n(e){return/^[A-Za-z][A-Za-z0-9_]*$/.test(e)}function vn(e){return/^[A-Za-z][A-Za-z0-9_ -]{0,62}$/.test(e)}function yn(e){let t=e.trim();return t.length>0&&t.length<=2e3&&!/;/.test(t)&&!/--/.test(t)&&!/\/\*/.test(t)}function bn(e){if(typeof e!=`string`)return null;let t=e.trim().toUpperCase();return mn.has(t)?t:null}function xn(e){if(typeof e!=`string`)return null;let t=e.trim().toUpperCase();return hn.has(t)?t:null}function Sn(e){let t=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0);if(t.length===0)return[`public`];for(let e of t)if(e!==`public`&&!_n(e))return null;return t}function Cn(e,t){let n=t?`ENABLE`:`DISABLE`;return`ALTER TABLE ${gn(e)} ${n} ROW LEVEL SECURITY`}function wn(e){let t=typeof e.name==`string`?e.name.trim():``,n=typeof e.table==`string`?e.table.trim():``;if(!vn(t))throw Error(`invalid policy name "${t}"`);if(!_n(n))throw Error(`invalid table name "${n}"`);let r=bn(e.command)??`SELECT`,i=xn(e.behavior??e.permissive)??`PERMISSIVE`,a=Sn(typeof e.roles==`string`?e.roles:`public`);if(!a)throw Error(`invalid policy roles`);let o=typeof e.using==`string`?e.using.trim():``,s=e.withCheck??e.with_check,c=typeof s==`string`?s.trim():``;if(o!==``&&!yn(o))throw Error(`invalid USING expression`);if(c!==``&&!yn(c))throw Error(`invalid WITH CHECK expression`);if(o===``&&c===``)throw Error(`policy needs USING or WITH CHECK`);return{name:t,table:n,command:r,behavior:i,roles:a,...o===``?{}:{using:o},...c===``?{}:{withCheck:c}}}var Tn=[`console.gates.list`];function En(e=!0){return T({queryKey:Tn,enabled:e,queryFn:async()=>{let e=await C();if(e.error)throw Error(e.error.code);return e.data??null}})}var Dn=[`pii:reveal`,`console:flows:invoke-as`,`console:store.sql:read`,`console:store.sql:write`,`console:signals:replay`,`console:signals:purge`,`store.sql:read`,`store.sql:write`,`store.kv:read`,`store.kv:write`,`signals:replay`,`vault:read`];function On(e){let t=new Set(Dn);for(let[n,r]of Object.entries(e.flows??{})){let e=kn(n);t.add(e),r.plane===`operator`&&!e.startsWith(`console:`)&&t.add(`console:${e}`);for(let e of r.gates??[])e.includes(`:`)&&!e.startsWith(`rate:`)&&t.add(e)}for(let[n,r]of Object.entries(e.gates??{}))if(r.kind!==`all`){(r.kind===`policy`||n.includes(`:`))&&(n.startsWith(`rate:`)||t.add(n));for(let e of r.scopes??[])t.add(e)}for(let n of jn(e,`reads`))t.add(An(n,`read`));for(let n of jn(e,`writes`))t.add(An(n,`write`));return[...t].sort((e,t)=>e.localeCompare(t))}function kn(e){let t=e.indexOf(`.`);return t===-1?e:`${e.slice(0,t)}:${e.slice(t+1)}`}function An(e,t){return`store.${e.split(`:`)[0]??e}:${t}`}function jn(e,t){let n=[];for(let r of Object.values(e.flows??{})){let e=r.effects?.[t];e&&n.push(...e)}return n}var $=`current_setting('oke.gate', true)`,Mn=[{id:`read-all`,name:`read_all`,title:`Enable read access for everyone`,detail:`SELECT using true. Any role that reaches the table can read.`,command:`SELECT`,using:`true`},{id:`deny-read`,name:`deny_read`,title:`Deny all reads`,detail:`SELECT using false. Rows stay hidden until another policy allows them.`,command:`SELECT`,using:`false`},{id:`owner-read`,name:`owner_read`,title:`Enable read for owners`,detail:`SELECT when a text owner column matches current_user.`,command:`SELECT`,using:`owner = current_user`},{id:`gate-read`,name:`gate_read`,title:`Enable read when oke.gate matches`,detail:`SELECT when ${$} equals a Gate name (pair Policy & scope).`,command:`SELECT`,using:`${$} = 'member'`},{id:`join-read`,name:`join_read`,title:`Enable read via a related table`,detail:`SELECT with EXISTS against members — membership joins, not a column on this table.`,command:`SELECT`,using:`exists (select 1 from members m where m.user_id = current_user and m.team_id = team_id)`},{id:`insert-all`,name:`insert_all`,title:`Enable insert for everyone`,detail:`INSERT WITH CHECK true. New rows are accepted without a row predicate.`,command:`INSERT`,withCheck:`true`},{id:`insert-owner`,name:`insert_owner`,title:`Enable insert for owners`,detail:`INSERT WITH CHECK so new rows set owner to current_user.`,command:`INSERT`,withCheck:`owner = current_user`},{id:`insert-gate`,name:`insert_gate`,title:`Enable insert when oke.gate matches`,detail:`INSERT WITH CHECK when ${$} equals a Gate name.`,command:`INSERT`,withCheck:`${$} = 'member'`},{id:`update-owner`,name:`update_owner`,title:`Enable update for owners`,detail:`UPDATE own rows. USING and WITH CHECK both require owner = current_user.`,command:`UPDATE`,using:`owner = current_user`,withCheck:`owner = current_user`},{id:`update-gate`,name:`update_gate`,title:`Enable update when oke.gate matches`,detail:`UPDATE when ${$} equals a Gate name.`,command:`UPDATE`,using:`${$} = 'member'`,withCheck:`${$} = 'member'`},{id:`delete-owner`,name:`delete_owner`,title:`Enable delete for owners`,detail:`DELETE when a text owner column matches current_user.`,command:`DELETE`,using:`owner = current_user`},{id:`deny-delete`,name:`deny_delete`,title:`Deny all deletes`,detail:`DELETE using false. Rows cannot be removed until another policy allows it.`,command:`DELETE`,using:`false`},{id:`all-owner`,name:`owner_all`,title:`Enable all commands for owners`,detail:`ALL commands when owner = current_user (USING and WITH CHECK).`,command:`ALL`,using:`owner = current_user`,withCheck:`owner = current_user`},{id:`all-gate`,name:`gate_all`,title:`Enable all commands when oke.gate matches`,detail:`ALL commands when ${$} equals a Gate name.`,command:`ALL`,using:`${$} = 'member'`,withCheck:`${$} = 'member'`},{id:`restrictive-gate`,name:`restrictive_gate`,title:`Restrictive extra Gate check`,detail:`RESTRICTIVE policy ANDs with permissive ones. Requires oke.gate to be set.`,command:`ALL`,behavior:`RESTRICTIVE`,using:`${$} is not null`,withCheck:`${$} is not null`}];function Nn(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>[e.id,e.name,e.title,e.detail,e.command,e.behavior??``].some(e=>e.toLowerCase().includes(n)))}var Pn=[`SELECT`,`INSERT`,`UPDATE`,`DELETE`,`ALL`];function Fn(e){return e===`INSERT`?{using:!1,withCheck:!0}:e===`UPDATE`||e===`ALL`?{using:!0,withCheck:!0}:{using:!0,withCheck:!1}}function In(e){return e===`SELECT`?`read`:e===`ALL`?`both`:`write`}function Ln(e,t){return e===`read`?`SELECT`:e===`both`?`ALL`:t===`INSERT`||t===`UPDATE`||t===`DELETE`?t:`INSERT`}function Rn(e){return e===`read`?[`store.sql:read`]:e===`write`?[`store.sql:write`]:[`store.sql:read`,`store.sql:write`]}function zn(e,t){let n=Bn(e);return t?`${Cn(e.table,!0)};\n${n};`:`${n};`}function Bn(e){let t=e.roles.length===0?`public`:e.roles.map(e=>e===`public`?`public`:gn(e)).join(`, `),n=[`CREATE POLICY ${gn(e.name)}`,` ON ${gn(e.table)}`,` AS ${e.behavior}`,` FOR ${e.command}`,` TO ${t}`];return e.using!==void 0&&e.using.trim()!==``&&n.push(` USING (${e.using.trim()})`),e.withCheck!==void 0&&e.withCheck.trim()!==``&&n.push(` WITH CHECK (${e.withCheck.trim()})`),n.join(`
|
|
2
|
+
`)}var Vn={oke:`1.0`,app:``},Hn=`public`;function Un(e){let t=e??Vn,n=[{name:Hn,kind:`public`,variant:`public`,description:`Intentionally unauthenticated`,scopes:[],roles:[]}];for(let[e,r]of Object.entries(t.gates??{})){if(r.kind===`rate`||r.kind===`all`||e.startsWith(`rate:`))continue;let t=r.scopes??[],i=r.roles??[];if(e===`public`){let e=n[0];e&&(n[0]={...e,description:r.description??e.description,scopes:t,roles:i});continue}n.push({name:e,kind:`policy`,variant:Yn({name:e,kind:`policy`,scopes:t}),...r.description===void 0?{}:{description:r.description},scopes:t,roles:i})}let r=Qn(n.flatMap(e=>[...e.roles]));return{gates:n,actions:On(t),roles:r}}function Wn(e,t){if(t===null)return e;let n=Qn([...e.roles,...(t.principals??[]).filter(e=>e.kind===`role`).map(e=>e.name)]);return{...e,actions:Qn([...t.moduleActions??[],...e.actions]),roles:n}}function Gn(e,t){let n=t.trim().toLowerCase();return n===``?e:{gates:e.gates.filter(e=>Jn(n,e.name,e.kind,e.variant,e.description,...e.scopes,...e.roles)),actions:e.actions.filter(e=>Jn(n,e)),roles:e.roles.filter(e=>Jn(n,e))}}function Kn(e,t){let n=e.filter(e=>e!==`store.sql:read`&&e!==`store.sql:write`);return Qn([...Rn(In(t)),...n])}function qn(e){return e.gates.length}function Jn(e,...t){return t.some(t=>t!==void 0&&t.toLowerCase().includes(e))}function Yn(e){return e.kind===`public`||e.name===`public`?`public`:e.scopes.length>0?`scope`:`policy`}function Xn(e){return e.gates.filter(e=>e.variant!==`scope`)}function Zn(e){return e.gates.filter(e=>e.variant===`scope`)}function Qn(e){return[...new Set(e)].sort((e,t)=>e.localeCompare(t))}function $n({allOpen:e,disabled:t,onToggle:n,collapseLabel:r=`Collapse all`,expandLabel:i=`Expand all`,dataSlot:a,className:s,disclose:c=!1,bare:l=!1}){let u=e?r:i;return(0,Z.jsx)(Ye,{label:u,className:l?void 0:`flex self-stretch`,children:(0,Z.jsx)(`button`,{type:`button`,"aria-label":u,"aria-expanded":c?e:void 0,"data-slot":a,disabled:t,onClick:e=>{e.stopPropagation(),n()},className:o(l?G:se,s),children:(0,Z.jsx)(Oe,{icon:e?W:oe,className:`size-3.5`,"aria-hidden":!0})})})}var er=[`console.flows.identities`];function tr(){return T({queryKey:er,queryFn:async()=>{let e=await I();if(e.error)throw Error(e.error.code);return e.data?.identities??[]}})}function nr(){return J({mutationFn:async e=>{let t=await ke(e);if(t.error){let e=Error(t.error.code);throw e.code=t.error.code,e.data=t.error.data,e}if(!t.data)throw Error(`Empty invoke response`);return t.data}})}function rr(){return J({mutationFn:async e=>{let t=await Ne(e);if(t.error){let e=Error(t.error.code);throw e.code=t.error.code,e.data=t.error.data,e}if(!t.data)throw Error(`Empty clock run-now response`);return t.data}})}function ir(e){return e===null||e.length===0?`operator`:e===`public`?`public`:`as`}function ar(e){return e.gates.filter(e=>e.kind===`policy`).map(e=>({id:e.name,label:e.name,detail:ur(e)}))}function or(e,t){let n=[];for(let r of e){if(r.status!==`active`)continue;let e=sr(r.scopes,t);e!==null&&n.push({id:r.id,label:r.name||r.email,detail:r.email,gate:e})}return n}function sr(e,t){let n=t.gates.filter(e=>e.kind===`policy`);for(let t of e)if(n.some(e=>e.name===t))return t;for(let t of e){let e=n.find(e=>e.roles.includes(t));if(e)return e.name}return null}function cr(e,t,n=()=>[]){let r=t.trim().toLowerCase();return r===``?e:e.filter(e=>[e.id,e.label,e.detail,...n(e)].some(e=>e.toLowerCase().includes(r)))}function lr(e){return e&&e.length>0?`Gate · ${e}`:`Gate`}function ur(e){return e.description?e.description:e.roles.length>0?`Roles ${e.roles.join(`, `)}`:e.scopes.length>0?e.scopes.join(` · `):`Policy gate`}function dr({mode:e,active:t,className:n}){let r=`${(0,Y.useId)().replace(/:/g,``)}-hatch`;return(0,Z.jsxs)(`svg`,{viewBox:`0 0 72 40`,className:o(`h-10 w-full`,t?`text-foreground`:`text-muted-foreground/70`,n),"aria-hidden":!0,"data-slot":`store-query-gate-viz`,"data-mode":e,children:[(0,Z.jsx)(`defs`,{children:(0,Z.jsx)(`pattern`,{id:r,width:`4`,height:`4`,patternUnits:`userSpaceOnUse`,patternTransform:`rotate(45)`,children:(0,Z.jsx)(`path`,{d:`M0 0 H4`,className:`stroke-current`,strokeWidth:`0.7`,opacity:`0.35`})})}),e===`operator`?(0,Z.jsx)(pr,{hatchId:r}):null,e===`public`?(0,Z.jsx)(mr,{hatchId:r}):null,e===`as`?(0,Z.jsx)(hr,{hatchId:r}):null]})}function fr({hatchId:e}){return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`rect`,{x:`22`,y:`10`,width:`28`,height:`20`,rx:`5`,fill:`url(#${e})`,className:`stroke-current`,strokeWidth:`1.15`}),(0,Z.jsx)(`path`,{d:`M22 17 H50`,className:`stroke-current`,strokeWidth:`0.8`,opacity:`0.45`})]})}function pr({hatchId:e}){return(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`path`,{d:`M4 14 C18 14, 18 26, 68 26`,fill:`none`,className:`stroke-sky-500 dark:stroke-sky-400`,strokeWidth:`1.35`,strokeDasharray:`2.4 2`}),(0,Z.jsx)(`path`,{d:`M4 26 C18 26, 18 14, 68 14`,fill:`none`,className:`stroke-sky-500 dark:stroke-sky-400`,strokeWidth:`1.35`,strokeDasharray:`2.4 2`}),(0,Z.jsx)(fr,{hatchId:e})]})}function mr({hatchId:e}){return(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`path`,{d:`M4 14 H18`,fill:`none`,className:`stroke-current`,strokeWidth:`1.2`,strokeDasharray:`2.4 2`,opacity:`0.55`}),(0,Z.jsx)(`path`,{d:`M4 26 H18`,fill:`none`,className:`stroke-current`,strokeWidth:`1.2`,strokeDasharray:`2.4 2`,opacity:`0.55`}),(0,Z.jsx)(fr,{hatchId:e}),(0,Z.jsx)(`path`,{d:`M54 14 H68`,fill:`none`,className:`stroke-current`,strokeWidth:`1.2`,strokeDasharray:`2.4 2`,opacity:`0.28`}),(0,Z.jsx)(`path`,{d:`M54 26 H68`,fill:`none`,className:`stroke-current`,strokeWidth:`1.2`,strokeDasharray:`2.4 2`,opacity:`0.28`})]})}function hr({hatchId:e}){return(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`circle`,{cx:`10`,cy:`16`,r:`3.1`,className:`fill-violet-500 dark:fill-violet-400`}),(0,Z.jsx)(`path`,{d:`M5.5 26 C5.5 22.2, 14.5 22.2, 14.5 26`,fill:`none`,className:`stroke-violet-500 dark:stroke-violet-400`,strokeWidth:`1.2`}),(0,Z.jsx)(`path`,{d:`M16 20 H22`,fill:`none`,className:`stroke-violet-500 dark:stroke-violet-400`,strokeWidth:`1.25`}),(0,Z.jsx)(fr,{hatchId:e}),(0,Z.jsx)(`path`,{d:`M50 20 H56`,fill:`none`,className:`stroke-violet-500 dark:stroke-violet-400`,strokeWidth:`1.25`}),(0,Z.jsx)(`path`,{d:`M59 13.5 L64.5 17 L59 26.5 L53.5 17 Z`,className:`fill-background stroke-violet-500 dark:stroke-violet-400`,strokeWidth:`1.15`})]})}function gr({children:e}){return(0,Z.jsx)(`p`,{className:o(je,`border-b border-border/60 px-2 py-1.5`),children:e})}function _r({label:e,children:t}){return(0,Z.jsx)(`div`,{role:`radiogroup`,"aria-label":e,className:`flex items-stretch border-b border-border/60`,children:t})}function vr({mode:e,title:t,caption:n,selected:r,disabled:i=!1,onSelect:a}){return(0,Z.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,disabled:i,title:n,onClick:a,"data-slot":`store-query-gate-card`,"data-mode":e,className:o(`flex min-w-0 flex-1 flex-col items-stretch gap-1 px-1.5 pt-2 pb-1.5 text-left transition-colors hover:bg-muted/50 hover:text-foreground`,r?`bg-muted/70 text-foreground`:`text-muted-foreground`,i&&`pointer-events-none opacity-40`),children:[(0,Z.jsx)(dr,{mode:e,active:r}),(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center justify-center gap-1 px-0.5`,children:[(0,Z.jsx)(`span`,{className:`truncate text-[10px] font-medium`,children:t}),r&&e===`as`?(0,Z.jsx)(`span`,{className:`max-w-28 truncate text-[10px] text-muted-foreground`,children:n}):null]})]})}function yr({title:e,badge:t,children:n}){return(0,Z.jsxs)(`div`,{className:`px-2 py-2`,"data-slot":`store-query-gate-detail`,children:[(0,Z.jsxs)(`p`,{className:`text-[11px] font-medium text-foreground`,children:[e,t?(0,Z.jsx)(`span`,{className:`ml-1.5 text-[10px] text-muted-foreground`,children:t}):null]}),(0,Z.jsx)(`p`,{className:`mt-0.5 text-[10px] leading-relaxed text-muted-foreground`,children:n})]})}function br({tab:e,onTabChange:t,policies:n,users:r,asGate:i,asUserId:a,onSelectPolicy:o,onSelectUser:s,hint:c}){let[u,d]=(0,Y.useState)(``),p=e===`user`?r.find(e=>e.id===a):n.find(e=>e.id===i),m=cr(r,u,e=>[e.gate]),h=cr(n,u),g=e===`user`?m:h,ee=u.trim()!==``;return(0,Z.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`store-query-gate-as`,children:[(0,Z.jsxs)(`div`,{className:`flex h-7 items-stretch border-b border-border/60`,role:`tablist`,"aria-label":`As a user or policy`,children:[(0,Z.jsx)(xr,{active:e===`user`,disabled:r.length===0,onClick:()=>t(`user`),children:`User`}),(0,Z.jsx)(xr,{active:e===`policy`,disabled:n.length===0,onClick:()=>t(`policy`),children:`Policy`})]}),(0,Z.jsxs)(`label`,{className:`relative block border-b border-border/60`,children:[(0,Z.jsx)(Oe,{icon:ie,className:`pointer-events-none absolute top-1/2 left-2 size-3.5 -translate-y-1/2 text-muted-foreground`,"aria-hidden":!0}),(0,Z.jsx)(l,{value:u,onChange:e=>d(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:e===`user`?`Search users`:`Search policies`,"aria-label":e===`user`?`Search users`:`Search policies`,flat:!0,className:`h-8 pl-7 font-mono text-[12px]`})]}),(0,Z.jsx)(`ul`,{role:`listbox`,"aria-label":e===`user`?`Users`:`Policy gates`,className:`max-h-40 overflow-y-auto`,children:g.length===0?(0,Z.jsx)(`li`,{className:`px-1 py-2 text-[10px] text-muted-foreground`,children:ee?`No matches.`:e===`user`?`No identities map to a policy Gate.`:`No policy Gates declared.`}):e===`user`?m.map(e=>(0,Z.jsx)(Sr,{icon:ge,label:e.label,detail:`${e.detail} · ${e.gate}`,selected:e.id===a,onSelect:()=>s(e)},e.id)):h.map(e=>(0,Z.jsx)(Sr,{icon:f,label:e.label,detail:e.detail,selected:e.id===i,onSelect:()=>o(e)},e.id))}),c===void 0?p?(0,Z.jsx)(`p`,{className:`border-t border-border/60 px-2 py-2 text-[10px] leading-relaxed text-muted-foreground`,children:e===`user`&&a?(0,Z.jsxs)(Z.Fragment,{children:[`View as `,(0,Z.jsx)(`span`,{className:`font-medium text-foreground`,children:p.label}),` via`,` `,(0,Z.jsx)(`span`,{className:`font-mono`,children:i}),`.`]}):(0,Z.jsxs)(Z.Fragment,{children:[p.detail,` Sets `,(0,Z.jsx)(`span`,{className:`font-mono`,children:`oke.gate`}),` for RLS.`]})}):null:c]})}function xr({active:e,disabled:t,onClick:n,children:r}){return(0,Z.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":e,disabled:t,onClick:n,className:o(P,`font-semibold tracking-[0.08em] uppercase`,e?U:De,t&&`pointer-events-none opacity-40`),children:r})}function Sr({icon:e,label:t,detail:n,selected:r,onSelect:i}){return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":r,onClick:i,className:o(z,`items-start px-2`,r&&`bg-muted/70 text-foreground`),children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:o(Ce,r&&`bg-sky-500`)}),(0,Z.jsx)(Oe,{icon:e,className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground`}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block truncate text-xs font-medium`,children:t}),(0,Z.jsx)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:n})]}),r?(0,Z.jsx)(Oe,{icon:B,className:`mt-0.5 size-3.5 shrink-0`}):null]})})}export{_n as A,et as B,Nn as C,Fn as D,In as E,ln as F,pn as I,dn as L,gn as M,cn as N,zn as O,fn as P,un as R,Mn as S,Rn as T,Zn as _,gr as a,Kn as b,lr as c,tr as d,nr as f,Xn as g,Wn as h,_r as i,wn as j,En as k,or as l,Gn as m,vr as n,ir as o,$n as p,yr as r,ar as s,br as t,rr as u,Un as v,Ln as w,Pn as x,qn as y,Qe as z};
|