@assistant-ui/react 0.5.10 → 0.5.11
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.js +41 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -1284,7 +1284,7 @@ var toContentPartStatus = (message, partIndex, part) => {
|
|
1284
1284
|
return message.status;
|
1285
1285
|
};
|
1286
1286
|
var EMPTY_CONTENT = Object.freeze({ type: "text", text: "" });
|
1287
|
-
var
|
1287
|
+
var getContentPartState = ({ message }, useContentPart, partIndex) => {
|
1288
1288
|
let part = message.content[partIndex];
|
1289
1289
|
if (!part) {
|
1290
1290
|
if (message.content.length === 0 && partIndex === 0) {
|
@@ -1294,29 +1294,32 @@ var syncContentPart = ({ message }, useContentPart, partIndex) => {
|
|
1294
1294
|
}
|
1295
1295
|
}
|
1296
1296
|
const status = toContentPartStatus(message, partIndex, part);
|
1297
|
-
const currentState = useContentPart
|
1298
|
-
if (currentState.part === part && currentState.status === status)
|
1299
|
-
|
1300
|
-
|
1301
|
-
part,
|
1302
|
-
status
|
1303
|
-
})
|
1304
|
-
);
|
1297
|
+
const currentState = useContentPart?.getState();
|
1298
|
+
if (currentState && currentState.part === part && currentState.status === status)
|
1299
|
+
return null;
|
1300
|
+
return Object.freeze({ part, status });
|
1305
1301
|
};
|
1306
1302
|
var useContentPartContext2 = (partIndex) => {
|
1307
1303
|
const { useMessage } = useMessageContext();
|
1308
1304
|
const [context] = (0, import_react34.useState)(() => {
|
1309
1305
|
const useContentPart = (0, import_zustand10.create)(
|
1310
|
-
() => (
|
1306
|
+
() => getContentPartState(useMessage.getState(), void 0, partIndex)
|
1311
1307
|
);
|
1312
|
-
|
1308
|
+
getContentPartState(useMessage.getState(), useContentPart, partIndex);
|
1313
1309
|
return { useContentPart };
|
1314
1310
|
});
|
1315
1311
|
(0, import_react34.useEffect)(() => {
|
1316
|
-
syncContentPart(
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1312
|
+
const syncContentPart = (message) => {
|
1313
|
+
const newState = getContentPartState(
|
1314
|
+
message,
|
1315
|
+
context.useContentPart,
|
1316
|
+
partIndex
|
1317
|
+
);
|
1318
|
+
if (!newState) return;
|
1319
|
+
context.useContentPart.setState(newState, true);
|
1320
|
+
};
|
1321
|
+
syncContentPart(useMessage.getState());
|
1322
|
+
return useMessage.subscribe(syncContentPart);
|
1320
1323
|
}, [context, useMessage, partIndex]);
|
1321
1324
|
return context;
|
1322
1325
|
};
|
@@ -1913,16 +1916,15 @@ var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1913
1916
|
var getIsLast = (messages, message) => {
|
1914
1917
|
return messages[messages.length - 1]?.id === message.id;
|
1915
1918
|
};
|
1916
|
-
var
|
1919
|
+
var getMessageState = (messages, getBranches, useMessage, messageIndex) => {
|
1917
1920
|
const parentId = messages[messageIndex - 1]?.id ?? null;
|
1918
1921
|
const message = messages[messageIndex];
|
1919
|
-
if (!message) return;
|
1920
1922
|
const isLast = getIsLast(messages, message);
|
1921
1923
|
const branches = getBranches(message.id);
|
1922
|
-
const currentState = useMessage
|
1923
|
-
if (currentState.message === message && currentState.parentId === parentId && currentState.branches === branches && currentState.isLast === isLast)
|
1924
|
-
return;
|
1925
|
-
|
1924
|
+
const currentState = useMessage?.getState();
|
1925
|
+
if (currentState && currentState.message === message && currentState.parentId === parentId && currentState.branches === branches && currentState.isLast === isLast)
|
1926
|
+
return null;
|
1927
|
+
return Object.freeze({
|
1926
1928
|
message,
|
1927
1929
|
parentId,
|
1928
1930
|
branches,
|
@@ -1932,7 +1934,14 @@ var syncMessage = (messages, getBranches, useMessage, messageIndex) => {
|
|
1932
1934
|
var useMessageContext2 = (messageIndex) => {
|
1933
1935
|
const { useThreadMessages, useThreadActions } = useThreadContext();
|
1934
1936
|
const [context] = (0, import_react48.useState)(() => {
|
1935
|
-
const useMessage = (0, import_zustand13.create)(
|
1937
|
+
const useMessage = (0, import_zustand13.create)(
|
1938
|
+
() => getMessageState(
|
1939
|
+
useThreadMessages.getState(),
|
1940
|
+
useThreadActions.getState().getBranches,
|
1941
|
+
void 0,
|
1942
|
+
messageIndex
|
1943
|
+
)
|
1944
|
+
);
|
1936
1945
|
const useMessageUtils = makeMessageUtilsStore();
|
1937
1946
|
const useEditComposer = makeEditComposerStore({
|
1938
1947
|
onEdit: () => {
|
@@ -1960,23 +1969,24 @@ var useMessageContext2 = (messageIndex) => {
|
|
1960
1969
|
});
|
1961
1970
|
}
|
1962
1971
|
});
|
1963
|
-
syncMessage(
|
1964
|
-
useThreadMessages.getState(),
|
1965
|
-
useThreadActions.getState().getBranches,
|
1966
|
-
useMessage,
|
1967
|
-
messageIndex
|
1968
|
-
);
|
1969
1972
|
return { useMessage, useMessageUtils, useEditComposer };
|
1970
1973
|
});
|
1971
1974
|
(0, import_react48.useEffect)(() => {
|
1972
|
-
|
1973
|
-
|
1975
|
+
const syncMessage = (thread) => {
|
1976
|
+
const newState = getMessageState(
|
1974
1977
|
thread,
|
1975
1978
|
useThreadActions.getState().getBranches,
|
1976
1979
|
context.useMessage,
|
1977
1980
|
messageIndex
|
1978
1981
|
);
|
1979
|
-
|
1982
|
+
if (!newState) return;
|
1983
|
+
context.useMessage.setState(
|
1984
|
+
newState,
|
1985
|
+
true
|
1986
|
+
);
|
1987
|
+
};
|
1988
|
+
syncMessage(useThreadMessages.getState());
|
1989
|
+
return useThreadMessages.subscribe(syncMessage);
|
1980
1990
|
}, [useThreadMessages, useThreadActions, context, messageIndex]);
|
1981
1991
|
return context;
|
1982
1992
|
};
|