@jetcrab/pi-desk 1.1.20-dev → 1.1.22-dev
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/docs/plugins.md +81 -1
- package/package.json +3 -3
- package/src/app/page.tsx +6 -1
- package/src/app/project-preview/page.tsx +10 -0
- package/src/client/l1_entry/pages/l1-home-page.tsx +30 -0
- package/src/client/l1_entry/pages/l1-project-preview-page.tsx +33 -0
- package/src/client/l1_entry/providers/l1-app-providers.tsx +18 -15
- package/src/client/l1_entry/providers/l1-app-runtime-provider.tsx +2 -2
- package/src/client/l2_biz/auth/l2-login-biz.ts +3 -0
- package/src/client/l2_biz/auth/l2-login.tsx +2 -3
- package/src/client/l2_biz/plugin-host/l2-plugin-capability-details.tsx +6 -1
- package/src/client/l2_biz/plugin-host/l2-plugin-contribution-host.tsx +71 -10
- package/src/client/l2_biz/plugin-host/l2-plugin-management-controls.tsx +9 -0
- package/src/client/l2_biz/plugin-host/l2-plugin-session-header-layout.ts +18 -0
- package/src/client/l2_biz/plugin-host/l2-plugin-session-header.tsx +247 -0
- package/src/client/l2_biz/plugin-host/l2-plugin-widgets.tsx +50 -0
- package/src/client/l2_biz/plugin-host/views/l2-plugin-session-header-action.tsx +112 -0
- package/src/client/l2_biz/project-preview/hooks/l2-use-project-picker.ts +76 -0
- package/src/client/l2_biz/project-preview/hooks/l2-use-project-preview.ts +214 -0
- package/src/client/l2_biz/project-preview/l2-project-preview-biz.ts +49 -4
- package/src/client/l2_biz/project-preview/l2-project-preview-dialog.tsx +42 -450
- package/src/client/l2_biz/project-preview/l2-project-preview-page.tsx +61 -0
- package/src/client/l2_biz/project-preview/l2-project-preview.tsx +342 -0
- package/src/client/l2_biz/project-preview/runtime/l2-project-history-runtime.ts +9 -3
- package/src/client/l2_biz/project-preview/views/l2-project-picker.tsx +168 -0
- package/src/client/l2_biz/settings/hooks/l2-use-model-settings.ts +34 -31
- package/src/client/l2_biz/settings/views/l2-model-replacement-preview.tsx +7 -1
- package/src/client/l2_biz/workbench/file-workspace/l2-project-preview-biz.ts +4 -3
- package/src/client/l2_biz/workbench/hooks/l2-workbench-chat-viewport.ts +28 -21
- package/src/client/l2_biz/workbench/l2-work-session-columns.module.css +32 -0
- package/src/client/l2_biz/workbench/l2-work-session-columns.tsx +55 -16
- package/src/client/l2_biz/workbench/l2-work-session-sidebar.tsx +19 -8
- package/src/client/l2_biz/workbench/l2-workbench-chat-composer.tsx +12 -1
- package/src/client/l2_biz/workbench/l2-workbench-initialization-notice.tsx +8 -3
- package/src/client/l2_biz/workbench/l2-workbench-plugin-slots.ts +13 -0
- package/src/client/l2_biz/workbench/l2-workbench.tsx +15 -2
- package/src/client/l3_modules/conversation/l3-conversation-viewport.tsx +12 -6
- package/src/client/l3_modules/project-files/l3-markdown-preview.module.css +1 -1
- package/src/client/l3_modules/project-files/l3-project-document-git.ts +4 -3
- package/src/client/l3_modules/project-files/l3-project-document-view.tsx +4 -1
- package/src/client/l3_modules/project-files/l3-project-reader.ts +23 -35
- package/src/client/l4_foundation/lib/l4-client-id.tsx +11 -0
- package/src/client/l4_foundation/plugin-host/l4-plugin-host-runtime.ts +316 -35
- package/src/common/l2_biz/auth/l2-auth-return-to.ts +41 -0
- package/src/common/l2_biz/model-settings/l2-model-settings-contract.ts +5 -1
- package/src/common/l2_biz/plugin/l2-plugin-management-messages.ts +4 -0
- package/src/common/l2_biz/project-preview/l2-project-history-messages.ts +28 -0
- package/src/common/l2_biz/project-preview/l2-project-preview-navigation.ts +5 -0
- package/src/common/l2_biz/settings/l2-settings-messages.ts +4 -3
- package/src/common/l2_biz/workbench/l2-workbench-locale-messages.ts +2 -0
- package/src/server/l1_entry/node/l1-server.ts +8 -4
- package/src/server/l4_foundation/model-settings/l4-model-settings-store.ts +29 -20
- package/src/server/l4_foundation/model-settings/l4-model-settings-types.ts +1 -1
- package/src/server/l4_foundation/pi/l4-pi-chat-worker.ts +22 -5
- package/src/server/l4_foundation/pi/l4-pi-plugin-owner-runtime.ts +133 -13
- package/src/server/l4_foundation/pi/l4-pi-session-initialization.ts +9 -0
- package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
- package/temp/build/pi-desk/release/.next/app-path-routes-manifest.json +3 -2
- package/temp/build/pi-desk/release/.next/build-manifest.json +3 -3
- package/temp/build/pi-desk/release/.next/react-loadable-manifest.json +1 -2
- package/temp/build/pi-desk/release/.next/required-server-files.js +2 -2
- package/temp/build/pi-desk/release/.next/required-server-files.json +2 -2
- package/temp/build/pi-desk/release/.next/routes-manifest.json +6 -0
- package/temp/build/pi-desk/release/.next/server/app/_global-error/page.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
- package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +3 -3
- package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
- package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +3 -3
- package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/temp/build/pi-desk/release/.next/server/app/_not-found/page.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/auth/login/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/auth/logout/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/auth-settings/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/auth-settings/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/capability-modes/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/capability-modes/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/chat/context/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/chat/images/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/chat/messages/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/mcp-check/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/del/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/model-catalog/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/model-settings/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/model-settings/preview/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/model-settings/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/directories/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-entries/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-ignores/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-ignores/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/models/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/session-user-messages/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/pi/sessions/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/search/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/settings-get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/settings-replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/add/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/apply/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/batch/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/browser-resources/[resourceGroup]/[...resourcePath]/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/del/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/enabled-set/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/host-runtime/[runtimeVersion]/[...resourcePath]/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/reload/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/plugins/update/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-files/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-files/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-files/reveal/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-files/search/route.js +2 -2
- package/temp/build/pi-desk/release/.next/server/app/api/project-git/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-git-branches/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-git-changes/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-git-diff/get/route.js +2 -2
- package/temp/build/pi-desk/release/.next/server/app/api/project-git-heads/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-git-log/list/route.js +2 -2
- package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/skill-files/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/skill-files/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/skill-files/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/skills/list/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/task-center/images/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/task-center/messages/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-session-git-branch/add/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-session-git-branch/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-session-tree/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-session-tree-entry/get/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/add/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/branch/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/del/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/rename/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/replace/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/sort/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/favicon.ico/route.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/login/page.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/page.js +140 -140
- package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/app/project-preview/page.js +1 -0
- package/temp/build/pi-desk/release/.next/server/app/project-preview/page_client-reference-manifest.js +1 -0
- package/temp/build/pi-desk/release/.next/server/app-paths-manifest.json +3 -2
- package/temp/build/pi-desk/release/.next/server/chunks/10912.js +2 -2
- package/temp/build/pi-desk/release/.next/server/chunks/20460.js +15 -0
- package/temp/build/pi-desk/release/.next/server/chunks/25406.js +8 -8
- package/temp/build/pi-desk/release/.next/server/chunks/35985.js +3 -17
- package/temp/build/pi-desk/release/.next/server/chunks/36361.js +1 -1
- package/temp/build/pi-desk/release/.next/server/chunks/48180.js +1 -1
- package/temp/build/pi-desk/release/.next/server/chunks/56830.js +235 -0
- package/temp/build/pi-desk/release/.next/server/chunks/78262.js +1 -1
- package/temp/build/pi-desk/release/.next/server/chunks/79686.js +62 -0
- package/temp/build/pi-desk/release/.next/server/chunks/80780.js +1 -0
- package/temp/build/pi-desk/release/.next/server/chunks/81363.js +1 -1
- package/temp/build/pi-desk/release/.next/server/chunks/82499.js +4 -4
- package/temp/build/pi-desk/release/.next/server/chunks/92386.js +8 -8
- package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
- package/temp/build/pi-desk/release/.next/static/MV6_lBt7Mzmi1rBNI-3dx/_buildManifest.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/11937-1d0a9822f2c7995b.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/14825-5579aed34a631ad7.js +62 -0
- package/temp/build/pi-desk/release/.next/static/chunks/15302-9c807afc6c60de0c.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/19991.8aa2e4b6df15fad6.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/22092-6d1bfbefa825ec03.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/37313-d5970e2d0c270d22.js +238 -0
- package/temp/build/pi-desk/release/.next/static/chunks/57235-03ba1044f22b6c84.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/79267-7d21d7cdbd7cfca1.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/82371-f7ba4a07a5dbcf34.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/9038-03144ed96d613f75.js +15 -0
- package/temp/build/pi-desk/release/.next/static/chunks/app/{error-0296a3b20cd1bf00.js → error-216b14b5da089ed3.js} +1 -1
- package/temp/build/pi-desk/release/.next/static/chunks/app/layout-20718f1503910291.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/app/login/page-0d3d4827802108e5.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/app/{not-found-2aab8b33ebbf3257.js → not-found-720cdf6a606b821a.js} +1 -1
- package/temp/build/pi-desk/release/.next/static/chunks/app/page-e8a5274c115f528d.js +158 -0
- package/temp/build/pi-desk/release/.next/static/chunks/app/project-preview/page-d70ee4e9409b970a.js +1 -0
- package/temp/build/pi-desk/release/.next/static/chunks/webpack-b60891a214e0925d.js +1 -0
- package/temp/build/pi-desk/release/.next/static/css/{250a6b93cc2222d1.css → 1e780a4936aa6ba3.css} +1 -1
- package/temp/build/pi-desk/release/.next/static/css/f646ca6c07245c4c.css +1 -0
- package/temp/build/pi-desk/release/.next/trace-build +1 -1
- package/temp/build/pi-desk/release/.next/server/chunks/10881.js +0 -296
- package/temp/build/pi-desk/release/.next/static/RLKcK-RQF5FvEeDmS9uih/_buildManifest.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/27611-0890482fe76bd9d6.js +0 -238
- package/temp/build/pi-desk/release/.next/static/chunks/31087-d8e5765d541d5c26.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/3814-35cfab0ce3aa7c41.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/70669.07f3670bfb7d6dd2.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/74220-795a2e7185bd66cb.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/77592-5bef6acb8e7c4b96.js +0 -13
- package/temp/build/pi-desk/release/.next/static/chunks/78923-17a9c337b29dcecd.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/81881-f11dbe7dc0d04ed9.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/96995-8f8313ea2ac3abd7.js +0 -62
- package/temp/build/pi-desk/release/.next/static/chunks/app/layout-a50c456648537afb.js +0 -3
- package/temp/build/pi-desk/release/.next/static/chunks/app/login/page-84892b06243891f0.js +0 -1
- package/temp/build/pi-desk/release/.next/static/chunks/app/page-0789c43551b29dd2.js +0 -158
- package/temp/build/pi-desk/release/.next/static/chunks/webpack-d7248206b7fc7ba8.js +0 -1
- package/temp/build/pi-desk/release/.next/static/css/a4cf28fd76c70165.css +0 -1
- /package/temp/build/pi-desk/release/.next/static/{RLKcK-RQF5FvEeDmS9uih → MV6_lBt7Mzmi1rBNI-3dx}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[31087],{35842:(e,t,n)=>{n.d(t,{X:()=>g});var i=n(7962),s=n(49762),r=n(49362),a=n(24121),l=n(86758),o=n(69266),c=n(78121),d=n(49426),u=n(86963),f=n(1364),p=n(73165),h=n(35989);let m=[{scope:"current",label:"closeTab"},{scope:"others",label:"closeOtherTabs"},{scope:"right",label:"closeRightTabs"},{scope:"left",label:"closeLeftTabs"},{scope:"all",label:"closeAllTabs"}];function x(e,t){let n=e.replaceAll("\\","/").split("/"),i=n.at(-1)??e;return t.some(t=>t!==e&&t.split("/").at(-1)===i)&&n.length>1?n.slice(-2).join("/"):i}function g({cwd:e,gitRuntime:t,paths:n,activePath:v,diffPath:b,mobile:w,onActivate:j,onClose:y}){let{t:C}=(0,c.Bd)("projectFiles");(0,o.useSyncExternalStore)(t.subscribe,t.getRevision,t.getRevision);let k=t.getWorkspace(e)?.snapshot,N=(0,o.useRef)(null),S=(0,o.useRef)(!1),[E,D]=(0,o.useState)(!1),[A,R]=(0,o.useState)(!1),[z,L]=(0,o.useState)([]),M=(w?2:3)*36,T=n.map(e=>({path:e,label:x(e,n),title:e}));b&&T.push({path:null,label:`${x(b,n)} \xb7 Diff`,title:b});let F=b?null:v;return((0,o.useLayoutEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let t=Array.from(e.children).filter(e=>e instanceof HTMLElement).flatMap((e,t)=>e.offsetTop>=M?[t]:[]);L(e=>e.join(",")===t.join(",")?e:t),R(e.scrollHeight>M);let n=e.querySelector('[aria-selected="true"]')?.closest("[data-file-tab]");n&&n.offsetTop>=M&&D(!0)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[F,b,M,n]),0===T.length)?null:(0,i.jsxs)("div",{className:"shrink-0 border-b bg-muted","data-testid":"file-tabs",children:[(0,i.jsx)("div",{className:"overflow-hidden",style:{maxHeight:E?void 0:M},children:(0,i.jsx)("div",{ref:N,role:"tablist","aria-label":C("openFiles"),className:"relative flex flex-wrap content-start items-start",children:T.map((t,n)=>{let a=!E&&z.includes(n),l=t.path===F,o=t.path&&k?.status==="ready"?(0,h.lN)(e,t.path,k.repositories)?.change:void 0,c=null===t.path?C("closeDiff",{name:t.title.split("/").at(-1)}):C("closeFile",{name:t.title.split("/").at(-1)});return(0,i.jsxs)(f.tz,{onOpenChange:(e,t)=>{e&&"pointerType"in t.event&&"touch"===t.event.pointerType&&(S.current=!0)},children:[(0,i.jsxs)(f.Rc,{render:(0,i.jsx)("div",{"data-file-tab":!0,"data-testid":null===t.path?`file-diff-tab-${t.title}`:`file-tab-${t.path}`,"aria-hidden":a||void 0,inert:a||void 0,title:t.title,className:(0,d.cn)("flex h-9 max-w-full items-center border-r border-b text-sm",w?"w-[min(50%,12rem)]":"max-w-60",a&&"invisible",l?"bg-background text-foreground shadow-[inset_0_-2px_0_var(--primary)]":"text-muted-foreground"),onPointerDown:e=>{"touch"===e.pointerType&&(S.current=!1)}}),children:[(0,i.jsxs)("button",{type:"button",role:"tab","aria-selected":l,className:"flex h-9 min-w-0 flex-1 cursor-pointer items-center gap-2 pl-3 pr-1 outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",onClick:()=>{if(S.current){S.current=!1;return}null!==t.path&&j(t.path)},onKeyDown:e=>{if("F10"===e.key&&e.shiftKey){e.preventDefault(),e.stopPropagation();let t=e.currentTarget.closest('[data-slot="context-menu-trigger"]');if(t){let e=t.getBoundingClientRect();t.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,clientX:e.left+e.width/2,clientY:e.top+e.height/2}))}return}let t="ArrowRight"===e.key||"ArrowDown"===e.key?1:"ArrowLeft"===e.key||"ArrowUp"===e.key?-1:0;if(!t)return;e.preventDefault();let i=(n+t+T.length)%T.length;D(!0);let s=N.current?.querySelectorAll('[role="tab"]');s?.[i]?.focus({preventScroll:!0})},children:[(0,i.jsx)(s.A,{className:"size-3.5 shrink-0"}),(0,i.jsx)("span",{className:(0,d.cn)("truncate",o&&(0,h.iH)(o)),children:t.label}),o?(0,i.jsx)("span",{className:(0,d.cn)("shrink-0 text-xs",(0,h.iH)(o)),"aria-label":C("gitStatus",{status:(0,h.XB)(o)}),children:(0,h.XB)(o)}):null]}),(0,i.jsx)(u.$,{variant:"ghost",size:"icon","data-testid":null===t.path?`file-diff-tab-close-${t.title}`:`file-tab-close-${t.path}`,"aria-label":c,onClick:e=>{if(e.stopPropagation(),S.current){S.current=!1;return}y(t.path,"current")},children:(0,i.jsx)(r.A,{className:"size-3.5"})})]}),(0,i.jsx)(p.D,{children:m.map(({scope:e,label:s})=>(0,i.jsxs)("span",{children:["all"===e?(0,i.jsx)(f.K5,{}):null,(0,i.jsx)(f.kt,{disabled:"others"===e?T.length<=1:"left"===e?0===n:"right"===e&&n===T.length-1,onClick:()=>{S.current=!1,y(t.path,e)},children:C(s)})]},e))})]},t.path??"diff")})})}),A?(0,i.jsxs)(u.$,{variant:"ghost",className:"w-full rounded-none text-muted-foreground","aria-expanded":E,onClick:()=>D(e=>!e),children:[E?(0,i.jsx)(a.A,{className:"size-3.5"}):(0,i.jsx)(l.A,{className:"size-3.5"}),E?C("collapseTabs"):C("expandTabs",{count:T.length})]}):null]})}},73068:(e,t,n)=>{n.d(t,{R:()=>M});var i=n(7962),s=n(31123),r=n(28436),a=n(60278),l=n(55628),o=n(47974),c=n(90680),d=n(3433),u=n(41148),f=n(15824),p=n(35995),h=n(49762),m=n(14044),x=n(69266),g=n(78121),v=n(99084),b=n(90504),w=n(91182),j=n(18302),y=n(33550);let C=(0,x.forwardRef)(function({original:e,modified:t,viewMode:n,onEscape:s,savedState:r,onSaveState:a,initialLine:l},o){let{t:c}=(0,g.Bd)("common"),{wrapLines:d,collapseUnchanged:u}=(0,y.TX)(),f=(0,x.useRef)(null),p=(0,x.useRef)(null),h=(0,x.useRef)({viewMode:n,wrapLines:d,collapseUnchanged:u}),v=(0,x.useRef)(s),b=(0,x.useRef)(r),C=(0,x.useRef)(a),k=(0,x.useRef)(l);(0,x.useEffect)(()=>{v.current=s,b.current=r,C.current=a,k.current=l},[l,s,a,r]);let[N,S]=(0,x.useState)("loading"),[E,D]=(0,x.useState)(null);return(0,x.useEffect)(()=>{h.current={viewMode:n,wrapLines:d,collapseUnchanged:u}},[u,n,d]),(0,x.useImperativeHandle)(o,()=>({previousChange(){p.current?.goToDiff("previous")},nextChange(){p.current?.goToDiff("next")},focus(){p.current?.getModifiedEditor().focus()}}),[]),(0,x.useEffect)(()=>{let n=f.current;if(!n)return;let i=!0,s=null,r=null,a=null,l=()=>void 0,o=()=>void 0,d=[];return queueMicrotask(()=>{i&&(S("loading"),D(null))}),(0,w.cu)().then(u=>{if(!i)return;r=u.editor.createModel(e.content,(0,w.ix)(e.path,new TextEncoder().encode(e.content).length),(0,w.B3)(u,e.path,"diff-original")),a=u.editor.createModel(t.content,(0,w.ix)(t.path,new TextEncoder().encode(t.content).length),(0,w.B3)(u,t.path,"diff-modified"));let f=h.current;s=u.editor.createDiffEditor(n,{theme:(0,w.dC)(),readOnly:!0,domReadOnly:!0,editContext:!1,originalEditable:!1,automaticLayout:!0,renderSideBySide:"side-by-side"===f.viewMode,useInlineViewWhenSpaceIsLimited:!1,enableSplitViewResizing:!0,diffAlgorithm:"advanced",ignoreTrimWhitespace:!1,maxComputationTime:5e3,hideUnchangedRegions:f.collapseUnchanged?{enabled:!0,revealLineCount:3,minimumLineCount:6,contextLineCount:3}:{enabled:!1},minimap:{enabled:!1},stickyScroll:{enabled:!1},scrollBeyondLastLine:!1,smoothScrolling:!0,diffWordWrap:f.wrapLines?"on":"off",wrappingIndent:"same",...(0,w.R)(),lineNumbersMinChars:3,renderValidationDecorations:"off",renderWhitespace:"selection",unicodeHighlight:{nonBasicASCII:!1},padding:{top:10,bottom:10},overviewRulerBorder:!1,contextmenu:!0,ariaLabel:c("gitDiffReadOnly")});let m=k.current,x=!1;d.push(s.onDidUpdateDiff(()=>{if(!i||!s)return;let e=s.getLineChanges();if(D(e?.length??null),!x&&null!==e&&void 0!==m){x=!0;let e=Math.max(1,Math.min(m,a?.getLineCount()??1)),t=s.getModifiedEditor();t.setPosition({lineNumber:e,column:1}),t.revealLineInCenter(e)}})),s.setModel({original:r,modified:a}),void 0===m&&b.current&&s.restoreViewState(b.current);let g=()=>C.current?.(s?.saveViewState()??null);d.push(s.getOriginalEditor().onDidScrollChange(g),s.getModifiedEditor().onDidScrollChange(g)),v.current&&((0,j.e)(s.getOriginalEditor(),u.KeyCode.Escape,()=>v.current?.()),(0,j.e)(s.getModifiedEditor(),u.KeyCode.Escape,()=>v.current?.())),p.current=s,l=(0,w.Tr)(e=>u.editor.setTheme(e)),o=(0,w.BK)(e=>s?.updateOptions(e)),S("ready")}).catch(n=>{i&&(console.error("[Pi Desk][CodeDiff] Monaco 加载失败",{originalPath:e.path,modifiedPath:t.path,errorName:n instanceof Error?n.name:"UnknownError"}),S("error"))}),()=>{for(let e of(i=!1,l(),o(),C.current?.(s?.saveViewState()??null),d))e.dispose();p.current=null,s?.setModel(null),s?.dispose(),window.setTimeout(()=>{r?.dispose(),a?.dispose()},0)}},[t.content,t.path,e.content,e.path,c]),(0,x.useEffect)(()=>{p.current?.updateOptions({renderSideBySide:"side-by-side"===n,diffWordWrap:d?"on":"off",hideUnchangedRegions:u?{enabled:!0,revealLineCount:3,minimumLineCount:6,contextLineCount:3}:{enabled:!1}}),"side-by-side"===n&&p.current?.getOriginalEditor().updateOptions({wordWrapOverride2:"inherit"})},[u,n,d]),(0,i.jsxs)("div",{"data-testid":"code-diff",className:"relative flex h-full min-h-0 w-full flex-col overflow-hidden bg-background",children:[(0,i.jsx)("div",{ref:f,className:"min-h-0 flex-1"}),(0,i.jsx)("div",{role:"status","aria-label":c("diffStatus"),className:"flex min-h-6 shrink-0 items-center justify-end border-t px-3 text-xs text-muted-foreground",children:null===E?c("diffCalculating"):c("diffCount",{count:E})}),"loading"===N?(0,i.jsxs)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center gap-2 bg-background text-sm text-muted-foreground",children:[(0,i.jsx)(m.A,{className:"size-4 animate-spin"})," ",c("diffLoading")]}):null,"error"===N?(0,i.jsx)("div",{className:"absolute inset-0 flex items-center justify-center p-6 text-center text-sm text-destructive",children:c("diffFailed")}):null]})});var k=n(58840),N=n(51821),S=n(86963),E=n(35989),D=n(32892);function A({label:e,onClick:t,active:n=!1,children:s}){return(0,i.jsxs)(D.m_,{children:[(0,i.jsx)(D.k$,{render:(0,i.jsx)(S.$,{type:"button",size:"icon-sm",variant:"ghost","aria-label":e,"aria-pressed":n||void 0,onPointerDown:e=>e.preventDefault(),onClick:t}),children:s}),(0,i.jsx)(D.ZI,{children:e})]})}var R=n(36510),z=n(46487),L=n(97921);function M({ref:e,runtime:t,gitRuntime:n,compact:m,visible:w=!0,onEscape:j,onSwitchPane:D}){let F,O,B,U,W,$,P,{t:I}=(0,g.Bd)("projectFiles"),{wrapLines:V,diffViewMode:_,collapseUnchanged:H}=(0,y.TX)();(0,x.useSyncExternalStore)(t.subscribe,t.getRevision,t.getRevision);let{activeDiff:K,activePath:X}=t.state,q=!K&&X?t.state.documents.get(X):null,G=X?(0,L.g)(X):null,Y=q?.status==="text"&&(!G||"source"===q.viewMode),Z=(0,x.useRef)(null),J=(0,x.useRef)(null),Q=(0,x.useRef)(null),ee=(0,x.useRef)(null),et=(0,N.G)();(0,x.useImperativeHandle)(e,()=>({focus(){Y?J.current?.focus():K?Q.current?.focus():Z.current?.querySelector('[data-testid="markdown-preview"]')?.focus()}}),[K,Y]),(0,x.useEffect)(()=>{let e=e=>{ee.current&&e.source===ee.current.contentWindow&&("pi-desk:file-escape"===e.data&&j(),"pi-desk:file-switch-pane"===e.data&&D?.())};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[j,D]);let en=()=>{X&&J.current&&t.saveEditorState(X,J.current.getViewState())},{refresh:ei,unavailable:es}=((0,x.useSyncExternalStore)(n.subscribe,n.getRevision,n.getRevision),F=n.getWorkspace(t.cwd)?.snapshot,O=t.state.activePath,B=!!t.state.activeDiff,U=O?t.state.documents.get(O):void 0,W=(0,x.useRef)(en),(0,x.useEffect)(()=>{W.current=en},[en]),$=(0,x.useCallback)(()=>{O&&!B&&(W.current(),t.reloadFile(O),n.refreshSnapshot(t.cwd))},[B,n,O,t]),(0,x.useEffect)(()=>{if(!w||!O||B)return;let e=()=>"visible"===window.document.visibilityState&&!!Z.current?.getClientRects().length&&!Z.current?.closest('[inert], [aria-hidden="true"]'),i=Date.now();e()&&(t.state.documents.get(O)?.status==="text"&&(W.current(),t.reloadFile(O)),n.refreshSnapshot(t.cwd));let s=()=>{!e()||Date.now()-i<1e3||(i=Date.now(),$())};return window.addEventListener("focus",s),window.document.addEventListener("visibilitychange",s),()=>{window.removeEventListener("focus",s),window.document.removeEventListener("visibilitychange",s)}},[w,B,n,Z,O,$,t]),(0,x.useEffect)(()=>{if(!w||!O||B||U?.status!=="text")return;let e=new AbortController,n=F?.status==="ready"?(0,E.lN)(t.cwd,O,F.repositories):null;return t.compareFile(O,n?.repository.state==="ready"&&n.change?{repositoryRoot:n.repository.root,path:n.change.path}:null,e.signal),()=>e.abort()},[w,B,U,O,t,F]),P=O&&F?.status==="ready"?(0,E.lN)(t.cwd,O,F.repositories):null,{refresh:$,unavailable:F?.status==="error"||P?.repository.state==="unavailable"}),er=q?.status==="text"?q.comparison:void 0,[ea,el]=(0,x.useState)(null),eo=er?.status==="ready"&&q?.status==="text"&&ea?.original===er.original.content&&ea.modified===q.content?ea.count:void 0,ec=e=>{X&&(en(),t.openFileDiff(X,e))},ed=es||er?.status==="error"?I("gitMarkersFailed"):er?.status==="unavailable"||er?.status==="ready"&&null===eo?I("gitMarkersUnavailable"):er?.status==="loading"||er?.status==="ready"&&void 0===eo?I("gitMarkersLoading"):er?.status==="ready"?I("gitChangesCount",{count:eo}):null;return(0,i.jsxs)("div",{ref:Z,className:"flex size-full min-h-0 min-w-0 flex-col outline-none",tabIndex:-1,onFocus:e=>{e.target===e.currentTarget&&(Y?J.current?.focus():K?Q.current?.focus():Z.current?.querySelector('[data-testid="markdown-preview"]')?.focus())},children:[K||X?(0,i.jsx)("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center justify-end gap-2 border-b px-3 py-1","aria-label":I("fileActions"),children:K?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("span",{className:"mr-auto shrink-0 px-1 text-xs text-muted-foreground",children:[K.label??I("headToWorking"),"text"===K.status&&K.original.content===K.modified.content?I("noDiffChanges"):""]}),(0,i.jsx)(A,{label:I("previousChange"),onClick:()=>Q.current?.previousChange(),children:(0,i.jsx)(s.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I("nextChange"),onClick:()=>Q.current?.nextChange(),children:(0,i.jsx)(r.A,{className:"size-4"})}),m?null:(0,i.jsx)(A,{label:"side-by-side"===_?I("inlineDiff"):I("sideBySideDiff"),active:"inline"===_,onClick:()=>t.setDiffViewMode("side-by-side"===_?"inline":"side-by-side"),children:(0,i.jsx)(a.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I(V?"wrapOff":"wrapOn"),active:V,onClick:()=>t.setDiffWrapLines(!V),children:(0,i.jsx)(l.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I(H?"expandUnchanged":"collapseUnchanged"),active:H,onClick:()=>t.setDiffCollapseUnchanged(!H),children:(0,i.jsx)(o.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I("reloadDiff"),onClick:()=>t.reloadDiff(),children:(0,i.jsx)(c.A,{className:"size-4"})})]}):(0,i.jsxs)(i.Fragment,{children:[G&&q?.status==="text"&&X?(0,i.jsx)("div",{className:"mr-auto flex shrink-0",role:"group","aria-label":I("markdown"===G?"markdownMode":"htmlMode"),children:["preview","source"].map(e=>(0,i.jsx)(S.$,{variant:q.viewMode===e?"secondary":"ghost",size:"sm","aria-pressed":q.viewMode===e,onClick:()=>{en(),t.setTextViewMode(X,e)},children:I("preview"===e?"previewMode":"sourceMode")},e))}):null,Y&&ed?(0,i.jsx)("span",{"data-testid":"file-git-status",role:"status",className:"mr-auto min-w-0 truncate text-xs text-muted-foreground",title:er?.status==="error"?er.error:ed,children:m&&er?.status==="ready"&&"number"==typeof eo?I("gitChangesCompact",{count:eo}):ed}):null,Y&&er?.status==="ready"?(0,i.jsxs)(i.Fragment,{children:["number"==typeof eo&&eo>0?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A,{label:I("previousChange"),onClick:()=>J.current?.previousChange(),children:(0,i.jsx)(s.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I("nextChange"),onClick:()=>J.current?.nextChange(),children:(0,i.jsx)(r.A,{className:"size-4"})})]}):null,(0,i.jsx)(A,{label:I("viewDiff"),onClick:()=>ec(),children:(0,i.jsx)(d.A,{className:"size-4"})})]}):null,Y&&X?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(A,{label:I("findInFile"),onClick:()=>J.current?.openSearch(),children:(0,i.jsx)(u.A,{className:"size-4"})}),m?null:(0,i.jsx)(A,{label:I("goToLine"),onClick:()=>J.current?.gotoLine(),children:(0,i.jsx)(f.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I(V?"wrapOff":"wrapOn"),active:V,onClick:()=>t.setWrapLines(X,!V),children:(0,i.jsx)(l.A,{className:"size-4"})}),(0,i.jsx)(A,{label:I("copySelectionOrAll"),onClick:()=>{if(q?.status!=="text")return;let e=J.current?.getSelectionText()??"";(0,v.x)(e||q.content).then(t=>{t?et.success(I(e?"selectedCodeCopied":"allCodeCopied")):et.error(I("copyContentFailed"))})},children:(0,i.jsx)(p.A,{className:"size-4"})})]}):null,X?(0,i.jsx)(A,{label:I("reloadCurrentFile"),onClick:ei,children:(0,i.jsx)(c.A,{className:"size-4"})}):null]})}):null,(0,i.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden pb-[env(safe-area-inset-bottom)]",children:K?"text"===K.status?(0,i.jsx)(C,{ref:Q,original:K.original,modified:K.modified,viewMode:m?"inline":_,savedState:K.editorState,initialLine:K.initialLine,onSaveState:e=>t.saveDiffState(K,e),onEscape:j},`${K.repositoryRoot}:${K.path}`):"metadata"===K.status?(0,i.jsxs)("div",{className:"grid h-full grid-cols-1 gap-4 overflow-auto p-4 md:grid-cols-2",children:[(0,i.jsx)("pre",{className:"whitespace-pre-wrap break-all text-sm",children:K.originalMetadata}),(0,i.jsx)("pre",{className:"whitespace-pre-wrap break-all text-sm",children:K.modifiedMetadata})]}):"loading"===K.status?(0,i.jsx)(T,{}):(0,i.jsxs)("div",{className:"flex size-full flex-col items-center justify-center gap-3 p-6 text-center text-sm",children:[(0,i.jsx)("p",{className:"text-muted-foreground",children:"binary"===K.status?I("binaryDiffUnavailable"):"too_large"===K.status?I("largeDiffUnavailable"):K.error}),"error"===K.status?(0,i.jsx)(S.$,{variant:"outline",onClick:()=>t.reloadDiff(),children:I("readAgain")}):null]}):X&&q?"loading"===q.status||"unloaded"===q.status?(0,i.jsx)(T,{}):"error"===q.status?(0,i.jsxs)("div",{className:"flex size-full flex-col items-center justify-center gap-3 p-6 text-center",children:[(0,i.jsx)("p",{role:"alert",className:"text-sm text-destructive",children:q.error}),(0,i.jsx)(S.$,{variant:"outline",onClick:()=>t.reloadFile(X),children:I("readAgain")})]}):"image"===q.status?(0,i.jsx)(k.k,{mode:"inline",slides:[{src:q.objectUrl,alt:X}],ariaLabel:I("imageViewer",{name:X.replaceAll("\\","/").split("/").at(-1)??X})},q.objectUrl):"markdown"===G&&"preview"===q.viewMode?(0,i.jsx)(z.n,{content:q.content,label:I("markdownPreview",{name:X}),savedScrollTop:q.previewScrollTop,onScroll:e=>t.savePreviewScrollTop(X,e)},X):"html"===G&&"preview"===q.viewMode?(0,i.jsx)("iframe",{ref:ee,className:"block size-full border-0 bg-white",sandbox:"allow-scripts",srcDoc:(0,R.z)(q.content),title:I("htmlPreview",{name:X})}):(0,i.jsx)(b.e,{ref:J,path:X,content:q.content,size:q.size,originalContent:er?.status==="ready"?er.original.content:void 0,onChanges:e=>{er?.status==="ready"&&el({original:er.original.content,modified:q.content,count:e})},onOpenDiff:ec,savedState:q.editorState,navigation:t.pendingNavigation,onNavigation:(e,n)=>t.consumeNavigation(e,n),onSaveState:(e,n)=>t.saveEditorState(e,n),onEscape:j},X):(0,i.jsxs)("div",{"data-testid":"file-workspace-empty",className:"flex size-full flex-col items-center justify-center gap-3 p-6 text-sm text-muted-foreground",children:[(0,i.jsx)(h.A,{className:"size-6"}),I("noOpenFile")]})})]})}function T(){let{t:e}=(0,g.Bd)("projectFiles");return(0,i.jsxs)("div",{className:"flex size-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,i.jsx)(m.A,{className:"size-4 animate-spin"}),e("loadingFile")]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3814],{3433:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(50735).A)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]])},4719:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={cancelIdleCallback:function(){return l},requestIdleCallback:function(){return a}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});let a="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},l="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},45903:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={ESCAPE_REGEX:function(){return l},htmlEscapeAttributeString:function(){return o},htmlEscapeJsonString:function(){return c}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});let a={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},l=/[&><\u2028\u2029]/g,i={"&":"&",'"':""","'":"'","<":"<",">":">"},u=/[&"'<>]/g;function c(e){return e.replace(l,e=>a[e])}function o(e){return e.replace(u,e=>i[e])}},47974:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(50735).A)("fold-vertical",[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3-3-3 3",key:"e37ymu"}],["path",{d:"m15 5-3 3-3-3",key:"19d6lf"}]])},60278:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(50735).A)("columns-2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]])},97876:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return k},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return b}};for(var a in n)Object.defineProperty(t,a,{enumerable:!0,get:n[a]});let l=r(54276),i=r(39617),u=r(7962),c=l._(r(44911)),o=i._(r(69266)),d=r(29047),s=r(52459),f=r(4719),p=r(45903),y=new Map,h=new Set,g=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:a=null,dangerouslySetInnerHTML:l,children:i="",strategy:u="afterInteractive",onError:o,stylesheets:d}=e,f=r||t;if(f&&h.has(f))return;if(y.has(t)){h.add(f),y.get(t).then(n,o);return}let p=()=>{a&&a(),h.add(f)},g=document.createElement("script"),_=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),n&&n.call(this,t),p()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){o&&o(e)});l?(g.innerHTML=l.__html||"",p()):i?(g.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",p()):t&&(g.src=t,y.set(t,_)),(0,s.setAttributesFromProps)(g,e),"worker"===u&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",u),d&&(e=>{if(c.default.preinit)return e.forEach(e=>{c.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(d),document.body.appendChild(g)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>g(e))}):g(e)}function b(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");h.add(t)})}function m(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:a=null,strategy:l="afterInteractive",onError:i,stylesheets:s,...y}=e,{updateScripts:_,scripts:b,getIsSsr:m,appDir:k,nonce:v}=(0,o.useContext)(d.HeadManagerContext);v=y.nonce||v;let M=(0,o.useRef)(!1);(0,o.useEffect)(()=>{let e=t||r;M.current||(a&&e&&h.has(e)&&a(),M.current=!0)},[a,t,r]);let E=(0,o.useRef)(!1);if((0,o.useEffect)(()=>{if(!E.current){if("afterInteractive"===l)g(e);else"lazyOnload"===l&&("complete"===document.readyState?(0,f.requestIdleCallback)(()=>g(e)):window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>g(e))}));E.current=!0}},[e,l]),("beforeInteractive"===l||"worker"===l)&&(_?(b[l]=(b[l]||[]).concat([{id:t,src:r,onLoad:n,onReady:a,onError:i,...y,nonce:v}]),_(b)):m&&m()?h.add(t||r):m&&!m()&&g({...e,nonce:v})),k){if(s&&s.forEach(e=>{c.default.preinit(e,{as:"style"})}),"beforeInteractive"===l)if(!r)return y.dangerouslySetInnerHTML&&(y.children=y.dangerouslySetInnerHTML.__html,delete y.dangerouslySetInnerHTML),(0,u.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([0,{...y,id:t}]))})`}});else return c.default.preload(r,y.integrity?{as:"script",integrity:y.integrity,nonce:v,crossOrigin:y.crossOrigin}:{as:"script",nonce:v,crossOrigin:y.crossOrigin}),(0,u.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([r,{...y,id:t}]))})`}});"afterInteractive"===l&&r&&c.default.preload(r,y.integrity?{as:"script",integrity:y.integrity,nonce:v,crossOrigin:y.crossOrigin}:{as:"script",nonce:v,crossOrigin:y.crossOrigin})}return null}Object.defineProperty(m,"__nextScript",{value:!0});let k=m;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[70669],{3433:(e,a,l)=>{l.d(a,{A:()=>t});let t=(0,l(50735).A)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]])},19991:(e,a,l)=>{l.r(a),l.d(a,{L2FileWorkspaceView:()=>g});var t=l(7962),i=l(39569),s=l(55079),n=l(49667),r=l(24925),c=l(48155),o=l(84630),d=l(59252),h=l(90680),x=l(69266),m=l(78121),p=l(73068),f=l(86963),u=l(70657),k=l(35842);function g({workSession:e,runtime:a,gitRuntime:l,mobile:j,presentation:b,onOpenGitBranches:v,onOpenSidebar:y,onHide:w,onExpand:N,onSwitchPane:A,onOpenTerminal:z}){let{t:C}=(0,m.Bd)("workbench");(0,x.useSyncExternalStore)(a.subscribe,a.getRevision,a.getRevision);let{workId:E,projectName:M}=e,T=a.getDirectory(E),P=a.getWorkspace(E),R=T.replaceAll("\\","/").split("/").filter(Boolean).at(-1)??T,$=T===e.cwd?M:R,[F,S]=(0,x.useState)(!0),K=(0,x.useRef)(null),B="expanded"===b,D=B&&F&&!j,V=j||"single"===b;if(!P)return null;let{activeDiff:W,activePath:_}=P,q=W?[W.repositoryRoot,W.path].filter(Boolean).join("/"):null,H=()=>{a.getExpandedWorkId()===E?N():w()},I=(q??_??C("file")).replaceAll("\\","/").split("/").at(-1);return(0,t.jsxs)("section",{"data-testid":"file-workspace","data-file-work-id":E,className:"relative isolate flex size-full min-h-0 min-w-0 flex-col overflow-hidden bg-background outline-none","aria-label":C("fileViewer",{name:M}),tabIndex:-1,onFocus:e=>{e.target===e.currentTarget&&K.current?.focus()},onKeyDown:e=>{if("Escape"!==e.key||e.defaultPrevented||e.repeat||e.nativeEvent.isComposing)return;let a=e.target instanceof Element?e.target:null;if(a?.closest('.monaco-editor, [role="menu"]')||e.currentTarget.querySelector(".viewer-fullscreen-exit"))return;let l=a?.closest('[role="dialog"]');l&&l!==e.currentTarget.closest('[role="dialog"]')||e.ctrlKey||e.altKey||e.metaKey||e.shiftKey||(e.preventDefault(),e.stopPropagation(),H())},children:[(0,t.jsxs)("header",{className:"flex min-h-14 shrink-0 items-center gap-2 border-b bg-muted px-3 pt-[env(safe-area-inset-top)]",children:[j||"single"===b?(0,t.jsx)(f.$,{variant:"ghost",size:"icon","aria-label":C("showSessionMenu"),onClick:y,children:(0,t.jsx)(i.A,{className:"size-5"})}):null,B&&!j?(0,t.jsx)(f.$,{variant:"ghost",size:"icon","aria-label":C(F?"collapseProjectTree":"expandProjectTree"),onClick:()=>S(e=>!e),children:F?(0,t.jsx)(s.A,{className:"size-4"}):(0,t.jsx)(n.A,{className:"size-4"})}):null,(0,t.jsxs)("div",{className:"min-w-0 flex-1 px-1",children:[(0,t.jsxs)("p",{className:"truncate text-sm font-semibold",title:q??_??M,children:[I,W?" \xb7 Diff":""]}),(0,t.jsxs)("p",{className:"truncate text-xs text-muted-foreground",title:`${T} \xb7 ${q??_??""}`,children:[$,q??_?` \xb7 ${q??_}`:""]})]}),j?null:(0,t.jsx)(f.$,{variant:"ghost",size:"icon","aria-label":C(B?"exitExpanded":"expandFile"),title:C(B?"exitExpanded":"expandFile"),"data-file-expand-trigger":"",onClick:N,children:B?(0,t.jsx)(r.A,{className:"size-4"}):(0,t.jsx)(c.A,{className:"size-4"})}),(0,t.jsxs)(f.$,{variant:"ghost","aria-label":C(V?"returnChat":"hideFile"),onClick:w,children:[(0,t.jsx)(o.A,{className:"size-4"}),C(V?"chat":"collapse")]})]}),(0,t.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1",children:[D?(0,t.jsxs)("aside",{className:"flex min-h-0 w-[clamp(200px,22%,280px)] shrink-0 flex-col border-r bg-sidebar","aria-label":C("browseProject"),children:[(0,t.jsxs)("div",{className:"flex min-h-9 shrink-0 items-center border-b px-3",children:[(0,t.jsx)("span",{className:"flex-1 text-xs font-medium",children:C("fileWorkspaceTitle")}),z?(0,t.jsx)(f.$,{variant:"ghost",size:"icon-sm","aria-label":C("newTerminal"),title:C("newTerminal"),onClick:()=>z(e.cwd),children:(0,t.jsx)(d.A,{className:"size-4"})}):null,(0,t.jsx)(f.$,{variant:"ghost",size:"icon-sm","aria-label":C("refreshFiles"),onClick:()=>{a.refreshTree(E),l.refreshSnapshot(T)},children:(0,t.jsx)(h.A,{className:"size-4"})})]}),(0,t.jsx)(u.k,{workId:E,cwd:e.cwd,projectName:M,runtime:a,gitRuntime:l,onOpenGitBranches:v})]}):null,(0,t.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,t.jsx)(k.X,{cwd:T,gitRuntime:l,paths:P.tabs,activePath:_,diffPath:q,mobile:j,onActivate:e=>a.activateFile(E,e),onClose:(e,l)=>a.closeTabs(E,e,l)}),(0,t.jsx)(p.R,{ref:K,runtime:a.getFileRuntime(E),gitRuntime:l,visible:B||P.windowOpen&&("split"===b||"files"===P.activePane),compact:V,onEscape:H,onSwitchPane:A},T)]})]})]})}},47974:(e,a,l)=>{l.d(a,{A:()=>t});let t=(0,l(50735).A)("fold-vertical",[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3-3-3 3",key:"e37ymu"}],["path",{d:"m15 5-3 3-3-3",key:"19d6lf"}]])},60278:(e,a,l)=>{l.d(a,{A:()=>t});let t=(0,l(50735).A)("columns-2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[74220],{5816:(e,t,r)=>{r.d(t,{A:()=>p,i:()=>l});var o=r(7962),n=r(44297),i=r(78121),s=r(69266),a=r(73230),c=r(48708);let d=()=>null;function l(){let e=(0,s.useSyncExternalStore)(c.re,c.fx,d);if(!e)throw Error("区域设置尚未就绪");return e}function u({children:e,locale:t,resources:r}){let[c]=(0,s.useState)(()=>{let e;return(e=(0,n.Q_)()).init({lng:t,fallbackLng:"en",resources:r,defaultNS:"common",ns:Object.keys(r.en??{}),initAsync:!1,interpolation:{escapeValue:!1}}),e});return(0,s.useEffect)(()=>(document.documentElement.lang=t,c.changeLanguage(t),(0,a.o)((e,t)=>c.exists(e)?c.t(e,t):null),()=>(0,a.o)(null)),[c,t]),(0,o.jsx)(i.xC,{i18n:c,children:e})}function p({children:e,resources:t,initialSettings:r}){let n=(0,s.useSyncExternalStore)(c.re,c.fx,d);return(0,s.useEffect)(()=>((0,c.UV)(r),(0,c.Hc)()),[r]),n?(0,o.jsx)(u,{locale:n.locale,resources:t,children:e}):null}},9626:(e,t,r)=>{r.d(t,{Od:()=>y,tU:()=>g,hE:()=>k,Sp:()=>c,P9:()=>a,PA:()=>i,uB:()=>s,_G:()=>p,Vc:()=>u});var o=r(38979);o.Yj().uuid();var n=r(61286);let i="/api/ws",s="pi-desk.v1",a=4001,c=4003,d=o.Yj().trim().min(1),l=o.Yj().uuid();function u(e){return Object.freeze({op:"req",path:d.parse(e.path),inputSchema:e.inputSchema,outputSchema:e.outputSchema,...void 0===e.timeoutMs?{}:{timeoutMs:o.ai().int().positive().parse(e.timeoutMs)}})}function p(e){return Object.freeze({op:"push",path:d.parse(e.path),bodySchema:e.bodySchema})}let h=o.Ik({op:o.eu("req"),path:d,requestId:l}).strict(),m=o.Ik({op:o.eu("resp"),path:d,requestId:l}).strict(),f=o.Ik({op:o.eu("push"),path:d}).strict(),g=o.Ik({head:h,body:o.Pq()}).strict(),v=o.Ik({head:m,body:o.Ik({code:o.eu(0),msg:o.eu(""),data:o.Pq()}).strict()}).strict(),b=o.Ik({head:m,body:o.Ik({code:o.ai().int().positive(),msg:o.Yj().min(1),data:o.ch(),i18n:n.N.optional()}).strict()}).strict(),k=o.KC([v,b]),y=o.Ik({head:f,body:o.Pq()}).strict()},15710:(e,t,r)=>{r.d(t,{J:()=>i,a:()=>n});var o=r(38979);let n=o.Ik({locale:o.k5(["zh-CN","en"]),timeZone:o.Yj().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat("en",{timeZone:e}),!0}catch{return!1}},"无效的 IANA 时区")}).strict().readonly(),i=o.Ik({region:n}).strict().readonly()},48708:(e,t,r)=>{r.d(t,{Hc:()=>v,SJ:()=>u,UV:()=>h,ae:()=>p,fx:()=>f,pW:()=>m,re:()=>g});var o=r(15710);let n=new Set,i=new Set,s=o.J.parse({region:{locale:"en",timeZone:"UTC"}}),a=null,c=!1,d=0;function l(e){return{locale:e,timeZone:s.region.timeZone,localePreference:s.region.locale,timeZonePreference:s.region.timeZone,pendingLocale:e===s.region.locale?null:s.region.locale}}function u(){return s}function p(e){return i.add(e),()=>i.delete(e)}function h(e){let t=o.J.parse(e),r=JSON.stringify(s)!==JSON.stringify(t);if(c&&!r)return;let d=c&&a?a.locale:t.region.locale;for(let e of(s=t,c=!0,a=l(d),n))e();if(r)for(let e of i)e()}function m(e){for(let t of(a={...l(e),pendingLocale:null},n))t()}function f(){return a}function g(e){return n.add(e),()=>n.delete(e)}function v(){if(d+=1,!a)for(let e of(a=l(s.region.locale),n))e();return()=>{0==(d-=1)&&(a=null,c=!1,s=o.J.parse({region:{locale:"en",timeZone:"UTC"}}),n.clear(),i.clear())}}},49426:(e,t,r)=>{r.d(t,{cn:()=>i});var o=r(77694),n=r(37810);function i(...e){return(0,n.QP)((0,o.$)(e))}},61286:(e,t,r)=>{r.d(t,{N:()=>n});var o=r(38979);let n=o.Ik({key:o.Yj().min(1).max(160),params:o.g1(o.Yj().min(1).max(80),o.KC([o.Yj().max(1e3),o.ai().finite()])).optional()}).strict()},67069:(e,t,r)=>{r.d(t,{o5:()=>l,YW:()=>h,p:()=>p,gM:()=>u});var o=r(9626),n=r(67837),i=r(73230);class s extends Error{constructor(e,t,r){super((0,i.B)({msg:e,i18n:{key:t,...r?{params:r}:{}}})),this.rawMessage=e,this.name="L4AppSocketTransportError"}}class a extends Error{constructor(e,t,r){super(r),this.code=e,this.rawMessage=t,this.name="L4AppSocketRequestError"}}class c{constructor(e,t){this.onPush=t,this.pendingRequests=new Map,this.opened=!1,this.disposed=!1,this.removeAbortListener=null,this.handleMessage=e=>{let t;if("string"!=typeof e.data)return void this.close(1003,"仅支持文本 JSON 消息");try{t=JSON.parse(e.data)}catch{this.close(1007,"JSON 格式无效");return}let r=o.hE.safeParse(t);if(r.success){let e=r.data.head.requestId,t=this.pendingRequests.get(e);if(!t)return;if(this.pendingRequests.delete(e),clearTimeout(t.timeout),r.data.head.path!==t.path){t.reject(new s("WebSocket 响应 path 与请求不一致","common:socketResponseMismatch")),this.close(1008,"响应 path 与 requestId 不匹配");return}if(0!==r.data.body.code)return void t.reject(new a(r.data.body.code,r.data.body.msg,(0,i.B)(r.data.body)));let o=t.contract.outputSchema.safeParse(r.data.body.data);if(!o.success){t.reject(new s("WebSocket 响应数据无效","common:socketResponseInvalid")),this.close(1008,"服务端响应数据无效");return}return void t.resolve(o.data)}let n=o.Od.safeParse(t);if(!n.success)return void this.close(1008,"服务端消息信封无效");try{this.onPush(n.data.head.path,n.data.body)}catch{this.close(1008,"服务端推送数据无效")}},this.handleClose=e=>{let t={code:e.code,reason:e.reason};this.dispose(),this.resolveClosed(t)},this.socket=new WebSocket(function(e){let t="https:"===window.location.protocol?"wss:":"ws:";return`${t}//${window.location.host}${o.PA}?clientId=${encodeURIComponent(e)}`}(e),o.uB),this.closedPromise=new Promise(e=>{this.resolveClosed=e}),this.socket.addEventListener("message",this.handleMessage),this.socket.addEventListener("close",this.handleClose,{once:!0})}open(e){return this.opened&&this.socket.readyState===WebSocket.OPEN?Promise.resolve():e.aborted?Promise.reject(new DOMException("Aborted","AbortError")):new Promise((t,r)=>{let o=()=>{this.socket.removeEventListener("open",i),this.socket.removeEventListener("error",a)},n=()=>this.close(1e3,"页面已卸载"),i=()=>{o(),this.removeAbortListener?.(),this.removeAbortListener=null,this.opened=!0,t()},a=()=>{o(),this.close(1e3,"WebSocket 连接失败"),r(new s("WebSocket 连接失败","common:socketConnectFailed"))};e.addEventListener("abort",n,{once:!0}),this.removeAbortListener=()=>e.removeEventListener("abort",n),this.socket.addEventListener("open",i,{once:!0}),this.socket.addEventListener("error",a,{once:!0}),this.closedPromise.then(()=>{o(),this.opened||r(new s("WebSocket 连接已断开","common:socketDisconnected"))})})}isOpen(){return!this.disposed&&this.socket.readyState===WebSocket.OPEN}request(e,t){if(!this.isOpen())return Promise.reject(new s("WebSocket 尚未连接","common:socketNotConnected"));let r=(0,n.y)(),i=o.tU.parse({head:{op:"req",path:e.path,requestId:r},body:e.inputSchema.parse(t)});return new Promise((t,o)=>{let n=setTimeout(()=>{this.pendingRequests.delete(r),o(new s(`WebSocket 请求超时:${e.path}`,"common:socketRequestTimeout",{path:e.path}))},e.timeoutMs??15e3);this.pendingRequests.set(r,{path:e.path,contract:e,resolve:e=>t(e),reject:o,timeout:n});try{this.socket.send(JSON.stringify(i))}catch(e){this.pendingRequests.delete(r),clearTimeout(n),o(e instanceof Error?e:new s("WebSocket 请求发送失败","common:socketSendFailed"))}})}waitForClose(){return this.closedPromise}close(e=1e3,t="客户端关闭连接"){if(!this.disposed&&this.socket.readyState!==WebSocket.CLOSED)try{this.socket.close(e,t)}catch{}}dispose(){if(!this.disposed){for(let e of(this.disposed=!0,this.removeAbortListener?.(),this.removeAbortListener=null,this.socket.removeEventListener("message",this.handleMessage),this.pendingRequests.values()))clearTimeout(e.timeout),e.reject(new s("WebSocket 连接已断开","common:socketDisconnected"));this.pendingRequests.clear()}}}var d=r(69266);let l=(0,d.createContext)(null);function u(){let e=(0,d.useContext)(l);if(!e)throw Error("AppSocket Provider is missing");return e}function p(e){return e.code===o.P9}function h(e){let t=new Map,r=null,o=Promise.resolve({code:1e3,reason:""}),n=null,i=(e,r)=>{let o=t.get(e);if(!o)return;let n=o.contract.bodySchema.parse(r);for(let t of[...o.listeners])try{t(n)}catch(t){console.error("[Pi Desk][AppSocketClient] 推送监听器执行失败",{path:e,errorName:t instanceof Error?t.name:"UnknownError"})}};return{connect:t=>r?.isOpen()?Promise.resolve(!1):n||(n=(async()=>{let n=r;if(n&&(await n.waitForClose(),r===n&&(r=null)),t.aborted)throw new DOMException("Aborted","AbortError");let s=new c(e,i);r=s,(o=s.waitForClose()).then(()=>{r===s&&(r=null)});try{await s.open(t)}catch(e){throw s.close(),await s.waitForClose(),r===s&&(r=null),e}return!0})().finally(()=>{n=null})),request(e,t){let o=r;return o?o.request(e,t):Promise.reject(Error("WebSocket 尚未连接"))},subscribe(e,r){let o=t.get(e.path);if(o&&o.contract!==e)throw Error(`WebSocket push path 使用了不同合同:${e.path}`);let n=o??{contract:e,listeners:new Set},i=e=>r(e);return n.listeners.add(i),t.set(e.path,n),()=>{n.listeners.delete(i),0===n.listeners.size&&t.delete(e.path)}},waitForClose:()=>o,close(){r?.close()}}}},67837:(e,t,r)=>{r.d(t,{y:()=>o});function o(){let e=globalThis.crypto;if("function"==typeof e.randomUUID)return e.randomUUID();let t=e.getRandomValues(new Uint8Array(16));t[6]=15&t[6]|64,t[8]=63&t[8]|128;let r=Array.from(t,e=>e.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}},73230:(e,t,r)=>{r.d(t,{B:()=>i,o:()=>n});let o=null;function n(e){o=e}function i(e){return e.i18n?o?.(e.i18n.key,e.i18n.params)??e.msg:e.msg}},73429:(e,t,r)=>{r.d(t,{p:()=>s});var o=r(7962);r(69266);var n=r(53555),i=r(49426);function s({className:e,type:t,...r}){return(0,o.jsx)(n.p,{type:t,"data-slot":"input",className:(0,i.cn)("min-h-8 w-full min-w-0 rounded-lg border border-input bg-card px-2.5 py-1 text-sm leading-5 transition-colors duration-150 outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive",e),...r})}},86963:(e,t,r)=>{r.d(t,{$:()=>c,r:()=>a});var o=r(7962),n=r(28549),i=r(73392),s=r(49426);let a=(0,i.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap cursor-pointer transition-colors duration-150 ease-out outline-none select-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-solid focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-pressed:hover:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_5%)] aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_8%)] active:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_14%)]",outline:"border-border bg-card text-card-foreground hover:bg-accent active:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_6%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_8%)] active:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_14%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",ghost:"hover:bg-foreground/8 hover:text-foreground active:bg-foreground/14 aria-expanded:bg-accent aria-expanded:text-accent-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-foreground underline underline-offset-4 hover:text-muted-foreground"},size:{default:"min-h-8 gap-2 px-2 py-1",xs:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",sm:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",lg:"min-h-10 gap-2 px-3 py-2",icon:"size-8","icon-xs":"size-7 rounded-md","icon-sm":"size-7 rounded-md","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function c({className:e,variant:t="default",size:r="default",...i}){return(0,o.jsx)(n.$,{"data-slot":"button",className:(0,s.cn)(a({variant:t,size:r,className:e})),...i})}}}]);
|