@copilotkit/react-ui 1.68.1 → 1.68.2
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.cjs +43 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -2
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +40 -16
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +40 -16
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +43 -16
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +43 -16
- package/dist/index.umd.js.map +1 -1
- package/package.json +4 -4
- package/src/components/chat/Chat.tsx +37 -27
- package/src/components/chat/feedback.test.ts +74 -0
- package/src/components/chat/feedback.ts +38 -0
- package/src/components/chat/messages/AssistantMessage.tsx +5 -2
- package/src/components/chat/props.ts +30 -12
- package/src/css/header-padding.test.ts +40 -0
- package/src/css/header.css +1 -2
package/dist/index.umd.js
CHANGED
|
@@ -1424,6 +1424,36 @@ rehype_sanitize = __toESM(rehype_sanitize);
|
|
|
1424
1424
|
});
|
|
1425
1425
|
};
|
|
1426
1426
|
|
|
1427
|
+
//#endregion
|
|
1428
|
+
//#region src/components/chat/feedback.ts
|
|
1429
|
+
/**
|
|
1430
|
+
* The feedback state a click on `kind` transitions to.
|
|
1431
|
+
*
|
|
1432
|
+
* Clicking the button that is already active retracts the feedback, so the
|
|
1433
|
+
* click deactivates it; every other click applies feedback.
|
|
1434
|
+
*/
|
|
1435
|
+
function isActivatingClick(current, kind) {
|
|
1436
|
+
return current !== kind;
|
|
1437
|
+
}
|
|
1438
|
+
/**
|
|
1439
|
+
* Applies a feedback click to the message-id keyed map.
|
|
1440
|
+
*
|
|
1441
|
+
* A deactivating click removes the entry entirely rather than storing a falsy
|
|
1442
|
+
* value, so `messageFeedback[id]` stays absent for "no feedback given".
|
|
1443
|
+
*/
|
|
1444
|
+
function applyFeedbackClick(previous, messageId, kind, isActive) {
|
|
1445
|
+
if (!isActive) {
|
|
1446
|
+
if (!(messageId in previous)) return previous;
|
|
1447
|
+
const { [messageId]: _retracted, ...rest } = previous;
|
|
1448
|
+
return rest;
|
|
1449
|
+
}
|
|
1450
|
+
if (previous[messageId] === kind) return previous;
|
|
1451
|
+
return {
|
|
1452
|
+
...previous,
|
|
1453
|
+
[messageId]: kind
|
|
1454
|
+
};
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1427
1457
|
//#endregion
|
|
1428
1458
|
//#region src/components/chat/messages/AssistantMessage.tsx
|
|
1429
1459
|
const AssistantMessage = (props) => {
|
|
@@ -1444,10 +1474,10 @@ rehype_sanitize = __toESM(rehype_sanitize);
|
|
|
1444
1474
|
if (onRegenerate) onRegenerate();
|
|
1445
1475
|
};
|
|
1446
1476
|
const handleThumbsUp = () => {
|
|
1447
|
-
if (onThumbsUp && message) onThumbsUp(message);
|
|
1477
|
+
if (onThumbsUp && message) onThumbsUp(message, isActivatingClick(feedback, "thumbsUp"));
|
|
1448
1478
|
};
|
|
1449
1479
|
const handleThumbsDown = () => {
|
|
1450
|
-
if (onThumbsDown && message) onThumbsDown(message);
|
|
1480
|
+
if (onThumbsDown && message) onThumbsDown(message, isActivatingClick(feedback, "thumbsDown"));
|
|
1451
1481
|
};
|
|
1452
1482
|
const LoadingIcon = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1453
1483
|
"data-testid": "copilot-loading-cursor",
|
|
@@ -2522,21 +2552,18 @@ rehype_sanitize = __toESM(rehype_sanitize);
|
|
|
2522
2552
|
triggerChatError(error, "dropUpload", error);
|
|
2523
2553
|
}
|
|
2524
2554
|
};
|
|
2525
|
-
const
|
|
2526
|
-
|
|
2527
|
-
setMessageFeedback((prev) => (
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2555
|
+
const recordFeedback = (message, kind, isActive) => {
|
|
2556
|
+
const nextActive = isActive !== null && isActive !== void 0 ? isActive : true;
|
|
2557
|
+
setMessageFeedback((prev) => applyFeedbackClick(prev, message.id, kind, nextActive));
|
|
2558
|
+
if (nextActive) triggerObservabilityHook("onFeedbackGiven", message.id, kind);
|
|
2559
|
+
};
|
|
2560
|
+
const handleThumbsUp = (message, isActive) => {
|
|
2561
|
+
onThumbsUp === null || onThumbsUp === void 0 || onThumbsUp(message, isActive !== null && isActive !== void 0 ? isActive : true);
|
|
2562
|
+
recordFeedback(message, "thumbsUp", isActive);
|
|
2532
2563
|
};
|
|
2533
|
-
const handleThumbsDown = (message) => {
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
...prev,
|
|
2537
|
-
[message.id]: "thumbsDown"
|
|
2538
|
-
}));
|
|
2539
|
-
triggerObservabilityHook("onFeedbackGiven", message.id, "thumbsDown");
|
|
2564
|
+
const handleThumbsDown = (message, isActive) => {
|
|
2565
|
+
onThumbsDown === null || onThumbsDown === void 0 || onThumbsDown(message, isActive !== null && isActive !== void 0 ? isActive : true);
|
|
2566
|
+
recordFeedback(message, "thumbsDown", isActive);
|
|
2540
2567
|
};
|
|
2541
2568
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WrappedCopilotChat, {
|
|
2542
2569
|
icons,
|