@arbidocs/blocks 0.4.21 → 0.4.22
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/agents/index.cjs +211 -211
- package/dist/agents/index.js +5 -5
- package/dist/chat/index.cjs +116 -115
- package/dist/chat/index.js +4 -3
- package/dist/chunk-5TRALRWN.js +42 -0
- package/dist/chunk-5TRALRWN.js.map +1 -0
- package/dist/chunk-7UTB4PHM.cjs +300 -0
- package/dist/chunk-7UTB4PHM.cjs.map +1 -0
- package/dist/chunk-AA3PT6KR.js +286 -0
- package/dist/chunk-AA3PT6KR.js.map +1 -0
- package/dist/{chunk-5LUI4G5R.js → chunk-BV7FEMSI.js} +3 -3
- package/dist/{chunk-5LUI4G5R.js.map → chunk-BV7FEMSI.js.map} +1 -1
- package/dist/{chunk-B6N5UXQX.js → chunk-CQ6CYPV4.js} +7 -281
- package/dist/chunk-CQ6CYPV4.js.map +1 -0
- package/dist/chunk-EUOGPUMJ.cjs +59 -0
- package/dist/chunk-EUOGPUMJ.cjs.map +1 -0
- package/dist/{chunk-BTDL4Q27.cjs → chunk-JCVZKCXC.cjs} +22 -69
- package/dist/chunk-JCVZKCXC.cjs.map +1 -0
- package/dist/{chunk-C7SMJ6GJ.js → chunk-MLJDOH3B.js} +5 -5
- package/dist/{chunk-C7SMJ6GJ.js.map → chunk-MLJDOH3B.js.map} +1 -1
- package/dist/chunk-NNH7N62N.cjs +876 -0
- package/dist/chunk-NNH7N62N.cjs.map +1 -0
- package/dist/{chunk-MLSRLLU7.cjs → chunk-OEQXYWUO.cjs} +5 -5
- package/dist/{chunk-MLSRLLU7.cjs.map → chunk-OEQXYWUO.cjs.map} +1 -1
- package/dist/{chunk-54WQYICJ.cjs → chunk-TL2DHSC5.cjs} +10 -296
- package/dist/chunk-TL2DHSC5.cjs.map +1 -0
- package/dist/chunk-UOLMFC5K.js +846 -0
- package/dist/chunk-UOLMFC5K.js.map +1 -0
- package/dist/{chunk-TO4FAMQP.cjs → chunk-XKSFJYOD.cjs} +3 -3
- package/dist/{chunk-TO4FAMQP.cjs.map → chunk-XKSFJYOD.cjs.map} +1 -1
- package/dist/{chunk-2T2ZMOA6.js → chunk-ZEIOREJY.js} +5 -36
- package/dist/chunk-ZEIOREJY.js.map +1 -0
- package/dist/connect/docx.cjs +86 -0
- package/dist/connect/docx.cjs.map +1 -0
- package/dist/connect/docx.d.ts +1 -0
- package/dist/connect/docx.js +84 -0
- package/dist/connect/docx.js.map +1 -0
- package/dist/connect/index.cjs +113 -46
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -0
- package/dist/connect/index.js +88 -22
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedNativeDocxEditor.d.ts +5 -0
- package/dist/connection/useConnectedDocxNotifications.d.ts +9 -0
- package/dist/docx/DocxMentions.d.ts +17 -0
- package/dist/docx/NativeDocxComparison.d.ts +10 -0
- package/dist/docx/NativeDocxEditor.d.ts +50 -0
- package/dist/docx/export.d.ts +2 -0
- package/dist/docx/fonts.d.ts +2 -0
- package/dist/docx/index.cjs +116 -0
- package/dist/docx/index.cjs.map +1 -0
- package/dist/docx/index.d.ts +10 -0
- package/dist/docx/index.js +63 -0
- package/dist/docx/index.js.map +1 -0
- package/dist/docx/mentions.d.ts +8 -0
- package/dist/facts/index.cjs +2 -2
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +2 -2
- package/dist/files/index.js +2 -2
- package/dist/home/index.cjs +1 -1
- package/dist/home/index.js +1 -1
- package/dist/index.cjs +924 -923
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/settings/index.cjs +35 -35
- package/dist/settings/index.js +4 -4
- package/dist/shell/index.cjs +26 -26
- package/dist/shell/index.js +4 -4
- package/dist/studio/index.cjs +5 -4
- package/dist/studio/index.cjs.map +1 -1
- package/dist/studio/index.js +3 -2
- package/dist/studio/index.js.map +1 -1
- package/dist/workspaces/index.cjs +1 -1
- package/dist/workspaces/index.js +1 -1
- package/package.json +48 -7
- package/src/docx/README.md +68 -0
- package/src/docx/styles.css +36 -0
- package/dist/chunk-2T2ZMOA6.js.map +0 -1
- package/dist/chunk-54WQYICJ.cjs.map +0 -1
- package/dist/chunk-B6N5UXQX.js.map +0 -1
- package/dist/chunk-BTDL4Q27.cjs.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var chunkTO4FAMQP_cjs = require('./chunk-TO4FAMQP.cjs');
|
|
5
4
|
var chunkJ22DXUJY_cjs = require('./chunk-J22DXUJY.cjs');
|
|
5
|
+
var chunkXKSFJYOD_cjs = require('./chunk-XKSFJYOD.cjs');
|
|
6
6
|
var chunkVGOFFCMT_cjs = require('./chunk-VGOFFCMT.cjs');
|
|
7
|
+
var chunk7UTB4PHM_cjs = require('./chunk-7UTB4PHM.cjs');
|
|
7
8
|
var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var lucideReact = require('lucide-react');
|
|
@@ -15,61 +16,6 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
15
16
|
|
|
16
17
|
var DOMPurify__default = /*#__PURE__*/_interopDefault(DOMPurify);
|
|
17
18
|
|
|
18
|
-
function listOptionId(listboxId, index) {
|
|
19
|
-
return `${listboxId}-option-${index}`;
|
|
20
|
-
}
|
|
21
|
-
function useListKeyNav({
|
|
22
|
-
open,
|
|
23
|
-
items,
|
|
24
|
-
onPick,
|
|
25
|
-
onDismiss,
|
|
26
|
-
resetKey
|
|
27
|
-
}) {
|
|
28
|
-
const [selectedIndex, setSelectedIndex] = react.useState(0);
|
|
29
|
-
const listboxId = react.useId();
|
|
30
|
-
const isExpanded = open && items.length > 0;
|
|
31
|
-
react.useEffect(() => {
|
|
32
|
-
setSelectedIndex(0);
|
|
33
|
-
}, [resetKey, items.length]);
|
|
34
|
-
const handleKeyDown = react.useCallback(
|
|
35
|
-
(event) => {
|
|
36
|
-
if (!open || items.length === 0) return false;
|
|
37
|
-
switch (event.key) {
|
|
38
|
-
case "ArrowDown":
|
|
39
|
-
event.preventDefault();
|
|
40
|
-
setSelectedIndex((i) => (i + 1) % items.length);
|
|
41
|
-
return true;
|
|
42
|
-
case "ArrowUp":
|
|
43
|
-
event.preventDefault();
|
|
44
|
-
setSelectedIndex((i) => (i - 1 + items.length) % items.length);
|
|
45
|
-
return true;
|
|
46
|
-
case "Enter":
|
|
47
|
-
case "Tab": {
|
|
48
|
-
event.preventDefault();
|
|
49
|
-
const pick = items[selectedIndex] ?? items[0];
|
|
50
|
-
if (pick !== void 0) onPick(pick);
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
case "Escape":
|
|
54
|
-
event.preventDefault();
|
|
55
|
-
onDismiss?.();
|
|
56
|
-
return true;
|
|
57
|
-
default:
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
[open, items, selectedIndex, onPick, onDismiss]
|
|
62
|
-
);
|
|
63
|
-
const comboboxProps = isExpanded ? {
|
|
64
|
-
role: "combobox",
|
|
65
|
-
"aria-autocomplete": "list",
|
|
66
|
-
"aria-haspopup": "listbox",
|
|
67
|
-
"aria-expanded": true,
|
|
68
|
-
"aria-controls": listboxId,
|
|
69
|
-
"aria-activedescendant": listOptionId(listboxId, selectedIndex)
|
|
70
|
-
} : {};
|
|
71
|
-
return { listboxId, comboboxProps, selectedIndex, setSelectedIndex, handleKeyDown };
|
|
72
|
-
}
|
|
73
19
|
var DEFAULT_SLASH_MENU_LABELS = {
|
|
74
20
|
hint: "Enter or Tab to insert, Esc to dismiss",
|
|
75
21
|
commands: "Commands",
|
|
@@ -168,7 +114,7 @@ var SlashMenu = react.memo(function SlashMenu2({
|
|
|
168
114
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
169
115
|
"div",
|
|
170
116
|
{
|
|
171
|
-
id: listOptionId(listboxId, flatIndex),
|
|
117
|
+
id: chunk7UTB4PHM_cjs.listOptionId(listboxId, flatIndex),
|
|
172
118
|
role: "option",
|
|
173
119
|
"aria-selected": isActive,
|
|
174
120
|
"data-slash-index": flatIndex,
|
|
@@ -227,226 +173,6 @@ var SlashMenu = react.memo(function SlashMenu2({
|
|
|
227
173
|
}
|
|
228
174
|
);
|
|
229
175
|
});
|
|
230
|
-
var DEFAULT_MENTION_LABELS = {
|
|
231
|
-
hint: "Enter or Tab to mention, Esc to dismiss",
|
|
232
|
-
list: "People and assistant to mention",
|
|
233
|
-
resultCount: (count) => `${count} ${count === 1 ? "match" : "matches"}`,
|
|
234
|
-
assistantBadge: "AI",
|
|
235
|
-
chipTitle: (label, kind) => kind === "assistant" ? `${label} (AI assistant)` : label
|
|
236
|
-
};
|
|
237
|
-
var MentionMenu = react.memo(function MentionMenu2({
|
|
238
|
-
open,
|
|
239
|
-
placement = "above",
|
|
240
|
-
items,
|
|
241
|
-
selectedIndex,
|
|
242
|
-
setSelectedIndex,
|
|
243
|
-
listboxId: listboxIdProp,
|
|
244
|
-
onSelect,
|
|
245
|
-
className,
|
|
246
|
-
labels,
|
|
247
|
-
testId,
|
|
248
|
-
itemTestIdPrefix
|
|
249
|
-
}) {
|
|
250
|
-
const l = { ...DEFAULT_MENTION_LABELS, ...labels };
|
|
251
|
-
const ownId = react.useId();
|
|
252
|
-
const listboxId = listboxIdProp ?? ownId;
|
|
253
|
-
const scrollRef = react.useRef(null);
|
|
254
|
-
react.useEffect(() => {
|
|
255
|
-
if (!open) return;
|
|
256
|
-
const el = scrollRef.current?.querySelector(
|
|
257
|
-
`[data-mention-index="${selectedIndex}"]`
|
|
258
|
-
);
|
|
259
|
-
el?.scrollIntoView?.({ block: "nearest" });
|
|
260
|
-
}, [open, selectedIndex]);
|
|
261
|
-
if (!open || items.length === 0) return null;
|
|
262
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
263
|
-
"div",
|
|
264
|
-
{
|
|
265
|
-
"data-slot": "mention-menu",
|
|
266
|
-
className: ui.cn(
|
|
267
|
-
"absolute left-0 right-0 z-30 max-h-64 overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-lg",
|
|
268
|
-
placement === "above" ? "bottom-full mb-2" : "top-full mt-2",
|
|
269
|
-
className
|
|
270
|
-
),
|
|
271
|
-
onMouseDown: (e) => e.preventDefault(),
|
|
272
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "mention-menu" }),
|
|
273
|
-
children: [
|
|
274
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border/50 px-3 py-1.5 text-xs text-muted-foreground", children: l.hint }),
|
|
275
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", role: "status", "aria-live": "polite", "aria-atomic": "true", children: l.resultCount(items.length) }),
|
|
276
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
277
|
-
"div",
|
|
278
|
-
{
|
|
279
|
-
ref: scrollRef,
|
|
280
|
-
id: listboxId,
|
|
281
|
-
role: "listbox",
|
|
282
|
-
"aria-label": l.list,
|
|
283
|
-
className: "scrollbar-subtle max-h-56 overflow-y-auto py-1",
|
|
284
|
-
children: items.map((item, index) => {
|
|
285
|
-
const isActive = index === selectedIndex;
|
|
286
|
-
const Icon = item.kind === "assistant" ? lucideReact.Bot : lucideReact.AtSign;
|
|
287
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
288
|
-
"div",
|
|
289
|
-
{
|
|
290
|
-
id: listOptionId(listboxId, index),
|
|
291
|
-
role: "option",
|
|
292
|
-
"aria-selected": isActive,
|
|
293
|
-
"data-mention-index": index,
|
|
294
|
-
className: ui.cn(
|
|
295
|
-
"flex cursor-pointer items-center gap-2 px-3 py-1.5 text-sm pointer-coarse:min-h-11",
|
|
296
|
-
isActive ? "bg-accent text-accent-foreground" : "hover:bg-accent/50"
|
|
297
|
-
),
|
|
298
|
-
onMouseEnter: () => setSelectedIndex(index),
|
|
299
|
-
onClick: () => onSelect(item),
|
|
300
|
-
"data-testid": chunkMHVNT4J3_cjs.prefixedTestId(itemTestIdPrefix, item.id, {
|
|
301
|
-
testId: `mention-item-${item.id}`
|
|
302
|
-
}),
|
|
303
|
-
children: [
|
|
304
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground", "aria-hidden": "true" }),
|
|
305
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 font-medium text-foreground", children: item.label }),
|
|
306
|
-
item.kind === "assistant" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 rounded bg-muted px-1 text-[10px] font-medium uppercase text-muted-foreground", children: l.assistantBadge }),
|
|
307
|
-
item.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-muted-foreground", children: item.description })
|
|
308
|
-
]
|
|
309
|
-
},
|
|
310
|
-
item.id
|
|
311
|
-
);
|
|
312
|
-
})
|
|
313
|
-
}
|
|
314
|
-
)
|
|
315
|
-
]
|
|
316
|
-
}
|
|
317
|
-
);
|
|
318
|
-
});
|
|
319
|
-
function MentionChip({
|
|
320
|
-
label,
|
|
321
|
-
kind,
|
|
322
|
-
id,
|
|
323
|
-
isSelf,
|
|
324
|
-
labels,
|
|
325
|
-
className,
|
|
326
|
-
testId
|
|
327
|
-
}) {
|
|
328
|
-
const l = { ...DEFAULT_MENTION_LABELS, ...labels };
|
|
329
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
330
|
-
"span",
|
|
331
|
-
{
|
|
332
|
-
"data-slot": "mention-chip",
|
|
333
|
-
"data-mention-kind": kind,
|
|
334
|
-
"data-mention-id": id,
|
|
335
|
-
title: l.chipTitle(label, kind),
|
|
336
|
-
className: ui.cn(
|
|
337
|
-
"inline-flex items-baseline rounded px-1 font-medium",
|
|
338
|
-
isSelf ? "bg-primary/15 text-primary" : "bg-accent text-accent-foreground",
|
|
339
|
-
className
|
|
340
|
-
),
|
|
341
|
-
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: `mention-chip-${id ?? kind}` }),
|
|
342
|
-
children: [
|
|
343
|
-
"@",
|
|
344
|
-
label
|
|
345
|
-
]
|
|
346
|
-
}
|
|
347
|
-
);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
// src/chat/mentions.ts
|
|
351
|
-
var MAX_QUERY_LENGTH = 40;
|
|
352
|
-
function findMentionQuery(text, caret) {
|
|
353
|
-
const before = text.slice(0, caret);
|
|
354
|
-
const at = before.lastIndexOf("@");
|
|
355
|
-
if (at < 0) return null;
|
|
356
|
-
if (at > 0 && !/\s/.test(before[at - 1])) return null;
|
|
357
|
-
const query = before.slice(at + 1);
|
|
358
|
-
if (query.length > MAX_QUERY_LENGTH || query.includes("\n") || query.startsWith(" ")) return null;
|
|
359
|
-
return { start: at, query };
|
|
360
|
-
}
|
|
361
|
-
function filterMentionCandidates(candidates, query) {
|
|
362
|
-
const q = query.trim().toLowerCase();
|
|
363
|
-
if (!q) return candidates.slice();
|
|
364
|
-
const scored = [];
|
|
365
|
-
for (const c of candidates) {
|
|
366
|
-
const label = c.label.toLowerCase();
|
|
367
|
-
if (label.startsWith(q)) scored.push({ c, score: 0 });
|
|
368
|
-
else if (label.split(/\s+/).some((word) => word.startsWith(q))) scored.push({ c, score: 1 });
|
|
369
|
-
else if (c.description?.toLowerCase().startsWith(q)) scored.push({ c, score: 2 });
|
|
370
|
-
}
|
|
371
|
-
return scored.sort((a, b) => a.score - b.score).map((s) => s.c);
|
|
372
|
-
}
|
|
373
|
-
function insertMention(text, start, caret, label) {
|
|
374
|
-
const inserted = `@${label} `;
|
|
375
|
-
return {
|
|
376
|
-
text: text.slice(0, start) + inserted + text.slice(caret),
|
|
377
|
-
caret: start + inserted.length
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
function tokenRanges(text, label) {
|
|
381
|
-
const needle = `@${label}`;
|
|
382
|
-
const ranges = [];
|
|
383
|
-
let from = 0;
|
|
384
|
-
for (; ; ) {
|
|
385
|
-
const i = text.indexOf(needle, from);
|
|
386
|
-
if (i < 0) break;
|
|
387
|
-
const end = i + needle.length;
|
|
388
|
-
const startsToken = i === 0 || /\s|\(|\[/.test(text[i - 1]);
|
|
389
|
-
const endsToken = end === text.length || !/[\p{L}\p{N}_]/u.test(text[end]);
|
|
390
|
-
if (startsToken && endsToken) ranges.push([i, end]);
|
|
391
|
-
from = end;
|
|
392
|
-
}
|
|
393
|
-
return ranges;
|
|
394
|
-
}
|
|
395
|
-
function extractMentions(text, candidates) {
|
|
396
|
-
const taken = [];
|
|
397
|
-
const found = [];
|
|
398
|
-
const byLength = [...candidates].sort((a, b) => b.label.length - a.label.length);
|
|
399
|
-
for (const c of byLength) {
|
|
400
|
-
if (!c.label) continue;
|
|
401
|
-
for (const [from, to] of tokenRanges(text, c.label)) {
|
|
402
|
-
if (taken.some(([a, b]) => from < b && to > a)) continue;
|
|
403
|
-
taken.push([from, to]);
|
|
404
|
-
if (!found.some((f) => f.c.id === c.id)) found.push({ c, at: from });
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
return found.sort((a, b) => a.at - b.at).map((f) => f.c);
|
|
408
|
-
}
|
|
409
|
-
function toMessageMentions(mentioned) {
|
|
410
|
-
return mentioned.map(
|
|
411
|
-
(c) => c.kind === "assistant" ? { type: "assistant" } : { type: "user", user_ext_id: c.id }
|
|
412
|
-
);
|
|
413
|
-
}
|
|
414
|
-
var MENTION_HREF_PREFIX = "#mention-";
|
|
415
|
-
function escapeLinkText(label) {
|
|
416
|
-
return label.replace(/[[\]\\]/g, (ch) => `\\${ch}`);
|
|
417
|
-
}
|
|
418
|
-
function linkMentions(content, mentions, assistantLabels = []) {
|
|
419
|
-
if (!mentions || mentions.length === 0 || !content) return content;
|
|
420
|
-
const targets = [];
|
|
421
|
-
for (const m of mentions) {
|
|
422
|
-
const id = m.type === "assistant" ? "assistant" : m.user_ext_id;
|
|
423
|
-
if (!id) continue;
|
|
424
|
-
const labels = m.type === "assistant" ? [m.label ?? "", ...assistantLabels] : [m.label ?? ""];
|
|
425
|
-
for (const label of labels) if (label) targets.push({ label, id });
|
|
426
|
-
}
|
|
427
|
-
targets.sort((a, b) => b.label.length - a.label.length);
|
|
428
|
-
const replacements = [];
|
|
429
|
-
for (const { label, id } of targets) {
|
|
430
|
-
for (const [from, to] of tokenRanges(content, label)) {
|
|
431
|
-
if (replacements.some((r) => from < r.to && to > r.from)) continue;
|
|
432
|
-
replacements.push({
|
|
433
|
-
from,
|
|
434
|
-
to,
|
|
435
|
-
text: `[@${escapeLinkText(label)}](${MENTION_HREF_PREFIX}${id})`
|
|
436
|
-
});
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
replacements.sort((a, b) => b.from - a.from);
|
|
440
|
-
let out = content;
|
|
441
|
-
for (const r of replacements) out = out.slice(0, r.from) + r.text + out.slice(r.to);
|
|
442
|
-
return out;
|
|
443
|
-
}
|
|
444
|
-
function mentionFromHref(href) {
|
|
445
|
-
if (!href?.startsWith(MENTION_HREF_PREFIX)) return null;
|
|
446
|
-
const id = href.slice(MENTION_HREF_PREFIX.length);
|
|
447
|
-
if (!id) return null;
|
|
448
|
-
return { kind: id === "assistant" ? "assistant" : "user", id };
|
|
449
|
-
}
|
|
450
176
|
function useMentionAutocomplete({
|
|
451
177
|
value,
|
|
452
178
|
onValueChange,
|
|
@@ -459,11 +185,11 @@ function useMentionAutocomplete({
|
|
|
459
185
|
if (dismissedAt !== null && value[dismissedAt] !== "@") setDismissedAt(null);
|
|
460
186
|
}, [value, dismissedAt]);
|
|
461
187
|
const match = react.useMemo(
|
|
462
|
-
() => caret === null ? null : findMentionQuery(value, Math.min(caret, value.length)),
|
|
188
|
+
() => caret === null ? null : chunk7UTB4PHM_cjs.findMentionQuery(value, Math.min(caret, value.length)),
|
|
463
189
|
[value, caret]
|
|
464
190
|
);
|
|
465
191
|
const items = react.useMemo(
|
|
466
|
-
() => match ? filterMentionCandidates(candidates, match.query) : [],
|
|
192
|
+
() => match ? chunk7UTB4PHM_cjs.filterMentionCandidates(candidates, match.query) : [],
|
|
467
193
|
[match, candidates]
|
|
468
194
|
);
|
|
469
195
|
const isOpen = !!match && items.length > 0 && dismissedAt !== match.start;
|
|
@@ -474,7 +200,7 @@ function useMentionAutocomplete({
|
|
|
474
200
|
const pick = react.useCallback(
|
|
475
201
|
(candidate) => {
|
|
476
202
|
if (!match || caret === null) return;
|
|
477
|
-
const next = insertMention(value, match.start, Math.min(caret, value.length), candidate.label);
|
|
203
|
+
const next = chunk7UTB4PHM_cjs.insertMention(value, match.start, Math.min(caret, value.length), candidate.label);
|
|
478
204
|
onValueChange(next.text);
|
|
479
205
|
setCaret(next.caret);
|
|
480
206
|
setDismissedAt(match.start);
|
|
@@ -487,7 +213,7 @@ function useMentionAutocomplete({
|
|
|
487
213
|
},
|
|
488
214
|
[match, caret, value, onValueChange, textareaRef]
|
|
489
215
|
);
|
|
490
|
-
const nav = useListKeyNav({
|
|
216
|
+
const nav = chunk7UTB4PHM_cjs.useListKeyNav({
|
|
491
217
|
open: isOpen,
|
|
492
218
|
items,
|
|
493
219
|
onPick: pick,
|
|
@@ -1962,7 +1688,7 @@ function LabelPinRow({
|
|
|
1962
1688
|
function AssistantToaster(props) {
|
|
1963
1689
|
const dock = chunkJ22DXUJY_cjs.useAssistantDock();
|
|
1964
1690
|
const { isDockAvailable } = chunkJ22DXUJY_cjs.useChatSurface();
|
|
1965
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1691
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkXKSFJYOD_cjs.Toaster, { ...props, dockOpen: dock.isOpen && isDockAvailable });
|
|
1966
1692
|
}
|
|
1967
1693
|
|
|
1968
1694
|
exports.AssistantModeToggle = AssistantModeToggle;
|
|
@@ -1996,16 +1722,12 @@ exports.DEFAULT_CONVERSATION_LAYOUT_LABELS = DEFAULT_CONVERSATION_LAYOUT_LABELS;
|
|
|
1996
1722
|
exports.DEFAULT_CONVERSATION_PARTS_LABELS = DEFAULT_CONVERSATION_PARTS_LABELS;
|
|
1997
1723
|
exports.DEFAULT_CONVERSATION_SEARCH_LABELS = DEFAULT_CONVERSATION_SEARCH_LABELS;
|
|
1998
1724
|
exports.DEFAULT_LABEL_PIN_ROW_LABELS = DEFAULT_LABEL_PIN_ROW_LABELS;
|
|
1999
|
-
exports.DEFAULT_MENTION_LABELS = DEFAULT_MENTION_LABELS;
|
|
2000
1725
|
exports.DEFAULT_MODEL_PRICING_TIP_LABELS = DEFAULT_MODEL_PRICING_TIP_LABELS;
|
|
2001
1726
|
exports.DEFAULT_PENDING_ANSWER_BAR_LABELS = DEFAULT_PENDING_ANSWER_BAR_LABELS;
|
|
2002
1727
|
exports.DEFAULT_PINNED_DOC_CHIP_LABELS = DEFAULT_PINNED_DOC_CHIP_LABELS;
|
|
2003
1728
|
exports.DEFAULT_SLASH_MENU_LABELS = DEFAULT_SLASH_MENU_LABELS;
|
|
2004
1729
|
exports.DEFAULT_THREAD_MAP_LABELS = DEFAULT_THREAD_MAP_LABELS;
|
|
2005
1730
|
exports.LabelPinRow = LabelPinRow;
|
|
2006
|
-
exports.MENTION_HREF_PREFIX = MENTION_HREF_PREFIX;
|
|
2007
|
-
exports.MentionChip = MentionChip;
|
|
2008
|
-
exports.MentionMenu = MentionMenu;
|
|
2009
1731
|
exports.ModelAutoIcon = ModelAutoIcon;
|
|
2010
1732
|
exports.ModelConfigureButton = ModelConfigureButton;
|
|
2011
1733
|
exports.ModelDot = ModelDot;
|
|
@@ -2029,17 +1751,9 @@ exports.ThreadMap = ThreadMap;
|
|
|
2029
1751
|
exports.ThreadMapDiagram = ThreadMapDiagram;
|
|
2030
1752
|
exports.ThreadMapError = ThreadMapError;
|
|
2031
1753
|
exports.ThreadMapLoading = ThreadMapLoading;
|
|
2032
|
-
exports.extractMentions = extractMentions;
|
|
2033
|
-
exports.filterMentionCandidates = filterMentionCandidates;
|
|
2034
|
-
exports.findMentionQuery = findMentionQuery;
|
|
2035
|
-
exports.insertMention = insertMention;
|
|
2036
1754
|
exports.isLongPastedText = isLongPastedText;
|
|
2037
|
-
exports.linkMentions = linkMentions;
|
|
2038
|
-
exports.mentionFromHref = mentionFromHref;
|
|
2039
|
-
exports.toMessageMentions = toMessageMentions;
|
|
2040
1755
|
exports.useDismissibleCard = useDismissibleCard;
|
|
2041
|
-
exports.useListKeyNav = useListKeyNav;
|
|
2042
1756
|
exports.useLongPaste = useLongPaste;
|
|
2043
1757
|
exports.useMentionAutocomplete = useMentionAutocomplete;
|
|
2044
|
-
//# sourceMappingURL=chunk-
|
|
2045
|
-
//# sourceMappingURL=chunk-
|
|
1758
|
+
//# sourceMappingURL=chunk-TL2DHSC5.cjs.map
|
|
1759
|
+
//# sourceMappingURL=chunk-TL2DHSC5.cjs.map
|