@arbidocs/blocks 0.4.154 → 0.4.155
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/chunk-6HMCF4AJ.js +1720 -0
- package/dist/chunk-6HMCF4AJ.js.map +1 -0
- package/dist/{chunk-BDA3RHYD.cjs → chunk-MUDEL7UL.cjs} +25 -884
- package/dist/chunk-MUDEL7UL.cjs.map +1 -0
- package/dist/{chunk-RE7NULEY.js → chunk-W7CWGURO.js} +28 -873
- package/dist/chunk-W7CWGURO.js.map +1 -0
- package/dist/chunk-WV4TD2HZ.cjs +1785 -0
- package/dist/chunk-WV4TD2HZ.cjs.map +1 -0
- package/dist/connect/index.cjs +1178 -16
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +1160 -12
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +40 -44
- package/dist/connect/viewer.cjs.map +1 -1
- package/dist/connect/viewer.js +2 -6
- package/dist/connect/viewer.js.map +1 -1
- package/dist/connection/files/DocumentSyncGlyph.d.ts +28 -0
- package/dist/connection/files/explorer/ConnectedFilesExplorer.d.ts +56 -0
- package/dist/connection/files/explorer/FileTiles.d.ts +87 -0
- package/dist/connection/files/index.d.ts +5 -0
- package/dist/connection/files/store.d.ts +27 -0
- package/dist/connection/files/support.d.ts +38 -0
- package/dist/files/DocStatusIcon.d.ts +5 -4
- package/dist/files/FailedStageIcon.d.ts +26 -0
- package/dist/files/folders/FolderProviderIcon.d.ts +29 -0
- package/dist/files/folders/folderPaths.d.ts +86 -0
- package/dist/files/folders/index.d.ts +2 -0
- package/dist/files/index.cjs +326 -238
- package/dist/files/index.d.ts +5 -0
- package/dist/files/index.js +2 -2
- package/dist/files/permissions.d.ts +28 -0
- package/dist/files/recently-deleted.d.ts +7 -0
- package/dist/files/visibility.d.ts +31 -0
- package/dist/index.cjs +38 -38
- package/dist/index.js +2 -2
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +6 -5
- package/dist/chunk-BDA3RHYD.cjs.map +0 -1
- package/dist/chunk-JGOST4IL.js +0 -648
- package/dist/chunk-JGOST4IL.js.map +0 -1
- package/dist/chunk-RE7NULEY.js.map +0 -1
- package/dist/chunk-YAEXSCUW.cjs +0 -677
- package/dist/chunk-YAEXSCUW.cjs.map +0 -1
|
@@ -1,104 +1,22 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var chunkWV4TD2HZ_cjs = require('./chunk-WV4TD2HZ.cjs');
|
|
4
5
|
var chunk223D4727_cjs = require('./chunk-223D4727.cjs');
|
|
5
6
|
var chunkVLCY46K6_cjs = require('./chunk-VLCY46K6.cjs');
|
|
6
7
|
var chunkFAXXN7KI_cjs = require('./chunk-FAXXN7KI.cjs');
|
|
7
8
|
var chunkDVUZTGVL_cjs = require('./chunk-DVUZTGVL.cjs');
|
|
8
|
-
var chunk3VULDTNL_cjs = require('./chunk-3VULDTNL.cjs');
|
|
9
9
|
var chunkV4ISCZJ7_cjs = require('./chunk-V4ISCZJ7.cjs');
|
|
10
10
|
var chunk2EI7NCUA_cjs = require('./chunk-2EI7NCUA.cjs');
|
|
11
11
|
var chunkC2CWWEHO_cjs = require('./chunk-C2CWWEHO.cjs');
|
|
12
|
-
var chunk32HW2Q33_cjs = require('./chunk-32HW2Q33.cjs');
|
|
13
12
|
var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
|
|
14
13
|
var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
|
|
15
14
|
var chunkKDG6FER6_cjs = require('./chunk-KDG6FER6.cjs');
|
|
16
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
17
15
|
var ui = require('@arbidocs/react/ui');
|
|
18
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
|
-
var react = require('react');
|
|
20
17
|
var lucideReact = require('lucide-react');
|
|
18
|
+
var react = require('react');
|
|
21
19
|
|
|
22
|
-
var pill = classVarianceAuthority.cva(
|
|
23
|
-
"inline-flex max-w-full items-center justify-center gap-1 rounded-full text-xs font-medium leading-none",
|
|
24
|
-
{
|
|
25
|
-
variants: {
|
|
26
|
-
/** `icon` = glyph-only chip; `label` = text pill. */
|
|
27
|
-
shape: { icon: "size-6 p-0 pointer-coarse:size-8", label: "h-6 px-2 pointer-coarse:h-8" },
|
|
28
|
-
interactive: {
|
|
29
|
-
true: "relative cursor-pointer pointer-coarse:after:absolute pointer-coarse:after:left-1/2 pointer-coarse:after:top-1/2 pointer-coarse:after:size-11 pointer-coarse:after:-translate-x-1/2 pointer-coarse:after:-translate-y-1/2 pointer-coarse:after:content-[''] hover:brightness-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
30
|
-
false: ""
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
defaultVariants: { shape: "label", interactive: false }
|
|
34
|
-
}
|
|
35
|
-
);
|
|
36
|
-
function StatusPill({
|
|
37
|
-
tone = "neutral",
|
|
38
|
-
icon,
|
|
39
|
-
label,
|
|
40
|
-
progress,
|
|
41
|
-
title,
|
|
42
|
-
onClick,
|
|
43
|
-
testId,
|
|
44
|
-
className
|
|
45
|
-
}) {
|
|
46
|
-
const hasLabel = label !== void 0 && label !== null && label !== "";
|
|
47
|
-
const classes = ui.cn(
|
|
48
|
-
pill({ shape: hasLabel ? "label" : "icon", interactive: !!onClick }),
|
|
49
|
-
chunk32HW2Q33_cjs.TONE_SURFACE[tone],
|
|
50
|
-
progress && "h-auto min-h-6 flex-col gap-0 px-2 py-1",
|
|
51
|
-
className
|
|
52
|
-
);
|
|
53
|
-
const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
54
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex max-w-full items-center gap-1", children: [
|
|
55
|
-
icon,
|
|
56
|
-
hasLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: label })
|
|
57
|
-
] }),
|
|
58
|
-
progress && /* @__PURE__ */ jsxRuntime.jsx(
|
|
59
|
-
"span",
|
|
60
|
-
{
|
|
61
|
-
"aria-hidden": true,
|
|
62
|
-
"data-slot": "status-pill-progress",
|
|
63
|
-
className: ui.cn(
|
|
64
|
-
"mt-0.5 block h-1 w-full min-w-10 shrink-0 rounded-sm",
|
|
65
|
-
progress === "queued" ? "progress-bar-queued" : "progress-bar-processing"
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
)
|
|
69
|
-
] });
|
|
70
|
-
if (onClick) {
|
|
71
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
72
|
-
"button",
|
|
73
|
-
{
|
|
74
|
-
type: "button",
|
|
75
|
-
title,
|
|
76
|
-
"aria-label": hasLabel ? void 0 : title,
|
|
77
|
-
"data-slot": "status-pill",
|
|
78
|
-
"data-testid": testId,
|
|
79
|
-
className: classes,
|
|
80
|
-
onClick: (e) => {
|
|
81
|
-
e.stopPropagation();
|
|
82
|
-
onClick();
|
|
83
|
-
},
|
|
84
|
-
onKeyDown: (e) => e.stopPropagation(),
|
|
85
|
-
children: body
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
-
"span",
|
|
91
|
-
{
|
|
92
|
-
title,
|
|
93
|
-
role: hasLabel || !title ? void 0 : "img",
|
|
94
|
-
"aria-label": hasLabel ? void 0 : title,
|
|
95
|
-
"data-slot": "status-pill",
|
|
96
|
-
"data-testid": testId,
|
|
97
|
-
className: classes,
|
|
98
|
-
children: body
|
|
99
|
-
}
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
20
|
function FilesToolbar({
|
|
103
21
|
leftActions,
|
|
104
22
|
rightActions,
|
|
@@ -158,474 +76,6 @@ function FilesSearchInput(props) {
|
|
|
158
76
|
}
|
|
159
77
|
);
|
|
160
78
|
}
|
|
161
|
-
function ExplorerLoadingTiles({
|
|
162
|
-
count = 18,
|
|
163
|
-
label = "Loading files",
|
|
164
|
-
testId,
|
|
165
|
-
className,
|
|
166
|
-
...rest
|
|
167
|
-
}) {
|
|
168
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
169
|
-
"div",
|
|
170
|
-
{
|
|
171
|
-
className: ui.cn(
|
|
172
|
-
"grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(150px,1fr))]",
|
|
173
|
-
className
|
|
174
|
-
),
|
|
175
|
-
"aria-busy": "true",
|
|
176
|
-
"aria-label": label,
|
|
177
|
-
"data-slot": "explorer-loading-tiles",
|
|
178
|
-
...rest,
|
|
179
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "explorer-loading-skeleton" }),
|
|
180
|
-
children: Array.from({ length: count }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-[4/5] animate-pulse rounded-lg bg-muted" }, i))
|
|
181
|
-
}
|
|
182
|
-
);
|
|
183
|
-
}
|
|
184
|
-
var DEFAULT_EXPLORER_LABELS = {
|
|
185
|
-
moreActions: "More actions",
|
|
186
|
-
name: "Name",
|
|
187
|
-
select: "Select",
|
|
188
|
-
deselect: "Deselect",
|
|
189
|
-
empty: "Empty",
|
|
190
|
-
itemCount: (count) => chunkKDG6FER6_cjs.formatCount(count, { one: "item", other: "items" }),
|
|
191
|
-
processing: (count) => `${count} processing`,
|
|
192
|
-
aiSummary: "AI Summary:",
|
|
193
|
-
noSummary: "No AI summary is available for this document yet.",
|
|
194
|
-
lastModifiedBy: "Last modified by",
|
|
195
|
-
shared: "Shared",
|
|
196
|
-
private: "Private"
|
|
197
|
-
};
|
|
198
|
-
function TileLink({
|
|
199
|
-
href,
|
|
200
|
-
label,
|
|
201
|
-
onSelect
|
|
202
|
-
}) {
|
|
203
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
204
|
-
chunk3VULDTNL_cjs.ActionLink,
|
|
205
|
-
{
|
|
206
|
-
href,
|
|
207
|
-
onSelect,
|
|
208
|
-
"aria-label": label,
|
|
209
|
-
"data-slot": "explorer-tile-link",
|
|
210
|
-
className: "absolute inset-0 z-10 rounded-lg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
211
|
-
}
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
function isInsideTileLink(e) {
|
|
215
|
-
return e.target instanceof Element && !!e.target.closest('[data-slot="explorer-tile-link"]');
|
|
216
|
-
}
|
|
217
|
-
function ExplorerMenu({
|
|
218
|
-
items,
|
|
219
|
-
testId,
|
|
220
|
-
label,
|
|
221
|
-
align,
|
|
222
|
-
triggerClassName
|
|
223
|
-
}) {
|
|
224
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenu, { children: [
|
|
225
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
-
"button",
|
|
227
|
-
{
|
|
228
|
-
type: "button",
|
|
229
|
-
"aria-label": label,
|
|
230
|
-
"data-testid": testId,
|
|
231
|
-
onClick: (e) => e.stopPropagation(),
|
|
232
|
-
onPointerDown: (e) => e.stopPropagation(),
|
|
233
|
-
className: ui.cn(
|
|
234
|
-
"flex size-6 items-center justify-center rounded-md bg-background/90 text-muted-foreground backdrop-blur-sm transition hover:bg-background hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring data-[state=open]:bg-background data-[state=open]:text-foreground pointer-coarse:size-11",
|
|
235
|
-
triggerClassName
|
|
236
|
-
),
|
|
237
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, { className: "size-4" })
|
|
238
|
-
}
|
|
239
|
-
) }),
|
|
240
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
241
|
-
ui.DropdownMenuContent,
|
|
242
|
-
{
|
|
243
|
-
align,
|
|
244
|
-
onClick: (e) => e.stopPropagation(),
|
|
245
|
-
onPointerDown: (e) => e.stopPropagation(),
|
|
246
|
-
className: "w-44",
|
|
247
|
-
children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
248
|
-
item.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(ui.DropdownMenuSeparator, {}),
|
|
249
|
-
item.submenu ? /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuSub, { children: [
|
|
250
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuSubTrigger, { "data-testid": item.testId, children: [
|
|
251
|
-
/* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "mr-2 size-4" }),
|
|
252
|
-
item.label
|
|
253
|
-
] }),
|
|
254
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DropdownMenuSubContent, { className: "w-52", children: item.submenu.map((sub) => /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenuItem, { onSelect: sub.onSelect, "data-testid": sub.testId, children: [
|
|
255
|
-
/* @__PURE__ */ jsxRuntime.jsx(sub.icon, { className: "mr-2 size-4" }),
|
|
256
|
-
sub.label
|
|
257
|
-
] }, sub.id)) })
|
|
258
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
259
|
-
ui.DropdownMenuItem,
|
|
260
|
-
{
|
|
261
|
-
onSelect: item.onSelect,
|
|
262
|
-
"data-testid": item.testId,
|
|
263
|
-
className: ui.cn(item.destructive && "text-destructive focus:text-destructive"),
|
|
264
|
-
children: [
|
|
265
|
-
/* @__PURE__ */ jsxRuntime.jsx(item.icon, { className: "mr-2 size-4" }),
|
|
266
|
-
item.label
|
|
267
|
-
]
|
|
268
|
-
}
|
|
269
|
-
)
|
|
270
|
-
] }, item.id))
|
|
271
|
-
}
|
|
272
|
-
)
|
|
273
|
-
] });
|
|
274
|
-
}
|
|
275
|
-
function RenameField({
|
|
276
|
-
seed,
|
|
277
|
-
testId,
|
|
278
|
-
label,
|
|
279
|
-
onCommit,
|
|
280
|
-
onCancel,
|
|
281
|
-
className
|
|
282
|
-
}) {
|
|
283
|
-
const doneRef = react.useRef(false);
|
|
284
|
-
const commit = (value) => {
|
|
285
|
-
if (doneRef.current) return;
|
|
286
|
-
doneRef.current = true;
|
|
287
|
-
const trimmed = value.trim();
|
|
288
|
-
if (trimmed && trimmed !== seed) onCommit(trimmed);
|
|
289
|
-
else onCancel();
|
|
290
|
-
};
|
|
291
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
292
|
-
"input",
|
|
293
|
-
{
|
|
294
|
-
autoFocus: true,
|
|
295
|
-
defaultValue: seed,
|
|
296
|
-
"data-testid": testId,
|
|
297
|
-
"aria-label": label,
|
|
298
|
-
onFocus: (e) => e.currentTarget.select(),
|
|
299
|
-
onClick: (e) => e.stopPropagation(),
|
|
300
|
-
onPointerDown: (e) => e.stopPropagation(),
|
|
301
|
-
onDoubleClick: (e) => e.stopPropagation(),
|
|
302
|
-
onKeyDown: (e) => {
|
|
303
|
-
if (e.key === "Enter") {
|
|
304
|
-
e.preventDefault();
|
|
305
|
-
commit(e.currentTarget.value);
|
|
306
|
-
} else if (e.key === "Escape") {
|
|
307
|
-
e.preventDefault();
|
|
308
|
-
doneRef.current = true;
|
|
309
|
-
onCancel();
|
|
310
|
-
}
|
|
311
|
-
},
|
|
312
|
-
onBlur: (e) => commit(e.currentTarget.value),
|
|
313
|
-
className: ui.cn(
|
|
314
|
-
"w-full rounded-md border border-primary bg-background px-1 py-0.5 text-sm text-foreground outline-none",
|
|
315
|
-
className
|
|
316
|
-
)
|
|
317
|
-
}
|
|
318
|
-
);
|
|
319
|
-
}
|
|
320
|
-
function SelectCheckbox({
|
|
321
|
-
selected,
|
|
322
|
-
onToggle,
|
|
323
|
-
labels,
|
|
324
|
-
className
|
|
325
|
-
}) {
|
|
326
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
327
|
-
ui.Checkbox,
|
|
328
|
-
{
|
|
329
|
-
checked: selected,
|
|
330
|
-
onPointerDown: (e) => e.stopPropagation(),
|
|
331
|
-
onClick: onToggle,
|
|
332
|
-
"aria-label": selected ? labels.deselect : labels.select,
|
|
333
|
-
className: ui.cn(
|
|
334
|
-
"size-6 rounded-md border-muted-foreground/60 bg-card transition data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground pointer-coarse:size-9",
|
|
335
|
-
selected ? "opacity-100" : "opacity-60 hover:opacity-100",
|
|
336
|
-
className
|
|
337
|
-
)
|
|
338
|
-
}
|
|
339
|
-
);
|
|
340
|
-
}
|
|
341
|
-
function ExplorerFileTile({
|
|
342
|
-
id,
|
|
343
|
-
title,
|
|
344
|
-
density,
|
|
345
|
-
selected,
|
|
346
|
-
dragging,
|
|
347
|
-
renaming,
|
|
348
|
-
thumbnailUrl,
|
|
349
|
-
renderFileIcon,
|
|
350
|
-
progress,
|
|
351
|
-
statusMarker,
|
|
352
|
-
offlineMarker,
|
|
353
|
-
entity,
|
|
354
|
-
tooltip,
|
|
355
|
-
menuItems,
|
|
356
|
-
rootRef,
|
|
357
|
-
rootProps,
|
|
358
|
-
onOpen,
|
|
359
|
-
href,
|
|
360
|
-
labels,
|
|
361
|
-
testIds,
|
|
362
|
-
onSelect,
|
|
363
|
-
onToggle,
|
|
364
|
-
onCommitRename,
|
|
365
|
-
onCancelRename
|
|
366
|
-
}) {
|
|
367
|
-
const l = { ...DEFAULT_EXPLORER_LABELS, ...labels };
|
|
368
|
-
const [thumbFailed, setThumbFailed] = react.useState(false);
|
|
369
|
-
const [thumbLandscape, setThumbLandscape] = react.useState(false);
|
|
370
|
-
const showThumbnail = !!thumbnailUrl && !thumbFailed && !progress;
|
|
371
|
-
const tile = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
372
|
-
"div",
|
|
373
|
-
{
|
|
374
|
-
ref: rootRef,
|
|
375
|
-
...rootProps,
|
|
376
|
-
onClick: (e) => {
|
|
377
|
-
if (href && isInsideTileLink(e)) {
|
|
378
|
-
if (e.shiftKey) {
|
|
379
|
-
e.preventDefault();
|
|
380
|
-
onSelect(e);
|
|
381
|
-
}
|
|
382
|
-
return;
|
|
383
|
-
}
|
|
384
|
-
if (e.shiftKey || e.metaKey || e.ctrlKey) onSelect(e);
|
|
385
|
-
else onOpen();
|
|
386
|
-
},
|
|
387
|
-
onDoubleClick: onOpen,
|
|
388
|
-
"data-slot": "explorer-file-tile",
|
|
389
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.root, { testId: "explorer-file" }),
|
|
390
|
-
"data-doc-id": id,
|
|
391
|
-
className: ui.cn(
|
|
392
|
-
"group relative h-full cursor-default select-none overflow-hidden rounded-lg border transition",
|
|
393
|
-
dragging && "opacity-40",
|
|
394
|
-
selected ? "border-primary/30 bg-accent" : "border-border bg-muted hover:bg-muted/70"
|
|
395
|
-
),
|
|
396
|
-
children: [
|
|
397
|
-
href && /* @__PURE__ */ jsxRuntime.jsx(TileLink, { href, label: title, onSelect: onOpen }),
|
|
398
|
-
showThumbnail ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
399
|
-
"img",
|
|
400
|
-
{
|
|
401
|
-
src: thumbnailUrl,
|
|
402
|
-
alt: "",
|
|
403
|
-
loading: "lazy",
|
|
404
|
-
draggable: false,
|
|
405
|
-
onError: () => setThumbFailed(true),
|
|
406
|
-
onLoad: (e) => setThumbLandscape(e.currentTarget.naturalWidth > e.currentTarget.naturalHeight),
|
|
407
|
-
className: ui.cn(
|
|
408
|
-
"absolute inset-0 size-full bg-card",
|
|
409
|
-
thumbLandscape ? "object-contain" : "object-cover object-top"
|
|
410
|
-
)
|
|
411
|
-
}
|
|
412
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: renderFileIcon(density === "list" ? 30 : 44) }),
|
|
413
|
-
progress && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-1.5 bg-background/80 px-3", children: [
|
|
414
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
415
|
-
"div",
|
|
416
|
-
{
|
|
417
|
-
className: ui.cn(
|
|
418
|
-
"h-1.5 w-full rounded-sm",
|
|
419
|
-
progress.queued ? "progress-bar-queued" : "progress-bar-processing"
|
|
420
|
-
)
|
|
421
|
-
}
|
|
422
|
-
),
|
|
423
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-primary", children: progress.label })
|
|
424
|
-
] }),
|
|
425
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
426
|
-
SelectCheckbox,
|
|
427
|
-
{
|
|
428
|
-
selected,
|
|
429
|
-
onToggle,
|
|
430
|
-
labels: l,
|
|
431
|
-
className: "absolute left-1.5 top-1.5 z-20"
|
|
432
|
-
}
|
|
433
|
-
),
|
|
434
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-1.5 top-1.5 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
435
|
-
ExplorerMenu,
|
|
436
|
-
{
|
|
437
|
-
items: menuItems,
|
|
438
|
-
testId: chunkMHVNT4J3_cjs.testIdOr(testIds?.menu, { testId: "explorer-file-menu" }),
|
|
439
|
-
label: l.moreActions,
|
|
440
|
-
align: "start"
|
|
441
|
-
}
|
|
442
|
-
) }),
|
|
443
|
-
renaming ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-x-0 bottom-0 z-20 flex items-center gap-1 bg-background/90 px-1.5 py-1 backdrop-blur-sm", children: [
|
|
444
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: renderFileIcon(13) }),
|
|
445
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
446
|
-
RenameField,
|
|
447
|
-
{
|
|
448
|
-
seed: title,
|
|
449
|
-
testId: chunkMHVNT4J3_cjs.testIdOr(testIds?.renameInput, { testId: "explorer-rename-input" }),
|
|
450
|
-
label: l.name,
|
|
451
|
-
onCommit: onCommitRename,
|
|
452
|
-
onCancel: onCancelRename,
|
|
453
|
-
className: "flex-1 text-left"
|
|
454
|
-
}
|
|
455
|
-
)
|
|
456
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-x-1.5 bottom-1.5 z-20 flex flex-col gap-1", children: [
|
|
457
|
-
(offlineMarker || statusMarker) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
|
|
458
|
-
offlineMarker,
|
|
459
|
-
statusMarker && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex", children: statusMarker })
|
|
460
|
-
] }),
|
|
461
|
-
entity
|
|
462
|
-
] })
|
|
463
|
-
]
|
|
464
|
-
}
|
|
465
|
-
);
|
|
466
|
-
if (!tooltip) return tile;
|
|
467
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { delayDuration: 500, children: [
|
|
468
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: tile }),
|
|
469
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "bottom", sideOffset: 6, className: "p-2.5", children: tooltip })
|
|
470
|
-
] });
|
|
471
|
-
}
|
|
472
|
-
function ExplorerFolderTile({
|
|
473
|
-
name,
|
|
474
|
-
displayName,
|
|
475
|
-
path,
|
|
476
|
-
count,
|
|
477
|
-
density,
|
|
478
|
-
editing,
|
|
479
|
-
selected,
|
|
480
|
-
partiallySelected,
|
|
481
|
-
processingCount = 0,
|
|
482
|
-
isOver,
|
|
483
|
-
icon,
|
|
484
|
-
menuItems = [],
|
|
485
|
-
rootRef,
|
|
486
|
-
rootProps,
|
|
487
|
-
onOpen,
|
|
488
|
-
href,
|
|
489
|
-
labels,
|
|
490
|
-
testIds,
|
|
491
|
-
onToggleSelect,
|
|
492
|
-
onCommitName,
|
|
493
|
-
onCancelName
|
|
494
|
-
}) {
|
|
495
|
-
const l = { ...DEFAULT_EXPLORER_LABELS, ...labels };
|
|
496
|
-
const iconSize = density === "list" ? 34 : 48;
|
|
497
|
-
const isEmpty = count === 0;
|
|
498
|
-
const countLabel = isEmpty ? l.empty : l.itemCount(count);
|
|
499
|
-
const joined = path.join("/");
|
|
500
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
501
|
-
"div",
|
|
502
|
-
{
|
|
503
|
-
ref: rootRef,
|
|
504
|
-
...rootProps,
|
|
505
|
-
onClick: editing || href ? void 0 : onOpen,
|
|
506
|
-
"data-slot": "explorer-folder-tile",
|
|
507
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.root, { testId: "explorer-folder" }),
|
|
508
|
-
"data-folder-path": joined,
|
|
509
|
-
title: name,
|
|
510
|
-
className: ui.cn(
|
|
511
|
-
"group relative flex h-full cursor-pointer select-none flex-col items-center justify-center gap-1 rounded-lg p-2 text-center transition",
|
|
512
|
-
isOver ? "bg-accent ring-2 ring-primary/40" : selected ? "bg-accent ring-1 ring-primary/30" : "bg-muted hover:bg-muted/70",
|
|
513
|
-
isEmpty && !isOver && !selected && "opacity-70"
|
|
514
|
-
),
|
|
515
|
-
children: [
|
|
516
|
-
href && !editing && /* @__PURE__ */ jsxRuntime.jsx(TileLink, { href, label: displayName || name, onSelect: onOpen }),
|
|
517
|
-
onToggleSelect && !isEmpty && /* @__PURE__ */ jsxRuntime.jsx(
|
|
518
|
-
SelectCheckbox,
|
|
519
|
-
{
|
|
520
|
-
selected: !!selected,
|
|
521
|
-
onToggle: onToggleSelect,
|
|
522
|
-
labels: l,
|
|
523
|
-
className: ui.cn(
|
|
524
|
-
"absolute left-1.5 top-1.5 z-20",
|
|
525
|
-
partiallySelected && !selected && "opacity-100"
|
|
526
|
-
)
|
|
527
|
-
}
|
|
528
|
-
),
|
|
529
|
-
menuItems.length > 0 && !editing && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-1 top-1 z-20", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
530
|
-
ExplorerMenu,
|
|
531
|
-
{
|
|
532
|
-
items: menuItems,
|
|
533
|
-
testId: chunkMHVNT4J3_cjs.testIdOr(testIds?.menu, { testId: "explorer-folder-menu" }),
|
|
534
|
-
label: l.moreActions,
|
|
535
|
-
align: "end"
|
|
536
|
-
}
|
|
537
|
-
) }),
|
|
538
|
-
icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
539
|
-
lucideReact.Folder,
|
|
540
|
-
{
|
|
541
|
-
className: ui.cn(
|
|
542
|
-
"transition",
|
|
543
|
-
isEmpty ? "text-yellow-text/50" : "fill-yellow-text/30 text-yellow-text group-hover:fill-yellow-text/40"
|
|
544
|
-
),
|
|
545
|
-
size: iconSize
|
|
546
|
-
}
|
|
547
|
-
),
|
|
548
|
-
editing ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
549
|
-
RenameField,
|
|
550
|
-
{
|
|
551
|
-
seed: name,
|
|
552
|
-
testId: chunkMHVNT4J3_cjs.testIdOr(testIds?.renameInput, { testId: "explorer-rename-input" }),
|
|
553
|
-
label: l.name,
|
|
554
|
-
onCommit: (next) => onCommitName?.(next),
|
|
555
|
-
onCancel: () => onCancelName?.(),
|
|
556
|
-
className: "text-center"
|
|
557
|
-
}
|
|
558
|
-
) : displayName && /* @__PURE__ */ jsxRuntime.jsx(
|
|
559
|
-
"span",
|
|
560
|
-
{
|
|
561
|
-
className: ui.cn(
|
|
562
|
-
"line-clamp-2 w-full break-words text-xs font-semibold leading-tight",
|
|
563
|
-
isEmpty ? "text-foreground/60" : "text-foreground/90"
|
|
564
|
-
),
|
|
565
|
-
children: displayName
|
|
566
|
-
}
|
|
567
|
-
),
|
|
568
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: countLabel }),
|
|
569
|
-
processingCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
570
|
-
"span",
|
|
571
|
-
{
|
|
572
|
-
className: "inline-flex items-center gap-1 text-xs font-semibold text-primary",
|
|
573
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.processing, {
|
|
574
|
-
testId: `explorer-folder-processing-${joined}`
|
|
575
|
-
}),
|
|
576
|
-
children: [
|
|
577
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.LoaderCircle, { className: "size-3 animate-spin" }),
|
|
578
|
-
l.processing(processingCount)
|
|
579
|
-
]
|
|
580
|
-
}
|
|
581
|
-
)
|
|
582
|
-
]
|
|
583
|
-
}
|
|
584
|
-
);
|
|
585
|
-
}
|
|
586
|
-
function ExplorerFileTooltip({
|
|
587
|
-
title,
|
|
588
|
-
summary,
|
|
589
|
-
modifiedLabel,
|
|
590
|
-
modifiedByAvatar,
|
|
591
|
-
shared,
|
|
592
|
-
visibilityIcon,
|
|
593
|
-
labels,
|
|
594
|
-
uiLabels
|
|
595
|
-
}) {
|
|
596
|
-
const l = { ...DEFAULT_EXPLORER_LABELS, ...uiLabels };
|
|
597
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-xs space-y-2", children: [
|
|
598
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "break-words text-xs font-semibold leading-snug text-foreground", children: title }),
|
|
599
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 border-t border-border pt-1.5", children: [
|
|
600
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 text-xs font-semibold text-foreground", children: [
|
|
601
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "size-3.5 shrink-0 text-yellow-text" }),
|
|
602
|
-
l.aiSummary
|
|
603
|
-
] }),
|
|
604
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "line-clamp-6 text-xs leading-snug text-foreground/90", children: summary?.trim() || l.noSummary })
|
|
605
|
-
] }),
|
|
606
|
-
(modifiedLabel || labels.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5 border-t border-border pt-1.5", children: [
|
|
607
|
-
modifiedLabel && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2 text-xs text-muted-foreground", children: [
|
|
608
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-1", children: [
|
|
609
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: l.lastModifiedBy }),
|
|
610
|
-
modifiedByAvatar,
|
|
611
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: modifiedLabel })
|
|
612
|
-
] }),
|
|
613
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
614
|
-
visibilityIcon,
|
|
615
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: shared ? l.shared : l.private })
|
|
616
|
-
] })
|
|
617
|
-
] }),
|
|
618
|
-
labels.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-1 pt-0.5", children: labels.map((label) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
619
|
-
"span",
|
|
620
|
-
{
|
|
621
|
-
className: "rounded bg-muted px-1.5 py-0.5 text-xs font-medium text-foreground/80",
|
|
622
|
-
children: label
|
|
623
|
-
},
|
|
624
|
-
label
|
|
625
|
-
)) })
|
|
626
|
-
] })
|
|
627
|
-
] });
|
|
628
|
-
}
|
|
629
79
|
|
|
630
80
|
// src/files/documentGridLayout.ts
|
|
631
81
|
function resolveDocumentGridLayout(isNarrow, isModal, isTablet = false) {
|
|
@@ -3243,220 +2693,6 @@ function MediaPreviewView({ kind, src, testId, labels }) {
|
|
|
3243
2693
|
kind === "audio" && /* @__PURE__ */ jsxRuntime.jsx("audio", { className: "w-full p-2", src, controls: true, preload: "metadata" })
|
|
3244
2694
|
] });
|
|
3245
2695
|
}
|
|
3246
|
-
function GmailMark({ className }) {
|
|
3247
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 256 193", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3248
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3249
|
-
"path",
|
|
3250
|
-
{
|
|
3251
|
-
fill: "#4285F4",
|
|
3252
|
-
d: "M58.182 192.05V93.14L27.507 65.077 0 49.504v125.091c0 9.658 7.825 17.455 17.455 17.455z"
|
|
3253
|
-
}
|
|
3254
|
-
),
|
|
3255
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3256
|
-
"path",
|
|
3257
|
-
{
|
|
3258
|
-
fill: "#34A853",
|
|
3259
|
-
d: "M197.818 192.05h40.727c9.659 0 17.455-7.826 17.455-17.455V49.505l-31.156 17.837-27.026 25.798z"
|
|
3260
|
-
}
|
|
3261
|
-
),
|
|
3262
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3263
|
-
"path",
|
|
3264
|
-
{
|
|
3265
|
-
fill: "#EA4335",
|
|
3266
|
-
d: "m58.182 93.14-4.174-38.647 4.174-36.989L128 69.868l69.818-52.364 4.669 34.992-4.669 40.644L128 145.504z"
|
|
3267
|
-
}
|
|
3268
|
-
),
|
|
3269
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3270
|
-
"path",
|
|
3271
|
-
{
|
|
3272
|
-
fill: "#FBBC04",
|
|
3273
|
-
d: "M197.818 17.504V93.14L256 49.504V26.231c0-21.585-24.64-33.89-41.89-20.945z"
|
|
3274
|
-
}
|
|
3275
|
-
),
|
|
3276
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3277
|
-
"path",
|
|
3278
|
-
{
|
|
3279
|
-
fill: "#C5221F",
|
|
3280
|
-
d: "M0 49.504 26.759 69.574 58.182 93.14V17.504L41.89 5.286C24.61-7.66 0 4.646 0 26.231z"
|
|
3281
|
-
}
|
|
3282
|
-
)
|
|
3283
|
-
] });
|
|
3284
|
-
}
|
|
3285
|
-
function OutlookMark({ className }) {
|
|
3286
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3287
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#0F6CBD", d: "M44 13H24v22h18.5A1.5 1.5 0 0 0 44 33.5z" }),
|
|
3288
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { fill: "#28A8EA", d: "M24 15.5 44 13v3L24 27z" }),
|
|
3289
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "9", width: "21", height: "30", rx: "2.5", fill: "#0364B8" }),
|
|
3290
|
-
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx: "14.5", cy: "24", rx: "6.2", ry: "7", fill: "none", stroke: "#fff", strokeWidth: "3.1" })
|
|
3291
|
-
] });
|
|
3292
|
-
}
|
|
3293
|
-
function OneDriveMark({ className }) {
|
|
3294
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 256 165", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3295
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3296
|
-
"path",
|
|
3297
|
-
{
|
|
3298
|
-
fill: "#0364B8",
|
|
3299
|
-
d: "M154.66056 110.681557 207.502052 60.1479482C196.525811 17.3487078 152.932256-8.44908883 110.132767 2.52715287 90.8589801 7.46999082 74.1187452 19.4179992 63.179535 36.0386895 63.9974594 36.0180612 154.66056 110.681557 154.66056 110.681557Z"
|
|
3300
|
-
}
|
|
3301
|
-
),
|
|
3302
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3303
|
-
"path",
|
|
3304
|
-
{
|
|
3305
|
-
fill: "#0078D4",
|
|
3306
|
-
d: "M97.6181022 45.5520619 97.6156169 45.5607606C87.5186874 39.307156 75.8741386 36.001658 63.9972108 36.0177537 63.7228296 36.0177537 63.4531706 36.03521 63.1792865 36.0384409 27.8517142 36.4761088-.432413365 65.4695515.00500592252 100.797124.163570414 113.612018 4.16769663 126.083687 11.4981977 136.595916L90.6631356 126.680913 151.357298 77.7409022 97.6181022 45.5520619Z"
|
|
3307
|
-
}
|
|
3308
|
-
),
|
|
3309
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3310
|
-
"path",
|
|
3311
|
-
{
|
|
3312
|
-
fill: "#1490DF",
|
|
3313
|
-
d: "M207.502052 60.1481967C206.340406 60.0706542 205.173043 60.016946 203.992011 60.016946 196.903085 60.010012 189.887973 61.4579693 183.381112 64.271122L183.379621 64.2656543 151.357547 77.7411507 186.65952 121.347877 249.770673 136.689364C263.390071 111.405536 253.93411 79.8683506 228.650281 66.2489531 222.117076 62.7297161 214.906119 60.6497377 207.502301 60.1484453L207.502301 60.1481967 207.502052 60.1481967Z"
|
|
3314
|
-
}
|
|
3315
|
-
),
|
|
3316
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3317
|
-
"path",
|
|
3318
|
-
{
|
|
3319
|
-
fill: "#28A8EA",
|
|
3320
|
-
d: "M11.4981977 136.595916C23.4514253 153.781772 43.063467 164.023845 63.9974594 164.012918L203.991762 164.012918C223.115435 164.018377 240.697951 153.524291 249.770425 136.689862L151.357298 77.7409022 11.4981977 136.595916Z"
|
|
3321
|
-
}
|
|
3322
|
-
)
|
|
3323
|
-
] });
|
|
3324
|
-
}
|
|
3325
|
-
function SharePointMark({ className }) {
|
|
3326
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3327
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "22", cy: "22", r: "20", fill: "#036C70" }),
|
|
3328
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "20", r: "12", fill: "#1A9BA1" }),
|
|
3329
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "26", cy: "30", r: "10", fill: "#37C6D0" }),
|
|
3330
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "33", cy: "22", r: "8", fill: "#fff", opacity: "0.15" })
|
|
3331
|
-
] });
|
|
3332
|
-
}
|
|
3333
|
-
function GoogleDriveMark({ className }) {
|
|
3334
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 87.3 78", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3335
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3336
|
-
"path",
|
|
3337
|
-
{
|
|
3338
|
-
fill: "#0066da",
|
|
3339
|
-
d: "M6.6 66.85l3.85 6.65c.8 1.4 1.95 2.5 3.3 3.3l13.75-23.8H0c0 1.55.4 3.1 1.2 4.5z"
|
|
3340
|
-
}
|
|
3341
|
-
),
|
|
3342
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3343
|
-
"path",
|
|
3344
|
-
{
|
|
3345
|
-
fill: "#00ac47",
|
|
3346
|
-
d: "M43.65 25L29.9 1.2c-1.35.8-2.5 1.9-3.3 3.3L1.2 48.5A9.06 9.06 0 0 0 0 53h27.5z"
|
|
3347
|
-
}
|
|
3348
|
-
),
|
|
3349
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3350
|
-
"path",
|
|
3351
|
-
{
|
|
3352
|
-
fill: "#ea4335",
|
|
3353
|
-
d: "M73.55 76.8c1.35-.8 2.5-1.9 3.3-3.3l1.6-2.75L86.1 57.4c.8-1.4 1.2-2.95 1.2-4.5H59.798l5.85 11.5z"
|
|
3354
|
-
}
|
|
3355
|
-
),
|
|
3356
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3357
|
-
"path",
|
|
3358
|
-
{
|
|
3359
|
-
fill: "#00832d",
|
|
3360
|
-
d: "M43.65 25L57.4 1.2C56.05.4 54.5 0 52.9 0H34.4c-1.6 0-3.15.45-4.5 1.2z"
|
|
3361
|
-
}
|
|
3362
|
-
),
|
|
3363
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3364
|
-
"path",
|
|
3365
|
-
{
|
|
3366
|
-
fill: "#2684fc",
|
|
3367
|
-
d: "M59.8 53H27.5L13.75 76.8c1.35.8 2.9 1.2 4.5 1.2h50.8c1.6 0 3.15-.45 4.5-1.2z"
|
|
3368
|
-
}
|
|
3369
|
-
),
|
|
3370
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3371
|
-
"path",
|
|
3372
|
-
{
|
|
3373
|
-
fill: "#ffba00",
|
|
3374
|
-
d: "M73.4 26.5L60.65 4.5c-.8-1.4-1.95-2.5-3.3-3.3L43.65 25l16.15 28h27.45c0-1.55-.4-3.1-1.2-4.5z"
|
|
3375
|
-
}
|
|
3376
|
-
)
|
|
3377
|
-
] });
|
|
3378
|
-
}
|
|
3379
|
-
function BoxMark({ className }) {
|
|
3380
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3381
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "48", height: "48", rx: "10", fill: "#0061D5" }),
|
|
3382
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3383
|
-
"path",
|
|
3384
|
-
{
|
|
3385
|
-
fill: "none",
|
|
3386
|
-
stroke: "#fff",
|
|
3387
|
-
strokeWidth: "2.5",
|
|
3388
|
-
strokeLinejoin: "round",
|
|
3389
|
-
strokeLinecap: "round",
|
|
3390
|
-
d: "M24 13 36 19 36 29 24 35 12 29 12 19Z"
|
|
3391
|
-
}
|
|
3392
|
-
),
|
|
3393
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3394
|
-
"path",
|
|
3395
|
-
{
|
|
3396
|
-
fill: "none",
|
|
3397
|
-
stroke: "#fff",
|
|
3398
|
-
strokeWidth: "2.5",
|
|
3399
|
-
strokeLinejoin: "round",
|
|
3400
|
-
strokeLinecap: "round",
|
|
3401
|
-
d: "M12 19 24 25 36 19 M24 25 24 35"
|
|
3402
|
-
}
|
|
3403
|
-
)
|
|
3404
|
-
] });
|
|
3405
|
-
}
|
|
3406
|
-
function DropboxMark({ className }) {
|
|
3407
|
-
return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: "#0061FF", children: [
|
|
3408
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6 0 14l12 8 12-8z" }),
|
|
3409
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M36 6 24 14l12 8 12-8z" }),
|
|
3410
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0 30l12 8 12-8-12-8z" }),
|
|
3411
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M36 22 24 30l12 8 12-8z" }),
|
|
3412
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 40.5 24 33l12 7.5L24 48z" })
|
|
3413
|
-
] }) });
|
|
3414
|
-
}
|
|
3415
|
-
function OneNoteMark({ className }) {
|
|
3416
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3417
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "48", height: "48", rx: "10", fill: "#7719AA" }),
|
|
3418
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "10", y: "10", width: "21", height: "28", rx: "2.5", fill: "#fff", opacity: "0.95" }),
|
|
3419
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "31", y: "15", width: "7", height: "5", rx: "1.5", fill: "#fff", opacity: "0.6" }),
|
|
3420
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "31", y: "22", width: "7", height: "5", rx: "1.5", fill: "#fff", opacity: "0.6" }),
|
|
3421
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "31", y: "29", width: "7", height: "5", rx: "1.5", fill: "#fff", opacity: "0.6" })
|
|
3422
|
-
] });
|
|
3423
|
-
}
|
|
3424
|
-
function ClioMark({ className }) {
|
|
3425
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 48 48", className, "aria-hidden": "true", focusable: "false", children: [
|
|
3426
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "48", height: "48", rx: "10", fill: "#00263E" }),
|
|
3427
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3428
|
-
"path",
|
|
3429
|
-
{
|
|
3430
|
-
fill: "none",
|
|
3431
|
-
stroke: "#4FC3F7",
|
|
3432
|
-
strokeWidth: "4.5",
|
|
3433
|
-
strokeLinecap: "round",
|
|
3434
|
-
d: "M32 17a10 10 0 1 0 0 14"
|
|
3435
|
-
}
|
|
3436
|
-
)
|
|
3437
|
-
] });
|
|
3438
|
-
}
|
|
3439
|
-
function VendorLogo({
|
|
3440
|
-
vendorKey,
|
|
3441
|
-
className = "h-4 w-4",
|
|
3442
|
-
product
|
|
3443
|
-
}) {
|
|
3444
|
-
if (product === "onedrive") return /* @__PURE__ */ jsxRuntime.jsx(OneDriveMark, { className });
|
|
3445
|
-
if (product === "googledrive") return /* @__PURE__ */ jsxRuntime.jsx(GoogleDriveMark, { className });
|
|
3446
|
-
if (product === "sharepoint") return /* @__PURE__ */ jsxRuntime.jsx(SharePointMark, { className });
|
|
3447
|
-
if (product === "box") return /* @__PURE__ */ jsxRuntime.jsx(BoxMark, { className });
|
|
3448
|
-
if (product === "dropbox") return /* @__PURE__ */ jsxRuntime.jsx(DropboxMark, { className });
|
|
3449
|
-
if (product === "onenote") return /* @__PURE__ */ jsxRuntime.jsx(OneNoteMark, { className });
|
|
3450
|
-
if (product === "clio") return /* @__PURE__ */ jsxRuntime.jsx(ClioMark, { className });
|
|
3451
|
-
if (vendorKey === "gmail") return /* @__PURE__ */ jsxRuntime.jsx(GmailMark, { className });
|
|
3452
|
-
if (vendorKey === "microsoft") return /* @__PURE__ */ jsxRuntime.jsx(OutlookMark, { className });
|
|
3453
|
-
if (vendorKey === "microsoft_sharepoint") return /* @__PURE__ */ jsxRuntime.jsx(SharePointMark, { className });
|
|
3454
|
-
if (vendorKey === "box") return /* @__PURE__ */ jsxRuntime.jsx(BoxMark, { className });
|
|
3455
|
-
if (vendorKey === "dropbox") return /* @__PURE__ */ jsxRuntime.jsx(DropboxMark, { className });
|
|
3456
|
-
if (vendorKey === "onenote") return /* @__PURE__ */ jsxRuntime.jsx(OneNoteMark, { className });
|
|
3457
|
-
if (vendorKey === "clio") return /* @__PURE__ */ jsxRuntime.jsx(ClioMark, { className });
|
|
3458
|
-
return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Mail, { className: `${className} text-muted-foreground`, "aria-hidden": "true" });
|
|
3459
|
-
}
|
|
3460
2696
|
function RelatedBadge({
|
|
3461
2697
|
icon: Icon,
|
|
3462
2698
|
count,
|
|
@@ -6452,10 +5688,29 @@ var STATUS = {
|
|
|
6452
5688
|
processing: { Icon: lucideReact.Loader2, title: "Indexing", tone: "text-muted-foreground", spin: true },
|
|
6453
5689
|
queued: { Icon: lucideReact.Hourglass, title: "Queued", tone: "text-yellow-text" }
|
|
6454
5690
|
};
|
|
6455
|
-
function DocStatusIcon({
|
|
5691
|
+
function DocStatusIcon({
|
|
5692
|
+
status,
|
|
5693
|
+
onClick,
|
|
5694
|
+
failedStage,
|
|
5695
|
+
errorMessage,
|
|
5696
|
+
className
|
|
5697
|
+
}) {
|
|
6456
5698
|
if (!status) return null;
|
|
6457
5699
|
const key = status.toLowerCase();
|
|
6458
|
-
if (key === "failed")
|
|
5700
|
+
if (key === "failed") {
|
|
5701
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5702
|
+
chunkWV4TD2HZ_cjs.FailedStageIcon,
|
|
5703
|
+
{
|
|
5704
|
+
stage: failedStage,
|
|
5705
|
+
errorMessage,
|
|
5706
|
+
className: ui.cn("size-3 text-red-text", onClick && "cursor-pointer", className),
|
|
5707
|
+
onClick: onClick ? (e) => {
|
|
5708
|
+
e.stopPropagation();
|
|
5709
|
+
onClick();
|
|
5710
|
+
} : void 0
|
|
5711
|
+
}
|
|
5712
|
+
);
|
|
5713
|
+
}
|
|
6459
5714
|
const entry = STATUS[key];
|
|
6460
5715
|
if (!entry) return null;
|
|
6461
5716
|
const { Icon } = entry;
|
|
@@ -6480,106 +5735,6 @@ function DocStatusIcon({ status, onClick, failed, className }) {
|
|
|
6480
5735
|
}
|
|
6481
5736
|
);
|
|
6482
5737
|
}
|
|
6483
|
-
function ExplorerFrame({ className, ...props }) {
|
|
6484
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "explorer-frame", className: ui.cn("flex h-full flex-col", className), ...props });
|
|
6485
|
-
}
|
|
6486
|
-
function ExplorerStage({ className, ...props }) {
|
|
6487
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6488
|
-
"div",
|
|
6489
|
-
{
|
|
6490
|
-
"data-slot": "explorer-stage",
|
|
6491
|
-
className: ui.cn("relative min-h-0 flex-1", className),
|
|
6492
|
-
...props
|
|
6493
|
-
}
|
|
6494
|
-
);
|
|
6495
|
-
}
|
|
6496
|
-
var ExplorerScroller = react.forwardRef(
|
|
6497
|
-
function ExplorerScroller2({ className, ...props }, ref) {
|
|
6498
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6499
|
-
"div",
|
|
6500
|
-
{
|
|
6501
|
-
ref,
|
|
6502
|
-
"data-slot": "explorer-scroller",
|
|
6503
|
-
className: ui.cn(
|
|
6504
|
-
"h-full select-none overflow-auto px-4 py-4 [scrollbar-gutter:stable]",
|
|
6505
|
-
className
|
|
6506
|
-
),
|
|
6507
|
-
...props
|
|
6508
|
-
}
|
|
6509
|
-
);
|
|
6510
|
-
}
|
|
6511
|
-
);
|
|
6512
|
-
function ExplorerEmpty({ title, description }) {
|
|
6513
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6514
|
-
"div",
|
|
6515
|
-
{
|
|
6516
|
-
"data-slot": "explorer-empty",
|
|
6517
|
-
className: "flex h-full flex-col items-center justify-center gap-1 text-center text-muted-foreground",
|
|
6518
|
-
children: [
|
|
6519
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: title }),
|
|
6520
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: description })
|
|
6521
|
-
]
|
|
6522
|
-
}
|
|
6523
|
-
);
|
|
6524
|
-
}
|
|
6525
|
-
var ExplorerMarquee = react.forwardRef(
|
|
6526
|
-
function ExplorerMarquee2({ className, style, ...props }, ref) {
|
|
6527
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6528
|
-
"div",
|
|
6529
|
-
{
|
|
6530
|
-
ref,
|
|
6531
|
-
"aria-hidden": true,
|
|
6532
|
-
"data-slot": "explorer-marquee",
|
|
6533
|
-
className: ui.cn(
|
|
6534
|
-
"pointer-events-none fixed z-30 border border-primary bg-primary/10",
|
|
6535
|
-
className
|
|
6536
|
-
),
|
|
6537
|
-
style: { display: "none", ...style },
|
|
6538
|
-
...props
|
|
6539
|
-
}
|
|
6540
|
-
);
|
|
6541
|
-
}
|
|
6542
|
-
);
|
|
6543
|
-
function ExplorerDropOverlay({ label }) {
|
|
6544
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6545
|
-
"div",
|
|
6546
|
-
{
|
|
6547
|
-
"data-slot": "explorer-drop-overlay",
|
|
6548
|
-
className: "pointer-events-none absolute inset-2 z-20 flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed border-primary bg-accent/80 backdrop-blur-sm",
|
|
6549
|
-
children: [
|
|
6550
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.UploadCloud, { className: "size-8 text-primary" }),
|
|
6551
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-primary", children: label })
|
|
6552
|
-
]
|
|
6553
|
-
}
|
|
6554
|
-
);
|
|
6555
|
-
}
|
|
6556
|
-
function ExplorerDragPreview({ icon, title, count }) {
|
|
6557
|
-
const isMulti = count > 1;
|
|
6558
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "explorer-drag-preview", className: "relative", children: [
|
|
6559
|
-
isMulti && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6560
|
-
"div",
|
|
6561
|
-
{
|
|
6562
|
-
"aria-hidden": true,
|
|
6563
|
-
className: "absolute inset-0 translate-x-1.5 translate-y-1.5 rounded-lg border border-primary/30 bg-popover shadow-md"
|
|
6564
|
-
}
|
|
6565
|
-
),
|
|
6566
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex items-center gap-2 rounded-lg border border-primary/40 bg-popover px-3 py-2 shadow-lg", children: [
|
|
6567
|
-
icon,
|
|
6568
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "max-w-[12rem] truncate text-sm font-medium", children: title }),
|
|
6569
|
-
isMulti && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6570
|
-
"span",
|
|
6571
|
-
{
|
|
6572
|
-
"data-slot": "explorer-drag-preview-count",
|
|
6573
|
-
className: "whitespace-nowrap rounded-full bg-primary px-2 py-0.5 text-xs font-semibold text-primary-foreground",
|
|
6574
|
-
children: [
|
|
6575
|
-
count,
|
|
6576
|
-
" items"
|
|
6577
|
-
]
|
|
6578
|
-
}
|
|
6579
|
-
)
|
|
6580
|
-
] })
|
|
6581
|
-
] });
|
|
6582
|
-
}
|
|
6583
5738
|
|
|
6584
5739
|
exports.AiReviewDialogView = AiReviewDialogView;
|
|
6585
5740
|
exports.BulkActionsBar = BulkActionsBar;
|
|
@@ -6593,7 +5748,6 @@ exports.DEFAULT_BULK_ACTIONS_LABELS = DEFAULT_BULK_ACTIONS_LABELS;
|
|
|
6593
5748
|
exports.DEFAULT_BULK_REPLACE_LABELS = DEFAULT_BULK_REPLACE_LABELS;
|
|
6594
5749
|
exports.DEFAULT_BULK_TAG_EDITOR_LABELS = DEFAULT_BULK_TAG_EDITOR_LABELS;
|
|
6595
5750
|
exports.DEFAULT_DOC_TAG_LABELS = DEFAULT_DOC_TAG_LABELS;
|
|
6596
|
-
exports.DEFAULT_EXPLORER_LABELS = DEFAULT_EXPLORER_LABELS;
|
|
6597
5751
|
exports.DEFAULT_EXPORT_LABELS = DEFAULT_EXPORT_LABELS;
|
|
6598
5752
|
exports.DEFAULT_FIELDS_EDITOR_LABELS = DEFAULT_FIELDS_EDITOR_LABELS;
|
|
6599
5753
|
exports.DEFAULT_FILES_SEARCH_LABELS = DEFAULT_FILES_SEARCH_LABELS;
|
|
@@ -6625,17 +5779,6 @@ exports.DocumentGrid = DocumentGrid;
|
|
|
6625
5779
|
exports.DocumentLabelBar = DocumentLabelBar;
|
|
6626
5780
|
exports.DocumentNameCellFrame = DocumentNameCellFrame;
|
|
6627
5781
|
exports.DocumentRowMenu = DocumentRowMenu;
|
|
6628
|
-
exports.ExplorerDragPreview = ExplorerDragPreview;
|
|
6629
|
-
exports.ExplorerDropOverlay = ExplorerDropOverlay;
|
|
6630
|
-
exports.ExplorerEmpty = ExplorerEmpty;
|
|
6631
|
-
exports.ExplorerFileTile = ExplorerFileTile;
|
|
6632
|
-
exports.ExplorerFileTooltip = ExplorerFileTooltip;
|
|
6633
|
-
exports.ExplorerFolderTile = ExplorerFolderTile;
|
|
6634
|
-
exports.ExplorerFrame = ExplorerFrame;
|
|
6635
|
-
exports.ExplorerLoadingTiles = ExplorerLoadingTiles;
|
|
6636
|
-
exports.ExplorerMarquee = ExplorerMarquee;
|
|
6637
|
-
exports.ExplorerScroller = ExplorerScroller;
|
|
6638
|
-
exports.ExplorerStage = ExplorerStage;
|
|
6639
5782
|
exports.ExportFooter = ExportFooter;
|
|
6640
5783
|
exports.ExportMethodChooser = ExportMethodChooser;
|
|
6641
5784
|
exports.ExportModalTitle = ExportModalTitle;
|
|
@@ -6681,7 +5824,6 @@ exports.RejectedFilesList = RejectedFilesList;
|
|
|
6681
5824
|
exports.RelatedDocsCell = RelatedDocsCell;
|
|
6682
5825
|
exports.SELECTION_COL_ID = SELECTION_COL_ID;
|
|
6683
5826
|
exports.SelectedFilesList = SelectedFilesList;
|
|
6684
|
-
exports.StatusPill = StatusPill;
|
|
6685
5827
|
exports.TagColumnHeader = TagColumnHeader;
|
|
6686
5828
|
exports.TagFormField = TagFormField;
|
|
6687
5829
|
exports.TagFormFooter = TagFormFooter;
|
|
@@ -6716,7 +5858,6 @@ exports.UploadSourceSection = UploadSourceSection;
|
|
|
6716
5858
|
exports.UploadUrlButton = UploadUrlButton;
|
|
6717
5859
|
exports.UrlDialogTitle = UrlDialogTitle;
|
|
6718
5860
|
exports.UrlInputDialogView = UrlInputDialogView;
|
|
6719
|
-
exports.VendorLogo = VendorLogo;
|
|
6720
5861
|
exports.ViewSelectorMenu = ViewSelectorMenu;
|
|
6721
5862
|
exports.ViewerControlBar = ViewerControlBar;
|
|
6722
5863
|
exports.ViewerFrame = ViewerFrame;
|
|
@@ -6747,5 +5888,5 @@ exports.upsertView = upsertView;
|
|
|
6747
5888
|
exports.useGridViews = useGridViews;
|
|
6748
5889
|
exports.visibleColumns = visibleColumns;
|
|
6749
5890
|
exports.widthsMatch = widthsMatch;
|
|
6750
|
-
//# sourceMappingURL=chunk-
|
|
6751
|
-
//# sourceMappingURL=chunk-
|
|
5891
|
+
//# sourceMappingURL=chunk-MUDEL7UL.cjs.map
|
|
5892
|
+
//# sourceMappingURL=chunk-MUDEL7UL.cjs.map
|