@arbidocs/react 0.5.119 → 0.5.121
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/PdfViewerImpl-ZVJZ4KNW.cjs +22 -0
- package/dist/PdfViewerImpl-ZVJZ4KNW.cjs.map +1 -0
- package/dist/{PdfViewerImpl.d-B28hLEuj.d.ts → PdfViewerImpl.d-CqnEzQO7.d.ts} +9 -1
- package/dist/annotations/freeze/index.d.ts +1 -1
- package/dist/artifacts/artifact-kind.js +1 -0
- package/dist/artifacts/artifact-kind.js.map +2 -2
- package/dist/artifacts/index.cjs +3 -2
- package/dist/artifacts/index.cjs.map +1 -1
- package/dist/artifacts/index.d.ts +3 -2
- package/dist/calls/livekit/index.cjs +41 -41
- package/dist/chat/turn-flush.js +16 -0
- package/dist/chat/turn-flush.js.map +7 -0
- package/dist/chat/useConversationActions.js +3 -0
- package/dist/chat/useConversationActions.js.map +2 -2
- package/dist/{chunk-QP3WQSAA.cjs → chunk-4B2GW3AY.cjs} +3 -3
- package/dist/{chunk-QP3WQSAA.cjs.map → chunk-4B2GW3AY.cjs.map} +1 -1
- package/dist/{chunk-YMB6XUR2.cjs → chunk-7L7QRIQ2.cjs} +11 -7
- package/dist/chunk-7L7QRIQ2.cjs.map +1 -0
- package/dist/{chunk-LBAG7KL7.cjs → chunk-DLEHM4IA.cjs} +328 -180
- package/dist/chunk-DLEHM4IA.cjs.map +1 -0
- package/dist/{PdfViewerImpl-QUSDLNNM.cjs → chunk-ICBT2XGF.cjs} +5 -2
- package/dist/chunk-ICBT2XGF.cjs.map +1 -0
- package/dist/chunk-MAOGK7IC.cjs +61 -0
- package/dist/chunk-MAOGK7IC.cjs.map +1 -0
- package/dist/{chunk-5TRUFWKT.cjs → chunk-X5OZRLFZ.cjs} +5 -5
- package/dist/{chunk-5TRUFWKT.cjs.map → chunk-X5OZRLFZ.cjs.map} +1 -1
- package/dist/datasets/sources/documents.js +1 -1
- package/dist/datasets/sources/documents.js.map +2 -2
- package/dist/document-tools/images-to-pdf.js +43 -0
- package/dist/document-tools/images-to-pdf.js.map +7 -0
- package/dist/document-tools/index.cjs +104 -0
- package/dist/document-tools/index.cjs.map +1 -1
- package/dist/document-tools/index.d.ts +41 -1
- package/dist/document-tools/index.js +6 -1
- package/dist/document-tools/index.js.map +2 -2
- package/dist/document-tools/pdf-attachments.js +63 -0
- package/dist/document-tools/pdf-attachments.js.map +7 -0
- package/dist/entities/DocumentEntity.js +7 -2
- package/dist/entities/DocumentEntity.js.map +2 -2
- package/dist/entities/SharingEntity.js +85 -0
- package/dist/entities/SharingEntity.js.map +7 -0
- package/dist/entities/file-type.js +14 -2
- package/dist/entities/file-type.js.map +2 -2
- package/dist/entities/index.js +17 -1
- package/dist/entities/index.js.map +2 -2
- package/dist/icons/PresIcon.js +53 -0
- package/dist/icons/PresIcon.js.map +7 -0
- package/dist/icons/colors.js +2 -0
- package/dist/icons/colors.js.map +2 -2
- package/dist/icons/file-type.js +3 -0
- package/dist/icons/file-type.js.map +2 -2
- package/dist/icons/index.js +2 -0
- package/dist/icons/index.js.map +2 -2
- package/dist/index.cjs +834 -789
- package/dist/index.cjs.map +1 -1
- package/dist/{index.d-CYXcTKYt.d.ts → index.d-D2puqWeN.d.ts} +47 -3
- package/dist/index.d.ts +50 -8
- package/dist/index.js +1 -0
- package/dist/index.js.map +2 -2
- package/dist/pdf-region-impl-ZG5G2OX2.cjs +98 -0
- package/dist/pdf-region-impl-ZG5G2OX2.cjs.map +1 -0
- package/dist/session/documents.js +9 -5
- package/dist/session/documents.js.map +2 -2
- package/dist/ui/index.cjs +182 -158
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/slider.js +7 -1
- package/dist/ui/slider.js.map +2 -2
- package/dist/viewers/PdfViewer.cjs +3 -3
- package/dist/viewers/PdfViewer.d.ts +2 -2
- package/dist/viewers/PdfViewerImpl.js +4 -1
- package/dist/viewers/PdfViewerImpl.js.map +2 -2
- package/dist/viewers/index.cjs +30 -4
- package/dist/viewers/index.cjs.map +1 -1
- package/dist/viewers/index.d.ts +72 -2
- package/dist/viewers/index.js +14 -0
- package/dist/viewers/index.js.map +2 -2
- package/dist/viewers/pdf-region-impl.js +96 -0
- package/dist/viewers/pdf-region-impl.js.map +7 -0
- package/dist/viewers/pdf-region.js +57 -0
- package/dist/viewers/pdf-region.js.map +7 -0
- package/dist/viewers/useProcessedChunks.js +2 -1
- package/dist/viewers/useProcessedChunks.js.map +2 -2
- package/package.json +3 -3
- package/dist/PdfViewerImpl-QUSDLNNM.cjs.map +0 -1
- package/dist/chunk-LBAG7KL7.cjs.map +0 -1
- package/dist/chunk-YMB6XUR2.cjs.map +0 -1
|
@@ -12,8 +12,8 @@ var reactDom = require('react-dom');
|
|
|
12
12
|
var jsxRuntime = require('react/jsx-runtime');
|
|
13
13
|
var lucideReact = require('lucide-react');
|
|
14
14
|
var classVarianceAuthority = require('class-variance-authority');
|
|
15
|
-
var SelectPrimitive = require('@radix-ui/react-select');
|
|
16
15
|
var HoverCardPrimitive = require('@radix-ui/react-hover-card');
|
|
16
|
+
var SelectPrimitive = require('@radix-ui/react-select');
|
|
17
17
|
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
18
18
|
var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
|
|
19
19
|
var ProgressPrimitive = require('@radix-ui/react-progress');
|
|
@@ -46,8 +46,8 @@ function _interopNamespace(e) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
49
|
-
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
50
49
|
var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
|
|
50
|
+
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
51
51
|
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
52
52
|
var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
|
|
53
53
|
var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
|
|
@@ -618,6 +618,8 @@ var FILE_TYPE_COLORS = {
|
|
|
618
618
|
// green-600 (Excel)
|
|
619
619
|
eml: "#0d9488",
|
|
620
620
|
// teal-600 (email)
|
|
621
|
+
pres: "#c026d3",
|
|
622
|
+
// fuchsia-600 (presentations)
|
|
621
623
|
txt: NEUTRAL_GRAY,
|
|
622
624
|
// gray (plain text)
|
|
623
625
|
generic: NEUTRAL_GRAY,
|
|
@@ -926,6 +928,53 @@ var PdfIcon = ({ size = 16, className = "" }) => {
|
|
|
926
928
|
}
|
|
927
929
|
);
|
|
928
930
|
};
|
|
931
|
+
var PresIcon = ({ size = 16, className = "" }) => {
|
|
932
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
933
|
+
"svg",
|
|
934
|
+
{
|
|
935
|
+
width: size,
|
|
936
|
+
height: size,
|
|
937
|
+
viewBox: "0 0 24 24",
|
|
938
|
+
fill: "none",
|
|
939
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
940
|
+
className,
|
|
941
|
+
children: [
|
|
942
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
943
|
+
"path",
|
|
944
|
+
{
|
|
945
|
+
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
946
|
+
fill: FILE_TYPE_COLORS.pres,
|
|
947
|
+
stroke: FILE_TYPE_COLORS.pres,
|
|
948
|
+
strokeWidth: "1",
|
|
949
|
+
strokeLinecap: "round",
|
|
950
|
+
strokeLinejoin: "round"
|
|
951
|
+
}
|
|
952
|
+
),
|
|
953
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
954
|
+
"path",
|
|
955
|
+
{
|
|
956
|
+
d: "M14 2v6h6",
|
|
957
|
+
fill: "none",
|
|
958
|
+
stroke: FILE_TYPE_COLORS.white,
|
|
959
|
+
strokeWidth: "1",
|
|
960
|
+
strokeLinecap: "round",
|
|
961
|
+
strokeLinejoin: "round"
|
|
962
|
+
}
|
|
963
|
+
),
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "7", y: "11", width: "10", height: "6", rx: "0.75", fill: FILE_TYPE_COLORS.white }),
|
|
965
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
+
"path",
|
|
967
|
+
{
|
|
968
|
+
d: "M12 17v2.5",
|
|
969
|
+
stroke: FILE_TYPE_COLORS.white,
|
|
970
|
+
strokeWidth: "1.2",
|
|
971
|
+
strokeLinecap: "round"
|
|
972
|
+
}
|
|
973
|
+
)
|
|
974
|
+
]
|
|
975
|
+
}
|
|
976
|
+
);
|
|
977
|
+
};
|
|
929
978
|
var TxtIcon = ({ size = 16, className = "" }) => {
|
|
930
979
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
931
980
|
"svg",
|
|
@@ -1076,6 +1125,164 @@ var XlsIcon = ({ size = 16, className = "" }) => {
|
|
|
1076
1125
|
}
|
|
1077
1126
|
);
|
|
1078
1127
|
};
|
|
1128
|
+
|
|
1129
|
+
// src/entities/file-type.ts
|
|
1130
|
+
var EXT_LABELS = {
|
|
1131
|
+
pdf: "PDF",
|
|
1132
|
+
// Word / docs
|
|
1133
|
+
doc: "Word",
|
|
1134
|
+
docx: "Word",
|
|
1135
|
+
rtf: "Word",
|
|
1136
|
+
odt: "Word",
|
|
1137
|
+
// Spreadsheets
|
|
1138
|
+
xls: "Excel",
|
|
1139
|
+
xlsx: "Excel",
|
|
1140
|
+
ods: "Excel",
|
|
1141
|
+
csv: "CSV",
|
|
1142
|
+
tsv: "CSV",
|
|
1143
|
+
// Slides
|
|
1144
|
+
ppt: "PowerPoint",
|
|
1145
|
+
pptx: "PowerPoint",
|
|
1146
|
+
odp: "PowerPoint",
|
|
1147
|
+
// Plain text / markup
|
|
1148
|
+
txt: "Text",
|
|
1149
|
+
log: "Text",
|
|
1150
|
+
md: "Markdown",
|
|
1151
|
+
markdown: "Markdown",
|
|
1152
|
+
html: "HTML",
|
|
1153
|
+
htm: "HTML",
|
|
1154
|
+
xml: "XML",
|
|
1155
|
+
json: "JSON",
|
|
1156
|
+
yaml: "YAML",
|
|
1157
|
+
yml: "YAML",
|
|
1158
|
+
// Email
|
|
1159
|
+
eml: "Email",
|
|
1160
|
+
msg: "Email",
|
|
1161
|
+
mbox: "Email",
|
|
1162
|
+
pst: "Outlook",
|
|
1163
|
+
ost: "Outlook",
|
|
1164
|
+
// Images
|
|
1165
|
+
jpg: "Image",
|
|
1166
|
+
jpeg: "Image",
|
|
1167
|
+
png: "Image",
|
|
1168
|
+
gif: "Image",
|
|
1169
|
+
bmp: "Image",
|
|
1170
|
+
tif: "Image",
|
|
1171
|
+
tiff: "Image",
|
|
1172
|
+
webp: "Image",
|
|
1173
|
+
svg: "Image",
|
|
1174
|
+
heic: "Image",
|
|
1175
|
+
heif: "Image",
|
|
1176
|
+
// Audio
|
|
1177
|
+
mp3: "Audio",
|
|
1178
|
+
wav: "Audio",
|
|
1179
|
+
m4a: "Audio",
|
|
1180
|
+
aac: "Audio",
|
|
1181
|
+
ogg: "Audio",
|
|
1182
|
+
flac: "Audio",
|
|
1183
|
+
opus: "Audio",
|
|
1184
|
+
// Video
|
|
1185
|
+
mp4: "Video",
|
|
1186
|
+
webm: "Video",
|
|
1187
|
+
mov: "Video",
|
|
1188
|
+
avi: "Video",
|
|
1189
|
+
mkv: "Video",
|
|
1190
|
+
// Archives
|
|
1191
|
+
zip: "Archive",
|
|
1192
|
+
tar: "Archive",
|
|
1193
|
+
gz: "Archive",
|
|
1194
|
+
rar: "Archive",
|
|
1195
|
+
"7z": "Archive"
|
|
1196
|
+
};
|
|
1197
|
+
var MIME_SUBTYPE_LABELS = {
|
|
1198
|
+
// PDF
|
|
1199
|
+
pdf: "PDF",
|
|
1200
|
+
"x-pdf": "PDF",
|
|
1201
|
+
// Word
|
|
1202
|
+
msword: "Word",
|
|
1203
|
+
"vnd.openxmlformats-officedocument.wordprocessingml.document": "Word",
|
|
1204
|
+
"vnd.oasis.opendocument.text": "Word",
|
|
1205
|
+
rtf: "Word",
|
|
1206
|
+
// Excel
|
|
1207
|
+
"vnd.ms-excel": "Excel",
|
|
1208
|
+
"vnd.openxmlformats-officedocument.spreadsheetml.sheet": "Excel",
|
|
1209
|
+
"vnd.oasis.opendocument.spreadsheet": "Excel",
|
|
1210
|
+
csv: "CSV",
|
|
1211
|
+
"tab-separated-values": "CSV",
|
|
1212
|
+
// PowerPoint
|
|
1213
|
+
"vnd.ms-powerpoint": "PowerPoint",
|
|
1214
|
+
"vnd.openxmlformats-officedocument.presentationml.presentation": "PowerPoint",
|
|
1215
|
+
"vnd.oasis.opendocument.presentation": "PowerPoint",
|
|
1216
|
+
// Plain text / markup
|
|
1217
|
+
plain: "Text",
|
|
1218
|
+
html: "HTML",
|
|
1219
|
+
xml: "XML",
|
|
1220
|
+
json: "JSON",
|
|
1221
|
+
markdown: "Markdown",
|
|
1222
|
+
"x-markdown": "Markdown",
|
|
1223
|
+
yaml: "YAML",
|
|
1224
|
+
"x-yaml": "YAML",
|
|
1225
|
+
// Email
|
|
1226
|
+
rfc822: "Email",
|
|
1227
|
+
"vnd.ms-outlook": "Email",
|
|
1228
|
+
// Archives
|
|
1229
|
+
zip: "Archive",
|
|
1230
|
+
"x-zip-compressed": "Archive",
|
|
1231
|
+
"x-tar": "Archive",
|
|
1232
|
+
gzip: "Archive",
|
|
1233
|
+
"x-7z-compressed": "Archive",
|
|
1234
|
+
"x-rar-compressed": "Archive"
|
|
1235
|
+
};
|
|
1236
|
+
var MIME_TYPE_LABELS = {
|
|
1237
|
+
image: "Image",
|
|
1238
|
+
audio: "Audio",
|
|
1239
|
+
video: "Video",
|
|
1240
|
+
text: "Text"
|
|
1241
|
+
};
|
|
1242
|
+
function lookupExt(ext) {
|
|
1243
|
+
return EXT_LABELS[ext.toLowerCase().replace(/^\./, "")];
|
|
1244
|
+
}
|
|
1245
|
+
function lookupMime(mime) {
|
|
1246
|
+
const base = mime.toLowerCase().split(";")[0].trim();
|
|
1247
|
+
const slash = base.indexOf("/");
|
|
1248
|
+
if (slash <= 0) return void 0;
|
|
1249
|
+
const top = base.slice(0, slash);
|
|
1250
|
+
const sub = base.slice(slash + 1);
|
|
1251
|
+
return MIME_SUBTYPE_LABELS[sub] ?? MIME_TYPE_LABELS[top];
|
|
1252
|
+
}
|
|
1253
|
+
function extFromFileName(fileName) {
|
|
1254
|
+
if (!fileName) return void 0;
|
|
1255
|
+
const dot = fileName.lastIndexOf(".");
|
|
1256
|
+
if (dot <= 0 || dot === fileName.length - 1) return void 0;
|
|
1257
|
+
return fileName.slice(dot + 1);
|
|
1258
|
+
}
|
|
1259
|
+
var PRESENTATIONS_FOLDER = "Presentations";
|
|
1260
|
+
var PRESENTATION_TEMPLATES_FOLDER = `${PRESENTATIONS_FOLDER}/Templates`;
|
|
1261
|
+
function isPresentationFileName(fileName, folder) {
|
|
1262
|
+
const name = (fileName ?? "").toLowerCase();
|
|
1263
|
+
if (name.endsWith(".presentation.pdf") || name.endsWith(".presentation.json")) return true;
|
|
1264
|
+
if (name.endsWith(".pptx")) return true;
|
|
1265
|
+
return name.endsWith(".pdf") && (folder === PRESENTATIONS_FOLDER || folder === PRESENTATION_TEMPLATES_FOLDER);
|
|
1266
|
+
}
|
|
1267
|
+
function friendlyFileType(fileType, fileName, folder) {
|
|
1268
|
+
if (isPresentationFileName(fileName, folder)) return "Presentation";
|
|
1269
|
+
if (fileType) {
|
|
1270
|
+
const trimmed = fileType.trim();
|
|
1271
|
+
if (trimmed.includes("/")) {
|
|
1272
|
+
const fromMime = lookupMime(trimmed);
|
|
1273
|
+
if (fromMime) return fromMime;
|
|
1274
|
+
} else {
|
|
1275
|
+
const fromExt = lookupExt(trimmed);
|
|
1276
|
+
if (fromExt) return fromExt;
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
const fnExt = extFromFileName(fileName);
|
|
1280
|
+
if (fnExt) {
|
|
1281
|
+
const fromExt = lookupExt(fnExt);
|
|
1282
|
+
if (fromExt) return fromExt;
|
|
1283
|
+
}
|
|
1284
|
+
return "Other";
|
|
1285
|
+
}
|
|
1079
1286
|
function getDocumentTitle(document2, defaultValue = "") {
|
|
1080
1287
|
if (!document2) return defaultValue;
|
|
1081
1288
|
return document2.doc_metadata?.title || document2.file_name || defaultValue;
|
|
@@ -1106,7 +1313,10 @@ var TEXT_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
|
1106
1313
|
"yaml",
|
|
1107
1314
|
"yml"
|
|
1108
1315
|
]);
|
|
1109
|
-
function getDocIcon(fileName, iconSize = 14) {
|
|
1316
|
+
function getDocIcon(fileName, iconSize = 14, folder) {
|
|
1317
|
+
if (isPresentationFileName(fileName, folder)) {
|
|
1318
|
+
return /* @__PURE__ */ jsxRuntime.jsx(PresIcon, { size: iconSize, className: "flex-shrink-0" });
|
|
1319
|
+
}
|
|
1110
1320
|
const ext = fileName?.split(".").pop()?.toLowerCase();
|
|
1111
1321
|
if (ext && VIDEO_EXTENSIONS.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(VidIcon, { size: iconSize, className: "flex-shrink-0" });
|
|
1112
1322
|
if (ext && AUDIO_EXTENSIONS.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(AudIcon, { size: iconSize, className: "flex-shrink-0" });
|
|
@@ -1140,7 +1350,7 @@ function DocumentEntity({
|
|
|
1140
1350
|
const ext = doc.file_name?.split(".").pop()?.toLowerCase();
|
|
1141
1351
|
const iconSize = size === "md" ? 16 : 14;
|
|
1142
1352
|
const eyeSizeClass = size === "md" ? "h-4 w-4" : "h-3.5 w-3.5";
|
|
1143
|
-
const baseIcon = icon ?? getDocIcon(doc.file_name, iconSize);
|
|
1353
|
+
const baseIcon = icon ?? getDocIcon(doc.file_name, iconSize, doc.folder);
|
|
1144
1354
|
const displayIcon = viewing || iconBadge ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-flex flex-shrink-0 items-center justify-center", children: [
|
|
1145
1355
|
viewing ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: chunkS6A6FSG7_cjs.cn("text-primary-foreground", eyeSizeClass) }) : baseIcon,
|
|
1146
1356
|
iconBadge
|
|
@@ -2106,6 +2316,103 @@ function ThreadVisibilityIcon({
|
|
|
2106
2316
|
const Icon2 = shared ? lucideReact.MessageSquareShare : lucideReact.MessageSquareLock;
|
|
2107
2317
|
return /* @__PURE__ */ jsxRuntime.jsx(Icon2, { ...props, className: chunkS6A6FSG7_cjs.cn(shared ? "text-secondary" : "text-primary", className) });
|
|
2108
2318
|
}
|
|
2319
|
+
var HoverCard = HoverCardPrimitive__namespace.Root;
|
|
2320
|
+
var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
|
|
2321
|
+
function HoverCardPortal({
|
|
2322
|
+
container,
|
|
2323
|
+
...props
|
|
2324
|
+
}) {
|
|
2325
|
+
const fallback = chunkHJDR5HEO_cjs.usePortalContainer();
|
|
2326
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Portal, { container: container ?? fallback, ...props });
|
|
2327
|
+
}
|
|
2328
|
+
var HoverCardContent = React__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2329
|
+
HoverCardPrimitive__namespace.Content,
|
|
2330
|
+
{
|
|
2331
|
+
ref,
|
|
2332
|
+
align,
|
|
2333
|
+
sideOffset,
|
|
2334
|
+
collisionPadding: chunkHJDR5HEO_cjs.getCollisionPadding(),
|
|
2335
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2336
|
+
"z-50 w-64 max-w-[calc(100vw-1rem)] rounded-md border bg-popover p-4 text-popover-foreground shadow-lg outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
|
|
2337
|
+
className
|
|
2338
|
+
),
|
|
2339
|
+
...props
|
|
2340
|
+
}
|
|
2341
|
+
) }));
|
|
2342
|
+
HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
|
|
2343
|
+
var sharedMembers = null;
|
|
2344
|
+
function configureSharingMembers(members) {
|
|
2345
|
+
sharedMembers = members;
|
|
2346
|
+
}
|
|
2347
|
+
var SHARING_LABELS = { onlyMe: "Only me", workspace: "Workspace" };
|
|
2348
|
+
function SharingEntity({
|
|
2349
|
+
shared,
|
|
2350
|
+
variant = "full",
|
|
2351
|
+
size = "sm",
|
|
2352
|
+
onToggle,
|
|
2353
|
+
disabled = false,
|
|
2354
|
+
disabledTooltip,
|
|
2355
|
+
tooltipActive,
|
|
2356
|
+
tooltipInactive,
|
|
2357
|
+
members: membersProp,
|
|
2358
|
+
className,
|
|
2359
|
+
"data-testid": testId
|
|
2360
|
+
}) {
|
|
2361
|
+
const members = membersProp ?? sharedMembers;
|
|
2362
|
+
const [open, setOpen] = React.useState(false);
|
|
2363
|
+
const lastPointer = React.useRef("mouse");
|
|
2364
|
+
const canToggle = !!onToggle && !disabled;
|
|
2365
|
+
const label = shared ? SHARING_LABELS.workspace : SHARING_LABELS.onlyMe;
|
|
2366
|
+
const hint = disabled ? disabledTooltip : shared ? tooltipActive : tooltipInactive;
|
|
2367
|
+
const handleClick = (e) => {
|
|
2368
|
+
e.stopPropagation();
|
|
2369
|
+
if (shared && lastPointer.current === "touch") {
|
|
2370
|
+
setOpen(true);
|
|
2371
|
+
return;
|
|
2372
|
+
}
|
|
2373
|
+
if (canToggle) onToggle(!shared);
|
|
2374
|
+
};
|
|
2375
|
+
const pill = /* @__PURE__ */ jsxRuntime.jsx(
|
|
2376
|
+
EntityPill,
|
|
2377
|
+
{
|
|
2378
|
+
shape: "pill",
|
|
2379
|
+
size,
|
|
2380
|
+
icon: shared ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "size-3.5 shrink-0 text-primary", "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.User, { className: "size-3.5 shrink-0 text-muted-foreground", "aria-hidden": true }),
|
|
2381
|
+
label,
|
|
2382
|
+
labelClassName: chunkS6A6FSG7_cjs.cn(variant === "icon" && "sr-only", !shared && "text-muted-foreground"),
|
|
2383
|
+
className: chunkS6A6FSG7_cjs.cn(shared && "text-primary", className),
|
|
2384
|
+
onClick: handleClick,
|
|
2385
|
+
tooltipContent: !shared && hint ? hint : void 0,
|
|
2386
|
+
"data-testid": testId
|
|
2387
|
+
}
|
|
2388
|
+
);
|
|
2389
|
+
if (!shared) return pill;
|
|
2390
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(HoverCard, { open, onOpenChange: setOpen, openDelay: 200, closeDelay: 100, children: [
|
|
2391
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2392
|
+
HoverCardTrigger,
|
|
2393
|
+
{
|
|
2394
|
+
asChild: true,
|
|
2395
|
+
onPointerDown: (e) => {
|
|
2396
|
+
lastPointer.current = e.pointerType;
|
|
2397
|
+
},
|
|
2398
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2399
|
+
"span",
|
|
2400
|
+
{
|
|
2401
|
+
className: "inline-flex",
|
|
2402
|
+
role: "group",
|
|
2403
|
+
"aria-label": `${SHARING_LABELS.workspace}: shared with all workspace members`,
|
|
2404
|
+
children: pill
|
|
2405
|
+
}
|
|
2406
|
+
)
|
|
2407
|
+
}
|
|
2408
|
+
),
|
|
2409
|
+
open && /* @__PURE__ */ jsxRuntime.jsxs(HoverCardContent, { side: "left", align: "center", className: "w-60 space-y-2 p-3", children: [
|
|
2410
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold", children: "Workspace members" }),
|
|
2411
|
+
members,
|
|
2412
|
+
hint && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "border-t pt-2 text-xs text-muted-foreground", children: hint })
|
|
2413
|
+
] })
|
|
2414
|
+
] });
|
|
2415
|
+
}
|
|
2109
2416
|
var ENTITY_MAPPINGS = {
|
|
2110
2417
|
PRODUCT: {
|
|
2111
2418
|
NAMES: {
|
|
@@ -2967,155 +3274,6 @@ function usesOriginalBytesForViewer(fileName) {
|
|
|
2967
3274
|
function isDownloadOnlyFile(fileName) {
|
|
2968
3275
|
return DOWNLOAD_ONLY_EXTENSIONS.has(getDottedExtension(fileName));
|
|
2969
3276
|
}
|
|
2970
|
-
|
|
2971
|
-
// src/entities/file-type.ts
|
|
2972
|
-
var EXT_LABELS = {
|
|
2973
|
-
pdf: "PDF",
|
|
2974
|
-
// Word / docs
|
|
2975
|
-
doc: "Word",
|
|
2976
|
-
docx: "Word",
|
|
2977
|
-
rtf: "Word",
|
|
2978
|
-
odt: "Word",
|
|
2979
|
-
// Spreadsheets
|
|
2980
|
-
xls: "Excel",
|
|
2981
|
-
xlsx: "Excel",
|
|
2982
|
-
ods: "Excel",
|
|
2983
|
-
csv: "CSV",
|
|
2984
|
-
tsv: "CSV",
|
|
2985
|
-
// Slides
|
|
2986
|
-
ppt: "PowerPoint",
|
|
2987
|
-
pptx: "PowerPoint",
|
|
2988
|
-
odp: "PowerPoint",
|
|
2989
|
-
// Plain text / markup
|
|
2990
|
-
txt: "Text",
|
|
2991
|
-
log: "Text",
|
|
2992
|
-
md: "Markdown",
|
|
2993
|
-
markdown: "Markdown",
|
|
2994
|
-
html: "HTML",
|
|
2995
|
-
htm: "HTML",
|
|
2996
|
-
xml: "XML",
|
|
2997
|
-
json: "JSON",
|
|
2998
|
-
yaml: "YAML",
|
|
2999
|
-
yml: "YAML",
|
|
3000
|
-
// Email
|
|
3001
|
-
eml: "Email",
|
|
3002
|
-
msg: "Email",
|
|
3003
|
-
mbox: "Email",
|
|
3004
|
-
pst: "Outlook",
|
|
3005
|
-
ost: "Outlook",
|
|
3006
|
-
// Images
|
|
3007
|
-
jpg: "Image",
|
|
3008
|
-
jpeg: "Image",
|
|
3009
|
-
png: "Image",
|
|
3010
|
-
gif: "Image",
|
|
3011
|
-
bmp: "Image",
|
|
3012
|
-
tif: "Image",
|
|
3013
|
-
tiff: "Image",
|
|
3014
|
-
webp: "Image",
|
|
3015
|
-
svg: "Image",
|
|
3016
|
-
heic: "Image",
|
|
3017
|
-
heif: "Image",
|
|
3018
|
-
// Audio
|
|
3019
|
-
mp3: "Audio",
|
|
3020
|
-
wav: "Audio",
|
|
3021
|
-
m4a: "Audio",
|
|
3022
|
-
aac: "Audio",
|
|
3023
|
-
ogg: "Audio",
|
|
3024
|
-
flac: "Audio",
|
|
3025
|
-
opus: "Audio",
|
|
3026
|
-
// Video
|
|
3027
|
-
mp4: "Video",
|
|
3028
|
-
webm: "Video",
|
|
3029
|
-
mov: "Video",
|
|
3030
|
-
avi: "Video",
|
|
3031
|
-
mkv: "Video",
|
|
3032
|
-
// Archives
|
|
3033
|
-
zip: "Archive",
|
|
3034
|
-
tar: "Archive",
|
|
3035
|
-
gz: "Archive",
|
|
3036
|
-
rar: "Archive",
|
|
3037
|
-
"7z": "Archive"
|
|
3038
|
-
};
|
|
3039
|
-
var MIME_SUBTYPE_LABELS = {
|
|
3040
|
-
// PDF
|
|
3041
|
-
pdf: "PDF",
|
|
3042
|
-
"x-pdf": "PDF",
|
|
3043
|
-
// Word
|
|
3044
|
-
msword: "Word",
|
|
3045
|
-
"vnd.openxmlformats-officedocument.wordprocessingml.document": "Word",
|
|
3046
|
-
"vnd.oasis.opendocument.text": "Word",
|
|
3047
|
-
rtf: "Word",
|
|
3048
|
-
// Excel
|
|
3049
|
-
"vnd.ms-excel": "Excel",
|
|
3050
|
-
"vnd.openxmlformats-officedocument.spreadsheetml.sheet": "Excel",
|
|
3051
|
-
"vnd.oasis.opendocument.spreadsheet": "Excel",
|
|
3052
|
-
csv: "CSV",
|
|
3053
|
-
"tab-separated-values": "CSV",
|
|
3054
|
-
// PowerPoint
|
|
3055
|
-
"vnd.ms-powerpoint": "PowerPoint",
|
|
3056
|
-
"vnd.openxmlformats-officedocument.presentationml.presentation": "PowerPoint",
|
|
3057
|
-
"vnd.oasis.opendocument.presentation": "PowerPoint",
|
|
3058
|
-
// Plain text / markup
|
|
3059
|
-
plain: "Text",
|
|
3060
|
-
html: "HTML",
|
|
3061
|
-
xml: "XML",
|
|
3062
|
-
json: "JSON",
|
|
3063
|
-
markdown: "Markdown",
|
|
3064
|
-
"x-markdown": "Markdown",
|
|
3065
|
-
yaml: "YAML",
|
|
3066
|
-
"x-yaml": "YAML",
|
|
3067
|
-
// Email
|
|
3068
|
-
rfc822: "Email",
|
|
3069
|
-
"vnd.ms-outlook": "Email",
|
|
3070
|
-
// Archives
|
|
3071
|
-
zip: "Archive",
|
|
3072
|
-
"x-zip-compressed": "Archive",
|
|
3073
|
-
"x-tar": "Archive",
|
|
3074
|
-
gzip: "Archive",
|
|
3075
|
-
"x-7z-compressed": "Archive",
|
|
3076
|
-
"x-rar-compressed": "Archive"
|
|
3077
|
-
};
|
|
3078
|
-
var MIME_TYPE_LABELS = {
|
|
3079
|
-
image: "Image",
|
|
3080
|
-
audio: "Audio",
|
|
3081
|
-
video: "Video",
|
|
3082
|
-
text: "Text"
|
|
3083
|
-
};
|
|
3084
|
-
function lookupExt(ext) {
|
|
3085
|
-
return EXT_LABELS[ext.toLowerCase().replace(/^\./, "")];
|
|
3086
|
-
}
|
|
3087
|
-
function lookupMime(mime) {
|
|
3088
|
-
const base = mime.toLowerCase().split(";")[0].trim();
|
|
3089
|
-
const slash = base.indexOf("/");
|
|
3090
|
-
if (slash <= 0) return void 0;
|
|
3091
|
-
const top = base.slice(0, slash);
|
|
3092
|
-
const sub = base.slice(slash + 1);
|
|
3093
|
-
return MIME_SUBTYPE_LABELS[sub] ?? MIME_TYPE_LABELS[top];
|
|
3094
|
-
}
|
|
3095
|
-
function extFromFileName(fileName) {
|
|
3096
|
-
if (!fileName) return void 0;
|
|
3097
|
-
const dot = fileName.lastIndexOf(".");
|
|
3098
|
-
if (dot <= 0 || dot === fileName.length - 1) return void 0;
|
|
3099
|
-
return fileName.slice(dot + 1);
|
|
3100
|
-
}
|
|
3101
|
-
function friendlyFileType(fileType, fileName) {
|
|
3102
|
-
if (fileType) {
|
|
3103
|
-
const trimmed = fileType.trim();
|
|
3104
|
-
if (trimmed.includes("/")) {
|
|
3105
|
-
const fromMime = lookupMime(trimmed);
|
|
3106
|
-
if (fromMime) return fromMime;
|
|
3107
|
-
} else {
|
|
3108
|
-
const fromExt = lookupExt(trimmed);
|
|
3109
|
-
if (fromExt) return fromExt;
|
|
3110
|
-
}
|
|
3111
|
-
}
|
|
3112
|
-
const fnExt = extFromFileName(fileName);
|
|
3113
|
-
if (fnExt) {
|
|
3114
|
-
const fromExt = lookupExt(fnExt);
|
|
3115
|
-
if (fromExt) return fromExt;
|
|
3116
|
-
}
|
|
3117
|
-
return "Other";
|
|
3118
|
-
}
|
|
3119
3277
|
var Select = SelectPrimitive__namespace.Root;
|
|
3120
3278
|
var SelectGroup = SelectPrimitive__namespace.Group;
|
|
3121
3279
|
var SelectValue = SelectPrimitive__namespace.Value;
|
|
@@ -3649,30 +3807,6 @@ function DebouncedInput({
|
|
|
3649
3807
|
}
|
|
3650
3808
|
);
|
|
3651
3809
|
}
|
|
3652
|
-
var HoverCard = HoverCardPrimitive__namespace.Root;
|
|
3653
|
-
var HoverCardTrigger = HoverCardPrimitive__namespace.Trigger;
|
|
3654
|
-
function HoverCardPortal({
|
|
3655
|
-
container,
|
|
3656
|
-
...props
|
|
3657
|
-
}) {
|
|
3658
|
-
const fallback = chunkHJDR5HEO_cjs.usePortalContainer();
|
|
3659
|
-
return /* @__PURE__ */ jsxRuntime.jsx(HoverCardPrimitive__namespace.Portal, { container: container ?? fallback, ...props });
|
|
3660
|
-
}
|
|
3661
|
-
var HoverCardContent = React__namespace.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(HoverCardPortal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3662
|
-
HoverCardPrimitive__namespace.Content,
|
|
3663
|
-
{
|
|
3664
|
-
ref,
|
|
3665
|
-
align,
|
|
3666
|
-
sideOffset,
|
|
3667
|
-
collisionPadding: chunkHJDR5HEO_cjs.getCollisionPadding(),
|
|
3668
|
-
className: chunkS6A6FSG7_cjs.cn(
|
|
3669
|
-
"z-50 w-64 max-w-[calc(100vw-1rem)] rounded-md border bg-popover p-4 text-popover-foreground shadow-lg outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-hover-card-content-transform-origin]",
|
|
3670
|
-
className
|
|
3671
|
-
),
|
|
3672
|
-
...props
|
|
3673
|
-
}
|
|
3674
|
-
) }));
|
|
3675
|
-
HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
|
|
3676
3810
|
var cardVariants = classVarianceAuthority.cva("min-w-0 rounded-lg bg-card text-card-foreground", {
|
|
3677
3811
|
variants: {
|
|
3678
3812
|
variant: {
|
|
@@ -3951,7 +4085,13 @@ var Slider = React__namespace.forwardRef(
|
|
|
3951
4085
|
...props,
|
|
3952
4086
|
children: [
|
|
3953
4087
|
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: chunkS6A6FSG7_cjs.cn("absolute h-full bg-primary", rangeClassName) }) }),
|
|
3954
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4088
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4089
|
+
SliderPrimitive__namespace.Thumb,
|
|
4090
|
+
{
|
|
4091
|
+
"aria-label": props["aria-label"],
|
|
4092
|
+
className: "block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"
|
|
4093
|
+
}
|
|
4094
|
+
)
|
|
3955
4095
|
]
|
|
3956
4096
|
}
|
|
3957
4097
|
)
|
|
@@ -4609,6 +4749,7 @@ function iconFromMime(mime) {
|
|
|
4609
4749
|
return null;
|
|
4610
4750
|
}
|
|
4611
4751
|
function getFileTypeIcon(fileName, opts) {
|
|
4752
|
+
if (isPresentationFileName(fileName, opts?.folder)) return PresIcon;
|
|
4612
4753
|
return iconFromExtension(getFileExtension(fileName)) ?? (opts?.mime ? iconFromMime(opts.mime) : null) ?? (opts?.defaultToPdf ? PdfIcon : TextIcon);
|
|
4613
4754
|
}
|
|
4614
4755
|
var GoogleIcon = ({
|
|
@@ -5060,6 +5201,8 @@ exports.MicWaveformIndicator = MicWaveformIndicator;
|
|
|
5060
5201
|
exports.NEUTRAL_GRAY = NEUTRAL_GRAY2;
|
|
5061
5202
|
exports.OpenAIIcon = OpenAIIcon;
|
|
5062
5203
|
exports.PLACEHOLDER_COLOR = PLACEHOLDER_COLOR;
|
|
5204
|
+
exports.PRESENTATIONS_FOLDER = PRESENTATIONS_FOLDER;
|
|
5205
|
+
exports.PRESENTATION_TEMPLATES_FOLDER = PRESENTATION_TEMPLATES_FOLDER;
|
|
5063
5206
|
exports.PassageCard = PassageCard;
|
|
5064
5207
|
exports.PdfIcon = PdfIcon;
|
|
5065
5208
|
exports.Popover = Popover;
|
|
@@ -5067,12 +5210,14 @@ exports.PopoverAnchor = PopoverAnchor;
|
|
|
5067
5210
|
exports.PopoverClose = PopoverClose;
|
|
5068
5211
|
exports.PopoverContent = PopoverContent;
|
|
5069
5212
|
exports.PopoverTrigger = PopoverTrigger;
|
|
5213
|
+
exports.PresIcon = PresIcon;
|
|
5070
5214
|
exports.PresenceLabel = PresenceLabel;
|
|
5071
5215
|
exports.Progress = Progress;
|
|
5072
5216
|
exports.ProjectEntity = ProjectEntity;
|
|
5073
5217
|
exports.ProviderIcon = ProviderIcon;
|
|
5074
5218
|
exports.RadioGroup = RadioGroup;
|
|
5075
5219
|
exports.RadioGroupItem = RadioGroupItem;
|
|
5220
|
+
exports.SHARING_LABELS = SHARING_LABELS;
|
|
5076
5221
|
exports.Select = Select;
|
|
5077
5222
|
exports.SelectContent = SelectContent;
|
|
5078
5223
|
exports.SelectGroup = SelectGroup;
|
|
@@ -5084,6 +5229,7 @@ exports.SelectSeparator = SelectSeparator;
|
|
|
5084
5229
|
exports.SelectTrigger = SelectTrigger;
|
|
5085
5230
|
exports.SelectValue = SelectValue;
|
|
5086
5231
|
exports.Separator = Separator2;
|
|
5232
|
+
exports.SharingEntity = SharingEntity;
|
|
5087
5233
|
exports.ShieldIcon = ShieldIcon;
|
|
5088
5234
|
exports.Slider = Slider;
|
|
5089
5235
|
exports.StatusPill = StatusPill;
|
|
@@ -5131,6 +5277,7 @@ exports.cardVariants = cardVariants;
|
|
|
5131
5277
|
exports.classifyMediaError = classifyMediaError;
|
|
5132
5278
|
exports.configureEntityRegistry = configureEntityRegistry;
|
|
5133
5279
|
exports.configureRagLabels = configureRagLabels;
|
|
5280
|
+
exports.configureSharingMembers = configureSharingMembers;
|
|
5134
5281
|
exports.configureStatusRegistry = configureStatusRegistry;
|
|
5135
5282
|
exports.createChunkedRecorder = createChunkedRecorder;
|
|
5136
5283
|
exports.entityNoun = entityNoun;
|
|
@@ -5163,6 +5310,7 @@ exports.isDownloadOnlyFile = isDownloadOnlyFile;
|
|
|
5163
5310
|
exports.isImageDocument = isImageDocument;
|
|
5164
5311
|
exports.isImageFile = isImageFile;
|
|
5165
5312
|
exports.isMediaFile = isMediaFile;
|
|
5313
|
+
exports.isPresentationFileName = isPresentationFileName;
|
|
5166
5314
|
exports.isVideoFile = isVideoFile;
|
|
5167
5315
|
exports.markdownToPlainText = markdownToPlainText;
|
|
5168
5316
|
exports.markdownToPlainTextBlocks = markdownToPlainTextBlocks;
|
|
@@ -5174,5 +5322,5 @@ exports.toggleVariants = toggleVariants;
|
|
|
5174
5322
|
exports.useAudioRecorder = useAudioRecorder;
|
|
5175
5323
|
exports.useDictateContext = useDictateContext;
|
|
5176
5324
|
exports.usesOriginalBytesForViewer = usesOriginalBytesForViewer;
|
|
5177
|
-
//# sourceMappingURL=chunk-
|
|
5178
|
-
//# sourceMappingURL=chunk-
|
|
5325
|
+
//# sourceMappingURL=chunk-DLEHM4IA.cjs.map
|
|
5326
|
+
//# sourceMappingURL=chunk-DLEHM4IA.cjs.map
|