@arbidocs/react 0.5.86 → 0.5.87

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.
Files changed (117) hide show
  1. package/README.md +2 -3
  2. package/dist/artifacts/index.cjs +46 -48
  3. package/dist/artifacts/index.cjs.map +1 -1
  4. package/dist/artifacts/index.js +7 -9
  5. package/dist/artifacts/index.js.map +1 -1
  6. package/dist/calls/livekit/index.cjs +60 -62
  7. package/dist/calls/livekit/index.cjs.map +1 -1
  8. package/dist/calls/livekit/index.js +6 -8
  9. package/dist/calls/livekit/index.js.map +1 -1
  10. package/dist/{chunk-Z3LLUO32.cjs → chunk-5NOZDH3F.cjs} +12 -2
  11. package/dist/chunk-5NOZDH3F.cjs.map +1 -0
  12. package/dist/{chunk-WQY3RQ6G.js → chunk-73ENECAT.js} +5 -6
  13. package/dist/{chunk-LUDIYWT7.cjs.map → chunk-73ENECAT.js.map} +1 -1
  14. package/dist/{chunk-2Y2WOIHH.cjs → chunk-AOPGD23L.cjs} +60 -148
  15. package/dist/chunk-AOPGD23L.cjs.map +1 -0
  16. package/dist/{chunk-G4Z3IP4J.js → chunk-BF5KW5ZI.js} +3 -17
  17. package/dist/chunk-BF5KW5ZI.js.map +1 -0
  18. package/dist/{chunk-TK7ERJPE.js → chunk-BFNY3RZG.js} +22 -12
  19. package/dist/chunk-BFNY3RZG.js.map +1 -0
  20. package/dist/{chunk-U4PWVSCT.cjs → chunk-C4WODQGO.cjs} +24 -11
  21. package/dist/chunk-C4WODQGO.cjs.map +1 -0
  22. package/dist/{chunk-E7VD5WNY.cjs → chunk-DS7NTSKH.cjs} +41 -74
  23. package/dist/chunk-DS7NTSKH.cjs.map +1 -0
  24. package/dist/{chunk-JT7PN7JH.js → chunk-DU2P354H.js} +6 -37
  25. package/dist/chunk-DU2P354H.js.map +1 -0
  26. package/dist/{chunk-TAVS54EN.cjs → chunk-GKWMT64A.cjs} +6 -6
  27. package/dist/{chunk-TAVS54EN.cjs.map → chunk-GKWMT64A.cjs.map} +1 -1
  28. package/dist/{chunk-AXKHDLBB.cjs → chunk-HEVPIVF2.cjs} +15 -15
  29. package/dist/{chunk-AXKHDLBB.cjs.map → chunk-HEVPIVF2.cjs.map} +1 -1
  30. package/dist/{chunk-XPLD4LFC.js → chunk-KTXZ222T.js} +6 -91
  31. package/dist/chunk-KTXZ222T.js.map +1 -0
  32. package/dist/{chunk-PXWKJI4K.cjs → chunk-LBAG7KL7.cjs} +35 -261
  33. package/dist/chunk-LBAG7KL7.cjs.map +1 -0
  34. package/dist/{chunk-CSPAEVZS.js → chunk-MS43RNXM.js} +5 -5
  35. package/dist/{chunk-CSPAEVZS.js.map → chunk-MS43RNXM.js.map} +1 -1
  36. package/dist/{chunk-OC7F5SNA.cjs → chunk-MXP4O4DI.cjs} +5 -5
  37. package/dist/{chunk-OC7F5SNA.cjs.map → chunk-MXP4O4DI.cjs.map} +1 -1
  38. package/dist/{chunk-ZWFMFOGP.cjs → chunk-NDIKMOBJ.cjs} +4 -4
  39. package/dist/{chunk-ZWFMFOGP.cjs.map → chunk-NDIKMOBJ.cjs.map} +1 -1
  40. package/dist/{chunk-XAEVT7ZM.js → chunk-NNAJLY6B.js} +34 -257
  41. package/dist/chunk-NNAJLY6B.js.map +1 -0
  42. package/dist/{chunk-LUDIYWT7.cjs → chunk-QLRDHLWR.cjs} +72 -73
  43. package/dist/chunk-QLRDHLWR.cjs.map +1 -0
  44. package/dist/{chunk-DZUBZ45Y.cjs → chunk-RLSBRZ6Z.cjs} +2 -17
  45. package/dist/chunk-RLSBRZ6Z.cjs.map +1 -0
  46. package/dist/{chunk-VGAA7AFS.js → chunk-S3OGDLDC.js} +4 -13
  47. package/dist/chunk-S3OGDLDC.js.map +1 -0
  48. package/dist/{chunk-NNWMHMEC.js → chunk-UW2SGTI5.js} +3 -3
  49. package/dist/{chunk-NNWMHMEC.js.map → chunk-UW2SGTI5.js.map} +1 -1
  50. package/dist/{chunk-QRCMKEE6.js → chunk-VSCU7K4V.js} +11 -3
  51. package/dist/chunk-VSCU7K4V.js.map +1 -0
  52. package/dist/{chunk-C44GO33B.js → chunk-WL2Y2T47.js} +3 -3
  53. package/dist/{chunk-C44GO33B.js.map → chunk-WL2Y2T47.js.map} +1 -1
  54. package/dist/{chunk-47YVW3J4.js → chunk-YQBDEOVE.js} +4 -4
  55. package/dist/{chunk-47YVW3J4.js.map → chunk-YQBDEOVE.js.map} +1 -1
  56. package/dist/{chunk-Q6U7ALNV.cjs → chunk-ZHXYFJIA.cjs} +44 -54
  57. package/dist/chunk-ZHXYFJIA.cjs.map +1 -0
  58. package/dist/document-tools/core.cjs +100 -110
  59. package/dist/document-tools/core.d.cts +3 -78
  60. package/dist/document-tools/core.d.ts +3 -78
  61. package/dist/document-tools/core.js +5 -7
  62. package/dist/document-tools/index.cjs +102 -112
  63. package/dist/document-tools/index.cjs.map +1 -1
  64. package/dist/document-tools/index.d.cts +2 -2
  65. package/dist/document-tools/index.d.ts +2 -2
  66. package/dist/document-tools/index.js +6 -8
  67. package/dist/document-tools/index.js.map +1 -1
  68. package/dist/index.cjs +1740 -2305
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/{index.d-BDcwpFVa.d.cts → index.d-1_bJB-Yl.d.cts} +1 -58
  71. package/dist/{index.d-BDcwpFVa.d.ts → index.d-1_bJB-Yl.d.ts} +1 -58
  72. package/dist/{index.d-Deqz5-pF.d.ts → index.d-ChaR6kMc.d.cts} +1 -6
  73. package/dist/{index.d-Deqz5-pF.d.cts → index.d-ChaR6kMc.d.ts} +1 -6
  74. package/dist/index.d.cts +184 -1423
  75. package/dist/index.d.ts +184 -1423
  76. package/dist/index.js +281 -799
  77. package/dist/index.js.map +1 -1
  78. package/dist/{query-keys.d-Dm0NL9nr.d.cts → query-keys.d-D6SAUl7S.d.cts} +0 -9
  79. package/dist/{query-keys.d-Dm0NL9nr.d.ts → query-keys.d-D6SAUl7S.d.ts} +0 -9
  80. package/dist/shell/index.cjs +48 -53
  81. package/dist/shell/index.d.cts +1 -1
  82. package/dist/shell/index.d.ts +1 -1
  83. package/dist/shell/index.js +4 -5
  84. package/dist/ui/index.cjs +156 -169
  85. package/dist/ui/index.d.cts +1 -1
  86. package/dist/ui/index.d.ts +1 -1
  87. package/dist/ui/index.js +3 -4
  88. package/dist/viewers/index.cjs +0 -120
  89. package/dist/viewers/index.cjs.map +1 -1
  90. package/dist/viewers/index.d.cts +3 -40
  91. package/dist/viewers/index.d.ts +3 -40
  92. package/dist/viewers/index.js +1 -120
  93. package/dist/viewers/index.js.map +1 -1
  94. package/package.json +3 -3
  95. package/dist/chunk-2Y2WOIHH.cjs.map +0 -1
  96. package/dist/chunk-CPZ36AQS.js +0 -11
  97. package/dist/chunk-CPZ36AQS.js.map +0 -1
  98. package/dist/chunk-DZUBZ45Y.cjs.map +0 -1
  99. package/dist/chunk-E7VD5WNY.cjs.map +0 -1
  100. package/dist/chunk-G4Z3IP4J.js.map +0 -1
  101. package/dist/chunk-JT7PN7JH.js.map +0 -1
  102. package/dist/chunk-PXWKJI4K.cjs.map +0 -1
  103. package/dist/chunk-Q6U7ALNV.cjs.map +0 -1
  104. package/dist/chunk-QRCMKEE6.js.map +0 -1
  105. package/dist/chunk-RCKA7BEF.cjs +0 -14
  106. package/dist/chunk-RCKA7BEF.cjs.map +0 -1
  107. package/dist/chunk-TK7ERJPE.js.map +0 -1
  108. package/dist/chunk-U4PWVSCT.cjs.map +0 -1
  109. package/dist/chunk-VGAA7AFS.js.map +0 -1
  110. package/dist/chunk-VGMMK5OM.cjs +0 -26
  111. package/dist/chunk-VGMMK5OM.cjs.map +0 -1
  112. package/dist/chunk-VGO77X5U.js +0 -22
  113. package/dist/chunk-VGO77X5U.js.map +0 -1
  114. package/dist/chunk-WQY3RQ6G.js.map +0 -1
  115. package/dist/chunk-XAEVT7ZM.js.map +0 -1
  116. package/dist/chunk-XPLD4LFC.js.map +0 -1
  117. package/dist/chunk-Z3LLUO32.cjs.map +0 -1
