@xopcai/xopc 0.0.83 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/README.zh-CN.md +3 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/feishu/src/plugin.d.ts +2 -0
- package/dist/extensions/feishu/src/plugin.js +10 -0
- package/dist/extensions/feishu/src/plugin.js.map +1 -1
- package/dist/extensions/feishu/src/workflow-progress.d.ts +27 -0
- package/dist/extensions/feishu/src/workflow-progress.js +99 -0
- package/dist/extensions/feishu/src/workflow-progress.js.map +1 -0
- package/dist/extensions/telegram/src/plugin.d.ts +2 -0
- package/dist/extensions/telegram/src/plugin.js +11 -1
- package/dist/extensions/telegram/src/plugin.js.map +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.d.ts +24 -0
- package/dist/extensions/telegram/src/workflow-progress.js +73 -0
- package/dist/extensions/telegram/src/workflow-progress.js.map +1 -0
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +158 -0
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +1 -0
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.d.ts +2 -0
- package/dist/extensions/weixin/src/plugin.js +11 -1
- package/dist/extensions/weixin/src/plugin.js.map +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.d.ts +26 -0
- package/dist/extensions/weixin/src/workflow-progress.js +99 -0
- package/dist/extensions/weixin/src/workflow-progress.js.map +1 -0
- package/dist/gateway/static/root/assets/agents-D3_-kNlZ.js +222 -0
- package/dist/gateway/static/root/assets/apps-page-D7v7649T.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-nCaMb0a7.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-C1gZBcJV.js +8 -0
- package/dist/gateway/static/root/assets/createLucideIcon-DPHK1VkS.js +1 -0
- package/dist/gateway/static/root/assets/cron-api-CoYK0hlm.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-DeGo-Vjc.js +1 -0
- package/dist/gateway/static/root/assets/dist-BTWC-BTN.js +45 -0
- package/dist/gateway/static/root/assets/{dist-BpQxde0t.js → dist-DaK4dsss.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CY27wj_p.js → extension-debug-page-BZngZWbO.js} +1 -1
- package/dist/gateway/static/root/assets/extension-page-D6JSyV27.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-8PZcmWI7.js +1 -0
- package/dist/gateway/static/root/assets/fetch-B2MYHbWg.js +1 -0
- package/dist/gateway/static/root/assets/{field-primitives-fa_hiQcX.js → field-primitives-Zzl22MvN.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-config-api-BtIcpG0O.js +1 -0
- package/dist/gateway/static/root/assets/index-D4vM3-P7.js +4700 -0
- package/dist/gateway/static/root/assets/index-ew_2L2We.css +1 -0
- package/dist/gateway/static/root/assets/logs-page-_d4UJ-qQ.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-5N4aF2Wk.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-D_tgb8r2.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-C18xBt4X.js +3 -0
- package/dist/gateway/static/root/assets/share-preview-page-D4EG_vM1.js +2 -0
- package/dist/gateway/static/root/assets/skills-page-sPAXhh8w.js +2 -0
- package/dist/gateway/static/root/assets/theme-store-DryYl3qD.js +1 -0
- package/dist/gateway/static/root/assets/url-BwNL6Rgk.js +3 -0
- package/dist/gateway/static/root/assets/utils-CYO9eTCM.js +1 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-Ds51havm.js +1 -0
- package/dist/gateway/static/root/index.html +7 -6
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.js +7 -7
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
- package/dist/src/agent/context/workspace-seed.js +3 -3
- package/dist/src/agent/embedded/map-stream-events.js +6 -0
- package/dist/src/agent/embedded/map-stream-events.js.map +1 -1
- package/dist/src/agent/embedded/subscribe-session.js +24 -0
- package/dist/src/agent/embedded/subscribe-session.js.map +1 -1
- package/dist/src/agent/embedded/types.d.ts +19 -0
- package/dist/src/agent/goals/goal-locale.js +2 -2
- package/dist/src/agent/goals/goal-run-store.js +4 -4
- package/dist/src/agent/goals/persistent-goal-service.js +1 -1
- package/dist/src/agent/goals/post-turn.js +2 -2
- package/dist/src/agent/image/load-image-media.js +2 -2
- package/dist/src/agent/ipc/bus.js +1 -1
- package/dist/src/agent/ipc/inbox.js +2 -2
- package/dist/src/agent/ipc/socket.js +1 -1
- package/dist/src/agent/memory/builtin-memory-store.js +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
- package/dist/src/agent/memory/dreaming/events.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
- package/dist/src/agent/memory/dreaming/preview.js +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
- package/dist/src/agent/reply/post-compaction-context.js +1 -1
- package/dist/src/agent/reply/startup-context.d.ts +3 -0
- package/dist/src/agent/reply/startup-context.js +25 -2
- package/dist/src/agent/reply/startup-context.js.map +1 -1
- package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
- package/dist/src/agent/sandbox/path-policy.js +2 -2
- package/dist/src/agent/service/build-direct-message-content.js +1 -1
- package/dist/src/agent/service.d.ts +1 -0
- package/dist/src/agent/service.js +10 -4
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/config.js +1 -1
- package/dist/src/agent/skills/hub-hash.js +2 -2
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +3 -3
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/scanner.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.js +1 -1
- package/dist/src/agent/tools/create-share-tool.d.ts +27 -0
- package/dist/src/agent/tools/create-share-tool.js +237 -0
- package/dist/src/agent/tools/create-share-tool.js.map +1 -0
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.js +35 -1
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +1 -1
- package/dist/src/agent/tools/index.d.ts +2 -0
- package/dist/src/agent/tools/index.js +3 -1
- package/dist/src/agent/tools/send-media.js +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/workflow-tool.d.ts +41 -0
- package/dist/src/agent/tools/workflow-tool.js +271 -0
- package/dist/src/agent/tools/workflow-tool.js.map +1 -0
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/workflow/builtins/audit-repo.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/audit-repo.js +115 -0
- package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -0
- package/dist/src/agent/workflow/builtins/index.d.ts +15 -0
- package/dist/src/agent/workflow/builtins/index.js +28 -0
- package/dist/src/agent/workflow/builtins/index.js.map +1 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js +113 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -0
- package/dist/src/agent/workflow/builtins/research.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/research.js +129 -0
- package/dist/src/agent/workflow/builtins/research.js.map +1 -0
- package/dist/src/agent/workflow/catalog.d.ts +51 -0
- package/dist/src/agent/workflow/catalog.js +155 -0
- package/dist/src/agent/workflow/catalog.js.map +1 -0
- package/dist/src/agent/workflow/channel-capability.d.ts +76 -0
- package/dist/src/agent/workflow/channel-capability.js +1 -0
- package/dist/src/agent/workflow/index.d.ts +11 -0
- package/dist/src/agent/workflow/index.js +10 -0
- package/dist/src/agent/workflow/last-run-memory.d.ts +42 -0
- package/dist/src/agent/workflow/last-run-memory.js +60 -0
- package/dist/src/agent/workflow/last-run-memory.js.map +1 -0
- package/dist/src/agent/workflow/parser.d.ts +20 -0
- package/dist/src/agent/workflow/parser.js +137 -0
- package/dist/src/agent/workflow/parser.js.map +1 -0
- package/dist/src/agent/workflow/progress-broker.d.ts +80 -0
- package/dist/src/agent/workflow/progress-broker.js +263 -0
- package/dist/src/agent/workflow/progress-broker.js.map +1 -0
- package/dist/src/agent/workflow/runtime.d.ts +31 -0
- package/dist/src/agent/workflow/runtime.js +301 -0
- package/dist/src/agent/workflow/runtime.js.map +1 -0
- package/dist/src/agent/workflow/snapshot.d.ts +18 -0
- package/dist/src/agent/workflow/snapshot.js +144 -0
- package/dist/src/agent/workflow/snapshot.js.map +1 -0
- package/dist/src/agent/workflow/structured-output-tool.d.ts +33 -0
- package/dist/src/agent/workflow/structured-output-tool.js +58 -0
- package/dist/src/agent/workflow/structured-output-tool.js.map +1 -0
- package/dist/src/agent/workflow/subagent-runner.d.ts +42 -0
- package/dist/src/agent/workflow/subagent-runner.js +104 -0
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -0
- package/dist/src/agent/workflow/types.d.ts +137 -0
- package/dist/src/agent/workflow/types.js +1 -0
- package/dist/src/auth/credentials.js +3 -3
- package/dist/src/auth/profiles/store.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/browser/cache-dir-policy.js +1 -1
- package/dist/src/browser/cdp-local-launcher.js +2 -2
- package/dist/src/browser/providers/browser-ext-install.js +4 -4
- package/dist/src/browser/providers/cloakbrowser.js +4 -4
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/channels/attachments/inbound-persist.js +1 -1
- package/dist/src/channels/attachments/outbound-tts-persist.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +1 -1
- package/dist/src/channels/pairing/pairing-store.js +2 -2
- package/dist/src/chat-commands/builtins/config.js +2 -2
- package/dist/src/chat-commands/builtins/model.js +40 -23
- package/dist/src/chat-commands/builtins/model.js.map +1 -1
- package/dist/src/chat-commands/builtins/system.js +30 -15
- package/dist/src/chat-commands/builtins/system.js.map +1 -1
- package/dist/src/chat-commands/builtins/workflow.d.ts +18 -0
- package/dist/src/chat-commands/builtins/workflow.js +167 -0
- package/dist/src/chat-commands/builtins/workflow.js.map +1 -0
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/chat-commands/format-output.d.ts +28 -0
- package/dist/src/chat-commands/format-output.js +45 -0
- package/dist/src/chat-commands/format-output.js.map +1 -0
- package/dist/src/chat-commands/index.d.ts +1 -0
- package/dist/src/chat-commands/index.js +3 -1
- package/dist/src/chat-commands/index.js.map +1 -1
- package/dist/src/cli/command-catalog.js +110 -8
- package/dist/src/cli/command-catalog.js.map +1 -1
- package/dist/src/cli/command-loaders.js +2 -0
- package/dist/src/cli/command-loaders.js.map +1 -1
- package/dist/src/cli/command-manifest.js +9 -1
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/config.js +71 -20
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/cron-cli.d.ts +2 -0
- package/dist/src/cli/commands/cron-cli.js +15 -0
- package/dist/src/cli/commands/cron-cli.js.map +1 -0
- package/dist/src/cli/commands/cron.d.ts +4 -1
- package/dist/src/cli/commands/cron.js +76 -41
- package/dist/src/cli/commands/cron.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +2 -2
- package/dist/src/cli/commands/doctor/checks/config-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-health.js +2 -2
- package/dist/src/cli/commands/doctor/checks/gateway-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-service.js +2 -2
- package/dist/src/cli/commands/doctor/checks/gateway-service.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/state-integrity.js +2 -2
- package/dist/src/cli/commands/doctor/checks/state-integrity.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +4 -4
- package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +1 -1
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/gateway/index.d.ts +1 -1
- package/dist/src/cli/commands/gateway/index.js +2 -2
- package/dist/src/cli/commands/gateway/lifecycle.js +10 -4
- package/dist/src/cli/commands/gateway/lifecycle.js.map +1 -1
- package/dist/src/cli/commands/gateway/service.d.ts +4 -0
- package/dist/src/cli/commands/gateway/service.js +17 -2
- package/dist/src/cli/commands/gateway/service.js.map +1 -1
- package/dist/src/cli/commands/gateway/shared.js +1 -1
- package/dist/src/cli/commands/gateway/subcommands.js +1 -4
- package/dist/src/cli/commands/gateway/subcommands.js.map +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +31 -4
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/models.d.ts +4 -1
- package/dist/src/cli/commands/models.js +86 -74
- package/dist/src/cli/commands/models.js.map +1 -1
- package/dist/src/cli/commands/onboard.js +4 -2
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/profile.d.ts +3 -5
- package/dist/src/cli/commands/profile.js +31 -31
- package/dist/src/cli/commands/profile.js.map +1 -1
- package/dist/src/cli/commands/setup.js +6 -1
- package/dist/src/cli/commands/setup.js.map +1 -1
- package/dist/src/cli/commands/tunnel.js +2 -2
- package/dist/src/cli/gateway-run-argv.js +15 -5
- package/dist/src/cli/gateway-run-argv.js.map +1 -1
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -2
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +5 -5
- package/dist/src/config/loader.js +2 -2
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/paths-state.js +1 -1
- package/dist/src/config/profile.js +2 -2
- package/dist/src/config/public-url.d.ts +28 -0
- package/dist/src/config/public-url.js +103 -0
- package/dist/src/config/public-url.js.map +1 -0
- package/dist/src/config/schema.d.ts +82 -0
- package/dist/src/config/schema.js +130 -1
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/workspace-path.js +1 -1
- package/dist/src/cron/executor.js +2 -2
- package/dist/src/cron/persistence.js +1 -1
- package/dist/src/cron/run-log-store.js +1 -1
- package/dist/src/daemon/constants.js +1 -1
- package/dist/src/daemon/install-plan.js +3 -3
- package/dist/src/daemon/install-plan.js.map +1 -1
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +38 -1
- package/dist/src/daemon/schtasks.js.map +1 -1
- package/dist/src/daemon/systemd.js +2 -2
- package/dist/src/extensions/bundle-mcp.js +1 -1
- package/dist/src/extensions/discover-extensions.js +1 -1
- package/dist/src/extensions/health.js +1 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/lockfile.js +2 -2
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/app.js +33 -2
- package/dist/src/gateway/hono/app.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/static-ui.js +2 -2
- package/dist/src/gateway/hono/oauth.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +1 -1
- package/dist/src/gateway/hono/routes/host-fs.js +2 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/models.js +1 -1
- package/dist/src/gateway/hono/routes/shares.js +631 -34
- package/dist/src/gateway/hono/routes/shares.js.map +1 -1
- package/dist/src/gateway/hono/routes/site-shares.d.ts +3 -0
- package/dist/src/gateway/hono/routes/site-shares.js +228 -0
- package/dist/src/gateway/hono/routes/site-shares.js.map +1 -0
- package/dist/src/gateway/hono/routes/tunnel.js +97 -8
- package/dist/src/gateway/hono/routes/tunnel.js.map +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +5 -5
- package/dist/src/gateway/hono/sse.js +2 -2
- package/dist/src/gateway/host.d.ts +3 -1
- package/dist/src/gateway/host.js +3 -1
- package/dist/src/gateway/host.js.map +1 -1
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.d.ts +6 -0
- package/dist/src/gateway/ports.js +38 -2
- package/dist/src/gateway/ports.js.map +1 -1
- package/dist/src/gateway/public-url.d.ts +8 -0
- package/dist/src/gateway/public-url.js +10 -0
- package/dist/src/gateway/public-url.js.map +1 -0
- package/dist/src/gateway/security/origin-check.d.ts +9 -1
- package/dist/src/gateway/security/origin-check.js +4 -0
- package/dist/src/gateway/security/origin-check.js.map +1 -1
- package/dist/src/gateway/server.js +15 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service/agent-runner.js +2 -2
- package/dist/src/gateway/service/marketplace-service.js +2 -2
- package/dist/src/gateway/service/run-gateway-agent.js +2 -2
- package/dist/src/gateway/service.js +3 -2
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/i18n/goals-bundle.js +1 -1
- package/dist/src/i18n/index.d.ts +1 -0
- package/dist/src/i18n/index.js +2 -1
- package/dist/src/i18n/locales/share-tool.en.js +15 -0
- package/dist/src/i18n/locales/share-tool.en.js.map +1 -0
- package/dist/src/i18n/locales/share-tool.zh.js +15 -0
- package/dist/src/i18n/locales/share-tool.zh.js.map +1 -0
- package/dist/src/i18n/share-tool-bundle.d.ts +20 -0
- package/dist/src/i18n/share-tool-bundle.js +56 -0
- package/dist/src/i18n/share-tool-bundle.js.map +1 -0
- package/dist/src/infra/gateway-processes.js +1 -0
- package/dist/src/infra/gateway-processes.js.map +1 -1
- package/dist/src/infra/restart.js +2 -2
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-lock.js +3 -3
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/infra/update-startup.js +2 -2
- package/dist/src/infra/write-file-atomic.js +2 -2
- package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
- package/dist/src/providers/index.js +2 -2
- package/dist/src/providers/model-registry.js +1 -1
- package/dist/src/session/config-store.js +2 -2
- package/dist/src/session/parity/jsonl-transcript-io.js +2 -2
- package/dist/src/session/parity/sessions-json-file.js +1 -1
- package/dist/src/session/parity/transcript-file-lock.js +2 -2
- package/dist/src/session/parity/transcript-paths.js +1 -1
- package/dist/src/session/search-index-cache.js +1 -1
- package/dist/src/session/search-index.js +1 -1
- package/dist/src/session/session-title.js +3 -2
- package/dist/src/session/session-title.js.map +1 -1
- package/dist/src/session/store.js +5 -5
- package/dist/src/share/share-auto.d.ts +74 -0
- package/dist/src/share/share-auto.js +247 -0
- package/dist/src/share/share-auto.js.map +1 -0
- package/dist/src/share/share-config.js +63 -4
- package/dist/src/share/share-config.js.map +1 -1
- package/dist/src/share/share-landing.d.ts +28 -2
- package/dist/src/share/share-landing.js +155 -34
- package/dist/src/share/share-landing.js.map +1 -1
- package/dist/src/share/share-store.d.ts +48 -4
- package/dist/src/share/share-store.js +322 -51
- package/dist/src/share/share-store.js.map +1 -1
- package/dist/src/share/share-thumbnail.d.ts +35 -0
- package/dist/src/share/share-thumbnail.js +277 -0
- package/dist/src/share/share-thumbnail.js.map +1 -0
- package/dist/src/share/share-types.d.ts +68 -10
- package/dist/src/share/share-types.js +18 -1
- package/dist/src/share/share-types.js.map +1 -1
- package/dist/src/share/share-url.js +1 -1
- package/dist/src/share/share-zip.d.ts +35 -0
- package/dist/src/share/share-zip.js +303 -0
- package/dist/src/share/share-zip.js.map +1 -0
- package/dist/src/share/site-proxy.d.ts +35 -0
- package/dist/src/share/site-proxy.js +234 -0
- package/dist/src/share/site-proxy.js.map +1 -0
- package/dist/src/share/site-share-config.d.ts +11 -0
- package/dist/src/share/site-share-config.js +103 -0
- package/dist/src/share/site-share-config.js.map +1 -0
- package/dist/src/share/site-share-router.d.ts +23 -0
- package/dist/src/share/site-share-router.js +147 -0
- package/dist/src/share/site-share-router.js.map +1 -0
- package/dist/src/share/site-share-store.d.ts +53 -0
- package/dist/src/share/site-share-store.js +400 -0
- package/dist/src/share/site-share-store.js.map +1 -0
- package/dist/src/share/site-share-types.d.ts +103 -0
- package/dist/src/share/site-share-types.js +41 -0
- package/dist/src/share/site-share-types.js.map +1 -0
- package/dist/src/share/site-static-serve.d.ts +10 -0
- package/dist/src/share/site-static-serve.js +145 -0
- package/dist/src/share/site-static-serve.js.map +1 -0
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-commands.js +18 -0
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-keybindings-file.js +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-settings.js +1 -1
- package/dist/src/tui/tui-workflow-slash.d.ts +32 -0
- package/dist/src/tui/tui-workflow-slash.js +63 -0
- package/dist/src/tui/tui-workflow-slash.js.map +1 -0
- package/dist/src/tui/tui.js +2 -2
- package/dist/src/tunnel/enable-lan-pairing.js +1 -1
- package/dist/src/tunnel/frpc-binary.js +3 -3
- package/dist/src/tunnel/frpc-config.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/index.js +2 -2
- package/dist/src/tunnel/pair-context.d.ts +7 -1
- package/dist/src/tunnel/pair-context.js +25 -9
- package/dist/src/tunnel/pair-context.js.map +1 -1
- package/dist/src/tunnel/pair-url.d.ts +14 -1
- package/dist/src/tunnel/pair-url.js +14 -1
- package/dist/src/tunnel/pair-url.js.map +1 -1
- package/dist/src/tunnel/tunnel-service.js +2 -2
- package/dist/src/tunnel/tunnel-state.js +1 -1
- package/dist/src/utils/logger/audit.js +1 -1
- package/dist/src/utils/logger/log-store.js +1 -1
- package/dist/src/utils/logger/rotation.js +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/package.json +3 -2
- package/dist/gateway/static/root/assets/agents-CrpYTHJS.js +0 -222
- package/dist/gateway/static/root/assets/apps-page-1mcKh5Rh.js +0 -1
- package/dist/gateway/static/root/assets/button-KafIU8dx.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-zd6QNKPx.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-uRAuhiUo.js +0 -8
- package/dist/gateway/static/root/assets/cron-api-O2Q_ruV6.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-By09AQD-.js +0 -1
- package/dist/gateway/static/root/assets/dist-C57OMHW8.js +0 -48
- package/dist/gateway/static/root/assets/extension-page-C-Ed5ZmP.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-raLux7E7.js +0 -1
- package/dist/gateway/static/root/assets/fetch-2iRFmd3n.js +0 -3
- package/dist/gateway/static/root/assets/heartbeat-config-api-BVl5VHvL.js +0 -1
- package/dist/gateway/static/root/assets/index-BuFldCsB.css +0 -1
- package/dist/gateway/static/root/assets/index-Y-iqo-gL.js +0 -4693
- package/dist/gateway/static/root/assets/logs-page-BdH2n7ZW.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-Vpchzdp-.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-Kk1yAGBl.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-KBm0u6Dz.js +0 -3
- package/dist/gateway/static/root/assets/skills-page-BjeXXaOn.js +0 -2
- package/dist/gateway/static/root/assets/theme-store-D01dJt95.js +0 -1
- package/dist/gateway/static/root/assets/utils-DpTxN4AF.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-CwO8Cf01.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{c as i,d as a,l as o}from"./fetch-2iRFmd3n.js";import{D as s,P as c,a as l,i as u,n as d,o as f,s as p,t as m}from"./dist-C57OMHW8.js";import{n as h,t as g}from"./button-KafIU8dx.js";import{i as _}from"./theme-store-D01dJt95.js";import{F as v,Fr as y,In as b,Kn as x,Lt as S,Mr as C,Oi as w,Qn as T,Qr as E,Rn as D,Rt as O,Yn as k,_i as A,_n as j,bi as M,c as N,ci as P,dn as F,gn as I,hr as L,i as R,l as z,ni as B,qn as V,s as H,u as U,un as W,wn as G,zi as K}from"./index-Y-iqo-gL.js";import{a as q,c as J,d as Y,i as X,l as ee,n as te,o as ne,s as re,t as ie,u as ae}from"./cron-dreaming-jobs-DueM3rBz.js";import{a as oe,c as se,d as ce,f as le,i as ue,l as de,m as fe,n as pe,o as me,p as he,r as ge,s as _e,t as ve,u as ye}from"./cron-api-O2Q_ruV6.js";import{s as be,t as xe}from"./heartbeat-config-api-BVl5VHvL.js";import{a as Se,i as Ce,n as we,r as Te,t as Ee}from"./dist-BpQxde0t.js";var Z=e(t(),1),Q=n(),$=r();function De(e){let t=(0,Q.c)(25),{open:n,onOpenChange:r,action:i,c:a,onDismiss:o,onConfirm:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim`}),t[0]=c):c=t[0];let m=i===`delete`?a.delete:a.runNow,h;t[1]===m?h=t[2]:(h=(0,$.jsx)(p,{className:`text-base font-semibold text-fg`,children:m}),t[1]=m,t[2]=h);let _=i===`delete`?a.confirmDelete:a.confirmRun,v;t[3]===_?v=t[4]:(v=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:_}),t[3]=_,t[4]=v);let y;t[5]!==a.cancel||t[6]!==o?(y=(0,$.jsx)(g,{type:`button`,variant:`secondary`,onClick:o,children:a.cancel}),t[5]=a.cancel,t[6]=o,t[7]=y):y=t[7];let b=i===`delete`?`bg-red-600 hover:bg-red-700`:void 0,x;t[8]===s?x=t[9]:(x=()=>void s(),t[8]=s,t[9]=x);let S=i===`delete`?a.delete:a.runNow,C;t[10]!==b||t[11]!==x||t[12]!==S?(C=(0,$.jsx)(g,{type:`button`,variant:`primary`,className:b,onClick:x,children:S}),t[10]=b,t[11]=x,t[12]=S,t[13]=C):C=t[13];let w;t[14]!==C||t[15]!==y?(w=(0,$.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[y,C]}),t[14]=C,t[15]=y,t[16]=w):w=t[16];let T;t[17]!==w||t[18]!==h||t[19]!==v?(T=(0,$.jsxs)(l,{children:[c,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[70] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(d,{className:`xopc-dialog-content-pane pointer-events-auto relative w-full max-w-md rounded-xl border border-edge bg-surface-panel p-4 shadow-popover dark:border-edge`,children:[h,v,w]})})]}),t[17]=w,t[18]=h,t[19]=v,t[20]=T):T=t[20];let E;return t[21]!==r||t[22]!==n||t[23]!==T?(E=(0,$.jsx)(f,{open:n,onOpenChange:r,children:T}),t[21]=r,t[22]=n,t[23]=T,t[24]=E):E=t[24],E}var Oe=`*/5 * * * *`;function ke(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function Ae(e){let t=ke(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t}function je(e){return new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0)}function Me(e){let t=e?.trim();t&&window.dispatchEvent(new CustomEvent(`navigate-to-chat`,{detail:{sessionKey:t},bubbles:!0}))}function Ne(e){return h(`w-full rounded-md border border-edge bg-surface-base px-3 py-2 text-sm text-fg placeholder:text-fg-disabled`,x,e&&`cursor-not-allowed opacity-60`)}function Pe(){return h(k,V)}var Fe=h(k,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`),Ie=h(k,`w-auto min-w-[9rem] max-w-[14rem] shrink-0 text-xs`);function Le(e){let t=(0,Q.c)(55),{open:n,onDismiss:r,detailJob:i,detailLoading:a,detailHistory:o,c:s,chatWorkingDirNotSet:c,statusLabels:_}=e,v;t[0]===r?v=t[1]:(v=e=>{e||r()},t[0]=r,t[1]=v);let y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[2]=y):y=t[2];let b;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(b=h(`xopc-drawer-right fixed right-0 top-0 z-[60] flex size-full max-w-lg flex-col border-l border-edge bg-surface-panel shadow-popover outline-none`,`dark:border-edge`),t[3]=b):b=t[3];let x;t[4]!==i?.id||t[5]!==i?.name?(x=i?.name?.trim()||i?.id||`—`,t[4]=i?.id,t[5]=i?.name,t[6]=x):x=t[6];let C;t[7]===x?C=t[8]:(C=(0,$.jsx)(p,{className:`min-w-0 truncate text-base font-semibold text-fg`,children:x}),t[7]=x,t[8]=C);let w;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(T,{className:`size-5`,strokeWidth:1.75}),t[9]=w):w=t[9];let D;t[10]===s.close?D=t[11]:(D=(0,$.jsx)(m,{asChild:!0,children:(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":s.close,children:w})}),t[10]=s.close,t[11]=D);let O;t[12]!==C||t[13]!==D?(O=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[C,D]}),t[12]=C,t[13]=D,t[14]=O):O=t[14];let k;t[15]!==s.agentProfile||t[16]!==s.agentProfileDefault||t[17]!==s.channelLocal||t[18]!==s.colChat||t[19]!==s.colDetail||t[20]!==s.colDuration||t[21]!==s.colStarted||t[22]!==s.deliveryLocalOnly||t[23]!==s.deliveryTarget||t[24]!==s.deliveryTargetLocalChannel||t[25]!==s.detailRunHistory||t[26]!==s.disabled||t[27]!==s.enabled||t[28]!==s.messageLabel||t[29]!==s.mode||t[30]!==s.modeAgentOption||t[31]!==s.modeDirectOption||t[32]!==s.nextRun||t[33]!==s.noRunsYet||t[34]!==s.openChat||t[35]!==s.openChatTitle||t[36]!==s.scheduleLabel||t[37]!==s.status||t[38]!==s.timeLabels||t[39]!==s.workingDirectoryLabel||t[40]!==c||t[41]!==o||t[42]!==i||t[43]!==a||t[44]!==_?(k=a?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(E,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`dl`,{className:`space-y-3 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.scheduleLabel}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-fg`,children:(0,$.jsx)(`code`,{children:i.schedule})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.messageLabel}),(0,$.jsx)(`dd`,{className:`mt-1 min-w-0 break-words text-fg`,children:(0,$.jsx)(S,{content:pe(i),compact:!0,className:`text-sm`})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.mode}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.sessionTarget===`isolated`?s.modeAgentOption:s.modeDirectOption})]}),i.sessionTarget===`isolated`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.agentProfile}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:i.agentId?.trim()?i.agentId.trim():s.agentProfileDefault})]}):null,i.sessionTarget===`isolated`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.workingDirectoryLabel}),(0,$.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-fg`,children:i.workingDirectory?.trim()?i.workingDirectory.trim():c})]}):null,i.delivery?.channel===`local`||i.sessionTarget===`isolated`&&!i.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.delivery?.channel===`local`?s.deliveryTargetLocalChannel:s.deliveryLocalOnly})]}):i.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsxs)(`dd`,{className:`mt-1 break-words text-fg`,children:[(0,$.jsx)(`code`,{className:`text-xs`,children:i.delivery?.channel??``}),` → `,q(i,s.channelLocal)]})]}):null,(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.status}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.enabled?s.enabled:s.disabled})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.nextRun}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.next_run?re(i.next_run,s.timeLabels):`—`})]})]}),(0,$.jsx)(`h3`,{className:`mt-6 text-sm font-semibold text-fg`,children:s.detailRunHistory}),o.length===0?(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:s.noRunsYet}):(0,$.jsx)(`div`,{className:`mt-2 overflow-x-auto`,children:(0,$.jsxs)(`table`,{className:`w-full border-collapse text-left text-xs`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-edge text-fg-muted`,children:[(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:s.colStarted}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:s.status}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:s.colDuration}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:s.colDetail}),(0,$.jsx)(`th`,{className:`py-1.5 font-medium`,children:s.colChat})]})}),(0,$.jsx)(`tbody`,{children:o.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-edge/60`,children:[(0,$.jsx)(`td`,{className:`whitespace-nowrap py-1.5 pr-2 text-fg`,children:(0,$.jsx)(`time`,{dateTime:e.startedAt,children:ae(e.startedAt)})}),(0,$.jsx)(`td`,{className:`py-1.5 pr-2`,children:(0,$.jsx)(`span`,{className:h(`inline-flex rounded px-1.5 py-0.5 font-medium`,e.status===`success`&&`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`,e.status===`failed`&&`bg-red-500/15 text-red-800 dark:text-red-300`),children:X(e.status,_)})}),(0,$.jsx)(`td`,{className:`py-1.5 pr-2 text-fg-muted`,children:ne(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-[8rem] truncate py-1.5 pr-2 text-fg-muted`,title:e.summary||e.error||``,children:Y(e.summary||e.error,120)}),(0,$.jsx)(`td`,{className:`whitespace-nowrap py-1.5`,children:e.sessionKey?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:s.openChatTitle,"aria-label":s.openChatTitle,onClick:()=>Me(e.sessionKey),children:s.openChat}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})})]},e.id))})]})})]}):null,t[15]=s.agentProfile,t[16]=s.agentProfileDefault,t[17]=s.channelLocal,t[18]=s.colChat,t[19]=s.colDetail,t[20]=s.colDuration,t[21]=s.colStarted,t[22]=s.deliveryLocalOnly,t[23]=s.deliveryTarget,t[24]=s.deliveryTargetLocalChannel,t[25]=s.detailRunHistory,t[26]=s.disabled,t[27]=s.enabled,t[28]=s.messageLabel,t[29]=s.mode,t[30]=s.modeAgentOption,t[31]=s.modeDirectOption,t[32]=s.nextRun,t[33]=s.noRunsYet,t[34]=s.openChat,t[35]=s.openChatTitle,t[36]=s.scheduleLabel,t[37]=s.status,t[38]=s.timeLabels,t[39]=s.workingDirectoryLabel,t[40]=c,t[41]=o,t[42]=i,t[43]=a,t[44]=_,t[45]=k):k=t[45];let A;t[46]===k?A=t[47]:(A=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:k}),t[46]=k,t[47]=A);let j;t[48]!==A||t[49]!==O?(j=(0,$.jsxs)(l,{children:[y,(0,$.jsxs)(d,{className:b,"aria-describedby":void 0,children:[O,A]})]}),t[48]=A,t[49]=O,t[50]=j):j=t[50];let M;return t[51]!==n||t[52]!==v||t[53]!==j?(M=(0,$.jsx)(f,{open:n,onOpenChange:v,children:j}),t[51]=n,t[52]=v,t[53]=j,t[54]=M):M=t[54],M}function Re(e){let t=(0,Q.c)(31),{value:n,onChange:r,disabled:i,wd:a,placeholder:o,title:s,maxWidthClass:c,clearLabel:l,onClear:u}=e,d;t[0]!==r||t[1]!==n?(d={initialPath:n,onPicked:r},t[0]=r,t[1]=n,t[2]=d):d=t[2];let f=N(d),p;t[3]===n?p=t[4]:(p=n.trim(),t[3]=n,t[4]=p);let m=p,h=s??(m?`${m}\n${a.chooseFolder}`:`${o??a.notSet}\n${a.selectWorkingDirectory}`),g=i||f.picking,_=o??a.notSet,v;t[5]!==c||t[6]!==f.pick||t[7]!==h||t[8]!==g||t[9]!==_||t[10]!==n?(v=(0,$.jsx)(z,{value:n,onPick:f.pick,disabled:g,placeholder:_,title:h,maxWidthClass:c}),t[5]=c,t[6]=f.pick,t[7]=h,t[8]=g,t[9]=_,t[10]=n,t[11]=v):v=t[11];let y;t[12]!==l||t[13]!==i||t[14]!==u||t[15]!==f.picking||t[16]!==m?(y=l&&m&&u?(0,$.jsx)(`button`,{type:`button`,disabled:i||f.picking,className:`text-xs font-medium text-accent hover:underline disabled:opacity-50`,onClick:u,children:l}):null,t[12]=l,t[13]=i,t[14]=u,t[15]=f.picking,t[16]=m,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==f.confirmPick||t[22]!==f.hasNativePicker||t[23]!==f.modalOpen||t[24]!==f.setModalOpen||t[25]!==m||t[26]!==a?(x=f.hasNativePicker?null:(0,$.jsx)(R,{open:f.modalOpen,onOpenChange:f.setModalOpen,initialAbsolutePath:m||void 0,onConfirm:f.confirmPick,wd:a}),t[21]=f.confirmPick,t[22]=f.hasNativePicker,t[23]=f.modalOpen,t[24]=f.setModalOpen,t[25]=m,t[26]=a,t[27]=x):x=t[27];let S;return t[28]!==b||t[29]!==x?(S=(0,$.jsxs)($.Fragment,{children:[b,x]}),t[28]=b,t[29]=x,t[30]=S):S=t[30],S}function ze(e){let t=(0,Q.c)(164),{open:n,onRequestClose:r,c:i,chatM:a,agentsMessages:o,isDark:s,channels:c,sessionChatIds:_,cronAgentSelectOptions:y,defaultModelResolver:b,formMode:x,formJobId:w,formName:E,onFormNameChange:D,formSchedule:k,onFormScheduleChange:j,formSubmitting:M,formSessionTarget:N,onFormSessionTargetChange:P,formAgentLocalOnly:F,onFormAgentLocalOnlyChange:I,formModel:R,onFormModelUserChange:z,formAgentId:B,onFormAgentIdChange:V,formWorkingDirectory:H,onFormWorkingDirectoryChange:W,formChannel:G,onFormChannelChange:K,formChatId:q,onFormChatIdChange:Y,formMessage:X,onFormMessageChange:ee,formMessageMdMode:te,onSetMessageMdMode:ne,messageEditorNonce:re,needsDeliveryChat:ie,showChannelPicker:ae,canSubmit:oe,onSubmit:se,onRefreshRecipients:ce}=e,le;t[0]===r?le=t[1]:(le=e=>!e&&r(),t[0]=r,t[1]=le);let ue;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[2]=ue):ue=t[2];let de=x===`edit`?i.editJob:i.addJob,fe;t[3]===de?fe=t[4]:(fe=(0,$.jsx)(p,{className:`text-base font-semibold text-fg`,children:de}),t[3]=de,t[4]=fe);let pe;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(T,{className:`size-5`,strokeWidth:1.75}),t[5]=pe):pe=t[5];let me;t[6]===i.close?me=t[7]:(me=(0,$.jsx)(m,{asChild:!0,children:(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":i.close,children:pe})}),t[6]=i.close,t[7]=me);let he;t[8]!==fe||t[9]!==me?(he=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[fe,me]}),t[8]=fe,t[9]=me,t[10]=he):he=t[10];let ge;t[11]===i.name?ge=t[12]:(ge=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.name}),t[11]=i.name,t[12]=ge);let _e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_e=Ne(),t[13]=_e):_e=t[13];let ve;t[14]===D?ve=t[15]:(ve=e=>D(e.target.value),t[14]=D,t[15]=ve);let ye;t[16]!==i.namePlaceholder||t[17]!==E||t[18]!==ve?(ye=(0,$.jsx)(`input`,{type:`text`,className:_e,value:E,onChange:ve,placeholder:i.namePlaceholder}),t[16]=i.namePlaceholder,t[17]=E,t[18]=ve,t[19]=ye):ye=t[19];let xe;t[20]!==ye||t[21]!==ge?(xe=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[ge,ye]}),t[20]=ye,t[21]=ge,t[22]=xe):xe=t[22];let Se;t[23]!==i.schedulePicker||t[24]!==k||t[25]!==M||t[26]!==j?(Se=(0,$.jsx)(be,{value:k,onChange:j,disabled:M,labels:i.schedulePicker}),t[23]=i.schedulePicker,t[24]=k,t[25]=M,t[26]=j,t[27]=Se):Se=t[27];let Ce;t[28]===i.mode?Ce=t[29]:(Ce=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.mode}),t[28]=i.mode,t[29]=Ce);let we;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(we=Pe(),t[30]=we):we=t[30];let Te;t[31]!==b||t[32]!==R||t[33]!==P?(Te=e=>{let t=e.target.value;P(t,b,R.trim())},t[31]=b,t[32]=R,t[33]=P,t[34]=Te):Te=t[34];let Ee;t[35]===i.modeDirectOption?Ee=t[36]:(Ee=(0,$.jsx)(`option`,{value:`main`,children:i.modeDirectOption}),t[35]=i.modeDirectOption,t[36]=Ee);let Z;t[37]===i.modeAgentOption?Z=t[38]:(Z=(0,$.jsx)(`option`,{value:`isolated`,children:i.modeAgentOption}),t[37]=i.modeAgentOption,t[38]=Z);let De;t[39]!==N||t[40]!==Te||t[41]!==Ee||t[42]!==Z?(De=(0,$.jsxs)(`select`,{className:we,value:N,onChange:Te,children:[Ee,Z]}),t[39]=N,t[40]=Te,t[41]=Ee,t[42]=Z,t[43]=De):De=t[43];let Oe=N===`main`?i.modeDirect:i.modeAgent,ke;t[44]===Oe?ke=t[45]:(ke=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:Oe}),t[44]=Oe,t[45]=ke);let Ae;t[46]!==Ce||t[47]!==De||t[48]!==ke?(Ae=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[Ce,De,ke]}),t[46]=Ce,t[47]=De,t[48]=ke,t[49]=Ae):Ae=t[49];let je;t[50]!==o||t[51]!==i.agentLocalOnly||t[52]!==i.agentLocalOnlyHint||t[53]!==i.agentProfile||t[54]!==i.agentProfileDefault||t[55]!==i.agentProfileHint||t[56]!==i.model||t[57]!==i.workingDirectoryHint||t[58]!==i.workingDirectoryLabel||t[59]!==i.workingDirectoryReset||t[60]!==a||t[61]!==y||t[62]!==B||t[63]!==F||t[64]!==R||t[65]!==N||t[66]!==M||t[67]!==H||t[68]!==V||t[69]!==I||t[70]!==z||t[71]!==W?(je=N===`isolated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.model}),(0,$.jsx)(U,{value:R,placeholder:a.modelPlaceholder,searchPlaceholder:a.modelSearchPlaceholder,noMatches:a.modelNoMatches,className:`w-full max-w-none min-w-0`,popoverContentClassName:`z-[70]`,onChange:z})]}),(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.agentProfile}),(0,$.jsxs)(`select`,{className:Pe(),value:B,disabled:M,onChange:e=>V(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:i.agentProfileDefault}),y.map(e=>(0,$.jsx)(`option`,{value:e.id,children:`${e.id} — ${v(e,o)}`},e.id))]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.agentProfileHint})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.workingDirectoryLabel}),(0,$.jsx)(Re,{value:H,onChange:W,disabled:M,wd:a.workingDirectory,placeholder:a.workingDirectory.notSet,maxWidthClass:`max-w-[min(16rem,48vw)]`,clearLabel:i.workingDirectoryReset,onClear:()=>W(``)}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.workingDirectoryHint})]}),(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md bg-surface-hover/45 px-3 py-2 dark:bg-surface-hover/30`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:h(`ui-checkbox`,`mt-0.5`),checked:F,onChange:e=>I(e.target.checked),"aria-label":i.agentLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:i.agentLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:i.agentLocalOnlyHint})]})]})]}):null,t[50]=o,t[51]=i.agentLocalOnly,t[52]=i.agentLocalOnlyHint,t[53]=i.agentProfile,t[54]=i.agentProfileDefault,t[55]=i.agentProfileHint,t[56]=i.model,t[57]=i.workingDirectoryHint,t[58]=i.workingDirectoryLabel,t[59]=i.workingDirectoryReset,t[60]=a,t[61]=y,t[62]=B,t[63]=F,t[64]=R,t[65]=N,t[66]=M,t[67]=H,t[68]=V,t[69]=I,t[70]=z,t[71]=W,t[72]=je):je=t[72];let Me;t[73]!==i.channel||t[74]!==i.channelLocal||t[75]!==i.enterManuallyOrSelect||t[76]!==i.lastActiveLabels||t[77]!==i.noRecentChats||t[78]!==i.noRecentChatsOption||t[79]!==i.recipient||t[80]!==i.recipientPlaceholder||t[81]!==i.refreshList||t[82]!==i.refreshRecipientHint||t[83]!==i.selectRecipient||t[84]!==c||t[85]!==G||t[86]!==q||t[87]!==ie||t[88]!==K||t[89]!==Y||t[90]!==ce||t[91]!==_||t[92]!==ae?(Me=ae?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.channel}),(0,$.jsxs)(`select`,{className:Pe(),value:G,onChange:e=>{let t=e.target.value;K(t)},children:[(0,$.jsx)(`option`,{value:`local`,children:i.channelLocal}),c.map(Be)]})]}),ie?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.recipient}),(0,$.jsxs)(g,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:i.refreshRecipientHint,onClick:()=>void ce(),children:[(0,$.jsx)(C,{className:`size-3.5`,strokeWidth:1.75}),i.refreshList]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-stretch sm:gap-2`,children:[(0,$.jsx)(`input`,{type:`text`,className:h(Ne(),`min-w-0 w-full sm:flex-1`),value:q,onChange:e=>Y(e.target.value),placeholder:i.recipientPlaceholder}),(0,$.jsxs)(`select`,{className:Fe,value:q,onChange:e=>{let t=e.target.value;t&&Y(t)},children:[(0,$.jsx)(`option`,{value:``,children:i.selectRecipient}),_.length>0?_.map(e=>(0,$.jsx)(`option`,{value:e.chatId,children:J(e,i.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,$.jsx)(`option`,{value:``,disabled:!0,children:i.noRecentChatsOption})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:_.length>0?i.enterManuallyOrSelect:i.noRecentChats})]}):null]}):null,t[73]=i.channel,t[74]=i.channelLocal,t[75]=i.enterManuallyOrSelect,t[76]=i.lastActiveLabels,t[77]=i.noRecentChats,t[78]=i.noRecentChatsOption,t[79]=i.recipient,t[80]=i.recipientPlaceholder,t[81]=i.refreshList,t[82]=i.refreshRecipientHint,t[83]=i.selectRecipient,t[84]=c,t[85]=G,t[86]=q,t[87]=ie,t[88]=K,t[89]=Y,t[90]=ce,t[91]=_,t[92]=ae,t[93]=Me):Me=t[93];let Ie;t[94]===i.message?Ie=t[95]:(Ie=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.message}),t[94]=i.message,t[95]=Ie);let Le=te===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,ze;t[96]===Le?ze=t[97]:(ze=h(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,Le),t[96]=Le,t[97]=ze);let He;t[98]===ne?He=t[99]:(He=()=>ne(`edit`),t[98]=ne,t[99]=He);let Ue;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(L,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[100]=Ue):Ue=t[100];let We;t[101]!==i.messageEdit||t[102]!==ze||t[103]!==He?(We=(0,$.jsxs)(`button`,{type:`button`,className:ze,onClick:He,children:[Ue,i.messageEdit]}),t[101]=i.messageEdit,t[102]=ze,t[103]=He,t[104]=We):We=t[104];let Ge=te===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,Ke;t[105]===Ge?Ke=t[106]:(Ke=h(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,Ge),t[105]=Ge,t[106]=Ke);let qe;t[107]===ne?qe=t[108]:(qe=()=>ne(`preview`),t[107]=ne,t[108]=qe);let Je;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(A,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[109]=Je):Je=t[109];let Ye;t[110]!==i.messagePreview||t[111]!==Ke||t[112]!==qe?(Ye=(0,$.jsxs)(`button`,{type:`button`,className:Ke,onClick:qe,children:[Je,i.messagePreview]}),t[110]=i.messagePreview,t[111]=Ke,t[112]=qe,t[113]=Ye):Ye=t[113];let Xe;t[114]!==We||t[115]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-base p-0.5 dark:border-edge`,children:[We,Ye]}),t[114]=We,t[115]=Ye,t[116]=Xe):Xe=t[116];let Ze;t[117]!==Ie||t[118]!==Xe?(Ze=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[Ie,Xe]}),t[117]=Ie,t[118]=Xe,t[119]=Ze):Ze=t[119];let Qe=M&&`pointer-events-none opacity-60`,$e;t[120]===Qe?$e=t[121]:($e=h(`overflow-hidden rounded-md border border-edge bg-surface-base dark:border-edge`,Qe),t[120]=Qe,t[121]=$e);let et;t[122]!==i.messagePlaceholder||t[123]!==w||t[124]!==X||t[125]!==te||t[126]!==s||t[127]!==re||t[128]!==ee?(et=te===`edit`?(0,$.jsx)(O,{initialContent:X,onChange:ee,isDark:s,className:`h-[min(18rem,40vh)] min-h-[12rem]`},`cron-msg-${w??`new`}-${re}`):(0,$.jsx)(`div`,{className:`h-[min(18rem,40vh)] min-h-[12rem] max-h-[min(24rem,50vh)] overflow-y-auto px-3 py-2`,children:X.trim()?(0,$.jsx)(S,{content:X,compact:!0,className:`text-sm`}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:i.messagePlaceholder})}),t[122]=i.messagePlaceholder,t[123]=w,t[124]=X,t[125]=te,t[126]=s,t[127]=re,t[128]=ee,t[129]=et):et=t[129];let tt;t[130]!==$e||t[131]!==et?(tt=(0,$.jsx)(`div`,{className:$e,children:et}),t[130]=$e,t[131]=et,t[132]=tt):tt=t[132];let nt;t[133]===i.messageMarkdownHint?nt=t[134]:(nt=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.messageMarkdownHint}),t[133]=i.messageMarkdownHint,t[134]=nt);let rt;t[135]!==Ze||t[136]!==tt||t[137]!==nt?(rt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[Ze,tt,nt]}),t[135]=Ze,t[136]=tt,t[137]=nt,t[138]=rt):rt=t[138];let it;t[139]!==xe||t[140]!==Se||t[141]!==Ae||t[142]!==je||t[143]!==Me||t[144]!==rt?(it=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[xe,Se,Ae,je,Me,rt]})}),t[139]=xe,t[140]=Se,t[141]=Ae,t[142]=je,t[143]=Me,t[144]=rt,t[145]=it):it=t[145];let at;t[146]!==i.cancel||t[147]!==r?(at=(0,$.jsx)(g,{type:`button`,variant:`secondary`,onClick:r,children:i.cancel}),t[146]=i.cancel,t[147]=r,t[148]=at):at=t[148];let ot=M||!oe,st=M?i.loading:x===`edit`?i.save:i.create,ct;t[149]!==se||t[150]!==ot||t[151]!==st?(ct=(0,$.jsx)(g,{type:`button`,variant:`primary`,disabled:ot,onClick:se,children:st}),t[149]=se,t[150]=ot,t[151]=st,t[152]=ct):ct=t[152];let lt;t[153]!==at||t[154]!==ct?(lt=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[at,ct]}),t[153]=at,t[154]=ct,t[155]=lt):lt=t[155];let ut;t[156]!==it||t[157]!==lt||t[158]!==he?(ut=(0,$.jsxs)(l,{children:[ue,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(d,{className:`xopc-dialog-content-pane pointer-events-auto relative flex max-h-[min(90vh,800px)] w-full max-w-md flex-col rounded-xl border border-edge bg-surface-panel shadow-popover outline-none sm:max-w-lg lg:max-w-xl dark:border-edge`,onOpenAutoFocus:Ve,children:[he,it,lt]})})]}),t[156]=it,t[157]=lt,t[158]=he,t[159]=ut):ut=t[159];let dt;return t[160]!==n||t[161]!==le||t[162]!==ut?(dt=(0,$.jsx)($.Fragment,{children:(0,$.jsx)(f,{open:n,onOpenChange:le,children:ut})}),t[160]=n,t[161]=le,t[162]=ut,t[163]=dt):dt=t[163],dt}function Be(e){return(0,$.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function Ve(e){return e.preventDefault()}function He(e){let t=(0,Q.c)(66),{c:n,mainTab:r,onMainTabChange:i,jobSort:a,onJobSortChange:o,historyRange:s,onHistoryRangeChange:c,historyJobFilter:l,onHistoryJobFilterChange:u,historyStatusFilter:d,onHistoryStatusFilterChange:f,jobs:p}=e,m=n.title,g=r===`myTasks`,_=r===`myTasks`?`text-fg`:`text-fg-muted hover:text-fg`,v;t[0]===_?v=t[1]:(v=h(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,_),t[0]=_,t[1]=v);let y;t[2]===i?y=t[3]:(y=()=>i(`myTasks`),t[2]=i,t[3]=y);let b;t[4]!==n.tabMyTasks||t[5]!==g||t[6]!==v||t[7]!==y?(b=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":g,className:v,onClick:y,children:n.tabMyTasks}),t[4]=n.tabMyTasks,t[5]=g,t[6]=v,t[7]=y,t[8]=b):b=t[8];let x=r===`systemTasks`,S=r===`systemTasks`?`text-fg`:`text-fg-muted hover:text-fg`,C;t[9]===S?C=t[10]:(C=h(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,S),t[9]=S,t[10]=C);let w;t[11]===i?w=t[12]:(w=()=>i(`systemTasks`),t[11]=i,t[12]=w);let T;t[13]!==n.tabSystemTasks||t[14]!==w||t[15]!==x||t[16]!==C?(T=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":x,className:C,onClick:w,children:n.tabSystemTasks}),t[13]=n.tabSystemTasks,t[14]=w,t[15]=x,t[16]=C,t[17]=T):T=t[17];let E=r===`history`,D=r===`history`?`text-fg`:`text-fg-muted hover:text-fg`,O;t[18]===D?O=t[19]:(O=h(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,D),t[18]=D,t[19]=O);let k;t[20]===i?k=t[21]:(k=()=>i(`history`),t[20]=i,t[21]=k);let A;t[22]!==n.tabRunHistory||t[23]!==E||t[24]!==O||t[25]!==k?(A=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":E,className:O,onClick:k,children:n.tabRunHistory}),t[22]=n.tabRunHistory,t[23]=E,t[24]=O,t[25]=k,t[26]=A):A=t[26];let M;t[27]!==n.title||t[28]!==T||t[29]!==A||t[30]!==b?(M=(0,$.jsxs)(`div`,{className:`flex gap-1`,role:`tablist`,"aria-label":m,children:[b,T,A]}),t[27]=n.title,t[28]=T,t[29]=A,t[30]=b,t[31]=M):M=t[31];let N=r===`history`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,P;t[32]===N?P=t[33]:(P=h(`flex min-w-0 items-center gap-2`,N),t[32]=N,t[33]=P);let F;t[34]!==n.sortCreatedAsc||t[35]!==n.sortCreatedDesc||t[36]!==a||t[37]!==r||t[38]!==o?(F=r===`myTasks`||r===`systemTasks`?(0,$.jsxs)(`select`,{className:Ie,value:a,onChange:e=>o(e.target.value),"aria-label":n.sortCreatedDesc,children:[(0,$.jsx)(`option`,{value:`created_desc`,children:n.sortCreatedDesc}),(0,$.jsx)(`option`,{value:`created_asc`,children:n.sortCreatedAsc})]}):null,t[34]=n.sortCreatedAsc,t[35]=n.sortCreatedDesc,t[36]=a,t[37]=r,t[38]=o,t[39]=F):F=t[39];let L;t[40]!==n.execStatusCancelled||t[41]!==n.execStatusFailed||t[42]!==n.execStatusRunning||t[43]!==n.execStatusSuccess||t[44]!==n.filterAllStatuses||t[45]!==n.filterAllTasks||t[46]!==n.historyRangeDay||t[47]!==n.historyRangeMonth||t[48]!==n.historyRangeWeek||t[49]!==n.runHistoryTitle||t[50]!==l||t[51]!==s||t[52]!==d||t[53]!==p||t[54]!==r||t[55]!==u||t[56]!==c||t[57]!==f?(L=r===`history`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:h(j,`shrink-0`),role:`group`,"aria-label":n.runHistoryTitle,children:[`day`,`week`,`month`].map(e=>(0,$.jsx)(`button`,{type:`button`,className:h(I,`px-2.5 py-1`,s===e&&`bg-surface-panel shadow-sm dark:bg-surface-panel dark:shadow-sm dark:ring-1 dark:ring-edge-strong/40`,s===e&&`text-fg`),onClick:()=>c(e),children:e===`day`?n.historyRangeDay:e===`week`?n.historyRangeWeek:n.historyRangeMonth},e))}),(0,$.jsxs)(`select`,{className:Ie,value:l,onChange:e=>u(e.target.value),"aria-label":n.filterAllTasks,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllTasks}),p.map(Ue)]}),(0,$.jsxs)(`select`,{className:Ie,value:d,onChange:e=>f(e.target.value),"aria-label":n.filterAllStatuses,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllStatuses}),(0,$.jsx)(`option`,{value:`success`,children:n.execStatusSuccess}),(0,$.jsx)(`option`,{value:`failed`,children:n.execStatusFailed}),(0,$.jsx)(`option`,{value:`cancelled`,children:n.execStatusCancelled}),(0,$.jsx)(`option`,{value:`running`,children:n.execStatusRunning})]})]}):null,t[40]=n.execStatusCancelled,t[41]=n.execStatusFailed,t[42]=n.execStatusRunning,t[43]=n.execStatusSuccess,t[44]=n.filterAllStatuses,t[45]=n.filterAllTasks,t[46]=n.historyRangeDay,t[47]=n.historyRangeMonth,t[48]=n.historyRangeWeek,t[49]=n.runHistoryTitle,t[50]=l,t[51]=s,t[52]=d,t[53]=p,t[54]=r,t[55]=u,t[56]=c,t[57]=f,t[58]=L):L=t[58];let R;t[59]!==P||t[60]!==F||t[61]!==L?(R=(0,$.jsxs)(`div`,{className:P,children:[F,L]}),t[59]=P,t[60]=F,t[61]=L,t[62]=R):R=t[62];let z;return t[63]!==M||t[64]!==R?(z=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[M,R]}),t[63]=M,t[64]=R,t[65]=z):z=t[65],z}function Ue(e){return(0,$.jsx)(`option`,{value:e.id,children:e.name||e.id},e.id)}function We(e){let t=(0,Q.c)(23),{c:n,loading:r,runHistoryLoading:i,onRefresh:a,onOpenTemplatePicker:o,onAddJob:s}=e,c=r||i,l=n.refresh,u=n.refresh,d;t[0]===a?d=t[1]:(d=()=>void a(),t[0]=a,t[1]=d);let f=c&&`animate-spin`,p;t[2]===f?p=t[3]:(p=h(`size-4`,f),t[2]=f,t[3]=p);let m;t[4]===p?m=t[5]:(m=(0,$.jsx)(C,{className:p,strokeWidth:1.75}),t[4]=p,t[5]=m);let _;t[6]!==c||t[7]!==n.refresh||t[8]!==d||t[9]!==m?(_=(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:c,title:l,"aria-label":u,onClick:d,children:m}),t[6]=c,t[7]=n.refresh,t[8]=d,t[9]=m,t[10]=_):_=t[10];let v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(B,{className:`size-4`,strokeWidth:1.75}),t[11]=v):v=t[11];let b;t[12]!==n.fromTemplate||t[13]!==o?(b=(0,$.jsxs)(g,{type:`button`,variant:`secondary`,className:`gap-2`,onClick:o,children:[v,n.fromTemplate]}),t[12]=n.fromTemplate,t[13]=o,t[14]=b):b=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(y,{className:`size-4`,strokeWidth:1.75}),t[15]=x):x=t[15];let S;t[16]!==n.addJob||t[17]!==s?(S=(0,$.jsxs)(g,{type:`button`,variant:`primary`,className:`gap-2`,onClick:s,children:[x,n.addJob]}),t[16]=n.addJob,t[17]=s,t[18]=S):S=t[18];let w;return t[19]!==S||t[20]!==_||t[21]!==b?(w=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[_,b,S]}),t[19]=S,t[20]=_,t[21]=b,t[22]=w):w=t[22],w}function Ge(e){let t=(0,Q.c)(43),{c:n,runHistoryLoading:r,runHistory:i,filteredRunHistory:a,jobs:o,onRefreshHistory:s,onOpenJobDetail:c,statusLabels:l}=e,u;t[0]===n.tabRunHistory?u=t[1]:(u=(0,$.jsx)(`h2`,{id:`cron-history-panel`,className:`sr-only`,children:n.tabRunHistory}),t[0]=n.tabRunHistory,t[1]=u);let d;t[2]===n.runHistoryHint?d=t[3]:(d=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.runHistoryHint}),t[2]=n.runHistoryHint,t[3]=d);let f;t[4]!==u||t[5]!==d?(f=(0,$.jsxs)(`div`,{children:[u,d]}),t[4]=u,t[5]=d,t[6]=f):f=t[6];let p=n.refresh,m=n.refresh,_;t[7]===s?_=t[8]:(_=()=>void s(),t[7]=s,t[8]=_);let v=r&&`animate-spin`,y;t[9]===v?y=t[10]:(y=h(`size-4`,v),t[9]=v,t[10]=y);let b;t[11]===y?b=t[12]:(b=(0,$.jsx)(C,{className:y,strokeWidth:1.75}),t[11]=y,t[12]=b);let x;t[13]!==n.refresh||t[14]!==r||t[15]!==_||t[16]!==b?(x=(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:r,title:p,"aria-label":m,onClick:_,children:b}),t[13]=n.refresh,t[14]=r,t[15]=_,t[16]=b,t[17]=x):x=t[17];let S;t[18]!==x||t[19]!==f?(S=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[f,x]}),t[18]=x,t[19]=f,t[20]=S):S=t[20];let T;t[21]!==n.colChat||t[22]!==n.colDetail||t[23]!==n.colDuration||t[24]!==n.colJob||t[25]!==n.colStarted||t[26]!==n.emptyHistoryHint||t[27]!==n.emptyHistoryTitle||t[28]!==n.noRunsYet||t[29]!==n.openChat||t[30]!==n.openChatTitle||t[31]!==n.runHistoryHint||t[32]!==n.status||t[33]!==a||t[34]!==o||t[35]!==c||t[36]!==i||t[37]!==r||t[38]!==l?(T=r&&i.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(E,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):a.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center rounded-2xl border border-dashed border-edge-subtle px-6 py-16 text-center dark:border-edge-subtle`,children:[(0,$.jsx)(w,{className:`mb-4 size-14 text-fg-disabled`,strokeWidth:1.1,"aria-hidden":!0}),(0,$.jsx)(`h3`,{className:`text-base font-semibold text-fg`,children:i.length===0?n.emptyHistoryTitle:n.noRunsYet}),(0,$.jsx)(`p`,{className:`mt-2 max-w-sm text-sm text-fg-muted`,children:i.length===0?n.emptyHistoryHint:n.runHistoryHint})]}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-xl border border-edge-subtle bg-surface-base dark:border-edge-subtle`,children:(0,$.jsxs)(`table`,{className:`w-full min-w-[700px] border-collapse text-left text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-edge text-xs font-medium text-fg-muted`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colStarted}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colJob}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.status}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDuration}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDetail}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colChat})]})}),(0,$.jsx)(`tbody`,{children:a.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-edge/60 last:border-0`,children:[(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg`,children:(0,$.jsx)(`time`,{dateTime:e.startedAt,children:ae(e.startedAt)})}),(0,$.jsx)(`td`,{className:`max-w-[10rem] truncate px-3 py-2.5`,children:o.some(t=>t.id===e.jobId)?(0,$.jsx)(`button`,{type:`button`,className:`text-left text-accent hover:underline`,onClick:()=>{let t=o.find(t=>t.id===e.jobId);t&&c(t)},children:e.jobName||e.jobId}):(0,$.jsx)(`span`,{className:`text-fg-muted`,children:e.jobName||e.jobId})}),(0,$.jsx)(`td`,{className:`px-3 py-2.5`,children:(0,$.jsx)(`span`,{className:h(`inline-flex rounded-md px-2 py-0.5 text-xs font-medium`,e.status===`success`&&`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`,e.status===`failed`&&`bg-red-500/15 text-red-800 dark:text-red-300`,e.status===`running`&&`bg-accent/15 text-accent`,e.status===`cancelled`&&`bg-surface-hover text-fg-muted`),children:X(e.status,l)})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg-muted`,children:ne(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2.5 text-fg-muted`,title:e.summary||e.error||``,children:Y(e.summary||e.error,96)}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5`,children:e.sessionKey?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:n.openChatTitle,"aria-label":n.openChatTitle,onClick:()=>Me(e.sessionKey),children:n.openChat}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})})]},e.id))})]})}),t[21]=n.colChat,t[22]=n.colDetail,t[23]=n.colDuration,t[24]=n.colJob,t[25]=n.colStarted,t[26]=n.emptyHistoryHint,t[27]=n.emptyHistoryTitle,t[28]=n.noRunsYet,t[29]=n.openChat,t[30]=n.openChatTitle,t[31]=n.runHistoryHint,t[32]=n.status,t[33]=a,t[34]=o,t[35]=c,t[36]=i,t[37]=r,t[38]=l,t[39]=T):T=t[39];let D;return t[40]!==S||t[41]!==T?(D=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-history-panel`,className:`flex flex-col gap-3`,children:[S,T]}),t[40]=S,t[41]=T,t[42]=D):D=t[42],D}function Ke(e){let t=(0,Q.c)(77),{job:n,c:r,localeTag:i,scheduleBadgeLabels:a,absorbCardClickJobIdRef:o,scheduleAbsorbNextMenuCardClick:s,onOpenDetail:c,onToggle:l,onEdit:u,onRunNow:d,onDelete:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=h(`flex cursor-pointer flex-col rounded-xl border border-edge-subtle bg-surface-base text-left transition-colors duration-150 ease-out dark:border-edge-subtle`,`hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),t[0]=p):p=t[0];let m,_;t[1]!==o||t[2]!==n||t[3]!==c?(m=()=>{if(o.current===n.id){o.current=null;return}c(n)},_=e=>{if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),o.current===n.id){o.current=null;return}c(n)}},t[1]=o,t[2]=n,t[3]=c,t[4]=m,t[5]=_):(m=t[4],_=t[5]);let v=n.enabled,y=n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`,b;t[6]===y?b=t[7]:(b=h(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,y),t[6]=y,t[7]=b);let x;t[8]!==n||t[9]!==l?(x=e=>{e.stopPropagation(),l(n,!n.enabled)},t[8]=n,t[9]=l,t[10]=x):x=t[10];let C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[11]=C):C=t[11];let T;t[12]!==n.enabled||t[13]!==b||t[14]!==x?(T=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":v,className:b,onClick:x,children:C}),t[12]=n.enabled,t[13]=b,t[14]=x,t[15]=T):T=t[15];let E;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(M,{className:`size-4`,strokeWidth:1.75}),t[16]=E):E=t[16];let D;t[17]===r.jobCardMenuAria?D=t[18]:(D=(0,$.jsx)(Se,{asChild:!0,children:(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":r.jobCardMenuAria,onClick:Je,children:E})}),t[17]=r.jobCardMenuAria,t[18]=D);let O;t[19]!==n||t[20]!==u||t[21]!==s?(O=()=>{s(n.id),u(n)},t[19]=n,t[20]=u,t[21]=s,t[22]=O):O=t[22];let k;t[23]!==r.edit||t[24]!==O?(k=(0,$.jsx)(we,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:O,children:r.edit}),t[23]=r.edit,t[24]=O,t[25]=k):k=t[25];let A;t[26]!==n||t[27]!==d||t[28]!==s?(A=()=>{s(n.id),d(n)},t[26]=n,t[27]=d,t[28]=s,t[29]=A):A=t[29];let j;t[30]!==r.runNow||t[31]!==A?(j=(0,$.jsx)(we,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:A,children:r.runNow}),t[30]=r.runNow,t[31]=A,t[32]=j):j=t[32];let N;t[33]!==n||t[34]!==f||t[35]!==s?(N=()=>{s(n.id),f(n)},t[33]=n,t[34]=f,t[35]=s,t[36]=N):N=t[36];let P;t[37]!==r.delete||t[38]!==N?(P=(0,$.jsx)(we,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-red-600 outline-none data-highlighted:bg-red-500/10 dark:text-red-400`,onSelect:N,children:r.delete}),t[37]=r.delete,t[38]=N,t[39]=P):P=t[39];let F;t[40]!==k||t[41]!==j||t[42]!==P?(F=(0,$.jsx)(Te,{children:(0,$.jsxs)(Ee,{className:`z-50 min-w-[10rem] rounded-xl border border-edge-subtle bg-surface-panel p-1 shadow-elevated dark:border-edge-subtle`,sideOffset:4,align:`end`,onCloseAutoFocus:qe,children:[k,j,P]})}),t[40]=k,t[41]=j,t[42]=P,t[43]=F):F=t[43];let I;t[44]!==D||t[45]!==F?(I=(0,$.jsxs)(Ce,{children:[D,F]}),t[44]=D,t[45]=F,t[46]=I):I=t[46];let L;t[47]!==I||t[48]!==T?(L=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 px-4 pt-3`,children:[T,I]}),t[47]=I,t[48]=T,t[49]=L):L=t[49];let R=n.name||n.id,z;t[50]===R?z=t[51]:(z=(0,$.jsx)(`h3`,{className:`line-clamp-2 font-semibold text-fg`,children:R}),t[50]=R,t[51]=z);let B;t[52]===n?B=t[53]:(B=pe(n),t[52]=n,t[53]=B);let V;t[54]===n?V=t[55]:(V=pe(n),t[54]=n,t[55]=V);let H;t[56]===V?H=t[57]:(H=(0,$.jsx)(S,{content:V,compact:!0}),t[56]=V,t[57]=H);let U;t[58]!==B||t[59]!==H?(U=(0,$.jsx)(`div`,{className:`max-h-[4.5rem] overflow-hidden text-sm text-fg-muted [&_.markdown-body]:text-sm [&_.markdown-body]:leading-snug`,title:B,children:H}),t[58]=B,t[59]=H,t[60]=U):U=t[60];let W;t[61]!==z||t[62]!==U?(W=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 px-4 pb-3 pt-2`,children:[z,U]}),t[61]=z,t[62]=U,t[63]=W):W=t[63];let G;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(w,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[64]=G):G=t[64];let K;t[65]!==n||t[66]!==i||t[67]!==a?(K=ee(n,i,a),t[65]=n,t[66]=i,t[67]=a,t[68]=K):K=t[68];let q;t[69]===K?q=t[70]:(q=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-edge-subtle/90 px-4 py-2.5 text-xs text-fg-muted dark:border-edge-subtle`,children:[G,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:K})]}),t[69]=K,t[70]=q);let J;return t[71]!==m||t[72]!==L||t[73]!==W||t[74]!==_||t[75]!==q?(J=(0,$.jsxs)(`article`,{role:`button`,tabIndex:0,className:p,onClick:m,onKeyDown:_,children:[L,W,q]}),t[71]=m,t[72]=L,t[73]=W,t[74]=_,t[75]=q,t[76]=J):J=t[76],J}function qe(e){return e.preventDefault()}function Je(e){return e.stopPropagation()}function Ye(e){let t=(0,Q.c)(134),{c:n,language:r,localeTag:i,scheduleBadgeLabels:o,loading:c,sortedSystemJobs:l,heartbeat:u,keepAwake:d,wakeSupported:f,onWakeUnsupportedClick:p,onKeepAwakeToggle:m,absorbCardClickJobIdRef:_,scheduleAbsorbNextMenuCardClick:v,onOpenDetail:y,onToggle:b,onEdit:x,onRunNow:S,onDelete:C}=e,w,T,D,O,k,A,j,M,N,F,I,L;if(t[0]!==n.disabled||t[1]!==n.enabled||t[2]!==n.keepAwake||t[3]!==n.systemHeartbeatEvery||t[4]!==n.systemHeartbeatHint||t[5]!==n.systemHeartbeatInterval||t[6]!==n.systemHeartbeatSettingsLink||t[7]!==n.systemHeartbeatStatus||t[8]!==n.systemHeartbeatTitle||t[9]!==n.systemTasksIntro||t[10]!==n.tabSystemTasks||t[11]!==n.wakeBanner||t[12]!==n.wakeLockUnavailable||t[13]!==u.enabled||t[14]!==u.intervalMs||t[15]!==d||t[16]!==r||t[17]!==i||t[18]!==m||t[19]!==p||t[20]!==f){let e=te(u.intervalMs,i,a(r).heartbeatSettings.intervalPresets);I=`cron-system-tasks-panel`,L=`flex flex-col gap-4`,t[33]===n.tabSystemTasks?T=t[34]:(T=(0,$.jsx)(`h2`,{id:`cron-system-tasks-panel`,className:`sr-only`,children:n.tabSystemTasks}),t[33]=n.tabSystemTasks,t[34]=T),t[35]===n.systemTasksIntro?D=t[36]:(D=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.systemTasksIntro}),t[35]=n.systemTasksIntro,t[36]=D);let o;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(P,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[37]=o):o=t[37];let c;t[38]===n.wakeBanner?c=t[39]:(c=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[o,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[38]=n.wakeBanner,t[39]=c);let l;t[40]===n.keepAwake?l=t[41]:(l=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[40]=n.keepAwake,t[41]=l);let _=!f,v=f?void 0:n.wakeLockUnavailable,y=d?`justify-end bg-accent`:`justify-start bg-surface-hover`,b=!f&&`cursor-not-allowed opacity-50`,x;t[42]!==y||t[43]!==b?(x=h(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,y,b),t[42]=y,t[43]=b,t[44]=x):x=t[44];let S;t[45]!==m||t[46]!==p||t[47]!==f?(S=()=>{f?m():p()},t[45]=m,t[46]=p,t[47]=f,t[48]=S):S=t[48];let C;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[49]=C):C=t[49];let E;t[50]!==d||t[51]!==_||t[52]!==v||t[53]!==x||t[54]!==S?(E=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":d,disabled:_,title:v,className:x,onClick:S,children:C}),t[50]=d,t[51]=_,t[52]=v,t[53]=x,t[54]=S,t[55]=E):E=t[55];let R;t[56]!==l||t[57]!==E?(R=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[l,E]}),t[56]=l,t[57]=E,t[58]=R):R=t[58],t[59]!==c||t[60]!==R?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[c,R]}),t[59]=c,t[60]=R,t[61]=O):O=t[61],N=`rounded-xl border border-edge bg-surface-base p-4 dark:bg-surface-hover/20`;let z;t[62]===n.systemHeartbeatTitle?z=t[63]:(z=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemHeartbeatTitle}),t[62]=n.systemHeartbeatTitle,t[63]=z);let B;t[64]===n.systemHeartbeatHint?B=t[65]:(B=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.systemHeartbeatHint}),t[64]=n.systemHeartbeatHint,t[65]=B);let V;t[66]!==z||t[67]!==B?(V=(0,$.jsxs)(`div`,{children:[z,B]}),t[66]=z,t[67]=B,t[68]=V):V=t[68];let H;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(K,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[69]=H):H=t[69];let U;t[70]===n.systemHeartbeatSettingsLink?U=t[71]:(U=(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(s,{to:`/settings/heartbeat`,children:[n.systemHeartbeatSettingsLink,H]})}),t[70]=n.systemHeartbeatSettingsLink,t[71]=U),t[72]!==V||t[73]!==U?(F=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between`,children:[V,U]}),t[72]=V,t[73]=U,t[74]=F):F=t[74],j=`mt-3 grid gap-2 text-sm sm:grid-cols-2`;let W;t[75]===n.systemHeartbeatStatus?W=t[76]:(W=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatStatus}),t[75]=n.systemHeartbeatStatus,t[76]=W);let G=u.enabled?n.enabled:n.disabled,q;t[77]===G?q=t[78]:(q=(0,$.jsx)(`dd`,{className:`text-fg`,children:G}),t[77]=G,t[78]=q),t[79]!==W||t[80]!==q?(M=(0,$.jsxs)(`div`,{children:[W,q]}),t[79]=W,t[80]=q,t[81]=M):M=t[81],t[82]===n.systemHeartbeatInterval?A=t[83]:(A=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatInterval}),t[82]=n.systemHeartbeatInterval,t[83]=A),w=`text-fg`;let J;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(J=/\{\{value\}\}/g,t[84]=J):J=t[84],k=n.systemHeartbeatEvery.replace(J,e),t[0]=n.disabled,t[1]=n.enabled,t[2]=n.keepAwake,t[3]=n.systemHeartbeatEvery,t[4]=n.systemHeartbeatHint,t[5]=n.systemHeartbeatInterval,t[6]=n.systemHeartbeatSettingsLink,t[7]=n.systemHeartbeatStatus,t[8]=n.systemHeartbeatTitle,t[9]=n.systemTasksIntro,t[10]=n.tabSystemTasks,t[11]=n.wakeBanner,t[12]=n.wakeLockUnavailable,t[13]=u.enabled,t[14]=u.intervalMs,t[15]=d,t[16]=r,t[17]=i,t[18]=m,t[19]=p,t[20]=f,t[21]=w,t[22]=T,t[23]=D,t[24]=O,t[25]=k,t[26]=A,t[27]=j,t[28]=M,t[29]=N,t[30]=F,t[31]=I,t[32]=L}else w=t[21],T=t[22],D=t[23],O=t[24],k=t[25],A=t[26],j=t[27],M=t[28],N=t[29],F=t[30],I=t[31],L=t[32];let R;t[85]!==w||t[86]!==k?(R=(0,$.jsx)(`dd`,{className:w,children:k}),t[85]=w,t[86]=k,t[87]=R):R=t[87];let z;t[88]!==R||t[89]!==A?(z=(0,$.jsxs)(`div`,{children:[A,R]}),t[88]=R,t[89]=A,t[90]=z):z=t[90];let B;t[91]!==z||t[92]!==j||t[93]!==M?(B=(0,$.jsxs)(`dl`,{className:j,children:[M,z]}),t[91]=z,t[92]=j,t[93]=M,t[94]=B):B=t[94];let V;t[95]!==B||t[96]!==N||t[97]!==F?(V=(0,$.jsxs)(`div`,{className:N,children:[F,B]}),t[95]=B,t[96]=N,t[97]=F,t[98]=V):V=t[98];let H;t[99]===n.systemDreamingTitle?H=t[100]:(H=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemDreamingTitle}),t[99]=n.systemDreamingTitle,t[100]=H);let U;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(K,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[101]=U):U=t[101];let W;t[102]===n.systemDreamingSettingsLink?W=t[103]:(W=(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(s,{to:`/settings/dreams`,children:[n.systemDreamingSettingsLink,U]})}),t[102]=n.systemDreamingSettingsLink,t[103]=W);let G;t[104]!==H||t[105]!==W?(G=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[H,W]}),t[104]=H,t[105]=W,t[106]=G):G=t[106];let q;t[107]===n.systemDreamingHint?q=t[108]:(q=(0,$.jsx)(`p`,{className:`mb-3 text-xs text-fg-muted`,children:n.systemDreamingHint}),t[107]=n.systemDreamingHint,t[108]=q);let J;t[109]!==_||t[110]!==n||t[111]!==c||t[112]!==i||t[113]!==C||t[114]!==x||t[115]!==y||t[116]!==S||t[117]!==b||t[118]!==v||t[119]!==o||t[120]!==l?(J=c&&l.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-12`,"aria-busy":`true`,children:(0,$.jsx)(E,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):l.length===0?(0,$.jsx)(`p`,{className:`rounded-lg border border-edge-subtle bg-surface-hover/30 px-3 py-4 text-sm text-fg-muted dark:border-edge-subtle`,children:n.systemDreamingEmpty}):(0,$.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:l.map(e=>(0,$.jsx)(Ke,{job:e,c:n,localeTag:i,scheduleBadgeLabels:o,absorbCardClickJobIdRef:_,scheduleAbsorbNextMenuCardClick:v,onOpenDetail:y,onToggle:b,onEdit:x,onRunNow:S,onDelete:C},e.id))}),t[109]=_,t[110]=n,t[111]=c,t[112]=i,t[113]=C,t[114]=x,t[115]=y,t[116]=S,t[117]=b,t[118]=v,t[119]=o,t[120]=l,t[121]=J):J=t[121];let Y;t[122]!==G||t[123]!==q||t[124]!==J?(Y=(0,$.jsxs)(`div`,{children:[G,q,J]}),t[122]=G,t[123]=q,t[124]=J,t[125]=Y):Y=t[125];let X;return t[126]!==T||t[127]!==D||t[128]!==O||t[129]!==V||t[130]!==Y||t[131]!==I||t[132]!==L?(X=(0,$.jsxs)(`section`,{"aria-labelledby":I,className:L,children:[T,D,O,V,Y]}),t[126]=T,t[127]=D,t[128]=O,t[129]=V,t[130]=Y,t[131]=I,t[132]=L,t[133]=X):X=t[133],X}function Xe(e,t){let n=e.templates;if(!n||typeof n!=`object`)return;let r=n[t];if(!r||typeof r!=`object`)return;let i=r.title?.trim(),a=r.prompt?.trim();if(!(!i||!a))return{title:i,description:(r.description??``).trim(),prompt:a}}var Ze=[`daily`,`monitoring`,`reports`,`automation`],Qe=[{templateId:`morning_briefing`,category:`daily`,defaultSchedule:`0 7 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`standup_prep`,category:`daily`,defaultSchedule:`0 8 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`end_of_day_wrap_up`,category:`daily`,defaultSchedule:`0 18 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`inbox_triage`,category:`daily`,defaultSchedule:`30 8 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`competitor_watch`,category:`monitoring`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`},{templateId:`trending_topics_monitor`,category:`monitoring`,defaultSchedule:`0 10 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`tech_radar_stack`,category:`monitoring`,defaultSchedule:`0 11 * * 3`,defaultSessionTarget:`isolated`},{templateId:`dependency_check_audit`,category:`monitoring`,defaultSchedule:`0 9 * * 0`,defaultSessionTarget:`isolated`},{templateId:`weekly_review`,category:`reports`,defaultSchedule:`0 17 * * 5`,defaultSessionTarget:`isolated`},{templateId:`code_quality_report`,category:`reports`,defaultSchedule:`0 14 * * 1`,defaultSessionTarget:`isolated`},{templateId:`git_activity_summary`,category:`reports`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`},{templateId:`user_feedback_digest`,category:`reports`,defaultSchedule:`0 16 * * 5`,defaultSessionTarget:`isolated`},{templateId:`stale_todo_or_issue_sweep`,category:`automation`,defaultSchedule:`0 10 * * 2`,defaultSessionTarget:`isolated`},{templateId:`release_notes_or_changelog_draft`,category:`automation`,defaultSchedule:`0 10 * * 4`,defaultSessionTarget:`isolated`},{templateId:`workspace_cleanup_suggestions`,category:`automation`,defaultSchedule:`30 18 * * 5`,defaultSessionTarget:`isolated`},{templateId:`smoke_or_ci_health_reminder`,category:`automation`,defaultSchedule:`0 8 * * 1`,defaultSessionTarget:`isolated`}];function $e(e){return Qe.find(t=>t.templateId===e)}function et(e){let t=(0,Q.c)(21),{cron:n,localeTag:r,scheduleBadgeLabels:i,categoryFilter:a,onCategoryFilterChange:o,onSelectTemplate:s}=e,c;if(t[0]!==a||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==i){let e=a===`all`?[...Qe]:Qe.filter(e=>e.category===a),l=n.fromTemplate,u=a===`all`?`secondary`:`ghost`,d;t[7]===o?d=t[8]:(d=()=>o(`all`),t[7]=o,t[8]=d);let f;t[9]!==n.templateFilterAll||t[10]!==u||t[11]!==d?(f=(0,$.jsx)(g,{type:`button`,variant:u,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:d,children:n.templateFilterAll}),t[9]=n.templateFilterAll,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;t[13]!==a||t[14]!==n.templateCategories||t[15]!==o?(p=Ze.map(e=>(0,$.jsx)(g,{type:`button`,variant:a===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>o(e),children:n.templateCategories[e]},e)),t[13]=a,t[14]=n.templateCategories,t[15]=o,t[16]=p):p=t[16];let m;t[17]!==n.fromTemplate||t[18]!==f||t[19]!==p?(m=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":l,children:[f,p]}),t[17]=n.fromTemplate,t[18]=f,t[19]=p,t[20]=m):m=t[20],c=(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[m,e.length===0?(0,$.jsx)(`p`,{className:`text-center text-sm text-fg-muted`,children:n.templatesEmptyHint}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:e.map(e=>{let t=Xe(n,e.templateId);if(!t)return null;let a=ee({schedule:e.defaultSchedule,timezone:void 0,next_run:void 0},r,i);return(0,$.jsxs)(`button`,{type:`button`,className:h(`flex flex-col gap-1.5 rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),onClick:()=>s(e.templateId),"aria-label":`${n.templateCategories[e.category]} — ${t.title}`,children:[(0,$.jsx)(`span`,{className:`font-semibold text-fg`,children:t.title}),(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm text-fg-muted`,children:t.description}),(0,$.jsx)(`span`,{className:`mt-1 flex items-center gap-1 text-xs text-fg-muted`,children:(0,$.jsx)(`span`,{className:`tabular-nums`,children:a})})]},e.templateId)})})]}),t[0]=a,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=i,t[6]=c}else c=t[6];return c}function tt(e){let t=(0,Q.c)(49),{c:n,localeTag:r,scheduleBadgeLabels:i,loading:a,jobsCount:o,sortedJobs:s,templateCategoryFilter:c,onTemplateCategoryFilterChange:l,onSelectTemplate:u,keepAwake:d,wakeSupported:f,onWakeUnsupportedClick:p,onKeepAwakeToggle:m,absorbCardClickJobIdRef:_,scheduleAbsorbNextMenuCardClick:v,onOpenDetail:y,onToggle:b,onEdit:x,onAddJob:S,onRunNow:C,onDelete:w}=e,T;t[0]===n.tabMyTasks?T=t[1]:(T=(0,$.jsx)(`h2`,{id:`cron-tasks-panel`,className:`sr-only`,children:n.tabMyTasks}),t[0]=n.tabMyTasks,t[1]=T);let D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(P,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[2]=D):D=t[2];let O;t[3]===n.wakeBanner?O=t[4]:(O=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[D,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[3]=n.wakeBanner,t[4]=O);let k;t[5]===n.keepAwake?k=t[6]:(k=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[5]=n.keepAwake,t[6]=k);let A=!f,j=f?void 0:n.wakeLockUnavailable,M=d?`justify-end bg-accent`:`justify-start bg-surface-hover`,N=!f&&`cursor-not-allowed opacity-50`,F;t[7]!==M||t[8]!==N?(F=h(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,M,N),t[7]=M,t[8]=N,t[9]=F):F=t[9];let I;t[10]!==m||t[11]!==p||t[12]!==f?(I=()=>{f?m():p()},t[10]=m,t[11]=p,t[12]=f,t[13]=I):I=t[13];let L;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[14]=L):L=t[14];let R;t[15]!==d||t[16]!==I||t[17]!==A||t[18]!==j||t[19]!==F?(R=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":d,disabled:A,title:j,className:F,onClick:I,children:L}),t[15]=d,t[16]=I,t[17]=A,t[18]=j,t[19]=F,t[20]=R):R=t[20];let z;t[21]!==R||t[22]!==k?(z=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[k,R]}),t[21]=R,t[22]=k,t[23]=z):z=t[23];let B;t[24]!==z||t[25]!==O?(B=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[O,z]}),t[24]=z,t[25]=O,t[26]=B):B=t[26];let V;t[27]!==_||t[28]!==n||t[29]!==o||t[30]!==a||t[31]!==r||t[32]!==S||t[33]!==w||t[34]!==x||t[35]!==y||t[36]!==C||t[37]!==u||t[38]!==l||t[39]!==b||t[40]!==v||t[41]!==i||t[42]!==s||t[43]!==c?(V=a&&o===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,"aria-busy":`true`,children:(0,$.jsx)(E,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):o===0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 rounded-2xl bg-surface-base px-4 py-8 dark:bg-surface-hover/25 sm:px-6 sm:py-10`,children:[(0,$.jsx)(`div`,{className:`w-full max-w-6xl`,children:(0,$.jsx)(et,{cron:n,localeTag:r,scheduleBadgeLabels:i,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u})}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(g,{type:`button`,variant:`primary`,onClick:S,children:n.emptyStateCta})})]}):(0,$.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:s.map(e=>(0,$.jsx)(Ke,{job:e,c:n,localeTag:r,scheduleBadgeLabels:i,absorbCardClickJobIdRef:_,scheduleAbsorbNextMenuCardClick:v,onOpenDetail:e=>void y(e),onToggle:(e,t)=>void b(e,t),onEdit:x,onRunNow:C,onDelete:w},e.id))}),t[27]=_,t[28]=n,t[29]=o,t[30]=a,t[31]=r,t[32]=S,t[33]=w,t[34]=x,t[35]=y,t[36]=C,t[37]=u,t[38]=l,t[39]=b,t[40]=v,t[41]=i,t[42]=s,t[43]=c,t[44]=V):V=t[44];let H;return t[45]!==T||t[46]!==B||t[47]!==V?(H=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-tasks-panel`,className:`flex flex-col gap-4`,children:[T,B,V]}),t[45]=T,t[46]=B,t[47]=V,t[48]=H):H=t[48],H}function nt(e){let t=(0,Q.c)(23),{open:n,onOpenChange:r,c:i,localeTag:a,scheduleBadgeLabels:o,categoryFilter:s,onCategoryFilterChange:c,onSelectTemplate:h}=e,_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[62] bg-scrim`}),t[0]=_):_=t[0];let v;t[1]===i.fromTemplate?v=t[2]:(v=(0,$.jsx)(p,{className:`sr-only`,children:i.fromTemplate}),t[1]=i.fromTemplate,t[2]=v);let y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(T,{className:`size-5`,strokeWidth:1.75}),t[3]=y):y=t[3];let b;t[4]===i.close?b=t[5]:(b=(0,$.jsx)(m,{asChild:!0,children:(0,$.jsx)(g,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":i.close,children:y})}),t[4]=i.close,t[5]=b);let x;t[6]!==v||t[7]!==b?(x=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end border-b border-edge px-4 py-3`,children:[v,b]}),t[6]=v,t[7]=b,t[8]=x):x=t[8];let S;t[9]!==i||t[10]!==s||t[11]!==a||t[12]!==c||t[13]!==h||t[14]!==o?(S=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:(0,$.jsx)(et,{cron:i,localeTag:a,scheduleBadgeLabels:o,categoryFilter:s,onCategoryFilterChange:c,onSelectTemplate:h})}),t[9]=i,t[10]=s,t[11]=a,t[12]=c,t[13]=h,t[14]=o,t[15]=S):S=t[15];let C;t[16]!==x||t[17]!==S?(C=(0,$.jsxs)(l,{children:[_,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[62] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(d,{className:`xopc-dialog-content-pane pointer-events-auto relative flex max-h-[min(90vh,840px)] w-full max-w-lg flex-col rounded-xl border border-edge bg-surface-panel shadow-popover outline-none sm:max-w-2xl dark:border-edge`,onOpenAutoFocus:rt,children:[x,S]})})]}),t[16]=x,t[17]=S,t[18]=C):C=t[18];let w;return t[19]!==r||t[20]!==n||t[21]!==C?(w=(0,$.jsx)(f,{open:n,onOpenChange:r,children:C}),t[19]=r,t[20]=n,t[21]=C,t[22]=w):w=t[22],w}function rt(e){return e.preventDefault()}function it(){return{formOpen:!1,formMode:`add`,formJobId:null,formName:``,formSchedule:Oe,formChannel:`local`,formChatId:``,formMessage:``,formMessageMdMode:`edit`,messageEditorNonce:0,formSessionTarget:`main`,formAgentId:``,formAgentLocalOnly:!1,formWorkingDirectory:``,formModel:``,formSubmitting:!1}}function at(e,t){switch(t.type){case`patch`:return{...e,...t.patch};case`replace`:return t.state;case`setMessageMdMode`:return{...e,formMessageMdMode:t.mode,messageEditorNonce:t.mode===`edit`?e.messageEditorNonce+1:e.messageEditorNonce}}}function ot(e,t){let n=it();if(n.formOpen=!0,n.formMode=e?`edit`:`add`,n.formJobId=e?.id??null,!e)return n.formModel=t(),n;n.formName=e.name||``,n.formSchedule=e.schedule&&String(e.schedule).trim()||`*/5 * * * *`;let r=pe(e);n.formMessage=r??``,n.formSessionTarget=e.sessionTarget||`main`,n.formAgentId=(e.sessionTarget||`main`)===`isolated`&&e.agentId?.trim()?e.agentId.trim().toLowerCase():``,n.formWorkingDirectory=(e.sessionTarget||`main`)===`isolated`&&e.workingDirectory?.trim()?e.workingDirectory.trim():``;let i=e.payload?.kind===`agentTurn`&&e.payload.model?.trim()?e.payload.model.trim():``;n.formModel=e.model?.trim()||i||t();let a=e.delivery?.channel===`local`,o=(e.sessionTarget||`main`)===`isolated`&&!a&&(!e.delivery?.to||e.delivery.mode===`none`);if(n.formAgentLocalOnly=o,a)n.formChannel=`local`,n.formChatId=``;else if(e.delivery&&e.delivery.mode!==`none`&&e.delivery.to)n.formChannel=e.delivery.channel||`telegram`,n.formChatId=e.delivery.to||``;else if(o)n.formChannel=`telegram`,n.formChatId=``;else{let e=r.split(`:`);e.length>=3&&[`telegram`,`cli`,`gateway`,`local`].includes(e[0])?(n.formChannel=e[0],n.formChatId=e[1],n.formMessage=e.slice(2).join(`:`)):(n.formChannel=`telegram`,n.formChatId=``)}return n.formMessageMdMode=`edit`,n.messageEditorNonce=1,n}function st(e){let{m:t,defaultModelForForm:n,channels:r,chatAgents:i}=e,[a,o]=(0,Z.useReducer)(at,void 0,it),s=(0,Z.useRef)(!1),c=(0,Z.useMemo)(()=>new Set([`local`,...r.map(e=>e.name)]),[r]);if(a.formOpen&&a.formMode===`add`&&!c.has(a.formChannel)&&o({type:`patch`,patch:{formChannel:`local`}}),a.formOpen&&a.formMode===`add`&&!s.current){let e=n();e&&e!==a.formModel&&o({type:`patch`,patch:{formModel:e}})}let l=G(()=>de(a.formChannel),[a.formChannel],{enabled:a.formOpen&&a.formChannel!==`local`,initial:[],errorData:[]}),u=a.formChannel===`local`?[]:l.data,d=(0,Z.useMemo)(()=>{let e=new Set(i.map(e=>e.id)),t=[...i],n=a.formAgentId.trim().toLowerCase();return n&&!e.has(n)&&t.push({id:n}),t},[i,a.formAgentId]),f=a.formChannel!==`local`&&(a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly),p=a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly,m=!!a.formName.trim()&&!!a.formSchedule.trim()&&!!a.formMessage.trim()&&(!f||!!a.formChatId.trim()),h=(0,Z.useCallback)(e=>{s.current=!1,o({type:`replace`,state:ot(e,n)})},[n]),g=(0,Z.useCallback)(e=>{o({type:`setMessageMdMode`,mode:e})},[]),_=(0,Z.useCallback)(e=>{let r=$e(e),i=r?Xe(t.cron,e):void 0;return!r||!i?!1:(s.current=!1,o({type:`replace`,state:{...it(),formOpen:!0,formMode:`add`,formName:i.title,formSchedule:r.defaultSchedule,formMessage:i.prompt,formSessionTarget:r.defaultSessionTarget,formModel:n(),messageEditorNonce:1}}),!0)},[n,t.cron]),v=(0,Z.useCallback)(()=>{s.current=!1,o({type:`replace`,state:it()})},[]),y=(0,Z.useCallback)((e,t,n)=>{let r={formSessionTarget:e};e===`main`?(r.formAgentLocalOnly=!1,r.formAgentId=``,r.formWorkingDirectory=``):e===`isolated`&&!n&&(r.formModel=t()),o({type:`patch`,patch:r})},[]),b=(0,Z.useCallback)(e=>{o({type:`patch`,patch:{formChannel:e,formChatId:``,...e===`local`?{formAgentLocalOnly:!1}:{}}})},[]),x=(0,Z.useCallback)(e=>{s.current=!0,o({type:`patch`,patch:{formModel:e}})},[]),S=(0,Z.useCallback)(()=>{de(a.formChannel).then(l.setData)},[a.formChannel,l.setData]),C=(0,Z.useCallback)(e=>{o({type:`patch`,patch:e})},[]);return{formOpen:a.formOpen,formMode:a.formMode,formJobId:a.formJobId,formName:a.formName,formSchedule:a.formSchedule,formChannel:a.formChannel,formChatId:a.formChatId,formMessage:a.formMessage,formMessageMdMode:a.formMessageMdMode,messageEditorNonce:a.messageEditorNonce,formSessionTarget:a.formSessionTarget,formAgentId:a.formAgentId,formAgentLocalOnly:a.formAgentLocalOnly,formWorkingDirectory:a.formWorkingDirectory,formModel:a.formModel,formSubmitting:a.formSubmitting,sessionChatIds:u,setFormName:e=>C({formName:e}),setFormSchedule:e=>C({formSchedule:e}),setFormChatId:e=>C({formChatId:e}),setFormMessage:e=>C({formMessage:e}),setFormAgentId:e=>C({formAgentId:e}),setFormAgentLocalOnly:e=>C({formAgentLocalOnly:e}),setFormWorkingDirectory:e=>C({formWorkingDirectory:e}),setFormSubmitting:e=>C({formSubmitting:e}),canSubmit:m,needsDeliveryChat:f,showChannelPicker:p,cronAgentSelectOptions:d,openForm:h,closeForm:v,applyCronTemplate:_,setMessageMdMode:g,handleFormSessionTargetChange:y,handleFormChannelChange:b,handleFormModelUserChange:x,refreshRecipientsList:S}}function ct(e){let{onUnavailable:t}=e,[n,r]=(0,Z.useState)(!1),i=(0,Z.useRef)(null),a=(0,Z.useRef)(`none`),o=(0,Z.useRef)(n),s=typeof navigator<`u`&&`wakeLock`in navigator,c=s||D(),l=(0,Z.useCallback)(async()=>{if(a.current===`electron`){try{await window.electronAPI?.cron?.setDisplaySleepPrevented?.(!1)}catch{}a.current=`none`;return}try{await i.current?.release()}catch{}i.current=null,a.current=`none`},[]),u=(0,Z.useCallback)(async()=>{let e=typeof window<`u`?window.electronAPI?.cron?.setDisplaySleepPrevented:void 0;if(e)try{await e(!0),a.current=`electron`;return}catch{t(),r(!1);return}if(s)try{let e=await navigator.wakeLock.request(`screen`);i.current=e,a.current=`navigator`,e.addEventListener(`release`,()=>{i.current=null,a.current=`none`})}catch{t(),r(!1)}},[t,s]);return o.current=n,(0,Z.useEffect)(()=>{if(!n){l();return}u();let e=()=>{document.visibilityState===`visible`&&o.current&&u()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e),l()}},[n,u,l]),{keepAwake:n,setKeepAwake:r,featureAvailable:c}}function lt(e){let{hasToken:t,failMessages:n,isHistoryTab:r}=e,[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)([]),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)([]),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)([]),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),w=(0,Z.useCallback)(async()=>{x(!0),C(null);try{a(await ye())}catch(e){C(e instanceof Error?e.message:n.failedToLoadJobs)}finally{x(!1)}},[n.failedToLoadJobs]),T=(0,Z.useCallback)(async()=>{try{let[e,t,n,r,i]=await Promise.all([ue(),se(),oe(),F(),W().catch(()=>null)]);s(e),l(t),d(n.model||``),h(r.payload?.config??null),i&&p(i.items)}catch{}},[]),E=(0,Z.useCallback)(async()=>{y(!0);try{_(await ge(400))}catch{}finally{y(!1)}},[]);return(0,Z.useEffect)(()=>{t&&(w(),T())},[t,w,T]),(0,Z.useEffect)(()=>{if(!t)return;let e=()=>{F().then(e=>{h(e.payload?.config??null)})};return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[t]),(0,Z.useEffect)(()=>{!t||!r||E()},[t,r,E]),{jobs:i,channels:o,availableModels:c,defaultModel:u,chatAgents:f,gatewayConfigRaw:m,runHistory:g,runHistoryLoading:v,loading:b,error:S,setError:C,userCronJobs:(0,Z.useMemo)(()=>i.filter(e=>!ie(e)),[i]),systemCronJobs:(0,Z.useMemo)(()=>i.filter(e=>ie(e)),[i]),heartbeatFromConfig:(0,Z.useMemo)(()=>xe(m),[m]),loadJobs:w,loadAux:T,loadRunHistoryOnly:E,refreshAll:(0,Z.useCallback)(()=>{w(),T(),E()},[w,T,E])}}function ut(e,t){let n=[...e];return n.sort((e,n)=>{let r=new Date(e.created_at).getTime(),i=new Date(n.created_at).getTime();return t===`created_desc`?i-r:r-i}),n}function dt(e,t,n,r){let i=new Date,a=t===`day`?ke(i):t===`week`?Ae(i):je(i);return e.filter(e=>!(new Date(e.startedAt)<a||n&&e.jobId!==n||r&&e.status!==r))}var ft={mainTab:`myTasks`,jobSort:`created_desc`,historyRange:`day`,historyJobFilter:``,historyStatusFilter:``,detailOpen:!1,detailJob:null,detailHistory:[],detailLoading:!1,confirmOpen:!1,templatePickerOpen:!1,templateCategoryFilter:`all`};function pt(){let e=o(e=>e.language),t=a(e),n=t.cron,r=t.chat,s=!!i(e=>e.token),l=_(e=>e.resolved)===`dark`,u=e===`zh`?`zh-CN`:`en-US`,[d,f]=(0,Z.useReducer)(H,ft),{mainTab:p,jobSort:m,historyRange:h,historyJobFilter:g,historyStatusFilter:v,detailOpen:y,detailJob:b,detailHistory:x,detailLoading:S,confirmOpen:C,templatePickerOpen:w,templateCategoryFilter:T}=d,E=lt({hasToken:s,failMessages:{failedToLoadJobs:n.failedToLoadJobs},isHistoryTab:p===`history`}),{setError:D}=E,O=ct({onUnavailable:()=>D(n.wakeLockUnavailable)}),k=(0,Z.useCallback)(()=>E.defaultModel||(E.availableModels.length>0?E.availableModels[0].id:``),[E.defaultModel,E.availableModels]),A=st({m:t,defaultModelForForm:k,channels:E.channels,chatAgents:E.chatAgents}),j=(0,Z.useRef)(null),M=(0,Z.useRef)(null),N=(0,Z.useCallback)((e,t)=>{j.current=e,M.current=t,f({type:`patch`,patch:{confirmOpen:!0}})},[]),P=(0,Z.useCallback)(()=>{f({type:`patch`,patch:{confirmOpen:!1}}),M.current=null,j.current=null},[]),F=(0,Z.useRef)(null),I=(0,Z.useCallback)(e=>{F.current=e,window.setTimeout(()=>{F.current===e&&(F.current=null)},400)},[]),L=(0,Z.useCallback)(e=>{A.applyCronTemplate(e)&&f({type:`patch`,patch:{templatePickerOpen:!1}})},[A]),R=async()=>{if(!A.formName.trim()){D(n.nameRequired);return}if(!A.formSchedule.trim()||!A.formMessage.trim()){D(n.scheduleRequired);return}if(A.needsDeliveryChat&&!A.formChatId.trim()){D(n.chatIdRequired);return}A.setFormSubmitting(!0),D(null);try{let e=A.formMessage.trim(),t;t=A.formSessionTarget===`isolated`&&A.formAgentLocalOnly?{mode:`none`}:A.formChannel===`local`?{mode:`direct`,channel:`local`}:{mode:`direct`,channel:A.formChannel,to:A.formChatId.trim()};let n=A.formSessionTarget===`isolated`?{kind:`agentTurn`,message:e,...A.formModel.trim()?{model:A.formModel.trim()}:{}}:{kind:`systemEvent`,text:e},r=A.formModel.trim(),i=A.formAgentId.trim().toLowerCase(),a=A.formSessionTarget===`main`?null:i||null,o=A.formWorkingDirectory.trim(),s={name:A.formName.trim(),schedule:A.formSchedule.trim(),sessionTarget:A.formSessionTarget,model:A.formSessionTarget===`isolated`&&r?r:void 0,delivery:t,payload:n,...A.formMode===`edit`?{agentId:a,workingDirectory:A.formSessionTarget===`isolated`&&o||null}:{...A.formSessionTarget===`isolated`&&i?{agentId:i}:{},...A.formSessionTarget===`isolated`&&o?{workingDirectory:o}:{}}};if(A.formMode===`edit`&&A.formJobId)await fe(A.formJobId,s);else{let{schedule:e,agentId:t,workingDirectory:n,...r}=s;await ve(e,{...r,...t==null?{}:{agentId:t},...n?{workingDirectory:n}:{}})}A.closeForm(),await E.loadJobs(),await E.loadAux()}catch(e){D(e instanceof Error?e.message:A.formMode===`edit`?n.failedToUpdateJob:n.failedToCreateJob)}finally{A.setFormSubmitting(!1)}},z=async e=>{f({type:`patch`,patch:{detailOpen:!0,detailJob:e,detailLoading:!0,detailHistory:[]}});try{let t=await _e(e.id);t&&f({type:`patch`,patch:{detailJob:t,detailHistory:await me(e.id,20)}})}catch{}finally{f({type:`patch`,patch:{detailLoading:!1}})}},B=(0,Z.useCallback)(()=>{f({type:`patch`,patch:{detailOpen:!1,detailJob:null}})},[]),V=(0,Z.useCallback)(()=>{f({type:`patch`,patch:{templateCategoryFilter:`all`,templatePickerOpen:!0}})},[]),U=async(e,t)=>{try{await he(e.id,t),await Promise.all([E.loadJobs(),E.loadAux()])}catch(e){D(e instanceof Error?e.message:n.failedToToggleJob)}},W=async()=>{let e=M.current,t=j.current;if(!(!e||!t)){P();try{t===`run`?await le(e):(await ce(e),b?.id===e&&f({type:`patch`,patch:{detailOpen:!1,detailJob:null}})),await Promise.all([E.loadJobs(),E.loadAux(),E.loadRunHistoryOnly()])}catch(e){D(e instanceof Error?e.message:n.actionFailed)}}};(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(A.formOpen?A.closeForm():y&&f({type:`patch`,patch:{detailOpen:!1,detailJob:null}}))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[A,y]);let G=(0,Z.useMemo)(()=>({running:n.execStatusRunning,success:n.execStatusSuccess,failed:n.execStatusFailed,cancelled:n.execStatusCancelled}),[n.execStatusCancelled,n.execStatusFailed,n.execStatusRunning,n.execStatusSuccess]),K=(0,Z.useMemo)(()=>ut(E.userCronJobs,m),[E.userCronJobs,m]),q=(0,Z.useMemo)(()=>ut(E.systemCronJobs,m),[E.systemCronJobs,m]),J=(0,Z.useMemo)(()=>dt(E.runHistory,h,g,v),[E.runHistory,h,g,v]),Y=n.scheduleBadge,{pathname:X}=c(),ee=X.startsWith(`/settings/`);return s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(mt,{hasToken:s,c:n,loading:E.loading,runHistoryLoading:E.runHistoryLoading,onRefresh:E.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>A.openForm()}),(0,$.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6 sm:px-8`,children:[E.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`,role:`alert`,children:E.error}):null,(0,$.jsx)(`header`,{className:`flex flex-col gap-4`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-fg`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm text-fg-muted`,children:n.subtitle})]})}),ee?(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 border-b border-edge-subtle pb-3 dark:border-edge-subtle`,children:(0,$.jsx)(We,{c:n,loading:E.loading,runHistoryLoading:E.runHistoryLoading,onRefresh:E.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>A.openForm()})}):null,(0,$.jsx)(He,{c:n,mainTab:p,onMainTabChange:e=>f({type:`patch`,patch:{mainTab:e}}),jobSort:m,onJobSortChange:e=>f({type:`patch`,patch:{jobSort:e}}),historyRange:h,onHistoryRangeChange:e=>f({type:`patch`,patch:{historyRange:e}}),historyJobFilter:g,onHistoryJobFilterChange:e=>f({type:`patch`,patch:{historyJobFilter:e}}),historyStatusFilter:v,onHistoryStatusFilterChange:e=>f({type:`patch`,patch:{historyStatusFilter:e}}),jobs:E.jobs}),p===`myTasks`?(0,$.jsx)(tt,{c:n,localeTag:u,scheduleBadgeLabels:Y,loading:E.loading,jobsCount:E.userCronJobs.length,sortedJobs:K,templateCategoryFilter:T,onTemplateCategoryFilterChange:e=>f({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:L,keepAwake:O.keepAwake,wakeSupported:O.featureAvailable,onWakeUnsupportedClick:()=>D(n.wakeLockUnavailable),onKeepAwakeToggle:()=>O.setKeepAwake(e=>!e),absorbCardClickJobIdRef:F,scheduleAbsorbNextMenuCardClick:I,onOpenDetail:e=>void z(e),onToggle:(e,t)=>void U(e,t),onEdit:e=>A.openForm(e),onAddJob:()=>A.openForm(),onRunNow:e=>N(`run`,e.id),onDelete:e=>N(`delete`,e.id)}):p===`systemTasks`?(0,$.jsx)(Ye,{c:n,language:e,localeTag:u,scheduleBadgeLabels:Y,loading:E.loading,sortedSystemJobs:q,heartbeat:E.heartbeatFromConfig,keepAwake:O.keepAwake,wakeSupported:O.featureAvailable,onWakeUnsupportedClick:()=>D(n.wakeLockUnavailable),onKeepAwakeToggle:()=>O.setKeepAwake(e=>!e),absorbCardClickJobIdRef:F,scheduleAbsorbNextMenuCardClick:I,onOpenDetail:e=>void z(e),onToggle:(e,t)=>void U(e,t),onEdit:e=>A.openForm(e),onRunNow:e=>N(`run`,e.id),onDelete:e=>N(`delete`,e.id)}):(0,$.jsx)(Ge,{c:n,runHistoryLoading:E.runHistoryLoading,runHistory:E.runHistory,filteredRunHistory:J,jobs:E.jobs,onRefreshHistory:()=>void E.loadRunHistoryOnly(),onOpenJobDetail:e=>void z(e),statusLabels:G})]}),(0,$.jsx)(ze,{open:A.formOpen,onRequestClose:A.closeForm,c:n,chatM:r,agentsMessages:t.agentsSettings,isDark:l,channels:E.channels,sessionChatIds:A.sessionChatIds,cronAgentSelectOptions:A.cronAgentSelectOptions,defaultModelResolver:k,formMode:A.formMode,formJobId:A.formJobId,formName:A.formName,onFormNameChange:A.setFormName,formSchedule:A.formSchedule,onFormScheduleChange:A.setFormSchedule,formSubmitting:A.formSubmitting,formSessionTarget:A.formSessionTarget,onFormSessionTargetChange:A.handleFormSessionTargetChange,formAgentLocalOnly:A.formAgentLocalOnly,onFormAgentLocalOnlyChange:A.setFormAgentLocalOnly,formModel:A.formModel,onFormModelUserChange:A.handleFormModelUserChange,formAgentId:A.formAgentId,onFormAgentIdChange:A.setFormAgentId,formWorkingDirectory:A.formWorkingDirectory,onFormWorkingDirectoryChange:A.setFormWorkingDirectory,formChannel:A.formChannel,onFormChannelChange:A.handleFormChannelChange,formChatId:A.formChatId,onFormChatIdChange:A.setFormChatId,formMessage:A.formMessage,onFormMessageChange:A.setFormMessage,formMessageMdMode:A.formMessageMdMode,onSetMessageMdMode:A.setMessageMdMode,messageEditorNonce:A.messageEditorNonce,needsDeliveryChat:A.needsDeliveryChat,showChannelPicker:A.showChannelPicker,canSubmit:A.canSubmit,onSubmit:()=>void R(),onRefreshRecipients:A.refreshRecipientsList}),(0,$.jsx)(nt,{open:w,onOpenChange:e=>{f({type:`patch`,patch:{templatePickerOpen:e,...e?{templateCategoryFilter:`all`}:{}}})},c:n,localeTag:u,scheduleBadgeLabels:Y,categoryFilter:T,onCategoryFilterChange:e=>f({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:L}),(0,$.jsx)(Le,{open:y,onDismiss:B,detailJob:b,detailLoading:S,detailHistory:x,c:n,chatWorkingDirNotSet:r.workingDirectory.notSet,statusLabels:G}),(0,$.jsx)(De,{open:C,onOpenChange:e=>f({type:`patch`,patch:{confirmOpen:e}}),action:j.current,c:n,onDismiss:P,onConfirm:W})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(mt,{hasToken:s,c:n,loading:E.loading,runHistoryLoading:E.runHistoryLoading,onRefresh:E.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>A.openForm()}),(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-16 text-center text-sm text-fg-muted sm:px-8`,children:n.needToken})]})}function mt(e){let t=(0,Q.c)(16),{hasToken:n,c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:l}=e,{pathname:u}=c(),d;t[0]===u?d=t[1]:(d=u.startsWith(`/settings/`),t[0]=u,t[1]=d);let f=d,p=b(gt),m=b(ht),h;t[2]!==r||t[3]!==i||t[4]!==l||t[5]!==s||t[6]!==o||t[7]!==a?(h=(0,$.jsx)(We,{c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:l}),t[2]=r,t[3]=i,t[4]=l,t[5]=s,t[6]=o,t[7]=a,t[8]=h):h=t[8];let g=h,_,v;return t[9]!==m||t[10]!==g||t[11]!==n||t[12]!==f||t[13]!==p?(_=()=>!n||f?(m(),()=>m()):(p({startExtra:null,main:null,end:g}),()=>m()),v=[m,g,n,f,p],t[9]=m,t[10]=g,t[11]=n,t[12]=f,t[13]=p,t[14]=_,t[15]=v):(_=t[14],v=t[15]),(0,Z.useLayoutEffect)(_,v),null}function ht(e){return e.clearPageHeader}function gt(e){return e.setPageHeader}export{pt as CronPage};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,i as n,t as r}from"./vendor-react-BOUWij0V.js";import{g as i}from"./vendor-codemirror-D0yxdRpg.js";var a=e(t(),1),o=e=>{throw TypeError(e)},s=(e,t,n)=>t.has(e)||o(`Cannot `+n),c=(e,t,n)=>(s(e,t,`read from private field`),n?n.call(e):t.get(e)),l=(e,t,n)=>t.has(e)?o(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),u=(e,t,n,r)=>(s(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),d=`popstate`;function f(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function p(e={}){function t(e,t){let{pathname:n=`/`,search:r=``,hash:i=``}=b(e.location.hash.substring(1));return!n.startsWith(`/`)&&!n.startsWith(`.`)&&(n=`/`+n),v(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){let n=e.document.querySelector(`base`),r=``;if(n&&n.getAttribute(`href`)){let t=e.location.href,n=t.indexOf(`#`);r=n===-1?t:t.slice(0,n)}return r+`#`+(typeof t==`string`?t:y(t))}function r(e,t){h(e.pathname.charAt(0)===`/`,`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)}return x(t,n,r,e)}function m(e,t){if(e===!1||e==null)throw Error(t)}function h(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function g(){return Math.random().toString(36).substring(2,10)}function _(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function v(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?b(t):t,state:n,key:t&&t.key||r||g(),mask:i}}function y({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function b(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function x(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function p(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:y.location,delta:t})}function m(e,t){s=`PUSH`;let r=f(e)?e:v(y.location,e,t);n&&n(r,e),l=u()+1;let d=_(r,l),p=y.createHref(r.mask||r);try{o.pushState(d,``,p)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(p)}a&&c&&c({action:s,location:y.location,delta:1})}function h(e,t){s=`REPLACE`;let r=f(e)?e:v(y.location,e,t);n&&n(r,e),l=u();let i=_(r,l),d=y.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:y.location,delta:0})}function g(e){return S(i,e)}let y={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(d,p),c=e,()=>{i.removeEventListener(d,p),c=null}},createHref(e){return t(i,e)},createURL:g,encodeLocation(e){let t=g(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:m,replace:h,go(e){return o.go(e)}};return y}function S(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),m(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:y(t);return i=i.replace(/ $/,`%20`),!n&&i.startsWith(`//`)&&(i=r+i),new URL(i,r)}function C(e){return{defaultValue:e}}var w,T=class{constructor(e){if(l(this,w,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(c(this,w).has(e))return c(this,w).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){c(this,w).set(e,t)}};w=new WeakMap;var E=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function D(e){return E.has(e)}var O=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function k(e){return O.has(e)}function A(e){return e.index===!0}function j(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(m(e.index!==!0||!e.children,`Cannot specify children on an index route`),m(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),A(e)){let n={...e,id:s};return r[s]=M(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=M(n,t(n)),e.children&&(n.children=j(e.children,t,o,r,i)),n}})}function M(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function N(e,t,n=`/`){return P(e,t,n,!1)}function P(e,t,n,r,i){let a=B((typeof t==`string`?b(t):t).pathname||`/`,n);if(a==null)return null;let o=i??F(e),s=null,c=z(a);for(let e=0;s==null&&e<o.length;++e)s=de(o[e],c,r);return s}function ee(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function F(e){let t=I(e);return ne(t),t}function I(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;m(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=H([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(m(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),I(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of te(e.path))a(e,t,!0,n)}),t}function te(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=te(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function ne(e){e.sort((e,t)=>e.score===t.score?ue(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var re=/^:[\w-]+$/,ie=3,ae=2,oe=1,L=10,se=-2,ce=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(ce)&&(r+=se),t&&(r+=ae),n.filter(e=>!ce(e)).reduce((e,t)=>e+(re.test(t)?ie:t===``?oe:L),r)}function ue(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function de(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=R({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=R({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:H([a,u.pathname]),pathnameBase:Ce(H([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=H([a,u.pathnameBase]))}return o}function R(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=fe(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function fe(e,t=!1,n=!0){h(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function z(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return h(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function B(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function pe({basename:e,pathname:t}){return t===`/`?e:H([e,t])}var me=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,he=e=>me.test(e);function ge(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?b(e):e,a;return n?(n=xe(n),a=n.startsWith(`/`)?_e(n.substring(1),`/`):_e(n,t)):a=t,{pathname:a,search:we(r),hash:Te(i)}}function _e(e,t){let n=Se(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ve(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function V(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function ye(e){let t=V(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function be(e,t,n,r=!1){let i;typeof e==`string`?i=b(e):(i={...e},m(!i.pathname||!i.pathname.includes(`?`),ve(`?`,`pathname`,`search`,i)),m(!i.pathname||!i.pathname.includes(`#`),ve(`#`,`pathname`,`hash`,i)),m(!i.search||!i.search.includes(`#`),ve(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ge(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var xe=e=>e.replace(/\/\/+/g,`/`),H=e=>xe(e.join(`/`)),Se=e=>e.replace(/\/+$/,``),Ce=e=>Se(e).replace(/^\/*/,`/`),we=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Te=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ee=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function De(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Oe(e){return H(e.map(e=>e.route.path).filter(Boolean))||`/`}var ke=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ae(e,t){let n=e;if(typeof n!=`string`||!me.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(ke)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=B(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{h(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var U=Symbol(`Uninstrumented`);function je(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=Ne(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=Ne(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[U]??i,a=Ne(n[e],t,(...e)=>W(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[U]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[U]??e,r=Ne(n.middleware,t,(...e)=>W(e[0]));return r?(r[U]=t,r):e})),r}function Me(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[U]??e.navigate,r=Ne(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?y(n):`.`,...G(e,r??{})}});r&&(r[U]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[U]??e.fetch,r=Ne(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...G(e,i??{})}});r&&(r[U]=t,e.fetch=r)}return e}function Ne(e,t,n){return e.length===0?null:async(...r)=>{let i=await Pe(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function Pe(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=Pe(e,t,n,r-1),a=await o,m(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function W(e){let{request:t,context:n,params:r,pattern:i}=e;return{request:Fe(t),params:{...r},pattern:i,context:Ie(n)}}function G(e,t){return{currentUrl:y(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function Fe(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Ie(e){if(Re(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Le=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Re(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Le}var K=[`POST`,`PUT`,`PATCH`,`DELETE`],ze=new Set(K),Be=[`GET`,...K],Ve=new Set(Be),He=new Set([301,302,303,307,308]),Ue=new Set([307,308]),We={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ge={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ke={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},qe=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Je=`remix-router-transitions`,Ye=Symbol(`ResetLoaderData`),Xe,Ze,Qe,$e,et=class{constructor(e){l(this,Xe),l(this,Ze),l(this,Qe),l(this,$e),u(this,Xe,e),u(this,Ze,F(e))}get stableRoutes(){return c(this,Xe)}get activeRoutes(){return c(this,Qe)??c(this,Xe)}get branches(){return c(this,$e)??c(this,Ze)}get hasHMRRoutes(){return c(this,Qe)!=null}setRoutes(e){u(this,Xe,e),u(this,Ze,F(e))}setHmrRoutes(e){u(this,Qe,e),u(this,$e,F(e))}commitHmrRoutes(){c(this,Qe)&&(u(this,Xe,c(this,Qe)),u(this,Ze,c(this,$e)),u(this,Qe,void 0),u(this,$e,void 0))}};Xe=new WeakMap,Ze=new WeakMap,Qe=new WeakMap,$e=new WeakMap;function tt(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;m(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||qe,a=i;if(e.instrumentations){let t=e.instrumentations;a=e=>({...i(e),...je(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new et(j(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||vt,u={...e.future},d=null,f=new Set,p=null,g=null,_=null,y=null,x=e.hydrationData!=null,C=P(s.activeRoutes,e.history.location,c,!1,s.branches),w=!1,E=null,D,O;if(C==null&&!e.patchRoutesOnNavigation){let t=q(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=Vt(s.activeRoutes);D=!0,O=!D,C=n,E={[r.id]:t}}else if(C&&!e.hydrationData&&ct(C,s.activeRoutes,e.history.location.pathname).active&&(C=null),!C){D=!1,O=!D,C=[];let t=ct(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(w=!0,C=t.matches)}else if(C.some(e=>e.route.lazy))D=!1,O=!D;else if(!C.some(e=>ot(e.route)))D=!0,O=!D;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=C;if(n){let e=C.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}O=!1,D=!0,r.forEach(e=>{let r=st(e.route,t,n);O||=r.renderFallback,D&&=!r.shouldLoad})}let k,A={historyAction:e.history.action,location:e.history.location,matches:C,initialized:D,renderFallback:O,navigation:We,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||E,fetchers:new Map,blockers:new Map},M=`POP`,N=null,F=!1,I,te=!1,ne=new Map,re=null,ie=!1,ae=!1,oe=new Set,L=new Map,se=0,ce=-1,le=new Map,ue=new Set,de=new Map,R=new Map,fe=new Set,z=new Map,pe,me=null;function ge(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(pe){pe(),pe=void 0;return}h(z.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Xe({currentLocation:A.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{pe=e});e.history.go(r*-1),Ye(i,{state:`blocked`,location:n,proceed(){Ye(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(A.blockers);e.set(i,Ke),V({blockers:e})}}),N?.resolve(),N=null;return}return H(t,n)}),n){un(t,ne);let e=()=>dn(t,ne);t.addEventListener(`pagehide`,e),re=()=>t.removeEventListener(`pagehide`,e)}return A.initialized||H(`POP`,A.location,{initialHydration:!0}),k}function _e(){d&&d(),re&&re(),f.clear(),I&&I.abort(),A.fetchers.forEach((e,t)=>Le(A.fetchers,t)),A.blockers.forEach((e,t)=>Je(t))}function ve(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(A,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function V(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),A={...A,...e};let n=[],r=[];A.fetchers.forEach((e,t)=>{e.state===`idle`&&(fe.has(t)?n.push(t):r.push(t))}),fe.forEach(e=>{!A.fetchers.has(e)&&!L.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(A,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Le(A.fetchers,e)),r.forEach(e=>A.fetchers.delete(e))}function ye(t,n,{flushSync:r}={}){let i=A.actionData!=null&&A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&A.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?A.actionData:null;let o=n.loaderData?Rt(A.loaderData,n.loaderData,n.matches||[],n.errors):A.loaderData,c=A.blockers;c.size>0&&(c=new Map(c),c.forEach((e,t)=>c.set(t,Ke)));let l=ie?!1:nt(t,n.matches||A.matches),u=F===!0||A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),ie||M===`POP`||(M===`PUSH`?e.history.push(t,t.state):M===`REPLACE`&&e.history.replace(t,t.state));let d;if(M===`POP`){let e=ne.get(A.location.pathname);e&&e.has(t.pathname)?d={currentLocation:A.location,nextLocation:t}:ne.has(t.pathname)&&(d={currentLocation:t,nextLocation:A.location})}else if(te){let e=ne.get(A.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),ne.set(A.location.pathname,e)),d={currentLocation:A.location,nextLocation:t}}V({...n,actionData:a,loaderData:o,historyAction:M,location:t,initialized:!0,renderFallback:!1,navigation:We,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),M=`POP`,F=!1,te=!1,ie=!1,ae=!1,N?.resolve(),N=null,me?.resolve(),me=null}async function be(t,n){if(N?.resolve(),N=null,typeof t==`number`){N||=fn();let n=N.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=it(!1,rt(A.location,A.matches,c,t,n?.fromRouteId,n?.relative),n),o;n?.mask&&(o={pathname:``,search:``,hash:``,...typeof n.mask==`string`?b(n.mask):{...A.location.mask,...n.mask}});let s=A.location,l=v(s,r,n&&n.state,void 0,o);l={...l,...e.history.encodeLocation(l)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&Y(i.formMethod)&&i.formAction===A.location.pathname+A.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=Xe({currentLocation:s,nextLocation:l,historyAction:d});if(m){Ye(m,{state:`blocked`,location:l,proceed(){Ye(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:l}),be(t,n)},reset(){let e=new Map(A.blockers);e.set(m,Ke),V({blockers:e})}});return}await H(d,l,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate})}function xe(){me||=fn(),Pe(),V({revalidation:`loading`});let e=me.promise;return A.navigation.state===`submitting`?e:A.navigation.state===`idle`?(H(A.historyAction,A.location,{startUninterruptedRevalidation:!0}),e):(H(M||A.historyAction,A.navigation.location,{overrideNavigation:A.navigation,enableViewTransition:te===!0}),e)}async function H(t,n,r){I&&I.abort(),I=null,M=t,ie=(r&&r.startUninterruptedRevalidation)===!0,tt(A.location,A.matches),F=(r&&r.preventScrollReset)===!0,te=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&A.matches&&A.matches.length>0&&!w?A.matches:P(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&A.initialized&&!ae&&Wt(A.location,n)&&!(r&&r.submission&&Y(r.submission.formMethod))){ye(n,{matches:a},{flushSync:o});return}let l=ct(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),!a){let{error:e,notFoundMatches:t,route:r}=Ze(n.pathname);ye(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;I=new AbortController;let d=Mt(e.history,n,I.signal,r&&r.submission),f=e.getContext?await e.getContext():new T,p;if(r&&r.pendingError)p=[Bt(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&Y(r.submission.formMethod)){let i=await Se(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(J(t)&&De(t.error)&&t.error.status===404){I=null,ye(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=an(n,a,t,r.submission),o=!1,l.active=!1,d=Mt(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await Ce(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(I=null,ye(n,{matches:h||a,...zt(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function Se(t,n,i,l,u,d,f,p,m={}){if(Pe(),V({navigation:on(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await lt(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Vt(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Bt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ze(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=nn(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:q(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await U(t,n,wt(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(Yt(h)){let n;return n=m&&m.replace!=null?m.replace:jt(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===A.location.pathname+A.location.search,await Ae(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(J(h)){let e=Bt(l,g.route.id);return(m&&m.replace)!==!0&&(M=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function Ce(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||an(n,i,l,p),x=p||m||rn(b),S=!ie&&!g;if(d){if(S){let e=we(v);V({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await lt(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Vt(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Bt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ze(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:w,revalidatingFetchers:T}=at(t,u,a,o,e.history,A,i,x,n,g?[]:r,g===!0,ae,oe,fe,de,ue,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(ce=++se,!e.dataStrategy&&!w.some(e=>e.shouldLoad)&&!w.some(e=>e.route.middleware&&e.route.middleware.length>0)&&T.length===0){let e=new Map(A.fetchers),t=Be(e);return ye(n,{matches:i,loaderData:{},errors:v&&J(v[1])?{[v[0]]:v[1].error}:null,...zt(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=we(v);t!==void 0&&(e.actionData=t)}T.length>0&&(e.fetchers=Te(T)),V(e,{flushSync:_})}T.forEach(e=>{K(e.key),e.controller&&L.set(e.key,e.controller)});let E=()=>T.forEach(e=>K(e.key));I&&I.signal.addEventListener(`abort`,E);let{loaderResults:D,fetcherResults:O}=await Ne(w,T,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};I&&I.signal.removeEventListener(`abort`,E),T.forEach(e=>L.delete(e.key));let k=Ht(D);if(k)return await Ae(t,k.result,!0,{replace:h}),{shortCircuited:!0};if(k=Ht(O),k)return ue.add(k.key),await Ae(t,k.result,!0,{replace:h}),{shortCircuited:!0};let j=new Map(A.fetchers),{loaderData:M,errors:N}=Lt(A,i,D,v,T,O,j);g&&A.errors&&(N={...A.errors,...N});let P=Be(j),ee=Ve(ce,j),F=P||ee||T.length>0;return{matches:i,loaderData:M,errors:N,...F?{workingFetchers:j}:{}}}function we(e){if(e&&!J(e[1]))return{[e[0]]:e[1].data};if(A.actionData)return Object.keys(A.actionData).length===0?null:A.actionData}function Te(e){let t=new Map(A.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=sn(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Ee(t,n,r,i){K(t);let a=(i&&i.flushSync)===!0,o=s.activeRoutes,l=rt(A.location,A.matches,c,r,n,i?.relative),u=P(o,l,c,!1,s.branches),d=ct(u,o,l);if(d.active&&d.matches&&(u=d.matches),!u){G(t,n,q(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=it(!0,l,i);if(m){G(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new T,g=(i&&i.preventScrollReset)===!0;if(p&&Y(p.formMethod)){await Oe(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}de.set(t,{routeId:n,path:f}),await ke(t,n,f,u,h,d.active,a,g,p)}async function Oe(t,n,i,l,u,d,f,p,h,g){Pe(),de.delete(t),W(t,cn(h,A.fetchers.get(t)),{flushSync:f});let _=new AbortController,v=Mt(e.history,i,_.signal,h);if(d){let e=await lt(l,new URL(v.url).pathname,v.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){G(t,n,e.error,{flushSync:f});return}else if(e.matches)l=e.matches;else{G(t,n,q(404,{pathname:i}),{flushSync:f});return}}let y=nn(l,i);if(!y.route.action&&!y.route.lazy){G(t,n,q(405,{method:h.formMethod,pathname:i,routeId:n}),{flushSync:f});return}L.set(t,_);let b=se,x=wt(a,o,v,i,l,y,r,u),S=await U(v,i,x,u,t),C=S[y.route.id];if(!C){for(let e of x)if(S[e.route.id]){C=S[e.route.id];break}}if(v.signal.aborted){L.get(t)===_&&L.delete(t);return}if(fe.has(t)){if(Yt(C)||J(C)){W(t,ln(void 0));return}}else{if(Yt(C))if(L.delete(t),ce>b){W(t,ln(void 0));return}else return ue.add(t),W(t,sn(h)),Ae(v,C,!1,{fetcherSubmission:h,preventScrollReset:p});if(J(C)){G(t,n,C.error);return}}let w=A.navigation.location||A.location,T=Mt(e.history,w,_.signal),E=s.activeRoutes,D=A.navigation.state===`idle`?A.matches:P(E,A.navigation.location,c,!1,s.branches);m(D,`Didn't find any matches after fetcher action`);let O=++se;le.set(t,O);let{dsMatches:k,revalidatingFetchers:j}=at(T,u,a,o,e.history,A,D,h,w,r,!1,ae,oe,fe,de,ue,E,c,e.patchRoutesOnNavigation!=null,s.branches,[y.route.id,C],g),N=sn(h,C.data),ee=new Map(A.fetchers);ee.set(t,N),j.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=ee.get(t),r=sn(void 0,n?n.data:void 0);ee.set(t,r),K(t),e.controller&&L.set(t,e.controller)}),V({fetchers:ee});let F=()=>j.forEach(e=>K(e.key));_.signal.addEventListener(`abort`,F);let{loaderResults:te,fetcherResults:ne}=await Ne(k,j,T,w,u);if(_.signal.aborted)return;_.signal.removeEventListener(`abort`,F),le.delete(t),L.delete(t),j.forEach(e=>L.delete(e.key));let re=A.fetchers.has(t),ie=e=>{if(!re)return e;let n=new Map(e.fetchers);return n.set(t,ln(C.data)),{...e,fetchers:n}},R=Ht(te);if(R)return A=ie(A),Ae(T,R.result,!1,{preventScrollReset:p});if(R=Ht(ne),R)return ue.add(R.key),A=ie(A),Ae(T,R.result,!1,{preventScrollReset:p});let z=new Map(A.fetchers);re&&z.set(t,ln(C.data));let{loaderData:B,errors:pe}=Lt(A,D,te,void 0,j,ne,z);Ve(O,z),A.navigation.state===`loading`&&O>ce?(m(M,`Expected pending action`),I&&I.abort(),ye(A.navigation.location,{matches:D,loaderData:B,errors:pe,fetchers:z})):(V({errors:pe,loaderData:Rt(A.loaderData,B,D,pe),fetchers:z}),ae=!1)}async function ke(t,n,i,s,c,l,u,d,f){let p=A.fetchers.get(t);W(t,sn(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=Mt(e.history,i,m.signal);if(l){let e=await lt(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){G(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{G(t,n,q(404,{pathname:i}),{flushSync:u});return}}let g=nn(s,i);L.set(t,m);let _=se,v=await U(h,i,wt(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(L.get(t)===m&&L.delete(t),!h.signal.aborted){if(fe.has(t)){W(t,ln(void 0));return}if(Yt(y))if(ce>_){W(t,ln(void 0));return}else{ue.add(t),await Ae(h,y,!1,{preventScrollReset:d});return}if(J(y)){G(t,n,y.error);return}W(t,ln(y.data))}}async function Ae(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(N?.resolve(),N=null),i.response.headers.has(`X-Remix-Revalidate`)&&(ae=!0);let d=i.response.headers.get(`Location`);m(d,`Expected a Location header on the redirect Response`),d=jt(d,new URL(r.url),c,e.history);let f=v(A.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(he(d)){let n=S(t,d,!0);e=n.origin!==t.location.origin||B(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}I=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:h,formAction:g,formEncType:_}=A.navigation;!o&&!s&&h&&g&&_&&(o=rn(A.navigation));let y=o||s;Ue.has(i.response.status)&&y&&Y(y.formMethod)?await H(p,f,{submission:{...y,formAction:d},preventScrollReset:l||F,enableViewTransition:a?te:void 0}):await H(p,f,{overrideNavigation:an(f,[],p,o),fetcherSubmission:s,preventScrollReset:l||F,enableViewTransition:a?te:void 0})}async function U(e,t,n,r,i){let a,o={};try{a=await Tt(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!Y(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!A.loaderData.hasOwnProperty(e.route.id)&&(!A.errors||!A.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(Jt(r)){let i=r.result;o[t]={type:`redirect`,response:kt(i,e,t,n,c)}}else o[t]=await Ot(r);return o}async function Ne(e,t,n,r,i){let a=U(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await U(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:q(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function Pe(){ae=!0,de.forEach((e,t)=>{L.has(t)&&oe.add(t),K(t)})}function W(e,t,n={}){let r=new Map(A.fetchers);r.set(e,t),V({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function G(e,t,n,r={}){let i=Bt(A.matches,t),a=new Map(A.fetchers);Le(a,e),V({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function Fe(e){return R.set(e,(R.get(e)||0)+1),fe.has(e)&&fe.delete(e),A.fetchers.get(e)||Ge}function Ie(e,t){K(e,t?.reason),W(e,ln(null))}function Le(e,t){let n=A.fetchers.get(t);L.has(t)&&!(n&&n.state===`loading`&&le.has(t))&&K(t),de.delete(t),le.delete(t),ue.delete(t),fe.delete(t),oe.delete(t),e.delete(t)}function Re(e){let t=(R.get(e)||0)-1;t<=0?(R.delete(e),fe.add(e)):R.set(e,t),V({fetchers:new Map(A.fetchers)})}function K(e,t){let n=L.get(e);n&&(n.abort(t),L.delete(e))}function ze(e,t){for(let n of e){let e=t.get(n);m(e,`Expected fetcher: ${n}`);let r=ln(e.data);t.set(n,r)}}function Be(e){let t=[],n=!1;for(let r of ue){let i=e.get(r);m(i,`Expected fetcher: ${r}`),i.state===`loading`&&(ue.delete(r),t.push(r),n=!0)}return ze(t,e),n}function Ve(e,t){let n=[];for(let[r,i]of le)if(i<e){let e=t.get(r);m(e,`Expected fetcher: ${r}`),e.state===`loading`&&(K(r),le.delete(r),n.push(r))}return ze(n,t),n.length>0}function He(e,t){let n=A.blockers.get(e)||Ke;return z.get(e)!==t&&z.set(e,t),n}function Je(e){A.blockers.delete(e),z.delete(e)}function Ye(e,t){let n=A.blockers.get(e)||Ke;m(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(A.blockers);r.set(e,t),V({blockers:r})}function Xe({currentLocation:e,nextLocation:t,historyAction:n}){if(z.size===0)return;z.size>1&&h(!1,`A router only supports one blocker at a time`);let r=Array.from(z.entries()),[i,a]=r[r.length-1],o=A.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ze(e){let t=q(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=Vt(n);return{notFoundMatches:r,route:i,error:t}}function Qe(e,t,n){if(g=e,y=t,_=n||null,!x&&A.navigation===We){x=!0;let e=nt(A.location,A.matches);e!=null&&V({restoreScrollPosition:e})}return()=>{g=null,y=null,_=null}}function $e(e,t){return _&&_(e,t.map(e=>ee(e,A.loaderData)))||e.key}function tt(e,t){if(g&&y){let n=$e(e,t);g[n]=y()}}function nt(e,t){if(g){let n=$e(e,t),r=g[n];if(typeof r==`number`)return r}return null}function ct(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:P(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:P(n,r,c,!0,e)}}return{active:!1,matches:null}}async function lt(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||dt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=P(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=P(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&ut(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||=P(s.activeRoutes,n,c,!0,u),!f||ut(l,f))return{type:`success`,matches:null};l=f}}function ut(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function ft(e){o={},s.setHmrRoutes(j(e,a,void 0,o))}function pt(e,t,n=!1){dt(e,t,s,o,a,n),s.hasHMRRoutes||V({})}return k={get basename(){return c},get future(){return u},get state(){return A},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ge,subscribe:ve,enableScrollRestoration:Qe,navigate:be,fetch:Ee,revalidate:xe,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Fe,resetFetcher:Ie,deleteFetcher:Re,dispose:_e,getBlocker:He,deleteBlocker:Je,patchRoutes:pt,_internalFetchControllers:L,_internalSetRoutes:ft,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){V(e)}},e.instrumentations&&(k=Me(k,e.instrumentations.map(e=>e.router).filter(Boolean))),k}function nt(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function rt(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=be(r||`.`,ye(o),B(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=tn(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=pe({basename:n,pathname:c.pathname})),y(c)}function it(e,t,n){if(!n||!nt(n))return{path:t};if(n.formMethod&&!en(n.formMethod))return{path:t,error:q(405,{method:n.formMethod})};let r=()=>({path:t,error:q(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=Ut(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!Y(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
|
|
2
|
-
`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!Y(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}m(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=Pt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=Pt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=Ft(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=Ft(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(Y(c.formMethod))return{path:t,submission:c};let l=b(t);return e&&l.search&&tn(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:y(l),submission:c}}function at(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?J(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&J(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=Oe(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!ot(s))f=!1;else if(u){let{shouldLoad:e}=st(s,a.loaderData,a.errors);f=e}else ct(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return Ct(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?lt(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p};return Ct(n,r,e,c,k,i,l,t,ut(i,m),m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=P(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=nn(b,e.path),C=new AbortController,w=Mt(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=wt(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=wt(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:D?!1:d;let a={...O,defaultShouldRevalidate:i};ut(S,a)&&(T=wt(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function ot(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function st(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!ot(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function ct(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function lt(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function ut(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function dt(e,t,n,r,i,a){let o;if(e){let t=r[e];m(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>ft(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=j(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=j([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function ft(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>ft(e,t)))??!1:!1}var pt=new WeakMap,mt=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(m(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=pt.get(i);o||(o={},pt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=D(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)h(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)h(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},ht=new WeakMap;function gt(e,t,n,r,i){let a=n[e.id];if(m(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=ht.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{m(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=k(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?h(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?h(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return ht.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=mt({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function _t(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function vt(e){return e.matches.some(e=>e.route.middleware)?yt(e,()=>_t(e)):_t(e)}function yt(e,t){return bt(e,t,e=>{if($t(e))throw e;return e},Kt,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=Bt(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function bt(e,t,n,r,i){let{matches:a,...o}=e;return await xt(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function xt(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await xt(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function St(e,t,n,r,i){let a=mt({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=gt(r.route,Y(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Ct(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=St(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?ut(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?ut(a,{...l,defaultShouldRevalidate:e}):ut(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!Y(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(Y(n.method)||!p)?Et({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function wt(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?Ct(e,t,n,r,Oe(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:St(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function Tt(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:Nt(t,n),pattern:Oe(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return yt(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function Et({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=Y(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:Nt(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw q(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw q(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function Dt(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Ot(e){let{result:t,type:n}=e;if(Zt(t)){let e;try{e=await Dt(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new Ee(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?Xt(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Gt(t),statusCode:De(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:De(t)?t.status:void 0}:Xt(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function kt(e,t,n,r,i){let a=e.headers.get(`Location`);if(m(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!he(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=rt(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var At=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function jt(e,t,n,r){if(he(e)){let r=e,i=r.startsWith(`//`)?new URL(t.protocol+r):new URL(r);if(At.includes(i.protocol))throw Error(`Invalid redirect location`);let a=B(i.pathname,n)!=null;if(i.origin===t.origin&&a)return xe(i.pathname)+i.search+i.hash}try{let t=r.createURL(e);if(At.includes(t.protocol))throw Error(`Invalid redirect location`)}catch{}return e}function Mt(e,t,n,r){let i=e.createURL(Ut(t)).toString(),a={signal:n};if(r&&Y(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=Pt(r.formData):a.body=r.formData}return new Request(i,a)}function Nt(e,t){let n=new URL(e.url),r=typeof t==`string`?b(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);n.search=e.size?`?${e.toString()}`:``}else n.search=``;return n.hash=r.hash||``,n}function Pt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function Ft(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function It(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&J(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(m(!Yt(f),`Cannot handle redirect results in processLoaderData`),J(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Bt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=Ye),c||(c=!0,s=De(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function Lt(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=It(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(m(s,`Did not find corresponding fetcher result`),J(s)){let t=Bt(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(Yt(s))m(!1,`Unhandled fetcher revalidation redirect`);else{let e=ln(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function Rt(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==Ye).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function zt(e){return e?J(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Bt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function Vt(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function q(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new Ee(e||500,o,Error(s),!0)}function Ht(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(Yt(r))return{key:n,result:r}}}function Ut(e){return y({...typeof e==`string`?b(e):e,hash:``})}function Wt(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function Gt(e){return new Ee(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function Kt(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&qt(t))}function qt(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function Jt(e){return Zt(e.result)&&He.has(e.result.status)}function J(e){return e.type===`error`}function Yt(e){return(e&&e.type)===`redirect`}function Xt(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function Zt(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function Qt(e){return He.has(e)}function $t(e){return Zt(e)&&Qt(e.status)&&e.headers.has(`Location`)}function en(e){return Ve.has(e.toUpperCase())}function Y(e){return ze.has(e.toUpperCase())}function tn(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function nn(e,t){let n=typeof t==`string`?b(t).search:t.search;if(e[e.length-1].route.index&&tn(n||``))return e[e.length-1];let r=V(e);return r[r.length-1]}function rn(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function an(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function on(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function sn(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function cn(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function ln(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function un(e,t){try{let n=e.sessionStorage.getItem(Je);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function dn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Je,JSON.stringify(n))}catch(e){h(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function fn(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var pn=a.createContext(null);pn.displayName=`DataRouter`;var mn=a.createContext(null);mn.displayName=`DataRouterState`;var hn=a.createContext(!1);function gn(){return a.useContext(hn)}var _n=a.createContext({isTransitioning:!1});_n.displayName=`ViewTransition`;var vn=a.createContext(new Map);vn.displayName=`Fetchers`;var yn=a.createContext(null);yn.displayName=`Await`;var X=a.createContext(null);X.displayName=`Navigation`;var bn=a.createContext(null);bn.displayName=`Location`;var Z=a.createContext({outlet:null,matches:[],isDataRoute:!1});Z.displayName=`Route`;var xn=a.createContext(null);xn.displayName=`RouteError`;var Sn=`REACT_ROUTER_ERROR`,Cn=`REDIRECT`,wn=`ROUTE_ERROR_RESPONSE`;function Tn(e){if(e.startsWith(`${Sn}:${Cn}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function En(e){if(e.startsWith(`${Sn}:${wn}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ee(t.status,t.statusText,t.data)}catch{}}function Dn(e,{relative:t}={}){m(On(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=a.useContext(X),{hash:i,pathname:o,search:s}=In(e,{relative:t}),c=o;return n!==`/`&&(c=o===`/`?n:H([n,o])),r.createHref({pathname:c,search:s,hash:i})}function On(){return a.useContext(bn)!=null}function Q(){return m(On(),`useLocation() may be used only in the context of a <Router> component.`),a.useContext(bn).location}var kn=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function An(e){a.useContext(X).static||a.useLayoutEffect(e)}function jn(){let{isDataRoute:e}=a.useContext(Z);return e?er():Mn()}function Mn(){m(On(),`useNavigate() may be used only in the context of a <Router> component.`);let e=a.useContext(pn),{basename:t,navigator:n}=a.useContext(X),{matches:r}=a.useContext(Z),{pathname:i}=Q(),o=JSON.stringify(ye(r)),s=a.useRef(!1);return An(()=>{s.current=!0}),a.useCallback((r,a={})=>{if(h(s.current,kn),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=be(r,JSON.parse(o),i,a.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:H([t,c.pathname])),(a.replace?n.replace:n.push)(c,a.state,a)},[t,n,o,i,e])}var Nn=a.createContext(null);function Pn(e){let t=a.useContext(Z).outlet;return a.useMemo(()=>t&&a.createElement(Nn.Provider,{value:e},t),[t,e])}function Fn(){let{matches:e}=a.useContext(Z);return e[e.length-1]?.params??{}}function In(e,{relative:t}={}){let{matches:n}=a.useContext(Z),{pathname:r}=Q(),i=JSON.stringify(ye(n));return a.useMemo(()=>be(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Ln(e,t,n){m(On(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=a.useContext(X),{matches:i}=a.useContext(Z),o=i[i.length-1],s=o?o.params:{},c=o?o.pathname:`/`,l=o?o.pathnameBase:`/`,u=o&&o.route;{let e=u&&u.path||``;nr(c,!u||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
3
|
-
|
|
4
|
-
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let d=Q(),f;if(t){let e=typeof t==`string`?b(t):t;m(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),f=e}else f=d;let p=f.pathname||`/`,g=p;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);g=`/`+p.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let _=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):N(e,{pathname:g});h(u||_!=null,`No routes matched location "${f.pathname}${f.search}${f.hash}" `),h(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${f.pathname}${f.search}${f.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=Wn(_&&_.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:H([l,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:H([l,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&v?a.createElement(bn.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...f},navigationType:`POP`}},v):v}function Rn(){let e=$n(),t=De(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},o={padding:`2px 4px`,backgroundColor:r},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=a.createElement(a.Fragment,null,a.createElement(`p`,null,`💿 Hey developer 👋`),a.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,a.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,a.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),a.createElement(a.Fragment,null,a.createElement(`h2`,null,`Unexpected Application Error!`),a.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?a.createElement(`pre`,{style:i},n):null,s)}var zn=a.createElement(Rn,null),Bn=class extends a.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=En(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:a.createElement(Z.Provider,{value:this.props.routeContext},a.createElement(xn.Provider,{value:e,children:this.props.component}));return this.context?a.createElement(Hn,{error:e},t):t}};Bn.contextType=hn;var Vn=new WeakMap;function Hn({children:e,error:t}){let{basename:n}=a.useContext(X);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Tn(t.digest);if(e){let r=Vn.get(t);if(r)throw r;let i=Ae(e.location,n);if(ke&&!Vn.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw Vn.set(t,n),n}return a.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function Un({routeContext:e,match:t,children:n}){let r=a.useContext(pn);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),a.createElement(Z.Provider,{value:e},n)}function Wn(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,o=r?.errors;if(o!=null){let e=i.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);m(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,c=-1;if(n&&r){s=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:a}=r,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),i=c>=0?i.slice(0,c+1):[i[0]];break}}}}let l=n?.onError,u=r&&l?(e,t)=>{l(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:Oe(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,l)=>{let d,f=!1,p=null,m=null;r&&(d=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||zn,s&&(c<0&&l===0?(nr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(i.slice(0,l+1)),g=()=>{let t;return t=d?p:f?m:n.route.Component?a.createElement(n.route.Component,null):n.route.element?n.route.element:e,a.createElement(Un,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||l===0)?a.createElement(Bn,{location:r.location,revalidation:r.revalidation,component:p,error:d,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:u}):g()},null)}function Gn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Kn(e){let t=a.useContext(pn);return m(t,Gn(e)),t}function qn(e){let t=a.useContext(mn);return m(t,Gn(e)),t}function Jn(e){let t=a.useContext(Z);return m(t,Gn(e)),t}function Yn(e){let t=Jn(e),n=t.matches[t.matches.length-1];return m(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Xn(){return Yn(`useRouteId`)}function Zn(){let e=qn(`useNavigation`);return a.useMemo(()=>{let{matches:t,historyAction:n,...r}=e.navigation;return r},[e.navigation])}function Qn(){let{matches:e,loaderData:t}=qn(`useMatches`);return a.useMemo(()=>e.map(e=>ee(e,t)),[e,t])}function $n(){let e=a.useContext(xn),t=qn(`useRouteError`),n=Yn(`useRouteError`);return e===void 0?t.errors?.[n]:e}function er(){let{router:e}=Kn(`useNavigate`),t=Yn(`useNavigate`),n=a.useRef(!1);return An(()=>{n.current=!0}),a.useCallback(async(r,i={})=>{h(n.current,kn),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var tr={};function nr(e,t,n){!t&&!tr[e]&&(tr[e]=!0,h(!1,n))}var rr={};function ir(e,t){!e&&!rr[t]&&(rr[t]=!0,console.warn(t))}var ar=a.useOptimistic,or=()=>void 0;function sr(e){return ar?ar(e):[e,or]}function cr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&h(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:a.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&h(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:a.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&h(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:a.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var lr=[`HydrateFallback`,`hydrateFallbackElement`],ur=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function dr({router:e,flushSync:t,onError:n,useTransitions:r}){r=gn()||r;let[i,o]=a.useState(e.state),[s,c]=sr(i),[l,u]=a.useState(),[d,f]=a.useState({isTransitioning:!1}),[p,m]=a.useState(),[h,g]=a.useState(),[_,v]=a.useState(),y=a.useRef(new Map),b=a.useCallback((i,{deletedFetchers:s,newErrors:l,flushSync:d,viewTransitionOpts:_})=>{l&&n&&Object.values(l).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:Oe(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&y.current.set(t,e.data)}),s.forEach(e=>y.current.delete(e)),ir(d===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(ir(_==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_||!b){t&&d?t(()=>o(i)):r===!1?o(i):a.startTransition(()=>{r===!0&&c(e=>fr(e,i)),o(i)});return}if(t&&d){t(()=>{h&&(p?.resolve(),h.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:_.currentLocation,nextLocation:_.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>o(i))});n.finished.finally(()=>{t(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})})}),t(()=>g(n));return}h?(p?.resolve(),h.skipTransition(),v({state:i,currentLocation:_.currentLocation,nextLocation:_.nextLocation})):(u(i),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}))},[e.window,t,h,p,r,c,n]);a.useLayoutEffect(()=>e.subscribe(b),[e,b]),a.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new ur)},[d]),a.useEffect(()=>{if(p&&l&&e.window){let t=l,n=p.promise,i=e.window.document.startViewTransition(async()=>{r===!1?o(t):a.startTransition(()=>{r===!0&&c(e=>fr(e,t)),o(t)}),await n});i.finished.finally(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})}),g(i)}},[l,p,e.window,r,c]),a.useEffect(()=>{p&&l&&s.location.key===l.location.key&&p.resolve()},[p,h,s.location,l]),a.useEffect(()=>{!d.isTransitioning&&_&&(u(_.state),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}),v(void 0))},[d.isTransitioning,_]);let x=a.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),S=e.basename||`/`,C=a.useMemo(()=>({router:e,navigator:x,static:!1,basename:S,onError:n}),[e,x,S,n]);return a.createElement(a.Fragment,null,a.createElement(pn.Provider,{value:C},a.createElement(mn.Provider,{value:s},a.createElement(vn.Provider,{value:y.current},a.createElement(_n.Provider,{value:d},a.createElement(_r,{basename:S,location:s.location,navigationType:s.historyAction,navigator:x,useTransitions:r},a.createElement(pr,{routes:e.routes,manifest:e.manifest,future:e.future,state:s,isStatic:!1,onError:n})))))),null)}function fr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var pr=a.memo(mr);function mr({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Ln(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function hr({to:e,replace:t,state:n,relative:r}){m(On(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i}=a.useContext(X);h(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:o}=a.useContext(Z),{pathname:s}=Q(),c=jn(),l=be(e,ye(o),s,r===`path`),u=JSON.stringify(l);return a.useEffect(()=>{c(JSON.parse(u),{replace:t,state:n,relative:r})},[c,u,r,t,n]),null}function gr(e){return Pn(e.context)}function _r({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:o=!1,useTransitions:s}){m(!On(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=a.useMemo(()=>({basename:c,navigator:i,static:o,useTransitions:s,future:{}}),[c,i,o,s]);typeof n==`string`&&(n=b(n));let{pathname:u=`/`,search:d=``,hash:f=``,state:p=null,key:g=`default`,mask:_}=n,v=a.useMemo(()=>{let e=B(u,c);return e==null?null:{location:{pathname:e,search:d,hash:f,state:p,key:g,mask:_},navigationType:r}},[c,u,d,f,p,g,r,_]);return h(v!=null,`<Router basename="${c}"> is not able to match the URL "${u}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:a.createElement(X.Provider,{value:l},a.createElement(bn.Provider,{children:t,value:v}))}a.Component;var vr=`get`,yr=`application/x-www-form-urlencoded`;function br(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function xr(e){return br(e)&&e.tagName.toLowerCase()===`button`}function Sr(e){return br(e)&&e.tagName.toLowerCase()===`form`}function Cr(e){return br(e)&&e.tagName.toLowerCase()===`input`}function wr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Tr(e,t){return e.button===0&&(!t||t===`_self`)&&!wr(e)}function Er(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Dr(e,t){let n=Er(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Or=null;function kr(){if(Or===null)try{new FormData(document.createElement(`form`),0),Or=!1}catch{Or=!0}return Or}var Ar=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function jr(e){return e!=null&&!Ar.has(e)?(h(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${yr}"`),null):e}function Mr(e,t){let n,r,i,a,o;if(Sr(e)){let o=e.getAttribute(`action`);r=o?B(o,t):null,n=e.getAttribute(`method`)||vr,i=jr(e.getAttribute(`enctype`))||yr,a=new FormData(e)}else if(xr(e)||Cr(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?B(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||vr,i=jr(e.getAttribute(`formenctype`))||jr(o.getAttribute(`enctype`))||yr,a=new FormData(o,e),!kr()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(br(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=vr,r=null,i=yr,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Nr={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Pr=/[&><\u2028\u2029]/g;function Fr(e){return e.replace(Pr,e=>Nr[e])}function Ir(e,t){if(e===!1||e==null)throw Error(t)}function Lr(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&B(i.pathname,t)===`/`?i.pathname=`${Se(t)}/_root.${r}`:i.pathname=`${Se(i.pathname)}.${r}`,i}async function Rr(e,t){if(e.id in t)return t[e.id];try{let n=await i(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function zr(e){return e!=null&&typeof e.page==`string`}function Br(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Vr(e,t,n){return Kr((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Rr(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Br).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Hr(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Ur(e,t,{includeHydrateFallback:n}={}){return Wr(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Wr(e){return[...new Set(e)]}function Gr(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Kr(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!zr(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Gr(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function qr(){let e=a.useContext(pn);return Ir(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Jr(){let e=a.useContext(mn);return Ir(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Yr=a.createContext(void 0);Yr.displayName=`FrameworkContext`;function Xr(){let e=a.useContext(Yr);return Ir(e,`You must render this element inside a <HydratedRouter> element`),e}function Zr(e,t){let n=a.useContext(Yr),[r,i]=a.useState(!1),[o,s]=a.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=a.useRef(null);a.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),a.useEffect(()=>{if(r){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[r]);let m=()=>{i(!0)},h=()=>{i(!1),s(!1)};return n?e===`intent`?[o,p,{onFocus:Qr(c,m),onBlur:Qr(l,h),onMouseEnter:Qr(u,m),onMouseLeave:Qr(d,h),onTouchStart:Qr(f,m)}]:[o,p,{}]:[!1,p,{}]}function Qr(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function $r({page:e,...t}){let n=gn(),{router:r}=qr(),i=a.useMemo(()=>N(r.routes,e,r.basename),[r.routes,e,r.basename]);return i?n?a.createElement(ti,{page:e,matches:i,...t}):a.createElement(ni,{page:e,matches:i,...t}):null}function ei(e){let{manifest:t,routeModules:n}=Xr(),[r,i]=a.useState([]);return a.useEffect(()=>{let r=!1;return Vr(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function ti({page:e,matches:t,...n}){let r=Q(),{future:i}=Xr(),{basename:o}=qr(),s=a.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=Lr(e,o,i.v8_trailingSlashAwareDataRequests,`rsc`),a=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?a=!0:s.push(e.route.id);return a&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,i.v8_trailingSlashAwareDataRequests,e,r,t]);return a.createElement(a.Fragment,null,s.map(e=>a.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function ni({page:e,matches:t,...n}){let r=Q(),{future:i,manifest:o,routeModules:s}=Xr(),{basename:c}=qr(),{loaderData:l,matches:u}=Jr(),d=a.useMemo(()=>Hr(e,t,u,o,r,`data`),[e,t,u,o,r]),f=a.useMemo(()=>Hr(e,t,u,o,r,`assets`),[e,t,u,o,r]),p=a.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,a=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?a=!0:n.add(e.route.id))}),n.size===0)return[];let u=Lr(e,c,i.v8_trailingSlashAwareDataRequests,`data`);return a&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,i.v8_trailingSlashAwareDataRequests,l,r,o,d,t,e,s]),m=a.useMemo(()=>Ur(f,o),[f,o]),h=ei(f);return a.createElement(a.Fragment,null,p.map(e=>a.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>a.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>a.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ri(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}a.Component;var ii=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{ii&&(window.__reactRouterVersion=`7.16.0`)}catch{}function ai(e,t){return tt({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:p({window:t?.window}),hydrationData:t?.hydrationData||oi(),routes:e,mapRouteProperties:cr,hydrationRouteProperties:lr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function oi(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:si(e.errors)}),e}function si(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new Ee(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(r.__subType){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function ci({basename:e,children:t,history:n,useTransitions:r}){let[i,o]=a.useState({action:n.action,location:n.location}),s=a.useCallback(e=>{r===!1?o(e):a.startTransition(()=>o(e))},[r]);return a.useLayoutEffect(()=>n.listen(s),[n,s]),a.createElement(_r,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,useTransitions:r})}ci.displayName=`unstable_HistoryRouter`;var li=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ui=a.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:o,mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,useTransitions:v}=a.useContext(X),y=typeof u==`string`&&li.test(u),b=Ae(u,g);u=b.to;let x=Dn(u,{relative:r}),S=Q(),C=null;if(s){let e=be(s,[],S.mask?S.mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:H([g,e.pathname])),C=_.createHref(e)}let[w,T,E]=Zr(n,m),D=_i(u,{replace:o,mask:s,state:c,target:l,preventScrollReset:d,relative:r,viewTransition:f,defaultShouldRevalidate:p,useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||i),A=a.createElement(`a`,{...m,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:ri(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?a.createElement(a.Fragment,null,A,a.createElement($r,{page:x})):A});ui.displayName=`Link`;var di=a.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:o,viewTransition:s,children:c,...l},u){let d=In(o,{relative:l.relative}),f=Q(),p=a.useContext(mn),{navigator:m,basename:h}=a.useContext(X),g=p!=null&&Oi(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=B(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!r&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!r&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let E=typeof i==`function`?i(C):i;return a.createElement(ui,{...l,"aria-current":w,className:T,ref:u,style:E,to:o,viewTransition:s},typeof c==`function`?c(C):c)});di.displayName=`NavLink`;var fi=a.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:o,method:s=vr,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h)=>{let{useTransitions:g}=a.useContext(X),_=xi(),v=Si(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&li.test(c);return a.createElement(`form`,{ref:h,method:y,action:v,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,c=r?.getAttribute(`formmethod`)||s,m=()=>_(r||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:i,state:o,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p});g&&n!==!1?a.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});fi.displayName=`Form`;function pi({getKey:e,storageKey:t,...n}){let r=a.useContext(Yr),{basename:i}=a.useContext(X),o=Q(),s=Qn();Ei({getKey:e,storageKey:t});let c=a.useMemo(()=>{if(!r||!e)return null;let t=Ti(o,s,i,e);return t===o.key?null:t},[]);if(!r||r.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return a.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${Fr(JSON.stringify(t||Ci))}, ${Fr(JSON.stringify(c))})`}})}pi.displayName=`ScrollRestoration`;function mi(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function hi(e){let t=a.useContext(pn);return m(t,mi(e)),t}function gi(e){let t=a.useContext(mn);return m(t,mi(e)),t}function _i(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l,useTransitions:u}={}){let d=jn(),f=Q(),p=In(e,{relative:s});return a.useCallback(m=>{if(Tr(m,t)){m.preventDefault();let t=n===void 0?y(f)===y(p):n,h=()=>d(e,{replace:t,mask:r,state:i,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l});u?a.startTransition(()=>h()):h()}},[f,d,p,n,r,i,t,e,o,s,c,l,u])}function vi(e){h(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=a.useRef(Er(e)),n=a.useRef(!1),r=Q(),i=a.useMemo(()=>Dr(r.search,n.current?null:t.current),[r.search]),o=jn();return[i,a.useCallback((e,t)=>{let r=Er(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,o(`?`+r,t)},[o,i])]}var yi=0,bi=()=>`__${String(++yi)}__`;function xi(){let{router:e}=hi(`useSubmit`),{basename:t}=a.useContext(X),n=Xn(),r=e.fetch,i=e.navigate;return a.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=Mr(e,t);a.navigate===!1?await r(a.fetcherKey||bi(),n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Si(e,{relative:t}={}){let{basename:n}=a.useContext(X),r=a.useContext(Z);m(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),o={...In(e||`.`,{relative:t})},s=Q();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(o.pathname=o.pathname===`/`?n:H([n,o.pathname])),y(o)}var Ci=`react-router-scroll-positions`,wi={};function Ti(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:B(e.pathname,n)||e.pathname},t)),i??=e.key,i}function Ei({getKey:e,storageKey:t}={}){let{router:n}=hi(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=gi(`useScrollRestoration`),{basename:o}=a.useContext(X),s=Q(),c=Qn(),l=Zn();a.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Di(a.useCallback(()=>{if(l.state===`idle`){let t=Ti(s,c,o,e);wi[t]=window.scrollY}try{sessionStorage.setItem(t||Ci,JSON.stringify(wi))}catch(e){h(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,o,s,c,t])),typeof document<`u`&&(a.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Ci);e&&(wi=JSON.parse(e))}catch{}},[t]),a.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(wi,()=>window.scrollY,e?(t,n)=>Ti(t,n,o,e):void 0);return()=>t&&t()},[n,o,e]),a.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{h(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[s,r,i]))}function Di(e,t){let{capture:n}=t||{};a.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Oi(e,{relative:t}={}){let n=a.useContext(_n);m(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=hi(`useViewTransitionState`),i=In(e,{relative:t});if(!n.isTransitioning)return!1;let o=B(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=B(n.nextLocation.pathname,r)||n.nextLocation.pathname;return R(i.pathname,s)!=null||R(i.pathname,o)!=null}function ki(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Ai(...e){return t=>{let n=!1,r=e.map(e=>{let r=ki(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():ki(e[t],null)}}}}function ji(...e){return a.useCallback(Ai(...e),e)}typeof window<`u`&&window.document&&window.document.createElement;function Mi(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var $=r();function Ni(e,t){let n=a.createContext(t),r=e=>{let{children:t,...r}=e,i=a.useMemo(()=>r,Object.values(r));return(0,$.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=a.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function Pi(e,t=[]){let n=[];function r(t,r){let i=a.createContext(r),o=n.length;n=[...n,r];let s=t=>{let{scope:n,children:r,...s}=t,c=n?.[e]?.[o]||i,l=a.useMemo(()=>s,Object.values(s));return(0,$.jsx)(c.Provider,{value:l,children:r})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[o]||i,l=a.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let i=()=>{let t=n.map(e=>a.createContext(e));return function(n){let r=n?.[e]||t;return a.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Fi(i,...t)]}function Fi(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return a.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var Ii=e(n(),1);function Li(e){let t=Ri(e),n=a.forwardRef((e,n)=>{let{children:r,...i}=e,o=a.Children.toArray(r),s=o.find(Vi);if(s){let e=s.props.children,r=o.map(t=>t===s?a.Children.count(e)>1?a.Children.only(null):a.isValidElement(e)?e.props.children:null:t);return(0,$.jsx)(t,{...i,ref:n,children:a.isValidElement(e)?a.cloneElement(e,void 0,r):null})}return(0,$.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Ri(e){let t=a.forwardRef((e,t)=>{let{children:n,...r}=e;if(a.isValidElement(n)){let e=Ui(n),i=Hi(r,n.props);return n.type!==a.Fragment&&(i.ref=t?Ai(t,e):e),a.cloneElement(n,i)}return a.Children.count(n)>1?a.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var zi=Symbol(`radix.slottable`);function Bi(e){let t=({children:e})=>(0,$.jsx)($.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=zi,t}function Vi(e){return a.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===zi}function Hi(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Ui(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Wi=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Li(`Primitive.${t}`),r=a.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,$.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Gi(e,t){e&&Ii.flushSync(()=>e.dispatchEvent(t))}function Ki(e){let t=a.useRef(e);return a.useEffect(()=>{t.current=e}),a.useMemo(()=>(...e)=>t.current?.(...e),[])}function qi(e,t=globalThis?.document){let n=Ki(e);a.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var Ji=`DismissableLayer`,Yi=`dismissableLayer.update`,Xi=`dismissableLayer.pointerDownOutside`,Zi=`dismissableLayer.focusOutside`,Qi,$i=a.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ea=a.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=a.useContext($i),[d,f]=a.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=a.useState({}),h=ji(t,e=>f(e)),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=g.indexOf(_),y=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,x=y>=v,S=ra(e=>{let t=e.target,n=[...u.branches].some(e=>e.contains(t));!x||n||(i?.(e),s?.(e),e.defaultPrevented||c?.())},p),C=ia(e=>{let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p);return qi(e=>{y===u.layers.size-1&&(r?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},p),a.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Qi=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),aa(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=Qi)}},[d,p,n,u]),a.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),aa())},[d,u]),a.useEffect(()=>{let e=()=>m({});return document.addEventListener(Yi,e),()=>document.removeEventListener(Yi,e)},[]),(0,$.jsx)(Wi.div,{...l,ref:h,style:{pointerEvents:b?x?`auto`:`none`:void 0,...e.style},onFocusCapture:Mi(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Mi(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Mi(e.onPointerDownCapture,S.onPointerDownCapture)})});ea.displayName=Ji;var ta=`DismissableLayerBranch`,na=a.forwardRef((e,t)=>{let n=a.useContext($i),r=a.useRef(null),i=ji(t,r);return a.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,$.jsx)(Wi.div,{...e,ref:i})});na.displayName=ta;function ra(e,t=globalThis?.document){let n=Ki(e),r=a.useRef(!1),i=a.useRef(()=>{});return a.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){oa(Xi,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ia(e,t=globalThis?.document){let n=Ki(e),r=a.useRef(!1);return a.useEffect(()=>{let e=e=>{e.target&&!r.current&&oa(Zi,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function aa(){let e=new CustomEvent(Yi);document.dispatchEvent(e)}function oa(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Gi(i,a):i.dispatchEvent(a)}var sa=0;function ca(){a.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??la()),document.body.insertAdjacentElement(`beforeend`,e[1]??la()),sa++,()=>{sa===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),sa--}},[])}function la(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var ua=`focusScope.autoFocusOnMount`,da=`focusScope.autoFocusOnUnmount`,fa={bubbles:!1,cancelable:!0},pa=`FocusScope`,ma=a.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[c,l]=a.useState(null),u=Ki(i),d=Ki(o),f=a.useRef(null),p=ji(t,e=>l(e)),m=a.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;a.useEffect(()=>{if(r){let e=function(e){if(m.paused||!c)return;let t=e.target;c.contains(t)?f.current=t:xa(f.current,{select:!0})},t=function(e){if(m.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||xa(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&xa(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,c,m.paused]),a.useEffect(()=>{if(c){Sa.add(m);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(ua,fa);c.addEventListener(ua,u),c.dispatchEvent(t),t.defaultPrevented||(ha(Ta(_a(c)),{select:!0}),document.activeElement===e&&xa(c))}return()=>{c.removeEventListener(ua,u),setTimeout(()=>{let t=new CustomEvent(da,fa);c.addEventListener(da,d),c.dispatchEvent(t),t.defaultPrevented||xa(e??document.body,{select:!0}),c.removeEventListener(da,d),Sa.remove(m)},0)}}},[c,u,d,m]);let h=a.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=ga(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&xa(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&xa(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,$.jsx)(Wi.div,{tabIndex:-1,...s,ref:p,onKeyDown:h})});ma.displayName=pa;function ha(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(xa(r,{select:t}),document.activeElement!==n)return}function ga(e){let t=_a(e);return[va(t,e),va(t.reverse(),e)]}function _a(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function va(e,t){for(let n of e)if(!ya(n,{upTo:t}))return n}function ya(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function ba(e){return e instanceof HTMLInputElement&&`select`in e}function xa(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&ba(e)&&t&&e.select()}}var Sa=Ca();function Ca(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=wa(e,t),e.unshift(t)},remove(t){e=wa(e,t),e[0]?.resume()}}}function wa(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ta(e){return e.filter(e=>e.tagName!==`A`)}var Ea=globalThis?.document?a.useLayoutEffect:()=>{},Da=a.useId||(()=>void 0),Oa=0;function ka(e){let[t,n]=a.useState(Da());return Ea(()=>{e||n(e=>e??String(Oa++))},[e]),e||(t?`radix-${t}`:``)}var Aa=`Portal`,ja=a.forwardRef((e,t)=>{let{container:n,...r}=e,[i,o]=a.useState(!1);Ea(()=>o(!0),[]);let s=n||i&&globalThis?.document?.body;return s?Ii.createPortal((0,$.jsx)(Wi.div,{...r,ref:t}),s):null});ja.displayName=Aa;function Ma(e,t){return a.useReducer((e,n)=>t[e][n]??e,e)}var Na=e=>{let{present:t,children:n}=e,r=Pa(t),i=typeof n==`function`?n({present:r.isPresent}):a.Children.only(n),o=ji(r.ref,Ia(i));return typeof n==`function`||r.isPresent?a.cloneElement(i,{ref:o}):null};Na.displayName=`Presence`;function Pa(e){let[t,n]=a.useState(),r=a.useRef(null),i=a.useRef(e),o=a.useRef(`none`),[s,c]=Ma(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return a.useEffect(()=>{let e=Fa(r.current);o.current=s===`mounted`?e:`none`},[s]),Ea(()=>{let t=r.current,n=i.current;if(n!==e){let r=o.current,a=Fa(t);e?c(`MOUNT`):a===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==a?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Ea(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,a=a=>{let o=Fa(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=Fa(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,a),t.addEventListener(`animationend`,a),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,a),t.removeEventListener(`animationend`,a)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:a.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Fa(e){return e?.animationName||`none`}function Ia(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var La=a.useInsertionEffect||Ea;function Ra({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,o,s]=za({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:i;{let t=a.useRef(e!==void 0);a.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,a.useCallback(t=>{if(c){let n=Ba(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s])]}function za({defaultProp:e,onChange:t}){let[n,r]=a.useState(e),i=a.useRef(n),o=a.useRef(t);return La(()=>{o.current=t},[t]),a.useEffect(()=>{i.current!==n&&(o.current?.(n),i.current=n)},[n,i]),[n,r,o]}function Ba(e){return typeof e==`function`}var Va=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ha=new WeakMap,Ua=new WeakMap,Wa={},Ga=0,Ka=function(e){return e&&(e.host||Ka(e.parentNode))},qa=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Ka(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ja=function(e,t,n,r){var i=qa(t,Array.isArray(e)?e:[e]);Wa[n]||(Wa[n]=new WeakMap);var a=Wa[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ha.get(e)||0)+1,l=(a.get(e)||0)+1;Ha.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ua.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Ga++,function(){o.forEach(function(e){var t=Ha.get(e)-1,i=a.get(e)-1;Ha.set(e,t),a.set(e,i),t||(Ua.has(e)||e.removeAttribute(r),Ua.delete(e)),i||e.removeAttribute(n)}),Ga--,Ga||(Ha=new WeakMap,Ha=new WeakMap,Ua=new WeakMap,Wa={})}},Ya=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Va(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ja(r,i,n,`aria-hidden`)):function(){return null}},Xa=function(){return Xa=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Xa.apply(this,arguments)};function Za(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Qa(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var $a=`right-scroll-bar-position`,eo=`width-before-scroll-bar`,to=`with-scroll-bars-hidden`,no=`--removed-body-scroll-bar-size`;function ro(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function io(e,t){var n=(0,a.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ao=typeof window<`u`?a.useLayoutEffect:a.useEffect,oo=new WeakMap;function so(e,t){var n=io(t||null,function(t){return e.forEach(function(e){return ro(e,t)})});return ao(function(){var t=oo.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||ro(e,null)}),i.forEach(function(e){r.has(e)||ro(e,a)})}oo.set(n,e)},[e]),n}function co(e){return e}function lo(e,t){t===void 0&&(t=co);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function uo(e){e===void 0&&(e={});var t=lo(null);return t.options=Xa({async:!0,ssr:!1},e),t}var fo=function(e){var t=e.sideCar,n=Za(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return a.createElement(r,Xa({},n))};fo.isSideCarExport=!0;function po(e,t){return e.useMedium(t),fo}var mo=uo(),ho=function(){},go=a.forwardRef(function(e,t){var n=a.useRef(null),r=a.useState({onScrollCapture:ho,onWheelCapture:ho,onTouchMoveCapture:ho}),i=r[0],o=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Za(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=so([n,t]),w=Xa(Xa({},x),i);return a.createElement(a.Fragment,null,d&&a.createElement(S,{sideCar:mo,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:o,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?a.cloneElement(a.Children.only(c),Xa(Xa({},w),{ref:C})):a.createElement(y,Xa({},w,{className:l,ref:C}),c))});go.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},go.classNames={fullWidth:eo,zeroRight:$a};var _o,vo=function(){if(_o)return _o;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function yo(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=vo();return t&&e.setAttribute(`nonce`,t),e}function bo(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function xo(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var So=function(){var e=0,t=null;return{add:function(n){e==0&&(t=yo())&&(bo(t,n),xo(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Co=function(){var e=So();return function(t,n){a.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},wo=function(){var e=Co();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},To={left:0,top:0,right:0,gap:0},Eo=function(e){return parseInt(e||``,10)||0},Do=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Eo(n),Eo(r),Eo(i)]},Oo=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return To;var t=Do(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ko=wo(),Ao=`data-scroll-locked`,jo=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
5
|
-
.${to} {
|
|
6
|
-
overflow: hidden ${r};
|
|
7
|
-
padding-right: ${s}px ${r};
|
|
8
|
-
}
|
|
9
|
-
body[${Ao}] {
|
|
10
|
-
overflow: hidden ${r};
|
|
11
|
-
overscroll-behavior: contain;
|
|
12
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
13
|
-
padding-left: ${i}px;
|
|
14
|
-
padding-top: ${a}px;
|
|
15
|
-
padding-right: ${o}px;
|
|
16
|
-
margin-left:0;
|
|
17
|
-
margin-top:0;
|
|
18
|
-
margin-right: ${s}px ${r};
|
|
19
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.${$a} {
|
|
23
|
-
right: ${s}px ${r};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.${eo} {
|
|
27
|
-
margin-right: ${s}px ${r};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.${$a} .${$a} {
|
|
31
|
-
right: 0 ${r};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.${eo} .${eo} {
|
|
35
|
-
margin-right: 0 ${r};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
body[${Ao}] {
|
|
39
|
-
${no}: ${s}px;
|
|
40
|
-
}
|
|
41
|
-
`},Mo=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},No=function(){a.useEffect(function(){return document.body.setAttribute(Ao,(Mo()+1).toString()),function(){var e=Mo()-1;e<=0?document.body.removeAttribute(Ao):document.body.setAttribute(Ao,e.toString())}},[])},Po=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;No();var o=a.useMemo(function(){return Oo(i)},[i]);return a.createElement(ko,{styles:jo(o,!t,i,n?``:`!important`)})},Fo=!1;if(typeof window<`u`)try{var Io=Object.defineProperty({},"passive",{get:function(){return Fo=!0,!0}});window.addEventListener(`test`,Io,Io),window.removeEventListener(`test`,Io,Io)}catch{Fo=!1}var Lo=Fo?{passive:!1}:!1,Ro=function(e){return e.tagName===`TEXTAREA`},zo=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Ro(e)&&n[t]===`visible`)},Bo=function(e){return zo(e,`overflowY`)},Vo=function(e){return zo(e,`overflowX`)},Ho=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Go(e,r)){var i=Ko(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Uo=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Wo=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Go=function(e,t){return e===`v`?Bo(t):Vo(t)},Ko=function(e,t){return e===`v`?Uo(t):Wo(t)},qo=function(e,t){return e===`h`&&t===`rtl`?-1:1},Jo=function(e,t,n,r,i){var a=qo(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Ko(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Go(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Yo=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Xo=function(e){return[e.deltaX,e.deltaY]},Zo=function(e){return e&&`current`in e?e.current:e},Qo=function(e,t){return e[0]===t[0]&&e[1]===t[1]},$o=function(e){return`
|
|
42
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
43
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
44
|
-
`},es=0,ts=[];function ns(e){var t=a.useRef([]),n=a.useRef([0,0]),r=a.useRef(),i=a.useState(es++)[0],o=a.useState(wo)[0],s=a.useRef(e);a.useEffect(function(){s.current=e},[e]),a.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Qa([e.lockRef.current],(e.shards||[]).map(Zo),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=a.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=Yo(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Ho(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Ho(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Jo(h,t,e,h===`h`?o:c,!0)},[]),l=a.useCallback(function(e){var n=e;if(!(!ts.length||ts[ts.length-1]!==o)){var r=`deltaY`in n?Xo(n):Yo(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Qo(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var a=(s.current.shards||[]).map(Zo).filter(Boolean).filter(function(e){return e.contains(n.target)});(a.length>0?c(n,a[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=a.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:rs(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=a.useCallback(function(e){n.current=Yo(e),r.current=void 0},[]),f=a.useCallback(function(t){u(t.type,Xo(t),t.target,c(t,e.lockRef.current))},[]),p=a.useCallback(function(t){u(t.type,Yo(t),t.target,c(t,e.lockRef.current))},[]);a.useEffect(function(){return ts.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,Lo),document.addEventListener(`touchmove`,l,Lo),document.addEventListener(`touchstart`,d,Lo),function(){ts=ts.filter(function(e){return e!==o}),document.removeEventListener(`wheel`,l,Lo),document.removeEventListener(`touchmove`,l,Lo),document.removeEventListener(`touchstart`,d,Lo)}},[]);var m=e.removeScrollBar,h=e.inert;return a.createElement(a.Fragment,null,h?a.createElement(o,{styles:$o(i)}):null,m?a.createElement(Po,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function rs(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var is=po(mo,ns),as=a.forwardRef(function(e,t){return a.createElement(go,Xa({},e,{ref:t,sideCar:is}))});as.classNames=go.classNames;var os=`Dialog`,[ss,cs]=Pi(os),[ls,us]=ss(os),ds=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:s=!0}=e,c=a.useRef(null),l=a.useRef(null),[u,d]=Ra({prop:r,defaultProp:i??!1,onChange:o,caller:os});return(0,$.jsx)(ls,{scope:t,triggerRef:c,contentRef:l,contentId:ka(),titleId:ka(),descriptionId:ka(),open:u,onOpenChange:d,onOpenToggle:a.useCallback(()=>d(e=>!e),[d]),modal:s,children:n})};ds.displayName=os;var fs=`DialogTrigger`,ps=a.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=us(fs,n),a=ji(t,i.triggerRef);return(0,$.jsx)(Wi.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Ns(i.open),...r,ref:a,onClick:Mi(e.onClick,i.onOpenToggle)})});ps.displayName=fs;var ms=`DialogPortal`,[hs,gs]=ss(ms,{forceMount:void 0}),_s=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=us(ms,t);return(0,$.jsx)(hs,{scope:t,forceMount:n,children:a.Children.map(r,e=>(0,$.jsx)(Na,{present:n||o.open,children:(0,$.jsx)(ja,{asChild:!0,container:i,children:e})}))})};_s.displayName=ms;var vs=`DialogOverlay`,ys=a.forwardRef((e,t)=>{let n=gs(vs,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=us(vs,e.__scopeDialog);return a.modal?(0,$.jsx)(Na,{present:r||a.open,children:(0,$.jsx)(xs,{...i,ref:t})}):null});ys.displayName=vs;var bs=Li(`DialogOverlay.RemoveScroll`),xs=a.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=us(vs,n);return(0,$.jsx)(as,{as:bs,allowPinchZoom:!0,shards:[i.contentRef],children:(0,$.jsx)(Wi.div,{"data-state":Ns(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),Ss=`DialogContent`,Cs=a.forwardRef((e,t)=>{let n=gs(Ss,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=us(Ss,e.__scopeDialog);return(0,$.jsx)(Na,{present:r||a.open,children:a.modal?(0,$.jsx)(ws,{...i,ref:t}):(0,$.jsx)(Ts,{...i,ref:t})})});Cs.displayName=Ss;var ws=a.forwardRef((e,t)=>{let n=us(Ss,e.__scopeDialog),r=a.useRef(null),i=ji(t,n.contentRef,r);return a.useEffect(()=>{let e=r.current;if(e)return Ya(e)},[]),(0,$.jsx)(Es,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Mi(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Mi(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Mi(e.onFocusOutside,e=>e.preventDefault())})}),Ts=a.forwardRef((e,t)=>{let n=us(Ss,e.__scopeDialog),r=a.useRef(!1),i=a.useRef(!1);return(0,$.jsx)(Es,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Es=a.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,c=us(Ss,n),l=a.useRef(null),u=ji(t,l);return ca(),(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ma,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:(0,$.jsx)(ea,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":Ns(c.open),...s,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ls,{titleId:c.titleId}),(0,$.jsx)(zs,{contentRef:l,descriptionId:c.descriptionId})]})]})}),Ds=`DialogTitle`,Os=a.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=us(Ds,n);return(0,$.jsx)(Wi.h2,{id:i.titleId,...r,ref:t})});Os.displayName=Ds;var ks=`DialogDescription`,As=a.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=us(ks,n);return(0,$.jsx)(Wi.p,{id:i.descriptionId,...r,ref:t})});As.displayName=ks;var js=`DialogClose`,Ms=a.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=us(js,n);return(0,$.jsx)(Wi.button,{type:`button`,...r,ref:t,onClick:Mi(e.onClick,()=>i.onOpenChange(!1))})});Ms.displayName=js;function Ns(e){return e?`open`:`closed`}var Ps=`DialogTitleWarning`,[Fs,Is]=Ni(Ps,{contentName:Ss,titleName:Ds,docsSlug:`dialog`}),Ls=({titleId:e})=>{let t=Is(Ps),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
45
|
-
|
|
46
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
47
|
-
|
|
48
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return a.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},Rs=`DialogDescriptionWarning`,zs=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Is(Rs).contentName}}.`;return a.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},Bs=ds,Vs=_s,Hs=ys,Us=Cs,Ws=Os,Gs=As,Ks=Ms;export{gr as A,Pi as C,ui as D,ji as E,jn as F,Fn as I,vi as L,C as M,ai as N,di as O,Q as P,Bi as S,Ai as T,ea as _,Vs as a,Gi as b,as as c,Na as d,ja as f,ca as g,ma as h,Hs as i,dr as j,hr as k,Ya as l,Ea as m,Us as n,Bs as o,ka as p,Gs as r,Ws as s,Ks as t,Ra as u,Ki as v,Mi as w,Li as x,Wi as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{I as i}from"./dist-C57OMHW8.js";import{In as a,Sn as o,n as s,xn as c}from"./index-Y-iqo-gL.js";var l=n(),u=e(t(),1),d=r();function f(){let e=(0,l.c)(26),{extensionId:t,pageId:n}=i(),r=o(),f=a(m),g=a(p),_,v,y;e[0]!==t||e[1]!==r||e[2]!==n?(_=t?r.find(e=>e.id===t&&c(e)):void 0,v=_?.ui?.contributions?.pages,y=t&&v?.length?n?v.find(e=>e.id===n||e.id===`${t}.${n}`):v[0]:void 0,e[0]=t,e[1]=r,e[2]=n,e[3]=_,e[4]=v,e[5]=y):(_=e[3],v=e[4],y=e[5]);let b=y,x,S;if(e[6]!==g||e[7]!==_||e[8]!==t||e[9]!==b||e[10]!==f?(x=()=>{if(!t||!_||!b)return g(),()=>g();let e=b.title?.trim()||_.name||t;return f({startExtra:null,main:(0,d.jsx)(`div`,{className:`w-full min-w-0 px-3 sm:px-5 xl:px-6`,children:(0,d.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold tracking-tight text-fg`,title:e,children:e})}),end:null}),()=>g()},S=[g,_,t,b,f],e[6]=g,e[7]=_,e[8]=t,e[9]=b,e[10]=f,e[11]=x,e[12]=S):(x=e[11],S=e[12]),(0,u.useLayoutEffect)(x,S),!t){let t;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,d.jsx)(h,{message:`No extension ID provided.`}),e[13]=t):t=e[13],t}if(!_){let n=`Extension "${t}" not found or has no UI.`,r;return e[14]===n?r=e[15]:(r=(0,d.jsx)(h,{message:n}),e[14]=n,e[15]=r),r}if(!v?.length){let n=`Extension "${t}" has no page contributions.`,r;return e[16]===n?r=e[17]:(r=(0,d.jsx)(h,{message:n}),e[16]=n,e[17]=r),r}if(!b){let r=`Page "${n}" not found in extension "${t}".`,i;return e[18]===r?i=e[19]:(i=(0,d.jsx)(h,{message:r}),e[18]=r,e[19]=i),i}let C=_.ui?.permissions,w;return e[20]!==_.name||e[21]!==t||e[22]!==b.entrypoint||e[23]!==b.title||e[24]!==C?(w=(0,d.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,d.jsx)(s,{extensionId:t,extensionName:_.name,entrypoint:b.entrypoint,permissions:C,title:b.title,className:`min-h-0 flex-1`,fixedHeight:void 0,maxHeight:99999})}),e[20]=_.name,e[21]=t,e[22]=b.entrypoint,e[23]=b.title,e[24]=C,e[25]=w):w=e[25],w}function p(e){return e.clearPageHeader}function m(e){return e.setPageHeader}function h(e){let t=(0,l.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,d.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-1 items-center justify-center`,children:(0,d.jsx)(`div`,{className:`text-center`,children:(0,d.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})})}),t[0]=n,t[1]=r),r}export{f as ExtensionPage};
|