@puddle-code/cli 0.0.50 → 0.0.51

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.
Files changed (25) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/index.js +6 -4
  3. package/dist/public/assets/{Dashboard-CPTcEoOY.js → Dashboard-BVhpOZWL.js} +1 -1
  4. package/dist/public/assets/{EditorTabClose-D_g-nXA4.js → EditorTabClose-BBeGhcin.js} +1 -1
  5. package/dist/public/assets/{LazyTerminal-D2ezwJwz.js → LazyTerminal-dobHNDnL.js} +2 -2
  6. package/dist/public/assets/{ModelRefcount-CWWyc39m.js → ModelRefcount-Bh-Gx_um.js} +1 -1
  7. package/dist/public/assets/{PaneEditorBody-fOjRbUcT.js → PaneEditorBody-DeInskNr.js} +2 -2
  8. package/dist/public/assets/{SettingsDialog-DlqCTTWT.js → SettingsDialog-B-y1ZE4i.js} +1 -1
  9. package/dist/public/assets/{Terminal-Bk_HBSg7.js → Terminal-ChnHAaOZ.js} +2 -2
  10. package/dist/public/assets/{Workspace-HoEmqQBB.js → Workspace-DdkhBJEw.js} +3 -3
  11. package/dist/public/assets/{buffer-store-CNHgBtaq.js → buffer-store-CtR80J8K.js} +2 -2
  12. package/dist/public/assets/{context-menu-DSEe1JC0.js → context-menu-D2IgAJf3.js} +1 -1
  13. package/dist/public/assets/{cssMode-DMU6WtF9.js → cssMode-D0_hzalo.js} +1 -1
  14. package/dist/public/assets/{editor-context-B4vRC3Ax.js → editor-context-ZCl2hgXk.js} +1 -1
  15. package/dist/public/assets/{editor-sync-CHJNmV8G.js → editor-sync-DoqKyrPU.js} +1 -1
  16. package/dist/public/assets/{file-links-B_YWa9L6.js → file-links-Cv4u-85W.js} +1 -1
  17. package/dist/public/assets/{hotkeys-C1l8zghv.js → hotkeys-uS50-PkH.js} +1 -1
  18. package/dist/public/assets/{htmlMode-Ct2onMue.js → htmlMode-CfxGDG5X.js} +1 -1
  19. package/dist/public/assets/{index-C2IYh_pk.js → index-V87RMkBD.js} +3 -3
  20. package/dist/public/assets/{jsonMode-DQuya6JO.js → jsonMode-BJ8glT_6.js} +1 -1
  21. package/dist/public/assets/{session-seed-Be24LuG5.js → session-seed-BXfZcX7t.js} +1 -1
  22. package/dist/public/assets/{tsMode-DW1uoWNb.js → tsMode-QThqdAds.js} +1 -1
  23. package/dist/public/assets/{use-find-controls-ThBATzqc.js → use-find-controls-XCU2T3Mk.js} +1 -1
  24. package/dist/public/index.html +3 -3
  25. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,9 @@ Past releases: see docs/changelogs/.
7
7
 
8
8
  # Changelog
9
9
 
10
- ## [0.0.50] — 2026-08-14
10
+ ## [0.0.51] — 2026-08-16
11
11
 
12
12
  ### Fixed
13
13
 