@@ -1,17 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkEEIYXVM4_cjs = require('./chunk-EEIYXVM4.cjs');
4
- var chunkOC7F5SNA_cjs = require('./chunk-OC7F5SNA.cjs');
4
+ var chunkMXP4O4DI_cjs = require('./chunk-MXP4O4DI.cjs');
5
5
  var chunkWYZJLZ67_cjs = require('./chunk-WYZJLZ67.cjs');
6
6
  var chunkKC474WVG_cjs = require('./chunk-KC474WVG.cjs');
7
7
  var chunkHJDR5HEO_cjs = require('./chunk-HJDR5HEO.cjs');
8
- var chunkRCKA7BEF_cjs = require('./chunk-RCKA7BEF.cjs');
8
+ var chunk5NOZDH3F_cjs = require('./chunk-5NOZDH3F.cjs');
9
9
  var chunkS6A6FSG7_cjs = require('./chunk-S6A6FSG7.cjs');
10
10
  var React = require('react');
11
11
  var reactDom = require('react-dom');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  var lucideReact = require('lucide-react');
14
- var CheckboxPrimitive = require('@radix-ui/react-checkbox');
15
14
  var classVarianceAuthority = require('class-variance-authority');
16
15
  var SelectPrimitive = require('@radix-ui/react-select');
