@alivault/pico 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/assets/{index-BiaOlsw0.js → index-Di2FsKXl.js} +3 -3
- package/.output/public/assets/{routes-C7eqqi44.js → routes-3i6aEePK.js} +111 -107
- package/.output/public/assets/styles-CUjj8zXo.css +2 -0
- package/.output/server/_ssr/{router-CgnX-Js0.mjs → router-DxIs8YF4.mjs} +3 -3
- package/.output/server/_ssr/{routes-CmLc8G9G.mjs → routes-BgLr8w7S.mjs} +126 -46
- package/.output/server/_ssr/{routes-D2MVUd_A.mjs → routes-DZ8MN7tJ.mjs} +2 -2
- package/.output/server/_ssr/ssr.mjs +2 -2
- package/.output/server/{_tanstack-start-manifest_v-BSXP2b2T.mjs → _tanstack-start-manifest_v-CxIiv5yq.mjs} +4 -4
- package/.output/server/index.mjs +436 -436
- package/package.json +1 -1
- package/.output/public/assets/styles-4lJzavCj.css +0 -2
|
@@ -2,7 +2,7 @@ import { i as __toESM } from "../_runtime.mjs";
|
|
|
2
2
|
import { A as DialogRoot, C as MenuPortal, D as TabsTab, E as TabsList$1, F as DialogBackdrop, I as Separator, K as mergeProps, L as Input, M as DialogPopup, N as DialogDescription$1, O as TabsRoot, P as DialogClose, R as Button, S as MenuPositioner, T as MenuItem, X as require_react, Y as require_jsx_runtime, _ as AccordionRoot, a as CollapsiblePanel, b as MenuSubmenuRoot, c as PopoverPopup, d as PopoverTrigger$1, f as PopoverRoot, g as AccordionItem$1, h as AccordionHeader, i as ContextMenuRoot, j as DialogPortal$1, k as DialogTitle$1, l as PopoverPositioner, m as AccordionTrigger$1, n as Toggle, o as CollapsibleTrigger$1, p as AccordionPanel, r as ContextMenuTrigger$1, s as CollapsibleRoot, t as ToggleGroup, u as PopoverPortal, v as MenuSubmenuTrigger, w as MenuPopup, x as MenuRoot, y as MenuTrigger, z as useRender } from "../_libs/@base-ui/react+[...].mjs";
|
|
3
3
|
import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
|
|
4
4
|
import { A as ChevronsUpDown, B as ArrowDown, C as FolderPlus, D as Copy, E as Download, F as Check, I as ArrowUp, L as ArrowUpToLine, M as ChevronUp, N as ChevronRight, O as Command, P as ChevronDown, S as Folder, T as EllipsisVertical, _ as ListEnd, a as Square, b as GitBranch, c as Settings2, d as PanelLeft, f as PanelLeftOpen, g as ListStart, h as OctagonX, j as ChevronsDownUp, l as Search, n as WandSparkles, o as SquarePen, p as PanelLeftClose, r as Upload, s as SquareArrowOutUpRight, t as X, u as PanelRight, w as Ellipsis, x as GitCommitHorizontal, y as ImagePlus, z as ArrowLeft } from "../_libs/lucide-react.mjs";
|
|
5
|
-
import { $ as readStoredRightSidebarOpen, B as normalizeSessionSelectionKeys, C as TooltipContent, E as VIEWER_CONTEXT_STORAGE_KEY, G as readStoredAutoScrollEnabled, H as normalizeThemeMode, I as flattenTree, J as readStoredDraftDirectory, K as readStoredCenterMessages, L as getSessionTitle, M as createInitialSessionState, O as buildItemsFromSync, Q as readStoredRecentDirectories, S as Tooltip$1, T as TooltipTrigger, U as previewUrlForImage, V as normalizeStoredDirectoryList, W as promptDraftKey, X as readStoredPinnedSessionKeys, Y as readStoredHideToolBlocks, Z as readStoredPromptDraft, _ as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, a as HIDE_TOOL_BLOCKS_STORAGE_KEY, at as safeLocalStorageSetItem, c as PINNED_SESSIONS_STORAGE_KEY, ct as thinkingSummaryText, d as RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, et as readStoredSessionDoneDesktopNotificationsEnabled, f as RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, g as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, h as Route, i as DRAFT_DIRECTORY_STORAGE_KEY, it as safeLocalStorageGetItem, j as createContextId, k as cn, l as RECENT_DIRECTORIES_STORAGE_KEY, m as RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, n as CENTER_MESSAGES_STORAGE_KEY, nt as readStoredSidebarDirectories, o as Kbd, ot as sameContextUsage, p as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, q as readStoredCollapsedDirectories, r as COLLAPSED_DIRECTORIES_STORAGE_KEY, rt as rememberStoredPromptDraft, s as KeyboardShortcutContent, st as sessionListEntryKey, t as AUTO_SCROLL_ENABLED_STORAGE_KEY, tt as readStoredSessionDoneSoundEnabled, u as RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, v as SIDEBAR_DIRECTORIES_STORAGE_KEY, x as TitleTooltip, y as Spinner, z as normalizePromptImage } from "./routes-
|
|
5
|
+
import { $ as readStoredRightSidebarOpen, B as normalizeSessionSelectionKeys, C as TooltipContent, E as VIEWER_CONTEXT_STORAGE_KEY, G as readStoredAutoScrollEnabled, H as normalizeThemeMode, I as flattenTree, J as readStoredDraftDirectory, K as readStoredCenterMessages, L as getSessionTitle, M as createInitialSessionState, O as buildItemsFromSync, Q as readStoredRecentDirectories, S as Tooltip$1, T as TooltipTrigger, U as previewUrlForImage, V as normalizeStoredDirectoryList, W as promptDraftKey, X as readStoredPinnedSessionKeys, Y as readStoredHideToolBlocks, Z as readStoredPromptDraft, _ as SESSION_DONE_SOUND_ENABLED_STORAGE_KEY, a as HIDE_TOOL_BLOCKS_STORAGE_KEY, at as safeLocalStorageSetItem, c as PINNED_SESSIONS_STORAGE_KEY, ct as thinkingSummaryText, d as RIGHT_SIDEBAR_FILE_TREE_WIDTH_STORAGE_KEY, et as readStoredSessionDoneDesktopNotificationsEnabled, f as RIGHT_SIDEBAR_HISTORY_HEIGHT_STORAGE_KEY, g as SESSION_DONE_DESKTOP_NOTIFICATIONS_ENABLED_STORAGE_KEY, h as Route, i as DRAFT_DIRECTORY_STORAGE_KEY, it as safeLocalStorageGetItem, j as createContextId, k as cn, l as RECENT_DIRECTORIES_STORAGE_KEY, m as RIGHT_SIDEBAR_WIDTHS_STORAGE_KEY, n as CENTER_MESSAGES_STORAGE_KEY, nt as readStoredSidebarDirectories, o as Kbd, ot as sameContextUsage, p as RIGHT_SIDEBAR_OPEN_STORAGE_KEY, q as readStoredCollapsedDirectories, r as COLLAPSED_DIRECTORIES_STORAGE_KEY, rt as rememberStoredPromptDraft, s as KeyboardShortcutContent, st as sessionListEntryKey, t as AUTO_SCROLL_ENABLED_STORAGE_KEY, tt as readStoredSessionDoneSoundEnabled, u as RIGHT_SIDEBAR_ACTIVE_TAB_STORAGE_KEY, v as SIDEBAR_DIRECTORIES_STORAGE_KEY, x as TitleTooltip, y as Spinner, z as normalizePromptImage } from "./routes-DZ8MN7tJ.mjs";
|
|
6
6
|
import { i as useQuery, n as useIsMutating, o as useQueryClient, r as useIsFetching, t as useMutation } from "../_libs/tanstack__react-query.mjs";
|
|
7
7
|
import { t as useHotkeys } from "../_libs/tanstack__react-hotkeys.mjs";
|
|
8
8
|
import { a as matchesKeyboardEvent, i as batch, o as formatForDisplay, r as createStore } from "../_libs/@tanstack/hotkeys+[...].mjs";
|
|
@@ -22,7 +22,7 @@ import { t as remarkGfm } from "../_libs/remark-gfm.mjs";
|
|
|
22
22
|
import { a as getBuiltInSpriteSheet, i as getBuiltInFileIconColor, n as FileTree, r as createFileTreeIconResolver, t as useFileTree } from "../_libs/@pierre/trees+[...].mjs";
|
|
23
23
|
import { a as closestCenter, d as useSensors, f as CSS$1, i as PointerSensor, n as DragOverlay, t as DndContext, u as useSensor } from "../_libs/@dnd-kit/core+[...].mjs";
|
|
24
24
|
import { a as verticalListSortingStrategy, i as useSortable, n as arrayMove, r as horizontalListSortingStrategy, t as SortableContext } from "../_libs/dnd-kit__sortable.mjs";
|
|
25
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
25
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-BgLr8w7S.js
|
|
26
26
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
27
27
|
var import_jsx_runtime = require_jsx_runtime();
|
|
28
28
|
var MOBILE_BREAKPOINT = 768;
|
|
@@ -13174,6 +13174,8 @@ function GitSectionNote({ children, tone = "muted", className }) {
|
|
|
13174
13174
|
children
|
|
13175
13175
|
});
|
|
13176
13176
|
}
|
|
13177
|
+
var EMPTY_PROJECT_FILE_PATHS = [];
|
|
13178
|
+
var EMPTY_GIT_CHANGE_FILES = [];
|
|
13177
13179
|
var PROJECT_FILE_QUERY_STALE_TIME_MS = 1e3 * 30;
|
|
13178
13180
|
var PROJECT_FILE_QUERY_GC_TIME_MS = 1e3 * 60 * 10;
|
|
13179
13181
|
var PROJECT_FILE_TREE_DEFAULT_WIDTH = 320;
|
|
@@ -13269,11 +13271,15 @@ var GIT_FILE_TREE_UNSAFE_CSS = `
|
|
|
13269
13271
|
--trees-bg-override: var(--background);
|
|
13270
13272
|
--trees-fg-override: var(--foreground);
|
|
13271
13273
|
--trees-border-color-override: var(--border);
|
|
13272
|
-
--trees-muted-
|
|
13274
|
+
--trees-fg-muted-override: var(--muted-foreground);
|
|
13273
13275
|
--trees-selected-bg-override: var(--accent);
|
|
13274
13276
|
--trees-selected-fg-override: var(--accent-foreground);
|
|
13275
13277
|
--trees-padding-inline-override: 0px;
|
|
13276
13278
|
}
|
|
13279
|
+
|
|
13280
|
+
[data-file-tree-virtualized-scroll='true'] {
|
|
13281
|
+
padding-inline: 0 16px;
|
|
13282
|
+
}
|
|
13277
13283
|
`;
|
|
13278
13284
|
var PROJECT_FILE_ICON_SPRITE_SHEET = getBuiltInSpriteSheet("complete");
|
|
13279
13285
|
var projectFileIconResolver = createFileTreeIconResolver({
|
|
@@ -13306,6 +13312,36 @@ function ProjectFileTypeIcon({ path }) {
|
|
|
13306
13312
|
function isFileTreeDirectoryHandle(item) {
|
|
13307
13313
|
return item?.isDirectory() === true;
|
|
13308
13314
|
}
|
|
13315
|
+
function getProjectFileTreeGitStatusFromPorcelain(status) {
|
|
13316
|
+
const indexStatus = status[0] || " ";
|
|
13317
|
+
const worktreeStatus = status[1] || " ";
|
|
13318
|
+
if (status === "??") return "untracked";
|
|
13319
|
+
if (status === "!!") return "ignored";
|
|
13320
|
+
if (indexStatus === "R" || worktreeStatus === "R") return "renamed";
|
|
13321
|
+
if (indexStatus === "C" || worktreeStatus === "C") return "renamed";
|
|
13322
|
+
if (indexStatus === "D" || worktreeStatus === "D") return "deleted";
|
|
13323
|
+
if (indexStatus === "A" || worktreeStatus === "A") return "added";
|
|
13324
|
+
return "modified";
|
|
13325
|
+
}
|
|
13326
|
+
function getProjectFileTreeGitStatus(files) {
|
|
13327
|
+
return files.map((file) => ({
|
|
13328
|
+
path: file.path,
|
|
13329
|
+
status: getProjectFileTreeGitStatusFromPorcelain(file.status)
|
|
13330
|
+
}));
|
|
13331
|
+
}
|
|
13332
|
+
function getProjectFileTreePaths(paths, files) {
|
|
13333
|
+
if (files.length === 0) return paths;
|
|
13334
|
+
const pathSet = new Set(paths);
|
|
13335
|
+
let addedPath = false;
|
|
13336
|
+
for (const file of files) {
|
|
13337
|
+
if (getProjectFileTreeGitStatusFromPorcelain(file.status) !== "deleted") continue;
|
|
13338
|
+
if (!file.path || pathSet.has(file.path)) continue;
|
|
13339
|
+
pathSet.add(file.path);
|
|
13340
|
+
addedPath = true;
|
|
13341
|
+
}
|
|
13342
|
+
if (!addedPath) return paths;
|
|
13343
|
+
return [...pathSet];
|
|
13344
|
+
}
|
|
13309
13345
|
function getProjectFileDirectoryPaths(paths) {
|
|
13310
13346
|
const directoryPaths = /* @__PURE__ */ new Set();
|
|
13311
13347
|
for (const path of paths) {
|
|
@@ -13314,7 +13350,7 @@ function getProjectFileDirectoryPaths(paths) {
|
|
|
13314
13350
|
}
|
|
13315
13351
|
return [...directoryPaths].sort((left, right) => right.split("/").length - left.split("/").length || right.length - left.length || right.localeCompare(left));
|
|
13316
13352
|
}
|
|
13317
|
-
function ProjectFileTree({ collapseAllRevision, paths, selectedPath, onSelectFile }) {
|
|
13353
|
+
function ProjectFileTree({ collapseAllRevision, gitStatus, paths, selectedPath, onSelectFile }) {
|
|
13318
13354
|
const validPathsRef = import_react.useRef(new Set(paths));
|
|
13319
13355
|
const onSelectFileRef = import_react.useRef(onSelectFile);
|
|
13320
13356
|
const lastCollapseAllRevisionRef = import_react.useRef(0);
|
|
@@ -13323,6 +13359,7 @@ function ProjectFileTree({ collapseAllRevision, paths, selectedPath, onSelectFil
|
|
|
13323
13359
|
const { model } = useFileTree({
|
|
13324
13360
|
paths,
|
|
13325
13361
|
flattenEmptyDirectories: true,
|
|
13362
|
+
gitStatus,
|
|
13326
13363
|
initialExpansion: 1,
|
|
13327
13364
|
initialSelectedPaths: selectedPath ? [selectedPath] : [],
|
|
13328
13365
|
onSelectionChange: (selectedPaths) => {
|
|
@@ -13336,6 +13373,9 @@ function ProjectFileTree({ collapseAllRevision, paths, selectedPath, onSelectFil
|
|
|
13336
13373
|
import_react.useEffect(() => {
|
|
13337
13374
|
model.resetPaths(paths);
|
|
13338
13375
|
}, [model, paths]);
|
|
13376
|
+
import_react.useEffect(() => {
|
|
13377
|
+
model.setGitStatus(gitStatus);
|
|
13378
|
+
}, [gitStatus, model]);
|
|
13339
13379
|
import_react.useEffect(() => {
|
|
13340
13380
|
if (!selectedPath) return;
|
|
13341
13381
|
const item = model.getItem(selectedPath);
|
|
@@ -13383,7 +13423,8 @@ function ProjectFilesWorkspace({ viewerContextId, cwd, active, activeFilePath, o
|
|
|
13383
13423
|
const normalizedCwd = normalizeCwd(cwd);
|
|
13384
13424
|
const [openFileDialogOpen, setOpenFileDialogOpen] = import_react.useState(false);
|
|
13385
13425
|
const [collapseAllRevision, setCollapseAllRevision] = import_react.useState(0);
|
|
13386
|
-
const
|
|
13426
|
+
const inlinePreview = previewMode === "inline";
|
|
13427
|
+
const showInlinePreview = inlinePreview && Boolean(activeFilePath);
|
|
13387
13428
|
const fileTreeQuery = useQuery({
|
|
13388
13429
|
...projectFileTreeQueryOptions({
|
|
13389
13430
|
viewerContextId,
|
|
@@ -13397,12 +13438,25 @@ function ProjectFilesWorkspace({ viewerContextId, cwd, active, activeFilePath, o
|
|
|
13397
13438
|
"error"
|
|
13398
13439
|
]
|
|
13399
13440
|
});
|
|
13400
|
-
const
|
|
13441
|
+
const gitFilesQuery = useQuery({
|
|
13442
|
+
...gitChangesQueryOptions({
|
|
13443
|
+
viewerContextId,
|
|
13444
|
+
cwd: normalizedCwd,
|
|
13445
|
+
scope: "files"
|
|
13446
|
+
}),
|
|
13447
|
+
enabled: Boolean(active && viewerContextId && normalizedCwd),
|
|
13448
|
+
select: (data) => data.files ?? [],
|
|
13449
|
+
notifyOnChangeProps: ["data"]
|
|
13450
|
+
});
|
|
13451
|
+
const projectPaths = fileTreeQuery.data ?? EMPTY_PROJECT_FILE_PATHS;
|
|
13452
|
+
const gitFiles = gitFilesQuery.data ?? EMPTY_GIT_CHANGE_FILES;
|
|
13453
|
+
const paths = import_react.useMemo(() => getProjectFileTreePaths(projectPaths, gitFiles), [gitFiles, projectPaths]);
|
|
13454
|
+
const gitStatus = import_react.useMemo(() => getProjectFileTreeGitStatus(gitFiles), [gitFiles]);
|
|
13401
13455
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
13402
|
-
className: cn("h-full min-h-0 overflow-hidden",
|
|
13456
|
+
className: cn("h-full min-h-0 overflow-hidden", inlinePreview ? "relative flex flex-col" : "flex flex-col"),
|
|
13403
13457
|
children: [
|
|
13404
13458
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
13405
|
-
className:
|
|
13459
|
+
className: "flex min-h-0 flex-1 flex-col overflow-hidden bg-background",
|
|
13406
13460
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
13407
13461
|
className: "flex shrink-0 items-center justify-between gap-2 border-b border-border/70 p-2",
|
|
13408
13462
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -13439,36 +13493,36 @@ function ProjectFilesWorkspace({ viewerContextId, cwd, active, activeFilePath, o
|
|
|
13439
13493
|
children: getErrorMessage(fileTreeQuery.error, "Failed to load files")
|
|
13440
13494
|
}) : paths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProjectFileTree, {
|
|
13441
13495
|
collapseAllRevision,
|
|
13496
|
+
gitStatus,
|
|
13442
13497
|
paths,
|
|
13443
13498
|
selectedPath: activeFilePath,
|
|
13444
13499
|
onSelectFile: onOpenFile
|
|
13445
13500
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GitSectionNote, { children: "No files found." })
|
|
13446
13501
|
})]
|
|
13447
13502
|
}),
|
|
13448
|
-
|
|
13449
|
-
|
|
13503
|
+
inlinePreview ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
13504
|
+
"aria-hidden": !showInlinePreview,
|
|
13505
|
+
inert: !showInlinePreview,
|
|
13506
|
+
className: cn("absolute inset-0 z-20 flex min-h-0 flex-col overflow-hidden bg-background transition-transform duration-200 ease-out", showInlinePreview ? "translate-x-0 shadow-xl" : "pointer-events-none translate-x-full"),
|
|
13450
13507
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
13451
|
-
className: "flex h-10 shrink-0 items-center
|
|
13452
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
13453
|
-
|
|
13508
|
+
className: "flex h-10 shrink-0 items-center gap-2 border-b border-border/70 px-2 text-xs font-medium text-muted-foreground",
|
|
13509
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", {
|
|
13510
|
+
type: "button",
|
|
13511
|
+
"aria-label": "Back to file tree",
|
|
13512
|
+
className: "inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md px-2 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13513
|
+
onClick: onCloseFile,
|
|
13514
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ArrowLeft, { className: "size-4" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Files" })]
|
|
13515
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
13516
|
+
className: "min-w-0 flex-1 truncate",
|
|
13454
13517
|
title: activeFilePath,
|
|
13455
13518
|
children: activeFilePath
|
|
13456
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TitleTooltip, {
|
|
13457
|
-
title: "Close file preview",
|
|
13458
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
13459
|
-
type: "button",
|
|
13460
|
-
"aria-label": "Close file preview",
|
|
13461
|
-
className: "inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
|
|
13462
|
-
onClick: onCloseFile,
|
|
13463
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(X, { className: "size-4" })
|
|
13464
|
-
})
|
|
13465
13519
|
})]
|
|
13466
13520
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
13467
13521
|
className: "min-h-0 flex-1 overflow-hidden",
|
|
13468
13522
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProjectFileContent, {
|
|
13469
13523
|
viewerContextId,
|
|
13470
13524
|
cwd: normalizedCwd,
|
|
13471
|
-
active,
|
|
13525
|
+
active: active && showInlinePreview,
|
|
13472
13526
|
path: activeFilePath
|
|
13473
13527
|
})
|
|
13474
13528
|
})]
|
|
@@ -13484,24 +13538,26 @@ function ProjectFilesWorkspace({ viewerContextId, cwd, active, activeFilePath, o
|
|
|
13484
13538
|
}
|
|
13485
13539
|
function ProjectOpenFileDialog({ open, onOpenChange, paths, onOpenFile }) {
|
|
13486
13540
|
const [query, setQuery] = import_react.useState("");
|
|
13541
|
+
const isMobile = useIsMobile();
|
|
13542
|
+
const shouldAutoFocus = useCommandSurfaceAutoFocus(isMobile);
|
|
13487
13543
|
import_react.useEffect(() => {
|
|
13488
13544
|
if (!open) setQuery("");
|
|
13489
13545
|
}, [open]);
|
|
13490
|
-
|
|
13491
|
-
|
|
13492
|
-
|
|
13493
|
-
|
|
13494
|
-
|
|
13495
|
-
|
|
13496
|
-
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
|
|
13500
|
-
|
|
13501
|
-
|
|
13502
|
-
|
|
13503
|
-
|
|
13504
|
-
|
|
13546
|
+
const commandBody = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Command$1, {
|
|
13547
|
+
shouldFilter: true,
|
|
13548
|
+
className: cn(isMobile && "min-h-0 flex-1"),
|
|
13549
|
+
children: [
|
|
13550
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProjectFileIconSprite, {}),
|
|
13551
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandInput, {
|
|
13552
|
+
autoFocus: shouldAutoFocus,
|
|
13553
|
+
value: query,
|
|
13554
|
+
onValueChange: setQuery,
|
|
13555
|
+
placeholder: "Search files…",
|
|
13556
|
+
className: "text-base md:text-sm"
|
|
13557
|
+
}),
|
|
13558
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(CommandList, {
|
|
13559
|
+
className: cn(isMobile && "max-h-none min-h-0 flex-1"),
|
|
13560
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandEmpty, { children: "No files found." }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandGroup, {
|
|
13505
13561
|
heading: "Files",
|
|
13506
13562
|
children: paths.map((path) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(CommandItem, {
|
|
13507
13563
|
value: path,
|
|
@@ -13515,10 +13571,29 @@ function ProjectOpenFileDialog({ open, onOpenChange, paths, onOpenFile }) {
|
|
|
13515
13571
|
children: path
|
|
13516
13572
|
})]
|
|
13517
13573
|
}, path))
|
|
13518
|
-
})]
|
|
13519
|
-
|
|
13574
|
+
})]
|
|
13575
|
+
})
|
|
13576
|
+
]
|
|
13577
|
+
});
|
|
13578
|
+
if (isMobile) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Drawer$1, {
|
|
13579
|
+
open,
|
|
13580
|
+
onOpenChange,
|
|
13581
|
+
autoFocus: shouldAutoFocus,
|
|
13582
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DrawerContent, {
|
|
13583
|
+
className: "max-h-[90svh] overflow-hidden",
|
|
13584
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DrawerHeader, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerTitle, { children: "Open Files" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DrawerDescription, { children: "Search project files to open." })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
13585
|
+
className: "flex min-h-0 flex-1 flex-col overflow-hidden px-4 pb-4",
|
|
13586
|
+
children: commandBody
|
|
13587
|
+
})]
|
|
13520
13588
|
})
|
|
13521
13589
|
});
|
|
13590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommandDialog, {
|
|
13591
|
+
open,
|
|
13592
|
+
onOpenChange,
|
|
13593
|
+
title: "Open Files",
|
|
13594
|
+
description: "Search project files to open.",
|
|
13595
|
+
children: commandBody
|
|
13596
|
+
});
|
|
13522
13597
|
}
|
|
13523
13598
|
function ProjectFileContent({ viewerContextId, cwd, active, path }) {
|
|
13524
13599
|
const normalizedCwd = normalizeCwd(cwd);
|
|
@@ -15364,7 +15439,17 @@ function FileReviewContent({ viewerContextId, cwd, active, onOpenFile }) {
|
|
|
15364
15439
|
})
|
|
15365
15440
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15366
15441
|
className: "flex shrink-0 items-center gap-2",
|
|
15367
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
15442
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TitleTooltip, {
|
|
15443
|
+
title: hasOpenFile ? "Collapse all" : "Expand all",
|
|
15444
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
|
|
15445
|
+
variant: "outline",
|
|
15446
|
+
size: "icon",
|
|
15447
|
+
"aria-label": hasOpenFile ? "Collapse all" : "Expand all",
|
|
15448
|
+
disabled: changedFiles.length === 0,
|
|
15449
|
+
onClick: toggleAll,
|
|
15450
|
+
children: hasOpenFile ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronsDownUp, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronsUpDown, { className: "size-4" })
|
|
15451
|
+
})
|
|
15452
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroup$1, {
|
|
15368
15453
|
variant: "outline",
|
|
15369
15454
|
value: [diffStyle],
|
|
15370
15455
|
onValueChange: (values) => {
|
|
@@ -15375,11 +15460,6 @@ function FileReviewContent({ viewerContextId, cwd, active, onOpenFile }) {
|
|
|
15375
15460
|
value,
|
|
15376
15461
|
children: value === "unified" ? "Unified" : "Split"
|
|
15377
15462
|
}, value))
|
|
15378
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Button$1, {
|
|
15379
|
-
variant: "outline",
|
|
15380
|
-
disabled: changedFiles.length === 0,
|
|
15381
|
-
onClick: toggleAll,
|
|
15382
|
-
children: [hasOpenFile ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronsDownUp, { className: "size-4" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronsUpDown, { className: "size-4" }), hasOpenFile ? "Collapse all" : "Expand all"]
|
|
15383
15463
|
})]
|
|
15384
15464
|
})]
|
|
15385
15465
|
}),
|
|
@@ -5,7 +5,7 @@ import { n as clsx } from "../_libs/class-variance-authority+clsx.mjs";
|
|
|
5
5
|
import { t as twMerge } from "../_libs/tailwind-merge.mjs";
|
|
6
6
|
import { B as ArrowDown, I as ArrowUp, M as ChevronUp, O as Command, R as ArrowRight, V as ArrowBigUp, m as Option, z as ArrowLeft } from "../_libs/lucide-react.mjs";
|
|
7
7
|
import { n as string, t as object } from "../_libs/zod.mjs";
|
|
8
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/routes-
|
|
8
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/routes-DZ8MN7tJ.js
|
|
9
9
|
var import_react = /* @__PURE__ */ __toESM(require_react());
|
|
10
10
|
var import_jsx_runtime = require_jsx_runtime();
|
|
11
11
|
function cn(...inputs) {
|
|
@@ -1279,7 +1279,7 @@ function getSessionTitle(summary) {
|
|
|
1279
1279
|
if (summary?.name?.trim()) return summary.name.trim();
|
|
1280
1280
|
return "New session";
|
|
1281
1281
|
}
|
|
1282
|
-
var $$splitComponentImporter = () => import("./routes-
|
|
1282
|
+
var $$splitComponentImporter = () => import("./routes-BgLr8w7S.mjs");
|
|
1283
1283
|
var indexSearchSchema = object({ session: string().optional() });
|
|
1284
1284
|
var Route = createFileRoute("/")({
|
|
1285
1285
|
validateSearch: indexSearchSchema,
|
|
@@ -3813,7 +3813,7 @@ var defaultSerovalPlugins = [
|
|
|
3813
3813
|
* the dev styles URL for route-scoped CSS collection.
|
|
3814
3814
|
*/
|
|
3815
3815
|
async function getStartManifest(matchedRoutes) {
|
|
3816
|
-
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-
|
|
3816
|
+
const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-CxIiv5yq.mjs");
|
|
3817
3817
|
const startManifest = tsrStartManifest();
|
|
3818
3818
|
const rootRoute = startManifest.routes[rootRouteId] = startManifest.routes["__root__"] || {};
|
|
3819
3819
|
rootRoute.assets = rootRoute.assets || [];
|
|
@@ -4799,7 +4799,7 @@ var baseManifestPromise;
|
|
|
4799
4799
|
var cachedFinalManifestPromise;
|
|
4800
4800
|
async function loadEntries() {
|
|
4801
4801
|
const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
|
|
4802
|
-
import("./router-
|
|
4802
|
+
import("./router-DxIs8YF4.mjs"),
|
|
4803
4803
|
import("./start-Captdpmb.mjs"),
|
|
4804
4804
|
import("../__23tanstack-start-plugin-adapters-y_fshQDY.mjs")
|
|
4805
4805
|
]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-
|
|
1
|
+
//#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-CxIiv5yq.js
|
|
2
2
|
var tsrStartManifest = () => ({
|
|
3
3
|
routes: {
|
|
4
4
|
__root__: {
|
|
@@ -50,16 +50,16 @@ var tsrStartManifest = () => ({
|
|
|
50
50
|
"/api/ui/$id"
|
|
51
51
|
],
|
|
52
52
|
assets: void 0,
|
|
53
|
-
preloads: ["/assets/index-
|
|
53
|
+
preloads: ["/assets/index-Di2FsKXl.js", "/assets/rolldown-runtime-S-ySWqyJ.js"]
|
|
54
54
|
},
|
|
55
55
|
"/": {
|
|
56
56
|
filePath: "/home/runner/work/pico/pico/src/routes/index.tsx",
|
|
57
57
|
children: void 0,
|
|
58
58
|
assets: void 0,
|
|
59
|
-
preloads: ["/assets/routes-
|
|
59
|
+
preloads: ["/assets/routes-3i6aEePK.js"]
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
|
-
clientEntry: "/assets/index-
|
|
62
|
+
clientEntry: "/assets/index-Di2FsKXl.js"
|
|
63
63
|
});
|
|
64
64
|
//#endregion
|
|
65
65
|
export { tsrStartManifest };
|