@assistant-ui/react 0.5.15 → 0.5.16
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/index.d.mts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +43 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +43 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -209,6 +209,7 @@ var makeComposerStore = (useThreadMessages, useThreadActions) => {
|
|
209
209
|
import { create as create4 } from "zustand";
|
210
210
|
var makeThreadStore = (runtimeRef) => {
|
211
211
|
return create4(() => ({
|
212
|
+
isDisabled: runtimeRef.getState().isDisabled,
|
212
213
|
isRunning: runtimeRef.getState().isRunning
|
213
214
|
}));
|
214
215
|
};
|
@@ -307,10 +308,12 @@ var ThreadProvider = ({
|
|
307
308
|
useCallback2(
|
308
309
|
(thread) => {
|
309
310
|
const onThreadUpdate = () => {
|
310
|
-
|
311
|
+
const threadState = context.useThread.getState();
|
312
|
+
if (thread.isRunning !== threadState.isRunning || thread.isDisabled !== threadState.isDisabled) {
|
311
313
|
context.useThread.setState(
|
312
314
|
Object.freeze({
|
313
|
-
isRunning: thread.isRunning
|
315
|
+
isRunning: thread.isRunning,
|
316
|
+
isDisabled: thread.isDisabled
|
314
317
|
}),
|
315
318
|
true
|
316
319
|
);
|
@@ -621,7 +624,7 @@ var useActionBarReload = () => {
|
|
621
624
|
const { useMessage } = useMessageContext();
|
622
625
|
const disabled = useCombinedStore(
|
623
626
|
[useThread, useMessage],
|
624
|
-
(t, m) => t.isRunning || m.message.role !== "assistant"
|
627
|
+
(t, m) => t.isRunning || t.isDisabled || m.message.role !== "assistant"
|
625
628
|
);
|
626
629
|
const callback = useCallback7(() => {
|
627
630
|
const { parentId } = useMessage.getState();
|
@@ -707,9 +710,16 @@ var useComposerIf = (props) => {
|
|
707
710
|
// src/primitive-hooks/composer/useComposerSend.tsx
|
708
711
|
import { useCallback as useCallback11 } from "react";
|
709
712
|
var useComposerSend = () => {
|
710
|
-
const {
|
713
|
+
const {
|
714
|
+
useThread,
|
715
|
+
useViewport,
|
716
|
+
useComposer: useNewComposer
|
717
|
+
} = useThreadContext();
|
711
718
|
const { useComposer } = useComposerContext();
|
712
|
-
const disabled =
|
719
|
+
const disabled = useCombinedStore(
|
720
|
+
[useThread, useComposer],
|
721
|
+
(t, c) => t.isDisabled || t.isRunning || !c.isEditing || c.value.length === 0
|
722
|
+
);
|
713
723
|
const callback = useCallback11(() => {
|
714
724
|
const composerState = useComposer.getState();
|
715
725
|
if (!composerState.isEditing) return;
|
@@ -788,6 +798,8 @@ var useThreadIf = (props) => {
|
|
788
798
|
if (props.empty === false && messages.length === 0) return false;
|
789
799
|
if (props.running === true && !thread.isRunning) return false;
|
790
800
|
if (props.running === false && thread.isRunning) return false;
|
801
|
+
if (props.disabled === true && thread.isDisabled) return false;
|
802
|
+
if (props.disabled === false && thread.isDisabled) return false;
|
791
803
|
return true;
|
792
804
|
}
|
793
805
|
);
|
@@ -819,7 +831,7 @@ var useThreadSuggestion = ({
|
|
819
831
|
}) => {
|
820
832
|
const { useThread, useComposer } = useThreadContext();
|
821
833
|
const append = useAppendMessage();
|
822
|
-
const disabled = useThread((t) => t.
|
834
|
+
const disabled = useThread((t) => t.isDisabled);
|
823
835
|
const callback = useCallback13(() => {
|
824
836
|
const thread = useThread.getState();
|
825
837
|
const composer = useComposer.getState();
|
@@ -1512,7 +1524,14 @@ import TextareaAutosize from "react-textarea-autosize";
|
|
1512
1524
|
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
1513
1525
|
import { jsx as jsx19 } from "react/jsx-runtime";
|
1514
1526
|
var ComposerPrimitiveInput = forwardRef11(
|
1515
|
-
({
|
1527
|
+
({
|
1528
|
+
autoFocus = false,
|
1529
|
+
asChild,
|
1530
|
+
disabled: disabledProp,
|
1531
|
+
onChange,
|
1532
|
+
onKeyDown,
|
1533
|
+
...rest
|
1534
|
+
}, forwardedRef) => {
|
1516
1535
|
const { useThread } = useThreadContext();
|
1517
1536
|
const { useComposer, type } = useComposerContext();
|
1518
1537
|
const value = useComposer((c) => {
|
@@ -1520,6 +1539,7 @@ var ComposerPrimitiveInput = forwardRef11(
|
|
1520
1539
|
return c.value;
|
1521
1540
|
});
|
1522
1541
|
const Component = asChild ? Slot : TextareaAutosize;
|
1542
|
+
const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;
|
1523
1543
|
const textareaRef = useRef4(null);
|
1524
1544
|
const ref = useComposedRefs2(forwardedRef, textareaRef);
|
1525
1545
|
useEscapeKeydown((e) => {
|
@@ -1530,7 +1550,7 @@ var ComposerPrimitiveInput = forwardRef11(
|
|
1530
1550
|
}
|
1531
1551
|
});
|
1532
1552
|
const handleKeyPress = (e) => {
|
1533
|
-
if (
|
1553
|
+
if (isDisabled) return;
|
1534
1554
|
if (e.key === "Enter" && e.shiftKey === false) {
|
1535
1555
|
const isRunning = useThread.getState().isRunning;
|
1536
1556
|
if (!isRunning) {
|
@@ -1539,7 +1559,7 @@ var ComposerPrimitiveInput = forwardRef11(
|
|
1539
1559
|
}
|
1540
1560
|
}
|
1541
1561
|
};
|
1542
|
-
const autoFocusEnabled = autoFocus && !
|
1562
|
+
const autoFocusEnabled = autoFocus && !isDisabled;
|
1543
1563
|
const focus = useCallback15(() => {
|
1544
1564
|
const textarea = textareaRef.current;
|
1545
1565
|
if (!textarea || !autoFocusEnabled) return;
|
@@ -1562,7 +1582,7 @@ var ComposerPrimitiveInput = forwardRef11(
|
|
1562
1582
|
value,
|
1563
1583
|
...rest,
|
1564
1584
|
ref,
|
1565
|
-
disabled,
|
1585
|
+
disabled: isDisabled,
|
1566
1586
|
onChange: composeEventHandlers5(onChange, (e) => {
|
1567
1587
|
const composerState = useComposer.getState();
|
1568
1588
|
if (!composerState.isEditing) return;
|
@@ -3392,6 +3412,7 @@ var LocalThreadRuntime = class {
|
|
3392
3412
|
abortController = null;
|
3393
3413
|
repository = new MessageRepository();
|
3394
3414
|
capabilities = CAPABILITIES;
|
3415
|
+
isDisabled = false;
|
3395
3416
|
get messages() {
|
3396
3417
|
return this.repository.getMessages();
|
3397
3418
|
}
|
@@ -3702,6 +3723,7 @@ var useExternalStoreSync = (adapter, updateData) => {
|
|
3702
3723
|
}, [adapter.convertMessage]);
|
3703
3724
|
useEffect11(() => {
|
3704
3725
|
updateData(
|
3726
|
+
adapter.isDisabled ?? false,
|
3705
3727
|
adapter.isRunning ?? false,
|
3706
3728
|
converter.convertMessages(adapter.messages, convertCallback)
|
3707
3729
|
);
|
@@ -3709,8 +3731,9 @@ var useExternalStoreSync = (adapter, updateData) => {
|
|
3709
3731
|
updateData,
|
3710
3732
|
converter,
|
3711
3733
|
convertCallback,
|
3712
|
-
adapter.
|
3713
|
-
adapter.isRunning
|
3734
|
+
adapter.isDisabled,
|
3735
|
+
adapter.isRunning,
|
3736
|
+
adapter.messages
|
3714
3737
|
]);
|
3715
3738
|
};
|
3716
3739
|
|
@@ -3721,6 +3744,9 @@ var hasUpcomingMessage = (isRunning, messages) => {
|
|
3721
3744
|
var ExternalStoreThreadRuntime = class {
|
3722
3745
|
constructor(store) {
|
3723
3746
|
this.store = store;
|
3747
|
+
this.isDisabled = store.isDisabled ?? false;
|
3748
|
+
this.isRunning = store.isRunning ?? false;
|
3749
|
+
this.messages = store.messages;
|
3724
3750
|
this.useStore = create14(() => ({
|
3725
3751
|
store
|
3726
3752
|
}));
|
@@ -3738,8 +3764,9 @@ var ExternalStoreThreadRuntime = class {
|
|
3738
3764
|
copy: this.store.onCopy !== null
|
3739
3765
|
};
|
3740
3766
|
}
|
3741
|
-
messages
|
3742
|
-
|
3767
|
+
messages;
|
3768
|
+
isDisabled;
|
3769
|
+
isRunning;
|
3743
3770
|
getBranches(messageId) {
|
3744
3771
|
return this.repository.getBranches(messageId);
|
3745
3772
|
}
|
@@ -3790,7 +3817,7 @@ var ExternalStoreThreadRuntime = class {
|
|
3790
3817
|
this.useStore.setState({ store: this.store });
|
3791
3818
|
}
|
3792
3819
|
}
|
3793
|
-
updateData = (isRunning, vm) => {
|
3820
|
+
updateData = (isDisabled, isRunning, vm) => {
|
3794
3821
|
for (let i = 0; i < vm.length; i++) {
|
3795
3822
|
const message = vm[i];
|
3796
3823
|
const parent = vm[i - 1];
|
@@ -3813,6 +3840,7 @@ var ExternalStoreThreadRuntime = class {
|
|
3813
3840
|
this.assistantOptimisticId ?? vm.at(-1)?.id ?? null
|
3814
3841
|
);
|
3815
3842
|
this.messages = this.repository.getMessages();
|
3843
|
+
this.isDisabled = isDisabled;
|
3816
3844
|
this.isRunning = isRunning;
|
3817
3845
|
for (const callback of this._subscriptions) callback();
|
3818
3846
|
};
|