@alpacachen/dsh-simple-worktree 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client.js +38 -14
- package/lib/index.js +18 -3
- package/package.json +8 -3
package/client/client.js
CHANGED
|
@@ -3,7 +3,7 @@ window.__ModuleLoader__.load({
|
|
|
3
3
|
factory: function (require) {
|
|
4
4
|
var module = { exports: {} }
|
|
5
5
|
var exports = module.exports
|
|
6
|
-
"use strict";var
|
|
6
|
+
"use strict";var Io=Object.create;var Oe=Object.defineProperty;var ho=Object.getOwnPropertyDescriptor;var go=Object.getOwnPropertyNames;var Co=Object.getPrototypeOf,So=Object.prototype.hasOwnProperty;var wo=(e,a)=>{for(var t in a)Oe(e,t,{get:a[t],enumerable:!0})},Aa=(e,a,t,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of go(a))!So.call(e,r)&&r!==t&&Oe(e,r,{get:()=>a[r],enumerable:!(o=ho(a,r))||o.enumerable});return e};var A=(e,a,t)=>(t=e!=null?Io(Co(e)):{},Aa(a||!e||!e.__esModule?Oe(t,"default",{value:e,enumerable:!0}):t,e)),vo=e=>Aa(Oe({},"__esModule",{value:!0}),e);var Nr={};wo(Nr,{default:()=>Wr});module.exports=vo(Nr);var Qe=require("react");var Da=`@layer dsh-simple-worktree {
|
|
7
7
|
.dswt-dialog-overlay {
|
|
8
8
|
position: fixed;
|
|
9
9
|
inset: 0;
|
|
@@ -99,56 +99,79 @@ window.__ModuleLoader__.load({
|
|
|
99
99
|
@keyframes dswt-spin { to { transform: rotate(360deg); } }
|
|
100
100
|
.dswt-error { display: flex; align-items: flex-start; gap: 6px; margin-top: 14px; border-radius: 8px; padding: 8px 10px; color: var(--dsw-alias-state-error-primary, #b42318); background: var(--dsw-alias-state-error-secondary, #fff1f0); font-size: 12px; line-height: 18px; }
|
|
101
101
|
.dswt-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
|
|
102
|
+
.dswt-settings { color: var(--dsw-alias-label-primary, #111); font-size: 13px; }
|
|
103
|
+
.dswt-settings-header, .dswt-repo-path, .dswt-worktree, .dswt-worktree-actions { display: flex; align-items: center; gap: 8px; }
|
|
104
|
+
.dswt-settings-header { justify-content: space-between; margin-bottom: 16px; }
|
|
105
|
+
.dswt-settings-header h2 { margin: 0; font-size: 18px; font-weight: 600; }
|
|
106
|
+
.dswt-repo { margin: 14px 0 20px; }
|
|
107
|
+
.dswt-repo-path { justify-content: space-between; margin-bottom: 7px; color: var(--dsw-alias-label-secondary, #666); font-size: 12px; }
|
|
108
|
+
.dswt-worktree { justify-content: space-between; border-top: 1px solid var(--dsw-alias-border-l2, #ddd); padding: 10px 0; }
|
|
109
|
+
.dswt-worktree-main { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 5px 10px; }
|
|
110
|
+
.dswt-worktree-path { max-width: 320px; overflow: hidden; color: var(--dsw-alias-label-tertiary, #777); text-overflow: ellipsis; white-space: nowrap; }
|
|
111
|
+
.dswt-worktree-actions { flex: none; }
|
|
112
|
+
.dswt-muted { color: var(--dsw-alias-label-secondary, #666); }
|
|
102
113
|
}
|
|
103
114
|
|
|
104
115
|
@media (prefers-reduced-motion: reduce) {
|
|
105
116
|
.dswt-dialog-overlay, .dswt-dialog-overlay *, .dswt-dialog-content, .dswt-dialog-content * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
|
|
106
117
|
}
|
|
107
|
-
`;var Y=require("react");var Ae=require("react");var va=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Re=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var me=require("react");var Pa={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var ka=(0,me.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:u,iconNode:d,...l},n)=>(0,me.createElement)("svg",{ref:n,...Pa,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:Re("lucide",r),...l},[...d.map(([f,c])=>(0,me.createElement)(f,c)),...Array.isArray(u)?u:[u]]));var le=(e,a)=>{let t=(0,Ae.forwardRef)(({className:o,...r},u)=>(0,Ae.createElement)(ka,{ref:u,iconNode:a,className:Re(`lucide-${va(e)}`,o),...r}));return t.displayName=`${e}`,t};var xo=[["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"}]],Z=le("CircleAlert",xo);var Io=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],J=le("LoaderCircle",Io);var ho=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Le=le("X",ho);var ba=require("react"),xe="dsh-simple-worktree",Ra={createWorktree:"\u521B\u5EFA worktree",dialogTitle:"{name} worktree",basedOn:"\u57FA\u4E8E",currentBranch:"\u5F53\u524D\u5206\u652F",mainBranch:"\u4E3B\u5206\u652F",taskName:"\u540D\u79F0",taskNamePlaceholder:"\u4F8B\u5982 login-fix",cancel:"\u53D6\u6D88",createAndOpen:"\u521B\u5EFA\u5E76\u6253\u5F00",creating:"\u521B\u5EFA\u4E2D\u2026",fillTaskName:"\u8BF7\u586B\u5199\u540D\u79F0\u3002",operationFailed:"worktree \u64CD\u4F5C\u5931\u8D25\uFF1A",close:"\u5173\u95ED",notGitWorkspace:"\u5F53\u524D Workspace \u4E0D\u662F Git \u4ED3\u5E93\u3002"},Co={createWorktree:"Create worktree",dialogTitle:"{name} worktree",basedOn:"Base",currentBranch:"Current branch",mainBranch:"Main branch",taskName:"Name",taskNamePlaceholder:"e.g. login-fix",cancel:"Cancel",createAndOpen:"Create and open",creating:"Creating\u2026",fillTaskName:"Enter a name.",operationFailed:"worktree operation failed: ",close:"Close",notGitWorkspace:"The current Workspace is not a Git repository."},K=null,De=null;function Aa(e){let a=e?.get?.("locale");if(!a||typeof a.register!="function"||typeof a.bind!="function")return()=>{};K=a;let t;try{t=a.register(xe,{zh:Ra,en:Co})}catch{}return De=a.bind(xe),()=>{t?.(),K===a&&(K=null,De=null)}}function Ie(e){return De?De(e):Ra[e]??e}var go=e=>K&&typeof K.subscribe=="function"?K.subscribe(e):()=>{},ya=()=>K&&typeof K.getSnapshot=="function"?K.getSnapshot():null;function de(){return(0,ba.useSyncExternalStore)(go,ya,ya),Ie}function Da(e,a){return e.replace(/\{(\w+)\}/g,(t,o)=>a[o]??`{${o}}`)}function E(e){let a=String(e??"");return a.length>1?a.replace(/[\\/]+$/,""):a}function Ba(e){return String(e||"task").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"task"}function Ma(e,a){let t=e.includes("\\")?"\\":"/";return`${E(e)}.worktrees${t}${a}`}var w=P(require("react"),1);function z(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}var Ta=P(require("react"),1);function Fa(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function _e(...e){return a=>{let t=!1,o=e.map(r=>{let u=Fa(r,a);return!t&&typeof u=="function"&&(t=!0),u});if(t)return()=>{for(let r=0;r<o.length;r++){let u=o[r];typeof u=="function"?u():Fa(e[r],null)}}}}function N(...e){return Ta.useCallback(_e(...e),e)}var U=P(require("react"),1),Xe=require("react/jsx-runtime");function Oa(e,a){let t=U.createContext(a),o=u=>{let{children:d,...l}=u,n=U.useMemo(()=>l,Object.values(l));return(0,Xe.jsx)(t.Provider,{value:n,children:d})};o.displayName=e+"Provider";function r(u){let d=U.useContext(t);if(d)return d;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${e}\``)}return[o,r]}function qa(e,a=[]){let t=[];function o(u,d){let l=U.createContext(d),n=t.length;t=[...t,d];let f=p=>{let{scope:L,children:m,...x}=p,s=L?.[e]?.[n]||l,i=U.useMemo(()=>x,Object.values(x));return(0,Xe.jsx)(s.Provider,{value:i,children:m})};f.displayName=u+"Provider";function c(p,L){let m=L?.[e]?.[n]||l,x=U.useContext(m);if(x)return x;if(d!==void 0)return d;throw new Error(`\`${p}\` must be used within \`${u}\``)}return[f,c]}let r=()=>{let u=t.map(d=>U.createContext(d));return function(l){let n=l?.[e]||u;return U.useMemo(()=>({[`__scope${e}`]:{...l,[e]:n}}),[l,n])}};return r.scopeName=e,[o,So(r,...a)]}function So(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(u){let d=o.reduce((l,{useScope:n,scopeName:f})=>{let p=n(u)[`__scope${f}`];return{...l,...p}},{});return U.useMemo(()=>({[`__scope${a.scopeName}`]:d}),[d])}};return t.scopeName=a.scopeName,t}var Be=P(require("react"),1);var Ea=P(require("react"),1),ee=globalThis?.document?Ea.useLayoutEffect:()=>{};var wo=Be.useId||(()=>{}),vo=0;function Me(e){let[a,t]=Be.useState(wo());return ee(()=>{e||t(o=>o??String(vo++))},[e]),e||(a?`radix-${a}`:"")}var $=P(require("react"),1);var se=P(require("react"),1);function G(e){let a=se.useRef(e);return se.useEffect(()=>{a.current=e}),se.useMemo(()=>(...t)=>a.current?.(...t),[])}function Ua({prop:e,defaultProp:a,onChange:t=()=>{}}){let[o,r]=Po({defaultProp:a,onChange:t}),u=e!==void 0,d=u?e:o,l=G(t),n=$.useCallback(f=>{if(u){let p=typeof f=="function"?f(e):f;p!==e&&l(p)}else r(f)},[u,e,r,l]);return[d,n]}function Po({defaultProp:e,onChange:a}){let t=$.useState(e),[o]=t,r=$.useRef(o),u=G(a);return $.useEffect(()=>{r.current!==o&&(u(o),r.current=o)},[o,r,u]),t}var y=P(require("react"),1);var Ha=P(require("react"),1),Wa=P(require("react-dom"),1);var B=P(require("react"),1);var fe=require("react/jsx-runtime"),he=B.forwardRef((e,a)=>{let{children:t,...o}=e,r=B.Children.toArray(t),u=r.find(yo);if(u){let d=u.props.children,l=r.map(n=>n===u?B.Children.count(d)>1?B.Children.only(null):B.isValidElement(d)?d.props.children:null:n);return(0,fe.jsx)(Ke,{...o,ref:a,children:B.isValidElement(d)?B.cloneElement(d,void 0,l):null})}return(0,fe.jsx)(Ke,{...o,ref:a,children:t})});he.displayName="Slot";var Ke=B.forwardRef((e,a)=>{let{children:t,...o}=e;if(B.isValidElement(t)){let r=Ro(t),u=bo(o,t.props);return t.type!==B.Fragment&&(u.ref=a?_e(a,r):r),B.cloneElement(t,u)}return B.Children.count(t)>1?B.Children.only(null):null});Ke.displayName="SlotClone";var ko=({children:e})=>(0,fe.jsx)(fe.Fragment,{children:e});function yo(e){return B.isValidElement(e)&&e.type===ko}function bo(e,a){let t={...a};for(let o in a){let r=e[o],u=a[o];/^on[A-Z]/.test(o)?r&&u?t[o]=(...l)=>{u(...l),r(...l)}:r&&(t[o]=r):o==="style"?t[o]={...r,...u}:o==="className"&&(t[o]=[r,u].filter(Boolean).join(" "))}return{...e,...t}}function Ro(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var Na=require("react/jsx-runtime"),Ao=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],q=Ao.reduce((e,a)=>{let t=Ha.forwardRef((o,r)=>{let{asChild:u,...d}=o,l=u?he:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,Na.jsx)(l,{...d,ref:r})});return t.displayName=`Primitive.${a}`,{...e,[a]:t}},{});function Ga(e,a){e&&Wa.flushSync(()=>e.dispatchEvent(a))}var Va=P(require("react"),1);function za(e,a=globalThis?.document){let t=G(e);Va.useEffect(()=>{let o=r=>{r.key==="Escape"&&t(r)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[t,a])}var Ze=require("react/jsx-runtime"),Do="DismissableLayer",je="dismissableLayer.update",Bo="dismissableLayer.pointerDownOutside",Mo="dismissableLayer.focusOutside",_a,Ka=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Je=y.forwardRef((e,a)=>{let{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:u,onInteractOutside:d,onDismiss:l,...n}=e,f=y.useContext(Ka),[c,p]=y.useState(null),L=c?.ownerDocument??globalThis?.document,[,m]=y.useState({}),x=N(a,I=>p(I)),s=Array.from(f.layers),[i]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),h=s.indexOf(i),C=c?s.indexOf(c):-1,v=f.layersWithOutsidePointerEventsDisabled.size>0,R=C>=h,b=Oo(I=>{let W=I.target,j=[...f.branches].some(D=>D.contains(W));!R||j||(r?.(I),d?.(I),I.defaultPrevented||l?.())},L),A=qo(I=>{let W=I.target;[...f.branches].some(D=>D.contains(W))||(u?.(I),d?.(I),I.defaultPrevented||l?.())},L);return za(I=>{C===f.layers.size-1&&(o?.(I),!I.defaultPrevented&&l&&(I.preventDefault(),l()))},L),y.useEffect(()=>{if(c)return t&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(_a=L.body.style.pointerEvents,L.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(c)),f.layers.add(c),Xa(),()=>{t&&f.layersWithOutsidePointerEventsDisabled.size===1&&(L.body.style.pointerEvents=_a)}},[c,L,t,f]),y.useEffect(()=>()=>{c&&(f.layers.delete(c),f.layersWithOutsidePointerEventsDisabled.delete(c),Xa())},[c,f]),y.useEffect(()=>{let I=()=>m({});return document.addEventListener(je,I),()=>document.removeEventListener(je,I)},[]),(0,Ze.jsx)(q.div,{...n,ref:x,style:{pointerEvents:v?R?"auto":"none":void 0,...e.style},onFocusCapture:z(e.onFocusCapture,A.onFocusCapture),onBlurCapture:z(e.onBlurCapture,A.onBlurCapture),onPointerDownCapture:z(e.onPointerDownCapture,b.onPointerDownCapture)})});Je.displayName=Do;var Fo="DismissableLayerBranch",To=y.forwardRef((e,a)=>{let t=y.useContext(Ka),o=y.useRef(null),r=N(a,o);return y.useEffect(()=>{let u=o.current;if(u)return t.branches.add(u),()=>{t.branches.delete(u)}},[t.branches]),(0,Ze.jsx)(q.div,{...e,ref:r})});To.displayName=Fo;function Oo(e,a=globalThis?.document){let t=G(e),o=y.useRef(!1),r=y.useRef(()=>{});return y.useEffect(()=>{let u=l=>{if(l.target&&!o.current){let f=function(){ja(Bo,t,c,{discrete:!0})};var n=f;let c={originalEvent:l};l.pointerType==="touch"?(a.removeEventListener("click",r.current),r.current=f,a.addEventListener("click",r.current,{once:!0})):f()}else a.removeEventListener("click",r.current);o.current=!1},d=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),a.removeEventListener("pointerdown",u),a.removeEventListener("click",r.current)}},[a,t]),{onPointerDownCapture:()=>o.current=!0}}function qo(e,a=globalThis?.document){let t=G(e),o=y.useRef(!1);return y.useEffect(()=>{let r=u=>{u.target&&!o.current&&ja(Mo,t,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",r),()=>a.removeEventListener("focusin",r)},[a,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Xa(){let e=new CustomEvent(je);document.dispatchEvent(e)}function ja(e,a,t,{discrete:o}){let r=t.originalEvent.target,u=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&r.addEventListener(e,a,{once:!0}),o?Ga(r,u):r.dispatchEvent(u)}var H=P(require("react"),1);var Ya=require("react/jsx-runtime"),$e="focusScope.autoFocusOnMount",Qe="focusScope.autoFocusOnUnmount",Za={bubbles:!1,cancelable:!0},Eo="FocusScope",Ye=H.forwardRef((e,a)=>{let{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:u,...d}=e,[l,n]=H.useState(null),f=G(r),c=G(u),p=H.useRef(null),L=N(a,s=>n(s)),m=H.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;H.useEffect(()=>{if(o){let C=function(A){if(m.paused||!l)return;let I=A.target;l.contains(I)?p.current=I:Q(p.current,{select:!0})},v=function(A){if(m.paused||!l)return;let I=A.relatedTarget;I!==null&&(l.contains(I)||Q(p.current,{select:!0}))},R=function(A){if(document.activeElement===document.body)for(let W of A)W.removedNodes.length>0&&Q(l)};var s=C,i=v,h=R;document.addEventListener("focusin",C),document.addEventListener("focusout",v);let b=new MutationObserver(R);return l&&b.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",C),document.removeEventListener("focusout",v),b.disconnect()}}},[o,l,m.paused]),H.useEffect(()=>{if(l){$a.add(m);let s=document.activeElement;if(!l.contains(s)){let h=new CustomEvent($e,Za);l.addEventListener($e,f),l.dispatchEvent(h),h.defaultPrevented||(Uo(Vo(et(l)),{select:!0}),document.activeElement===s&&Q(l))}return()=>{l.removeEventListener($e,f),setTimeout(()=>{let h=new CustomEvent(Qe,Za);l.addEventListener(Qe,c),l.dispatchEvent(h),h.defaultPrevented||Q(s??document.body,{select:!0}),l.removeEventListener(Qe,c),$a.remove(m)},0)}}},[l,f,c,m]);let x=H.useCallback(s=>{if(!t&&!o||m.paused)return;let i=s.key==="Tab"&&!s.altKey&&!s.ctrlKey&&!s.metaKey,h=document.activeElement;if(i&&h){let C=s.currentTarget,[v,R]=Ho(C);v&&R?!s.shiftKey&&h===R?(s.preventDefault(),t&&Q(v,{select:!0})):s.shiftKey&&h===v&&(s.preventDefault(),t&&Q(R,{select:!0})):h===C&&s.preventDefault()}},[t,o,m.paused]);return(0,Ya.jsx)(q.div,{tabIndex:-1,...d,ref:L,onKeyDown:x})});Ye.displayName=Eo;function Uo(e,{select:a=!1}={}){let t=document.activeElement;for(let o of e)if(Q(o,{select:a}),document.activeElement!==t)return}function Ho(e){let a=et(e),t=Ja(a,e),o=Ja(a.reverse(),e);return[t,o]}function et(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)a.push(t.currentNode);return a}function Ja(e,a){for(let t of e)if(!Wo(t,{upTo:a}))return t}function Wo(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function No(e){return e instanceof HTMLInputElement&&"select"in e}function Q(e,{select:a=!1}={}){if(e&&e.focus){let t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&No(e)&&a&&e.select()}}var $a=Go();function Go(){let e=[];return{add(a){let t=e[0];a!==t&&t?.pause(),e=Qa(e,a),e.unshift(a)},remove(a){e=Qa(e,a),e[0]?.resume()}}}function Qa(e,a){let t=[...e],o=t.indexOf(a);return o!==-1&&t.splice(o,1),t}function Vo(e){return e.filter(a=>a.tagName!=="A")}var Fe=P(require("react"),1),at=P(require("react-dom"),1);var tt=require("react/jsx-runtime"),zo="Portal",ea=Fe.forwardRef((e,a)=>{let{container:t,...o}=e,[r,u]=Fe.useState(!1);ee(()=>u(!0),[]);let d=t||r&&globalThis?.document?.body;return d?at.default.createPortal((0,tt.jsx)(q.div,{...o,ref:a}),d):null});ea.displayName=zo;var T=P(require("react"),1);var ot=P(require("react"),1);function _o(e,a){return ot.useReducer((t,o)=>a[t][o]??t,e)}var Ce=e=>{let{present:a,children:t}=e,o=Xo(a),r=typeof t=="function"?t({present:o.isPresent}):T.Children.only(t),u=N(o.ref,Ko(r));return typeof t=="function"||o.isPresent?T.cloneElement(r,{ref:u}):null};Ce.displayName="Presence";function Xo(e){let[a,t]=T.useState(),o=T.useRef({}),r=T.useRef(e),u=T.useRef("none"),d=e?"mounted":"unmounted",[l,n]=_o(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return T.useEffect(()=>{let f=Te(o.current);u.current=l==="mounted"?f:"none"},[l]),ee(()=>{let f=o.current,c=r.current;if(c!==e){let L=u.current,m=Te(f);e?n("MOUNT"):m==="none"||f?.display==="none"?n("UNMOUNT"):n(c&&L!==m?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,n]),ee(()=>{if(a){let f,c=a.ownerDocument.defaultView??window,p=m=>{let s=Te(o.current).includes(m.animationName);if(m.target===a&&s&&(n("ANIMATION_END"),!r.current)){let i=a.style.animationFillMode;a.style.animationFillMode="forwards",f=c.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=i)})}},L=m=>{m.target===a&&(u.current=Te(o.current))};return a.addEventListener("animationstart",L),a.addEventListener("animationcancel",p),a.addEventListener("animationend",p),()=>{c.clearTimeout(f),a.removeEventListener("animationstart",L),a.removeEventListener("animationcancel",p),a.removeEventListener("animationend",p)}}else n("ANIMATION_END")},[a,n]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:T.useCallback(f=>{f&&(o.current=getComputedStyle(f)),t(f)},[])}}function Te(e){return e?.animationName||"none"}function Ko(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var ut=P(require("react"),1),aa=0;function lt(){ut.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??rt()),document.body.insertAdjacentElement("beforeend",e[1]??rt()),aa++,()=>{aa===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),aa--}},[])}function rt(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var O=function(){return O=Object.assign||function(a){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&(a[u]=t[u])}return a},O.apply(this,arguments)};function Oe(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)a.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]]);return t}function dt(e,a,t){if(t||arguments.length===2)for(var o=0,r=a.length,u;o<r;o++)(u||!(o in a))&&(u||(u=Array.prototype.slice.call(a,0,o)),u[o]=a[o]);return e.concat(u||Array.prototype.slice.call(a))}var We=P(require("react"));var M=P(require("react"));var ae="right-scroll-bar-position",te="width-before-scroll-bar",ta="with-scroll-bars-hidden",oa="--removed-body-scroll-bar-size";function qe(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}var st=require("react");function ft(e,a){var t=(0,st.useState)(function(){return{value:e,callback:a,facade:{get current(){return t.value},set current(o){var r=t.value;r!==o&&(t.value=o,t.callback(o,r))}}}})[0];return t.callback=a,t.facade}var Ee=P(require("react"));var jo=typeof window<"u"?Ee.useLayoutEffect:Ee.useEffect,nt=new WeakMap;function ra(e,a){var t=ft(a||null,function(o){return e.forEach(function(r){return qe(r,o)})});return jo(function(){var o=nt.get(t);if(o){var r=new Set(o),u=new Set(e),d=t.current;r.forEach(function(l){u.has(l)||qe(l,null)}),u.forEach(function(l){r.has(l)||qe(l,d)})}nt.set(t,e)},[e]),t}function Zo(e){return e}function Jo(e,a){a===void 0&&(a=Zo);var t=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(u){var d=a(u,o);return t.push(d),function(){t=t.filter(function(l){return l!==d})}},assignSyncMedium:function(u){for(o=!0;t.length;){var d=t;t=[],d.forEach(u)}t={push:function(l){return u(l)},filter:function(){return t}}},assignMedium:function(u){o=!0;var d=[];if(t.length){var l=t;t=[],l.forEach(u),d=t}var n=function(){var c=d;d=[],c.forEach(u)},f=function(){return Promise.resolve().then(n)};f(),t={push:function(c){d.push(c),f()},filter:function(c){return d=d.filter(c),t}}}};return r}function ua(e){e===void 0&&(e={});var a=Jo(null);return a.options=O({async:!0,ssr:!1},e),a}var it=P(require("react")),ct=function(e){var a=e.sideCar,t=Oe(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=a.read();if(!o)throw new Error("Sidecar medium not found");return it.createElement(o,O({},t))};ct.isSideCarExport=!0;function la(e,a){return e.useMedium(a),ct}var Ue=ua();var da=function(){},ge=M.forwardRef(function(e,a){var t=M.useRef(null),o=M.useState({onScrollCapture:da,onWheelCapture:da,onTouchMoveCapture:da}),r=o[0],u=o[1],d=e.forwardProps,l=e.children,n=e.className,f=e.removeScrollBar,c=e.enabled,p=e.shards,L=e.sideCar,m=e.noRelative,x=e.noIsolation,s=e.inert,i=e.allowPinchZoom,h=e.as,C=h===void 0?"div":h,v=e.gapMode,R=Oe(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),b=L,A=ra([t,a]),I=O(O({},R),r);return M.createElement(M.Fragment,null,c&&M.createElement(b,{sideCar:Ue,removeScrollBar:f,shards:p,noRelative:m,noIsolation:x,inert:s,setCallbacks:u,allowPinchZoom:!!i,lockRef:t,gapMode:v}),d?M.cloneElement(M.Children.only(l),O(O({},I),{ref:A})):M.createElement(C,O({},I,{className:n,ref:A}),l))});ge.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ge.classNames={fullWidth:te,zeroRight:ae};var k=P(require("react"));var ie=P(require("react"));var Lt=P(require("react"));var pt;var mt=function(){if(pt)return pt;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $o(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=mt();return a&&e.setAttribute("nonce",a),e}function Qo(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function Yo(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var sa=function(){var e=0,a=null;return{add:function(t){e==0&&(a=$o())&&(Qo(a,t),Yo(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}};var fa=function(){var e=sa();return function(a,t){Lt.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&t])}};var Se=function(){var e=fa(),a=function(t){var o=t.styles,r=t.dynamic;return e(o,r),null};return a};var er={left:0,top:0,right:0,gap:0},na=function(e){return parseInt(e||"",10)||0},ar=function(e){var a=window.getComputedStyle(document.body),t=a[e==="padding"?"paddingLeft":"marginLeft"],o=a[e==="padding"?"paddingTop":"marginTop"],r=a[e==="padding"?"paddingRight":"marginRight"];return[na(t),na(o),na(r)]},ia=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return er;var a=ar(e),t=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-t+a[2]-a[0])}};var tr=Se(),ne="data-scroll-locked",or=function(e,a,t,o){var r=e.left,u=e.top,d=e.right,l=e.gap;return t===void 0&&(t="margin"),`
|
|
108
|
-
|
|
118
|
+
`;var Y=require("react");var qe=require("react");var Ba=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ee=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var ve=require("react");var Ma={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Fa=(0,ve.forwardRef)(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:u,iconNode:s,...l},i)=>(0,ve.createElement)("svg",{ref:i,...Ma,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:Ee("lucide",r),...l},[...s.map(([n,c])=>(0,ve.createElement)(n,c)),...Array.isArray(u)?u:[u]]));var ae=(e,a)=>{let t=(0,qe.forwardRef)(({className:o,...r},u)=>(0,qe.createElement)(Fa,{ref:u,iconNode:a,className:Ee(`lucide-${Ba(e)}`,o),...r}));return t.displayName=`${e}`,t};var yo=[["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"}]],X=ae("CircleAlert",yo);var Po=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],K=ae("LoaderCircle",Po);var bo=[["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"}]],ke=ae("RefreshCw",bo);var Ro=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ye=ae("X",Ro);var Oa=require("react"),se="dsh-simple-worktree",Ea={createWorktree:"\u521B\u5EFA worktree",dialogTitle:"{name} worktree",basedOn:"\u57FA\u4E8E",currentBranch:"\u5F53\u524D\u5206\u652F",mainBranch:"\u4E3B\u5206\u652F",taskName:"\u540D\u79F0",taskNamePlaceholder:"\u4F8B\u5982 login-fix",cancel:"\u53D6\u6D88",createAndOpen:"\u521B\u5EFA\u5E76\u6253\u5F00",creating:"\u521B\u5EFA\u4E2D\u2026",fillTaskName:"\u8BF7\u586B\u5199\u540D\u79F0\u3002",operationFailed:"worktree \u64CD\u4F5C\u5931\u8D25\uFF1A",close:"\u5173\u95ED",notGitWorkspace:"\u5F53\u524D Workspace \u4E0D\u662F Git \u4ED3\u5E93\u3002",worktrees:"Worktrees",refresh:"\u5237\u65B0",noWorktrees:"\u6CA1\u6709\u53D1\u73B0 linked worktree\u3002",branch:"\u5206\u652F",path:"\u8DEF\u5F84",mainRepository:"\u4E3B\u4ED3\u5E93",linkedWorktree:"linked worktree",clean:"clean",dirty:"dirty\uFF08{count} \u4E2A\u53D8\u66F4\u6587\u4EF6\uFF09",locked:"\u5DF2\u9501\u5B9A",prunable:"\u53EF\u6E05\u7406",open:"\u6253\u5F00",remove:"\u5220\u9664 Worktree",prune:"\u6E05\u7406\u5931\u6548\u8BB0\u5F55",removeConfirm:`\u786E\u8BA4\u5220\u9664 Worktree\uFF1F
|
|
119
|
+
|
|
120
|
+
\u8DEF\u5F84\uFF1A{path}
|
|
121
|
+
\u72B6\u6001\uFF1A{status}
|
|
122
|
+
|
|
123
|
+
\u8FD9\u4E0D\u4F1A\u5220\u9664 Git branch\u3002`,dirtyRemoveBlocked:"Worktree \u6709\u672A\u63D0\u4EA4\u53D8\u66F4\uFF0C\u9ED8\u8BA4\u4E0D\u4F1A\u5F3A\u5236\u5220\u9664\u3002",operationError:"\u64CD\u4F5C\u5931\u8D25\uFF1A",unavailable:"\u8DEF\u5F84\u4E0D\u53EF\u7528",registered:"\u5DF2\u6CE8\u518C Workspace",registerFailed:"Worktree \u5DF2\u521B\u5EFA\uFF0C\u4F46 Workspace \u6CE8\u518C\u5931\u8D25\u3002",cleanupFailed:`\u6E05\u7406\u5DF2\u521B\u5EFA Worktree \u5931\u8D25\uFF1A{error}
|
|
124
|
+
\u8DEF\u5F84\uFF1A{path}`,retryRegister:"\u91CD\u8BD5\u6CE8\u518C\u5E76\u6253\u5F00",cleanupCreated:"\u6E05\u7406\u5DF2\u521B\u5EFA Worktree",detached:"\uFF08\u5206\u79BB HEAD\uFF09"},Ao={createWorktree:"Create worktree",dialogTitle:"{name} worktree",basedOn:"Base",currentBranch:"Current branch",mainBranch:"Main branch",taskName:"Name",taskNamePlaceholder:"e.g. login-fix",cancel:"Cancel",createAndOpen:"Create and open",creating:"Creating\u2026",fillTaskName:"Enter a name.",operationFailed:"worktree operation failed: ",close:"Close",notGitWorkspace:"The current Workspace is not a Git repository.",worktrees:"Worktrees",refresh:"Refresh",noWorktrees:"No linked worktrees found.",branch:"Branch",path:"Path",mainRepository:"Main repository",linkedWorktree:"Linked worktree",clean:"clean",dirty:"dirty ({count} changed files)",locked:"locked",prunable:"prunable",open:"Open",remove:"Remove Worktree",prune:"Prune stale record",removeConfirm:`Remove this Worktree?
|
|
125
|
+
|
|
126
|
+
Path: {path}
|
|
127
|
+
Status: {status}
|
|
128
|
+
|
|
129
|
+
This does not delete the Git branch.`,dirtyRemoveBlocked:"This Worktree has uncommitted changes; force removal is disabled.",operationError:"Operation failed: ",unavailable:"path unavailable",registered:"Workspace registered",registerFailed:"The Worktree was created, but Workspace registration failed.",cleanupFailed:`Could not clean up the created Worktree: {error}
|
|
130
|
+
Path: {path}`,retryRegister:"Retry registration and open",cleanupCreated:"Clean up created Worktree",detached:"(detached HEAD)"},Q=null,Ue=null;function qa(e){let a=e?.get?.("locale");if(!a||typeof a.register!="function"||typeof a.bind!="function")return()=>{};Q=a;let t;try{t=a.register(se,{zh:Ea,en:Ao})}catch{}return Ue=a.bind(se),()=>{t?.(),Q===a&&(Q=null,Ue=null)}}function Pe(e){return Ue?Ue(e):Ea[e]??e}var Do=e=>Q&&typeof Q.subscribe=="function"?Q.subscribe(e):()=>{},Ta=()=>Q&&typeof Q.getSnapshot=="function"?Q.getSnapshot():null;function te(){return(0,Oa.useSyncExternalStore)(Do,Ta,Ta),Pe}function oe(e,a){return e.replace(/\{(\w+)\}/g,(t,o)=>a[o]??`{${o}}`)}function F(e){let a=String(e??"");return a.length>1?a.replace(/[\\/]+$/,""):a}function Ua(e){return String(e||"task").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"task"}function Ha(e,a){let t=e.includes("\\")?"\\":"/";return`${F(e)}.worktrees${t}${a}`}var b=A(require("react"),1);function j(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}var Na=A(require("react"),1);function Wa(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function Ye(...e){return a=>{let t=!1,o=e.map(r=>{let u=Wa(r,a);return!t&&typeof u=="function"&&(t=!0),u});if(t)return()=>{for(let r=0;r<o.length;r++){let u=o[r];typeof u=="function"?u():Wa(e[r],null)}}}}function V(...e){return Na.useCallback(Ye(...e),e)}var N=A(require("react"),1),ea=require("react/jsx-runtime");function Ga(e,a){let t=N.createContext(a),o=u=>{let{children:s,...l}=u,i=N.useMemo(()=>l,Object.values(l));return(0,ea.jsx)(t.Provider,{value:i,children:s})};o.displayName=e+"Provider";function r(u){let s=N.useContext(t);if(s)return s;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${e}\``)}return[o,r]}function Va(e,a=[]){let t=[];function o(u,s){let l=N.createContext(s),i=t.length;t=[...t,s];let n=m=>{let{scope:x,children:I,...h}=m,d=x?.[e]?.[i]||l,p=N.useMemo(()=>h,Object.values(h));return(0,ea.jsx)(d.Provider,{value:p,children:I})};n.displayName=u+"Provider";function c(m,x){let I=x?.[e]?.[i]||l,h=N.useContext(I);if(h)return h;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${u}\``)}return[n,c]}let r=()=>{let u=t.map(s=>N.createContext(s));return function(l){let i=l?.[e]||u;return N.useMemo(()=>({[`__scope${e}`]:{...l,[e]:i}}),[l,i])}};return r.scopeName=e,[o,Bo(r,...a)]}function Bo(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(u){let s=o.reduce((l,{useScope:i,scopeName:n})=>{let m=i(u)[`__scope${n}`];return{...l,...m}},{});return N.useMemo(()=>({[`__scope${a.scopeName}`]:s}),[s])}};return t.scopeName=a.scopeName,t}var He=A(require("react"),1);var za=A(require("react"),1),de=globalThis?.document?za.useLayoutEffect:()=>{};var Mo=He.useId||(()=>{}),Fo=0;function We(e){let[a,t]=He.useState(Mo());return de(()=>{e||t(o=>o??String(Fo++))},[e]),e||(a?`radix-${a}`:"")}var re=A(require("react"),1);var xe=A(require("react"),1);function z(e){let a=xe.useRef(e);return xe.useEffect(()=>{a.current=e}),xe.useMemo(()=>(...t)=>a.current?.(...t),[])}function _a({prop:e,defaultProp:a,onChange:t=()=>{}}){let[o,r]=To({defaultProp:a,onChange:t}),u=e!==void 0,s=u?e:o,l=z(t),i=re.useCallback(n=>{if(u){let m=typeof n=="function"?n(e):n;m!==e&&l(m)}else r(n)},[u,e,r,l]);return[s,i]}function To({defaultProp:e,onChange:a}){let t=re.useState(e),[o]=t,r=re.useRef(o),u=z(a);return re.useEffect(()=>{r.current!==o&&(u(o),r.current=o)},[o,r,u]),t}var B=A(require("react"),1);var Xa=A(require("react"),1),Ka=A(require("react-dom"),1);var M=A(require("react"),1);var Ie=require("react/jsx-runtime"),be=M.forwardRef((e,a)=>{let{children:t,...o}=e,r=M.Children.toArray(t),u=r.find(Eo);if(u){let s=u.props.children,l=r.map(i=>i===u?M.Children.count(s)>1?M.Children.only(null):M.isValidElement(s)?s.props.children:null:i);return(0,Ie.jsx)(aa,{...o,ref:a,children:M.isValidElement(s)?M.cloneElement(s,void 0,l):null})}return(0,Ie.jsx)(aa,{...o,ref:a,children:t})});be.displayName="Slot";var aa=M.forwardRef((e,a)=>{let{children:t,...o}=e;if(M.isValidElement(t)){let r=Uo(t),u=qo(o,t.props);return t.type!==M.Fragment&&(u.ref=a?Ye(a,r):r),M.cloneElement(t,u)}return M.Children.count(t)>1?M.Children.only(null):null});aa.displayName="SlotClone";var Oo=({children:e})=>(0,Ie.jsx)(Ie.Fragment,{children:e});function Eo(e){return M.isValidElement(e)&&e.type===Oo}function qo(e,a){let t={...a};for(let o in a){let r=e[o],u=a[o];/^on[A-Z]/.test(o)?r&&u?t[o]=(...l)=>{u(...l),r(...l)}:r&&(t[o]=r):o==="style"?t[o]={...r,...u}:o==="className"&&(t[o]=[r,u].filter(Boolean).join(" "))}return{...e,...t}}function Uo(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var ja=require("react/jsx-runtime"),Ho=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],U=Ho.reduce((e,a)=>{let t=Xa.forwardRef((o,r)=>{let{asChild:u,...s}=o,l=u?be:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,ja.jsx)(l,{...s,ref:r})});return t.displayName=`Primitive.${a}`,{...e,[a]:t}},{});function Za(e,a){e&&Ka.flushSync(()=>e.dispatchEvent(a))}var $a=A(require("react"),1);function Ja(e,a=globalThis?.document){let t=z(e);$a.useEffect(()=>{let o=r=>{r.key==="Escape"&&t(r)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[t,a])}var oa=require("react/jsx-runtime"),Wo="DismissableLayer",ta="dismissableLayer.update",No="dismissableLayer.pointerDownOutside",Go="dismissableLayer.focusOutside",Qa,et=B.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ra=B.forwardRef((e,a)=>{let{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:u,onInteractOutside:s,onDismiss:l,...i}=e,n=B.useContext(et),[c,m]=B.useState(null),x=c?.ownerDocument??globalThis?.document,[,I]=B.useState({}),h=V(a,g=>m(g)),d=Array.from(n.layers),[p]=[...n.layersWithOutsidePointerEventsDisabled].slice(-1),L=d.indexOf(p),f=c?d.indexOf(c):-1,C=n.layersWithOutsidePointerEventsDisabled.size>0,S=f>=L,w=_o(g=>{let T=g.target,$=[...n.branches].some(le=>le.contains(T));!S||$||(r?.(g),s?.(g),g.defaultPrevented||l?.())},x),y=Xo(g=>{let T=g.target;[...n.branches].some(le=>le.contains(T))||(u?.(g),s?.(g),g.defaultPrevented||l?.())},x);return Ja(g=>{f===n.layers.size-1&&(o?.(g),!g.defaultPrevented&&l&&(g.preventDefault(),l()))},x),B.useEffect(()=>{if(c)return t&&(n.layersWithOutsidePointerEventsDisabled.size===0&&(Qa=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),n.layersWithOutsidePointerEventsDisabled.add(c)),n.layers.add(c),Ya(),()=>{t&&n.layersWithOutsidePointerEventsDisabled.size===1&&(x.body.style.pointerEvents=Qa)}},[c,x,t,n]),B.useEffect(()=>()=>{c&&(n.layers.delete(c),n.layersWithOutsidePointerEventsDisabled.delete(c),Ya())},[c,n]),B.useEffect(()=>{let g=()=>I({});return document.addEventListener(ta,g),()=>document.removeEventListener(ta,g)},[]),(0,oa.jsx)(U.div,{...i,ref:h,style:{pointerEvents:C?S?"auto":"none":void 0,...e.style},onFocusCapture:j(e.onFocusCapture,y.onFocusCapture),onBlurCapture:j(e.onBlurCapture,y.onBlurCapture),onPointerDownCapture:j(e.onPointerDownCapture,w.onPointerDownCapture)})});ra.displayName=Wo;var Vo="DismissableLayerBranch",zo=B.forwardRef((e,a)=>{let t=B.useContext(et),o=B.useRef(null),r=V(a,o);return B.useEffect(()=>{let u=o.current;if(u)return t.branches.add(u),()=>{t.branches.delete(u)}},[t.branches]),(0,oa.jsx)(U.div,{...e,ref:r})});zo.displayName=Vo;function _o(e,a=globalThis?.document){let t=z(e),o=B.useRef(!1),r=B.useRef(()=>{});return B.useEffect(()=>{let u=l=>{if(l.target&&!o.current){let n=function(){at(No,t,c,{discrete:!0})};var i=n;let c={originalEvent:l};l.pointerType==="touch"?(a.removeEventListener("click",r.current),r.current=n,a.addEventListener("click",r.current,{once:!0})):n()}else a.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(s),a.removeEventListener("pointerdown",u),a.removeEventListener("click",r.current)}},[a,t]),{onPointerDownCapture:()=>o.current=!0}}function Xo(e,a=globalThis?.document){let t=z(e),o=B.useRef(!1);return B.useEffect(()=>{let r=u=>{u.target&&!o.current&&at(Go,t,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",r),()=>a.removeEventListener("focusin",r)},[a,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Ya(){let e=new CustomEvent(ta);document.dispatchEvent(e)}function at(e,a,t,{discrete:o}){let r=t.originalEvent.target,u=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&r.addEventListener(e,a,{once:!0}),o?Za(r,u):r.dispatchEvent(u)}var G=A(require("react"),1);var lt=require("react/jsx-runtime"),ua="focusScope.autoFocusOnMount",la="focusScope.autoFocusOnUnmount",tt={bubbles:!1,cancelable:!0},Ko="FocusScope",sa=G.forwardRef((e,a)=>{let{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:u,...s}=e,[l,i]=G.useState(null),n=z(r),c=z(u),m=G.useRef(null),x=V(a,d=>i(d)),I=G.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;G.useEffect(()=>{if(o){let f=function(y){if(I.paused||!l)return;let g=y.target;l.contains(g)?m.current=g:ue(m.current,{select:!0})},C=function(y){if(I.paused||!l)return;let g=y.relatedTarget;g!==null&&(l.contains(g)||ue(m.current,{select:!0}))},S=function(y){if(document.activeElement===document.body)for(let T of y)T.removedNodes.length>0&&ue(l)};var d=f,p=C,L=S;document.addEventListener("focusin",f),document.addEventListener("focusout",C);let w=new MutationObserver(S);return l&&w.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",C),w.disconnect()}}},[o,l,I.paused]),G.useEffect(()=>{if(l){rt.add(I);let d=document.activeElement;if(!l.contains(d)){let L=new CustomEvent(ua,tt);l.addEventListener(ua,n),l.dispatchEvent(L),L.defaultPrevented||(jo(Yo(st(l)),{select:!0}),document.activeElement===d&&ue(l))}return()=>{l.removeEventListener(ua,n),setTimeout(()=>{let L=new CustomEvent(la,tt);l.addEventListener(la,c),l.dispatchEvent(L),L.defaultPrevented||ue(d??document.body,{select:!0}),l.removeEventListener(la,c),rt.remove(I)},0)}}},[l,n,c,I]);let h=G.useCallback(d=>{if(!t&&!o||I.paused)return;let p=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,L=document.activeElement;if(p&&L){let f=d.currentTarget,[C,S]=Zo(f);C&&S?!d.shiftKey&&L===S?(d.preventDefault(),t&&ue(C,{select:!0})):d.shiftKey&&L===C&&(d.preventDefault(),t&&ue(S,{select:!0})):L===f&&d.preventDefault()}},[t,o,I.paused]);return(0,lt.jsx)(U.div,{tabIndex:-1,...s,ref:x,onKeyDown:h})});sa.displayName=Ko;function jo(e,{select:a=!1}={}){let t=document.activeElement;for(let o of e)if(ue(o,{select:a}),document.activeElement!==t)return}function Zo(e){let a=st(e),t=ot(a,e),o=ot(a.reverse(),e);return[t,o]}function st(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)a.push(t.currentNode);return a}function ot(e,a){for(let t of e)if(!$o(t,{upTo:a}))return t}function $o(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Jo(e){return e instanceof HTMLInputElement&&"select"in e}function ue(e,{select:a=!1}={}){if(e&&e.focus){let t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&Jo(e)&&a&&e.select()}}var rt=Qo();function Qo(){let e=[];return{add(a){let t=e[0];a!==t&&t?.pause(),e=ut(e,a),e.unshift(a)},remove(a){e=ut(e,a),e[0]?.resume()}}}function ut(e,a){let t=[...e],o=t.indexOf(a);return o!==-1&&t.splice(o,1),t}function Yo(e){return e.filter(a=>a.tagName!=="A")}var Ne=A(require("react"),1),dt=A(require("react-dom"),1);var ft=require("react/jsx-runtime"),er="Portal",da=Ne.forwardRef((e,a)=>{let{container:t,...o}=e,[r,u]=Ne.useState(!1);de(()=>u(!0),[]);let s=t||r&&globalThis?.document?.body;return s?dt.default.createPortal((0,ft.jsx)(U.div,{...o,ref:a}),s):null});da.displayName=er;var E=A(require("react"),1);var nt=A(require("react"),1);function ar(e,a){return nt.useReducer((t,o)=>a[t][o]??t,e)}var Re=e=>{let{present:a,children:t}=e,o=tr(a),r=typeof t=="function"?t({present:o.isPresent}):E.Children.only(t),u=V(o.ref,or(r));return typeof t=="function"||o.isPresent?E.cloneElement(r,{ref:u}):null};Re.displayName="Presence";function tr(e){let[a,t]=E.useState(),o=E.useRef({}),r=E.useRef(e),u=E.useRef("none"),s=e?"mounted":"unmounted",[l,i]=ar(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return E.useEffect(()=>{let n=Ge(o.current);u.current=l==="mounted"?n:"none"},[l]),de(()=>{let n=o.current,c=r.current;if(c!==e){let x=u.current,I=Ge(n);e?i("MOUNT"):I==="none"||n?.display==="none"?i("UNMOUNT"):i(c&&x!==I?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,i]),de(()=>{if(a){let n,c=a.ownerDocument.defaultView??window,m=I=>{let d=Ge(o.current).includes(I.animationName);if(I.target===a&&d&&(i("ANIMATION_END"),!r.current)){let p=a.style.animationFillMode;a.style.animationFillMode="forwards",n=c.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=p)})}},x=I=>{I.target===a&&(u.current=Ge(o.current))};return a.addEventListener("animationstart",x),a.addEventListener("animationcancel",m),a.addEventListener("animationend",m),()=>{c.clearTimeout(n),a.removeEventListener("animationstart",x),a.removeEventListener("animationcancel",m),a.removeEventListener("animationend",m)}}else i("ANIMATION_END")},[a,i]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:E.useCallback(n=>{n&&(o.current=getComputedStyle(n)),t(n)},[])}}function Ge(e){return e?.animationName||"none"}function or(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var ct=A(require("react"),1),fa=0;function pt(){ct.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??it()),document.body.insertAdjacentElement("beforeend",e[1]??it()),fa++,()=>{fa===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),fa--}},[])}function it(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var q=function(){return q=Object.assign||function(a){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var u in t)Object.prototype.hasOwnProperty.call(t,u)&&(a[u]=t[u])}return a},q.apply(this,arguments)};function Ve(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)a.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]]);return t}function mt(e,a,t){if(t||arguments.length===2)for(var o=0,r=a.length,u;o<r;o++)(u||!(o in a))&&(u||(u=Array.prototype.slice.call(a,0,o)),u[o]=a[o]);return e.concat(u||Array.prototype.slice.call(a))}var je=A(require("react"));var O=A(require("react"));var fe="right-scroll-bar-position",ne="width-before-scroll-bar",na="with-scroll-bars-hidden",ia="--removed-body-scroll-bar-size";function ze(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}var Lt=require("react");function xt(e,a){var t=(0,Lt.useState)(function(){return{value:e,callback:a,facade:{get current(){return t.value},set current(o){var r=t.value;r!==o&&(t.value=o,t.callback(o,r))}}}})[0];return t.callback=a,t.facade}var _e=A(require("react"));var rr=typeof window<"u"?_e.useLayoutEffect:_e.useEffect,It=new WeakMap;function ca(e,a){var t=xt(a||null,function(o){return e.forEach(function(r){return ze(r,o)})});return rr(function(){var o=It.get(t);if(o){var r=new Set(o),u=new Set(e),s=t.current;r.forEach(function(l){u.has(l)||ze(l,null)}),u.forEach(function(l){r.has(l)||ze(l,s)})}It.set(t,e)},[e]),t}function ur(e){return e}function lr(e,a){a===void 0&&(a=ur);var t=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(u){var s=a(u,o);return t.push(s),function(){t=t.filter(function(l){return l!==s})}},assignSyncMedium:function(u){for(o=!0;t.length;){var s=t;t=[],s.forEach(u)}t={push:function(l){return u(l)},filter:function(){return t}}},assignMedium:function(u){o=!0;var s=[];if(t.length){var l=t;t=[],l.forEach(u),s=t}var i=function(){var c=s;s=[],c.forEach(u)},n=function(){return Promise.resolve().then(i)};n(),t={push:function(c){s.push(c),n()},filter:function(c){return s=s.filter(c),t}}}};return r}function pa(e){e===void 0&&(e={});var a=lr(null);return a.options=q({async:!0,ssr:!1},e),a}var ht=A(require("react")),gt=function(e){var a=e.sideCar,t=Ve(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=a.read();if(!o)throw new Error("Sidecar medium not found");return ht.createElement(o,q({},t))};gt.isSideCarExport=!0;function ma(e,a){return e.useMedium(a),gt}var Xe=pa();var La=function(){},Ae=O.forwardRef(function(e,a){var t=O.useRef(null),o=O.useState({onScrollCapture:La,onWheelCapture:La,onTouchMoveCapture:La}),r=o[0],u=o[1],s=e.forwardProps,l=e.children,i=e.className,n=e.removeScrollBar,c=e.enabled,m=e.shards,x=e.sideCar,I=e.noRelative,h=e.noIsolation,d=e.inert,p=e.allowPinchZoom,L=e.as,f=L===void 0?"div":L,C=e.gapMode,S=Ve(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=x,y=ca([t,a]),g=q(q({},S),r);return O.createElement(O.Fragment,null,c&&O.createElement(w,{sideCar:Xe,removeScrollBar:n,shards:m,noRelative:I,noIsolation:h,inert:d,setCallbacks:u,allowPinchZoom:!!p,lockRef:t,gapMode:C}),s?O.cloneElement(O.Children.only(l),q(q({},g),{ref:y})):O.createElement(f,q({},g,{className:i,ref:y}),l))});Ae.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Ae.classNames={fullWidth:ne,zeroRight:fe};var D=A(require("react"));var ge=A(require("react"));var wt=A(require("react"));var Ct;var St=function(){if(Ct)return Ct;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function sr(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=St();return a&&e.setAttribute("nonce",a),e}function dr(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function fr(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var xa=function(){var e=0,a=null;return{add:function(t){e==0&&(a=sr())&&(dr(a,t),fr(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}};var Ia=function(){var e=xa();return function(a,t){wt.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&t])}};var De=function(){var e=Ia(),a=function(t){var o=t.styles,r=t.dynamic;return e(o,r),null};return a};var nr={left:0,top:0,right:0,gap:0},ha=function(e){return parseInt(e||"",10)||0},ir=function(e){var a=window.getComputedStyle(document.body),t=a[e==="padding"?"paddingLeft":"marginLeft"],o=a[e==="padding"?"paddingTop":"marginTop"],r=a[e==="padding"?"paddingRight":"marginRight"];return[ha(t),ha(o),ha(r)]},ga=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return nr;var a=ir(e),t=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-t+a[2]-a[0])}};var cr=De(),he="data-scroll-locked",pr=function(e,a,t,o){var r=e.left,u=e.top,s=e.right,l=e.gap;return t===void 0&&(t="margin"),`
|
|
131
|
+
.`.concat(na,` {
|
|
109
132
|
overflow: hidden `).concat(o,`;
|
|
110
133
|
padding-right: `).concat(l,"px ").concat(o,`;
|
|
111
134
|
}
|
|
112
|
-
body[`).concat(
|
|
135
|
+
body[`).concat(he,`] {
|
|
113
136
|
overflow: hidden `).concat(o,`;
|
|
114
137
|
overscroll-behavior: contain;
|
|
115
138
|
`).concat([a&&"position: relative ".concat(o,";"),t==="margin"&&`
|
|
116
139
|
padding-left: `.concat(r,`px;
|
|
117
140
|
padding-top: `).concat(u,`px;
|
|
118
|
-
padding-right: `).concat(
|
|
141
|
+
padding-right: `).concat(s,`px;
|
|
119
142
|
margin-left:0;
|
|
120
143
|
margin-top:0;
|
|
121
144
|
margin-right: `).concat(l,"px ").concat(o,`;
|
|
122
145
|
`),t==="padding"&&"padding-right: ".concat(l,"px ").concat(o,";")].filter(Boolean).join(""),`
|
|
123
146
|
}
|
|
124
147
|
|
|
125
|
-
.`).concat(
|
|
148
|
+
.`).concat(fe,` {
|
|
126
149
|
right: `).concat(l,"px ").concat(o,`;
|
|
127
150
|
}
|
|
128
151
|
|
|
129
|
-
.`).concat(
|
|
152
|
+
.`).concat(ne,` {
|
|
130
153
|
margin-right: `).concat(l,"px ").concat(o,`;
|
|
131
154
|
}
|
|
132
155
|
|
|
133
|
-
.`).concat(
|
|
156
|
+
.`).concat(fe," .").concat(fe,` {
|
|
134
157
|
right: 0 `).concat(o,`;
|
|
135
158
|
}
|
|
136
159
|
|
|
137
|
-
.`).concat(
|
|
160
|
+
.`).concat(ne," .").concat(ne,` {
|
|
138
161
|
margin-right: 0 `).concat(o,`;
|
|
139
162
|
}
|
|
140
163
|
|
|
141
|
-
body[`).concat(
|
|
142
|
-
`).concat(
|
|
164
|
+
body[`).concat(he,`] {
|
|
165
|
+
`).concat(ia,": ").concat(l,`px;
|
|
143
166
|
}
|
|
144
|
-
`)},
|
|
167
|
+
`)},vt=function(){var e=parseInt(document.body.getAttribute(he)||"0",10);return isFinite(e)?e:0},mr=function(){ge.useEffect(function(){return document.body.setAttribute(he,(vt()+1).toString()),function(){var e=vt()-1;e<=0?document.body.removeAttribute(he):document.body.setAttribute(he,e.toString())}},[])},Ca=function(e){var a=e.noRelative,t=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;mr();var u=ge.useMemo(function(){return ga(r)},[r]);return ge.createElement(cr,{styles:pr(u,!a,r,t?"":"!important")})};var Sa=!1;if(typeof window<"u")try{Be=Object.defineProperty({},"passive",{get:function(){return Sa=!0,!0}}),window.addEventListener("test",Be,Be),window.removeEventListener("test",Be,Be)}catch{Sa=!1}var Be,ie=Sa?{passive:!1}:!1;var Lr=function(e){return e.tagName==="TEXTAREA"},kt=function(e,a){if(!(e instanceof Element))return!1;var t=window.getComputedStyle(e);return t[a]!=="hidden"&&!(t.overflowY===t.overflowX&&!Lr(e)&&t[a]==="visible")},xr=function(e){return kt(e,"overflowY")},Ir=function(e){return kt(e,"overflowX")},wa=function(e,a){var t=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=yt(e,o);if(r){var u=Pt(e,o),s=u[1],l=u[2];if(s>l)return!0}o=o.parentNode}while(o&&o!==t.body);return!1},hr=function(e){var a=e.scrollTop,t=e.scrollHeight,o=e.clientHeight;return[a,t,o]},gr=function(e){var a=e.scrollLeft,t=e.scrollWidth,o=e.clientWidth;return[a,t,o]},yt=function(e,a){return e==="v"?xr(a):Ir(a)},Pt=function(e,a){return e==="v"?hr(a):gr(a)},Cr=function(e,a){return e==="h"&&a==="rtl"?-1:1},bt=function(e,a,t,o,r){var u=Cr(e,window.getComputedStyle(a).direction),s=u*o,l=t.target,i=a.contains(l),n=!1,c=s>0,m=0,x=0;do{if(!l)break;var I=Pt(e,l),h=I[0],d=I[1],p=I[2],L=d-p-u*h;(h||L)&&yt(e,l)&&(m+=L,x+=h);var f=l.parentNode;l=f&&f.nodeType===Node.DOCUMENT_FRAGMENT_NODE?f.host:f}while(!i&&l!==document.body||i&&(a.contains(l)||a===l));return(c&&(r&&Math.abs(m)<1||!r&&s>m)||!c&&(r&&Math.abs(x)<1||!r&&-s>x))&&(n=!0),n};var Ke=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Rt=function(e){return[e.deltaX,e.deltaY]},At=function(e){return e&&"current"in e?e.current:e},Sr=function(e,a){return e[0]===a[0]&&e[1]===a[1]},wr=function(e){return`
|
|
145
168
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
146
169
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
147
|
-
`)},
|
|
170
|
+
`)},vr=0,Ce=[];function Dt(e){var a=D.useRef([]),t=D.useRef([0,0]),o=D.useRef(),r=D.useState(vr++)[0],u=D.useState(De)[0],s=D.useRef(e);D.useEffect(function(){s.current=e},[e]),D.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var d=mt([e.lockRef.current],(e.shards||[]).map(At),!0).filter(Boolean);return d.forEach(function(p){return p.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),d.forEach(function(p){return p.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var l=D.useCallback(function(d,p){if("touches"in d&&d.touches.length===2||d.type==="wheel"&&d.ctrlKey)return!s.current.allowPinchZoom;var L=Ke(d),f=t.current,C="deltaX"in d?d.deltaX:f[0]-L[0],S="deltaY"in d?d.deltaY:f[1]-L[1],w,y=d.target,g=Math.abs(C)>Math.abs(S)?"h":"v";if("touches"in d&&g==="h"&&y.type==="range")return!1;var T=window.getSelection(),$=T&&T.anchorNode,le=$?$===y||$.contains(y):!1;if(le)return!1;var me=wa(g,y);if(!me)return!0;if(me?w=g:(w=g==="v"?"h":"v",me=wa(g,y)),!me)return!1;if(!o.current&&"changedTouches"in d&&(C||S)&&(o.current=w),!w)return!0;var Te=o.current||w;return bt(Te,p,d,Te==="h"?C:S,!0)},[]),i=D.useCallback(function(d){var p=d;if(!(!Ce.length||Ce[Ce.length-1]!==u)){var L="deltaY"in p?Rt(p):Ke(p),f=a.current.filter(function(w){return w.name===p.type&&(w.target===p.target||p.target===w.shadowParent)&&Sr(w.delta,L)})[0];if(f&&f.should){p.cancelable&&p.preventDefault();return}if(!f){var C=(s.current.shards||[]).map(At).filter(Boolean).filter(function(w){return w.contains(p.target)}),S=C.length>0?l(p,C[0]):!s.current.noIsolation;S&&p.cancelable&&p.preventDefault()}}},[]),n=D.useCallback(function(d,p,L,f){var C={name:d,delta:p,target:L,should:f,shadowParent:kr(L)};a.current.push(C),setTimeout(function(){a.current=a.current.filter(function(S){return S!==C})},1)},[]),c=D.useCallback(function(d){t.current=Ke(d),o.current=void 0},[]),m=D.useCallback(function(d){n(d.type,Rt(d),d.target,l(d,e.lockRef.current))},[]),x=D.useCallback(function(d){n(d.type,Ke(d),d.target,l(d,e.lockRef.current))},[]);D.useEffect(function(){return Ce.push(u),e.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:x}),document.addEventListener("wheel",i,ie),document.addEventListener("touchmove",i,ie),document.addEventListener("touchstart",c,ie),function(){Ce=Ce.filter(function(d){return d!==u}),document.removeEventListener("wheel",i,ie),document.removeEventListener("touchmove",i,ie),document.removeEventListener("touchstart",c,ie)}},[]);var I=e.removeScrollBar,h=e.inert;return D.createElement(D.Fragment,null,h?D.createElement(u,{styles:wr(r)}):null,I?D.createElement(Ca,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function kr(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}var Bt=ma(Xe,Dt);var Mt=je.forwardRef(function(e,a){return je.createElement(Ae,q({},e,{ref:a,sideCar:Bt}))});Mt.classNames=Ae.classNames;var va=Mt;var yr=function(e){if(typeof document>"u")return null;var a=Array.isArray(e)?e[0]:e;return a.ownerDocument.body},Se=new WeakMap,Ze=new WeakMap,$e={},ka=0,Ft=function(e){return e&&(e.host||Ft(e.parentNode))},Pr=function(e,a){return a.map(function(t){if(e.contains(t))return t;var o=Ft(t);return o&&e.contains(o)?o:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(t){return!!t})},br=function(e,a,t,o){var r=Pr(a,Array.isArray(e)?e:[e]);$e[t]||($e[t]=new WeakMap);var u=$e[t],s=[],l=new Set,i=new Set(r),n=function(m){!m||l.has(m)||(l.add(m),n(m.parentNode))};r.forEach(n);var c=function(m){!m||i.has(m)||Array.prototype.forEach.call(m.children,function(x){if(l.has(x))c(x);else try{var I=x.getAttribute(o),h=I!==null&&I!=="false",d=(Se.get(x)||0)+1,p=(u.get(x)||0)+1;Se.set(x,d),u.set(x,p),s.push(x),d===1&&h&&Ze.set(x,!0),p===1&&x.setAttribute(t,"true"),h||x.setAttribute(o,"true")}catch(L){console.error("aria-hidden: cannot operate on ",x,L)}})};return c(a),l.clear(),ka++,function(){s.forEach(function(m){var x=Se.get(m)-1,I=u.get(m)-1;Se.set(m,x),u.set(m,I),x||(Ze.has(m)||m.removeAttribute(o),Ze.delete(m)),I||m.removeAttribute(t)}),ka--,ka||(Se=new WeakMap,Se=new WeakMap,Ze=new WeakMap,$e={})}},Tt=function(e,a,t){t===void 0&&(t="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=a||yr(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),br(o,r,t,"aria-hidden")):function(){return null}};var k=require("react/jsx-runtime"),ya="Dialog",[Ot,ms]=Va(ya),[Rr,_]=Ot(ya),Et=e=>{let{__scopeDialog:a,children:t,open:o,defaultOpen:r,onOpenChange:u,modal:s=!0}=e,l=b.useRef(null),i=b.useRef(null),[n=!1,c]=_a({prop:o,defaultProp:r,onChange:u});return(0,k.jsx)(Rr,{scope:a,triggerRef:l,contentRef:i,contentId:We(),titleId:We(),descriptionId:We(),open:n,onOpenChange:c,onOpenToggle:b.useCallback(()=>c(m=>!m),[c]),modal:s,children:t})};Et.displayName=ya;var qt="DialogTrigger",Ar=b.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=_(qt,t),u=V(a,r.triggerRef);return(0,k.jsx)(U.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":Ra(r.open),...o,ref:u,onClick:j(e.onClick,r.onOpenToggle)})});Ar.displayName=qt;var Pa="DialogPortal",[Dr,Ut]=Ot(Pa,{forceMount:void 0}),Ht=e=>{let{__scopeDialog:a,forceMount:t,children:o,container:r}=e,u=_(Pa,a);return(0,k.jsx)(Dr,{scope:a,forceMount:t,children:b.Children.map(o,s=>(0,k.jsx)(Re,{present:t||u.open,children:(0,k.jsx)(da,{asChild:!0,container:r,children:s})}))})};Ht.displayName=Pa;var Je="DialogOverlay",Wt=b.forwardRef((e,a)=>{let t=Ut(Je,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,u=_(Je,e.__scopeDialog);return u.modal?(0,k.jsx)(Re,{present:o||u.open,children:(0,k.jsx)(Br,{...r,ref:a})}):null});Wt.displayName=Je;var Br=b.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=_(Je,t);return(0,k.jsx)(va,{as:be,allowPinchZoom:!0,shards:[r.contentRef],children:(0,k.jsx)(U.div,{"data-state":Ra(r.open),...o,ref:a,style:{pointerEvents:"auto",...o.style}})})}),ce="DialogContent",Nt=b.forwardRef((e,a)=>{let t=Ut(ce,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,u=_(ce,e.__scopeDialog);return(0,k.jsx)(Re,{present:o||u.open,children:u.modal?(0,k.jsx)(Mr,{...r,ref:a}):(0,k.jsx)(Fr,{...r,ref:a})})});Nt.displayName=ce;var Mr=b.forwardRef((e,a)=>{let t=_(ce,e.__scopeDialog),o=b.useRef(null),r=V(a,t.contentRef,o);return b.useEffect(()=>{let u=o.current;if(u)return Tt(u)},[]),(0,k.jsx)(Gt,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:j(e.onCloseAutoFocus,u=>{u.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:j(e.onPointerDownOutside,u=>{let s=u.detail.originalEvent,l=s.button===0&&s.ctrlKey===!0;(s.button===2||l)&&u.preventDefault()}),onFocusOutside:j(e.onFocusOutside,u=>u.preventDefault())})}),Fr=b.forwardRef((e,a)=>{let t=_(ce,e.__scopeDialog),o=b.useRef(!1),r=b.useRef(!1);return(0,k.jsx)(Gt,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{e.onCloseAutoFocus?.(u),u.defaultPrevented||(o.current||t.triggerRef.current?.focus(),u.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:u=>{e.onInteractOutside?.(u),u.defaultPrevented||(o.current=!0,u.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=u.target;t.triggerRef.current?.contains(s)&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&r.current&&u.preventDefault()}})}),Gt=b.forwardRef((e,a)=>{let{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:u,...s}=e,l=_(ce,t),i=b.useRef(null),n=V(a,i);return pt(),(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(sa,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:u,children:(0,k.jsx)(ra,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Ra(l.open),...s,ref:n,onDismiss:()=>l.onOpenChange(!1)})}),(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Tr,{titleId:l.titleId}),(0,k.jsx)(Er,{contentRef:i,descriptionId:l.descriptionId})]})]})}),ba="DialogTitle",Vt=b.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=_(ba,t);return(0,k.jsx)(U.h2,{id:r.titleId,...o,ref:a})});Vt.displayName=ba;var zt="DialogDescription",_t=b.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=_(zt,t);return(0,k.jsx)(U.p,{id:r.descriptionId,...o,ref:a})});_t.displayName=zt;var Xt="DialogClose",Kt=b.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=_(Xt,t);return(0,k.jsx)(U.button,{type:"button",...o,ref:a,onClick:j(e.onClick,()=>r.onOpenChange(!1))})});Kt.displayName=Xt;function Ra(e){return e?"open":"closed"}var jt="DialogTitleWarning",[Ls,Zt]=Ga(jt,{contentName:ce,titleName:ba,docsSlug:"dialog"}),Tr=({titleId:e})=>{let a=Zt(jt),t=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users.
|
|
148
171
|
|
|
149
172
|
If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
150
173
|
|
|
151
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return w.useEffect(()=>{e&&(document.getElementById(e)||console.error(t))},[t,e]),null},kr="DialogDescriptionWarning",yr=({contentRef:e,descriptionId:a})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Gt(kr).contentName}}.`;return w.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");a&&r&&(document.getElementById(a)||console.warn(o))},[o,e,a]),null},Vt=At;var zt=Mt,_t=Ft,Xt=Tt,Kt=qt,jt=Ut,Zt=Wt;var _=require("react/jsx-runtime");function ve({className:e="",...a}){return(0,_.jsx)("button",{className:`dswt-button ${e}`,...a})}function Jt({className:e="",...a}){return(0,_.jsx)("input",{className:`dswt-input ${e}`,...a})}function $t({children:e,...a}){return(0,_.jsx)(Vt,{...a,children:e})}function Qt({children:e}){let a=de();return(0,_.jsxs)(zt,{children:[(0,_.jsx)(_t,{className:"dswt-dialog-overlay"}),(0,_.jsxs)(Xt,{className:"dswt-dialog-content",children:[e,(0,_.jsx)(Zt,{className:"dswt-dialog-close","aria-label":a("close"),children:(0,_.jsx)(Le,{size:16})})]})]})}var Yt=Kt,eo=jt;var S=require("react/jsx-runtime");function ao({target:e,api:a,workspaces:t,sessions:o,defaultBaseChoice:r="current",onCreated:u,onClose:d}){let l=de(),[n,f]=(0,Y.useState)(null),[c,p]=(0,Y.useState)(""),[L,m]=(0,Y.useState)(r),[x,s]=(0,Y.useState)(""),[i,h]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{let D=!0;return f(null),s(""),p(""),m(r),a.list(e.path).then(F=>{D&&f(F)}).catch(F=>{D&&s(String(F?.message??F))}),()=>{D=!1}},[a,r,e.path]);let C=n?.repoPath,v=Ba(c),R=`task/${v}`,b=C?Ma(C,v):"",A=n?.worktrees.find(D=>E(D.path)===E(e.path))?.branch??"HEAD",I=n?.defaultBranch??n?.worktrees.find(D=>D.isMain)?.branch??A,W=L==="main"?n?.defaultRef??I:A,j=async()=>{if(!C||!c.trim()){s(l("fillTaskName"));return}h(!0),s("");let D,F;try{let X=await a.create({repoPath:C,path:b,branch:R,baseRef:W});D=X.path,F=await t.create({path:X.path}),await t.rename(F.workspaceId,`${e.title}/${v}`);let lo=await t.connectWorkspace(F.workspaceId);u(X.path),o.open(lo),d()}catch(X){F?.workspaceId&&t.delete(F.workspaceId).catch(()=>{}),D&&a.remove({repoPath:C,path:D}).catch(()=>{}),s(`${l("operationFailed")}${String(X?.message??X)}`)}finally{h(!1)}};return(0,S.jsx)($t,{open:!0,onOpenChange:D=>{!D&&!i&&d()},children:(0,S.jsxs)(Qt,{children:[(0,S.jsx)(Yt,{className:"dswt-dialog-title",children:Da(l("dialogTitle"),{name:e.title})}),(0,S.jsx)(eo,{className:"dswt-visually-hidden",children:e.title}),x?(0,S.jsxs)("div",{className:"dswt-error",role:"alert",children:[(0,S.jsx)(Z,{size:14})," ",x]}):null,(0,S.jsxs)("label",{className:"dswt-field",children:[(0,S.jsx)("span",{className:"dswt-field-label",children:l("taskName")}),(0,S.jsx)(Jt,{"aria-label":l("taskName"),value:c,disabled:i,onChange:D=>p(D.target.value),placeholder:l("taskNamePlaceholder"),autoFocus:!0})]}),(0,S.jsxs)("fieldset",{className:"dswt-field dswt-base-fieldset",disabled:i||!n,children:[(0,S.jsx)("legend",{className:"dswt-field-label",children:l("basedOn")}),(0,S.jsxs)("div",{className:"dswt-radio-group",role:"radiogroup","aria-label":l("basedOn"),children:[(0,S.jsxs)("label",{className:"dswt-radio-option","data-selected":L==="current"?"true":void 0,children:[(0,S.jsx)("input",{className:"dswt-radio-input",type:"radio",name:"dswt-base-branch",value:"current",checked:L==="current",onChange:()=>m("current")}),(0,S.jsxs)("span",{className:"dswt-radio-copy",children:[(0,S.jsx)("span",{className:"dswt-radio-label",children:l("currentBranch")}),(0,S.jsx)("span",{className:"dswt-radio-branch",children:A})]})]}),(0,S.jsxs)("label",{className:"dswt-radio-option","data-selected":L==="main"?"true":void 0,children:[(0,S.jsx)("input",{className:"dswt-radio-input",type:"radio",name:"dswt-base-branch",value:"main",checked:L==="main",onChange:()=>m("main")}),(0,S.jsxs)("span",{className:"dswt-radio-copy",children:[(0,S.jsx)("span",{className:"dswt-radio-label",children:l("mainBranch")}),(0,S.jsx)("span",{className:"dswt-radio-branch",children:I})]})]})]})]}),(0,S.jsxs)("div",{className:"dswt-dialog-actions",children:[(0,S.jsx)(ve,{type:"button",disabled:i,onClick:d,children:l("cancel")}),(0,S.jsxs)(ve,{type:"button",className:"dswt-button-primary",disabled:i||!c.trim()||!n,onClick:j,children:[i?(0,S.jsx)(J,{size:14,className:"dswt-spin"}):null,l(i?"creating":"createAndOpen")]})]})]})})}var ue=require("react/jsx-runtime");function Pe(){return(0,ue.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,ue.jsx)("path",{d:"M4 2.25v8.5a2.25 2.25 0 1 0 1.5 0V7.75h4v3a2.25 2.25 0 1 0 1.5 0V6.25H5.5v-4H4Z",fill:"currentColor"}),(0,ue.jsx)("circle",{cx:"4.75",cy:"12.75",r:"1.5",fill:"currentColor"}),(0,ue.jsx)("circle",{cx:"10.25",cy:"12.75",r:"1.5",fill:"currentColor"}),(0,ue.jsx)("circle",{cx:"4.75",cy:"2.25",r:"1.5",fill:"currentColor"})]})}var ke=require("react/jsx-runtime");function to({session:e,useWorkspaces:a,onOpen:t}){let o=de(),r=a(u=>u.items.find(d=>d.sessionIds?.includes(e.sessionId)));return!e.blank||!r?null:(0,ke.jsx)("div",{className:"dswt-new-session-action",children:(0,ke.jsxs)(ve,{type:"button",className:"dswt-new-session-button",onClick:()=>t(r),children:[(0,ke.jsx)(Pe,{}),o("createWorktree")]})})}var Rr="/dsh-simple-worktree";function oo(e){async function a(t,o){let r=await e.rpc.call(Rr,t,o);if(!r?.ok){let u=new Error(r?.error?.message??"worktree operation failed");throw u.code=r?.error?.code,u}return r.value}return{list:t=>a("worktree.list",{path:t}),classify:t=>a("worktree.classify",{path:t}),create:t=>a("worktree.create",t),remove:t=>a("worktree.remove",t)}}var ye=require("react/jsx-runtime"),ro="data-dsh-simple-worktree-style";function Ar(){if(typeof document>"u"||document.querySelector(`style[${ro}]`))return;let e=document.createElement("style");return e.setAttribute(ro,""),e.textContent=wa,document.head.appendChild(e),()=>e.remove()}var uo={name:"@alpacachen/dsh-simple-worktree",inject:["slots","connection","locale","workspaces","sessions","workspaceExtensions"],apply(e){e.effect(Ar,"dsh-simple-worktree styles"),e.effect(()=>Aa(e),"dsh-simple-worktree locale");let a=oo(e.connection),t=e.workspaces,o=e.sessions,r=e.get("locale"),u=e.workspaceExtensions,d=new Set;e.effect(()=>{if(!(!r||typeof r.subscribe!="function"))return r.subscribe(()=>u.invalidate())},"dsh-simple-worktree locale refresh");let l=new Set,n=!0,f=()=>{},c=0,p=async()=>{let m=++c,x=t.list.getSnapshot().items,s=await Promise.all(x.map(async i=>{try{return await a.classify(i.path)}catch{return}}));if(!(!n||m!==c)){d.clear(),l.clear();for(let i of s)i?.isGit&&i.path&&d.add(E(i.path)),i?.isWorktree&&i.path&&l.add(E(i.path));u.invalidate()}};e.effect(()=>u.register({id:"dsh-simple-worktree",menuItem(x){let s=E(x.path);if(!(!d.has(s)||l.has(s)))return{id:"dsh-simple-worktree.create",label:Ie("createWorktree"),icon:(0,ye.jsx)(Pe,{}),order:30,onSelect:()=>f(x)}},deleteWorkspace(x){let s=E(x.path);if(l.has(s))return(async()=>{let i=await a.classify(x.path);!i.isWorktree||!i.repoPath||(await a.remove({repoPath:i.repoPath,path:x.path}),await t.delete(x.workspaceId),d.delete(s),l.delete(s),u.invalidate())})()},icon(x){return l.has(E(x.path))?(0,ye.jsx)(Pe,{}):void 0}}),"dsh-simple-worktree workspace extensions"),e.effect(()=>{n=!0;let m=t.list.subscribe(()=>{p()});return p(),()=>{n=!1,c+=1,m()}},"dsh-simple-worktree workspace classification");function L(){let[m,x]=(0,ze.useState)(null);return(0,ze.useEffect)(()=>(f=(s,i="current")=>x({target:s,defaultBaseChoice:i}),()=>{f=()=>{}}),[]),m?(0,ye.jsx)(ao,{target:m.target,api:a,workspaces:t,sessions:o,defaultBaseChoice:m.defaultBaseChoice,onCreated:s=>{d.add(E(s)),l.add(E(s)),u.invalidate()},onClose:()=>x(null)}):null}e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"dsh-simple-worktree-new-session",order:-30,locale:xe,label:()=>Ie("createWorktree")},m=>(0,ye.jsx)(to,{session:m.session,useWorkspaces:m.useWorkspaces,onOpen:x=>f(x,"main")}))),e.slots.inject("shell.overlay",()=>e.slots.register({name:"shell.overlay",id:"dsh-simple-worktree-create",order:30,locale:xe,label:()=>Ie("createWorktree")},L))}};var Dr=uo;
|
|
174
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return b.useEffect(()=>{e&&(document.getElementById(e)||console.error(t))},[t,e]),null},Or="DialogDescriptionWarning",Er=({contentRef:e,descriptionId:a})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Zt(Or).contentName}}.`;return b.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");a&&r&&(document.getElementById(a)||console.warn(o))},[o,e,a]),null},$t=Et;var Jt=Ht,Qt=Wt,Yt=Nt,eo=Vt,ao=_t,to=Kt;var Z=require("react/jsx-runtime");function H({className:e="",...a}){return(0,Z.jsx)("button",{className:`dswt-button ${e}`,...a})}function oo({className:e="",...a}){return(0,Z.jsx)("input",{className:`dswt-input ${e}`,...a})}function ro({children:e,...a}){return(0,Z.jsx)($t,{...a,children:e})}function uo({children:e}){let a=te();return(0,Z.jsxs)(Jt,{children:[(0,Z.jsx)(Qt,{className:"dswt-dialog-overlay"}),(0,Z.jsxs)(Yt,{className:"dswt-dialog-content",children:[e,(0,Z.jsx)(to,{className:"dswt-dialog-close","aria-label":a("close"),children:(0,Z.jsx)(ye,{size:16})})]})]})}var lo=eo,so=ao;var v=require("react/jsx-runtime");function fo({target:e,api:a,workspaces:t,sessions:o,defaultBaseChoice:r="current",onCreated:u,onClose:s}){let l=te(),[i,n]=(0,Y.useState)(null),[c,m]=(0,Y.useState)(""),[x,I]=(0,Y.useState)(r),[h,d]=(0,Y.useState)(""),[p,L]=(0,Y.useState)(!1),[f,C]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{let P=!0;return n(null),d(""),m(""),I(r),a.list(e.path).then(W=>{P&&n(W)}).catch(W=>{P&&d(String(W?.message??W))}),()=>{P=!1}},[a,r,e.path]);let S=i?.repoPath,w=Ua(c),y=`task/${w}`,g=S?Ha(S,w):"",T=i?.worktrees.find(P=>F(P.path)===F(e.path))?.branch??"HEAD",$=i?.defaultBranch??i?.worktrees.find(P=>P.isMain)?.branch??T,le=x==="main"?i?.defaultRef??$:T,me=async(P,W)=>{let J=await t.create({path:P});await t.rename(J.workspaceId,`${e.title}/${W}`);let Le=await t.connectWorkspace(J.workspaceId);u(P),o.open(Le),s()},Te=async()=>{if(f){L(!0),d("");try{await me(f.path,f.branch.replace(/^task\//,"")),C(null)}catch(P){d(`${l("registerFailed")} ${String(P?.message??P)}`)}finally{L(!1)}}},Lo=async()=>{if(f){L(!0),d("");try{await a.remove({repoPath:f.repoPath,path:f.path}),C(null),s()}catch(P){d(oe(l("cleanupFailed"),{error:String(P?.message??P),path:f.path}))}finally{L(!1)}}},xo=async()=>{if(!S||!c.trim()){d(l("fillTaskName"));return}L(!0),d("");let P,W;try{let J=await a.create({repoPath:S,path:g,branch:y,baseRef:le});P=J.path,W=await t.create({path:J.path}),await t.rename(W.workspaceId,`${e.title}/${w}`);let Le=await t.connectWorkspace(W.workspaceId);u(J.path),o.open(Le),s()}catch(J){if(W?.workspaceId)try{await t.delete(W.workspaceId)}catch(Le){P&&C({repoPath:S,path:P,branch:y}),d(oe(l("cleanupFailed"),{error:String(Le?.message??Le),path:P??""}));return}P?(C({repoPath:S,path:P,branch:y}),d(l("registerFailed"))):d(`${l("operationFailed")}${String(J?.message??J)}`)}finally{L(!1)}};return(0,v.jsx)(ro,{open:!0,onOpenChange:P=>{!P&&!p&&s()},children:(0,v.jsxs)(uo,{children:[(0,v.jsx)(lo,{className:"dswt-dialog-title",children:oe(l("dialogTitle"),{name:e.title})}),(0,v.jsx)(so,{className:"dswt-visually-hidden",children:e.title}),h?(0,v.jsxs)("div",{className:"dswt-error",role:"alert",children:[(0,v.jsx)(X,{size:14})," ",h]}):null,(0,v.jsxs)("label",{className:"dswt-field",children:[(0,v.jsx)("span",{className:"dswt-field-label",children:l("taskName")}),(0,v.jsx)(oo,{"aria-label":l("taskName"),value:c,disabled:p,onChange:P=>m(P.target.value),placeholder:l("taskNamePlaceholder"),autoFocus:!0})]}),(0,v.jsxs)("fieldset",{className:"dswt-field dswt-base-fieldset",disabled:p||!i,children:[(0,v.jsx)("legend",{className:"dswt-field-label",children:l("basedOn")}),(0,v.jsxs)("div",{className:"dswt-radio-group",role:"radiogroup","aria-label":l("basedOn"),children:[(0,v.jsxs)("label",{className:"dswt-radio-option","data-selected":x==="current"?"true":void 0,children:[(0,v.jsx)("input",{className:"dswt-radio-input",type:"radio",name:"dswt-base-branch",value:"current",checked:x==="current",onChange:()=>I("current")}),(0,v.jsxs)("span",{className:"dswt-radio-copy",children:[(0,v.jsx)("span",{className:"dswt-radio-label",children:l("currentBranch")}),(0,v.jsx)("span",{className:"dswt-radio-branch",children:T})]})]}),(0,v.jsxs)("label",{className:"dswt-radio-option","data-selected":x==="main"?"true":void 0,children:[(0,v.jsx)("input",{className:"dswt-radio-input",type:"radio",name:"dswt-base-branch",value:"main",checked:x==="main",onChange:()=>I("main")}),(0,v.jsxs)("span",{className:"dswt-radio-copy",children:[(0,v.jsx)("span",{className:"dswt-radio-label",children:l("mainBranch")}),(0,v.jsx)("span",{className:"dswt-radio-branch",children:$})]})]})]})]}),f?(0,v.jsxs)("div",{className:"dswt-dialog-actions",children:[(0,v.jsx)(H,{type:"button",disabled:p,onClick:()=>{Te()},children:l("retryRegister")}),(0,v.jsx)(H,{type:"button",disabled:p,onClick:()=>{Lo()},children:l("cleanupCreated")})]}):null,f?null:(0,v.jsxs)("div",{className:"dswt-dialog-actions",children:[(0,v.jsx)(H,{type:"button",disabled:p,onClick:s,children:l("cancel")}),(0,v.jsxs)(H,{type:"button",className:"dswt-button-primary",disabled:p||!c.trim()||!i,onClick:xo,children:[p?(0,v.jsx)(K,{size:14,className:"dswt-spin"}):null,l(p?"creating":"createAndOpen")]})]})]})})}var pe=require("react/jsx-runtime");function Me(){return(0,pe.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,pe.jsx)("path",{d:"M4 2.25v8.5a2.25 2.25 0 1 0 1.5 0V7.75h4v3a2.25 2.25 0 1 0 1.5 0V6.25H5.5v-4H4Z",fill:"currentColor"}),(0,pe.jsx)("circle",{cx:"4.75",cy:"12.75",r:"1.5",fill:"currentColor"}),(0,pe.jsx)("circle",{cx:"10.25",cy:"12.75",r:"1.5",fill:"currentColor"}),(0,pe.jsx)("circle",{cx:"4.75",cy:"2.25",r:"1.5",fill:"currentColor"})]})}var Fe=require("react/jsx-runtime");function no({session:e,useWorkspaces:a,onOpen:t}){let o=te(),r=a(u=>u.items.find(s=>s.sessionIds?.includes(e.sessionId)));return!e.blank||!r?null:(0,Fe.jsx)("div",{className:"dswt-new-session-action",children:(0,Fe.jsxs)(H,{type:"button",className:"dswt-new-session-button",onClick:()=>t(r),children:[(0,Fe.jsx)(Me,{}),o("createWorktree")]})})}var ee=require("react");var R=require("react/jsx-runtime");function io({api:e,workspaces:a,sessions:t}){let o=te(),[r,u]=(0,ee.useState)([]),[s,l]=(0,ee.useState)(!1),[i,n]=(0,ee.useState)(""),[c,m]=(0,ee.useState)(null),x=(0,ee.useCallback)(async()=>{l(!0),n("");try{let L=new Set,f=[];for(let C of a.list.getSnapshot().items)try{let S=await e.list(C.path),w=F(S.repoPath);if(w&&!L.has(w)){L.add(w);let y=await Promise.all(S.worktrees.map(async g=>{try{return{...g,...await e.status(g.path)}}catch(T){return{...g,statusError:String(T?.message??T)}}}));f.push({...S,worktrees:y})}}catch{}u(f)}catch(L){n(String(L?.message??L))}finally{l(!1)}},[e,a]);(0,ee.useEffect)(()=>{x()},[x]);let I=L=>L.statusError==="worktree-unavailable"?o("unavailable"):L.statusError==="not-git-repository"?o("notGitWorkspace"):L.statusError,h=async(L,f)=>{m(f.path),n("");try{let C=a.list.getSnapshot().items.find(y=>F(y.path)===F(f.path)),S=!C;if(C||(C=await a.create({path:f.path})),S){let y=f.isMain?o("mainRepository"):`${L.defaultBranch??"worktree"}/${f.branch??"detached"}`;await a.rename(C.workspaceId,y)}let w=await a.connectWorkspace(C.workspaceId);t.open(w)}catch(C){n(`${o("operationError")}${String(C?.message??C)}`)}finally{m(null)}},d=async(L,f)=>{if(f.isMain)return;let C=f.statusError?o("unavailable"):f.changedFiles?oe(o("dirty"),{count:String(f.changedFiles)}):o("clean");if(f.changedFiles||f.statusError){n(f.statusError?`${o("operationError")}${I(f)}`:o("dirtyRemoveBlocked"));return}if(window.confirm(oe(o("removeConfirm"),{path:f.path,status:C}))){m(f.path),n("");try{await e.remove({repoPath:L.repoPath,path:f.path});let S=a.list.getSnapshot().items.find(w=>F(w.path)===F(f.path));S&&await a.delete(S.workspaceId),await x()}catch(S){n(`${o("operationError")}${String(S?.message??S)}`)}finally{m(null)}}},p=async L=>{m(L.repoPath),n("");try{await e.prune(L.repoPath),await x()}catch(f){n(`${o("operationError")}${String(f?.message??f)}`)}finally{m(null)}};return(0,R.jsxs)("section",{className:"dswt-settings","aria-label":o("worktrees"),children:[(0,R.jsxs)("div",{className:"dswt-settings-header",children:[(0,R.jsx)("h2",{children:o("worktrees")}),(0,R.jsx)(H,{type:"button","aria-label":o("refresh"),title:o("refresh"),disabled:s,onClick:()=>{x()},children:(0,R.jsx)(ke,{size:14,className:s?"dswt-spin":void 0})})]}),i?(0,R.jsxs)("div",{className:"dswt-error",role:"alert",children:[(0,R.jsx)(X,{size:14})," ",i]}):null,r.length===0&&!s?(0,R.jsx)("p",{className:"dswt-muted",children:o("noWorktrees")}):null,r.map(L=>(0,R.jsxs)("div",{className:"dswt-repo",children:[(0,R.jsxs)("div",{className:"dswt-repo-path",children:[L.repoPath,(0,R.jsx)(H,{type:"button",disabled:c===L.repoPath,onClick:()=>{p(L)},children:o("prune")})]}),L.worktrees.map(f=>(0,R.jsxs)("div",{className:"dswt-worktree",children:[(0,R.jsxs)("div",{className:"dswt-worktree-main",children:[(0,R.jsx)("strong",{children:f.branch??o("detached")}),(0,R.jsx)("span",{className:"dswt-worktree-path",title:f.path,children:f.path}),(0,R.jsx)("span",{children:f.isMain?o("mainRepository"):o("linkedWorktree")}),(0,R.jsx)("span",{children:f.statusError?I(f):f.changedFiles?oe(o("dirty"),{count:String(f.changedFiles)}):o("clean")}),f.locked?(0,R.jsx)("span",{children:o("locked")}):null,f.prunable?(0,R.jsx)("span",{children:o("prunable")}):null]}),(0,R.jsxs)("div",{className:"dswt-worktree-actions",children:[(0,R.jsxs)(H,{type:"button",disabled:c===f.path||!!f.statusError,onClick:()=>{h(L,f)},children:[c===f.path?(0,R.jsx)(K,{size:14,className:"dswt-spin"}):null,o("open")]}),!f.isMain&&(f.prunable||f.statusError)?(0,R.jsx)(H,{type:"button",disabled:c===f.path,onClick:()=>{p(L)},children:o("prune")}):null,!f.isMain&&!f.prunable&&!f.statusError?(0,R.jsx)(H,{type:"button",disabled:c===f.path,onClick:()=>{d(L,f)},children:o("remove")}):null]})]},f.path))]},L.repoPath))]})}var Ur="/dsh-simple-worktree";function co(e){async function a(t,o){let r=await e.rpc.call(Ur,t,o);if(!r?.ok){let u=r?.error?.code,s=new Error(u==="worktree-unavailable"?"worktree-unavailable":u==="not-git-repository"?"not-git-repository":r?.error?.message??"worktree operation failed");throw s.code=r?.error?.code,s}return r.value}return{list:t=>a("worktree.list",{path:t}),classify:t=>a("worktree.classify",{path:t}),create:t=>a("worktree.create",t),remove:t=>a("worktree.remove",t),status:t=>a("worktree.status",{path:t}),prune:t=>a("worktree.prune",{path:t})}}var we=require("react/jsx-runtime"),po="data-dsh-simple-worktree-style";function Hr(){if(typeof document>"u"||document.querySelector(`style[${po}]`))return;let e=document.createElement("style");return e.setAttribute(po,""),e.textContent=Da,document.head.appendChild(e),()=>e.remove()}var mo={name:"@alpacachen/dsh-simple-worktree",inject:["slots","connection","locale","workspaces","sessions"],apply(e){e.effect(Hr,"dsh-simple-worktree styles"),e.effect(()=>qa(e),"dsh-simple-worktree locale");let a=co(e.connection),t=e.workspaces,o=e.sessions,r=e.get("locale"),u=e.get("workspaceExtensions"),s=new Set;e.effect(()=>{if(!(!r||typeof r.subscribe!="function"||!u))return r.subscribe(()=>u.invalidate())},"dsh-simple-worktree locale refresh");let l=new Set,i=!0,n=()=>{},c=0,m=async()=>{let I=++c,h=t.list.getSnapshot().items,d=await Promise.all(h.map(async p=>{try{return await a.classify(p.path)}catch{return}}));if(!(!i||I!==c)){s.clear(),l.clear();for(let p of d)p?.isGit&&p.path&&s.add(F(p.path)),p?.isWorktree&&p.path&&l.add(F(p.path));u?.invalidate()}};e.effect(()=>u?u.register({id:"dsh-simple-worktree",menuItem(h){let d=F(h.path);if(!(!s.has(d)||l.has(d)))return{id:"dsh-simple-worktree.create",label:Pe("createWorktree"),icon:(0,we.jsx)(Me,{}),order:30,onSelect:()=>n(h)}},deleteWorkspace(h){let d=F(h.path);if(l.has(d))return(async()=>{let p=await a.classify(h.path);!p.isWorktree||!p.repoPath||(await a.remove({repoPath:p.repoPath,path:h.path}),await t.delete(h.workspaceId),s.delete(d),l.delete(d),u?.invalidate())})()},icon(h){return l.has(F(h.path))?(0,we.jsx)(Me,{}):void 0}}):void 0,"dsh-simple-worktree workspace extensions"),e.effect(()=>{i=!0;let I=t.list.subscribe(()=>{m()});return m(),()=>{i=!1,c+=1,I()}},"dsh-simple-worktree workspace classification");function x(){let[I,h]=(0,Qe.useState)(null);return(0,Qe.useEffect)(()=>(n=(d,p="current")=>h({target:d,defaultBaseChoice:p}),()=>{n=()=>{}}),[]),I?(0,we.jsx)(fo,{target:I.target,api:a,workspaces:t,sessions:o,defaultBaseChoice:I.defaultBaseChoice,onCreated:d=>{s.add(F(d)),l.add(F(d)),u?.invalidate()},onClose:()=>h(null)}):null}e.slots.inject("conversation.input.dock",()=>e.slots.register({name:"conversation.input.dock",id:"dsh-simple-worktree-new-session",order:-30,locale:se,label:()=>Pe("createWorktree")},I=>(0,we.jsx)(no,{session:I.session,useWorkspaces:I.useWorkspaces,onOpen:h=>n(h,"main")}))),e.slots.inject("shell.overlay",()=>e.slots.register({name:"shell.overlay",id:"dsh-simple-worktree-create",order:30,locale:se,label:()=>Pe("createWorktree")},x)),e.slots.inject("settings.plugin.item",()=>e.slots.register({name:"settings.plugin.item",key:se,locale:se,inject:()=>({})},()=>(0,we.jsx)(io,{api:a,workspaces:t,sessions:o})))}};var Wr=mo;
|
|
152
175
|
/*! Bundled license information:
|
|
153
176
|
|
|
154
177
|
lucide-react/dist/esm/shared/src/utils.js:
|
|
@@ -157,6 +180,7 @@ lucide-react/dist/esm/Icon.js:
|
|
|
157
180
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
158
181
|
lucide-react/dist/esm/icons/circle-alert.js:
|
|
159
182
|
lucide-react/dist/esm/icons/loader-circle.js:
|
|
183
|
+
lucide-react/dist/esm/icons/refresh-cw.js:
|
|
160
184
|
lucide-react/dist/esm/icons/x.js:
|
|
161
185
|
lucide-react/dist/esm/lucide-react.js:
|
|
162
186
|
(**
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { installSettingsSection, settingsNamespace } from '@deepseek-ai/dsh-settings'
|
|
2
|
+
import z from '@deepseek-ai/schemastery'
|
|
3
|
+
|
|
1
4
|
const CHANNEL = '/dsh-simple-worktree'
|
|
5
|
+
const SETTINGS_NS = settingsNamespace('dsh-simple-worktree')
|
|
6
|
+
const SETTINGS_SCHEMA = z.object({})
|
|
2
7
|
|
|
3
8
|
export const ok = (value) => ({ ok: true, value })
|
|
4
9
|
export const fail = (code, message, details = {}) => ({
|
|
@@ -108,13 +113,23 @@ export async function recover(operation, classify) {
|
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
export const classifyGitError = (message) => message.includes('not a git repository')
|
|
111
|
-
? '
|
|
112
|
-
:
|
|
116
|
+
? 'not-git-repository'
|
|
117
|
+
: message.includes('is not a working tree') || message.includes('No such file or directory')
|
|
118
|
+
? 'worktree-unavailable'
|
|
119
|
+
: undefined
|
|
113
120
|
|
|
114
121
|
export const name = '@alpacachen/dsh-simple-worktree'
|
|
115
|
-
export const inject = ['connection', 'subprocess']
|
|
122
|
+
export const inject = ['connection', 'subprocess', 'settings']
|
|
116
123
|
|
|
117
124
|
export function apply(ctx) {
|
|
125
|
+
if (typeof ctx.inject === 'function') {
|
|
126
|
+
ctx.inject(['settings'], (settingsCtx) => {
|
|
127
|
+
installSettingsSection(settingsCtx, SETTINGS_NS, SETTINGS_SCHEMA, {}, {
|
|
128
|
+
setSource: () => {},
|
|
129
|
+
onChange: () => {},
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
}
|
|
118
133
|
ctx.effect(() => ctx.connection.rpc.handle(CHANNEL, async (endpoint, payload = {}, signal) => {
|
|
119
134
|
if (signal?.aborted) return fail('cancelled', 'The request was cancelled.')
|
|
120
135
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alpacachen/dsh-simple-worktree",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "A Git worktree plugin for DeepSeek Harness that creates task branches, registers worktrees as DSH Workspaces, and opens isolated sessions.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -49,7 +49,9 @@
|
|
|
49
49
|
"prepublishOnly": "pnpm test"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@deepseek-ai/cordis": "^4.0.1"
|
|
52
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
53
|
+
"@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
|
|
54
|
+
"@deepseek-ai/schemastery": "^3.18.1"
|
|
53
55
|
},
|
|
54
56
|
"dsh": {
|
|
55
57
|
"bundle": {
|
|
@@ -60,13 +62,16 @@
|
|
|
60
62
|
"@deepseek-ai/dsh-client-connection",
|
|
61
63
|
"@deepseek-ai/dsh-client-runtime",
|
|
62
64
|
"@deepseek-ai/dsh-client-ui-slots",
|
|
63
|
-
"@deepseek-ai/dsh-client-ui-workspace"
|
|
65
|
+
"@deepseek-ai/dsh-client-ui-workspace",
|
|
66
|
+
"@deepseek-ai/dsh-client-ui-settings-plugins"
|
|
64
67
|
],
|
|
65
68
|
"platform": "web"
|
|
66
69
|
}
|
|
67
70
|
},
|
|
68
71
|
"devDependencies": {
|
|
69
72
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
73
|
+
"@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
|
|
74
|
+
"@deepseek-ai/schemastery": "^3.18.1",
|
|
70
75
|
"@testing-library/react": "16.3.2",
|
|
71
76
|
"@testing-library/user-event": "14.6.5",
|
|
72
77
|
"@types/node": "^22.10.0",
|