coding-tool-x 3.8.6 → 3.8.8
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/dist/web/assets/{AgentsDrawer-Db9wAyaZ.js → AgentsDrawer-DRQuwi0m.js} +1 -1
- package/dist/web/assets/Analytics-Cf5KwEdj.js +1 -0
- package/dist/web/assets/AssetPathField-DyniM0pF.js +1 -0
- package/dist/web/assets/{ChatHistoryDrawer-CwzJHyNP.js → ChatHistoryDrawer-CrfS0KYV.js} +1 -1
- package/dist/web/assets/{CollapseItem-CTCfSiue.js → CollapseItem-ClMsJuUu.js} +1 -1
- package/dist/web/assets/{CommandsDrawer-vDghB1U9.js → CommandsDrawer-CzHelf56.js} +1 -1
- package/dist/web/assets/ConfigExportDrawer-BEZ8wTby.js +1 -0
- package/dist/web/assets/ConfigTemplates-Crg3xWe5.js +1 -0
- package/dist/web/assets/{ConfigTemplatesDrawer-CbsJp76X.js → ConfigTemplatesDrawer-BqM32Im7.js} +1 -1
- package/dist/web/assets/{ConfigTemplatesPanel-liMSTh7s.js → ConfigTemplatesPanel-lTdutC8H.js} +1 -1
- package/dist/web/assets/{Divider-D28g1gwj.js → Divider-DsdbkHrG.js} +1 -1
- package/dist/web/assets/{FavoritesDrawer-D6QSiYaL.js → FavoritesDrawer-DDyWUBJR.js} +1 -1
- package/dist/web/assets/Forward-DLCL7aMY.js +1 -0
- package/dist/web/assets/{GatewayConvertDrawer-RvET6iNG.js → GatewayConvertDrawer-Rigtt_5J.js} +1 -1
- package/dist/web/assets/Home-tCSKmSHV.js +1 -0
- package/dist/web/assets/{MarkdownEditor-CYmLGYju.js → MarkdownEditor-BMMUufSc.js} +1 -1
- package/dist/web/assets/McpDrawer-CmE-d7VW.js +1 -0
- package/dist/web/assets/{McpFormDrawer-BcTlgSpN.js → McpFormDrawer-ByvS18od.js} +1 -1
- package/dist/web/assets/{PluginManager-Dh2o0xkZ.js → PluginManager-C4kJlpVX.js} +1 -1
- package/dist/web/assets/{PluginsDrawer-deKQ5u3I.js → PluginsDrawer-05R4k15x.js} +1 -1
- package/dist/web/assets/PluginsPanel-BCoEs7Og.js +1 -0
- package/dist/web/assets/PluginsPanel-CzGMK-Ap.css +1 -0
- package/dist/web/assets/ProjectList-BJt1OIaI.js +1 -0
- package/dist/web/assets/ProjectList-DG3yu8xZ.css +1 -0
- package/dist/web/assets/PromptsDrawer-DnwBf_oW.js +1 -0
- package/dist/web/assets/RecentSessionsDrawer-B7d-38wH.js +1 -0
- package/dist/web/assets/RecentSessionsDrawer-yrAD4p1A.css +1 -0
- package/dist/web/assets/SessionCard-BUgjHQwX.js +1 -0
- package/dist/web/assets/SessionList-B-bXZRFk.js +1 -0
- package/dist/web/assets/SessionList-qG_XpPBJ.css +1 -0
- package/dist/web/assets/{SettingsDrawer-u_vwUuPS.js → SettingsDrawer-BITzjQLl.js} +1 -1
- package/dist/web/assets/SkillManager-D9jkNuRM.js +1 -0
- package/dist/web/assets/{SkillsDrawer-CkF3BpyC.js → SkillsDrawer-0Z4IefxC.js} +1 -1
- package/dist/web/assets/SkillsPanel-BKIVOj7n.js +1 -0
- package/dist/web/assets/{SkillsPanel-B3Nm5j32.css → SkillsPanel-C4ke56nF.css} +1 -1
- package/dist/web/assets/{SpeedTestDrawer-BgfG1Ked.js → SpeedTestDrawer-Bx1bYf5i.js} +1 -1
- package/dist/web/assets/Upload-CzC4rGI4.js +1 -0
- package/dist/web/assets/{WorkspaceDrawer-Br5CeCzL.js → WorkspaceDrawer-eujtWpoq.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-B2O8-qIw.js → WorkspaceManager-CQ-8Ej68.js} +1 -1
- package/dist/web/assets/{WorkspacePanel-5oDKit3c.js → WorkspacePanel-Cql5qE2R.js} +1 -1
- package/dist/web/assets/headers-BqDmkMjy.js +1 -0
- package/dist/web/assets/{icons-B2Vg-IOC.js → icons-DmFe4b5j.js} +1 -1
- package/dist/web/assets/index-Cmmwj3Fx.js +2 -0
- package/dist/web/assets/{index-Bi1MQHYX.css → index-Cnbe696C.css} +1 -1
- package/dist/web/assets/{light-Cp0t7v32.js → light-0eavxNvt.js} +1 -1
- package/dist/web/assets/platforms-BmzzwnSw.js +1 -0
- package/dist/web/assets/platforms-DWXgmy2w.js +1 -0
- package/dist/web/assets/session-visibility-BAmxh3cK.js +1 -0
- package/dist/web/assets/sessions-D4yQtfKb.js +1 -0
- package/dist/web/assets/sessions-DqlbocLJ.js +1 -0
- package/dist/web/assets/use-message-DqCwefG6.js +1 -0
- package/dist/web/assets/{useResponsiveDrawer-jbmqZuJs.js → useResponsiveDrawer-DZd5rNk5.js} +1 -1
- package/dist/web/index.html +7 -7
- package/package.json +1 -1
- package/src/commands/search.js +17 -2
- package/src/config/paths.js +2 -0
- package/src/platforms/driver-registry.js +9 -1
- package/src/platforms/drivers/claude/session-history-adapter.js +72 -1
- package/src/platforms/drivers/claude/sessions-implementation.js +49 -7
- package/src/platforms/drivers/claude/sessions.js +30 -6
- package/src/platforms/drivers/codex/parser.js +57 -1
- package/src/platforms/drivers/codex/session-history-adapter.js +8 -2
- package/src/platforms/drivers/codex/sessions-implementation.js +25 -3
- package/src/platforms/drivers/codex/sessions.js +18 -1
- package/src/platforms/drivers/dsh/api-operations.js +396 -0
- package/src/platforms/drivers/dsh/channels-implementation.js +458 -0
- package/src/platforms/drivers/dsh/channels.js +191 -0
- package/src/platforms/drivers/dsh/common.js +571 -0
- package/src/platforms/drivers/dsh/native-config.js +93 -0
- package/src/platforms/drivers/dsh/native-logs.js +116 -0
- package/src/platforms/drivers/dsh/plugin-manager.js +117 -0
- package/src/platforms/drivers/dsh/projects.js +23 -0
- package/src/platforms/drivers/dsh/proxy-implementation.js +260 -0
- package/src/platforms/drivers/dsh/proxy.js +23 -0
- package/src/platforms/drivers/dsh/resources.js +346 -0
- package/src/platforms/drivers/dsh/sessions.js +587 -0
- package/src/platforms/drivers/dsh/statistics-implementation.js +238 -0
- package/src/platforms/drivers/dsh/statistics.js +24 -0
- package/src/platforms/drivers/gemini/session-history-adapter.js +49 -1
- package/src/platforms/drivers/gemini/sessions-implementation.js +46 -1
- package/src/platforms/drivers/gemini/sessions.js +2 -1
- package/src/platforms/drivers/omp/session-history-adapter.js +42 -1
- package/src/platforms/drivers/omp/sessions-implementation.js +51 -3
- package/src/platforms/drivers/omp/sessions.js +33 -2
- package/src/platforms/drivers/opencode/sessions-implementation.js +89 -9
- package/src/platforms/drivers/opencode/sessions.js +37 -1
- package/src/platforms/manifest-schema.js +43 -3
- package/src/platforms/manifests/dsh.json +542 -0
- package/src/platforms/path-resolver.js +2 -0
- package/src/platforms/platform-path-context.js +12 -2
- package/src/platforms/registry.js +16 -1
- package/src/platforms/runtime.js +5 -0
- package/src/platforms/session-history-adapters.js +1 -0
- package/src/server/api/platform-api-config.js +23 -2
- package/src/server/api/platform-route-factory.js +9 -2
- package/src/server/api/platforms.js +19 -1
- package/src/server/api/plugins.js +108 -13
- package/src/server/services/config-registry-service.js +10 -1
- package/src/server/services/config-templates-service.js +1 -0
- package/src/server/services/plugins-service.js +474 -103
- package/src/server/services/session-history-index.js +900 -140
- package/src/server/services/session-history-worker.js +3 -1
- package/src/server/services/skill-service.js +214 -7
- package/src/server/services/usage-log-utils.js +1 -0
- package/src/server/services/workspace-service.js +39 -10
- package/src/shared/channel-driver.js +80 -5
- package/src/shared/driver-factories/api.js +22 -6
- package/src/shared/driver-factories/projects.js +8 -0
- package/dist/web/assets/Analytics-C4gMzv7g.js +0 -1
- package/dist/web/assets/AssetPathField-Bd_nMFu3.js +0 -1
- package/dist/web/assets/ConfigExportDrawer-C-XDvlHc.js +0 -1
- package/dist/web/assets/ConfigTemplates-CYY8XRED.js +0 -1
- package/dist/web/assets/Home-P8eseZcf.js +0 -1
- package/dist/web/assets/McpDrawer-Ch3bkKIq.js +0 -1
- package/dist/web/assets/PluginsPanel-BofsgQgj.js +0 -1
- package/dist/web/assets/PluginsPanel-D6ZqITcR.css +0 -1
- package/dist/web/assets/ProjectList-677RLZ8O.css +0 -1
- package/dist/web/assets/ProjectList-DhSWJHTA.js +0 -1
- package/dist/web/assets/PromptsDrawer-Cfb2FeeU.js +0 -1
- package/dist/web/assets/RecentSessionsDrawer-3eXamJhr.js +0 -1
- package/dist/web/assets/RecentSessionsDrawer-CKFsOYDM.css +0 -1
- package/dist/web/assets/SessionCard-CW0eHURI.js +0 -1
- package/dist/web/assets/SessionList-BpYRz1cX.css +0 -1
- package/dist/web/assets/SessionList-DQfyDGWU.js +0 -1
- package/dist/web/assets/SkillManager-DHMprJLA.js +0 -1
- package/dist/web/assets/SkillsPanel-DWE4pFGx.js +0 -1
- package/dist/web/assets/Upload-CNwaGOws.js +0 -1
- package/dist/web/assets/headers-cf-QapUq.js +0 -1
- package/dist/web/assets/index-BMAUPq5K.js +0 -2
- package/dist/web/assets/platforms-CBkB45JP.js +0 -1
- package/dist/web/assets/platforms-FTpjxAT6.js +0 -1
- package/dist/web/assets/sessions-Cmy31slD.js +0 -1
- package/dist/web/assets/sessions-yC_oVVh8.js +0 -1
- package/dist/web/assets/use-message-DoLM8C1C.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.header-button[data-v-b515354d]{border:1px solid var(--border-primary);background:var(--bg-elevated);cursor:pointer;border-radius:999px;outline:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:inline-flex;box-shadow:0 10px 24px #0f171d14}.header-button[data-v-b515354d] .n-icon{color:var(--text-tertiary);transition:all .2s}.header-button[data-v-b515354d]:hover:not(.disabled){background:color-mix(in srgb, var(--bg-elevated) 90%, var(--primary-color) 10%);border-color:#18a0583d;box-shadow:0 14px 30px #0f171d1f}.header-button[data-v-b515354d]:hover:not(.disabled) .n-icon{color:var(--primary-color,#18a058)}.header-button[data-v-b515354d]:active:not(.disabled){transform:scale(.95)}.header-button.active[data-v-b515354d]{background:linear-gradient(135deg,#18a05824,#18a0580f);border-color:#18a05852}.header-button.active[data-v-b515354d] .n-icon{color:#18a058!important}.header-button.disabled[data-v-b515354d]{cursor:not-allowed;opacity:.5}[data-theme=dark] .header-button[data-v-b515354d]{box-shadow:none;background:#0d171eeb;border-color:#364c56e6}[data-theme=dark] .header-button[data-v-b515354d]:hover:not(.disabled){background:#14222afa;border-color:#18a05847;box-shadow:0 0 0 1px #18a05814}.modal-header[data-v-7ea71ef7]{align-items:center;gap:10px;display:flex}.warning-icon[data-v-7ea71ef7]{color:#f59e0b}.header-title[data-v-7ea71ef7]{color:var(--text-primary);font-size:16px;font-weight:600}.modal-content[data-v-7ea71ef7]{padding:4px 0}.desc-text[data-v-7ea71ef7]{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.6}.conflict-list[data-v-7ea71ef7]{background:var(--bg-tertiary);border-radius:6px;padding:12px}.list-header[data-v-7ea71ef7]{border-bottom:1px solid var(--border-primary);align-items:center;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.selected-hint[data-v-7ea71ef7]{color:var(--text-tertiary);font-size:12px}.conflict-items[data-v-7ea71ef7]{flex-direction:column;gap:8px;display:flex}.conflict-item[data-v-7ea71ef7]{background:var(--bg-secondary);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.conflict-item[data-v-7ea71ef7]:hover{background:#18a05805;border-color:#18a05866}.conflict-item.selected[data-v-7ea71ef7]{background:#18a0580f;border-color:#18a058}.item-content[data-v-7ea71ef7]{flex:1;min-width:0}.item-header[data-v-7ea71ef7]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.var-name[data-v-7ea71ef7]{color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-size:13px;font-weight:600}.var-value[data-v-7ea71ef7]{color:var(--text-secondary);word-break:break-all;margin-bottom:4px;font-family:SF Mono,Monaco,monospace;font-size:12px}.var-source[data-v-7ea71ef7]{color:var(--text-tertiary);font-size:11px}.source-label[data-v-7ea71ef7]{color:var(--text-quaternary)}.modal-footer[data-v-7ea71ef7]{justify-content:flex-end;gap:8px;display:flex}.process-env-alert[data-v-7ea71ef7]{margin-bottom:16px}.alert-content[data-v-7ea71ef7]{font-size:12px;line-height:1.6}.alert-title[data-v-7ea71ef7]{margin:0 0 8px;font-weight:500}.alert-list[data-v-7ea71ef7]{margin:0;padding-left:20px}.alert-list li[data-v-7ea71ef7]{margin:4px 0}.alert-list code[data-v-7ea71ef7]{background:var(--bg-tertiary);color:#18a058;border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace;font-size:11px}.alert-hint[data-v-7ea71ef7]{color:var(--text-tertiary);margin:8px 0 0;font-size:11px}.channel-card[data-v-88bb1df0]{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;transition:all .2s}.channel-card[data-v-88bb1df0]:hover{border-color:var(--border-secondary)}.channel-header[data-v-88bb1df0]{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.channel-title[data-v-88bb1df0]{flex:auto;align-items:center;gap:6px;min-width:0;margin-right:0;display:flex}.channel-name[data-v-88bb1df0]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.channel-title[data-v-88bb1df0] .n-tag{flex-shrink:0;padding:0 5px;font-size:11px}.collapse-btn[data-v-88bb1df0]{flex-shrink:0}.collapse-btn .n-icon.collapsed[data-v-88bb1df0]{transform:rotate(-90deg)}.channel-actions[data-v-88bb1df0]{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:4px;max-width:100%;margin-left:auto;display:flex}.channel-actions[data-v-88bb1df0] .n-button{min-width:0;height:22px;padding:0 5px;font-size:11px}.channel-actions[data-v-88bb1df0] .n-button__content{gap:2px}.channel-actions[data-v-88bb1df0] .n-button__icon{margin:0}.apply-btn[data-v-88bb1df0]{display:none}.channel-card:hover .apply-btn[data-v-88bb1df0]{display:inline-flex}.test-result[data-v-88bb1df0]{border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);padding:10px 16px}.test-result.success[data-v-88bb1df0]{background:#18a0580f;border-left:3px solid #18a058}.test-result.failed[data-v-88bb1df0]{background:#f56c6c0f;border-left:3px solid #f56c6c}.test-result-header[data-v-88bb1df0]{align-items:center;gap:12px;display:flex}.test-result-status[data-v-88bb1df0]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.test-result.success .test-result-status[data-v-88bb1df0]{color:#18a058}.test-result.failed .test-result-status[data-v-88bb1df0]{color:#f56c6c}.test-result-info[data-v-88bb1df0]{flex:1;align-items:center;gap:10px;display:flex}.test-result-info .latency[data-v-88bb1df0]{color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px;padding:2px 8px;font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:600}.test-result-info .status-code[data-v-88bb1df0]{color:var(--text-tertiary);font-family:SF Mono,Monaco,monospace;font-size:11px}.test-result-error[data-v-88bb1df0]{color:#f56c6c;word-break:break-word;background:#f56c6c14;border-radius:4px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.4}.channel-info[data-v-88bb1df0]{padding:12px 16px}.info-main[data-v-88bb1df0]{flex-direction:column;gap:8px;display:flex}.info-row[data-v-88bb1df0]{align-items:center;gap:12px;display:flex}.info-row .label[data-v-88bb1df0]{min-width:80px;font-size:13px}.info-row .value[data-v-88bb1df0]{flex:1;font-size:13px}.info-row .value.mono[data-v-88bb1df0]{font-family:SF Mono,Monaco,monospace}.info-footer[data-v-88bb1df0]{border-top:1px solid var(--border-primary);justify-content:space-between;align-items:center;margin-top:12px;padding-top:8px;display:flex}.footer-spacer[data-v-88bb1df0]{flex:1}.channel-meta[data-v-88bb1df0]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:12px;display:flex}.balance-meta-tag[data-v-88bb1df0]{cursor:pointer;flex-shrink:0;max-width:140px}.balance-meta-tag[data-v-88bb1df0] .n-tag__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-item[data-v-88bb1df0]{color:var(--text-tertiary);white-space:nowrap}.meta-value[data-v-88bb1df0]{color:var(--text-secondary);font-weight:500}.meta-active[data-v-88bb1df0]{color:#18a058}@media (width<=1024px){.channel-header[data-v-88bb1df0],.channel-info[data-v-88bb1df0]{padding:10px 12px}.channel-actions[data-v-88bb1df0]{gap:6px}.info-row[data-v-88bb1df0]{gap:8px}.info-row .label[data-v-88bb1df0]{min-width:70px;font-size:12px}.info-row .value[data-v-88bb1df0]{font-size:12px}.channel-meta[data-v-88bb1df0]{gap:12px}}@media (width<=768px){.channel-header[data-v-88bb1df0]{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.channel-title[data-v-88bb1df0]{margin-right:0}.channel-actions[data-v-88bb1df0]{justify-content:space-between}.channel-actions[data-v-88bb1df0] .n-button{padding:0 8px;font-size:12px}.channel-info[data-v-88bb1df0]{padding:8px 10px}.info-row[data-v-88bb1df0]{flex-direction:column;align-items:flex-start;gap:4px}.info-row .label[data-v-88bb1df0]{min-width:auto}.info-footer[data-v-88bb1df0]{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}.channel-meta[data-v-88bb1df0]{justify-content:flex-start;align-self:stretch;gap:8px 12px}}@media (width<=640px){.channel-card[data-v-88bb1df0]{border-radius:6px}.channel-header[data-v-88bb1df0]{padding:6px 8px}.channel-name[data-v-88bb1df0]{min-width:0;font-size:12px}.channel-title[data-v-88bb1df0]{min-width:0}.channel-title[data-v-88bb1df0] .n-tag{font-size:10px}.channel-info[data-v-88bb1df0]{padding:6px 8px}.info-row .label[data-v-88bb1df0],.info-row .value[data-v-88bb1df0]{font-size:11px}.channel-actions[data-v-88bb1df0] .n-button{height:24px;padding:0 6px;font-size:11px}.channel-meta[data-v-88bb1df0]{font-size:11px}}@media (width<=480px){.channel-header[data-v-88bb1df0],.channel-info[data-v-88bb1df0]{padding:4px 6px}.channel-actions[data-v-88bb1df0]{gap:4px}.channel-actions[data-v-88bb1df0] .n-button{min-width:0;height:22px;padding:0 4px;font-size:10px}}.model-redirect-editor[data-v-8ebdcad0]{width:100%}.redirect-row[data-v-8ebdcad0]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.redirect-input[data-v-8ebdcad0]{flex:1;min-width:0}.redirect-arrow[data-v-8ebdcad0]{flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.add-btn[data-v-8ebdcad0]{width:100%;margin-top:4px}.channel-auth-section[data-v-8fcf77d4]{gap:10px;width:100%;display:grid}.oauth-content[data-v-8fcf77d4],.oauth-quota[data-v-8fcf77d4]{gap:8px;display:grid}.oauth-meta[data-v-8fcf77d4]{color:var(--text-color-3)}.oauth-quota[data-v-8fcf77d4]{grid-template-columns:repeat(3,auto);align-items:center}.loading-container{justify-content:center;align-items:center;padding:80px 0;display:flex}.empty-state{justify-content:center;align-items:center;min-height:200px;display:flex}.model-catalog-control{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-3px 0 10px;font-size:12px;line-height:1.45;display:flex}.model-catalog-status{color:var(--n-text-color-3)}.model-catalog-status.is-loading{color:var(--n-info-color,var(--n-text-color-3))}.model-catalog-status.is-error{color:var(--n-error-color,#d03050)}.channels-list{flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.channel-card{border:1px solid var(--n-divider-color);background:var(--bg-secondary);border-left:3px solid #18a058;border-radius:6px;padding:10px 12px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.channel-card.active{border-color:var(--n-primary-color);background:var(--n-primary-color-suppl,#18a05814);box-shadow:0 2px 8px #18a0581a}.channel-card:hover{border-color:var(--n-border-color);box-shadow:0 2px 8px #00000014}.channel-card.disabled{opacity:.6;border-left-color:#909399}.channel-card.status-frozen{background:linear-gradient(90deg,#d0305014 0%,#0000 100%);border-left-color:#d03050}.channel-card.status-checking{background:linear-gradient(90deg,#f0a02014 0%,#0000 100%);border-left-color:#f0a020}.channel-card.collapsed .channel-info{display:none}.channel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.channel-title{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.channel-name{color:var(--n-text-color);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.channel-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.channel-actions .apply-btn{opacity:0;transition:opacity .2s}.channel-card:hover .channel-actions .apply-btn{opacity:1}.channel-actions .n-switch{margin-left:2px}.channel-info{border-top:1px dashed var(--n-border-color);margin-top:8px;padding-top:8px}.info-main{flex-direction:column;gap:4px;display:flex}.info-row{align-items:center;gap:8px;display:flex}.label{color:var(--n-text-color-3);flex-shrink:0;width:56px;font-size:11px}.value{color:var(--n-text-color-2);word-break:break-word;flex:1;font-size:12px}.value.mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.info-footer{border-top:1px dashed var(--n-border-color);align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.footer-spacer{flex:1}.channel-meta{flex-shrink:0;gap:12px;display:flex}.meta-item{color:var(--n-text-color-3);white-space:nowrap;font-size:11px}.meta-value{color:#18a058;font-weight:600}.meta-value.meta-active{color:#f0a020;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.collapse-btn{align-items:center;padding:0;display:flex}.collapse-btn .n-icon{transition:transform .2s}.collapse-btn .n-icon.collapsed{transform:rotate(-90deg)}.dialog-footer{justify-content:flex-end;gap:8px;display:flex}.channel-form{padding:0}.form-section{background:var(--n-color);border:1px solid var(--n-border-color);border-radius:6px;margin-bottom:10px;padding:12px}.form-section:last-child{margin-bottom:0}.section-title{color:var(--n-text-color);border-bottom:1px solid var(--n-border-color);align-items:center;gap:6px;margin-bottom:10px;padding-bottom:6px;font-size:12px;font-weight:600;display:flex}.section-desc{color:var(--n-text-color-3);font-size:11px;font-weight:400}.form-section.collapsible{background:var(--n-color-hover)}.channel-form .n-radio-group{width:100%}.channel-form .n-radio-group .n-space{gap:16px;width:100%;display:flex}.channel-form .n-radio{border:1px solid var(--n-border-color);border-radius:6px;flex:1;justify-content:center;padding:8px 16px;transition:all .2s;display:flex}.channel-form .n-radio:hover,.channel-form .n-radio.n-radio--checked{border-color:var(--n-primary-color);background:var(--n-primary-color-suppl,#18a05814)}.channel-form .n-form-item{margin-bottom:10px}.channel-form .n-form-item:last-child{margin-bottom:0}.channel-form .n-form-item-label{padding-bottom:0;font-size:12px}.auth-provider-status{flex-direction:column;justify-content:center;gap:6px;width:100%;min-height:28px;display:flex}.auth-provider-tags{min-height:24px}.auth-provider-message{color:var(--n-text-color-3);font-size:12px;line-height:1.45}.auth-provider-message.warning{color:#c97a00}.model-definitions-editor[data-v-95ee536c]{width:100%}.model-definitions-toolbar[data-v-95ee536c]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.proxy-logs[data-v-b403c421]{background:#fff;border-top:1px solid #e5e7eb;flex-direction:column;height:100%;display:flex}[data-theme=dark] .proxy-logs[data-v-b403c421]{background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.logs-header[data-v-b403c421]{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}[data-theme=dark] .logs-header[data-v-b403c421]{border-bottom:1px solid var(--border-primary)}.header-left[data-v-b403c421]{align-items:center;gap:12px;display:flex}.title[data-v-b403c421]{color:#18181b;margin:0;font-size:14px;font-weight:600}[data-theme=dark] .title[data-v-b403c421]{color:var(--text-primary)}.today-stats[data-v-b403c421]{align-items:center;gap:6px;display:flex}.today-stats[data-v-b403c421] .n-tag{padding:2px 8px;font-size:11px;font-weight:600}.logs-table[data-v-b403c421]{flex-direction:column;flex:1;display:flex;overflow:hidden}.table-header[data-v-b403c421]{color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600;display:flex}[data-theme=dark] .table-header[data-v-b403c421]{border-bottom:1px solid var(--border-primary);color:var(--text-tertiary);background:#ffffff05}.table-body[data-v-b403c421]{flex:1;min-height:0;padding-bottom:40px;scroll-padding-bottom:40px;overflow:hidden auto}.table-row[data-v-b403c421]{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:8px 12px;font-size:12px;transition:background-color .2s;display:flex;position:relative}[data-theme=dark] .table-row[data-v-b403c421]{border-bottom:1px solid #ffffff0a}.table-row[data-v-b403c421]:hover{background:#f9fafb}[data-theme=dark] .table-row[data-v-b403c421]:hover{background:#ffffff0a}.table-row.new-log[data-v-b403c421],.action-row.new-log[data-v-b403c421]{border-left:3px solid #18a058;padding-left:9px;animation:4.5s cubic-bezier(.25,.46,.45,.94) forwards newLogPulse-b403c421}@keyframes newLogPulse-b403c421{0%{background:linear-gradient(90deg,#18a05826 0%,#18a0580f 100%);box-shadow:0 0 8px #18a05833}5%{background:linear-gradient(90deg,#18a0582e 0%,#18a05814 100%);box-shadow:0 0 12px 1px #18a05840}15%{background:linear-gradient(90deg,#18a05829 0%,#18a05812 100%);box-shadow:0 0 10px 1px #18a05833}30%{background:linear-gradient(90deg,#18a0581f 0%,#18a0580d 100%);box-shadow:0 0 6px #18a05826}50%{background:linear-gradient(90deg,#18a05814 0%,#18a05808 100%);box-shadow:0 0 4px #18a0581a}70%{background:linear-gradient(90deg,#18a0580a 0%,#18a05804 100%);box-shadow:0 0 2px #18a0580f}85%{background:linear-gradient(90deg,#18a05805 0%,#18a05802 100%);box-shadow:0 0 1px #18a05808}to{background:0 0;border-left-color:#0000;box-shadow:0 0 #18a05800}}[data-theme=dark] .table-row.new-log[data-v-b403c421],[data-theme=dark] .action-row.new-log[data-v-b403c421]{animation:4.5s cubic-bezier(.25,.46,.45,.94) forwards newLogPulseDark-b403c421}@keyframes newLogPulseDark-b403c421{0%{background:linear-gradient(90deg,#18a05833 0%,#18a05814 100%);box-shadow:0 0 10px #18a05840}5%{background:linear-gradient(90deg,#18a0583d 0%,#18a0581a 100%);box-shadow:0 0 14px 2px #18a0584d}15%{background:linear-gradient(90deg,#18a05836 0%,#18a05817 100%);box-shadow:0 0 12px 1px #18a05840}30%{background:linear-gradient(90deg,#18a05829 0%,#18a05812 100%);box-shadow:0 0 8px 1px #18a0582e}50%{background:linear-gradient(90deg,#18a0581c 0%,#18a0580b 100%);box-shadow:0 0 5px #18a0581f}70%{background:linear-gradient(90deg,#18a0580f 0%,#18a05806 100%);box-shadow:0 0 3px #18a05814}85%{background:linear-gradient(90deg,#18a05808 0%,#18a05803 100%);box-shadow:0 0 1px #18a0580a}to{background:0 0;border-left-color:#0000;box-shadow:0 0 #18a05800}}.table-row-content[data-v-b403c421]{width:100%;display:flex}.action-row[data-v-b403c421]{color:#166534;background:#f0fdf4;border-bottom:1px solid #f3f4f6;border-left:3px solid #18a058;align-items:center;padding:10px 12px;font-size:13px;display:flex}[data-theme=dark] .action-row[data-v-b403c421]{color:#4ade80;background:#18a0581f;border-bottom:1px solid #ffffff0a}.error-row[data-v-b403c421]{color:#b42318;background:#fef2f2;border-bottom:1px solid #f3f4f6;border-left:3px solid #d03050;align-items:center;padding:10px 12px;font-size:13px;display:flex}[data-theme=dark] .error-row[data-v-b403c421]{color:#fda4af;background:#d030501f;border-bottom:1px solid #ffffff0a}.action-message[data-v-b403c421]{flex:1;font-weight:500}.action-time[data-v-b403c421]{color:#6b7280;margin-left:12px;margin-right:22px;font-family:monospace;font-size:11px}[data-theme=dark] .action-time[data-v-b403c421]{color:var(--text-tertiary)}.col[data-v-b403c421]{white-space:nowrap;text-overflow:ellipsis;align-items:center;display:flex;overflow:hidden}.col-channel-claude[data-v-b403c421]{flex:80px;min-width:0;overflow:hidden}.col-token-claude[data-v-b403c421]{flex:0 0 68px;justify-content:center;min-width:0}.col-time-claude[data-v-b403c421]{flex:0 0 85px;justify-content:flex-end;min-width:85px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-codex[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-codex[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-codex[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-gemini[data-v-b403c421]{flex:80px;min-width:0;overflow:hidden}.col-token-gemini[data-v-b403c421]{flex:0 0 68px;justify-content:center;min-width:0}.col-time-gemini[data-v-b403c421]{flex:0 0 85px;justify-content:flex-end;min-width:85px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-opencode[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-opencode[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-opencode[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-omp[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-omp[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-omp[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel[data-v-b403c421]{min-width:0;overflow:hidden}.col-channel .n-tag[data-v-b403c421]{text-overflow:ellipsis;max-width:100%;overflow:hidden}.col-token[data-v-b403c421]{justify-content:center;min-width:0}.col-time[data-v-b403c421]{justify-content:flex-end;font-family:monospace;font-size:11px}.empty-state[data-v-b403c421]{text-align:center;color:#9ca3af;padding:40px 16px;font-size:13px}[data-theme=dark] .empty-state[data-v-b403c421]{color:var(--text-tertiary)}.logs-footer[data-v-b403c421]{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}[data-theme=dark] .logs-footer[data-v-b403c421]{border-top:1px solid var(--border-primary);color:var(--text-tertiary)}.status[data-v-b403c421]{color:#ef4444;align-items:center;gap:4px;display:flex}.status.connected[data-v-b403c421]{color:#10b981}[data-theme=dark] .status.connected[data-v-b403c421]{color:#4ade80}.count[data-v-b403c421]{color:#6b7280}[data-theme=dark] .count[data-v-b403c421]{color:var(--text-tertiary)}@media (width<=1024px){.logs-header[data-v-b403c421]{padding:10px 12px}.header-left[data-v-b403c421]{gap:8px}.title[data-v-b403c421]{font-size:13px}.today-stats[data-v-b403c421] .n-tag{padding:1px 6px;font-size:10px}.table-header[data-v-b403c421]{padding:6px 10px;font-size:10px}.table-row[data-v-b403c421]{padding:6px 10px}.logs-footer[data-v-b403c421]{padding:6px 12px;font-size:11px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421]{flex:0 0 75px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421]{flex:0 0 55px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421]{flex:0 0 80px;min-width:80px}.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 65px}.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 48px}.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 75px;min-width:75px}}@media (width<=768px){.logs-header[data-v-b403c421]{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.header-left[data-v-b403c421]{justify-content:space-between}.title[data-v-b403c421]{font-size:12px}.today-stats[data-v-b403c421] .n-tag{padding:1px 4px;font-size:9px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:4px 8px;font-size:10px}.table-row-content[data-v-b403c421]{font-size:10px}.action-row[data-v-b403c421]{padding:8px 10px;font-size:11px}.action-message[data-v-b403c421]{font-size:11px}.action-time[data-v-b403c421]{margin-right:12px;font-size:9px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 60px}.col-channel[data-v-b403c421] .n-tag{height:18px;padding:0 4px;font-size:9px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 40px;font-size:9px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 65px;min-width:65px;font-size:9px}.logs-footer[data-v-b403c421]{padding:4px 10px;font-size:10px}}@media (width<=640px){.logs-header[data-v-b403c421]{gap:6px;padding:6px 8px}.header-left[data-v-b403c421]{flex-wrap:wrap;gap:4px}.title[data-v-b403c421]{font-size:11px}.today-stats[data-v-b403c421]{gap:4px}.today-stats[data-v-b403c421] .n-tag{height:16px;padding:0 3px;font-size:8px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:3px 6px;font-size:9px}.table-row-content[data-v-b403c421]{font-size:9px}.action-row[data-v-b403c421]{padding:6px 8px;font-size:10px}.action-message[data-v-b403c421]{font-size:10px}.action-time[data-v-b403c421]{margin-left:8px;margin-right:8px;font-size:8px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 50px}.col-channel[data-v-b403c421] .n-tag{height:16px;padding:0 3px;font-size:8px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 32px;font-size:8px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 55px;min-width:55px;font-size:8px}.logs-footer[data-v-b403c421]{padding:3px 8px;font-size:9px}.status[data-v-b403c421],.count[data-v-b403c421]{font-size:9px}}@media (width<=480px){.logs-header[data-v-b403c421]{padding:4px 6px}.title[data-v-b403c421]{font-size:10px}.today-stats[data-v-b403c421] .n-tag{height:14px;font-size:7px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:2px 4px;font-size:8px}.action-row[data-v-b403c421]{padding:4px 6px;font-size:9px}.action-row[data-v-b403c421] .n-icon{margin-right:4px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 45px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 28px;font-size:7px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 48px;min-width:48px;font-size:7px}.logs-footer[data-v-b403c421]{padding:2px 6px;font-size:8px}}.right-panel[data-v-8cdfe9a9]{background:var(--bg-primary);border-left:1px solid var(--border-primary);flex-direction:column;width:480px;min-width:480px;height:100%;display:flex}.toolbar-section[data-v-8cdfe9a9]{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.toolbar-left[data-v-8cdfe9a9]{align-items:center;gap:8px;display:flex}.toolbar-label[data-v-8cdfe9a9]{margin-right:2px;font-size:12px}.toolbar-right[data-v-8cdfe9a9]{align-items:center;gap:2px;display:flex}.toolbar-btn[data-v-8cdfe9a9]{--toolbar-button-text:var(--text-secondary);border-radius:4px;transition:transform .18s cubic-bezier(.4,0,.2,1);--n-text-color:var(--toolbar-button-text)!important;--n-text-color-hover:var(--toolbar-button-text)!important;--n-text-color-pressed:var(--toolbar-button-text)!important;--n-text-color-focus:var(--toolbar-button-text)!important;--n-color-hover:transparent!important;--n-color-pressed:transparent!important;--n-color-focus:transparent!important;color:var(--toolbar-button-text)!important;padding:5px!important}.toolbar-btn[data-v-8cdfe9a9] .n-button__content,.toolbar-btn[data-v-8cdfe9a9] .n-button__icon{color:var(--toolbar-button-text)!important}.toolbar-btn[data-v-8cdfe9a9]:hover,.toolbar-btn[data-v-8cdfe9a9]:focus,.toolbar-btn[data-v-8cdfe9a9]:focus-visible,.toolbar-btn[data-v-8cdfe9a9]:active{background:0 0;transform:translateY(-1px);color:var(--toolbar-button-text)!important}.toolbar-btn[data-v-8cdfe9a9]:active{transform:translateY(0)}.toolbar-divider[data-v-8cdfe9a9]{background:var(--border-primary);width:1px;height:16px;margin:0 4px}.oauth-banner[data-v-8cdfe9a9]{color:#2080f0;background:#2080f014;border-bottom:1px solid #2080f033;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:flex}.oauth-banner span[data-v-8cdfe9a9]{flex:1}.channels-section[data-v-8cdfe9a9]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.channels-section.full-height[data-v-8cdfe9a9]{flex:1}.panel-header[data-v-8cdfe9a9]{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.header-title[data-v-8cdfe9a9]{align-items:baseline;gap:8px;min-width:0;display:flex}.header-title h3[data-v-8cdfe9a9]{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.header-hint[data-v-8cdfe9a9]{font-size:11px}.header-actions[data-v-8cdfe9a9]{flex-shrink:0;align-items:center;gap:8px;display:flex}.channels-scroll-area[data-v-8cdfe9a9]{flex:1;min-height:0;padding:12px;overflow-y:auto}.logs-section[data-v-8cdfe9a9]{flex:0 0 340px;min-height:340px;max-height:340px;overflow:hidden}.logs-section.full-height[data-v-8cdfe9a9]{flex:1;min-height:0;max-height:none}@media (width<=1024px){.right-panel[data-v-8cdfe9a9]{width:420px;min-width:420px}.logs-section[data-v-8cdfe9a9]{flex:0 0 300px;min-height:300px;max-height:300px}}@media (width<=768px){.right-panel[data-v-8cdfe9a9]{width:100%;min-width:100%}.toolbar-section[data-v-8cdfe9a9]{padding:8px 12px}.toolbar-label[data-v-8cdfe9a9]{font-size:11px}.logs-section[data-v-8cdfe9a9]{flex:0 0 260px;min-height:260px;max-height:260px}}@media (height<=600px){.right-panel[data-v-8cdfe9a9]{overflow-y:auto}.channels-section[data-v-8cdfe9a9]{flex:0 0 360px;min-height:360px}.logs-section[data-v-8cdfe9a9]{flex:0 0 260px}}.layout[data-v-1b46cda2]{background:var(--bg-primary);flex-direction:column;height:100vh;display:flex}.header[data-v-1b46cda2]{background:var(--gradient-header);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;height:74px;padding:10px 22px;display:flex;box-shadow:inset 0 1px #ffffff57}.header-actions[data-v-1b46cda2]{background:color-mix(in srgb, var(--bg-primary) 82%, transparent);border:1px solid var(--border-primary);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;box-shadow:0 14px 34px #0f171d14}.more-menu-trigger[data-v-1b46cda2]{display:flex}.header-divider[data-v-1b46cda2]{background:#95a7af59;width:1px;height:24px;margin:0 2px}.env-warning-btn[data-v-1b46cda2]{cursor:pointer;background:#f59e0b1a;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background .2s;display:flex}.env-warning-btn[data-v-1b46cda2]:hover{background:#f59e0b2e}.env-warning-icon[data-v-1b46cda2]{color:#f59e0b}.env-warning-count[data-v-1b46cda2]{color:#f59e0b;font-size:11px;font-weight:600}.logo-section[data-v-1b46cda2]{cursor:pointer;color:inherit;border-radius:18px;align-items:center;gap:14px;margin-left:-8px;padding:8px 14px;text-decoration:none;transition:background .2s;display:flex}.logo-section[data-v-1b46cda2]:hover{background:var(--hover-bg)}.logo-wrapper[data-v-1b46cda2]{background:linear-gradient(135deg,#18a0582e,#18a0580d);border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 10px 24px #0f171d14}.logo-image[data-v-1b46cda2]{object-fit:contain;width:22px;height:22px}.title-group[data-v-1b46cda2]{flex-direction:column;gap:1px;display:flex}.title-main[data-v-1b46cda2]{color:var(--brand-title-color);margin:0;font-size:18px;font-weight:700;line-height:1.2}.title-sub[data-v-1b46cda2]{color:var(--text-tertiary);font-size:11px}.nav-tabs[data-v-1b46cda2]{background:color-mix(in srgb, var(--bg-primary) 86%, transparent);border:1px solid var(--border-primary);border-radius:999px;align-items:center;gap:6px;margin-left:28px;padding:6px 8px;display:flex;box-shadow:0 14px 36px #0f171d14}.nav-tab[data-v-1b46cda2]{cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;transition:background .2s;display:flex;position:relative}.nav-tab[data-v-1b46cda2]:hover{background:var(--hover-bg)}.nav-tab.active[data-v-1b46cda2]{background:var(--primary-color-soft)}.nav-tab.active[data-v-1b46cda2]:after{content:"";border-radius:inherit;background:0 0;border:1px solid #18a05838;position:absolute;inset:0}.nav-icon[data-v-1b46cda2]{color:var(--text-tertiary)}.nav-tab:hover .nav-icon[data-v-1b46cda2],.nav-tab.active .nav-icon[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.nav-label[data-v-1b46cda2]{color:var(--text-secondary);font-size:13px;font-weight:500}.nav-tab:hover .nav-label[data-v-1b46cda2],.nav-tab.active .nav-label[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.nav-tab.active .nav-label[data-v-1b46cda2]{font-weight:600}.main-container[data-v-1b46cda2]{flex:1;height:calc(100vh - 74px);min-height:0;display:flex;overflow:hidden}.global-loading-overlay[data-v-1b46cda2]{background:var(--bg-overlay);z-index:1000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.left-content[data-v-1b46cda2]{flex:1;min-width:0;height:100%;overflow:hidden}.favorites-button-wrapper[data-v-1b46cda2]{position:relative}.favorites-badge[data-v-1b46cda2]{color:#fff;pointer-events:none;background:#ff4d4f;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:600;display:flex;position:absolute;top:-3px;right:-3px}.help-content[data-v-1b46cda2]{max-height:70vh;overflow-y:auto}.help-section[data-v-1b46cda2]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:20px;padding:16px}.help-section[data-v-1b46cda2]:last-child{margin-bottom:0}.help-section h4[data-v-1b46cda2]{color:var(--text-primary);border-bottom:1px solid var(--border-primary);margin:0 0 12px;padding-bottom:10px;font-size:15px;font-weight:600}.help-section p[data-v-1b46cda2]{color:var(--text-secondary);margin:0 0 10px;font-size:13px;line-height:1.7}.help-section ul[data-v-1b46cda2]{margin:8px 0 0;padding-left:20px}.help-section li[data-v-1b46cda2]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;line-height:1.8}.help-section li strong[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.command-list[data-v-1b46cda2]{flex-direction:column;gap:8px;display:flex}.command-item[data-v-1b46cda2]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.command-item code[data-v-1b46cda2]{min-width:140px;color:var(--primary-color,#18a058);background:#18a0581a;border-radius:4px;padding:4px 10px;font-family:monospace;font-size:12px;font-weight:600}.command-item span[data-v-1b46cda2]{color:var(--text-secondary);font-size:13px}.help-section kbd[data-v-1b46cda2]{color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px;margin:0 2px;padding:2px 6px;font-family:monospace;font-size:11px;font-weight:600;display:inline-block}.link-list[data-v-1b46cda2]{flex-wrap:wrap;gap:12px;display:flex}.link-list a[data-v-1b46cda2]{color:var(--primary-color,#18a058);background:#18a05814;border-radius:4px;padding:6px 10px;font-size:13px;text-decoration:none}.link-list a[data-v-1b46cda2]:hover{background:#18a05826}.panel-security-auth[data-v-1b46cda2]{flex-direction:column;gap:12px;display:flex}.panel-security-error[data-v-1b46cda2]{color:#d03050;font-size:12px}.panel-security-hint[data-v-1b46cda2]{font-size:12px;line-height:1.6}.header-actions[data-v-1b46cda2],.nav-tabs[data-v-1b46cda2]{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}[data-theme=dark] .header[data-v-1b46cda2]{border-bottom-color:#2b424aeb;box-shadow:inset 0 -1px #ffffff08}[data-theme=dark] .header-actions[data-v-1b46cda2],[data-theme=dark] .nav-tabs[data-v-1b46cda2]{background:#0c151bdb;border-color:#364c56e6;box-shadow:0 14px 32px #00000042}[data-theme=dark] .logo-section[data-v-1b46cda2]:hover{background:#ffffff0d}@media (width<=1024px){.header[data-v-1b46cda2]{height:68px;padding:10px 16px}.main-container[data-v-1b46cda2]{height:calc(100vh - 68px)}.nav-tabs[data-v-1b46cda2]{margin-left:16px;padding:5px 6px}.title-sub[data-v-1b46cda2]{display:none}}@media (width<=768px){.header[data-v-1b46cda2]{height:60px;padding:8px 12px}.main-container[data-v-1b46cda2]{height:calc(100vh - 60px)}.logo-wrapper[data-v-1b46cda2]{width:28px;height:28px}.logo-image[data-v-1b46cda2]{width:18px;height:18px}.title-main[data-v-1b46cda2]{font-size:14px}.title-sub[data-v-1b46cda2]{display:none}.nav-tabs[data-v-1b46cda2]{gap:2px;margin-left:10px;padding:4px 5px}.nav-tab[data-v-1b46cda2]{gap:4px;padding:6px 10px}.nav-label[data-v-1b46cda2]{font-size:12px}.header-actions[data-v-1b46cda2]{gap:2px}}@media (width<=640px){.header[data-v-1b46cda2]{height:54px;padding:6px 8px}.main-container[data-v-1b46cda2]{height:calc(100vh - 54px)}.title-group[data-v-1b46cda2]{display:none}.nav-tabs[data-v-1b46cda2]{flex:1;justify-content:center;margin-left:8px}.nav-tab[data-v-1b46cda2]{flex-direction:column;gap:2px;padding:4px 6px}.nav-label[data-v-1b46cda2]{font-size:10px}}.asset-panel{background:var(--bg-primary);flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.asset-panel-header,.asset-drawer-toolbar{border-bottom:1px solid var(--border-primary);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.asset-drawer-toolbar{background:var(--bg-secondary);justify-content:flex-end;padding:10px 12px}.asset-title-group,.asset-title-row,.asset-action-row,.asset-filter-bar,.asset-summary,.asset-meta,.asset-tags,.asset-card-actions{align-items:center;display:flex}.asset-title-group{gap:10px;min-width:0}.asset-heading{min-width:0}.asset-title-row{gap:8px;min-width:0}.asset-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.25;overflow:hidden}.asset-subtitle{color:var(--text-tertiary);margin-top:3px;font-size:12px;line-height:1.35}.asset-platform-pill{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-tertiary);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500;line-height:1.4}.asset-action-row{flex-shrink:0;gap:6px}.asset-action-row .n-button{font-size:12px}.asset-summary{border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);gap:8px;padding:10px 18px}.asset-panel.in-drawer .asset-summary{padding:10px 12px}.asset-summary-item{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:999px;align-items:baseline;gap:6px;min-width:0;padding:4px 8px;display:inline-flex}.asset-summary-label{color:var(--text-tertiary);font-size:11px}.asset-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.asset-filter-bar{border-bottom:1px solid var(--border-primary);background:var(--bg-primary);gap:10px;padding:12px 18px}.asset-panel.in-drawer .asset-filter-bar{padding:10px 12px}.asset-search{flex:1;min-width:160px}.asset-filter{flex-shrink:0;width:116px}.asset-panel-content{flex:1;min-height:0;padding:16px 18px;overflow-y:auto}.asset-panel.in-drawer .asset-panel-content{padding:12px}.asset-panel-content .n-spin-container{min-height:220px}.asset-empty{justify-content:center;align-items:center;min-height:220px;display:flex}.asset-list{flex-direction:column;gap:10px;display:flex}.asset-footer{border-top:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-tertiary);align-items:center;gap:6px;padding:9px 18px;font-size:11px;display:flex}.asset-panel.in-drawer .asset-footer{padding:8px 12px}.asset-info-icon{color:var(--text-quaternary)}.asset-card{border:1px solid var(--border-primary);background:var(--bg-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:14px;min-height:96px;padding:14px;transition:border-color .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out;display:flex}.asset-card:hover{border-color:var(--border-secondary);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.asset-card.is-installed,.asset-card.is-managed,.asset-card.is-project{background:linear-gradient(0deg, oklch(62% .15 151/.045), oklch(62% .15 151/.045)), var(--bg-primary)}.asset-card.is-disabled,.asset-card.is-protected{background:var(--bg-secondary)}.asset-card-main{flex:1;min-width:0}.asset-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-card-title-stack{min-width:0}.asset-card-title-row{align-items:center;gap:7px;min-width:0;display:flex}.asset-status-dot{background:var(--text-quaternary);border-radius:999px;flex:none;width:7px;height:7px}.asset-status-dot.active{background:var(--primary-color);box-shadow:0 0 0 3px oklch(62% .15 151/.1)}.asset-status-dot.warning{background:oklch(68% .14 78);box-shadow:0 0 0 3px oklch(68% .14 78/.1)}.asset-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.35;overflow:hidden}.asset-name.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-tags{flex-wrap:wrap;gap:5px;margin-top:6px}.asset-description{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:9px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.asset-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:8px;margin-top:9px;font-size:11px}.asset-meta-item{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.asset-meta-item.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-link{color:var(--primary-color);flex-shrink:0;text-decoration:none}.asset-link:hover{text-decoration:underline}.asset-card-actions{flex-shrink:0;gap:5px}.asset-platform-strip{align-items:center;gap:5px;margin-left:6px;display:flex}.asset-platform-icon{border:1px solid var(--border-primary);background:var(--bg-secondary);width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:border-color .16s ease-out,color .16s ease-out,background-color .16s ease-out;display:inline-flex}.asset-platform-icon:hover{border-color:var(--border-secondary);color:var(--text-secondary)}.asset-platform-icon.active{color:var(--primary-color);background:oklch(62% .15 151/.1);border-color:oklch(62% .15 151/.34)}.asset-detail-drawer-header{width:100%}.asset-detail-identity{align-items:center;gap:12px;min-width:0;display:flex}.asset-detail-icon{color:var(--primary-color);flex-shrink:0}.asset-detail-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.asset-detail-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;line-height:1.25;overflow:hidden}.asset-detail-name.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-detail-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.asset-detail-subtle{min-width:0;color:var(--text-tertiary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.asset-detail-body{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.asset-detail-container{flex-direction:column;gap:22px;min-height:0;display:flex}.asset-detail-info-section{flex-direction:column;gap:10px;display:flex}.asset-detail-section-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:650}.asset-detail-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.asset-detail-list{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:8px;overflow:hidden}.asset-detail-row{border-bottom:1px solid var(--border-primary);grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px 12px;font-size:13px;display:grid}.asset-detail-row:last-child{border-bottom:0}.asset-detail-label{color:var(--text-tertiary)}.asset-detail-value{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary)}.asset-detail-value.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace);font-size:12px}.asset-detail-box{border:1px solid var(--border-primary);background:var(--bg-secondary);min-width:0;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.asset-detail-box code,.asset-detail-code{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-detail-box code{overflow-wrap:anywhere;color:var(--text-secondary);font-size:12px}.asset-detail-path-box{align-items:flex-start}.asset-detail-path-icon{flex:none;margin-top:1px}.asset-detail-path-text{flex:1;min-width:0;line-height:1.5}.asset-detail-path-copy{color:var(--text-tertiary);flex:none;margin:-4px -4px -4px 4px}.asset-detail-path-copy:hover{color:var(--text-primary)}.asset-detail-link{overflow-wrap:anywhere;min-width:0;color:var(--primary-color);text-decoration:none}.asset-detail-link:hover{text-decoration:underline}.asset-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.asset-detail-content{border:1px solid var(--border-primary);background:var(--bg-secondary);min-height:0;color:var(--text-secondary);overflow-wrap:anywhere;border-radius:8px;flex:1;padding:18px;font-size:13px;line-height:1.7;overflow:auto}.asset-detail-content h1,.asset-detail-content h2,.asset-detail-content h3,.asset-detail-content h4,.asset-detail-content h5,.asset-detail-content h6{color:var(--text-primary);margin:22px 0 10px;font-weight:650;line-height:1.35}.asset-detail-content h1:first-child,.asset-detail-content h2:first-child,.asset-detail-content h3:first-child{margin-top:0}.asset-detail-content h1{border-bottom:1px solid var(--border-primary);padding-bottom:10px;font-size:20px}.asset-detail-content h2{border-bottom:1px solid var(--border-primary);padding-bottom:7px;font-size:17px}.asset-detail-content h3{font-size:15px}.asset-detail-content h4{font-size:14px}.asset-detail-content h5,.asset-detail-content h6{color:var(--text-secondary);font-size:13px}.asset-detail-content p{margin:10px 0}.asset-detail-content strong{color:var(--text-primary);font-weight:650}.asset-detail-content code{border:1px solid var(--border-primary);background:var(--bg-tertiary);font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace);border-radius:5px;padding:2px 6px;font-size:12px}.asset-detail-content pre{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;margin:14px 0;padding:14px;line-height:1.65;overflow-x:auto}.asset-detail-content pre code{color:var(--text-secondary);background:0 0;border:0;padding:0;font-size:12px}.asset-detail-content ul,.asset-detail-content ol{margin:10px 0;padding-left:24px}.asset-detail-content li{margin:5px 0}.asset-detail-content li>p{margin:6px 0}.asset-detail-content a{color:var(--primary-color);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.asset-detail-content a:hover{color:var(--primary-color-hover,var(--primary-color))}.asset-detail-content blockquote{border-left:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-tertiary);border-radius:0 8px 8px 0;margin:14px 0;padding:10px 12px}.asset-detail-content blockquote>:first-child{margin-top:0}.asset-detail-content blockquote>:last-child{margin-bottom:0}.asset-detail-content table{border-collapse:collapse;width:max-content;max-width:100%;margin:14px 0;font-size:12px;display:block;overflow-x:auto}.asset-detail-content th,.asset-detail-content td{border:1px solid var(--border-primary);text-align:left;vertical-align:top;padding:8px 10px}.asset-detail-content th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:650}.asset-detail-content img{border-radius:8px;max-width:100%;height:auto;margin:14px auto;display:block}.asset-detail-content hr{background:var(--border-primary);border:0;height:1px;margin:20px 0}.asset-detail-code{border:1px solid var(--border-primary);background:var(--bg-secondary);min-height:0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;border-radius:8px;flex:1;margin:0;padding:16px;font-size:12px;line-height:1.65;overflow:auto}.asset-detail-loading,.asset-detail-empty,.asset-detail-error{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 24px;display:flex}.asset-detail-empty-icon,.asset-detail-error-icon{color:var(--text-quaternary)}.asset-detail-error-icon{color:oklch(56% .18 26)}.asset-detail-tabs{flex:1;height:100%;min-height:0}.asset-detail-tabs .n-tabs-pane-wrapper{flex:1;min-height:0;padding-top:16px;overflow:hidden}.asset-detail-tabs .n-tab-pane{flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}@media (width<=720px){.asset-panel-header{flex-direction:column;align-items:flex-start}.asset-action-row,.asset-filter-bar,.asset-card-top{width:100%}.asset-action-row,.asset-summary{flex-wrap:wrap}.asset-filter-bar{flex-direction:column;align-items:stretch}.asset-filter{width:100%}.asset-card{flex-direction:column}.asset-card-actions{flex-wrap:wrap;align-self:flex-start}}:root{--bg-primary:#fff;--bg-secondary:#f4f7f8;--bg-tertiary:#edf3f1;--bg-elevated:#fff;--bg-overlay:#ffffffeb;--text-primary:#122025;--text-secondary:#58717d;--text-tertiary:#738995;--text-quaternary:#95a7af;--border-primary:#d8e1de;--border-secondary:#c3d0cb;--hover-bg:#18a05814;--active-bg:#18a0581f;--shadow-sm:0 8px 20px #0f171d0f;--shadow-md:0 18px 42px #0f171d1a;--shadow-lg:0 30px 70px #0f171d24;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--gradient-header:linear-gradient(135deg, #f8fbfc 0%, #eef6f3 52%, #e9f7f1 100%);--gradient-bg:linear-gradient(180deg, #f4f7f8 0%, #eef4f2 100%);--gradient-card:linear-gradient(145deg, #fffffffa 0%, #f7faf8fa 100%);--primary-color:#18a058;--primary-color-soft:#18a0581f;--brand-title-color:#0d8f55}[data-theme=dark]{--bg-primary:#0a1116;--bg-secondary:#101920;--bg-tertiary:#16222a;--bg-elevated:#1a2831;--bg-overlay:#0a1116f0;--text-primary:#e7eef0;--text-secondary:#a8bbc0;--text-tertiary:#82969d;--text-quaternary:#667b83;--border-primary:#263740;--border-secondary:#334852;--hover-bg:#ffffff14;--active-bg:#ffffff1f;--shadow-sm:0 10px 24px #0000003d;--shadow-md:0 22px 52px #0000004d;--shadow-lg:0 36px 76px #0000005c;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--gradient-header:linear-gradient(135deg, #0b1419 0%, #101b22 58%, #0d171d 100%);--gradient-bg:linear-gradient(180deg, #0a1116 0%, #0d151b 56%, #091016 100%);--gradient-card:linear-gradient(145deg, #121b22fa 0%, #0c151bfa 100%);--primary-color:#18a058;--primary-color-soft:#18a05829;--brand-title-color:#37d08c}body{background:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;font-family:SF Pro Display,SF Pro Text,Segoe UI Variable Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;transition:background-color .3s,color .3s}#app{background:var(--bg-primary);min-height:100vh}*{scrollbar-width:thin;scrollbar-color:#18a05847 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#18a05847;border-radius:3px;transition:background-color .2s}::-webkit-scrollbar-thumb:hover{background-color:#18a05880}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:#18a05866}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background-color:#18a05899}
|
|
1
|
+
.header-button[data-v-b515354d]{border:1px solid var(--border-primary);background:var(--bg-elevated);cursor:pointer;border-radius:999px;outline:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .2s;display:inline-flex;box-shadow:0 10px 24px #0f171d14}.header-button[data-v-b515354d] .n-icon{color:var(--text-tertiary);transition:all .2s}.header-button[data-v-b515354d]:hover:not(.disabled){background:color-mix(in srgb, var(--bg-elevated) 90%, var(--primary-color) 10%);border-color:#18a0583d;box-shadow:0 14px 30px #0f171d1f}.header-button[data-v-b515354d]:hover:not(.disabled) .n-icon{color:var(--primary-color,#18a058)}.header-button[data-v-b515354d]:active:not(.disabled){transform:scale(.95)}.header-button.active[data-v-b515354d]{background:linear-gradient(135deg,#18a05824,#18a0580f);border-color:#18a05852}.header-button.active[data-v-b515354d] .n-icon{color:#18a058!important}.header-button.disabled[data-v-b515354d]{cursor:not-allowed;opacity:.5}[data-theme=dark] .header-button[data-v-b515354d]{box-shadow:none;background:#0d171eeb;border-color:#364c56e6}[data-theme=dark] .header-button[data-v-b515354d]:hover:not(.disabled){background:#14222afa;border-color:#18a05847;box-shadow:0 0 0 1px #18a05814}.modal-header[data-v-7ea71ef7]{align-items:center;gap:10px;display:flex}.warning-icon[data-v-7ea71ef7]{color:#f59e0b}.header-title[data-v-7ea71ef7]{color:var(--text-primary);font-size:16px;font-weight:600}.modal-content[data-v-7ea71ef7]{padding:4px 0}.desc-text[data-v-7ea71ef7]{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.6}.conflict-list[data-v-7ea71ef7]{background:var(--bg-tertiary);border-radius:6px;padding:12px}.list-header[data-v-7ea71ef7]{border-bottom:1px solid var(--border-primary);align-items:center;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.selected-hint[data-v-7ea71ef7]{color:var(--text-tertiary);font-size:12px}.conflict-items[data-v-7ea71ef7]{flex-direction:column;gap:8px;display:flex}.conflict-item[data-v-7ea71ef7]{background:var(--bg-secondary);cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.conflict-item[data-v-7ea71ef7]:hover{background:#18a05805;border-color:#18a05866}.conflict-item.selected[data-v-7ea71ef7]{background:#18a0580f;border-color:#18a058}.item-content[data-v-7ea71ef7]{flex:1;min-width:0}.item-header[data-v-7ea71ef7]{align-items:center;gap:8px;margin-bottom:4px;display:flex}.var-name[data-v-7ea71ef7]{color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px;padding:2px 6px;font-size:13px;font-weight:600}.var-value[data-v-7ea71ef7]{color:var(--text-secondary);word-break:break-all;margin-bottom:4px;font-family:SF Mono,Monaco,monospace;font-size:12px}.var-source[data-v-7ea71ef7]{color:var(--text-tertiary);font-size:11px}.source-label[data-v-7ea71ef7]{color:var(--text-quaternary)}.modal-footer[data-v-7ea71ef7]{justify-content:flex-end;gap:8px;display:flex}.process-env-alert[data-v-7ea71ef7]{margin-bottom:16px}.alert-content[data-v-7ea71ef7]{font-size:12px;line-height:1.6}.alert-title[data-v-7ea71ef7]{margin:0 0 8px;font-weight:500}.alert-list[data-v-7ea71ef7]{margin:0;padding-left:20px}.alert-list li[data-v-7ea71ef7]{margin:4px 0}.alert-list code[data-v-7ea71ef7]{background:var(--bg-tertiary);color:#18a058;border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,monospace;font-size:11px}.alert-hint[data-v-7ea71ef7]{color:var(--text-tertiary);margin:8px 0 0;font-size:11px}.channel-card[data-v-88bb1df0]{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;transition:all .2s}.channel-card[data-v-88bb1df0]:hover{border-color:var(--border-secondary)}.channel-header[data-v-88bb1df0]{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.channel-title[data-v-88bb1df0]{flex:auto;align-items:center;gap:6px;min-width:0;margin-right:0;display:flex}.channel-name[data-v-88bb1df0]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.channel-title[data-v-88bb1df0] .n-tag{flex-shrink:0;padding:0 5px;font-size:11px}.collapse-btn[data-v-88bb1df0]{flex-shrink:0}.collapse-btn .n-icon.collapsed[data-v-88bb1df0]{transform:rotate(-90deg)}.channel-actions[data-v-88bb1df0]{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:4px;max-width:100%;margin-left:auto;display:flex}.channel-actions[data-v-88bb1df0] .n-button{min-width:0;height:22px;padding:0 5px;font-size:11px}.channel-actions[data-v-88bb1df0] .n-button__content{gap:2px}.channel-actions[data-v-88bb1df0] .n-button__icon{margin:0}.apply-btn[data-v-88bb1df0]{display:none}.channel-card:hover .apply-btn[data-v-88bb1df0]{display:inline-flex}.test-result[data-v-88bb1df0]{border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);padding:10px 16px}.test-result.success[data-v-88bb1df0]{background:#18a0580f;border-left:3px solid #18a058}.test-result.failed[data-v-88bb1df0]{background:#f56c6c0f;border-left:3px solid #f56c6c}.test-result-header[data-v-88bb1df0]{align-items:center;gap:12px;display:flex}.test-result-status[data-v-88bb1df0]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.test-result.success .test-result-status[data-v-88bb1df0]{color:#18a058}.test-result.failed .test-result-status[data-v-88bb1df0]{color:#f56c6c}.test-result-info[data-v-88bb1df0]{flex:1;align-items:center;gap:10px;display:flex}.test-result-info .latency[data-v-88bb1df0]{color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px;padding:2px 8px;font-family:SF Mono,Monaco,monospace;font-size:13px;font-weight:600}.test-result-info .status-code[data-v-88bb1df0]{color:var(--text-tertiary);font-family:SF Mono,Monaco,monospace;font-size:11px}.test-result-error[data-v-88bb1df0]{color:#f56c6c;word-break:break-word;background:#f56c6c14;border-radius:4px;margin-top:8px;padding:8px 10px;font-size:12px;line-height:1.4}.channel-info[data-v-88bb1df0]{padding:12px 16px}.info-main[data-v-88bb1df0]{flex-direction:column;gap:8px;display:flex}.info-row[data-v-88bb1df0]{align-items:center;gap:12px;display:flex}.info-row .label[data-v-88bb1df0]{min-width:80px;font-size:13px}.info-row .value[data-v-88bb1df0]{flex:1;font-size:13px}.info-row .value.mono[data-v-88bb1df0]{font-family:SF Mono,Monaco,monospace}.info-footer[data-v-88bb1df0]{border-top:1px solid var(--border-primary);justify-content:space-between;align-items:center;margin-top:12px;padding-top:8px;display:flex}.footer-spacer[data-v-88bb1df0]{flex:1}.channel-meta[data-v-88bb1df0]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:12px;display:flex}.balance-meta-tag[data-v-88bb1df0]{cursor:pointer;flex-shrink:0;max-width:140px}.balance-meta-tag[data-v-88bb1df0] .n-tag__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-item[data-v-88bb1df0]{color:var(--text-tertiary);white-space:nowrap}.meta-value[data-v-88bb1df0]{color:var(--text-secondary);font-weight:500}.meta-active[data-v-88bb1df0]{color:#18a058}@media (width<=1024px){.channel-header[data-v-88bb1df0],.channel-info[data-v-88bb1df0]{padding:10px 12px}.channel-actions[data-v-88bb1df0]{gap:6px}.info-row[data-v-88bb1df0]{gap:8px}.info-row .label[data-v-88bb1df0]{min-width:70px;font-size:12px}.info-row .value[data-v-88bb1df0]{font-size:12px}.channel-meta[data-v-88bb1df0]{gap:12px}}@media (width<=768px){.channel-header[data-v-88bb1df0]{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.channel-title[data-v-88bb1df0]{margin-right:0}.channel-actions[data-v-88bb1df0]{justify-content:space-between}.channel-actions[data-v-88bb1df0] .n-button{padding:0 8px;font-size:12px}.channel-info[data-v-88bb1df0]{padding:8px 10px}.info-row[data-v-88bb1df0]{flex-direction:column;align-items:flex-start;gap:4px}.info-row .label[data-v-88bb1df0]{min-width:auto}.info-footer[data-v-88bb1df0]{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}.channel-meta[data-v-88bb1df0]{justify-content:flex-start;align-self:stretch;gap:8px 12px}}@media (width<=640px){.channel-card[data-v-88bb1df0]{border-radius:6px}.channel-header[data-v-88bb1df0]{padding:6px 8px}.channel-name[data-v-88bb1df0]{min-width:0;font-size:12px}.channel-title[data-v-88bb1df0]{min-width:0}.channel-title[data-v-88bb1df0] .n-tag{font-size:10px}.channel-info[data-v-88bb1df0]{padding:6px 8px}.info-row .label[data-v-88bb1df0],.info-row .value[data-v-88bb1df0]{font-size:11px}.channel-actions[data-v-88bb1df0] .n-button{height:24px;padding:0 6px;font-size:11px}.channel-meta[data-v-88bb1df0]{font-size:11px}}@media (width<=480px){.channel-header[data-v-88bb1df0],.channel-info[data-v-88bb1df0]{padding:4px 6px}.channel-actions[data-v-88bb1df0]{gap:4px}.channel-actions[data-v-88bb1df0] .n-button{min-width:0;height:22px;padding:0 4px;font-size:10px}}.model-redirect-editor[data-v-8ebdcad0]{width:100%}.redirect-row[data-v-8ebdcad0]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.redirect-input[data-v-8ebdcad0]{flex:1;min-width:0}.redirect-arrow[data-v-8ebdcad0]{flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.add-btn[data-v-8ebdcad0]{width:100%;margin-top:4px}.channel-auth-section[data-v-8fcf77d4]{gap:10px;width:100%;display:grid}.oauth-content[data-v-8fcf77d4],.oauth-quota[data-v-8fcf77d4]{gap:8px;display:grid}.oauth-meta[data-v-8fcf77d4]{color:var(--text-color-3)}.oauth-quota[data-v-8fcf77d4]{grid-template-columns:repeat(3,auto);align-items:center}.loading-container{justify-content:center;align-items:center;padding:80px 0;display:flex}.empty-state{justify-content:center;align-items:center;min-height:200px;display:flex}.model-catalog-control{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-3px 0 10px;font-size:12px;line-height:1.45;display:flex}.model-catalog-status{color:var(--n-text-color-3)}.model-catalog-status.is-loading{color:var(--n-info-color,var(--n-text-color-3))}.model-catalog-status.is-error{color:var(--n-error-color,#d03050)}.channels-list{flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.channel-card{border:1px solid var(--n-divider-color);background:var(--bg-secondary);border-left:3px solid #18a058;border-radius:6px;padding:10px 12px;transition:all .2s;box-shadow:0 1px 2px #0000000a}.channel-card.active{border-color:var(--n-primary-color);background:var(--n-primary-color-suppl,#18a05814);box-shadow:0 2px 8px #18a0581a}.channel-card:hover{border-color:var(--n-border-color);box-shadow:0 2px 8px #00000014}.channel-card.disabled{opacity:.6;border-left-color:#909399}.channel-card.status-frozen{background:linear-gradient(90deg,#d0305014 0%,#0000 100%);border-left-color:#d03050}.channel-card.status-checking{background:linear-gradient(90deg,#f0a02014 0%,#0000 100%);border-left-color:#f0a020}.channel-card.collapsed .channel-info{display:none}.channel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.channel-title{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.channel-name{color:var(--n-text-color);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.channel-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.channel-actions .apply-btn{opacity:0;transition:opacity .2s}.channel-card:hover .channel-actions .apply-btn{opacity:1}.channel-actions .n-switch{margin-left:2px}.channel-info{border-top:1px dashed var(--n-border-color);margin-top:8px;padding-top:8px}.info-main{flex-direction:column;gap:4px;display:flex}.info-row{align-items:center;gap:8px;display:flex}.label{color:var(--n-text-color-3);flex-shrink:0;width:56px;font-size:11px}.value{color:var(--n-text-color-2);word-break:break-word;flex:1;font-size:12px}.value.mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.info-footer{border-top:1px dashed var(--n-border-color);align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.footer-spacer{flex:1}.channel-meta{flex-shrink:0;gap:12px;display:flex}.meta-item{color:var(--n-text-color-3);white-space:nowrap;font-size:11px}.meta-value{color:#18a058;font-weight:600}.meta-value.meta-active{color:#f0a020;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.collapse-btn{align-items:center;padding:0;display:flex}.collapse-btn .n-icon{transition:transform .2s}.collapse-btn .n-icon.collapsed{transform:rotate(-90deg)}.dialog-footer{justify-content:flex-end;gap:8px;display:flex}.channel-form{padding:0}.form-section{background:var(--n-color);border:1px solid var(--n-border-color);border-radius:6px;margin-bottom:10px;padding:12px}.form-section:last-child{margin-bottom:0}.section-title{color:var(--n-text-color);border-bottom:1px solid var(--n-border-color);align-items:center;gap:6px;margin-bottom:10px;padding-bottom:6px;font-size:12px;font-weight:600;display:flex}.section-desc{color:var(--n-text-color-3);font-size:11px;font-weight:400}.form-section.collapsible{background:var(--n-color-hover)}.channel-form .n-radio-group{width:100%}.channel-form .n-radio-group .n-space{gap:16px;width:100%;display:flex}.channel-form .n-radio{border:1px solid var(--n-border-color);border-radius:6px;flex:1;justify-content:center;padding:8px 16px;transition:all .2s;display:flex}.channel-form .n-radio:hover,.channel-form .n-radio.n-radio--checked{border-color:var(--n-primary-color);background:var(--n-primary-color-suppl,#18a05814)}.channel-form .n-form-item{margin-bottom:10px}.channel-form .n-form-item:last-child{margin-bottom:0}.channel-form .n-form-item-label{padding-bottom:0;font-size:12px}.auth-provider-status{flex-direction:column;justify-content:center;gap:6px;width:100%;min-height:28px;display:flex}.auth-provider-tags{min-height:24px}.auth-provider-message{color:var(--n-text-color-3);font-size:12px;line-height:1.45}.auth-provider-message.warning{color:#c97a00}.model-definitions-editor[data-v-68aaf124]{width:100%}.model-definitions-toolbar[data-v-68aaf124]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.proxy-logs[data-v-b403c421]{background:#fff;border-top:1px solid #e5e7eb;flex-direction:column;height:100%;display:flex}[data-theme=dark] .proxy-logs[data-v-b403c421]{background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.logs-header[data-v-b403c421]{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}[data-theme=dark] .logs-header[data-v-b403c421]{border-bottom:1px solid var(--border-primary)}.header-left[data-v-b403c421]{align-items:center;gap:12px;display:flex}.title[data-v-b403c421]{color:#18181b;margin:0;font-size:14px;font-weight:600}[data-theme=dark] .title[data-v-b403c421]{color:var(--text-primary)}.today-stats[data-v-b403c421]{align-items:center;gap:6px;display:flex}.today-stats[data-v-b403c421] .n-tag{padding:2px 8px;font-size:11px;font-weight:600}.logs-table[data-v-b403c421]{flex-direction:column;flex:1;display:flex;overflow:hidden}.table-header[data-v-b403c421]{color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600;display:flex}[data-theme=dark] .table-header[data-v-b403c421]{border-bottom:1px solid var(--border-primary);color:var(--text-tertiary);background:#ffffff05}.table-body[data-v-b403c421]{flex:1;min-height:0;padding-bottom:40px;scroll-padding-bottom:40px;overflow:hidden auto}.table-row[data-v-b403c421]{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:8px 12px;font-size:12px;transition:background-color .2s;display:flex;position:relative}[data-theme=dark] .table-row[data-v-b403c421]{border-bottom:1px solid #ffffff0a}.table-row[data-v-b403c421]:hover{background:#f9fafb}[data-theme=dark] .table-row[data-v-b403c421]:hover{background:#ffffff0a}.table-row.new-log[data-v-b403c421],.action-row.new-log[data-v-b403c421]{border-left:3px solid #18a058;padding-left:9px;animation:4.5s cubic-bezier(.25,.46,.45,.94) forwards newLogPulse-b403c421}@keyframes newLogPulse-b403c421{0%{background:linear-gradient(90deg,#18a05826 0%,#18a0580f 100%);box-shadow:0 0 8px #18a05833}5%{background:linear-gradient(90deg,#18a0582e 0%,#18a05814 100%);box-shadow:0 0 12px 1px #18a05840}15%{background:linear-gradient(90deg,#18a05829 0%,#18a05812 100%);box-shadow:0 0 10px 1px #18a05833}30%{background:linear-gradient(90deg,#18a0581f 0%,#18a0580d 100%);box-shadow:0 0 6px #18a05826}50%{background:linear-gradient(90deg,#18a05814 0%,#18a05808 100%);box-shadow:0 0 4px #18a0581a}70%{background:linear-gradient(90deg,#18a0580a 0%,#18a05804 100%);box-shadow:0 0 2px #18a0580f}85%{background:linear-gradient(90deg,#18a05805 0%,#18a05802 100%);box-shadow:0 0 1px #18a05808}to{background:0 0;border-left-color:#0000;box-shadow:0 0 #18a05800}}[data-theme=dark] .table-row.new-log[data-v-b403c421],[data-theme=dark] .action-row.new-log[data-v-b403c421]{animation:4.5s cubic-bezier(.25,.46,.45,.94) forwards newLogPulseDark-b403c421}@keyframes newLogPulseDark-b403c421{0%{background:linear-gradient(90deg,#18a05833 0%,#18a05814 100%);box-shadow:0 0 10px #18a05840}5%{background:linear-gradient(90deg,#18a0583d 0%,#18a0581a 100%);box-shadow:0 0 14px 2px #18a0584d}15%{background:linear-gradient(90deg,#18a05836 0%,#18a05817 100%);box-shadow:0 0 12px 1px #18a05840}30%{background:linear-gradient(90deg,#18a05829 0%,#18a05812 100%);box-shadow:0 0 8px 1px #18a0582e}50%{background:linear-gradient(90deg,#18a0581c 0%,#18a0580b 100%);box-shadow:0 0 5px #18a0581f}70%{background:linear-gradient(90deg,#18a0580f 0%,#18a05806 100%);box-shadow:0 0 3px #18a05814}85%{background:linear-gradient(90deg,#18a05808 0%,#18a05803 100%);box-shadow:0 0 1px #18a0580a}to{background:0 0;border-left-color:#0000;box-shadow:0 0 #18a05800}}.table-row-content[data-v-b403c421]{width:100%;display:flex}.action-row[data-v-b403c421]{color:#166534;background:#f0fdf4;border-bottom:1px solid #f3f4f6;border-left:3px solid #18a058;align-items:center;padding:10px 12px;font-size:13px;display:flex}[data-theme=dark] .action-row[data-v-b403c421]{color:#4ade80;background:#18a0581f;border-bottom:1px solid #ffffff0a}.error-row[data-v-b403c421]{color:#b42318;background:#fef2f2;border-bottom:1px solid #f3f4f6;border-left:3px solid #d03050;align-items:center;padding:10px 12px;font-size:13px;display:flex}[data-theme=dark] .error-row[data-v-b403c421]{color:#fda4af;background:#d030501f;border-bottom:1px solid #ffffff0a}.action-message[data-v-b403c421]{flex:1;font-weight:500}.action-time[data-v-b403c421]{color:#6b7280;margin-left:12px;margin-right:22px;font-family:monospace;font-size:11px}[data-theme=dark] .action-time[data-v-b403c421]{color:var(--text-tertiary)}.col[data-v-b403c421]{white-space:nowrap;text-overflow:ellipsis;align-items:center;display:flex;overflow:hidden}.col-channel-claude[data-v-b403c421]{flex:80px;min-width:0;overflow:hidden}.col-token-claude[data-v-b403c421]{flex:0 0 68px;justify-content:center;min-width:0}.col-time-claude[data-v-b403c421]{flex:0 0 85px;justify-content:flex-end;min-width:85px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-codex[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-codex[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-codex[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-gemini[data-v-b403c421]{flex:80px;min-width:0;overflow:hidden}.col-token-gemini[data-v-b403c421]{flex:0 0 68px;justify-content:center;min-width:0}.col-time-gemini[data-v-b403c421]{flex:0 0 85px;justify-content:flex-end;min-width:85px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-opencode[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-opencode[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-opencode[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel-omp[data-v-b403c421]{flex:65px;min-width:0;overflow:hidden}.col-token-omp[data-v-b403c421]{flex:0 0 58px;justify-content:center;min-width:0}.col-time-omp[data-v-b403c421]{flex:0 0 80px;justify-content:flex-end;min-width:80px;padding-left:10px;padding-right:6px;font-family:monospace;font-size:11px}.col-channel[data-v-b403c421]{min-width:0;overflow:hidden}.col-channel .n-tag[data-v-b403c421]{text-overflow:ellipsis;max-width:100%;overflow:hidden}.col-token[data-v-b403c421]{justify-content:center;min-width:0}.col-time[data-v-b403c421]{justify-content:flex-end;font-family:monospace;font-size:11px}.empty-state[data-v-b403c421]{text-align:center;color:#9ca3af;padding:40px 16px;font-size:13px}[data-theme=dark] .empty-state[data-v-b403c421]{color:var(--text-tertiary)}.logs-footer[data-v-b403c421]{color:#6b7280;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}[data-theme=dark] .logs-footer[data-v-b403c421]{border-top:1px solid var(--border-primary);color:var(--text-tertiary)}.status[data-v-b403c421]{color:#ef4444;align-items:center;gap:4px;display:flex}.status.connected[data-v-b403c421]{color:#10b981}[data-theme=dark] .status.connected[data-v-b403c421]{color:#4ade80}.count[data-v-b403c421]{color:#6b7280}[data-theme=dark] .count[data-v-b403c421]{color:var(--text-tertiary)}@media (width<=1024px){.logs-header[data-v-b403c421]{padding:10px 12px}.header-left[data-v-b403c421]{gap:8px}.title[data-v-b403c421]{font-size:13px}.today-stats[data-v-b403c421] .n-tag{padding:1px 6px;font-size:10px}.table-header[data-v-b403c421]{padding:6px 10px;font-size:10px}.table-row[data-v-b403c421]{padding:6px 10px}.logs-footer[data-v-b403c421]{padding:6px 12px;font-size:11px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421]{flex:0 0 75px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421]{flex:0 0 55px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421]{flex:0 0 80px;min-width:80px}.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 65px}.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 48px}.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 75px;min-width:75px}}@media (width<=768px){.logs-header[data-v-b403c421]{flex-direction:column;align-items:stretch;gap:8px;padding:8px 10px}.header-left[data-v-b403c421]{justify-content:space-between}.title[data-v-b403c421]{font-size:12px}.today-stats[data-v-b403c421] .n-tag{padding:1px 4px;font-size:9px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:4px 8px;font-size:10px}.table-row-content[data-v-b403c421]{font-size:10px}.action-row[data-v-b403c421]{padding:8px 10px;font-size:11px}.action-message[data-v-b403c421]{font-size:11px}.action-time[data-v-b403c421]{margin-right:12px;font-size:9px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 60px}.col-channel[data-v-b403c421] .n-tag{height:18px;padding:0 4px;font-size:9px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 40px;font-size:9px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 65px;min-width:65px;font-size:9px}.logs-footer[data-v-b403c421]{padding:4px 10px;font-size:10px}}@media (width<=640px){.logs-header[data-v-b403c421]{gap:6px;padding:6px 8px}.header-left[data-v-b403c421]{flex-wrap:wrap;gap:4px}.title[data-v-b403c421]{font-size:11px}.today-stats[data-v-b403c421]{gap:4px}.today-stats[data-v-b403c421] .n-tag{height:16px;padding:0 3px;font-size:8px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:3px 6px;font-size:9px}.table-row-content[data-v-b403c421]{font-size:9px}.action-row[data-v-b403c421]{padding:6px 8px;font-size:10px}.action-message[data-v-b403c421]{font-size:10px}.action-time[data-v-b403c421]{margin-left:8px;margin-right:8px;font-size:8px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 50px}.col-channel[data-v-b403c421] .n-tag{height:16px;padding:0 3px;font-size:8px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 32px;font-size:8px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 55px;min-width:55px;font-size:8px}.logs-footer[data-v-b403c421]{padding:3px 8px;font-size:9px}.status[data-v-b403c421],.count[data-v-b403c421]{font-size:9px}}@media (width<=480px){.logs-header[data-v-b403c421]{padding:4px 6px}.title[data-v-b403c421]{font-size:10px}.today-stats[data-v-b403c421] .n-tag{height:14px;font-size:7px}.table-header[data-v-b403c421],.table-row[data-v-b403c421]{padding:2px 4px;font-size:8px}.action-row[data-v-b403c421]{padding:4px 6px;font-size:9px}.action-row[data-v-b403c421] .n-icon{margin-right:4px}.col-channel-claude[data-v-b403c421],.col-channel-gemini[data-v-b403c421],.col-channel-codex[data-v-b403c421],.col-channel-opencode[data-v-b403c421],.col-channel-omp[data-v-b403c421]{flex:0 0 45px}.col-token-claude[data-v-b403c421],.col-token-gemini[data-v-b403c421],.col-token-codex[data-v-b403c421],.col-token-opencode[data-v-b403c421],.col-token-omp[data-v-b403c421]{flex:0 0 28px;font-size:7px}.col-time-claude[data-v-b403c421],.col-time-gemini[data-v-b403c421],.col-time-codex[data-v-b403c421],.col-time-opencode[data-v-b403c421],.col-time-omp[data-v-b403c421]{flex:0 0 48px;min-width:48px;font-size:7px}.logs-footer[data-v-b403c421]{padding:2px 6px;font-size:8px}}.right-panel[data-v-e779d4e0]{background:var(--bg-primary);border-left:1px solid var(--border-primary);flex-direction:column;width:480px;min-width:480px;height:100%;display:flex}.toolbar-section[data-v-e779d4e0]{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.toolbar-left[data-v-e779d4e0]{align-items:center;gap:8px;display:flex}.toolbar-label[data-v-e779d4e0]{margin-right:2px;font-size:12px}.toolbar-right[data-v-e779d4e0]{align-items:center;gap:2px;display:flex}.toolbar-btn[data-v-e779d4e0]{--toolbar-button-text:var(--text-secondary);border-radius:4px;transition:transform .18s cubic-bezier(.4,0,.2,1);--n-text-color:var(--toolbar-button-text)!important;--n-text-color-hover:var(--toolbar-button-text)!important;--n-text-color-pressed:var(--toolbar-button-text)!important;--n-text-color-focus:var(--toolbar-button-text)!important;--n-color-hover:transparent!important;--n-color-pressed:transparent!important;--n-color-focus:transparent!important;color:var(--toolbar-button-text)!important;padding:5px!important}.toolbar-btn[data-v-e779d4e0] .n-button__content,.toolbar-btn[data-v-e779d4e0] .n-button__icon{color:var(--toolbar-button-text)!important}.toolbar-btn[data-v-e779d4e0]:hover,.toolbar-btn[data-v-e779d4e0]:focus,.toolbar-btn[data-v-e779d4e0]:focus-visible,.toolbar-btn[data-v-e779d4e0]:active{background:0 0;transform:translateY(-1px);color:var(--toolbar-button-text)!important}.toolbar-btn[data-v-e779d4e0]:active{transform:translateY(0)}.toolbar-divider[data-v-e779d4e0]{background:var(--border-primary);width:1px;height:16px;margin:0 4px}.oauth-banner[data-v-e779d4e0]{color:#2080f0;background:#2080f014;border-bottom:1px solid #2080f033;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:flex}.oauth-banner span[data-v-e779d4e0]{flex:1}.channels-section[data-v-e779d4e0]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.channels-section.full-height[data-v-e779d4e0]{flex:1}.panel-header[data-v-e779d4e0]{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.header-title[data-v-e779d4e0]{align-items:baseline;gap:8px;min-width:0;display:flex}.header-title h3[data-v-e779d4e0]{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.header-hint[data-v-e779d4e0]{font-size:11px}.header-actions[data-v-e779d4e0]{flex-shrink:0;align-items:center;gap:8px;display:flex}.channels-scroll-area[data-v-e779d4e0]{flex:1;min-height:0;padding:12px;overflow-y:auto}.logs-section[data-v-e779d4e0]{flex:0 0 340px;min-height:340px;max-height:340px;overflow:hidden}.logs-section.full-height[data-v-e779d4e0]{flex:1;min-height:0;max-height:none}@media (width<=1024px){.right-panel[data-v-e779d4e0]{width:420px;min-width:420px}.logs-section[data-v-e779d4e0]{flex:0 0 300px;min-height:300px;max-height:300px}}@media (width<=768px){.right-panel[data-v-e779d4e0]{width:100%;min-width:100%}.toolbar-section[data-v-e779d4e0]{padding:8px 12px}.toolbar-label[data-v-e779d4e0]{font-size:11px}.logs-section[data-v-e779d4e0]{flex:0 0 260px;min-height:260px;max-height:260px}}@media (height<=600px){.right-panel[data-v-e779d4e0]{overflow-y:auto}.channels-section[data-v-e779d4e0]{flex:0 0 360px;min-height:360px}.logs-section[data-v-e779d4e0]{flex:0 0 260px}}.layout[data-v-1b46cda2]{background:var(--bg-primary);flex-direction:column;height:100vh;display:flex}.header[data-v-1b46cda2]{background:var(--gradient-header);border-bottom:1px solid var(--border-primary);flex-shrink:0;justify-content:space-between;align-items:center;height:74px;padding:10px 22px;display:flex;box-shadow:inset 0 1px #ffffff57}.header-actions[data-v-1b46cda2]{background:color-mix(in srgb, var(--bg-primary) 82%, transparent);border:1px solid var(--border-primary);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;box-shadow:0 14px 34px #0f171d14}.more-menu-trigger[data-v-1b46cda2]{display:flex}.header-divider[data-v-1b46cda2]{background:#95a7af59;width:1px;height:24px;margin:0 2px}.env-warning-btn[data-v-1b46cda2]{cursor:pointer;background:#f59e0b1a;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;transition:background .2s;display:flex}.env-warning-btn[data-v-1b46cda2]:hover{background:#f59e0b2e}.env-warning-icon[data-v-1b46cda2]{color:#f59e0b}.env-warning-count[data-v-1b46cda2]{color:#f59e0b;font-size:11px;font-weight:600}.logo-section[data-v-1b46cda2]{cursor:pointer;color:inherit;border-radius:18px;align-items:center;gap:14px;margin-left:-8px;padding:8px 14px;text-decoration:none;transition:background .2s;display:flex}.logo-section[data-v-1b46cda2]:hover{background:var(--hover-bg)}.logo-wrapper[data-v-1b46cda2]{background:linear-gradient(135deg,#18a0582e,#18a0580d);border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 10px 24px #0f171d14}.logo-image[data-v-1b46cda2]{object-fit:contain;width:22px;height:22px}.title-group[data-v-1b46cda2]{flex-direction:column;gap:1px;display:flex}.title-main[data-v-1b46cda2]{color:var(--brand-title-color);margin:0;font-size:18px;font-weight:700;line-height:1.2}.title-sub[data-v-1b46cda2]{color:var(--text-tertiary);font-size:11px}.nav-tabs[data-v-1b46cda2]{background:color-mix(in srgb, var(--bg-primary) 86%, transparent);border:1px solid var(--border-primary);border-radius:999px;align-items:center;gap:6px;margin-left:28px;padding:6px 8px;display:flex;box-shadow:0 14px 36px #0f171d14}.nav-tab[data-v-1b46cda2]{cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;transition:background .2s;display:flex;position:relative}.nav-tab[data-v-1b46cda2]:hover{background:var(--hover-bg)}.nav-tab.active[data-v-1b46cda2]{background:var(--primary-color-soft)}.nav-tab.active[data-v-1b46cda2]:after{content:"";border-radius:inherit;background:0 0;border:1px solid #18a05838;position:absolute;inset:0}.nav-icon[data-v-1b46cda2]{color:var(--text-tertiary)}.nav-tab:hover .nav-icon[data-v-1b46cda2],.nav-tab.active .nav-icon[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.nav-label[data-v-1b46cda2]{color:var(--text-secondary);font-size:13px;font-weight:500}.nav-tab:hover .nav-label[data-v-1b46cda2],.nav-tab.active .nav-label[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.nav-tab.active .nav-label[data-v-1b46cda2]{font-weight:600}.main-container[data-v-1b46cda2]{flex:1;height:calc(100vh - 74px);min-height:0;display:flex;overflow:hidden}.global-loading-overlay[data-v-1b46cda2]{background:var(--bg-overlay);z-index:1000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.left-content[data-v-1b46cda2]{flex:1;min-width:0;height:100%;overflow:hidden}.favorites-button-wrapper[data-v-1b46cda2]{position:relative}.favorites-badge[data-v-1b46cda2]{color:#fff;pointer-events:none;background:#ff4d4f;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:600;display:flex;position:absolute;top:-3px;right:-3px}.help-content[data-v-1b46cda2]{max-height:70vh;overflow-y:auto}.help-section[data-v-1b46cda2]{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:20px;padding:16px}.help-section[data-v-1b46cda2]:last-child{margin-bottom:0}.help-section h4[data-v-1b46cda2]{color:var(--text-primary);border-bottom:1px solid var(--border-primary);margin:0 0 12px;padding-bottom:10px;font-size:15px;font-weight:600}.help-section p[data-v-1b46cda2]{color:var(--text-secondary);margin:0 0 10px;font-size:13px;line-height:1.7}.help-section ul[data-v-1b46cda2]{margin:8px 0 0;padding-left:20px}.help-section li[data-v-1b46cda2]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;line-height:1.8}.help-section li strong[data-v-1b46cda2]{color:var(--primary-color,#18a058)}.command-list[data-v-1b46cda2]{flex-direction:column;gap:8px;display:flex}.command-item[data-v-1b46cda2]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;display:flex}.command-item code[data-v-1b46cda2]{min-width:140px;color:var(--primary-color,#18a058);background:#18a0581a;border-radius:4px;padding:4px 10px;font-family:monospace;font-size:12px;font-weight:600}.command-item span[data-v-1b46cda2]{color:var(--text-secondary);font-size:13px}.help-section kbd[data-v-1b46cda2]{color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px;margin:0 2px;padding:2px 6px;font-family:monospace;font-size:11px;font-weight:600;display:inline-block}.link-list[data-v-1b46cda2]{flex-wrap:wrap;gap:12px;display:flex}.link-list a[data-v-1b46cda2]{color:var(--primary-color,#18a058);background:#18a05814;border-radius:4px;padding:6px 10px;font-size:13px;text-decoration:none}.link-list a[data-v-1b46cda2]:hover{background:#18a05826}.panel-security-auth[data-v-1b46cda2]{flex-direction:column;gap:12px;display:flex}.panel-security-error[data-v-1b46cda2]{color:#d03050;font-size:12px}.panel-security-hint[data-v-1b46cda2]{font-size:12px;line-height:1.6}.header-actions[data-v-1b46cda2],.nav-tabs[data-v-1b46cda2]{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}[data-theme=dark] .header[data-v-1b46cda2]{border-bottom-color:#2b424aeb;box-shadow:inset 0 -1px #ffffff08}[data-theme=dark] .header-actions[data-v-1b46cda2],[data-theme=dark] .nav-tabs[data-v-1b46cda2]{background:#0c151bdb;border-color:#364c56e6;box-shadow:0 14px 32px #00000042}[data-theme=dark] .logo-section[data-v-1b46cda2]:hover{background:#ffffff0d}@media (width<=1024px){.header[data-v-1b46cda2]{height:68px;padding:10px 16px}.main-container[data-v-1b46cda2]{height:calc(100vh - 68px)}.nav-tabs[data-v-1b46cda2]{margin-left:16px;padding:5px 6px}.title-sub[data-v-1b46cda2]{display:none}}@media (width<=768px){.header[data-v-1b46cda2]{height:60px;padding:8px 12px}.main-container[data-v-1b46cda2]{height:calc(100vh - 60px)}.logo-wrapper[data-v-1b46cda2]{width:28px;height:28px}.logo-image[data-v-1b46cda2]{width:18px;height:18px}.title-main[data-v-1b46cda2]{font-size:14px}.title-sub[data-v-1b46cda2]{display:none}.nav-tabs[data-v-1b46cda2]{gap:2px;margin-left:10px;padding:4px 5px}.nav-tab[data-v-1b46cda2]{gap:4px;padding:6px 10px}.nav-label[data-v-1b46cda2]{font-size:12px}.header-actions[data-v-1b46cda2]{gap:2px}}@media (width<=640px){.header[data-v-1b46cda2]{height:54px;padding:6px 8px}.main-container[data-v-1b46cda2]{height:calc(100vh - 54px)}.title-group[data-v-1b46cda2]{display:none}.nav-tabs[data-v-1b46cda2]{flex:1;justify-content:center;margin-left:8px}.nav-tab[data-v-1b46cda2]{flex-direction:column;gap:2px;padding:4px 6px}.nav-label[data-v-1b46cda2]{font-size:10px}}.asset-panel{background:var(--bg-primary);flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.asset-panel-header,.asset-drawer-toolbar{border-bottom:1px solid var(--border-primary);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.asset-drawer-toolbar{background:var(--bg-secondary);justify-content:flex-end;padding:10px 12px}.asset-title-group,.asset-title-row,.asset-action-row,.asset-filter-bar,.asset-summary,.asset-meta,.asset-tags,.asset-card-actions{align-items:center;display:flex}.asset-title-group{gap:10px;min-width:0}.asset-heading{min-width:0}.asset-title-row{gap:8px;min-width:0}.asset-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.25;overflow:hidden}.asset-subtitle{color:var(--text-tertiary);margin-top:3px;font-size:12px;line-height:1.35}.asset-platform-pill{border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-tertiary);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:500;line-height:1.4}.asset-action-row{flex-shrink:0;gap:6px}.asset-action-row .n-button{font-size:12px}.asset-summary{border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);gap:8px;padding:10px 18px}.asset-panel.in-drawer .asset-summary{padding:10px 12px}.asset-summary-item{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:999px;align-items:baseline;gap:6px;min-width:0;padding:4px 8px;display:inline-flex}.asset-summary-label{color:var(--text-tertiary);font-size:11px}.asset-summary-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.asset-filter-bar{border-bottom:1px solid var(--border-primary);background:var(--bg-primary);gap:10px;padding:12px 18px}.asset-panel.in-drawer .asset-filter-bar{padding:10px 12px}.asset-search{flex:1;min-width:160px}.asset-filter{flex-shrink:0;width:116px}.asset-panel-content{flex:1;min-height:0;padding:16px 18px;overflow-y:auto}.asset-panel.in-drawer .asset-panel-content{padding:12px}.asset-panel-content .n-spin-container{min-height:220px}.asset-empty{justify-content:center;align-items:center;min-height:220px;display:flex}.asset-list{flex-direction:column;gap:10px;display:flex}.asset-footer{border-top:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-tertiary);align-items:center;gap:6px;padding:9px 18px;font-size:11px;display:flex}.asset-panel.in-drawer .asset-footer{padding:8px 12px}.asset-info-icon{color:var(--text-quaternary)}.asset-card{border:1px solid var(--border-primary);background:var(--bg-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:14px;min-height:96px;padding:14px;transition:border-color .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out;display:flex}.asset-card:hover{border-color:var(--border-secondary);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.asset-card.is-installed,.asset-card.is-managed,.asset-card.is-project{background:linear-gradient(0deg, oklch(62% .15 151/.045), oklch(62% .15 151/.045)), var(--bg-primary)}.asset-card.is-disabled,.asset-card.is-protected{background:var(--bg-secondary)}.asset-card-main{flex:1;min-width:0}.asset-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-card-title-stack{min-width:0}.asset-card-title-row{align-items:center;gap:7px;min-width:0;display:flex}.asset-status-dot{background:var(--text-quaternary);border-radius:999px;flex:none;width:7px;height:7px}.asset-status-dot.active{background:var(--primary-color);box-shadow:0 0 0 3px oklch(62% .15 151/.1)}.asset-status-dot.warning{background:oklch(68% .14 78);box-shadow:0 0 0 3px oklch(68% .14 78/.1)}.asset-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;line-height:1.35;overflow:hidden}.asset-name.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-tags{flex-wrap:wrap;gap:5px;margin-top:6px}.asset-description{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:9px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.asset-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:8px;margin-top:9px;font-size:11px}.asset-meta-item{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.asset-meta-item.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-link{color:var(--primary-color);flex-shrink:0;text-decoration:none}.asset-link:hover{text-decoration:underline}.asset-card-actions{flex-shrink:0;gap:5px}.asset-platform-strip{align-items:center;gap:5px;margin-left:6px;display:flex}.asset-platform-icon{border:1px solid var(--border-primary);background:var(--bg-secondary);width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:border-color .16s ease-out,color .16s ease-out,background-color .16s ease-out;display:inline-flex}.asset-platform-icon:hover{border-color:var(--border-secondary);color:var(--text-secondary)}.asset-platform-icon.active{color:var(--primary-color);background:oklch(62% .15 151/.1);border-color:oklch(62% .15 151/.34)}.asset-detail-drawer-header{width:100%}.asset-detail-identity{align-items:center;gap:12px;min-width:0;display:flex}.asset-detail-icon{color:var(--primary-color);flex-shrink:0}.asset-detail-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.asset-detail-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;line-height:1.25;overflow:hidden}.asset-detail-name.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-detail-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.asset-detail-subtle{min-width:0;color:var(--text-tertiary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.asset-detail-body{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.asset-detail-container{flex-direction:column;gap:22px;min-height:0;display:flex}.asset-detail-info-section{flex-direction:column;gap:10px;display:flex}.asset-detail-section-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:650}.asset-detail-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}.asset-detail-list{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:8px;overflow:hidden}.asset-detail-row{border-bottom:1px solid var(--border-primary);grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px 12px;font-size:13px;display:grid}.asset-detail-row:last-child{border-bottom:0}.asset-detail-label{color:var(--text-tertiary)}.asset-detail-value{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary)}.asset-detail-value.mono{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace);font-size:12px}.asset-detail-box{border:1px solid var(--border-primary);background:var(--bg-secondary);min-width:0;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.asset-detail-box code,.asset-detail-code{font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace)}.asset-detail-box code{overflow-wrap:anywhere;color:var(--text-secondary);font-size:12px}.asset-detail-path-box{align-items:flex-start}.asset-detail-path-icon{flex:none;margin-top:1px}.asset-detail-path-text{flex:1;min-width:0;line-height:1.5}.asset-detail-path-copy{color:var(--text-tertiary);flex:none;margin:-4px -4px -4px 4px}.asset-detail-path-copy:hover{color:var(--text-primary)}.asset-detail-link{overflow-wrap:anywhere;min-width:0;color:var(--primary-color);text-decoration:none}.asset-detail-link:hover{text-decoration:underline}.asset-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.asset-detail-content{border:1px solid var(--border-primary);background:var(--bg-secondary);min-height:0;color:var(--text-secondary);overflow-wrap:anywhere;border-radius:8px;flex:1;padding:18px;font-size:13px;line-height:1.7;overflow:auto}.asset-detail-content h1,.asset-detail-content h2,.asset-detail-content h3,.asset-detail-content h4,.asset-detail-content h5,.asset-detail-content h6{color:var(--text-primary);margin:22px 0 10px;font-weight:650;line-height:1.35}.asset-detail-content h1:first-child,.asset-detail-content h2:first-child,.asset-detail-content h3:first-child{margin-top:0}.asset-detail-content h1{border-bottom:1px solid var(--border-primary);padding-bottom:10px;font-size:20px}.asset-detail-content h2{border-bottom:1px solid var(--border-primary);padding-bottom:7px;font-size:17px}.asset-detail-content h3{font-size:15px}.asset-detail-content h4{font-size:14px}.asset-detail-content h5,.asset-detail-content h6{color:var(--text-secondary);font-size:13px}.asset-detail-content p{margin:10px 0}.asset-detail-content strong{color:var(--text-primary);font-weight:650}.asset-detail-content code{border:1px solid var(--border-primary);background:var(--bg-tertiary);font-family:var(--font-mono,"SF Mono", "JetBrains Mono", "Cascadia Code", monospace);border-radius:5px;padding:2px 6px;font-size:12px}.asset-detail-content pre{border:1px solid var(--border-primary);background:var(--bg-primary);border-radius:8px;margin:14px 0;padding:14px;line-height:1.65;overflow-x:auto}.asset-detail-content pre code{color:var(--text-secondary);background:0 0;border:0;padding:0;font-size:12px}.asset-detail-content ul,.asset-detail-content ol{margin:10px 0;padding-left:24px}.asset-detail-content li{margin:5px 0}.asset-detail-content li>p{margin:6px 0}.asset-detail-content a{color:var(--primary-color);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.asset-detail-content a:hover{color:var(--primary-color-hover,var(--primary-color))}.asset-detail-content blockquote{border-left:1px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-tertiary);border-radius:0 8px 8px 0;margin:14px 0;padding:10px 12px}.asset-detail-content blockquote>:first-child{margin-top:0}.asset-detail-content blockquote>:last-child{margin-bottom:0}.asset-detail-content table{border-collapse:collapse;width:max-content;max-width:100%;margin:14px 0;font-size:12px;display:block;overflow-x:auto}.asset-detail-content th,.asset-detail-content td{border:1px solid var(--border-primary);text-align:left;vertical-align:top;padding:8px 10px}.asset-detail-content th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:650}.asset-detail-content img{border-radius:8px;max-width:100%;height:auto;margin:14px auto;display:block}.asset-detail-content hr{background:var(--border-primary);border:0;height:1px;margin:20px 0}.asset-detail-code{border:1px solid var(--border-primary);background:var(--bg-secondary);min-height:0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;border-radius:8px;flex:1;margin:0;padding:16px;font-size:12px;line-height:1.65;overflow:auto}.asset-detail-loading,.asset-detail-empty,.asset-detail-error{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 24px;display:flex}.asset-detail-empty-icon,.asset-detail-error-icon{color:var(--text-quaternary)}.asset-detail-error-icon{color:oklch(56% .18 26)}.asset-detail-tabs{flex:1;height:100%;min-height:0}.asset-detail-tabs .n-tabs-pane-wrapper{flex:1;min-height:0;padding-top:16px;overflow:hidden}.asset-detail-tabs .n-tab-pane{flex-direction:column;height:100%;min-height:0;display:flex;overflow:auto}@media (width<=720px){.asset-panel-header{flex-direction:column;align-items:flex-start}.asset-action-row,.asset-filter-bar,.asset-card-top{width:100%}.asset-action-row,.asset-summary{flex-wrap:wrap}.asset-filter-bar{flex-direction:column;align-items:stretch}.asset-filter{width:100%}.asset-card{flex-direction:column}.asset-card-actions{flex-wrap:wrap;align-self:flex-start}}:root{--bg-primary:#fff;--bg-secondary:#f4f7f8;--bg-tertiary:#edf3f1;--bg-elevated:#fff;--bg-overlay:#ffffffeb;--text-primary:#122025;--text-secondary:#58717d;--text-tertiary:#738995;--text-quaternary:#95a7af;--border-primary:#d8e1de;--border-secondary:#c3d0cb;--hover-bg:#18a05814;--active-bg:#18a0581f;--shadow-sm:0 8px 20px #0f171d0f;--shadow-md:0 18px 42px #0f171d1a;--shadow-lg:0 30px 70px #0f171d24;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--gradient-header:linear-gradient(135deg, #f8fbfc 0%, #eef6f3 52%, #e9f7f1 100%);--gradient-bg:linear-gradient(180deg, #f4f7f8 0%, #eef4f2 100%);--gradient-card:linear-gradient(145deg, #fffffffa 0%, #f7faf8fa 100%);--primary-color:#18a058;--primary-color-soft:#18a0581f;--brand-title-color:#0d8f55}[data-theme=dark]{--bg-primary:#0a1116;--bg-secondary:#101920;--bg-tertiary:#16222a;--bg-elevated:#1a2831;--bg-overlay:#0a1116f0;--text-primary:#e7eef0;--text-secondary:#a8bbc0;--text-tertiary:#82969d;--text-quaternary:#667b83;--border-primary:#263740;--border-secondary:#334852;--hover-bg:#ffffff14;--active-bg:#ffffff1f;--shadow-sm:0 10px 24px #0000003d;--shadow-md:0 22px 52px #0000004d;--shadow-lg:0 36px 76px #0000005c;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace;--gradient-header:linear-gradient(135deg, #0b1419 0%, #101b22 58%, #0d171d 100%);--gradient-bg:linear-gradient(180deg, #0a1116 0%, #0d151b 56%, #091016 100%);--gradient-card:linear-gradient(145deg, #121b22fa 0%, #0c151bfa 100%);--primary-color:#18a058;--primary-color-soft:#18a05829;--brand-title-color:#37d08c}body{background:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;font-family:SF Pro Display,SF Pro Text,Segoe UI Variable Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;transition:background-color .3s,color .3s}#app{background:var(--bg-primary);min-height:100vh}*{scrollbar-width:thin;scrollbar-color:#18a05847 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#18a05847;border-radius:3px;transition:background-color .2s}::-webkit-scrollbar-thumb:hover{background-color:#18a05880}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:#18a05866}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background-color:#18a05899}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,Cn as o,Ct as n,D as t,Dt as r,Gt as i,I as l,It as a,Kt as s,M as d,N as c,Nt as u,Ot as g,Rt as h,Sn as p,Tt as f,Ut as v,Wt as b,Yt as m,Zt as C,an as x,dn as S,gn as k,gt as w,hn as y,ht as z,j as F,k as L,kt as B,l as P,mn as M,nn as $,pn as O,qt as T,s as R,tn as H,vn as j,w as E,x as D,xn as I,xt as A,y as W,yn as _,yt as N,zt as q}from"./_plugin-vue_export-helper-BeLZJZij.js";import{A as Z,F as V,G as U,H as Y,I as X,M as G,N as K,R as J,Z as Q,b as ee,dt as oe,f as ne,ht as te,l as re,ot as ie,st as le,tt as ae,y as se,z as de}from"./vue-vendor-BqZbbXHA.js";import{b as ce,f as ue,g as ge,h as he,v as pe,x as fe}from"./use-message-DoLM8C1C.js";import{n as ve,t as be}from"./use-lock-html-scroll-DXIqmUW4.js";var me=le(null);function Ce(e){if(e.clientX>0||e.clientY>0)me.value={x:e.clientX,y:e.clientY};else{const{target:o}=e;if(o instanceof Element){const{left:e,top:n,width:t,height:r}=o.getBoundingClientRect();me.value=e>0||n>0?{x:e+t/2,y:n+r/2}:{x:0,y:0}}else me.value=null}}var xe=0,Se=!0;function ke(){if(!fe)return ie(le(null));0===xe&&$("click",document,Ce,!0);const e=()=>{xe+=1};return Se&&(Se=ce())?(J(e),de(()=>{0===(xe-=1)&&H("click",document,Ce,!0)})):e(),ie(me)}var we=le(void 0),ye=0;function ze(){we.value=Date.now()}var Fe=!0;function Le(e){if(!fe)return ie(le(!1));const o=le(!1);let n=null;function t(){null!==n&&window.clearTimeout(n)}function r(){t(),o.value=!0,n=window.setTimeout(()=>{o.value=!1},e)}0===ye&&$("click",window,ze,!0);const i=()=>{ye+=1,$("click",window,r,!0)};return Fe&&(Fe=ce())?(J(i),de(()=>{0===(ye-=1)&&H("click",window,ze,!0),H("click",window,r,!0),t()})):i(),ie(o)}function Be(e){return Object.keys(e)}var Pe=L("error",()=>G("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M17.8838835,16.1161165 L17.7823881,16.0249942 C17.3266086,15.6583353 16.6733914,15.6583353 16.2176119,16.0249942 L16.1161165,16.1161165 L16.0249942,16.2176119 C15.6583353,16.6733914 15.6583353,17.3266086 16.0249942,17.7823881 L16.1161165,17.8838835 L22.233,24 L16.1161165,30.1161165 L16.0249942,30.2176119 C15.6583353,30.6733914 15.6583353,31.3266086 16.0249942,31.7823881 L16.1161165,31.8838835 L16.2176119,31.9750058 C16.6733914,32.3416647 17.3266086,32.3416647 17.7823881,31.9750058 L17.8838835,31.8838835 L24,25.767 L30.1161165,31.8838835 L30.2176119,31.9750058 C30.6733914,32.3416647 31.3266086,32.3416647 31.7823881,31.9750058 L31.8838835,31.8838835 L31.9750058,31.7823881 C32.3416647,31.3266086 32.3416647,30.6733914 31.9750058,30.2176119 L31.8838835,30.1161165 L25.767,24 L31.8838835,17.8838835 L31.9750058,17.7823881 C32.3416647,17.3266086 32.3416647,16.6733914 31.9750058,16.2176119 L31.8838835,16.1161165 L31.7823881,16.0249942 C31.3266086,15.6583353 30.6733914,15.6583353 30.2176119,16.0249942 L30.1161165,16.1161165 L24,22.233 L17.8838835,16.1161165 L17.7823881,16.0249942 L17.8838835,16.1161165 Z"}))))),Me=L("info",()=>G("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M14,2 C20.6274,2 26,7.37258 26,14 C26,20.6274 20.6274,26 14,26 C7.37258,26 2,20.6274 2,14 C2,7.37258 7.37258,2 14,2 Z M14,11 C13.4477,11 13,11.4477 13,12 L13,12 L13,20 C13,20.5523 13.4477,21 14,21 C14.5523,21 15,20.5523 15,20 L15,20 L15,12 C15,11.4477 14.5523,11 14,11 Z M14,6.75 C13.3096,6.75 12.75,7.30964 12.75,8 C12.75,8.69036 13.3096,9.25 14,9.25 C14.6904,9.25 15.25,8.69036 15.25,8 C15.25,7.30964 14.6904,6.75 14,6.75 Z"}))))),$e=L("success",()=>G("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.6338835,17.6161165 C32.1782718,17.1605048 31.4584514,17.1301307 30.9676119,17.5249942 L30.8661165,17.6161165 L20.75,27.732233 L17.1338835,24.1161165 C16.6457281,23.6279612 15.8542719,23.6279612 15.3661165,24.1161165 C14.9105048,24.5717282 14.8801307,25.2915486 15.2749942,25.7823881 L15.3661165,25.8838835 L19.8661165,30.3838835 C20.3217282,30.8394952 21.0415486,30.8698693 21.5323881,30.4750058 L21.6338835,30.3838835 L32.6338835,19.3838835 C33.1220388,18.8957281 33.1220388,18.1042719 32.6338835,17.6161165 Z"}))))),Oe=L("warning",()=>G("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M12,2 C17.523,2 22,6.478 22,12 C22,17.522 17.523,22 12,22 C6.477,22 2,17.522 2,12 C2,6.478 6.477,2 12,2 Z M12.0018002,15.0037242 C11.450254,15.0037242 11.0031376,15.4508407 11.0031376,16.0023869 C11.0031376,16.553933 11.450254,17.0010495 12.0018002,17.0010495 C12.5533463,17.0010495 13.0004628,16.553933 13.0004628,16.0023869 C13.0004628,15.4508407 12.5533463,15.0037242 12.0018002,15.0037242 Z M11.99964,7 C11.4868042,7.00018474 11.0642719,7.38637706 11.0066858,7.8837365 L11,8.00036004 L11.0018003,13.0012393 L11.00857,13.117858 C11.0665141,13.6151758 11.4893244,14.0010638 12.0021602,14.0008793 C12.514996,14.0006946 12.9375283,13.6145023 12.9951144,13.1171428 L13.0018002,13.0005193 L13,7.99964009 L12.9932303,7.8830214 C12.9352861,7.38570354 12.5124758,6.99981552 11.99964,7 Z"}))))),Te={paddingSmall:"12px 16px 12px",paddingMedium:"19px 24px 20px",paddingLarge:"23px 32px 24px",paddingHuge:"27px 40px 28px",titleFontSizeSmall:"16px",titleFontSizeMedium:"18px",titleFontSizeLarge:"18px",titleFontSizeHuge:"18px",closeIconSize:"18px",closeSize:"22px"};function Re(e){const{primaryColor:o,borderRadius:n,lineHeight:t,fontSize:r,cardColor:i,textColor2:l,textColor1:a,dividerColor:s,fontWeightStrong:d,closeIconColor:c,closeIconColorHover:u,closeIconColorPressed:g,closeColorHover:h,closeColorPressed:p,modalColor:f,boxShadow1:v,popoverColor:b,actionColor:m}=e;return Object.assign(Object.assign({},Te),{lineHeight:t,color:i,colorModal:f,colorPopover:b,colorTarget:o,colorEmbedded:m,colorEmbeddedModal:m,colorEmbeddedPopover:m,textColor:l,titleTextColor:a,borderColor:s,actionColor:m,titleFontWeight:d,closeColorHover:h,closeColorPressed:p,closeBorderRadius:n,closeIconColor:c,closeIconColorHover:u,closeIconColorPressed:g,fontSizeSmall:r,fontSizeMedium:r,fontSizeLarge:r,fontSizeHuge:r,boxShadow:v,borderRadius:n})}var He={name:"Card",common:e,self:Re},je=y([k("card","\n font-size: var(--n-font-size);\n line-height: var(--n-line-height);\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n border-radius: var(--n-border-radius);\n background-color: var(--n-color);\n color: var(--n-text-color);\n word-break: break-word;\n transition: \n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n ",[M({background:"var(--n-color-modal)"}),_("hoverable",[y("&:hover","box-shadow: var(--n-box-shadow);")]),_("content-segmented",[y(">",[j("content",{paddingTop:"var(--n-padding-bottom)"})])]),_("content-soft-segmented",[y(">",[j("content","\n margin: 0 var(--n-padding-left);\n padding: var(--n-padding-bottom) 0;\n ")])]),_("footer-segmented",[y(">",[j("footer",{paddingTop:"var(--n-padding-bottom)"})])]),_("footer-soft-segmented",[y(">",[j("footer","\n padding: var(--n-padding-bottom) 0;\n margin: 0 var(--n-padding-left);\n ")])]),y(">",[k("card-header","\n box-sizing: border-box;\n display: flex;\n align-items: center;\n font-size: var(--n-title-font-size);\n padding:\n var(--n-padding-top)\n var(--n-padding-left)\n var(--n-padding-bottom)\n var(--n-padding-left);\n ",[j("main","\n font-weight: var(--n-title-font-weight);\n transition: color .3s var(--n-bezier);\n flex: 1;\n min-width: 0;\n color: var(--n-title-text-color);\n "),j("extra","\n display: flex;\n align-items: center;\n font-size: var(--n-font-size);\n font-weight: 400;\n transition: color .3s var(--n-bezier);\n color: var(--n-text-color);\n "),j("close","\n margin: 0 0 0 8px;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n ")]),j("action","\n box-sizing: border-box;\n transition:\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n background-clip: padding-box;\n background-color: var(--n-action-color);\n "),j("content","flex: 1; min-width: 0;"),j("content, footer","\n box-sizing: border-box;\n padding: 0 var(--n-padding-left) var(--n-padding-bottom) var(--n-padding-left);\n font-size: var(--n-font-size);\n ",[y("&:first-child",{paddingTop:"var(--n-padding-bottom)"})]),j("action","\n background-color: var(--n-action-color);\n padding: var(--n-padding-bottom) var(--n-padding-left);\n border-bottom-left-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n ")]),k("card-cover","\n overflow: hidden;\n width: 100%;\n border-radius: var(--n-border-radius) var(--n-border-radius) 0 0;\n ",[y("img","\n display: block;\n width: 100%;\n ")]),_("bordered","\n border: 1px solid var(--n-border-color);\n ",[y("&:target","border-color: var(--n-color-target);")]),_("action-segmented",[y(">",[j("action",[y("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("content-segmented, content-soft-segmented",[y(">",[j("content",{transition:"border-color 0.3s var(--n-bezier)"},[y("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("footer-segmented, footer-soft-segmented",[y(">",[j("footer",{transition:"border-color 0.3s var(--n-bezier)"},[y("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("embedded","\n background-color: var(--n-color-embedded);\n ")]),p(k("card","\n background: var(--n-color-modal);\n ",[_("embedded","\n background-color: var(--n-color-embedded-modal);\n ")])),o(k("card","\n background: var(--n-color-popover);\n ",[_("embedded","\n background-color: var(--n-color-embedded-popover);\n ")]))]),Ee={title:[String,Function],contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],headerExtraClass:String,headerExtraStyle:[Object,String],footerClass:String,footerStyle:[Object,String],embedded:Boolean,segmented:{type:[Boolean,Object],default:!1},size:{type:String,default:"medium"},bordered:{type:Boolean,default:!0},closable:Boolean,hoverable:Boolean,role:String,onClose:[Function,Array],tag:{type:String,default:"div"},cover:Function,content:[String,Function],footer:Function,action:Function,headerExtra:Function,closeFocusable:Boolean},De=Be(Ee),Ie=Z({name:"Card",props:Object.assign(Object.assign({},c.props),Ee),slots:Object,setup(e){const{inlineThemeDisabled:o,mergedClsPrefixRef:n,mergedRtlRef:t}=w(e),r=c("Card","-card",je,He,e,n),i=l("Card",t,n),a=ee(()=>{const{size:o}=e,{self:{color:n,colorModal:t,colorTarget:i,textColor:l,titleTextColor:a,titleFontWeight:s,borderColor:d,actionColor:c,borderRadius:u,lineHeight:g,closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:f,closeColorHover:v,closeColorPressed:b,closeBorderRadius:m,closeIconSize:C,closeSize:x,boxShadow:k,colorPopover:w,colorEmbedded:y,colorEmbeddedModal:z,colorEmbeddedPopover:F,[I("padding",o)]:L,[I("fontSize",o)]:B,[I("titleFontSize",o)]:P},common:{cubicBezierEaseInOut:M}}=r.value,{top:$,left:O,bottom:T}=S(L);return{"--n-bezier":M,"--n-border-radius":u,"--n-color":n,"--n-color-modal":t,"--n-color-popover":w,"--n-color-embedded":y,"--n-color-embedded-modal":z,"--n-color-embedded-popover":F,"--n-color-target":i,"--n-text-color":l,"--n-line-height":g,"--n-action-color":c,"--n-title-text-color":a,"--n-title-font-weight":s,"--n-close-icon-color":h,"--n-close-icon-color-hover":p,"--n-close-icon-color-pressed":f,"--n-close-color-hover":v,"--n-close-color-pressed":b,"--n-border-color":d,"--n-box-shadow":k,"--n-padding-top":$,"--n-padding-bottom":T,"--n-padding-left":O,"--n-font-size":B,"--n-title-font-size":P,"--n-close-size":x,"--n-close-icon-size":C,"--n-close-border-radius":m}}),s=o?z("card",ee(()=>e.size[0]),a,e):void 0;return{rtlEnabled:i,mergedClsPrefix:n,mergedTheme:r,handleCloseClick:()=>{const{onClose:o}=e;o&&f(o)},cssVars:o?void 0:a,themeClass:null==s?void 0:s.themeClass,onRender:null==s?void 0:s.onRender}},render(){const{segmented:e,bordered:o,hoverable:r,mergedClsPrefix:i,rtlEnabled:l,onRender:a,embedded:s,tag:d,$slots:c}=this;return null==a||a(),G(d,{class:[`${i}-card`,this.themeClass,s&&`${i}-card--embedded`,{[`${i}-card--rtl`]:l,[`${i}-card--content${"boolean"!=typeof e&&"soft"===e.content?"-soft":""}-segmented`]:!0===e||!1!==e&&e.content,[`${i}-card--footer${"boolean"!=typeof e&&"soft"===e.footer?"-soft":""}-segmented`]:!0===e||!1!==e&&e.footer,[`${i}-card--action-segmented`]:!0===e||!1!==e&&e.action,[`${i}-card--bordered`]:o,[`${i}-card--hoverable`]:r}],style:this.cssVars,role:this.role},n(c.cover,e=>{const o=this.cover?N([this.cover()]):e;return o&&G("div",{class:`${i}-card-cover`,role:"none"},o)}),n(c.header,e=>{const{title:o}=this,r=o?N("function"==typeof o?[o()]:[o]):e;return r||this.closable?G("div",{class:[`${i}-card-header`,this.headerClass],style:this.headerStyle,role:"heading"},G("div",{class:`${i}-card-header__main`,role:"heading"},r),n(c["header-extra"],e=>{const o=this.headerExtra?N([this.headerExtra()]):e;return o&&G("div",{class:[`${i}-card-header__extra`,this.headerExtraClass],style:this.headerExtraStyle},o)}),this.closable&&G(t,{clsPrefix:i,class:`${i}-card-header__close`,onClick:this.handleCloseClick,focusable:this.closeFocusable,absolute:!0})):null}),n(c.default,e=>{const{content:o}=this,n=o?N("function"==typeof o?[o()]:[o]):e;return n&&G("div",{class:[`${i}-card__content`,this.contentClass],style:this.contentStyle,role:"none"},n)}),n(c.footer,e=>{const o=this.footer?N([this.footer()]):e;return o&&G("div",{class:[`${i}-card__footer`,this.footerClass],style:this.footerStyle,role:"none"},o)}),n(c.action,e=>{const o=this.action?N([this.action()]):e;return o&&G("div",{class:`${i}-card__action`,role:"none"},o)}))}}),Ae={sizeSmall:"14px",sizeMedium:"16px",sizeLarge:"18px",labelPadding:"0 8px",labelFontWeight:"400"};function We(e){const{baseColor:o,inputColorDisabled:n,cardColor:t,modalColor:r,popoverColor:i,textColorDisabled:l,borderColor:a,primaryColor:s,textColor2:d,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:g,borderRadiusSmall:h,lineHeight:p}=e;return Object.assign(Object.assign({},Ae),{labelLineHeight:p,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:g,borderRadius:h,color:o,colorChecked:s,colorDisabled:n,colorDisabledChecked:n,colorTableHeader:t,colorTableHeaderModal:r,colorTableHeaderPopover:i,checkMarkColor:o,checkMarkColorDisabled:l,checkMarkColorDisabledChecked:l,border:`1px solid ${a}`,borderDisabled:`1px solid ${a}`,borderDisabledChecked:`1px solid ${a}`,borderChecked:`1px solid ${s}`,borderFocus:`1px solid ${s}`,boxShadowFocus:`0 0 0 2px ${x(s,{alpha:.3})}`,textColor:d,textColorDisabled:l})}var _e={name:"Checkbox",common:e,self:We},Ne=m("n-dialog-provider"),qe=m("n-dialog-api"),Ze=m("n-dialog-reactive-list");function Ve(){const e=K(qe,null);return null===e&&r("use-dialog","No outer <n-dialog-provider /> founded."),e}var Ue={titleFontSize:"18px",padding:"16px 28px 20px 28px",iconSize:"28px",actionSpace:"12px",contentMargin:"8px 0 16px 0",iconMargin:"0 4px 0 0",iconMarginIconTop:"4px 0 8px 0",closeSize:"22px",closeIconSize:"18px",closeMargin:"20px 26px 0 0",closeMarginIconTop:"10px 16px 0 0"};function Ye(e){const{textColor1:o,textColor2:n,modalColor:t,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:l,closeColorHover:a,closeColorPressed:s,infoColor:d,successColor:c,warningColor:u,errorColor:g,primaryColor:h,dividerColor:p,borderRadius:f,fontWeightStrong:v,lineHeight:b,fontSize:m}=e;return Object.assign(Object.assign({},Ue),{fontSize:m,lineHeight:b,border:`1px solid ${p}`,titleTextColor:o,textColor:n,color:t,closeColorHover:a,closeColorPressed:s,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:l,closeBorderRadius:f,iconColor:h,iconColorInfo:d,iconColorSuccess:c,iconColorWarning:u,iconColorError:g,borderRadius:f,titleFontWeight:v})}var Xe=d({name:"Dialog",common:e,peers:{Button:P},self:Ye}),Ge={icon:Function,type:{type:String,default:"default"},title:[String,Function],closable:{type:Boolean,default:!0},negativeText:String,positiveText:String,positiveButtonProps:Object,negativeButtonProps:Object,content:[String,Function],action:Function,showIcon:{type:Boolean,default:!0},loading:Boolean,bordered:Boolean,iconPlacement:String,titleClass:[String,Array],titleStyle:[String,Object],contentClass:[String,Array],contentStyle:[String,Object],actionClass:[String,Array],actionStyle:[String,Object],onPositiveClick:Function,onNegativeClick:Function,onClose:Function,closeFocusable:Boolean},Ke=Be(Ge),Je=y([k("dialog","\n --n-icon-margin: var(--n-icon-margin-top) var(--n-icon-margin-right) var(--n-icon-margin-bottom) var(--n-icon-margin-left);\n word-break: break-word;\n line-height: var(--n-line-height);\n position: relative;\n background: var(--n-color);\n color: var(--n-text-color);\n box-sizing: border-box;\n margin: auto;\n border-radius: var(--n-border-radius);\n padding: var(--n-padding);\n transition: \n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n ",[j("icon","\n color: var(--n-icon-color);\n "),_("bordered","\n border: var(--n-border);\n "),_("icon-top",[j("close","\n margin: var(--n-close-margin);\n "),j("icon","\n margin: var(--n-icon-margin);\n "),j("content","\n text-align: center;\n "),j("title","\n justify-content: center;\n "),j("action","\n justify-content: center;\n ")]),_("icon-left",[j("icon","\n margin: var(--n-icon-margin);\n "),_("closable",[j("title","\n padding-right: calc(var(--n-close-size) + 6px);\n ")])]),j("close","\n position: absolute;\n right: 0;\n top: 0;\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n z-index: 1;\n "),j("content","\n font-size: var(--n-font-size);\n margin: var(--n-content-margin);\n position: relative;\n word-break: break-word;\n ",[_("last","margin-bottom: 0;")]),j("action","\n display: flex;\n justify-content: flex-end;\n ",[y("> *:not(:last-child)","\n margin-right: var(--n-action-space);\n ")]),j("icon","\n font-size: var(--n-icon-size);\n transition: color .3s var(--n-bezier);\n "),j("title","\n transition: color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n font-size: var(--n-title-font-size);\n font-weight: var(--n-title-font-weight);\n color: var(--n-title-text-color);\n "),k("dialog-icon-container","\n display: flex;\n justify-content: center;\n ")]),p(k("dialog","\n width: 446px;\n max-width: calc(100vw - 32px);\n ")),k("dialog",[M("\n width: 446px;\n max-width: calc(100vw - 32px);\n ")])]),Qe={default:()=>G(Me,null),info:()=>G(Me,null),success:()=>G($e,null),warning:()=>G(Oe,null),error:()=>G(Pe,null)},eo=Z({name:"Dialog",alias:["NimbusConfirmCard","Confirm"],props:Object.assign(Object.assign({},c.props),Ge),slots:Object,setup(e){const{mergedComponentPropsRef:o,mergedClsPrefixRef:n,inlineThemeDisabled:t,mergedRtlRef:r}=w(e),i=l("Dialog",r,n),a=ee(()=>{var n,t;const{iconPlacement:r}=e;return r||(null===(t=null===(n=null==o?void 0:o.value)||void 0===n?void 0:n.Dialog)||void 0===t?void 0:t.iconPlacement)||"left"});const s=c("Dialog","-dialog",Je,Xe,e,n),d=ee(()=>{const{type:o}=e,n=a.value,{common:{cubicBezierEaseInOut:t},self:{fontSize:r,lineHeight:i,border:l,titleTextColor:d,textColor:c,color:u,closeBorderRadius:g,closeColorHover:h,closeColorPressed:p,closeIconColor:f,closeIconColorHover:v,closeIconColorPressed:b,closeIconSize:m,borderRadius:C,titleFontWeight:x,titleFontSize:k,padding:w,iconSize:y,actionSpace:z,contentMargin:F,closeSize:L,["top"===n?"iconMarginIconTop":"iconMargin"]:B,["top"===n?"closeMarginIconTop":"closeMargin"]:P,[I("iconColor",o)]:M}}=s.value,$=S(B);return{"--n-font-size":r,"--n-icon-color":M,"--n-bezier":t,"--n-close-margin":P,"--n-icon-margin-top":$.top,"--n-icon-margin-right":$.right,"--n-icon-margin-bottom":$.bottom,"--n-icon-margin-left":$.left,"--n-icon-size":y,"--n-close-size":L,"--n-close-icon-size":m,"--n-close-border-radius":g,"--n-close-color-hover":h,"--n-close-color-pressed":p,"--n-close-icon-color":f,"--n-close-icon-color-hover":v,"--n-close-icon-color-pressed":b,"--n-color":u,"--n-text-color":c,"--n-border-radius":C,"--n-padding":w,"--n-line-height":i,"--n-border":l,"--n-content-margin":F,"--n-title-font-size":k,"--n-title-font-weight":x,"--n-title-text-color":d,"--n-action-space":z}}),u=t?z("dialog",ee(()=>`${e.type[0]}${a.value[0]}`),d,e):void 0;return{mergedClsPrefix:n,rtlEnabled:i,mergedIconPlacement:a,mergedTheme:s,handlePositiveClick:function(o){const{onPositiveClick:n}=e;n&&n(o)},handleNegativeClick:function(o){const{onNegativeClick:n}=e;n&&n(o)},handleCloseClick:function(){const{onClose:o}=e;o&&o()},cssVars:t?void 0:d,themeClass:null==u?void 0:u.themeClass,onRender:null==u?void 0:u.onRender}},render(){var e;const{bordered:o,mergedIconPlacement:r,cssVars:i,closable:l,showIcon:a,title:s,content:d,action:c,negativeText:u,positiveText:g,positiveButtonProps:h,negativeButtonProps:p,handlePositiveClick:f,handleNegativeClick:v,mergedTheme:b,loading:m,type:C,mergedClsPrefix:x}=this;null===(e=this.onRender)||void 0===e||e.call(this);const S=a?G(F,{clsPrefix:x,class:`${x}-dialog__icon`},{default:()=>n(this.$slots.icon,e=>e||(this.icon?he(this.icon):Qe[this.type]()))}):null,k=n(this.$slots.action,e=>e||g||u||c?G("div",{class:[`${x}-dialog__action`,this.actionClass],style:this.actionStyle},e||(c?[he(c)]:[this.negativeText&&G(R,Object.assign({theme:b.peers.Button,themeOverrides:b.peerOverrides.Button,ghost:!0,size:"small",onClick:v},p),{default:()=>he(this.negativeText)}),this.positiveText&&G(R,Object.assign({theme:b.peers.Button,themeOverrides:b.peerOverrides.Button,size:"small",type:"default"===C?"primary":C,disabled:m,loading:m,onClick:f},h),{default:()=>he(this.positiveText)})])):null);return G("div",{class:[`${x}-dialog`,this.themeClass,this.closable&&`${x}-dialog--closable`,`${x}-dialog--icon-${r}`,o&&`${x}-dialog--bordered`,this.rtlEnabled&&`${x}-dialog--rtl`],style:i,role:"dialog"},l?n(this.$slots.close,e=>{const o=[`${x}-dialog__close`,this.rtlEnabled&&`${x}-dialog--rtl`];return e?G("div",{class:o},e):G(t,{focusable:this.closeFocusable,clsPrefix:x,class:o,onClick:this.handleCloseClick})}):null,a&&"top"===r?G("div",{class:`${x}-dialog-icon-container`},S):null,G("div",{class:[`${x}-dialog__title`,this.titleClass],style:this.titleStyle},a&&"left"===r?S:null,A(this.$slots.header,()=>[he(s)])),G("div",{class:[`${x}-dialog__content`,k?"":`${x}-dialog__content--last`,this.contentClass],style:this.contentStyle},A(this.$slots.default,()=>[he(d)])),k)}});function oo(e){const{modalColor:o,textColor2:n,boxShadow3:t}=e;return{color:o,textColor:n,boxShadow:t}}var no=d({name:"Modal",common:e,peers:{Scrollbar:D,Dialog:Xe,Card:He},self:oo}),to=m("n-modal-provider"),ro=m("n-modal-api"),io=m("n-modal-reactive-list");function lo(){const e=K(ro,null);return null===e&&r("use-modal","No outer <n-modal-provider /> founded."),e}var ao="n-draggable";var so=Object.assign(Object.assign({},Ee),Ge),co=Be(so),uo=Z({name:"ModalBody",inheritAttrs:!1,slots:Object,props:Object.assign(Object.assign({show:{type:Boolean,required:!0},preset:String,displayDirective:{type:String,required:!0},trapFocus:{type:Boolean,default:!0},autoFocus:{type:Boolean,default:!0},blockScroll:Boolean,draggable:{type:[Boolean,Object],default:!1},maskHidden:Boolean},so),{renderMask:Function,onClickoutside:Function,onBeforeLeave:{type:Function,required:!0},onAfterLeave:{type:Function,required:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0},onClose:{type:Function,required:!0},onAfterEnter:Function,onEsc:Function}),setup(e){const o=le(null),n=le(null),t=le(e.show),r=le(null),l=le(null),a=K(i);let s=null;Q(oe(e,"show"),e=>{e&&(s=a.getMousePosition())},{immediate:!0});const{stopDrag:d,startDrag:c,draggableRef:u,draggableClassRef:g}=function(e,o){let n;const t=ee(()=>!1!==e.value),r=ee(()=>t.value?ao:""),i=ee(()=>{const o=e.value;return!0===o||!1===o||!o||"none"!==o.bounds});function l(){n&&(n(),n=void 0)}return Y(l),{stopDrag:l,startDrag:function(e){const t=e.querySelector(`.${ao}`);if(!t||!r.value)return;let l,a=0,s=0,d=0,c=0,u=0,g=0;function h(o){o.preventDefault(),l=o;const{x:n,y:t,right:r,bottom:i}=e.getBoundingClientRect();s=n,c=t,a=window.innerWidth-r,d=window.innerHeight-i;const{left:h,top:p}=e.style;u=+p.slice(0,-2),g=+h.slice(0,-2)}function p(o){if(!l)return;const{clientX:n,clientY:t}=l;let r=o.clientX-n,h=o.clientY-t;i.value&&(r>a?r=a:-r>s&&(r=-s),h>d?h=d:-h>c&&(h=-c));const p=r+g,f=h+u;e.style.top=`${f}px`,e.style.left=`${p}px`}function f(){l=void 0,o.onEnd(e)}$("mousedown",t,h),$("mousemove",window,p),$("mouseup",window,f),n=()=>{H("mousedown",t,h),$("mousemove",window,p),$("mouseup",window,f)}},draggableRef:t,draggableClassRef:r}}(oe(e,"draggable"),{onEnd:e=>{m(e)}}),h=ee(()=>te([e.titleClass,g.value])),p=ee(()=>te([e.headerClass,g.value]));function f(){if("center"===a.transformOriginRef.value)return"";const{value:e}=r,{value:o}=l;return null===e||null===o?"":n.value?`${e}px ${o+n.value.containerScrollTop}px`:""}function m(e){if("center"===a.transformOriginRef.value)return;if(!s)return;if(!n.value)return;const o=n.value.containerScrollTop,{offsetLeft:t,offsetTop:i}=e,d=s.y,c=s.x;r.value=-(t-c),l.value=-(i-d-o),e.style.transformOrigin=f()}Q(oe(e,"show"),e=>{e&&(t.value=!0)}),be(ee(()=>e.blockScroll&&t.value));const C=le(null);return Q(C,e=>{e&&X(()=>{const n=e.el;n&&o.value!==n&&(o.value=n)})}),U(b,o),U(T,null),U(v,null),{mergedTheme:a.mergedThemeRef,appear:a.appearRef,isMounted:a.isMountedRef,mergedClsPrefix:a.mergedClsPrefixRef,bodyRef:o,scrollbarRef:n,draggableClass:g,displayed:t,childNodeRef:C,cardHeaderClass:p,dialogTitleClass:h,handlePositiveClick:function(){e.onPositiveClick()},handleNegativeClick:function(){e.onNegativeClick()},handleCloseClick:function(){const{onClose:o}=e;o&&o()},handleAfterEnter:function(o){const n=o;u.value&&c(n),e.onAfterEnter&&e.onAfterEnter(n)},handleAfterLeave:function(){t.value=!1,r.value=null,l.value=null,d(),e.onAfterLeave()},handleBeforeLeave:function(o){o.style.transformOrigin=f(),e.onBeforeLeave()},handleEnter:function(e){X(()=>{m(e)})}}},render(){const{$slots:e,$attrs:o,handleEnter:n,handleAfterEnter:t,handleAfterLeave:r,handleBeforeLeave:i,preset:l,mergedClsPrefix:a}=this;let s=null;if(!l){if(s=pe("default",e.default,{draggableClass:this.draggableClass}),!s)return void g("modal","default slot is empty");s=se(s),s.props=V({class:`${a}-modal`},o,s.props||{})}return"show"===this.displayDirective||this.displayed||this.show?ae(G("div",{role:"none",class:[`${a}-modal-body-wrapper`,this.maskHidden&&`${a}-modal-body-wrapper--mask-hidden`]},G(W,{ref:"scrollbarRef",theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar,contentClass:`${a}-modal-scroll-content`},{default:()=>{var o;return[null===(o=this.renderMask)||void 0===o?void 0:o.call(this),G(u,{disabled:!this.trapFocus||this.maskHidden,active:this.show,onEsc:this.onEsc,autoFocus:this.autoFocus},{default:()=>{var o;return G(re,{name:"fade-in-scale-up-transition",appear:null!==(o=this.appear)&&void 0!==o?o:this.isMounted,onEnter:n,onAfterEnter:t,onAfterLeave:r,onBeforeLeave:i},{default:()=>{const o=[[ne,this.show]],{onClickoutside:n}=this;return n&&o.push([q,this.onClickoutside,void 0,{capture:!0}]),ae("confirm"===this.preset||"dialog"===this.preset?G(eo,Object.assign({},this.$attrs,{class:[`${a}-modal`,this.$attrs.class],ref:"bodyRef",theme:this.mergedTheme.peers.Dialog,themeOverrides:this.mergedTheme.peerOverrides.Dialog},ge(this.$props,Ke),{titleClass:this.dialogTitleClass,"aria-modal":"true"}),e):"card"===this.preset?G(Ie,Object.assign({},this.$attrs,{ref:"bodyRef",class:[`${a}-modal`,this.$attrs.class],theme:this.mergedTheme.peers.Card,themeOverrides:this.mergedTheme.peerOverrides.Card},ge(this.$props,De),{headerClass:this.cardHeaderClass,"aria-modal":"true",role:"dialog"}),e):this.childNodeRef=s,o)}})}})]}})),[[ne,"if"===this.displayDirective||this.displayed||this.show]]):null}}),go=y([k("modal-container","\n position: fixed;\n left: 0;\n top: 0;\n height: 0;\n width: 0;\n display: flex;\n "),k("modal-mask","\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, .4);\n ",[E({enterDuration:".25s",leaveDuration:".25s",enterCubicBezier:"var(--n-bezier-ease-out)",leaveCubicBezier:"var(--n-bezier-ease-out)"})]),k("modal-body-wrapper","\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n overflow: visible;\n ",[k("modal-scroll-content","\n min-height: 100%;\n display: flex;\n position: relative;\n "),_("mask-hidden","pointer-events: none;",[k("modal-scroll-content",[y("> *","\n pointer-events: all;\n ")])])]),k("modal","\n position: relative;\n align-self: center;\n color: var(--n-text-color);\n margin: auto;\n box-shadow: var(--n-box-shadow);\n ",[ue({duration:".25s",enterScale:".5"}),y(`.${ao}`,"\n cursor: move;\n user-select: none;\n ")])]),ho=Object.assign(Object.assign(Object.assign(Object.assign({},c.props),{show:Boolean,showMask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},preset:String,to:[String,Object],displayDirective:{type:String,default:"if"},transformOrigin:{type:String,default:"mouse"},zIndex:Number,autoFocus:{type:Boolean,default:!0},trapFocus:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},blockScroll:{type:Boolean,default:!0}}),so),{draggable:[Boolean,Object],onEsc:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onAfterEnter:Function,onBeforeLeave:Function,onAfterLeave:Function,onClose:Function,onPositiveClick:Function,onNegativeClick:Function,onMaskClick:Function,internalDialog:Boolean,internalModal:Boolean,internalAppear:{type:Boolean,default:void 0},overlayStyle:[String,Object],onBeforeHide:Function,onAfterHide:Function,onHide:Function,unstableShowMask:{type:Boolean,default:void 0}}),po=Z({name:"Modal",inheritAttrs:!1,props:ho,slots:Object,setup(e){const o=le(null),{mergedClsPrefixRef:n,namespaceRef:t,inlineThemeDisabled:r}=w(e),l=c("Modal","-modal",go,no,e,n),a=Le(64),d=ke(),u=C(),g=e.internalDialog?K(Ne,null):null,h=e.internalModal?K(s,null):null,p=ve();function v(o){const{onUpdateShow:n,"onUpdate:show":t,onHide:r}=e;n&&f(n,o),t&&f(t,o),r&&!o&&r(o)}U(i,{getMousePosition:()=>{const e=g||h;if(e){const{clickedRef:o,clickedPositionRef:n}=e;if(o.value&&n.value)return n.value}return a.value?d.value:null},mergedClsPrefixRef:n,mergedThemeRef:l,isMountedRef:u,appearRef:oe(e,"internalAppear"),transformOriginRef:oe(e,"transformOrigin")});const b=ee(()=>{const{common:{cubicBezierEaseOut:e},self:{boxShadow:o,color:n,textColor:t}}=l.value;return{"--n-bezier-ease-out":e,"--n-box-shadow":o,"--n-color":n,"--n-text-color":t}}),m=r?z("theme-class",void 0,b,e):void 0;return{mergedClsPrefix:n,namespace:t,isMounted:u,containerRef:o,presetProps:ee(()=>ge(e,co)),handleEsc:function(o){var n;null===(n=e.onEsc)||void 0===n||n.call(e),e.show&&e.closeOnEsc&&B(o)&&(p.value||v(!1))},handleAfterLeave:function(){const{onAfterLeave:o,onAfterHide:n}=e;o&&f(o),n&&n()},handleClickoutside:function(n){var t;const{onMaskClick:r}=e;r&&r(n),e.maskClosable&&(null===(t=o.value)||void 0===t?void 0:t.contains(O(n)))&&v(!1)},handleBeforeLeave:function(){const{onBeforeLeave:o,onBeforeHide:n}=e;o&&f(o),n&&n()},doUpdateShow:v,handleNegativeClick:function(){const{onNegativeClick:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},handlePositiveClick:function(){const{onPositiveClick:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},handleCloseClick:function(){const{onClose:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},cssVars:r?void 0:b,themeClass:null==m?void 0:m.themeClass,onRender:null==m?void 0:m.onRender}},render(){const{mergedClsPrefix:e}=this;return G(a,{to:this.to,show:this.show},{default:()=>{var o;null===(o=this.onRender)||void 0===o||o.call(this);const{showMask:n}=this;return ae(G("div",{role:"none",ref:"containerRef",class:[`${e}-modal-container`,this.themeClass,this.namespace],style:this.cssVars},G(uo,Object.assign({style:this.overlayStyle},this.$attrs,{ref:"bodyWrapper",displayDirective:this.displayDirective,show:this.show,preset:this.preset,autoFocus:this.autoFocus,trapFocus:this.trapFocus,draggable:this.draggable,blockScroll:this.blockScroll,maskHidden:!n},this.presetProps,{onEsc:this.handleEsc,onClose:this.handleCloseClick,onNegativeClick:this.handleNegativeClick,onPositiveClick:this.handlePositiveClick,onBeforeLeave:this.handleBeforeLeave,onAfterEnter:this.onAfterEnter,onAfterLeave:this.handleAfterLeave,onClickoutside:n?void 0:this.handleClickoutside,renderMask:n?()=>{var o;return G(re,{name:"fade-in-transition",key:"mask",appear:null!==(o=this.internalAppear)&&void 0!==o?o:this.isMounted},{default:()=>this.show?G("div",{"aria-hidden":!0,ref:"containerRef",class:`${e}-modal-mask`,onClick:this.handleClickoutside}):null})}:void 0}),this.$slots)),[[h,{zIndex:this.zIndex,enabled:this.show}]])}})}});function fo(e){const{textColor1:o,dividerColor:n,fontWeightStrong:t}=e;return{textColor:o,color:n,fontWeight:t}}var vo={name:"Divider",common:e,self:fo},bo={gapSmall:"4px 8px",gapMedium:"8px 12px",gapLarge:"12px 16px"};var mo={name:"Space",self:function(){return bo}},Co={feedbackPadding:"4px 0 0 2px",feedbackHeightSmall:"24px",feedbackHeightMedium:"24px",feedbackHeightLarge:"26px",feedbackFontSizeSmall:"13px",feedbackFontSizeMedium:"14px",feedbackFontSizeLarge:"14px",labelFontSizeLeftSmall:"14px",labelFontSizeLeftMedium:"14px",labelFontSizeLeftLarge:"15px",labelFontSizeTopSmall:"13px",labelFontSizeTopMedium:"14px",labelFontSizeTopLarge:"14px",labelHeightSmall:"24px",labelHeightMedium:"26px",labelHeightLarge:"28px",labelPaddingVertical:"0 0 6px 2px",labelPaddingHorizontal:"0 12px 0 0",labelTextAlignVertical:"left",labelTextAlignHorizontal:"right",labelFontWeight:"400"};function xo(e){const{heightSmall:o,heightMedium:n,heightLarge:t,textColor1:r,errorColor:i,warningColor:l,lineHeight:a,textColor3:s}=e;return Object.assign(Object.assign({},Co),{blankHeightSmall:o,blankHeightMedium:n,blankHeightLarge:t,lineHeight:a,labelTextColor:r,asteriskColor:i,feedbackTextColorError:i,feedbackTextColorWarning:l,feedbackTextColor:s})}var So={name:"Form",common:e,self:xo},ko={headerFontSize1:"30px",headerFontSize2:"22px",headerFontSize3:"18px",headerFontSize4:"16px",headerFontSize5:"16px",headerFontSize6:"16px",headerMargin1:"28px 0 20px 0",headerMargin2:"28px 0 20px 0",headerMargin3:"28px 0 20px 0",headerMargin4:"28px 0 18px 0",headerMargin5:"28px 0 18px 0",headerMargin6:"28px 0 18px 0",headerPrefixWidth1:"16px",headerPrefixWidth2:"16px",headerPrefixWidth3:"12px",headerPrefixWidth4:"12px",headerPrefixWidth5:"12px",headerPrefixWidth6:"12px",headerBarWidth1:"4px",headerBarWidth2:"4px",headerBarWidth3:"3px",headerBarWidth4:"3px",headerBarWidth5:"3px",headerBarWidth6:"3px",pMargin:"16px 0 16px 0",liMargin:".25em 0 0 0",olPadding:"0 0 0 2em",ulPadding:"0 0 0 2em"};function wo(e){const{primaryColor:o,textColor2:n,borderColor:t,lineHeight:r,fontSize:i,borderRadiusSmall:l,dividerColor:a,fontWeightStrong:s,textColor1:d,textColor3:c,infoColor:u,warningColor:g,errorColor:h,successColor:p,codeColor:f}=e;return Object.assign(Object.assign({},ko),{aTextColor:o,blockquoteTextColor:n,blockquotePrefixColor:t,blockquoteLineHeight:r,blockquoteFontSize:i,codeBorderRadius:l,liTextColor:n,liLineHeight:r,liFontSize:i,hrColor:a,headerFontWeight:s,headerTextColor:d,pTextColor:n,pTextColor1Depth:d,pTextColor2Depth:n,pTextColor3Depth:c,pLineHeight:r,pFontSize:i,headerBarColor:o,headerBarColorPrimary:o,headerBarColorInfo:u,headerBarColorError:h,headerBarColorWarning:g,headerBarColorSuccess:p,textColor:n,textColor1Depth:d,textColor2Depth:n,textColor3Depth:c,textColorPrimary:o,textColorInfo:u,textColorSuccess:p,textColorWarning:g,textColorError:h,codeTextColor:n,codeColor:f,codeBorder:"1px solid #0000"})}var yo={name:"Typography",common:e,self:wo};export{Re as A,qe as C,We as D,_e as E,Be as F,Le as I,ke as L,$e as M,Me as N,Ie as O,Pe as P,Ve as S,Ze as T,eo as _,mo as a,Xe as b,fo as c,lo as d,ro as f,oo as g,no as h,xo as i,Oe as j,He as k,po as l,io as m,yo as n,bo as o,to as p,So as r,vo as s,wo as t,ho as u,Ke as v,Ne as w,Ye as x,Ge as y};
|
|
1
|
+
import{C as e,Cn as o,Ct as n,D as t,Dt as r,Gt as i,I as l,It as a,Kt as s,M as d,N as c,Nt as u,Ot as g,Rt as h,Sn as p,Tt as f,Ut as v,Wt as b,Yt as m,Zt as C,an as x,dn as S,gn as k,gt as y,hn as w,ht as z,j as F,k as L,kt as B,l as P,mn as M,nn as $,pn as O,qt as T,s as R,tn as H,vn as j,w as E,x as D,xn as I,xt as A,y as W,yn as _,yt as N,zt as q}from"./_plugin-vue_export-helper-BeLZJZij.js";import{A as Z,F as V,G as U,H as Y,I as X,M as G,N as K,R as J,Z as Q,b as ee,dt as oe,f as ne,ht as te,l as re,ot as ie,st as le,tt as ae,y as se,z as de}from"./vue-vendor-BqZbbXHA.js";import{M as ce,N as ue,b as ge,h as he,x as pe,y as fe}from"./use-message-DqCwefG6.js";import{n as ve,t as be}from"./use-lock-html-scroll-DXIqmUW4.js";var me=le(null);function Ce(e){if(e.clientX>0||e.clientY>0)me.value={x:e.clientX,y:e.clientY};else{const{target:o}=e;if(o instanceof Element){const{left:e,top:n,width:t,height:r}=o.getBoundingClientRect();me.value=e>0||n>0?{x:e+t/2,y:n+r/2}:{x:0,y:0}}else me.value=null}}var xe=0,Se=!0;function ke(){if(!ue)return ie(le(null));0===xe&&$("click",document,Ce,!0);const e=()=>{xe+=1};return Se&&(Se=ce())?(J(e),de(()=>{0===(xe-=1)&&H("click",document,Ce,!0)})):e(),ie(me)}var ye=le(void 0),we=0;function ze(){ye.value=Date.now()}var Fe=!0;function Le(e){if(!ue)return ie(le(!1));const o=le(!1);let n=null;function t(){null!==n&&window.clearTimeout(n)}function r(){t(),o.value=!0,n=window.setTimeout(()=>{o.value=!1},e)}0===we&&$("click",window,ze,!0);const i=()=>{we+=1,$("click",window,r,!0)};return Fe&&(Fe=ce())?(J(i),de(()=>{0===(we-=1)&&H("click",window,ze,!0),H("click",window,r,!0),t()})):i(),ie(o)}function Be(e){return Object.keys(e)}var Pe=L("error",()=>G("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M17.8838835,16.1161165 L17.7823881,16.0249942 C17.3266086,15.6583353 16.6733914,15.6583353 16.2176119,16.0249942 L16.1161165,16.1161165 L16.0249942,16.2176119 C15.6583353,16.6733914 15.6583353,17.3266086 16.0249942,17.7823881 L16.1161165,17.8838835 L22.233,24 L16.1161165,30.1161165 L16.0249942,30.2176119 C15.6583353,30.6733914 15.6583353,31.3266086 16.0249942,31.7823881 L16.1161165,31.8838835 L16.2176119,31.9750058 C16.6733914,32.3416647 17.3266086,32.3416647 17.7823881,31.9750058 L17.8838835,31.8838835 L24,25.767 L30.1161165,31.8838835 L30.2176119,31.9750058 C30.6733914,32.3416647 31.3266086,32.3416647 31.7823881,31.9750058 L31.8838835,31.8838835 L31.9750058,31.7823881 C32.3416647,31.3266086 32.3416647,30.6733914 31.9750058,30.2176119 L31.8838835,30.1161165 L25.767,24 L31.8838835,17.8838835 L31.9750058,17.7823881 C32.3416647,17.3266086 32.3416647,16.6733914 31.9750058,16.2176119 L31.8838835,16.1161165 L31.7823881,16.0249942 C31.3266086,15.6583353 30.6733914,15.6583353 30.2176119,16.0249942 L30.1161165,16.1161165 L24,22.233 L17.8838835,16.1161165 L17.7823881,16.0249942 L17.8838835,16.1161165 Z"}))))),Me=L("info",()=>G("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M14,2 C20.6274,2 26,7.37258 26,14 C26,20.6274 20.6274,26 14,26 C7.37258,26 2,20.6274 2,14 C2,7.37258 7.37258,2 14,2 Z M14,11 C13.4477,11 13,11.4477 13,12 L13,12 L13,20 C13,20.5523 13.4477,21 14,21 C14.5523,21 15,20.5523 15,20 L15,20 L15,12 C15,11.4477 14.5523,11 14,11 Z M14,6.75 C13.3096,6.75 12.75,7.30964 12.75,8 C12.75,8.69036 13.3096,9.25 14,9.25 C14.6904,9.25 15.25,8.69036 15.25,8 C15.25,7.30964 14.6904,6.75 14,6.75 Z"}))))),$e=L("success",()=>G("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.6338835,17.6161165 C32.1782718,17.1605048 31.4584514,17.1301307 30.9676119,17.5249942 L30.8661165,17.6161165 L20.75,27.732233 L17.1338835,24.1161165 C16.6457281,23.6279612 15.8542719,23.6279612 15.3661165,24.1161165 C14.9105048,24.5717282 14.8801307,25.2915486 15.2749942,25.7823881 L15.3661165,25.8838835 L19.8661165,30.3838835 C20.3217282,30.8394952 21.0415486,30.8698693 21.5323881,30.4750058 L21.6338835,30.3838835 L32.6338835,19.3838835 C33.1220388,18.8957281 33.1220388,18.1042719 32.6338835,17.6161165 Z"}))))),Oe=L("warning",()=>G("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},G("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},G("g",{"fill-rule":"nonzero"},G("path",{d:"M12,2 C17.523,2 22,6.478 22,12 C22,17.522 17.523,22 12,22 C6.477,22 2,17.522 2,12 C2,6.478 6.477,2 12,2 Z M12.0018002,15.0037242 C11.450254,15.0037242 11.0031376,15.4508407 11.0031376,16.0023869 C11.0031376,16.553933 11.450254,17.0010495 12.0018002,17.0010495 C12.5533463,17.0010495 13.0004628,16.553933 13.0004628,16.0023869 C13.0004628,15.4508407 12.5533463,15.0037242 12.0018002,15.0037242 Z M11.99964,7 C11.4868042,7.00018474 11.0642719,7.38637706 11.0066858,7.8837365 L11,8.00036004 L11.0018003,13.0012393 L11.00857,13.117858 C11.0665141,13.6151758 11.4893244,14.0010638 12.0021602,14.0008793 C12.514996,14.0006946 12.9375283,13.6145023 12.9951144,13.1171428 L13.0018002,13.0005193 L13,7.99964009 L12.9932303,7.8830214 C12.9352861,7.38570354 12.5124758,6.99981552 11.99964,7 Z"}))))),Te={paddingSmall:"12px 16px 12px",paddingMedium:"19px 24px 20px",paddingLarge:"23px 32px 24px",paddingHuge:"27px 40px 28px",titleFontSizeSmall:"16px",titleFontSizeMedium:"18px",titleFontSizeLarge:"18px",titleFontSizeHuge:"18px",closeIconSize:"18px",closeSize:"22px"};function Re(e){const{primaryColor:o,borderRadius:n,lineHeight:t,fontSize:r,cardColor:i,textColor2:l,textColor1:a,dividerColor:s,fontWeightStrong:d,closeIconColor:c,closeIconColorHover:u,closeIconColorPressed:g,closeColorHover:h,closeColorPressed:p,modalColor:f,boxShadow1:v,popoverColor:b,actionColor:m}=e;return Object.assign(Object.assign({},Te),{lineHeight:t,color:i,colorModal:f,colorPopover:b,colorTarget:o,colorEmbedded:m,colorEmbeddedModal:m,colorEmbeddedPopover:m,textColor:l,titleTextColor:a,borderColor:s,actionColor:m,titleFontWeight:d,closeColorHover:h,closeColorPressed:p,closeBorderRadius:n,closeIconColor:c,closeIconColorHover:u,closeIconColorPressed:g,fontSizeSmall:r,fontSizeMedium:r,fontSizeLarge:r,fontSizeHuge:r,boxShadow:v,borderRadius:n})}var He={name:"Card",common:e,self:Re},je=w([k("card","\n font-size: var(--n-font-size);\n line-height: var(--n-line-height);\n display: flex;\n flex-direction: column;\n width: 100%;\n box-sizing: border-box;\n position: relative;\n border-radius: var(--n-border-radius);\n background-color: var(--n-color);\n color: var(--n-text-color);\n word-break: break-word;\n transition: \n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n ",[M({background:"var(--n-color-modal)"}),_("hoverable",[w("&:hover","box-shadow: var(--n-box-shadow);")]),_("content-segmented",[w(">",[j("content",{paddingTop:"var(--n-padding-bottom)"})])]),_("content-soft-segmented",[w(">",[j("content","\n margin: 0 var(--n-padding-left);\n padding: var(--n-padding-bottom) 0;\n ")])]),_("footer-segmented",[w(">",[j("footer",{paddingTop:"var(--n-padding-bottom)"})])]),_("footer-soft-segmented",[w(">",[j("footer","\n padding: var(--n-padding-bottom) 0;\n margin: 0 var(--n-padding-left);\n ")])]),w(">",[k("card-header","\n box-sizing: border-box;\n display: flex;\n align-items: center;\n font-size: var(--n-title-font-size);\n padding:\n var(--n-padding-top)\n var(--n-padding-left)\n var(--n-padding-bottom)\n var(--n-padding-left);\n ",[j("main","\n font-weight: var(--n-title-font-weight);\n transition: color .3s var(--n-bezier);\n flex: 1;\n min-width: 0;\n color: var(--n-title-text-color);\n "),j("extra","\n display: flex;\n align-items: center;\n font-size: var(--n-font-size);\n font-weight: 400;\n transition: color .3s var(--n-bezier);\n color: var(--n-text-color);\n "),j("close","\n margin: 0 0 0 8px;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n ")]),j("action","\n box-sizing: border-box;\n transition:\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n background-clip: padding-box;\n background-color: var(--n-action-color);\n "),j("content","flex: 1; min-width: 0;"),j("content, footer","\n box-sizing: border-box;\n padding: 0 var(--n-padding-left) var(--n-padding-bottom) var(--n-padding-left);\n font-size: var(--n-font-size);\n ",[w("&:first-child",{paddingTop:"var(--n-padding-bottom)"})]),j("action","\n background-color: var(--n-action-color);\n padding: var(--n-padding-bottom) var(--n-padding-left);\n border-bottom-left-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n ")]),k("card-cover","\n overflow: hidden;\n width: 100%;\n border-radius: var(--n-border-radius) var(--n-border-radius) 0 0;\n ",[w("img","\n display: block;\n width: 100%;\n ")]),_("bordered","\n border: 1px solid var(--n-border-color);\n ",[w("&:target","border-color: var(--n-color-target);")]),_("action-segmented",[w(">",[j("action",[w("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("content-segmented, content-soft-segmented",[w(">",[j("content",{transition:"border-color 0.3s var(--n-bezier)"},[w("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("footer-segmented, footer-soft-segmented",[w(">",[j("footer",{transition:"border-color 0.3s var(--n-bezier)"},[w("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),_("embedded","\n background-color: var(--n-color-embedded);\n ")]),p(k("card","\n background: var(--n-color-modal);\n ",[_("embedded","\n background-color: var(--n-color-embedded-modal);\n ")])),o(k("card","\n background: var(--n-color-popover);\n ",[_("embedded","\n background-color: var(--n-color-embedded-popover);\n ")]))]),Ee={title:[String,Function],contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],headerExtraClass:String,headerExtraStyle:[Object,String],footerClass:String,footerStyle:[Object,String],embedded:Boolean,segmented:{type:[Boolean,Object],default:!1},size:{type:String,default:"medium"},bordered:{type:Boolean,default:!0},closable:Boolean,hoverable:Boolean,role:String,onClose:[Function,Array],tag:{type:String,default:"div"},cover:Function,content:[String,Function],footer:Function,action:Function,headerExtra:Function,closeFocusable:Boolean},De=Be(Ee),Ie=Z({name:"Card",props:Object.assign(Object.assign({},c.props),Ee),slots:Object,setup(e){const{inlineThemeDisabled:o,mergedClsPrefixRef:n,mergedRtlRef:t}=y(e),r=c("Card","-card",je,He,e,n),i=l("Card",t,n),a=ee(()=>{const{size:o}=e,{self:{color:n,colorModal:t,colorTarget:i,textColor:l,titleTextColor:a,titleFontWeight:s,borderColor:d,actionColor:c,borderRadius:u,lineHeight:g,closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:f,closeColorHover:v,closeColorPressed:b,closeBorderRadius:m,closeIconSize:C,closeSize:x,boxShadow:k,colorPopover:y,colorEmbedded:w,colorEmbeddedModal:z,colorEmbeddedPopover:F,[I("padding",o)]:L,[I("fontSize",o)]:B,[I("titleFontSize",o)]:P},common:{cubicBezierEaseInOut:M}}=r.value,{top:$,left:O,bottom:T}=S(L);return{"--n-bezier":M,"--n-border-radius":u,"--n-color":n,"--n-color-modal":t,"--n-color-popover":y,"--n-color-embedded":w,"--n-color-embedded-modal":z,"--n-color-embedded-popover":F,"--n-color-target":i,"--n-text-color":l,"--n-line-height":g,"--n-action-color":c,"--n-title-text-color":a,"--n-title-font-weight":s,"--n-close-icon-color":h,"--n-close-icon-color-hover":p,"--n-close-icon-color-pressed":f,"--n-close-color-hover":v,"--n-close-color-pressed":b,"--n-border-color":d,"--n-box-shadow":k,"--n-padding-top":$,"--n-padding-bottom":T,"--n-padding-left":O,"--n-font-size":B,"--n-title-font-size":P,"--n-close-size":x,"--n-close-icon-size":C,"--n-close-border-radius":m}}),s=o?z("card",ee(()=>e.size[0]),a,e):void 0;return{rtlEnabled:i,mergedClsPrefix:n,mergedTheme:r,handleCloseClick:()=>{const{onClose:o}=e;o&&f(o)},cssVars:o?void 0:a,themeClass:null==s?void 0:s.themeClass,onRender:null==s?void 0:s.onRender}},render(){const{segmented:e,bordered:o,hoverable:r,mergedClsPrefix:i,rtlEnabled:l,onRender:a,embedded:s,tag:d,$slots:c}=this;return null==a||a(),G(d,{class:[`${i}-card`,this.themeClass,s&&`${i}-card--embedded`,{[`${i}-card--rtl`]:l,[`${i}-card--content${"boolean"!=typeof e&&"soft"===e.content?"-soft":""}-segmented`]:!0===e||!1!==e&&e.content,[`${i}-card--footer${"boolean"!=typeof e&&"soft"===e.footer?"-soft":""}-segmented`]:!0===e||!1!==e&&e.footer,[`${i}-card--action-segmented`]:!0===e||!1!==e&&e.action,[`${i}-card--bordered`]:o,[`${i}-card--hoverable`]:r}],style:this.cssVars,role:this.role},n(c.cover,e=>{const o=this.cover?N([this.cover()]):e;return o&&G("div",{class:`${i}-card-cover`,role:"none"},o)}),n(c.header,e=>{const{title:o}=this,r=o?N("function"==typeof o?[o()]:[o]):e;return r||this.closable?G("div",{class:[`${i}-card-header`,this.headerClass],style:this.headerStyle,role:"heading"},G("div",{class:`${i}-card-header__main`,role:"heading"},r),n(c["header-extra"],e=>{const o=this.headerExtra?N([this.headerExtra()]):e;return o&&G("div",{class:[`${i}-card-header__extra`,this.headerExtraClass],style:this.headerExtraStyle},o)}),this.closable&&G(t,{clsPrefix:i,class:`${i}-card-header__close`,onClick:this.handleCloseClick,focusable:this.closeFocusable,absolute:!0})):null}),n(c.default,e=>{const{content:o}=this,n=o?N("function"==typeof o?[o()]:[o]):e;return n&&G("div",{class:[`${i}-card__content`,this.contentClass],style:this.contentStyle,role:"none"},n)}),n(c.footer,e=>{const o=this.footer?N([this.footer()]):e;return o&&G("div",{class:[`${i}-card__footer`,this.footerClass],style:this.footerStyle,role:"none"},o)}),n(c.action,e=>{const o=this.action?N([this.action()]):e;return o&&G("div",{class:`${i}-card__action`,role:"none"},o)}))}}),Ae={sizeSmall:"14px",sizeMedium:"16px",sizeLarge:"18px",labelPadding:"0 8px",labelFontWeight:"400"};function We(e){const{baseColor:o,inputColorDisabled:n,cardColor:t,modalColor:r,popoverColor:i,textColorDisabled:l,borderColor:a,primaryColor:s,textColor2:d,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:g,borderRadiusSmall:h,lineHeight:p}=e;return Object.assign(Object.assign({},Ae),{labelLineHeight:p,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:g,borderRadius:h,color:o,colorChecked:s,colorDisabled:n,colorDisabledChecked:n,colorTableHeader:t,colorTableHeaderModal:r,colorTableHeaderPopover:i,checkMarkColor:o,checkMarkColorDisabled:l,checkMarkColorDisabledChecked:l,border:`1px solid ${a}`,borderDisabled:`1px solid ${a}`,borderDisabledChecked:`1px solid ${a}`,borderChecked:`1px solid ${s}`,borderFocus:`1px solid ${s}`,boxShadowFocus:`0 0 0 2px ${x(s,{alpha:.3})}`,textColor:d,textColorDisabled:l})}var _e={name:"Checkbox",common:e,self:We},Ne=m("n-dialog-provider"),qe=m("n-dialog-api"),Ze=m("n-dialog-reactive-list");function Ve(){const e=K(qe,null);return null===e&&r("use-dialog","No outer <n-dialog-provider /> founded."),e}var Ue={titleFontSize:"18px",padding:"16px 28px 20px 28px",iconSize:"28px",actionSpace:"12px",contentMargin:"8px 0 16px 0",iconMargin:"0 4px 0 0",iconMarginIconTop:"4px 0 8px 0",closeSize:"22px",closeIconSize:"18px",closeMargin:"20px 26px 0 0",closeMarginIconTop:"10px 16px 0 0"};function Ye(e){const{textColor1:o,textColor2:n,modalColor:t,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:l,closeColorHover:a,closeColorPressed:s,infoColor:d,successColor:c,warningColor:u,errorColor:g,primaryColor:h,dividerColor:p,borderRadius:f,fontWeightStrong:v,lineHeight:b,fontSize:m}=e;return Object.assign(Object.assign({},Ue),{fontSize:m,lineHeight:b,border:`1px solid ${p}`,titleTextColor:o,textColor:n,color:t,closeColorHover:a,closeColorPressed:s,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:l,closeBorderRadius:f,iconColor:h,iconColorInfo:d,iconColorSuccess:c,iconColorWarning:u,iconColorError:g,borderRadius:f,titleFontWeight:v})}var Xe=d({name:"Dialog",common:e,peers:{Button:P},self:Ye}),Ge={icon:Function,type:{type:String,default:"default"},title:[String,Function],closable:{type:Boolean,default:!0},negativeText:String,positiveText:String,positiveButtonProps:Object,negativeButtonProps:Object,content:[String,Function],action:Function,showIcon:{type:Boolean,default:!0},loading:Boolean,bordered:Boolean,iconPlacement:String,titleClass:[String,Array],titleStyle:[String,Object],contentClass:[String,Array],contentStyle:[String,Object],actionClass:[String,Array],actionStyle:[String,Object],onPositiveClick:Function,onNegativeClick:Function,onClose:Function,closeFocusable:Boolean},Ke=Be(Ge),Je=w([k("dialog","\n --n-icon-margin: var(--n-icon-margin-top) var(--n-icon-margin-right) var(--n-icon-margin-bottom) var(--n-icon-margin-left);\n word-break: break-word;\n line-height: var(--n-line-height);\n position: relative;\n background: var(--n-color);\n color: var(--n-text-color);\n box-sizing: border-box;\n margin: auto;\n border-radius: var(--n-border-radius);\n padding: var(--n-padding);\n transition: \n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n ",[j("icon","\n color: var(--n-icon-color);\n "),_("bordered","\n border: var(--n-border);\n "),_("icon-top",[j("close","\n margin: var(--n-close-margin);\n "),j("icon","\n margin: var(--n-icon-margin);\n "),j("content","\n text-align: center;\n "),j("title","\n justify-content: center;\n "),j("action","\n justify-content: center;\n ")]),_("icon-left",[j("icon","\n margin: var(--n-icon-margin);\n "),_("closable",[j("title","\n padding-right: calc(var(--n-close-size) + 6px);\n ")])]),j("close","\n position: absolute;\n right: 0;\n top: 0;\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n z-index: 1;\n "),j("content","\n font-size: var(--n-font-size);\n margin: var(--n-content-margin);\n position: relative;\n word-break: break-word;\n ",[_("last","margin-bottom: 0;")]),j("action","\n display: flex;\n justify-content: flex-end;\n ",[w("> *:not(:last-child)","\n margin-right: var(--n-action-space);\n ")]),j("icon","\n font-size: var(--n-icon-size);\n transition: color .3s var(--n-bezier);\n "),j("title","\n transition: color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n font-size: var(--n-title-font-size);\n font-weight: var(--n-title-font-weight);\n color: var(--n-title-text-color);\n "),k("dialog-icon-container","\n display: flex;\n justify-content: center;\n ")]),p(k("dialog","\n width: 446px;\n max-width: calc(100vw - 32px);\n ")),k("dialog",[M("\n width: 446px;\n max-width: calc(100vw - 32px);\n ")])]),Qe={default:()=>G(Me,null),info:()=>G(Me,null),success:()=>G($e,null),warning:()=>G(Oe,null),error:()=>G(Pe,null)},eo=Z({name:"Dialog",alias:["NimbusConfirmCard","Confirm"],props:Object.assign(Object.assign({},c.props),Ge),slots:Object,setup(e){const{mergedComponentPropsRef:o,mergedClsPrefixRef:n,inlineThemeDisabled:t,mergedRtlRef:r}=y(e),i=l("Dialog",r,n),a=ee(()=>{var n,t;const{iconPlacement:r}=e;return r||(null===(t=null===(n=null==o?void 0:o.value)||void 0===n?void 0:n.Dialog)||void 0===t?void 0:t.iconPlacement)||"left"});const s=c("Dialog","-dialog",Je,Xe,e,n),d=ee(()=>{const{type:o}=e,n=a.value,{common:{cubicBezierEaseInOut:t},self:{fontSize:r,lineHeight:i,border:l,titleTextColor:d,textColor:c,color:u,closeBorderRadius:g,closeColorHover:h,closeColorPressed:p,closeIconColor:f,closeIconColorHover:v,closeIconColorPressed:b,closeIconSize:m,borderRadius:C,titleFontWeight:x,titleFontSize:k,padding:y,iconSize:w,actionSpace:z,contentMargin:F,closeSize:L,["top"===n?"iconMarginIconTop":"iconMargin"]:B,["top"===n?"closeMarginIconTop":"closeMargin"]:P,[I("iconColor",o)]:M}}=s.value,$=S(B);return{"--n-font-size":r,"--n-icon-color":M,"--n-bezier":t,"--n-close-margin":P,"--n-icon-margin-top":$.top,"--n-icon-margin-right":$.right,"--n-icon-margin-bottom":$.bottom,"--n-icon-margin-left":$.left,"--n-icon-size":w,"--n-close-size":L,"--n-close-icon-size":m,"--n-close-border-radius":g,"--n-close-color-hover":h,"--n-close-color-pressed":p,"--n-close-icon-color":f,"--n-close-icon-color-hover":v,"--n-close-icon-color-pressed":b,"--n-color":u,"--n-text-color":c,"--n-border-radius":C,"--n-padding":y,"--n-line-height":i,"--n-border":l,"--n-content-margin":F,"--n-title-font-size":k,"--n-title-font-weight":x,"--n-title-text-color":d,"--n-action-space":z}}),u=t?z("dialog",ee(()=>`${e.type[0]}${a.value[0]}`),d,e):void 0;return{mergedClsPrefix:n,rtlEnabled:i,mergedIconPlacement:a,mergedTheme:s,handlePositiveClick:function(o){const{onPositiveClick:n}=e;n&&n(o)},handleNegativeClick:function(o){const{onNegativeClick:n}=e;n&&n(o)},handleCloseClick:function(){const{onClose:o}=e;o&&o()},cssVars:t?void 0:d,themeClass:null==u?void 0:u.themeClass,onRender:null==u?void 0:u.onRender}},render(){var e;const{bordered:o,mergedIconPlacement:r,cssVars:i,closable:l,showIcon:a,title:s,content:d,action:c,negativeText:u,positiveText:g,positiveButtonProps:h,negativeButtonProps:p,handlePositiveClick:f,handleNegativeClick:v,mergedTheme:b,loading:m,type:C,mergedClsPrefix:x}=this;null===(e=this.onRender)||void 0===e||e.call(this);const S=a?G(F,{clsPrefix:x,class:`${x}-dialog__icon`},{default:()=>n(this.$slots.icon,e=>e||(this.icon?fe(this.icon):Qe[this.type]()))}):null,k=n(this.$slots.action,e=>e||g||u||c?G("div",{class:[`${x}-dialog__action`,this.actionClass],style:this.actionStyle},e||(c?[fe(c)]:[this.negativeText&&G(R,Object.assign({theme:b.peers.Button,themeOverrides:b.peerOverrides.Button,ghost:!0,size:"small",onClick:v},p),{default:()=>fe(this.negativeText)}),this.positiveText&&G(R,Object.assign({theme:b.peers.Button,themeOverrides:b.peerOverrides.Button,size:"small",type:"default"===C?"primary":C,disabled:m,loading:m,onClick:f},h),{default:()=>fe(this.positiveText)})])):null);return G("div",{class:[`${x}-dialog`,this.themeClass,this.closable&&`${x}-dialog--closable`,`${x}-dialog--icon-${r}`,o&&`${x}-dialog--bordered`,this.rtlEnabled&&`${x}-dialog--rtl`],style:i,role:"dialog"},l?n(this.$slots.close,e=>{const o=[`${x}-dialog__close`,this.rtlEnabled&&`${x}-dialog--rtl`];return e?G("div",{class:o},e):G(t,{focusable:this.closeFocusable,clsPrefix:x,class:o,onClick:this.handleCloseClick})}):null,a&&"top"===r?G("div",{class:`${x}-dialog-icon-container`},S):null,G("div",{class:[`${x}-dialog__title`,this.titleClass],style:this.titleStyle},a&&"left"===r?S:null,A(this.$slots.header,()=>[fe(s)])),G("div",{class:[`${x}-dialog__content`,k?"":`${x}-dialog__content--last`,this.contentClass],style:this.contentStyle},A(this.$slots.default,()=>[fe(d)])),k)}});function oo(e){const{modalColor:o,textColor2:n,boxShadow3:t}=e;return{color:o,textColor:n,boxShadow:t}}var no=d({name:"Modal",common:e,peers:{Scrollbar:D,Dialog:Xe,Card:He},self:oo}),to=m("n-modal-provider"),ro=m("n-modal-api"),io=m("n-modal-reactive-list");function lo(){const e=K(ro,null);return null===e&&r("use-modal","No outer <n-modal-provider /> founded."),e}var ao="n-draggable";var so=Object.assign(Object.assign({},Ee),Ge),co=Be(so),uo=Z({name:"ModalBody",inheritAttrs:!1,slots:Object,props:Object.assign(Object.assign({show:{type:Boolean,required:!0},preset:String,displayDirective:{type:String,required:!0},trapFocus:{type:Boolean,default:!0},autoFocus:{type:Boolean,default:!0},blockScroll:Boolean,draggable:{type:[Boolean,Object],default:!1},maskHidden:Boolean},so),{renderMask:Function,onClickoutside:Function,onBeforeLeave:{type:Function,required:!0},onAfterLeave:{type:Function,required:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0},onClose:{type:Function,required:!0},onAfterEnter:Function,onEsc:Function}),setup(e){const o=le(null),n=le(null),t=le(e.show),r=le(null),l=le(null),a=K(i);let s=null;Q(oe(e,"show"),e=>{e&&(s=a.getMousePosition())},{immediate:!0});const{stopDrag:d,startDrag:c,draggableRef:u,draggableClassRef:g}=function(e,o){let n;const t=ee(()=>!1!==e.value),r=ee(()=>t.value?ao:""),i=ee(()=>{const o=e.value;return!0===o||!1===o||!o||"none"!==o.bounds});function l(){n&&(n(),n=void 0)}return Y(l),{stopDrag:l,startDrag:function(e){const t=e.querySelector(`.${ao}`);if(!t||!r.value)return;let l,a=0,s=0,d=0,c=0,u=0,g=0;function h(o){o.preventDefault(),l=o;const{x:n,y:t,right:r,bottom:i}=e.getBoundingClientRect();s=n,c=t,a=window.innerWidth-r,d=window.innerHeight-i;const{left:h,top:p}=e.style;u=+p.slice(0,-2),g=+h.slice(0,-2)}function p(o){if(!l)return;const{clientX:n,clientY:t}=l;let r=o.clientX-n,h=o.clientY-t;i.value&&(r>a?r=a:-r>s&&(r=-s),h>d?h=d:-h>c&&(h=-c));const p=r+g,f=h+u;e.style.top=`${f}px`,e.style.left=`${p}px`}function f(){l=void 0,o.onEnd(e)}$("mousedown",t,h),$("mousemove",window,p),$("mouseup",window,f),n=()=>{H("mousedown",t,h),$("mousemove",window,p),$("mouseup",window,f)}},draggableRef:t,draggableClassRef:r}}(oe(e,"draggable"),{onEnd:e=>{m(e)}}),h=ee(()=>te([e.titleClass,g.value])),p=ee(()=>te([e.headerClass,g.value]));function f(){if("center"===a.transformOriginRef.value)return"";const{value:e}=r,{value:o}=l;return null===e||null===o?"":n.value?`${e}px ${o+n.value.containerScrollTop}px`:""}function m(e){if("center"===a.transformOriginRef.value)return;if(!s)return;if(!n.value)return;const o=n.value.containerScrollTop,{offsetLeft:t,offsetTop:i}=e,d=s.y,c=s.x;r.value=-(t-c),l.value=-(i-d-o),e.style.transformOrigin=f()}Q(oe(e,"show"),e=>{e&&(t.value=!0)}),be(ee(()=>e.blockScroll&&t.value));const C=le(null);return Q(C,e=>{e&&X(()=>{const n=e.el;n&&o.value!==n&&(o.value=n)})}),U(b,o),U(T,null),U(v,null),{mergedTheme:a.mergedThemeRef,appear:a.appearRef,isMounted:a.isMountedRef,mergedClsPrefix:a.mergedClsPrefixRef,bodyRef:o,scrollbarRef:n,draggableClass:g,displayed:t,childNodeRef:C,cardHeaderClass:p,dialogTitleClass:h,handlePositiveClick:function(){e.onPositiveClick()},handleNegativeClick:function(){e.onNegativeClick()},handleCloseClick:function(){const{onClose:o}=e;o&&o()},handleAfterEnter:function(o){const n=o;u.value&&c(n),e.onAfterEnter&&e.onAfterEnter(n)},handleAfterLeave:function(){t.value=!1,r.value=null,l.value=null,d(),e.onAfterLeave()},handleBeforeLeave:function(o){o.style.transformOrigin=f(),e.onBeforeLeave()},handleEnter:function(e){X(()=>{m(e)})}}},render(){const{$slots:e,$attrs:o,handleEnter:n,handleAfterEnter:t,handleAfterLeave:r,handleBeforeLeave:i,preset:l,mergedClsPrefix:a}=this;let s=null;if(!l){if(s=pe("default",e.default,{draggableClass:this.draggableClass}),!s)return void g("modal","default slot is empty");s=se(s),s.props=V({class:`${a}-modal`},o,s.props||{})}return"show"===this.displayDirective||this.displayed||this.show?ae(G("div",{role:"none",class:[`${a}-modal-body-wrapper`,this.maskHidden&&`${a}-modal-body-wrapper--mask-hidden`]},G(W,{ref:"scrollbarRef",theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar,contentClass:`${a}-modal-scroll-content`},{default:()=>{var o;return[null===(o=this.renderMask)||void 0===o?void 0:o.call(this),G(u,{disabled:!this.trapFocus||this.maskHidden,active:this.show,onEsc:this.onEsc,autoFocus:this.autoFocus},{default:()=>{var o;return G(re,{name:"fade-in-scale-up-transition",appear:null!==(o=this.appear)&&void 0!==o?o:this.isMounted,onEnter:n,onAfterEnter:t,onAfterLeave:r,onBeforeLeave:i},{default:()=>{const o=[[ne,this.show]],{onClickoutside:n}=this;return n&&o.push([q,this.onClickoutside,void 0,{capture:!0}]),ae("confirm"===this.preset||"dialog"===this.preset?G(eo,Object.assign({},this.$attrs,{class:[`${a}-modal`,this.$attrs.class],ref:"bodyRef",theme:this.mergedTheme.peers.Dialog,themeOverrides:this.mergedTheme.peerOverrides.Dialog},ge(this.$props,Ke),{titleClass:this.dialogTitleClass,"aria-modal":"true"}),e):"card"===this.preset?G(Ie,Object.assign({},this.$attrs,{ref:"bodyRef",class:[`${a}-modal`,this.$attrs.class],theme:this.mergedTheme.peers.Card,themeOverrides:this.mergedTheme.peerOverrides.Card},ge(this.$props,De),{headerClass:this.cardHeaderClass,"aria-modal":"true",role:"dialog"}),e):this.childNodeRef=s,o)}})}})]}})),[[ne,"if"===this.displayDirective||this.displayed||this.show]]):null}}),go=w([k("modal-container","\n position: fixed;\n left: 0;\n top: 0;\n height: 0;\n width: 0;\n display: flex;\n "),k("modal-mask","\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, .4);\n ",[E({enterDuration:".25s",leaveDuration:".25s",enterCubicBezier:"var(--n-bezier-ease-out)",leaveCubicBezier:"var(--n-bezier-ease-out)"})]),k("modal-body-wrapper","\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n overflow: visible;\n ",[k("modal-scroll-content","\n min-height: 100%;\n display: flex;\n position: relative;\n "),_("mask-hidden","pointer-events: none;",[k("modal-scroll-content",[w("> *","\n pointer-events: all;\n ")])])]),k("modal","\n position: relative;\n align-self: center;\n color: var(--n-text-color);\n margin: auto;\n box-shadow: var(--n-box-shadow);\n ",[he({duration:".25s",enterScale:".5"}),w(`.${ao}`,"\n cursor: move;\n user-select: none;\n ")])]),ho=Object.assign(Object.assign(Object.assign(Object.assign({},c.props),{show:Boolean,showMask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},preset:String,to:[String,Object],displayDirective:{type:String,default:"if"},transformOrigin:{type:String,default:"mouse"},zIndex:Number,autoFocus:{type:Boolean,default:!0},trapFocus:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},blockScroll:{type:Boolean,default:!0}}),so),{draggable:[Boolean,Object],onEsc:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onAfterEnter:Function,onBeforeLeave:Function,onAfterLeave:Function,onClose:Function,onPositiveClick:Function,onNegativeClick:Function,onMaskClick:Function,internalDialog:Boolean,internalModal:Boolean,internalAppear:{type:Boolean,default:void 0},overlayStyle:[String,Object],onBeforeHide:Function,onAfterHide:Function,onHide:Function,unstableShowMask:{type:Boolean,default:void 0}}),po=Z({name:"Modal",inheritAttrs:!1,props:ho,slots:Object,setup(e){const o=le(null),{mergedClsPrefixRef:n,namespaceRef:t,inlineThemeDisabled:r}=y(e),l=c("Modal","-modal",go,no,e,n),a=Le(64),d=ke(),u=C(),g=e.internalDialog?K(Ne,null):null,h=e.internalModal?K(s,null):null,p=ve();function v(o){const{onUpdateShow:n,"onUpdate:show":t,onHide:r}=e;n&&f(n,o),t&&f(t,o),r&&!o&&r(o)}U(i,{getMousePosition:()=>{const e=g||h;if(e){const{clickedRef:o,clickedPositionRef:n}=e;if(o.value&&n.value)return n.value}return a.value?d.value:null},mergedClsPrefixRef:n,mergedThemeRef:l,isMountedRef:u,appearRef:oe(e,"internalAppear"),transformOriginRef:oe(e,"transformOrigin")});const b=ee(()=>{const{common:{cubicBezierEaseOut:e},self:{boxShadow:o,color:n,textColor:t}}=l.value;return{"--n-bezier-ease-out":e,"--n-box-shadow":o,"--n-color":n,"--n-text-color":t}}),m=r?z("theme-class",void 0,b,e):void 0;return{mergedClsPrefix:n,namespace:t,isMounted:u,containerRef:o,presetProps:ee(()=>ge(e,co)),handleEsc:function(o){var n;null===(n=e.onEsc)||void 0===n||n.call(e),e.show&&e.closeOnEsc&&B(o)&&(p.value||v(!1))},handleAfterLeave:function(){const{onAfterLeave:o,onAfterHide:n}=e;o&&f(o),n&&n()},handleClickoutside:function(n){var t;const{onMaskClick:r}=e;r&&r(n),e.maskClosable&&(null===(t=o.value)||void 0===t?void 0:t.contains(O(n)))&&v(!1)},handleBeforeLeave:function(){const{onBeforeLeave:o,onBeforeHide:n}=e;o&&f(o),n&&n()},doUpdateShow:v,handleNegativeClick:function(){const{onNegativeClick:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},handlePositiveClick:function(){const{onPositiveClick:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},handleCloseClick:function(){const{onClose:o}=e;o?Promise.resolve(o()).then(e=>{!1!==e&&v(!1)}):v(!1)},cssVars:r?void 0:b,themeClass:null==m?void 0:m.themeClass,onRender:null==m?void 0:m.onRender}},render(){const{mergedClsPrefix:e}=this;return G(a,{to:this.to,show:this.show},{default:()=>{var o;null===(o=this.onRender)||void 0===o||o.call(this);const{showMask:n}=this;return ae(G("div",{role:"none",ref:"containerRef",class:[`${e}-modal-container`,this.themeClass,this.namespace],style:this.cssVars},G(uo,Object.assign({style:this.overlayStyle},this.$attrs,{ref:"bodyWrapper",displayDirective:this.displayDirective,show:this.show,preset:this.preset,autoFocus:this.autoFocus,trapFocus:this.trapFocus,draggable:this.draggable,blockScroll:this.blockScroll,maskHidden:!n},this.presetProps,{onEsc:this.handleEsc,onClose:this.handleCloseClick,onNegativeClick:this.handleNegativeClick,onPositiveClick:this.handlePositiveClick,onBeforeLeave:this.handleBeforeLeave,onAfterEnter:this.onAfterEnter,onAfterLeave:this.handleAfterLeave,onClickoutside:n?void 0:this.handleClickoutside,renderMask:n?()=>{var o;return G(re,{name:"fade-in-transition",key:"mask",appear:null!==(o=this.internalAppear)&&void 0!==o?o:this.isMounted},{default:()=>this.show?G("div",{"aria-hidden":!0,ref:"containerRef",class:`${e}-modal-mask`,onClick:this.handleClickoutside}):null})}:void 0}),this.$slots)),[[h,{zIndex:this.zIndex,enabled:this.show}]])}})}});function fo(e){const{textColor1:o,dividerColor:n,fontWeightStrong:t}=e;return{textColor:o,color:n,fontWeight:t}}var vo={name:"Divider",common:e,self:fo},bo={gapSmall:"4px 8px",gapMedium:"8px 12px",gapLarge:"12px 16px"};var mo={name:"Space",self:function(){return bo}},Co={feedbackPadding:"4px 0 0 2px",feedbackHeightSmall:"24px",feedbackHeightMedium:"24px",feedbackHeightLarge:"26px",feedbackFontSizeSmall:"13px",feedbackFontSizeMedium:"14px",feedbackFontSizeLarge:"14px",labelFontSizeLeftSmall:"14px",labelFontSizeLeftMedium:"14px",labelFontSizeLeftLarge:"15px",labelFontSizeTopSmall:"13px",labelFontSizeTopMedium:"14px",labelFontSizeTopLarge:"14px",labelHeightSmall:"24px",labelHeightMedium:"26px",labelHeightLarge:"28px",labelPaddingVertical:"0 0 6px 2px",labelPaddingHorizontal:"0 12px 0 0",labelTextAlignVertical:"left",labelTextAlignHorizontal:"right",labelFontWeight:"400"};function xo(e){const{heightSmall:o,heightMedium:n,heightLarge:t,textColor1:r,errorColor:i,warningColor:l,lineHeight:a,textColor3:s}=e;return Object.assign(Object.assign({},Co),{blankHeightSmall:o,blankHeightMedium:n,blankHeightLarge:t,lineHeight:a,labelTextColor:r,asteriskColor:i,feedbackTextColorError:i,feedbackTextColorWarning:l,feedbackTextColor:s})}var So={name:"Form",common:e,self:xo},ko={headerFontSize1:"30px",headerFontSize2:"22px",headerFontSize3:"18px",headerFontSize4:"16px",headerFontSize5:"16px",headerFontSize6:"16px",headerMargin1:"28px 0 20px 0",headerMargin2:"28px 0 20px 0",headerMargin3:"28px 0 20px 0",headerMargin4:"28px 0 18px 0",headerMargin5:"28px 0 18px 0",headerMargin6:"28px 0 18px 0",headerPrefixWidth1:"16px",headerPrefixWidth2:"16px",headerPrefixWidth3:"12px",headerPrefixWidth4:"12px",headerPrefixWidth5:"12px",headerPrefixWidth6:"12px",headerBarWidth1:"4px",headerBarWidth2:"4px",headerBarWidth3:"3px",headerBarWidth4:"3px",headerBarWidth5:"3px",headerBarWidth6:"3px",pMargin:"16px 0 16px 0",liMargin:".25em 0 0 0",olPadding:"0 0 0 2em",ulPadding:"0 0 0 2em"};function yo(e){const{primaryColor:o,textColor2:n,borderColor:t,lineHeight:r,fontSize:i,borderRadiusSmall:l,dividerColor:a,fontWeightStrong:s,textColor1:d,textColor3:c,infoColor:u,warningColor:g,errorColor:h,successColor:p,codeColor:f}=e;return Object.assign(Object.assign({},ko),{aTextColor:o,blockquoteTextColor:n,blockquotePrefixColor:t,blockquoteLineHeight:r,blockquoteFontSize:i,codeBorderRadius:l,liTextColor:n,liLineHeight:r,liFontSize:i,hrColor:a,headerFontWeight:s,headerTextColor:d,pTextColor:n,pTextColor1Depth:d,pTextColor2Depth:n,pTextColor3Depth:c,pLineHeight:r,pFontSize:i,headerBarColor:o,headerBarColorPrimary:o,headerBarColorInfo:u,headerBarColorError:h,headerBarColorWarning:g,headerBarColorSuccess:p,textColor:n,textColor1Depth:d,textColor2Depth:n,textColor3Depth:c,textColorPrimary:o,textColorInfo:u,textColorSuccess:p,textColorWarning:g,textColorError:h,codeTextColor:n,codeColor:f,codeBorder:"1px solid #0000"})}var wo={name:"Typography",common:e,self:yo};export{Re as A,qe as C,We as D,_e as E,Be as F,Le as I,ke as L,$e as M,Me as N,Ie as O,Pe as P,Ve as S,Ze as T,eo as _,mo as a,Xe as b,fo as c,lo as d,ro as f,oo as g,no as h,xo as i,Oe as j,He as k,po as l,io as m,wo as n,bo as o,to as p,So as r,vo as s,yo as t,ho as u,Ke as v,Ne as w,Ye as x,Ge as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as a,o as t,s}from"./client-UDwXBP9i.js";async function r(){const t=await a.get("/platforms");return Array.isArray(t.data?.platforms)?t.data.platforms:[]}async function n(s,r={}){const n={};return null!=r.page&&(n.page=r.page),null!=r.limit&&(n.limit=r.limit),(r.q||r.search)&&(n.q=r.q||r.search),r.fresh&&(n.fresh="1"),(await a.get(`${t(s)}/projects`,{params:n})).data}async function e(s,r,n={}){const e={};return null!=n.page&&(e.page=n.page),null!=n.limit&&(e.limit=n.limit),(n.q||n.search)&&(e.q=n.q||n.search),n.fresh&&(e.fresh="1"),(await a.get(`${t(s)}/sessions/${encodeURIComponent(r)}`,{params:e})).data}function i(a){return s(a)}export{i,e as n,r,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,j as t,o as s,s as o,st as r}from"./vue-vendor-BqZbbXHA.js";import{n,r as a}from"./client-UDwXBP9i.js";import{Et as i,O as l,X as c,a as p,ct as u,f}from"./icons-DmFe4b5j.js";import{r as m}from"./platforms-BmzzwnSw.js";async function d(){return(await n.get("/ui-config")).data}async function y(e){return(await n.post("/ui-config",{config:e})).data}async function g(e,t){return(await n.put(`/ui-config/${e}`,{value:t})).data}async function b(e,t,s){return(await n.put(`/ui-config/${e}/${t}`,{value:s})).data}var h=Object.freeze({claude:i,code:u,codex:u,gemini:f,opencode:c,omp:l,terminal:p});function k(e){return h[String(e||"").trim().toLowerCase()]||p}var C=["claude","codex","opencode","omp"],j=[{key:"claude",label:"Claude Code",capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,resourceSync:!0,skills:!0,commands:!0,agents:!0,nativeConfig:!0}},{key:"codex",label:"Codex",capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,resourceSync:!0,skills:!0,commands:!0,agents:!0,nativeConfig:!0}},{key:"gemini",label:"Gemini",capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,resourceSync:!0,skills:!0,commands:!0,agents:!0,nativeConfig:!0}},{key:"opencode",label:"OpenCode",capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,resourceSync:!0,skills:!0,commands:!0,agents:!0,nativeConfig:!0}},{key:"omp",label:"OMP",capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,resourceSync:!0,skills:!0,commands:!0,plugins:!0,agents:!1,nativeConfig:!0}},{key:"dsh",label:"DSH",title:"DeepSeek Harness",command:"dsh",iconToken:"terminal",color:"#2563eb",defaultVisible:!0,capabilities:{channels:!0,projects:!0,sessions:!0,proxy:!0,statistics:!0,nativeLogs:!0,nativeConfig:!0,api:!0,mcp:!0,prompts:!0},resourceTypes:{skills:!0,commands:!1,agents:!1,plugins:!0,mcp:!0,prompts:!0},resourceActions:{skills:{create:!1,repositories:!0,import:!1,refresh:!0},plugins:{repositories:!0,market:!1,install:!1,uninstall:!1,import:!1,syncRepos:!1}}}];function v(e={}){if(!e||"object"!=typeof e||Array.isArray(e))return null;const t=String(e?.key||"").trim().toLowerCase(),s=function(e={}){return e?.capabilities&&"object"==typeof e.capabilities&&!Array.isArray(e.capabilities)?{...e.capabilities}:Object.fromEntries(Object.entries({proxy:"supportsProxy",projects:"supportsProjects",sessions:"supportsSessions",skills:"supportsSkills",commands:"supportsCommands",plugins:"supportsPlugins",agents:"supportsAgents"}).map(([t,s])=>[t,!1!==e?.[s]]))}(e),o=String(e?.iconToken||e?.icon||"terminal").trim();return{key:t,label:String(e?.label||e?.name||e?.title||t).trim(),title:String(e?.title||e?.label||e?.name||t).trim(),command:String(e?.command||t).trim(),iconToken:o,icon:k(o),color:String(e?.color||"#64748b").trim(),defaultVisible:!1!==e?.defaultVisible,defaultEnabled:void 0===e?.defaultEnabled?void 0:!1!==e.defaultEnabled,sortOrder:Number.isFinite(e?.sortOrder)?e.sortOrder:0,portKey:"string"==typeof e?.portKey?e.portKey:"",defaultPort:Number.isFinite(e?.defaultPort)?e.defaultPort:null,portLabel:"string"==typeof e?.portLabel?e.portLabel:"",apiPrefix:"string"==typeof e?.apiPrefix?e.apiPrefix:"",modelCatalogKey:"string"==typeof e?.modelCatalogKey?e.modelCatalogKey:t,enabled:!1!==e?.enabled,custom:!0===e?.custom,capabilities:s,resourceTypes:(n=e.resourceTypes,!n||"object"!=typeof n||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(([,e])=>"boolean"==typeof e))),resourceActions:(r=e.resourceActions,!r||"object"!=typeof r||Array.isArray(r)?{}:Object.fromEntries(Object.entries(r).map(([e,t])=>[e,t&&"object"==typeof t&&!Array.isArray(t)?Object.fromEntries(Object.entries(t).filter(([,e])=>"boolean"==typeof e)):{}]))),promptLabel:"string"==typeof e?.promptLabel?e.promptLabel.trim():"",supportsProxy:!0===s.proxy,supportsProjects:!0===s.projects,supportsSessions:!0===s.sessions,supportsSkills:!0===s.skills,supportsCommands:!0===s.commands,supportsPlugins:!0===s.plugins,supportsAgents:!0===s.agents};var r,n}function P(e=[]){const t=new Set;return Array.isArray(e)?e.map(v).filter(e=>!(!e||!e.key||t.has(e.key))&&(t.add(e.key),!0)):[]}function S(e,t=[]){const s=String(e||"").trim().toLowerCase();return P(t).find(e=>e.key===s)||v({key:s,capabilities:{}})}var w=r({theme:"light",panelVisibility:{showChannels:!0,showLogs:!0},channelBalance:{showRemaining:!1},channelLocks:{claude:!1,codex:!1,gemini:!1,opencode:!1,omp:!1},channelCollapse:{claude:[],codex:[],gemini:[],opencode:[],omp:[]},channelOrder:{claude:[],codex:[],gemini:[],opencode:[],omp:[]},enabledCliPlatforms:[...C]}),x=!1,O=!1,A=null;async function L({force:e=!1}={}){return e||!x&&!O?A||(A=(async()=>{try{const e=await d();e.success&&e.config&&(w.value=e.config,x=!0),O=!0}catch(e){O=!0}finally{A=null}return w.value})()):w.value}function E(){return x||L(),{uiConfig:w,loadUIConfig:L,saveConfig:async function(e){try{const t=await y(e);return!!t.success&&(w.value=t.config,!0)}catch(t){return!1}},updateConfig:async function(e,t){try{const s=await g(e,t);return!!s.success&&(w.value=s.config,!0)}catch(s){return!1}},updateNestedConfig:async function(e,t,s){try{const o=await b(e,t,s);return!!o.success&&(w.value=o.config,!0)}catch(o){return!1}}}}function T(e){if(Array.isArray(e))return P(e);const t=P(e);if(t.length>0)return t;const s=new Map(P(j).map(e=>[e.key,e]));return C.map(e=>s.get(e)).filter(Boolean)}function K(e){return String(e??"").trim().toLowerCase()}function $({catalog:e,enabledCliPlatforms:t}={}){const s=T(e),o=new Set(s.map(e=>e.key)),r=s.some(e=>void 0!==e.defaultEnabled),n=Array.isArray(t)?t:r?s.filter(e=>!1!==e.defaultEnabled).sort((e,t)=>(e.sortOrder||0)-(t.sortOrder||0)).map(e=>e.key):C,a=new Set,i=[];for(const l of n){const e=K(l);e&&!a.has(e)&&o.has(e)&&(a.add(e),i.push(e))}return i}function V(e){return T(e).map(e=>{const t=K(e.iconToken),s=Object.prototype.hasOwnProperty.call(h,t)?t:"terminal";return{key:e.key,label:e.label||e.title||e.key,title:e.title||e.label||e.key,iconToken:s,icon:k(s),color:e.color||"#64748b",capabilities:e.capabilities}})}function B(e){return K(e?.params?.platform||e?.meta?.channel)}var M=new Set(C),N=j.filter(e=>M.has(e.key));a(N);var D=s("platforms",{state:()=>({platforms:P(N),loaded:!1,loading:!1,error:null,loadPromise:null}),getters:{all:e=>e.platforms,enabled:e=>{const{uiConfig:t}=E(),s=$({catalog:e.platforms,enabledCliPlatforms:t.value.enabledCliPlatforms}),o=new Map(e.platforms.map(e=>[e.key,e]));return s.map(e=>o.get(e)).filter(Boolean)}},actions:{fetchPlatforms:async()=>m(),async load({force:e=!1}={}){return!e&&this.loaded?this.platforms:(this.loadPromise||(this.loading=!0,this.error=null,this.loadPromise=this.fetchPlatforms().then(e=>{const t=P(e);return t.length>0&&(this.platforms=t),a(this.platforms),this.loaded=!0,this.platforms}).catch(e=>(this.error=e,this.loaded=!0,this.platforms)).finally(()=>{this.loading=!1,this.loadPromise=null})),this.loadPromise)},get(e){const t=String(e||"").trim().toLowerCase();return this.platforms.find(e=>e.key===t)||null},hasCapability(e,t){const s=this.get(e);return!0===s?.capabilities?.[t]||!0===s?.resourceTypes?.[t]}}}),F=null;function H(s){const r=s||function(){const e=t();if(!e)return o();const s=e.appContext?.provides||{};for(const t of Object.getOwnPropertySymbols(s)){const e=s[t];if(e&&e._s&&"function"==typeof e.install)return e}return null}()||(F||=e());return D(r)}H.$id=D.$id;export{E as a,d as c,g as d,$ as i,y as l,V as n,C as o,B as r,S as s,H as t,b as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var n=new Set(["unknown","unknow","n/a","na","none","null","undefined","未知","未知项目"]);function t(n){return"string"==typeof n?n.trim():""}function e(e){const r=t(e);return!r||n.has(r.toLowerCase())}function r(n){return!(!n||"object"!=typeof n)&&[n.name,n.displayName,n.fullPath,n.path].some(n=>!e(n))}function o(n){return Array.isArray(n)?n.filter(r):[]}function u(n,r=null){return Array.isArray(n)?n.filter(n=>function(n,r=null){if(!n||"object"!=typeof n)return!1;if(e(n.sessionId))return!1;const o=[n.projectName,n.projectDisplayName,n.projectFullPath,n.projectPath],u=o.some(n=>t(n)),a=o.some(n=>!e(n));return u?a:!e(r)}(n,r)):[]}export{u as n,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,n as t}from"./client-UDwXBP9i.js";import{i as s,n}from"./platforms-BmzzwnSw.js";import{t as e}from"./clipboard-B46yyoz_.js";async function i(e,i="claude",o={}){if(!s(i))return n(i,e,o);const c=a(i),r={};return null!=o.page&&(r.page=o.page),null!=o.limit&&(r.limit=o.limit),(o.q||o.search)&&(r.q=o.q||o.search),o.fresh&&(r.fresh="1"),(await t.get(`${c}/sessions/${e}`,{params:r})).data}async function o(a,s){return(await t.post("/aliases",{sessionId:a,alias:s})).data}async function c(a){return(await t.delete(`/aliases/${a}`)).data}async function r(s,n,e="claude"){const i=a(e);return(await t.delete(`${i}/sessions/${s}/${n}`)).data}async function u(s,n,e="claude"){const i=a(e);return(await t.post(`${i}/sessions/${s}/batch-delete`,{sessionIds:n})).data}async function d(s,n,e="claude",i={}){const o=a(e);return(await t.post(`${o}/sessions/${s}/${n}/fork`,i)).data}async function l(s,n,e="claude"){const i=a(e);return(await t.post(`${i}/sessions/${s}/order`,{order:n})).data}async function m(s,n,e=15,i="claude",o={}){const c=a(i),r={keyword:n,context:e};return null!=o.limit&&(r.limit=o.limit),(await t.get(`${c}/sessions/${encodeURIComponent(s)}/search`,{params:r})).data}async function f(s,n=35,e="claude",i={}){const o=a(e),c={keyword:s,context:n};return null!=i.limit&&(c.limit=i.limit),i.projectName&&(c.projectName=i.projectName),(await t.get(`${o}/sessions/search/global`,{params:c})).data}function p(a){if(!a||"object"!=typeof a)return"";if("string"==typeof a.copyCommand&&a.copyCommand.trim())return a.copyCommand;const t="string"==typeof a.command?a.command.trim():"";if(!t)return"";const s="string"==typeof a.cwd?a.cwd.trim():"";return s?`cd ${n=s,`"${String(n).replace(/"/g,'\\"')}"`} && ${t}`:t;var n}async function $(s,n,i="claude"){const o=await async function(s,n,e="claude"){const i=a(e);return(await t.post(`${i}/sessions/${s}/${n}/launch`)).data}(s,n,i),c=p(o);if(!c)throw new Error("未获取到可复制的启动命令");return{text:c,data:o,copyResult:await e(c)}}async function y(s,n,e=1,i=20,o="desc",c="claude"){const r=a(c);return(await t.get(`${r}/sessions/${s}/${n}/messages`,{params:{page:e,limit:i,order:o}})).data}async function w(s,n,e="claude"){const i=a(e);return(await t.get(`${i}/sessions/${s}/${n}/outline`)).data}async function g(s,n,e="claude"){const i=a(e);return(await t.get(`${i}/sessions/${s}/${n}/status`)).data}async function h(s=5,n="claude"){const e=a(n);return(await t.get(`${e}/sessions/recent/list?limit=${s}`)).data}export{d as a,w as c,l as d,m as f,u as i,g as l,o as m,c as n,h as o,f as p,r,y as s,$ as t,i as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,o as a,st as l}from"./vue-vendor-BqZbbXHA.js";import{a as t,n}from"./client-UDwXBP9i.js";import{i as s,t as r}from"./platforms-BmzzwnSw.js";import{a as u,d as o,i,m as v,n as c,r as f,u as m}from"./sessions-D4yQtfKb.js";import{n as p,t as g}from"./session-visibility-BAmxh3cK.js";async function h(e="claude",a={}){if(!s(e))return r(e,a);const l=t(e),u={};return null!=a.page&&(u.page=a.page),null!=a.limit&&(u.limit=a.limit),(a.q||a.search)&&(u.q=a.q||a.search),a.fresh&&(u.fresh="1"),(await n.get(`${l}/projects`,{params:u})).data}var d=new Map,y=new Map,j=new Map,w=new Map,$=[1500,3500,7e3,12e3],M=[2500,5e3,1e4,15e3],S=new Map,A=new Map,I=20;function P(e,a){return`${e}:${a}`}function k({page:e=1,limit:a=20,query:l=""}={}){return`:page=${e}:limit=${a}:query=${l||""}`}function B(e,a={}){const l=`${e}${k(a)}`,t=d.get(l);return t?Date.now()-t.timestamp>2e4?(d.delete(l),null):t.payload:null}function q(e,a,l={}){d.set(`${e}${k(l)}`,{timestamp:Date.now(),payload:a})}function b(e,a,l={}){const t=`${P(e,a)}${k(l)}`,n=y.get(t);return n?Date.now()-n.timestamp>2e4?(y.delete(t),null):n.payload:null}function E(e,a,l,t={}){y.set(`${P(e,a)}${k(t)}`,{timestamp:Date.now(),payload:l})}function z(e,a){a?Array.from(y.keys()).filter(l=>l.startsWith(`${P(e,a)}:`)).forEach(e=>y.delete(e)):Array.from(y.keys()).filter(a=>a.startsWith(`${e}:`)).forEach(e=>y.delete(e))}function W(e,a){const l=e.get(a);l&&(clearTimeout(l),e.delete(a))}function D(e,a,l){W(e,l),a.delete(l)}function O(e,a,l,t,n,s,r){W(e,l);const u=a.get(l)||Date.now();a.set(l,u);const o=185e3-(Date.now()-u);if(o<=0)return a.delete(l),void r?.();const i=Math.min(t[Math.min(n,t.length-1)],o),v=setTimeout(()=>{e.delete(l),s()},i);e.set(l,v)}var R=a("sessions",()=>{const a=l([]),s=l(null),r=l(null),y=l(null),W=l(null),R=l({page:1,limit:I,total:0,hasMore:!1}),C=l({page:1,limit:I,total:0,hasMore:!1}),F=l([]),T=l({}),U=l(0),x=l(!1),G=l(null),H=l("claude"),J=new Map,K=new Map;let L=0;const N=e(()=>F.value.map(e=>({...e,alias:T.value[e.sessionId]||null}))),Q=e(()=>Boolean(y.value?.refreshing)),V=e(()=>Boolean(W.value?.refreshing)),X=e(()=>Boolean(y.value?.fallback||y.value?.stale)),Y=e(()=>Boolean(W.value?.fallback||W.value?.stale)),Z=e(()=>Boolean(y.value?.refreshing&&0===a.value.length)),_=e(()=>Boolean(W.value?.refreshing&&0===F.value.length));function ee(){s.value&&E(H.value,s.value,{sessions:F.value,aliases:T.value,totalSize:U.value,projectInfo:r.value,meta:W.value,pagination:C.value},C.value)}function ae(e){D(j,S,e)}function le(e){if(!e)return;const a=`${e}:`;Array.from(J.keys()).filter(e=>e.startsWith(a)).forEach(e=>J.delete(e)),Array.from(K.keys()).filter(e=>e.startsWith(a)).forEach(e=>K.delete(e))}function te(e=H.value){ae(e),le(e)}function ne(e,a){D(w,A,P(e,a))}async function se({page:e=1,limit:l=20,query:t="",force:n=!1,silent:r=!1,pollAttempt:u=0,fresh:o=!1}={}){r||(x.value=!0),G.value=null;try{const i=H.value,v={page:e,limit:l,query:t},c=!n&&!o,f=`${i}${k(v)}`;if(!n&&!o){const t=B(i,v);if(t&&!t.meta?.refreshing)return K.set(f,++L),J.delete(f),a.value=g(t.projects),s.value=a.value.some(e=>e.name===t.currentProject)?t.currentProject:a.value[0]?.name||null,y.value=t.meta||null,R.value=t.pagination||{page:e,limit:l,total:a.value.length,hasMore:!1},void(r||(x.value=!1))}let m,p=J.get(f),d=p?K.get(f):null;if(!c||!p||!d){d=++L,K.set(f,d);const a={fresh:n||o};1!==e&&(a.page=e),l!==I&&(a.limit=l),t&&(a.q=t),p=h(i,a),J.set(f,p)}try{m=await p}finally{J.get(f)===p&&J.delete(f)}if(H.value!==i||K.get(f)!==d)return;const w=g(m.projects),M=0===w.length&&a.value.length>0&&1===e&&!t&&(!0===m.meta?.refreshing||!0===m.meta?.stale||!0===m.meta?.fallback||Boolean(m.meta?.error)),A=w.length>0||0===a.value.length||!M;y.value=m.meta||null,m.meta?.error&&(G.value=m.meta.error),A&&(R.value=m.pagination||{page:e,limit:l,total:w.length,hasMore:!1},a.value=w,s.value=w.some(e=>e.name===m.currentProject)?m.currentProject:w[0]?.name||null,!0!==m.meta?.fallback&&(z(i),q(i,{projects:w,currentProject:s.value,meta:m.meta||null,pagination:R.value},v))),m.meta?.refreshing?function(e,a=0){O(j,S,e,$,a,()=>{H.value===e&&se({force:!0,silent:!0,pollAttempt:a+1}).catch(()=>{})},()=>{H.value===e&&(y.value={...y.value||{},refreshing:!1,stale:!0,error:y.value?.error||"项目列表生成超时,请重试"},G.value=y.value.error)})}(i,u):ae(i)}catch(i){G.value=i.message}finally{r||(x.value=!1)}}async function re(e,{page:a=1,limit:l=20,query:t="",force:n=!1,silent:u=!1,pollAttempt:o=0,fresh:i=!1}={}){u||(x.value=!0),G.value=null;try{const v=H.value,c={page:a,limit:l,query:t};if(s.value===e||b(v,e,c)||(F.value=[],T.value={},U.value=0,r.value=null,W.value=null),!n){const t=b(v,e,c);if(t)return F.value=p(t.sessions,e),T.value=t.aliases||{},U.value=t.totalSize||0,s.value=e,r.value=t.projectInfo||null,W.value=t.meta||null,C.value=t.pagination||{page:a,limit:l,total:F.value.length,hasMore:!1},void(u||(x.value=!1))}s.value=e;const f={fresh:i};1!==a&&(f.page=a),l!==I&&(f.limit=l),t&&(f.q=t);const g=await m(e,v,f);if(H.value!==v||s.value!==e)return;const h=p(g.sessions,e),d=h.length>0||0===F.value.length||!0!==g.meta?.refreshing;W.value=g.meta||null,C.value=g.pagination||{page:a,limit:l,total:h.length,hasMore:!1},g.meta?.error&&(G.value=g.meta.error),s.value=e,d&&(F.value=h,T.value=g.aliases||{},U.value=g.totalSize||0,r.value=g.projectInfo||null,!0!==g.meta?.fallback&&E(v,e,{sessions:h,aliases:g.aliases||{},totalSize:g.totalSize||0,projectInfo:g.projectInfo||null,meta:g.meta||null,pagination:C.value},c)),g.meta?.refreshing?function(e,a,l=0){const t=P(e,a);O(w,A,t,M,l,()=>{H.value===e&&s.value===a&&re(a,{force:!0,silent:!0,pollAttempt:l+1}).catch(()=>{})},()=>{H.value===e&&s.value===a&&(W.value={...W.value||{},refreshing:!1,stale:!0,error:W.value?.error||"会话列表生成超时,请重试"},G.value=W.value.error)})}(v,e,o):ne(v,e)}catch(v){G.value=v.message}finally{u||(x.value=!1)}}return{projects:a,currentProject:s,currentProjectInfo:r,projectsMeta:y,sessionsMeta:W,projectsPagination:R,sessionsPagination:C,sessions:F,aliases:T,totalSize:U,loading:x,error:G,currentChannel:H,sessionsWithAlias:N,projectsRefreshing:Q,sessionsRefreshing:V,projectsUsingFallback:X,sessionsUsingFallback:Y,projectsPending:Z,sessionsPending:_,setChannel:function(e){if(!e||H.value===e)return;const l=H.value;te(l),Array.from(w.keys()).filter(e=>e.startsWith(`${l}:`)).forEach(e=>D(w,A,e)),le(e),H.value=e,a.value=[],s.value=null,y.value=null,R.value={page:1,limit:I,total:0,hasMore:!1},F.value=[],T.value={},U.value=0,r.value=null,W.value=null,C.value={page:1,limit:I,total:0,hasMore:!1},G.value=null;const t=B(e);t&&(a.value=g(t.projects),s.value=a.value.some(e=>e.name===t.currentProject)?t.currentProject:a.value[0]?.name||null,y.value=t.meta||null,R.value=t.pagination||R.value)},fetchProjects:se,fetchSessions:re,retryProjects:async function(){return ae(H.value),se({page:R.value.page,limit:R.value.limit,force:!0,fresh:Boolean(y.value?.error)})},retrySessions:async function(e=s.value){if(e)return ne(H.value,e),re(e,{page:C.value.page,limit:C.value.limit,force:!0,fresh:Boolean(W.value?.error)})},pauseProjectRefresh:te,setAlias:async function(e,a){try{await v(e,a),T.value[e]=a}catch(l){throw G.value=l.message,l}},deleteAlias:async function(e){try{await c(e),delete T.value[e]}catch(a){throw G.value=a.message,a}},deleteSession:async function(e){try{await f(s.value,e,H.value),F.value=F.value.filter(a=>a.sessionId!==e),T.value[e]&&delete T.value[e],ee()}catch(a){throw G.value=a.message,a}},deleteSessions:async function(e=[]){const a=Array.from(new Set((e||[]).filter(Boolean)));if(0===a.length)return{deletedSessionIds:[],failed:[]};let l=[],t=[];try{const e=await i(s.value,a,H.value);l=Array.isArray(e?.deletedSessionIds)?e.deletedSessionIds:[],t=Array.isArray(e?.failed)?e.failed.map(e=>({sessionId:e.sessionId,error:new Error(e.error||"删除失败")})):[]}catch(n){throw G.value=n.message,n}if(l.length>0){const e=new Set(l);F.value=F.value.filter(a=>!e.has(a.sessionId)),Object.keys(T.value).forEach(a=>{e.has(a)&&delete T.value[a]}),ee()}return t.length>0&&0===l.length&&(G.value=t[0].error.message),{deletedSessionIds:l,failed:t}},forkSession:async function(e,a={}){try{const l=await u(s.value,e,H.value,a);return await re(s.value,{page:C.value.page,limit:C.value.limit,force:!0,fresh:!0}),l.newSessionId}catch(l){throw G.value=l.message,l}},saveProjectOrder:async function(e){try{await async function(e,a="claude"){const l=t(a);return(await n.post(`${l}/projects/order`,{order:e})).data}(e,H.value);const l=e.map(e=>a.value.find(a=>a.name===e)).filter(Boolean),r=a.value.filter(a=>!e.includes(a.name));a.value=[...l,...r],q(H.value,{projects:a.value,currentProject:s.value,meta:y.value,pagination:R.value},R.value)}catch(l){throw G.value=l.message,l}},saveSessionOrder:async function(e){try{await o(s.value,e,H.value);const a=e.map(e=>F.value.find(a=>a.sessionId===e)).filter(Boolean),l=F.value.filter(a=>!e.includes(a.sessionId));F.value=[...a,...l],E(H.value,s.value,{sessions:F.value,aliases:T.value,totalSize:U.value,projectInfo:r.value,meta:W.value,pagination:C.value},C.value)}catch(a){throw G.value=a.message,a}},deleteProject:async function(e){try{await async function(e,a="claude"){const l=t(a);return(await n.delete(`${l}/projects/${e}`)).data}(e,H.value),a.value=a.value.filter(a=>a.name!==e),s.value===e&&(s.value=null),l=H.value,Array.from(d.keys()).filter(e=>e.startsWith(`${l}:`)).forEach(e=>d.delete(e)),z(H.value,e)}catch(r){throw G.value=r.message,r}var l}}});export{h as n,R as t};
|