@copilotkit/react-ui 1.7.2-next.1 → 1.7.2-next.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/CHANGELOG.md +9 -0
- package/dist/{chunk-AZU4QOV5.mjs → chunk-AELKLZSG.mjs} +5 -5
- package/dist/{chunk-3PJA5MFR.mjs → chunk-DLG7BZTA.mjs} +2 -2
- package/dist/chunk-EJG6RRSX.mjs +138 -0
- package/dist/chunk-EJG6RRSX.mjs.map +1 -0
- package/dist/chunk-MCO235PS.mjs +164 -0
- package/dist/chunk-MCO235PS.mjs.map +1 -0
- package/dist/chunk-MWC5OV7Z.mjs +1 -0
- package/dist/chunk-N7LTE54T.mjs +1 -0
- package/dist/chunk-N7LTE54T.mjs.map +1 -0
- package/dist/{chunk-2C3ANQCY.mjs → chunk-QXQDIFOC.mjs} +9 -9
- package/dist/{chunk-ADTTDBLB.mjs → chunk-R2O33F44.mjs} +2 -2
- package/dist/chunk-UCVCAGU7.mjs +1 -0
- package/dist/chunk-UCVCAGU7.mjs.map +1 -0
- package/dist/{chunk-22K5DDPF.mjs → chunk-ZIF5JJCH.mjs} +8 -8
- package/dist/components/chat/Chat.mjs +7 -7
- package/dist/components/chat/Modal.mjs +8 -8
- package/dist/components/chat/Popup.mjs +9 -9
- package/dist/components/chat/Sidebar.mjs +9 -9
- package/dist/components/chat/index.mjs +12 -12
- package/dist/components/crew/DefaultResponseRenderer.d.ts +110 -0
- package/dist/components/crew/DefaultResponseRenderer.js +175 -0
- package/dist/components/crew/DefaultResponseRenderer.js.map +1 -0
- package/dist/components/crew/DefaultResponseRenderer.mjs +10 -0
- package/dist/components/crew/DefaultResponseRenderer.mjs.map +1 -0
- package/dist/components/crew/DefaultStateRenderer.d.ts +88 -0
- package/dist/components/crew/DefaultStateRenderer.js +198 -0
- package/dist/components/crew/DefaultStateRenderer.js.map +1 -0
- package/dist/components/crew/DefaultStateRenderer.mjs +8 -0
- package/dist/components/crew/DefaultStateRenderer.mjs.map +1 -0
- package/dist/components/crew/index.d.ts +4 -0
- package/dist/components/crew/index.js +335 -0
- package/dist/components/crew/index.js.map +1 -0
- package/dist/components/crew/index.mjs +16 -0
- package/dist/components/crew/index.mjs.map +1 -0
- package/dist/components/crew/types.d.ts +340 -0
- package/dist/components/crew/types.js +19 -0
- package/dist/components/crew/types.js.map +1 -0
- package/dist/components/crew/types.mjs +2 -0
- package/dist/components/crew/types.mjs.map +1 -0
- package/dist/components/dev-console/console.mjs +3 -3
- package/dist/components/dev-console/index.mjs +4 -4
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +290 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +26 -14
- package/dist/index.css +227 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +292 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +26 -14
- package/package.json +4 -4
- package/src/components/crew/DefaultResponseRenderer.tsx +298 -0
- package/src/components/crew/DefaultStateRenderer.tsx +326 -0
- package/src/components/crew/index.ts +3 -0
- package/src/components/crew/types.ts +398 -0
- package/src/components/index.ts +1 -0
- package/src/css/crew.css +277 -0
- package/src/styles.css +1 -0
- package/dist/chunk-MMVDU6DF.mjs +0 -1
- /package/dist/{chunk-AZU4QOV5.mjs.map → chunk-AELKLZSG.mjs.map} +0 -0
- /package/dist/{chunk-3PJA5MFR.mjs.map → chunk-DLG7BZTA.mjs.map} +0 -0
- /package/dist/{chunk-MMVDU6DF.mjs.map → chunk-MWC5OV7Z.mjs.map} +0 -0
- /package/dist/{chunk-2C3ANQCY.mjs.map → chunk-QXQDIFOC.mjs.map} +0 -0
- /package/dist/{chunk-ADTTDBLB.mjs.map → chunk-R2O33F44.mjs.map} +0 -0
- /package/dist/{chunk-22K5DDPF.mjs.map → chunk-ZIF5JJCH.mjs.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -84,8 +84,11 @@ __export(components_exports, {
|
|
|
84
84
|
CopilotDevConsole: () => CopilotDevConsole,
|
|
85
85
|
CopilotPopup: () => CopilotPopup,
|
|
86
86
|
CopilotSidebar: () => CopilotSidebar,
|
|
87
|
+
DefaultResponseRenderer: () => DefaultResponseRenderer,
|
|
88
|
+
DefaultStateRenderer: () => DefaultStateRenderer,
|
|
87
89
|
Markdown: () => Markdown,
|
|
88
90
|
UserMessage: () => UserMessage,
|
|
91
|
+
createResponseCache: () => createResponseCache,
|
|
89
92
|
shouldShowDevConsole: () => shouldShowDevConsole,
|
|
90
93
|
useChatContext: () => useChatContext
|
|
91
94
|
});
|
|
@@ -2793,6 +2796,290 @@ function CopilotSidebar(props) {
|
|
|
2793
2796
|
};
|
|
2794
2797
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `copilotKitSidebarContentWrapper ${expandedClassName}`, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CopilotModal, __spreadProps(__spreadValues(__spreadValues({}, props), { onSetOpen }), { children: props.children })) });
|
|
2795
2798
|
}
|
|
2799
|
+
|
|
2800
|
+
// src/components/crew/DefaultResponseRenderer.tsx
|
|
2801
|
+
var import_react15 = require("react");
|
|
2802
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2803
|
+
var createResponseCache = () => {
|
|
2804
|
+
const responseCache = /* @__PURE__ */ new Map();
|
|
2805
|
+
return {
|
|
2806
|
+
getResponse: (id) => responseCache.get(id),
|
|
2807
|
+
setResponse: (id, response) => responseCache.set(id, response)
|
|
2808
|
+
};
|
|
2809
|
+
};
|
|
2810
|
+
var useResponseCache = createResponseCache();
|
|
2811
|
+
var DefaultExpandIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2812
|
+
"svg",
|
|
2813
|
+
{
|
|
2814
|
+
className,
|
|
2815
|
+
width: "12",
|
|
2816
|
+
height: "12",
|
|
2817
|
+
viewBox: "0 0 24 24",
|
|
2818
|
+
fill: "none",
|
|
2819
|
+
stroke: "currentColor",
|
|
2820
|
+
strokeWidth: "2",
|
|
2821
|
+
strokeLinecap: "round",
|
|
2822
|
+
strokeLinejoin: "round",
|
|
2823
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("polyline", { points: "6 9 12 15 18 9" })
|
|
2824
|
+
}
|
|
2825
|
+
);
|
|
2826
|
+
var DefaultCollapseIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2827
|
+
"svg",
|
|
2828
|
+
{
|
|
2829
|
+
className,
|
|
2830
|
+
width: "12",
|
|
2831
|
+
height: "12",
|
|
2832
|
+
viewBox: "0 0 24 24",
|
|
2833
|
+
fill: "none",
|
|
2834
|
+
stroke: "currentColor",
|
|
2835
|
+
strokeWidth: "2",
|
|
2836
|
+
strokeLinecap: "round",
|
|
2837
|
+
strokeLinejoin: "round",
|
|
2838
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("polyline", { points: "18 15 12 9 6 15" })
|
|
2839
|
+
}
|
|
2840
|
+
);
|
|
2841
|
+
var DefaultContentRenderer = ({ content, className }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className, children: content });
|
|
2842
|
+
var DefaultFeedbackButton = ({ label, onClick, className }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick, className, children: label });
|
|
2843
|
+
var DefaultCompletedFeedback = ({ message, className }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: message }) });
|
|
2844
|
+
var DefaultResponseRenderer = ({
|
|
2845
|
+
response,
|
|
2846
|
+
status,
|
|
2847
|
+
onRespond,
|
|
2848
|
+
icons,
|
|
2849
|
+
labels,
|
|
2850
|
+
ContentRenderer = DefaultContentRenderer,
|
|
2851
|
+
FeedbackButton = DefaultFeedbackButton,
|
|
2852
|
+
CompletedFeedback = DefaultCompletedFeedback,
|
|
2853
|
+
className = "copilotkit-response",
|
|
2854
|
+
contentClassName = "copilotkit-response-content",
|
|
2855
|
+
actionsClassName = "copilotkit-response-actions",
|
|
2856
|
+
buttonClassName = "copilotkit-response-button",
|
|
2857
|
+
completedFeedbackClassName = "copilotkit-response-completed-feedback"
|
|
2858
|
+
}) => {
|
|
2859
|
+
const [isExpanded, setIsExpanded] = (0, import_react15.useState)(true);
|
|
2860
|
+
const defaultLabels = {
|
|
2861
|
+
responseLabel: "Response",
|
|
2862
|
+
approveLabel: "Approve",
|
|
2863
|
+
rejectLabel: "Reject",
|
|
2864
|
+
approvedMessage: "Approved",
|
|
2865
|
+
rejectedMessage: "Rejected",
|
|
2866
|
+
feedbackSubmittedMessage: "Feedback submitted"
|
|
2867
|
+
};
|
|
2868
|
+
const mergedLabels = __spreadValues(__spreadValues({}, defaultLabels), labels);
|
|
2869
|
+
const renderFeedback = () => {
|
|
2870
|
+
if (status === "complete") {
|
|
2871
|
+
const cachedResponse = useResponseCache.getResponse(response.id);
|
|
2872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2873
|
+
CompletedFeedback,
|
|
2874
|
+
{
|
|
2875
|
+
message: (cachedResponse == null ? void 0 : cachedResponse.__feedback__) ? cachedResponse.__feedback__ === mergedLabels.approvedMessage ? mergedLabels.approvedMessage : mergedLabels.rejectedMessage : mergedLabels.feedbackSubmittedMessage,
|
|
2876
|
+
className: completedFeedbackClassName
|
|
2877
|
+
}
|
|
2878
|
+
);
|
|
2879
|
+
}
|
|
2880
|
+
if (status === "inProgress" || status === "executing") {
|
|
2881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
2882
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2883
|
+
FeedbackButton,
|
|
2884
|
+
{
|
|
2885
|
+
label: mergedLabels.approveLabel,
|
|
2886
|
+
onClick: () => {
|
|
2887
|
+
setIsExpanded(false);
|
|
2888
|
+
onRespond == null ? void 0 : onRespond(mergedLabels.approveLabel);
|
|
2889
|
+
useResponseCache.setResponse(response.id, __spreadProps(__spreadValues({}, response), {
|
|
2890
|
+
__feedback__: mergedLabels.approvedMessage
|
|
2891
|
+
}));
|
|
2892
|
+
},
|
|
2893
|
+
className: buttonClassName
|
|
2894
|
+
}
|
|
2895
|
+
),
|
|
2896
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2897
|
+
FeedbackButton,
|
|
2898
|
+
{
|
|
2899
|
+
label: mergedLabels.rejectLabel,
|
|
2900
|
+
onClick: () => {
|
|
2901
|
+
setIsExpanded(false);
|
|
2902
|
+
useResponseCache.setResponse(response.id, __spreadProps(__spreadValues({}, response), {
|
|
2903
|
+
__feedback__: mergedLabels.rejectedMessage
|
|
2904
|
+
}));
|
|
2905
|
+
onRespond == null ? void 0 : onRespond(mergedLabels.rejectLabel);
|
|
2906
|
+
},
|
|
2907
|
+
className: buttonClassName
|
|
2908
|
+
}
|
|
2909
|
+
)
|
|
2910
|
+
] });
|
|
2911
|
+
}
|
|
2912
|
+
return null;
|
|
2913
|
+
};
|
|
2914
|
+
const ExpandIcon = (icons == null ? void 0 : icons.expand) || DefaultExpandIcon;
|
|
2915
|
+
const CollapseIcon = (icons == null ? void 0 : icons.collapse) || DefaultCollapseIcon;
|
|
2916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className, children: [
|
|
2917
|
+
isExpanded && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ContentRenderer, { content: response.content, className: contentClassName }),
|
|
2918
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: actionsClassName, children: [
|
|
2919
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "copilotkit-response-label", children: [
|
|
2920
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => setIsExpanded(!isExpanded), className: "copilotkit-toggle-button", children: isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CollapseIcon, { className: "copilotkit-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ExpandIcon, { className: "copilotkit-icon" }) }),
|
|
2921
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { children: mergedLabels.responseLabel })
|
|
2922
|
+
] }),
|
|
2923
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "copilotkit-response-buttons", children: renderFeedback() })
|
|
2924
|
+
] })
|
|
2925
|
+
] });
|
|
2926
|
+
};
|
|
2927
|
+
|
|
2928
|
+
// src/components/crew/DefaultStateRenderer.tsx
|
|
2929
|
+
var import_react16 = require("react");
|
|
2930
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2931
|
+
var DefaultExpandIcon2 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2932
|
+
"svg",
|
|
2933
|
+
{
|
|
2934
|
+
className,
|
|
2935
|
+
width: "16",
|
|
2936
|
+
height: "16",
|
|
2937
|
+
viewBox: "0 0 24 24",
|
|
2938
|
+
fill: "none",
|
|
2939
|
+
stroke: "currentColor",
|
|
2940
|
+
strokeWidth: "2",
|
|
2941
|
+
strokeLinecap: "round",
|
|
2942
|
+
strokeLinejoin: "round",
|
|
2943
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("polyline", { points: "6 9 12 15 18 9" })
|
|
2944
|
+
}
|
|
2945
|
+
);
|
|
2946
|
+
var DefaultCollapseIcon2 = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2947
|
+
"svg",
|
|
2948
|
+
{
|
|
2949
|
+
className,
|
|
2950
|
+
width: "16",
|
|
2951
|
+
height: "16",
|
|
2952
|
+
viewBox: "0 0 24 24",
|
|
2953
|
+
fill: "none",
|
|
2954
|
+
stroke: "currentColor",
|
|
2955
|
+
strokeWidth: "2",
|
|
2956
|
+
strokeLinecap: "round",
|
|
2957
|
+
strokeLinejoin: "round",
|
|
2958
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("polyline", { points: "18 15 12 9 6 15" })
|
|
2959
|
+
}
|
|
2960
|
+
);
|
|
2961
|
+
var DefaultLoaderIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2962
|
+
"svg",
|
|
2963
|
+
{
|
|
2964
|
+
className: `${className} copilotkit-spinner`,
|
|
2965
|
+
width: "16",
|
|
2966
|
+
height: "16",
|
|
2967
|
+
viewBox: "0 0 24 24",
|
|
2968
|
+
fill: "none",
|
|
2969
|
+
stroke: "currentColor",
|
|
2970
|
+
strokeWidth: "2",
|
|
2971
|
+
strokeLinecap: "round",
|
|
2972
|
+
strokeLinejoin: "round",
|
|
2973
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
2974
|
+
}
|
|
2975
|
+
);
|
|
2976
|
+
var formatContent = (result) => {
|
|
2977
|
+
if (result === null || result === void 0)
|
|
2978
|
+
return "";
|
|
2979
|
+
return typeof result === "string" ? result : JSON.stringify(result, null, 2);
|
|
2980
|
+
};
|
|
2981
|
+
var DefaultSkeletonLoader = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: className || "copilotkit-skeleton", children: [
|
|
2982
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "copilotkit-skeleton-header", children: [
|
|
2983
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-skeleton-title" }),
|
|
2984
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-skeleton-subtitle" })
|
|
2985
|
+
] }),
|
|
2986
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-skeleton-content" })
|
|
2987
|
+
] });
|
|
2988
|
+
var DefaultStateItemRenderer = ({
|
|
2989
|
+
item,
|
|
2990
|
+
isNewest,
|
|
2991
|
+
className
|
|
2992
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2993
|
+
"div",
|
|
2994
|
+
{
|
|
2995
|
+
className: `${className || "copilotkit-state-item"} ${isNewest ? "copilotkit-state-item-newest" : ""}`,
|
|
2996
|
+
children: [
|
|
2997
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-item-header", children: "tool" in item ? item.tool : item.name }),
|
|
2998
|
+
"thought" in item && item.thought && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-item-thought", children: item.thought }),
|
|
2999
|
+
"result" in item && item.result !== void 0 && item.result !== null && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-item-result", children: formatContent(item.result) }),
|
|
3000
|
+
"description" in item && item.description && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-item-description", children: item.description })
|
|
3001
|
+
]
|
|
3002
|
+
}
|
|
3003
|
+
);
|
|
3004
|
+
var DefaultStateRenderer = ({
|
|
3005
|
+
state,
|
|
3006
|
+
status,
|
|
3007
|
+
StateItemRenderer = DefaultStateItemRenderer,
|
|
3008
|
+
SkeletonLoader = DefaultSkeletonLoader,
|
|
3009
|
+
labels,
|
|
3010
|
+
icons,
|
|
3011
|
+
className = "copilotkit-state",
|
|
3012
|
+
contentClassName = "copilotkit-state-content",
|
|
3013
|
+
itemClassName = "copilotkit-state-item",
|
|
3014
|
+
maxHeight = "250px",
|
|
3015
|
+
defaultCollapsed = true
|
|
3016
|
+
}) => {
|
|
3017
|
+
const [isCollapsed, setIsCollapsed] = (0, import_react16.useState)(defaultCollapsed);
|
|
3018
|
+
const contentRef = (0, import_react16.useRef)(null);
|
|
3019
|
+
const prevItemsLengthRef = (0, import_react16.useRef)(0);
|
|
3020
|
+
const [newestItemId, setNewestItemId] = (0, import_react16.useState)(null);
|
|
3021
|
+
const defaultLabels = {
|
|
3022
|
+
inProgressLabel: "Analyzing",
|
|
3023
|
+
completeLabel: "Analyzed",
|
|
3024
|
+
emptyLabel: "No activity"
|
|
3025
|
+
};
|
|
3026
|
+
const mergedLabels = __spreadValues(__spreadValues({}, defaultLabels), labels);
|
|
3027
|
+
const ExpandIcon = (icons == null ? void 0 : icons.expand) || DefaultExpandIcon2;
|
|
3028
|
+
const CollapseIcon = (icons == null ? void 0 : icons.collapse) || DefaultCollapseIcon2;
|
|
3029
|
+
const items = (0, import_react16.useMemo)(() => {
|
|
3030
|
+
var _a;
|
|
3031
|
+
return state ? [...((_a = state.steps) == null ? void 0 : _a.filter((s) => s.tool)) || [], ...state.tasks || []].sort(
|
|
3032
|
+
(a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
|
|
3033
|
+
) : [];
|
|
3034
|
+
}, [state]);
|
|
3035
|
+
const isThinking = status === "inProgress" && items.length === 0;
|
|
3036
|
+
(0, import_react16.useEffect)(() => {
|
|
3037
|
+
if (!state)
|
|
3038
|
+
return;
|
|
3039
|
+
if (items.length > prevItemsLengthRef.current) {
|
|
3040
|
+
if (items.length > 0) {
|
|
3041
|
+
const newest = items[items.length - 1];
|
|
3042
|
+
setNewestItemId(newest.id);
|
|
3043
|
+
setTimeout(() => {
|
|
3044
|
+
setNewestItemId(null);
|
|
3045
|
+
}, 1500);
|
|
3046
|
+
}
|
|
3047
|
+
if (contentRef.current && !isCollapsed) {
|
|
3048
|
+
contentRef.current.scrollTop = contentRef.current.scrollHeight;
|
|
3049
|
+
}
|
|
3050
|
+
}
|
|
3051
|
+
prevItemsLengthRef.current = items.length;
|
|
3052
|
+
}, [items, isCollapsed, state]);
|
|
3053
|
+
if (!state) {
|
|
3054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DefaultLoaderIcon, { className: "copilotkit-loader" }) });
|
|
3055
|
+
}
|
|
3056
|
+
if (isCollapsed && items.length === 0 && !isThinking)
|
|
3057
|
+
return null;
|
|
3058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className, children: [
|
|
3059
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "copilotkit-state-header", onClick: () => setIsCollapsed(!isCollapsed), children: [
|
|
3060
|
+
isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ExpandIcon, { className: "copilotkit-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(CollapseIcon, { className: "copilotkit-icon" }),
|
|
3061
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-label", children: status === "inProgress" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "copilotkit-state-label-loading", children: mergedLabels.inProgressLabel }) : mergedLabels.completeLabel })
|
|
3062
|
+
] }),
|
|
3063
|
+
!isCollapsed && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { ref: contentRef, className: contentClassName, style: { maxHeight }, children: items.length > 0 ? items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
3064
|
+
StateItemRenderer,
|
|
3065
|
+
{
|
|
3066
|
+
item,
|
|
3067
|
+
isNewest: item.id === newestItemId,
|
|
3068
|
+
className: itemClassName
|
|
3069
|
+
},
|
|
3070
|
+
item.id
|
|
3071
|
+
)) : isThinking ? (
|
|
3072
|
+
// Show skeleton loader while thinking
|
|
3073
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
|
|
3074
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonLoader, {}),
|
|
3075
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SkeletonLoader, {})
|
|
3076
|
+
] })
|
|
3077
|
+
) : (
|
|
3078
|
+
// Empty state
|
|
3079
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "copilotkit-state-empty", children: mergedLabels.emptyLabel })
|
|
3080
|
+
) })
|
|
3081
|
+
] });
|
|
3082
|
+
};
|
|
2796
3083
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2797
3084
|
0 && (module.exports = {
|
|
2798
3085
|
AssistantMessage,
|
|
@@ -2800,8 +3087,11 @@ function CopilotSidebar(props) {
|
|
|
2800
3087
|
CopilotDevConsole,
|
|
2801
3088
|
CopilotPopup,
|
|
2802
3089
|
CopilotSidebar,
|
|
3090
|
+
DefaultResponseRenderer,
|
|
3091
|
+
DefaultStateRenderer,
|
|
2803
3092
|
Markdown,
|
|
2804
3093
|
UserMessage,
|
|
3094
|
+
createResponseCache,
|
|
2805
3095
|
shouldShowDevConsole,
|
|
2806
3096
|
useChatContext
|
|
2807
3097
|
});
|