@assistant-ui/react 0.5.74 → 0.5.75
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.mts +521 -181
- package/dist/index.d.ts +521 -181
- package/dist/index.js +219 -182
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +152 -115
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
@@ -605,20 +605,13 @@ var useActionBarReload = () => {
|
|
605
605
|
// src/primitive-hooks/actionBar/useActionBarSpeak.tsx
|
606
606
|
import { useCallback as useCallback6 } from "react";
|
607
607
|
var useActionBarSpeak = () => {
|
608
|
-
const messageStore = useMessageStore();
|
609
|
-
const editComposerStore = useEditComposerStore();
|
610
608
|
const messageRunime = useMessageRuntime();
|
611
|
-
const messageUtilsStore = useMessageUtilsStore();
|
612
|
-
const hasSpeakableContent = useCombinedStore(
|
613
|
-
[messageStore, editComposerStore],
|
614
|
-
(message, c) => {
|
615
|
-
return !c.isEditing && (message.role !== "assistant" || message.status.type !== "running") && message.content.some((c2) => c2.type === "text" && c2.text.length > 0);
|
616
|
-
}
|
617
|
-
);
|
618
609
|
const callback = useCallback6(async () => {
|
619
|
-
|
620
|
-
|
621
|
-
|
610
|
+
messageRunime.speak();
|
611
|
+
}, [messageRunime]);
|
612
|
+
const hasSpeakableContent = useMessage((m) => {
|
613
|
+
return (m.role !== "assistant" || m.status.type !== "running") && m.content.some((c) => c.type === "text" && c.text.length > 0);
|
614
|
+
});
|
622
615
|
if (!hasSpeakableContent) return null;
|
623
616
|
return callback;
|
624
617
|
};
|
@@ -626,11 +619,11 @@ var useActionBarSpeak = () => {
|
|
626
619
|
// src/primitive-hooks/actionBar/useActionBarStopSpeaking.tsx
|
627
620
|
import { useCallback as useCallback7 } from "react";
|
628
621
|
var useActionBarStopSpeaking = () => {
|
629
|
-
const
|
630
|
-
const isSpeaking =
|
622
|
+
const messageRuntime = useMessageRuntime();
|
623
|
+
const isSpeaking = useMessage((u) => u.speech != null);
|
631
624
|
const callback = useCallback7(async () => {
|
632
|
-
|
633
|
-
}, [
|
625
|
+
messageRuntime.stopSpeaking();
|
626
|
+
}, [messageRuntime]);
|
634
627
|
if (!isSpeaking) return null;
|
635
628
|
return callback;
|
636
629
|
};
|
@@ -810,7 +803,7 @@ var useMessageIf = (props) => {
|
|
810
803
|
const messageUtilsStore = useMessageUtilsStore();
|
811
804
|
return useCombinedStore(
|
812
805
|
[messageStore, messageUtilsStore],
|
813
|
-
({ role, attachments, branchCount, isLast }, { isCopied, isHovering,
|
806
|
+
({ role, attachments, branchCount, isLast, speech }, { isCopied, isHovering, submittedFeedback }) => {
|
814
807
|
if (props.hasBranches === true && branchCount < 2) return false;
|
815
808
|
if (props.user && role !== "user") return false;
|
816
809
|
if (props.assistant && role !== "assistant") return false;
|
@@ -818,8 +811,8 @@ var useMessageIf = (props) => {
|
|
818
811
|
if (props.lastOrHover === true && !isHovering && !isLast) return false;
|
819
812
|
if (props.copied === true && !isCopied) return false;
|
820
813
|
if (props.copied === false && isCopied) return false;
|
821
|
-
if (props.speaking === true &&
|
822
|
-
if (props.speaking === false &&
|
814
|
+
if (props.speaking === true && speech == null) return false;
|
815
|
+
if (props.speaking === false && speech != null) return false;
|
823
816
|
if (props.hasAttachments === true && (role !== "user" || !attachments.length))
|
824
817
|
return false;
|
825
818
|
if (props.hasAttachments === false && role === "user" && !!attachments.length)
|
@@ -1348,7 +1341,7 @@ __export(branchPicker_exports, {
|
|
1348
1341
|
Count: () => BranchPickerPrimitiveCount,
|
1349
1342
|
Next: () => BranchPickerPrimitiveNext,
|
1350
1343
|
Number: () => BranchPickerPrimitiveNumber,
|
1351
|
-
Previous: () =>
|
1344
|
+
Previous: () => BranchPickerPrimitivePrevious,
|
1352
1345
|
Root: () => BranchPickerPrimitiveRoot
|
1353
1346
|
});
|
1354
1347
|
|
@@ -1359,7 +1352,7 @@ var BranchPickerPrimitiveNext = createActionButton(
|
|
1359
1352
|
);
|
1360
1353
|
|
1361
1354
|
// src/primitives/branchPicker/BranchPickerPrevious.tsx
|
1362
|
-
var
|
1355
|
+
var BranchPickerPrimitivePrevious = createActionButton(
|
1363
1356
|
"BranchPickerPrimitive.Previous",
|
1364
1357
|
useBranchPickerPrevious
|
1365
1358
|
);
|
@@ -2173,6 +2166,16 @@ var MessageRuntimeImpl = class {
|
|
2173
2166
|
if (!state) throw new Error("Message is not available");
|
2174
2167
|
return this._threadBinding.getState().speak(state.id);
|
2175
2168
|
}
|
2169
|
+
stopSpeaking() {
|
2170
|
+
const state = this._core.getState();
|
2171
|
+
if (!state) throw new Error("Message is not available");
|
2172
|
+
const thread = this._threadBinding.getState();
|
2173
|
+
if (thread.speech?.messageId === state.id) {
|
2174
|
+
this._threadBinding.getState().stopSpeaking();
|
2175
|
+
} else {
|
2176
|
+
throw new Error("Message is not being spoken");
|
2177
|
+
}
|
2178
|
+
}
|
2176
2179
|
submitFeedback({ type }) {
|
2177
2180
|
const state = this._core.getState();
|
2178
2181
|
if (!state) throw new Error("Message is not available");
|
@@ -2817,7 +2820,6 @@ import { create as create10 } from "zustand";
|
|
2817
2820
|
// src/context/stores/MessageUtils.ts
|
2818
2821
|
import { create as create9 } from "zustand";
|
2819
2822
|
var makeMessageUtilsStore = () => create9((set) => {
|
2820
|
-
let utterance = null;
|
2821
2823
|
return {
|
2822
2824
|
isCopied: false,
|
2823
2825
|
setIsCopied: (value) => {
|
@@ -2827,17 +2829,6 @@ var makeMessageUtilsStore = () => create9((set) => {
|
|
2827
2829
|
setIsHovering: (value) => {
|
2828
2830
|
set({ isHovering: value });
|
2829
2831
|
},
|
2830
|
-
isSpeaking: false,
|
2831
|
-
stopSpeaking: () => {
|
2832
|
-
utterance?.cancel();
|
2833
|
-
},
|
2834
|
-
addUtterance: (utt) => {
|
2835
|
-
utterance = utt;
|
2836
|
-
set({ isSpeaking: true });
|
2837
|
-
utt.onEnd(() => {
|
2838
|
-
set({ isSpeaking: false });
|
2839
|
-
});
|
2840
|
-
},
|
2841
2832
|
submittedFeedback: null,
|
2842
2833
|
setSubmittedFeedback: (feedback) => {
|
2843
2834
|
set({ submittedFeedback: feedback });
|
@@ -3571,7 +3562,8 @@ var getThreadState = (runtime) => {
|
|
3571
3562
|
isRunning: lastMessage?.role !== "assistant" ? false : lastMessage.status.type === "running",
|
3572
3563
|
messages: runtime.messages,
|
3573
3564
|
suggestions: runtime.suggestions,
|
3574
|
-
extras: runtime.extras
|
3565
|
+
extras: runtime.extras,
|
3566
|
+
speech: runtime.speech
|
3575
3567
|
});
|
3576
3568
|
};
|
3577
3569
|
var ThreadRuntimeImpl = class {
|
@@ -3618,6 +3610,12 @@ var ThreadRuntimeImpl = class {
|
|
3618
3610
|
get messages() {
|
3619
3611
|
return this._threadBinding.getState().messages;
|
3620
3612
|
}
|
3613
|
+
/**
|
3614
|
+
* @deprecated Use `getState().speechState` instead. This will be removed in 0.6.0.
|
3615
|
+
*/
|
3616
|
+
get speech() {
|
3617
|
+
return this._threadBinding.getState().speech;
|
3618
|
+
}
|
3621
3619
|
unstable_getCore() {
|
3622
3620
|
return this._threadBinding.getState();
|
3623
3621
|
}
|
@@ -3678,15 +3676,18 @@ var ThreadRuntimeImpl = class {
|
|
3678
3676
|
switchToBranch(branchId) {
|
3679
3677
|
return this._threadBinding.getState().switchToBranch(branchId);
|
3680
3678
|
}
|
3681
|
-
|
3682
|
-
|
3683
|
-
|
3679
|
+
/**
|
3680
|
+
* @deprecated Use `getMesssageById(id).speak()` instead. This will be removed in 0.6.0.
|
3681
|
+
*/
|
3684
3682
|
speak(messageId) {
|
3685
3683
|
return this._threadBinding.getState().speak(messageId);
|
3686
3684
|
}
|
3687
|
-
|
3688
|
-
|
3689
|
-
|
3685
|
+
stopSpeaking() {
|
3686
|
+
return this._threadBinding.getState().stopSpeaking();
|
3687
|
+
}
|
3688
|
+
/**
|
3689
|
+
* @deprecated Use `getMesssageById(id).submitFeedback({ type })` instead. This will be removed in 0.6.0.
|
3690
|
+
*/
|
3690
3691
|
submitFeedback(options) {
|
3691
3692
|
return this._threadBinding.getState().submitFeedback(options);
|
3692
3693
|
}
|
@@ -3713,7 +3714,7 @@ var ThreadRuntimeImpl = class {
|
|
3713
3714
|
return new MessageRuntimeImpl(
|
3714
3715
|
new ShallowMemoizeSubject({
|
3715
3716
|
getState: () => {
|
3716
|
-
const messages2 = this.getState()
|
3717
|
+
const { messages: messages2, speech: speechState } = this.getState();
|
3717
3718
|
const message = messages2[idx];
|
3718
3719
|
if (!message) return SKIP_UPDATE;
|
3719
3720
|
const branches = this._threadBinding.getState().getBranches(message.id);
|
@@ -3724,7 +3725,8 @@ var ThreadRuntimeImpl = class {
|
|
3724
3725
|
parentId: messages2[idx - 1]?.id ?? null,
|
3725
3726
|
branches,
|
3726
3727
|
branchNumber: branches.indexOf(message.id) + 1,
|
3727
|
-
branchCount: branches.length
|
3728
|
+
branchCount: branches.length,
|
3729
|
+
speech: speechState?.messageId === message.id ? speechState : null
|
3728
3730
|
};
|
3729
3731
|
},
|
3730
3732
|
subscribe: (callback) => this._threadBinding.subscribe(callback)
|
@@ -4364,24 +4366,35 @@ var LocalThreadRuntimeCore = class {
|
|
4364
4366
|
this.performRoundtrip(parentId, message);
|
4365
4367
|
}
|
4366
4368
|
}
|
4367
|
-
// TODO
|
4368
|
-
|
4369
|
+
// TODO speech runtime?
|
4370
|
+
_stopSpeaking;
|
4371
|
+
speech = null;
|
4369
4372
|
speak(messageId) {
|
4370
4373
|
const adapter = this.options.adapters?.speech;
|
4371
4374
|
if (!adapter) throw new Error("Speech adapter not configured");
|
4372
4375
|
const { message } = this.repository.getMessage(messageId);
|
4373
|
-
|
4374
|
-
this._utterance.cancel();
|
4375
|
-
this._utterance = void 0;
|
4376
|
-
}
|
4376
|
+
this._stopSpeaking?.();
|
4377
4377
|
const utterance = adapter.speak(message);
|
4378
|
-
utterance.
|
4379
|
-
if (
|
4380
|
-
this.
|
4378
|
+
const unsub = utterance.subscribe(() => {
|
4379
|
+
if (utterance.status.type === "ended") {
|
4380
|
+
this._stopSpeaking = void 0;
|
4381
|
+
this.speech = null;
|
4382
|
+
} else {
|
4383
|
+
this.speech = { messageId, status: utterance.status };
|
4381
4384
|
}
|
4385
|
+
this.notifySubscribers();
|
4382
4386
|
});
|
4383
|
-
this.
|
4384
|
-
|
4387
|
+
this.speech = { messageId, status: utterance.status };
|
4388
|
+
this._stopSpeaking = () => {
|
4389
|
+
utterance.cancel();
|
4390
|
+
unsub();
|
4391
|
+
this.speech = null;
|
4392
|
+
this._stopSpeaking = void 0;
|
4393
|
+
};
|
4394
|
+
}
|
4395
|
+
stopSpeaking() {
|
4396
|
+
if (!this._stopSpeaking) throw new Error("No message is being spoken");
|
4397
|
+
this._stopSpeaking();
|
4385
4398
|
}
|
4386
4399
|
submitFeedback({ messageId, type }) {
|
4387
4400
|
const adapter = this.options.adapters?.feedback;
|
@@ -4740,11 +4753,38 @@ var ExternalStoreThreadRuntimeCore = class {
|
|
4740
4753
|
throw new Error("Runtime does not support tool results.");
|
4741
4754
|
this._store.onAddToolResult(options);
|
4742
4755
|
}
|
4756
|
+
// TODO speech runtime?
|
4757
|
+
_stopSpeaking;
|
4758
|
+
speech = null;
|
4743
4759
|
speak(messageId) {
|
4744
|
-
|
4745
|
-
|
4760
|
+
let adapter = this.store.adapters?.speech;
|
4761
|
+
if (!adapter && this.store.onSpeak) {
|
4762
|
+
adapter = { speak: this.store.onSpeak };
|
4763
|
+
}
|
4764
|
+
if (!adapter) throw new Error("Speech adapter not configured");
|
4746
4765
|
const { message } = this.repository.getMessage(messageId);
|
4747
|
-
|
4766
|
+
this._stopSpeaking?.();
|
4767
|
+
const utterance = adapter.speak(message);
|
4768
|
+
const unsub = utterance.subscribe(() => {
|
4769
|
+
if (utterance.status.type === "ended") {
|
4770
|
+
this._stopSpeaking = void 0;
|
4771
|
+
this.speech = null;
|
4772
|
+
} else {
|
4773
|
+
this.speech = { messageId, status: utterance.status };
|
4774
|
+
}
|
4775
|
+
this.notifySubscribers();
|
4776
|
+
});
|
4777
|
+
this.speech = { messageId, status: utterance.status };
|
4778
|
+
this._stopSpeaking = () => {
|
4779
|
+
utterance.cancel();
|
4780
|
+
unsub();
|
4781
|
+
this.speech = null;
|
4782
|
+
this._stopSpeaking = void 0;
|
4783
|
+
};
|
4784
|
+
}
|
4785
|
+
stopSpeaking() {
|
4786
|
+
if (!this._stopSpeaking) throw new Error("No message is being spoken");
|
4787
|
+
this._stopSpeaking();
|
4748
4788
|
}
|
4749
4789
|
submitFeedback({ messageId, type }) {
|
4750
4790
|
const adapter = this._store.adapters?.feedback;
|
@@ -5011,11 +5051,11 @@ var WebSpeechSynthesisAdapter = class {
|
|
5011
5051
|
speak(message) {
|
5012
5052
|
const text = getThreadMessageText(message);
|
5013
5053
|
const utterance = new SpeechSynthesisUtterance(text);
|
5014
|
-
const
|
5054
|
+
const subscribers = /* @__PURE__ */ new Set();
|
5015
5055
|
const handleEnd = (reason, error) => {
|
5016
5056
|
if (res.status.type === "ended") return;
|
5017
5057
|
res.status = { type: "ended", reason, error };
|
5018
|
-
|
5058
|
+
subscribers.forEach((handler) => handler());
|
5019
5059
|
};
|
5020
5060
|
utterance.addEventListener("end", () => handleEnd("finished"));
|
5021
5061
|
utterance.addEventListener("error", (e) => handleEnd("error", e.error));
|
@@ -5026,7 +5066,7 @@ var WebSpeechSynthesisAdapter = class {
|
|
5026
5066
|
window.speechSynthesis.cancel();
|
5027
5067
|
handleEnd("cancelled");
|
5028
5068
|
},
|
5029
|
-
|
5069
|
+
subscribe: (callback) => {
|
5030
5070
|
if (res.status.type === "ended") {
|
5031
5071
|
let cancelled = false;
|
5032
5072
|
queueMicrotask(() => {
|
@@ -5036,9 +5076,9 @@ var WebSpeechSynthesisAdapter = class {
|
|
5036
5076
|
cancelled = true;
|
5037
5077
|
};
|
5038
5078
|
} else {
|
5039
|
-
|
5079
|
+
subscribers.add(callback);
|
5040
5080
|
return () => {
|
5041
|
-
|
5081
|
+
subscribers.delete(callback);
|
5042
5082
|
};
|
5043
5083
|
}
|
5044
5084
|
}
|
@@ -5288,13 +5328,13 @@ var AssistantActionBarRoot = withDefaults(actionBar_exports.Root, {
|
|
5288
5328
|
className: "aui-assistant-action-bar-root"
|
5289
5329
|
});
|
5290
5330
|
AssistantActionBarRoot.displayName = "AssistantActionBarRoot";
|
5291
|
-
var AssistantActionBarCopy = forwardRef24((props, ref) => {
|
5331
|
+
var AssistantActionBarCopy = forwardRef24(({ copiedDuration, ...props }, ref) => {
|
5292
5332
|
const {
|
5293
5333
|
strings: {
|
5294
5334
|
assistantMessage: { copy: { tooltip = "Copy" } = {} } = {}
|
5295
5335
|
} = {}
|
5296
5336
|
} = useThreadConfig();
|
5297
|
-
return /* @__PURE__ */ jsx39(actionBar_exports.Copy, { asChild: true, children: /* @__PURE__ */ jsx39(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsxs4(Fragment5, { children: [
|
5337
|
+
return /* @__PURE__ */ jsx39(actionBar_exports.Copy, { copiedDuration, asChild: true, children: /* @__PURE__ */ jsx39(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsxs4(Fragment5, { children: [
|
5298
5338
|
/* @__PURE__ */ jsx39(message_exports.If, { copied: true, children: /* @__PURE__ */ jsx39(CheckIcon, {}) }),
|
5299
5339
|
/* @__PURE__ */ jsx39(message_exports.If, { copied: false, children: /* @__PURE__ */ jsx39(CopyIcon, {}) })
|
5300
5340
|
] }) }) });
|
@@ -5409,7 +5449,7 @@ var BranchPicker = () => {
|
|
5409
5449
|
const allowBranchPicker = useAllowBranchPicker(true);
|
5410
5450
|
if (!allowBranchPicker) return null;
|
5411
5451
|
return /* @__PURE__ */ jsxs5(BranchPickerRoot, { hideWhenSingleBranch: true, children: [
|
5412
|
-
/* @__PURE__ */ jsx40(
|
5452
|
+
/* @__PURE__ */ jsx40(BranchPickerPrevious, {}),
|
5413
5453
|
/* @__PURE__ */ jsx40(BranchPickerState, {}),
|
5414
5454
|
/* @__PURE__ */ jsx40(BranchPickerNext, {})
|
5415
5455
|
] });
|
@@ -5419,7 +5459,7 @@ var BranchPickerRoot = withDefaults(branchPicker_exports.Root, {
|
|
5419
5459
|
className: "aui-branch-picker-root"
|
5420
5460
|
});
|
5421
5461
|
BranchPickerRoot.displayName = "BranchPickerRoot";
|
5422
|
-
var
|
5462
|
+
var BranchPickerPrevious = forwardRef25((props, ref) => {
|
5423
5463
|
const {
|
5424
5464
|
strings: {
|
5425
5465
|
branchPicker: { previous: { tooltip = "Previous" } = {} } = {}
|
@@ -5428,7 +5468,7 @@ var BranchPickerPrevious2 = forwardRef25((props, ref) => {
|
|
5428
5468
|
const allowBranchPicker = useAllowBranchPicker();
|
5429
5469
|
return /* @__PURE__ */ jsx40(branchPicker_exports.Previous, { disabled: !allowBranchPicker, asChild: true, children: /* @__PURE__ */ jsx40(TooltipIconButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx40(ChevronLeftIcon, {}) }) });
|
5430
5470
|
});
|
5431
|
-
|
5471
|
+
BranchPickerPrevious.displayName = "BranchPickerPrevious";
|
5432
5472
|
var BranchPickerStateWrapper = withDefaults("span", {
|
5433
5473
|
className: "aui-branch-picker-state"
|
5434
5474
|
});
|
@@ -5450,7 +5490,7 @@ var BranchPickerNext = forwardRef25((props, ref) => {
|
|
5450
5490
|
BranchPickerNext.displayName = "BranchPickerNext";
|
5451
5491
|
var exports2 = {
|
5452
5492
|
Root: BranchPickerRoot,
|
5453
|
-
Previous:
|
5493
|
+
Previous: BranchPickerPrevious,
|
5454
5494
|
Next: BranchPickerNext
|
5455
5495
|
};
|
5456
5496
|
var branch_picker_default = Object.assign(BranchPicker, exports2);
|
@@ -5720,23 +5760,27 @@ var ComposerSendButton = withDefaults(TooltipIconButton, {
|
|
5720
5760
|
variant: "default",
|
5721
5761
|
className: "aui-composer-send"
|
5722
5762
|
});
|
5723
|
-
var ComposerSend = forwardRef28(
|
5724
|
-
|
5725
|
-
|
5726
|
-
|
5727
|
-
|
5728
|
-
});
|
5763
|
+
var ComposerSend = forwardRef28(
|
5764
|
+
(props, ref) => {
|
5765
|
+
const {
|
5766
|
+
strings: { composer: { send: { tooltip = "Send" } = {} } = {} } = {}
|
5767
|
+
} = useThreadConfig();
|
5768
|
+
return /* @__PURE__ */ jsx46(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx46(ComposerSendButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx46(SendHorizontalIcon, {}) }) });
|
5769
|
+
}
|
5770
|
+
);
|
5729
5771
|
ComposerSend.displayName = "ComposerSend";
|
5730
5772
|
var ComposerCancelButton = withDefaults(TooltipIconButton, {
|
5731
5773
|
variant: "default",
|
5732
5774
|
className: "aui-composer-cancel"
|
5733
5775
|
});
|
5734
|
-
var ComposerCancel = forwardRef28(
|
5735
|
-
|
5736
|
-
|
5737
|
-
|
5738
|
-
|
5739
|
-
});
|
5776
|
+
var ComposerCancel = forwardRef28(
|
5777
|
+
(props, ref) => {
|
5778
|
+
const {
|
5779
|
+
strings: { composer: { cancel: { tooltip = "Cancel" } = {} } = {} } = {}
|
5780
|
+
} = useThreadConfig();
|
5781
|
+
return /* @__PURE__ */ jsx46(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx46(ComposerCancelButton, { tooltip, ...props, ref, children: props.children ?? /* @__PURE__ */ jsx46(CircleStopIcon, {}) }) });
|
5782
|
+
}
|
5783
|
+
);
|
5740
5784
|
ComposerCancel.displayName = "ComposerCancel";
|
5741
5785
|
var exports6 = {
|
5742
5786
|
Root: ComposerRoot,
|
@@ -5768,11 +5812,9 @@ var ThreadWelcomeRootStyled = withDefaults("div", {
|
|
5768
5812
|
var ThreadWelcomeCenter = withDefaults("div", {
|
5769
5813
|
className: "aui-thread-welcome-center"
|
5770
5814
|
});
|
5771
|
-
var ThreadWelcomeRoot = forwardRef29(
|
5772
|
-
(props, ref)
|
5773
|
-
|
5774
|
-
}
|
5775
|
-
);
|
5815
|
+
var ThreadWelcomeRoot = forwardRef29((props, ref) => {
|
5816
|
+
return /* @__PURE__ */ jsx47(thread_exports.Empty, { children: /* @__PURE__ */ jsx47(ThreadWelcomeRootStyled, { ...props, ref }) });
|
5817
|
+
});
|
5776
5818
|
ThreadWelcomeRoot.displayName = "ThreadWelcomeRoot";
|
5777
5819
|
var ThreadWelcomeAvatar = () => {
|
5778
5820
|
const { assistantAvatar: avatar = { fallback: "A" } } = useThreadConfig();
|
@@ -5889,19 +5931,17 @@ UserMessageRoot.displayName = "UserMessageRoot";
|
|
5889
5931
|
var UserMessageContentWrapper = withDefaults("div", {
|
5890
5932
|
className: "aui-user-message-content"
|
5891
5933
|
});
|
5892
|
-
var UserMessageContent = forwardRef31(
|
5893
|
-
({
|
5894
|
-
|
5895
|
-
|
5896
|
-
{
|
5897
|
-
components
|
5898
|
-
|
5899
|
-
Text: components?.Text ?? content_part_default.Text
|
5900
|
-
}
|
5934
|
+
var UserMessageContent = forwardRef31(({ components, ...props }, ref) => {
|
5935
|
+
return /* @__PURE__ */ jsx50(UserMessageContentWrapper, { ...props, ref, children: /* @__PURE__ */ jsx50(
|
5936
|
+
message_exports.Content,
|
5937
|
+
{
|
5938
|
+
components: {
|
5939
|
+
...components,
|
5940
|
+
Text: components?.Text ?? content_part_default.Text
|
5901
5941
|
}
|
5902
|
-
|
5903
|
-
}
|
5904
|
-
);
|
5942
|
+
}
|
5943
|
+
) });
|
5944
|
+
});
|
5905
5945
|
UserMessageContent.displayName = "UserMessageContent";
|
5906
5946
|
var UserMessageAttachmentsContainer = withDefaults("div", {
|
5907
5947
|
className: "aui-user-message-attachments"
|
@@ -5951,25 +5991,19 @@ var EditComposerFooter = withDefaults("div", {
|
|
5951
5991
|
className: "aui-edit-composer-footer"
|
5952
5992
|
});
|
5953
5993
|
EditComposerFooter.displayName = "EditComposerFooter";
|
5954
|
-
var EditComposerCancel = forwardRef32(
|
5955
|
-
|
5956
|
-
|
5957
|
-
|
5958
|
-
|
5959
|
-
|
5960
|
-
} = useThreadConfig();
|
5961
|
-
return /* @__PURE__ */ jsx51(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx51(Button, { variant: "ghost", ...props, ref, children: props.children ?? label }) });
|
5962
|
-
}
|
5963
|
-
);
|
5994
|
+
var EditComposerCancel = forwardRef32((props, ref) => {
|
5995
|
+
const {
|
5996
|
+
strings: { editComposer: { cancel: { label = "Cancel" } = {} } = {} } = {}
|
5997
|
+
} = useThreadConfig();
|
5998
|
+
return /* @__PURE__ */ jsx51(composer_exports.Cancel, { asChild: true, children: /* @__PURE__ */ jsx51(Button, { variant: "ghost", ...props, ref, children: props.children ?? label }) });
|
5999
|
+
});
|
5964
6000
|
EditComposerCancel.displayName = "EditComposerCancel";
|
5965
|
-
var EditComposerSend = forwardRef32(
|
5966
|
-
|
5967
|
-
|
5968
|
-
|
5969
|
-
|
5970
|
-
|
5971
|
-
}
|
5972
|
-
);
|
6001
|
+
var EditComposerSend = forwardRef32((props, ref) => {
|
6002
|
+
const {
|
6003
|
+
strings: { editComposer: { send: { label = "Send" } = {} } = {} } = {}
|
6004
|
+
} = useThreadConfig();
|
6005
|
+
return /* @__PURE__ */ jsx51(composer_exports.Send, { asChild: true, children: /* @__PURE__ */ jsx51(Button, { ...props, ref, children: props.children ?? label }) });
|
6006
|
+
});
|
5973
6007
|
EditComposerSend.displayName = "EditComposerSend";
|
5974
6008
|
var exports11 = {
|
5975
6009
|
Root: EditComposerRoot,
|
@@ -6081,7 +6115,10 @@ var AssistantModal = (config) => {
|
|
6081
6115
|
] });
|
6082
6116
|
};
|
6083
6117
|
AssistantModal.displayName = "AssistantModal";
|
6084
|
-
var AssistantModalRoot = ({
|
6118
|
+
var AssistantModalRoot = ({
|
6119
|
+
config,
|
6120
|
+
...props
|
6121
|
+
}) => {
|
6085
6122
|
return /* @__PURE__ */ jsx53(ThreadConfigProvider, { config, children: /* @__PURE__ */ jsx53(assistantModal_exports.Root, { ...props }) });
|
6086
6123
|
};
|
6087
6124
|
AssistantModalRoot.displayName = "AssistantModalRoot";
|