17
16
  var HoverCardPrimitive = require('@radix-ui/react-hover-card');
@@ -19,6 +18,7 @@ var SeparatorPrimitive = require('@radix-ui/react-separator');
19
18
  var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
20
19
  var ProgressPrimitive = require('@radix-ui/react-progress');
21
20
  var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
21
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
22
22
  var SwitchPrimitives = require('@radix-ui/react-switch');
23
23
  var TabsPrimitive = require('@radix-ui/react-tabs');
24
24
  var SliderPrimitive = require('@radix-ui/react-slider');
@@ -46,13 +46,13 @@ function _interopNamespace(e) {
46
46
  }
47
47
 
48
48
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
49
- var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
50
49
  var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
51
50
  var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
52
51
  var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
53
52
  var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
54
53
  var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
55
54
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
55
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
56
56
  var SwitchPrimitives__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitives);
57
57
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
58
58
  var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
@@ -1181,231 +1181,6 @@ function DocumentEntity({
1181
1181
  }
1182
1182
  );
1183
1183
  }
1184
- var Checkbox = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1185
- CheckboxPrimitive__namespace.Root,
1186
- {
1187
- ref,
1188
- className: chunkS6A6FSG7_cjs.cn(
1189
- "peer relative h-4 w-4 shrink-0 rounded-sm border border-muted-foreground/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground after:absolute after:left-1/2 after:top-1/2 after:hidden after:size-11 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[''] pointer-coarse:after:block",
1190
- className
1191
- ),
1192
- ...props,
1193
- children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className: chunkS6A6FSG7_cjs.cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) })
1194
- }
1195
- ));
1196
- Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
1197
- var ACTIVE_STATUSES = /* @__PURE__ */ new Set([
1198
- "queued",
1199
- "processing",
1200
- "parsing",
1201
- "encrypting",
1202
- "indexing",
1203
- "analysing"
1204
- ]);
1205
- var TERMINAL_STATUSES = /* @__PURE__ */ new Set(["completed", "failed", "skipped", "empty", "low-content"]);
1206
- var STATUS_LABEL = {
1207
- queued: "Queued",
1208
- processing: "Processing",
1209
- parsing: "Parsing",
1210
- encrypting: "Encrypting",
1211
- indexing: "Indexing",
1212
- analysing: "Analysing"
1213
- };
1214
- var IMAGE_EXTENSIONS2 = /* @__PURE__ */ new Set(["jpg", "jpeg", "png", "gif", "bmp", "tiff", "tif", "webp"]);
1215
- var VIDEO_EXTENSIONS2 = /* @__PURE__ */ new Set(["mp4", "mpeg", "mpg", "webm", "mov", "avi", "mkv"]);
1216
- var AUDIO_EXTENSIONS2 = /* @__PURE__ */ new Set(["mp3", "wav", "m4a", "aac", "ogg", "flac"]);
1217
- var EMAIL_EXTENSIONS2 = /* @__PURE__ */ new Set(["eml", "msg"]);
1218
- function fileIcon(fileName, size) {
1219
- const ext = fileName?.split(".").pop()?.toLowerCase();
1220
- if (ext && VIDEO_EXTENSIONS2.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(VidIcon, { size });
1221
- if (ext && AUDIO_EXTENSIONS2.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(AudIcon, { size });
1222
- if (ext && IMAGE_EXTENSIONS2.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(ImgIcon, { size });
1223
- if (ext && EMAIL_EXTENSIONS2.has(ext)) return /* @__PURE__ */ jsxRuntime.jsx(EmlIcon, { size });
1224
- return /* @__PURE__ */ jsxRuntime.jsx(PdfIcon, { size });
1225
- }
1226
- function RenameField({
1227
- seed,
1228
- onCommit,
1229
- onCancel,
1230
- testId
1231
- }) {
1232
- const done = React__namespace.default.useRef(false);
1233
- const commit = (value) => {
1234
- if (done.current) return;
1235
- done.current = true;
1236
- const trimmed = value.trim();
1237
- if (trimmed && trimmed !== seed) onCommit(trimmed);
1238
- else onCancel();
1239
- };
1240
- return /* @__PURE__ */ jsxRuntime.jsx(
1241
- "input",
1242
- {
1243
- autoFocus: true,
1244
- defaultValue: seed,
1245
- "data-testid": testId,
1246
- onFocus: (e) => e.currentTarget.select(),
1247
- onClick: (e) => e.stopPropagation(),
1248
- onKeyDown: (e) => {
1249
- if (e.key === "Enter") {
1250
- e.preventDefault();
1251
- commit(e.currentTarget.value);
1252
- } else if (e.key === "Escape") {
1253
- e.preventDefault();
1254
- done.current = true;
1255
- onCancel();
1256
- }
1257
- },
1258
- onBlur: (e) => commit(e.currentTarget.value),
1259
- className: "w-full rounded border border-primary bg-background px-1 py-0.5 text-xs text-foreground outline-none"
1260
- }
1261
- );
1262
- }
1263
- function StatusMarker({ status, testId }) {
1264
- let icon = null;
1265
- let title = "";
1266
- switch (status) {
1267
- case "completed":
1268
- icon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "size-4 text-success", strokeWidth: 2.75 });
1269
- title = "Ready";
1270
- break;
1271
- case "failed":
1272
- icon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircle, { className: "size-4 text-destructive", strokeWidth: 2.75 });
1273
- title = "Failed";
1274
- break;
1275
- case "skipped":
1276
- icon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SkipForward, { className: "size-4 text-muted-foreground", strokeWidth: 2.75 });
1277
- title = "Skipped";
1278
- break;
1279
- case "empty":
1280
- icon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileX, { className: "size-4 text-warning", strokeWidth: 2.75 });
1281
- title = "Empty \u2014 no extractable content";
1282
- break;
1283
- case "low-content":
1284
- icon = /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-4 text-warning", strokeWidth: 2.75 });
1285
- title = "Low content \u2014 minimal extractable content";
1286
- break;
1287
- default:
1288
- return null;
1289
- }
1290
- return /* @__PURE__ */ jsxRuntime.jsx(
1291
- "span",
1292
- {
1293
- title,
1294
- "data-testid": testId,
1295
- className: "flex size-6 items-center justify-center rounded-full bg-background shadow-sm",
1296
- children: icon
1297
- }
1298
- );
1299
- }
1300
- function DocumentCard({
1301
- doc,
1302
- thumbnailUrl,
1303
- status,
1304
- selected = false,
1305
- onToggleSelect,
1306
- viewing = false,
1307
- onOpen,
1308
- actions,
1309
- renaming = false,
1310
- onCommitRename,
1311
- onCancelRename,
1312
- tooltipContent,
1313
- marker,
1314
- testId = "document-card",
1315
- className
1316
- }) {
1317
- const normalised = (status ?? "").toLowerCase();
1318
- const isProcessing = ACTIVE_STATUSES.has(normalised);
1319
- const showStatusMarker = !isProcessing && TERMINAL_STATUSES.has(normalised);
1320
- const [thumbFailed, setThumbFailed] = React__namespace.default.useState(false);
1321
- const [thumbLandscape, setThumbLandscape] = React__namespace.default.useState(false);
1322
- const showThumbnail = !!thumbnailUrl && !thumbFailed && !isProcessing;
1323
- return /* @__PURE__ */ jsxRuntime.jsxs(
1324
- "div",
1325
- {
1326
- "data-testid": testId,
1327
- className: chunkS6A6FSG7_cjs.cn(
1328
- // Square corners and a portrait-page aspect (height = 1.3 × width), so a
1329
- // cover-page thumbnail reads edge-to-edge.
1330
- "group relative aspect-[10/13] select-none overflow-hidden border bg-muted/20 transition",
1331
- selected ? "border-primary bg-primary/10" : "border-border shadow-sm hover:border-border/80 hover:bg-muted/50",
1332
- className
1333
- ),
1334
- children: [
1335
- showThumbnail ? /* @__PURE__ */ jsxRuntime.jsx(
1336
- "img",
1337
- {
1338
- src: thumbnailUrl,
1339
- alt: "",
1340
- loading: "lazy",
1341
- draggable: false,
1342
- onError: () => setThumbFailed(true),
1343
- onLoad: (e) => setThumbLandscape(e.currentTarget.naturalWidth > e.currentTarget.naturalHeight),
1344
- className: chunkS6A6FSG7_cjs.cn(
1345
- "absolute inset-0 size-full bg-white",
1346
- thumbLandscape ? "object-contain" : "object-cover object-top"
1347
- )
1348
- }
1349
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center text-muted-foreground", children: fileIcon(doc.file_name, 44) }),
1350
- isProcessing && /* @__PURE__ */ jsxRuntime.jsxs(
1351
- "div",
1352
- {
1353
- "data-testid": `${testId}-processing`,
1354
- className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-1.5 bg-background/80 px-3",
1355
- children: [
1356
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-1.5 w-full overflow-hidden rounded-sm bg-muted", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full w-1/3 animate-pulse rounded-sm bg-primary" }) }),
1357
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-primary", children: STATUS_LABEL[normalised] ?? normalised })
1358
- ]
1359
- }
1360
- ),
1361
- onToggleSelect && /* @__PURE__ */ jsxRuntime.jsx(
1362
- Checkbox,
1363
- {
1364
- checked: selected,
1365
- onCheckedChange: () => onToggleSelect(),
1366
- onClick: (e) => e.stopPropagation(),
1367
- "aria-label": selected ? "Deselect" : "Select",
1368
- "data-testid": `${testId}-select`,
1369
- className: chunkS6A6FSG7_cjs.cn(
1370
- "absolute left-1.5 top-1.5 z-20 size-6 rounded-none border-muted-foreground/60 bg-background shadow-sm transition",
1371
- selected ? "opacity-100" : "opacity-40 group-hover:opacity-100"
1372
- )
1373
- }
1374
- ),
1375
- actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-1.5 top-1.5 z-20", children: actions }),
1376
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-x-1.5 bottom-1.5 z-20 flex flex-col gap-1", children: [
1377
- (marker || showStatusMarker) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
1378
- marker,
1379
- showStatusMarker && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex", children: /* @__PURE__ */ jsxRuntime.jsx(StatusMarker, { status: normalised, testId: `${testId}-status` }) })
1380
- ] }),
1381
- renaming ? /* @__PURE__ */ jsxRuntime.jsx(
1382
- RenameField,
1383
- {
1384
- seed: doc.doc_metadata?.title || doc.file_name || "",
1385
- onCommit: (name) => onCommitRename?.(name),
1386
- onCancel: () => onCancelRename?.(),
1387
- testId: `${testId}-rename-input`
1388
- }
1389
- ) : /* @__PURE__ */ jsxRuntime.jsx(
1390
- DocumentEntity,
1391
- {
1392
- doc,
1393
- fullWidth: true,
1394
- viewing,
1395
- tooltipContent,
1396
- labelClassName: "font-semibold",
1397
- className: "w-full min-w-0 max-w-full bg-background/90 backdrop-blur-sm",
1398
- onClick: (e) => {
1399
- e.stopPropagation();
1400
- onOpen?.();
1401
- }
1402
- }
1403
- )
1404
- ] })
1405
- ]
1406
- }
1407
- );
1408
- }
1409
1184
 