14
- - Restore every coding-agent and shell terminal from a daemon-persisted screen and scrollback snapshot so leaving and returning cannot replay a partial redraw as a blank screen.
14
+ - Keep terminal and rendered-file searches visible and navigable without crashing the workspace or detaching their highlights.
15
+ - Copy a captured environment variable's value, rather than its literal name, when its name is clicked.
package/dist/index.js CHANGED
@@ -4260,7 +4260,7 @@ import {
4260
4260
  import { dirname as dirname3, join as join4, resolve } from "node:path";
4261
4261
 
4262
4262
  // ../shared/src/protocol.ts
4263
- var PROTOCOL_VERSION = { major: 16, minor: 1 };
4263
+ var PROTOCOL_VERSION = { major: 16, minor: 2 };
4264
4264
 
4265
4265
  // ../../node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js
4266
4266
  var external_exports = {};
@@ -19259,7 +19259,8 @@ var migrateSessionRequestSchema = external_exports.object({ account_id: rowId })
19259
19259
  var handoffSessionRequestSchema = external_exports.object({ account_id: rowId });
19260
19260
  var sessionEnvVarSchema = external_exports.object({
19261
19261
  name: external_exports.string(),
19262
- bytes: external_exports.number().int().nonnegative()
19262
+ bytes: external_exports.number().int().nonnegative(),
19263
+ value: external_exports.string().optional()
19263
19264
  });
19264
19265
  var sessionEnvResponseSchema = external_exports.object({
19265
19266
  vars: external_exports.array(sessionEnvVarSchema)
@@ -19842,7 +19843,7 @@ import { readFileSync } from "node:fs";
19842
19843
  import { dirname, join as join2 } from "node:path";
19843
19844
  import { fileURLToPath } from "node:url";
19844
19845
  function cliVersion() {
19845
- if (true) return "0.0.50";
19846
+ if (true) return "0.0.51";
19846
19847
  const here = dirname(fileURLToPath(import.meta.url));
19847
19848
  for (const candidate of [
19848
19849
  join2(here, "..", "..", "package.json"),
@@ -20194,7 +20195,8 @@ var RELEASE_PROTOCOLS = {
20194
20195
  "0.0.47": { major: 16, minor: 1 },
20195
20196
  "0.0.48": { major: 16, minor: 1 },
20196
20197
  "0.0.49": { major: 16, minor: 1 },
20197
- "0.0.50": { major: 16, minor: 1 }
20198
+ "0.0.50": { major: 16, minor: 1 },
20199
+ "0.0.51": { major: 16, minor: 2 }
20198
20200
  };
20199
20201
  function validProtocol(value) {
20200
20202
  if (typeof value !== "object" || value === null) return false;
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,r}from"./x-BJOrp_m5.js";import{_t as i,et as a,ft as o,it as s,p as c,st as l,tt as u,v as d,wt as f}from"./hotkeys-C1l8zghv.js";import{a as p,h as m,i as h,n as g,o as _,t as v}from"./dialog-DjL0qoAv.js";import{a as y,c as b,i as x,o as S,s as C,t as w}from"./LazyTerminal-D2ezwJwz.js";import{A as T,M as E,c as D,j as O,k,n as A,r as j,t as M}from"./context-menu-DSEe1JC0.js";import{r as N}from"./dist-DDFe8e3m.js";import{At as P,Ut as F,at as I,ct as L,lt as R,st as z,wt as B}from"./index-C2IYh_pk.js";var V=e(t(),1),H=n(),U=!1;function W(){let[e,t]=(0,V.useState)(U),[n,r]=(0,V.useState)(null);(0,V.useEffect)(()=>{if(!e)return;let t=!1;return R.spawnShell(f).then(e=>{t||r(e)}),()=>{t=!0}},[e]);let i=()=>{U=!1,t(!1),r(null)};return{open:e,term:n,toggle:()=>{e?(n&&R.killShell(f,n),i()):(U=!0,t(!0))},onExit:i}}function G({term:e,onExit:t}){return(0,H.jsx)(`div`,{className:`h-72 shrink-0 pb-6`,children:(0,H.jsx)(`div`,{className:`mx-auto size-full max-w-4xl px-6`,children:e!==null&&(0,H.jsx)(w,{stream:`home`,term:e,onExit:t})})})}var K=[{status:`running`,colour:`bg-running`},{status:`waiting_input`,colour:`bg-waiting`},{status:`interrupted`,colour:`bg-interrupted`}];function q({projectId:e}){let t=i(e),n=(0,V.useMemo)(()=>{let e=new Map;for(let n of t.data??[])e.set(n.status,(e.get(n.status)??0)+1);return e},[t.data]),r=(t.data??[]).filter(e=>e.status!==`archived`).length;return(0,H.jsxs)(`div`,{className:`flex items-center gap-3 text-2xs text-fg-muted tabular-nums`,children:[(0,H.jsxs)(`span`,{children:[r,` session`,r===1?``:`s`]}),K.map(({status:e,colour:t})=>{let r=n.get(e)??0;return r===0?null:(0,H.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`size-1.5 rounded-full ${t}`}),r,` `,e.replace(`_`,` `)]},e)})]})}function J({icon:e,label:t,onClick:n}){return(0,H.jsx)(`button`,{type:`button`,"aria-label":t,title:t,onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:`flex items-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-ground hover:text-fg`,children:(0,H.jsx)(e,{className:`size-4`})})}function Y({project:e,repoPath:t,draggable:n,dragging:i,onDragStart:a,onDragEnd:o,onDragOver:s}){let c=u(),[l,d]=(0,V.useState)(!1),[f,S]=(0,V.useState)(e.name),[w,T]=(0,V.useState)(L(e)),k=t=>c.mutate({id:e.id,archived:t},{onError:e=>x(e)}),N=()=>{S(e.name),T(L(e)),d(!0)},P=()=>{let t=f.trim(),n=z(w);if(!t){d(!1);return}let r={...t===e.name?{}:{name:t},...n&&n!==L(e)?{abbrev:n}:{}};if(Object.keys(r).length===0){d(!1);return}c.mutate({id:e.id,...r},{onSuccess:()=>d(!1),onError:e=>x(e)})};return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(M,{children:[(0,H.jsx)(D,{asChild:!0,children:(0,H.jsxs)(`div`,{draggable:n,onDragStart:a,onDragEnd:o,onDragOver:s,className:r(`group relative transition-opacity`,i&&`opacity-50`),children:[(0,H.jsxs)(F,{draggable:!1,to:`/project/${e.id}`,className:`block rounded-lg bg-surface p-4 transition-colors hover:bg-elevated`,children:[(0,H.jsx)(`h2`,{className:`truncate pr-16 text-base font-semibold text-fg group-hover:text-accent`,children:e.name}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:t??`…`}),(0,H.jsx)(`div`,{className:`mt-3`,children:(0,H.jsx)(q,{projectId:e.id})})]}),(0,H.jsx)(`div`,{className:`absolute right-2 top-2 hidden gap-0.5 group-hover:flex has-[[data-state=open]]:flex pointer-coarse:flex`,children:e.archived?(0,H.jsx)(J,{icon:E,label:`Reopen project`,onClick:()=>k(!1)}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(J,{icon:y,label:`Edit project`,onClick:N}),(0,H.jsx)(J,{icon:O,label:`Archive project`,onClick:()=>k(!0)})]})})]})}),(0,H.jsx)(A,{children:e.archived?(0,H.jsxs)(j,{onSelect:()=>k(!1),children:[(0,H.jsx)(E,{}),` Reopen`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(j,{onSelect:N,children:[(0,H.jsx)(y,{}),` Edit`]}),(0,H.jsxs)(j,{onSelect:()=>k(!0),children:[(0,H.jsx)(O,{}),` Archive`]})]})})]}),(0,H.jsx)(v,{open:l,onOpenChange:d,children:(0,H.jsxs)(g,{children:[(0,H.jsx)(p,{children:(0,H.jsx)(_,{children:`Edit project`})}),(0,H.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),P()},children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(C,{htmlFor:`project-name-${e.id}`,children:`Name`}),(0,H.jsx)(b,{id:`project-name-${e.id}`,value:f,onChange:e=>S(e.target.value),autoFocus:!0})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(C,{htmlFor:`project-abbrev-${e.id}`,children:`Abbreviation`}),(0,H.jsx)(b,{id:`project-abbrev-${e.id}`,maxLength:5,value:w,onChange:e=>T(z(e.target.value)),className:`w-24 uppercase`}),(0,H.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the label on the collapsed sidebar rail.`]})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsx)(C,{className:`text-fg-muted`,children:`Path`}),(0,H.jsx)(`p`,{className:`truncate text-2xs text-fg-muted`,children:t??`…`})]}),(0,H.jsxs)(h,{children:[(0,H.jsx)(m,{type:`button`,variant:`ghost`,onClick:()=>d(!1),children:`Cancel`}),(0,H.jsx)(m,{type:`submit`,disabled:!f.trim()||c.isPending,children:`Save`})]})]})]})})]})}function X({icon:e,label:t,hint:n,onClick:r}){return(0,H.jsxs)(`button`,{type:`button`,onClick:r,className:`group flex flex-col rounded-lg bg-surface p-4 text-left transition-colors hover:bg-elevated`,children:[(0,H.jsxs)(`h2`,{className:`flex items-center gap-2 truncate text-base font-semibold text-fg group-hover:text-accent`,children:[(0,H.jsx)(e,{className:`size-4 shrink-0`}),t]}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:n})]})}function Z(){let e=d(),t=l(e??void 0),n=o(),i=s(e??void 0),u=a(e??``),[f,p]=(0,V.useState)(!1),[m,h]=(0,V.useState)(null),[g,_]=(0,V.useState)(!1),v=W(),y=c(`palette.toggle`),b=e=>n.data?.find(t=>t.id===e)?.path,x=t.data??[],C=i.data?.projectOrder??[],w=k(x.filter(e=>!e.archived),C),E=x.filter(e=>e.archived),D=(e,t)=>{e!==t&&u.mutate({projectOrder:T(w.map(e=>e.id),e,t)})};return(0,H.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,H.jsxs)(`div`,{className:`mx-auto max-w-4xl p-6`,children:[x.length===0&&(0,H.jsxs)(`div`,{className:`mb-8 mt-16 flex flex-col items-center gap-3 text-center`,children:[(0,H.jsx)(S,{className:`size-8 text-fg-muted`}),(0,H.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[`No projects yet — open one below, or press `,y,`.`]})]}),(0,H.jsxs)(`div`,{className:`grid auto-rows-fr grid-cols-1 gap-3 sm:grid-cols-2`,children:[w.map(e=>(0,H.jsx)(Y,{project:e,repoPath:b(e.repo_id),draggable:!0,dragging:m===e.id,onDragStart:()=>h(e.id),onDragEnd:()=>h(null),onDragOver:t=>{t.preventDefault(),m&&m!==e.id&&D(m,e.id)}},e.id)),(0,H.jsx)(X,{icon:P,label:`Open project`,hint:`Point at a repository on this host`,onClick:()=>p(!0)}),(0,H.jsx)(X,{icon:B,label:v.open?`Close terminal`:`Open terminal`,hint:v.open?`End the shell below`:`A shell at ~ for cloning repositories`,onClick:v.toggle})]}),E.length>0&&(0,H.jsxs)(`div`,{className:`mt-6`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>_(e=>!e),className:`flex items-center gap-1.5 px-1 py-1.5 text-2xs uppercase tracking-wide text-fg-muted transition-colors hover:text-fg`,children:[(0,H.jsx)(N,{className:r(`size-3 transition-transform`,g&&`rotate-90`)}),(0,H.jsx)(O,{className:`size-3`}),(0,H.jsx)(`span`,{children:`Archived`}),(0,H.jsx)(`span`,{className:`tabular-nums`,children:E.length})]}),g&&(0,H.jsx)(`div`,{className:`mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:E.map(e=>(0,H.jsx)(Y,{project:e,repoPath:b(e.repo_id),draggable:!1,dragging:!1,onDragStart:()=>{},onDragEnd:()=>{},onDragOver:()=>{}},e.id))})]})]})}),v.open&&(0,H.jsx)(G,{term:v.term,onExit:v.onExit}),e!==null&&(0,H.jsx)(I,{profileId:e,open:f,onOpenChange:p})]})}export{Z as Dashboard};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,r}from"./x-BJOrp_m5.js";import{_t as i,et as a,ft as o,it as s,p as c,st as l,tt as u,v as d,wt as f}from"./hotkeys-uS50-PkH.js";import{a as p,h as m,i as h,n as g,o as _,t as v}from"./dialog-DjL0qoAv.js";import{a as y,c as b,i as x,o as S,s as C,t as w}from"./LazyTerminal-dobHNDnL.js";import{A as T,M as E,c as D,j as O,k,n as A,r as j,t as M}from"./context-menu-D2IgAJf3.js";import{r as N}from"./dist-DDFe8e3m.js";import{At as P,Ut as F,at as I,ct as L,lt as R,st as z,wt as B}from"./index-V87RMkBD.js";var V=e(t(),1),H=n(),U=!1;function W(){let[e,t]=(0,V.useState)(U),[n,r]=(0,V.useState)(null);(0,V.useEffect)(()=>{if(!e)return;let t=!1;return R.spawnShell(f).then(e=>{t||r(e)}),()=>{t=!0}},[e]);let i=()=>{U=!1,t(!1),r(null)};return{open:e,term:n,toggle:()=>{e?(n&&R.killShell(f,n),i()):(U=!0,t(!0))},onExit:i}}function G({term:e,onExit:t}){return(0,H.jsx)(`div`,{className:`h-72 shrink-0 pb-6`,children:(0,H.jsx)(`div`,{className:`mx-auto size-full max-w-4xl px-6`,children:e!==null&&(0,H.jsx)(w,{stream:`home`,term:e,onExit:t})})})}var K=[{status:`running`,colour:`bg-running`},{status:`waiting_input`,colour:`bg-waiting`},{status:`interrupted`,colour:`bg-interrupted`}];function q({projectId:e}){let t=i(e),n=(0,V.useMemo)(()=>{let e=new Map;for(let n of t.data??[])e.set(n.status,(e.get(n.status)??0)+1);return e},[t.data]),r=(t.data??[]).filter(e=>e.status!==`archived`).length;return(0,H.jsxs)(`div`,{className:`flex items-center gap-3 text-2xs text-fg-muted tabular-nums`,children:[(0,H.jsxs)(`span`,{children:[r,` session`,r===1?``:`s`]}),K.map(({status:e,colour:t})=>{let r=n.get(e)??0;return r===0?null:(0,H.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`size-1.5 rounded-full ${t}`}),r,` `,e.replace(`_`,` `)]},e)})]})}function J({icon:e,label:t,onClick:n}){return(0,H.jsx)(`button`,{type:`button`,"aria-label":t,title:t,onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:`flex items-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-ground hover:text-fg`,children:(0,H.jsx)(e,{className:`size-4`})})}function Y({project:e,repoPath:t,draggable:n,dragging:i,onDragStart:a,onDragEnd:o,onDragOver:s}){let c=u(),[l,d]=(0,V.useState)(!1),[f,S]=(0,V.useState)(e.name),[w,T]=(0,V.useState)(L(e)),k=t=>c.mutate({id:e.id,archived:t},{onError:e=>x(e)}),N=()=>{S(e.name),T(L(e)),d(!0)},P=()=>{let t=f.trim(),n=z(w);if(!t){d(!1);return}let r={...t===e.name?{}:{name:t},...n&&n!==L(e)?{abbrev:n}:{}};if(Object.keys(r).length===0){d(!1);return}c.mutate({id:e.id,...r},{onSuccess:()=>d(!1),onError:e=>x(e)})};return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(M,{children:[(0,H.jsx)(D,{asChild:!0,children:(0,H.jsxs)(`div`,{draggable:n,onDragStart:a,onDragEnd:o,onDragOver:s,className:r(`group relative transition-opacity`,i&&`opacity-50`),children:[(0,H.jsxs)(F,{draggable:!1,to:`/project/${e.id}`,className:`block rounded-lg bg-surface p-4 transition-colors hover:bg-elevated`,children:[(0,H.jsx)(`h2`,{className:`truncate pr-16 text-base font-semibold text-fg group-hover:text-accent`,children:e.name}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:t??`…`}),(0,H.jsx)(`div`,{className:`mt-3`,children:(0,H.jsx)(q,{projectId:e.id})})]}),(0,H.jsx)(`div`,{className:`absolute right-2 top-2 hidden gap-0.5 group-hover:flex has-[[data-state=open]]:flex pointer-coarse:flex`,children:e.archived?(0,H.jsx)(J,{icon:E,label:`Reopen project`,onClick:()=>k(!1)}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(J,{icon:y,label:`Edit project`,onClick:N}),(0,H.jsx)(J,{icon:O,label:`Archive project`,onClick:()=>k(!0)})]})})]})}),(0,H.jsx)(A,{children:e.archived?(0,H.jsxs)(j,{onSelect:()=>k(!1),children:[(0,H.jsx)(E,{}),` Reopen`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(j,{onSelect:N,children:[(0,H.jsx)(y,{}),` Edit`]}),(0,H.jsxs)(j,{onSelect:()=>k(!0),children:[(0,H.jsx)(O,{}),` Archive`]})]})})]}),(0,H.jsx)(v,{open:l,onOpenChange:d,children:(0,H.jsxs)(g,{children:[(0,H.jsx)(p,{children:(0,H.jsx)(_,{children:`Edit project`})}),(0,H.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),P()},children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(C,{htmlFor:`project-name-${e.id}`,children:`Name`}),(0,H.jsx)(b,{id:`project-name-${e.id}`,value:f,onChange:e=>S(e.target.value),autoFocus:!0})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(C,{htmlFor:`project-abbrev-${e.id}`,children:`Abbreviation`}),(0,H.jsx)(b,{id:`project-abbrev-${e.id}`,maxLength:5,value:w,onChange:e=>T(z(e.target.value)),className:`w-24 uppercase`}),(0,H.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the label on the collapsed sidebar rail.`]})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsx)(C,{className:`text-fg-muted`,children:`Path`}),(0,H.jsx)(`p`,{className:`truncate text-2xs text-fg-muted`,children:t??`…`})]}),(0,H.jsxs)(h,{children:[(0,H.jsx)(m,{type:`button`,variant:`ghost`,onClick:()=>d(!1),children:`Cancel`}),(0,H.jsx)(m,{type:`submit`,disabled:!f.trim()||c.isPending,children:`Save`})]})]})]})})]})}function X({icon:e,label:t,hint:n,onClick:r}){return(0,H.jsxs)(`button`,{type:`button`,onClick:r,className:`group flex flex-col rounded-lg bg-surface p-4 text-left transition-colors hover:bg-elevated`,children:[(0,H.jsxs)(`h2`,{className:`flex items-center gap-2 truncate text-base font-semibold text-fg group-hover:text-accent`,children:[(0,H.jsx)(e,{className:`size-4 shrink-0`}),t]}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:n})]})}function Z(){let e=d(),t=l(e??void 0),n=o(),i=s(e??void 0),u=a(e??``),[f,p]=(0,V.useState)(!1),[m,h]=(0,V.useState)(null),[g,_]=(0,V.useState)(!1),v=W(),y=c(`palette.toggle`),b=e=>n.data?.find(t=>t.id===e)?.path,x=t.data??[],C=i.data?.projectOrder??[],w=k(x.filter(e=>!e.archived),C),E=x.filter(e=>e.archived),D=(e,t)=>{e!==t&&u.mutate({projectOrder:T(w.map(e=>e.id),e,t)})};return(0,H.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,H.jsxs)(`div`,{className:`mx-auto max-w-4xl p-6`,children:[x.length===0&&(0,H.jsxs)(`div`,{className:`mb-8 mt-16 flex flex-col items-center gap-3 text-center`,children:[(0,H.jsx)(S,{className:`size-8 text-fg-muted`}),(0,H.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[`No projects yet — open one below, or press `,y,`.`]})]}),(0,H.jsxs)(`div`,{className:`grid auto-rows-fr grid-cols-1 gap-3 sm:grid-cols-2`,children:[w.map(e=>(0,H.jsx)(Y,{project:e,repoPath:b(e.repo_id),draggable:!0,dragging:m===e.id,onDragStart:()=>h(e.id),onDragEnd:()=>h(null),onDragOver:t=>{t.preventDefault(),m&&m!==e.id&&D(m,e.id)}},e.id)),(0,H.jsx)(X,{icon:P,label:`Open project`,hint:`Point at a repository on this host`,onClick:()=>p(!0)}),(0,H.jsx)(X,{icon:B,label:v.open?`Close terminal`:`Open terminal`,hint:v.open?`End the shell below`:`A shell at ~ for cloning repositories`,onClick:v.toggle})]}),E.length>0&&(0,H.jsxs)(`div`,{className:`mt-6`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>_(e=>!e),className:`flex items-center gap-1.5 px-1 py-1.5 text-2xs uppercase tracking-wide text-fg-muted transition-colors hover:text-fg`,children:[(0,H.jsx)(N,{className:r(`size-3 transition-transform`,g&&`rotate-90`)}),(0,H.jsx)(O,{className:`size-3`}),(0,H.jsx)(`span`,{children:`Archived`}),(0,H.jsx)(`span`,{className:`tabular-nums`,children:E.length})]}),g&&(0,H.jsx)(`div`,{className:`mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:E.map(e=>(0,H.jsx)(Y,{project:e,repoPath:b(e.repo_id),draggable:!1,dragging:!1,onDragStart:()=>{},onDragEnd:()=>{},onDragOver:()=>{}},e.id))})]})]})}),v.open&&(0,H.jsx)(G,{term:v.term,onExit:v.onExit}),e!==null&&(0,H.jsx)(I,{profileId:e,open:f,onOpenChange:p})]})}export{Z as Dashboard};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,n as r,t as i}from"./x-BJOrp_m5.js";import{a,h as o,i as s,n as c,o as l,r as u,t as d}from"./dialog-DjL0qoAv.js";import{l as f,r as p,t as m}from"./buffer-store-CNHgBtaq.js";import{s as h,t as g}from"./editor-sync-CHJNmV8G.js";var _=r(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),v=e(t(),1),y=n();function b(e,t,n){let r=m(e,t,n);return(0,v.useSyncExternalStore)((0,v.useCallback)(e=>f(r,e),[r]),()=>p(r))}function x({session:e,path:t,kind:n,root:r}){return b(e,t,r)&&n!==`commit`?(0,y.jsx)(_,{"aria-hidden":!0,className:`size-2 shrink-0 fill-current text-fg-muted group-hover:hidden`}):null}function S({session:e,path:t,kind:n,root:r,label:f,onClose:p}){let m=b(e,t,r)&&n!==`commit`,[_,x]=(0,v.useState)(!1),S=()=>m?x(!0):p();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`button`,{onClick:e=>{e.stopPropagation(),S()},className:`hidden size-4 items-center justify-center rounded-sm text-fg-muted transition-colors hover:text-fg group-hover:flex pointer-coarse:flex`,"aria-label":`Close ${f}`,children:(0,y.jsx)(i,{className:`size-3`})}),(0,y.jsx)(d,{open:_,onOpenChange:e=>!e&&x(!1),children:(0,y.jsxs)(c,{children:[(0,y.jsxs)(a,{children:[(0,y.jsxs)(l,{children:[`Discard changes to `,f,`?`]}),(0,y.jsx)(u,{children:`This file has unsaved changes. Closing the tab will discard them.`})]}),(0,y.jsxs)(s,{children:[(0,y.jsx)(o,{variant:`ghost`,onClick:()=>x(!1),children:`Keep editing`}),(0,y.jsx)(o,{variant:`danger`,onClick:()=>{h(e,t,r),g(e,t,r),x(!1),p()},children:`Discard`})]})]})})]})}export{x as EditorDirtyDot,S as EditorTabClose};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,n as r,t as i}from"./x-BJOrp_m5.js";import{a,h as o,i as s,n as c,o as l,r as u,t as d}from"./dialog-DjL0qoAv.js";import{l as f,r as p,t as m}from"./buffer-store-CtR80J8K.js";import{s as h,t as g}from"./editor-sync-DoqKyrPU.js";var _=r(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),v=e(t(),1),y=n();function b(e,t,n){let r=m(e,t,n);return(0,v.useSyncExternalStore)((0,v.useCallback)(e=>f(r,e),[r]),()=>p(r))}function x({session:e,path:t,kind:n,root:r}){return b(e,t,r)&&n!==`commit`?(0,y.jsx)(_,{"aria-hidden":!0,className:`size-2 shrink-0 fill-current text-fg-muted group-hover:hidden`}):null}function S({session:e,path:t,kind:n,root:r,label:f,onClose:p}){let m=b(e,t,r)&&n!==`commit`,[_,x]=(0,v.useState)(!1),S=()=>m?x(!0):p();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`button`,{onClick:e=>{e.stopPropagation(),S()},className:`hidden size-4 items-center justify-center rounded-sm text-fg-muted transition-colors hover:text-fg group-hover:flex pointer-coarse:flex`,"aria-label":`Close ${f}`,children:(0,y.jsx)(i,{className:`size-3`})}),(0,y.jsx)(d,{open:_,onOpenChange:e=>!e&&x(!1),children:(0,y.jsxs)(c,{children:[(0,y.jsxs)(a,{children:[(0,y.jsxs)(l,{children:[`Discard changes to `,f,`?`]}),(0,y.jsx)(u,{children:`This file has unsaved changes. Closing the tab will discard them.`})]}),(0,y.jsxs)(s,{children:[(0,y.jsx)(o,{variant:`ghost`,onClick:()=>x(!1),children:`Keep editing`}),(0,y.jsx)(o,{variant:`danger`,onClick:()=>{h(e,t,r),g(e,t,r),x(!1),p()},children:`Discard`})]})]})})]})}export{x as EditorDirtyDot,S as EditorTabClose};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Terminal-Bk_HBSg7.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/x-BJOrp_m5.js","assets/hotkeys-C1l8zghv.js","assets/file-links-B_YWa9L6.js","assets/index-C2IYh_pk.js","assets/preload-helper-Czpn1I53.js","assets/dialog-DjL0qoAv.js","assets/index-Du89SpLI.css","assets/use-find-controls-ThBATzqc.js","assets/chevron-down-59O6CgEo.js","assets/Terminal-BrP-ENHg.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,n as r,o as i,r as a}from"./x-BJOrp_m5.js";import{Vt as o}from"./hotkeys-C1l8zghv.js";import{t as s}from"./preload-helper-Czpn1I53.js";import{C as c,D as l,S as u,b as d,k as f}from"./dialog-DjL0qoAv.js";var p=e(t(),1),m=[`top`,`right`,`bottom`,`left`],h=Math.min,g=Math.max,_=Math.round,v=Math.floor,y=e=>({x:e,y:e}),b={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function x(e,t,n){return g(e,h(t,n))}function S(e,t){return typeof e==`function`?e(t):e}function C(e){return e.split(`-`)[0]}function w(e){return e.split(`-`)[1]}function T(e){return e===`x`?`y`:`x`}function E(e){return e===`y`?`height`:`width`}function D(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function O(e){return T(D(e))}function k(e,t,n){n===void 0&&(n=!1);let r=w(e),i=O(e),a=E(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=R(o)),[o,R(o)]}function A(e){let t=R(e);return[j(e),t,j(t)]}function j(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var M=[`left`,`right`],N=[`right`,`left`],P=[`top`,`bottom`],F=[`bottom`,`top`];function I(e,t,n){switch(e){case`top`:case`bottom`:return n?t?N:M:t?M:N;case`left`:case`right`:return t?P:F;default:return[]}}function L(e,t,n,r){let i=w(e),a=I(C(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(j)))),a}function R(e){let t=C(e);return b[t]+e.slice(t.length)}function z(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ee(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:z(e)}function B(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function te(e,t,n){let{reference:r,floating:i}=e,a=D(t),o=O(t),s=E(o),c=C(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=w(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function ne(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=S(t,e),p=ee(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=B(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=B(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var re=50,ie=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ne},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=te(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<re&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=te(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ae=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=S(e,t)||{};if(l==null)return{};let d=ee(u),f={x:n,y:r},p=O(i),m=E(p),g=await o.getDimensions(l),_=p===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,C=a.reference[m]+a.reference[p]-f[p]-a.floating[m],T=f[p]-a.reference[p],D=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=D?D[b]:0;(!k||!await(o.isElement==null?void 0:o.isElement(D)))&&(k=s.floating[b]||a.floating[m]);let A=C/2-T/2,j=k/2-g[m]/2-1,M=h(d[v],j),N=h(d[y],j),P=k-g[m]-N,F=k/2-g[m]/2+A,I=x(M,F,P),L=!c.arrow&&w(i)!=null&&F!==I&&a.reference[m]/2-(F<M?M:N)-g[m]/2<0,R=L?F<M?F-M:F-P:0;return{[p]:f[p]+R,data:{[p]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),oe=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=S(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=C(r),_=D(o),v=C(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[R(o)]:A(o)),x=p!==`none`;!d&&x&&b.push(...L(o,m,p,y));let w=[o,...b],T=await s.detectOverflow(t,h),E=[],O=i.flip?.overflows||[];if(l&&E.push(T[g]),u){let e=k(r,a,y);E.push(T[e[0]],T[e[1]])}if(O=[...O,{placement:r,overflows:E}],!E.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=w[e];if(t&&(!(u===`alignment`&&_!==D(t))||O.every(e=>D(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:O},reset:{placement:t}};let n=O.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=O.filter(e=>{if(x){let t=D(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function se(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ce(e){return m.some(t=>e[t]>=0)}var le=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=S(e,t);switch(i){case`referenceHidden`:{let e=se(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ce(e)}}}case`escaped`:{let e=se(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ce(e)}}}default:return{}}}}},ue=new Set([`left`,`top`]);async function de(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=C(n),s=w(n),c=D(n)===`y`,l=ue.has(o)?-1:1,u=a&&c?-1:1,d=S(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var fe=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await de(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},pe=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=S(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=D(i),p=T(f),m=u[p],h=u[f],g=(e,t)=>x(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},me=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=S(e,t),u={x:n,y:r},d=D(i),f=T(d),p=u[f],m=u[d],h=S(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ue.has(C(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},he=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=S(e,t),c=await i.detectOverflow(t,s),l=C(n),u=w(n),d=D(n)===`y`,{width:f,height:p}=r.floating,m,_;l===`top`||l===`bottom`?(m=l,_=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(_=l,m=u===`end`?`top`:`bottom`);let v=p-c.top-c.bottom,y=f-c.left-c.right,b=h(p-c[m],v),x=h(f-c[_],y),T=t.middlewareData.shift,E=!T,O=b,k=x;T!=null&&T.enabled.x&&(k=y),T!=null&&T.enabled.y&&(O=v),E&&!u&&(d?k=f-2*g(c.left,c.right):O=p-2*g(c.top,c.bottom)),await o({...t,availableWidth:k,availableHeight:O});let A=await i.getDimensions(a.floating);return f!==A.width||p!==A.height?{reset:{rects:!0}}:{}}}};function ge(){return typeof window<`u`}function V(e){return _e(e)?(e.nodeName||``).toLowerCase():`#document`}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){return((_e(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function _e(e){return ge()?e instanceof Node||e instanceof H(e).Node:!1}function W(e){return ge()?e instanceof Element||e instanceof H(e).Element:!1}function G(e){return ge()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function ve(e){return!ge()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}function ye(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function be(e){return/^(table|td|th)$/.test(V(e))}function xe(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Se=/transform|translate|scale|rotate|perspective|filter/,Ce=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,we;function Te(e){let t=W(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!De()&&(K(t.backdropFilter)||K(t.filter))||Se.test(t.willChange||``)||Ce.test(t.contain||``)}function Ee(e){let t=Y(e);for(;G(t)&&!q(t);){if(Te(t))return t;if(xe(t))return null;t=Y(t)}return null}function De(){return we??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),we}function q(e){return/^(html|body|#document)$/.test(V(e))}function J(e){return H(e).getComputedStyle(e)}function Oe(e){return W(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(V(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ve(e)&&e.host||U(e);return ve(t)?t.host:t}function ke(e){let t=Y(e);return q(t)?(e.ownerDocument||e).body:G(t)&&ye(t)?t:ke(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ke(e),i=r===e.ownerDocument?.body,a=H(r);if(i){let e=Ae(a);return t.concat(a,a.visualViewport||[],ye(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function Ae(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function je(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=G(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=_(n)!==a||_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Me(e){return W(e)?e:e.contextElement}function Z(e){let t=Me(e);if(!G(t))return y(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=je(t),o=(a?_(n.width):n.width)/r,s=(a?_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ne=y(0);function Pe(e){let t=H(e);return!De()||!t.visualViewport?Ne:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Fe(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===H(e)}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Me(e),o=y(1);t&&(r?W(r)&&(o=Z(r)):o=Z(e));let s=Fe(a,n,r)?Pe(a):y(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=H(a),t=W(r)?H(r):r,n=e,i=Ae(n);for(;i&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=H(i),i=Ae(n)}}return B({width:u,height:d,x:c,y:l})}function Ie(e,t){let n=Oe(e).scrollLeft;return t?t.left+n:Q(U(e)).left+n}function Le(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ie(e,n),y:n.top+t.scrollTop}}function Re(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=U(r),s=t?xe(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=y(1),u=y(0),d=G(r);if((d||!a)&&((V(r)!==`body`||ye(o))&&(c=Oe(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Le(o,c):y(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function ze(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Be(e){let t=Oe(e),n=e.ownerDocument.body,r=g(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=g(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Ie(e),o=-t.scrollTop;return J(n).direction===`rtl`&&(a+=g(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ve=25;function He(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=H(e),a=U(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!De()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Ie(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ve&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ue(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Z(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function We(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=He(e,n,t);else if(t===`document`)r=Be(U(e));else if(W(t))r=Ue(t,n);else{let n=Pe(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return B(r)}function Ge(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>W(e)&&V(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;W(o)&&!q(o);){let e=J(o),t=Te(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Y(o)}return t.set(e,r),r}function Ke(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?xe(t)?[]:Ge(t,this._c):[].concat(n),r],o=We(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=We(t,a[e],i);s=g(n.top,s),c=h(n.right,c),l=h(n.bottom,l),u=g(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function qe(e){let{width:t,height:n}=je(e);return{width:t,height:n}}function Je(e,t,n){let r=G(t),i=U(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=y(0);if((r||!a)&&((V(t)!==`body`||ye(i))&&(s=Oe(t)),r)){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Ie(i));let l=i&&!r&&!a?Le(i,s):y(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ye(e){return J(e).position===`static`}function Xe(e,t){if(!G(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Ze(e,t){let n=H(e);if(xe(e))return n;if(!G(e)){let t=Y(e);for(;t&&!q(t);){if(W(t)&&!Ye(t))return t;t=Y(t)}return n}let r=Xe(e,t);for(;r&&be(r)&&Ye(r);)r=Xe(r,t);return r&&q(r)&&Ye(r)&&!Te(r)?n:r||Ee(e)||n}var Qe=async function(e){let t=this.getOffsetParent||Ze,n=this.getDimensions,r=await n(e.floating);return{reference:Je(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function $e(e){return J(e).direction===`rtl`}var et={convertOffsetParentRelativeRectToViewportRelativeRect:Re,getDocumentElement:U,getClippingRect:Ke,getOffsetParent:Ze,getElementRects:Qe,getClientRects:ze,getDimensions:qe,getScale:Z,isElement:W,isRTL:$e};function tt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nt(e,t,n){let r=null,i,a=U(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=v(d),_=v(a.clientWidth-(u+f)),y=v(a.clientHeight-(d+p)),b=v(u),x={rootMargin:-m+`px `+-_+`px `+-y+`px `+-b+`px`,threshold:g(0,h(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(!tt(l,e.getBoundingClientRect()))return s();if(n!==c){if(!S)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}S=!1}try{r=new IntersectionObserver(C,{...x,root:a.ownerDocument})}catch{r=new IntersectionObserver(C,x)}r.observe(e)}let c=H(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function rt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Me(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?nt(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!tt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var it=fe,at=pe,ot=oe,st=he,ct=le,lt=ae,ut=me,dt=(e,t,n)=>{let r=new Map,i=n??{},a={...et,...i.platform,_c:r};return ie(e,t,{...i,platform:a})},ft=e(i(),1),pt=typeof document<`u`?p.useLayoutEffect:function(){};function mt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!mt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!mt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function ht(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function gt(e,t){let n=ht(e);return Math.round(t*n)/n}function _t(e){let t=p.useRef(e);return pt(()=>{t.current=e}),t}function vt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=p.useState(r);mt(f,r)||m(r);let[h,g]=p.useState(null),[_,v]=p.useState(null),y=p.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=p.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=p.useRef(null),w=p.useRef(null),T=p.useRef(u),E=c!=null,D=_t(c),O=_t(i),k=_t(l),A=p.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),dt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!mt(T.current,t)&&(T.current=t,ft.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);pt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=p.useRef(!1);pt(()=>(j.current=!0,()=>{j.current=!1}),[]),pt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=p.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=p.useMemo(()=>({reference:x,floating:S}),[x,S]),P=p.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=gt(N.floating,u.x),r=gt(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...ht(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var yt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:lt({element:r.current,padding:i}).fn(n):r?lt({element:r,padding:i}).fn(n):{}}}},bt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},xt=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>({fn:ut(e).fn,options:[e,t]}),Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=st(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tt=(e,t)=>{let n=ct(e);return{name:n.name,fn:n.fn,options:[e,t]}},Et=(e,t)=>{let n=yt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=n(),Dt=`Arrow`,Ot=p.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,$.jsx)(c.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Ot.displayName=Dt;var kt=Ot;function At(e){let[t,n]=p.useState(void 0);return d(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var jt=`Popper`,[Mt,Nt]=l(jt),[Pt,Ft]=Mt(jt),It=e=>{let{__scopePopper:t,children:n}=e,[r,i]=p.useState(null),[a,o]=p.useState(void 0);return(0,$.jsx)(Pt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};It.displayName=jt;var Lt=`PopperAnchor`,Rt=p.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Ft(Lt,n),o=p.useRef(null),s=a.onAnchorChange,l=f(t,p.useCallback(e=>{o.current=e,e&&s(e)},[s])),u=p.useRef(null);p.useEffect(()=>{if(!r)return;let e=u.current;u.current=r.current,e!==u.current&&s(u.current)});let d=a.placementState&&Jt(a.placementState),m=d?.[0],h=d?.[1];return r?null:(0,$.jsx)(c.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...i,ref:l})});Rt.displayName=Lt;var zt=`PopperContent`,[Bt,Vt]=Mt(zt),Ht=p.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:m=[],collisionPadding:h=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Ft(zt,n),[S,C]=p.useState(null),w=f(t,C),[T,E]=p.useState(null),D=At(T),O=D?.width??0,k=D?.height??0,A=r+(a===`center`?``:`-`+a),j=typeof h==`number`?h:{top:0,right:0,bottom:0,left:0,...h},M=Array.isArray(m)?m:[m],N=M.length>0,P={padding:j,boundary:M.filter(Kt),altBoundary:N},{refs:F,floatingStyles:I,placement:L,isPositioned:R,middlewareData:z}=vt({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>rt(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[bt({mainAxis:i+k,alignmentAxis:o}),l&&xt({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?St():void 0,...P}),l&&Ct({...P}),wt({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Et({element:T,padding:s}),qt({arrowWidth:O,arrowHeight:k}),_&&Tt({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),ee=x.setPlacementState;d(()=>(ee(L),()=>{ee(void 0)}),[L,ee]);let[B,te]=Jt(L),ne=u(y);d(()=>{R&&ne?.()},[R,ne]);let re=z.arrow?.x,ie=z.arrow?.y,ae=z.arrow?.centerOffset!==0,[oe,se]=p.useState();return d(()=>{S&&se(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:F.setFloating,"data-radix-popper-content-wrapper":``,style:{...I,transform:R?I.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Bt,{scope:n,placedSide:B,placedAlign:te,onArrowChange:E,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,$.jsx)(c.div,{"data-side":B,"data-align":te,...b,ref:w,style:{...b.style,animation:R?void 0:`none`}})})})});Ht.displayName=zt;var Ut=`PopperArrow`,Wt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Gt=p.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Vt(Ut,n),a=Wt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(kt,{...r,ref:t,style:{...r.style,display:`block`}})})});Gt.displayName=Ut;function Kt(e){return e!==null}var qt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Jt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Jt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Yt=It,Xt=Rt,Zt=Ht,Qt=Gt,$t=`rounded-md bg-border/50 text-sm text-fg placeholder:text-fg-muted transition-colors hover:bg-border/80 focus:bg-border/80 disabled:cursor-not-allowed disabled:opacity-50`,en=`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,tn=`data-[highlighted]:bg-action data-[highlighted]:text-action-ink data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,nn=`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`;function rn({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,className:a(`flex h-8 w-full px-2.5`,$t,e),...n})}function an({className:e,...t}){return(0,$.jsx)(`textarea`,{className:a(`flex min-h-16 w-full px-2.5 py-2`,$t,e),...t})}var on=`Label`,sn=p.forwardRef((e,t)=>(0,$.jsx)(c.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));sn.displayName=on;var cn=sn;function ln({className:e,...t}){return(0,$.jsx)(cn,{className:a(`text-xs font-medium text-fg-secondary peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var un=r(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),dn=r(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function fn(e){o.error(pn(e),{id:`err:${pn(e)}`})}function pn(e){return e instanceof Error&&e.message.trim()!==``?e.message:typeof e==`string`&&e.trim()!==``?e:`Something went wrong`}function mn({id:e,value:t,onValueChange:n,onChoose:r,hints:i,placeholder:o,className:s,hintsClassName:c,autoFocus:l}){let[u,d]=(0,p.useState)(!1),[f,m]=(0,p.useState)(0),h=e=>{n(e.value),r?.(e),d(!1)};return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(rn,{id:e,value:t,onChange:e=>{n(e.target.value),d(!0),m(0)},onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:e=>{if(!(!u||i.length===0))if(e.key===`ArrowDown`)e.preventDefault(),m(e=>(e+1)%i.length);else if(e.key===`ArrowUp`)e.preventDefault(),m(e=>(e-1+i.length)%i.length);else if(e.key===`Enter`||e.key===`Tab`){let t=i[f]??i[0];t&&(e.preventDefault(),h(t))}else e.key===`Escape`&&(e.stopPropagation(),d(!1))},placeholder:o,className:s,autoComplete:`off`,spellCheck:!1,autoFocus:l}),u&&i.length>0&&(0,$.jsx)(`ul`,{className:a(`absolute top-full z-10 mt-1 max-h-56 overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,c??`w-full`),children:i.map((e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),h(e)},onMouseEnter:()=>m(t),className:a(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,`w-full text-xs`),"data-selected":t===f,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.label??e.value}),e.badge&&(0,$.jsx)(`span`,{className:`ml-auto shrink-0 text-2xs opacity-70`,children:e.badge})]})},e.value))})]})}var hn=(0,p.lazy)(()=>s(()=>import(`./Terminal-Bk_HBSg7.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),gn=null;async function _n(){gn=(await s(()=>import(`./Terminal-Bk_HBSg7.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).Terminal}function vn(e){return gn?(0,$.jsx)(gn,{...e}):(0,$.jsx)(p.Suspense,{fallback:(0,$.jsx)(`div`,{className:`size-full bg-ground`}),children:(0,$.jsx)(hn,{...e})})}export{Yt as _,dn as a,rn as c,nn as d,tn as f,Zt as g,Qt as h,fn as i,an as l,Xt as m,_n as n,un as o,en as p,mn as r,ln as s,vn as t,$t as u,Nt as v,At as y};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Terminal-ChnHAaOZ.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/x-BJOrp_m5.js","assets/hotkeys-uS50-PkH.js","assets/file-links-Cv4u-85W.js","assets/index-V87RMkBD.js","assets/preload-helper-Czpn1I53.js","assets/dialog-DjL0qoAv.js","assets/index-Du89SpLI.css","assets/use-find-controls-XCU2T3Mk.js","assets/chevron-down-59O6CgEo.js","assets/Terminal-BrP-ENHg.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,n as r,o as i,r as a}from"./x-BJOrp_m5.js";import{Vt as o}from"./hotkeys-uS50-PkH.js";import{t as s}from"./preload-helper-Czpn1I53.js";import{C as c,D as l,S as u,b as d,k as f}from"./dialog-DjL0qoAv.js";var p=e(t(),1),m=[`top`,`right`,`bottom`,`left`],h=Math.min,g=Math.max,_=Math.round,v=Math.floor,y=e=>({x:e,y:e}),b={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function x(e,t,n){return g(e,h(t,n))}function S(e,t){return typeof e==`function`?e(t):e}function C(e){return e.split(`-`)[0]}function w(e){return e.split(`-`)[1]}function T(e){return e===`x`?`y`:`x`}function E(e){return e===`y`?`height`:`width`}function D(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function O(e){return T(D(e))}function k(e,t,n){n===void 0&&(n=!1);let r=w(e),i=O(e),a=E(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=R(o)),[o,R(o)]}function A(e){let t=R(e);return[j(e),t,j(t)]}function j(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var M=[`left`,`right`],N=[`right`,`left`],P=[`top`,`bottom`],F=[`bottom`,`top`];function I(e,t,n){switch(e){case`top`:case`bottom`:return n?t?N:M:t?M:N;case`left`:case`right`:return t?P:F;default:return[]}}function L(e,t,n,r){let i=w(e),a=I(C(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(j)))),a}function R(e){let t=C(e);return b[t]+e.slice(t.length)}function z(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ee(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:z(e)}function B(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function te(e,t,n){let{reference:r,floating:i}=e,a=D(t),o=O(t),s=E(o),c=C(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=w(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function ne(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=S(t,e),p=ee(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=B(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=B(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var re=50,ie=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ne},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=te(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<re&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=te(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ae=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=S(e,t)||{};if(l==null)return{};let d=ee(u),f={x:n,y:r},p=O(i),m=E(p),g=await o.getDimensions(l),_=p===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,C=a.reference[m]+a.reference[p]-f[p]-a.floating[m],T=f[p]-a.reference[p],D=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),k=D?D[b]:0;(!k||!await(o.isElement==null?void 0:o.isElement(D)))&&(k=s.floating[b]||a.floating[m]);let A=C/2-T/2,j=k/2-g[m]/2-1,M=h(d[v],j),N=h(d[y],j),P=k-g[m]-N,F=k/2-g[m]/2+A,I=x(M,F,P),L=!c.arrow&&w(i)!=null&&F!==I&&a.reference[m]/2-(F<M?M:N)-g[m]/2<0,R=L?F<M?F-M:F-P:0;return{[p]:f[p]+R,data:{[p]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),oe=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=S(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=C(r),_=D(o),v=C(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[R(o)]:A(o)),x=p!==`none`;!d&&x&&b.push(...L(o,m,p,y));let w=[o,...b],T=await s.detectOverflow(t,h),E=[],O=i.flip?.overflows||[];if(l&&E.push(T[g]),u){let e=k(r,a,y);E.push(T[e[0]],T[e[1]])}if(O=[...O,{placement:r,overflows:E}],!E.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=w[e];if(t&&(!(u===`alignment`&&_!==D(t))||O.every(e=>D(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:O},reset:{placement:t}};let n=O.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=O.filter(e=>{if(x){let t=D(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function se(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ce(e){return m.some(t=>e[t]>=0)}var le=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=S(e,t);switch(i){case`referenceHidden`:{let e=se(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ce(e)}}}case`escaped`:{let e=se(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ce(e)}}}default:return{}}}}},ue=new Set([`left`,`top`]);async function de(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=C(n),s=w(n),c=D(n)===`y`,l=ue.has(o)?-1:1,u=a&&c?-1:1,d=S(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var fe=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await de(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},pe=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=S(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=D(i),p=T(f),m=u[p],h=u[f],g=(e,t)=>x(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},me=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=S(e,t),u={x:n,y:r},d=D(i),f=T(d),p=u[f],m=u[d],h=S(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ue.has(C(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},he=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=S(e,t),c=await i.detectOverflow(t,s),l=C(n),u=w(n),d=D(n)===`y`,{width:f,height:p}=r.floating,m,_;l===`top`||l===`bottom`?(m=l,_=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(_=l,m=u===`end`?`top`:`bottom`);let v=p-c.top-c.bottom,y=f-c.left-c.right,b=h(p-c[m],v),x=h(f-c[_],y),T=t.middlewareData.shift,E=!T,O=b,k=x;T!=null&&T.enabled.x&&(k=y),T!=null&&T.enabled.y&&(O=v),E&&!u&&(d?k=f-2*g(c.left,c.right):O=p-2*g(c.top,c.bottom)),await o({...t,availableWidth:k,availableHeight:O});let A=await i.getDimensions(a.floating);return f!==A.width||p!==A.height?{reset:{rects:!0}}:{}}}};function ge(){return typeof window<`u`}function V(e){return _e(e)?(e.nodeName||``).toLowerCase():`#document`}function H(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function U(e){return((_e(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function _e(e){return ge()?e instanceof Node||e instanceof H(e).Node:!1}function W(e){return ge()?e instanceof Element||e instanceof H(e).Element:!1}function G(e){return ge()?e instanceof HTMLElement||e instanceof H(e).HTMLElement:!1}function ve(e){return!ge()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof H(e).ShadowRoot}function ye(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=J(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function be(e){return/^(table|td|th)$/.test(V(e))}function xe(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Se=/transform|translate|scale|rotate|perspective|filter/,Ce=/paint|layout|strict|content/,K=e=>!!e&&e!==`none`,we;function Te(e){let t=W(e)?J(e):e;return K(t.transform)||K(t.translate)||K(t.scale)||K(t.rotate)||K(t.perspective)||!De()&&(K(t.backdropFilter)||K(t.filter))||Se.test(t.willChange||``)||Ce.test(t.contain||``)}function Ee(e){let t=Y(e);for(;G(t)&&!q(t);){if(Te(t))return t;if(xe(t))return null;t=Y(t)}return null}function De(){return we??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),we}function q(e){return/^(html|body|#document)$/.test(V(e))}function J(e){return H(e).getComputedStyle(e)}function Oe(e){return W(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Y(e){if(V(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ve(e)&&e.host||U(e);return ve(t)?t.host:t}function ke(e){let t=Y(e);return q(t)?(e.ownerDocument||e).body:G(t)&&ye(t)?t:ke(t)}function X(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ke(e),i=r===e.ownerDocument?.body,a=H(r);if(i){let e=Ae(a);return t.concat(a,a.visualViewport||[],ye(r)?r:[],e&&n?X(e):[])}else return t.concat(r,X(r,[],n))}function Ae(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function je(e){let t=J(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=G(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=_(n)!==a||_(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Me(e){return W(e)?e:e.contextElement}function Z(e){let t=Me(e);if(!G(t))return y(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=je(t),o=(a?_(n.width):n.width)/r,s=(a?_(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ne=y(0);function Pe(e){let t=H(e);return!De()||!t.visualViewport?Ne:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Fe(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===H(e)}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Me(e),o=y(1);t&&(r?W(r)&&(o=Z(r)):o=Z(e));let s=Fe(a,n,r)?Pe(a):y(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=H(a),t=W(r)?H(r):r,n=e,i=Ae(n);for(;i&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=J(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=H(i),i=Ae(n)}}return B({width:u,height:d,x:c,y:l})}function Ie(e,t){let n=Oe(e).scrollLeft;return t?t.left+n:Q(U(e)).left+n}function Le(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Ie(e,n),y:n.top+t.scrollTop}}function Re(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=U(r),s=t?xe(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=y(1),u=y(0),d=G(r);if((d||!a)&&((V(r)!==`body`||ye(o))&&(c=Oe(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Le(o,c):y(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function ze(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Be(e){let t=Oe(e),n=e.ownerDocument.body,r=g(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=g(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Ie(e),o=-t.scrollTop;return J(n).direction===`rtl`&&(a+=g(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ve=25;function He(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=H(e),a=U(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!De()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Ie(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ve&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ue(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Z(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function We(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=He(e,n,t);else if(t===`document`)r=Be(U(e));else if(W(t))r=Ue(t,n);else{let n=Pe(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return B(r)}function Ge(e,t){let n=t.get(e);if(n)return n;let r=X(e,[],!1).filter(e=>W(e)&&V(e)!==`body`),i=null,a=J(e).position===`fixed`,o=a?Y(e):e;for(;W(o)&&!q(o);){let e=J(o),t=Te(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Y(o)}return t.set(e,r),r}function Ke(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?xe(t)?[]:Ge(t,this._c):[].concat(n),r],o=We(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=We(t,a[e],i);s=g(n.top,s),c=h(n.right,c),l=h(n.bottom,l),u=g(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function qe(e){let{width:t,height:n}=je(e);return{width:t,height:n}}function Je(e,t,n){let r=G(t),i=U(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=y(0);if((r||!a)&&((V(t)!==`body`||ye(i))&&(s=Oe(t)),r)){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Ie(i));let l=i&&!r&&!a?Le(i,s):y(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ye(e){return J(e).position===`static`}function Xe(e,t){if(!G(e)||J(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return U(e)===n&&(n=n.ownerDocument.body),n}function Ze(e,t){let n=H(e);if(xe(e))return n;if(!G(e)){let t=Y(e);for(;t&&!q(t);){if(W(t)&&!Ye(t))return t;t=Y(t)}return n}let r=Xe(e,t);for(;r&&be(r)&&Ye(r);)r=Xe(r,t);return r&&q(r)&&Ye(r)&&!Te(r)?n:r||Ee(e)||n}var Qe=async function(e){let t=this.getOffsetParent||Ze,n=this.getDimensions,r=await n(e.floating);return{reference:Je(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function $e(e){return J(e).direction===`rtl`}var et={convertOffsetParentRelativeRectToViewportRelativeRect:Re,getDocumentElement:U,getClippingRect:Ke,getOffsetParent:Ze,getElementRects:Qe,getClientRects:ze,getDimensions:qe,getScale:Z,isElement:W,isRTL:$e};function tt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nt(e,t,n){let r=null,i,a=U(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=v(d),_=v(a.clientWidth-(u+f)),y=v(a.clientHeight-(d+p)),b=v(u),x={rootMargin:-m+`px `+-_+`px `+-y+`px `+-b+`px`,threshold:g(0,h(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(!tt(l,e.getBoundingClientRect()))return s();if(n!==c){if(!S)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}S=!1}try{r=new IntersectionObserver(C,{...x,root:a.ownerDocument})}catch{r=new IntersectionObserver(C,x)}r.observe(e)}let c=H(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function rt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Me(e),u=i||a?[...l?X(l):[],...t?X(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?nt(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!tt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var it=fe,at=pe,ot=oe,st=he,ct=le,lt=ae,ut=me,dt=(e,t,n)=>{let r=new Map,i=n??{},a={...et,...i.platform,_c:r};return ie(e,t,{...i,platform:a})},ft=e(i(),1),pt=typeof document<`u`?p.useLayoutEffect:function(){};function mt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!mt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!mt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function ht(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function gt(e,t){let n=ht(e);return Math.round(t*n)/n}function _t(e){let t=p.useRef(e);return pt(()=>{t.current=e}),t}function vt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=p.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=p.useState(r);mt(f,r)||m(r);let[h,g]=p.useState(null),[_,v]=p.useState(null),y=p.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=p.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||h,S=o||_,C=p.useRef(null),w=p.useRef(null),T=p.useRef(u),E=c!=null,D=_t(c),O=_t(i),k=_t(l),A=p.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),dt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!mt(T.current,t)&&(T.current=t,ft.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);pt(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=p.useRef(!1);pt(()=>(j.current=!0,()=>{j.current=!1}),[]),pt(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=p.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=p.useMemo(()=>({reference:x,floating:S}),[x,S]),P=p.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=gt(N.floating,u.x),r=gt(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...ht(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var yt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:lt({element:r.current,padding:i}).fn(n):r?lt({element:r,padding:i}).fn(n):{}}}},bt=(e,t)=>{let n=it(e);return{name:n.name,fn:n.fn,options:[e,t]}},xt=(e,t)=>{let n=at(e);return{name:n.name,fn:n.fn,options:[e,t]}},St=(e,t)=>({fn:ut(e).fn,options:[e,t]}),Ct=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>{let n=st(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tt=(e,t)=>{let n=ct(e);return{name:n.name,fn:n.fn,options:[e,t]}},Et=(e,t)=>{let n=yt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=n(),Dt=`Arrow`,Ot=p.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,$.jsx)(c.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Ot.displayName=Dt;var kt=Ot;function At(e){let[t,n]=p.useState(void 0);return d(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var jt=`Popper`,[Mt,Nt]=l(jt),[Pt,Ft]=Mt(jt),It=e=>{let{__scopePopper:t,children:n}=e,[r,i]=p.useState(null),[a,o]=p.useState(void 0);return(0,$.jsx)(Pt,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};It.displayName=jt;var Lt=`PopperAnchor`,Rt=p.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Ft(Lt,n),o=p.useRef(null),s=a.onAnchorChange,l=f(t,p.useCallback(e=>{o.current=e,e&&s(e)},[s])),u=p.useRef(null);p.useEffect(()=>{if(!r)return;let e=u.current;u.current=r.current,e!==u.current&&s(u.current)});let d=a.placementState&&Jt(a.placementState),m=d?.[0],h=d?.[1];return r?null:(0,$.jsx)(c.div,{"data-radix-popper-side":m,"data-radix-popper-align":h,...i,ref:l})});Rt.displayName=Lt;var zt=`PopperContent`,[Bt,Vt]=Mt(zt),Ht=p.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:m=[],collisionPadding:h=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Ft(zt,n),[S,C]=p.useState(null),w=f(t,C),[T,E]=p.useState(null),D=At(T),O=D?.width??0,k=D?.height??0,A=r+(a===`center`?``:`-`+a),j=typeof h==`number`?h:{top:0,right:0,bottom:0,left:0,...h},M=Array.isArray(m)?m:[m],N=M.length>0,P={padding:j,boundary:M.filter(Kt),altBoundary:N},{refs:F,floatingStyles:I,placement:L,isPositioned:R,middlewareData:z}=vt({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>rt(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[bt({mainAxis:i+k,alignmentAxis:o}),l&&xt({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?St():void 0,...P}),l&&Ct({...P}),wt({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Et({element:T,padding:s}),qt({arrowWidth:O,arrowHeight:k}),_&&Tt({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),ee=x.setPlacementState;d(()=>(ee(L),()=>{ee(void 0)}),[L,ee]);let[B,te]=Jt(L),ne=u(y);d(()=>{R&&ne?.()},[R,ne]);let re=z.arrow?.x,ie=z.arrow?.y,ae=z.arrow?.centerOffset!==0,[oe,se]=p.useState();return d(()=>{S&&se(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:F.setFloating,"data-radix-popper-content-wrapper":``,style:{...I,transform:R?I.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:oe,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Bt,{scope:n,placedSide:B,placedAlign:te,onArrowChange:E,arrowX:re,arrowY:ie,shouldHideArrow:ae,children:(0,$.jsx)(c.div,{"data-side":B,"data-align":te,...b,ref:w,style:{...b.style,animation:R?void 0:`none`}})})})});Ht.displayName=zt;var Ut=`PopperArrow`,Wt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},Gt=p.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Vt(Ut,n),a=Wt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(kt,{...r,ref:t,style:{...r.style,display:`block`}})})});Gt.displayName=Ut;function Kt(e){return e!==null}var qt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Jt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Jt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Yt=It,Xt=Rt,Zt=Ht,Qt=Gt,$t=`rounded-md bg-border/50 text-sm text-fg placeholder:text-fg-muted transition-colors hover:bg-border/80 focus:bg-border/80 disabled:cursor-not-allowed disabled:opacity-50`,en=`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,tn=`data-[highlighted]:bg-action data-[highlighted]:text-action-ink data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,nn=`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`;function rn({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,className:a(`flex h-8 w-full px-2.5`,$t,e),...n})}function an({className:e,...t}){return(0,$.jsx)(`textarea`,{className:a(`flex min-h-16 w-full px-2.5 py-2`,$t,e),...t})}var on=`Label`,sn=p.forwardRef((e,t)=>(0,$.jsx)(c.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));sn.displayName=on;var cn=sn;function ln({className:e,...t}){return(0,$.jsx)(cn,{className:a(`text-xs font-medium text-fg-secondary peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var un=r(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),dn=r(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function fn(e){o.error(pn(e),{id:`err:${pn(e)}`})}function pn(e){return e instanceof Error&&e.message.trim()!==``?e.message:typeof e==`string`&&e.trim()!==``?e:`Something went wrong`}function mn({id:e,value:t,onValueChange:n,onChoose:r,hints:i,placeholder:o,className:s,hintsClassName:c,autoFocus:l}){let[u,d]=(0,p.useState)(!1),[f,m]=(0,p.useState)(0),h=e=>{n(e.value),r?.(e),d(!1)};return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(rn,{id:e,value:t,onChange:e=>{n(e.target.value),d(!0),m(0)},onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:e=>{if(!(!u||i.length===0))if(e.key===`ArrowDown`)e.preventDefault(),m(e=>(e+1)%i.length);else if(e.key===`ArrowUp`)e.preventDefault(),m(e=>(e-1+i.length)%i.length);else if(e.key===`Enter`||e.key===`Tab`){let t=i[f]??i[0];t&&(e.preventDefault(),h(t))}else e.key===`Escape`&&(e.stopPropagation(),d(!1))},placeholder:o,className:s,autoComplete:`off`,spellCheck:!1,autoFocus:l}),u&&i.length>0&&(0,$.jsx)(`ul`,{className:a(`absolute top-full z-10 mt-1 max-h-56 overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,c??`w-full`),children:i.map((e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),h(e)},onMouseEnter:()=>m(t),className:a(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,`w-full text-xs`),"data-selected":t===f,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.label??e.value}),e.badge&&(0,$.jsx)(`span`,{className:`ml-auto shrink-0 text-2xs opacity-70`,children:e.badge})]})},e.value))})]})}var hn=(0,p.lazy)(()=>s(()=>import(`./Terminal-ChnHAaOZ.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))),gn=null;async function _n(){gn=(await s(()=>import(`./Terminal-ChnHAaOZ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).Terminal}function vn(e){return gn?(0,$.jsx)(gn,{...e}):(0,$.jsx)(p.Suspense,{fallback:(0,$.jsx)(`div`,{className:`size-full bg-ground`}),children:(0,$.jsx)(hn,{...e})})}export{Yt as _,dn as a,rn as c,nn as d,tn as f,Zt as g,Qt as h,fn as i,an as l,Xt as m,_n as n,un as o,en as p,mn as r,ln as s,vn as t,$t as u,Nt as v,At as y};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,s as r,t as i}from"./buffer-store-CNHgBtaq.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(r(e),o.add(e));for(let e of[...o])a.has(e)||(n(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)n(e);t.current.clear()},[]),null}export{o as ModelRefcount};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n,s as r,t as i}from"./buffer-store-CtR80J8K.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(r(e),o.add(e));for(let e of[...o])a.has(e)||(n(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)n(e);t.current.clear()},[]),null}export{o as ModelRefcount};
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n}from"./x-BJOrp_m5.js";import{Kt as r,L as i,St as a,Vt as o,bt as s,c,p as l,v as u}from"./hotkeys-C1l8zghv.js";import{D as d,E as f,M as p,N as m,P as h,S as g,a as _,d as v,f as y,g as b,j as x,k as S,m as C,n as ee,o as te,p as ne,v as re,w as ie,z as ae}from"./editor-context-B4vRC3Ax.js";import{t as oe}from"./preload-helper-Czpn1I53.js";import{a as se,n as ce,r as le,t as ue}from"./use-find-controls-ThBATzqc.js";import{F as de,I as w,J as fe,N as pe,P as me,X as he,Y as ge,a as _e,ft as ve}from"./index-C2IYh_pk.js";import{c as ye,i as be,p as T,r as xe}from"./editor.api2-4X9Vh9Zw.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"./buffer-store-CNHgBtaq.js";import{a as Pe,c as Fe,i as Ie,l as Le,n as Re,o as ze,r as Be,s as Ve}from"./editor-sync-CHJNmV8G.js";import{r as He}from"./buffer-logic-BrpRsL1b.js";var E=e(t(),1),Ue=new Map,We=new Map,Ge=1;function Ke(e){for(let t of We.get(e)??[])t()}function qe(e,t){Ue.set(e,t),Ke(e)}function Je(e){let t={phase:`unresolved`,revision:Ge++};return qe(e,t),t}function Ye(e){let t=Ue.get(e);return!t||t.phase!==`unresolved`&&t.phase!==`load-error`?null:(qe(e,{phase:`loading`,revision:t.revision}),t.revision)}function Xe(e,t,n,r){let i=Ue.get(e);return!i||i.phase!==`loading`||i.revision!==t?!1:(qe(e,{phase:`opening`,revision:t,content:n,mtimeMs:r}),!0)}function Ze(e,t){let n=Ue.get(e);return!n||n.phase!==`opening`||n.revision!==t?!1:(qe(e,{...n,phase:`comparing`}),!0)}function Qe(e,t,n){let r=Ue.get(e);return!r||r.phase!==`loading`||r.revision!==t?!1:(qe(e,{phase:`load-error`,revision:t,message:n}),!0)}function $e(e,t){return t&&e?.phase===`unresolved`}function et(e){return e?.phase===`comparing`?e.mtimeMs:void 0}function tt(e){return e?.phase===`loading`||e?.phase===`load-error`||e?.phase===`opening`}function nt(e){return e.phase===`opening`||e.phase===`comparing`}function rt(e){Ue.delete(e)&&Ke(e)}function it(e){return Ue.get(e)??null}function at(e,t){let n=We.get(e);return n||(n=new Set,We.set(e,n)),n.add(t),()=>n.delete(t)}var D=n();function ot({session:e,path:t,conflict:n,model:r,onTakeDisk:i,onKeepMine:a,onSave:o,onReady:s}){let c=he(),l=(0,E.useId)(),u=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),d=(0,E.useRef)(o);d.current=o;let f=(0,E.useRef)(null),p=()=>{let e=f.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),f.current=null},m=(0,E.useRef)(p);return m.current=p,(0,E.useEffect)(()=>()=>m.current(),[]),(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-3 bg-elevated px-3 py-1.5 text-xs text-fg-secondary`,children:[(0,D.jsx)(`span`,{children:`This file changed on disk. Yours is on the right — merge what you want, then save.`}),(0,D.jsx)(`button`,{type:`button`,onClick:i,className:`ml-auto shrink-0 text-fg-muted transition-colors hover:text-fg`,children:`Take the disk version`}),(0,D.jsx)(`button`,{type:`button`,onClick:a,disabled:n.phase!==`comparing`,className:`shrink-0 text-fg-muted transition-colors hover:text-fg`,children:`Keep mine`})]}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(Te,{modifiedModelPath:r.uri.toString(),originalModelPath:`puddle-disk://${encodeURIComponent(e)}/${n.mtimeMs}/${encodeURIComponent(l)}/${t.split(`/`).map(encodeURIComponent).join(`/`)}`,original:n.content,language:r.getLanguageId(),theme:Ne,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),onMount:e=>{f.current=e,e.onDidDispose(()=>{f.current=null}),e.getModifiedEditor().addCommand(be.CtrlCmd|xe.KeyS,()=>d.current()),s?.(n.revision)},options:{readOnly:n.phase!==`comparing`,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:u,fontSize:c.editorFontSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})})]})}function st({session:e,path:t,buffer:n,focused:r}){let i=n.conflict;return!i||i.phase===`unresolved`?null:nt(i)&&n.model?(0,D.jsx)(ot,{session:e,path:t,conflict:i,model:n.model,onTakeDisk:n.takeDisk,onKeepMine:n.keepMine,onSave:n.save,onReady:r?n.comparisonReady:void 0}):i.phase===`load-error`?(0,D.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 bg-ground px-4 text-center text-sm text-fg-muted`,children:[(0,D.jsx)(`span`,{children:`The disk version could not be loaded.`}),(0,D.jsx)(`span`,{className:`max-w-lg text-xs text-fg-secondary`,children:i.message}),(0,D.jsx)(`button`,{type:`button`,onClick:n.compare,className:`rounded-md bg-elevated px-3 py-1.5 text-xs text-fg-secondary transition-colors hover:bg-border hover:text-fg`,children:`Retry compare`})]}):(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-sm text-fg-muted`,children:`Loading the disk version…`})}function ct(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function lt(e,t,n){return ct(e/Math.max(1,t-n))}function ut(e,t,n){return ct(e)*Math.max(0,t-n)}function dt(e,t){return JSON.stringify([e,t.session,t.root??null,t.path])}var O=new class{positions=new Map;listeners=new Map;revision=0;publish(e,t,n){let r={ratio:ct(n),revision:++this.revision},i=dt(e,t);this.positions.set(i,r);for(let e of this.listeners.get(i)??[])e(r);return r}get(e,t){return this.positions.get(dt(e,t))}subscribe(e,t,n){let r=dt(e,t),i=this.listeners.get(r);i||(i=new Set,this.listeners.set(r,i)),i.add(n);let a=this.positions.get(r);return a&&n(a),()=>{i?.delete(n),i?.size===0&&this.listeners.delete(r)}}};function ft(e){let t=null;return{schedule:()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))},dispose:()=>{t!==null&&cancelAnimationFrame(t),t=null}}}function pt(e,t){if(t.driver&&t.receiver)throw Error(`a preview scroll surface cannot be both driver and receiver`);let n=t.store??O,r,i=()=>void 0,a,o=t=>{r=t,e.scrollTop=ut(t.ratio,e.scrollHeight,e.clientHeight)};t.receiver?i=n.subscribe(t.channel,t.target,o):t.driver&&(a=ft(()=>{n.publish(t.channel,t.target,lt(e.scrollTop,e.scrollHeight,e.clientHeight))}),e.addEventListener(`scroll`,a.schedule,{passive:!0}),a.schedule());let s=new ResizeObserver(()=>{t.receiver&&r?o(r):t.driver&&a?.schedule()});for(let e of t.resizeElements??[])s.observe(e);return()=>{t.driver&&a&&e.removeEventListener(`scroll`,a.schedule),i(),s.disconnect(),a?.dispose()}}function mt(e,t,n){if(t.driver&&t.receiver)throw Error(`a Monaco scroll surface cannot be both driver and receiver`);let r=t.store??O,i=[],a,o=()=>void 0,s,c=()=>e.getLayoutInfo().height,l=t=>{a=t,e.setScrollTop(ut(t.ratio,e.getScrollHeight(),c()),n)};return t.receiver?(o=r.subscribe(t.channel,t.target,l),i.push(e.onDidChangeModel(()=>a&&l(a))),i.push(e.onDidLayoutChange(()=>a&&l(a)))):t.driver&&(s=ft(()=>{r.publish(t.channel,t.target,lt(e.getScrollTop(),e.getScrollHeight(),c()))}),i.push(e.onDidScrollChange(s.schedule)),i.push(e.onDidChangeModel(s.schedule)),i.push(e.onDidLayoutChange(s.schedule)),s.schedule()),()=>{o();for(let e of i)e.dispose();s?.dispose()}}function ht(e){return!e}function gt(e){let t=e.split(`+`),n=t.pop()??``,r=0;for(let e of t)e===`meta`?r|=be.CtrlCmd:e===`ctrl`?r|=be.WinCtrl:e===`alt`?r|=be.Alt:e===`shift`&&(r|=be.Shift);let i=xe[/^Key[A-Z]$/.test(n)?`Key${n.slice(3)}`:/^Digit[0-9]$/.test(n)?`Digit${n.slice(5)}`:n];return typeof i==`number`?r|i:null}function _t(e,t){let n=gt(c(`editor.save`));n!==null&&e.addCommand(n,()=>t.onSave());let r=gt(c(`editor.wordWrap`));e.addAction({id:`puddle.toggleWordWrap`,label:`Toggle Word Wrap`,keybindings:r===null?[]:[r],run:()=>ge({editorWordWrap:ht(fe().editorWordWrap)})})}function vt(e){return`file-conflict:${e}`}function yt(e,t,n,r,i){let a=i?.passive===!0,c=i?.focused??!0,l=Me(e,t,r),u=h(e,t,{root:r,live:i?.live}),d=p(e,r),[f,m]=(0,E.useState)(null),[g,_]=(0,E.useState)(!1),v=(0,E.useRef)(!1),y=(0,E.useRef)(null),x=(0,E.useRef)(null),S=(0,E.useRef)(n);S.current=n;let C=(0,E.useRef)(!1),ee=(0,E.useCallback)((e,t)=>{x.current?.cancel(),C.current=!0;try{ke(l,e,t)}finally{C.current=!1}},[l]),te=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>De(l,e),[l]),()=>Ae(l)),ne=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>ze(l,e),[l]),()=>Pe(l)),ie=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>at(l,e),[l]),()=>it(l));(0,E.useEffect)(()=>{let n=u.data;if(!n||n.binary||n.content===null||v.current)return;v.current=!0;let i=Ce(l)!==void 0,a=Oe(e,t,n.content,n.mtime_ms,r);m(a),!i&&Le(e,t,r).then(e=>{e&&(e.base_mtime_ms===n.mtime_ms?He(a,e.content)&&_(!0):o(`This file has an unsaved draft from an earlier version.`,{description:`The file changed on disk since the draft was saved.`,duration:12e3,action:{label:`Restore draft`,onClick:()=>{He(a,e.content)&&_(!0)}}}))})},[u.data,l,e,t,r]),(0,E.useEffect)(()=>{if(!f||a)return;let n=Fe(e,t,r);x.current=n;let i=f.onDidChangeContent(()=>{C.current||(n(f.getValue(),Ce(l)??0),Re(e,t,r))});return()=>{n.flush(),i.dispose(),x.current=null}},[f,l,e,t,r,a]),(0,E.useEffect)(()=>{!f||!ne.savedElsewhere||Ae(l)||u.refetch().then(e=>{Ae(l)||(e.data&&e.data.content!==null&&ee(e.data.content,e.data.mtime_ms),Ie(l))})},[ne.savedElsewhere,f,l]),(0,E.useEffect)(()=>{let e=u.data;!f||!e||e.content===null||!Ae(l)&&e.mtime_ms!==Ce(l)&&ee(e.content,e.mtime_ms)},[u.data,f,l]);let ae=(0,E.useCallback)((n,i)=>{Ee(l,n,i),x.current?.cancel(),Ve(e,t,r),Be(e,t,i,r),_(!1),rt(l)},[l,e,t,r]),oe=(0,E.useCallback)(()=>{let e=Ye(l);e!==null&&(o.dismiss(vt(l)),u.refetch({throwOnError:!0}).then(t=>{let n=t.data;if(!n)throw Error(`The disk version did not load.`);if(n.content===null)throw Error(`The file on disk is binary and cannot be compared as text.`);Xe(l,e,n.content,n.mtime_ms)}).catch(t=>{Qe(l,e,t instanceof Error?t.message:`The disk version did not load.`)}))},[u,l]),se=(0,E.useRef)(oe);se.current=oe,(0,E.useEffect)(()=>{if(!$e(ie,c))return;let e=vt(l);return o(`File changed on disk`,{id:e,description:`Nothing was written — your unsaved version is intact.`,duration:1/0,closeButton:!0,action:{label:`Compare`,onClick:()=>se.current()}}),()=>{o.dismiss(e)}},[ie,c,l]);let ce=(0,E.useCallback)(()=>{u.refetch().then(n=>{n.data&&n.data.content!==null&&ee(n.data.content,n.data.mtime_ms),Ve(e,t,r),_(!1),rt(l)})},[l,e,t,ee]),le=(0,E.useCallback)((e,n)=>{d.mutate({path:t,content:e},{onSuccess:e=>ae(n,e.mtime_ms),onError:e=>o.error(e instanceof Error?e.message:`Overwrite failed`)})},[d,t,ae]),ue=(0,E.useCallback)(()=>{if(!f||!Ae(l))return;let e=f.getValue(),n=f.getAlternativeVersionId();if(tt(it(l)))return;let r=et(it(l))??Ce(l);d.mutate({path:t,content:e,expected_mtime_ms:r},{onSuccess:e=>ae(n,e.mtime_ms),onError:e=>{e instanceof s&&e.status===409&&e.code===`stale_file`?Je(l):o.error(e instanceof Error?e.message:`Save failed`)}})},[f,l,d,t,ae]),de=(0,E.useRef)(ue);de.current=ue,(0,E.useEffect)(()=>b(re(e,t,r),()=>de.current()),[e,t,r]);let w=(0,E.useCallback)(()=>{let n=y.current,i=S.current;r===void 0&&(!n||!i||i.session!==e||i.path!==t||(n.revealLineInCenter(i.line),n.setPosition({lineNumber:i.line,column:i.column??1}),n.focus()))},[e,t,r]),fe=(0,E.useCallback)(e=>{y.current=e,_t(e,{onSave:()=>de.current()}),w()},[w]);(0,E.useEffect)(()=>{w()},[n,f,w]);let pe=(0,E.useCallback)(()=>{ce()},[ce]),me=(0,E.useCallback)(()=>{!f||it(l)?.phase!==`comparing`||le(f.getValue(),f.getAlternativeVersionId())},[f,l,le]),he=(0,E.useCallback)(e=>{Ze(l,e)},[l]),ge,_e=null;u.data?.binary?ge=`binary`:u.error?u.error instanceof s&&u.error.status===413?ge=`too-large`:(ge=`error`,_e=u.error instanceof Error?u.error.message:`Failed to load file`):ge=f?`ready`:`loading`;let ve=te&&ne.savedElsewhere?`saved-elsewhere`:te&&ne.dirtyElsewhere?`dirty-elsewhere`:null;return{status:ge,errorMessage:_e,model:f,dirty:te,restoredNotice:g,discardRestore:pe,peerBadge:ve,conflict:ie,takeDisk:ce,keepMine:me,compare:oe,comparisonReady:he,save:ue,onMount:fe}}function bt(e,t,n,r){for(let i of e)if(Tt([i],n).some(e=>(r===void 0||e.kind===r)&&t>=e.startLineNumber&&t<=e.endLineNumber))return i;return null}function xt(e,t){return Ct(e.modifiedStartLineNumber,e.modifiedEndLineNumber)>0?Math.min(t,e.modifiedEndLineNumber):Math.max(0,Math.min(t,e.modifiedStartLineNumber-1))}function St(e){let t=Ct(e.originalStartLineNumber,e.originalEndLineNumber),n=Ct(e.modifiedStartLineNumber,e.modifiedEndLineNumber);return Math.max(5,Math.min(14,t+n+4))}function Ct(e,t){return t===0?0:Math.max(0,t-e+1)}function wt(e,t){if(e>t)return{startLineNumber:Math.max(1,t),endLineNumber:Math.max(1,t),kind:`deleted-after`};let n=Math.max(1,e);return{startLineNumber:n,endLineNumber:n,kind:`deleted-before`}}function Tt(e,t){let n=[];for(let r of e){let e=Ct(r.originalStartLineNumber,r.originalEndLineNumber),i=Ct(r.modifiedStartLineNumber,r.modifiedEndLineNumber);if(e===0&&i>0){n.push({startLineNumber:r.modifiedStartLineNumber,endLineNumber:r.modifiedEndLineNumber,kind:`added`});continue}if(i===0&&e>0){n.push(wt(r.modifiedStartLineNumber,t));continue}let a=Math.min(e,i);a>0&&n.push({startLineNumber:r.modifiedStartLineNumber,endLineNumber:r.modifiedStartLineNumber+a-1,kind:`modified`}),i>a&&n.push({startLineNumber:r.modifiedStartLineNumber+a,endLineNumber:r.modifiedEndLineNumber,kind:`added`}),e>a&&n.push(wt(r.modifiedStartLineNumber+i,t))}return n}var Et=28,Dt=[[`puddle-dirty-added`,`added`],[`puddle-dirty-modified`,`modified`],[`puddle-dirty-deleted-before`,`deleted-before`],[`puddle-dirty-deleted-after`,`deleted-after`]];function Ot(e){if(e){for(let[t,n]of Dt)if(e.classList.contains(t)||e.closest(`.${t}`))return n}}function kt({editor:e,original:t,modified:n,path:r}){let i=[],a=null,o=!1,s=t=>{try{e.changeViewZones(e=>e.removeZone(t))}catch{}},c=()=>{let e=a;e&&(a=null,e.frame!==null&&cancelAnimationFrame(e.frame),e.diffEditor&&(e.diffEditor.setModel(null),e.diffEditor.dispose()),s(e.zoneId))},l=e=>{let t=e.diffEditor;if(!t)return;let r=Math.max(1,Math.min(n.getLineCount(),e.change.modifiedStartLineNumber));t.getModifiedEditor().revealLineInCenter(r,T.ScrollType.Immediate)},u=(i,s)=>{if(a?.anchorLine===i){c();return}c();let u=e.getOption(T.EditorOption.lineHeight),d=document.createElement(`div`);d.className=`puddle-dirty-peek`;let f=document.createElement(`div`);f.className=`puddle-dirty-peek-header`;let p=document.createElement(`span`);p.className=`puddle-dirty-peek-title`,p.textContent=`${r.split(`/`).pop()??r} · Local changes against HEAD`;let m=document.createElement(`button`);m.type=`button`,m.className=`puddle-dirty-peek-close`,m.setAttribute(`aria-label`,`Close inline change`),m.title=`Close inline change`,m.textContent=`×`,m.addEventListener(`pointerdown`,e=>{e.preventDefault(),e.stopPropagation(),c()}),m.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),c()});let h=document.createElement(`div`);h.className=`puddle-dirty-peek-editor`,f.append(p,m),d.append(f,h);let g=document.createElement(`div`);g.className=`puddle-dirty-peek-margin`;let _={afterLineNumber:xt(s,n.getLineCount()),heightInPx:Et+St(s)*u,domNode:d,marginDomNode:g,suppressMouseDown:!1},v=``;e.changeViewZones(e=>{v=e.addZone(_)});let y={anchorLine:i,change:s,zone:_,zoneId:v,frame:null,diffEditor:null};a=y,y.frame=requestAnimationFrame(()=>{if(y.frame=null,o||a!==y)return;let r=T.createDiffEditor(h,{readOnly:!0,domReadOnly:!0,originalEditable:!1,renderSideBySide:!1,renderMarginRevertIcon:!1,renderOverviewRuler:!1,enableSplitViewResizing:!1,isInEmbeddedEditor:!0,automaticLayout:!0,fontFamily:e.getOption(T.EditorOption.fontFamily),fontSize:e.getOption(T.EditorOption.fontSize),lineHeight:u,minimap:{enabled:!1},glyphMargin:!1,folding:!1,scrollBeyondLastLine:!1,fixedOverflowWidgets:!0,hideUnchangedRegions:{enabled:!0,minimumLineCount:0,contextLineCount:2,revealLineCount:3}});y.diffEditor=r,r.setModel({original:t,modified:n}),r.onDidUpdateDiff(()=>l(y)),l(y)}),e.revealLineInCenter(Math.max(1,Math.min(n.getLineCount(),s.modifiedStartLineNumber)))},d=e.onMouseDown(e=>{if(!e.event.leftButton||e.target.type!==T.MouseTargetType.GUTTER_LINE_DECORATIONS||e.target.position===null)return;let t=e.target.position.lineNumber,r=bt(i,t,n.getLineCount(),Ot(e.target.element));r&&(e.event.preventDefault(),e.event.stopPropagation(),u(t,r))});return{update(t){if(i=t,!a)return;let r=a,o=bt(t,r.anchorLine,n.getLineCount());if(!o){c();return}r.change=o,r.zone.afterLineNumber=xt(o,n.getLineCount()),r.zone.heightInPx=Et+St(o)*e.getOption(T.EditorOption.lineHeight);try{e.changeViewZones(e=>e.layoutZone(r.zoneId))}catch{c();return}l(r)},dispose(){o=!0,d.dispose(),c()}}}var At={added:`puddle-dirty-added`,modified:`puddle-dirty-modified`,"deleted-before":`puddle-dirty-deleted-before`,"deleted-after":`puddle-dirty-deleted-after`};function jt(e,t,n,r){let a=i(),o=S(e,t,{root:n,enabled:a.data!==void 0&&ve(a.data.protocol)&&r!==null}),[s,c]=(0,E.useState)(null),l=(0,E.useCallback)(e=>{c(e)},[]);return(0,E.useEffect)(()=>{let e=o.data;if(!s||!r||!e||e.repository===null||e.ignored||e.binary)return;let n=document.createElement(`div`);n.className=`puddle-hidden-diff-controller`,document.body.appendChild(n);let i=T.createModel(e.exists?e.content??``:``,r.getLanguageId()),a=T.createDiffEditor(n,{readOnly:!0,automaticLayout:!1,renderSideBySide:!1,minimap:{enabled:!1}}),c=s.createDecorationsCollection();a.setModel({original:i,modified:r});let l=kt({editor:s,original:i,modified:r,path:t}),u=()=>{let e=a.getLineChanges();e&&(l.update(e),c.set(Tt(e,r.getLineCount()).map(e=>({range:new ye(e.startLineNumber,1,e.endLineNumber,1),options:{isWholeLine:!0,linesDecorationsClassName:At[e.kind]}}))))},d=a.onDidUpdateDiff(u);return u(),()=>{d.dispose(),l.dispose(),c.clear(),a.setModel(null),a.dispose(),i.dispose(),n.remove()}},[s,r,o.data]),l}function Mt({message:e,session:t,path:n,root:r,download:i}){return(0,D.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 bg-ground text-sm text-fg-muted`,children:[(0,D.jsx)(`span`,{children:e}),i&&(0,D.jsxs)(`button`,{type:`button`,onClick:()=>void g(t,n,r).catch(e=>o.error(e instanceof Error?e.message:`Download failed`)),className:`flex items-center gap-1.5 text-fg-secondary transition-colors hover:text-fg`,children:[(0,D.jsx)(ae,{className:`size-4`}),`Download`]})]})}function Nt({session:e,path:t,reveal:n,root:r,focused:i=!0,scrollDriver:a=!1,scrollReceiver:o=!1,scrollChannel:s=`profile`}){let c=he(),l=yt(e,t,n,r,{focused:i}),u=jt(e,t,r,l.model),d=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),[f,p]=(0,E.useState)(null),m=(0,E.useMemo)(()=>({session:e,path:t,root:r}),[e,t,r]),h=l.conflict!==null&&l.conflict.phase!==`unresolved`;if((0,E.useEffect)(()=>{if(!(!f||!l.model||h))return mt(f,{channel:s,target:m,driver:a,receiver:o},T.ScrollType.Immediate)},[f,l.model,h,s,m,a,o]),l.conflict&&l.conflict.phase!==`unresolved`)return(0,D.jsx)(st,{session:e,path:t,buffer:l,focused:i});if(l.status===`binary`)return(0,D.jsx)(Mt,{message:`Binary file — use Download`,session:e,path:t,root:r,download:!0});if(l.status===`too-large`)return(0,D.jsx)(Mt,{message:`File too large to edit — use Download`,session:e,path:t,root:r,download:!0});if(l.status===`error`)return(0,D.jsx)(Mt,{message:l.errorMessage??`Failed to load file`,session:e,path:t,root:r});let g=l.peerBadge===`saved-elsewhere`?`Saved in another window`:l.peerBadge===`dirty-elsewhere`?`Also being edited in another window`:null;return(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[l.restoredNotice&&(0,D.jsxs)(`div`,{className:`flex items-center gap-3 bg-elevated px-3 py-1.5 text-xs text-fg-secondary`,children:[(0,D.jsx)(`span`,{children:`Restored unsaved changes`}),(0,D.jsx)(`button`,{type:`button`,onClick:l.discardRestore,className:`text-fg-muted transition-colors hover:text-fg`,children:`Discard`})]}),g&&(0,D.jsx)(`div`,{className:`bg-surface px-3 py-1 text-xs text-fg-muted`,children:g}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:l.model&&(0,D.jsx)(we,{path:l.model.uri.toString(),defaultValue:l.model.getValue(),theme:`puddle`,keepCurrentModel:!0,onMount:e=>{l.onMount(e),u(e),p(e)},loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),options:{automaticLayout:!0,fontFamily:d,fontSize:c.editorFontSize,tabSize:c.editorTabSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},glyphMargin:!1,lineDecorationsWidth:10,fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})})]})}function k({children:e}){return(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-xs text-fg-muted`,children:e})}function Pt(e,t){let n=(0,E.useRef)(t);n.current=t,(0,E.useEffect)(()=>(je(e),()=>{n.current?.(),Se(e)}),[e])}function Ft(e,t,n,r){let i=r.split(`/`).map(encodeURIComponent).join(`/`);return`${e}://${encodeURIComponent(t)}/${encodeURIComponent(n)}/${i}`}function It({session:e,refName:t,path:n,content:r}){let i=he(),a=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,D.jsx)(we,{path:Ft(`puddle-view`,e,t,n),defaultValue:r,theme:Ne,loading:(0,D.jsx)(k,{children:`…`}),options:{readOnly:!0,automaticLayout:!0,fontFamily:a,fontSize:i.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Lt({session:e,against:t,path:n,root:r,indexBase:i=!1}){let a=d(e,t,n,{root:r,enabled:!i}),o=x(e,n,{root:r,enabled:i}),s=i?o:a;return s.isPending?(0,D.jsx)(k,{children:`…`}):s.error?(0,D.jsx)(k,{children:s.error instanceof Error?s.error.message:`Failed to load`}):s.data.binary?(0,D.jsx)(k,{children:`Binary file — deleted`}):(0,D.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,D.jsx)(`div`,{className:`bg-surface px-4 py-1 text-xs text-fg-muted`,children:`Deleted`}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(It,{session:e,refName:`${t}:${r??``}`,path:n,content:s.data.content??``})})]})}function Rt({session:e,against:t,path:n,basePath:r,root:i,indexBase:a=!1,focused:o=!0}){let c=he(),l=yt(e,n,null,i,{focused:o}),u=d(e,t,r,{root:i,enabled:!a}),f=x(e,r,{root:i,enabled:a}),p=a?f:u,m=(0,E.useRef)(null);Pt(Me(e,n,i),()=>{let e=m.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),m.current=null});let h=(0,E.useRef)(l.save);h.current=l.save;let g=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),_=p.error instanceof s&&p.error.status===404;return l.conflict&&l.conflict.phase!==`unresolved`?(0,D.jsx)(st,{session:e,path:n,buffer:l,focused:o}):l.status===`binary`||p.data?.binary?(0,D.jsx)(k,{children:`Binary file`}):l.status===`too-large`?(0,D.jsx)(k,{children:`File too large to show`}):l.status===`error`?(0,D.jsx)(k,{children:l.errorMessage??`Failed to load file`}):_||a&&f.data&&!f.data.exists?(0,D.jsx)(Nt,{session:e,path:n,reveal:null,root:i,focused:o}):p.isPending||!l.model?(0,D.jsx)(k,{children:`…`}):p.error?(0,D.jsx)(k,{children:p.error instanceof Error?p.error.message:`Failed to load base`}):(0,D.jsx)(Te,{modifiedModelPath:l.model.uri.toString(),originalModelPath:Ft(`puddle-base`,e,`${t}:${i??``}`,r),original:p.data.content??``,language:l.model.getLanguageId(),theme:Ne,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(k,{children:`…`}),onMount:e=>{m.current=e,e.onDidDispose(()=>{m.current=null}),e.getModifiedEditor().addCommand(be.CtrlCmd|xe.KeyS,()=>h.current())},options:{readOnly:!1,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:g,fontSize:c.editorFontSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function zt({session:e,against:t,entry:n,root:r}){let i=he(),a=n.old_path??n.path,o=d(e,t,a,{root:r,enabled:n.status!==`added`}),s=x(e,n.path,{root:r,enabled:n.status!==`deleted`}),c=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);if(n.status===`deleted`)return(0,D.jsx)(Lt,{session:e,against:t,path:a,root:r});if(s.isPending||n.status!==`added`&&o.isPending)return(0,D.jsx)(k,{children:`…`});if(s.error||o.error){let e=s.error??o.error;return(0,D.jsx)(k,{children:e instanceof Error?e.message:`Failed to load staged content`})}return s.data.binary||o.data?.binary?(0,D.jsx)(k,{children:`Binary file`}):n.status===`added`?(0,D.jsx)(It,{session:e,refName:`index:${r??``}`,path:n.path,content:s.data.content??``}):o.data?(0,D.jsx)(Te,{originalModelPath:Ft(`puddle-head`,e,`${t}:${r??``}`,a),modifiedModelPath:Ft(`puddle-index`,e,`${t}:${r??``}`,n.path),original:o.data.content??``,modified:s.data.content??``,theme:Ne,loading:(0,D.jsx)(k,{children:`…`}),options:{readOnly:!0,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:c,fontSize:i.editorFontSize,wordWrap:i.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}}):(0,D.jsx)(k,{children:`Failed to load HEAD content`})}function Bt({session:e,path:t,root:n,focused:r}){return Pt(Me(e,t,n)),(0,D.jsx)(Nt,{session:e,path:t,reveal:null,root:n,focused:r})}function Vt({session:e,against:t,entry:n,root:r,area:i,focused:a=!0}){if(i===`staged`)return(0,D.jsx)(zt,{session:e,against:t,entry:n,root:r});switch(n.status){case`added`:return(0,D.jsx)(Bt,{session:e,path:n.path,root:r,focused:a});case`deleted`:return(0,D.jsx)(Lt,{session:e,against:t,path:n.path,root:r,indexBase:i===`unstaged`});case`modified`:case`renamed`:return(0,D.jsx)(Rt,{session:e,against:t,path:n.path,basePath:n.old_path??n.path,root:r,indexBase:i===`unstaged`,focused:a});default:return null}}function Ht({session:e,sha:t,path:n,root:r}){let i=d(e,t,n,{root:r});return i.isPending?(0,D.jsx)(k,{children:`…`}):i.error?(0,D.jsx)(k,{children:i.error instanceof Error?i.error.message:`Failed to load file`}):i.data.binary?(0,D.jsx)(k,{children:`Binary file`}):(0,D.jsx)(It,{session:e,refName:`${t}:${r??``}`,path:n,content:i.data.content??``})}function Ut({session:e,originalRef:t,originalPath:n,originalContent:r,modifiedRef:i,modifiedPath:a,modifiedContent:o,root:s}){let c=he(),l=(0,E.useRef)(null),u=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,E.useEffect)(()=>()=>{let e=l.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),t?.modified.dispose(),l.current=null},[]),(0,D.jsx)(Te,{originalModelPath:Ft(`puddle-hist-orig`,e,`${t}:${s??``}`,n),modifiedModelPath:Ft(`puddle-hist-mod`,e,`${i}:${s??``}`,a),original:r,modified:o,theme:Ne,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(k,{children:`…`}),onMount:e=>{l.current=e,e.onDidDispose(()=>{l.current=null})},options:{readOnly:!0,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:u,fontSize:c.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Wt({session:e,sha:t,path:n,basePath:r,root:i}){let a=d(e,`${t}^`,r,{root:i}),o=d(e,t,n,{root:i});return a.error instanceof s&&a.error.status===404?(0,D.jsx)(Ht,{session:e,sha:t,path:n,root:i}):a.isPending||o.isPending?(0,D.jsx)(k,{children:`…`}):a.error?(0,D.jsx)(k,{children:a.error instanceof Error?a.error.message:`Failed to load original`}):o.error?(0,D.jsx)(k,{children:o.error instanceof Error?o.error.message:`Failed to load file`}):a.data.binary||o.data.binary?(0,D.jsx)(k,{children:`Binary file`}):(0,D.jsx)(Ut,{session:e,originalRef:`${t}^`,originalPath:r,originalContent:a.data.content??``,modifiedRef:t,modifiedPath:n,modifiedContent:o.data.content??``,root:i})}function Gt({session:e,sha:t,entry:n,isRootCommit:r,root:i}){switch(C(n.status,r)){case`added`:return(0,D.jsx)(Ht,{session:e,sha:t,path:n.path,root:i});case`deleted`:return(0,D.jsx)(Lt,{session:e,against:`${t}^`,path:n.path,root:i});case`modified`:case`renamed`:return(0,D.jsx)(Wt,{session:e,sha:t,path:n.path,basePath:n.old_path??n.path,root:i});default:return null}}function Kt({session:e,sha:t,path:n,root:r}){let i=f(e,t,r);if(i.isPending)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading commit…`});if(i.error)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:i.error instanceof Error?i.error.message:`Failed to load commit`});let a=i.data.files.find(e=>e.path===n);return a?(0,D.jsx)(`div`,{className:`h-full`,children:(0,D.jsx)(Gt,{session:e,sha:t,entry:a,isRootCommit:i.data.parents.length===0,root:r})}):(0,D.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[(0,D.jsx)(`span`,{className:`text-fg-secondary`,children:n}),` is not part of`,` `,(0,D.jsx)(`span`,{className:`font-mono`,children:t.slice(0,7)}),`.`]})}function qt({session:e,path:t,root:n,area:r,focused:i=!0}){let a=m(e,{root:n,against:r===void 0?`base`:`head`,area:r});if(a.isPending)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading diff…`});if(a.error)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:a.error instanceof Error?a.error.message:`Failed to load diff`});let o=a.data.entries.find(e=>e.path===t);return o?(0,D.jsx)(`div`,{className:`h-full`,children:(0,D.jsx)(Vt,{session:e,against:a.data.against,entry:o,root:n,area:r,focused:i})}):(0,D.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[`No changes to `,(0,D.jsx)(`span`,{className:`mx-1 text-fg-secondary`,children:t}),` against the base.`]})}var Jt=800;function Yt({name:e}){let t=he(),n=u(),i=ne(n,e),a=r(),s=l(`editor.save`),c=(0,E.useRef)(null),d=(0,E.useRef)(null),f=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);if((0,E.useEffect)(()=>{if(n===null)return;let t=_e(t=>{v(n,e,t).catch(e=>o.error(e instanceof Error?e.message:`Draft not saved`))},Jt);return d.current=t,()=>{t.flush(),d.current=null}},[n,e]),n===null)return null;if(i.error)return(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-sm text-fg-muted`,children:i.error instanceof Error?i.error.message:`Failed to load the draft`});if(i.data===void 0)return(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`});let p=()=>{let t=c.current;t&&(d.current?.flush(),te({name:e,content:t.getValue()}))};return(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[(0,D.jsxs)(`div`,{className:`bg-surface px-3 py-1 text-xs text-fg-muted`,children:[`Draft — not in any worktree; `,s,` saves it into one`]}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(we,{path:`puddle-untitled://${n}/${e}`,defaultValue:i.data.content,theme:Ne,keepCurrentModel:!1,loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),onMount:t=>{c.current=t,_(e,t.getValue()),_t(t,{onSave:p})},onChange:t=>{let r=t??``;_(e,r),y(a,n,e,r),d.current?.(r)},options:{automaticLayout:!0,fontFamily:f,fontSize:t.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1,wordWrap:t.editorWordWrap?`on`:`off`}})})]})}function Xt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Zt(e){if(Array.isArray(e))return e}function Qt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function $t(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{a as n}from"./x-BJOrp_m5.js";import{Kt as r,L as i,St as a,Vt as o,bt as s,c,p as l,v as u}from"./hotkeys-uS50-PkH.js";import{D as d,E as f,M as p,N as m,P as h,S as g,a as _,d as v,f as y,g as b,j as x,k as S,m as C,n as ee,o as te,p as ne,v as re,w as ie,z as ae}from"./editor-context-ZCl2hgXk.js";import{t as oe}from"./preload-helper-Czpn1I53.js";import{a as se,n as ce,r as le,t as ue}from"./use-find-controls-XCU2T3Mk.js";import{F as de,I as w,J as fe,N as pe,P as me,X as he,Y as ge,a as _e,ft as ve}from"./index-V87RMkBD.js";import{c as ye,i as be,p as T,r as xe}from"./editor.api2-4X9Vh9Zw.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"./buffer-store-CtR80J8K.js";import{a as Pe,c as Fe,i as Ie,l as Le,n as Re,o as ze,r as Be,s as Ve}from"./editor-sync-DoqKyrPU.js";import{r as He}from"./buffer-logic-BrpRsL1b.js";var E=e(t(),1),Ue=new Map,We=new Map,Ge=1;function Ke(e){for(let t of We.get(e)??[])t()}function qe(e,t){Ue.set(e,t),Ke(e)}function Je(e){let t={phase:`unresolved`,revision:Ge++};return qe(e,t),t}function Ye(e){let t=Ue.get(e);return!t||t.phase!==`unresolved`&&t.phase!==`load-error`?null:(qe(e,{phase:`loading`,revision:t.revision}),t.revision)}function Xe(e,t,n,r){let i=Ue.get(e);return!i||i.phase!==`loading`||i.revision!==t?!1:(qe(e,{phase:`opening`,revision:t,content:n,mtimeMs:r}),!0)}function Ze(e,t){let n=Ue.get(e);return!n||n.phase!==`opening`||n.revision!==t?!1:(qe(e,{...n,phase:`comparing`}),!0)}function Qe(e,t,n){let r=Ue.get(e);return!r||r.phase!==`loading`||r.revision!==t?!1:(qe(e,{phase:`load-error`,revision:t,message:n}),!0)}function $e(e,t){return t&&e?.phase===`unresolved`}function et(e){return e?.phase===`comparing`?e.mtimeMs:void 0}function tt(e){return e?.phase===`loading`||e?.phase===`load-error`||e?.phase===`opening`}function nt(e){return e.phase===`opening`||e.phase===`comparing`}function rt(e){Ue.delete(e)&&Ke(e)}function it(e){return Ue.get(e)??null}function at(e,t){let n=We.get(e);return n||(n=new Set,We.set(e,n)),n.add(t),()=>n.delete(t)}var D=n();function ot({session:e,path:t,conflict:n,model:r,onTakeDisk:i,onKeepMine:a,onSave:o,onReady:s}){let c=he(),l=(0,E.useId)(),u=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),d=(0,E.useRef)(o);d.current=o;let f=(0,E.useRef)(null),p=()=>{let e=f.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),f.current=null},m=(0,E.useRef)(p);return m.current=p,(0,E.useEffect)(()=>()=>m.current(),[]),(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-3 bg-elevated px-3 py-1.5 text-xs text-fg-secondary`,children:[(0,D.jsx)(`span`,{children:`This file changed on disk. Yours is on the right — merge what you want, then save.`}),(0,D.jsx)(`button`,{type:`button`,onClick:i,className:`ml-auto shrink-0 text-fg-muted transition-colors hover:text-fg`,children:`Take the disk version`}),(0,D.jsx)(`button`,{type:`button`,onClick:a,disabled:n.phase!==`comparing`,className:`shrink-0 text-fg-muted transition-colors hover:text-fg`,children:`Keep mine`})]}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(Te,{modifiedModelPath:r.uri.toString(),originalModelPath:`puddle-disk://${encodeURIComponent(e)}/${n.mtimeMs}/${encodeURIComponent(l)}/${t.split(`/`).map(encodeURIComponent).join(`/`)}`,original:n.content,language:r.getLanguageId(),theme:Ne,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),onMount:e=>{f.current=e,e.onDidDispose(()=>{f.current=null}),e.getModifiedEditor().addCommand(be.CtrlCmd|xe.KeyS,()=>d.current()),s?.(n.revision)},options:{readOnly:n.phase!==`comparing`,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:u,fontSize:c.editorFontSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})})]})}function st({session:e,path:t,buffer:n,focused:r}){let i=n.conflict;return!i||i.phase===`unresolved`?null:nt(i)&&n.model?(0,D.jsx)(ot,{session:e,path:t,conflict:i,model:n.model,onTakeDisk:n.takeDisk,onKeepMine:n.keepMine,onSave:n.save,onReady:r?n.comparisonReady:void 0}):i.phase===`load-error`?(0,D.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 bg-ground px-4 text-center text-sm text-fg-muted`,children:[(0,D.jsx)(`span`,{children:`The disk version could not be loaded.`}),(0,D.jsx)(`span`,{className:`max-w-lg text-xs text-fg-secondary`,children:i.message}),(0,D.jsx)(`button`,{type:`button`,onClick:n.compare,className:`rounded-md bg-elevated px-3 py-1.5 text-xs text-fg-secondary transition-colors hover:bg-border hover:text-fg`,children:`Retry compare`})]}):(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-sm text-fg-muted`,children:`Loading the disk version…`})}function ct(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function lt(e,t,n){return ct(e/Math.max(1,t-n))}function ut(e,t,n){return ct(e)*Math.max(0,t-n)}function dt(e,t){return JSON.stringify([e,t.session,t.root??null,t.path])}var O=new class{positions=new Map;listeners=new Map;revision=0;publish(e,t,n){let r={ratio:ct(n),revision:++this.revision},i=dt(e,t);this.positions.set(i,r);for(let e of this.listeners.get(i)??[])e(r);return r}get(e,t){return this.positions.get(dt(e,t))}subscribe(e,t,n){let r=dt(e,t),i=this.listeners.get(r);i||(i=new Set,this.listeners.set(r,i)),i.add(n);let a=this.positions.get(r);return a&&n(a),()=>{i?.delete(n),i?.size===0&&this.listeners.delete(r)}}};function ft(e){let t=null;return{schedule:()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))},dispose:()=>{t!==null&&cancelAnimationFrame(t),t=null}}}function pt(e,t){if(t.driver&&t.receiver)throw Error(`a preview scroll surface cannot be both driver and receiver`);let n=t.store??O,r,i=()=>void 0,a,o=t=>{r=t,e.scrollTop=ut(t.ratio,e.scrollHeight,e.clientHeight)};t.receiver?i=n.subscribe(t.channel,t.target,o):t.driver&&(a=ft(()=>{n.publish(t.channel,t.target,lt(e.scrollTop,e.scrollHeight,e.clientHeight))}),e.addEventListener(`scroll`,a.schedule,{passive:!0}),a.schedule());let s=new ResizeObserver(()=>{t.receiver&&r?o(r):t.driver&&a?.schedule()});for(let e of t.resizeElements??[])s.observe(e);return()=>{t.driver&&a&&e.removeEventListener(`scroll`,a.schedule),i(),s.disconnect(),a?.dispose()}}function mt(e,t,n){if(t.driver&&t.receiver)throw Error(`a Monaco scroll surface cannot be both driver and receiver`);let r=t.store??O,i=[],a,o=()=>void 0,s,c=()=>e.getLayoutInfo().height,l=t=>{a=t,e.setScrollTop(ut(t.ratio,e.getScrollHeight(),c()),n)};return t.receiver?(o=r.subscribe(t.channel,t.target,l),i.push(e.onDidChangeModel(()=>a&&l(a))),i.push(e.onDidLayoutChange(()=>a&&l(a)))):t.driver&&(s=ft(()=>{r.publish(t.channel,t.target,lt(e.getScrollTop(),e.getScrollHeight(),c()))}),i.push(e.onDidScrollChange(s.schedule)),i.push(e.onDidChangeModel(s.schedule)),i.push(e.onDidLayoutChange(s.schedule)),s.schedule()),()=>{o();for(let e of i)e.dispose();s?.dispose()}}function ht(e){return!e}function gt(e){let t=e.split(`+`),n=t.pop()??``,r=0;for(let e of t)e===`meta`?r|=be.CtrlCmd:e===`ctrl`?r|=be.WinCtrl:e===`alt`?r|=be.Alt:e===`shift`&&(r|=be.Shift);let i=xe[/^Key[A-Z]$/.test(n)?`Key${n.slice(3)}`:/^Digit[0-9]$/.test(n)?`Digit${n.slice(5)}`:n];return typeof i==`number`?r|i:null}function _t(e,t){let n=gt(c(`editor.save`));n!==null&&e.addCommand(n,()=>t.onSave());let r=gt(c(`editor.wordWrap`));e.addAction({id:`puddle.toggleWordWrap`,label:`Toggle Word Wrap`,keybindings:r===null?[]:[r],run:()=>ge({editorWordWrap:ht(fe().editorWordWrap)})})}function vt(e){return`file-conflict:${e}`}function yt(e,t,n,r,i){let a=i?.passive===!0,c=i?.focused??!0,l=Me(e,t,r),u=h(e,t,{root:r,live:i?.live}),d=p(e,r),[f,m]=(0,E.useState)(null),[g,_]=(0,E.useState)(!1),v=(0,E.useRef)(!1),y=(0,E.useRef)(null),x=(0,E.useRef)(null),S=(0,E.useRef)(n);S.current=n;let C=(0,E.useRef)(!1),ee=(0,E.useCallback)((e,t)=>{x.current?.cancel(),C.current=!0;try{ke(l,e,t)}finally{C.current=!1}},[l]),te=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>De(l,e),[l]),()=>Ae(l)),ne=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>ze(l,e),[l]),()=>Pe(l)),ie=(0,E.useSyncExternalStore)((0,E.useCallback)(e=>at(l,e),[l]),()=>it(l));(0,E.useEffect)(()=>{let n=u.data;if(!n||n.binary||n.content===null||v.current)return;v.current=!0;let i=Ce(l)!==void 0,a=Oe(e,t,n.content,n.mtime_ms,r);m(a),!i&&Le(e,t,r).then(e=>{e&&(e.base_mtime_ms===n.mtime_ms?He(a,e.content)&&_(!0):o(`This file has an unsaved draft from an earlier version.`,{description:`The file changed on disk since the draft was saved.`,duration:12e3,action:{label:`Restore draft`,onClick:()=>{He(a,e.content)&&_(!0)}}}))})},[u.data,l,e,t,r]),(0,E.useEffect)(()=>{if(!f||a)return;let n=Fe(e,t,r);x.current=n;let i=f.onDidChangeContent(()=>{C.current||(n(f.getValue(),Ce(l)??0),Re(e,t,r))});return()=>{n.flush(),i.dispose(),x.current=null}},[f,l,e,t,r,a]),(0,E.useEffect)(()=>{!f||!ne.savedElsewhere||Ae(l)||u.refetch().then(e=>{Ae(l)||(e.data&&e.data.content!==null&&ee(e.data.content,e.data.mtime_ms),Ie(l))})},[ne.savedElsewhere,f,l]),(0,E.useEffect)(()=>{let e=u.data;!f||!e||e.content===null||!Ae(l)&&e.mtime_ms!==Ce(l)&&ee(e.content,e.mtime_ms)},[u.data,f,l]);let ae=(0,E.useCallback)((n,i)=>{Ee(l,n,i),x.current?.cancel(),Ve(e,t,r),Be(e,t,i,r),_(!1),rt(l)},[l,e,t,r]),oe=(0,E.useCallback)(()=>{let e=Ye(l);e!==null&&(o.dismiss(vt(l)),u.refetch({throwOnError:!0}).then(t=>{let n=t.data;if(!n)throw Error(`The disk version did not load.`);if(n.content===null)throw Error(`The file on disk is binary and cannot be compared as text.`);Xe(l,e,n.content,n.mtime_ms)}).catch(t=>{Qe(l,e,t instanceof Error?t.message:`The disk version did not load.`)}))},[u,l]),se=(0,E.useRef)(oe);se.current=oe,(0,E.useEffect)(()=>{if(!$e(ie,c))return;let e=vt(l);return o(`File changed on disk`,{id:e,description:`Nothing was written — your unsaved version is intact.`,duration:1/0,closeButton:!0,action:{label:`Compare`,onClick:()=>se.current()}}),()=>{o.dismiss(e)}},[ie,c,l]);let ce=(0,E.useCallback)(()=>{u.refetch().then(n=>{n.data&&n.data.content!==null&&ee(n.data.content,n.data.mtime_ms),Ve(e,t,r),_(!1),rt(l)})},[l,e,t,ee]),le=(0,E.useCallback)((e,n)=>{d.mutate({path:t,content:e},{onSuccess:e=>ae(n,e.mtime_ms),onError:e=>o.error(e instanceof Error?e.message:`Overwrite failed`)})},[d,t,ae]),ue=(0,E.useCallback)(()=>{if(!f||!Ae(l))return;let e=f.getValue(),n=f.getAlternativeVersionId();if(tt(it(l)))return;let r=et(it(l))??Ce(l);d.mutate({path:t,content:e,expected_mtime_ms:r},{onSuccess:e=>ae(n,e.mtime_ms),onError:e=>{e instanceof s&&e.status===409&&e.code===`stale_file`?Je(l):o.error(e instanceof Error?e.message:`Save failed`)}})},[f,l,d,t,ae]),de=(0,E.useRef)(ue);de.current=ue,(0,E.useEffect)(()=>b(re(e,t,r),()=>de.current()),[e,t,r]);let w=(0,E.useCallback)(()=>{let n=y.current,i=S.current;r===void 0&&(!n||!i||i.session!==e||i.path!==t||(n.revealLineInCenter(i.line),n.setPosition({lineNumber:i.line,column:i.column??1}),n.focus()))},[e,t,r]),fe=(0,E.useCallback)(e=>{y.current=e,_t(e,{onSave:()=>de.current()}),w()},[w]);(0,E.useEffect)(()=>{w()},[n,f,w]);let pe=(0,E.useCallback)(()=>{ce()},[ce]),me=(0,E.useCallback)(()=>{!f||it(l)?.phase!==`comparing`||le(f.getValue(),f.getAlternativeVersionId())},[f,l,le]),he=(0,E.useCallback)(e=>{Ze(l,e)},[l]),ge,_e=null;u.data?.binary?ge=`binary`:u.error?u.error instanceof s&&u.error.status===413?ge=`too-large`:(ge=`error`,_e=u.error instanceof Error?u.error.message:`Failed to load file`):ge=f?`ready`:`loading`;let ve=te&&ne.savedElsewhere?`saved-elsewhere`:te&&ne.dirtyElsewhere?`dirty-elsewhere`:null;return{status:ge,errorMessage:_e,model:f,dirty:te,restoredNotice:g,discardRestore:pe,peerBadge:ve,conflict:ie,takeDisk:ce,keepMine:me,compare:oe,comparisonReady:he,save:ue,onMount:fe}}function bt(e,t,n,r){for(let i of e)if(Tt([i],n).some(e=>(r===void 0||e.kind===r)&&t>=e.startLineNumber&&t<=e.endLineNumber))return i;return null}function xt(e,t){return Ct(e.modifiedStartLineNumber,e.modifiedEndLineNumber)>0?Math.min(t,e.modifiedEndLineNumber):Math.max(0,Math.min(t,e.modifiedStartLineNumber-1))}function St(e){let t=Ct(e.originalStartLineNumber,e.originalEndLineNumber),n=Ct(e.modifiedStartLineNumber,e.modifiedEndLineNumber);return Math.max(5,Math.min(14,t+n+4))}function Ct(e,t){return t===0?0:Math.max(0,t-e+1)}function wt(e,t){if(e>t)return{startLineNumber:Math.max(1,t),endLineNumber:Math.max(1,t),kind:`deleted-after`};let n=Math.max(1,e);return{startLineNumber:n,endLineNumber:n,kind:`deleted-before`}}function Tt(e,t){let n=[];for(let r of e){let e=Ct(r.originalStartLineNumber,r.originalEndLineNumber),i=Ct(r.modifiedStartLineNumber,r.modifiedEndLineNumber);if(e===0&&i>0){n.push({startLineNumber:r.modifiedStartLineNumber,endLineNumber:r.modifiedEndLineNumber,kind:`added`});continue}if(i===0&&e>0){n.push(wt(r.modifiedStartLineNumber,t));continue}let a=Math.min(e,i);a>0&&n.push({startLineNumber:r.modifiedStartLineNumber,endLineNumber:r.modifiedStartLineNumber+a-1,kind:`modified`}),i>a&&n.push({startLineNumber:r.modifiedStartLineNumber+a,endLineNumber:r.modifiedEndLineNumber,kind:`added`}),e>a&&n.push(wt(r.modifiedStartLineNumber+i,t))}return n}var Et=28,Dt=[[`puddle-dirty-added`,`added`],[`puddle-dirty-modified`,`modified`],[`puddle-dirty-deleted-before`,`deleted-before`],[`puddle-dirty-deleted-after`,`deleted-after`]];function Ot(e){if(e){for(let[t,n]of Dt)if(e.classList.contains(t)||e.closest(`.${t}`))return n}}function kt({editor:e,original:t,modified:n,path:r}){let i=[],a=null,o=!1,s=t=>{try{e.changeViewZones(e=>e.removeZone(t))}catch{}},c=()=>{let e=a;e&&(a=null,e.frame!==null&&cancelAnimationFrame(e.frame),e.diffEditor&&(e.diffEditor.setModel(null),e.diffEditor.dispose()),s(e.zoneId))},l=e=>{let t=e.diffEditor;if(!t)return;let r=Math.max(1,Math.min(n.getLineCount(),e.change.modifiedStartLineNumber));t.getModifiedEditor().revealLineInCenter(r,T.ScrollType.Immediate)},u=(i,s)=>{if(a?.anchorLine===i){c();return}c();let u=e.getOption(T.EditorOption.lineHeight),d=document.createElement(`div`);d.className=`puddle-dirty-peek`;let f=document.createElement(`div`);f.className=`puddle-dirty-peek-header`;let p=document.createElement(`span`);p.className=`puddle-dirty-peek-title`,p.textContent=`${r.split(`/`).pop()??r} · Local changes against HEAD`;let m=document.createElement(`button`);m.type=`button`,m.className=`puddle-dirty-peek-close`,m.setAttribute(`aria-label`,`Close inline change`),m.title=`Close inline change`,m.textContent=`×`,m.addEventListener(`pointerdown`,e=>{e.preventDefault(),e.stopPropagation(),c()}),m.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),c()});let h=document.createElement(`div`);h.className=`puddle-dirty-peek-editor`,f.append(p,m),d.append(f,h);let g=document.createElement(`div`);g.className=`puddle-dirty-peek-margin`;let _={afterLineNumber:xt(s,n.getLineCount()),heightInPx:Et+St(s)*u,domNode:d,marginDomNode:g,suppressMouseDown:!1},v=``;e.changeViewZones(e=>{v=e.addZone(_)});let y={anchorLine:i,change:s,zone:_,zoneId:v,frame:null,diffEditor:null};a=y,y.frame=requestAnimationFrame(()=>{if(y.frame=null,o||a!==y)return;let r=T.createDiffEditor(h,{readOnly:!0,domReadOnly:!0,originalEditable:!1,renderSideBySide:!1,renderMarginRevertIcon:!1,renderOverviewRuler:!1,enableSplitViewResizing:!1,isInEmbeddedEditor:!0,automaticLayout:!0,fontFamily:e.getOption(T.EditorOption.fontFamily),fontSize:e.getOption(T.EditorOption.fontSize),lineHeight:u,minimap:{enabled:!1},glyphMargin:!1,folding:!1,scrollBeyondLastLine:!1,fixedOverflowWidgets:!0,hideUnchangedRegions:{enabled:!0,minimumLineCount:0,contextLineCount:2,revealLineCount:3}});y.diffEditor=r,r.setModel({original:t,modified:n}),r.onDidUpdateDiff(()=>l(y)),l(y)}),e.revealLineInCenter(Math.max(1,Math.min(n.getLineCount(),s.modifiedStartLineNumber)))},d=e.onMouseDown(e=>{if(!e.event.leftButton||e.target.type!==T.MouseTargetType.GUTTER_LINE_DECORATIONS||e.target.position===null)return;let t=e.target.position.lineNumber,r=bt(i,t,n.getLineCount(),Ot(e.target.element));r&&(e.event.preventDefault(),e.event.stopPropagation(),u(t,r))});return{update(t){if(i=t,!a)return;let r=a,o=bt(t,r.anchorLine,n.getLineCount());if(!o){c();return}r.change=o,r.zone.afterLineNumber=xt(o,n.getLineCount()),r.zone.heightInPx=Et+St(o)*e.getOption(T.EditorOption.lineHeight);try{e.changeViewZones(e=>e.layoutZone(r.zoneId))}catch{c();return}l(r)},dispose(){o=!0,d.dispose(),c()}}}var At={added:`puddle-dirty-added`,modified:`puddle-dirty-modified`,"deleted-before":`puddle-dirty-deleted-before`,"deleted-after":`puddle-dirty-deleted-after`};function jt(e,t,n,r){let a=i(),o=S(e,t,{root:n,enabled:a.data!==void 0&&ve(a.data.protocol)&&r!==null}),[s,c]=(0,E.useState)(null),l=(0,E.useCallback)(e=>{c(e)},[]);return(0,E.useEffect)(()=>{let e=o.data;if(!s||!r||!e||e.repository===null||e.ignored||e.binary)return;let n=document.createElement(`div`);n.className=`puddle-hidden-diff-controller`,document.body.appendChild(n);let i=T.createModel(e.exists?e.content??``:``,r.getLanguageId()),a=T.createDiffEditor(n,{readOnly:!0,automaticLayout:!1,renderSideBySide:!1,minimap:{enabled:!1}}),c=s.createDecorationsCollection();a.setModel({original:i,modified:r});let l=kt({editor:s,original:i,modified:r,path:t}),u=()=>{let e=a.getLineChanges();e&&(l.update(e),c.set(Tt(e,r.getLineCount()).map(e=>({range:new ye(e.startLineNumber,1,e.endLineNumber,1),options:{isWholeLine:!0,linesDecorationsClassName:At[e.kind]}}))))},d=a.onDidUpdateDiff(u);return u(),()=>{d.dispose(),l.dispose(),c.clear(),a.setModel(null),a.dispose(),i.dispose(),n.remove()}},[s,r,o.data]),l}function Mt({message:e,session:t,path:n,root:r,download:i}){return(0,D.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 bg-ground text-sm text-fg-muted`,children:[(0,D.jsx)(`span`,{children:e}),i&&(0,D.jsxs)(`button`,{type:`button`,onClick:()=>void g(t,n,r).catch(e=>o.error(e instanceof Error?e.message:`Download failed`)),className:`flex items-center gap-1.5 text-fg-secondary transition-colors hover:text-fg`,children:[(0,D.jsx)(ae,{className:`size-4`}),`Download`]})]})}function Nt({session:e,path:t,reveal:n,root:r,focused:i=!0,scrollDriver:a=!1,scrollReceiver:o=!1,scrollChannel:s=`profile`}){let c=he(),l=yt(e,t,n,r,{focused:i}),u=jt(e,t,r,l.model),d=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),[f,p]=(0,E.useState)(null),m=(0,E.useMemo)(()=>({session:e,path:t,root:r}),[e,t,r]),h=l.conflict!==null&&l.conflict.phase!==`unresolved`;if((0,E.useEffect)(()=>{if(!(!f||!l.model||h))return mt(f,{channel:s,target:m,driver:a,receiver:o},T.ScrollType.Immediate)},[f,l.model,h,s,m,a,o]),l.conflict&&l.conflict.phase!==`unresolved`)return(0,D.jsx)(st,{session:e,path:t,buffer:l,focused:i});if(l.status===`binary`)return(0,D.jsx)(Mt,{message:`Binary file — use Download`,session:e,path:t,root:r,download:!0});if(l.status===`too-large`)return(0,D.jsx)(Mt,{message:`File too large to edit — use Download`,session:e,path:t,root:r,download:!0});if(l.status===`error`)return(0,D.jsx)(Mt,{message:l.errorMessage??`Failed to load file`,session:e,path:t,root:r});let g=l.peerBadge===`saved-elsewhere`?`Saved in another window`:l.peerBadge===`dirty-elsewhere`?`Also being edited in another window`:null;return(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[l.restoredNotice&&(0,D.jsxs)(`div`,{className:`flex items-center gap-3 bg-elevated px-3 py-1.5 text-xs text-fg-secondary`,children:[(0,D.jsx)(`span`,{children:`Restored unsaved changes`}),(0,D.jsx)(`button`,{type:`button`,onClick:l.discardRestore,className:`text-fg-muted transition-colors hover:text-fg`,children:`Discard`})]}),g&&(0,D.jsx)(`div`,{className:`bg-surface px-3 py-1 text-xs text-fg-muted`,children:g}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:l.model&&(0,D.jsx)(we,{path:l.model.uri.toString(),defaultValue:l.model.getValue(),theme:`puddle`,keepCurrentModel:!0,onMount:e=>{l.onMount(e),u(e),p(e)},loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),options:{automaticLayout:!0,fontFamily:d,fontSize:c.editorFontSize,tabSize:c.editorTabSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},glyphMargin:!1,lineDecorationsWidth:10,fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})})]})}function k({children:e}){return(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center px-4 text-xs text-fg-muted`,children:e})}function Pt(e,t){let n=(0,E.useRef)(t);n.current=t,(0,E.useEffect)(()=>(je(e),()=>{n.current?.(),Se(e)}),[e])}function Ft(e,t,n,r){let i=r.split(`/`).map(encodeURIComponent).join(`/`);return`${e}://${encodeURIComponent(t)}/${encodeURIComponent(n)}/${i}`}function It({session:e,refName:t,path:n,content:r}){let i=he(),a=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,D.jsx)(we,{path:Ft(`puddle-view`,e,t,n),defaultValue:r,theme:Ne,loading:(0,D.jsx)(k,{children:`…`}),options:{readOnly:!0,automaticLayout:!0,fontFamily:a,fontSize:i.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Lt({session:e,against:t,path:n,root:r,indexBase:i=!1}){let a=d(e,t,n,{root:r,enabled:!i}),o=x(e,n,{root:r,enabled:i}),s=i?o:a;return s.isPending?(0,D.jsx)(k,{children:`…`}):s.error?(0,D.jsx)(k,{children:s.error instanceof Error?s.error.message:`Failed to load`}):s.data.binary?(0,D.jsx)(k,{children:`Binary file — deleted`}):(0,D.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,D.jsx)(`div`,{className:`bg-surface px-4 py-1 text-xs text-fg-muted`,children:`Deleted`}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(It,{session:e,refName:`${t}:${r??``}`,path:n,content:s.data.content??``})})]})}function Rt({session:e,against:t,path:n,basePath:r,root:i,indexBase:a=!1,focused:o=!0}){let c=he(),l=yt(e,n,null,i,{focused:o}),u=d(e,t,r,{root:i,enabled:!a}),f=x(e,r,{root:i,enabled:a}),p=a?f:u,m=(0,E.useRef)(null);Pt(Me(e,n,i),()=>{let e=m.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),m.current=null});let h=(0,E.useRef)(l.save);h.current=l.save;let g=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]),_=p.error instanceof s&&p.error.status===404;return l.conflict&&l.conflict.phase!==`unresolved`?(0,D.jsx)(st,{session:e,path:n,buffer:l,focused:o}):l.status===`binary`||p.data?.binary?(0,D.jsx)(k,{children:`Binary file`}):l.status===`too-large`?(0,D.jsx)(k,{children:`File too large to show`}):l.status===`error`?(0,D.jsx)(k,{children:l.errorMessage??`Failed to load file`}):_||a&&f.data&&!f.data.exists?(0,D.jsx)(Nt,{session:e,path:n,reveal:null,root:i,focused:o}):p.isPending||!l.model?(0,D.jsx)(k,{children:`…`}):p.error?(0,D.jsx)(k,{children:p.error instanceof Error?p.error.message:`Failed to load base`}):(0,D.jsx)(Te,{modifiedModelPath:l.model.uri.toString(),originalModelPath:Ft(`puddle-base`,e,`${t}:${i??``}`,r),original:p.data.content??``,language:l.model.getLanguageId(),theme:Ne,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(k,{children:`…`}),onMount:e=>{m.current=e,e.onDidDispose(()=>{m.current=null}),e.getModifiedEditor().addCommand(be.CtrlCmd|xe.KeyS,()=>h.current())},options:{readOnly:!1,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:g,fontSize:c.editorFontSize,wordWrap:c.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function zt({session:e,against:t,entry:n,root:r}){let i=he(),a=n.old_path??n.path,o=d(e,t,a,{root:r,enabled:n.status!==`added`}),s=x(e,n.path,{root:r,enabled:n.status!==`deleted`}),c=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);if(n.status===`deleted`)return(0,D.jsx)(Lt,{session:e,against:t,path:a,root:r});if(s.isPending||n.status!==`added`&&o.isPending)return(0,D.jsx)(k,{children:`…`});if(s.error||o.error){let e=s.error??o.error;return(0,D.jsx)(k,{children:e instanceof Error?e.message:`Failed to load staged content`})}return s.data.binary||o.data?.binary?(0,D.jsx)(k,{children:`Binary file`}):n.status===`added`?(0,D.jsx)(It,{session:e,refName:`index:${r??``}`,path:n.path,content:s.data.content??``}):o.data?(0,D.jsx)(Te,{originalModelPath:Ft(`puddle-head`,e,`${t}:${r??``}`,a),modifiedModelPath:Ft(`puddle-index`,e,`${t}:${r??``}`,n.path),original:o.data.content??``,modified:s.data.content??``,theme:Ne,loading:(0,D.jsx)(k,{children:`…`}),options:{readOnly:!0,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:c,fontSize:i.editorFontSize,wordWrap:i.editorWordWrap?`on`:`off`,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}}):(0,D.jsx)(k,{children:`Failed to load HEAD content`})}function Bt({session:e,path:t,root:n,focused:r}){return Pt(Me(e,t,n)),(0,D.jsx)(Nt,{session:e,path:t,reveal:null,root:n,focused:r})}function Vt({session:e,against:t,entry:n,root:r,area:i,focused:a=!0}){if(i===`staged`)return(0,D.jsx)(zt,{session:e,against:t,entry:n,root:r});switch(n.status){case`added`:return(0,D.jsx)(Bt,{session:e,path:n.path,root:r,focused:a});case`deleted`:return(0,D.jsx)(Lt,{session:e,against:t,path:n.path,root:r,indexBase:i===`unstaged`});case`modified`:case`renamed`:return(0,D.jsx)(Rt,{session:e,against:t,path:n.path,basePath:n.old_path??n.path,root:r,indexBase:i===`unstaged`,focused:a});default:return null}}function Ht({session:e,sha:t,path:n,root:r}){let i=d(e,t,n,{root:r});return i.isPending?(0,D.jsx)(k,{children:`…`}):i.error?(0,D.jsx)(k,{children:i.error instanceof Error?i.error.message:`Failed to load file`}):i.data.binary?(0,D.jsx)(k,{children:`Binary file`}):(0,D.jsx)(It,{session:e,refName:`${t}:${r??``}`,path:n,content:i.data.content??``})}function Ut({session:e,originalRef:t,originalPath:n,originalContent:r,modifiedRef:i,modifiedPath:a,modifiedContent:o,root:s}){let c=he(),l=(0,E.useRef)(null),u=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);return(0,E.useEffect)(()=>()=>{let e=l.current;if(!e)return;let t=e.getModel();e.setModel(null),t?.original.dispose(),t?.modified.dispose(),l.current=null},[]),(0,D.jsx)(Te,{originalModelPath:Ft(`puddle-hist-orig`,e,`${t}:${s??``}`,n),modifiedModelPath:Ft(`puddle-hist-mod`,e,`${i}:${s??``}`,a),original:r,modified:o,theme:Ne,keepCurrentOriginalModel:!0,keepCurrentModifiedModel:!0,loading:(0,D.jsx)(k,{children:`…`}),onMount:e=>{l.current=e,e.onDidDispose(()=>{l.current=null})},options:{readOnly:!0,originalEditable:!1,renderSideBySide:!0,automaticLayout:!0,fontFamily:u,fontSize:c.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1}})}function Wt({session:e,sha:t,path:n,basePath:r,root:i}){let a=d(e,`${t}^`,r,{root:i}),o=d(e,t,n,{root:i});return a.error instanceof s&&a.error.status===404?(0,D.jsx)(Ht,{session:e,sha:t,path:n,root:i}):a.isPending||o.isPending?(0,D.jsx)(k,{children:`…`}):a.error?(0,D.jsx)(k,{children:a.error instanceof Error?a.error.message:`Failed to load original`}):o.error?(0,D.jsx)(k,{children:o.error instanceof Error?o.error.message:`Failed to load file`}):a.data.binary||o.data.binary?(0,D.jsx)(k,{children:`Binary file`}):(0,D.jsx)(Ut,{session:e,originalRef:`${t}^`,originalPath:r,originalContent:a.data.content??``,modifiedRef:t,modifiedPath:n,modifiedContent:o.data.content??``,root:i})}function Gt({session:e,sha:t,entry:n,isRootCommit:r,root:i}){switch(C(n.status,r)){case`added`:return(0,D.jsx)(Ht,{session:e,sha:t,path:n.path,root:i});case`deleted`:return(0,D.jsx)(Lt,{session:e,against:`${t}^`,path:n.path,root:i});case`modified`:case`renamed`:return(0,D.jsx)(Wt,{session:e,sha:t,path:n.path,basePath:n.old_path??n.path,root:i});default:return null}}function Kt({session:e,sha:t,path:n,root:r}){let i=f(e,t,r);if(i.isPending)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading commit…`});if(i.error)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:i.error instanceof Error?i.error.message:`Failed to load commit`});let a=i.data.files.find(e=>e.path===n);return a?(0,D.jsx)(`div`,{className:`h-full`,children:(0,D.jsx)(Gt,{session:e,sha:t,entry:a,isRootCommit:i.data.parents.length===0,root:r})}):(0,D.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[(0,D.jsx)(`span`,{className:`text-fg-secondary`,children:n}),` is not part of`,` `,(0,D.jsx)(`span`,{className:`font-mono`,children:t.slice(0,7)}),`.`]})}function qt({session:e,path:t,root:n,area:r,focused:i=!0}){let a=m(e,{root:n,against:r===void 0?`base`:`head`,area:r});if(a.isPending)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:`Loading diff…`});if(a.error)return(0,D.jsx)(`div`,{className:`px-4 py-3 text-xs text-fg-muted`,children:a.error instanceof Error?a.error.message:`Failed to load diff`});let o=a.data.entries.find(e=>e.path===t);return o?(0,D.jsx)(`div`,{className:`h-full`,children:(0,D.jsx)(Vt,{session:e,against:a.data.against,entry:o,root:n,area:r,focused:i})}):(0,D.jsxs)(`div`,{className:`flex h-full items-center justify-center px-4 text-center text-xs text-fg-muted`,children:[`No changes to `,(0,D.jsx)(`span`,{className:`mx-1 text-fg-secondary`,children:t}),` against the base.`]})}var Jt=800;function Yt({name:e}){let t=he(),n=u(),i=ne(n,e),a=r(),s=l(`editor.save`),c=(0,E.useRef)(null),d=(0,E.useRef)(null),f=(0,E.useMemo)(()=>getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`).trim()||void 0,[]);if((0,E.useEffect)(()=>{if(n===null)return;let t=_e(t=>{v(n,e,t).catch(e=>o.error(e instanceof Error?e.message:`Draft not saved`))},Jt);return d.current=t,()=>{t.flush(),d.current=null}},[n,e]),n===null)return null;if(i.error)return(0,D.jsx)(`div`,{className:`flex h-full items-center justify-center bg-ground text-sm text-fg-muted`,children:i.error instanceof Error?i.error.message:`Failed to load the draft`});if(i.data===void 0)return(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`});let p=()=>{let t=c.current;t&&(d.current?.flush(),te({name:e,content:t.getValue()}))};return(0,D.jsxs)(`div`,{className:`flex h-full flex-col bg-ground`,children:[(0,D.jsxs)(`div`,{className:`bg-surface px-3 py-1 text-xs text-fg-muted`,children:[`Draft — not in any worktree; `,s,` saves it into one`]}),(0,D.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,D.jsx)(we,{path:`puddle-untitled://${n}/${e}`,defaultValue:i.data.content,theme:Ne,keepCurrentModel:!1,loading:(0,D.jsx)(`div`,{className:`p-3 text-xs text-fg-muted`,children:`…`}),onMount:t=>{c.current=t,_(e,t.getValue()),_t(t,{onSave:p})},onChange:t=>{let r=t??``;_(e,r),y(a,n,e,r),d.current?.(r)},options:{automaticLayout:!0,fontFamily:f,fontSize:t.editorFontSize,minimap:{enabled:!1},fixedOverflowWidgets:!0,scrollBeyondLastLine:!1,wordWrap:t.editorWordWrap?`on`:`off`}})})]})}function Xt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Zt(e){if(Array.isArray(e))return e}function Qt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function $t(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function en(e,t){return Zt(e)||Qt(e,t)||tn(e,t)||$t()}function tn(e,t){if(e){if(typeof e==`string`)return Xt(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xt(e,t):void 0}}var nn=Object.entries,rn=Object.setPrototypeOf,an=Object.isFrozen,on=Object.getPrototypeOf,sn=Object.getOwnPropertyDescriptor,cn=Object.freeze,ln=Object.seal,un=Object.create,dn=typeof Reflect<`u`&&Reflect,fn=dn.apply,pn=dn.construct;cn||=function(e){return e},ln||=function(e){return e},fn||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},pn||=function(e){return new e(...[...arguments].slice(1))};var mn=Pn(Array.prototype.forEach),hn=Pn(Array.prototype.lastIndexOf),gn=Pn(Array.prototype.pop),_n=Pn(Array.prototype.push),vn=Pn(Array.prototype.splice),yn=Array.isArray,bn=Pn(String.prototype.toLowerCase),xn=Pn(String.prototype.toString),Sn=Pn(String.prototype.match),Cn=Pn(String.prototype.replace),wn=Pn(String.prototype.indexOf),Tn=Pn(String.prototype.trim),En=Pn(Number.prototype.toString),Dn=Pn(Boolean.prototype.toString),On=typeof BigInt>`u`?null:Pn(BigInt.prototype.toString),kn=typeof Symbol>`u`?null:Pn(Symbol.prototype.toString),An=Pn(Object.prototype.hasOwnProperty),jn=Pn(Object.prototype.toString),Mn=Pn(RegExp.prototype.test),Nn=Fn(TypeError);function Pn(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return fn(e,t,n)}}function Fn(e){return function(){return pn(e,[...arguments])}}function A(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:bn;if(rn&&rn(e,null),!yn(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(an(t)||(t[r]=e),i=e)}e[i]=!0}return e}function In(e){for(let t=0;t<e.length;t++)An(e,t)||(e[t]=null);return e}function Ln(e){let t=un(null);for(let r of nn(e)){var n=en(r,2);let i=n[0],a=n[1];An(e,i)&&(yn(a)?t[i]=In(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=Ln(a):t[i]=a)}return t}function Rn(e){switch(typeof e){case`string`:return e;case`number`:return En(e);case`boolean`:return Dn(e);case`bigint`:return On?On(e):`0`;case`symbol`:return kn?kn(e):`Symbol()`;case`undefined`:return jn(e);case`function`:case`object`:{if(e===null)return jn(e);let t=e,n=zn(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:jn(e)}return jn(e)}default:return jn(e)}}function zn(e,t){for(;e!==null;){let n=sn(e,t);if(n){if(n.get)return Pn(n.get);if(typeof n.value==`function`)return Pn(n.value)}e=on(e)}function n(){return null}return n}function Bn(e){try{return Mn(e,``),!0}catch{return!1}}var Vn=cn(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Hn=cn(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Un=cn([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Wn=cn([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),Gn=cn(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Kn=cn([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),qn=cn([`#text`]),Jn=cn(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Yn=cn(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Xn=cn(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Zn=cn([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Qn=ln(/{{[\w\W]*|^[\w\W]*}}/g),$n=ln(/<%[\w\W]*|^[\w\W]*%>/g),er=ln(/\${[\w\W]*/g),tr=ln(/^data-[\-\w.\u00B7-\uFFFF]+$/),nr=ln(/^aria-[\-\w]+$/),rr=ln(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ir=ln(/^(?:\w+script|data):/i),ar=ln(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),or=ln(/^html$/i),sr=ln(/^[a-z][.\w]*(-[.\w]+)+$/i),cr=ln(/<[/\w!]/g),lr=ln(/<[/\w]/g),ur=ln(/<\/no(script|embed|frames)/i),dr=ln(/\/>/i),fr={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},pr=function(){return typeof window>`u`?null:window},mr=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},hr=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},gr=function(e,t,n,r){return An(e,t)&&yn(e[t])?A(r.base?Ln(r.base):{},e[t],r.transform):n};function _r(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:pr(),t=e=>_r(e);if(t.version=`3.4.12`,t.removed=[],!e||!e.document||e.document.nodeType!==fr.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=zn(d,`cloneNode`),p=zn(d,`remove`),m=zn(d,`nextSibling`),h=zn(d,`childNodes`),g=zn(d,`parentNode`),_=zn(d,`shadowRoot`),v=zn(d,`attributes`),y=o&&o.prototype?zn(o.prototype,`nodeType`):null,b=o&&o.prototype?zn(o.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let x,S=``,C,ee=!1,te=0,ne=function(){if(te>0)throw Nn(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},re=function(e){ne(),te++;try{return x.createHTML(e)}finally{te--}},ie=function(e){ne(),te++;try{return x.createScriptURL(e)}finally{te--}},ae=function(){return ee||=(C=mr(u,i),!0),C},oe=n,se=oe.implementation,ce=oe.createNodeIterator,le=oe.createDocumentFragment,ue=oe.getElementsByTagName,de=r.importNode,w=hr();t.isSupported=typeof nn==`function`&&typeof g==`function`&&se&&se.createHTMLDocument!==void 0;let fe=Qn,pe=$n,me=er,he=tr,ge=nr,_e=ir,ve=ar,ye=sr,be=rr,T=null,xe=A({},[...Vn,...Hn,...Un,...Gn,...qn]),Se=null,Ce=A({},[...Jn,...Yn,...Xn,...Zn]),we=Object.seal(un(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Te=null,Ee=null,De=Object.seal(un(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Oe=!0,ke=!0,Ae=!1,je=!0,Me=!1,Ne=!0,Pe=!1,Fe=!1,Ie=null,Le=null,Re=!1,ze=!1,Be=!1,Ve=!1,He=!0,E=!1,Ue=`user-content-`,We=!0,Ge=!1,Ke={},qe=null,Je=A({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Ye=null,Xe=A({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Ze=null,Qe=A({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),$e=`http://www.w3.org/1998/Math/MathML`,et=`http://www.w3.org/2000/svg`,tt=`http://www.w3.org/1999/xhtml`,nt=tt,rt=!1,it=null,at=A({},[$e,et,tt],xn),D=cn([`mi`,`mo`,`mn`,`ms`,`mtext`]),ot=A({},D),st=cn([`annotation-xml`]),ct=A({},st),lt=A({},[`title`,`style`,`font`,`a`,`script`]),ut=null,dt=[`application/xhtml+xml`,`text/html`],O=null,ft=null,pt=n.createElement(`form`),mt=function(e){return e instanceof RegExp||e instanceof Function},ht=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ft&&ft===e)return;(!e||typeof e!=`object`)&&(e={}),e=Ln(e),ut=dt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,O=ut===`application/xhtml+xml`?xn:bn,T=gr(e,`ALLOWED_TAGS`,xe,{transform:O}),Se=gr(e,`ALLOWED_ATTR`,Ce,{transform:O}),it=gr(e,`ALLOWED_NAMESPACES`,at,{transform:xn}),Ze=gr(e,`ADD_URI_SAFE_ATTR`,Qe,{transform:O,base:Qe}),Ye=gr(e,`ADD_DATA_URI_TAGS`,Xe,{transform:O,base:Xe}),qe=gr(e,`FORBID_CONTENTS`,Je,{transform:O}),Te=gr(e,`FORBID_TAGS`,Ln({}),{transform:O}),Ee=gr(e,`FORBID_ATTR`,Ln({}),{transform:O}),Ke=An(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?Ln(e.USE_PROFILES):e.USE_PROFILES:!1,Oe=e.ALLOW_ARIA_ATTR!==!1,ke=e.ALLOW_DATA_ATTR!==!1,Ae=e.ALLOW_UNKNOWN_PROTOCOLS||!1,je=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Me=e.SAFE_FOR_TEMPLATES||!1,Ne=e.SAFE_FOR_XML!==!1,Pe=e.WHOLE_DOCUMENT||!1,ze=e.RETURN_DOM||!1,Be=e.RETURN_DOM_FRAGMENT||!1,Ve=e.RETURN_TRUSTED_TYPE||!1,Re=e.FORCE_BODY||!1,He=e.SANITIZE_DOM!==!1,E=e.SANITIZE_NAMED_PROPS||!1,We=e.KEEP_CONTENT!==!1,Ge=e.IN_PLACE||!1,be=Bn(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:rr,nt=typeof e.NAMESPACE==`string`?e.NAMESPACE:tt,ot=An(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?Ln(e.MATHML_TEXT_INTEGRATION_POINTS):A({},D),ct=An(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?Ln(e.HTML_INTEGRATION_POINTS):A({},st);let t=An(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?Ln(e.CUSTOM_ELEMENT_HANDLING):un(null);if(we=un(null),An(t,`tagNameCheck`)&&mt(t.tagNameCheck)&&(we.tagNameCheck=t.tagNameCheck),An(t,`attributeNameCheck`)&&mt(t.attributeNameCheck)&&(we.attributeNameCheck=t.attributeNameCheck),An(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(we.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),ln(we),Me&&(ke=!1),Be&&(ze=!0),Ke&&(T=A({},qn),Se=un(null),Ke.html===!0&&(A(T,Vn),A(Se,Jn)),Ke.svg===!0&&(A(T,Hn),A(Se,Yn),A(Se,Zn)),Ke.svgFilters===!0&&(A(T,Un),A(Se,Yn),A(Se,Zn)),Ke.mathMl===!0&&(A(T,Gn),A(Se,Xn),A(Se,Zn))),De.tagCheck=null,De.attributeCheck=null,An(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?De.tagCheck=e.ADD_TAGS:yn(e.ADD_TAGS)&&(T===xe&&(T=Ln(T)),A(T,e.ADD_TAGS,O))),An(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?De.attributeCheck=e.ADD_ATTR:yn(e.ADD_ATTR)&&(Se===Ce&&(Se=Ln(Se)),A(Se,e.ADD_ATTR,O))),An(e,`ADD_URI_SAFE_ATTR`)&&yn(e.ADD_URI_SAFE_ATTR)&&A(Ze,e.ADD_URI_SAFE_ATTR,O),An(e,`FORBID_CONTENTS`)&&yn(e.FORBID_CONTENTS)&&(qe===Je&&(qe=Ln(qe)),A(qe,e.FORBID_CONTENTS,O)),An(e,`ADD_FORBID_CONTENTS`)&&yn(e.ADD_FORBID_CONTENTS)&&(qe===Je&&(qe=Ln(qe)),A(qe,e.ADD_FORBID_CONTENTS,O)),We&&(T[`#text`]=!0),Pe&&A(T,[`html`,`head`,`body`]),T.table&&(A(T,[`tbody`]),delete Te.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Nn(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Nn(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=x;x=e.TRUSTED_TYPES_POLICY;try{S=re(``)}catch(e){throw x=t,e}}else e.TRUSTED_TYPES_POLICY===null?(x=void 0,S=``):(x===void 0&&(x=ae()),x&&typeof S==`string`&&(S=re(``)));cn&&cn(e),ft=e},gt=A({},[...Hn,...Un,...Wn]),_t=A({},[...Gn,...Kn]),vt=function(e,t,n){return t.namespaceURI===tt?e===`svg`:t.namespaceURI===$e?e===`svg`&&(n===`annotation-xml`||ot[n]):!!gt[e]},yt=function(e,t,n){return t.namespaceURI===tt?e===`math`:t.namespaceURI===et?e===`math`&&ct[n]:!!_t[e]},bt=function(e,t,n){return t.namespaceURI===et&&!ct[n]||t.namespaceURI===$e&&!ot[n]?!1:!_t[e]&&(lt[e]||!gt[e])},xt=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:nt,tagName:`template`});let n=bn(e.tagName),r=bn(t.tagName);return it[e.namespaceURI]?e.namespaceURI===et?vt(n,t,r):e.namespaceURI===$e?yt(n,t,r):e.namespaceURI===tt?bt(n,t,r):!!(ut===`application/xhtml+xml`&&it[e.namespaceURI]):!1},St=function(e){_n(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw Nn(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},Ct=function(e){Et(e);let t=h(e);if(t){let e=[];mn(t,t=>{_n(e,t)}),mn(e,e=>{try{p(e)}catch{}})}let n=v(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},wt=function(e,n){try{_n(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{_n(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(ze||Be)try{St(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Tt=function(e){let t=v(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||Se[O(i)]))try{e.removeAttribute(i)}catch{}}},Et=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===fr.element&&Tt(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},Dt=function(e){if(!Ne)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=y?y(e):e.nodeType;if(n===fr.processingInstruction||n===fr.comment&&Mn(lr,e.data)){try{p(e)}catch{}continue}if(n===fr.element){let t=e,n=O(b?b(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&n!==`label`&&n!==`output`&&t.removeAttribute(`for`)}catch{}}let r=h(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},Ot=function(e){let t=null,r=null;if(Re)e=`<remove></remove>`+e;else{let t=Sn(e,/^[\r\n\t ]+/);r=t&&t[0]}ut===`application/xhtml+xml`&&nt===tt&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?re(e):e;if(nt===tt)try{t=new l().parseFromString(i,ut)}catch{}if(!t||!t.documentElement){t=se.createDocument(nt,`template`,null);try{t.documentElement.innerHTML=rt?S:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),nt===tt?ue.call(t,Pe?`html`:`body`)[0]:Pe?t.documentElement:a},kt=function(e){return ce.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},At=function(e){return e=Cn(e,fe,` `),e=Cn(e,pe,` `),e=Cn(e,me,` `),e},jt=function(e){e.normalize();let t=ce.call(e.ownerDocument||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;)n.data=At(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&mn(r,e=>{Nt(e.content)&&jt(e.content)})},Mt=function(e){let t=b?b(e):null;return typeof t!=`string`||O(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==v(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==y(e)||e.childNodes!==h(e)},Nt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===fr.documentFragment}catch{return!1}},k=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function Pt(e,n,r){e.length!==0&&mn(e,e=>{e.call(t,n,r,ft)})}let Ft=function(e,t){return!!(Ne&&e.hasChildNodes()&&!k(e.firstElementChild)&&Mn(cr,e.textContent)&&Mn(cr,e.innerHTML)||Ne&&e.namespaceURI===tt&&t===`style`&&k(e.firstElementChild)||e.nodeType===fr.processingInstruction||Ne&&e.nodeType===fr.comment&&Mn(lr,e.data))},It=function(e,t){if(!Te[t]&&Bt(t)&&(we.tagNameCheck instanceof RegExp&&Mn(we.tagNameCheck,t)||we.tagNameCheck instanceof Function&&we.tagNameCheck(t)))return!1;if(We&&!qe[t]){let t=g(e),n=h(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=Ge?n[i]:f(n[i],!0);t.insertBefore(r,m(e))}}}return St(e),!0},Lt=function(e,n){if(Pt(w.beforeSanitizeElements,e,null),e!==n&&g(e)===null)return!0;if(Mt(e))return St(e),!0;let r=O(b?b(e):e.nodeName);if(Pt(w.uponSanitizeElement,e,{tagName:r,allowedTags:T}),e!==n&&g(e)===null)return!0;if(Ft(e,r))return St(e),!0;if(Te[r]||!(De.tagCheck instanceof Function&&De.tagCheck(r))&&!T[r]){let t=It(e,r);return t===!1&&Pt(w.afterSanitizeElements,e,null),t}if((y?y(e):e.nodeType)===fr.element&&!xt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&Mn(ur,e.innerHTML))return St(e),!0;if(Me&&e.nodeType===fr.text){let n=At(e.textContent);e.textContent!==n&&(_n(t.removed,{element:e.cloneNode()}),e.textContent=n)}return Pt(w.afterSanitizeElements,e,null),!1},Rt=function(e,t,r){if(Ee[t]||Ne&&t===`patchsrc`||Ne&&t===`for`&&e!==`label`&&e!==`output`||He&&(t===`id`||t===`name`)&&(r in n||r in pt))return!1;let i=Se[t]||De.attributeCheck instanceof Function&&De.attributeCheck(t,e);if(!(ke&&Mn(he,t))&&!(Oe&&Mn(ge,t))){if(!i){if(!(Bt(e)&&(we.tagNameCheck instanceof RegExp&&Mn(we.tagNameCheck,e)||we.tagNameCheck instanceof Function&&we.tagNameCheck(e))&&(we.attributeNameCheck instanceof RegExp&&Mn(we.attributeNameCheck,t)||we.attributeNameCheck instanceof Function&&we.attributeNameCheck(t,e))||t===`is`&&we.allowCustomizedBuiltInElements&&(we.tagNameCheck instanceof RegExp&&Mn(we.tagNameCheck,r)||we.tagNameCheck instanceof Function&&we.tagNameCheck(r))))return!1}else if(!Ze[t]&&!Mn(be,Cn(r,ve,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&wn(r,`data:`)===0&&Ye[e])&&!(Ae&&!Mn(_e,Cn(r,ve,``)))&&r)return!1}return!0},zt=A({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Bt=function(e){return!zt[bn(e)]&&Mn(ye,e)},Vt=function(e,t,n,r){if(x&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return re(r);case`TrustedScriptURL`:return ie(r)}return r},Ht=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),Mt(e)?St(e):gn(t.removed)}catch{wt(n,e)}},Ut=function(e){Pt(w.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||Mt(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:Se,forceKeepAttr:void 0},r=t.length,i=O(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=O(o),u=c,d=o===`value`?u:Tn(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,Pt(w.uponSanitizeAttribute,e,n),d=n.attrValue,E&&(l===`id`||l===`name`)&&wn(d,Ue)!==0&&(wt(o,e),d=Ue+d),Ne&&Mn(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){wt(o,e);continue}if(l===`attributename`&&Sn(d,`href`)){wt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){wt(o,e);continue}if(!je&&Mn(dr,d)){wt(o,e);continue}if(Me&&(d=At(d)),!Rt(i,l,d)){wt(o,e);continue}d=Vt(i,l,s,d),d!==u&&Ht(e,o,s,d)}}Pt(w.afterSanitizeAttributes,e,null)},Wt=function(e){let t=null,n=kt(e);for(Pt(w.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(Pt(w.uponSanitizeShadowNode,t,null),Lt(t,e),Ut(t),Nt(t.content)&&Wt(t.content),(y?y(t):t.nodeType)===fr.element){let e=_(t);Nt(e)&&(Gt(e),Wt(e))}Pt(w.afterSanitizeShadowDOM,e,null)},Gt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Wt(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===fr.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=b?b(n):null;if(typeof e==`string`&&O(e)===`template`){let e=n.content;Nt(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);Nt(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(rt=!e,rt&&(e=`<!-->`),typeof e!=`string`&&!k(e)&&(e=Rn(e),typeof e!=`string`))throw Nn(`dirty is not a string, aborting`);if(!t.isSupported)return e;Fe?(T=Ie,Se=Le):ht(n),(w.uponSanitizeElement.length>0||w.uponSanitizeAttribute.length>0)&&(T=Ln(T)),w.uponSanitizeAttribute.length>0&&(Se=Ln(Se)),t.removed=[];let c=Ge&&typeof e!=`string`&&k(e);if(c){Dt(e);let t=b?b(e):e.nodeName;if(typeof t==`string`){let n=O(t);if(!T[n]||Te[n])throw Ct(e),Nn(`root node is forbidden and cannot be sanitized in-place`)}if(Mt(e))throw Ct(e),Nn(`root node is clobbered and cannot be sanitized in-place`);try{Gt(e)}catch(t){throw Ct(e),t}}else if(k(e))i=Ot(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===fr.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Gt(a);else{if(!ze&&!Me&&!Pe&&e.indexOf(`<`)===-1)return x&&Ve?re(e):e;if(i=Ot(e),!i)return ze?null:Ve?S:``}i&&Re&&St(i.firstChild);let l=c?e:i,u=kt(l);try{for(;o=u.nextNode();)Lt(o,l),Ut(o),Nt(o.content)&&Wt(o.content)}catch(n){throw c&&(Ct(e),mn(t.removed,e=>{e.element&&Et(e.element)})),n}if(c)return mn(t.removed,e=>{e.element&&Et(e.element)}),Me&&jt(e),e;if(ze){if(Me&&jt(i),Be)for(s=le.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(Se.shadowroot||Se.shadowrootmode)&&(s=de.call(r,s,!0)),s}let d=Pe?i.outerHTML:i.innerHTML;return Pe&&T[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Mn(or,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
3
3
  `+d),Me&&(d=At(d)),x&&Ve?re(d):d},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ht(e),Fe=!0,Ie=T,Le=Se},t.clearConfig=function(){ft=null,Fe=!1,Ie=null,Le=null,x=C,S=``},t.isValidAttribute=function(e,t,n){ft||ht({});let r=O(e),i=O(t);return Rt(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&An(w,e)&&_n(w[e],t)},t.removeHook=function(e,t){if(An(w,e)){if(t!==void 0){let n=hn(w[e],t);return n===-1?void 0:vn(w[e],n,1)[0]}return gn(w[e])}},t.removeHooks=function(e){An(w,e)&&(w[e]=[])},t.removeAllHooks=function(){w=hr()},t}var vr=_r(),yr=0;function br(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){let t=e.parentElement;return!e.textContent||t?.closest(`script, style, noscript, [hidden], [aria-hidden="true"]`)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),n=[],r=``,i;for(;i=t.nextNode();){let e=i.textContent??``,t=r.length;r+=e,n.push({node:i,start:t,end:r.length})}return{text:r,nodes:n}}function xr(e,t){let n=t.find(t=>t.end>e.start),r=t.findLast(t=>t.start<e.end);if(!n||!r)return null;let i=document.createRange();return i.setStart(n.node,e.start-n.start),i.setEnd(r.node,e.end-r.start),i}var Sr=class{root;matchName=`puddle-find-${++yr}-match`;activeName=`puddle-find-${yr}-active`;style;signature=``;ranges=[];index=-1;limited=!1;constructor(e){this.root=e,this.style=document.createElement(`style`),this.style.textContent=`
4
4
  ::highlight(${this.matchName}) { background: var(--selection); }
@@ -512,4 +512,4 @@ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
512
512
  else paint();
513
513
  report(invalid);
514
514
  });
515
- })();`}function Ld(e,t){let n=e.createElement(`script`);n.textContent=Id(t),(e.body??e.documentElement).appendChild(n)}function Rd({session:e,path:t,kind:n,root:r,focused:i=!0,scrollDriver:a=!1,scrollReceiver:o=!1,scrollChannel:s=`profile`}){let c=yt(e,t,null,r,{passive:!0,live:!0,focused:i}),l=c.model,u=(0,E.useSyncExternalStore)(n=>De(Me(e,t,r),n),()=>l?.getValue()??null);return c.conflict&&c.conflict.phase!==`unresolved`?(0,D.jsx)(st,{session:e,path:t,buffer:c,focused:i}):u===null?null:n===`markdown`?(0,D.jsx)(Bd,{session:e,path:t,text:u,root:r,scrollDriver:a,scrollReceiver:o,scrollChannel:s,focused:i}):(0,D.jsx)(Ud,{session:e,path:t,text:u,root:r,scrollDriver:a,scrollReceiver:o,scrollChannel:s,focused:i})}function zd({controls:e}){return e.open?(0,D.jsx)(le,{query:e.query,focusKey:e.focusKey,options:e.options,result:e.result,onQueryChange:e.setQuery,onOptionsChange:e.setOptions,onNext:e.next,onPrevious:e.previous,onClose:e.close}):null}vr.addHook(`afterSanitizeAttributes`,e=>{e.tagName===`A`&&/^https?:/i.test(e.getAttribute(`href`)??``)&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`))});function Bd({session:e,path:t,text:n,root:r,scrollDriver:i,scrollReceiver:o,scrollChannel:s,focused:c}){let l=(0,E.useMemo)(()=>vr.sanitize(gd(n)),[n]),u=(0,E.useRef)(null),d=(0,E.useRef)(null),f=(0,E.useRef)(null);(0,E.useEffect)(()=>{let e=d.current;if(!e)return;let t=new Sr(e);return f.current=t,()=>{t.dispose(),f.current=null}},[]);let p=ue({shortcutEnabled:c,onFind:(e,t,n)=>f.current?.find(e,t,n)??ce,onClear:()=>f.current?.clear(),onCloseFocus:()=>u.current?.focus({preventScroll:!0})});(0,E.useEffect)(()=>p.refresh(),[l,p.refresh]),(0,E.useEffect)(()=>{let n=u.current,a=d.current;if(!(!n||!a))return pt(n,{channel:s,target:{session:e,path:t,root:r},driver:i,receiver:o,resizeElements:[n,a]})},[l,e,t,r,s,i,o]),(0,E.useEffect)(()=>{let n=d.current;if(!n)return;let i=!1,o=[];for(let s of n.querySelectorAll(`img`)){let n=me(t,s.getAttribute(`src`)??``);n&&(s.removeAttribute(`src`),a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(n)}${ie(r)}`).then(e=>e.blob()).then(e=>{if(i)return;let t=URL.createObjectURL(e);o.push(t),s.src=t}).catch(()=>void 0))}return()=>{i=!0;for(let e of o)URL.revokeObjectURL(e)}},[l,e,t,r]);let{openFile:m}=ee(),h=n=>{let i=n.target.closest(`a`);if(!i)return;let a=i.getAttribute(`href`)??``;if(/^https?:/i.test(a)||(n.preventDefault(),!n.metaKey&&!n.ctrlKey))return;let o=me(t,a);o&&m(e,o,void 0,{...pe(o)?{view:`preview`}:{},...r===void 0?{}:{root:r}})},g=he().editorFontSize;return(0,D.jsxs)(`div`,{className:`relative size-full bg-ground`,children:[(0,D.jsx)(`div`,{ref:u,tabIndex:-1,className:`h-full overflow-y-auto outline-none`,children:(0,D.jsx)(`div`,{ref:d,onClick:h,style:{fontSize:g},className:`md-preview mx-auto max-w-3xl px-6 py-5 text-fg-secondary`,dangerouslySetInnerHTML:{__html:l}})}),(0,D.jsx)(zd,{controls:p})]})}var Vd=[[`img`,`src`],[`script`,`src`],[`link[rel~="stylesheet" i]`,`href`],[`link[rel~="icon" i]`,`href`],[`source`,`src`],[`video`,`src`],[`video`,`poster`],[`audio`,`src`]],Hd=20*1024*1024;function Ud({session:e,path:t,text:n,root:r,scrollDriver:i,scrollReceiver:a,scrollChannel:o,focused:s}){let[c,l]=(0,E.useState)(null),u=(0,E.useRef)(new Map),d=he().editorFontSize,f=(0,E.useRef)(null),[p]=(0,E.useState)(wd),[m]=(0,E.useState)(wd),h=ue({shortcutEnabled:s,onFind:(e,t,n)=>Pd(f.current?.contentWindow??null,m,e,t,n),onClear:()=>Fd(f.current?.contentWindow??null,m),onCloseFocus:()=>f.current?.focus()}),g=(0,E.useMemo)(()=>({session:e,path:t,root:r}),[e,t,r]);return(0,E.useEffect)(()=>{let i=!1;return Wd(e,t,n,u.current,d,r,p,m).then(e=>{i||l(e)}),()=>{i=!0}},[e,t,n,d,r,p,m]),(0,E.useEffect)(()=>{let e=e=>{let t=Nd(e,f.current?.contentWindow??null,m);t?.kind===`puddle-preview-find-open`?h.openFind():t?.kind===`puddle-preview-find-result`&&h.setResult(t)};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[h.openFind,h.setResult,m]),(0,E.useEffect)(()=>{if(a)return O.subscribe(o,g,e=>{Ed(f.current?.contentWindow??null,p,e.ratio)})},[a,o,g,p]),(0,E.useEffect)(()=>{if(!i&&!a)return;let e=e=>{let t=Td(e,f.current?.contentWindow??null,p);if(t){if(i)O.publish(o,g,t.ratio);else if(t.layout){let e=O.get(o,g);e&&Ed(f.current?.contentWindow??null,p,e.ratio)}}};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[i,a,o,g,p]),c===null?null:(0,D.jsxs)(`div`,{className:`relative size-full bg-paper`,children:[(0,D.jsx)(`iframe`,{ref:f,sandbox:`allow-scripts`,srcDoc:c,title:t,className:`size-full bg-paper`,onLoad:()=>{if(a){let e=O.get(o,g);e&&Ed(f.current?.contentWindow??null,p,e.ratio)}h.refresh()}}),(0,D.jsx)(zd,{controls:h})]})}async function Wd(e,t,n,r,i,a,o,s){let c=new DOMParser().parseFromString(n,`text/html`);if(i!==void 0){let e=c.createElement(`style`);e.textContent=`:where(html) { font-size: ${i}px; }`;let t=c.head??c.documentElement;t.insertBefore(e,t.firstChild)}yd(c)&&await Gd(c);let l=[];for(let[n,i]of Vd)for(let o of c.querySelectorAll(n)){let n=me(t,o.getAttribute(i)??``);n&&(o.removeAttribute(i),l.push(Kd(e,n,r,a).then(e=>{e&&o.setAttribute(i,e)})))}return await Promise.all(l),o&&Od(c,o),s&&Ld(c,s),`<!doctype html>${c.documentElement.outerHTML}`}async function Gd(e){let{default:t}=await oe(async()=>{let{default:e}=await import(`./_virtual_katex-inline-css-DN-_JSKR.js`);return{default:e}},[]),n=e.createElement(`style`);n.textContent=`${t}\n${fd}`,(e.head??e.documentElement).appendChild(n)}function Kd(e,t,n,r){let i=n.get(t);if(i)return i;let o=a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(t)}${ie(r)}`).then(e=>e.blob()).then(async e=>e.size>Hd?null:`data:${qd(t,e.type)};base64,${Jd(await e.arrayBuffer())}`).catch(()=>null);return n.set(t,o),o}function qd(e,t){let n=(e.split(`/`).pop()??``).split(`.`).pop()?.toLowerCase()??``;return n===`css`?`text/css`:n===`js`||n===`mjs`?`text/javascript`:t!==``&&t!==`application/octet-stream`?t:`application/octet-stream`}function Jd(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode(...t.subarray(e,e+r));return btoa(n)}var Yd={png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,webp:`image`,bmp:`image`,ico:`image`,avif:`image`,svg:`image`,mp4:`video`,m4v:`video`,webm:`video`,mov:`video`,mkv:`video`,avi:`video`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,flac:`audio`,aac:`audio`,pdf:`pdf`};function Xd(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?null:Yd[t.slice(n+1).toLowerCase()]??null}function Zd({session:e,path:t,kind:n,root:r}){let{url:i,error:a}=ef(e,t,r);return a?(0,D.jsxs)(Qd,{children:[(0,D.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`Couldn’t load this file.`}),(0,D.jsx)($d,{session:e,path:t})]}):i?n===`image`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`img`,{src:i,alt:t,className:`max-h-full max-w-full object-contain`})}):n===`video`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`video`,{src:i,controls:!0,className:`max-h-full max-w-full`})}):n===`audio`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`audio`,{src:i,controls:!0,className:`w-full max-w-xl`})}):(0,D.jsx)(`iframe`,{src:i,title:t,className:`h-full w-full border-0 bg-ground`}):(0,D.jsx)(Qd,{children:(0,D.jsx)(`span`,{className:`text-xs text-fg-muted`,children:`…`})})}function Qd({children:e}){return(0,D.jsx)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3 overflow-auto bg-ground p-4`,children:e})}function $d({session:e,path:t}){return(0,D.jsx)(`button`,{type:`button`,onClick:()=>void g(e,t).catch(e=>o.error(e instanceof Error?e.message:`Download failed`)),className:`rounded-md bg-elevated px-3 py-1.5 text-sm text-fg transition-colors hover:bg-border/70`,children:`Download`})}function ef(e,t,n){let[r,i]=(0,E.useState)(null),[o,s]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{let r=null,o=!1;return i(null),s(!1),a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(t)}${ie(n)}`).then(e=>e.blob()).then(e=>{o||(r=URL.createObjectURL(e),i(r))}).catch(()=>{o||s(!0)}),()=>{o=!0,r&&URL.revokeObjectURL(r)}},[e,t,n]),{url:r,error:o}}function tf({tab:e,reveal:t,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a}){let o=w(e),s=e.view===`preview`||e.view===`linked`||e.view===`locked`,c=e.view===`linked`||e.view===`locked`?`${e.view}:${e.session}:${e.root??``}:${e.path}`:de(e);if(o===`diff`)return(0,D.jsx)(qt,{session:e.session,path:e.path,root:e.root,area:e.git_area,focused:n},de(e));if(o===`commit`&&e.sha)return(0,D.jsx)(Kt,{session:e.session,sha:e.sha,path:e.path,root:e.root},de(e));if(o===`external`&&e.root!==void 0){let o=Xd(e.path);if(o)return(0,D.jsx)(Zd,{session:e.session,path:e.path,kind:o,root:e.root},de(e));let l=s?pe(e.path):null;return l?(0,D.jsx)(Rd,{session:e.session,path:e.path,kind:l,root:e.root,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},c):(0,D.jsx)(Nt,{session:e.session,path:e.path,reveal:t,root:e.root,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},de(e))}if(o===`untitled`)return(0,D.jsx)(Yt,{name:e.path},de(e));let l=Xd(e.path);if(l)return(0,D.jsx)(Zd,{session:e.session,path:e.path,kind:l},de(e));let u=s?pe(e.path):null;return u?(0,D.jsx)(Rd,{session:e.session,path:e.path,kind:u,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},c):(0,D.jsx)(Nt,{session:e.session,path:e.path,reveal:t,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},de(e))}export{tf as PaneEditorBody};
515
+ })();`}function Ld(e,t){let n=e.createElement(`script`);n.textContent=Id(t),(e.body??e.documentElement).appendChild(n)}function Rd({session:e,path:t,kind:n,root:r,focused:i=!0,scrollDriver:a=!1,scrollReceiver:o=!1,scrollChannel:s=`profile`}){let c=yt(e,t,null,r,{passive:!0,live:!0,focused:i}),l=c.model,u=(0,E.useSyncExternalStore)(n=>De(Me(e,t,r),n),()=>l?.getValue()??null);return c.conflict&&c.conflict.phase!==`unresolved`?(0,D.jsx)(st,{session:e,path:t,buffer:c,focused:i}):u===null?null:n===`markdown`?(0,D.jsx)(Bd,{session:e,path:t,text:u,root:r,scrollDriver:a,scrollReceiver:o,scrollChannel:s,focused:i}):(0,D.jsx)(Ud,{session:e,path:t,text:u,root:r,scrollDriver:a,scrollReceiver:o,scrollChannel:s,focused:i})}function zd({controls:e}){return e.open?(0,D.jsx)(le,{query:e.query,focusKey:e.focusKey,options:e.options,result:e.result,onQueryChange:e.setQuery,onOptionsChange:e.setOptions,onNext:e.next,onPrevious:e.previous,onClose:e.close}):null}vr.addHook(`afterSanitizeAttributes`,e=>{e.tagName===`A`&&/^https?:/i.test(e.getAttribute(`href`)??``)&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`))});function Bd({session:e,path:t,text:n,root:r,scrollDriver:i,scrollReceiver:o,scrollChannel:s,focused:c}){let l=(0,E.useMemo)(()=>vr.sanitize(gd(n)),[n]),u=(0,E.useMemo)(()=>({__html:l}),[l]),d=(0,E.useRef)(null),f=(0,E.useRef)(null),p=(0,E.useRef)(null);(0,E.useEffect)(()=>{let e=f.current;if(!e)return;let t=new Sr(e);return p.current=t,()=>{t.dispose(),p.current=null}},[]);let m=ue({shortcutEnabled:c,onFind:(e,t,n)=>p.current?.find(e,t,n)??ce,onClear:()=>p.current?.clear(),onCloseFocus:()=>d.current?.focus({preventScroll:!0})});(0,E.useEffect)(()=>m.refresh(),[l,m.refresh]),(0,E.useEffect)(()=>{let n=d.current,a=f.current;if(!(!n||!a))return pt(n,{channel:s,target:{session:e,path:t,root:r},driver:i,receiver:o,resizeElements:[n,a]})},[l,e,t,r,s,i,o]),(0,E.useEffect)(()=>{let n=f.current;if(!n)return;let i=!1,o=[];for(let s of n.querySelectorAll(`img`)){let n=me(t,s.getAttribute(`src`)??``);n&&(s.removeAttribute(`src`),a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(n)}${ie(r)}`).then(e=>e.blob()).then(e=>{if(i)return;let t=URL.createObjectURL(e);o.push(t),s.src=t}).catch(()=>void 0))}return()=>{i=!0;for(let e of o)URL.revokeObjectURL(e)}},[l,e,t,r]);let{openFile:h}=ee(),g=n=>{let i=n.target.closest(`a`);if(!i)return;let a=i.getAttribute(`href`)??``;if(/^https?:/i.test(a)||(n.preventDefault(),!n.metaKey&&!n.ctrlKey))return;let o=me(t,a);o&&h(e,o,void 0,{...pe(o)?{view:`preview`}:{},...r===void 0?{}:{root:r}})},_=he().editorFontSize;return(0,D.jsxs)(`div`,{className:`relative size-full bg-ground`,children:[(0,D.jsx)(`div`,{ref:d,tabIndex:-1,className:`h-full overflow-y-auto outline-none`,children:(0,D.jsx)(`div`,{ref:f,onClick:g,style:{fontSize:_},className:`md-preview mx-auto max-w-3xl px-6 py-5 text-fg-secondary`,dangerouslySetInnerHTML:u})}),(0,D.jsx)(zd,{controls:m})]})}var Vd=[[`img`,`src`],[`script`,`src`],[`link[rel~="stylesheet" i]`,`href`],[`link[rel~="icon" i]`,`href`],[`source`,`src`],[`video`,`src`],[`video`,`poster`],[`audio`,`src`]],Hd=20*1024*1024;function Ud({session:e,path:t,text:n,root:r,scrollDriver:i,scrollReceiver:a,scrollChannel:o,focused:s}){let[c,l]=(0,E.useState)(null),u=(0,E.useRef)(new Map),d=he().editorFontSize,f=(0,E.useRef)(null),[p]=(0,E.useState)(wd),[m]=(0,E.useState)(wd),h=ue({shortcutEnabled:s,onFind:(e,t,n)=>Pd(f.current?.contentWindow??null,m,e,t,n),onClear:()=>Fd(f.current?.contentWindow??null,m),onCloseFocus:()=>f.current?.focus()}),g=(0,E.useMemo)(()=>({session:e,path:t,root:r}),[e,t,r]);return(0,E.useEffect)(()=>{let i=!1;return Wd(e,t,n,u.current,d,r,p,m).then(e=>{i||l(e)}),()=>{i=!0}},[e,t,n,d,r,p,m]),(0,E.useEffect)(()=>{let e=e=>{let t=Nd(e,f.current?.contentWindow??null,m);t?.kind===`puddle-preview-find-open`?h.openFind():t?.kind===`puddle-preview-find-result`&&h.setResult(t)};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[h.openFind,h.setResult,m]),(0,E.useEffect)(()=>{if(a)return O.subscribe(o,g,e=>{Ed(f.current?.contentWindow??null,p,e.ratio)})},[a,o,g,p]),(0,E.useEffect)(()=>{if(!i&&!a)return;let e=e=>{let t=Td(e,f.current?.contentWindow??null,p);if(t){if(i)O.publish(o,g,t.ratio);else if(t.layout){let e=O.get(o,g);e&&Ed(f.current?.contentWindow??null,p,e.ratio)}}};return window.addEventListener(`message`,e),()=>window.removeEventListener(`message`,e)},[i,a,o,g,p]),c===null?null:(0,D.jsxs)(`div`,{className:`relative size-full bg-paper`,children:[(0,D.jsx)(`iframe`,{ref:f,sandbox:`allow-scripts`,srcDoc:c,title:t,className:`size-full bg-paper`,onLoad:()=>{if(a){let e=O.get(o,g);e&&Ed(f.current?.contentWindow??null,p,e.ratio)}h.refresh()}}),(0,D.jsx)(zd,{controls:h})]})}async function Wd(e,t,n,r,i,a,o,s){let c=new DOMParser().parseFromString(n,`text/html`);if(i!==void 0){let e=c.createElement(`style`);e.textContent=`:where(html) { font-size: ${i}px; }`;let t=c.head??c.documentElement;t.insertBefore(e,t.firstChild)}yd(c)&&await Gd(c);let l=[];for(let[n,i]of Vd)for(let o of c.querySelectorAll(n)){let n=me(t,o.getAttribute(i)??``);n&&(o.removeAttribute(i),l.push(Kd(e,n,r,a).then(e=>{e&&o.setAttribute(i,e)})))}return await Promise.all(l),o&&Od(c,o),s&&Ld(c,s),`<!doctype html>${c.documentElement.outerHTML}`}async function Gd(e){let{default:t}=await oe(async()=>{let{default:e}=await import(`./_virtual_katex-inline-css-DN-_JSKR.js`);return{default:e}},[]),n=e.createElement(`style`);n.textContent=`${t}\n${fd}`,(e.head??e.documentElement).appendChild(n)}function Kd(e,t,n,r){let i=n.get(t);if(i)return i;let o=a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(t)}${ie(r)}`).then(e=>e.blob()).then(async e=>e.size>Hd?null:`data:${qd(t,e.type)};base64,${Jd(await e.arrayBuffer())}`).catch(()=>null);return n.set(t,o),o}function qd(e,t){let n=(e.split(`/`).pop()??``).split(`.`).pop()?.toLowerCase()??``;return n===`css`?`text/css`:n===`js`||n===`mjs`?`text/javascript`:t!==``&&t!==`application/octet-stream`?t:`application/octet-stream`}function Jd(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode(...t.subarray(e,e+r));return btoa(n)}var Yd={png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,webp:`image`,bmp:`image`,ico:`image`,avif:`image`,svg:`image`,mp4:`video`,m4v:`video`,webm:`video`,mov:`video`,mkv:`video`,avi:`video`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,flac:`audio`,aac:`audio`,pdf:`pdf`};function Xd(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?null:Yd[t.slice(n+1).toLowerCase()]??null}function Zd({session:e,path:t,kind:n,root:r}){let{url:i,error:a}=ef(e,t,r);return a?(0,D.jsxs)(Qd,{children:[(0,D.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`Couldn’t load this file.`}),(0,D.jsx)($d,{session:e,path:t})]}):i?n===`image`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`img`,{src:i,alt:t,className:`max-h-full max-w-full object-contain`})}):n===`video`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`video`,{src:i,controls:!0,className:`max-h-full max-w-full`})}):n===`audio`?(0,D.jsx)(Qd,{children:(0,D.jsx)(`audio`,{src:i,controls:!0,className:`w-full max-w-xl`})}):(0,D.jsx)(`iframe`,{src:i,title:t,className:`h-full w-full border-0 bg-ground`}):(0,D.jsx)(Qd,{children:(0,D.jsx)(`span`,{className:`text-xs text-fg-muted`,children:`…`})})}function Qd({children:e}){return(0,D.jsx)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3 overflow-auto bg-ground p-4`,children:e})}function $d({session:e,path:t}){return(0,D.jsx)(`button`,{type:`button`,onClick:()=>void g(e,t).catch(e=>o.error(e instanceof Error?e.message:`Download failed`)),className:`rounded-md bg-elevated px-3 py-1.5 text-sm text-fg transition-colors hover:bg-border/70`,children:`Download`})}function ef(e,t,n){let[r,i]=(0,E.useState)(null),[o,s]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{let r=null,o=!1;return i(null),s(!1),a(`GET`,`/api/worktrees/${e}/media?path=${encodeURIComponent(t)}${ie(n)}`).then(e=>e.blob()).then(e=>{o||(r=URL.createObjectURL(e),i(r))}).catch(()=>{o||s(!0)}),()=>{o=!0,r&&URL.revokeObjectURL(r)}},[e,t,n]),{url:r,error:o}}function tf({tab:e,reveal:t,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a}){let o=w(e),s=e.view===`preview`||e.view===`linked`||e.view===`locked`,c=e.view===`linked`||e.view===`locked`?`${e.view}:${e.session}:${e.root??``}:${e.path}`:de(e);if(o===`diff`)return(0,D.jsx)(qt,{session:e.session,path:e.path,root:e.root,area:e.git_area,focused:n},de(e));if(o===`commit`&&e.sha)return(0,D.jsx)(Kt,{session:e.session,sha:e.sha,path:e.path,root:e.root},de(e));if(o===`external`&&e.root!==void 0){let o=Xd(e.path);if(o)return(0,D.jsx)(Zd,{session:e.session,path:e.path,kind:o,root:e.root},de(e));let l=s?pe(e.path):null;return l?(0,D.jsx)(Rd,{session:e.session,path:e.path,kind:l,root:e.root,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},c):(0,D.jsx)(Nt,{session:e.session,path:e.path,reveal:t,root:e.root,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},de(e))}if(o===`untitled`)return(0,D.jsx)(Yt,{name:e.path},de(e));let l=Xd(e.path);if(l)return(0,D.jsx)(Zd,{session:e.session,path:e.path,kind:l},de(e));let u=s?pe(e.path):null;return u?(0,D.jsx)(Rd,{session:e.session,path:e.path,kind:u,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},c):(0,D.jsx)(Nt,{session:e.session,path:e.path,reveal:t,focused:n,scrollDriver:r,scrollReceiver:i,scrollChannel:a},de(e))}export{tf as PaneEditorBody};