@assistant-ui/react 0.12.23 → 0.12.25
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/client/ExternalThread.d.ts.map +1 -1
- package/dist/client/ExternalThread.js +1 -0
- package/dist/client/ExternalThread.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +27 -12
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +31 -0
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -0
- package/dist/primitives/composer/ComposerInputPluginContext.js +32 -0
- package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -0
- package/dist/primitives/composer/mention/ComposerMentionContext.d.ts +4 -2
- package/dist/primitives/composer/mention/ComposerMentionContext.d.ts.map +1 -1
- package/dist/primitives/composer/mention/ComposerMentionContext.js +21 -13
- package/dist/primitives/composer/mention/ComposerMentionContext.js.map +1 -1
- package/dist/primitives/composer/mention/index.d.ts +4 -4
- package/dist/primitives/composer/mention/index.d.ts.map +1 -1
- package/dist/primitives/composer/mention/index.js +6 -4
- package/dist/primitives/composer/mention/index.js.map +1 -1
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts +36 -0
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts.map +1 -0
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js +36 -0
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js.map +1 -0
- package/dist/primitives/composer/slash-command/index.d.ts +2 -0
- package/dist/primitives/composer/slash-command/index.d.ts.map +1 -0
- package/dist/primitives/composer/slash-command/index.js +2 -0
- package/dist/primitives/composer/slash-command/index.js.map +1 -0
- package/dist/primitives/composer/{mention/ComposerMentionBack.d.ts → trigger/TriggerPopoverBack.d.ts} +3 -10
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js +19 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +38 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +35 -0
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts +37 -0
- package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverContext.js +70 -0
- package/dist/primitives/composer/trigger/TriggerPopoverContext.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +40 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js +35 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts +26 -0
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.js +28 -0
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +53 -0
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -0
- package/dist/primitives/composer/{mention/MentionResource.js → trigger/TriggerPopoverResource.js} +50 -25
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -0
- package/dist/primitives/composer/trigger/detectTrigger.d.ts +2 -0
- package/dist/primitives/composer/trigger/detectTrigger.d.ts.map +1 -0
- package/dist/primitives/composer/{mention/detectMentionTrigger.js → trigger/detectTrigger.js} +4 -4
- package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -0
- package/dist/primitives/composer/trigger/index.d.ts +7 -0
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/index.js +6 -0
- package/dist/primitives/composer/trigger/index.js.map +1 -0
- package/dist/primitives/composer.d.ts +10 -0
- package/dist/primitives/composer.d.ts.map +1 -1
- package/dist/primitives/composer.js +14 -0
- package/dist/primitives/composer.js.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +25 -3
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.js +2 -2
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadViewportSlack.d.ts +2 -2
- package/dist/primitives/thread/ThreadViewportSlack.d.ts.map +1 -1
- package/dist/unstable/useSlashCommandAdapter.d.ts +34 -0
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -0
- package/dist/unstable/useSlashCommandAdapter.js +50 -0
- package/dist/unstable/useSlashCommandAdapter.js.map +1 -0
- package/package.json +12 -12
- package/src/client/ExternalThread.ts +1 -0
- package/src/index.ts +14 -0
- package/src/internal.ts +3 -0
- package/src/primitives/composer/ComposerInput.tsx +25 -18
- package/src/primitives/composer/ComposerInputPluginContext.tsx +100 -0
- package/src/primitives/composer/mention/ComposerMentionContext.tsx +56 -22
- package/src/primitives/composer/mention/index.ts +11 -8
- package/src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx +76 -0
- package/src/primitives/composer/slash-command/index.ts +1 -0
- package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +40 -0
- package/src/primitives/composer/{mention/ComposerMentionCategories.tsx → trigger/TriggerPopoverCategories.tsx} +33 -28
- package/src/primitives/composer/trigger/TriggerPopoverContext.tsx +129 -0
- package/src/primitives/composer/{mention/ComposerMentionItems.tsx → trigger/TriggerPopoverItems.tsx} +34 -29
- package/src/primitives/composer/trigger/TriggerPopoverPopover.tsx +51 -0
- package/src/primitives/composer/{mention/MentionResource.ts → trigger/TriggerPopoverResource.ts} +146 -98
- package/src/primitives/composer/{mention/detectMentionTrigger.test.ts → trigger/detectTrigger.test.ts} +15 -15
- package/src/primitives/composer/{mention/detectMentionTrigger.ts → trigger/detectTrigger.ts} +3 -3
- package/src/primitives/composer/trigger/index.ts +16 -0
- package/src/primitives/composer.ts +16 -0
- package/src/primitives/message/MessageRoot.tsx +18 -4
- package/src/primitives/thread/ThreadViewportSlack.tsx +2 -2
- package/src/tests/BaseComposerRuntimeCore.test.ts +33 -1
- package/src/unstable/useSlashCommandAdapter.ts +83 -0
- package/dist/primitives/composer/mention/ComposerMentionBack.d.ts.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionBack.js +0 -28
- package/dist/primitives/composer/mention/ComposerMentionBack.js.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionCategories.d.ts +0 -46
- package/dist/primitives/composer/mention/ComposerMentionCategories.d.ts.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionCategories.js +0 -32
- package/dist/primitives/composer/mention/ComposerMentionCategories.js.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionItems.d.ts +0 -50
- package/dist/primitives/composer/mention/ComposerMentionItems.d.ts.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionItems.js +0 -30
- package/dist/primitives/composer/mention/ComposerMentionItems.js.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionPopover.d.ts +0 -26
- package/dist/primitives/composer/mention/ComposerMentionPopover.d.ts.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionPopover.js +0 -28
- package/dist/primitives/composer/mention/ComposerMentionPopover.js.map +0 -1
- package/dist/primitives/composer/mention/MentionResource.d.ts +0 -39
- package/dist/primitives/composer/mention/MentionResource.d.ts.map +0 -1
- package/dist/primitives/composer/mention/MentionResource.js.map +0 -1
- package/dist/primitives/composer/mention/detectMentionTrigger.d.ts +0 -2
- package/dist/primitives/composer/mention/detectMentionTrigger.d.ts.map +0 -1
- package/dist/primitives/composer/mention/detectMentionTrigger.js.map +0 -1
- package/src/primitives/composer/mention/ComposerMentionBack.tsx +0 -55
- package/src/primitives/composer/mention/ComposerMentionPopover.tsx +0 -52
package/dist/primitives/composer/{mention/MentionResource.js → trigger/TriggerPopoverResource.js}
RENAMED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { resource, tapState, tapMemo, tapEffectEvent, tapEffect, tapRef, } from "@assistant-ui/tap";
|
|
2
|
-
import {
|
|
2
|
+
import { detectTrigger } from "./detectTrigger.js";
|
|
3
|
+
function isTriggerItem(x) {
|
|
4
|
+
return "type" in x;
|
|
5
|
+
}
|
|
6
|
+
function matchesQuery(item, lower) {
|
|
7
|
+
return (item.id.toLowerCase().includes(lower) ||
|
|
8
|
+
item.label.toLowerCase().includes(lower) ||
|
|
9
|
+
(item.description?.toLowerCase().includes(lower) ?? false));
|
|
10
|
+
}
|
|
3
11
|
// =============================================================================
|
|
4
12
|
// Resource
|
|
5
13
|
// =============================================================================
|
|
6
|
-
export const
|
|
14
|
+
export const TriggerPopoverResource = resource(({ adapter, text, triggerChar, onSelect, aui, popoverId, }) => {
|
|
7
15
|
// -------------------------------------------------------------------------
|
|
8
16
|
// Cursor tracking + trigger detection
|
|
9
17
|
// -------------------------------------------------------------------------
|
|
10
18
|
const [cursorPosition, setCursorPosition] = tapState(text.length);
|
|
11
19
|
const trigger = tapMemo(() => {
|
|
12
20
|
const pos = Math.min(cursorPosition, text.length);
|
|
13
|
-
return
|
|
21
|
+
return detectTrigger(text, triggerChar, pos);
|
|
14
22
|
}, [cursorPosition, text, triggerChar]);
|
|
15
23
|
const open = trigger !== null && adapter !== undefined;
|
|
16
24
|
const query = trigger?.query ?? "";
|
|
@@ -38,24 +46,25 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
38
46
|
return adapter.categoryItems(effectiveActiveCategoryId);
|
|
39
47
|
}, [effectiveActiveCategoryId, adapter]);
|
|
40
48
|
const searchResults = tapMemo(() => {
|
|
41
|
-
if (!open || !adapter ||
|
|
49
|
+
if (!open || !adapter || effectiveActiveCategoryId)
|
|
50
|
+
return null;
|
|
51
|
+
// If categories exist and query is empty, show categories first (not search)
|
|
52
|
+
if (!query && categories.length > 0)
|
|
42
53
|
return null;
|
|
43
54
|
if (adapter.search)
|
|
44
55
|
return adapter.search(query);
|
|
45
|
-
|
|
56
|
+
// Fallback: search all categories manually (reuse already-computed list)
|
|
46
57
|
const all = [];
|
|
47
58
|
const lower = query.toLowerCase();
|
|
48
|
-
for (const cat of
|
|
59
|
+
for (const cat of categories) {
|
|
49
60
|
for (const item of adapter.categoryItems(cat.id)) {
|
|
50
|
-
if (item
|
|
51
|
-
item.label.toLowerCase().includes(lower) ||
|
|
52
|
-
item.description?.toLowerCase().includes(lower)) {
|
|
61
|
+
if (matchesQuery(item, lower)) {
|
|
53
62
|
all.push(item);
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
}
|
|
57
66
|
return all;
|
|
58
|
-
}, [open, adapter, query, effectiveActiveCategoryId]);
|
|
67
|
+
}, [open, adapter, query, effectiveActiveCategoryId, categories]);
|
|
59
68
|
const isSearchMode = searchResults !== null;
|
|
60
69
|
// -------------------------------------------------------------------------
|
|
61
70
|
// Filtering
|
|
@@ -74,9 +83,7 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
74
83
|
if (!query)
|
|
75
84
|
return allItems;
|
|
76
85
|
const lower = query.toLowerCase();
|
|
77
|
-
return allItems.filter((item) => item
|
|
78
|
-
item.label.toLowerCase().includes(lower) ||
|
|
79
|
-
item.description?.toLowerCase().includes(lower));
|
|
86
|
+
return allItems.filter((item) => matchesQuery(item, lower));
|
|
80
87
|
}, [allItems, query, isSearchMode, searchResults]);
|
|
81
88
|
// -------------------------------------------------------------------------
|
|
82
89
|
// Keyboard navigation
|
|
@@ -101,7 +108,7 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
101
108
|
setHighlightedIndex(0);
|
|
102
109
|
}, [navigableList]);
|
|
103
110
|
// -------------------------------------------------------------------------
|
|
104
|
-
//
|
|
111
|
+
// Select-item override (for Lexical integration)
|
|
105
112
|
// -------------------------------------------------------------------------
|
|
106
113
|
const selectItemOverrideRef = tapRef(null);
|
|
107
114
|
const registerSelectItemOverride = tapEffectEvent((fn) => {
|
|
@@ -126,19 +133,31 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
126
133
|
const selectItem = tapEffectEvent((item) => {
|
|
127
134
|
if (!trigger)
|
|
128
135
|
return;
|
|
129
|
-
// Try the
|
|
136
|
+
// Try the override first (e.g. Lexical MentionPlugin)
|
|
130
137
|
if (selectItemOverrideRef.current?.(item)) {
|
|
131
138
|
setActiveCategoryId(null);
|
|
132
139
|
setHighlightedIndex(0);
|
|
133
140
|
return;
|
|
134
141
|
}
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
+
// Behavior depends on the onSelect configuration
|
|
143
|
+
if (onSelect.type === "insertDirective") {
|
|
144
|
+
// Insert directive text (mention path)
|
|
145
|
+
const currentText = aui.composer().getState().text;
|
|
146
|
+
const before = currentText.slice(0, trigger.offset);
|
|
147
|
+
const after = currentText.slice(trigger.offset + triggerChar.length + trigger.query.length);
|
|
148
|
+
const directive = onSelect.formatter.serialize(item);
|
|
149
|
+
const newText = before + directive + (after.startsWith(" ") ? after : ` ${after}`);
|
|
150
|
+
aui.composer().setText(newText);
|
|
151
|
+
}
|
|
152
|
+
else if (onSelect.type === "action") {
|
|
153
|
+
// Execute action + clear trigger text (slash command path)
|
|
154
|
+
const currentText = aui.composer().getState().text;
|
|
155
|
+
const before = currentText.slice(0, trigger.offset);
|
|
156
|
+
const after = currentText.slice(trigger.offset + triggerChar.length + trigger.query.length);
|
|
157
|
+
const newText = before + after.trimStart();
|
|
158
|
+
aui.composer().setText(newText);
|
|
159
|
+
onSelect.handler(item);
|
|
160
|
+
}
|
|
142
161
|
setActiveCategoryId(null);
|
|
143
162
|
setHighlightedIndex(0);
|
|
144
163
|
});
|
|
@@ -181,7 +200,7 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
181
200
|
const item = navigableList[highlightedIndex];
|
|
182
201
|
if (!item)
|
|
183
202
|
return true;
|
|
184
|
-
if (
|
|
203
|
+
if (isTriggerItem(item)) {
|
|
185
204
|
selectItem(item);
|
|
186
205
|
}
|
|
187
206
|
else {
|
|
@@ -209,6 +228,11 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
209
228
|
// -------------------------------------------------------------------------
|
|
210
229
|
// Output
|
|
211
230
|
// -------------------------------------------------------------------------
|
|
231
|
+
// Compute highlighted item ID for aria-activedescendant
|
|
232
|
+
const highlightedEntry = navigableList[highlightedIndex];
|
|
233
|
+
const highlightedItemId = open && highlightedEntry
|
|
234
|
+
? `${popoverId}-option-${highlightedEntry.id}`
|
|
235
|
+
: undefined;
|
|
212
236
|
return {
|
|
213
237
|
open,
|
|
214
238
|
query,
|
|
@@ -217,7 +241,8 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
217
241
|
items: filteredItems,
|
|
218
242
|
highlightedIndex,
|
|
219
243
|
isSearchMode,
|
|
220
|
-
|
|
244
|
+
popoverId,
|
|
245
|
+
highlightedItemId,
|
|
221
246
|
selectCategory,
|
|
222
247
|
goBack,
|
|
223
248
|
selectItem,
|
|
@@ -227,4 +252,4 @@ export const MentionResource = resource(({ adapter, text, triggerChar, formatter
|
|
|
227
252
|
registerSelectItemOverride,
|
|
228
253
|
};
|
|
229
254
|
});
|
|
230
|
-
//# sourceMappingURL=
|
|
255
|
+
//# sourceMappingURL=TriggerPopoverResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopoverResource.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectTrigger.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/detectTrigger.ts"],"names":[],"mappings":""}
|
package/dist/primitives/composer/{mention/detectMentionTrigger.js → trigger/detectTrigger.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const WHITESPACE_RE = /\s/;
|
|
2
2
|
/**
|
|
3
|
-
* Detect a
|
|
3
|
+
* Detect a trigger character in text relative to the cursor position.
|
|
4
4
|
*
|
|
5
|
-
* @internal Exported for testing and for
|
|
5
|
+
* @internal Exported for testing and for trigger resources.
|
|
6
6
|
*/
|
|
7
|
-
export function
|
|
7
|
+
export function detectTrigger(text, triggerChar, cursorPosition) {
|
|
8
8
|
// Only consider text up to the cursor
|
|
9
9
|
const textUpToCursor = text.slice(0, cursorPosition);
|
|
10
10
|
// Search backwards from cursor for the trigger character.
|
|
@@ -23,4 +23,4 @@ export function detectMentionTrigger(text, triggerChar, cursorPosition) {
|
|
|
23
23
|
}
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=detectTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectTrigger.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/detectTrigger.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,WAAmB,EACnB,cAAsB;IAKtB,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAErD,0DAA0D;IAC1D,+EAA+E;IAC/E,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;QAEhC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,IAAI,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,gEAAgE;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;gBAAE,SAAS;YAEnE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { ComposerPrimitiveTriggerPopoverRoot, useTriggerPopoverContext, useTriggerPopoverContextOptional, } from "./TriggerPopoverContext.js";
|
|
2
|
+
export { ComposerPrimitiveTriggerPopoverPopover } from "./TriggerPopoverPopover.js";
|
|
3
|
+
export { ComposerPrimitiveTriggerPopoverCategories, ComposerPrimitiveTriggerPopoverCategoryItem, } from "./TriggerPopoverCategories.js";
|
|
4
|
+
export { ComposerPrimitiveTriggerPopoverItems, ComposerPrimitiveTriggerPopoverItem, } from "./TriggerPopoverItems.js";
|
|
5
|
+
export { ComposerPrimitiveTriggerPopoverBack } from "./TriggerPopoverBack.js";
|
|
6
|
+
export type { OnSelectBehavior } from "./TriggerPopoverResource.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,gCAAgC,GACjC,mCAAgC;AACjC,OAAO,EAAE,sCAAsC,EAAE,mCAAgC;AACjF,OAAO,EACL,yCAAyC,EACzC,2CAA2C,GAC5C,sCAAmC;AACpC,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,iCAA8B;AAC/B,OAAO,EAAE,mCAAmC,EAAE,gCAA6B;AAC3E,YAAY,EAAE,gBAAgB,EAAE,oCAAiC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ComposerPrimitiveTriggerPopoverRoot, useTriggerPopoverContext, useTriggerPopoverContextOptional, } from "./TriggerPopoverContext.js";
|
|
2
|
+
export { ComposerPrimitiveTriggerPopoverPopover } from "./TriggerPopoverPopover.js";
|
|
3
|
+
export { ComposerPrimitiveTriggerPopoverCategories, ComposerPrimitiveTriggerPopoverCategoryItem, } from "./TriggerPopoverCategories.js";
|
|
4
|
+
export { ComposerPrimitiveTriggerPopoverItems, ComposerPrimitiveTriggerPopoverItem, } from "./TriggerPopoverItems.js";
|
|
5
|
+
export { ComposerPrimitiveTriggerPopoverBack } from "./TriggerPopoverBack.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,wBAAwB,EACxB,gCAAgC,GACjC,mCAAgC;AACjC,OAAO,EAAE,sCAAsC,EAAE,mCAAgC;AACjF,OAAO,EACL,yCAAyC,EACzC,2CAA2C,GAC5C,sCAAmC;AACpC,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,iCAA8B;AAC/B,OAAO,EAAE,mCAAmC,EAAE,gCAA6B"}
|
|
@@ -23,4 +23,14 @@ export { ComposerPrimitiveMentionItem as Unstable_MentionItem } from "./composer
|
|
|
23
23
|
export { ComposerPrimitiveMentionBack as Unstable_MentionBack } from "./composer/mention/index.js";
|
|
24
24
|
export { useMentionContext as unstable_useMentionContext } from "./composer/mention/index.js";
|
|
25
25
|
export { useMentionContextOptional as unstable_useMentionContextOptional } from "./composer/mention/index.js";
|
|
26
|
+
export { ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot } from "./composer/trigger/index.js";
|
|
27
|
+
export { ComposerPrimitiveTriggerPopoverPopover as Unstable_TriggerPopoverPopover } from "./composer/trigger/index.js";
|
|
28
|
+
export { ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories } from "./composer/trigger/index.js";
|
|
29
|
+
export { ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem } from "./composer/trigger/index.js";
|
|
30
|
+
export { ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems } from "./composer/trigger/index.js";
|
|
31
|
+
export { ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem } from "./composer/trigger/index.js";
|
|
32
|
+
export { ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack } from "./composer/trigger/index.js";
|
|
33
|
+
export { useTriggerPopoverContext as unstable_useTriggerPopoverContext } from "./composer/trigger/index.js";
|
|
34
|
+
export { useTriggerPopoverContextOptional as unstable_useTriggerPopoverContextOptional } from "./composer/trigger/index.js";
|
|
35
|
+
export { ComposerPrimitiveSlashCommandRoot as Unstable_SlashCommandRoot } from "./composer/slash-command/index.js";
|
|
26
36
|
//# sourceMappingURL=composer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,uBAAuB,IAAI,MAAM,EAAE,qCAAkC;AAC9E,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,4BAA4B,IAAI,WAAW,EAAE,0CAAuC;AAC7F,OAAO,EAAE,kCAAkC,IAAI,iBAAiB,EAAE,0CAAuC;AACzG,OAAO,EAAE,mCAAmC,IAAI,kBAAkB,EAAE,iDAA8C;AAClH,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AACjF,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,oCAAoC,IAAI,mBAAmB,EAAE,kDAA+C;AACrH,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,iCAA8B;AAClE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,0BAA0B,IAAI,SAAS,EAAE,oCAAiC;AACnF,OAAO,EAAE,6BAA6B,IAAI,YAAY,EAAE,oCAAiC;AACzF,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,oCAA2B;AAChG,OAAO,EAAE,kCAAkC,IAAI,0BAA0B,EAAE,oCAA2B;AACtG,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,6BAA6B,IAAI,qBAAqB,EAAE,oCAA2B;AAC5F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,oCAA2B;AACrF,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,oCAA2B"}
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,uBAAuB,IAAI,MAAM,EAAE,qCAAkC;AAC9E,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,4BAA4B,IAAI,WAAW,EAAE,0CAAuC;AAC7F,OAAO,EAAE,kCAAkC,IAAI,iBAAiB,EAAE,0CAAuC;AACzG,OAAO,EAAE,mCAAmC,IAAI,kBAAkB,EAAE,iDAA8C;AAClH,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AACjF,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,oCAAoC,IAAI,mBAAmB,EAAE,kDAA+C;AACrH,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,iCAA8B;AAClE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,0BAA0B,IAAI,SAAS,EAAE,oCAAiC;AACnF,OAAO,EAAE,6BAA6B,IAAI,YAAY,EAAE,oCAAiC;AACzF,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,oCAA2B;AAChG,OAAO,EAAE,kCAAkC,IAAI,0BAA0B,EAAE,oCAA2B;AACtG,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,6BAA6B,IAAI,qBAAqB,EAAE,oCAA2B;AAC5F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,oCAA2B;AACrF,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,oCAA2B;AAGrG,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,sCAAsC,IAAI,8BAA8B,EAAE,oCAA2B;AAC9G,OAAO,EAAE,yCAAyC,IAAI,iCAAiC,EAAE,oCAA2B;AACpH,OAAO,EAAE,2CAA2C,IAAI,mCAAmC,EAAE,oCAA2B;AACxH,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,wBAAwB,IAAI,iCAAiC,EAAE,oCAA2B;AACnG,OAAO,EAAE,gCAAgC,IAAI,yCAAyC,EAAE,oCAA2B;AAKnH,OAAO,EAAE,iCAAiC,IAAI,yBAAyB,EAAE,0CAAiC"}
|
|
@@ -23,4 +23,18 @@ export { ComposerPrimitiveMentionItem as Unstable_MentionItem } from "./composer
|
|
|
23
23
|
export { ComposerPrimitiveMentionBack as Unstable_MentionBack } from "./composer/mention/index.js";
|
|
24
24
|
export { useMentionContext as unstable_useMentionContext } from "./composer/mention/index.js";
|
|
25
25
|
export { useMentionContextOptional as unstable_useMentionContextOptional } from "./composer/mention/index.js";
|
|
26
|
+
// --- Generic Trigger Popover primitives (unstable) ---
|
|
27
|
+
export { ComposerPrimitiveTriggerPopoverRoot as Unstable_TriggerPopoverRoot } from "./composer/trigger/index.js";
|
|
28
|
+
export { ComposerPrimitiveTriggerPopoverPopover as Unstable_TriggerPopoverPopover } from "./composer/trigger/index.js";
|
|
29
|
+
export { ComposerPrimitiveTriggerPopoverCategories as Unstable_TriggerPopoverCategories } from "./composer/trigger/index.js";
|
|
30
|
+
export { ComposerPrimitiveTriggerPopoverCategoryItem as Unstable_TriggerPopoverCategoryItem } from "./composer/trigger/index.js";
|
|
31
|
+
export { ComposerPrimitiveTriggerPopoverItems as Unstable_TriggerPopoverItems } from "./composer/trigger/index.js";
|
|
32
|
+
export { ComposerPrimitiveTriggerPopoverItem as Unstable_TriggerPopoverItem } from "./composer/trigger/index.js";
|
|
33
|
+
export { ComposerPrimitiveTriggerPopoverBack as Unstable_TriggerPopoverBack } from "./composer/trigger/index.js";
|
|
34
|
+
export { useTriggerPopoverContext as unstable_useTriggerPopoverContext } from "./composer/trigger/index.js";
|
|
35
|
+
export { useTriggerPopoverContextOptional as unstable_useTriggerPopoverContextOptional } from "./composer/trigger/index.js";
|
|
36
|
+
// --- Slash Command primitives (unstable) ---
|
|
37
|
+
// SlashCommandRoot is the only slash-specific primitive; UI primitives
|
|
38
|
+
// (Popover, Items, Categories, Back) are the shared TriggerPopover* set above.
|
|
39
|
+
export { ComposerPrimitiveSlashCommandRoot as Unstable_SlashCommandRoot } from "./composer/slash-command/index.js";
|
|
26
40
|
//# sourceMappingURL=composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,uBAAuB,IAAI,MAAM,EAAE,qCAAkC;AAC9E,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,4BAA4B,IAAI,WAAW,EAAE,0CAAuC;AAC7F,OAAO,EAAE,kCAAkC,IAAI,iBAAiB,EAAE,0CAAuC;AACzG,OAAO,EAAE,mCAAmC,IAAI,kBAAkB,EAAE,iDAA8C;AAClH,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AACjF,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,oCAAoC,IAAI,mBAAmB,EAAE,kDAA+C;AACrH,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,iCAA8B;AAClE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,0BAA0B,IAAI,SAAS,EAAE,oCAAiC;AACnF,OAAO,EAAE,6BAA6B,IAAI,YAAY,EAAE,oCAAiC;AACzF,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,oCAA2B;AAChG,OAAO,EAAE,kCAAkC,IAAI,0BAA0B,EAAE,oCAA2B;AACtG,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,6BAA6B,IAAI,qBAAqB,EAAE,oCAA2B;AAC5F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,oCAA2B;AACrF,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,oCAA2B"}
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/primitives/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,IAAI,EAAE,mCAAgC;AACxE,OAAO,EAAE,uBAAuB,IAAI,MAAM,EAAE,qCAAkC;AAC9E,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,4BAA4B,IAAI,WAAW,EAAE,0CAAuC;AAC7F,OAAO,EAAE,kCAAkC,IAAI,iBAAiB,EAAE,0CAAuC;AACzG,OAAO,EAAE,mCAAmC,IAAI,kBAAkB,EAAE,iDAA8C;AAClH,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AACjF,OAAO,EAAE,8BAA8B,IAAI,aAAa,EAAE,4CAAyC;AACnG,OAAO,EAAE,oCAAoC,IAAI,mBAAmB,EAAE,kDAA+C;AACrH,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,iCAA8B;AAClE,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,0BAA0B,IAAI,SAAS,EAAE,oCAAiC;AACnF,OAAO,EAAE,6BAA6B,IAAI,YAAY,EAAE,oCAAiC;AACzF,OAAO,EAAE,sBAAsB,IAAI,KAAK,EAAE,oCAAiC;AAC3E,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,+BAA+B,IAAI,uBAAuB,EAAE,oCAA2B;AAChG,OAAO,EAAE,kCAAkC,IAAI,0BAA0B,EAAE,oCAA2B;AACtG,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,6BAA6B,IAAI,qBAAqB,EAAE,oCAA2B;AAC5F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,4BAA4B,IAAI,oBAAoB,EAAE,oCAA2B;AAC1F,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,oCAA2B;AACrF,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,oCAA2B;AAErG,wDAAwD;AACxD,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,sCAAsC,IAAI,8BAA8B,EAAE,oCAA2B;AAC9G,OAAO,EAAE,yCAAyC,IAAI,iCAAiC,EAAE,oCAA2B;AACpH,OAAO,EAAE,2CAA2C,IAAI,mCAAmC,EAAE,oCAA2B;AACxH,OAAO,EAAE,oCAAoC,IAAI,4BAA4B,EAAE,oCAA2B;AAC1G,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,mCAAmC,IAAI,2BAA2B,EAAE,oCAA2B;AACxG,OAAO,EAAE,wBAAwB,IAAI,iCAAiC,EAAE,oCAA2B;AACnG,OAAO,EAAE,gCAAgC,IAAI,yCAAyC,EAAE,oCAA2B;AAEnH,8CAA8C;AAC9C,uEAAuE;AACvE,+EAA+E;AAC/E,OAAO,EAAE,iCAAiC,IAAI,yBAAyB,EAAE,0CAAiC"}
|
|
@@ -4,9 +4,20 @@ export declare namespace MessagePrimitiveRoot {
|
|
|
4
4
|
type Element = ComponentRef<typeof Primitive.div>;
|
|
5
5
|
/**
|
|
6
6
|
* Props for the MessagePrimitive.Root component.
|
|
7
|
-
* Accepts all standard div element props.
|
|
7
|
+
* Accepts all standard div element props plus optional viewport slack tuning.
|
|
8
8
|
*/
|
|
9
|
-
type Props = ComponentPropsWithoutRef<typeof Primitive.div
|
|
9
|
+
type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {
|
|
10
|
+
/**
|
|
11
|
+
* Threshold at which the user message height clamps to the offset.
|
|
12
|
+
* @default "10em"
|
|
13
|
+
*/
|
|
14
|
+
fillClampThreshold?: string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Offset used when clamping large user messages.
|
|
17
|
+
* @default "6em"
|
|
18
|
+
*/
|
|
19
|
+
fillClampOffset?: string | undefined;
|
|
20
|
+
};
|
|
10
21
|
}
|
|
11
22
|
/**
|
|
12
23
|
* The root container component for a message.
|
|
@@ -33,5 +44,16 @@ export declare const MessagePrimitiveRoot: import("react").ForwardRefExoticCompo
|
|
|
33
44
|
asChild?: boolean;
|
|
34
45
|
}, "ref"> & {
|
|
35
46
|
render?: import("react").ReactElement | undefined;
|
|
36
|
-
} & import("react").RefAttributes<HTMLDivElement>, "ref"> &
|
|
47
|
+
} & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
48
|
+
/**
|
|
49
|
+
* Threshold at which the user message height clamps to the offset.
|
|
50
|
+
* @default "10em"
|
|
51
|
+
*/
|
|
52
|
+
fillClampThreshold?: string | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Offset used when clamping large user messages.
|
|
55
|
+
* @default "6em"
|
|
56
|
+
*/
|
|
57
|
+
fillClampOffset?: string | undefined;
|
|
58
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
37
59
|
//# sourceMappingURL=MessageRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,wBAAwB,EAEzB,MAAM,OAAO,CAAC;AAqEf,yBAAiB,oBAAoB,CAAC;IACpC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD;;;OAGG;IACH,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAEjB,wBAAwB,EAEzB,MAAM,OAAO,CAAC;AAqEf,yBAAiB,oBAAoB,CAAC;IACpC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD;;;OAGG;IACH,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG;QACnE;;;WAGG;QACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC;;;WAGG;QACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB;;;;;IAlC7B;;;OAGG;yBACkB,MAAM,GAAG,SAAS;IACvC;;;OAGG;sBACe,MAAM,GAAG,SAAS;kDA8CtC,CAAC"}
|
|
@@ -69,12 +69,12 @@ const useMessageViewportRef = () => {
|
|
|
69
69
|
* </MessagePrimitive.Root>
|
|
70
70
|
* ```
|
|
71
71
|
*/
|
|
72
|
-
export const MessagePrimitiveRoot = forwardRef((props, forwardRef) => {
|
|
72
|
+
export const MessagePrimitiveRoot = forwardRef(({ fillClampThreshold, fillClampOffset, ...props }, forwardRef) => {
|
|
73
73
|
const isHoveringRef = useIsHoveringRef();
|
|
74
74
|
const anchorUserMessageRef = useMessageViewportRef();
|
|
75
75
|
const ref = useComposedRefs(forwardRef, isHoveringRef, anchorUserMessageRef);
|
|
76
76
|
const messageId = useAuiState((s) => s.message.id);
|
|
77
|
-
return (_jsx(ThreadPrimitiveViewportSlack, { children: _jsx(Primitive.div, { ...props, ref: ref, "data-message-id": messageId }) }));
|
|
77
|
+
return (_jsx(ThreadPrimitiveViewportSlack, { fillClampThreshold: fillClampThreshold, fillClampOffset: fillClampOffset, children: _jsx(Primitive.div, { ...props, ref: ref, "data-message-id": messageId }) }));
|
|
78
78
|
});
|
|
79
79
|
MessagePrimitiveRoot.displayName = "MessagePrimitive.Root";
|
|
80
80
|
//# sourceMappingURL=MessageRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageRoot.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EAEL,UAAU,EAEV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,2CAAwC;AAChE,OAAO,EAAE,aAAa,EAAE,2CAAwC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,qDAAkD;AAC9E,OAAO,EAAE,4BAA4B,EAAE,yCAAsC;AAE7E,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,EAAe,EAAE,EAAE;QAClB,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACpD,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAEpD,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,sDAAsD;YACtD,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,GAAG,EAAE;YACV,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACvD,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACvD,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,iBAAiB,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CACnC,CAAC;IAEF,eAAe;IACf,0FAA0F;IAC1F,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,CAAC,EAAE,EAAE,CACJ,UAAU,KAAK,KAAK;QACpB,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;QACzB,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CACjD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAExE,OAAO,aAAa,CAClB,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EACjD,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageRoot.js","sourceRoot":"","sources":["../../../src/primitives/message/MessageRoot.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type FC, type ReactNode } from "react";
|
|
2
2
|
export type ThreadViewportSlackProps = {
|
|
3
3
|
/** Threshold at which the user message height clamps to the offset */
|
|
4
|
-
fillClampThreshold?: string;
|
|
4
|
+
fillClampThreshold?: string | undefined;
|
|
5
5
|
/** Offset used when clamping large user messages */
|
|
6
|
-
fillClampOffset?: string;
|
|
6
|
+
fillClampOffset?: string | undefined;
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadViewportSlack.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewportSlack.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,EAAE,EACP,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AA2Bf,MAAM,MAAM,wBAAwB,GAAG;IACrC,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ThreadViewportSlack.d.ts","sourceRoot":"","sources":["../../../src/primitives/thread/ThreadViewportSlack.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,EAAE,EACP,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AA2Bf,MAAM,MAAM,wBAAwB,GAAG;IACrC,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAAC,wBAAwB,CA2DrE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Unstable_SlashCommandAdapter } from "@assistant-ui/core";
|
|
2
|
+
export type Unstable_SlashCommandDefinition = {
|
|
3
|
+
/** Unique command name (e.g. "summarize"). */
|
|
4
|
+
readonly name: string;
|
|
5
|
+
/** Display label (e.g. "/summarize"). */
|
|
6
|
+
readonly label?: string | undefined;
|
|
7
|
+
/** Short description shown in the popover. */
|
|
8
|
+
readonly description?: string | undefined;
|
|
9
|
+
/** Icon identifier. */
|
|
10
|
+
readonly icon?: string | undefined;
|
|
11
|
+
/** Action to execute when the command is selected. */
|
|
12
|
+
readonly execute?: (() => void) | undefined;
|
|
13
|
+
};
|
|
14
|
+
export type Unstable_UseSlashCommandAdapterOptions = {
|
|
15
|
+
/** List of available slash commands. */
|
|
16
|
+
commands: readonly Unstable_SlashCommandDefinition[];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated This API is still under active development and might change without notice.
|
|
20
|
+
*
|
|
21
|
+
* Creates a SlashCommandAdapter from a list of command definitions.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* const slashAdapter = unstable_useSlashCommandAdapter({
|
|
26
|
+
* commands: [
|
|
27
|
+
* { name: "summarize", description: "Summarize the conversation", execute: () => {} },
|
|
28
|
+
* { name: "translate", description: "Translate text", execute: () => {} },
|
|
29
|
+
* ],
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function unstable_useSlashCommandAdapter(options: Unstable_UseSlashCommandAdapterOptions): Unstable_SlashCommandAdapter;
|
|
34
|
+
//# sourceMappingURL=useSlashCommandAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlashCommandAdapter.d.ts","sourceRoot":"","sources":["../../src/unstable/useSlashCommandAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,4BAA4B,EAG7B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,+BAA+B,GAAG;IAC5C,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,uBAAuB;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,wCAAwC;IACxC,QAAQ,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACtD,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,sCAAsC,GAC9C,4BAA4B,CAsC9B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated This API is still under active development and might change without notice.
|
|
5
|
+
*
|
|
6
|
+
* Creates a SlashCommandAdapter from a list of command definitions.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const slashAdapter = unstable_useSlashCommandAdapter({
|
|
11
|
+
* commands: [
|
|
12
|
+
* { name: "summarize", description: "Summarize the conversation", execute: () => {} },
|
|
13
|
+
* { name: "translate", description: "Translate text", execute: () => {} },
|
|
14
|
+
* ],
|
|
15
|
+
* });
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export function unstable_useSlashCommandAdapter(options) {
|
|
19
|
+
const { commands } = options;
|
|
20
|
+
return useMemo(() => {
|
|
21
|
+
// Build items lazily at call time so execute callbacks are always fresh
|
|
22
|
+
const getItems = () => commands.map((cmd) => ({
|
|
23
|
+
id: cmd.name,
|
|
24
|
+
type: "command",
|
|
25
|
+
label: cmd.label ?? `/${cmd.name}`,
|
|
26
|
+
description: cmd.description,
|
|
27
|
+
icon: cmd.icon,
|
|
28
|
+
execute: cmd.execute,
|
|
29
|
+
}));
|
|
30
|
+
return {
|
|
31
|
+
// No categories — slash commands show items directly via search mode
|
|
32
|
+
categories() {
|
|
33
|
+
return [];
|
|
34
|
+
},
|
|
35
|
+
categoryItems() {
|
|
36
|
+
return [];
|
|
37
|
+
},
|
|
38
|
+
search(query) {
|
|
39
|
+
const items = getItems();
|
|
40
|
+
if (!query)
|
|
41
|
+
return items;
|
|
42
|
+
const lower = query.toLowerCase();
|
|
43
|
+
return items.filter((item) => item.id.toLowerCase().includes(lower) ||
|
|
44
|
+
item.label.toLowerCase().includes(lower) ||
|
|
45
|
+
item.description?.toLowerCase().includes(lower));
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}, [commands]);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=useSlashCommandAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlashCommandAdapter.js","sourceRoot":"","sources":["../../src/unstable/useSlashCommandAdapter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAyBhC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAA+C;IAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,OAAO,OAAO,CAA+B,GAAG,EAAE;QAChD,wEAAwE;QACxE,MAAM,QAAQ,GAAG,GAAgC,EAAE,CACjD,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrB,EAAE,EAAE,GAAG,CAAC,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE;YAClC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,qEAAqE;YACrE,UAAU;gBACR,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,aAAa;gBACX,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,KAAa;gBAClB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACxC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAClD,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.25",
|
|
4
4
|
"description": "TypeScript/React library for AI Chat",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"radix-ui",
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
],
|
|
49
49
|
"sideEffects": false,
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@assistant-ui/core": "^0.1.
|
|
52
|
-
"@assistant-ui/store": "^0.2.
|
|
53
|
-
"@assistant-ui/tap": "^0.5.
|
|
51
|
+
"@assistant-ui/core": "^0.1.14",
|
|
52
|
+
"@assistant-ui/store": "^0.2.7",
|
|
53
|
+
"@assistant-ui/tap": "^0.5.8",
|
|
54
54
|
"@radix-ui/primitive": "^1.1.3",
|
|
55
55
|
"@radix-ui/react-compose-refs": "^1.1.2",
|
|
56
56
|
"@radix-ui/react-context": "^1.1.3",
|
|
57
57
|
"@radix-ui/react-primitive": "^2.1.4",
|
|
58
58
|
"@radix-ui/react-use-callback-ref": "^1.1.1",
|
|
59
59
|
"@radix-ui/react-use-escape-keydown": "^1.1.1",
|
|
60
|
-
"assistant-cloud": "^0.1.
|
|
61
|
-
"assistant-stream": "^0.3.
|
|
60
|
+
"assistant-cloud": "^0.1.26",
|
|
61
|
+
"assistant-stream": "^0.3.11",
|
|
62
62
|
"nanoid": "^5.1.7",
|
|
63
63
|
"radix-ui": "^1.4.3",
|
|
64
64
|
"react-textarea-autosize": "^8.5.9",
|
|
@@ -82,14 +82,14 @@
|
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@testing-library/react": "^16.3.2",
|
|
84
84
|
"@types/json-schema": "^7.0.15",
|
|
85
|
-
"@types/node": "^25.
|
|
85
|
+
"@types/node": "^25.6.0",
|
|
86
86
|
"@types/react": "^19.2.14",
|
|
87
87
|
"@types/react-dom": "^19.2.3",
|
|
88
|
-
"jsdom": "^29.0.
|
|
89
|
-
"react": "^19.2.
|
|
90
|
-
"react-dom": "^19.2.
|
|
91
|
-
"vitest": "^4.1.
|
|
92
|
-
"@assistant-ui/x-buildutils": "0.0.
|
|
88
|
+
"jsdom": "^29.0.2",
|
|
89
|
+
"react": "^19.2.5",
|
|
90
|
+
"react-dom": "^19.2.5",
|
|
91
|
+
"vitest": "^4.1.4",
|
|
92
|
+
"@assistant-ui/x-buildutils": "0.0.5"
|
|
93
93
|
},
|
|
94
94
|
"publishConfig": {
|
|
95
95
|
"access": "public",
|
package/src/index.ts
CHANGED
|
@@ -401,6 +401,20 @@ export {
|
|
|
401
401
|
} from "./primitives/composer/mention";
|
|
402
402
|
export type { ToolExecutionStatus } from "./internal";
|
|
403
403
|
|
|
404
|
+
// Unstable - trigger popover (generic)
|
|
405
|
+
export {
|
|
406
|
+
useTriggerPopoverContext as unstable_useTriggerPopoverContext,
|
|
407
|
+
useTriggerPopoverContextOptional as unstable_useTriggerPopoverContextOptional,
|
|
408
|
+
} from "./primitives/composer/trigger";
|
|
409
|
+
export type { OnSelectBehavior as Unstable_OnSelectBehavior } from "./primitives/composer/trigger";
|
|
410
|
+
|
|
411
|
+
// Unstable - slash commands
|
|
412
|
+
export {
|
|
413
|
+
unstable_useSlashCommandAdapter,
|
|
414
|
+
type Unstable_SlashCommandDefinition,
|
|
415
|
+
type Unstable_UseSlashCommandAdapterOptions,
|
|
416
|
+
} from "./unstable/useSlashCommandAdapter";
|
|
417
|
+
|
|
404
418
|
export type { Assistant } from "./augmentations";
|
|
405
419
|
|
|
406
420
|
// ============================================================================
|
package/src/internal.ts
CHANGED
|
@@ -33,3 +33,6 @@ export {
|
|
|
33
33
|
useSmoothStatus,
|
|
34
34
|
withSmoothContextProvider,
|
|
35
35
|
} from "./utils/smooth/SmoothContext";
|
|
36
|
+
|
|
37
|
+
// ComposerInput plugin registry (used by react-lexical)
|
|
38
|
+
export { useComposerInputPluginRegistryOptional } from "./primitives/composer/ComposerInputPluginContext";
|