1410
1185
  // src/entities/colors.ts
1411
1186
  var OPACITY_LIGHT = 0.15;
@@ -3070,17 +2845,6 @@ var RAG_LABELS = { red: "At risk", amber: "Attention", green: "On track" };
3070
2845
  function configureRagLabels(labels) {
3071
2846
  RAG_LABELS = { ...RAG_LABELS, ...labels };
3072
2847
  }
3073
- function RagDot({
3074
- rag,
3075
- withLabel,
3076
- className
3077
- }) {
3078
- const color = rag === "red" ? "bg-destructive" : rag === "amber" ? "bg-warning" : "bg-success";
3079
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: chunkS6A6FSG7_cjs.cn("inline-flex items-center gap-1.5", className), "data-testid": `rag-${rag}`, children: [
3080
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkS6A6FSG7_cjs.cn("size-2 rounded-full", color) }),
3081
- withLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: RAG_LABELS[rag] })
3082
- ] });
3083
- }
3084
2848
  var ShieldIcon = ({
3085
2849
  char,
3086
2850
  size = 24,
@@ -3173,7 +2937,7 @@ var DOWNLOAD_ONLY_EXTENSIONS = /* @__PURE__ */ new Set([
3173
2937
  ".ai",
3174
2938
  ".sketch"
3175
2939
  ]);
3176
- var IMAGE_EXTENSIONS3 = /* @__PURE__ */ new Set([
2940
+ var IMAGE_EXTENSIONS2 = /* @__PURE__ */ new Set([
3177
2941
  ".jpg",
3178
2942
  ".jpeg",
3179
2943
  ".png",
@@ -3183,16 +2947,16 @@ var IMAGE_EXTENSIONS3 = /* @__PURE__ */ new Set([
3183
2947
  ".tif",
3184
2948
  ".webp"
3185
2949
  ]);
3186
- var VIDEO_EXTENSIONS3 = /* @__PURE__ */ new Set([".mp4", ".mpeg", ".mpg", ".webm", ".mov", ".avi", ".mkv"]);
3187
- var AUDIO_EXTENSIONS3 = /* @__PURE__ */ new Set([".mp3", ".wav", ".m4a", ".aac", ".ogg", ".flac"]);
2950
+ var VIDEO_EXTENSIONS2 = /* @__PURE__ */ new Set([".mp4", ".mpeg", ".mpg", ".webm", ".mov", ".avi", ".mkv"]);
2951
+ var AUDIO_EXTENSIONS2 = /* @__PURE__ */ new Set([".mp3", ".wav", ".m4a", ".aac", ".ogg", ".flac"]);
3188
2952
  function isImageFile(fileName) {
3189
- return IMAGE_EXTENSIONS3.has(getDottedExtension(fileName));
2953
+ return IMAGE_EXTENSIONS2.has(getDottedExtension(fileName));
3190
2954
  }
3191
2955
  function isVideoFile(fileName) {
3192
- return VIDEO_EXTENSIONS3.has(getDottedExtension(fileName));
2956
+ return VIDEO_EXTENSIONS2.has(getDottedExtension(fileName));
3193
2957
  }
3194
2958
  function isAudioFile(fileName) {
3195
- return AUDIO_EXTENSIONS3.has(getDottedExtension(fileName));
2959
+ return AUDIO_EXTENSIONS2.has(getDottedExtension(fileName));
3196
2960
  }
3197
2961
  function isMediaFile(fileName) {
3198
2962
  return isImageFile(fileName) || isVideoFile(fileName) || isAudioFile(fileName);
@@ -3672,7 +3436,7 @@ function markdownToPlainTextBlocks(input) {
3672
3436
 
3673
3437
  // src/ui/DictateContext.tsx
3674
3438
  function useDictateContext() {
3675
- return chunkRCKA7BEF_cjs.useHostConfigRecord().dictate ?? null;
3439
+ return chunk5NOZDH3F_cjs.useHostConfigRecord().dictate ?? null;
3676
3440
  }
3677
3441
  var Input = React__namespace.forwardRef(
3678
3442
  ({ className, type, dictate, onFocus, onBlur, ...props }, forwardedRef) => {
@@ -4047,6 +3811,19 @@ var RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref)
4047
3811
  );
4048
3812
  });
4049
3813
  RadioGroupItem.displayName = RadioGroupPrimitive__namespace.Item.displayName;
3814
+ var Checkbox = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
3815
+ CheckboxPrimitive__namespace.Root,
3816
+ {
3817
+ ref,
3818
+ className: chunkS6A6FSG7_cjs.cn(
3819
+ "peer relative h-4 w-4 shrink-0 rounded-sm border border-muted-foreground/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground after:absolute after:left-1/2 after:top-1/2 after:hidden after:size-11 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[''] pointer-coarse:after:block",
3820
+ className
3821
+ ),
3822
+ ...props,
3823
+ children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className: chunkS6A6FSG7_cjs.cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) })
3824
+ }
3825
+ ));
3826
+ Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
4050
3827
  var Switch = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
4051
3828
  SwitchPrimitives__namespace.Root,
4052
3829
  {
@@ -4660,7 +4437,7 @@ function AiMarkdown({
4660
4437
  allowHtml
4661
4438
  }) {
4662
4439
  return /* @__PURE__ */ jsxRuntime.jsx(
4663
- chunkOC7F5SNA_cjs.MarkdownRenderer,
4440
+ chunkMXP4O4DI_cjs.MarkdownRenderer,
4664
4441
  {
4665
4442
  className: className ?? "text-sm",
4666
4443
  components: AI_COMPONENTS,
@@ -4745,12 +4522,12 @@ function PassageCard({
4745
4522
  );
4746
4523
  }
4747
4524
  var TextIcon = lucideReact.FileText;
4748
- var IMAGE_EXTENSIONS4 = /* @__PURE__ */ new Set(["jpg", "jpeg", "png", "gif", "bmp", "tiff", "tif", "webp", "svg"]);
4749
- var VIDEO_EXTENSIONS4 = /* @__PURE__ */ new Set(["mp4", "mpeg", "mpg", "webm", "mov", "avi", "mkv"]);
4750
- var AUDIO_EXTENSIONS4 = /* @__PURE__ */ new Set(["mp3", "wav", "m4a", "aac", "ogg", "flac"]);
4525
+ var IMAGE_EXTENSIONS3 = /* @__PURE__ */ new Set(["jpg", "jpeg", "png", "gif", "bmp", "tiff", "tif", "webp", "svg"]);
4526
+ var VIDEO_EXTENSIONS3 = /* @__PURE__ */ new Set(["mp4", "mpeg", "mpg", "webm", "mov", "avi", "mkv"]);
4527
+ var AUDIO_EXTENSIONS3 = /* @__PURE__ */ new Set(["mp3", "wav", "m4a", "aac", "ogg", "flac"]);
4751
4528
  var DOCX_EXTENSIONS2 = /* @__PURE__ */ new Set(["doc", "docx", "odt", "rtf"]);
4752
4529
  var XLSX_EXTENSIONS2 = /* @__PURE__ */ new Set(["xls", "xlsx", "csv", "ods"]);
4753
- var EMAIL_EXTENSIONS3 = /* @__PURE__ */ new Set(["eml", "msg"]);
4530
+ var EMAIL_EXTENSIONS2 = /* @__PURE__ */ new Set(["eml", "msg"]);
4754
4531
  var HTML_EXTENSIONS2 = /* @__PURE__ */ new Set(["html", "htm", "mhtml"]);
4755
4532
  var PDF_EXTENSIONS = /* @__PURE__ */ new Set(["pdf"]);
4756
4533
  var TEXT_EXTENSIONS2 = /* @__PURE__ */ new Set([
@@ -4805,12 +4582,12 @@ function extensionFromMime(mime) {
4805
4582
  return MIME_TO_EXTENSION[mime.toLowerCase()] ?? "";
4806
4583
  }
4807
4584
  function iconFromExtension(ext) {
4808
- if (VIDEO_EXTENSIONS4.has(ext)) return VidIcon;
4809
- if (AUDIO_EXTENSIONS4.has(ext)) return AudIcon;
4810
- if (IMAGE_EXTENSIONS4.has(ext)) return ImgIcon;
4585
+ if (VIDEO_EXTENSIONS3.has(ext)) return VidIcon;
4586
+ if (AUDIO_EXTENSIONS3.has(ext)) return AudIcon;
4587
+ if (IMAGE_EXTENSIONS3.has(ext)) return ImgIcon;
4811
4588
  if (DOCX_EXTENSIONS2.has(ext)) return DocIcon;
4812
4589
  if (XLSX_EXTENSIONS2.has(ext)) return XlsIcon;
4813
- if (EMAIL_EXTENSIONS3.has(ext)) return EmlIcon;
4590
+ if (EMAIL_EXTENSIONS2.has(ext)) return EmlIcon;
4814
4591
  if (HTML_EXTENSIONS2.has(ext)) return HtmlIcon;
4815
4592
  if (PDF_EXTENSIONS.has(ext)) return PdfIcon;
4816
4593
  if (TEXT_EXTENSIONS2.has(ext)) return TextIcon;
@@ -5259,7 +5036,6 @@ exports.CommandShortcut = CommandShortcut;
5259
5036
  exports.DEFAULT_METADATA_TAGS = DEFAULT_METADATA_TAGS;
5260
5037
  exports.DebouncedInput = DebouncedInput;
5261
5038
  exports.DocIcon = DocIcon;
5262
- exports.DocumentCard = DocumentCard;
5263
5039
  exports.DocumentEntity = DocumentEntity;
5264
5040
  exports.ENTITY_MAPPINGS = ENTITY_MAPPINGS;
5265
5041
  exports.EmlIcon = EmlIcon;
@@ -5297,8 +5073,6 @@ exports.ProjectEntity = ProjectEntity;
5297
5073
  exports.ProviderIcon = ProviderIcon;
5298
5074
  exports.RadioGroup = RadioGroup;
5299
5075
  exports.RadioGroupItem = RadioGroupItem;
5300
- exports.RagDot = RagDot;
5301
- exports.RelevanceDot = RelevanceDot;
5302
5076
  exports.Select = Select;
5303
5077
  exports.SelectContent = SelectContent;
5304
5078
  exports.SelectGroup = SelectGroup;
@@ -5400,5 +5174,5 @@ exports.toggleVariants = toggleVariants;
5400
5174
  exports.useAudioRecorder = useAudioRecorder;
5401
5175
  exports.useDictateContext = useDictateContext;
5402
5176
  exports.usesOriginalBytesForViewer = usesOriginalBytesForViewer;
5403
- //# sourceMappingURL=chunk-PXWKJI4K.cjs.map
5404
- //# sourceMappingURL=chunk-PXWKJI4K.cjs.map
5177
+ //# sourceMappingURL=chunk-LBAG7KL7.cjs.map
5178
+ //# sourceMappingURL=chunk-LBAG7KL7.cjs.map