@arbidocs/blocks 0.5.14 → 0.5.15
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-MB5F7SPD.cjs → chunk-F5A5346Z.cjs} +3 -2
- package/dist/chunk-F5A5346Z.cjs.map +1 -0
- package/dist/{chunk-NA3BE3YY.js → chunk-LSGH6QA7.js} +3 -2
- package/dist/chunk-LSGH6QA7.js.map +1 -0
- package/dist/connect/index.cjs +194 -194
- package/dist/connect/index.js +1 -1
- package/dist/connect/viewer.cjs +39 -39
- package/dist/connect/viewer.js +1 -1
- package/dist/files/index.cjs +221 -221
- package/dist/files/index.js +1 -1
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/chunk-MB5F7SPD.cjs.map +0 -1
- package/dist/chunk-NA3BE3YY.js.map +0 -1
package/dist/connect/index.cjs
CHANGED
|
@@ -12,7 +12,7 @@ var chunkDAEDRTIN_cjs = require('../chunk-DAEDRTIN.cjs');
|
|
|
12
12
|
var chunkY7KDWKPZ_cjs = require('../chunk-Y7KDWKPZ.cjs');
|
|
13
13
|
var chunkOHU27AJ4_cjs = require('../chunk-OHU27AJ4.cjs');
|
|
14
14
|
var chunkHHABG6MV_cjs = require('../chunk-HHABG6MV.cjs');
|
|
15
|
-
var
|
|
15
|
+
var chunkF5A5346Z_cjs = require('../chunk-F5A5346Z.cjs');
|
|
16
16
|
var chunk2WLXQGWC_cjs = require('../chunk-2WLXQGWC.cjs');
|
|
17
17
|
var chunk223D4727_cjs = require('../chunk-223D4727.cjs');
|
|
18
18
|
var chunk2XLVE2XD_cjs = require('../chunk-2XLVE2XD.cjs');
|
|
@@ -3030,7 +3030,7 @@ function TileStatusBadge({ doc, status }) {
|
|
|
3030
3030
|
case "failed":
|
|
3031
3031
|
tone = "danger";
|
|
3032
3032
|
icon2 = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3033
|
-
|
|
3033
|
+
chunkF5A5346Z_cjs.FailedStageIcon,
|
|
3034
3034
|
{
|
|
3035
3035
|
stage: doc.failed_stage ?? null,
|
|
3036
3036
|
errorMessage: doc.error_message,
|
|
@@ -3057,7 +3057,7 @@ function TileStatusBadge({ doc, status }) {
|
|
|
3057
3057
|
return null;
|
|
3058
3058
|
}
|
|
3059
3059
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3060
|
-
|
|
3060
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3061
3061
|
{
|
|
3062
3062
|
tone,
|
|
3063
3063
|
icon: icon2,
|
|
@@ -3069,11 +3069,11 @@ function TileStatusBadge({ doc, status }) {
|
|
|
3069
3069
|
function TileVisibilityBadge({ doc }) {
|
|
3070
3070
|
const shared = !!doc.shared;
|
|
3071
3071
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3072
|
-
|
|
3072
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3073
3073
|
{
|
|
3074
3074
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: shared, className: "size-3.5", "aria-hidden": true }),
|
|
3075
3075
|
label: shared ? ui.getEntityLabel("WORKSPACE") : "Only you",
|
|
3076
|
-
title:
|
|
3076
|
+
title: chunkF5A5346Z_cjs.visibilityAudience(shared),
|
|
3077
3077
|
testId: `explorer-file-visibility-${doc.external_id}`
|
|
3078
3078
|
}
|
|
3079
3079
|
);
|
|
@@ -3100,7 +3100,7 @@ function FileTooltipContent({
|
|
|
3100
3100
|
}) {
|
|
3101
3101
|
const labels = (doc.doctags ?? []).map((dt) => tagNameById.get(dt.tag_ext_id)).filter((name) => !!name);
|
|
3102
3102
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3103
|
-
|
|
3103
|
+
chunkF5A5346Z_cjs.ExplorerFileTooltip,
|
|
3104
3104
|
{
|
|
3105
3105
|
title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
|
|
3106
3106
|
summary: ui.getDocumentSubject(doc),
|
|
@@ -3109,7 +3109,7 @@ function FileTooltipContent({
|
|
|
3109
3109
|
shared: !!doc.shared,
|
|
3110
3110
|
visibilityIcon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: !!doc.shared, className: "h-3 w-3" }),
|
|
3111
3111
|
labels,
|
|
3112
|
-
uiLabels: { shared:
|
|
3112
|
+
uiLabels: { shared: chunkF5A5346Z_cjs.visibilityAudience(true), private: chunkF5A5346Z_cjs.visibilityAudience(false) }
|
|
3113
3113
|
}
|
|
3114
3114
|
);
|
|
3115
3115
|
}
|
|
@@ -3221,7 +3221,7 @@ var FileTile = React7.memo(function FileTile2({
|
|
|
3221
3221
|
];
|
|
3222
3222
|
const tooltip = renaming || dndActive ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(FileTooltipContent, { doc, modifiedBy, tagNameById });
|
|
3223
3223
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3224
|
-
|
|
3224
|
+
chunkF5A5346Z_cjs.ExplorerFileTile,
|
|
3225
3225
|
{
|
|
3226
3226
|
id: doc.external_id,
|
|
3227
3227
|
title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
|
|
@@ -3315,17 +3315,17 @@ var FolderTile = React7.memo(function FolderTile2({
|
|
|
3315
3315
|
}
|
|
3316
3316
|
] : []
|
|
3317
3317
|
];
|
|
3318
|
-
const displayName = folder.path.length === 1 ?
|
|
3319
|
-
const providerIcon = folder.path.length === 1 &&
|
|
3318
|
+
const displayName = folder.path.length === 1 ? chunkF5A5346Z_cjs.formatFolderSegment(folder.name) : folder.name;
|
|
3319
|
+
const providerIcon = folder.path.length === 1 && chunkF5A5346Z_cjs.hasFolderProviderIcon(folder.name) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3320
3320
|
"span",
|
|
3321
3321
|
{
|
|
3322
3322
|
className: "flex items-center justify-center drop-shadow-sm",
|
|
3323
3323
|
style: { width: iconSize, height: iconSize },
|
|
3324
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3324
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FolderProviderIcon, { folderPath: folder.name, className: "h-full w-full" })
|
|
3325
3325
|
}
|
|
3326
3326
|
) : void 0;
|
|
3327
3327
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3328
|
-
|
|
3328
|
+
chunkF5A5346Z_cjs.ExplorerFolderTile,
|
|
3329
3329
|
{
|
|
3330
3330
|
name: folder.name,
|
|
3331
3331
|
displayName: displayName === "" ? null : displayName,
|
|
@@ -3415,7 +3415,7 @@ function describeGlyph(resolved, doc) {
|
|
|
3415
3415
|
}
|
|
3416
3416
|
return {
|
|
3417
3417
|
node: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3418
|
-
|
|
3418
|
+
chunkF5A5346Z_cjs.FailedStageIcon,
|
|
3419
3419
|
{
|
|
3420
3420
|
stage: resolved.failedStage,
|
|
3421
3421
|
errorMessage: doc.error_message,
|
|
@@ -3460,7 +3460,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3460
3460
|
if (isPendingSync) {
|
|
3461
3461
|
return cell(
|
|
3462
3462
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3463
|
-
|
|
3463
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3464
3464
|
{
|
|
3465
3465
|
tone: "warning",
|
|
3466
3466
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "size-3.5" }),
|
|
@@ -3475,7 +3475,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3475
3475
|
case "completed":
|
|
3476
3476
|
return cell(
|
|
3477
3477
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3478
|
-
|
|
3478
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3479
3479
|
{
|
|
3480
3480
|
tone: "success",
|
|
3481
3481
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "size-3.5" }),
|
|
@@ -3488,7 +3488,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3488
3488
|
case "skipped":
|
|
3489
3489
|
return cell(
|
|
3490
3490
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3491
|
-
|
|
3491
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3492
3492
|
{
|
|
3493
3493
|
tone: "neutral",
|
|
3494
3494
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SkipForward, { className: "size-3.5" }),
|
|
@@ -3501,7 +3501,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3501
3501
|
case "empty":
|
|
3502
3502
|
return cell(
|
|
3503
3503
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3504
|
-
|
|
3504
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3505
3505
|
{
|
|
3506
3506
|
tone: "warning",
|
|
3507
3507
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileX, { className: "size-3.5" }),
|
|
@@ -3514,7 +3514,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3514
3514
|
case "low-content":
|
|
3515
3515
|
return cell(
|
|
3516
3516
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3517
|
-
|
|
3517
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3518
3518
|
{
|
|
3519
3519
|
tone: "warning",
|
|
3520
3520
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-3.5" }),
|
|
@@ -3529,7 +3529,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3529
3529
|
if (quota) {
|
|
3530
3530
|
return cell(
|
|
3531
3531
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3532
|
-
|
|
3532
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3533
3533
|
{
|
|
3534
3534
|
tone: "warning",
|
|
3535
3535
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "size-3.5" }),
|
|
@@ -3542,11 +3542,11 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3542
3542
|
}
|
|
3543
3543
|
return cell(
|
|
3544
3544
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3545
|
-
|
|
3545
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3546
3546
|
{
|
|
3547
3547
|
tone: "danger",
|
|
3548
3548
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3549
|
-
|
|
3549
|
+
chunkF5A5346Z_cjs.FailedStageIcon,
|
|
3550
3550
|
{
|
|
3551
3551
|
stage: failedStage,
|
|
3552
3552
|
errorMessage: doc.error_message,
|
|
@@ -3563,7 +3563,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3563
3563
|
const isDocx = doc.file_name?.toLowerCase().endsWith(".docx");
|
|
3564
3564
|
return cell(
|
|
3565
3565
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3566
|
-
|
|
3566
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3567
3567
|
{
|
|
3568
3568
|
tone: "neutral",
|
|
3569
3569
|
label: isDocx ? "Uploaded" : "Queued",
|
|
@@ -3580,7 +3580,7 @@ var StatusCell = React7.memo(function StatusCell2({
|
|
|
3580
3580
|
case "analysing":
|
|
3581
3581
|
return cell(
|
|
3582
3582
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3583
|
-
|
|
3583
|
+
chunkF5A5346Z_cjs.StatusPill,
|
|
3584
3584
|
{
|
|
3585
3585
|
tone: "info",
|
|
3586
3586
|
label: PROCESSING_LABELS[status],
|
|
@@ -3663,7 +3663,7 @@ var DocumentNameCell = React7.memo(function DocumentNameCell2({
|
|
|
3663
3663
|
}
|
|
3664
3664
|
};
|
|
3665
3665
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3666
|
-
|
|
3666
|
+
chunkF5A5346Z_cjs.DocumentNameCellFrame,
|
|
3667
3667
|
{
|
|
3668
3668
|
testId: `open-document-viewer-button-${doc.external_id}`,
|
|
3669
3669
|
isViewing,
|
|
@@ -3692,7 +3692,7 @@ var DocumentNameCell = React7.memo(function DocumentNameCell2({
|
|
|
3692
3692
|
openTimerRef.current = window.setTimeout(onOpen, OPEN_AFTER_DOUBLE_CLICK_WINDOW_MS);
|
|
3693
3693
|
},
|
|
3694
3694
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3695
|
-
|
|
3695
|
+
chunkF5A5346Z_cjs.DocumentRowMenu,
|
|
3696
3696
|
{
|
|
3697
3697
|
canEdit,
|
|
3698
3698
|
onOpen,
|
|
@@ -3729,8 +3729,8 @@ var DocumentSharedCell = React7.memo(function DocumentSharedCell2({
|
|
|
3729
3729
|
onToggle: handleToggle,
|
|
3730
3730
|
disabled,
|
|
3731
3731
|
disabledTooltip,
|
|
3732
|
-
tooltipActive:
|
|
3733
|
-
tooltipInactive:
|
|
3732
|
+
tooltipActive: chunkF5A5346Z_cjs.visibilityToggleTooltip(true),
|
|
3733
|
+
tooltipInactive: chunkF5A5346Z_cjs.visibilityToggleTooltip(false),
|
|
3734
3734
|
workspaceLabel: ui.getEntityLabel("WORKSPACE")
|
|
3735
3735
|
}
|
|
3736
3736
|
);
|
|
@@ -3744,7 +3744,7 @@ function useDocumentFolders(documents, value) {
|
|
|
3744
3744
|
}, [documents, value]);
|
|
3745
3745
|
}
|
|
3746
3746
|
function folderSegments(folder) {
|
|
3747
|
-
return folder.split("/").map((part, i) => i === 0 ?
|
|
3747
|
+
return folder.split("/").map((part, i) => i === 0 ? chunkF5A5346Z_cjs.formatFolderSegment(part) : part).filter((part, i) => i > 0 || part !== "");
|
|
3748
3748
|
}
|
|
3749
3749
|
var DocumentFolderCell = React7.memo(
|
|
3750
3750
|
function DocumentFolderCell2({
|
|
@@ -3756,14 +3756,14 @@ var DocumentFolderCell = React7.memo(
|
|
|
3756
3756
|
const folder = document2.folder;
|
|
3757
3757
|
const folders = useDocumentFolders(allDocuments, folder);
|
|
3758
3758
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3759
|
-
|
|
3759
|
+
chunkF5A5346Z_cjs.FolderCell,
|
|
3760
3760
|
{
|
|
3761
3761
|
folder,
|
|
3762
3762
|
segments: folder ? folderSegments(folder) : [],
|
|
3763
|
-
icon: folder &&
|
|
3763
|
+
icon: folder && chunkF5A5346Z_cjs.hasFolderProviderIcon(folder) ? /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FolderProviderIcon, { folderPath: folder, className: "h-3.5 w-3.5 flex-none shrink-0" }) : void 0,
|
|
3764
3764
|
isEditable,
|
|
3765
3765
|
picker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3766
|
-
|
|
3766
|
+
chunkF5A5346Z_cjs.FolderCommandList,
|
|
3767
3767
|
{
|
|
3768
3768
|
folders,
|
|
3769
3769
|
value: folder,
|
|
@@ -3798,7 +3798,7 @@ var RelatedDocumentsCell = React7.memo(function RelatedDocumentsCell2({
|
|
|
3798
3798
|
onCompare
|
|
3799
3799
|
}) {
|
|
3800
3800
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3801
|
-
|
|
3801
|
+
chunkF5A5346Z_cjs.RelatedDocsCell,
|
|
3802
3802
|
{
|
|
3803
3803
|
parent: related.parent,
|
|
3804
3804
|
attachments: related.children,
|
|
@@ -4038,9 +4038,9 @@ function ConnectedTagForm({
|
|
|
4038
4038
|
});
|
|
4039
4039
|
}
|
|
4040
4040
|
}
|
|
4041
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4041
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.TagFormRoot, { children: [
|
|
4042
4042
|
!nameOnRow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4043
|
-
|
|
4043
|
+
chunkF5A5346Z_cjs.TagFormNameField,
|
|
4044
4044
|
{
|
|
4045
4045
|
label: group || nameByKind ? `${ui.tagKindTitle(kind)} Name` : `${columnLabel} Name`,
|
|
4046
4046
|
placeholder: `Enter ${kindNoun ?? columnLabel.toLowerCase()} name...`,
|
|
@@ -4050,7 +4050,7 @@ function ConnectedTagForm({
|
|
|
4050
4050
|
}
|
|
4051
4051
|
),
|
|
4052
4052
|
kinds.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4053
|
-
|
|
4053
|
+
chunkF5A5346Z_cjs.TagFormSelectField,
|
|
4054
4054
|
{
|
|
4055
4055
|
label: "Kind",
|
|
4056
4056
|
testId: "inline-tag-form-kind-field",
|
|
@@ -4065,7 +4065,7 @@ function ConnectedTagForm({
|
|
|
4065
4065
|
}
|
|
4066
4066
|
),
|
|
4067
4067
|
kind === "annotation" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4068
|
-
|
|
4068
|
+
chunkF5A5346Z_cjs.TagFormSelectField,
|
|
4069
4069
|
{
|
|
4070
4070
|
label: group === "annotation" ? "Value type" : "Field Type",
|
|
4071
4071
|
testId: "inline-tag-form-type-field",
|
|
@@ -4077,7 +4077,7 @@ function ConnectedTagForm({
|
|
|
4077
4077
|
}
|
|
4078
4078
|
),
|
|
4079
4079
|
showParentPicker && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4080
|
-
|
|
4080
|
+
chunkF5A5346Z_cjs.TagFormSelectField,
|
|
4081
4081
|
{
|
|
4082
4082
|
label: "Nested Under",
|
|
4083
4083
|
value: parentId,
|
|
@@ -4101,14 +4101,14 @@ function ConnectedTagForm({
|
|
|
4101
4101
|
hint: !canClearParent ? "This field can move to a different parent, but the API has no way to move it back to the top level." : void 0
|
|
4102
4102
|
}
|
|
4103
4103
|
),
|
|
4104
|
-
nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4104
|
+
nestingEnabled && hasChildren && /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.TagFormNote, { testId: "inline-tag-form-parent-locked", children: [
|
|
4105
4105
|
"Other fields are nested under this one, so it cannot itself be nested \u2014 fields nest",
|
|
4106
4106
|
" ",
|
|
4107
4107
|
browser.TAG_NESTING_MAX_DEPTH,
|
|
4108
4108
|
" levels deep."
|
|
4109
4109
|
] }),
|
|
4110
4110
|
tagType === "select" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4111
|
-
|
|
4111
|
+
chunkF5A5346Z_cjs.TagFormOptionsEditor,
|
|
4112
4112
|
{
|
|
4113
4113
|
label: "Options",
|
|
4114
4114
|
options: options2,
|
|
@@ -4121,7 +4121,7 @@ function ConnectedTagForm({
|
|
|
4121
4121
|
}
|
|
4122
4122
|
),
|
|
4123
4123
|
tagType === "text" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4124
|
-
|
|
4124
|
+
chunkF5A5346Z_cjs.TagFormInstructionField,
|
|
4125
4125
|
{
|
|
4126
4126
|
label: "AI Instruction",
|
|
4127
4127
|
optionalLabel: "(optional)",
|
|
@@ -4131,12 +4131,12 @@ function ConnectedTagForm({
|
|
|
4131
4131
|
onChange: setInstruction
|
|
4132
4132
|
}
|
|
4133
4133
|
),
|
|
4134
|
-
metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4134
|
+
metaLines.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.TagFormMeta, { lines: metaLines }),
|
|
4135
4135
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4136
|
-
|
|
4136
|
+
chunkF5A5346Z_cjs.TagFormFooter,
|
|
4137
4137
|
{
|
|
4138
4138
|
sharedToggle: isCreate ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
4139
|
-
|
|
4139
|
+
chunkF5A5346Z_cjs.TagFormSharedToggle,
|
|
4140
4140
|
{
|
|
4141
4141
|
label: "Shared with workspace",
|
|
4142
4142
|
toggle: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4762,7 +4762,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4762
4762
|
onTabChange: () => {
|
|
4763
4763
|
},
|
|
4764
4764
|
variant: "underline",
|
|
4765
|
-
firstTabContent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4765
|
+
firstTabContent: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilesFilterBar, { className: "flex-none", "data-testid": "tags-header-actions", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4766
4766
|
chunk2EI7NCUA_cjs.FilterInput,
|
|
4767
4767
|
{
|
|
4768
4768
|
value: filterText,
|
|
@@ -4790,7 +4790,7 @@ ${nested.length} nested ${tagNoun(nested.length)} ${nested.length === 1 ? "moves
|
|
|
4790
4790
|
)
|
|
4791
4791
|
}
|
|
4792
4792
|
) }),
|
|
4793
|
-
centerContent: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4793
|
+
centerContent: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilesViewCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4794
4794
|
chunk2WLXQGWC_cjs.ViewToggle,
|
|
4795
4795
|
{
|
|
4796
4796
|
options: browser.TAG_KINDS.map((k) => ({
|
|
@@ -5651,7 +5651,7 @@ function useFactFilters(notes, view, chat) {
|
|
|
5651
5651
|
(selected, setSelected, opts) => {
|
|
5652
5652
|
const applied = new Set(selected);
|
|
5653
5653
|
return /* @__PURE__ */ jsxRuntime.jsx(chunkR5YS2UZ3_cjs.FactFieldRow, { label: "Labels", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5654
|
-
|
|
5654
|
+
chunkF5A5346Z_cjs.FieldLabelsSelect,
|
|
5655
5655
|
{
|
|
5656
5656
|
options: labelOptions,
|
|
5657
5657
|
appliedIds: applied,
|
|
@@ -5877,7 +5877,7 @@ var FactHeader = React7.memo(function FactHeader2({
|
|
|
5877
5877
|
if (params.enableSorting) params.progressSort(e.shiftKey);
|
|
5878
5878
|
},
|
|
5879
5879
|
children: [
|
|
5880
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5880
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilterButton, { params, colId }),
|
|
5881
5881
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "order-2 min-w-0 flex-1 truncate", children: params.displayName }),
|
|
5882
5882
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ag-sort-indicator-container order-2 flex-shrink-0", "aria-hidden": "true", children: [
|
|
5883
5883
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6141,7 +6141,7 @@ function useFactsGrid({
|
|
|
6141
6141
|
var DEFAULT_TIMELINE_LABEL_WIDTH = 240;
|
|
6142
6142
|
function useFactsPageView() {
|
|
6143
6143
|
const [view, setView] = React7.useState("table");
|
|
6144
|
-
const [rowHeight, setRowHeight] = React7.useState(
|
|
6144
|
+
const [rowHeight, setRowHeight] = React7.useState(chunkF5A5346Z_cjs.ROW_MIN);
|
|
6145
6145
|
const [labelWidth, setLabelWidth] = React7.useState(DEFAULT_TIMELINE_LABEL_WIDTH);
|
|
6146
6146
|
const [zoom, setZoom] = React7.useState(1);
|
|
6147
6147
|
const [filterText, setFilterText] = React7.useState("");
|
|
@@ -6505,7 +6505,7 @@ function ConnectedExportPanel({
|
|
|
6505
6505
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", "data-testid": "export-documents", children: [
|
|
6506
6506
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-auto space-y-6 p-6", children: [
|
|
6507
6507
|
jobRunning && job && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6508
|
-
|
|
6508
|
+
chunkF5A5346Z_cjs.TransferProgressView,
|
|
6509
6509
|
{
|
|
6510
6510
|
title: `${job.mode === "move" ? "Moving" : "Copying"} to ${targetName(job.target_workspace_ext_id)}`,
|
|
6511
6511
|
processed: job.processed ?? 0,
|
|
@@ -6518,7 +6518,7 @@ function ConnectedExportPanel({
|
|
|
6518
6518
|
),
|
|
6519
6519
|
jobDone && job && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6520
6520
|
react.isTransferResumable(job) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6521
|
-
|
|
6521
|
+
chunkF5A5346Z_cjs.TransferResumeBanner,
|
|
6522
6522
|
{
|
|
6523
6523
|
message: `Stopped at ${job.processed} of ${job.total}. Resume to finish \u2014 nothing is copied twice.`,
|
|
6524
6524
|
onResume: () => handleResume(job),
|
|
@@ -6526,7 +6526,7 @@ function ConnectedExportPanel({
|
|
|
6526
6526
|
}
|
|
6527
6527
|
),
|
|
6528
6528
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6529
|
-
|
|
6529
|
+
chunkF5A5346Z_cjs.ExportResultsReport,
|
|
6530
6530
|
{
|
|
6531
6531
|
summary: `${job.mode === "move" ? "Moved" : "Copied"} ${plural(
|
|
6532
6532
|
Number(job.counts?.copied ?? 0) + Number(job.counts?.removed ?? 0),
|
|
@@ -6539,7 +6539,7 @@ function ConnectedExportPanel({
|
|
|
6539
6539
|
] }),
|
|
6540
6540
|
!jobId && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6541
6541
|
resumable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6542
|
-
|
|
6542
|
+
chunkF5A5346Z_cjs.TransferResumeBanner,
|
|
6543
6543
|
{
|
|
6544
6544
|
message: `A ${resumable.mode} to ${targetName(resumable.target_workspace_ext_id)} stopped at ${resumable.processed} of ${resumable.total}.`,
|
|
6545
6545
|
onResume: () => handleResume(resumable),
|
|
@@ -6547,7 +6547,7 @@ function ConnectedExportPanel({
|
|
|
6547
6547
|
}
|
|
6548
6548
|
),
|
|
6549
6549
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6550
|
-
|
|
6550
|
+
chunkF5A5346Z_cjs.TransferScopeChooser,
|
|
6551
6551
|
{
|
|
6552
6552
|
scope: scopeChoice,
|
|
6553
6553
|
onScopeChange: setScopeChoice,
|
|
@@ -6558,7 +6558,7 @@ function ConnectedExportPanel({
|
|
|
6558
6558
|
}
|
|
6559
6559
|
),
|
|
6560
6560
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6561
|
-
|
|
6561
|
+
chunkF5A5346Z_cjs.TransferKindsPicker,
|
|
6562
6562
|
{
|
|
6563
6563
|
options: ALL_KINDS.map((kind) => ({
|
|
6564
6564
|
kind,
|
|
@@ -6571,9 +6571,9 @@ function ConnectedExportPanel({
|
|
|
6571
6571
|
)
|
|
6572
6572
|
}
|
|
6573
6573
|
),
|
|
6574
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6574
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.TransferReferencesChooser, { value: references, onChange: setReferences }),
|
|
6575
6575
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6576
|
-
|
|
6576
|
+
chunkF5A5346Z_cjs.ExportMethodChooser,
|
|
6577
6577
|
{
|
|
6578
6578
|
mode,
|
|
6579
6579
|
onModeChange: setMode,
|
|
@@ -6585,17 +6585,17 @@ function ConnectedExportPanel({
|
|
|
6585
6585
|
),
|
|
6586
6586
|
mode !== "download" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6587
6587
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6588
|
-
|
|
6588
|
+
chunkF5A5346Z_cjs.ExportWorkspacePicker,
|
|
6589
6589
|
{
|
|
6590
6590
|
workspaces: workspaceOptions,
|
|
6591
6591
|
selectedId: targetId,
|
|
6592
6592
|
onSelect: setTargetId
|
|
6593
6593
|
}
|
|
6594
6594
|
),
|
|
6595
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6595
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.TransferConflictChooser, { value: conflict, onChange: setConflict })
|
|
6596
6596
|
] }),
|
|
6597
6597
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6598
|
-
|
|
6598
|
+
chunkF5A5346Z_cjs.TransferPlanSummary,
|
|
6599
6599
|
{
|
|
6600
6600
|
lines: summary.lines,
|
|
6601
6601
|
warnings: summary.warnings,
|
|
@@ -6612,7 +6612,7 @@ function ConnectedExportPanel({
|
|
|
6612
6612
|
] })
|
|
6613
6613
|
] }),
|
|
6614
6614
|
!jobId && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6615
|
-
|
|
6615
|
+
chunkF5A5346Z_cjs.ExportFooter,
|
|
6616
6616
|
{
|
|
6617
6617
|
onCancel: onClose,
|
|
6618
6618
|
onSubmit: handleSubmit,
|
|
@@ -6653,7 +6653,7 @@ function OpenExportDialog({
|
|
|
6653
6653
|
children: [
|
|
6654
6654
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkULWRNGGE_cjs.ModalHeader, { children: [
|
|
6655
6655
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6656
|
-
|
|
6656
|
+
chunkF5A5346Z_cjs.ExportModalTitle,
|
|
6657
6657
|
{
|
|
6658
6658
|
workspace: workspace ? {
|
|
6659
6659
|
icon: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "touch-hit inline-flex", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -6821,7 +6821,7 @@ function ConnectedFactsPage({
|
|
|
6821
6821
|
setView(request.view === "list" ? "table" : request.view);
|
|
6822
6822
|
onRequestHandled?.("view");
|
|
6823
6823
|
}, [request?.view]);
|
|
6824
|
-
const factsRowHeight = pageView.rowHeight ===
|
|
6824
|
+
const factsRowHeight = pageView.rowHeight === chunkF5A5346Z_cjs.ROW_MIN ? chunkF5A5346Z_cjs.ROW_MIN : chunkF5A5346Z_cjs.rowHeightForLines(chunkF5A5346Z_cjs.linesForRowHeight(pageView.rowHeight));
|
|
6825
6825
|
const [isExportOpen, setIsExportOpen] = React7.useState(false);
|
|
6826
6826
|
const [filterOpen, setFilterOpen] = React7.useState(false);
|
|
6827
6827
|
const [factSection, setFactSection] = React7.useState(null);
|
|
@@ -6888,7 +6888,7 @@ function ConnectedFactsPage({
|
|
|
6888
6888
|
tools: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6889
6889
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(chunkR5YS2UZ3_cjs.FactsFieldsButton, { getGridApi: () => gridApiRef.current }),
|
|
6890
6890
|
view === "table" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6891
|
-
|
|
6891
|
+
chunkF5A5346Z_cjs.RowDensityControl,
|
|
6892
6892
|
{
|
|
6893
6893
|
rowHeight: factsRowHeight,
|
|
6894
6894
|
onRowHeightChange: pageView.setRowHeight,
|
|
@@ -16734,7 +16734,7 @@ function ConnectedMailbox({
|
|
|
16734
16734
|
onTabChange: () => {
|
|
16735
16735
|
},
|
|
16736
16736
|
compactBreakpoint: 360,
|
|
16737
|
-
firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
16737
|
+
firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesFilterBar, { children: [
|
|
16738
16738
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
16739
16739
|
chunk2EI7NCUA_cjs.FilterInput,
|
|
16740
16740
|
{
|
|
@@ -16769,7 +16769,7 @@ function ConnectedMailbox({
|
|
|
16769
16769
|
}
|
|
16770
16770
|
),
|
|
16771
16771
|
folderList && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16772
|
-
|
|
16772
|
+
chunkF5A5346Z_cjs.FolderFilterButton,
|
|
16773
16773
|
{
|
|
16774
16774
|
label: folderList.find((f) => f.id === folderId)?.name ?? "Folders",
|
|
16775
16775
|
isActive: false,
|
|
@@ -16777,7 +16777,7 @@ function ConnectedMailbox({
|
|
|
16777
16777
|
onOpenChange: setFolderMenuOpen,
|
|
16778
16778
|
testId: "mail-folder-button",
|
|
16779
16779
|
children: folderList.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
16780
|
-
|
|
16780
|
+
chunkF5A5346Z_cjs.FolderPickerRow,
|
|
16781
16781
|
{
|
|
16782
16782
|
label: item.name,
|
|
16783
16783
|
count: item.unread > 0 ? item.unread : void 0,
|
|
@@ -20639,7 +20639,7 @@ var useFilesPrefs = zustand.create()(
|
|
|
20639
20639
|
(state) => state.viewModes[prefsKey] === viewMode ? state : { viewModes: { ...state.viewModes, [prefsKey]: viewMode } }
|
|
20640
20640
|
),
|
|
20641
20641
|
// New users start at the compact minimum (more rows at once).
|
|
20642
|
-
rowHeight:
|
|
20642
|
+
rowHeight: chunkF5A5346Z_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
20643
20643
|
setRowHeight: (rowHeight) => set({ rowHeight })
|
|
20644
20644
|
}),
|
|
20645
20645
|
{
|
|
@@ -20786,8 +20786,8 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
20786
20786
|
const { folders, files } = React7.useMemo(() => {
|
|
20787
20787
|
const result = isSearching ? {
|
|
20788
20788
|
folders: [],
|
|
20789
|
-
files:
|
|
20790
|
-
} :
|
|
20789
|
+
files: chunkF5A5346Z_cjs.searchExplorerDocuments(documents, search, sort)
|
|
20790
|
+
} : chunkF5A5346Z_cjs.buildExplorerEntries(documents, currentPath, sort, [...pendingFolders]);
|
|
20791
20791
|
if (sortReversed) result.files = [...result.files].reverse();
|
|
20792
20792
|
return result;
|
|
20793
20793
|
}, [documents, currentPath, sort, isSearching, search, sortReversed, pendingFolders]);
|
|
@@ -20798,7 +20798,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
20798
20798
|
const orderedFileIds = React7.useMemo(() => files.map((d) => d.external_id), [files]);
|
|
20799
20799
|
const folderDocs = React7.useMemo(() => {
|
|
20800
20800
|
const map = /* @__PURE__ */ new Map();
|
|
20801
|
-
for (const f of folders) map.set(f.path.join("/"),
|
|
20801
|
+
for (const f of folders) map.set(f.path.join("/"), chunkF5A5346Z_cjs.collectFolderDocs(documents, f.path));
|
|
20802
20802
|
return map;
|
|
20803
20803
|
}, [folders, documents]);
|
|
20804
20804
|
const folderSelection = React7.useMemo(() => {
|
|
@@ -20946,7 +20946,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
20946
20946
|
let name = base;
|
|
20947
20947
|
let i = 2;
|
|
20948
20948
|
while (siblings.has(name.toLowerCase())) name = `${base} ${i++}`;
|
|
20949
|
-
const path =
|
|
20949
|
+
const path = chunkF5A5346Z_cjs.joinFolderPath([...currentPath, name]);
|
|
20950
20950
|
if (!path) return;
|
|
20951
20951
|
addPendingFolder(wsId, path);
|
|
20952
20952
|
setEditingFolderPath(path);
|
|
@@ -20982,10 +20982,10 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
20982
20982
|
notify17(`A folder named "${name}" already exists here.`, "error");
|
|
20983
20983
|
return;
|
|
20984
20984
|
}
|
|
20985
|
-
const oldPath =
|
|
20985
|
+
const oldPath = chunkF5A5346Z_cjs.joinFolderPath(folder.path);
|
|
20986
20986
|
const newPrefix = [...folder.path.slice(0, -1), name];
|
|
20987
|
-
const newPath =
|
|
20988
|
-
const docs =
|
|
20987
|
+
const newPath = chunkF5A5346Z_cjs.joinFolderPath(newPrefix);
|
|
20988
|
+
const docs = chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path);
|
|
20989
20989
|
try {
|
|
20990
20990
|
if (await renameFolder(docs, folder.path, newPrefix) > 0) {
|
|
20991
20991
|
notify17(`Renamed folder to "${name}"`, "success");
|
|
@@ -21044,7 +21044,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21044
21044
|
const handleToggleFolder = React7.useCallback(
|
|
21045
21045
|
(folder, e) => {
|
|
21046
21046
|
e.stopPropagation();
|
|
21047
|
-
const ids =
|
|
21047
|
+
const ids = chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
|
|
21048
21048
|
if (ids.length === 0) return;
|
|
21049
21049
|
if (ids.every((id) => selectedSet.has(id))) {
|
|
21050
21050
|
const remove = new Set(ids);
|
|
@@ -21105,9 +21105,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21105
21105
|
);
|
|
21106
21106
|
const handleDelete = React7.useCallback(
|
|
21107
21107
|
async (doc) => {
|
|
21108
|
-
const name =
|
|
21108
|
+
const name = chunkF5A5346Z_cjs.getExplorerDisplayName(doc);
|
|
21109
21109
|
const confirmed = await confirm({
|
|
21110
|
-
message: `Delete "${name}"? ${
|
|
21110
|
+
message: `Delete "${name}"? ${chunkF5A5346Z_cjs.RECENTLY_DELETED_HINT}`,
|
|
21111
21111
|
title: "Delete file"
|
|
21112
21112
|
});
|
|
21113
21113
|
if (!confirmed) return;
|
|
@@ -21127,7 +21127,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21127
21127
|
);
|
|
21128
21128
|
const handleFolderDownload = React7.useCallback(
|
|
21129
21129
|
(folder) => {
|
|
21130
|
-
const docs =
|
|
21130
|
+
const docs = chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path);
|
|
21131
21131
|
if (docs.length > 0) void downloadDocuments(docs);
|
|
21132
21132
|
},
|
|
21133
21133
|
[documents, downloadDocuments]
|
|
@@ -21136,7 +21136,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21136
21136
|
if (onFolderMove) return onFolderMove;
|
|
21137
21137
|
if (!onMoveSelected) return void 0;
|
|
21138
21138
|
return (folder) => {
|
|
21139
|
-
const ids =
|
|
21139
|
+
const ids = chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path).map((d) => d.external_id);
|
|
21140
21140
|
if (ids.length === 0) return;
|
|
21141
21141
|
onSelectionChange(ids);
|
|
21142
21142
|
onMoveSelected();
|
|
@@ -21144,14 +21144,14 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21144
21144
|
}, [documents, onFolderMove, onMoveSelected, onSelectionChange]);
|
|
21145
21145
|
const handleFolderDelete = React7.useCallback(
|
|
21146
21146
|
async (folder) => {
|
|
21147
|
-
const docs =
|
|
21147
|
+
const docs = chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path);
|
|
21148
21148
|
if (docs.length === 0) {
|
|
21149
|
-
const path =
|
|
21149
|
+
const path = chunkF5A5346Z_cjs.joinFolderPath(folder.path);
|
|
21150
21150
|
if (wsId && path) removePendingFolder(wsId, path);
|
|
21151
21151
|
return;
|
|
21152
21152
|
}
|
|
21153
21153
|
const confirmed = await confirm({
|
|
21154
|
-
message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${
|
|
21154
|
+
message: `Delete folder "${folder.name}" and its ${docs.length} item${docs.length === 1 ? "" : "s"}? ${chunkF5A5346Z_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
|
|
21155
21155
|
title: "Delete folder"
|
|
21156
21156
|
});
|
|
21157
21157
|
if (!confirmed) return;
|
|
@@ -21168,8 +21168,8 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21168
21168
|
[confirm, documents, deleteDocuments, onSelectionChange, removePendingFolder, wsId, notify17]
|
|
21169
21169
|
);
|
|
21170
21170
|
const canDeleteFolder = React7.useCallback(
|
|
21171
|
-
(folder) => canUpload &&
|
|
21172
|
-
(doc) =>
|
|
21171
|
+
(folder) => canUpload && chunkF5A5346Z_cjs.collectFolderDocs(documents, folder.path).every(
|
|
21172
|
+
(doc) => chunkF5A5346Z_cjs.canDeleteDocument(doc, userId, role)
|
|
21173
21173
|
),
|
|
21174
21174
|
[canUpload, documents, userId, role]
|
|
21175
21175
|
);
|
|
@@ -21228,7 +21228,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21228
21228
|
setActiveDragId(null);
|
|
21229
21229
|
const data = event.over?.data.current;
|
|
21230
21230
|
if (data?.type === "folder" && data.path) {
|
|
21231
|
-
const targetFolder =
|
|
21231
|
+
const targetFolder = chunkF5A5346Z_cjs.joinFolderPath(data.path);
|
|
21232
21232
|
const moving = dragIdsRef.current.filter((id) => {
|
|
21233
21233
|
const doc = documents.find((d) => d.external_id === id);
|
|
21234
21234
|
return doc && (doc.folder ?? null) !== targetFolder;
|
|
@@ -21268,7 +21268,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21268
21268
|
const dropped = Array.from(e.dataTransfer.files ?? []);
|
|
21269
21269
|
if (dropped.length > 0) {
|
|
21270
21270
|
e.preventDefault();
|
|
21271
|
-
onUploadFiles(dropped,
|
|
21271
|
+
onUploadFiles(dropped, chunkF5A5346Z_cjs.joinFolderPath(currentPath));
|
|
21272
21272
|
}
|
|
21273
21273
|
},
|
|
21274
21274
|
[canUpload, currentPath, onUploadFiles]
|
|
@@ -21285,9 +21285,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21285
21285
|
onDragEnd: handleDragEnd,
|
|
21286
21286
|
onDragCancel: () => setActiveDragId(null),
|
|
21287
21287
|
children: [
|
|
21288
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21288
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.ExplorerFrame, { "data-testid": "documents-explorer", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.ExplorerStage, { children: [
|
|
21289
21289
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21290
|
-
|
|
21290
|
+
chunkF5A5346Z_cjs.ExplorerScroller,
|
|
21291
21291
|
{
|
|
21292
21292
|
ref: scrollRef,
|
|
21293
21293
|
onClick: handleBackgroundClick,
|
|
@@ -21297,15 +21297,15 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21297
21297
|
onDragLeave: handleNativeDragLeave,
|
|
21298
21298
|
onDrop: handleNativeDrop,
|
|
21299
21299
|
"data-testid": "explorer-scroll",
|
|
21300
|
-
children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21301
|
-
|
|
21300
|
+
children: isLoading && documents.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.ExplorerLoadingTiles, {}) : entries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21301
|
+
chunkF5A5346Z_cjs.ExplorerEmpty,
|
|
21302
21302
|
{
|
|
21303
21303
|
title: isSearching ? `No files match "${search.trim()}"` : "This folder is empty",
|
|
21304
21304
|
description: isSearching ? "Try a different search." : canUpload ? "Drop files here or use Upload to add documents." : "No documents here yet."
|
|
21305
21305
|
}
|
|
21306
21306
|
) : containerWidth === 0 ? (
|
|
21307
21307
|
// Not measured yet: rendering now would flash one stretched column.
|
|
21308
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21308
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.ExplorerLoadingTiles, {})
|
|
21309
21309
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21310
21310
|
"div",
|
|
21311
21311
|
{
|
|
@@ -21366,7 +21366,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21366
21366
|
dragging: activeDragId === doc.external_id,
|
|
21367
21367
|
dndActive: activeDragId !== null,
|
|
21368
21368
|
renaming: renamingId === doc.external_id,
|
|
21369
|
-
canDelete:
|
|
21369
|
+
canDelete: chunkF5A5346Z_cjs.canDeleteDocument(doc, userId, role),
|
|
21370
21370
|
thumbnailUrl: thumbnailsById.get(doc.external_id),
|
|
21371
21371
|
modifiedBy: userById.get(
|
|
21372
21372
|
doc.updated_by_ext_id ?? doc.created_by_ext_id
|
|
@@ -21395,9 +21395,9 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21395
21395
|
)
|
|
21396
21396
|
}
|
|
21397
21397
|
),
|
|
21398
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21398
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.ExplorerMarquee, { ref: marqueeOverlayRef, "data-testid": "explorer-marquee" }),
|
|
21399
21399
|
isFileDragOver && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21400
|
-
|
|
21400
|
+
chunkF5A5346Z_cjs.ExplorerDropOverlay,
|
|
21401
21401
|
{
|
|
21402
21402
|
label: `Drop to upload${currentPath.length > 0 ? ` to "${currentPath[currentPath.length - 1]}"` : ""}`
|
|
21403
21403
|
}
|
|
@@ -21411,7 +21411,7 @@ var ConnectedFilesExplorer = React7.forwardRef(function ConnectedFilesExplorer2(
|
|
|
21411
21411
|
function DragPreview({ doc, count: count2 }) {
|
|
21412
21412
|
const Icon = ui.getFileTypeIcon(doc.file_name, { mime: doc.file_type });
|
|
21413
21413
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21414
|
-
|
|
21414
|
+
chunkF5A5346Z_cjs.ExplorerDragPreview,
|
|
21415
21415
|
{
|
|
21416
21416
|
icon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }),
|
|
21417
21417
|
title: ui.getDocumentTitle(doc, doc.file_name ?? "Untitled"),
|
|
@@ -21497,7 +21497,7 @@ function ConnectedUploadDropzone({
|
|
|
21497
21497
|
const onFiles = browse(fileInputRef);
|
|
21498
21498
|
const onFolder = browse(folderInputRef);
|
|
21499
21499
|
const dropTarget = /* @__PURE__ */ jsxRuntime.jsx(
|
|
21500
|
-
|
|
21500
|
+
chunkF5A5346Z_cjs.UploadDropArea,
|
|
21501
21501
|
{
|
|
21502
21502
|
isActive: dragActive,
|
|
21503
21503
|
isDisabled: disabled,
|
|
@@ -21511,11 +21511,11 @@ function ConnectedUploadDropzone({
|
|
|
21511
21511
|
onClick: (e) => {
|
|
21512
21512
|
if (e.target === e.currentTarget) onFiles();
|
|
21513
21513
|
},
|
|
21514
|
-
actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21514
|
+
actions: compact ? /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadBrowseButtons, { onFiles, onFolder, isDisabled: disabled }) : void 0
|
|
21515
21515
|
}
|
|
21516
21516
|
);
|
|
21517
21517
|
const urlDialog = (trigger) => onUrlsSubmit ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21518
|
-
|
|
21518
|
+
chunkF5A5346Z_cjs.UrlInputDialog,
|
|
21519
21519
|
{
|
|
21520
21520
|
onUrlsSubmit,
|
|
21521
21521
|
processing: disabled,
|
|
@@ -21528,12 +21528,12 @@ function ConnectedUploadDropzone({
|
|
|
21528
21528
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
21529
21529
|
dropTarget,
|
|
21530
21530
|
compactLeadingAction,
|
|
21531
|
-
onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21531
|
+
onUrlsSubmit && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadSourceSection, { isIsolated: true, className: "flex flex-wrap justify-center gap-2", children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadUrlButton, { isDisabled: disabled, isCompact: true })) })
|
|
21532
21532
|
] });
|
|
21533
21533
|
}
|
|
21534
21534
|
if (!source) {
|
|
21535
21535
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21536
|
-
|
|
21536
|
+
chunkF5A5346Z_cjs.UploadSourcePicker,
|
|
21537
21537
|
{
|
|
21538
21538
|
isDisabled: disabled,
|
|
21539
21539
|
options: [
|
|
@@ -21569,14 +21569,14 @@ function ConnectedUploadDropzone({
|
|
|
21569
21569
|
}
|
|
21570
21570
|
if (source === "computer") {
|
|
21571
21571
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21572
|
-
|
|
21572
|
+
chunkF5A5346Z_cjs.UploadSourceSection,
|
|
21573
21573
|
{
|
|
21574
21574
|
testId: "upload-source-computer",
|
|
21575
21575
|
className: "flex w-full flex-col gap-3 pointer-coarse:flex-col-reverse",
|
|
21576
21576
|
children: [
|
|
21577
21577
|
dropTarget,
|
|
21578
21578
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21579
|
-
|
|
21579
|
+
chunkF5A5346Z_cjs.UploadBrowseButtons,
|
|
21580
21580
|
{
|
|
21581
21581
|
layout: "grid",
|
|
21582
21582
|
onFiles,
|
|
@@ -21589,15 +21589,15 @@ function ConnectedUploadDropzone({
|
|
|
21589
21589
|
);
|
|
21590
21590
|
}
|
|
21591
21591
|
if (source === "internet" && onUrlsSubmit) {
|
|
21592
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21592
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadSourceSection, { testId: "upload-source-internet", className: "flex flex-wrap gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadSourceSection, { isIsolated: true, children: urlDialog(/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadUrlButton, { isDisabled: disabled })) }) });
|
|
21593
21593
|
}
|
|
21594
21594
|
if (source === "email" && accounts) {
|
|
21595
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21595
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadSourceSection, { testId: "upload-source-email", isIsolated: true, children: accounts });
|
|
21596
21596
|
}
|
|
21597
21597
|
return null;
|
|
21598
21598
|
})();
|
|
21599
21599
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21600
|
-
|
|
21600
|
+
chunkF5A5346Z_cjs.UploadFrame,
|
|
21601
21601
|
{
|
|
21602
21602
|
isCompact: compact,
|
|
21603
21603
|
isDimmed: disabled || processingMessage !== null,
|
|
@@ -21704,7 +21704,7 @@ function plural3(count2) {
|
|
|
21704
21704
|
function DefaultFooter({ submit, shared, onSharedChange }) {
|
|
21705
21705
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center justify-end gap-4 border-t border-border px-4 py-3 sm:px-6", children: [
|
|
21706
21706
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21707
|
-
|
|
21707
|
+
chunkF5A5346Z_cjs.ShareToggle,
|
|
21708
21708
|
{
|
|
21709
21709
|
isVisible: shared,
|
|
21710
21710
|
onToggle: onSharedChange,
|
|
@@ -21869,7 +21869,7 @@ ${summary}`,
|
|
|
21869
21869
|
}
|
|
21870
21870
|
);
|
|
21871
21871
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 flex-col", "data-testid": "upload-documents", children: [
|
|
21872
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21872
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-y-auto pb-2", children: uploading === null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.UploadContainer, { className: "w-full px-4 pb-4 pt-2 sm:px-6", children: [
|
|
21873
21873
|
files.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21874
21874
|
ConnectedUploadDropzone,
|
|
21875
21875
|
{
|
|
@@ -21885,7 +21885,7 @@ ${summary}`,
|
|
|
21885
21885
|
}
|
|
21886
21886
|
),
|
|
21887
21887
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21888
|
-
|
|
21888
|
+
chunkF5A5346Z_cjs.SelectedFilesList,
|
|
21889
21889
|
{
|
|
21890
21890
|
renderFileIcon,
|
|
21891
21891
|
files,
|
|
@@ -21894,10 +21894,10 @@ ${summary}`,
|
|
|
21894
21894
|
formatFileSize: formatFileSize3
|
|
21895
21895
|
}
|
|
21896
21896
|
),
|
|
21897
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21898
|
-
error && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21899
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21900
|
-
|
|
21897
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.RejectedFilesList, { files: refused, onClear: () => setRefused([]) }),
|
|
21898
|
+
error && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadErrorMessage, { message: error })
|
|
21899
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.UploadContainer, { className: "w-full p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21900
|
+
chunkF5A5346Z_cjs.UploadProgress,
|
|
21901
21901
|
{
|
|
21902
21902
|
fileCount: count2,
|
|
21903
21903
|
entityLabel: plural3(count2),
|
|
@@ -21939,7 +21939,7 @@ function AddFromAccountsButton({
|
|
|
21939
21939
|
className: "gap-2",
|
|
21940
21940
|
"data-testid": dataTestId,
|
|
21941
21941
|
children: [
|
|
21942
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
21942
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-1", children: marks.map((m) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.VendorLogo, { vendorKey: m.vendorKey, product: m.product, className: "h-4 w-4" }, m.key)) }),
|
|
21943
21943
|
"Add from accounts"
|
|
21944
21944
|
]
|
|
21945
21945
|
}
|
|
@@ -21969,7 +21969,7 @@ function EmptyWorkspaceUpload({
|
|
|
21969
21969
|
compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
|
|
21970
21970
|
}
|
|
21971
21971
|
),
|
|
21972
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21972
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.PrivacyExplainerModal, {})
|
|
21973
21973
|
] })
|
|
21974
21974
|
}
|
|
21975
21975
|
);
|
|
@@ -22077,7 +22077,7 @@ var CheckboxCellRenderer = React7.memo(function CheckboxCellRenderer2({
|
|
|
22077
22077
|
if (!params.data) return null;
|
|
22078
22078
|
const isChecked = params.value === true;
|
|
22079
22079
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22080
|
-
|
|
22080
|
+
chunkF5A5346Z_cjs.CheckboxCell,
|
|
22081
22081
|
{
|
|
22082
22082
|
isChecked,
|
|
22083
22083
|
color: tagColor,
|
|
@@ -22100,12 +22100,12 @@ var TagHeaderComponent = React7.memo(function TagHeaderComponent2({
|
|
|
22100
22100
|
return () => params.column.removeEventListener("sortChanged", updateSort);
|
|
22101
22101
|
}, [params.column]);
|
|
22102
22102
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22103
|
-
|
|
22103
|
+
chunkF5A5346Z_cjs.TagColumnHeader,
|
|
22104
22104
|
{
|
|
22105
22105
|
isCentered: isCheckbox,
|
|
22106
22106
|
sort,
|
|
22107
22107
|
onSort: params.enableSorting ? (additive) => params.progressSort(additive) : void 0,
|
|
22108
|
-
filter: /* @__PURE__ */ jsxRuntime.jsx(
|
|
22108
|
+
filter: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilterButton, { params, colId: tag.external_id }),
|
|
22109
22109
|
label: /* @__PURE__ */ jsxRuntime.jsx(ConnectedTagEntity, { tag, size: "sm" })
|
|
22110
22110
|
}
|
|
22111
22111
|
);
|
|
@@ -22194,7 +22194,7 @@ function createTagColumn({
|
|
|
22194
22194
|
}
|
|
22195
22195
|
) : void 0,
|
|
22196
22196
|
// Use default rendering for text/number/select - shows value with truncation
|
|
22197
|
-
cellEditor: isSelect ?
|
|
22197
|
+
cellEditor: isSelect ? chunkF5A5346Z_cjs.MultiSelectCellEditor : isText ? "agLargeTextCellEditor" : void 0,
|
|
22198
22198
|
cellEditorParams: isSelect ? createMultiSelectCellEditorParams(tag.tag_type.options || []) : isText ? { rows: 8, cols: 50 } : void 0,
|
|
22199
22199
|
cellEditorPopup: isText || isSelect,
|
|
22200
22200
|
// Text and Select tags use popup editor for better UX
|
|
@@ -22311,8 +22311,8 @@ function createDocumentColumns({
|
|
|
22311
22311
|
onToggleShared,
|
|
22312
22312
|
notify: notify17
|
|
22313
22313
|
}) {
|
|
22314
|
-
const isRowEditableByOwner = (params) =>
|
|
22315
|
-
const isRowEditableByMember = (params) =>
|
|
22314
|
+
const isRowEditableByOwner = (params) => chunkF5A5346Z_cjs.canChangeVisibility(params.data, currentUserExtId);
|
|
22315
|
+
const isRowEditableByMember = (params) => chunkF5A5346Z_cjs.canEditDocumentFields(params.data, currentUserExtId, workspaceRole);
|
|
22316
22316
|
const documentNameCellRenderer = (params) => {
|
|
22317
22317
|
const doc = params.data;
|
|
22318
22318
|
if (!doc) return null;
|
|
@@ -22517,7 +22517,7 @@ function createDocumentColumns({
|
|
|
22517
22517
|
singleClickEdit: true,
|
|
22518
22518
|
cellEditor: "agSelectCellEditor",
|
|
22519
22519
|
cellEditorParams: {
|
|
22520
|
-
values: [...
|
|
22520
|
+
values: [...chunkF5A5346Z_cjs.DOCUMENT_TYPE_OPTIONS]
|
|
22521
22521
|
},
|
|
22522
22522
|
context: { icon: lucideReact.Sparkles },
|
|
22523
22523
|
valueGetter: (params) => ui.getDocumentNature(params.data) || "",
|
|
@@ -23055,7 +23055,7 @@ function useDocumentTable({
|
|
|
23055
23055
|
}
|
|
23056
23056
|
const stabilizedTagIds = prevTagIdsRef.current;
|
|
23057
23057
|
const stabilizedTagNames = prevTagNamesRef.current;
|
|
23058
|
-
const defaultVisibleColumns = React7.useMemo(() => [...
|
|
23058
|
+
const defaultVisibleColumns = React7.useMemo(() => [...chunkF5A5346Z_cjs.DEFAULT_DOCUMENT_COLUMNS], []);
|
|
23059
23059
|
const toggleShared = React7.useCallback((docId, shared) => {
|
|
23060
23060
|
updateDocRef.current.mutate({ documents: [{ external_id: docId, shared }] });
|
|
23061
23061
|
}, []);
|
|
@@ -23318,10 +23318,10 @@ function ConnectedFilesBulkActions({
|
|
|
23318
23318
|
const bulk = useDocumentBulkActions(selectedDocuments);
|
|
23319
23319
|
const count2 = selectedDocuments.length;
|
|
23320
23320
|
const noun = ui.getEntityLabel("DOCUMENT", count2 === 1 ? "SINGULAR" : "PLURAL");
|
|
23321
|
-
const shareState =
|
|
23321
|
+
const shareState = chunkF5A5346Z_cjs.shareStateOf(bulk.freshSelectedDocuments);
|
|
23322
23322
|
const handleToggleShare = async (shouldShare) => {
|
|
23323
23323
|
if (shouldShare) return bulk.share();
|
|
23324
|
-
const confirmed = await
|
|
23324
|
+
const confirmed = await chunkF5A5346Z_cjs.confirmHideFromMembers(
|
|
23325
23325
|
confirm,
|
|
23326
23326
|
bulk.freshSelectedDocuments.length,
|
|
23327
23327
|
members
|
|
@@ -23344,7 +23344,7 @@ function ConnectedFilesBulkActions({
|
|
|
23344
23344
|
const { openDocumentsChat, openFieldsManager } = actions;
|
|
23345
23345
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
23346
23346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23347
|
-
|
|
23347
|
+
chunkF5A5346Z_cjs.BulkActionsBar,
|
|
23348
23348
|
{
|
|
23349
23349
|
count: count2,
|
|
23350
23350
|
onClear: onClearSelection,
|
|
@@ -23369,7 +23369,7 @@ function ConnectedFilesBulkActions({
|
|
|
23369
23369
|
onDelete: () => setConfirming("delete"),
|
|
23370
23370
|
shareState,
|
|
23371
23371
|
shareLabels: shareState === "shared" ? { share: "Make private" } : void 0,
|
|
23372
|
-
shareTooltip:
|
|
23372
|
+
shareTooltip: chunkF5A5346Z_cjs.shareTooltipFor(shareState, bulk.freshSelectedDocuments.length === 1),
|
|
23373
23373
|
onToggleShare: (shouldShare) => void handleToggleShare(shouldShare)
|
|
23374
23374
|
}
|
|
23375
23375
|
),
|
|
@@ -23384,7 +23384,7 @@ function ConnectedFilesBulkActions({
|
|
|
23384
23384
|
onClearSelection();
|
|
23385
23385
|
},
|
|
23386
23386
|
title: `Delete ${count2} ${noun}`,
|
|
23387
|
-
description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ?
|
|
23387
|
+
description: `Delete ${namedTargets(selectedDocuments)}? ${count2 === 1 ? chunkF5A5346Z_cjs.RECENTLY_DELETED_HINT : chunkF5A5346Z_cjs.RECENTLY_DELETED_HINT_PLURAL}`,
|
|
23388
23388
|
confirmText: "Delete",
|
|
23389
23389
|
variant: "destructive"
|
|
23390
23390
|
}
|
|
@@ -24081,7 +24081,7 @@ function useDocumentFilters({
|
|
|
24081
24081
|
const folderPath = React7.useMemo(() => {
|
|
24082
24082
|
for (const [key, state] of documentFilters) {
|
|
24083
24083
|
if (key.startsWith("folder:") && key !== "folder:none" && state === "include") {
|
|
24084
|
-
return
|
|
24084
|
+
return chunkF5A5346Z_cjs.parseFolderSegments(key.slice("folder:".length));
|
|
24085
24085
|
}
|
|
24086
24086
|
}
|
|
24087
24087
|
return [];
|
|
@@ -24090,7 +24090,7 @@ function useDocumentFilters({
|
|
|
24090
24090
|
(path) => {
|
|
24091
24091
|
const next = new Map(documentFilters);
|
|
24092
24092
|
for (const key of next.keys()) if (key.startsWith("folder:")) next.set(key, null);
|
|
24093
|
-
const joined =
|
|
24093
|
+
const joined = chunkF5A5346Z_cjs.joinFolderPath(path);
|
|
24094
24094
|
if (joined) next.set(`folder:${joined}`, "include");
|
|
24095
24095
|
setDocumentFilters(next);
|
|
24096
24096
|
},
|
|
@@ -24382,7 +24382,7 @@ function ConnectedAiReview({
|
|
|
24382
24382
|
}, [kind]);
|
|
24383
24383
|
const description = phase === "ask" ? `Ask one question \u2014 ARBI answers it for each of the ${docCount} ${scope} document${plural5(docCount)}.` : aiCellsTotal > 0 ? reviewProgress(aiCellsDone, aiCellsEmpty, aiCellsTotal) : `Applied to ${rows.length} document${plural5(rows.length)}`;
|
|
24384
24384
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24385
|
-
|
|
24385
|
+
chunkF5A5346Z_cjs.AiReviewDialogView,
|
|
24386
24386
|
{
|
|
24387
24387
|
open,
|
|
24388
24388
|
onOpenChange: handleOpenChange,
|
|
@@ -24450,12 +24450,12 @@ function ConnectedMoveToFolder({
|
|
|
24450
24450
|
setIsSubmitting(true);
|
|
24451
24451
|
try {
|
|
24452
24452
|
if (folderToMove) {
|
|
24453
|
-
const docsInFolder =
|
|
24453
|
+
const docsInFolder = chunkF5A5346Z_cjs.collectFolderDocs(allDocs, folderToMove.path);
|
|
24454
24454
|
if (docsInFolder.length === 0) {
|
|
24455
24455
|
onClose();
|
|
24456
24456
|
return;
|
|
24457
24457
|
}
|
|
24458
|
-
const newPrefixSegments = targetFolder ? [...
|
|
24458
|
+
const newPrefixSegments = targetFolder ? [...chunkF5A5346Z_cjs.parseFolderSegments(targetFolder), folderToMove.name] : [folderToMove.name];
|
|
24459
24459
|
await renameFolder(docsInFolder, folderToMove.path, newPrefixSegments);
|
|
24460
24460
|
const dest = targetFolder ? `"${targetFolder}/${folderToMove.name}"` : `"${folderToMove.name}" (root)`;
|
|
24461
24461
|
notify17(`Moved folder to ${dest}`, "success");
|
|
@@ -24482,7 +24482,7 @@ function ConnectedMoveToFolder({
|
|
|
24482
24482
|
const isFolderMode = !!folderToMove;
|
|
24483
24483
|
const folders = useDocumentFolders(allDocs, targetFolder);
|
|
24484
24484
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24485
|
-
|
|
24485
|
+
chunkF5A5346Z_cjs.MoveToFolderDialog,
|
|
24486
24486
|
{
|
|
24487
24487
|
open: isOpen,
|
|
24488
24488
|
onClose,
|
|
@@ -24492,7 +24492,7 @@ function ConnectedMoveToFolder({
|
|
|
24492
24492
|
isSubmitting,
|
|
24493
24493
|
onConfirm: handleMove,
|
|
24494
24494
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24495
|
-
|
|
24495
|
+
chunkF5A5346Z_cjs.FolderCommandList,
|
|
24496
24496
|
{
|
|
24497
24497
|
folders,
|
|
24498
24498
|
value: targetFolder,
|
|
@@ -24888,7 +24888,7 @@ function ConnectedFieldsEditor({
|
|
|
24888
24888
|
const [sortBy, setSortBy] = React7.useState("name-asc");
|
|
24889
24889
|
const [filterText, setFilterText] = React7.useState("");
|
|
24890
24890
|
const fieldRows = React7.useMemo(
|
|
24891
|
-
() => browser.flattenTagTree(
|
|
24891
|
+
() => browser.flattenTagTree(chunkF5A5346Z_cjs.sortFields(chunkF5A5346Z_cjs.filterFieldsByName(tags, filterText), sortBy)),
|
|
24892
24892
|
[tags, filterText, sortBy]
|
|
24893
24893
|
);
|
|
24894
24894
|
const exportItems = React7.useMemo(
|
|
@@ -24908,7 +24908,7 @@ function ConnectedFieldsEditor({
|
|
|
24908
24908
|
setIsDeleting(false);
|
|
24909
24909
|
}
|
|
24910
24910
|
};
|
|
24911
|
-
const copy =
|
|
24911
|
+
const copy = chunkF5A5346Z_cjs.fieldsApplyBarCopy({
|
|
24912
24912
|
nouns,
|
|
24913
24913
|
targetNoun,
|
|
24914
24914
|
fieldCount,
|
|
@@ -24917,9 +24917,9 @@ function ConnectedFieldsEditor({
|
|
|
24917
24917
|
isApplying,
|
|
24918
24918
|
isClearing
|
|
24919
24919
|
});
|
|
24920
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24920
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FieldsEditorRoot, { children: [
|
|
24921
24921
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24922
|
-
|
|
24922
|
+
chunkF5A5346Z_cjs.FieldsEditorToolbar,
|
|
24923
24923
|
{
|
|
24924
24924
|
nouns,
|
|
24925
24925
|
onNew: () => {
|
|
@@ -24947,11 +24947,11 @@ function ConnectedFieldsEditor({
|
|
|
24947
24947
|
onSortByChange: setSortBy
|
|
24948
24948
|
}
|
|
24949
24949
|
),
|
|
24950
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24950
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FieldsEditorList, { children: [
|
|
24951
24951
|
fieldRows.map(({ tag, depth, childCount }) => {
|
|
24952
24952
|
const isEditingThis = editingTagId === tag.external_id;
|
|
24953
24953
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24954
|
-
|
|
24954
|
+
chunkF5A5346Z_cjs.FieldRow,
|
|
24955
24955
|
{
|
|
24956
24956
|
tagId: tag.external_id,
|
|
24957
24957
|
name: tag.name,
|
|
@@ -25004,10 +25004,10 @@ function ConnectedFieldsEditor({
|
|
|
25004
25004
|
tag.external_id
|
|
25005
25005
|
);
|
|
25006
25006
|
}),
|
|
25007
|
-
fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(
|
|
25007
|
+
fieldRows.length === 0 && !isCreatingTag && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldsEmptyState, { children: chunkF5A5346Z_cjs.fieldsEmptyText({ nouns, filterText, hasKind: !!kind }) })
|
|
25008
25008
|
] }),
|
|
25009
25009
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25010
|
-
|
|
25010
|
+
chunkF5A5346Z_cjs.FieldsApplyBar,
|
|
25011
25011
|
{
|
|
25012
25012
|
hint: copy.hint,
|
|
25013
25013
|
applyLabel: copy.applyLabel,
|
|
@@ -25084,8 +25084,8 @@ function ConnectedFieldsManager({
|
|
|
25084
25084
|
}
|
|
25085
25085
|
);
|
|
25086
25086
|
const body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
25087
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25088
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25087
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldsManagerDefinition, { children: DEFINITIONS[activeKind] }),
|
|
25088
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldsManagerBody, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
25089
25089
|
ConnectedFieldsEditor,
|
|
25090
25090
|
{
|
|
25091
25091
|
group: activeKind,
|
|
@@ -25104,7 +25104,7 @@ function ConnectedFieldsManager({
|
|
|
25104
25104
|
"data-testid": "fields-manager-dialog",
|
|
25105
25105
|
children: [
|
|
25106
25106
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { className: "px-4 py-3 border-b", children: [
|
|
25107
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
25107
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldsManagerTitle, { title }) }),
|
|
25108
25108
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { className: "sr-only", children: "Create, edit, and delete labels and annotations for your workspace documents." })
|
|
25109
25109
|
] }),
|
|
25110
25110
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-2 border-b", children: tabHeader }),
|
|
@@ -25115,7 +25115,7 @@ function ConnectedFieldsManager({
|
|
|
25115
25115
|
}
|
|
25116
25116
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
25117
25117
|
/* @__PURE__ */ jsxRuntime.jsxs(chunkDAEDRTIN_cjs.DraggableHeader, { children: [
|
|
25118
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25118
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldsManagerTitle, { title, className: "px-4 pt-3.5 pb-2" }),
|
|
25119
25119
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-3", children: tabHeader })
|
|
25120
25120
|
] }),
|
|
25121
25121
|
body
|
|
@@ -25368,7 +25368,7 @@ function ConnectedBulkTagEditor({
|
|
|
25368
25368
|
const documentsLabel = ui.getEntityLabel("DOCUMENT", "PLURAL").toLowerCase();
|
|
25369
25369
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
25370
25370
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25371
|
-
|
|
25371
|
+
chunkF5A5346Z_cjs.BulkTagEditorDialog,
|
|
25372
25372
|
{
|
|
25373
25373
|
open,
|
|
25374
25374
|
onClose,
|
|
@@ -25426,7 +25426,7 @@ function ConnectedBulkTagEditor({
|
|
|
25426
25426
|
}
|
|
25427
25427
|
),
|
|
25428
25428
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25429
|
-
|
|
25429
|
+
chunkF5A5346Z_cjs.BulkReplaceDialog,
|
|
25430
25430
|
{
|
|
25431
25431
|
open: showGenerateConfirmation,
|
|
25432
25432
|
onClose: () => setShowGenerateConfirmation(false),
|
|
@@ -25456,7 +25456,7 @@ function FolderPicker({
|
|
|
25456
25456
|
onSelect
|
|
25457
25457
|
}) {
|
|
25458
25458
|
const folders = useDocumentFolders(documents, value);
|
|
25459
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25459
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FolderCommandList, { folders, value, onSelect, showRemove: !!value });
|
|
25460
25460
|
}
|
|
25461
25461
|
function RelatedDocuments({
|
|
25462
25462
|
doc,
|
|
@@ -25489,7 +25489,7 @@ function DocTagAttribution({ doctag }) {
|
|
|
25489
25489
|
updater && `Updated ${ui.formatFriendlyDate(doctag.updated_at)} by ${updater.given_name || updater.email}`
|
|
25490
25490
|
].filter((line) => !!line);
|
|
25491
25491
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25492
|
-
|
|
25492
|
+
chunkF5A5346Z_cjs.FieldAttribution,
|
|
25493
25493
|
{
|
|
25494
25494
|
avatar: /* @__PURE__ */ jsxRuntime.jsx(DocumentUser, { user: lastUser, tooltip: false }),
|
|
25495
25495
|
date: ui.formatFriendlyDate(updater ? doctag.updated_at : doctag.created_at),
|
|
@@ -25519,7 +25519,7 @@ function LabelsCombobox({
|
|
|
25519
25519
|
else if (!appliedTagIds.has(existing.external_id)) onToggle(existing);
|
|
25520
25520
|
};
|
|
25521
25521
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25522
|
-
|
|
25522
|
+
chunkF5A5346Z_cjs.FieldLabelsSelect,
|
|
25523
25523
|
{
|
|
25524
25524
|
options: options2,
|
|
25525
25525
|
appliedIds: appliedTagIds,
|
|
@@ -25541,15 +25541,15 @@ var METADATA_FIELDS = {
|
|
|
25541
25541
|
};
|
|
25542
25542
|
var INPUT_CLASS = "text-sm bg-muted/40 focus:bg-background transition-colors";
|
|
25543
25543
|
var READ_ONLY_FIELDS = {
|
|
25544
|
-
file_name: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25545
|
-
status: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25546
|
-
n_pages: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25547
|
-
created_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25548
|
-
updated_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25549
|
-
file_type: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25550
|
-
file_size: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25551
|
-
doc_id: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25552
|
-
content_hash: (doc) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
25544
|
+
file_name: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "strong", children: doc.file_name || "N/A" }),
|
|
25545
|
+
status: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: doc.status || "N/A" }),
|
|
25546
|
+
n_pages: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: doc.n_pages || "N/A" }),
|
|
25547
|
+
created_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: doc.created_at ? ui.formatFriendlyDate(doc.created_at) : "N/A" }),
|
|
25548
|
+
updated_at: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: doc.updated_at ? ui.formatFriendlyDate(doc.updated_at) : "N/A" }),
|
|
25549
|
+
file_type: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: ui.friendlyFileType(doc.file_type, doc.file_name) }),
|
|
25550
|
+
file_size: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", children: doc.file_size ? `${Math.round(doc.file_size / 1024)} KB` : "N/A" }),
|
|
25551
|
+
doc_id: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", isMono: true, children: doc.external_id || "N/A" }),
|
|
25552
|
+
content_hash: (doc) => /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { tone: "muted", isMono: true, isTruncated: true, children: doc.content_hash || "N/A" })
|
|
25553
25553
|
};
|
|
25554
25554
|
function documentFieldContent(options2) {
|
|
25555
25555
|
const { columnId, doc, canEdit, workspaceTags, getColumnLabel, getColumnIcon } = options2;
|
|
@@ -25572,7 +25572,7 @@ function documentFieldContent(options2) {
|
|
|
25572
25572
|
placeholder: `Add ${getColumnLabel(columnId).toLowerCase()}\u2026`,
|
|
25573
25573
|
className: INPUT_CLASS
|
|
25574
25574
|
}
|
|
25575
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
25575
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldValue, { children: metadata(doc) || "N/A" })
|
|
25576
25576
|
);
|
|
25577
25577
|
}
|
|
25578
25578
|
const readOnly = READ_ONLY_FIELDS[columnId];
|
|
@@ -25581,7 +25581,7 @@ function documentFieldContent(options2) {
|
|
|
25581
25581
|
if (columnId === "folder") {
|
|
25582
25582
|
return standard(
|
|
25583
25583
|
canEdit ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25584
|
-
|
|
25584
|
+
chunkF5A5346Z_cjs.FieldFolderSelect,
|
|
25585
25585
|
{
|
|
25586
25586
|
folder: doc.folder,
|
|
25587
25587
|
picker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -25593,7 +25593,7 @@ function documentFieldContent(options2) {
|
|
|
25593
25593
|
}
|
|
25594
25594
|
)
|
|
25595
25595
|
}
|
|
25596
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
25596
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldFolderValue, { folder: doc.folder })
|
|
25597
25597
|
);
|
|
25598
25598
|
}
|
|
25599
25599
|
if (columnId === "related") {
|
|
@@ -25635,7 +25635,7 @@ function documentFieldContent(options2) {
|
|
|
25635
25635
|
let value;
|
|
25636
25636
|
if (tag.tag_type.type === "select") {
|
|
25637
25637
|
value = /* @__PURE__ */ jsxRuntime.jsx(
|
|
25638
|
-
|
|
25638
|
+
chunkF5A5346Z_cjs.FieldNativeSelect,
|
|
25639
25639
|
{
|
|
25640
25640
|
value: doctag?.note || "",
|
|
25641
25641
|
options: tag.tag_type.options,
|
|
@@ -25669,7 +25669,7 @@ function documentFieldContent(options2) {
|
|
|
25669
25669
|
return {
|
|
25670
25670
|
label: tag.name,
|
|
25671
25671
|
tag,
|
|
25672
|
-
children: doctag ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
25672
|
+
children: doctag ? /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FieldWithAttribution, { attribution: /* @__PURE__ */ jsxRuntime.jsx(DocTagAttribution, { doctag }), children: value }) : value
|
|
25673
25673
|
};
|
|
25674
25674
|
}
|
|
25675
25675
|
|
|
@@ -25772,7 +25772,7 @@ function ViewSelector({
|
|
|
25772
25772
|
columns: defaultColumns,
|
|
25773
25773
|
icon: lucideReact.Table,
|
|
25774
25774
|
// Both built-ins load at the minimal (compact) row height.
|
|
25775
|
-
rowHeight:
|
|
25775
|
+
rowHeight: chunkF5A5346Z_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
25776
25776
|
// [] = loading this view unpins everything.
|
|
25777
25777
|
pinnedLeft: []
|
|
25778
25778
|
},
|
|
@@ -25783,15 +25783,15 @@ function ViewSelector({
|
|
|
25783
25783
|
// batch-select checkbox and Title stay fixed left while scrolling.
|
|
25784
25784
|
columns: defaultColumns,
|
|
25785
25785
|
icon: lucideReact.Columns3,
|
|
25786
|
-
rowHeight:
|
|
25786
|
+
rowHeight: chunkF5A5346Z_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
25787
25787
|
pinnedLeft: DOCUMENT_VIEW_PINNED
|
|
25788
25788
|
},
|
|
25789
25789
|
{
|
|
25790
25790
|
key: "email-default",
|
|
25791
25791
|
label: "Email view",
|
|
25792
|
-
columns: [...
|
|
25792
|
+
columns: [...chunkF5A5346Z_cjs.EMAIL_VIEW_COLUMNS],
|
|
25793
25793
|
icon: lucideReact.Mail,
|
|
25794
|
-
rowHeight:
|
|
25794
|
+
rowHeight: chunkF5A5346Z_cjs.DOCUMENTS_ROW_HEIGHT_INITIAL,
|
|
25795
25795
|
pinnedLeft: []
|
|
25796
25796
|
}
|
|
25797
25797
|
],
|
|
@@ -25815,7 +25815,7 @@ function ViewSelector({
|
|
|
25815
25815
|
},
|
|
25816
25816
|
[confirm, workspaceId, deleteView, notify17]
|
|
25817
25817
|
);
|
|
25818
|
-
const menu =
|
|
25818
|
+
const menu = chunkF5A5346Z_cjs.useGridViews({
|
|
25819
25819
|
getGridApi,
|
|
25820
25820
|
defaultColumns,
|
|
25821
25821
|
builtins,
|
|
@@ -25830,7 +25830,7 @@ function ViewSelector({
|
|
|
25830
25830
|
onDeleteView,
|
|
25831
25831
|
isSaving
|
|
25832
25832
|
});
|
|
25833
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25833
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.ViewSelectorMenu, { ...menu });
|
|
25834
25834
|
}
|
|
25835
25835
|
function DocumentsFilterBarActions({
|
|
25836
25836
|
isModal,
|
|
@@ -25870,7 +25870,7 @@ function DocumentsFilterBarActions({
|
|
|
25870
25870
|
),
|
|
25871
25871
|
documentsViewMode === "grid" && // The phone list is a fixed two-line layout, so row density only applies from sm up.
|
|
25872
25872
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
25873
|
-
|
|
25873
|
+
chunkF5A5346Z_cjs.RowDensityControl,
|
|
25874
25874
|
{
|
|
25875
25875
|
rowHeight: documentsRowHeight,
|
|
25876
25876
|
onRowHeightChange: onDocumentsRowHeightChange
|
|
@@ -26038,7 +26038,7 @@ function DocumentsUploadButton({
|
|
|
26038
26038
|
[hasAccountProviders, onSelectSource, onEmailWorkspace, onCreateNew, onTakePhoto]
|
|
26039
26039
|
);
|
|
26040
26040
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
26041
|
-
|
|
26041
|
+
chunkF5A5346Z_cjs.FilesAddMenu,
|
|
26042
26042
|
{
|
|
26043
26043
|
items,
|
|
26044
26044
|
isCompact,
|
|
@@ -26267,17 +26267,17 @@ function ConnectedFilesPage({
|
|
|
26267
26267
|
}, [relatedDocsMap, onRelatedDocsChange]);
|
|
26268
26268
|
const defaultVisibleColumns = React7.useMemo(
|
|
26269
26269
|
() => [
|
|
26270
|
-
...
|
|
26270
|
+
...chunkF5A5346Z_cjs.DEFAULT_DOCUMENT_COLUMNS,
|
|
26271
26271
|
...allTags.filter(browser.isAnnotationTag).map((tag) => tag.external_id)
|
|
26272
26272
|
],
|
|
26273
26273
|
[allTags]
|
|
26274
26274
|
);
|
|
26275
26275
|
const handleReorderColumns = React7.useCallback((ids, gridApi2) => {
|
|
26276
|
-
if (gridApi2)
|
|
26276
|
+
if (gridApi2) chunkF5A5346Z_cjs.applyColumnLayout(gridApi2, ids);
|
|
26277
26277
|
}, []);
|
|
26278
26278
|
const handleLoadView = React7.useCallback(
|
|
26279
26279
|
(view, gridApi2) => {
|
|
26280
|
-
|
|
26280
|
+
chunkF5A5346Z_cjs.applyViewColumns(gridApi2, view, handleReorderColumns);
|
|
26281
26281
|
if (typeof view.tile_size === "number") setExplorerTileSize(view.tile_size);
|
|
26282
26282
|
if (typeof view.row_height === "number") setRowHeight(view.row_height);
|
|
26283
26283
|
},
|
|
@@ -26370,7 +26370,7 @@ function ConnectedFilesPage({
|
|
|
26370
26370
|
);
|
|
26371
26371
|
const currentDocument = viewingDocumentId ? filteredDocuments.find((d) => d.external_id === viewingDocumentId) ?? documents.find((d) => d.external_id === viewingDocumentId) ?? null : null;
|
|
26372
26372
|
const navigatorDocuments = React7.useMemo(
|
|
26373
|
-
() =>
|
|
26373
|
+
() => chunkF5A5346Z_cjs.sortExplorerFiles(filteredDocuments, explorerSort, explorerSortReversed),
|
|
26374
26374
|
[filteredDocuments, explorerSort, explorerSortReversed]
|
|
26375
26375
|
);
|
|
26376
26376
|
const navigatorOnNavigate = React7.useCallback(
|
|
@@ -26437,7 +26437,7 @@ function ConnectedFilesPage({
|
|
|
26437
26437
|
},
|
|
26438
26438
|
rowHeight
|
|
26439
26439
|
};
|
|
26440
|
-
const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26440
|
+
const documentsTabActions = /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesFilterBar, { children: [
|
|
26441
26441
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26442
26442
|
chunk2EI7NCUA_cjs.FilterInput,
|
|
26443
26443
|
{
|
|
@@ -26472,7 +26472,7 @@ function ConnectedFilesPage({
|
|
|
26472
26472
|
),
|
|
26473
26473
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
26474
26474
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26475
|
-
|
|
26475
|
+
chunkF5A5346Z_cjs.DocumentsFolderButton,
|
|
26476
26476
|
{
|
|
26477
26477
|
documents,
|
|
26478
26478
|
documentFilters,
|
|
@@ -26480,7 +26480,7 @@ function ConnectedFilesPage({
|
|
|
26480
26480
|
onNewFolder: canUpload ? handleNewFolder : void 0
|
|
26481
26481
|
}
|
|
26482
26482
|
),
|
|
26483
|
-
onOpenTags && /* @__PURE__ */ jsxRuntime.jsx(
|
|
26483
|
+
onOpenTags && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilesTagsButton, { onClick: onOpenTags }),
|
|
26484
26484
|
headerExtras
|
|
26485
26485
|
] })
|
|
26486
26486
|
] });
|
|
@@ -26503,9 +26503,9 @@ function ConnectedFilesPage({
|
|
|
26503
26503
|
);
|
|
26504
26504
|
const reviewGridId = isModal ? "documents-modal-grid-v6" : "documents-main-grid-v6";
|
|
26505
26505
|
const showBulkBar = (viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator") && documents.length > 0;
|
|
26506
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26506
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesPage, { isModal, ref: setPageEl, children: [
|
|
26507
26507
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26508
|
-
|
|
26508
|
+
chunkF5A5346Z_cjs.UrlInputDialog,
|
|
26509
26509
|
{
|
|
26510
26510
|
open: urlDialogOpen,
|
|
26511
26511
|
onOpenChange: setUrlDialogOpen,
|
|
@@ -26514,7 +26514,7 @@ function ConnectedFilesPage({
|
|
|
26514
26514
|
titleIcon: workspaceIcon
|
|
26515
26515
|
}
|
|
26516
26516
|
),
|
|
26517
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
26517
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesPageHeader, { children: [
|
|
26518
26518
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26519
26519
|
chunkMEMWZ72Y_cjs.TabHeader,
|
|
26520
26520
|
{
|
|
@@ -26535,7 +26535,7 @@ function ConnectedFilesPage({
|
|
|
26535
26535
|
activeTabId: "documents",
|
|
26536
26536
|
onTabChange: () => handleViewModeChange(lastDocsViewRef.current),
|
|
26537
26537
|
firstTabContent: isNarrowFilterRow ? null : documentsTabActions,
|
|
26538
|
-
centerContent: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
26538
|
+
centerContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesViewCenter, { className: isNarrowFilterRow ? "min-w-0" : void 0, children: [
|
|
26539
26539
|
!isNarrowFilterRow && viewToggle,
|
|
26540
26540
|
/* @__PURE__ */ jsxRuntime.jsx(ProgressiveLoadingChip, {})
|
|
26541
26541
|
] }),
|
|
@@ -26565,7 +26565,7 @@ function ConnectedFilesPage({
|
|
|
26565
26565
|
}
|
|
26566
26566
|
),
|
|
26567
26567
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26568
|
-
|
|
26568
|
+
chunkF5A5346Z_cjs.FilesToolbar,
|
|
26569
26569
|
{
|
|
26570
26570
|
className: "px-3 pb-2",
|
|
26571
26571
|
rightActions: viewMode === "grid" || viewMode === "explorer" || viewMode === "navigator" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -26587,7 +26587,7 @@ function ConnectedFilesPage({
|
|
|
26587
26587
|
) : viewMode === "explorer" ? (
|
|
26588
26588
|
// The same over the explorer's tiles.
|
|
26589
26589
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26590
|
-
|
|
26590
|
+
chunkF5A5346Z_cjs.ExplorerFileNavigator,
|
|
26591
26591
|
{
|
|
26592
26592
|
fileIds: explorerFileIds,
|
|
26593
26593
|
selectedId: viewingDocumentId ?? selectedDocumentIds[0] ?? null,
|
|
@@ -26626,7 +26626,7 @@ function ConnectedFilesPage({
|
|
|
26626
26626
|
}
|
|
26627
26627
|
),
|
|
26628
26628
|
viewMode === "navigator" && currentDocument && /* @__PURE__ */ jsxRuntime.jsx(
|
|
26629
|
-
|
|
26629
|
+
chunkF5A5346Z_cjs.NavigatorPickerBar,
|
|
26630
26630
|
{
|
|
26631
26631
|
currentDocument,
|
|
26632
26632
|
documents: navigatorDocuments,
|
|
@@ -26638,11 +26638,11 @@ function ConnectedFilesPage({
|
|
|
26638
26638
|
}
|
|
26639
26639
|
)
|
|
26640
26640
|
] }),
|
|
26641
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
26641
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkF5A5346Z_cjs.FilesPageMain, { children: [
|
|
26642
26642
|
viewMode === "grid" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
26643
|
-
|
|
26643
|
+
chunkF5A5346Z_cjs.DocumentGrid,
|
|
26644
26644
|
{
|
|
26645
|
-
layout:
|
|
26645
|
+
layout: chunkF5A5346Z_cjs.resolveDocumentGridLayout(isNarrowFilterRow, isModal, isTabletWidth),
|
|
26646
26646
|
presets: gridPresets,
|
|
26647
26647
|
GridComponent,
|
|
26648
26648
|
showEmptyWorkspace: documents.length === 0 && !isLoading && isMember,
|
|
@@ -26735,7 +26735,7 @@ function ConnectedFilesPage({
|
|
|
26735
26735
|
onProduce
|
|
26736
26736
|
}
|
|
26737
26737
|
),
|
|
26738
|
-
isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
26738
|
+
isModal && onClose && /* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.FilesModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outline", onClick: onClose, children: "Close" }) }),
|
|
26739
26739
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
26740
26740
|
chunkZAVEMQ37_cjs.ConfirmDialog,
|
|
26741
26741
|
{
|
|
@@ -26746,7 +26746,7 @@ function ConnectedFilesPage({
|
|
|
26746
26746
|
requestDelete(null);
|
|
26747
26747
|
},
|
|
26748
26748
|
title: "Delete Document",
|
|
26749
|
-
description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${
|
|
26749
|
+
description: deleteRequest ? `Delete "${ui.getDocumentTitle(deleteRequest, "this document")}"? ${chunkF5A5346Z_cjs.RECENTLY_DELETED_HINT}` : "",
|
|
26750
26750
|
confirmText: "Delete",
|
|
26751
26751
|
variant: "destructive"
|
|
26752
26752
|
}
|
|
@@ -29406,7 +29406,7 @@ function useThreadLabels(canEditShared) {
|
|
|
29406
29406
|
).map((label) => label.id)
|
|
29407
29407
|
);
|
|
29408
29408
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29409
|
-
|
|
29409
|
+
chunkF5A5346Z_cjs.BulkLabelSelectView,
|
|
29410
29410
|
{
|
|
29411
29411
|
options: options2,
|
|
29412
29412
|
appliedIds: all,
|
|
@@ -33550,7 +33550,7 @@ function ConnectedConversationEmpty({
|
|
|
33550
33550
|
compactLeadingAction: onImportFromEmail && /* @__PURE__ */ jsxRuntime.jsx(AddFromAccountsButton, { onImportFromEmail })
|
|
33551
33551
|
}
|
|
33552
33552
|
),
|
|
33553
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33553
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkF5A5346Z_cjs.PrivacyExplainerModal, {})
|
|
33554
33554
|
] })
|
|
33555
33555
|
}
|
|
33556
33556
|
);
|