@marimo-team/frontend 0.24.1-dev84 → 0.24.1-dev85
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/dist/assets/{CellStatus-GcHBZKLm.js → CellStatus-D40JXMpi.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BU1NZpRe.js → ConnectedDataExplorerComponent-Dkqk66Mv.js} +1 -1
- package/dist/assets/{JsonOutput-CUJlEdsN.js → JsonOutput-DeeAtdky.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-DCAezqcJ.js → MarimoErrorOutput-Dh-877oV.js} +1 -1
- package/dist/assets/{RenderHTML-D9-75ltP.js → RenderHTML-C7JgAfHC.js} +1 -1
- package/dist/assets/{RunButton-plSsbubG.js → RunButton-C9d_w3qn.js} +1 -1
- package/dist/assets/{add-cell-with-ai-07LjLydm.js → add-cell-with-ai-zrX9HOPy.js} +1 -1
- package/dist/assets/{add-connection-dialog-By0i0Fq5.js → add-connection-dialog-OQxtKyCV.js} +1 -1
- package/dist/assets/{agent-panel-D01f7IIt.js → agent-panel-DF7_IEEH.js} +1 -1
- package/dist/assets/{ai-model-dropdown-DPxSumqI.js → ai-model-dropdown-DIItpu01.js} +1 -1
- package/dist/assets/{app-config-button-DV7ZvBMx.js → app-config-button-CeDIYZUc.js} +1 -1
- package/dist/assets/{blob-yxfhyyvD.js → blob-iewSQmkZ.js} +1 -1
- package/dist/assets/{cell-editor-Bl5DkKIR.js → cell-editor-BkHTcrF-.js} +1 -1
- package/dist/assets/{cell-link-hHrWcozB.js → cell-link-ZLZTXwR8.js} +1 -1
- package/dist/assets/{cells-yuYDzbAy.js → cells-DyE9dSiM.js} +1 -1
- package/dist/assets/{chat-display-BFCcdgia.js → chat-display-B9XOYJaA.js} +1 -1
- package/dist/assets/{chat-panel-CS9bLpq9.js → chat-panel-Drx8ToF5.js} +1 -1
- package/dist/assets/{chat-ui-lssAqY7E.js → chat-ui-CJ1VFz1m.js} +1 -1
- package/dist/assets/{column-preview-BEmcYaKl.js → column-preview-Ls8UnJOt.js} +1 -1
- package/dist/assets/{command-palette-DInNqneC.js → command-palette-DWyHSatV.js} +1 -1
- package/dist/assets/{common-Bs2kaOs2.js → common-03vbDqrN.js} +1 -1
- package/dist/assets/{components-ib4asSo7.js → components-CBlGIIAX.js} +1 -1
- package/dist/assets/{components-ByyAzQxP.js → components-J_vBLfsO.js} +1 -1
- package/dist/assets/{config-DaNyNpZL.js → config-D4frVGQ4.js} +1 -1
- package/dist/assets/{config-Cl3eMWxb.js → config-ycxJQP2b.js} +1 -1
- package/dist/assets/{datasource-DeZYq5UY.js → datasource-B4VfwXg_.js} +1 -1
- package/dist/assets/{dependency-graph-panel-g10osAFc.js → dependency-graph-panel-B24NhlCS.js} +1 -1
- package/dist/assets/{documentation-panel-CZ1mKkDh.js → documentation-panel-C4y_ufGj.js} +1 -1
- package/dist/assets/{download-D1crMjD8.js → download-Kg8_rqQH.js} +1 -1
- package/dist/assets/{edit-page-ZyGzkf7q.js → edit-page-DL_yo5rn.js} +4 -4
- package/dist/assets/{error-entries-B6XTLRyE.js → error-entries-Cy1y8FaI.js} +1 -1
- package/dist/assets/{error-panel-lexB3L6f.js → error-panel-D_pwhWfh.js} +1 -1
- package/dist/assets/file-explorer-panel-QoJu0RbE.js +1 -0
- package/dist/assets/{file-icons-Dx3v6lMu.js → file-icons-BN7fZ7-c.js} +1 -1
- package/dist/assets/file-name-input-qU-dl8Og.js +3 -0
- package/dist/assets/{floating-outline-3rQEbxxk.js → floating-outline-Coq72JrA.js} +1 -1
- package/dist/assets/{glide-data-editor-DZ2Minh8.js → glide-data-editor-DcY3nXI8.js} +1 -1
- package/dist/assets/{home-page-Ck-_oVJT.js → home-page-C6NwS9L9.js} +1 -1
- package/dist/assets/{index-g9ny2vs0.js → index-DMvKFHTV.js} +5 -5
- package/dist/assets/{kiosk-mode-CjT3sqy8.js → kiosk-mode-CzGt3mc2.js} +1 -1
- package/dist/assets/{layout-D0Q03BhB.js → layout-ByAlvlct.js} +3 -3
- package/dist/assets/{logs-panel-CSbUhhRo.js → logs-panel-zYelRd3A.js} +1 -1
- package/dist/assets/{markdown-renderer-BgUTGtM0.js → markdown-renderer-BqMslrdb.js} +1 -1
- package/dist/assets/{mermaid-Nzih1WTG.js → mermaid-CeseGGnS.js} +1 -1
- package/dist/assets/{name-cell-input-pEE4FGAL.js → name-cell-input-jrtswt5e.js} +1 -1
- package/dist/assets/{outline-panel-BgnjEQWg.js → outline-panel-B0P8XNnQ.js} +1 -1
- package/dist/assets/{packages-panel-BBP_xysn.js → packages-panel-C08E4Wjm.js} +1 -1
- package/dist/assets/{pair-with-agent-modal-Gg8MZHWW.js → pair-with-agent-modal-BZBengJw.js} +1 -1
- package/dist/assets/{panel-accordion-state-vpqEc3Kd.js → panel-accordion-state-Cyy4afrx.js} +1 -1
- package/dist/assets/{panels-fKt2XFRB.js → panels-DRtPsJ1u.js} +1 -1
- package/dist/assets/{process-output-siRm_lza.js → process-output-BiA5MKpM.js} +1 -1
- package/dist/assets/{readonly-code-display-CLWV76FT.js → readonly-code-display-B45Jy4vH.js} +1 -1
- package/dist/assets/{readonly-python-code-Bor9b9pV.js → readonly-python-code-BQ5Ti6Hw.js} +1 -1
- package/dist/assets/{renderShortcut-CS4ccH3x.js → renderShortcut-DK_OucLT.js} +1 -1
- package/dist/assets/{reveal-component-B55bWtCO.js → reveal-component-Bna3jncc.js} +1 -1
- package/dist/assets/{run-page-mD_6P_t5.js → run-page-CFC5C_It.js} +1 -1
- package/dist/assets/{scratchpad-panel-B_7IHnPD.js → scratchpad-panel-m2LRBFI5.js} +1 -1
- package/dist/assets/{session-panel-DB5qEYqt.js → session-panel-BV8Whoy8.js} +1 -1
- package/dist/assets/{skeleton-TY77TiqZ.js → skeleton-CWFWp9eU.js} +1 -1
- package/dist/assets/{snippets-panel-B8Yi81tz.js → snippets-panel-DBzdOGwQ.js} +1 -1
- package/dist/assets/state-DPS9Q717.js +3 -0
- package/dist/assets/{state-O8w98G11.js → state-rP7TRCla.js} +1 -1
- package/dist/assets/{switch-Gl6cozkm.js → switch-CtH5Ct94.js} +1 -1
- package/dist/assets/{terminal-DOqqA9Ha.js → terminal-C73iz1fU.js} +1 -1
- package/dist/assets/{tracing-DuLkr7ts.js → tracing-BP1J14GT.js} +1 -1
- package/dist/assets/{tracing-panel-CeLKVG8M.js → tracing-panel-CQasWudc.js} +2 -2
- package/dist/assets/{tree-actions-Bh-Nnaub.js → tree-actions-CrB9REp3.js} +1 -1
- package/dist/assets/{useAddCell-_JRYhAFd.js → useAddCell-DHYPnl7W.js} +1 -1
- package/dist/assets/{useBoolean-Cu7Eado1.js → useBoolean-ZU5StAbr.js} +1 -1
- package/dist/assets/{useCellActionButton-Bi8Lnv3F.js → useCellActionButton-C7bEu9tJ.js} +1 -1
- package/dist/assets/{useDeleteCell-CBQiavzs.js → useDeleteCell-CIzxZKUw.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-BOn3UJ07.js → useDependencyPanelTab-CLmRGbOD.js} +1 -1
- package/dist/assets/{useNotebookActions-C1YIorGp.js → useNotebookActions-Q97EgZxR.js} +1 -1
- package/dist/assets/{useRunCells-BFQfLlUl.js → useRunCells-Csh5VYKu.js} +1 -1
- package/dist/assets/{useSplitCell-Ig9P6lAn.js → useSplitCell-BfT7UcKM.js} +1 -1
- package/dist/assets/{useTheme-D3zvxdF3.js → useTheme-CF-zG9YH.js} +1 -1
- package/dist/assets/{utils-CUZQNAWJ.js → utils-CWSZQEjr.js} +1 -1
- package/dist/assets/{vega-component-B0MZ_r-y.js → vega-component-Bel2PDO-.js} +1 -1
- package/dist/index.html +26 -26
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/editor/chrome/panels/file-explorer-panel.tsx +3 -2
- package/src/components/editor/file-tree/__tests__/file-explorer-interactions.test.tsx +31 -18
- package/src/components/editor/file-tree/__tests__/file-explorer.test.ts +18 -12
- package/src/components/editor/file-tree/__tests__/requesting-tree.test.ts +364 -387
- package/src/components/editor/file-tree/file-explorer.tsx +137 -97
- package/src/components/editor/file-tree/file-name-input.tsx +5 -1
- package/src/components/editor/file-tree/file-viewer.tsx +2 -2
- package/src/components/editor/file-tree/requesting-tree.tsx +291 -171
- package/src/components/editor/file-tree/state.tsx +1 -0
- package/src/core/config/__tests__/config-schema.test.ts +15 -0
- package/src/core/config/config-schema.ts +15 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/network/__tests__/requests-network.test.ts +7 -0
- package/src/core/network/__tests__/requests-toasting.test.tsx +10 -0
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +4 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +3 -0
- package/src/core/wasm/bridge.ts +9 -0
- package/src/core/wasm/worker/types.ts +2 -0
- package/dist/assets/file-explorer-panel-DHRH2J-3.js +0 -1
- package/dist/assets/file-name-input-DzL8D_7x.js +0 -3
- package/dist/assets/state-D1N9_41P.js +0 -3
|
@@ -344,6 +344,7 @@ export class IslandsPyodideBridge implements RunRequests, EditRequests {
|
|
|
344
344
|
discoverDataSources = throwNotImplemented;
|
|
345
345
|
validateSQL = throwNotImplemented;
|
|
346
346
|
openFile = throwNotImplemented;
|
|
347
|
+
getFileRoots = throwNotImplemented;
|
|
347
348
|
sendListFiles = throwNotImplemented;
|
|
348
349
|
sendSearchFiles = throwNotImplemented;
|
|
349
350
|
sendPdb = throwNotImplemented;
|
|
@@ -136,6 +136,13 @@ describe("createNetworkRequests", () => {
|
|
|
136
136
|
expect(mockClient.GET).toHaveBeenCalledWith("/api/environment");
|
|
137
137
|
});
|
|
138
138
|
|
|
139
|
+
it("getFileRoots should GET /api/files/roots", async () => {
|
|
140
|
+
const requests = createNetworkRequests();
|
|
141
|
+
await requests.getFileRoots();
|
|
142
|
+
|
|
143
|
+
expect(mockClient.GET).toHaveBeenCalledWith("/api/files/roots");
|
|
144
|
+
});
|
|
145
|
+
|
|
139
146
|
it("getExportAvailability should GET /api/export/availability", async () => {
|
|
140
147
|
const requests = createNetworkRequests();
|
|
141
148
|
await requests.getExportAvailability();
|
|
@@ -43,4 +43,14 @@ describe("createErrorToastingRequests", () => {
|
|
|
43
43
|
expect.objectContaining({ variant: "danger" }),
|
|
44
44
|
);
|
|
45
45
|
});
|
|
46
|
+
|
|
47
|
+
it("leaves file-root errors for the requesting tree to surface", async () => {
|
|
48
|
+
const error = new Error("Failed to load roots");
|
|
49
|
+
const requests = createErrorToastingRequests({
|
|
50
|
+
getFileRoots: vi.fn().mockRejectedValue(error),
|
|
51
|
+
} as unknown as EditRequests & RunRequests);
|
|
52
|
+
|
|
53
|
+
await expect(requests.getFileRoots()).rejects.toBe(error);
|
|
54
|
+
expect(toastMock).not.toHaveBeenCalled();
|
|
55
|
+
});
|
|
46
56
|
});
|
|
@@ -98,6 +98,7 @@ const ACTIONS: Record<keyof AllRequests, Action> = {
|
|
|
98
98
|
removePackage: "throwError",
|
|
99
99
|
|
|
100
100
|
// Folder and file operations throw errors
|
|
101
|
+
getFileRoots: "startConnection",
|
|
101
102
|
sendListFiles: "startConnection",
|
|
102
103
|
sendSearchFiles: "startConnection",
|
|
103
104
|
sendCreateFileOrFolder: "throwError",
|
|
@@ -319,6 +319,10 @@ export function createNetworkRequests(): EditRequests & RunRequests {
|
|
|
319
319
|
})
|
|
320
320
|
.then(handleResponseReturnNull);
|
|
321
321
|
},
|
|
322
|
+
getFileRoots: async () => {
|
|
323
|
+
await waitForConnectionOpen();
|
|
324
|
+
return getClient().GET("/api/files/roots").then(handleResponse);
|
|
325
|
+
},
|
|
322
326
|
sendListFiles: async (request) => {
|
|
323
327
|
await waitForConnectionOpen();
|
|
324
328
|
return getClient()
|
|
@@ -67,6 +67,7 @@ export function createStaticRequests(): EditRequests & RunRequests {
|
|
|
67
67
|
openFile: throwNotInEditMode,
|
|
68
68
|
getUsageStats: throwNotInEditMode,
|
|
69
69
|
getEnvironmentInfo: throwNotInEditMode,
|
|
70
|
+
getFileRoots: throwNotInEditMode,
|
|
70
71
|
sendListFiles: throwNotInEditMode,
|
|
71
72
|
sendSearchFiles: throwNotInEditMode,
|
|
72
73
|
sendPdb: throwNotInEditMode,
|
|
@@ -48,6 +48,7 @@ export function createErrorToastingRequests(
|
|
|
48
48
|
openFile: "Failed to open file",
|
|
49
49
|
getUsageStats: "", // No toast
|
|
50
50
|
getEnvironmentInfo: "", // No toast
|
|
51
|
+
getFileRoots: "", // RequestingTree surfaces this error
|
|
51
52
|
sendListFiles: "Failed to list files",
|
|
52
53
|
sendSearchFiles: "Failed to search files",
|
|
53
54
|
sendPdb: "Failed to start debug session",
|
|
@@ -50,6 +50,8 @@ export type FileDetailsResponse = schemas["FileDetailsResponse"];
|
|
|
50
50
|
export type FileInfo = schemas["FileInfo"];
|
|
51
51
|
export type FileListRequest = schemas["FileListRequest"];
|
|
52
52
|
export type FileListResponse = schemas["FileListResponse"];
|
|
53
|
+
export type FileRoot = schemas["FileRoot"];
|
|
54
|
+
export type FileRootsResponse = schemas["FileRootsResponse"];
|
|
53
55
|
export type FileSearchRequest = schemas["FileSearchRequest"];
|
|
54
56
|
export type FileSearchResponse = schemas["FileSearchResponse"];
|
|
55
57
|
export type FileMoveRequest = schemas["FileMoveRequest"];
|
|
@@ -197,6 +199,7 @@ export interface EditRequests {
|
|
|
197
199
|
sendPdb: (request: DebugCellRequest) => Promise<null>;
|
|
198
200
|
sendSetBreakpoints: (request: SetBreakpointsRequest) => Promise<null>;
|
|
199
201
|
// File explorer requests
|
|
202
|
+
getFileRoots: () => Promise<FileRootsResponse>;
|
|
200
203
|
sendListFiles: (request: FileListRequest) => Promise<FileListResponse>;
|
|
201
204
|
sendSearchFiles: (request: FileSearchRequest) => Promise<FileSearchResponse>;
|
|
202
205
|
sendCreateFileOrFolder: (
|
package/src/core/wasm/bridge.ts
CHANGED
|
@@ -26,6 +26,7 @@ import type {
|
|
|
26
26
|
FileDeleteResponse,
|
|
27
27
|
FileDetailsResponse,
|
|
28
28
|
FileListResponse,
|
|
29
|
+
FileRootsResponse,
|
|
29
30
|
FileMoveResponse,
|
|
30
31
|
FileSearchResponse,
|
|
31
32
|
FileUpdateResponse,
|
|
@@ -419,6 +420,14 @@ export class PyodideBridge implements RunRequests, EditRequests {
|
|
|
419
420
|
return response as FileListResponse;
|
|
420
421
|
};
|
|
421
422
|
|
|
423
|
+
getFileRoots: EditRequests["getFileRoots"] = async () => {
|
|
424
|
+
const response = await this.rpc.proxy.request.bridge({
|
|
425
|
+
functionName: "file_roots",
|
|
426
|
+
payload: undefined,
|
|
427
|
+
});
|
|
428
|
+
return response as FileRootsResponse;
|
|
429
|
+
};
|
|
430
|
+
|
|
422
431
|
sendSearchFiles: EditRequests["sendSearchFiles"] = async (request) => {
|
|
423
432
|
const response = await this.rpc.proxy.request.bridge({
|
|
424
433
|
functionName: "search_files",
|
|
@@ -23,6 +23,7 @@ import type {
|
|
|
23
23
|
FileDetailsResponse,
|
|
24
24
|
FileListRequest,
|
|
25
25
|
FileListResponse,
|
|
26
|
+
FileRootsResponse,
|
|
26
27
|
FileMoveRequest,
|
|
27
28
|
FileMoveResponse,
|
|
28
29
|
FileSearchRequest,
|
|
@@ -84,6 +85,7 @@ export interface RawBridge {
|
|
|
84
85
|
save_user_config(request: SaveUserConfigurationRequest): Promise<null>;
|
|
85
86
|
rename_file(request: string): Promise<string>;
|
|
86
87
|
list_files(request: FileListRequest): Promise<FileListResponse>;
|
|
88
|
+
file_roots(): Promise<FileRootsResponse>;
|
|
87
89
|
search_files(request: FileSearchRequest): Promise<FileSearchResponse>;
|
|
88
90
|
file_details(request: { path: string }): Promise<FileDetailsResponse>;
|
|
89
91
|
create_file_or_directory(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,f as n,l as r,t as i}from"./useEvent-xfs0Sn4r.js";import{t as a}from"./react-CBDbhulC.js";import{At as o,Cn as s,Co as c,D as l,Dt as u,Et as d,Mt as f,Ot as p,Sn as m,Tt as h,Wt as g,ii as _,jt as v,kn as y,kt as b,oa as x,vn as S,yo as C}from"./cells-yuYDzbAy.js";import{t as w}from"./compiler-runtime-CYIjoINj.js";import{g as T,p as E}from"./utils-CUZQNAWJ.js";import{g as D}from"./useEventListener-D27Dii_l.js";import{t as O}from"./invariant-Ci2dTZ72.js";import{N as k,r as A}from"./config-DaNyNpZL.js";import{t as j}from"./cn-ldLVeaqm.js";import{t as M}from"./jsx-runtime-B74pBk57.js";import{r as N}from"./config-Cl3eMWxb.js";import{o as P}from"./alert-dialog-BVi_GyOB.js";import{a as F,c as I,p as L,r as R,t as z}from"./dropdown-menu-CqNabM1f.js";import{Pt as B,a as V,h as H,i as U,o as W,s as G}from"./JsonOutput-CUJlEdsN.js";import{c as K,n as ee,r as te}from"./download-D1crMjD8.js";import{t as q}from"./tooltip-D7dq6bnc.js";import{t as J}from"./button-Btj6GXNy.js";import{Tt as ne}from"./dist-PIe1xcZo.js";import{n as Y,r as re,t as ie}from"./requests-C6_IaFh7.js";import{t as X}from"./createLucideIcon-B7HeEoG2.js";import{t as ae}from"./arrow-left-DrqK6gPp.js";import{n as oe}from"./LazyAnyLanguageCodeMirror-zSwE3dvU.js";import{r as se}from"./useNumberFormatter-DHJ9s6Vk.js";import{a as ce,i as le,n as ue,r as de,t as fe}from"./tree-actions-Bh-Nnaub.js";import{a as pe}from"./markdown-renderer-BgUTGtM0.js";import{u as me}from"./toDate-hGYJX0Ha.js";import{t as he}from"./copy-BMXKNElG.js";import{t as ge}from"./external-link-Bp3BxyRA.js";import{a as _e,i as ve,n as ye,r as be,t as xe}from"./file-icons-Dx3v6lMu.js";import{t as Se}from"./file-DF8n85RA.js";import{n as Ce,t as we}from"./components-ib4asSo7.js";import{b as Te}from"./write-secret-modal-lNU_7c2x.js";import{n as Ee,t as De}from"./spinner-Ck-Hgfvj.js";import{a as Oe,c as ke,d as Ae,f as je,i as Me,l as Ne,n as Pe,r as Fe,t as Ie,u as Le}from"./file-name-input-DzL8D_7x.js";import{t as Re}from"./refresh-cw-Bf-rx_aV.js";import{t as ze}from"./save-BybsbOKz.js";import{t as Be}from"./triangle-alert-MihykDYG.js";import{n as Ve,t as He}from"./es-BuMFDpR4.js";import{t as Ue}from"./use-toast-DpWHUGuF.js";import{n as We,t as Ge}from"./paths-zcL04qUW.js";import{t as Ke}from"./context-Do8M9TDF.js";import{n as qe}from"./useAsyncData-Buhk-UgR.js";import{n as Je}from"./copy-Cg05mM3C.js";import{t as Ye}from"./copy-icon-CRxVZTJ9.js";import{t as Xe}from"./blob-yxfhyyvD.js";import{a as Ze}from"./errors-DzO-nXy-.js";import{n as Qe,t as $e}from"./alert-dmKwNsrp.js";import{n as et}from"./error-banner-BYN8YUMe.js";import{a as tt}from"./renderShortcut-CS4ccH3x.js";import{t as nt}from"./bundle.esm-DzY74mzC.js";import{t as rt}from"./useAddCell-_JRYhAFd.js";import{n as it}from"./pathUtils-Cryrlpma.js";import{n as at}from"./semaphore-BjoL5P0h.js";import{t as ot}from"./empty-state-kWyb5dCS.js";import{t as st}from"./formatting-BJlT1s_3.js";import{a as ct,i as lt,n as ut,o as dt,r as ft,s as pt,t as mt}from"./components-ByyAzQxP.js";import{n as ht,t as gt}from"./marimo-icons-C3KxMV9A.js";import{t as _t}from"./links-DPh7yoP-.js";import{n as vt}from"./panel-accordion-state-vpqEc3Kd.js";var yt=X(`book-plus`,[[`path`,{d:`M12 7v6`,key:`lw1j43`}],[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}]]),bt=X(`copy-minus`,[[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),xt=X(`file-plus-corner`,[[`path`,{d:`M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35`,key:`17jvcc`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 19h6`,key:`bvotb8`}],[`path`,{d:`M17 16v6`,key:`18yu1i`}]]),St=X(`file-symlink`,[[`path`,{d:`M4 11V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`huwfnr`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m10 18 3-3-3-3`,key:`18f6ys`}]]),Ct=X(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),wt=X(`list-tree`,[[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`,key:`1npucw`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`,key:`x1gjn2`}]]),Tt=X(`square-play`,[[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}]]),Et=X(`view`,[[`path`,{d:`M21 17v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2`,key:`mrq65r`}],[`path`,{d:`M21 7V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2`,key:`be3xqs`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`path`,{d:`M18.944 12.33a1 1 0 0 0 0-.66 7.5 7.5 0 0 0-13.888 0 1 1 0 0 0 0 .66 7.5 7.5 0 0 0 13.888 0`,key:`11ak4c`}]]),Z=e(a(),1),Q=w(),$=M(),Dt=e=>{let t=(0,Q.c)(17),{filename:n,filenameIcon:r,onBack:i,onRefresh:a,onDownload:o,actions:s}=e,c;t[0]===i?c=t[1]:(c=i&&(0,$.jsx)(q,{content:`Back to file list`,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:i,children:(0,$.jsx)(ae,{className:`h-4 w-4`})})}),t[0]=i,t[1]=c);let l;t[2]!==n||t[3]!==r?(l=n?(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5 flex-1 min-w-0 text-xs font-semibold truncate`,children:[r,n]}):(0,$.jsx)(`span`,{className:`flex-1`}),t[2]=n,t[3]=r,t[4]=l):l=t[4];let u;t[5]===a?u=t[6]:(u=a&&(0,$.jsx)(q,{content:`Refresh`,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:a,children:(0,$.jsx)(Re,{className:`h-3.5 w-3.5`})})}),t[5]=a,t[6]=u);let d;t[7]===o?d=t[8]:(d=o&&(0,$.jsx)(q,{content:`Download`,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:o,children:(0,$.jsx)(B,{className:`h-3.5 w-3.5`})})}),t[7]=o,t[8]=d);let f;t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,children:[u,s,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==c||t[14]!==l||t[15]!==f?(p=(0,$.jsxs)(`div`,{className:`flex items-center shrink-0 border-b px-1 gap-1`,children:[c,l,f]}),t[13]=c,t[14]=l,t[15]=f,t[16]=p):p=t[16],p},Ot=new Set([`http`,`file`,`in-memory`]);function kt(e){return JSON.stringify(e).slice(1,-1)}var At=new Set([`datasets`,`spaces`,`buckets`]);function jt(e){let t=e.split(`/`).filter(Boolean);return t[0]===`datasets`&&t.length>=4?{repoType:`dataset`,repoId:`${t[1]}/${t[2]}`,filename:t.slice(3).join(`/`)}:t[0]===`spaces`&&t.length>=4?{repoType:`space`,repoId:`${t[1]}/${t[2]}`,filename:t.slice(3).join(`/`)}:t.length>=3&&!At.has(t[0])?{repoType:`model`,repoId:`${t[0]}/${t[1]}`,filename:t.slice(2).join(`/`)}:null}function Mt(e){return`from huggingface_hub import hf_hub_download\n\nlocal_path = hf_hub_download(\n repo_id="${kt(e.repoId)}",\n filename="${kt(e.filename)}",\n repo_type="${kt(e.repoType)}",\n)`}var Nt=[{id:`read-file`,label:`Insert read snippet`,icon:yt,getCode:e=>{if(e.entry.kind===`directory`)return null;let t=kt(e.entry.path);if(e.backendType===`huggingface`){let t=jt(e.entry.path);return t?`${Mt(t)}\n\nwith open(local_path, "rb") as f:\n _data = f.read()\n_data`:null}return e.backendType===`obstore`?`_data = ${e.variableName}.get("${t}").bytes()\n_data`:`_data = ${e.variableName}.cat_file("${t}")\n_data`}},{id:`download-file`,label:`Insert download snippet`,icon:St,getCode:e=>{if(e.entry.kind===`directory`)return null;let t=kt(e.entry.path);if(e.backendType===`huggingface`){let t=jt(e.entry.path);return t?`${Mt(t)}\nlocal_path`:null}if(e.backendType===`obstore`)return Ot.has(e.protocol)?null:`from datetime import timedelta\nfrom obstore import sign\n\nsigned_url = sign(\n ${e.variableName}, "GET", "${t}",\n expires_in=timedelta(hours=1),\n)\nsigned_url`;let n=kt(e.entry.path.split(`/`).pop()||`download`);return`${e.variableName}.get("${t}", "${n}")`}}],Pt=104857600;function Ft(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.split(`/`);return n[n.length-1]||t}var It=e=>{let t=(0,Q.c)(83),{entry:n,namespace:r,protocol:i,backendType:a,onBack:o}=e,{locale:s}=Ke(),c=rt(),l;t[0]===n.path?l=t[1]:(l=Ft(n.path),t[0]=n.path,t[1]=l);let u=l,d=n.mimeType||`text/plain`,p;t[2]===d?p=t[3]:(p=G(d),t[2]=d,t[3]=p);let m=p,h=m&&n.size>Pt&&n.size>0,g,_;t[4]!==n.path||t[5]!==m||t[6]!==r||t[7]!==h?(g=async()=>{if(h)return null;let e=await f.request({namespace:r,path:n.path,preview:!m});if(e.error)throw Error(e.error);if(!e.url)throw Error(`No URL returned`);if(m)return{type:`media`,url:e.url};let t=await fetch(e.url);if(!t.ok)throw Error(`Failed to fetch preview: ${t.statusText}`);return{type:`text`,content:await t.text()}},_=[r,n.path,m,h],t[4]=n.path,t[5]=m,t[6]=r,t[7]=h,t[8]=g,t[9]=_):(g=t[8],_=t[9]);let{data:v,isPending:y,error:b,refetch:x}=qe(g,_),S;t[10]!==n.path||t[11]!==u||t[12]!==r?(S=async()=>{try{let e=await f.request({namespace:r,path:n.path});if(e.error){Ue({title:`Download failed`,description:e.error,variant:`danger`});return}e.url&&te(e.url,e.filename??u)}catch(e){let t=e;D.error(`Failed to download storage entry`,t),Ue({title:`Download failed`,description:String(t),variant:`danger`})}},t[10]=n.path,t[11]=u,t[12]=r,t[13]=S):S=t[13];let C=S,w;t[14]!==c||t[15]!==a||t[16]!==n||t[17]!==r||t[18]!==i?(w=Nt.map(e=>{let t=e.getCode({variableName:r,protocol:i,entry:n,backendType:a});if(t===null)return null;let o=e.icon;return(0,$.jsx)(q,{content:e.label,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:()=>c(t),"aria-label":e.label,children:(0,$.jsx)(o,{className:`h-3.5 w-3.5`})})},e.id)}),t[14]=c,t[15]=a,t[16]=n,t[17]=r,t[18]=i,t[19]=w):w=t[19];let T=w,E;t[20]===u?E=t[21]:(E=ve(u),t[20]=u,t[21]=E);let O;t[22]!==C||t[23]!==u||t[24]!==o||t[25]!==T||t[26]!==E?(O=(0,$.jsx)(Dt,{filename:u,filenameIcon:E,onBack:o,onDownload:C,actions:T}),t[22]=C,t[23]=u,t[24]=o,t[25]=T,t[26]=E,t[27]=O):O=t[27];let k=O,A;t[28]!==n.lastModified||t[29]!==n.path||t[30]!==n.size||t[31]!==s||t[32]!==d?(A=e=>{let{includeMime:t}=e,r=t!==void 0&&t;return(0,$.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 p-4 text-xs`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Path`}),(0,$.jsxs)(`div`,{className:`truncate flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`font-mono text-[11px]`,children:n.path}),(0,$.jsx)(Ye,{value:n.path,className:`h-3 w-3`})]}),r&&(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Type`}),r&&(0,$.jsx)(`span`,{children:d}),n.size>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Size`}),(0,$.jsx)(`span`,{children:st(n.size,s)})]}),n.lastModified!=null&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Modified`}),(0,$.jsx)(`span`,{children:new Date(n.lastModified*1e3).toLocaleString()})]})]})},t[28]=n.lastModified,t[29]=n.path,t[30]=n.size,t[31]=s,t[32]=d,t[33]=A):A=t[33];let j=A;if(h){let e;t[34]===j?e=t[35]:(e=j({includeMime:!0}),t[34]=j,t[35]=e);let r;t[36]!==n.size||t[37]!==s?(r=st(n.size,s),t[36]=n.size,t[37]=s,t[38]=r):r=t[38];let i;t[39]===r?i=t[40]:(i=(0,$.jsxs)(`div`,{className:`px-4 pb-4 text-xs text-muted-foreground italic`,children:[`File is too large to preview (`,r,`).`]}),t[39]=r,t[40]=i);let a;return t[41]!==k||t[42]!==e||t[43]!==i?(a=(0,$.jsxs)(`div`,{className:`flex flex-col h-full`,children:[k,e,i]}),t[41]=k,t[42]=e,t[43]=i,t[44]=a):a=t[44],a}if(y){let e;t[45]===j?e=t[46]:(e=j({}),t[45]=j,t[46]=e);let n;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-center gap-2 text-xs text-muted-foreground min-h-24`,children:[(0,$.jsx)(Ee,{className:`h-4 w-4 animate-spin`}),`Loading preview...`]}),t[47]=n):n=t[47];let r;return t[48]!==k||t[49]!==e?(r=(0,$.jsxs)(`div`,{className:`flex flex-col h-full`,children:[k,e,n]}),t[48]=k,t[49]=e,t[50]=r):r=t[50],r}if(b){let e;t[51]===j?e=t[52]:(e=j({includeMime:!0}),t[51]=j,t[52]=e);let n;t[53]===b.message?n=t[54]:(n=(0,$.jsxs)(`div`,{className:`px-4 pb-4 text-xs text-destructive`,children:[`Failed to load preview: `,b.message]}),t[53]=b.message,t[54]=n);let r;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Re,{className:`h-3 w-3 mr-1`}),t[55]=r):r=t[55];let i;t[56]===x?i=t[57]:(i=(0,$.jsx)(`div`,{className:`px-4 pb-4`,children:(0,$.jsxs)(J,{variant:`secondary`,size:`xs`,onClick:x,children:[r,`Retry`]})}),t[56]=x,t[57]=i);let a;return t[58]!==k||t[59]!==e||t[60]!==n||t[61]!==i?(a=(0,$.jsxs)(`div`,{className:`flex flex-col h-full`,children:[k,e,n,i]}),t[58]=k,t[59]=e,t[60]=n,t[61]=i,t[62]=a):a=t[62],a}if(v){let e;t[63]===j?e=t[64]:(e=j({}),t[63]=j,t[64]=e);let n=v.type===`text`?v.content:void 0,r;t[65]!==v.type||t[66]!==v.url?(r=v.type===`media`?{url:v.url}:void 0,t[65]=v.type,t[66]=v.url,t[67]=r):r=t[67];let i;t[68]!==d||t[69]!==u||t[70]!==n||t[71]!==r?(i=(0,$.jsx)(U,{mimeType:d,filename:u,contents:n,mediaSource:r}),t[68]=d,t[69]=u,t[70]=n,t[71]=r,t[72]=i):i=t[72];let a;return t[73]!==k||t[74]!==e||t[75]!==i?(a=(0,$.jsxs)(`div`,{className:`flex flex-col h-full`,children:[k,e,i]}),t[73]=k,t[74]=e,t[75]=i,t[76]=a):a=t[76],a}let M;t[77]===j?M=t[78]:(M=j({includeMime:!0}),t[77]=j,t[78]=M);let N;t[79]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsxs)(`div`,{className:`p-4 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,$.jsx)(Se,{className:`h-4 w-4`}),`Preview not available for this file type.`]}),t[79]=N):N=t[79];let P;return t[80]!==k||t[81]!==M?(P=(0,$.jsxs)(`div`,{className:`flex flex-col h-full`,children:[k,M,N]}),t[80]=k,t[81]=M,t[82]=P):P=t[82],P},Lt=16;function Rt(e){return{paddingLeft:e*Lt}}function zt(e,t){return new Date(e*1e3).toLocaleDateString(t,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Bt(e){let t=e.endsWith(`/`)?e.slice(0,-1):e,n=t.split(`/`);return n[n.length-1]||t}function Vt(e){return e.endsWith(`/`)?e:`${e}/`}function Ht(e,t){let n=e.metadata?.id;return typeof n==`string`&&n.length>0?n:`${e.path}::${t}`}function Ut(e,{namespace:t,searchValue:n,entriesByPath:r}){let i=n.trim().toLowerCase(),a=e.path.toLowerCase();if(Bt(e.path).toLowerCase().includes(i)||a.includes(i))return!0;if(e.kind===`directory`){let i=r.get(v(t,Vt(e.path)));if(i)return i.some(e=>Ut(e,{namespace:t,searchValue:n,entriesByPath:r}))}return!1}function Wt(e,t){return t.searchValue.trim()?e.filter(e=>Ut(e,t)):e}var Gt=5;function Kt(e){return{query:e,status:`idle`}}function qt(e){return e.status===`idle`||e.status===`error`||e.status===`capped`}function Jt(e,t,n){return t.get(e)===void 0||n.get(e)?.nextPageToken!=null}function Yt({hasSearch:e,hasLoadedMatches:t,isPending:n,remoteSearch:r,searchKey:i,entriesByPath:a,pageMetadataByPath:o}){return!e||t||n||!qt(r)?!1:Jt(i,a,o)}function Xt(e){let t=e.trim(),n=t.lastIndexOf(`/`);return n===-1?``:t.slice(0,n+1)}function Zt(e,t){let n=t.trim().toLowerCase();return!n||e.path.toLowerCase().includes(n)||Bt(e.path).toLowerCase().includes(n)}var Qt=e=>{let t=(0,Q.c)(15),{depth:n,isLoading:r,error:i,onLoadMore:a}=e,o;t[0]===n?o=t[1]:(o=Rt(n),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=r&&(0,$.jsx)(Ee,{className:`h-3 w-3 mr-1 animate-spin`}),t[2]=r,t[3]=s);let c=r?`Loading...`:`Load more`,l;t[4]!==r||t[5]!==a||t[6]!==s||t[7]!==c?(l=(0,$.jsxs)(J,{variant:`text`,size:`xs`,className:`h-6 px-0 hover:text-blue-600`,disabled:r,onClick:a,children:[s,c]}),t[4]=r,t[5]=a,t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===i?u=t[10]:(u=i&&(0,$.jsxs)(`span`,{className:`ml-2 text-destructive`,children:[`Failed to load: `,i.message]}),t[9]=i,t[10]=u);let d;return t[11]!==o||t[12]!==l||t[13]!==u?(d=(0,$.jsxs)(`div`,{className:`py-px text-xs`,style:o,children:[l,u]}),t[11]=o,t[12]=l,t[13]=u,t[14]=d):d=t[14],d},$t=e=>{let t=(0,Q.c)(44),{namespace:n,protocol:r,rootPath:i,backendType:a,prefix:o,depth:s,locale:c,searchValue:l,onOpenFile:d}=e,{entriesByPath:f}=u(),{entries:p,isPending:m,error:h,hasMore:g,loadMore:_,isLoadingMore:v,loadMoreError:y}=b(n,o);if(m){let e;t[0]===s?e=t[1]:(e=Rt(s),t[0]=s,t[1]=e);let n;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(Ee,{className:`h-3 w-3 animate-spin`}),t[2]=n):n=t[2];let r;return t[3]===e?r=t[4]:(r=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 py-1 text-xs text-muted-foreground`,style:e,children:[n,`Loading...`]}),t[3]=e,t[4]=r),r}if(h){let e;t[5]===s?e=t[6]:(e=Rt(s),t[5]=s,t[6]=e);let n;return t[7]!==h.message||t[8]!==e?(n=(0,$.jsxs)(`div`,{className:`py-1 text-xs text-destructive`,style:e,children:[`Failed to load: `,h.message]}),t[7]=h.message,t[8]=e,t[9]=n):n=t[9],n}if(p.length===0){let e;t[10]===s?e=t[11]:(e=Rt(s),t[10]=s,t[11]=e);let n;return t[12]===e?n=t[13]:(n=(0,$.jsx)(`div`,{className:`py-1 text-xs text-muted-foreground italic`,style:e,children:`Empty`}),t[12]=e,t[13]=n),n}let x;if(t[14]!==a||t[15]!==p||t[16]!==s||t[17]!==f||t[18]!==c||t[19]!==n||t[20]!==d||t[21]!==r||t[22]!==i||t[23]!==l){let e=Wt(p,{namespace:n,searchValue:l,entriesByPath:f}),o;t[25]!==a||t[26]!==p||t[27]!==s||t[28]!==c||t[29]!==n||t[30]!==d||t[31]!==r||t[32]!==i||t[33]!==l?(o=e=>{let t=Ht(e,p.indexOf(e));return(0,$.jsx)(en,{rowKey:t,entry:e,namespace:n,protocol:r,rootPath:i,backendType:a,depth:s,locale:c,searchValue:l,onOpenFile:d},t)},t[25]=a,t[26]=p,t[27]=s,t[28]=c,t[29]=n,t[30]=d,t[31]=r,t[32]=i,t[33]=l,t[34]=o):o=t[34],x=e.map(o),t[14]=a,t[15]=p,t[16]=s,t[17]=f,t[18]=c,t[19]=n,t[20]=d,t[21]=r,t[22]=i,t[23]=l,t[24]=x}else x=t[24];let S;t[35]!==s||t[36]!==g||t[37]!==v||t[38]!==_||t[39]!==y?(S=g&&(0,$.jsx)(Qt,{depth:s,isLoading:v,error:y,onLoadMore:_}),t[35]=s,t[36]=g,t[37]=v,t[38]=_,t[39]=y,t[40]=S):S=t[40];let C;return t[41]!==x||t[42]!==S?(C=(0,$.jsxs)($.Fragment,{children:[x,S]}),t[41]=x,t[42]=S,t[43]=C):C=t[43],C},en=e=>{let t=(0,Q.c)(115),{entry:n,rowKey:r,namespace:i,protocol:a,rootPath:o,backendType:c,depth:l,locale:d,searchValue:p,onOpenFile:m}=e,[h,g]=(0,Z.useState)(!1),{entriesByPath:_}=u(),y=rt(),b=n.kind===`directory`,x,S,C,w,T,E,O,k,A,M,N;if(t[0]!==c||t[1]!==l||t[2]!==_||t[3]!==n||t[4]!==b||t[5]!==h||t[6]!==i||t[7]!==m||t[8]!==a||t[9]!==r||t[10]!==p){w=Bt(n.path);let e;t[22]===p?e=t[23]:(e=p.trim(),t[22]=p,t[23]=e);let o=!!e;T=b&&o&&w.toLowerCase().includes(p.trim().toLowerCase());let u;t[24]!==_||t[25]!==n.path||t[26]!==o||t[27]!==b||t[28]!==i||t[29]!==p?(u=b&&o&&!!_.get(v(i,Vt(n.path)))?.some(e=>Ut(e,{namespace:i,searchValue:p,entriesByPath:_})),t[24]=_,t[25]=n.path,t[26]=o,t[27]=b,t[28]=i,t[29]=p,t[30]=u):u=t[30],S=h||u;let d;t[31]!==n.path||t[32]!==i?(d=async()=>{try{let e=await f.request({namespace:i,path:n.path});if(e.error){Ue({title:`Download failed`,description:e.error,variant:`danger`});return}e.url&&te(e.url,e.filename??`download`)}catch(e){let t=e;D.error(`Failed to download storage entry`,t),Ue({title:`Download failed`,description:String(t),variant:`danger`})}},t[31]=n.path,t[32]=i,t[33]=d):d=t[33],C=d,x=s;let y=b&&`font-medium`;t[34]===y?E=t[35]:(E=j(`text-xs flex items-center gap-1.5 cursor-pointer rounded-none group h-6.5`,y),t[34]=y,t[35]=E),t[36]===l?O=t[37]:(O=Rt(l),t[36]=l,t[37]=O),k=`${i}:${r}`,t[38]!==c||t[39]!==S||t[40]!==n||t[41]!==b||t[42]!==i||t[43]!==m||t[44]!==a?(A=()=>{b?g(!S):m({entry:n,namespace:i,protocol:a,backendType:c})},t[38]=c,t[39]=S,t[40]=n,t[41]=b,t[42]=i,t[43]=m,t[44]=a,t[45]=A):A=t[45],t[46]!==S||t[47]!==b?(M=b?(0,$.jsx)(le,{isExpanded:S,className:`h-3 w-3`}):(0,$.jsx)(`span`,{className:`w-3 shrink-0`}),t[46]=S,t[47]=b,t[48]=M):M=t[48],N=b?(0,$.jsx)(_e,{className:j(`h-3.5 w-3.5 shrink-0`,ye.directory)}):ve(w),t[0]=c,t[1]=l,t[2]=_,t[3]=n,t[4]=b,t[5]=h,t[6]=i,t[7]=m,t[8]=a,t[9]=r,t[10]=p,t[11]=x,t[12]=S,t[13]=C,t[14]=w,t[15]=T,t[16]=E,t[17]=O,t[18]=k,t[19]=A,t[20]=M,t[21]=N}else x=t[11],S=t[12],C=t[13],w=t[14],T=t[15],E=t[16],O=t[17],k=t[18],A=t[19],M=t[20],N=t[21];let P;t[49]===w?P=t[50]:(P=(0,$.jsx)(`span`,{className:`truncate flex-1 text-left`,children:w}),t[49]=w,t[50]=P);let V;t[51]!==n.size||t[52]!==d?(V=n.size>0&&(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground pr-2 opacity-0 group-hover:opacity-100 transition-opacity tabular-nums`,children:st(n.size,d)}),t[51]=n.size,t[52]=d,t[53]=V):V=t[53];let H;t[54]!==n.lastModified||t[55]!==d?(H=n.lastModified!=null&&(0,$.jsx)(q,{content:`Last modified: ${new Date(n.lastModified*1e3).toLocaleString()}`,children:(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground pr-1 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap`,children:zt(n.lastModified,d)})}),t[54]=n.lastModified,t[55]=d,t[56]=H):H=t[56];let U;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(L,{asChild:!0,children:(0,$.jsx)(ue,{iconClassName:`h-3 w-3`,onClick:rn})}),t[57]=U):U=t[57];let W;t[58]!==c||t[59]!==n||t[60]!==b||t[61]!==i||t[62]!==m||t[63]!==a?(W=!b&&(0,$.jsxs)(F,{onSelect:()=>m({entry:n,namespace:i,protocol:a,backendType:c}),children:[(0,$.jsx)(Et,{className:`h-3.5 w-3.5 mr-2`}),`View`]}),t[58]=c,t[59]=n,t[60]=b,t[61]=i,t[62]=m,t[63]=a,t[64]=W):W=t[64];let G;t[65]===n.path?G=t[66]:(G=async()=>{await Je(n.path),Ue({title:`Copied to clipboard`})},t[65]=n.path,t[66]=G);let K;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(he,{className:fe}),t[67]=K):K=t[67];let ee;t[68]===G?ee=t[69]:(ee=(0,$.jsxs)(F,{onSelect:G,children:[K,`Copy path`]}),t[68]=G,t[69]=ee);let J;t[70]!==C||t[71]!==b?(J=!b&&(0,$.jsxs)(F,{onSelect:()=>C(),children:[(0,$.jsx)(B,{className:`h-3.5 w-3.5 mr-2`}),`Download`]}),t[70]=C,t[71]=b,t[72]=J):J=t[72];let ne;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(I,{}),t[73]=ne):ne=t[73];let Y;t[74]!==y||t[75]!==c||t[76]!==n||t[77]!==i||t[78]!==a?(Y=Nt.map(e=>{let t=e.getCode({variableName:i,protocol:a,entry:n,backendType:c});if(t===null)return null;let r=e.icon;return(0,$.jsxs)(F,{onSelect:()=>y(t),children:[(0,$.jsx)(r,{className:fe}),e.label]},e.id)}),t[74]=y,t[75]=c,t[76]=n,t[77]=i,t[78]=a,t[79]=Y):Y=t[79];let re;t[80]!==W||t[81]!==ee||t[82]!==J||t[83]!==Y?(re=(0,$.jsxs)(z,{children:[U,(0,$.jsxs)(R,{align:`end`,onClick:an,onCloseAutoFocus:on,children:[W,ee,J,ne,Y]})]}),t[80]=W,t[81]=ee,t[82]=J,t[83]=Y,t[84]=re):re=t[84];let ie;t[85]!==re||t[86]!==V||t[87]!==H?(ie=(0,$.jsxs)(`div`,{className:`flex items-center`,children:[V,H,re]}),t[85]=re,t[86]=V,t[87]=H,t[88]=ie):ie=t[88];let X;t[89]!==x||t[90]!==E||t[91]!==ie||t[92]!==O||t[93]!==k||t[94]!==A||t[95]!==M||t[96]!==N||t[97]!==P?(X=(0,$.jsxs)(x,{className:E,style:O,value:k,onSelect:A,children:[M,N,P,ie]}),t[89]=x,t[90]=E,t[91]=ie,t[92]=O,t[93]=k,t[94]=A,t[95]=M,t[96]=N,t[97]=P,t[98]=X):X=t[98];let ae;t[99]!==c||t[100]!==l||t[101]!==S||t[102]!==n.path||t[103]!==b||t[104]!==d||t[105]!==i||t[106]!==m||t[107]!==a||t[108]!==o||t[109]!==p||t[110]!==T?(ae=b&&S&&(0,$.jsx)($t,{namespace:i,protocol:a,rootPath:o,backendType:c,prefix:Vt(n.path),depth:l+1,locale:d,searchValue:T?``:p,onOpenFile:m}),t[99]=c,t[100]=l,t[101]=S,t[102]=n.path,t[103]=b,t[104]=d,t[105]=i,t[106]=m,t[107]=a,t[108]=o,t[109]=p,t[110]=T,t[111]=ae):ae=t[111];let oe;return t[112]!==X||t[113]!==ae?(oe=(0,$.jsxs)($.Fragment,{children:[X,ae]}),t[112]=X,t[113]=ae,t[114]=oe):oe=t[114],oe},tn=e=>{let t=(0,Q.c)(66),{namespace:n,locale:r,searchValue:i,remoteSearch:a,onContinueRemoteSearch:o,onOpenFile:c}=e,[l,d]=(0,Z.useState)(!0),{entriesByPath:f,pageMetadataByPath:m}=u(),{clearNamespaceCache:h}=p(),g=n.name??n.displayName,{entries:_,isPending:y,error:x,hasMore:S,loadMore:C,isLoadingMore:w,loadMoreError:T,refetch:E}=b(g),D;t[0]!==h||t[1]!==g||t[2]!==E?(D=e=>{e.stopPropagation(),h(g),E()},t[0]=h,t[1]=g,t[2]=E,t[3]=D):D=t[3];let O=D,k=y?n.storageEntries:_,A;if(t[4]!==k||t[5]!==f||t[6]!==x||t[7]!==O||t[8]!==S||t[9]!==l||t[10]!==w||t[11]!==y||t[12]!==C||t[13]!==T||t[14]!==r||t[15]!==n.backendType||t[16]!==n.displayName||t[17]!==n.name||t[18]!==n.protocol||t[19]!==n.rootPath||t[20]!==g||t[21]!==o||t[22]!==c||t[23]!==m||t[24]!==a||t[25]!==i){let e=Wt(k,{namespace:g,searchValue:i,entriesByPath:f}),u=Xt(i),p=v(g,u),h=u===``?[]:f.get(p)??[],_=Wt(h,{namespace:g,searchValue:i,entriesByPath:f}),b;t[27]===i?b=t[28]:(b=i.trim(),t[27]=i,t[28]=b);let E=!!b,D=e.length>0||_.length>0,j=u!==``&&Yt({hasSearch:E,hasLoadedMatches:D,isPending:y,remoteSearch:a,searchKey:p,entriesByPath:f,pageMetadataByPath:m}),M=E&&e.length===0,N;bb0:{if(y&&k.length===0){let e;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Ee,{className:`h-3 w-3 animate-spin`}),`Loading...`]}),t[29]=e):e=t[29],N=e;break bb0}if(a.status===`searching`){let e;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(Ee,{className:`h-3 w-3 animate-spin`}),`Searching more entries...`]}),t[30]=e):e=t[30],N=e;break bb0}if(a.status===`error`){let e;t[31]===a.error.message?e=t[32]:(e=(0,$.jsxs)(`span`,{className:`text-destructive`,children:[`Search failed: `,a.error.message]}),t[31]=a.error.message,t[32]=e),N=e;break bb0}if(a.status===`capped`){let e;t[33]===o?e=t[34]:(e=(0,$.jsx)(J,{variant:`text`,size:`xs`,className:`h-5 px-0 text-xs hover:text-blue-600`,onClick:o,children:`Continue searching`}),t[33]=o,t[34]=e);let n;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`span`,{className:`text-[10px]`,children:`(or press Enter)`}),t[35]=n):n=t[35];let r;t[36]===e?r=t[37]:(r=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`Searched more entries.`,e,n]}),t[36]=e,t[37]=r),N=r;break bb0}if(a.status===`exhausted`&&!D){N=`No matches`;break bb0}if(!E&&!y&&k.length===0){N=`No entries`;break bb0}if(j){let e;t[38]===o?e=t[39]:(e=(0,$.jsx)(J,{variant:`text`,size:`xs`,className:`h-5 px-0 text-xs hover:text-blue-600`,onClick:o,children:`Search more entries`}),t[38]=o,t[39]=e);let n;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`span`,{className:`text-[10px]`,children:`(or press Enter)`}),t[40]=n):n=t[40];let r;t[41]===e?r=t[42]:(r=(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[`No loaded matches.`,e,n]}),t[41]=e,t[42]=r),N=r;break bb0}if(E&&!D&&k.length>0){N=`No matches`;break bb0}N=null}let P=N,F;t[43]===l?F=t[44]:(F=()=>d(!l),t[43]=l,t[44]=F);let I;t[45]===l?I=t[46]:(I=(0,$.jsx)(le,{isExpanded:l,className:`h-3 w-3`}),t[45]=l,t[46]=I);let L;t[47]===n.protocol?L=t[48]:(L=(0,$.jsx)(we,{protocol:n.protocol}),t[47]=n.protocol,t[48]=L);let R;t[49]===n.displayName?R=t[50]:(R=(0,$.jsx)(`span`,{children:n.displayName}),t[49]=n.displayName,t[50]=R);let z;t[51]===n.name?z=t[52]:(z=n.name&&(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground font-normal`,children:[`(`,(0,$.jsx)(pt,{variableName:n.name}),`)`]}),t[51]=n.name,t[52]=z);let B;t[53]===O?B=t[54]:(B=(0,$.jsx)(de,{onClick:O,tooltip:`Refresh storage connection`,className:`p-0`,iconClassName:`h-3 w-3`}),t[53]=O,t[54]=B);let V=n.rootPath||`(root)`,U;t[55]===V?U=t[56]:(U=(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-normal tabular-nums ml-auto`,children:V}),t[55]=V,t[56]=U);let W;t[57]!==n.name||t[58]!==B||t[59]!==U||t[60]!==F||t[61]!==I||t[62]!==L||t[63]!==R||t[64]!==z?(W=(0,$.jsxs)(s,{value:n.name,onSelect:F,className:`flex flex-row font-semibold h-7 text-xs gap-1.5 bg-(--slate-2) text-muted-foreground rounded-none`,children:[I,L,R,z,B,U]}),t[57]=n.name,t[58]=B,t[59]=U,t[60]=F,t[61]=I,t[62]=L,t[63]=R,t[64]=z,t[65]=W):W=t[65],A=(0,$.jsxs)($.Fragment,{children:[W,l&&(0,$.jsxs)($.Fragment,{children:[x&&k.length===0&&(0,$.jsx)(H,{error:x,style:Rt(1),className:`py-1 text-xs h-auto overflow-auto max-h-32 items-start`,showIcon:!1}),!x&&P&&(0,$.jsx)(`div`,{className:`py-1 text-xs text-muted-foreground italic`,style:Rt(1),children:P}),e.map(e=>{let t=Ht(e,k.indexOf(e));return(0,$.jsx)(en,{rowKey:t,entry:e,namespace:g,protocol:n.protocol,rootPath:n.rootPath,backendType:n.backendType,depth:1,locale:r,searchValue:i,onOpenFile:c},t)}),M&&_.map(e=>{let t=Ht(e,h.indexOf(e));return(0,$.jsx)(en,{rowKey:`remote-search:${t}`,entry:e,namespace:g,protocol:n.protocol,rootPath:n.rootPath,backendType:n.backendType,depth:1,locale:r,searchValue:i,onOpenFile:c},`remote-search:${t}`)}),S&&!j&&(0,$.jsx)(Qt,{depth:1,isLoading:w,error:T,onLoadMore:C})]})]}),t[4]=k,t[5]=f,t[6]=x,t[7]=O,t[8]=S,t[9]=l,t[10]=w,t[11]=y,t[12]=C,t[13]=T,t[14]=r,t[15]=n.backendType,t[16]=n.displayName,t[17]=n.name,t[18]=n.protocol,t[19]=n.rootPath,t[20]=g,t[21]=o,t[22]=c,t[23]=m,t[24]=a,t[25]=i,t[26]=A}else A=t[26];return A},nn=()=>{let e=(0,Q.c)(63),{namespaces:t,entriesByPath:n,pageMetadataByPath:r}=u(),{locale:i}=Ke(),[a,s]=(0,Z.useState)(``),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={},e[0]=c):c=e[0];let[l,d]=(0,Z.useState)(c),[f,p]=(0,Z.useState)(null),h=o(),g;e[1]===a?g=e[2]:(g=a.trim(),e[1]=a,e[2]=g);let _=!!g,b;e[3]===a?b=e[4]:(b=a.trim(),e[3]=a,e[4]=b);let x=b,C;e[5]!==x||e[6]!==l?(C=e=>{let t=l[e];return t?.query===x?t:Kt(x)},e[5]=x,e[6]=l,e[7]=C):C=e[7];let w=C,T;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(T=(e,t)=>{d(n=>({...n,[e]:t}))},e[8]=T):T=e[8];let E=T,D;e[9]!==x||e[10]!==n||e[11]!==r||e[12]!==w?(D=e=>{if(!x)return!1;let t=e.name??e.displayName,i=Xt(x);if(i===``||!qt(w(t))||Wt(n.get(v(t,``))??e.storageEntries,{namespace:t,searchValue:x,entriesByPath:n}).length>0)return!1;let a=v(t,i);return Wt(n.get(a)??[],{namespace:t,searchValue:x,entriesByPath:n}).length>0?!1:Jt(a,n,r)},e[9]=x,e[10]=n,e[11]=r,e[12]=w,e[13]=D):D=e[13];let O=D,k;e[14]!==O||e[15]!==x||e[16]!==n||e[17]!==h||e[18]!==r?(k=async e=>{if(!O(e))return;let t=x,i=e.name??e.displayName,a=Xt(t),o=v(i,a),s=n.get(o),c=r.get(o)?.nextPageToken??null,l=s!==void 0;E(i,{query:t,status:`searching`});try{for(let e=0;e<Gt;e++){let e=!l||c!==null,n=[];if(e){let e=await h({namespace:i,prefix:a,pageToken:c,append:l});n=e.entries,c=e.next_page_token??null,l=!0}if((e?n:s??[]).some(e=>Zt(e,t))){E(i,{query:t,status:`found`});return}if(c===null){E(i,{query:t,status:`exhausted`});return}}E(i,{query:t,status:`capped`})}catch(e){let n=e;E(i,{query:t,status:`error`,error:n instanceof Error?n:Error(String(n))})}},e[14]=O,e[15]=x,e[16]=n,e[17]=h,e[18]=r,e[19]=k):k=e[19];let A=k,M;e[20]!==O||e[21]!==A||e[22]!==t?(M=()=>{let e=t.filter(O);for(let t of e)A(t)},e[20]=O,e[21]=A,e[22]=t,e[23]=M):M=e[23];let N=M;if(t.length===0){let t;return e[24]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ot,{title:`No storage connected`,description:(0,$.jsxs)(`span`,{children:[`Create an obstore or fsspec connection in your notebook. See the`,` `,(0,$.jsx)(`a`,{className:`text-link`,href:`https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start`,target:`_blank`,rel:`noopener noreferrer`,children:`docs`}),`.`]}),action:(0,$.jsx)(dt,{group:`storage`,label:`Add remote storage`,variant:`outline`,size:`sm`}),icon:(0,$.jsx)(Ce,{className:`h-8 w-8`})}),e[24]=t):t=e[24],t}let P;e[25]===f?P=e[26]:(P=f&&(0,$.jsx)(It,{entry:f.entry,namespace:f.namespace,protocol:f.protocol,backendType:f.backendType,onBack:()=>p(null)}),e[25]=f,e[26]=P);let F=f&&`hidden`,I;e[27]===F?I=e[28]:(I=j(`border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden scrollbar-thin`,F),e[27]=F,e[28]=I);let L;e[29]!==O||e[30]!==N||e[31]!==t?(L=e=>{e.key===`Enter`&&t.some(O)&&(e.preventDefault(),N())},e[29]=O,e[30]=N,e[31]=t,e[32]=L):L=e[32];let R;e[33]!==a||e[34]!==L?(R=(0,$.jsx)(m,{placeholder:`Search entries...`,className:`h-6 m-1`,value:a,onValueChange:s,onKeyDown:L,rootClassName:`flex-1 border-b-0`}),e[33]=a,e[34]=L,e[35]=R):R=e[35];let z;e[36]===_?z=e[37]:(z=_&&(0,$.jsx)(J,{variant:`text`,size:`xs`,className:`float-right border-none px-2 m-0 h-full`,onClick:()=>s(``),children:(0,$.jsx)(se,{className:`h-4 w-4`})}),e[36]=_,e[37]=z);let B,V;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(q,{content:`Search by file name within loaded entries, or by prefix (e.g. 'folder/x') for backend search. Press Enter to fetch more results.`,delayDuration:200,children:(0,$.jsx)(me,{className:`h-3.5 w-3.5 shrink-0 cursor-help text-muted-foreground hover:text-foreground mr-2`})}),V=(0,$.jsx)(dt,{group:`storage`,label:`Add remote storage`,compact:!0,variant:`ghost`,size:`sm`,className:`px-2 border-0 border-l border-muted-background rounded-none focus-visible:ring-0 focus-visible:ring-offset-0`}),e[38]=B,e[39]=V):(B=e[38],V=e[39]);let H;e[40]!==R||e[41]!==z?(H=(0,$.jsxs)(`div`,{className:`flex items-center w-full border-b`,children:[R,z,B,V]}),e[40]=R,e[41]=z,e[42]=H):H=e[42];let U;if(e[43]!==A||e[44]!==i||e[45]!==t||e[46]!==w||e[47]!==a){let n;e[49]!==A||e[50]!==i||e[51]!==w||e[52]!==a?(n=e=>{let t=e.name??e.displayName;return(0,$.jsx)(tn,{namespace:e,locale:i,searchValue:a,remoteSearch:w(t),onContinueRemoteSearch:()=>void A(e),onOpenFile:p},t)},e[49]=A,e[50]=i,e[51]=w,e[52]=a,e[53]=n):n=e[53],U=t.map(n),e[43]=A,e[44]=i,e[45]=t,e[46]=w,e[47]=a,e[48]=U}else U=e[48];let W;e[54]===U?W=e[55]:(W=(0,$.jsx)(y,{className:`flex flex-col`,children:U}),e[54]=U,e[55]=W);let G;e[56]!==I||e[57]!==H||e[58]!==W?(G=(0,$.jsxs)(S,{className:I,shouldFilter:!1,children:[H,W]}),e[56]=I,e[57]=H,e[58]=W,e[59]=G):G=e[59];let K;return e[60]!==G||e[61]!==P?(K=(0,$.jsxs)(`div`,{className:`h-full flex flex-col`,children:[P,G]}),e[60]=G,e[61]=P,e[62]=K):K=e[62],K};function rn(e){return e.stopPropagation()}function an(e){return e.stopPropagation()}function on(e){return e.preventDefault()}var sn=(0,Z.createContext)(null);function cn(){return(0,Z.useContext)(sn)??void 0}var ln=e=>{let t=(0,Q.c)(3),{children:n}=e,r=Ae(),i;return t[0]!==n||t[1]!==r?(i=(0,$.jsx)(sn.Provider,{value:r,children:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},un=e=>{let t=(0,Q.c)(5),{children:n}=e,[r,i]=(0,Z.useState)(null),a;t[0]!==n||t[1]!==r?(a=r&&(0,$.jsx)(je,{backend:Le,options:{rootElement:r},children:(0,$.jsx)(ln,{children:n})}),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;return t[3]===a?o=t[4]:(o=(0,$.jsx)(`div`,{ref:i,className:`contents`,children:a}),t[3]=a,t[4]=o),o};async function dn(e,t){if(!k()){let n=A().formatNavigableHttpURL(`api/files/download`,new URLSearchParams({path:e}));te(n.toString(),t);return}let n=await ie().sendFileDetails({path:e});if(n.isBase64&&n.contents){let e=Xe(pe(n.contents,n.mimeType||`application/octet-stream`));ee(e,t)}else ee(new Blob([n.contents||``],{type:n.mimeType||`application/octet-stream`}),t)}var fn=e=>{let t=(0,Q.c)(21),{file:n,mimeType:r,message:i,onDownload:a}=e,{locale:o}=Ke(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Path`}),t[0]=s):s=t[0];let c;t[1]===n.path?c=t[2]:(c=(0,$.jsx)(`span`,{className:`font-mono text-xs break-all`,children:n.path}),t[1]=n.path,t[2]=c);let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Type`}),t[3]=l):l=t[3];let u;t[4]===r?u=t[5]:(u=(0,$.jsx)(`span`,{children:r}),t[4]=r,t[5]=u);let d;t[6]!==n.size||t[7]!==o?(d=n.size!=null&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-muted-foreground font-medium`,children:`Size`}),(0,$.jsx)(`span`,{children:st(n.size,o)})]}),t[6]=n.size,t[7]=o,t[8]=d):d=t[8];let f;t[9]!==c||t[10]!==u||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-2`,children:[s,c,l,u,d]}),t[9]=c,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;t[13]===i?p=t[14]:(p=(0,$.jsx)(`div`,{className:`mt-4 text-muted-foreground italic`,children:i}),t[13]=i,t[14]=p);let m;t[15]===a?m=t[16]:(m=a&&(0,$.jsxs)(J,{variant:`outline`,size:`sm`,className:`mt-4`,onClick:a,children:[(0,$.jsx)(B,{className:`h-3.5 w-3.5 mr-2`}),`Download`]}),t[15]=a,t[16]=m);let h;return t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,$.jsxs)(`div`,{className:`p-4 text-sm`,children:[f,p,m]}),t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20],h};function pn(e,t){let n=e||`text/plain`;return G(n)?`media`:t?`unsupported`:n===`text/csv`?`csv`:n.startsWith(`text/`)||n!=="default"&&n in V||e==null?`text`:`unsupported`}var mn=10485760,hn=new Map,gn=({file:e,onOpenNotebook:t})=>{let{sendFileDetails:n,sendUpdateFile:i}=re(),a=r(T),o=r(E),s=r(C),[c,l]=(0,Z.useState)(``),{data:u,isPending:d,error:f,setData:p,refetch:m}=qe(async()=>{let t=await n({path:e.path,maxBytes:mn}),r=pn(t.mimeType,t.isBase64);if(!t.isTooLarge&&r===`text`){let n=t.contents||``;l(hn.get(e.path)??n)}return t},[e.path]),h=async()=>{c!==u?.contents&&await i({path:e.path,contents:c}).then(e=>{e.success&&(p(e=>({...e,contents:c})),l(c))})},g=(0,Z.useRef)(c);if(g.current=c,(0,Z.useEffect)(()=>()=>{if(u?.contents==null||u.isTooLarge||pn(u.mimeType,u.isBase64)!==`text`)return;let t=g.current;t===u.contents?hn.delete(e.path):hn.set(e.path,t)},[e.path,u?.contents,u?.isTooLarge,u?.mimeType,u?.isBase64]),f)return(0,$.jsx)(et,{error:f});if(d||!u)return null;let _=u.mimeType||`text/plain`,v=pn(u.mimeType,u.isBase64),y=v===`text`,b=v===`csv`,x=v===`media`,S=s&&u.file.isMarimoFile&&(e.path===s||e.path.endsWith(`/${s}`)),w=async()=>{await dn(e.path,u.file.name)},D=ne.of([{key:a.getHotkey(`global.save`).key,stopPropagation:!0,run:()=>c!==u.contents&&(h(),!0)}]),O=(0,$.jsx)(Dt,{filename:u.file.name,onRefresh:m,onDownload:o?void 0:w,actions:(0,$.jsxs)($.Fragment,{children:[e.isMarimoFile&&!k()&&(0,$.jsx)(q,{content:`Open notebook`,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:e=>t(e),children:(0,$.jsx)(ge,{className:`h-3.5 w-3.5`})})}),y&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(q,{content:`Copy contents to clipboard`,children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:async()=>{await Je(c)},children:(0,$.jsx)(he,{className:`h-3.5 w-3.5`})})}),(0,$.jsx)(q,{content:tt(`global.save`),children:(0,$.jsx)(J,{variant:`text`,size:`xs`,onClick:h,disabled:c===u.contents,children:(0,$.jsx)(ze,{className:`h-3.5 w-3.5`})})})]})]})});if(u.isTooLarge||v===`unsupported`)return(0,$.jsxs)($.Fragment,{children:[O,(0,$.jsx)(fn,{file:u.file,mimeType:_,message:u.isTooLarge?`File is too large to preview.`:`This file type cannot be previewed.`,onDownload:o?void 0:w})]});let A=y&&S&&(0,$.jsxs)($e,{variant:`warning`,className:`rounded-none`,children:[(0,$.jsx)(Be,{className:`h-4 w-4`}),(0,$.jsx)(Qe,{children:`Editing the notebook file directly while running in marimo's editor may cause unintended changes. Please use with caution.`})]}),j=x&&u.contents?W({contents:u.contents,mimeType:_,isBase64:u.isBase64??!1}):void 0;return(0,$.jsxs)($.Fragment,{children:[O,A,(0,$.jsx)(U,{mimeType:_,filename:u.file.name,contents:y?c:b?u.contents??void 0:void 0,mediaSource:j,readOnly:!y,onChange:y?l:void 0,extensions:y?[D]:[]})]})},_n=n(e=>{let t=e(Y);return O(t,`no requestClientAtom set`),new ke({listFiles:t.sendListFiles,createFileOrFolder:t.sendCreateFileOrFolder,deleteFileOrFolder:t.sendDeleteFileOrFolder,copyFileOrFolder:t.sendCopyFileOrFolder,renameFileOrFolder:t.sendRenameFileOrFolder})}),vn=n({}),yn=` `,bn={directory:e=>`os.listdir("${e}")`,python:e=>`with open("${e}", "r") as _f:\n${yn}...\n`,json:e=>`with open("${e}", "r") as _f:\n${yn}_data = json.load(_f)\n`,code:e=>`with open("${e}", "r") as _f:\n${yn}...\n`,text:e=>`with open("${e}", "r") as _f:\n${yn}...\n`,image:e=>`mo.image("${e}")`,audio:e=>`mo.audio("${e}")`,video:e=>`mo.video("${e}")`,pdf:e=>`with open("${e}", "rb") as _f:\n${yn}...\n`,zip:e=>`with open("${e}", "rb") as _f:\n${yn}...\n`,data:e=>`with open("${e}", "r") as _f:\n${yn}...\n`,unknown:e=>`with open("${e}", "r") as _f:\n${yn}...\n`},xn=104857600,Sn=5,Cn=`data-file-explorer-directory-path`;function wn(e){let{destinationPath:t,getDestinationLabel:n=e=>e,onUploadStart:r,refreshDestination:i,...a}=e,{sendCreateFileOrFolder:o}=re();return He({multiple:!0,maxSize:xn,...a,onError:e=>{D.error(e),Ue({title:`File upload failed`,description:e.message,variant:`danger`})},onDropRejected:e=>{Ue({title:`File upload failed`,description:(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,$.jsxs)(`div`,{children:[e.file.name,` (`,e.errors.map(e=>e.message).join(`, `),`)`]},e.file.name))}),variant:`danger`})},onDrop:async(e,a,s)=>{if(e.length===0)return;let c=typeof t==`function`?t(s):t,l=n(c),u=e.length===1?`Uploading file to ${l}...`:`Uploading files to ${l}...`;r?.(c,e);let d;try{d=await K(u,async t=>(t.addTotal(e.length),Tn({files:e,destinationPath:c,createFile:o,onFileProcessed:()=>t.increment(1)})))}catch{await i(c);return}await i(c),On(d,l)}})}async function Tn({files:e,destinationPath:t,createFile:n,onFileProcessed:r}){let i=await at(e,Sn,async e=>{try{return{file:e,response:await n({path:En({destinationPath:t,filePath:An(kn(e))}),type:`file`,name:e.name,file:e})}}catch(t){return{file:e,response:{success:!1,message:Ze(t)}}}finally{r?.()}});return{successful:i.filter(({response:e})=>e.success),failed:i.filter(({response:e})=>!e.success)}}function En({destinationPath:e,filePath:t}){if(!t)return e;if(We.isAbsolute(t))throw Error(`Upload path must be relative: ${t}`);let n=t.split(/[\\/]+/).slice(0,-1).filter(Boolean);if(n.includes(`..`))throw Error(`Upload path cannot contain parent traversal: ${t}`);let r=n.filter(e=>e!==`.`);if(r.length===0)return e;let i=Ge.guessDeliminator(e),a=r.join(i.deliminator);return i.join(e,a)}function Dn(e,t){return e instanceof Element&&e.closest(`[${Cn}]`)?.getAttribute(Cn)||t}function On(e,t){let n=e.successful.length+e.failed.length;if(e.failed.length>0){let r;r=e.successful.length===0?n===1?`File upload failed`:`Files failed to upload`:`${e.successful.length} of ${n} files uploaded`,Ue({title:r,description:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{children:[`Destination: `,t,`.`]}),e.failed.map(({file:e,response:t},n)=>(0,$.jsxs)(`div`,{children:[e.name,`:`,` `,t.message||`The server rejected the upload.`]},`${e.name}-${n}`))]}),variant:`danger`});return}let r=e.successful.filter(({file:e,response:t})=>t.info?.name&&t.info.name!==e.name);Ue({title:n===1?`File uploaded`:`${n} files uploaded`,description:r.length===0?`Uploaded to ${t}.`:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{children:[`Uploaded to `,t,`.`]}),r.map(({file:e,response:t},n)=>(0,$.jsxs)(`div`,{children:[e.name,` was saved as `,t.info?.name,`.`]},`${e.name}-${n}`))]})})}function kn(e){if(e.webkitRelativePath)return e.webkitRelativePath;if(`path`in e&&typeof e.path==`string`)return e.path;if(`relativePath`in e&&typeof e.relativePath==`string`)return e.relativePath}function An(e){if(e)return e.replace(/^\/+/,``)}var jn=c(`marimo:showHiddenFiles`,!0,_,{getOnInit:!0}),Mn=Z.createContext(null),Nn=e=>{let n=(0,Q.c)(107),{height:r,externalDropDestinationPath:a}=e,o=a===void 0?null:a,s=(0,Z.useRef)(null),c=cn(),[l]=t(_n),u;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],n[0]=u):u=n[0];let[d,f]=(0,Z.useState)(u),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),[_,v]=t(jn),[y,b]=t(vn),x;n[1]===l?x=n[2]:(x=e=>l.refreshPath(e),n[1]=l,n[2]=x);let S=i(x),C=(0,Z.useRef)(``),w;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>C.current,n[3]=w):w=n[3];let T;n[4]===l?T=n[5]:(T=e=>Bn(l,e),n[4]=l,n[5]=T);let E;n[6]!==S||n[7]!==T?(E={noClick:!0,noDrag:!0,noKeyboard:!0,destinationPath:w,getDestinationLabel:T,refreshDestination:S},n[6]=S,n[7]=T,n[8]=E):E=n[8];let{getInputProps:D,open:O}=wn(E),k;n[9]===O?k=n[10]:(k=e=>{C.current=e,O()},n[9]=O,n[10]=k);let A=i(k),{openPrompt:j}=Te(),M;n[11]===l?M=n[12]:(M=()=>l.initialize(f),n[11]=l,n[12]=M);let N;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(N=[],n[13]=N):N=n[13];let{isPending:P,error:F}=qe(M,N),I;n[14]!==y||n[15]!==l?(I=()=>l.refreshAll(Object.keys(y).filter(e=>y[e])),n[14]=y,n[15]=l,n[16]=I):I=n[16];let L=i(I),R;n[17]!==v||n[18]!==_?(R=()=>{v(!_)},n[17]=v,n[18]=_,n[19]=R):R=n[19];let z=i(R),B;n[20]!==j||n[21]!==l?(B=async()=>{j({title:`Folder name`,onConfirm:async e=>{l.createFolder(e,null)}})},n[20]=j,n[21]=l,n[22]=B):B=n[22];let V=i(B),H;n[23]!==j||n[24]!==l?(H=async()=>{j({title:`File name`,onConfirm:async e=>{l.createFile({name:e,parentId:null})}})},n[23]=j,n[24]=l,n[25]=H):H=n[25];let U=i(H),W;n[26]!==j||n[27]!==l?(W=async()=>{j({title:`Notebook name`,onConfirm:async e=>{l.createFile({name:e,parentId:null,type:`notebook`})}})},n[26]=j,n[27]=l,n[28]=W):W=n[28];let G=i(W),K;n[29]===b?K=n[30]:(K=()=>{s.current?.closeAll(),b({})},n[29]=b,n[30]=K);let ee=i(K),te;n[31]!==d||n[32]!==_?(te=Vn(d,_),n[31]=d,n[32]=_,n[33]=te):te=n[33];let q=te,ne,Y;n[34]!==h||n[35]!==q?(ne=()=>{h&&!Un(q,h)&&g(null)},Y=[h,q],n[34]=h,n[35]=q,n[36]=ne,n[37]=Y):(ne=n[36],Y=n[37]),Z.useEffect(ne,Y);let re;n[38]!==o||n[39]!==A||n[40]!==l?(re={tree:l,uploadFiles:A,externalDropDestinationPath:o},n[38]=o,n[39]=A,n[40]=l,n[41]=re):re=n[41];let ie=re;if(P){let e;return n[42]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(De,{size:`medium`,centered:!0}),n[42]=e):e=n[42],e}if(F){let e;return n[43]===F?e=n[44]:(e=(0,$.jsx)(et,{error:F}),n[43]=F,n[44]=e),e}if(p){let e;n[45]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>m(null),n[45]=e):e=n[45];let t;n[46]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(J,{onClick:e,"data-testid":`file-explorer-back-button`,variant:`text`,size:`xs`,className:`mb-0`,children:(0,$.jsx)(ae,{size:16})}),n[46]=t):t=n[46];let r;n[47]===p.name?r=n[48]:(r=(0,$.jsxs)(`div`,{className:`flex items-center pl-1 pr-3 shrink-0 border-b justify-between`,children:[t,(0,$.jsx)(`span`,{className:`font-bold`,children:p.name})]}),n[47]=p.name,n[48]=r);let i;n[49]!==p.path||n[50]!==l?(i=e=>zn(e,l.relativeFromRoot(p.path)),n[49]=p.path,n[50]=l,n[51]=i):i=n[51];let a;n[52]!==p||n[53]!==i?(a=(0,$.jsx)(Z.Suspense,{children:(0,$.jsx)(gn,{onOpenNotebook:i,file:p})}),n[52]=p,n[53]=i,n[54]=a):a=n[54];let o;return n[55]!==r||n[56]!==a?(o=(0,$.jsxs)($.Fragment,{children:[r,a]}),n[55]=r,n[56]=a,n[57]=o):o=n[57],o}let X;n[58]===D?X=n[59]:(X=D(),n[58]=D,n[59]=X);let oe;n[60]===X?oe=n[61]:(oe=(0,$.jsx)(`input`,{"data-testid":`file-explorer-upload-input`,...X}),n[60]=X,n[61]=oe);let se;n[62]!==h||n[63]!==l?(se=h??l.getRootPath(),n[62]=h,n[63]=l,n[64]=se):se=n[64];let ce;n[65]!==h||n[66]!==l?(ce=h??l.getRootPath(),n[65]=h,n[66]=l,n[67]=ce):ce=n[67];let le;n[68]!==ce||n[69]!==l?(le=Bn(l,ce),n[68]=ce,n[69]=l,n[70]=le):le=n[70];let ue;n[71]!==ee||n[72]!==U||n[73]!==V||n[74]!==G||n[75]!==z||n[76]!==L||n[77]!==A||n[78]!==_||n[79]!==se||n[80]!==le?(ue=(0,$.jsx)(Fn,{onRefresh:L,onHidden:z,showHiddenFiles:_,onCreateFile:U,onCreateNotebook:G,onCreateFolder:V,onCollapseAll:ee,uploadDestinationPath:se,uploadDestinationLabel:le,onUpload:A}),n[71]=ee,n[72]=U,n[73]=V,n[74]=G,n[75]=z,n[76]=L,n[77]=A,n[78]=_,n[79]=se,n[80]=le,n[81]=ue):ue=n[81];let de=r-33,fe,pe,me;n[82]===l?(fe=n[83],pe=n[84],me=n[85]):(fe=async e=>{let{ids:t}=e;for(let e of t)await l.delete(e)},pe=async e=>{let{id:t,name:n}=e;await l.rename(t,n)},me=async e=>{let{dragIds:t,parentId:n}=e;await l.move(t,n)},n[82]=l,n[83]=fe,n[84]=pe,n[85]=me);let he;n[86]===Symbol.for(`react.memo_cache_sentinel`)?(he=e=>{let t=e[0];if(!t){g(null);return}if(t.data.isDirectory){g(t.data.path);return}g(null),m(t.data)},n[86]=he):he=n[86];let ge;n[87]!==y||n[88]!==b||n[89]!==l?(ge=async e=>{if(await l.expand(e)){let t=y[e]??!1;b({...y,[e]:!t})}},n[87]=y,n[88]=b,n[89]=l,n[90]=ge):ge=n[90];let _e;n[91]!==c||n[92]!==y||n[93]!==de||n[94]!==fe||n[95]!==pe||n[96]!==me||n[97]!==ge||n[98]!==q?(_e=(0,$.jsx)(Ne,{width:`100%`,ref:s,height:de,className:`h-full`,data:q,initialOpenState:y,openByDefault:!1,dndManager:c,renderCursor:Wn,disableDrop:Gn,onDelete:fe,onRename:pe,onMove:me,onSelect:he,onToggle:ge,padding:15,rowHeight:30,indent:Pn,overscanCount:1e3,disableMultiSelection:!0,children:Ln}),n[91]=c,n[92]=y,n[93]=de,n[94]=fe,n[95]=pe,n[96]=me,n[97]=ge,n[98]=q,n[99]=_e):_e=n[99];let ve;n[100]!==ie||n[101]!==_e?(ve=(0,$.jsx)(Mn,{value:ie,children:_e}),n[100]=ie,n[101]=_e,n[102]=ve):ve=n[102];let ye;return n[103]!==oe||n[104]!==ue||n[105]!==ve?(ye=(0,$.jsxs)($.Fragment,{children:[oe,ue,ve]}),n[103]=oe,n[104]=ue,n[105]=ve,n[106]=ye):ye=n[106],ye},Pn=15,Fn=e=>{let t=(0,Q.c)(35),{onRefresh:n,onHidden:r,showHiddenFiles:i,onCreateFile:a,onCreateNotebook:o,onCreateFolder:s,onCollapseAll:c,uploadDestinationPath:l,uploadDestinationLabel:u,onUpload:d}=e,f=`Upload files to ${u}`,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(ht,{size:16}),t[0]=p):p=t[0];let m;t[1]===o?m=t[2]:(m=(0,$.jsx)(q,{content:`Add notebook`,children:(0,$.jsx)(J,{"data-testid":`file-explorer-add-notebook-button`,onClick:o,variant:`text`,size:`xs`,children:p})}),t[1]=o,t[2]=m);let h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(xt,{size:16}),t[3]=h):h=t[3];let g;t[4]===a?g=t[5]:(g=(0,$.jsx)(q,{content:`Add file`,children:(0,$.jsx)(J,{"data-testid":`file-explorer-add-file-button`,onClick:a,variant:`text`,size:`xs`,children:h})}),t[4]=a,t[5]=g);let _;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(Ct,{size:16}),t[6]=_):_=t[6];let v;t[7]===s?v=t[8]:(v=(0,$.jsx)(q,{content:`Add folder`,children:(0,$.jsx)(J,{"data-testid":`file-explorer-add-folder-button`,onClick:s,variant:`text`,size:`xs`,children:_})}),t[7]=s,t[8]=v);let y;t[9]!==d||t[10]!==l?(y=()=>d(l),t[9]=d,t[10]=l,t[11]=y):y=t[11];let b;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Ve,{size:16}),t[12]=b):b=t[12];let x;t[13]!==y||t[14]!==f?(x=(0,$.jsx)(J,{"data-testid":`file-explorer-upload-button`,"aria-label":f,onClick:y,variant:`text`,size:`xs`,children:b}),t[13]=y,t[14]=f,t[15]=x):x=t[15];let S;t[16]!==x||t[17]!==f?(S=(0,$.jsx)(q,{content:f,children:x}),t[16]=x,t[17]=f,t[18]=S):S=t[18];let C;t[19]===n?C=t[20]:(C=(0,$.jsx)(de,{"data-testid":`file-explorer-refresh-button`,onClick:n}),t[19]=n,t[20]=C);let w;t[21]!==r||t[22]!==i?(w=(0,$.jsx)(ce,{"data-testid":`file-explorer-hidden-files-button`,isVisible:i,onToggle:r,showTooltip:`Show hidden files`,hideTooltip:`Hide hidden files`}),t[21]=r,t[22]=i,t[23]=w):w=t[23];let T;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(bt,{size:16}),t[24]=T):T=t[24];let E;t[25]===c?E=t[26]:(E=(0,$.jsx)(q,{content:`Collapse all folders`,children:(0,$.jsx)(J,{"data-testid":`file-explorer-collapse-button`,onClick:c,variant:`text`,size:`xs`,children:T})}),t[25]=c,t[26]=E);let D;return t[27]!==S||t[28]!==C||t[29]!==w||t[30]!==E||t[31]!==m||t[32]!==g||t[33]!==v?(D=(0,$.jsxs)(`div`,{className:`flex items-center justify-end px-2 shrink-0 border-b`,children:[m,g,v,S,C,w,E]}),t[27]=S,t[28]=C,t[29]=w,t[30]=E,t[31]=m,t[32]=g,t[33]=v,t[34]=D):D=t[34],D},In=e=>{let t=(0,Q.c)(9),{node:n,onOpenMarimoFile:r}=e,i;t[0]===n?i=t[1]:(i=e=>{n.data.isDirectory||(e.stopPropagation(),n.select())},t[0]=n,t[1]=i);let a;t[2]!==n.data.isMarimoFile||t[3]!==r?(a=n.data.isMarimoFile&&!k()&&(0,$.jsxs)(`span`,{"data-testid":`file-explorer-open-marimo-button`,className:`shrink-0 ml-2 text-sm hidden group-hover:inline hover:underline`,onClick:r,children:[`open `,(0,$.jsx)(ge,{className:`inline ml-1`,size:12})]}),t[2]=n.data.isMarimoFile,t[3]=r,t[4]=a):a=t[4];let o;return t[5]!==n.data.name||t[6]!==i||t[7]!==a?(o=(0,$.jsxs)(`span`,{className:`flex-1 overflow-hidden text-ellipsis`,onClick:i,children:[n.data.name,a]}),t[5]=n.data.name,t[6]=i,t[7]=a,t[8]=o):o=t[8],o},Ln=e=>{let t=(0,Q.c)(123),{node:n,style:a,dragHandle:o}=e,{openFile:s}=re(),c=r(E),u;t[0]!==n.data.isDirectory||t[1]!==n.data.name?(u=n.data.isDirectory?`directory`:be(n.data.name),t[0]=n.data.isDirectory,t[1]=n.data.name,t[2]=u):u=t[2];let d=u,f=xe[d],{openConfirm:p,openPrompt:m}=Te(),{createNewCell:h}=l(),_=g(),v;t[3]!==h||t[4]!==_?(v=e=>{h({code:e,before:!1,cellId:_??`__end__`})},t[3]=h,t[4]=_,t[5]=v):v=t[5];let y=v,b=(0,Z.use)(Mn),S=b?.tree,C=n.data.isDirectory&&b?.externalDropDestinationPath===n.data.path,w;t[6]!==n.data.path||t[7]!==S?(w=async e=>{zn(e,S?S.relativeFromRoot(n.data.path):n.data.path)},t[6]=n.data.path,t[7]=S,t[8]=w):w=t[8];let T=w,D;t[9]!==n.data.name||t[10]!==n.id||t[11]!==n.tree||t[12]!==p?(D=async e=>{e.stopPropagation(),e.preventDefault(),p({title:`Delete file`,description:`Are you sure you want to delete ${n.data.name}?`,confirmAction:(0,$.jsx)(P,{onClick:async()=>{await n.tree.delete(n.id)},"aria-label":`Confirm`,children:`Delete`})})},t[9]=n.data.name,t[10]=n.id,t[11]=n.tree,t[12]=p,t[13]=D):D=t[13];let O=D,A;t[14]!==n||t[15]!==m||t[16]!==S?(A=async()=>{n.open(),m({title:`Folder name`,onConfirm:async e=>{S?.createFolder(e,n.id)}})},t[14]=n,t[15]=m,t[16]=S,t[17]=A):A=t[17];let M=i(A),N;t[18]!==n||t[19]!==m||t[20]!==S?(N=async()=>{n.open(),m({title:`File name`,onConfirm:async e=>{S?.createFile({name:e,parentId:n.id})}})},t[18]=n,t[19]=m,t[20]=S,t[21]=N):N=t[21];let L=i(N),R;t[22]!==n||t[23]!==m||t[24]!==S?(R=async()=>{n.open(),m({title:`Notebook name`,onConfirm:async e=>{S?.createFile({name:e,parentId:n.id,type:`notebook`})}})},t[22]=n,t[23]=m,t[24]=S,t[25]=R):R=t[25];let z=i(R),V;t[26]!==n.data.name||t[27]!==n.id||t[28]!==S?(V=async()=>{S&&await S.copy(n.id,it(n.data.name))},t[26]=n.data.name,t[27]=n.id,t[28]=S,t[29]=V):V=t[29];let H=i(V),U;t[30]!==n.data.isDirectory||t[31]!==n.data.path?(U=n.data.isDirectory?{[Cn]:n.data.path}:{},t[30]=n.data.isDirectory,t[31]=n.data.path,t[32]=U):U=t[32];let W;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(W=j(`flex items-center cursor-pointer ml-1 text-muted-foreground whitespace-nowrap group`),t[33]=W):W=t[33];let G,K;t[34]===n?(G=t[35],K=t[36]):(G=e=>{e.stopPropagation(),n.data.isDirectory&&(n.select(),n.toggle())},K=(0,$.jsx)(Rn,{node:n}),t[34]=n,t[35]=G,t[36]=K);let ee=n.willReceiveDrop&&n.data.isDirectory&&`bg-accent/80 hover:bg-accent/80 text-accent-foreground`,te=n.isSelected&&`bg-accent/60 hover:bg-accent/60 text-accent-foreground`,q=C&&`bg-primary/15 hover:bg-primary/15 text-accent-foreground ring-1 ring-inset ring-primary`,J;t[37]!==ee||t[38]!==te||t[39]!==q?(J=j(`flex items-center pl-1 py-1 cursor-pointer hover:bg-accent/50 hover:text-accent-foreground rounded-l flex-1 overflow-hidden group`,ee,te,q),t[37]=ee,t[38]=te,t[39]=q,t[40]=J):J=t[40];let ne;t[41]!==f||t[42]!==d||t[43]!==n.data.isMarimoFile?(ne=n.data.isMarimoFile?(0,$.jsx)(gt,{className:`w-5 h-5 shrink-0 mr-2`,strokeWidth:1.5}):(0,$.jsx)(f,{className:j(`w-5 h-5 shrink-0 mr-2`,ye[d]),strokeWidth:1.5}),t[41]=f,t[42]=d,t[43]=n.data.isMarimoFile,t[44]=ne):ne=t[44];let Y;t[45]!==T||t[46]!==n?(Y=n.isEditing?(0,$.jsx)(Ie,{node:n}):(0,$.jsx)(In,{node:n,onOpenMarimoFile:T}),t[45]=T,t[46]=n,t[47]=Y):Y=t[47];let ie;t[48]===n?ie=t[49]:(ie=!n.data.isDirectory&&(0,$.jsxs)(F,{onSelect:()=>n.select(),"data-testid":`file-explorer-open-file-menu-item`,children:[(0,$.jsx)(Et,{className:`h-3.5 w-3.5 mr-2`}),`Open file`]}),t[48]=n,t[49]=ie);let X;t[50]!==n.data.isDirectory||t[51]!==n.data.path||t[52]!==s?(X=!n.data.isDirectory&&!k()&&(0,$.jsxs)(F,{onSelect:()=>{s({path:n.data.path})},"data-testid":`file-explorer-open-external-menu-item`,children:[(0,$.jsx)(ge,{className:`h-3.5 w-3.5 mr-2`}),`Open file in external editor`]}),t[50]=n.data.isDirectory,t[51]=n.data.path,t[52]=s,t[53]=X):X=t[53];let ae;t[54]!==b||t[55]!==L||t[56]!==M||t[57]!==z||t[58]!==n.data.isDirectory||t[59]!==n.data.path?(ae=n.data.isDirectory&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(F,{onSelect:()=>z(),"data-testid":`file-explorer-create-notebook-menu-item`,children:[(0,$.jsx)(ht,{className:`h-3.5 w-3.5 mr-2`}),`Create notebook`]}),(0,$.jsxs)(F,{onSelect:()=>L(),"data-testid":`file-explorer-create-file-menu-item`,children:[(0,$.jsx)(xt,{className:`h-3.5 w-3.5 mr-2`}),`Create file`]}),(0,$.jsxs)(F,{onSelect:()=>M(),"data-testid":`file-explorer-create-folder-menu-item`,children:[(0,$.jsx)(Ct,{className:`h-3.5 w-3.5 mr-2`}),`Create folder`]}),(0,$.jsxs)(F,{onSelect:()=>b?.uploadFiles(n.data.path),"data-testid":`file-explorer-upload-files-menu-item`,children:[(0,$.jsx)(Ve,{className:`h-3.5 w-3.5 mr-2`}),`Upload files here`]}),(0,$.jsx)(I,{})]}),t[54]=b,t[55]=L,t[56]=M,t[57]=z,t[58]=n.data.isDirectory,t[59]=n.data.path,t[60]=ae):ae=t[60];let se;t[61]===n?se=t[62]:(se=(0,$.jsx)(Oe,{onSelect:()=>n.edit(),testId:`file-explorer-rename-menu-item`}),t[61]=n,t[62]=se);let ce;t[63]===H?ce=t[64]:(ce=(0,$.jsx)(Fe,{onSelect:H,testId:`file-explorer-duplicate-menu-item`}),t[63]=H,t[64]=ce);let le;t[65]===n.data.path?le=t[66]:(le=async()=>{await Je(n.data.path),Ue({title:`Copied to clipboard`})},t[65]=n.data.path,t[66]=le);let ue;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(wt,{className:fe}),t[67]=ue):ue=t[67];let de;t[68]===le?de=t[69]:(de=(0,$.jsxs)(F,{onSelect:le,"data-testid":`file-explorer-copy-path-menu-item`,children:[ue,`Copy path`]}),t[68]=le,t[69]=de);let pe;t[70]!==n.data.path||t[71]!==S?(pe=S&&(0,$.jsxs)(F,{onSelect:async()=>{await Je(S.relativeFromRoot(n.data.path)),Ue({title:`Copied to clipboard`})},"data-testid":`file-explorer-copy-relative-path-menu-item`,children:[(0,$.jsx)(wt,{className:`h-3.5 w-3.5 mr-2`}),`Copy relative path`]}),t[70]=n.data.path,t[71]=S,t[72]=pe):pe=t[72];let me;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(I,{}),t[73]=me):me=t[73];let he;t[74]!==d||t[75]!==y||t[76]!==n.data?(he=()=>{let{path:e}=n.data,t=bn[d](e);y(t)},t[74]=d,t[75]=y,t[76]=n.data,t[77]=he):he=t[77];let _e;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(oe,{className:fe}),t[78]=_e):_e=t[78];let ve;t[79]===he?ve=t[80]:(ve=(0,$.jsxs)(F,{onSelect:he,"data-testid":`file-explorer-insert-snippet-menu-item`,children:[_e,`Insert snippet for reading file`]}),t[79]=he,t[80]=ve);let Se;t[81]!==d||t[82]!==n.data?(Se=async()=>{Ue({title:`Copied to clipboard`,description:`Code to open the file has been copied to your clipboard. You can also drag and drop this file into the editor`});let{path:e}=n.data,t=bn[d](e);await Je(t)},t[81]=d,t[82]=n.data,t[83]=Se):Se=t[83];let Ce;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(x,{className:fe}),t[84]=Ce):Ce=t[84];let we;t[85]===Se?we=t[86]:(we=(0,$.jsxs)(F,{onSelect:Se,"data-testid":`file-explorer-copy-snippet-menu-item`,children:[Ce,`Copy snippet for reading file`]}),t[85]=Se,t[86]=we);let Ee;t[87]!==T||t[88]!==n.data.isMarimoFile?(Ee=n.data.isMarimoFile&&!k()&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(I,{}),(0,$.jsxs)(F,{onSelect:T,"data-testid":`file-explorer-open-notebook-menu-item`,children:[(0,$.jsx)(Tt,{className:`h-3.5 w-3.5 mr-2`}),`Open notebook`]})]}),t[87]=T,t[88]=n.data.isMarimoFile,t[89]=Ee):Ee=t[89];let De;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,$.jsx)(I,{}),t[90]=De):De=t[90];let ke;t[91]!==c||t[92]!==n.data.isDirectory||t[93]!==n.data.name||t[94]!==n.data.path?(ke=!n.data.isDirectory&&!c&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(F,{onSelect:async()=>{await dn(n.data.path,n.data.name)},"data-testid":`file-explorer-download-menu-item`,children:[(0,$.jsx)(B,{className:`h-3.5 w-3.5 mr-2`}),`Download`]}),(0,$.jsx)(I,{})]}),t[91]=c,t[92]=n.data.isDirectory,t[93]=n.data.name,t[94]=n.data.path,t[95]=ke):ke=t[95];let Ae;t[96]===O?Ae=t[97]:(Ae=(0,$.jsx)(Pe,{onSelect:O,testId:`file-explorer-delete-menu-item`}),t[96]=O,t[97]=Ae);let je;t[98]!==ie||t[99]!==X||t[100]!==ae||t[101]!==se||t[102]!==ce||t[103]!==de||t[104]!==pe||t[105]!==ve||t[106]!==we||t[107]!==Ee||t[108]!==ke||t[109]!==Ae?(je=(0,$.jsxs)(Me,{testId:`file-explorer-more-button`,iconClassName:`w-5 h-5`,children:[ie,X,ae,se,ce,de,pe,me,ve,we,Ee,De,ke,Ae]}),t[98]=ie,t[99]=X,t[100]=ae,t[101]=se,t[102]=ce,t[103]=de,t[104]=pe,t[105]=ve,t[106]=we,t[107]=Ee,t[108]=ke,t[109]=Ae,t[110]=je):je=t[110];let Ne;t[111]!==J||t[112]!==ne||t[113]!==Y||t[114]!==je?(Ne=(0,$.jsxs)(`span`,{className:J,children:[ne,Y,je]}),t[111]=J,t[112]=ne,t[113]=Y,t[114]=je,t[115]=Ne):Ne=t[115];let Le;return t[116]!==o||t[117]!==a||t[118]!==G||t[119]!==K||t[120]!==Ne||t[121]!==U?(Le=(0,$.jsxs)(`div`,{style:a,ref:o,...U,className:W,draggable:!0,onClick:G,children:[K,Ne]}),t[116]=o,t[117]=a,t[118]=G,t[119]=K,t[120]=Ne,t[121]=U,t[122]=Le):Le=t[122],Le},Rn=e=>{let t=(0,Q.c)(3),{node:n}=e;if(!n.data.isDirectory){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`w-4 h-4 shrink-0`}),t[0]=e):e=t[0],e}let r;return t[1]===n.isOpen?r=t[2]:(r=(0,$.jsx)(le,{isExpanded:n.isOpen,className:`w-4 h-4`}),t[1]=n.isOpen,t[2]=r),r};function zn(e,t){e.stopPropagation(),e.preventDefault(),_t(t)}function Bn(e,t){return t===e.getRootPath()?`workspace root`:e.relativeFromRoot(t)}function Vn(e,t){if(t)return e;let n=[];for(let r of e){if(Hn(r.name))continue;let e=r;if(r.children){let n=Vn(r.children,t);n!==r.children&&(e={...r,children:n})}n.push(e)}return n}function Hn(e){return!!e.startsWith(`.`)}function Un(e,t){return e.some(e=>e.path===t||(e.children?Un(e.children,t):!1))}function Wn(){return null}function Gn(e){let{parentNode:t}=e;return!t.data.isDirectory}var Kn=e=>{let t=(0,Q.c)(44),{height:n}=e,i=r(_n),[a,o]=(0,Z.useState)(null),s;t[0]===i?s=t[1]:(s=e=>qn(e,i.getRootPath()),t[0]=i,t[1]=s);let c=s,l;t[2]===i?l=t[3]:(l=e=>i.refreshPath(e),t[2]=i,t[3]=l);let u=l,d;t[4]===i?d=t[5]:(d=e=>Bn(i,e),t[4]=i,t[5]=d);let f,p;t[6]===c?(f=t[7],p=t[8]):(f=e=>o(c(e)),p=e=>o(c(e)),t[6]=c,t[7]=f,t[8]=p);let m,h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>o(null),h=()=>o(null),t[9]=m,t[10]=h):(m=t[9],h=t[10]);let g;t[11]!==c||t[12]!==u||t[13]!==d||t[14]!==f||t[15]!==p?(g={noClick:!0,noKeyboard:!0,destinationPath:c,getDestinationLabel:d,refreshDestination:u,onDragEnter:f,onDragOver:p,onDragLeave:m,onUploadStart:h},t[11]=c,t[12]=u,t[13]=d,t[14]=f,t[15]=p,t[16]=g):g=t[16];let{getRootProps:_,getInputProps:v,isDragActive:y}=wn(g),b;t[17]!==a||t[18]!==i?(b=a??i.getRootPath(),t[17]=a,t[18]=i,t[19]=b):b=t[19];let x=b,S;t[20]!==x||t[21]!==i?(S=Bn(i,x),t[20]=x,t[21]=i,t[22]=S):S=t[22];let C=S,w;t[23]===_?w=t[24]:(w=_(),t[23]=_,t[24]=w);let T;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(T=j(`flex flex-col overflow-hidden relative`),t[25]=T):T=t[25];let E;t[26]===n?E=t[27]:(E={height:n},t[26]=n,t[27]=E);let D;t[28]===v?D=t[29]:(D=v(),t[28]=v,t[29]=D);let O;t[30]===D?O=t[31]:(O=(0,$.jsx)(`input`,{...D}),t[30]=D,t[31]=O);let k;t[32]!==C||t[33]!==y?(k=y&&(0,$.jsx)(`div`,{className:`absolute inset-0 flex items-start justify-center pt-3 bg-accent/20 z-10 border-2 border-dashed border-primary/90 rounded-lg pointer-events-none`,children:(0,$.jsxs)(`span`,{className:`px-3 py-1.5 rounded-md bg-background/95 border shadow-sm text-sm font-semibold text-primary`,children:[`Drop files into `,C]})}),t[32]=C,t[33]=y,t[34]=k):k=t[34];let A=y?x:null,M;t[35]!==n||t[36]!==A?(M=(0,$.jsx)(Nn,{height:n,externalDropDestinationPath:A}),t[35]=n,t[36]=A,t[37]=M):M=t[37];let N;return t[38]!==w||t[39]!==E||t[40]!==O||t[41]!==k||t[42]!==M?(N=(0,$.jsx)(un,{children:(0,$.jsxs)(`div`,{...w,className:T,style:E,children:[O,k,M]})}),t[38]=w,t[39]=E,t[40]=O,t[41]=k,t[42]=M,t[43]=N):N=t[43],N};function qn(e,t){return Array.isArray(e)?t:Dn(e.target,t)}var Jn=()=>{let e=(0,Q.c)(40),{ref:n,height:i}=nt(),a=i===void 0?500:i,[o,s]=t(vt),c=r(d).length,l=h(`storage`),u;bb0:{if(!o.hasUserInteracted&&c>0){if(o.openSections.includes(`remote-storage`)){u=o.openSections;break bb0}let t;e[0]===o.openSections?t=e[1]:(t=[...o.openSections,`remote-storage`],e[0]=o.openSections,e[1]=t),u=t;break bb0}u=o.openSections}let f=u,p;e[2]===s?p=e[3]:(p=e=>{s({openSections:e,hasUserInteracted:!0})},e[2]=s,e[3]=p);let m=p,g=a-66,_;e[4]===f?_=e[5]:(_=f.includes(`remote-storage`),e[4]=f,e[5]=_);let v=_,y=l.length>0,b;e[6]!==f||e[7]!==v?(b=v&&f.includes(`files`),e[6]=f,e[7]=v,e[8]=b):b=e[8];let x=b,S;e[9]!==g||e[10]!==x?(S=x?Math.round(g*.4):g,e[9]=g,e[10]=x,e[11]=S):S=e[11];let C=S,w=Math.max(200,x?g-C:g),T;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(Ce,{className:`w-4 h-4`}),e[12]=T):T=e[12];let E;e[13]===c?E=e[14]:(E=c>0&&(0,$.jsx)(ct,{children:c}),e[13]=c,e[14]=E);let D;e[15]!==l.length||e[16]!==y?(D=y&&(0,$.jsx)(mt,{count:l.length,type:`storage`}),e[15]=l.length,e[16]=y,e[17]=D):D=e[17];let O;e[18]!==E||e[19]!==D?(O=(0,$.jsxs)(lt,{children:[T,` Remote storage`,E,D]}),e[18]=E,e[19]=D,e[20]=O):O=e[20];let k;e[21]===C?k=e[22]:(k={maxHeight:C},e[21]=C,e[22]=k);let A;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(nn,{}),e[23]=A):A=e[23];let j;e[24]===k?j=e[25]:(j=(0,$.jsx)(ut,{className:`overflow-auto`,style:k,children:A}),e[24]=k,e[25]=j);let M;e[26]!==j||e[27]!==O?(M=(0,$.jsxs)(ft,{value:`remote-storage`,children:[O,j]}),e[26]=j,e[27]=O,e[28]=M):M=e[28];let P;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsxs)(lt,{children:[(0,$.jsx)(Se,{className:`w-4 h-4`}),`Files`]}),e[29]=P):P=e[29];let F;e[30]===w?F=e[31]:(F=(0,$.jsxs)(ft,{value:`files`,children:[P,(0,$.jsx)(ut,{children:(0,$.jsx)(Kn,{height:w})})]}),e[30]=w,e[31]=F);let I;e[32]!==m||e[33]!==f||e[34]!==M||e[35]!==F?(I=(0,$.jsxs)(N,{type:`multiple`,value:f,onValueChange:m,children:[M,F]}),e[32]=m,e[33]=f,e[34]=M,e[35]=F,e[36]=I):I=e[36];let L;return e[37]!==n||e[38]!==I?(L=(0,$.jsx)(`div`,{ref:n,className:`h-full overflow-auto`,children:I}),e[37]=n,e[38]=I,e[39]=L):L=e[39],L};export{Jn as default,qn as getUploadDestinationForEvent};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as e,r as t,t as n}from"./rolldown-runtime-B0Z9INg1.js";import{t as r}from"./useEvent-xfs0Sn4r.js";import{t as i}from"./react-CBDbhulC.js";import{t as a}from"./compiler-runtime-CYIjoINj.js";import{_ as o}from"./useEventListener-D27Dii_l.js";import{t as s}from"./jsx-runtime-B74pBk57.js";import{o as c}from"./alert-dialog-BVi_GyOB.js";import{a as l}from"./tabs-c6mpccpH.js";import{a as u,p as d,r as f,t as p}from"./dropdown-menu-CqNabM1f.js";import{r as m}from"./requests-C6_IaFh7.js";import{t as h}from"./createLucideIcon-B7HeEoG2.js";import{n as g,t as _}from"./tree-actions-Bh-Nnaub.js";import{t as v}from"./copy-BMXKNElG.js";import{b as y}from"./write-secret-modal-lNU_7c2x.js";import{t as b}from"./trash-2-D_HX-0qx.js";import{t as x}from"./use-toast-DpWHUGuF.js";import{t as ee}from"./paths-zcL04qUW.js";import{a as te}from"./errors-DzO-nXy-.js";import{t as ne}from"./extends-CvVTau-c.js";import{i as re,n as ie,r as S}from"./pathUtils-Cryrlpma.js";import{n as C}from"./semaphore-BjoL5P0h.js";var ae=h(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`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`}]]),w=e(i(),1),T=s(),oe=l();function se(e,t){return se=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},se(e,t)}function ce(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,se(e,t)}function le(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}var ue=n(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),de=(0,w.createContext)({dragDropManager:void 0});function E(e){return`Minified Redux error #`+e+`; visit https://redux.js.org/Errors?code=`+e+` for the full message or use the non-minified dev environment for full errors. `}var fe=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})(),pe=function(){return Math.random().toString(36).substring(7).split(``).join(`.`)},me={INIT:`@@redux/INIT`+pe(),REPLACE:`@@redux/REPLACE`+pe(),PROBE_UNKNOWN_ACTION:function(){return`@@redux/PROBE_UNKNOWN_ACTION`+pe()}};function he(e){if(typeof e!=`object`||!e)return!1;for(var t=e;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ge(e,t,n){var r;if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(E(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(E(1));return n(ge)(e,t)}if(typeof e!=`function`)throw Error(E(2));var i=e,a=t,o=[],s=o,c=!1;function l(){s===o&&(s=o.slice())}function u(){if(c)throw Error(E(3));return a}function d(e){if(typeof e!=`function`)throw Error(E(4));if(c)throw Error(E(5));var t=!0;return l(),s.push(e),function(){if(t){if(c)throw Error(E(6));t=!1,l();var n=s.indexOf(e);s.splice(n,1),o=null}}}function f(e){if(!he(e))throw Error(E(7));if(e.type===void 0)throw Error(E(8));if(c)throw Error(E(9));try{c=!0,a=i(a,e)}finally{c=!1}for(var t=o=s,n=0;n<t.length;n++){var r=t[n];r()}return e}function p(e){if(typeof e!=`function`)throw Error(E(10));i=e,f({type:me.REPLACE})}function m(){var e,t=d;return e={subscribe:function(e){if(typeof e!=`object`||!e)throw Error(E(11));function n(){e.next&&e.next(u())}return n(),{unsubscribe:t(n)}}},e[fe]=function(){return this},e}return f({type:me.INIT}),r={dispatch:f,subscribe:d,getState:u,replaceReducer:p},r[fe]=m,r}function D(e,t,...n){if(_e()&&t===void 0)throw Error(`invariant requires an error message argument`);if(!e){let e;if(t===void 0)e=Error(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{let r=0;e=Error(t.replace(/%s/g,function(){return n[r++]})),e.name=`Invariant Violation`}throw e.framesToPop=1,e}}function _e(){return typeof process<`u`&&!0}function ve(e,t,n){return t.split(`.`).reduce((e,t)=>e&&e[t]?e[t]:n||null,e)}function ye(e,t){return e.filter(e=>e!==t)}function be(e){return typeof e==`object`}function xe(e,t){let n=new Map,r=e=>{n.set(e,n.has(e)?n.get(e)+1:1)};e.forEach(r),t.forEach(r);let i=[];return n.forEach((e,t)=>{e===1&&i.push(t)}),i}function Se(e,t){return e.filter(e=>t.indexOf(e)>-1)}var Ce=`dnd-core/INIT_COORDS`,O=`dnd-core/BEGIN_DRAG`,we=`dnd-core/PUBLISH_DRAG_SOURCE`,k=`dnd-core/HOVER`,A=`dnd-core/DROP`,j=`dnd-core/END_DRAG`;function Te(e,t){return{type:Ce,payload:{sourceClientOffset:t||null,clientOffset:e||null}}}var Ee={type:Ce,payload:{clientOffset:null,sourceClientOffset:null}};function De(e){return function(t=[],n={publishSource:!0}){let{publishSource:r=!0,clientOffset:i,getSourceClientOffset:a}=n,o=e.getMonitor(),s=e.getRegistry();e.dispatch(Te(i)),Oe(t,o,s);let c=je(t,o);if(c==null){e.dispatch(Ee);return}let l=null;if(i){if(!a)throw Error(`getSourceClientOffset must be defined`);ke(a),l=a(c)}e.dispatch(Te(i,l));let u=s.getSource(c).beginDrag(o,c);return u==null?void 0:(Ae(u),s.pinSource(c),{type:O,payload:{itemType:s.getSourceType(c),item:u,sourceId:c,clientOffset:i||null,sourceClientOffset:l||null,isSourcePublic:!!r}})}}function Oe(e,t,n){D(!t.isDragging(),`Cannot call beginDrag while dragging.`),e.forEach(function(e){D(n.getSource(e),`Expected sourceIds to be registered.`)})}function ke(e){D(typeof e==`function`,`When clientOffset is provided, getSourceClientOffset must be a function.`)}function Ae(e){D(be(e),`Item must be an object.`)}function je(e,t){let n=null;for(let r=e.length-1;r>=0;r--)if(t.canDragSource(e[r])){n=e[r];break}return n}function Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ne(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Me(e,t,n[t])})}return e}function Pe(e){return function(t={}){let n=e.getMonitor(),r=e.getRegistry();Fe(n),Re(n).forEach((i,a)=>{let o={type:A,payload:{dropResult:Ne({},t,Ie(i,a,r,n))}};e.dispatch(o)})}}function Fe(e){D(e.isDragging(),`Cannot call drop while not dragging.`),D(!e.didDrop(),`Cannot call drop twice during one drag operation.`)}function Ie(e,t,n,r){let i=n.getTarget(e),a=i?i.drop(r,e):void 0;return Le(a),a===void 0&&(a=t===0?{}:r.getDropResult()),a}function Le(e){D(e===void 0||be(e),`Drop result must either be an object or undefined.`)}function Re(e){let t=e.getTargetIds().filter(e.canDropOnTarget,e);return t.reverse(),t}function ze(e){return function(){let t=e.getMonitor(),n=e.getRegistry();Be(t);let r=t.getSourceId();return r!=null&&(n.getSource(r,!0).endDrag(t,r),n.unpinSource()),{type:j}}}function Be(e){D(e.isDragging(),`Cannot call endDrag while not dragging.`)}function Ve(e,t){return t===null?e===null:Array.isArray(e)?e.some(e=>e===t):e===t}function He(e){return function(t,{clientOffset:n}={}){Ue(t);let r=t.slice(0),i=e.getMonitor(),a=e.getRegistry();return Ge(r,a,i.getItemType()),We(r,i,a),Ke(r,i,a),{type:k,payload:{targetIds:r,clientOffset:n||null}}}}function Ue(e){D(Array.isArray(e),`Expected targetIds to be an array.`)}function We(e,t,n){D(t.isDragging(),`Cannot call hover while not dragging.`),D(!t.didDrop(),`Cannot call hover after drop.`);for(let t=0;t<e.length;t++){let r=e[t];D(e.lastIndexOf(r)===t,`Expected targetIds to be unique in the passed array.`),D(n.getTarget(r),`Expected targetIds to be registered.`)}}function Ge(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];Ve(t.getTargetType(i),n)||e.splice(r,1)}}function Ke(e,t,n){e.forEach(function(e){n.getTarget(e).hover(t,e)})}function qe(e){return function(){if(e.getMonitor().isDragging())return{type:we}}}function Je(e){return{beginDrag:De(e),publishDragSource:qe(e),hover:He(e),drop:Pe(e),endDrag:ze(e)}}var Ye=class{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){let e=this,{dispatch:t}=this.store;function n(n){return(...r)=>{let i=n.apply(e,r);i!==void 0&&t(i)}}let r=Je(this);return Object.keys(r).reduce((e,t)=>{let i=r[t];return e[t]=n(i),e},{})}dispatch(e){this.store.dispatch(e)}constructor(e,t){this.isSetUp=!1,this.handleRefCountChange=()=>{let e=this.store.getState().refCount>0;this.backend&&(e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=t,e.subscribe(this.handleRefCountChange)}};function Xe(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ze(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Qe(e){let{clientOffset:t,initialClientOffset:n,initialSourceClientOffset:r}=e;return!t||!n||!r?null:Ze(Xe(t,r),n)}function $e(e){let{clientOffset:t,initialClientOffset:n}=e;return!t||!n?null:Ze(t,n)}var M=[],et=[];M.__IS_NONE__=!0,et.__IS_ALL__=!0;function tt(e,t){return e===M?!1:e===et||t===void 0||Se(t,e).length>0}var nt=class{subscribeToStateChange(e,t={}){let{handlerIds:n}=t;D(typeof e==`function`,`listener must be a function.`),D(n===void 0||Array.isArray(n),`handlerIds, when specified, must be an array of strings.`);let r=this.store.getState().stateId;return this.store.subscribe(()=>{let t=this.store.getState(),i=t.stateId;try{i===r||i===r+1&&!tt(t.dirtyHandlerIds,n)||e()}finally{r=i}})}subscribeToOffsetChange(e){D(typeof e==`function`,`listener must be a function.`);let t=this.store.getState().dragOffset;return this.store.subscribe(()=>{let n=this.store.getState().dragOffset;n!==t&&(t=n,e())})}canDragSource(e){if(!e)return!1;let t=this.registry.getSource(e);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()&&t.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;let t=this.registry.getTarget(e);return D(t,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop()?!1:Ve(this.registry.getTargetType(e),this.getItemType())&&t.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;let t=this.registry.getSource(e,!0);return D(t,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic()||this.registry.getSourceType(e)!==this.getItemType()?!1:t.isDragging(this,e)}isOverTarget(e,t={shallow:!1}){if(!e)return!1;let{shallow:n}=t;if(!this.isDragging())return!1;let r=this.registry.getTargetType(e),i=this.getItemType();if(i&&!Ve(r,i))return!1;let a=this.getTargetIds();if(!a.length)return!1;let o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Qe(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return $e(this.store.getState().dragOffset)}constructor(e,t){this.store=e,this.registry=t}},rt=typeof global<`u`?global:self,it=rt.MutationObserver||rt.WebKitMutationObserver;function at(e){return function(){let t=setTimeout(r,0),n=setInterval(r,50);function r(){clearTimeout(t),clearInterval(n),e()}}}function ot(e){let t=1,n=new it(e),r=document.createTextNode(``);return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}var st=typeof it==`function`?ot:at,ct=class{enqueueTask(e){let{queue:t,requestFlush:n}=this;t.length||(n(),this.flushing=!0),t[t.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{let{queue:e}=this;for(;this.index<e.length;){let t=this.index;if(this.index++,e[t].call(),this.index>this.capacity){for(let t=0,n=e.length-this.index;t<n;t++)e[t]=e[t+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=st(this.flush),this.requestErrorThrow=at(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}},lt=class{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,t){this.onError=e,this.release=t,this.task=null}},ut=class{create(e){let t=this.freeTasks,n=t.length?t.pop():new lt(this.onError,e=>t[t.length]=e);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}},dt=new ct,ft=new ut(dt.registerPendingError);function pt(e){dt.enqueueTask(ft.create(e))}var mt=`dnd-core/ADD_SOURCE`,ht=`dnd-core/ADD_TARGET`,gt=`dnd-core/REMOVE_SOURCE`,N=`dnd-core/REMOVE_TARGET`;function _t(e){return{type:mt,payload:{sourceId:e}}}function vt(e){return{type:ht,payload:{targetId:e}}}function yt(e){return{type:gt,payload:{sourceId:e}}}function bt(e){return{type:N,payload:{targetId:e}}}function xt(e){D(typeof e.canDrag==`function`,`Expected canDrag to be a function.`),D(typeof e.beginDrag==`function`,`Expected beginDrag to be a function.`),D(typeof e.endDrag==`function`,`Expected endDrag to be a function.`)}function St(e){D(typeof e.canDrop==`function`,`Expected canDrop to be a function.`),D(typeof e.hover==`function`,`Expected hover to be a function.`),D(typeof e.drop==`function`,`Expected beginDrag to be a function.`)}function Ct(e,t){if(t&&Array.isArray(e)){e.forEach(e=>Ct(e,!1));return}D(typeof e==`string`||typeof e==`symbol`,t?`Type can only be a string, a symbol, or an array of either.`:`Type can only be a string or a symbol.`)}var P;(function(e){e.SOURCE=`SOURCE`,e.TARGET=`TARGET`})(P||={});var wt=0;function Tt(){return wt++}function Et(e){let t=Tt().toString();switch(e){case P.SOURCE:return`S${t}`;case P.TARGET:return`T${t}`;default:throw Error(`Unknown Handler Role: ${e}`)}}function Dt(e){switch(e[0]){case`S`:return P.SOURCE;case`T`:return P.TARGET;default:throw Error(`Cannot parse handler ID: ${e}`)}}function Ot(e,t){let n=e.entries(),r=!1;do{let{done:e,value:[,i]}=n.next();if(i===t)return!0;r=!!e}while(!r);return!1}var kt=class{addSource(e,t){Ct(e),xt(t);let n=this.addHandler(P.SOURCE,e,t);return this.store.dispatch(_t(n)),n}addTarget(e,t){Ct(e,!0),St(t);let n=this.addHandler(P.TARGET,e,t);return this.store.dispatch(vt(n)),n}containsHandler(e){return Ot(this.dragSources,e)||Ot(this.dropTargets,e)}getSource(e,t=!1){return D(this.isSourceId(e),`Expected a valid source ID.`),t&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.dropTargets.get(e)}getSourceType(e){return D(this.isSourceId(e),`Expected a valid source ID.`),this.types.get(e)}getTargetType(e){return D(this.isTargetId(e),`Expected a valid target ID.`),this.types.get(e)}isSourceId(e){return Dt(e)===P.SOURCE}isTargetId(e){return Dt(e)===P.TARGET}removeSource(e){D(this.getSource(e),`Expected an existing source.`),this.store.dispatch(yt(e)),pt(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){D(this.getTarget(e),`Expected an existing target.`),this.store.dispatch(bt(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){let t=this.getSource(e);D(t,`Expected an existing source.`),this.pinnedSourceId=e,this.pinnedSource=t}unpinSource(){D(this.pinnedSource,`No source is pinned at the time.`),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,t,n){let r=Et(e);return this.types.set(r,t),e===P.SOURCE?this.dragSources.set(r,n):e===P.TARGET&&this.dropTargets.set(r,n),r}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}},At=(e,t)=>e===t;function jt(e,t){return!e&&!t?!0:!e||!t?!1:e.x===t.x&&e.y===t.y}function Mt(e,t,n=At){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(!n(e[r],t[r]))return!1;return!0}function Nt(e=M,t){switch(t.type){case k:break;case mt:case ht:case N:case gt:return M;case O:case we:case j:case A:default:return et}let{targetIds:n=[],prevTargetIds:r=[]}=t.payload,i=xe(n,r);if(!(i.length>0||!Mt(n,r)))return M;let a=r[r.length-1],o=n[n.length-1];return a!==o&&(a&&i.push(a),o&&i.push(o)),i}function Pt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ft(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Pt(e,t,n[t])})}return e}var It={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function Lt(e=It,t){let{payload:n}=t;switch(t.type){case Ce:case O:return{initialSourceClientOffset:n.sourceClientOffset,initialClientOffset:n.clientOffset,clientOffset:n.clientOffset};case k:return jt(e.clientOffset,n.clientOffset)?e:Ft({},e,{clientOffset:n.clientOffset});case j:case A:return It;default:return e}}function Rt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Rt(e,t,n[t])})}return e}var zt={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function Bt(e=zt,t){let{payload:n}=t;switch(t.type){case O:return F({},e,{itemType:n.itemType,item:n.item,sourceId:n.sourceId,isSourcePublic:n.isSourcePublic,dropResult:null,didDrop:!1});case we:return F({},e,{isSourcePublic:!0});case k:return F({},e,{targetIds:n.targetIds});case N:return e.targetIds.indexOf(n.targetId)===-1?e:F({},e,{targetIds:ye(e.targetIds,n.targetId)});case A:return F({},e,{dropResult:n.dropResult,didDrop:!0,targetIds:[]});case j:return F({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}function Vt(e=0,t){switch(t.type){case mt:case ht:return e+1;case gt:case N:return e-1;default:return e}}function Ht(e=0){return e+1}function Ut(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ut(e,t,n[t])})}return e}function Gt(e={},t){return{dirtyHandlerIds:Nt(e.dirtyHandlerIds,{type:t.type,payload:Wt({},t.payload,{prevTargetIds:ve(e,`dragOperation.targetIds`,[])})}),dragOffset:Lt(e.dragOffset,t),refCount:Vt(e.refCount,t),dragOperation:Bt(e.dragOperation,t),stateId:Ht(e.stateId)}}function Kt(e,t=void 0,n={},r=!1){let i=qt(r),a=new Ye(i,new nt(i,new kt(i))),o=e(a,t,n);return a.receiveBackend(o),a}function qt(e){let t=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__;return ge(Gt,e&&t&&t({name:`dnd-core`,instanceId:`dnd-core`}))}function Jt(e,t){if(e==null)return{};var n=Yt(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yt(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var Xt=0,Zt=Symbol.for(`__REACT_DND_CONTEXT_INSTANCE__`),Qt=(0,w.memo)(function(e){var{children:t}=e;let[n,r]=$t(Jt(e,[`children`]));return(0,w.useEffect)(()=>{if(r){let e=tn();return++Xt,()=>{--Xt===0&&(e[Zt]=null)}}},[]),(0,T.jsx)(de.Provider,{value:n,children:t})});function $t(e){return`manager`in e?[{dragDropManager:e.manager},!1]:[en(e.backend,e.context,e.options,e.debugMode),!e.context]}function en(e,t=tn(),n,r){let i=t;return i[Zt]||(i[Zt]={dragDropManager:Kt(e,t,n,r)}),i[Zt]}function tn(){return typeof global<`u`?global:window}var nn=e(ue(),1),I=typeof window<`u`?w.useLayoutEffect:w.useEffect;function rn(e,t,n){let[r,i]=(0,w.useState)(()=>t(e)),a=(0,w.useCallback)(()=>{let a=t(e);(0,nn.default)(r,a)||(i(a),n&&n())},[r,e,n]);return I(a),[r,a]}function an(e,t,n){let[r,i]=rn(e,t,n);return I(function(){let t=e.getHandlerId();if(t!=null)return e.subscribeToStateChange(i,{handlerIds:[t]})},[e,i]),r}function on(e,t,n){return an(t,e||(()=>({})),()=>n.reconnect())}function sn(e,t){let n=[...t||[]];return t==null&&typeof e!=`function`&&n.push(e),(0,w.useMemo)(()=>typeof e==`function`?e():e,n)}function cn(e){return(0,w.useMemo)(()=>e.hooks.dragSource(),[e])}function ln(e){return(0,w.useMemo)(()=>e.hooks.dragPreview(),[e])}var un=!1,dn=!1,fn=class{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){D(!un,`You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return un=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{un=!1}}isDragging(){if(!this.sourceId)return!1;D(!dn,`You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor`);try{return dn=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{dn=!1}}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,t){return this.internalMonitor.isOverTarget(e,t)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}},pn=!1,mn=class{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,t){return this.internalMonitor.subscribeToStateChange(e,t)}canDrop(){if(!this.targetId)return!1;D(!pn,`You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor`);try{return pn=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{pn=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}};function hn(e,t,n){let r=n.getRegistry(),i=r.addTarget(e,t);return[i,()=>r.removeTarget(i)]}function gn(e,t,n){let r=n.getRegistry(),i=r.addSource(e,t);return[i,()=>r.removeSource(i)]}function _n(e,t,n,r){let i=n?n.call(r,e,t):void 0;if(i!==void 0)return!!i;if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let a=Object.keys(e),o=Object.keys(t);if(a.length!==o.length)return!1;let s=Object.prototype.hasOwnProperty.bind(t);for(let o=0;o<a.length;o++){let c=a[o];if(!s(c))return!1;let l=e[c],u=t[c];if(i=n?n.call(r,l,u,c):void 0,i===!1||i===void 0&&l!==u)return!1}return!0}function vn(e){return typeof e==`object`&&!!e&&Object.prototype.hasOwnProperty.call(e,`current`)}function yn(e){if(typeof e.type==`string`)return;let t=e.type.displayName||e.type.name||`the component`;throw Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${t} into a <div>, or turn it into a drag source or a drop target itself.`)}function bn(e){return(t=null,n=null)=>{if(!(0,w.isValidElement)(t)){let r=t;return e(r,n),r}let r=t;return yn(r),Cn(r,n?t=>e(t,n):e)}}function xn(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(n.endsWith(`Ref`))t[n]=e[n];else{let e=bn(r);t[n]=()=>e}}),t}function Sn(e,t){typeof e==`function`?e(t):e.current=t}function Cn(e,t){let n=e.ref;return D(typeof n!=`string`,`Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs`),n?(0,w.cloneElement)(e,{ref:e=>{Sn(n,e),Sn(t,e)}}):(0,w.cloneElement)(e,{ref:t})}var wn=class{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){let e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){let e=this.dragSource,t=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return t&&this.disconnectDragSource(),this.handlerId?e?(t&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),t):(this.lastConnectedDragSource=e,t):t}reconnectDragPreview(e=!1){let t=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),this.handlerId){if(!t){this.lastConnectedDragPreview=t;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=t,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,t,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!_n(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!_n(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&=(this.dragSourceUnsubscribe(),void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=xn({dragSource:(e,t)=>{this.clearDragSource(),this.dragSourceOptions=t||null,vn(e)?this.dragSourceRef=e:this.dragSourceNode=e,this.reconnectDragSource()},dragPreview:(e,t)=>{this.clearDragPreview(),this.dragPreviewOptions=t||null,vn(e)?this.dragPreviewRef=e:this.dragPreviewNode=e,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}},Tn=class{get connectTarget(){return this.dropTarget}reconnect(){let e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();let t=this.dropTarget;if(this.handlerId){if(!t){this.lastConnectedDropTarget=t;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=t,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,t,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!_n(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&=(this.unsubscribeDropTarget(),void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=xn({dropTarget:(e,t)=>{this.clearDropTarget(),this.dropTargetOptions=t,vn(e)?this.dropTargetRef=e:this.dropTargetNode=e,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}};function L(){let{dragDropManager:e}=(0,w.useContext)(de);return D(e!=null,`Expected drag drop context`),e}function En(e,t){let n=L(),r=(0,w.useMemo)(()=>new wn(n.getBackend()),[n]);return I(()=>(r.dragSourceOptions=e||null,r.reconnect(),()=>r.disconnectDragSource()),[r,e]),I(()=>(r.dragPreviewOptions=t||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,t]),r}function Dn(){let e=L();return(0,w.useMemo)(()=>new fn(e),[e])}var On=class{beginDrag(){let e=this.spec,t=this.monitor,n=null;return n=typeof e.item==`object`?e.item:typeof e.item==`function`?e.item(t):{},n??null}canDrag(){let e=this.spec,t=this.monitor;return typeof e.canDrag==`boolean`?e.canDrag:typeof e.canDrag!=`function`||e.canDrag(t)}isDragging(e,t){let n=this.spec,r=this.monitor,{isDragging:i}=n;return i?i(r):t===e.getSourceId()}endDrag(){let e=this.spec,t=this.monitor,n=this.connector,{end:r}=e;r&&r(t.getItem(),t),n.reconnect()}constructor(e,t,n){this.spec=e,this.monitor=t,this.connector=n}};function kn(e,t,n){let r=(0,w.useMemo)(()=>new On(e,t,n),[t,n]);return(0,w.useEffect)(()=>{r.spec=e},[e]),r}function An(e){return(0,w.useMemo)(()=>{let t=e.type;return D(t!=null,`spec.type must be defined`),t},[e])}function jn(e,t,n){let r=L(),i=kn(e,t,n),a=An(e);I(function(){if(a!=null){let[e,o]=gn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o}},[r,t,n,i,a])}function Mn(e,t){let n=sn(e,t);D(!n.begin,`useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)`);let r=Dn(),i=En(n.options,n.previewOptions);return jn(n,r,i),[on(n.collect,r,i),cn(i),ln(i)]}function Nn(e){let t=L().getMonitor(),[n,r]=rn(t,e);return(0,w.useEffect)(()=>t.subscribeToOffsetChange(r)),(0,w.useEffect)(()=>t.subscribeToStateChange(r)),n}function Pn(e){return(0,w.useMemo)(()=>e.hooks.dropTarget(),[e])}function Fn(e){let t=L(),n=(0,w.useMemo)(()=>new Tn(t.getBackend()),[t]);return I(()=>(n.dropTargetOptions=e||null,n.reconnect(),()=>n.disconnectDropTarget()),[e]),n}function In(){let e=L();return(0,w.useMemo)(()=>new mn(e),[e])}function Ln(e){let{accept:t}=e;return(0,w.useMemo)(()=>(D(e.accept!=null,`accept must be defined`),Array.isArray(t)?t:[t]),[t])}var Rn=class{canDrop(){let e=this.spec,t=this.monitor;return!e.canDrop||e.canDrop(t.getItem(),t)}hover(){let e=this.spec,t=this.monitor;e.hover&&e.hover(t.getItem(),t)}drop(){let e=this.spec,t=this.monitor;if(e.drop)return e.drop(t.getItem(),t)}constructor(e,t){this.spec=e,this.monitor=t}};function zn(e,t){let n=(0,w.useMemo)(()=>new Rn(e,t),[t]);return(0,w.useEffect)(()=>{n.spec=e},[e]),n}function Bn(e,t,n){let r=L(),i=zn(e,t),a=Ln(e);I(function(){let[e,o]=hn(a,i,r);return t.receiveHandlerId(e),n.receiveHandlerId(e),o},[r,t,i,n,a.map(e=>e.toString()).join(`|`)])}function Vn(e,t){let n=sn(e,t),r=In(),i=Fn(n.options);return Bn(n,r,i),[on(n.collect,r,i),Pn(i)]}function Hn(e){let t=null;return()=>(t??=e(),t)}function Un(e,t){return e.filter(e=>e!==t)}function Wn(e,t){let n=new Set,r=e=>n.add(e);e.forEach(r),t.forEach(r);let i=[];return n.forEach(e=>i.push(e)),i}var Gn=class{enter(e){let t=this.entered.length,n=t=>this.isNodeInDocument(t)&&(!t.contains||t.contains(e));return this.entered=Wn(this.entered.filter(n),[e]),t===0&&this.entered.length>0}leave(e){let t=this.entered.length;return this.entered=Un(this.entered.filter(this.isNodeInDocument),e),t>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}},Kn=class{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){let t={};Object.keys(this.config.exposeProperties).forEach(n=>{let r=this.config.exposeProperties[n];r!=null&&(t[n]={value:r(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,t)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,t){return t===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}},qn=t({FILE:()=>Jn,HTML:()=>Zn,TEXT:()=>Xn,URL:()=>Yn}),Jn=`__NATIVE_FILE__`,Yn=`__NATIVE_URL__`,Xn=`__NATIVE_TEXT__`,Zn=`__NATIVE_HTML__`;function Qn(e,t,n){return t.reduce((t,n)=>t||e.getData(n),``)??n}var $n={[Jn]:{exposeProperties:{files:e=>Array.prototype.slice.call(e.files),items:e=>e.items,dataTransfer:e=>e},matchesTypes:[`Files`]},[Zn]:{exposeProperties:{html:(e,t)=>Qn(e,t,``),dataTransfer:e=>e},matchesTypes:[`Html`,`text/html`]},[Yn]:{exposeProperties:{urls:(e,t)=>Qn(e,t,``).split(`
|
|
2
|
-
`),dataTransfer:e=>e},matchesTypes:[`Url`,`text/uri-list`]},[Xn]:{exposeProperties:{text:(e,t)=>Qn(e,t,``),dataTransfer:e=>e},matchesTypes:[`Text`,`text/plain`]}};function er(e,t){let n=$n[e];if(!n)throw Error(`native type ${e} has no configuration`);let r=new Kn(n);return r.loadDataTransfer(t),r}function tr(e){if(!e)return null;let t=Array.prototype.slice.call(e.types||[]);return Object.keys($n).filter(e=>{let n=$n[e];return n?.matchesTypes?n.matchesTypes.some(e=>t.indexOf(e)>-1):!1})[0]||null}var nr=Hn(()=>/firefox/i.test(navigator.userAgent)),rr=Hn(()=>!!window.safari),ir=class{interpolate(e){let{xs:t,ys:n,c1s:r,c2s:i,c3s:a}=this,o=t.length-1;if(e===t[o])return n[o];let s=0,c=a.length-1,l;for(;s<=c;){l=Math.floor(.5*(s+c));let r=t[l];if(r<e)s=l+1;else if(r>e)c=l-1;else return n[l]}o=Math.max(0,c);let u=e-t[o],d=u*u;return n[o]+r[o]*u+i[o]*d+a[o]*u*d}constructor(e,t){let{length:n}=e,r=[];for(let e=0;e<n;e++)r.push(e);r.sort((t,n)=>e[t]<e[n]?-1:1);let i=[],a=[],o=[],s,c;for(let r=0;r<n-1;r++)s=e[r+1]-e[r],c=t[r+1]-t[r],a.push(s),i.push(c),o.push(c/s);let l=[o[0]];for(let e=0;e<a.length-1;e++){let t=o[e],n=o[e+1];if(t*n<=0)l.push(0);else{s=a[e];let r=a[e+1],i=s+r;l.push(3*i/((i+r)/t+(i+s)/n))}}l.push(o[o.length-1]);let u=[],d=[],f;for(let e=0;e<l.length-1;e++){f=o[e];let t=l[e],n=1/a[e],r=t+l[e+1]-f-f;u.push((f-t-r)*n),d.push(r*n*n)}this.xs=e,this.ys=t,this.c1s=l,this.c2s=u,this.c3s=d}},ar=1;function or(e){let t=e.nodeType===ar?e:e.parentElement;if(!t)return null;let{top:n,left:r}=t.getBoundingClientRect();return{x:r,y:n}}function sr(e){return{x:e.clientX,y:e.clientY}}function cr(e){return e.nodeName===`IMG`&&(nr()||!document.documentElement?.contains(e))}function lr(e,t,n,r){let i=e?t.width:n,a=e?t.height:r;return rr()&&e&&(a/=window.devicePixelRatio,i/=window.devicePixelRatio),{dragPreviewWidth:i,dragPreviewHeight:a}}function ur(e,t,n,r,i){let a=cr(t),o=or(a?e:t),s={x:n.x-o.x,y:n.y-o.y},{offsetWidth:c,offsetHeight:l}=e,{anchorX:u,anchorY:d}=r,{dragPreviewWidth:f,dragPreviewHeight:p}=lr(a,t,c,l),m=()=>{let e=new ir([0,.5,1],[s.y,s.y/l*p,s.y+p-l]).interpolate(d);return rr()&&a&&(e+=(window.devicePixelRatio-1)*p),e},h=()=>new ir([0,.5,1],[s.x,s.x/c*f,s.x+f-c]).interpolate(u),{offsetX:g,offsetY:_}=i,v=g===0||g,y=_===0||_;return{x:v?g:h(),y:y?_:m()}}var dr=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<`u`)return window}get document(){if(this.globalContext?.document)return this.globalContext.document;if(this.window)return this.window.document}get rootElement(){return this.optionsArgs?.rootElement||this.window}constructor(e,t){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=t}};function fr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){fr(e,t,n[t])})}return e}var mr=class{profile(){return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:this.dragStartSourceIds?.length||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:this.dragOverTargetIds?.length||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){let e=this.rootElement;if(e!==void 0){if(e.__isReactDndBackendSetUp)throw Error(`Cannot have two HTML5 backends at the same time.`);e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}teardown(){let e=this.rootElement;if(e!==void 0&&(e.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)){var t;(t=this.window)==null||t.cancelAnimationFrame(this.asyncEndDragFrameId)}}connectDragPreview(e,t,n){return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),()=>{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,t,n){this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);let r=t=>this.handleDragStart(t,e),i=e=>this.handleSelectStart(e);return t.setAttribute(`draggable`,`true`),t.addEventListener(`dragstart`,r),t.addEventListener(`selectstart`,i),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),t.removeEventListener(`dragstart`,r),t.removeEventListener(`selectstart`,i),t.setAttribute(`draggable`,`false`)}}connectDropTarget(e,t){let n=t=>this.handleDragEnter(t,e),r=t=>this.handleDragOver(t,e),i=t=>this.handleDrop(t,e);return t.addEventListener(`dragenter`,n),t.addEventListener(`dragover`,r),t.addEventListener(`drop`,i),()=>{t.removeEventListener(`dragenter`,n),t.removeEventListener(`dragover`,r),t.removeEventListener(`drop`,i)}}addEventListeners(e){e.addEventListener&&(e.addEventListener(`dragstart`,this.handleTopDragStart),e.addEventListener(`dragstart`,this.handleTopDragStartCapture,!0),e.addEventListener(`dragend`,this.handleTopDragEndCapture,!0),e.addEventListener(`dragenter`,this.handleTopDragEnter),e.addEventListener(`dragenter`,this.handleTopDragEnterCapture,!0),e.addEventListener(`dragleave`,this.handleTopDragLeaveCapture,!0),e.addEventListener(`dragover`,this.handleTopDragOver),e.addEventListener(`dragover`,this.handleTopDragOverCapture,!0),e.addEventListener(`drop`,this.handleTopDrop),e.addEventListener(`drop`,this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener(`dragstart`,this.handleTopDragStart),e.removeEventListener(`dragstart`,this.handleTopDragStartCapture,!0),e.removeEventListener(`dragend`,this.handleTopDragEndCapture,!0),e.removeEventListener(`dragenter`,this.handleTopDragEnter),e.removeEventListener(`dragenter`,this.handleTopDragEnterCapture,!0),e.removeEventListener(`dragleave`,this.handleTopDragLeaveCapture,!0),e.removeEventListener(`dragover`,this.handleTopDragOver),e.removeEventListener(`dragover`,this.handleTopDragOverCapture,!0),e.removeEventListener(`drop`,this.handleTopDrop),e.removeEventListener(`drop`,this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){let e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return pr({dropEffect:this.altKeyPressed?`copy`:`move`},t||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?`copy`:this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){let e=this.monitor.getSourceId();return pr({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}isDraggingNativeItem(){let e=this.monitor.getItemType();return Object.keys(qn).some(t=>qn[t]===e)}beginDragNativeItem(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=er(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout(()=>this.rootElement?.addEventListener(`mousemove`,this.endDragIfSourceWasRemovedFromDOM,!0),1e3)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)==null||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener(`mousemove`,this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,t){e.defaultPrevented||(this.dragStartSourceIds||=[],this.dragStartSourceIds.unshift(t))}handleDragEnter(e,t){this.dragEnterTargetIds.unshift(t)}handleDragOver(e,t){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}handleDrop(e,t){this.dropTargetIds.unshift(t)}constructor(e,t,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=e=>{let t=this.sourceNodes.get(e);return t&&or(t)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=e=>!!(e&&this.document&&this.document.body&&this.document.body.contains(e)),this.endDragIfSourceWasRemovedFromDOM=()=>{let e=this.currentDragSourceNode;e==null||this.isNodeInDocument(e)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=e=>{this.hoverRafId===null&&typeof requestAnimationFrame<`u`&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(e||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<`u`&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=e=>{if(e.defaultPrevented)return;let{dragStartSourceIds:t}=this;this.dragStartSourceIds=null;let n=sr(e);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(t||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:n});let{dataTransfer:r}=e,i=tr(r);if(this.monitor.isDragging()){if(r&&typeof r.setDragImage==`function`){let e=this.monitor.getSourceId(),t=this.sourceNodes.get(e),i=this.sourcePreviewNodes.get(e)||t;if(i){let{anchorX:e,anchorY:a,offsetX:o,offsetY:s}=this.getCurrentSourcePreviewNodeOptions(),c=ur(t,i,n,{anchorX:e,anchorY:a},{offsetX:o,offsetY:s});r.setDragImage(i,c.x,c.y)}}try{r?.setData(`application/json`,{})}catch{}this.setCurrentDragSourceNode(e.target);let{captureDraggingState:t}=this.getCurrentSourcePreviewNodeOptions();t?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(i)this.beginDragNativeItem(i);else if(r&&!r.types&&(e.target&&!e.target.hasAttribute||!e.target.hasAttribute(`draggable`)))return;else e.preventDefault()},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=e=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var t;(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}if(!this.enterLeaveCounter.enter(e.target)||this.monitor.isDragging())return;let{dataTransfer:n}=e,r=tr(n);r&&this.beginDragNativeItem(r,n)},this.handleTopDragEnter=e=>{let{dragEnterTargetIds:t}=this;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,t.length>0&&this.actions.hover(t,{clientOffset:sr(e)}),t.some(e=>this.monitor.canDropOnTarget(e))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())))},this.handleTopDragOverCapture=e=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var t;(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}},this.handleTopDragOver=e=>{let{dragOverTargetIds:t}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`none`);return}this.altKeyPressed=e.altKey,this.lastClientOffset=sr(e),this.scheduleHover(t),(t||[]).some(e=>this.monitor.canDropOnTarget(e))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`none`))},this.handleTopDragLeaveCapture=e=>{this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=e=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var t;e.preventDefault(),(t=this.currentNativeSource)==null||t.loadDataTransfer(e.dataTransfer)}else tr(e.dataTransfer)&&e.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=e=>{let{dropTargetIds:t}=this;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:sr(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=e=>{let t=e.target;typeof t.dragDrop==`function`&&(t.tagName===`INPUT`||t.tagName===`SELECT`||t.tagName===`TEXTAREA`||t.isContentEditable||(e.preventDefault(),t.dragDrop()))},this.options=new dr(t,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new Gn(this.isNodeInDocument)}},hr;function gr(){return hr||(hr=new Image,hr.src=`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`),hr}var _r=function(e,t,n){return new mr(e,t,n)},vr=(0,w.createContext)(null);function R(){let e=(0,w.useContext)(vr);if(e===null)throw Error(`No Tree Api Provided`);return e}var yr=(0,w.createContext)(null);function br(){let e=(0,w.useContext)(yr);if(e===null)throw Error(`Provide a NodesContext`);return e}var xr=(0,w.createContext)(null);function Sr(){let e=(0,w.useContext)(xr);if(e===null)throw Error(`Provide a DnDContext`);return e}var Cr=(0,w.createContext)(0);function wr(){(0,w.useContext)(Cr)}var Tr=t({access:()=>z,bound:()=>Er,dfs:()=>Nr,focusNextElement:()=>Fr,focusPrevElement:()=>Ir,getInsertIndex:()=>Wr,getInsertParentId:()=>Gr,identify:()=>B,identifyNull:()=>Br,indexOf:()=>jr,isClosed:()=>Or,isDescendant:()=>Ar,isItem:()=>Dr,isOpenWithEmptyChildren:()=>kr,mergeRefs:()=>Vr,noop:()=>Mr,safeRun:()=>Hr,waitFor:()=>Ur,walk:()=>Pr});function Er(e,t,n){return Math.max(Math.min(e,n),t)}function Dr(e){return e&&e.isLeaf}function Or(e){return e&&e.isInternal&&!e.isOpen}function kr(e){return e&&e.isOpen&&!e.children?.length}var Ar=(e,t)=>{let n=e;for(;n;){if(n.id===t.id)return!0;n=n.parent}return!1},jr=e=>{if(!e.parent)throw Error(`Node does not have a parent`);return e.parent.children.findIndex(t=>t.id===e.id)};function Mr(){}function Nr(e,t){if(!e)return null;if(e.id===t)return e;if(e.children)for(let n of e.children){let e=Nr(n,t);if(e)return e}return null}function Pr(e,t){if(t(e),e.children)for(let n of e.children)Pr(n,t)}function Fr(e){let t=zr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=Lr(t,r);break}n?.focus()}function Ir(e){let t=zr(e),n;for(let r=0;r<t.length;++r)if(t[r]===e){n=Rr(t,r);break}n?.focus()}function Lr(e,t){return t+1<e.length?e[t+1]:e[0]}function Rr(e,t){return t-1>=0?e[t-1]:e[e.length-1]}function zr(e){return Array.from(document.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), details:not([disabled]), summary:not(:disabled)`)).filter(t=>t===e||!e.contains(t))}function z(e,t){return typeof t==`boolean`?t:typeof t==`string`?e[t]:t(e)}function Br(e){return e===null?null:B(e)}function B(e){return typeof e==`string`?e:e.id}function Vr(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}function Hr(e,...t){if(e)return e(...t)}function Ur(e){return new Promise((t,n)=>{let r=0;function i(){r+=1,r===100&&n(),e()?t():setTimeout(i,10)}i()})}function Wr(e){let t=e.focusedNode;return t?t.isOpen?0:t.parent?t.childIndex+1:0:e.root.children?.length??0}function Gr(e){let t=e.focusedNode;return t?t.isOpen?t.id:t.parent&&!t.parent.isRoot?t.parent.id:null:null}var Kr={display:`flex`,alignItems:`center`,zIndex:1},qr={flex:1,height:`2px`,background:`#4B91E2`,borderRadius:`1px`},Jr={width:`4px`,height:`4px`,boxShadow:`0 0 0 3px #4B91E2`,borderRadius:`50%`},Yr=w.memo(function({top:e,left:t,indent:n}){let r={position:`absolute`,pointerEvents:`none`,top:e-2+`px`,left:t+`px`,right:n+`px`};return(0,T.jsxs)(`div`,{style:Object.assign(Object.assign({},Kr),r),children:[(0,T.jsx)(`div`,{style:Object.assign({},Jr)}),(0,T.jsx)(`div`,{style:Object.assign({},qr)})]})});function Xr({node:e,attrs:t,innerRef:n,children:r}){return(0,T.jsx)(`div`,Object.assign({},t,{ref:n,onFocus:e=>e.stopPropagation(),onClick:e.handleClick,children:r}))}function Zr(e){return(0,T.jsxs)(`div`,{ref:e.dragHandle,style:e.style,children:[(0,T.jsx)(`span`,{onClick:t=>{t.stopPropagation(),e.node.toggle()},children:e.node.isLeaf?`🌳`:e.node.isOpen?`🗁`:`🗀`}),` `,e.node.isEditing?(0,T.jsx)($r,Object.assign({},e)):(0,T.jsx)(Qr,Object.assign({},e))]})}function Qr(e){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`span`,{children:e.node.data.name})})}function $r({node:e}){let t=(0,w.useRef)();return(0,w.useEffect)(()=>{var e,n;(e=t.current)==null||e.focus(),(n=t.current)==null||n.select()},[]),(0,T.jsx)(`input`,{ref:t,defaultValue:e.data.name,onBlur:()=>e.reset(),onKeyDown:n=>{n.key===`Escape`&&e.reset(),n.key===`Enter`&&e.submit(t.current?.value||``)}})}function ei(e){return{type:`EDIT`,id:e}}function ti(e={id:null},t){return t.type===`EDIT`?Object.assign(Object.assign({},e),{id:t.id}):e}function V(e){return{type:`FOCUS`,id:e}}function ni(){return{type:`TREE_BLUR`}}function ri(e={id:null,treeFocused:!1},t){return t.type===`FOCUS`?Object.assign(Object.assign({},e),{id:t.id,treeFocused:!0}):t.type===`TREE_BLUR`?Object.assign(Object.assign({},e),{treeFocused:!1}):e}var ii=class e{constructor(e){this.handleClick=e=>{e.metaKey&&!this.tree.props.disableMultiSelection?this.isSelected?this.deselect():this.selectMulti():e.shiftKey&&!this.tree.props.disableMultiSelection?this.selectContiguous():(this.select(),this.activate())},this.tree=e.tree,this.id=e.id,this.data=e.data,this.level=e.level,this.children=e.children,this.parent=e.parent,this.isDraggable=e.isDraggable,this.rowIndex=e.rowIndex}get isRoot(){return this.id===ai}get isLeaf(){return!Array.isArray(this.children)}get isInternal(){return!this.isLeaf}get isOpen(){return!this.isLeaf&&this.tree.isOpen(this.id)}get isClosed(){return!this.isLeaf&&!this.tree.isOpen(this.id)}get isEditable(){return this.tree.isEditable(this.data)}get isEditing(){return this.tree.editingId===this.id}get isSelected(){return this.tree.isSelected(this.id)}get isOnlySelection(){return this.isSelected&&this.tree.hasOneSelection}get isSelectedStart(){return this.isSelected&&!this.prev?.isSelected}get isSelectedEnd(){return this.isSelected&&!this.next?.isSelected}get isFocused(){return this.tree.isFocused(this.id)}get isDragging(){return this.tree.isDragging(this.id)}get willReceiveDrop(){return this.tree.willReceiveDrop(this.id)}get state(){return{isClosed:this.isClosed,isDragging:this.isDragging,isEditing:this.isEditing,isFocused:this.isFocused,isInternal:this.isInternal,isLeaf:this.isLeaf,isOpen:this.isOpen,isSelected:this.isSelected,isSelectedEnd:this.isSelectedEnd,isSelectedStart:this.isSelectedStart,willReceiveDrop:this.willReceiveDrop}}get childIndex(){return this.parent&&this.parent.children?this.parent.children.findIndex(e=>e.id===this.id):-1}get next(){return this.rowIndex===null?null:this.tree.at(this.rowIndex+1)}get prev(){return this.rowIndex===null?null:this.tree.at(this.rowIndex-1)}get nextSibling(){let e=this.childIndex;return this.parent?.children[e+1]??null}isAncestorOf(e){if(!e)return!1;let t=e;for(;t;){if(t.id===this.id)return!0;t=t.parent}return!1}select(){this.tree.select(this)}deselect(){this.tree.deselect(this)}selectMulti(){this.tree.selectMulti(this)}selectContiguous(){this.tree.selectContiguous(this)}activate(){this.tree.activate(this)}focus(){this.tree.focus(this)}toggle(){this.tree.toggle(this)}open(){this.tree.open(this)}openParents(){this.tree.openParents(this)}close(){this.tree.close(this)}submit(e){this.tree.submit(this,e)}reset(){this.tree.reset()}clone(){return new e(Object.assign({},this))}edit(){return this.tree.edit(this)}},ai=`__REACT_ARBORIST_INTERNAL_ROOT__`;function oi(e){function t(n,r,i){let a=new ii({tree:e,data:n,level:r,parent:i,id:e.accessId(n),children:null,isDraggable:e.isDraggable(n),rowIndex:null}),o=e.accessChildren(n);return o&&(a.children=o.map(e=>t(e,r+1,a))),a}let n=new ii({tree:e,id:ai,data:{id:ai},level:-1,parent:null,children:null,isDraggable:!0,rowIndex:null});return n.children=(e.props.data??[]).map(e=>t(e,0,n)),n}var si={open(e,t){return{type:`VISIBILITY_OPEN`,id:e,filtered:t}},close(e,t){return{type:`VISIBILITY_CLOSE`,id:e,filtered:t}},toggle(e,t){return{type:`VISIBILITY_TOGGLE`,id:e,filtered:t}},clear(e){return{type:`VISIBILITY_CLEAR`,filtered:e}}};function ci(e={},t){if(t.type===`VISIBILITY_OPEN`)return Object.assign(Object.assign({},e),{[t.id]:!0});if(t.type===`VISIBILITY_CLOSE`)return Object.assign(Object.assign({},e),{[t.id]:!1});if(t.type===`VISIBILITY_TOGGLE`){let n=e[t.id];return Object.assign(Object.assign({},e),{[t.id]:!n})}return t.type===`VISIBILITY_CLEAR`?{}:e}function li(e={filtered:{},unfiltered:{}},t){return t.type.startsWith(`VISIBILITY`)?t.filtered?Object.assign(Object.assign({},e),{filtered:ci(e.filtered,t)}):Object.assign(Object.assign({},e),{unfiltered:ci(e.unfiltered,t)}):e}var H=e=>({nodes:{open:{filtered:{},unfiltered:e?.initialOpenState??{}},focus:{id:null,treeFocused:!1},edit:{id:null},drag:{id:null,selectedIds:[],destinationParentId:null,destinationIndex:null},selection:{ids:new Set,anchor:null,mostRecent:null}},dnd:{cursor:{type:`none`},dragId:null,dragIds:[],parentId:null,index:-1}}),U={clear:()=>({type:`SELECTION_CLEAR`}),only:e=>({type:`SELECTION_ONLY`,id:B(e)}),add:e=>({type:`SELECTION_ADD`,ids:(Array.isArray(e)?e:[e]).map(B)}),remove:e=>({type:`SELECTION_REMOVE`,ids:(Array.isArray(e)?e:[e]).map(B)}),set:e=>Object.assign({type:`SELECTION_SET`},e),mostRecent:e=>({type:`SELECTION_MOST_RECENT`,id:e===null?null:B(e)}),anchor:e=>({type:`SELECTION_ANCHOR`,id:e===null?null:B(e)})};function ui(e=H().nodes.selection,t){let n=e.ids;switch(t.type){case`SELECTION_CLEAR`:return Object.assign(Object.assign({},e),{ids:new Set});case`SELECTION_ONLY`:return Object.assign(Object.assign({},e),{ids:new Set([t.id])});case`SELECTION_ADD`:return t.ids.length===0?e:(t.ids.forEach(e=>n.add(e)),Object.assign(Object.assign({},e),{ids:new Set(n)}));case`SELECTION_REMOVE`:return t.ids.length===0?e:(t.ids.forEach(e=>n.delete(e)),Object.assign(Object.assign({},e),{ids:new Set(n)}));case`SELECTION_SET`:return Object.assign(Object.assign({},e),{ids:t.ids,mostRecent:t.mostRecent,anchor:t.anchor});case`SELECTION_MOST_RECENT`:return Object.assign(Object.assign({},e),{mostRecent:t.id});case`SELECTION_ANCHOR`:return Object.assign(Object.assign({},e),{anchor:t.id});default:return e}}var W={cursor(e){return{type:`DND_CURSOR`,cursor:e}},dragStart(e,t){return{type:`DND_DRAG_START`,id:e,dragIds:t}},dragEnd(){return{type:`DND_DRAG_END`}},hovering(e,t){return{type:`DND_HOVERING`,parentId:e,index:t}}};function di(e=H().dnd,t){switch(t.type){case`DND_CURSOR`:return Object.assign(Object.assign({},e),{cursor:t.cursor});case`DND_DRAG_START`:return Object.assign(Object.assign({},e),{dragId:t.id,dragIds:t.dragIds});case`DND_DRAG_END`:return H().dnd;case`DND_HOVERING`:return Object.assign(Object.assign({},e),{parentId:t.parentId,index:t.index});default:return e}}var fi={position:`fixed`,pointerEvents:`none`,zIndex:100,left:0,top:0,width:`100%`,height:`100%`},pi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t}px, ${n}px)`}},mi=e=>{if(!e)return{display:`none`};let{x:t,y:n}=e;return{transform:`translate(${t+10}px, ${n+10}px)`}};function hi({offset:e,mouse:t,id:n,dragIds:r,isDragging:i}){return(0,T.jsxs)(gi,{isDragging:i,children:[(0,T.jsx)(_i,{offset:e,children:(0,T.jsx)(yi,{id:n,dragIds:r})}),(0,T.jsx)(vi,{mouse:t,count:r.length})]})}var gi=(0,w.memo)(function(e){return e.isDragging?(0,T.jsx)(`div`,{style:fi,children:e.children}):null});function _i(e){return(0,T.jsx)(`div`,{className:`row preview`,style:pi(e.offset),children:e.children})}function vi(e){let{count:t,mouse:n}=e;return t>1?(0,T.jsx)(`div`,{className:`selected-count`,style:mi(n),children:t}):null}var yi=(0,w.memo)(function(e){let t=R(),n=t.get(e.id);return n?(0,T.jsx)(t.renderNode,{preview:!0,node:n,style:{paddingLeft:n.level*t.indent,opacity:.2,background:`transparent`},tree:t}):null}),bi=Number.isNaN||function(e){return typeof e==`number`&&e!==e};function xi(e,t){return!!(e===t||bi(e)&&bi(t))}function Si(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(!xi(e[n],t[n]))return!1;return!0}function Ci(e,t){t===void 0&&(t=Si);var n,r=[],i,a=!1;function o(){var o=[...arguments];return a&&n===this&&t(o,r)?i:(i=e.apply(this,o),a=!0,n=this,r=o,i)}return o}var wi=typeof performance==`object`&&typeof performance.now==`function`?function(){return performance.now()}:function(){return Date.now()};function Ti(e){cancelAnimationFrame(e.id)}function Ei(e,t){var n=wi();function r(){wi()-n>=t?e.call(null):i.id=requestAnimationFrame(r)}var i={id:requestAnimationFrame(r)};return i}var Di=-1;function Oi(e){if(e===void 0&&(e=!1),Di===-1||e){var t=document.createElement(`div`),n=t.style;n.width=`50px`,n.height=`50px`,n.overflow=`scroll`,document.body.appendChild(t),Di=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return Di}var G=null;function ki(e){if(e===void 0&&(e=!1),G===null||e){var t=document.createElement(`div`),n=t.style;n.width=`50px`,n.height=`50px`,n.overflow=`scroll`,n.direction=`rtl`;var r=document.createElement(`div`),i=r.style;return i.width=`100px`,i.height=`100px`,t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?G=`positive-descending`:(t.scrollLeft=1,G=t.scrollLeft===0?`negative`:`positive-ascending`),document.body.removeChild(t),G}return G}var Ai=150,ji=function(e,t){return e};function Mi(e){var t,n=e.getItemOffset,r=e.getEstimatedTotalSize,i=e.getItemSize,a=e.getOffsetForIndexAndAlignment,o=e.getStartIndexForOffset,s=e.getStopIndexForStartIndex,c=e.initInstanceProps,l=e.shouldResetStyleCacheOnItemSizeChange,u=e.validateProps;return t=function(e){ce(t,e);function t(t){var r=e.call(this,t)||this;return r._instanceProps=c(r.props,le(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:le(r),isScrolling:!1,scrollDirection:`forward`,scrollOffset:typeof r.props.initialScrollOffset==`number`?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=Ci(function(e,t,n,i){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:i})}),r._callOnScroll=void 0,r._callOnScroll=Ci(function(e,t,n){return r.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:n})}),r._getItemStyle=void 0,r._getItemStyle=function(e){var t=r.props,a=t.direction,o=t.itemSize,s=t.layout,c=r._getItemStyleCache(l&&o,l&&s,l&&a),u;if(c.hasOwnProperty(e))u=c[e];else{var d=n(r.props,e,r._instanceProps),f=i(r.props,e,r._instanceProps),p=a===`horizontal`||s===`horizontal`,m=a===`rtl`,h=p?d:0;c[e]=u={position:`absolute`,left:m?void 0:h,right:m?h:void 0,top:p?0:d,height:p?`100%`:f,width:p?f:`100%`}}return u},r._getItemStyleCache=void 0,r._getItemStyleCache=Ci(function(e,t,n){return{}}),r._onScrollHorizontal=function(e){var t=e.currentTarget,n=t.clientWidth,i=t.scrollLeft,a=t.scrollWidth;r.setState(function(e){if(e.scrollOffset===i)return null;var t=r.props.direction,o=i;if(t===`rtl`)switch(ki()){case`negative`:o=-i;break;case`positive-descending`:o=a-n-i}return o=Math.max(0,Math.min(o,a-n)),{isScrolling:!0,scrollDirection:e.scrollOffset<o?`forward`:`backward`,scrollOffset:o,scrollUpdateWasRequested:!1}},r._resetIsScrollingDebounced)},r._onScrollVertical=function(e){var t=e.currentTarget,n=t.clientHeight,i=t.scrollHeight,a=t.scrollTop;r.setState(function(e){if(e.scrollOffset===a)return null;var t=Math.max(0,Math.min(a,i-n));return{isScrolling:!0,scrollDirection:e.scrollOffset<t?`forward`:`backward`,scrollOffset:t,scrollUpdateWasRequested:!1}},r._resetIsScrollingDebounced)},r._outerRefSetter=function(e){var t=r.props.outerRef;r._outerRef=e,typeof t==`function`?t(e):typeof t==`object`&&t&&t.hasOwnProperty(`current`)&&(t.current=e)},r._resetIsScrollingDebounced=function(){r._resetIsScrollingTimeoutId!==null&&Ti(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=Ei(r._resetIsScrolling,Ai)},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},function(){r._getItemStyleCache(-1,null)})},r}t.getDerivedStateFromProps=function(e,t){return Ni(e,t),u(e),null};var d=t.prototype;return d.scrollTo=function(e){e=Math.max(0,e),this.setState(function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset<e?`forward`:`backward`,scrollOffset:e,scrollUpdateWasRequested:!0}},this._resetIsScrollingDebounced)},d.scrollToItem=function(e,t){t===void 0&&(t=`auto`);var n=this.props,r=n.itemCount,i=n.layout,o=this.state.scrollOffset;e=Math.max(0,Math.min(e,r-1));var s=0;if(this._outerRef){var c=this._outerRef;s=i===`vertical`?c.scrollWidth>c.clientWidth?Oi():0:c.scrollHeight>c.clientHeight?Oi():0}this.scrollTo(a(this.props,e,t,o,this._instanceProps,s))},d.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,r=e.layout;if(typeof n==`number`&&this._outerRef!=null){var i=this._outerRef;t===`horizontal`||r===`horizontal`?i.scrollLeft=n:i.scrollTop=n}this._callPropsCallbacks()},d.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,r=this.state,i=r.scrollOffset;if(r.scrollUpdateWasRequested&&this._outerRef!=null){var a=this._outerRef;if(t===`horizontal`||n===`horizontal`){if(t===`rtl`)switch(ki()){case`negative`:a.scrollLeft=-i;break;case`positive-ascending`:a.scrollLeft=i;break;default:var o=a.clientWidth;a.scrollLeft=a.scrollWidth-o-i}else a.scrollLeft=i}else a.scrollTop=i}this._callPropsCallbacks()},d.componentWillUnmount=function(){this._resetIsScrollingTimeoutId!==null&&Ti(this._resetIsScrollingTimeoutId)},d.render=function(){var e=this.props,t=e.children,n=e.className,i=e.direction,a=e.height,o=e.innerRef,s=e.innerElementType,c=e.innerTagName,l=e.itemCount,u=e.itemData,d=e.itemKey,f=d===void 0?ji:d,p=e.layout,m=e.outerElementType,h=e.outerTagName,g=e.style,_=e.useIsScrolling,v=e.width,y=this.state.isScrolling,b=i===`horizontal`||p===`horizontal`,x=b?this._onScrollHorizontal:this._onScrollVertical,ee=this._getRangeToRender(),te=ee[0],re=ee[1],ie=[];if(l>0)for(var S=te;S<=re;S++)ie.push((0,w.createElement)(t,{data:u,key:f(S,u),index:S,isScrolling:_?y:void 0,style:this._getItemStyle(S)}));var C=r(this.props,this._instanceProps);return(0,w.createElement)(m||h||`div`,{className:n,onScroll:x,ref:this._outerRefSetter,style:ne({position:`relative`,height:a,width:v,overflow:`auto`,WebkitOverflowScrolling:`touch`,willChange:`transform`,direction:i},g)},(0,w.createElement)(s||c||`div`,{children:ie,ref:o,style:{height:b?`100%`:C,pointerEvents:y?`none`:void 0,width:b?C:`100%`}}))},d._callPropsCallbacks=function(){if(typeof this.props.onItemsRendered==`function`&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],i=e[3];this._callOnItemsRendered(t,n,r,i)}if(typeof this.props.onScroll==`function`){var a=this.state,o=a.scrollDirection,s=a.scrollOffset,c=a.scrollUpdateWasRequested;this._callOnScroll(o,s,c)}},d._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,i=r.isScrolling,a=r.scrollDirection,c=r.scrollOffset;if(t===0)return[0,0,0,0];var l=o(this.props,c,this._instanceProps),u=s(this.props,l,c,this._instanceProps),d=!i||a===`backward`?Math.max(1,n):1,f=!i||a===`forward`?Math.max(1,n):1;return[Math.max(0,l-d),Math.max(0,Math.min(t-1,u+f)),l,u]},t}(w.PureComponent),t.defaultProps={direction:`ltr`,itemData:void 0,layout:`vertical`,overscanCount:2,useIsScrolling:!1},t}var Ni=function(e,t){e.children,e.direction,e.height,e.layout,e.innerTagName,e.outerTagName,e.width,t.instance},Pi=Mi({getItemOffset:function(e,t){return t*e.itemSize},getItemSize:function(e,t){return e.itemSize},getEstimatedTotalSize:function(e){var t=e.itemCount;return e.itemSize*t},getOffsetForIndexAndAlignment:function(e,t,n,r,i,a){var o=e.direction,s=e.height,c=e.itemCount,l=e.itemSize,u=e.layout,d=e.width,f=o===`horizontal`||u===`horizontal`?d:s,p=Math.max(0,c*l-f),m=Math.min(p,t*l),h=Math.max(0,t*l-f+l+a);switch(n===`smart`&&(n=r>=h-f&&r<=m+f?`auto`:`center`),n){case`start`:return m;case`end`:return h;case`center`:var g=Math.round(h+(m-h)/2);return g<Math.ceil(f/2)?0:g>p+Math.floor(f/2)?p:g;default:return r>=h&&r<=m?r:r<h?h:m}},getStartIndexForOffset:function(e,t){var n=e.itemCount,r=e.itemSize;return Math.max(0,Math.min(n-1,Math.floor(t/r)))},getStopIndexForStartIndex:function(e,t,n){var r=e.direction,i=e.height,a=e.itemCount,o=e.itemSize,s=e.layout,c=e.width,l=r===`horizontal`||s===`horizontal`,u=t*o,d=Math.ceil(((l?c:i)+n-u)/o);return Math.max(0,Math.min(a-1,t+d-1))},initInstanceProps:function(e){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(e){e.itemSize}});function Fi(){let e=R(),t=Sr().cursor;if(!t||t.type!==`line`)return null;let n=e.indent,r=e.rowHeight*t.index+(e.props.padding??e.props.paddingTop??0),i=n*t.level,a=e.renderCursor;return(0,T.jsx)(a,{top:r,left:i,indent:n})}var Ii=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Li=(0,w.forwardRef)(function(e,t){let{children:n}=e,r=Ii(e,[`children`]),i=R();return(0,T.jsxs)(`div`,Object.assign({ref:t},r,{onClick:e=>{e.currentTarget===e.target&&i.deselectAll()},children:[(0,T.jsx)(Ri,{}),n]}))}),Ri=()=>{let e=R();return(0,T.jsx)(`div`,{style:{height:e.visibleNodes.length*e.rowHeight,width:`100%`,position:`absolute`,left:`0`,right:`0`},children:(0,T.jsx)(Fi,{})})},zi=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Bi=(0,w.forwardRef)(function(e,t){var{style:n}=e,r=zi(e,[`style`]);let i=R(),a=i.props.padding??i.props.paddingTop??0,o=i.props.padding??i.props.paddingBottom??0;return(0,T.jsx)(`div`,Object.assign({ref:t,style:Object.assign(Object.assign({},n),{height:`${parseFloat(n.height)+a+o}px`})},r))});function Vi(e){let t=R(),n=t.selectedIds,[r,i,a]=Mn(()=>({canDrag:()=>e.isDraggable,type:`NODE`,item:()=>{let r=t.isSelected(e.id)?Array.from(n):[e.id];return t.dispatch(W.dragStart(e.id,r)),{id:e.id,dragIds:r}},end:()=>{t.hideCursor(),t.dispatch(W.dragEnd())}}),[n,e]);return(0,w.useEffect)(()=>{a(gr())},[a]),i}function Hi(e,t){let n=e.getBoundingClientRect(),r=t.x-Math.round(n.x),i=t.y-Math.round(n.y),a=n.height,o=i<a/2,s=!o,c=a/4,l=i>c&&i<a-c;return{x:r,inTopHalf:o,inBottomHalf:s,inMiddle:l,atTop:!l&&o,atBottom:!l&&s}}function Ui(e,t,n,r){return e?e.isInternal?r.atTop?[t,e]:r.inMiddle?[e,e]:[e,n]:r.inTopHalf?[t,e]:[e,n]:[t,null]}function Wi(e,t){return{parentId:e||null,index:t}}function K(e,t){return{type:`line`,index:e,level:t}}function Gi(e){return{type:`highlight`,id:e}}function Ki(e,t){let n=e;for(;n.parent&&n.level>t;)n=n.parent;return{parentId:n.parent?.id||null,index:jr(n)+1}}function qi(e){let t=Hi(e.element,e.offset),n=e.indent,r=Math.round(Math.max(0,t.x-n)/n),{node:i,nextNode:a,prevNode:o}=e,[s,c]=Ui(i,o,a,t);if(i&&i.isInternal&&t.inMiddle)return{drop:Wi(i.id,null),cursor:Gi(i.id)};if(!s)return{drop:Wi(c?.parent?.id,0),cursor:K(0,0)};if(Dr(s)){let e=Er(r,c?.level||0,s.level);return{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}if(Or(s)){let e=Er(r,c?.level||0,s.level);return{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}if(kr(s)){let e=Er(r,0,s.level+1);return e>s.level?{drop:Wi(s.id,0),cursor:K(s.rowIndex+1,e)}:{drop:Ki(s,e),cursor:K(s.rowIndex+1,e)}}return{drop:Wi(s?.id,0),cursor:K(s.rowIndex+1,s.level+1)}}function Ji(e,t){let n=R(),[r,i]=Vn(()=>({accept:`NODE`,canDrop:()=>n.canDrop(),hover:(r,i)=>{let a=i.getClientOffset();if(!e.current||!a)return;let{cursor:o,drop:s}=qi({element:e.current,offset:a,indent:n.indent,node:t,prevNode:t.prev,nextNode:t.next});s&&n.dispatch(W.hovering(s.parentId,s.index)),i.canDrop()?o&&n.showCursor(o):n.hideCursor()},drop:(e,t)=>{if(!t.canDrop())return null;let{parentId:r,index:i,dragIds:a}=n.state.dnd;Hr(n.props.onMove,{dragIds:a,parentId:r===`__REACT_ARBORIST_INTERNAL_ROOT__`?null:r,index:i===null?0:i,dragNodes:n.dragNodes,parentNode:n.get(r)}),n.open(r)}}),[t,e.current,n.props]);return i}function Yi(e){let t=R(),n=t.at(e);if(!n)throw Error(`Could not find node for index: ${e}`);return(0,w.useMemo)(()=>{let r=n.clone();return t.visibleNodes[e]=r,r},[...Object.values(n.state),n])}var Xi=w.memo(function({index:e,style:t}){wr(),br();let n=R(),r=Yi(e),i=(0,w.useRef)(null),a=Vi(r),o=Ji(i,r),s=(0,w.useCallback)(e=>{i.current=e,o(e)},[o]),c=n.indent*r.level,l=(0,w.useMemo)(()=>({paddingLeft:c}),[c]),u=(0,w.useMemo)(()=>Object.assign(Object.assign({},t),{top:parseFloat(t.top)+(n.props.padding??n.props.paddingTop??0)}),[t,n.props.padding,n.props.paddingTop]),d={role:`treeitem`,"aria-level":r.level+1,"aria-selected":r.isSelected,"aria-expanded":r.isOpen,style:u,tabIndex:-1,className:n.props.rowClassName};(0,w.useEffect)(()=>{var e;!r.isEditing&&r.isFocused&&((e=i.current)==null||e.focus({preventScroll:!0}))},[r.isEditing,r.isFocused,i.current]);let f=n.renderNode,p=n.renderRow;return(0,T.jsx)(p,{node:r,innerRef:s,attrs:d,children:(0,T.jsx)(f,{node:r,tree:n,style:l,dragHandle:a})})}),Zi=``,Qi=null;function $i(){wr();let e=R();return(0,T.jsx)(`div`,{role:`tree`,style:{height:e.height,width:e.width,minHeight:0,minWidth:0},onContextMenu:e.props.onContextMenu,onClick:e.props.onClick,tabIndex:0,onFocus:t=>{t.currentTarget.contains(t.relatedTarget)||e.onFocus()},onBlur:t=>{t.currentTarget.contains(t.relatedTarget)||e.onBlur()},onKeyDown:t=>{if(e.isEditing)return;if(t.key===`Backspace`){if(!e.props.onDelete)return;let t=Array.from(e.selectedIds);if(t.length>1){let n=e.mostRecentNode;for(;n&&n.isSelected;)n=n.nextSibling;n||=e.lastNode,e.focus(n,{scroll:!1}),e.delete(Array.from(t))}else{let t=e.focusedNode;if(t){let n=t.nextSibling,r=t.parent;e.focus(n||r,{scroll:!1}),e.delete(t)}}return}if(t.key===`Tab`&&!t.shiftKey){t.preventDefault(),Fr(t.currentTarget);return}if(t.key===`Tab`&&t.shiftKey){t.preventDefault(),Ir(t.currentTarget);return}if(t.key===`ArrowDown`){t.preventDefault();let n=e.nextNode;if(t.metaKey){e.select(e.focusedNode),e.activate(e.focusedNode);return}if(!t.shiftKey||e.props.disableMultiSelection){e.focus(n);return}{if(!n)return;let t=e.focusedNode;t?t.isSelected?e.selectContiguous(n):e.selectMulti(n):e.focus(e.firstNode);return}}if(t.key===`ArrowUp`){t.preventDefault();let n=e.prevNode;if(!t.shiftKey||e.props.disableMultiSelection){e.focus(n);return}{if(!n)return;let t=e.focusedNode;t?t.isSelected?e.selectContiguous(n):e.selectMulti(n):e.focus(e.lastNode);return}}if(t.key===`ArrowRight`){let t=e.focusedNode;if(!t)return;t.isInternal&&t.isOpen?e.focus(e.nextNode):t.isInternal&&e.open(t.id);return}if(t.key===`ArrowLeft`){let t=e.focusedNode;if(!t||t.isRoot)return;t.isInternal&&t.isOpen?e.close(t.id):t.parent?.isRoot||e.focus(t.parent);return}if(t.key===`a`&&t.metaKey&&!e.props.disableMultiSelection){t.preventDefault(),e.selectAll();return}if(t.key===`a`&&!t.metaKey&&e.props.onCreate){e.createLeaf();return}if(t.key===`A`&&!t.metaKey){if(!e.props.onCreate)return;e.createInternal();return}if(t.key===`Home`){t.preventDefault(),e.focus(e.firstNode);return}if(t.key===`End`){t.preventDefault(),e.focus(e.lastNode);return}if(t.key===`Enter`){let t=e.focusedNode;if(!t||!t.isEditable||!e.props.onRename)return;setTimeout(()=>{t&&e.edit(t)});return}if(t.key===` `){t.preventDefault();let n=e.focusedNode;if(!n)return;n.isLeaf?(n.select(),n.activate()):n.toggle();return}if(t.key===`*`){let t=e.focusedNode;if(!t)return;e.openSiblings(t);return}if(t.key===`PageUp`){t.preventDefault(),e.pageUp();return}t.key===`PageDown`&&(t.preventDefault(),e.pageDown()),clearTimeout(Qi),Zi+=t.key,Qi=setTimeout(()=>{Zi=``},600);let n=e.visibleNodes.find(e=>{let t=e.data.name;return typeof t==`string`&&t.toLowerCase().startsWith(Zi)});n&&e.focus(n.id)},children:(0,T.jsx)(Pi,{className:e.props.className,outerRef:e.listEl,itemCount:e.visibleNodes.length,height:e.height,width:e.width,itemSize:e.rowHeight,overscanCount:e.overscanCount,itemKey:t=>e.visibleNodes[t]?.id||t,outerElementType:Li,innerElementType:Bi,onScroll:e.props.onScroll,onItemsRendered:e.onItemsRendered.bind(e),ref:e.list,children:Xi})})}function ea(e){return e.isFiltered?na(e.root,e.isMatch.bind(e)):ta(e.root)}function ta(e){let t=[];function n(e){var r;e.level>=0&&t.push(e),e.isOpen&&((r=e.children)==null||r.forEach(n))}return n(e),t.forEach(ra),t}function na(e,t){let n={},r=[];function i(e){if(!e.isRoot&&t(e)){n[e.id]=!0;let t=e.parent;for(;t;)n[t.id]=!0,t=t.parent}if(e.children)for(let t of e.children)i(t)}function a(e){var t;e.level>=0&&n[e.id]&&r.push(e),e.isOpen&&((t=e.children)==null||t.forEach(a))}return i(e),a(e),r.forEach(ra),r}function ra(e,t){e.rowIndex=t}var ia=e=>e.reduce((e,t,n)=>(e[t.id]=n,e),{}),aa=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},{safeRun:q,identify:J,identifyNull:Y}=Tr,oa=class e{constructor(e,t,n,r){this.store=e,this.props=t,this.list=n,this.listEl=r,this.visibleStartIndex=0,this.visibleStopIndex=0,this.root=oi(this),this.visibleNodes=ea(this),this.idToIndex=ia(this.visibleNodes)}update(e){this.props=e,this.root=oi(this),this.visibleNodes=ea(this),this.idToIndex=ia(this.visibleNodes)}dispatch(e){return this.store.dispatch(e)}get state(){return this.store.getState()}get openState(){return this.state.nodes.open.unfiltered}get width(){return this.props.width??300}get height(){return this.props.height??500}get indent(){return this.props.indent??24}get rowHeight(){return this.props.rowHeight??24}get overscanCount(){return this.props.overscanCount??1}get searchTerm(){return(this.props.searchTerm||``).trim()}get matchFn(){let e=this.props.searchMatch??((e,t)=>JSON.stringify(Object.values(e.data)).toLocaleLowerCase().includes(t.toLocaleLowerCase()));return t=>e(t,this.searchTerm)}accessChildren(e){return z(e,this.props.childrenAccessor||`children`)??null}accessId(e){let t=z(e,this.props.idAccessor||`id`);if(!t)throw Error(`Data must contain an 'id' property or props.idAccessor must return a string`);return t}get firstNode(){return this.visibleNodes[0]??null}get lastNode(){return this.visibleNodes[this.visibleNodes.length-1]??null}get focusedNode(){return this.get(this.state.nodes.focus.id)??null}get mostRecentNode(){return this.get(this.state.nodes.selection.mostRecent)??null}get nextNode(){let e=this.indexOf(this.focusedNode);return e===null?null:this.at(e+1)}get prevNode(){let e=this.indexOf(this.focusedNode);return e===null?null:this.at(e-1)}get(e){return e&&e in this.idToIndex&&this.visibleNodes[this.idToIndex[e]]||null}at(e){return this.visibleNodes[e]||null}nodesBetween(e,t){if(e===null||t===null)return[];let n=this.indexOf(e)??0,r=this.indexOf(t);if(r===null)return[];let i=Math.min(n,r),a=Math.max(n,r);return this.visibleNodes.slice(i,a+1)}indexOf(e){let t=Br(e);return t?this.idToIndex[t]:null}get editingId(){return this.state.nodes.edit.id}createInternal(){return this.create({type:`internal`})}createLeaf(){return this.create({type:`leaf`})}create(){return aa(this,arguments,void 0,function*(e={}){let t=e.parentId===void 0?Gr(this):e.parentId,n=e.index??Wr(this),r=e.type??`leaf`,i=yield q(this.props.onCreate,{type:r,parentId:t,index:n,parentNode:this.get(t)});i&&(this.focus(i),setTimeout(()=>{this.edit(i).then(()=>{this.select(i),this.activate(i)})}))})}delete(e){return aa(this,void 0,void 0,function*(){if(!e)return;let t=(Array.isArray(e)?e:[e]).map(J),n=t.map(e=>this.get(e)).filter(e=>!!e);yield q(this.props.onDelete,{nodes:n,ids:t})})}edit(t){let n=J(t);return this.resolveEdit({cancelled:!0}),this.scrollTo(n),this.dispatch(ei(n)),new Promise(t=>{e.editPromise=t})}submit(e,t){return aa(this,void 0,void 0,function*(){if(!e)return;let n=J(e);yield q(this.props.onRename,{id:n,name:t,node:this.get(n)}),this.dispatch(ei(null)),this.resolveEdit({cancelled:!1,value:t}),setTimeout(()=>this.onFocus())})}reset(){this.dispatch(ei(null)),this.resolveEdit({cancelled:!0}),setTimeout(()=>this.onFocus())}activate(e){let t=this.get(Y(e));t&&q(this.props.onActivate,t)}resolveEdit(t){let n=e.editPromise;n&&n(t),e.editPromise=null}get selectedIds(){return this.state.nodes.selection.ids}get selectedNodes(){let e=[];for(let t of Array.from(this.selectedIds)){let n=this.get(t);n&&e.push(n)}return e}focus(e,t={}){e&&(this.props.selectionFollowsFocus?this.select(e):(this.dispatch(V(J(e))),t.scroll!==!1&&this.scrollTo(e),this.focusedNode&&q(this.props.onFocus,this.focusedNode)))}pageUp(){let e=this.visibleStartIndex,t=this.visibleStopIndex-e,n=this.focusedNode?.rowIndex??0;n=n>e?e:Math.max(e-t,0),this.focus(this.at(n))}pageDown(){let e=this.visibleStartIndex,t=this.visibleStopIndex,n=t-e,r=this.focusedNode?.rowIndex??0;r=r<t?t:Math.min(r+n,this.visibleNodes.length-1),this.focus(this.at(r))}select(e,t={}){if(!e)return;let n=t.focus!==!1,r=J(e);n&&this.dispatch(V(r)),this.dispatch(U.only(r)),this.dispatch(U.anchor(r)),this.dispatch(U.mostRecent(r)),this.scrollTo(r,t.align),this.focusedNode&&n&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}deselect(e){if(!e)return;let t=J(e);this.dispatch(U.remove(t)),q(this.props.onSelect,this.selectedNodes)}selectMulti(e){let t=this.get(Y(e));t&&(this.dispatch(V(t.id)),this.dispatch(U.add(t.id)),this.dispatch(U.anchor(t.id)),this.dispatch(U.mostRecent(t.id)),this.scrollTo(t),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes))}selectContiguous(e){if(!e)return;let t=J(e),{anchor:n,mostRecent:r}=this.state.nodes.selection;this.dispatch(V(t)),this.dispatch(U.remove(this.nodesBetween(n,r))),this.dispatch(U.add(this.nodesBetween(n,Y(t)))),this.dispatch(U.mostRecent(t)),this.scrollTo(t),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}deselectAll(){this.setSelection({ids:[],anchor:null,mostRecent:null}),q(this.props.onSelect,this.selectedNodes)}selectAll(){this.setSelection({ids:Object.keys(this.idToIndex),anchor:this.firstNode,mostRecent:this.lastNode}),this.dispatch(V(this.lastNode?.id)),this.focusedNode&&q(this.props.onFocus,this.focusedNode),q(this.props.onSelect,this.selectedNodes)}setSelection(e){let t=new Set(e.ids?.map(J)),n=Y(e.anchor),r=Y(e.mostRecent);this.dispatch(U.set({ids:t,anchor:n,mostRecent:r})),q(this.props.onSelect,this.selectedNodes)}get cursorParentId(){let{cursor:e}=this.state.dnd;switch(e.type){case`highlight`:return e.id;default:return null}}get cursorOverFolder(){return this.state.dnd.cursor.type===`highlight`}get dragNodes(){return this.state.dnd.dragIds.map(e=>this.get(e)).filter(e=>!!e)}get dragNode(){return this.get(this.state.nodes.drag.id)}get dragDestinationParent(){return this.get(this.state.nodes.drag.destinationParentId)}get dragDestinationIndex(){return this.state.nodes.drag.destinationIndex}canDrop(){if(this.isFiltered)return!1;let e=this.get(this.state.dnd.parentId)??this.root,t=this.dragNodes,n=this.props.disableDrop;for(let n of t)if(!n||!e||n.isInternal&&Ar(e,n))return!1;return typeof n==`function`?!n({parentNode:e,dragNodes:this.dragNodes,index:this.state.dnd.index||0}):typeof n==`string`?!e.data[n]:typeof n!=`boolean`||!n}hideCursor(){this.dispatch(W.cursor({type:`none`}))}showCursor(e){this.dispatch(W.cursor(e))}open(e){let t=Y(e);t&&(this.isOpen(t)||(this.dispatch(si.open(t,this.isFiltered)),q(this.props.onToggle,t)))}close(e){let t=Y(e);t&&this.isOpen(t)&&(this.dispatch(si.close(t,this.isFiltered)),q(this.props.onToggle,t))}toggle(e){let t=Y(e);if(t)return this.isOpen(t)?this.close(t):this.open(t)}openParents(e){let t=Y(e);if(!t)return;let n=Nr(this.root,t)?.parent;for(;n;)this.open(n.id),n=n.parent}openSiblings(e){let t=e.parent;if(!t)this.toggle(e.id);else if(t.children){let n=e.isOpen;for(let e of t.children)e.isInternal&&(n?this.close(e.id):this.open(e.id));this.scrollTo(this.focusedNode)}}openAll(){Pr(this.root,e=>{e.isInternal&&e.open()})}closeAll(){Pr(this.root,e=>{e.isInternal&&e.close()})}scrollTo(e,t=`smart`){if(!e)return;let n=J(e);return this.openParents(n),Ur(()=>n in this.idToIndex).then(()=>{var e;let r=this.idToIndex[n];r!==void 0&&((e=this.list.current)==null||e.scrollToItem(r,t))}).catch(()=>{})}get isEditing(){return this.state.nodes.edit.id!==null}get isFiltered(){return!!this.props.searchTerm?.trim()}get hasFocus(){return this.state.nodes.focus.treeFocused}get hasNoSelection(){return this.state.nodes.selection.ids.size===0}get hasOneSelection(){return this.state.nodes.selection.ids.size===1}get hasMultipleSelections(){return this.state.nodes.selection.ids.size>1}isSelected(e){return e?this.state.nodes.selection.ids.has(e):!1}isOpen(e){if(!e)return!1;if(e===`__REACT_ARBORIST_INTERNAL_ROOT__`)return!0;let t=this.props.openByDefault??!0;return this.isFiltered?this.state.nodes.open.filtered[e]??!0:this.state.nodes.open.unfiltered[e]??t}isEditable(e){return!z(e,this.props.disableEdit||(()=>!1))}isDraggable(e){return!z(e,this.props.disableDrag||(()=>!1))}isDragging(e){let t=Y(e);return t?this.state.nodes.drag.id===t:!1}isFocused(e){return this.hasFocus&&this.state.nodes.focus.id===e}isMatch(e){return this.matchFn(e)}willReceiveDrop(e){let t=Y(e);if(!t)return!1;let{destinationParentId:n,destinationIndex:r}=this.state.nodes.drag;return t===n&&r===null}onFocus(){let e=this.focusedNode||this.firstNode;e&&this.dispatch(V(e.id))}onBlur(){this.dispatch(ni())}onItemsRendered(e){this.visibleStartIndex=e.visibleStartIndex,this.visibleStopIndex=e.visibleStopIndex}get renderContainer(){return this.props.renderContainer||$i}get renderRow(){return this.props.renderRow||Xr}get renderNode(){return this.props.children||Zr}get renderDragPreview(){return this.props.renderDragPreview||hi}get renderCursor(){return this.props.renderCursor||Yr}};function X(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var sa=typeof Symbol==`function`&&Symbol.observable||`@@observable`,ca=()=>Math.random().toString(36).substring(7).split(``).join(`.`),la={INIT:`@@redux/INIT${ca()}`,REPLACE:`@@redux/REPLACE${ca()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ca()}`};function ua(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function da(e,t,n){if(typeof e!=`function`)throw Error(X(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(X(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(X(1));return n(da)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(X(3));return i}function d(e){if(typeof e!=`function`)throw Error(X(4));if(c)throw Error(X(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(X(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!ua(e))throw Error(X(7));if(e.type===void 0)throw Error(X(8));if(typeof e.type!=`string`)throw Error(X(17));if(c)throw Error(X(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(X(10));r=e,f({type:la.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(X(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[sa](){return this}}}return f({type:la.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[sa]:m}}function fa(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:la.INIT})===void 0)throw Error(X(12));if(n(void 0,{type:la.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(X(13))})}function pa(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{fa(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(X(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function ma(e=H().nodes.drag,t){switch(t.type){case`DND_DRAG_START`:return Object.assign(Object.assign({},e),{id:t.id,selectedIds:t.dragIds});case`DND_DRAG_END`:return Object.assign(Object.assign({},e),{id:null,destinationParentId:null,destinationIndex:null,selectedIds:[]});case`DND_HOVERING`:return t.parentId!==e.destinationParentId||t.index!=e.destinationIndex?Object.assign(Object.assign({},e),{destinationParentId:t.parentId,destinationIndex:t.index}):e;default:return e}}var ha=pa({nodes:pa({focus:ri,edit:ti,open:li,selection:ui,drag:ma}),dnd:di}),ga=H();function _a({treeProps:e,imperativeHandle:t,children:n}){let r=(0,w.useRef)(null),i=(0,w.useRef)(null),a=(0,w.useRef)(da(ha,H(e))),o=(0,oe.useSyncExternalStore)(a.current.subscribe,a.current.getState,()=>ga),s=(0,w.useMemo)(()=>new oa(a.current,e,r,i),[]),c=(0,w.useRef)(0);return(0,w.useMemo)(()=>{c.current+=1,s.update(e)},[...Object.values(e),o.nodes.open]),(0,w.useImperativeHandle)(t,()=>s),(0,w.useEffect)(()=>{s.props.selection?s.select(s.props.selection,{focus:!1}):s.deselectAll()},[s.props.selection]),(0,w.useEffect)(()=>{s.props.searchTerm||a.current.dispatch(si.clear(!0))},[s.props.searchTerm]),(0,T.jsx)(vr.Provider,{value:s,children:(0,T.jsx)(Cr.Provider,{value:c.current,children:(0,T.jsx)(yr.Provider,{value:o.nodes,children:(0,T.jsx)(xr.Provider,{value:o.dnd,children:(0,T.jsx)(Qt,Object.assign({backend:_r,options:{rootElement:s.props.dndRootElement||void 0}},e.dndManager&&{manager:e.dndManager},{children:n}))})})})})}function va(){let e=R(),[,t]=Vn(()=>({accept:`NODE`,canDrop:(t,n)=>n.isOver({shallow:!0})?e.canDrop():!1,hover:(t,n)=>{if(!n.isOver({shallow:!0}))return;let r=n.getClientOffset();if(!e.listEl.current||!r)return;let{cursor:i,drop:a}=qi({element:e.listEl.current,offset:r,indent:e.indent,node:null,prevNode:e.visibleNodes[e.visibleNodes.length-1],nextNode:null});a&&e.dispatch(W.hovering(a.parentId,a.index)),n.canDrop()?i&&e.showCursor(i):e.hideCursor()}}),[e]);t(e.listEl)}function ya(e){return va(),e.children}function ba(){let e=R().props.renderContainer||$i;return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(e,{})})}function xa(){let e=R(),{offset:t,mouse:n,item:r,isDragging:i}=Nn(e=>({offset:e.getSourceClientOffset(),mouse:e.getClientOffset(),item:e.getItem(),isDragging:e.isDragging()})),a=e.props.renderDragPreview||hi;return(0,T.jsx)(a,{offset:t,mouse:n,id:r?.id||null,dragIds:r?.dragIds||[],isDragging:i})}var Z=class{constructor(e){this.root=Sa(e)}get data(){return this.root.children?.map(e=>e.data)??[]}create(e){let t=e.parentId?this.find(e.parentId):this.root;if(!t)return null;t.addChild(e.data,e.index)}move(e){let t=this.find(e.id),n=e.parentId?this.find(e.parentId):this.root;!t||!n||(n.addChild(t.data,e.index),t.drop())}update(e){let t=this.find(e.id);t&&t.update(e.changes)}drop(e){let t=this.find(e.id);t&&t.drop()}find(e,t=this.root){if(!t)return null;if(t.id===e)return t;if(t.children){for(let n of t.children){let t=this.find(e,n);if(t)return t}return null}return null}};function Sa(e){let t=new wa({id:`ROOT`},null);return t.children=e.map(e=>Ca(e,t)),t}function Ca(e,t){let n=new wa(e,t);return e.children&&(n.children=e.children.map(e=>Ca(e,n))),n}var wa=class{constructor(e,t){this.data=e,this.parent=t,this.id=e.id}hasParent(){return!!this.parent}get childIndex(){return this.hasParent()?this.parent.children.indexOf(this):-1}addChild(e,t){let n=Ca(e,this);this.children=this.children??[],this.children.splice(t,0,n),this.data.children=this.data.children??[],this.data.children.splice(t,0,e)}removeChild(e){var t,n;(t=this.children)==null||t.splice(e,1),(n=this.data.children)==null||n.splice(e,1)}update(e){if(this.hasParent()){let t=this.childIndex;this.parent.addChild(Object.assign(Object.assign({},this.data),e),t),this.drop()}}drop(){this.hasParent()&&this.parent.removeChild(this.childIndex)}},Ta=0;function Ea(e){let[t,n]=(0,w.useState)(e),r=(0,w.useMemo)(()=>new Z(t),[t]);return[t,{onMove:e=>{for(let t of e.dragIds)r.move({id:t,parentId:e.parentId,index:e.index});n(r.data)},onRename:({name:e,id:t})=>{r.update({id:t,changes:{name:e}}),n(r.data)},onCreate:({parentId:e,index:t,type:i})=>{let a={id:`simple-tree-id-${Ta++}`,name:``};return i===`internal`&&(a.children=[]),r.create({parentId:e,index:t,data:a}),n(r.data),a},onDelete:e=>{e.ids.forEach(e=>r.drop({id:e})),n(r.data)}}]}function Da(e){if(e.initialData&&e.data)throw Error(`React Arborist Tree => Provide either a data or initialData prop, but not both.`);if(e.initialData&&(e.onCreate||e.onDelete||e.onMove||e.onRename))throw Error(`React Arborist Tree => You passed the initialData prop along with a data handler.
|
|
3
|
-
Use the data prop if you want to provide your own handlers.`);if(e.initialData){let[t,n]=Ea(e.initialData);return Object.assign(Object.assign(Object.assign({},e),n),{data:t})}return e}function Oa(e,t){let n=Da(e);return(0,T.jsxs)(_a,{treeProps:n,imperativeHandle:t,children:[(0,T.jsx)(ya,{children:(0,T.jsx)(ba,{})}),(0,T.jsx)(xa,{})]})}var ka=(0,w.forwardRef)(Oa),Q=a(),Aa=5;function $(e){return e.success?e:(x({title:`Failed`,description:e.message}),null)}var ja=class{delegate=new Z([]);callbacks;constructor(e){this.callbacks=e}rootPath=``;onChange=o.NOOP;path=new ee(`/`);initialize=async e=>{if(this.onChange=e,this.delegate.data.length===0)try{let e=await this.callbacks.listFiles({path:this.rootPath});this.delegate=new Z(e.files),this.rootPath=e.root,this.path=ee.guessDeliminator(e.root)}catch(e){x({title:`Failed`,description:te(e)})}this.onChange(this.delegate.data)};async expand(e){let t=this.delegate.find(e);if(!t||!t.data.isDirectory)return!1;if(t.children&&t.children.length>0)return!0;let n=await this.callbacks.listFiles({path:t.data.path});return this.delegate.update({id:e,changes:{children:n.files}}),this.onChange(this.delegate.data),!0}async copy(e,t){let n=this.delegate.find(e);if(!n){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}let{path:r,newPath:i}=S({path:n.data.path,name:t,root:this.rootPath}),a=this.path.dirname(r),o=await this.callbacks.copyFileOrFolder({path:r,newPath:i}).then($);o?.info&&(this.delegate.create({parentId:n.parent?.id??null,index:0,data:o.info}),this.onChange(this.delegate.data),await this.refreshAll([a]))}async rename(e,t){let n=this.delegate.find(e);if(!n){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}let{path:r,newPath:i}=S({path:n.data.path,name:t,root:this.rootPath});await this.callbacks.renameFileOrFolder({path:r,newPath:i}).then($)&&(this.delegate.update({id:e,changes:{name:t,path:i}}),this.onChange(this.delegate.data),await this.refreshAll([i]))}async move(e,t){let n=t?this.delegate.find(t)?.data.path??t:this.rootPath;await C(e,Aa,async e=>{let r=this.delegate.find(e);if(!r)return;let i=r.data.path,a=this.path.join(n,this.path.basename(i));await this.callbacks.renameFileOrFolder({path:i,newPath:a}).then($)&&(this.delegate.move({id:e,parentId:t,index:0}),this.delegate.update({id:e,changes:{path:a}}))}),this.onChange(this.delegate.data),await this.refreshAll([n])}async createFile({name:e,parentId:t,type:n=`file`}){let r=t?this.delegate.find(t)?.data.path??t:this.rootPath,i=await this.callbacks.createFileOrFolder({path:r,type:n,name:e}).then($);i?.info&&(this.delegate.create({parentId:t,index:0,data:i.info}),this.onChange(this.delegate.data),await this.refreshAll([r]))}async createFolder(e,t){let n=t?this.delegate.find(t)?.data.path??t:this.rootPath,r=await this.callbacks.createFileOrFolder({path:n,type:`directory`,name:e}).then($);r?.info&&(this.delegate.create({parentId:t,index:0,data:r.info}),this.onChange(this.delegate.data),await this.refreshAll([n]))}async delete(e){let t=this.delegate.find(e);if(!t){x({title:`Failed`,description:`Node with id ${e} not found in the tree`});return}await this.callbacks.deleteFileOrFolder({path:t.data.path}).then($)&&(this.delegate.drop({id:e}),this.onChange(this.delegate.data))}refreshAll=async e=>{let t=[this.rootPath,...e.map(e=>this.delegate.find(e)?.data.path)].filter(Boolean),n=await C(t,Aa,e=>this.callbacks.listFiles({path:e}).catch(()=>({files:[]})));for(let[e,r]of t.entries()){let t=n[e];r===this.rootPath?this.delegate=new Z(t.files):this.delegate.update({id:r,changes:{children:t.files}})}this.onChange(this.delegate.data)};refreshPath=async e=>{let t=await this.callbacks.listFiles({path:e}).catch(()=>null);if(t){if(e===this.rootPath)this.delegate=new Z(t.files);else{let n=Ma(this.delegate.data,e);if(!n?.isDirectory)return;this.delegate.update({id:n.id,changes:{children:t.files}})}this.onChange(this.delegate.data)}};relativeFromRoot=e=>{let t=this.rootPath.endsWith(this.path.deliminator)?this.rootPath:`${this.rootPath}${this.path.deliminator}`;return e.startsWith(t)?e.slice(t.length):e};getRootPath=()=>this.rootPath};function Ma(e,t){for(let n of e){if(n.path===t)return n;let e=n.children?Ma(n.children,t):void 0;if(e)return e}}function Na(e){let t=(0,Q.c)(13),{root:n}=e,{sendRenameFileOrFolder:r,sendCopyFileOrFolder:i,sendDeleteFileOrFolder:a}=m(),o;t[0]!==n||t[1]!==r?(o=async(e,t)=>{let{path:i,newPath:a}=S({path:e.path,name:t,root:n});return $(await r({path:i,newPath:a}))},t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;t[3]!==n||t[4]!==i?(c=async e=>{let{path:t,newPath:r}=S({path:e.path,name:ie(e.name),root:n});return $(await i({path:t,newPath:r}))},t[3]=n,t[4]=i,t[5]=c):c=t[5];let l=c,u;t[6]!==n||t[7]!==a?(u=async e=>$(await a({path:re(e.path,n)})),t[6]=n,t[7]=a,t[8]=u):u=t[8];let d=u,f;return t[9]!==d||t[10]!==l||t[11]!==s?(f={renameFile:s,duplicateFile:l,deleteFile:d},t[9]=d,t[10]=l,t[11]=s,t[12]=f):f=t[12],f}var Pa={file:`Delete file`,folder:`Delete folder`,notebook:`Delete notebook`};function Fa(){let e=(0,Q.c)(2),{openConfirm:t}=y(),n;return e[0]===t?n=e[1]:(n=(e,n)=>{let r=e.kind??`file`;t({title:Pa[r],description:`Are you sure you want to delete ${e.name}?`,confirmAction:(0,T.jsx)(c,{onClick:async()=>{await n()},"aria-label":`Confirm`,children:`Delete`})})},e[0]=t,e[1]=n),n}function Ia(e){let t=(0,Q.c)(17),{node:n,root:i,onAfterChange:a}=e,o;t[0]===i?o=t[1]:(o={root:i},t[0]=i,t[1]=o);let{duplicateFile:s,deleteFile:c}=Na(o),l=Fa(),u;t[2]===n?u=t[3]:(u=()=>{n.edit()},t[2]=n,t[3]=u);let d=r(u),f;t[4]!==s||t[5]!==n.data||t[6]!==a?(f=async()=>{await s(n.data)&&a?.()},t[4]=s,t[5]=n.data,t[6]=a,t[7]=f):f=t[7];let p=r(f),m;t[8]!==l||t[9]!==c||t[10]!==n.data||t[11]!==a?(m=()=>{let e=n.data.isDirectory?`folder`:n.data.isMarimoFile?`notebook`:`file`;l({name:n.data.name,kind:e},async()=>{await c(n.data)&&a?.()})},t[8]=l,t[9]=c,t[10]=n.data,t[11]=a,t[12]=m):m=t[12];let h=r(m),g;return t[13]!==h||t[14]!==p||t[15]!==d?(g={handleRename:d,handleDuplicate:p,handleDelete:h},t[13]=h,t[14]=p,t[15]=d,t[16]=g):g=t[16],g}var La=e=>{let t=(0,Q.c)(15),{testId:n,buttonClassName:r,iconClassName:i,contentClassName:a,preventDefaultOnTrigger:o,children:s}=e,c=o!==void 0&&o,l;t[0]===c?l=t[1]:(l=e=>{e.stopPropagation(),c&&e.preventDefault()},t[0]=c,t[1]=l);let u;t[2]!==r||t[3]!==i||t[4]!==n?(u=(0,T.jsx)(g,{"data-testid":n,className:r,iconClassName:i}),t[2]=r,t[3]=i,t[4]=n,t[5]=u):u=t[5];let m;t[6]!==l||t[7]!==u?(m=(0,T.jsx)(d,{asChild:!0,tabIndex:-1,onClick:l,children:u}),t[6]=l,t[7]=u,t[8]=m):m=t[8];let h=a??`print:hidden w-[220px]`,_;t[9]!==s||t[10]!==h?(_=(0,T.jsx)(f,{align:`end`,className:h,onClick:Va,onCloseAutoFocus:Ha,children:s}),t[9]=s,t[10]=h,t[11]=_):_=t[11];let v;return t[12]!==m||t[13]!==_?(v=(0,T.jsxs)(p,{modal:!1,children:[m,_]}),t[12]=m,t[13]=_,t[14]=v):v=t[14],v},Ra=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(ae,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,disabled:r,title:i,"data-testid":a,children:[o,`Rename`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s},za=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(v,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,disabled:r,title:i,"data-testid":a,children:[o,`Duplicate`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s},Ba=e=>{let t=(0,Q.c)(6),{onSelect:n,disabled:r,title:i,testId:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,T.jsx)(b,{className:_}),t[0]=o):o=t[0];let s;return t[1]!==r||t[2]!==n||t[3]!==a||t[4]!==i?(s=(0,T.jsxs)(u,{onSelect:n,variant:`danger`,disabled:r,title:i,"data-testid":a,children:[o,`Delete`]}),t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s):s=t[5],s};function Va(e){return e.stopPropagation()}function Ha(e){return e.preventDefault()}var Ua=e=>{let t=(0,Q.c)(10),{node:n}=e,r=(0,w.useRef)(null),i,a;t[0]===n.data.name?(i=t[1],a=t[2]):(i=()=>{r.current?.focus();let e=n.data.name,t=e.lastIndexOf(`.`),i=t>0?t:e.length;r.current?.setSelectionRange(0,i)},a=[n.data.name],t[0]=n.data.name,t[1]=i,t[2]=a),(0,w.useEffect)(i,a);let o,s;t[3]===n?(o=t[4],s=t[5]):(o=()=>n.reset(),s=e=>{e.key===`Escape`&&n.reset(),e.key===`Enter`&&n.submit(e.currentTarget.value)},t[3]=n,t[4]=o,t[5]=s);let c;return t[6]!==n.data.name||t[7]!==o||t[8]!==s?(c=(0,T.jsx)(`input`,{ref:r,className:`flex-1 bg-transparent border border-border text-muted-foreground`,defaultValue:n.data.name,onClick:Wa,onBlur:o,onKeyDown:s}),t[6]=n.data.name,t[7]=o,t[8]=s,t[9]=c):c=t[9],c};function Wa(e){return e.stopPropagation()}export{Ra as a,ja as c,L as d,Qt as f,La as i,ka as l,Ba as n,Na as o,za as r,Ia as s,Ua as t,_r as u};
|