@nextclaw/ui 0.15.3 → 0.15.4
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/CHANGELOG.md +21 -0
- package/dist/assets/aiden0z-pptx-renderer.es-Bd99vut2.js +94 -0
- package/dist/assets/api-BOXOrpcJ.js +13 -0
- package/dist/assets/app-presenter-provider-CkHLbvZQ.js +106 -0
- package/dist/assets/app-presenter-provider-D3BuuOyZ.css +1 -0
- package/dist/assets/appearance-settings-page-fLIJbx1C.js +1 -0
- package/dist/assets/{book-open-C3mJGwiy.js → book-open-DWUjS6aW.js} +1 -1
- package/dist/assets/channels-list-page-CvCTJraa.js +8 -0
- package/dist/assets/chat-page-B42UUIFR.js +1 -0
- package/dist/assets/chunk-DseTPa7n.js +1 -0
- package/dist/assets/config-split-page-DBgt9S8b.js +1 -0
- package/dist/assets/confirm-dialog-GSXIvoRU.js +5 -0
- package/dist/assets/desktop-update-config-7bmNeWIC.js +1 -0
- package/dist/assets/dist-DC7f4TJH.js +41 -0
- package/dist/assets/doc-browser-CgdoLUT92.js +1 -0
- package/dist/assets/doc-browser-D0monHjG.js +1 -0
- package/dist/assets/doc-browser-context-CGwEOhBy.js +1 -0
- package/dist/assets/docx-preview-eFH9DRsS.js +20 -0
- package/dist/assets/download-DiP9zx-J.js +1 -0
- package/dist/assets/{external-link-CU0kzzIP.js → external-link-C6ZeSPef.js} +1 -1
- package/dist/assets/eye-suvKmtwn.js +1 -0
- package/dist/assets/folder-CMELbQGG.js +1 -0
- package/dist/assets/{form-actions-BvCp_0lS.js → form-actions-CUAzpNe_.js} +1 -1
- package/dist/assets/index-BFeNDQ4R.css +1 -0
- package/dist/assets/index-D_6U-M94.js +2 -0
- package/dist/assets/jszip.min-Das2IAnb.js +2 -0
- package/dist/assets/loader-circle-tYHStefV.js +1 -0
- package/dist/assets/logo-badge-Cu5UGH_4.js +1 -0
- package/dist/assets/mcp-marketplace-page-BUzHDwW6.js +9 -0
- package/dist/assets/mcp-marketplace-page-ohUAdfqJ.js +1 -0
- package/dist/assets/model-config-page-CWP6pyBm.js +1 -0
- package/dist/assets/plus-tywizkeY.js +1 -0
- package/dist/assets/popover-DImguRok.js +1 -0
- package/dist/assets/provider-models-C_yOh6DE.js +1 -0
- package/dist/assets/provider-scoped-model-input-CE7p4SbJ.js +1 -0
- package/dist/assets/providers-config-page-BKPo8SjH.js +1 -0
- package/dist/assets/react-5sjAT_6d.js +8 -0
- package/dist/assets/{refresh-cw-CILd1vAP.js → refresh-cw-CHLBzWWj.js} +1 -1
- package/dist/assets/remote-DXJryUxB.js +1 -0
- package/dist/assets/rotate-cw-BefO5brU.js +1 -0
- package/dist/assets/runtime-config-page-1Axv4QGu.js +1 -0
- package/dist/assets/{save-ByJqcPTP.js → save-BABzyrjB.js} +1 -1
- package/dist/assets/{search-DVIV6pfD.js → search-BTqxG3ZG.js} +1 -1
- package/dist/assets/search-config-page-BkKKmxmS.js +1 -0
- package/dist/assets/secrets-config-page-CWJMyu-k.js +3 -0
- package/dist/assets/security-config-DeQUIXfi.js +1 -0
- package/dist/assets/select-TYZDBNmq.js +1 -0
- package/dist/assets/setting-row-DR23Z_5I.js +1 -0
- package/dist/assets/{settings-2-CH5shGg_.js → settings-2-D8WWcBnw.js} +1 -1
- package/dist/assets/{skeleton-DeX1FKw7.js → skeleton-CloHeg0S.js} +1 -1
- package/dist/assets/tabs-CX-ckWoo.js +1 -0
- package/dist/assets/tag-chip-mCc23Rhb.js +1 -0
- package/dist/assets/trash-2-SAW1Z4Po.js +1 -0
- package/dist/assets/use-config-BucdaK23.js +1 -0
- package/dist/assets/use-confirm-dialog-C95F6sT1.js +1 -0
- package/dist/assets/use-viewport-layout-C6m3Nte7.js +1 -0
- package/dist/assets/x-DtCPHwCu.js +1 -0
- package/dist/assets/xlsx-B6zVt1RK.js +64 -0
- package/dist/index.html +34 -28
- package/package.json +11 -6
- package/src/features/chat/components/__tests__/chat-popover-content.test.tsx +41 -0
- package/src/features/chat/components/chat-popover-content.tsx +26 -0
- package/src/features/chat/components/conversation/__tests__/chat-conversation-content.test.tsx +13 -0
- package/src/features/chat/components/conversation/__tests__/chat-conversation-header-section.test.tsx +21 -11
- package/src/features/chat/components/conversation/__tests__/chat-conversation-header.test.tsx +2 -2
- package/src/features/chat/components/conversation/__tests__/chat-conversation-workspace-section.test.tsx +28 -1
- package/src/features/chat/components/conversation/chat-conversation-content.tsx +5 -4
- package/src/features/chat/components/conversation/chat-conversation-header-section.tsx +9 -18
- package/src/features/chat/components/conversation/chat-conversation-track.tsx +35 -0
- package/src/features/chat/components/conversation/chat-conversation-workspace-section.tsx +1 -0
- package/src/features/chat/components/layout/chat-sidebar-toolbar.tsx +7 -7
- package/src/features/chat/components/layout/chat-sidebar-utility-menu.tsx +3 -14
- package/src/features/chat/features/conversation/components/__tests__/session-conversation-input.streaming.test.tsx +20 -1
- package/src/features/chat/features/conversation/components/session-conversation-input.tsx +69 -54
- package/src/features/chat/features/message/components/chat-message-list.container.tsx +16 -1
- package/src/features/chat/features/message/utils/__tests__/chat-message-file-operation.utils.test.ts +30 -0
- package/src/features/chat/features/session/components/__tests__/chat-sidebar-session-item.test.tsx +37 -0
- package/src/features/chat/features/session/components/chat-sidebar-project-groups.tsx +4 -3
- package/src/features/chat/features/session/components/chat-sidebar-session-item.tsx +3 -8
- package/src/features/chat/features/session/components/session-header/__tests__/chat-session-header-actions.test.tsx +65 -20
- package/src/features/chat/features/session/components/session-header/chat-session-header-actions.tsx +26 -28
- package/src/features/chat/features/session/components/session-header/chat-session-project-badge.tsx +3 -3
- package/src/features/chat/features/session/components/session-header/chat-session-title-switcher.tsx +3 -3
- package/src/features/chat/features/welcome/components/chat-welcome-project-picker.tsx +3 -3
- package/src/features/chat/features/welcome/components/chat-welcome-session-type-picker.tsx +3 -3
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-file-preview.test.tsx +403 -106
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-panel-content.test.tsx +113 -2
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-panel.test.tsx +1 -0
- package/src/features/chat/features/workspace/components/chat-session-workspace-directory-browser.tsx +197 -44
- package/src/features/chat/features/workspace/components/chat-session-workspace-file-breadcrumb-browser.tsx +9 -3
- package/src/features/chat/features/workspace/components/chat-session-workspace-file-breadcrumbs.tsx +7 -5
- package/src/features/chat/features/workspace/components/chat-session-workspace-file-preview.tsx +57 -177
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel-content.tsx +239 -1
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel-nav.tsx +56 -6
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel.tsx +29 -7
- package/src/features/chat/features/workspace/components/file-content-preview/use-workspace-file-buffer.ts +42 -0
- package/src/features/chat/features/workspace/components/file-content-preview/workspace-document-preview-state.tsx +18 -0
- package/src/features/chat/features/workspace/components/file-content-preview/workspace-docx-preview.css +89 -0
- package/src/features/chat/features/workspace/components/file-content-preview/workspace-docx-preview.tsx +87 -0
- package/src/features/chat/features/workspace/components/file-content-preview/workspace-presentation-preview.tsx +82 -0
- package/src/features/chat/features/workspace/components/file-content-preview/workspace-spreadsheet-preview.tsx +180 -0
- package/src/features/chat/features/workspace/components/workspace-file-content-preview.tsx +191 -0
- package/src/features/chat/features/workspace/hooks/use-chat-conversation-workspace-state.ts +1 -4
- package/src/features/chat/features/workspace/utils/__tests__/chat-workspace-panel-view-model.utils.test.ts +53 -10
- package/src/features/chat/features/workspace/utils/chat-thread-workspace-session.utils.ts +68 -2
- package/src/features/chat/features/workspace/utils/chat-workspace-file-tab-persistence.utils.ts +17 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-file-tab.utils.ts +63 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-file-viewer.utils.ts +49 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-panel-layout.utils.ts +13 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-panel-view-model.utils.ts +120 -38
- package/src/features/chat/index.ts +1 -0
- package/src/features/chat/managers/__tests__/chat-thread-workspace.manager.test.ts +76 -0
- package/src/features/chat/managers/__tests__/chat-thread.manager.test.ts +44 -60
- package/src/features/chat/managers/chat-thread.manager.ts +123 -126
- package/src/features/chat/pages/ncp-chat-page.tsx +1 -2
- package/src/features/chat/stores/__tests__/chat-thread.store.test.ts +78 -1
- package/src/features/chat/stores/chat-message-layout.store.test.ts +37 -0
- package/src/features/chat/stores/chat-message-layout.store.ts +41 -0
- package/src/features/chat/stores/chat-thread.store.ts +70 -13
- package/src/features/settings/pages/__tests__/appearance-settings-page.test.tsx +25 -8
- package/src/features/settings/pages/appearance-settings-page.tsx +92 -13
- package/src/index.css +36 -2
- package/src/shared/components/__tests__/file-type-icon.test.tsx +61 -0
- package/src/shared/components/doc-browser/__tests__/doc-browser-context.test.tsx +19 -0
- package/src/shared/components/doc-browser/__tests__/doc-browser.test.tsx +16 -0
- package/src/shared/components/doc-browser/doc-browser-context.tsx +1 -0
- package/src/shared/components/doc-browser/doc-browser.tsx +11 -3
- package/src/shared/components/doc-browser/managers/doc-browser.manager.ts +5 -0
- package/src/shared/components/doc-browser/stores/doc-browser.store.ts +6 -1
- package/src/shared/components/doc-browser/types/doc-browser.types.ts +2 -0
- package/src/shared/components/doc-browser/utils/doc-browser-state.utils.ts +11 -0
- package/src/shared/components/file-type-icon.tsx +272 -0
- package/src/shared/components/resizable-right-panel/__tests__/resizable-right-panel.test.tsx +22 -0
- package/src/shared/components/resizable-right-panel/resizable-right-panel.tsx +17 -2
- package/src/shared/components/ui/tab-strip/__tests__/compact-tab-strip.test.tsx +38 -0
- package/src/shared/components/ui/tab-strip/compact-tab-strip.tsx +82 -2
- package/src/shared/lib/api/__tests__/server-path.utils.test.ts +28 -0
- package/src/shared/lib/api/utils/server-path.utils.ts +19 -20
- package/src/shared/lib/i18n/locales/en-US/chat.json +17 -1
- package/src/shared/lib/i18n/locales/en-US/core.json +6 -0
- package/src/shared/lib/i18n/locales/zh-CN/chat.json +17 -1
- package/src/shared/lib/i18n/locales/zh-CN/core.json +6 -0
- package/dist/assets/api-iNBpppzj.js +0 -13
- package/dist/assets/appearance-settings-page-DMffQFR3.js +0 -1
- package/dist/assets/channels-list-page-CCtp0BRS.js +0 -8
- package/dist/assets/chat-page-H5a0dWvO.js +0 -1
- package/dist/assets/config-split-page-CrOJgB-Y.js +0 -1
- package/dist/assets/confirm-dialog-Chv50USy.js +0 -5
- package/dist/assets/desktop-update-config-KzTuXRf_.js +0 -1
- package/dist/assets/dist-BunzmC4B.js +0 -1
- package/dist/assets/dist-ChmGwvtK.js +0 -1
- package/dist/assets/doc-browser-DNRL4Zvd.js +0 -1
- package/dist/assets/doc-browser-Dg0pmkOg.js +0 -1
- package/dist/assets/doc-browser-context-BHY-0FSD.js +0 -1
- package/dist/assets/es2015-DQZ5JWwK.js +0 -41
- package/dist/assets/i18n-provider-Cu8XyZb_.js +0 -1
- package/dist/assets/index-CzfBdvK1.css +0 -1
- package/dist/assets/index-DGqHne1Q.js +0 -104
- package/dist/assets/loader-circle-CDSFuzmk.js +0 -1
- package/dist/assets/mcp-marketplace-page-BeEQK0DL.js +0 -9
- package/dist/assets/mcp-marketplace-page-D6idOTLp.js +0 -1
- package/dist/assets/model-config-page-bNNo-XyG.js +0 -1
- package/dist/assets/plus-D4DsdLN-.js +0 -1
- package/dist/assets/provider-scoped-model-input-IlgQCsoT.js +0 -1
- package/dist/assets/providers-config-page-wLo6CAJw.js +0 -1
- package/dist/assets/react-BPIsQIlO.js +0 -8
- package/dist/assets/remote-uKEYp7AR.js +0 -1
- package/dist/assets/rotate-cw-wPFPg1kH.js +0 -1
- package/dist/assets/runtime-config-page-DDn1sP4G.js +0 -1
- package/dist/assets/search-config-page-B-Cf4iiB.js +0 -1
- package/dist/assets/secrets-config-page-DPKsY8Iw.js +0 -3
- package/dist/assets/security-config-e9SSBlKr.js +0 -1
- package/dist/assets/select-BdgczSNw.js +0 -1
- package/dist/assets/setting-row-BkTVUTKx.js +0 -1
- package/dist/assets/side-dock-BsBvcJ9i.js +0 -3
- package/dist/assets/switch-Cv8Ekb3x.js +0 -1
- package/dist/assets/tag-chip-RB9uKcoC.js +0 -1
- package/dist/assets/tooltip-oQlEN-l6.js +0 -1
- package/dist/assets/use-config-l3W7y8Qz.js +0 -1
- package/dist/assets/use-confirm-dialog-BAxaVOJI.js +0 -1
- package/dist/assets/x-BBMffEN0.js +0 -1
- /package/dist/assets/{config-hints-C_iP1zl_.js → config-hints-fDrYfl0l.js} +0 -0
- /package/dist/assets/{host-capabilities-9bB_998Z.js → host-capabilities-zZvY9U63.js} +0 -0
- /package/dist/assets/{middleware-BILWbJE4.js → middleware-BLMHv9YF.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./dist-
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{X as e}from"./app-presenter-provider-CkHLbvZQ.js";export{e as RemoteAccessPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`RotateCw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,r}from"./react-5sjAT_6d.js";import{Q as i,_ as a,et as o,g as s,x as c}from"./app-presenter-provider-CkHLbvZQ.js";import{Ct as l,Et as u,Ft as d,Ht as f,It as p,Kt as m,Lt as h,Nt as g,Pt as _,Rt as v,Tt as y,Vt as b,vt as x,xt as S,zt as C}from"./api-BOXOrpcJ.js";import{a as w,i as T,n as E,r as D,t as O}from"./select-TYZDBNmq.js";import{a as k}from"./use-confirm-dialog-C95F6sT1.js";import{t as A}from"./loader-circle-tYHStefV.js";import{t as j}from"./plus-tywizkeY.js";import{t as M}from"./rotate-cw-BefO5brU.js";import{t as N}from"./save-BABzyrjB.js";import{t as P}from"./trash-2-SAW1Z4Po.js";import{t as ee}from"./form-actions-CUAzpNe_.js";import{g as te,t as ne}from"./use-config-BucdaK23.js";import{t as F}from"./setting-row-DR23Z_5I.js";var I=e(t(),1),L=n(),R={healthy:`runtimeControlHealthy`,"starting-service":`runtimeControlStartingService`,"restarting-service":`runtimeControlRestartingService`,"stopping-service":`runtimeControlStoppingService`,"restarting-app":`runtimeControlRestartingApp`,recovering:`runtimeControlRecovering`,failed:`runtimeControlFailed`},z={running:`runtimeControlServiceRunning`,stopped:`runtimeControlServiceStopped`,starting:`runtimeControlServiceStarting`,stopping:`runtimeControlServiceStopping`,restarting:`runtimeControlServiceRestarting`},B={"desktop-embedded":`runtimeControlEnvironmentDesktop`,"managed-local-service":`runtimeControlEnvironmentManagedService`,"self-hosted-web":`runtimeControlEnvironmentSelfHosted`,"shared-web":`runtimeControlEnvironmentSharedWeb`};function V(e){return r(R[e]??`runtimeControlUnavailable`)}function H(e){return r(z[e]??`runtimeControlServiceUnknown`)}function U(e){return r(B[e.environment])}function W(e,t){return t===`start-service`?e?.canStartService:t===`stop-service`?e?.canStopService:e?.canRestartService}function G(e){return e?[{action:`start-service`,capability:e.canStartService,label:r(`runtimeControlStartService`),icon:`play`},{action:`restart-service`,capability:e.canRestartService,label:r(`runtimeControlRestartService`),icon:`rotate`},{action:`stop-service`,capability:e.canStopService,label:r(`runtimeControlStopService`),icon:`square`,variant:`destructive`},{action:`restart-app`,capability:e.canRestartApp,label:r(`runtimeControlRestartApp`),icon:`rotate`,variant:`secondary`}].filter(e=>e.capability.available||!!e.capability.reasonIfUnavailable):[]}function K(e){let{busy:t,icon:n}=e;return t?(0,L.jsx)(A,{className:`mr-2 h-4 w-4 animate-spin`}):n===`play`?(0,L.jsx)(o,{className:`mr-2 h-4 w-4`}):n===`square`?(0,L.jsx)(i,{className:`mr-2 h-4 w-4`}):(0,L.jsx)(M,{className:`mr-2 h-4 w-4`})}function q(){let{busy:e,busyAction:t,controlView:n,errorMessage:i,pendingRestart:a,visibleLifecycle:o,visibleMessage:s,visibleServiceState:c}=S(),l=G(n??void 0),v=async e=>{let t=W(n,e);if(!t?.available){m.error(u(t?.reasonIfUnavailable)??r(`runtimeControlLoadFailed`));return}if(!(e===`stop-service`&&t.requiresConfirmation&&!window.confirm(r(`runtimeControlStopServiceConfirm`))))try{let t=await y.runRuntimeControlAction(e);m.success(u(t.message)??t.message)}catch(e){let t=e instanceof Error?e.message:r(`runtimeControlActionFailed`);m.error(`${r(`runtimeControlActionFailed`)}: ${t}`)}},b=async()=>{if(!n?.canRestartApp.available){m.error(u(n?.canRestartApp.reasonIfUnavailable)??r(`runtimeRestartAppUnavailable`));return}if(window.confirm(r(`runtimeControlRestartAppConfirm`)))try{let e=await y.runRuntimeControlAction(`restart-app`);m.success(u(e.message)??e.message)}catch(e){let t=e instanceof Error?e.message:r(`runtimeControlActionFailed`);m.error(`${r(`runtimeControlActionFailed`)}: ${t}`)}};return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`runtimeControlTitle`)}),(0,L.jsx)(d,{children:r(`runtimeControlDescription`)})]}),(0,L.jsxs)(_,{className:`space-y-4`,children:[(0,L.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-gray-200 bg-gray-50 p-4`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 md:flex-row md:items-center md:justify-between`,children:[(0,L.jsx)(`div`,{className:`text-sm font-medium text-gray-900`,children:H(c)}),(0,L.jsx)(`div`,{className:`text-xs text-gray-500`,children:n?U(n):r(`runtimeControlLoading`)})]}),(0,L.jsx)(`p`,{className:`text-sm text-gray-600`,children:s}),(0,L.jsx)(`div`,{className:`text-xs text-gray-500`,children:V(o)}),n?.managementHint?(0,L.jsx)(`p`,{className:`text-xs text-gray-500`,children:u(n.managementHint)}):null,i&&!e?(0,L.jsx)(`p`,{className:`text-sm text-amber-700`,children:i}):null]}),a?(0,L.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-amber-200 bg-amber-50 p-4`,children:[(0,L.jsx)(`div`,{className:`text-sm font-medium text-amber-900`,children:r(`runtimeControlPendingRestartTitle`)}),(0,L.jsx)(`p`,{className:`text-sm text-amber-800`,children:r(`runtimeControlPendingRestartDescription`)}),a.changedPaths.length>0?(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`div`,{className:`text-xs font-medium uppercase tracking-[0.08em] text-amber-700`,children:r(`runtimeControlPendingRestartPaths`)}),(0,L.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:a.changedPaths.map(e=>(0,L.jsx)(`span`,{className:`rounded-full border border-amber-200 bg-white px-2.5 py-1 text-xs text-amber-800`,children:e},e))})]}):null]}):null,(0,L.jsx)(`div`,{className:`flex flex-col gap-3 md:flex-row md:flex-wrap`,children:l.map(n=>(0,L.jsxs)(f,{type:`button`,variant:n.variant??`default`,onClick:()=>{if(n.action===`restart-app`){b();return}v(n.action)},disabled:!n.capability.available||e,children:[(0,L.jsx)(K,{icon:n.icon,busy:t===n.action}),n.label]},n.action))}),l.filter(e=>!e.capability.available&&e.capability.reasonIfUnavailable).map(e=>(0,L.jsx)(`p`,{className:`text-xs text-gray-500`,children:u(e.capability.reasonIfUnavailable)},`${e.action}-reason`))]})]})}function J(e){let{description:t,title:n}=e;return(0,L.jsx)(k,{tone:`neutral`,title:n,description:t})}function Y(e){let{children:t}=e;return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`runtimePresenceTitle`)}),(0,L.jsx)(d,{children:r(`runtimePresenceDescription`)})]}),(0,L.jsx)(_,{children:t})]})}function X(){let e=l().runtimeControlView?.environment,t=a(e=>e.supported),n=a(e=>e.initialized),i=a(e=>e.busyAction),o=a(e=>e.snapshot);return(0,I.useEffect)(()=>{if(e===`desktop-embedded`){s.start();return}s.markUnsupported()},[e]),e===`desktop-embedded`?(0,L.jsx)(Y,{children:(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsx)(k,{tone:`neutral`,title:r(`runtimePresenceBehaviorLabel`),description:o?.closeToBackground?r(`runtimePresenceBehaviorBackground`):r(`runtimePresenceBehaviorQuit`),className:`rounded-xl`}),!n||t&&!o?(0,L.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`runtimePresenceLoading`)}):null,o?(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsx)(F,{title:r(`runtimePresenceCloseToBackground`),description:r(`runtimePresenceCloseToBackgroundHelp`),control:(0,L.jsx)(x,{id:`runtime-presence-close-background`,"aria-label":r(`runtimePresenceCloseToBackground`),checked:o.closeToBackground,disabled:i===`saving-preferences`,onCheckedChange:e=>{s.updatePreferences({closeToBackground:e})}})}),(0,L.jsx)(F,{title:r(`runtimePresenceLaunchAtLogin`),description:o.supportsLaunchAtLogin?r(`runtimePresenceLaunchAtLoginHelp`):o.launchAtLoginReason??r(`runtimePresenceLaunchAtLoginUnavailable`),control:(0,L.jsx)(x,{id:`runtime-presence-launch-login`,"aria-label":r(`runtimePresenceLaunchAtLogin`),checked:o.launchAtLogin,disabled:!o.supportsLaunchAtLogin||i===`saving-preferences`,onCheckedChange:e=>{s.updatePreferences({launchAtLogin:e})}})})]}):null]})}):e===`managed-local-service`?(0,L.jsx)(Y,{children:(0,L.jsx)(J,{title:r(`runtimePresenceManagedLocalTitle`),description:r(`runtimePresenceManagedLocalDescription`)})}):e===`self-hosted-web`?(0,L.jsx)(Y,{children:(0,L.jsx)(J,{title:r(`runtimePresenceSelfHostedTitle`),description:r(`runtimePresenceSelfHostedDescription`)})}):e===`shared-web`?(0,L.jsx)(Y,{children:(0,L.jsx)(J,{title:r(`runtimePresenceSharedTitle`),description:r(`runtimePresenceSharedDescription`)})}):(0,L.jsx)(Y,{children:(0,L.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`runtimePresenceLoading`)})})}function re(){return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(v,{title:r(`runtimePageTitle`),description:r(`runtimePageDescription`)}),(0,L.jsx)(q,{}),(0,L.jsx)(X,{}),(0,L.jsx)(c,{})]})}var Z={wireDialect:`acp`,processScope:`per-session`,command:``,args:[`acp`],env:{},cwd:``,startupTimeoutMs:8e3,probeTimeoutMs:3e3,requestTimeoutMs:12e4};function ie(){return{id:``,default:!1,workspace:``,model:``,runtime:``,contextTokens:void 0,maxToolIterations:void 0}}function ae(){return{agentId:``,match:{channel:``,accountId:``}}}function oe(){return{id:``,enabled:!0,label:``,type:`narp-stdio`,config:Z,configText:JSON.stringify(Z,null,2)}}function se(e){return{id:e.id??``,default:!!e.default,displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,workspace:e.workspace??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:e.contextTokens,maxToolIterations:e.maxToolIterations}}function ce(e){return{agentId:e.agentId??``,match:{channel:e.match?.channel??``,accountId:e.match?.accountId??``,peer:e.match?.peer?{kind:e.match.peer.kind,id:e.match.peer.id}:void 0}}}function Q(e){let t=e.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:void 0}function le(e){return{companionEnabled:e.companion?.enabled===!0,agents:(e.agents.list??[]).map(se),bindings:(e.bindings??[]).map(ce),runtimeEntries:Object.entries(e.agents.runtimes?.entries??{}).map(([e,t])=>({id:e,enabled:t.enabled!==!1,label:t.label??``,type:t.type,config:t.config??{},configText:JSON.stringify(t.config??{},null,2)})),dmScope:e.session?.dmScope??`per-channel-peer`,defaultContextTokens:e.agents.defaults.contextTokens??2e5,defaultEngine:e.agents.defaults.engine??`native`}}function ue(e){let t={id:e.id.trim()};e.default&&(t.default=!0),e.displayName?.trim()&&(t.displayName=e.displayName.trim()),e.description?.trim()&&(t.description=e.description.trim()),e.avatar?.trim()&&(t.avatar=e.avatar.trim()),e.workspace?.trim()&&(t.workspace=e.workspace.trim()),e.model?.trim()&&(t.model=e.model.trim());let n=e.runtime?.trim()??e.engine?.trim();return n&&(t.engine=n),typeof e.contextTokens==`number`&&(t.contextTokens=Math.max(1e3,e.contextTokens)),typeof e.maxToolIterations==`number`&&(t.maxToolIterations=e.maxToolIterations),t}function de(e){let t=e.agents.map((e,t)=>{if(!e.id.trim())throw Error(r(`agentIdRequiredError`).replace(`{index}`,String(t)));return ue(e)}),n=t.map(e=>e.id).filter((e,t,n)=>n.indexOf(e)!==t);if(n.length>0)throw Error(`${r(`duplicateAgentId`)}: ${n[0]}`);let i=e.bindings.map((t,n)=>{let i=t.agentId.trim(),a=t.match.channel.trim(),o=t.match.accountId?.trim()??``,s=t.match.peer?.kind,c=t.match.peer?.id?.trim()??``;if(!i)throw Error(r(`bindingAgentIdRequired`).replace(`{index}`,String(n)));if(!e.knownAgentIds.has(i))throw Error(`${r(`bindingAgentIdNotFound`).replace(`{index}`,String(n))}: ${i}`);if(!a)throw Error(r(`bindingChannelRequired`).replace(`{index}`,String(n)));let l={agentId:i,match:{channel:a}};if(o&&(l.match.accountId=o),s){if(!c)throw Error(r(`bindingPeerIdRequired`).replace(`{index}`,String(n)));l.match.peer={kind:s,id:c}}return l}),a=e.runtimeEntries.reduce((e,t,n)=>{let i=t.id.trim(),a=t.type.trim();if(!i)throw Error(r(`runtimeEntryIdRequired`).replace(`{index}`,String(n)));if(!a)throw Error(r(`runtimeEntryTypeRequired`).replace(`{id}`,i));if(e[i])throw Error(`${r(`runtimeEntryDuplicate`)}: ${i}`);let o=t.configText.trim()?JSON.parse(t.configText):{};if(o&&(typeof o!=`object`||Array.isArray(o)))throw Error(r(`runtimeEntryConfigObjectRequired`).replace(`{id}`,i));return e[i]={enabled:t.enabled!==!1,...t.label?.trim()?{label:t.label.trim()}:{},type:a,config:o??{}},e},{});return{companion:{enabled:e.companionEnabled},agents:{defaults:{contextTokens:Math.max(1e3,e.defaultContextTokens),engine:e.defaultEngine.trim()||`native`},list:t,runtimes:{entries:a}},bindings:i,session:{dmScope:e.dmScope}}}function fe({agents:e,onAddAgent:t,onRemoveAgent:n,onSetDefaultAgent:i,onUpdateAgent:a}){return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`agentList`)}),(0,L.jsx)(d,{children:r(`agentListHelp`)})]}),(0,L.jsxs)(_,{className:`space-y-3`,children:[e.map((e,t)=>(0,L.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,L.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,L.jsx)(b,{value:e.id,onChange:e=>a(t,{id:e.target.value}),placeholder:r(`agentIdPlaceholder`)}),(0,L.jsx)(b,{value:e.workspace??``,onChange:e=>a(t,{workspace:e.target.value}),placeholder:r(`workspaceOverridePlaceholder`)}),(0,L.jsx)(b,{value:e.model??``,onChange:e=>a(t,{model:e.target.value}),placeholder:r(`modelOverridePlaceholder`)}),(0,L.jsx)(b,{value:e.runtime??e.engine??``,onChange:e=>a(t,{runtime:e.target.value}),placeholder:r(`engineOverridePlaceholder`)}),(0,L.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-2`,children:[(0,L.jsx)(b,{type:`number`,min:1e3,step:1e3,value:e.contextTokens??``,onChange:e=>a(t,{contextTokens:Q(e.target.value)}),placeholder:r(`contextTokensPlaceholder`)}),(0,L.jsx)(b,{type:`number`,min:1,value:e.maxToolIterations??``,onChange:e=>a(t,{maxToolIterations:Q(e.target.value)}),placeholder:r(`maxToolsPlaceholder`)})]})]}),(0,L.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-gray-600`,children:[(0,L.jsx)(x,{checked:!!e.default,onCheckedChange:e=>i(t,e)}),(0,L.jsx)(`span`,{children:r(`defaultAgent`)})]}),(0,L.jsxs)(f,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>n(t),children:[(0,L.jsx)(P,{className:`h-4 w-4 mr-1`}),r(`remove`)]})]})]},`${t}-${e.id}`)),(0,L.jsxs)(f,{type:`button`,variant:`outline`,onClick:t,children:[(0,L.jsx)(j,{className:`h-4 w-4 mr-2`}),r(`addAgent`)]})]})]})}function pe({bindings:e,onAddBinding:t,onRemoveBinding:n,onUpdateBinding:i}){return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`bindings`)}),(0,L.jsx)(d,{children:r(`bindingsHelp`)})]}),(0,L.jsxs)(_,{className:`space-y-3`,children:[e.map((e,t)=>{let a=e.match.peer?.kind??``;return(0,L.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,L.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3`,children:[(0,L.jsx)(b,{value:e.agentId,onChange:n=>i(t,{...e,agentId:n.target.value}),placeholder:r(`targetAgentIdPlaceholder`)}),(0,L.jsx)(b,{value:e.match.channel,onChange:n=>i(t,{...e,match:{...e.match,channel:n.target.value}}),placeholder:r(`channelPlaceholder`)}),(0,L.jsx)(b,{value:e.match.accountId??``,onChange:n=>i(t,{...e,match:{...e.match,accountId:n.target.value}}),placeholder:r(`accountIdOptionalPlaceholder`)}),(0,L.jsxs)(O,{value:a||`__none__`,onValueChange:n=>{let r=n===`__none__`?``:n;i(t,r?{...e,match:{...e.match,peer:{kind:r,id:e.match.peer?.id??``}}}:{...e,match:{...e.match,peer:void 0}})},children:[(0,L.jsx)(T,{children:(0,L.jsx)(w,{})}),(0,L.jsxs)(E,{children:[(0,L.jsx)(D,{value:`__none__`,children:r(`peerKindOptional`)}),(0,L.jsx)(D,{value:`direct`,children:r(`peerKindDirect`)}),(0,L.jsx)(D,{value:`group`,children:r(`peerKindGroup`)}),(0,L.jsx)(D,{value:`channel`,children:r(`peerKindChannel`)})]})]}),(0,L.jsx)(b,{value:e.match.peer?.id??``,onChange:n=>i(t,{...e,match:{...e.match,peer:a?{kind:a,id:n.target.value}:void 0}}),placeholder:r(`peerIdPlaceholder`)})]}),(0,L.jsx)(`div`,{className:`flex justify-end`,children:(0,L.jsxs)(f,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>n(t),children:[(0,L.jsx)(P,{className:`h-4 w-4 mr-1`}),r(`remove`)]})})]},`${t}-${e.agentId}`)}),(0,L.jsxs)(f,{type:`button`,variant:`outline`,onClick:t,children:[(0,L.jsx)(j,{className:`h-4 w-4 mr-2`}),r(`addBinding`)]})]})]})}function $({entries:e,onAddEntry:t,onRemoveEntry:n,onUpdateEntry:i}){return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`runtimeEntries`)}),(0,L.jsx)(d,{children:r(`runtimeEntriesHelp`)})]}),(0,L.jsxs)(_,{className:`space-y-3`,children:[e.map((e,t)=>(0,L.jsxs)(`div`,{className:`rounded-xl border border-gray-200 p-3 space-y-3`,children:[(0,L.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,L.jsx)(b,{value:e.id,onChange:e=>i(t,{id:e.target.value}),placeholder:r(`runtimeEntryIdPlaceholder`)}),(0,L.jsx)(b,{value:e.label??``,onChange:e=>i(t,{label:e.target.value}),placeholder:r(`runtimeEntryLabelPlaceholder`)}),(0,L.jsx)(b,{value:e.type,onChange:e=>i(t,{type:e.target.value}),placeholder:r(`runtimeEntryTypePlaceholder`)}),(0,L.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-gray-200 px-3 py-2`,children:[(0,L.jsx)(`span`,{className:`text-sm text-gray-700`,children:r(`enabled`)}),(0,L.jsx)(x,{checked:e.enabled!==!1,onCheckedChange:e=>i(t,{enabled:e})})]})]}),(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`runtimeEntryConfigJson`)}),(0,L.jsx)(`textarea`,{className:`min-h-32 w-full rounded-md border border-gray-200 px-3 py-2 text-sm font-mono`,value:e.configText,onChange:e=>i(t,{configText:e.target.value}),spellCheck:!1})]}),(0,L.jsx)(`div`,{className:`flex justify-end`,children:(0,L.jsxs)(f,{type:`button`,variant:`outline`,onClick:()=>n(t),children:[(0,L.jsx)(P,{className:`mr-2 h-4 w-4`}),r(`delete`)]})})]},`${t}-${e.id||`runtime-entry`}`)),(0,L.jsxs)(f,{type:`button`,variant:`outline`,onClick:t,children:[(0,L.jsx)(j,{className:`mr-2 h-4 w-4`}),r(`addRuntimeEntry`)]})]})]})}var me=[{value:`main`,labelKey:`dmScopeMain`},{value:`per-peer`,labelKey:`dmScopePerPeer`},{value:`per-channel-peer`,labelKey:`dmScopePerChannelPeer`},{value:`per-account-channel-peer`,labelKey:`dmScopePerAccountChannelPeer`}];function he({companionEnabled:e,defaultContextTokens:t,defaultEngine:n,dmScope:i,onCompanionEnabledChange:a,onDefaultContextTokensChange:o,onDefaultEngineChange:s,onDmScopeChange:c}){return(0,L.jsxs)(g,{children:[(0,L.jsxs)(p,{children:[(0,L.jsx)(h,{children:r(`dmScope`)}),(0,L.jsx)(d,{children:r(`dmScopeHelp`)})]}),(0,L.jsxs)(_,{className:`space-y-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-start justify-between gap-4 rounded-md border border-gray-200 px-4 py-3`,children:[(0,L.jsxs)(`div`,{className:`space-y-1`,children:[(0,L.jsx)(`div`,{className:`text-sm font-medium text-gray-800`,children:r(`runtimeCompanionEnabled`)}),(0,L.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`runtimeCompanionEnabledHelp`)})]}),(0,L.jsx)(x,{checked:e,onCheckedChange:a})]}),(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`defaultContextTokens`)}),(0,L.jsx)(b,{type:`number`,min:1e3,step:1e3,value:t,onChange:e=>o(Math.max(1e3,Number.parseInt(e.target.value,10)||1e3))}),(0,L.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`defaultContextTokensHelp`)})]}),(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`defaultEngine`)}),(0,L.jsx)(b,{value:n,onChange:e=>s(e.target.value),placeholder:r(`defaultEnginePlaceholder`)}),(0,L.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`defaultEngineHelp`)})]}),(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(`label`,{className:`text-sm font-medium text-gray-800`,children:r(`dmScope`)}),(0,L.jsxs)(O,{value:i,onValueChange:e=>c(e),children:[(0,L.jsx)(T,{children:(0,L.jsx)(w,{})}),(0,L.jsx)(E,{children:me.map(e=>(0,L.jsx)(D,{value:e.value,children:r(e.labelKey)},e.value))})]})]})]})]})}function ge({config:e,updateRuntime:t}){let n=(0,I.useMemo)(()=>le(e),[e]),[i,a]=(0,I.useState)(n.agents),[o,s]=(0,I.useState)(n.bindings),[c,l]=(0,I.useState)(n.runtimeEntries),[u,d]=(0,I.useState)(n.dmScope),[p,h]=(0,I.useState)(n.companionEnabled),[g,_]=(0,I.useState)(n.defaultContextTokens),[v,y]=(0,I.useState)(n.defaultEngine),b=(0,I.useMemo)(()=>{let e=new Set([`main`]);return i.forEach(t=>{let n=t.id.trim();n&&e.add(n)}),e},[i]);return(0,L.jsxs)(C,{className:`space-y-6`,children:[(0,L.jsx)(re,{}),(0,L.jsx)(he,{companionEnabled:p,dmScope:u,defaultContextTokens:g,defaultEngine:v,onCompanionEnabledChange:h,onDmScopeChange:d,onDefaultContextTokensChange:_,onDefaultEngineChange:y}),(0,L.jsx)($,{entries:c,onUpdateEntry:(e,t)=>l(n=>n.map((n,r)=>r===e?{...n,...t}:n)),onRemoveEntry:e=>l(t=>t.filter((t,n)=>n!==e)),onAddEntry:()=>l(e=>[...e,oe()])}),(0,L.jsx)(fe,{agents:i,onUpdateAgent:(e,t)=>{a(n=>n.map((n,r)=>r===e?{...n,...t}:n))},onRemoveAgent:e=>a(t=>t.filter((t,n)=>n!==e)),onAddAgent:()=>a(e=>[...e,ie()]),onSetDefaultAgent:(e,t)=>a(n=>t?n.map((t,n)=>({...t,default:n===e})):n.map((t,n)=>n===e?{...t,default:!1}:t))}),(0,L.jsx)(pe,{bindings:o,onUpdateBinding:(e,t)=>{s(n=>n.map((n,r)=>r===e?t:n))},onRemoveBinding:e=>s(t=>t.filter((t,n)=>n!==e)),onAddBinding:()=>s(e=>[...e,ae()])}),(0,L.jsx)(ee,{children:(0,L.jsxs)(f,{type:`button`,size:`sm`,onClick:()=>{try{let e=de({companionEnabled:p,agents:i,bindings:o,runtimeEntries:c,dmScope:u,defaultContextTokens:g,defaultEngine:v,knownAgentIds:b});t.mutate({data:e})}catch(e){m.error(e instanceof Error?e.message:String(e))}},disabled:t.isPending,children:[(0,L.jsx)(N,{className:`mr-1.5 h-3.5 w-3.5`}),t.isPending?r(`saving`):r(`saveRuntimeSettings`)]})})]})}function _e(){let{data:e,isLoading:t}=ne(),n=te();return t||!e?(0,L.jsx)(`div`,{className:`p-8 text-gray-400`,children:r(`runtimeLoading`)}):(0,L.jsx)(ge,{config:e,updateRuntime:n})}export{_e as RuntimeConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./dist-
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`Save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]);export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./dist-
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`ArrowLeft`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),n=e(`Search`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]);export{t as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,r}from"./react-5sjAT_6d.js";import{Bt as i,Ht as a,Rt as o,Vt as s,zt as c}from"./api-BOXOrpcJ.js";import{t as l}from"./search-BTqxG3ZG.js";import{a as u,i as d,n as f,r as p,t as m}from"./select-TYZDBNmq.js";import{t as h}from"./external-link-C6ZeSPef.js";import{i as g,t as _}from"./use-viewport-layout-C6m3Nte7.js";import{t as v}from"./form-actions-CUAzpNe_.js";import{_ as y,n as b,t as x}from"./use-config-BucdaK23.js";import{a as S,c as C,i as w,n as T,o as E,s as D,t as O}from"./config-split-page-DBgt9S8b.js";var k=e(t(),1),A=n(),j=[{value:`noLimit`,label:`searchFreshnessNoLimit`},{value:`oneDay`,label:`searchFreshnessOneDay`},{value:`oneWeek`,label:`searchFreshnessOneWeek`},{value:`oneMonth`,label:`searchFreshnessOneMonth`},{value:`oneYear`,label:`searchFreshnessOneYear`}],M=[{value:`basic`,label:`searchDepthBasic`},{value:`advanced`,label:`searchDepthAdvanced`}],N=[{value:`true`,label:`enabled`},{value:`false`,label:`disabled`}],P={bocha:`searchProviderBochaDescription`,tavily:`searchProviderTavilyDescription`,brave:`searchProviderBraveDescription`};function F(e){return{activeProvider:e.provider,enabledProviders:e.enabledProviders,maxResults:String(e.defaults.maxResults),providers:{bocha:{apiKey:``,baseUrl:e.providers.bocha.baseUrl,summary:!!e.providers.bocha.summary,freshness:e.providers.bocha.freshness??`noLimit`},tavily:{apiKey:``,baseUrl:e.providers.tavily.baseUrl,searchDepth:e.providers.tavily.searchDepth??`basic`,includeAnswer:!!e.providers.tavily.includeAnswer},brave:{apiKey:``,baseUrl:e.providers.brave.baseUrl}}}}function I(e){return{provider:e.activeProvider,enabledProviders:e.enabledProviders,defaults:{maxResults:Number(e.maxResults)||10},providers:{bocha:{apiKey:e.providers.bocha.apiKey||void 0,baseUrl:e.providers.bocha.baseUrl,summary:e.providers.bocha.summary,freshness:e.providers.bocha.freshness},tavily:{apiKey:e.providers.tavily.apiKey||void 0,baseUrl:e.providers.tavily.baseUrl,searchDepth:e.providers.tavily.searchDepth,includeAnswer:e.providers.tavily.includeAnswer},brave:{apiKey:e.providers.brave.apiKey||void 0,baseUrl:e.providers.brave.baseUrl}}}}function L(e){let{label:t,value:n,onChange:r,placeholder:a,type:o=`text`,inputMode:c}=e;return(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(i,{children:t}),(0,A.jsx)(s,{type:o,value:n,onChange:e=>r(e.target.value),placeholder:a,inputMode:c,className:`rounded-xl`})]})}function R(e){let{label:t,value:n,options:a,onChange:o}=e;return(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(i,{children:t}),(0,A.jsxs)(m,{value:n,onValueChange:o,children:[(0,A.jsx)(d,{className:`rounded-xl`,children:(0,A.jsx)(u,{})}),(0,A.jsx)(f,{children:a.map(e=>(0,A.jsx)(p,{value:e.value,children:r(e.label)},e.value))})]})]})}function z({docsUrl:e}){return e?(0,A.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,children:(0,A.jsxs)(a,{type:`button`,variant:`outline`,className:`rounded-xl`,children:[(0,A.jsx)(h,{className:`mr-2 h-4 w-4`}),r(`searchProviderOpenDocs`)]})}):null}function B(e){let{draft:t,provider:n,search:i,selectedDocsUrl:a,updateProviderDraft:o}=e;if(n===`bocha`){let{bocha:e}=t.providers;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(L,{label:r(`apiKey`),value:e.apiKey,onChange:e=>o(`bocha`,{apiKey:e}),placeholder:i.providers.bocha.apiKeyMasked||r(`enterApiKey`),type:`password`}),(0,A.jsx)(L,{label:r(`searchProviderBaseUrl`),value:e.baseUrl,onChange:e=>o(`bocha`,{baseUrl:e})}),(0,A.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,A.jsx)(R,{label:r(`searchProviderSummary`),value:e.summary?`true`:`false`,options:N,onChange:e=>o(`bocha`,{summary:e===`true`})}),(0,A.jsx)(R,{label:r(`searchProviderFreshness`),value:e.freshness,options:j,onChange:e=>o(`bocha`,{freshness:e})})]}),(0,A.jsx)(z,{docsUrl:a??`https://open.bocha.cn`})]})}if(n===`tavily`){let{tavily:e}=t.providers;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(L,{label:r(`apiKey`),value:e.apiKey,onChange:e=>o(`tavily`,{apiKey:e}),placeholder:i.providers.tavily.apiKeyMasked||r(`enterApiKey`),type:`password`}),(0,A.jsx)(L,{label:r(`searchProviderBaseUrl`),value:e.baseUrl,onChange:e=>o(`tavily`,{baseUrl:e})}),(0,A.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,A.jsx)(R,{label:r(`searchProviderSearchDepth`),value:e.searchDepth,options:M,onChange:e=>o(`tavily`,{searchDepth:e})}),(0,A.jsx)(R,{label:r(`searchProviderIncludeAnswer`),value:e.includeAnswer?`true`:`false`,options:N,onChange:e=>o(`tavily`,{includeAnswer:e===`true`})})]}),(0,A.jsx)(z,{docsUrl:a})]})}let{brave:s}=t.providers;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(L,{label:r(`apiKey`),value:s.apiKey,onChange:e=>o(`brave`,{apiKey:e}),placeholder:i.providers.brave.apiKeyMasked||r(`enterApiKey`),type:`password`}),(0,A.jsx)(L,{label:r(`searchProviderBaseUrl`),value:s.baseUrl,onChange:e=>o(`brave`,{baseUrl:e})})]})}function V(e){let{draft:t,providers:n,search:i,selectedProvider:a,onSelect:o}=e;return(0,A.jsxs)(S,{children:[(0,A.jsx)(C,{className:`px-4 py-4`,children:(0,A.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-gray-500`,children:r(`searchChannels`)})}),(0,A.jsx)(E,{className:`space-y-2 p-3`,children:n.map(e=>{let n=i.providers[e.name],s=t.enabledProviders.includes(e.name);return(0,A.jsx)(O,{onClick:()=>o(e.name),active:a===e.name,className:`p-3`,children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`p`,{className:`truncate text-sm font-semibold text-gray-900`,children:e.displayName}),(0,A.jsx)(`p`,{className:`line-clamp-2 text-[11px] text-gray-500`,children:r(P[e.name])})]}),(0,A.jsxs)(`div`,{className:`flex flex-col items-end gap-1`,children:[(0,A.jsx)(`span`,{className:`rounded-full bg-gray-100 px-2 py-0.5 text-[11px] font-medium text-gray-600`,children:n.apiKeySet?r(`searchStatusConfigured`):r(`searchStatusNeedsSetup`)}),s?(0,A.jsx)(`span`,{className:`rounded-full bg-emerald-50 px-2 py-0.5 text-[11px] font-medium text-emerald-700`,children:r(`searchProviderActivated`)}):null]})]})},e.name)})})]})}function H(e){let{initialDraft:t,providers:n,search:i,onSubmit:o,isPending:s}=e,{isMobile:c}=_(),[u,d]=(0,k.useState)(c?null:i.provider),[f,p]=(0,k.useState)(t),m=u&&n.some(e=>e.name===u)?u:c?null:i.provider,h=n.find(e=>e.name===m)??null,y=m?i.providers[m]:null,b=m?f.enabledProviders.includes(m):!1,x=y?.docsUrl??h?.docsUrl;return(0,A.jsxs)(w,{className:`xl:min-h-0`,mobileView:c?m?`detail`:`list`:void 0,onMobileBack:()=>d(null),mobileListLabel:r(`searchPageTitle`),children:[(0,A.jsx)(V,{draft:f,providers:n,search:i,selectedProvider:m??i.provider,onSelect:d}),h?(0,A.jsx)(S,{children:(0,A.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),o(f)},className:`flex min-h-0 flex-1 flex-col`,children:[(0,A.jsx)(C,{className:`px-6 py-5`,children:(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-xl bg-primary text-white`,children:(0,A.jsx)(l,{className:`h-5 w-5`})}),(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h3`,{className:`text-lg font-semibold text-gray-900`,children:h.displayName}),(0,A.jsx)(`p`,{className:`text-sm text-gray-500`,children:h.description})]})]}),(0,A.jsx)(a,{type:`button`,variant:b?`secondary`:`outline`,className:`rounded-xl`,onClick:()=>{let e=b?f.enabledProviders.filter(e=>e!==m):m?[...f.enabledProviders,m]:f.enabledProviders,t={...f,enabledProviders:e};p(t),o(t)},children:r(b?`searchProviderDeactivate`:`searchProviderActivate`)})]})}),(0,A.jsxs)(E,{className:`space-y-6 px-6 py-5`,children:[(0,A.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,A.jsx)(R,{label:r(`searchActiveProvider`),value:f.activeProvider,options:n.map(e=>({value:e.name,label:e.displayName})),onChange:e=>p({...f,activeProvider:e})}),(0,A.jsx)(L,{label:r(`searchDefaultMaxResults`),value:f.maxResults,onChange:e=>p({...f,maxResults:e}),inputMode:`numeric`})]}),(0,A.jsx)(B,{draft:f,provider:m,search:i,selectedDocsUrl:x,updateProviderDraft:(e,t)=>{p(n=>({...n,providers:{...n.providers,[e]:{...n.providers[e],...t}}}))}})]}),(0,A.jsx)(D,{children:(0,A.jsx)(v,{children:(0,A.jsxs)(a,{type:`submit`,size:`sm`,disabled:s,children:[(0,A.jsx)(g,{className:`mr-1.5 h-3.5 w-3.5`}),r(s?`saving`:`saveChanges`)]})})})]})}):(0,A.jsx)(T,{children:(0,A.jsx)(`p`,{className:`text-sm text-gray-500`,children:r(`searchNoProviderSelected`)})})]})}function U(){let{data:e}=x(),{data:t}=b(),n=y(),i=t?.search??[],a=e?.search;return!a||i.length===0?(0,A.jsx)(`div`,{className:`p-8`,children:r(`loading`)}):(0,A.jsxs)(c,{className:`pb-0 xl:flex xl:h-full xl:min-h-0 xl:flex-col`,children:[(0,A.jsx)(o,{title:r(`searchPageTitle`),description:r(`searchPageDescription`)}),(0,A.jsx)(H,{initialDraft:F(a),providers:i,search:a,onSubmit:e=>n.mutate({data:I(e)}),isPending:n.isPending},JSON.stringify(a))]})}export{U as SearchConfigPage};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,r}from"./react-5sjAT_6d.js";import{Bt as i,Ft as a,Ht as o,It as s,Kt as c,Lt as l,Nt as u,Pt as d,Rt as f,Vt as p,vt as m,zt as h}from"./api-BOXOrpcJ.js";import{a as g,i as _,n as v,r as y,t as b}from"./select-TYZDBNmq.js";import{t as x}from"./plus-tywizkeY.js";import{t as S}from"./save-BABzyrjB.js";import{t as C}from"./trash-2-SAW1Z4Po.js";import{t as w}from"./form-actions-CUAzpNe_.js";import{t as T,v as E}from"./use-config-BucdaK23.js";var D=e(t(),1),O=[`env`,`file`,`exec`];function k(e=``){return{alias:e,source:`env`,prefix:``,path:``,command:``,argsText:``,cwd:``,timeoutMs:5e3}}function A(){return{path:``,source:`env`,provider:``,id:``}}function j(e,t){return t.source===`env`?{...k(e),source:`env`,prefix:t.prefix??``}:t.source===`file`?{...k(e),source:`file`,path:t.path}:{...k(e),source:`exec`,command:t.command,argsText:(t.args??[]).join(`
|
|
2
|
+
`),cwd:t.cwd??``,timeoutMs:t.timeoutMs??5e3}}function M(e){return e.source===`env`?{source:`env`,...e.prefix.trim()?{prefix:e.prefix.trim()}:{}}:e.source===`file`?{source:`file`,path:e.path.trim(),format:`json`}:{source:`exec`,command:e.command.trim(),args:e.argsText.split(`
|
|
3
|
+
`).map(e=>e.trim()).filter(Boolean),...e.cwd.trim()?{cwd:e.cwd.trim()}:{},timeoutMs:Math.max(1,Math.trunc(e.timeoutMs||5e3))}}function N(e){return e?{enabled:!!e.enabled,defaultEnv:e.defaults.env??``,defaultFile:e.defaults.file??``,defaultExec:e.defaults.exec??``,providers:Object.entries(e.providers).map(([e,t])=>j(e,t)),refs:Object.entries(e.refs).map(([e,t])=>({path:e,source:t.source,provider:t.provider??``,id:t.id}))}:{enabled:!0,defaultEnv:``,defaultFile:``,defaultExec:``,providers:[],refs:[]}}function P(e){let t={};for(let[n,i]of e.providers.entries()){let e=i.alias.trim();if(!e)throw Error(`${r(`providerAlias`)} #${n+1} ${r(`isRequired`)}`);if(t[e])throw Error(`${r(`providerAlias`)}: ${e} (${r(`duplicate`)})`);if(i.source===`file`&&!i.path.trim())throw Error(`${r(`secretFilePath`)} #${n+1} ${r(`isRequired`)}`);if(i.source===`exec`&&!i.command.trim())throw Error(`${r(`secretExecCommand`)} #${n+1} ${r(`isRequired`)}`);t[e]=M(i)}let n={};for(let[i,a]of e.refs.entries()){let e=a.path.trim(),o=a.id.trim();if(!e)throw Error(`${r(`secretConfigPath`)} #${i+1} ${r(`isRequired`)}`);if(!o)throw Error(`${r(`secretId`)} #${i+1} ${r(`isRequired`)}`);let s=a.provider.trim();if(s&&!t[s])throw Error(`${r(`secretProviderAlias`)}: ${s} ${r(`notFound`)}`);n[e]={source:a.source,...s?{provider:s}:{},id:o}}return{enabled:e.enabled,defaultEnv:e.defaultEnv.trim(),defaultFile:e.defaultFile.trim(),defaultExec:e.defaultExec.trim(),providers:Object.entries(t).map(([e,t])=>j(e,t)),refs:Object.entries(n).map(([e,t])=>({path:e,source:t.source,provider:t.provider??``,id:t.id}))}}function F(e){return{enabled:e.enabled,defaults:{env:e.defaultEnv||null,file:e.defaultFile||null,exec:e.defaultExec||null},providers:Object.fromEntries(e.providers.map(e=>[e.alias.trim(),M(e)]).filter(([e])=>e)),refs:Object.fromEntries(e.refs.map(e=>[e.path.trim(),{source:e.source,...e.provider.trim()?{provider:e.provider.trim()}:{},id:e.id.trim()}]).filter(([e,t])=>e&&t.id))}}var I=n();function L(e){let{defaultEnv:t,defaultFile:n,defaultExec:o,providerAliases:c,onChange:f}=e;return(0,I.jsxs)(u,{children:[(0,I.jsxs)(s,{children:[(0,I.jsx)(l,{children:r(`secrets`)}),(0,I.jsx)(a,{children:r(`secretsEnabledHelp`)})]}),(0,I.jsx)(d,{className:`space-y-4`,children:[{label:r(`defaultEnvProvider`),value:t,key:`defaultEnv`},{label:r(`defaultFileProvider`),value:n,key:`defaultFile`},{label:r(`defaultExecProvider`),value:o,key:`defaultExec`}].map(e=>(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(i,{children:e.label}),(0,I.jsxs)(b,{value:e.value||`__none__`,onValueChange:t=>f(e.key,t===`__none__`?``:t),children:[(0,I.jsx)(_,{children:(0,I.jsx)(g,{placeholder:r(`noneOption`)})}),(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{value:`__none__`,children:r(`noneOption`)}),c.map(e=>(0,I.jsx)(y,{value:e,children:e},e))]})]})]},e.key))})]})}function R(e){let{providers:t,onUpdate:n,onRemove:i,onAdd:c}=e;return(0,I.jsxs)(u,{children:[(0,I.jsxs)(s,{children:[(0,I.jsx)(l,{children:r(`secretProvidersTitle`)}),(0,I.jsx)(a,{children:r(`secretProvidersDescription`)})]}),(0,I.jsxs)(d,{className:`space-y-3`,children:[t.map((e,t)=>(0,I.jsxs)(`div`,{className:`space-y-3 rounded-xl border border-gray-200 p-3`,children:[(0,I.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-3`,children:[(0,I.jsx)(p,{value:e.alias,onChange:e=>n(t,{alias:e.target.value}),placeholder:r(`providerAlias`)}),(0,I.jsxs)(b,{value:e.source,onValueChange:e=>n(t,{source:e}),children:[(0,I.jsx)(_,{children:(0,I.jsx)(g,{})}),(0,I.jsx)(v,{children:O.map(e=>(0,I.jsx)(y,{value:e,children:e},e))})]}),(0,I.jsxs)(o,{type:`button`,variant:`outline`,onClick:()=>i(t),children:[(0,I.jsx)(C,{className:`mr-2 h-4 w-4`}),r(`removeProvider`)]})]}),e.source===`env`?(0,I.jsx)(p,{value:e.prefix,onChange:e=>n(t,{prefix:e.target.value}),placeholder:r(`envPrefix`)}):null,e.source===`file`?(0,I.jsx)(p,{value:e.path,onChange:e=>n(t,{path:e.target.value}),placeholder:r(`secretFilePath`)}):null,e.source===`exec`?(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(p,{value:e.command,onChange:e=>n(t,{command:e.target.value}),placeholder:r(`secretExecCommand`)}),(0,I.jsx)(`textarea`,{className:`min-h-[84px] w-full rounded-lg border border-gray-200 bg-white px-3 py-2 text-xs font-mono`,value:e.argsText,onChange:e=>n(t,{argsText:e.target.value}),placeholder:r(`secretExecArgs`)}),(0,I.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 md:grid-cols-2`,children:[(0,I.jsx)(p,{value:e.cwd,onChange:e=>n(t,{cwd:e.target.value}),placeholder:r(`secretExecCwd`)}),(0,I.jsx)(p,{type:`number`,min:1,value:e.timeoutMs,onChange:e=>n(t,{timeoutMs:Number.parseInt(e.target.value,10)||5e3}),placeholder:r(`secretExecTimeoutMs`)})]})]}):null]},`provider-${t}`)),(0,I.jsxs)(o,{type:`button`,variant:`outline`,onClick:c,children:[(0,I.jsx)(x,{className:`mr-2 h-4 w-4`}),r(`addSecretProvider`)]})]})]})}function z(e){let{refs:t,providerAliases:n,onUpdate:i,onRemove:c,onAdd:f}=e;return(0,I.jsxs)(u,{children:[(0,I.jsxs)(s,{children:[(0,I.jsx)(l,{children:r(`secretRefsTitle`)}),(0,I.jsx)(a,{children:r(`secretRefsDescription`)})]}),(0,I.jsxs)(d,{className:`space-y-3`,children:[t.map((e,t)=>(0,I.jsx)(`div`,{className:`space-y-3 rounded-xl border border-gray-200 p-3`,children:(0,I.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 md:grid-cols-2`,children:[(0,I.jsx)(p,{value:e.path,onChange:e=>i(t,{path:e.target.value}),placeholder:r(`secretConfigPath`)}),(0,I.jsx)(p,{value:e.id,onChange:e=>i(t,{id:e.target.value}),placeholder:r(`secretId`)}),(0,I.jsxs)(b,{value:e.source,onValueChange:e=>i(t,{source:e}),children:[(0,I.jsx)(_,{children:(0,I.jsx)(g,{})}),(0,I.jsx)(v,{children:O.map(e=>(0,I.jsx)(y,{value:e,children:e},e))})]}),(0,I.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto] gap-2`,children:[(0,I.jsxs)(b,{value:e.provider||`__none__`,onValueChange:e=>i(t,{provider:e===`__none__`?``:e}),children:[(0,I.jsx)(_,{children:(0,I.jsx)(g,{placeholder:r(`secretProviderAlias`)})}),(0,I.jsxs)(v,{children:[(0,I.jsx)(y,{value:`__none__`,children:r(`noneOption`)}),n.map(e=>(0,I.jsx)(y,{value:e,children:e},e))]})]}),(0,I.jsx)(o,{type:`button`,variant:`outline`,onClick:()=>c(t),children:(0,I.jsx)(C,{className:`h-4 w-4`})})]})]})},`ref-${t}`)),(0,I.jsxs)(o,{type:`button`,variant:`outline`,onClick:f,children:[(0,I.jsx)(x,{className:`mr-2 h-4 w-4`}),r(`addSecretRef`)]})]})]})}function B(e){let{initialState:t,isPending:n,onSubmit:i}=e,[p,g]=(0,D.useState)(t),_=(0,D.useMemo)(()=>{let e=p.providers.map(e=>e.alias.trim()).filter(Boolean);return Array.from(new Set(e))},[p.providers]);return(0,I.jsxs)(h,{className:`space-y-6`,children:[(0,I.jsx)(f,{title:r(`secretsPageTitle`),description:r(`secretsPageDescription`)}),(0,I.jsxs)(u,{children:[(0,I.jsxs)(s,{children:[(0,I.jsx)(l,{children:r(`secrets`)}),(0,I.jsx)(a,{children:r(`secretsEnabledHelp`)})]}),(0,I.jsxs)(d,{className:`space-y-4`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between rounded-xl border border-gray-200 p-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`p`,{className:`text-sm font-medium text-gray-800`,children:r(`enabled`)}),(0,I.jsx)(`p`,{className:`text-xs text-gray-500`,children:r(`secretsEnabledHelp`)})]}),(0,I.jsx)(m,{checked:p.enabled,onCheckedChange:e=>g(t=>({...t,enabled:e}))})]}),(0,I.jsx)(L,{defaultEnv:p.defaultEnv,defaultFile:p.defaultFile,defaultExec:p.defaultExec,providerAliases:_,onChange:(e,t)=>g(n=>({...n,[e]:t}))})]})]}),(0,I.jsx)(R,{providers:p.providers,onUpdate:(e,t)=>{g(n=>({...n,providers:n.providers.map((n,r)=>r===e?{...n,...t}:n)}))},onRemove:e=>g(t=>({...t,providers:t.providers.filter((t,n)=>n!==e)})),onAdd:()=>g(e=>({...e,providers:[...e.providers,k()]}))}),(0,I.jsx)(z,{refs:p.refs,providerAliases:_,onUpdate:(e,t)=>{g(n=>({...n,refs:n.refs.map((n,r)=>r===e?{...n,...t}:n)}))},onRemove:e=>g(t=>({...t,refs:t.refs.filter((t,n)=>n!==e)})),onAdd:()=>g(e=>({...e,refs:[...e.refs,A()]}))}),(0,I.jsx)(w,{children:(0,I.jsxs)(o,{type:`button`,size:`sm`,onClick:()=>{try{i(P(p))}catch(e){c.error(e instanceof Error?e.message:String(e))}},disabled:n,children:[(0,I.jsx)(S,{className:`mr-1.5 h-3.5 w-3.5`}),r(n?`saving`:`save`)]})})]})}function V(){let{data:e,isLoading:t}=T(),n=E();return t?(0,I.jsx)(`div`,{className:`p-8 text-gray-400`,children:r(`loading`)}):(0,I.jsx)(B,{initialState:N(e?.secrets),isPending:n.isPending,onSubmit:e=>n.mutate({data:F(e)})},JSON.stringify(e?.secrets??null))}export{V as SecretsConfigPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mt as e}from"./api-BOXOrpcJ.js";export{e as SecurityConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,m as n,p as r,u as i}from"./react-5sjAT_6d.js";import{C as a,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,u as C,w,x as T,y as E}from"./dist-DC7f4TJH.js";var D=u(`Check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),O=u(`ChevronDown`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),k=u(`ChevronUp`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function A(e,[t,n]){return Math.min(n,Math.max(t,e))}var j=e(t(),1),M=r();function N(e){let t=e+`CollectionProvider`,[n,r]=a(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:t,children:n}=e,r=j.useRef(null),a=j.useRef(new Map).current;return(0,M.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};c.displayName=t;let l=e+`CollectionSlot`,u=s(l),d=j.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,M.jsx)(u,{ref:w(t,o(l,n).collectionRef),children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=s(f),h=j.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,a=j.useRef(null),s=w(t,a),c=o(f,n);return j.useEffect(()=>(c.itemMap.set(a,{ref:a,...i}),()=>void c.itemMap.delete(a))),(0,M.jsx)(m,{[p]:``,ref:s,children:r})});h.displayName=f;function g(t){let n=o(e+`CollectionConsumer`,t);return j.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:c,Slot:d,ItemSlot:h},g,r]}var P=j.createContext(void 0);function ee(e){let t=j.useContext(P);return e||t||`ltr`}function F(e){let t=j.useRef({value:e,previous:e});return j.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var I=e(n(),1),L=[` `,`Enter`,`ArrowUp`,`ArrowDown`],te=[` `,`Enter`],R=`Select`,[z,B,V]=N(R),[H,U]=a(R,[V,S]),W=S(),[ne,G]=H(R),[re,ie]=H(R),ae=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:u,name:d,autoComplete:f,disabled:p,required:m,form:h}=e,g=W(t),[_,v]=j.useState(null),[b,x]=j.useState(null),[S,C]=j.useState(!1),w=ee(u),[T,D]=E({prop:r,defaultProp:i??!1,onChange:a,caller:R}),[O,k]=E({prop:o,defaultProp:s,onChange:c,caller:R}),A=j.useRef(null),N=_?h||!!_.closest(`form`):!0,[P,F]=j.useState(new Set),I=Array.from(P).map(e=>e.props.value).join(`;`);return(0,M.jsx)(y,{...g,children:(0,M.jsxs)(ne,{required:m,scope:t,trigger:_,onTriggerChange:v,valueNode:b,onValueNodeChange:x,valueNodeHasChildren:S,onValueNodeHasChildrenChange:C,contentId:l(),value:O,onValueChange:k,open:T,onOpenChange:D,dir:w,triggerPointerDownPosRef:A,disabled:p,children:[(0,M.jsx)(z.Provider,{scope:t,children:(0,M.jsx)(re,{scope:e.__scopeSelect,onNativeOptionAdd:j.useCallback(e=>{F(t=>new Set(t).add(e))},[]),onNativeOptionRemove:j.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),N?(0,M.jsxs)(qe,{"aria-hidden":!0,required:m,tabIndex:-1,name:d,autoComplete:f,value:O,onChange:e=>k(e.target.value),disabled:p,form:h,children:[O===void 0?(0,M.jsx)(`option`,{value:``}):null,Array.from(P)]},I):null]})})};ae.displayName=R;var K=`SelectTrigger`,q=j.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=W(n),s=G(K,n),c=s.disabled||r,l=w(t,s.onTriggerChange),u=B(n),d=j.useRef(`touch`),[f,m,h]=Ye(e=>{let t=u().filter(e=>!e.disabled),n=Xe(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onValueChange(n.value)}),g=e=>{c||(s.onOpenChange(!0),h()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,M.jsx)(x,{asChild:!0,...a,children:(0,M.jsx)(p.button,{type:`button`,role:`combobox`,"aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:c,"data-disabled":c?``:void 0,"data-placeholder":Je(s.value)?``:void 0,...i,ref:l,onClick:o(i.onClick,e=>{e.currentTarget.focus(),d.current!==`mouse`&&g(e)}),onPointerDown:o(i.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:o(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&m(e.key),!(t&&e.key===` `)&&L.includes(e.key)&&(g(),e.preventDefault())})})})});q.displayName=K;var oe=`SelectValue`,se=j.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=G(oe,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=w(t,c.onValueNodeChange);return T(()=>{l(u)},[l,u]),(0,M.jsx)(p.span,{...s,ref:d,style:{pointerEvents:`none`},children:Je(c.value)?(0,M.jsx)(M.Fragment,{children:o}):a})});se.displayName=oe;var ce=`SelectIcon`,le=j.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,M.jsx)(p.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});le.displayName=ce;var ue=`SelectPortal`,de=e=>(0,M.jsx)(f,{asChild:!0,...e});de.displayName=ue;var J=`SelectContent`,fe=j.forwardRef((e,t)=>{let n=G(J,e.__scopeSelect),[r,i]=j.useState();if(T(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?I.createPortal((0,M.jsx)(pe,{scope:e.__scopeSelect,children:(0,M.jsx)(z.Slot,{scope:e.__scopeSelect,children:(0,M.jsx)(`div`,{children:e.children})})}),t):null}return(0,M.jsx)(ge,{...e,ref:t})});fe.displayName=J;var Y=10,[pe,X]=H(J),me=`SelectContentImpl`,he=s(`SelectContent.RemoveScroll`),ge=j.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:s,side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:v,hideWhenDetached:y,avoidCollisions:x,...S}=e,T=G(J,n),[E,D]=j.useState(null),[O,k]=j.useState(null),A=w(t,e=>D(e)),[N,P]=j.useState(null),[ee,F]=j.useState(null),I=B(n),[L,te]=j.useState(!1),R=j.useRef(!1);j.useEffect(()=>{if(E)return g(E)},[E]),d();let z=j.useCallback(e=>{let[t,...n]=I().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&O&&(O.scrollTop=0),n===r&&O&&(O.scrollTop=O.scrollHeight),n?.focus(),document.activeElement!==i))return},[I,O]),V=j.useCallback(()=>z([N,E]),[z,N,E]);j.useEffect(()=>{L&&V()},[L,V]);let{onOpenChange:H,triggerPointerDownPosRef:U}=T;j.useEffect(()=>{if(E){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():E.contains(n.target)||H(!1),document.removeEventListener(`pointermove`,t),U.current=null};return U.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[E,H,U]),j.useEffect(()=>{let e=()=>H(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[H]);let[W,ne]=Ye(e=>{let t=I().filter(e=>!e.disabled),n=Xe(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),re=j.useCallback((e,t,n)=>{let r=!R.current&&!n;(T.value!==void 0&&T.value===t||r)&&(P(e),r&&(R.current=!0))},[T.value]),ie=j.useCallback(()=>E?.focus(),[E]),ae=j.useCallback((e,t,n)=>{let r=!R.current&&!n;(T.value!==void 0&&T.value===t||r)&&F(e)},[T.value]),K=r===`popper`?be:ve,q=K===be?{side:c,sideOffset:l,align:u,alignOffset:f,arrowPadding:p,collisionBoundary:m,collisionPadding:h,sticky:v,hideWhenDetached:y,avoidCollisions:x}:{};return(0,M.jsx)(pe,{scope:n,content:E,viewport:O,onViewportChange:k,itemRefCallback:re,selectedItem:N,onItemLeave:ie,itemTextRefCallback:ae,focusSelectedItem:V,selectedItemText:ee,position:r,isPositioned:L,searchRef:W,children:(0,M.jsx)(C,{as:he,allowPinchZoom:!0,children:(0,M.jsx)(b,{asChild:!0,trapped:T.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:o(i,e=>{T.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,M.jsx)(_,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>T.onOpenChange(!1),children:(0,M.jsx)(K,{role:`listbox`,id:T.contentId,"data-state":T.open?`open`:`closed`,dir:T.dir,onContextMenu:e=>e.preventDefault(),...S,...q,onPlaced:()=>te(!0),ref:A,style:{display:`flex`,flexDirection:`column`,outline:`none`,...S.style},onKeyDown:o(S.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&ne(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=I().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>z(t)),e.preventDefault()}})})})})})})});ge.displayName=me;var _e=`SelectItemAlignedPosition`,ve=j.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=G(J,n),o=X(J,n),[s,c]=j.useState(null),[l,u]=j.useState(null),d=w(t,e=>u(e)),f=B(n),m=j.useRef(!1),h=j.useRef(!0),{viewport:g,selectedItem:_,selectedItemText:v,focusSelectedItem:y}=o,b=j.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&g&&_&&v){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=v.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Y,d=A(a,[Y,Math.max(Y,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Y,d=A(a,[Y,Math.max(Y,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Y*2,u=g.scrollHeight,d=window.getComputedStyle(l),p=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=p+h+u+b+y,S=Math.min(_.offsetHeight*5,x),C=window.getComputedStyle(g),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Y,D=c-E,O=_.offsetHeight/2,k=_.offsetTop+O,j=p+h+k,M=x-j;if(j<=E){let e=o.length>0&&_===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-g.offsetTop-g.offsetHeight,n=j+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&_===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,p+g.offsetTop+(e?w:0)+O)+M;s.style.height=t+`px`,g.scrollTop=j-E+g.offsetTop}s.style.margin=`${Y}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>m.current=!0)}},[f,a.trigger,a.valueNode,s,l,g,_,v,a.dir,r]);T(()=>b(),[b]);let[x,S]=j.useState();return T(()=>{l&&S(window.getComputedStyle(l).zIndex)},[l]),(0,M.jsx)(xe,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:m,onScrollButtonChange:j.useCallback(e=>{e&&h.current===!0&&(b(),y?.(),h.current=!1)},[b,y]),children:(0,M.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:x},children:(0,M.jsx)(p.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});ve.displayName=_e;var ye=`SelectPopperPosition`,be=j.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Y,...a}=e,o=W(n);return(0,M.jsx)(c,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});be.displayName=ye;var[xe,Se]=H(J,{}),Ce=`SelectViewport`,we=j.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=X(Ce,n),s=Se(Ce,n),c=w(t,a.onViewportChange),l=j.useRef(0);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,M.jsx)(z.Slot,{scope:n,children:(0,M.jsx)(p.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:c,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:o(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r?.current&&n){let e=Math.abs(l.current-t.scrollTop);if(e>0){let r=window.innerHeight-Y*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}l.current=t.scrollTop})})})]})});we.displayName=Ce;var Te=`SelectGroup`,[Ee,De]=H(Te),Oe=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=l();return(0,M.jsx)(Ee,{scope:n,id:i,children:(0,M.jsx)(p.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});Oe.displayName=Te;var ke=`SelectLabel`,Ae=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=De(ke,n);return(0,M.jsx)(p.div,{id:i.id,...r,ref:t})});Ae.displayName=ke;var Z=`SelectItem`,[je,Me]=H(Z),Ne=j.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...s}=e,c=G(Z,n),u=X(Z,n),d=c.value===r,[f,m]=j.useState(a??``),[h,g]=j.useState(!1),_=w(t,e=>u.itemRefCallback?.(e,r,i)),v=l(),y=j.useRef(`touch`),b=()=>{i||(c.onValueChange(r),c.onOpenChange(!1))};if(r===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,M.jsx)(je,{scope:n,value:r,disabled:i,textId:v,isSelected:d,onItemTextChange:j.useCallback(e=>{m(t=>t||(e?.textContent??``).trim())},[]),children:(0,M.jsx)(z.ItemSlot,{scope:n,value:r,disabled:i,textValue:f,children:(0,M.jsx)(p.div,{role:`option`,"aria-labelledby":v,"data-highlighted":h?``:void 0,"aria-selected":d&&h,"data-state":d?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...s,ref:_,onFocus:o(s.onFocus,()=>g(!0)),onBlur:o(s.onBlur,()=>g(!1)),onClick:o(s.onClick,()=>{y.current!==`mouse`&&b()}),onPointerUp:o(s.onPointerUp,()=>{y.current===`mouse`&&b()}),onPointerDown:o(s.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:o(s.onPointerMove,e=>{y.current=e.pointerType,i?u.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:o(s.onPointerLeave,e=>{e.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:o(s.onKeyDown,e=>{u.searchRef?.current!==``&&e.key===` `||(te.includes(e.key)&&b(),e.key===` `&&e.preventDefault())})})})})});Ne.displayName=Z;var Q=`SelectItemText`,Pe=j.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=G(Q,n),s=X(Q,n),c=Me(Q,n),l=ie(Q,n),[u,d]=j.useState(null),f=w(t,e=>d(e),c.onItemTextChange,e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),m=u?.textContent,h=j.useMemo(()=>(0,M.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:g,onNativeOptionRemove:_}=l;return T(()=>(g(h),()=>_(h)),[g,_,h]),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(p.span,{id:c.textId,...a,ref:f}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?I.createPortal(a.children,o.valueNode):null]})});Pe.displayName=Q;var Fe=`SelectItemIndicator`,Ie=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Me(Fe,n).isSelected?(0,M.jsx)(p.span,{"aria-hidden":!0,...r,ref:t}):null});Ie.displayName=Fe;var Le=`SelectScrollUpButton`,Re=j.forwardRef((e,t)=>{let n=X(Le,e.__scopeSelect),r=Se(Le,e.__scopeSelect),[i,a]=j.useState(!1),o=w(t,r.onScrollButtonChange);return T(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,M.jsx)(Ve,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Re.displayName=Le;var ze=`SelectScrollDownButton`,Be=j.forwardRef((e,t)=>{let n=X(ze,e.__scopeSelect),r=Se(ze,e.__scopeSelect),[i,a]=j.useState(!1),o=w(t,r.onScrollButtonChange);return T(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,M.jsx)(Ve,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});Be.displayName=ze;var Ve=j.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=X(`SelectScrollButton`,n),s=j.useRef(null),c=B(n),l=j.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return j.useEffect(()=>()=>l(),[l]),T(()=>{c().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[c]),(0,M.jsx)(p.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:o(i.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(r,50))}),onPointerMove:o(i.onPointerMove,()=>{a.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(r,50))}),onPointerLeave:o(i.onPointerLeave,()=>{l()})})}),He=`SelectSeparator`,Ue=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,M.jsx)(p.div,{"aria-hidden":!0,...r,ref:t})});Ue.displayName=He;var We=`SelectArrow`,Ge=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=W(n),a=G(We,n),o=X(We,n);return a.open&&o.position===`popper`?(0,M.jsx)(h,{...i,...r,ref:t}):null});Ge.displayName=We;var Ke=`SelectBubbleInput`,qe=j.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=j.useRef(null),a=w(r,i),o=F(t);return j.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,M.jsx)(p.select,{...n,style:{...v,...n.style},ref:a,defaultValue:t})});qe.displayName=Ke;function Je(e){return e===``||e===void 0}function Ye(e){let t=m(e),n=j.useRef(``),r=j.useRef(0),i=j.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=j.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return j.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function Xe(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ze(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Ze(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Qe=ae,$e=q,et=se,tt=le,nt=de,$=fe,rt=we,it=Oe,at=Ae,ot=Ne,st=Pe,ct=Ie,lt=Re,ut=Be,dt=Ue,ft=Qe,pt=et,mt=`2rem`;function ht(e){return`min(${e}, max(0px, calc(var(--radix-select-content-available-height, 100vh) - ${mt})))`}var gt=ht(`24rem`),_t=j.forwardRef(({className:e,children:t,indicator:n,...r},a)=>(0,M.jsxs)($e,{ref:a,className:i(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-xl border border-border/75 bg-card px-3 py-2 text-sm text-foreground ring-offset-background placeholder:text-muted-foreground transition-colors focus:outline-none focus:ring-0 focus:border-border disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...r,children:[t,(0,M.jsx)(tt,{asChild:!0,children:n??(0,M.jsx)(O,{className:`h-4 w-4 opacity-50`})})]}));_t.displayName=$e.displayName;var vt=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(lt,{ref:n,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,M.jsx)(k,{className:`h-4 w-4`})}));vt.displayName=lt.displayName;var yt=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(ut,{ref:n,className:i(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,M.jsx)(O,{className:`h-4 w-4`})}));yt.displayName=ut.displayName;var bt=j.forwardRef(({className:e,children:t,collisionPadding:n=12,position:r=`popper`,style:a,viewportClassName:o,...s},c)=>(0,M.jsx)(nt,{children:(0,M.jsxs)($,{ref:c,className:i(`relative z-[var(--z-popover,10100)] flex max-h-96 min-w-[8rem] flex-col overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),collisionPadding:n,position:r,style:{maxHeight:gt,...a},...s,children:[(0,M.jsx)(vt,{}),(0,M.jsx)(rt,{className:i(`min-h-0 flex-1 overflow-y-auto overscroll-contain p-1`,r===`popper`&&`w-full min-w-[var(--radix-select-trigger-width)]`,o),children:t}),(0,M.jsx)(yt,{})]})}));bt.displayName=$.displayName;var xt=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(at,{ref:n,className:i(`px-2 py-1.5 text-sm font-semibold`,e),...t}));xt.displayName=at.displayName;var St=j.forwardRef(({className:e,children:t,...n},r)=>(0,M.jsxs)(ot,{ref:r,className:i(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 hover:bg-accent`,e),...n,children:[(0,M.jsx)(`span`,{className:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,M.jsx)(ct,{children:(0,M.jsx)(D,{className:`h-4 w-4`})})}),(0,M.jsx)(st,{children:t})]}));St.displayName=ot.displayName;var Ct=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(dt,{ref:n,className:i(`-mx-1 my-1 h-px bg-muted`,e),...t}));Ct.displayName=dt.displayName;export{O as C,k as S,lt as _,pt as a,et as b,it as c,ct as d,st as f,ut as g,Qe as h,_t as i,tt as l,nt as m,bt as n,ht as o,at as p,St as r,$ as s,ft as t,ot as u,dt as v,D as w,rt as x,$e as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,u as r}from"./react-5sjAT_6d.js";import{Ut as i}from"./api-BOXOrpcJ.js";var a=e(t(),1),o=n(),s=i(`flex items-start justify-between gap-4 rounded-xl border p-4`,{variants:{tone:{default:`border-gray-200 bg-white`,muted:`border-gray-200 bg-gray-50`}},defaultVariants:{tone:`default`}}),c=a.forwardRef(({className:e,tone:t,title:n,description:i,control:a,children:c,...l},u)=>(0,o.jsxs)(`div`,{ref:u,className:r(s({tone:t}),e),...l,children:[(0,o.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,o.jsx)(`div`,{className:`text-sm font-medium text-gray-900`,children:n}),i?(0,o.jsx)(`p`,{className:`text-sm leading-6 text-gray-500`,children:i}):null,c]}),a?(0,o.jsx)(`div`,{className:`shrink-0`,children:a}):null]}));c.displayName=`SettingRow`;export{c as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./dist-
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`Ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),n=e(`Settings2`,[[`path`,{d:`M20 7h-9`,key:`3s1dr2`}],[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]);export{t as n,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,u as t}from"./react-
|
|
1
|
+
import{p as e,u as t}from"./react-5sjAT_6d.js";import{c as n}from"./dist-DC7f4TJH.js";var r=n(`Sparkles`,[[`path`,{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`,key:`4pj2yx`}],[`path`,{d:`M20 3v4`,key:`1olli1`}],[`path`,{d:`M22 5h-4`,key:`1gvqau`}],[`path`,{d:`M4 17v2`,key:`vumght`}],[`path`,{d:`M5 18H3`,key:`zchphs`}]]),i=e();function a({className:e,...n}){return(0,i.jsx)(`div`,{className:t(`animate-pulse rounded-md bg-slate-200`,e),...n})}export{r as n,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,u as r}from"./react-5sjAT_6d.js";import{c as i}from"./dist-DC7f4TJH.js";var a=i(`Globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),o=i(`MessageSquare`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),s=i(`Settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),c={telegram:`telegram.svg`,slack:`slack.svg`,discord:`discord.svg`,whatsapp:`whatsapp.svg`,qq:`qq.svg`,feishu:`feishu.svg`,dingtalk:`dingtalk.svg`,wecom:`wecom.svg`,weixin:`weixin.svg`,email:`email.svg`};function l(e,t){let n=e[t.toLowerCase()];return n?`/logos/${n}`:null}function u(e){return l(c,e)}var d=e(t(),1),f=n(),p=d.createContext(null);function m({defaultValue:e,value:t,onValueChange:n,children:r}){return(0,f.jsx)(p.Provider,{value:{value:t,onValueChange:n},children:r})}function h({children:e,className:t}){return(0,f.jsx)(`div`,{className:r(`inline-flex h-9 items-center justify-center rounded-xl bg-muted p-1 text-muted-foreground`,t),children:e})}function g({value:e,children:t,className:n}){let i=d.useContext(p);if(!i)throw Error(`TabsTrigger must be used within Tabs`);let a=i.value===e;return(0,f.jsx)(`button`,{type:`button`,onClick:()=>i.onValueChange(e),"aria-pressed":a,"data-state":a?`active`:`inactive`,className:r(`inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-[13px] font-medium transition-all duration-fast focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border disabled:pointer-events-none disabled:opacity-50`,a?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:bg-accent hover:text-accent-foreground`,n),children:t})}function _({value:e,children:t,className:n}){let i=d.useContext(p);if(!i)throw Error(`TabsContent must be used within Tabs`);return i.value===e?(0,f.jsx)(`div`,{className:r(`mt-2 animate-fade-in`,n),children:t}):null}export{u as a,a as c,g as i,_ as n,s as o,h as r,o as s,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,p as n,u as r}from"./react-5sjAT_6d.js";import{Ut as i}from"./api-BOXOrpcJ.js";var a=e(t(),1),o=n(),s=i(`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-medium`,{variants:{tone:{subtle:`border-gray-200 bg-gray-50 text-gray-600`,neutral:`border-gray-200 bg-white text-gray-600`,success:`border-emerald-200 bg-emerald-50 text-emerald-700`,warning:`border-amber-200 bg-amber-50 text-amber-800`,danger:`border-rose-200 bg-rose-50 text-rose-600`,info:`border-primary/20 bg-primary/10 text-primary`}},defaultVariants:{tone:`subtle`}}),c=a.forwardRef(({className:e,tone:t,...n},i)=>(0,o.jsx)(`span`,{ref:i,className:r(s({tone:t}),e),...n}));c.displayName=`TagChip`;export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-5sjAT_6d.js";import{$ as t,H as n,I as r,J as i,Jt as a,K as o,Kt as s,Q as c,R as l,U as u,V as d,Y as f,an as p,at as m,et as h,it as g,nt as _,q as v,qt as y,rt as b,tt as x,z as S}from"./api-BOXOrpcJ.js";function C(){return a({queryKey:[`config`],queryFn:d,staleTime:3e4,refetchOnWindowFocus:!0})}function w(){return a({queryKey:[`config-meta`],queryFn:n,staleTime:1/0})}function T(){return a({queryKey:[`providers`],queryFn:v,staleTime:3e4,refetchOnWindowFocus:!0})}function E(){return a({queryKey:[`provider-templates`],queryFn:o,staleTime:1/0})}function D(){return a({queryKey:[`config-schema`],queryFn:u,staleTime:1/0})}function O(){let t=p();return y({mutationFn:x,onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),s.success(e(`configSaved`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function k(){let t=p();return y({mutationFn:({data:e})=>g(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),s.success(e(`configSavedApplied`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function A(){let t=p();return y({mutationFn:({provider:e,data:t})=>_(e,t),onSuccess:(n,r)=>{t.invalidateQueries({queryKey:[`providers`]}),t.invalidateQueries({queryKey:[`config`]}),r.silentSuccess||s.success(e(`configSaved`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function j(){let t=p();return y({mutationFn:({data:e})=>r(e??{}),onSuccess:()=>{t.invalidateQueries({queryKey:[`providers`]}),t.invalidateQueries({queryKey:[`config`]}),s.success(e(`configSaved`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function M(){let t=p();return y({mutationFn:({provider:e})=>l(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`providers`]}),t.invalidateQueries({queryKey:[`config`]}),s.success(e(`configSaved`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function N(){return y({mutationFn:({provider:e,data:n})=>t(e,n)})}function P(){return y({mutationFn:({provider:e,data:t})=>c(e,t)})}function F(){return y({mutationFn:({provider:e,data:t})=>f(e,t)})}function I(){return y({mutationFn:({provider:e})=>i(e)})}function L(){let t=p();return y({mutationFn:({channel:e,data:t})=>h(e,t),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),t.invalidateQueries({queryKey:[`config-meta`]}),s.success(e(`configSavedApplying`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function R(){let t=p();return y({mutationFn:({data:e})=>b(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),s.success(e(`configSavedApplied`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function z(){let t=p();return y({mutationFn:({data:e})=>m(e),onSuccess:()=>{t.invalidateQueries({queryKey:[`config`]}),s.success(e(`configSavedApplied`))},onError:t=>{s.error(e(`configSaveFailed`)+`: `+t.message)}})}function B(){return y({mutationFn:({actionId:e,data:t})=>S(e,t),onError:t=>{s.error(e(`error`)+`: `+t.message)}})}export{k as _,M as a,F as c,P as d,N as f,R as g,A as h,j as i,E as l,O as m,w as n,B as o,L as p,D as r,I as s,C as t,T as u,z as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{a as t,c as n,h as r,l as i,p as a,r as o,s,u as c}from"./react-5sjAT_6d.js";import{Ut as l}from"./api-BOXOrpcJ.js";import{c as u}from"./dist-DC7f4TJH.js";import{t as d}from"./confirm-dialog-GSXIvoRU.js";import"./doc-browser-D0monHjG.js";import{m as f,n as p}from"./doc-browser-context-CGwEOhBy.js";var m=u(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),h=u(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),g=e(r(),1),_=a(),v=l(`rounded-2xl border px-4 py-3`,{variants:{tone:{neutral:`border-gray-200 bg-gray-50 text-gray-900`,success:`border-emerald-200 bg-emerald-50 text-emerald-900`,warning:`border-amber-200 bg-amber-50 text-amber-900`,danger:`border-rose-200 bg-rose-50 text-rose-700`,info:`border-primary/20 bg-primary/10 text-primary`},borderStyle:{solid:``,dashed:`border-dashed`}},defaultVariants:{tone:`neutral`,borderStyle:`solid`}}),y={neutral:`text-gray-900`,success:`text-emerald-800`,warning:`text-amber-900`,danger:`text-rose-700`,info:`text-primary`},b={neutral:`text-gray-600`,success:`text-emerald-700`,warning:`text-amber-800`,danger:`text-rose-700`,info:`text-primary/90`},x=g.forwardRef(({className:e,tone:t=`neutral`,borderStyle:n=`solid`,title:r,description:i,icon:a,actions:o,children:s,...l},u)=>{let d=t??`neutral`,f=!!r||!!i||!!a||!!o;return(0,_.jsxs)(`div`,{ref:u,className:c(v({tone:d,borderStyle:n}),e),...l,children:[f?(0,_.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,_.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,_.jsxs)(`div`,{className:`flex items-start gap-2`,children:[a?(0,_.jsx)(`div`,{className:`mt-0.5 shrink-0`,children:a}):null,(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[r?(0,_.jsx)(`p`,{className:c(`text-sm font-medium`,y[d]),children:r}):null,i?(0,_.jsx)(`p`,{className:c(r?`mt-1`:``,`text-sm leading-6`,b[d]),children:i}):null]})]})}),o?(0,_.jsx)(`div`,{className:`shrink-0`,children:o}):null]}):null,s?(0,_.jsx)(`div`,{className:c(f?`mt-3`:``),children:s}):null]})});x.displayName=`NoticeCard`;function S(){let e=p();(0,g.useEffect)(()=>{let t=t=>{let n=t.target.closest(`a[href]`);if(!n)return;let r=n.getAttribute(`href`)||``;f(r)&&(n.hasAttribute(`data-doc-external`)||t.ctrlKey||t.metaKey||t.shiftKey||(t.preventDefault(),t.stopPropagation(),e.open(r)))};return document.addEventListener(`click`,t,!0),()=>document.removeEventListener(`click`,t,!0)},[e])}var C=(0,g.createContext)(null);function w({children:e}){let[r,a]=(0,g.useState)(()=>s());(0,g.useEffect)(()=>i(e=>{a(e)}),[]);let o=(0,g.useCallback)(e=>{n(e),a(t())},[]),c=(0,g.useCallback)(()=>{o(r===`en`?`zh`:`en`)},[r,o]),l=(0,g.useMemo)(()=>({language:r,setLanguage:o,toggleLanguage:c}),[r,o,c]);return(0,_.jsx)(C.Provider,{value:l,children:e})}function T(){let e=(0,g.useContext)(C);if(!e)throw Error(`useI18n must be used within I18nProvider`);return{...e,t:o}}var E={open:!1,title:``,description:``,confirmLabel:o(`confirm`),cancelLabel:o(`cancel`),variant:`default`,resolve:null};function D(){let[e,t]=(0,g.useState)(E),n=(0,g.useCallback)(e=>new Promise(n=>{t({open:!0,title:e.title,description:e.description??``,confirmLabel:e.confirmLabel??o(`confirm`),cancelLabel:e.cancelLabel??o(`cancel`),variant:e.variant??`default`,resolve:e=>{n(e),t(e=>({...e,open:!1,resolve:null}))}})}),[]),r=(0,g.useCallback)(e=>{t(t=>(!e&&t.resolve&&t.resolve(!1),{...t,open:e,resolve:e?t.resolve:null}))},[]);return{confirm:n,ConfirmDialog:(0,g.useCallback)(()=>(0,_.jsx)(d,{open:e.open,onOpenChange:r,title:e.title,description:e.description||void 0,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,variant:e.variant,onConfirm:()=>e.resolve?.(!0),onCancel:()=>e.resolve?.(!1)}),[e,r])}}export{x as a,S as i,w as n,h as o,T as r,m as s,D as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./chunk-DseTPa7n.js";import{h as t,t as n}from"./react-5sjAT_6d.js";import{c as r}from"./dist-DC7f4TJH.js";import{n as i,t as a}from"./middleware-BLMHv9YF.js";var o=r(`KeyRound`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),s=`nextclaw.app.viewport-layout`,c=1;function l(e){return typeof e!=`number`||!Number.isFinite(e)?`desktop`:e<=767?`mobile`:`desktop`}function u(){let e=typeof window>`u`?null:window.innerWidth??null;return{mode:l(e),width:e,isSidebarCollapsed:!1}}function d(e){if(!e||typeof e!=`object`)return null;let{isSidebarCollapsed:t}=e;return typeof t==`boolean`?t:null}var f=n()(i(()=>u(),{name:s,version:c,storage:a(()=>window.localStorage),partialize:e=>({isSidebarCollapsed:e.isSidebarCollapsed}),merge:(e,t)=>{let n=d(e);return n===null?t:{...t,isSidebarCollapsed:n}}})),p=new class{constructor(){this.consumerCount=0,this.started=!1,this.attach=()=>(this.consumerCount+=1,this.consumerCount===1&&this.start(),()=>{this.consumerCount=Math.max(0,this.consumerCount-1),this.consumerCount===0&&this.stop()}),this.start=()=>{this.started||typeof window>`u`||(this.started=!0,window.addEventListener(`resize`,this.handleViewportChange),window.addEventListener(`orientationchange`,this.handleViewportChange),this.syncFromWindow())},this.stop=()=>{!this.started||typeof window>`u`||(window.removeEventListener(`resize`,this.handleViewportChange),window.removeEventListener(`orientationchange`,this.handleViewportChange),this.started=!1)},this.getSnapshot=()=>f.getState(),this.setSidebarCollapsed=e=>{f.setState({isSidebarCollapsed:e})},this.collapseSidebarForDenseRightPanels=e=>{if(!e.isDocBrowserOpen||!e.isDocBrowserDocked||!e.isWorkspacePanelOpen)return;let t=this.getSnapshot();if(t.mode!==`desktop`||t.isSidebarCollapsed)return;let n=typeof t.width==`number`?t.width:typeof window>`u`?null:window.innerWidth;typeof n!=`number`||!Number.isFinite(n)||n>1800||this.setSidebarCollapsed(!0)},this.toggleSidebarCollapsed=()=>{f.setState(e=>({isSidebarCollapsed:!e.isSidebarCollapsed}))},this.resetForTests=()=>{this.consumerCount=0,this.stop(),f.setState(u())},this.handleViewportChange=()=>{this.syncFromWindow()},this.syncFromWindow=()=>{if(typeof window>`u`)return;let e=window.innerWidth??null;f.setState({width:e,mode:l(e)})}}},m=e(t(),1);function h(){return(0,m.useEffect)(()=>p.attach(),[]),{isMobile:f(e=>e.mode)===`mobile`}}export{o as i,p as n,f as r,h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./dist-DC7f4TJH.js";var t=e(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
|