@copilotkit/react-ui 0.15.0-alpha.8 → 0.15.0
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/.turbo/turbo-build.log +187 -207
- package/CHANGELOG.md +46 -0
- package/dist/chunk-3M4HWSE7.mjs +13 -7
- package/dist/chunk-3M4HWSE7.mjs.map +1 -1
- package/dist/chunk-47SYBLI2.mjs +5 -5
- package/dist/chunk-47SYBLI2.mjs.map +1 -1
- package/dist/chunk-5O2MCJZ2.mjs +8 -4
- package/dist/chunk-5O2MCJZ2.mjs.map +1 -1
- package/dist/chunk-7NSRDJ5C.mjs +0 -2
- package/dist/chunk-7NSRDJ5C.mjs.map +1 -1
- package/dist/chunk-7YXG7D47.mjs +20 -4
- package/dist/chunk-7YXG7D47.mjs.map +1 -1
- package/dist/chunk-CKJXXQ2W.mjs +13 -6
- package/dist/chunk-CKJXXQ2W.mjs.map +1 -1
- package/dist/chunk-DPRH4HX3.mjs +20 -10
- package/dist/chunk-DPRH4HX3.mjs.map +1 -1
- package/dist/chunk-GWGHQNRI.mjs +17 -9
- package/dist/chunk-GWGHQNRI.mjs.map +1 -1
- package/dist/chunk-H4VKQGVU.mjs +0 -2
- package/dist/chunk-H4VKQGVU.mjs.map +1 -1
- package/dist/chunk-IU3WTXLQ.mjs +0 -2
- package/dist/chunk-IU3WTXLQ.mjs.map +1 -1
- package/dist/chunk-JD7BAH7U.mjs +0 -2
- package/dist/chunk-JD7BAH7U.mjs.map +1 -1
- package/dist/chunk-KBGIPFXA.mjs +12 -5
- package/dist/chunk-KBGIPFXA.mjs.map +1 -1
- package/dist/chunk-MRXNTQOX.mjs +6 -2
- package/dist/chunk-MRXNTQOX.mjs.map +1 -1
- package/dist/chunk-NNVWLSYK.mjs +32 -14
- package/dist/chunk-NNVWLSYK.mjs.map +1 -1
- package/dist/chunk-NYLOXKYT.mjs +12 -6
- package/dist/chunk-NYLOXKYT.mjs.map +1 -1
- package/dist/chunk-OF66AL5Z.mjs +22 -6
- package/dist/chunk-OF66AL5Z.mjs.map +1 -1
- package/dist/chunk-P4GBO6MW.mjs +0 -2
- package/dist/chunk-P4GBO6MW.mjs.map +1 -1
- package/dist/chunk-POVINPXX.mjs +4 -4
- package/dist/chunk-POVINPXX.mjs.map +1 -1
- package/dist/chunk-UWPFPWAW.mjs +8 -4
- package/dist/chunk-UWPFPWAW.mjs.map +1 -1
- package/dist/chunk-WB3YULQ4.mjs +0 -2
- package/dist/chunk-WB3YULQ4.mjs.map +1 -1
- package/dist/chunk-WM6BS77F.mjs +5 -5
- package/dist/chunk-WM6BS77F.mjs.map +1 -1
- package/dist/chunk-Z34F3WLK.mjs +8 -4
- package/dist/chunk-Z34F3WLK.mjs.map +1 -1
- package/dist/components/chat/Button.js +48 -15
- package/dist/components/chat/Button.js.map +1 -1
- package/dist/components/chat/Button.mjs +9 -5
- package/dist/components/chat/Button.mjs.map +1 -1
- package/dist/components/chat/Chat.js +204 -138
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +19 -15
- package/dist/components/chat/Chat.mjs.map +1 -1
- package/dist/components/chat/ChatContext.js +71 -37
- package/dist/components/chat/ChatContext.js.map +1 -1
- package/dist/components/chat/ChatContext.mjs +12 -4
- package/dist/components/chat/ChatContext.mjs.map +1 -1
- package/dist/components/chat/CodeBlock.js +75 -53
- package/dist/components/chat/CodeBlock.js.map +1 -1
- package/dist/components/chat/CodeBlock.mjs +14 -5
- package/dist/components/chat/CodeBlock.mjs.map +1 -1
- package/dist/components/chat/Header.js +48 -15
- package/dist/components/chat/Header.js.map +1 -1
- package/dist/components/chat/Header.mjs +9 -5
- package/dist/components/chat/Header.mjs.map +1 -1
- package/dist/components/chat/Icons.js +73 -42
- package/dist/components/chat/Icons.js.map +1 -1
- package/dist/components/chat/Icons.mjs +27 -3
- package/dist/components/chat/Icons.mjs.map +1 -1
- package/dist/components/chat/Input.js +64 -26
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +10 -6
- package/dist/components/chat/Input.mjs.map +1 -1
- package/dist/components/chat/Markdown.js +86 -66
- package/dist/components/chat/Markdown.js.map +1 -1
- package/dist/components/chat/Markdown.mjs +10 -6
- package/dist/components/chat/Markdown.mjs.map +1 -1
- package/dist/components/chat/Messages.js +113 -79
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +12 -8
- package/dist/components/chat/Messages.mjs.map +1 -1
- package/dist/components/chat/Popup.js +210 -139
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +20 -16
- package/dist/components/chat/Popup.mjs.map +1 -1
- package/dist/components/chat/Response.js +47 -14
- package/dist/components/chat/Response.js.map +1 -1
- package/dist/components/chat/Response.mjs +9 -5
- package/dist/components/chat/Response.mjs.map +1 -1
- package/dist/components/chat/Sidebar.js +213 -141
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +20 -16
- package/dist/components/chat/Sidebar.mjs.map +1 -1
- package/dist/components/chat/Textarea.js +32 -14
- package/dist/components/chat/Textarea.js.map +1 -1
- package/dist/components/chat/Textarea.mjs +7 -3
- package/dist/components/chat/Textarea.mjs.map +1 -1
- package/dist/components/chat/Window.js +45 -17
- package/dist/components/chat/Window.js.map +1 -1
- package/dist/components/chat/Window.mjs +7 -3
- package/dist/components/chat/Window.mjs.map +1 -1
- package/dist/components/chat/index.js +219 -143
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +26 -19
- package/dist/components/chat/index.mjs.map +1 -1
- package/dist/components/chat/props.js +17 -2
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/chat/props.mjs +1 -2
- package/dist/components/chat/props.mjs.map +1 -1
- package/dist/components/index.js +219 -143
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +27 -20
- package/dist/components/index.mjs.map +1 -1
- package/dist/context/index.js +17 -2
- package/dist/context/index.js.map +1 -1
- package/dist/context/index.mjs +1 -2
- package/dist/context/index.mjs.map +1 -1
- package/dist/hooks/index.js +17 -2
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +1 -2
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.js +40 -26
- package/dist/hooks/use-copy-to-clipboard.js.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.mjs +8 -3
- package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
- package/dist/index.js +219 -143
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -23
- package/dist/index.mjs.map +1 -1
- package/dist/lib/utils.js +40 -14
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/utils.mjs +13 -7
- package/dist/lib/utils.mjs.map +1 -1
- package/dist/lib/utils.test.js +1 -2
- package/dist/lib/utils.test.js.map +1 -1
- package/dist/lib/utils.test.mjs +0 -1
- package/dist/lib/utils.test.mjs.map +1 -1
- package/dist/types/index.js +17 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/index.mjs +1 -2
- package/dist/types/index.mjs.map +1 -1
- package/dist/types/types.js +17 -2
- package/dist/types/types.js.map +1 -1
- package/dist/types/types.mjs +0 -2
- package/dist/types/types.mjs.map +1 -1
- package/package.json +8 -8
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
5
2
|
var __defProp = Object.defineProperty;
|
|
6
3
|
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
5
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
7
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
9
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -33,7 +32,38 @@ var __objRest = (source, exclude) => {
|
|
|
33
32
|
}
|
|
34
33
|
return target;
|
|
35
34
|
};
|
|
36
|
-
var
|
|
35
|
+
var __export = (target, all) => {
|
|
36
|
+
for (var name in all)
|
|
37
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
38
|
+
};
|
|
39
|
+
var __copyProps = (to, from, except, desc) => {
|
|
40
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
41
|
+
for (let key of __getOwnPropNames(from))
|
|
42
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
43
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
44
|
+
}
|
|
45
|
+
return to;
|
|
46
|
+
};
|
|
47
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
48
|
+
|
|
49
|
+
// src/components/chat/Icons.tsx
|
|
50
|
+
var Icons_exports = {};
|
|
51
|
+
__export(Icons_exports, {
|
|
52
|
+
ActivityIcon: () => ActivityIcon,
|
|
53
|
+
CheckIcon: () => CheckIcon,
|
|
54
|
+
CloseIcon: () => CloseIcon,
|
|
55
|
+
CopyIcon: () => CopyIcon,
|
|
56
|
+
DownloadIcon: () => DownloadIcon,
|
|
57
|
+
HeaderCloseIcon: () => HeaderCloseIcon,
|
|
58
|
+
OpenIcon: () => OpenIcon,
|
|
59
|
+
RegenerateIcon: () => RegenerateIcon,
|
|
60
|
+
SendIcon: () => SendIcon,
|
|
61
|
+
SpinnerIcon: () => SpinnerIcon,
|
|
62
|
+
StopIcon: () => StopIcon
|
|
63
|
+
});
|
|
64
|
+
module.exports = __toCommonJS(Icons_exports);
|
|
65
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
66
|
+
var OpenIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
37
67
|
"svg",
|
|
38
68
|
{
|
|
39
69
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -41,7 +71,7 @@ var OpenIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
41
71
|
fill: "currentColor",
|
|
42
72
|
width: "24",
|
|
43
73
|
height: "24",
|
|
44
|
-
children: /* @__PURE__ */
|
|
74
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { transform: "translate(24, 0) scale(-1, 1)", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
45
75
|
"path",
|
|
46
76
|
{
|
|
47
77
|
fillRule: "evenodd",
|
|
@@ -51,7 +81,7 @@ var OpenIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
51
81
|
) })
|
|
52
82
|
}
|
|
53
83
|
);
|
|
54
|
-
var CloseIcon = /* @__PURE__ */
|
|
84
|
+
var CloseIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
55
85
|
"svg",
|
|
56
86
|
{
|
|
57
87
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -61,10 +91,10 @@ var CloseIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
61
91
|
stroke: "currentColor",
|
|
62
92
|
width: "24",
|
|
63
93
|
height: "24",
|
|
64
|
-
children: /* @__PURE__ */
|
|
94
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" })
|
|
65
95
|
}
|
|
66
96
|
);
|
|
67
|
-
var HeaderCloseIcon = /* @__PURE__ */
|
|
97
|
+
var HeaderCloseIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
98
|
"svg",
|
|
69
99
|
{
|
|
70
100
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -74,10 +104,10 @@ var HeaderCloseIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
74
104
|
stroke: "currentColor",
|
|
75
105
|
width: "24",
|
|
76
106
|
height: "24",
|
|
77
|
-
children: /* @__PURE__ */
|
|
107
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" })
|
|
78
108
|
}
|
|
79
109
|
);
|
|
80
|
-
var SendIcon = /* @__PURE__ */
|
|
110
|
+
var SendIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
81
111
|
"svg",
|
|
82
112
|
{
|
|
83
113
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -87,7 +117,7 @@ var SendIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
87
117
|
stroke: "currentColor",
|
|
88
118
|
width: "24",
|
|
89
119
|
height: "24",
|
|
90
|
-
children: /* @__PURE__ */
|
|
120
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
91
121
|
"path",
|
|
92
122
|
{
|
|
93
123
|
strokeLinecap: "round",
|
|
@@ -97,7 +127,7 @@ var SendIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
|
97
127
|
)
|
|
98
128
|
}
|
|
99
129
|
);
|
|
100
|
-
var SpinnerIcon = /* @__PURE__ */
|
|
130
|
+
var SpinnerIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
101
131
|
"svg",
|
|
102
132
|
{
|
|
103
133
|
style: {
|
|
@@ -110,7 +140,7 @@ var SpinnerIcon = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
110
140
|
fill: "none",
|
|
111
141
|
viewBox: "0 0 24 24",
|
|
112
142
|
children: [
|
|
113
|
-
/* @__PURE__ */
|
|
143
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
114
144
|
"circle",
|
|
115
145
|
{
|
|
116
146
|
style: { opacity: 0.25 },
|
|
@@ -121,7 +151,7 @@ var SpinnerIcon = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
121
151
|
strokeWidth: "4"
|
|
122
152
|
}
|
|
123
153
|
),
|
|
124
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
125
155
|
"path",
|
|
126
156
|
{
|
|
127
157
|
style: { opacity: 0.75 },
|
|
@@ -132,7 +162,7 @@ var SpinnerIcon = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
132
162
|
]
|
|
133
163
|
}
|
|
134
164
|
);
|
|
135
|
-
var ActivityIcon = /* @__PURE__ */
|
|
165
|
+
var ActivityIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
136
166
|
"svg",
|
|
137
167
|
{
|
|
138
168
|
style: {
|
|
@@ -146,15 +176,15 @@ var ActivityIcon = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
|
146
176
|
xmlns: "http://www.w3.org/2000/svg",
|
|
147
177
|
fill: "currentColor",
|
|
148
178
|
children: [
|
|
149
|
-
/* @__PURE__ */
|
|
150
|
-
/* @__PURE__ */
|
|
151
|
-
/* @__PURE__ */
|
|
179
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { className: "copilotKitActivityDot1", cx: "4", cy: "12", r: "3" }),
|
|
180
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { className: "copilotKitActivityDot1 copilotKitActivityDot2", cx: "12", cy: "12", r: "3" }),
|
|
181
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { className: "copilotKitActivityDot1 copilotKitActivityDot3", cx: "20", cy: "12", r: "3" })
|
|
152
182
|
]
|
|
153
183
|
}
|
|
154
184
|
);
|
|
155
185
|
function CheckIcon(_a) {
|
|
156
186
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
157
|
-
return /* @__PURE__ */
|
|
187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
158
188
|
"svg",
|
|
159
189
|
__spreadProps(__spreadValues({
|
|
160
190
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -163,13 +193,13 @@ function CheckIcon(_a) {
|
|
|
163
193
|
style: { height: "1rem", width: "1rem" },
|
|
164
194
|
className
|
|
165
195
|
}, props), {
|
|
166
|
-
children: /* @__PURE__ */
|
|
196
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z" })
|
|
167
197
|
})
|
|
168
198
|
);
|
|
169
199
|
}
|
|
170
200
|
function DownloadIcon(_a) {
|
|
171
201
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
172
|
-
return /* @__PURE__ */
|
|
202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
173
203
|
"svg",
|
|
174
204
|
__spreadProps(__spreadValues({
|
|
175
205
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -178,13 +208,13 @@ function DownloadIcon(_a) {
|
|
|
178
208
|
style: { height: "1rem", width: "1rem" },
|
|
179
209
|
className
|
|
180
210
|
}, props), {
|
|
181
|
-
children: /* @__PURE__ */
|
|
211
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z" })
|
|
182
212
|
})
|
|
183
213
|
);
|
|
184
214
|
}
|
|
185
215
|
function CopyIcon(_a) {
|
|
186
216
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
187
|
-
return /* @__PURE__ */
|
|
217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
188
218
|
"svg",
|
|
189
219
|
__spreadProps(__spreadValues({
|
|
190
220
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -193,41 +223,42 @@ function CopyIcon(_a) {
|
|
|
193
223
|
style: { height: "1rem", width: "1rem" },
|
|
194
224
|
className
|
|
195
225
|
}, props), {
|
|
196
|
-
children: /* @__PURE__ */
|
|
226
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z" })
|
|
197
227
|
})
|
|
198
228
|
);
|
|
199
229
|
}
|
|
200
|
-
var StopIcon = /* @__PURE__ */
|
|
230
|
+
var StopIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
201
231
|
"svg",
|
|
202
232
|
{
|
|
203
233
|
xmlns: "http://www.w3.org/2000/svg",
|
|
204
234
|
viewBox: "0 0 256 256",
|
|
205
235
|
fill: "currentColor",
|
|
206
236
|
style: { height: "1rem", width: "1rem" },
|
|
207
|
-
children: /* @__PURE__ */
|
|
237
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z" })
|
|
208
238
|
}
|
|
209
239
|
);
|
|
210
|
-
var RegenerateIcon = /* @__PURE__ */
|
|
240
|
+
var RegenerateIcon = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
211
241
|
"svg",
|
|
212
242
|
{
|
|
213
243
|
xmlns: "http://www.w3.org/2000/svg",
|
|
214
244
|
viewBox: "0 0 256 256",
|
|
215
245
|
fill: "currentColor",
|
|
216
246
|
style: { height: "1rem", width: "1rem" },
|
|
217
|
-
children: /* @__PURE__ */
|
|
247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z" })
|
|
218
248
|
}
|
|
219
249
|
);
|
|
220
|
-
|
|
221
|
-
exports
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
250
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
251
|
+
0 && (module.exports = {
|
|
252
|
+
ActivityIcon,
|
|
253
|
+
CheckIcon,
|
|
254
|
+
CloseIcon,
|
|
255
|
+
CopyIcon,
|
|
256
|
+
DownloadIcon,
|
|
257
|
+
HeaderCloseIcon,
|
|
258
|
+
OpenIcon,
|
|
259
|
+
RegenerateIcon,
|
|
260
|
+
SendIcon,
|
|
261
|
+
SpinnerIcon,
|
|
262
|
+
StopIcon
|
|
263
|
+
});
|
|
233
264
|
//# sourceMappingURL=Icons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/chat/Icons.tsx"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/chat/Icons.tsx"],"sourcesContent":["import React from \"react\";\n\nexport const OpenIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n width=\"24\"\n height=\"24\"\n >\n <g transform=\"translate(24, 0) scale(-1, 1)\">\n <path\n fillRule=\"evenodd\"\n d=\"M5.337 21.718a6.707 6.707 0 01-.533-.074.75.75 0 01-.44-1.223 3.73 3.73 0 00.814-1.686c.023-.115-.022-.317-.254-.543C3.274 16.587 2.25 14.41 2.25 12c0-5.03 4.428-9 9.75-9s9.75 3.97 9.75 9c0 5.03-4.428 9-9.75 9-.833 0-1.643-.097-2.417-.279a6.721 6.721 0 01-4.246.997z\"\n clipRule=\"evenodd\"\n />\n </g>\n </svg>\n);\n\nexport const CloseIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth=\"1.5\"\n stroke=\"currentColor\"\n width=\"24\"\n height=\"24\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" />\n </svg>\n);\n\nexport const HeaderCloseIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth=\"1.5\"\n stroke=\"currentColor\"\n width=\"24\"\n height=\"24\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n);\n\nexport const SendIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n width=\"24\"\n height=\"24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M6 12L3.269 3.126A59.768 59.768 0 0121.485 12 59.77 59.77 0 013.27 20.876L5.999 12zm0 0h7.5\"\n />\n </svg>\n);\n\nexport const SpinnerIcon = (\n <svg\n style={{\n animation: \"copilotKitSpinAnimation 1s linear infinite\",\n color: \"rgb(107 114 128)\",\n }}\n width=\"24\"\n height=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n style={{ opacity: 0.25 }}\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n style={{ opacity: 0.75 }}\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n);\n\nexport const ActivityIcon = (\n <svg\n style={{\n display: \"inline-block\",\n marginLeft: \"0.25rem\",\n marginRight: \"0.25rem\",\n }}\n height=\"24\"\n width=\"24\"\n viewBox=\"0 0 27 27\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <circle className=\"copilotKitActivityDot1\" cx=\"4\" cy=\"12\" r=\"3\" />\n <circle className=\"copilotKitActivityDot1 copilotKitActivityDot2\" cx=\"12\" cy=\"12\" r=\"3\" />\n <circle className=\"copilotKitActivityDot1 copilotKitActivityDot3\" cx=\"20\" cy=\"12\" r=\"3\" />\n </svg>\n);\n\nexport function CheckIcon({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n style={{ height: \"1rem\", width: \"1rem\" }}\n className={className}\n {...props}\n >\n <path d=\"m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z\" />\n </svg>\n );\n}\n\nexport function DownloadIcon({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n style={{ height: \"1rem\", width: \"1rem\" }}\n className={className}\n {...props}\n >\n <path d=\"M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z\" />\n </svg>\n );\n}\n\nexport function CopyIcon({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n style={{ height: \"1rem\", width: \"1rem\" }}\n className={className}\n {...props}\n >\n <path d=\"M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z\" />\n </svg>\n );\n}\n\nexport const StopIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n style={{ height: \"1rem\", width: \"1rem\" }}\n >\n <path d=\"M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z\" />\n </svg>\n);\n\nexport const RegenerateIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n style={{ height: \"1rem\", width: \"1rem\" }}\n >\n <path d=\"M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z\" />\n </svg>\n);\n"],"mappings":"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","names":[]}
|
|
@@ -1,4 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
ActivityIcon,
|
|
3
|
+
CheckIcon,
|
|
4
|
+
CloseIcon,
|
|
5
|
+
CopyIcon,
|
|
6
|
+
DownloadIcon,
|
|
7
|
+
HeaderCloseIcon,
|
|
8
|
+
OpenIcon,
|
|
9
|
+
RegenerateIcon,
|
|
10
|
+
SendIcon,
|
|
11
|
+
SpinnerIcon,
|
|
12
|
+
StopIcon
|
|
13
|
+
} from "../../chunk-7YXG7D47.mjs";
|
|
14
|
+
import "../../chunk-MRXNTQOX.mjs";
|
|
15
|
+
export {
|
|
16
|
+
ActivityIcon,
|
|
17
|
+
CheckIcon,
|
|
18
|
+
CloseIcon,
|
|
19
|
+
CopyIcon,
|
|
20
|
+
DownloadIcon,
|
|
21
|
+
HeaderCloseIcon,
|
|
22
|
+
OpenIcon,
|
|
23
|
+
RegenerateIcon,
|
|
24
|
+
SendIcon,
|
|
25
|
+
SpinnerIcon,
|
|
26
|
+
StopIcon
|
|
27
|
+
};
|
|
4
28
|
//# sourceMappingURL=Icons.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,16 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
9
29
|
|
|
10
30
|
// src/components/chat/Input.tsx
|
|
11
|
-
var
|
|
31
|
+
var Input_exports = {};
|
|
32
|
+
__export(Input_exports, {
|
|
33
|
+
Input: () => Input
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(Input_exports);
|
|
36
|
+
var import_react3 = require("react");
|
|
37
|
+
|
|
38
|
+
// src/components/chat/ChatContext.tsx
|
|
39
|
+
var import_react = __toESM(require("react"));
|
|
40
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
|
+
var ChatContext = import_react.default.createContext(void 0);
|
|
12
42
|
function useChatContext() {
|
|
13
|
-
const context =
|
|
43
|
+
const context = import_react.default.useContext(ChatContext);
|
|
14
44
|
if (context === void 0) {
|
|
15
45
|
throw new Error(
|
|
16
46
|
"Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?"
|
|
@@ -18,12 +48,16 @@ function useChatContext() {
|
|
|
18
48
|
}
|
|
19
49
|
return context;
|
|
20
50
|
}
|
|
21
|
-
|
|
51
|
+
|
|
52
|
+
// src/components/chat/Textarea.tsx
|
|
53
|
+
var import_react2 = require("react");
|
|
54
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
55
|
+
var AutoResizingTextarea = (0, import_react2.forwardRef)(
|
|
22
56
|
({ maxRows = 1, placeholder, value, onChange, onKeyDown, autoFocus }, ref) => {
|
|
23
|
-
const internalTextareaRef =
|
|
24
|
-
const [maxHeight, setMaxHeight] =
|
|
25
|
-
|
|
26
|
-
|
|
57
|
+
const internalTextareaRef = (0, import_react2.useRef)(null);
|
|
58
|
+
const [maxHeight, setMaxHeight] = (0, import_react2.useState)(0);
|
|
59
|
+
(0, import_react2.useImperativeHandle)(ref, () => internalTextareaRef.current);
|
|
60
|
+
(0, import_react2.useEffect)(() => {
|
|
27
61
|
const calculateMaxHeight = () => {
|
|
28
62
|
const textarea = internalTextareaRef.current;
|
|
29
63
|
if (textarea) {
|
|
@@ -37,14 +71,14 @@ var AutoResizingTextarea = React.forwardRef(
|
|
|
37
71
|
};
|
|
38
72
|
calculateMaxHeight();
|
|
39
73
|
}, [maxRows]);
|
|
40
|
-
|
|
74
|
+
(0, import_react2.useEffect)(() => {
|
|
41
75
|
const textarea = internalTextareaRef.current;
|
|
42
76
|
if (textarea) {
|
|
43
77
|
textarea.style.height = "auto";
|
|
44
78
|
textarea.style.height = `${Math.min(textarea.scrollHeight, maxHeight)}px`;
|
|
45
79
|
}
|
|
46
80
|
}, [value, maxHeight]);
|
|
47
|
-
return /* @__PURE__ */
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
48
82
|
"textarea",
|
|
49
83
|
{
|
|
50
84
|
ref: internalTextareaRef,
|
|
@@ -63,16 +97,19 @@ var AutoResizingTextarea = React.forwardRef(
|
|
|
63
97
|
}
|
|
64
98
|
);
|
|
65
99
|
var Textarea_default = AutoResizingTextarea;
|
|
100
|
+
|
|
101
|
+
// src/components/chat/Input.tsx
|
|
102
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
66
103
|
var Input = ({ inProgress, onSend, children }) => {
|
|
67
104
|
const context = useChatContext();
|
|
68
|
-
const textareaRef =
|
|
105
|
+
const textareaRef = (0, import_react3.useRef)(null);
|
|
69
106
|
const handleDivClick = (event) => {
|
|
70
107
|
var _a;
|
|
71
108
|
if (event.target !== event.currentTarget)
|
|
72
109
|
return;
|
|
73
110
|
(_a = textareaRef.current) == null ? void 0 : _a.focus();
|
|
74
111
|
};
|
|
75
|
-
const [text, setText] =
|
|
112
|
+
const [text, setText] = (0, import_react3.useState)("");
|
|
76
113
|
const send = () => {
|
|
77
114
|
var _a;
|
|
78
115
|
if (inProgress)
|
|
@@ -83,10 +120,10 @@ var Input = ({ inProgress, onSend, children }) => {
|
|
|
83
120
|
};
|
|
84
121
|
const icon = inProgress ? context.icons.activityIcon : context.icons.sendIcon;
|
|
85
122
|
const disabled = inProgress || text.length === 0;
|
|
86
|
-
return /* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
/* @__PURE__ */
|
|
123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "copilotKitInput", onClick: handleDivClick, children: [
|
|
124
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { children }),
|
|
125
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { className: "copilotKitSendButton", disabled, onClick: send, children: icon }),
|
|
126
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
90
127
|
Textarea_default,
|
|
91
128
|
{
|
|
92
129
|
ref: textareaRef,
|
|
@@ -105,7 +142,8 @@ var Input = ({ inProgress, onSend, children }) => {
|
|
|
105
142
|
)
|
|
106
143
|
] });
|
|
107
144
|
};
|
|
108
|
-
|
|
109
|
-
exports
|
|
110
|
-
|
|
145
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
146
|
+
0 && (module.exports = {
|
|
147
|
+
Input
|
|
148
|
+
});
|
|
111
149
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/chat/Input.tsx","../../../src/components/chat/ChatContext.tsx","../../../src/components/chat/Textarea.tsx"],"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/chat/Input.tsx","../../../src/components/chat/ChatContext.tsx","../../../src/components/chat/Textarea.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport { InputProps } from \"./props\";\nimport { useChatContext } from \"./ChatContext\";\nimport AutoResizingTextarea from \"./Textarea\";\n\nexport const Input = ({ inProgress, onSend, children }: InputProps) => {\n const context = useChatContext();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n const handleDivClick = (event: React.MouseEvent<HTMLDivElement>) => {\n // Check if the clicked element is not the textarea itself\n if (event.target !== event.currentTarget) return;\n\n textareaRef.current?.focus();\n };\n\n const [text, setText] = useState(\"\");\n const send = () => {\n if (inProgress) return;\n onSend(text);\n setText(\"\");\n\n textareaRef.current?.focus();\n };\n\n const icon = inProgress ? context.icons.activityIcon : context.icons.sendIcon;\n const disabled = inProgress || text.length === 0;\n\n return (\n <div className=\"copilotKitInput\" onClick={handleDivClick}>\n <span>{children}</span>\n <button className=\"copilotKitSendButton\" disabled={disabled} onClick={send}>\n {icon}\n </button>\n <AutoResizingTextarea\n ref={textareaRef}\n placeholder={context.labels.placeholder}\n autoFocus={true}\n maxRows={5}\n value={text}\n onChange={(event) => setText(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault();\n send();\n }\n }}\n />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\nimport * as DefaultIcons from \"./Icons\";\n\n/**\n * Icons for CopilotChat component.\n */\nexport interface CopilotChatIcons {\n /**\n * The icon to use for the open chat button.\n * @default <OpenIcon />\n */\n openIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button.\n * @default <CloseIcon />\n */\n closeIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button in the header.\n * @default <HeaderCloseIcon />\n */\n headerCloseIcon?: React.ReactNode;\n\n /**\n * The icon to use for the send button.\n * @default <SendIcon />\n */\n sendIcon?: React.ReactNode;\n\n /**\n * The icon to use for the activity indicator.\n * @default <ActivityIcon />\n */\n activityIcon?: React.ReactNode;\n\n /**\n * The icon to use for the spinner.\n * @default <SpinnerIcon />\n */\n spinnerIcon?: React.ReactNode;\n\n /**\n * The icon to use for the stop button.\n * @default <StopIcon />\n */\n stopIcon?: React.ReactNode;\n\n /**\n * The icon to use for the regenerate button.\n * @default <RegenerateIcon />\n */\n regenerateIcon?: React.ReactNode;\n}\n\n/**\n * Labels for CopilotChat component.\n */\nexport interface CopilotChatLabels {\n /**\n * The initial message(s) to display in the chat window.\n */\n initial?: string | string[];\n\n /**\n * The title to display in the header.\n * @default \"CopilotKit\"\n */\n title?: string;\n\n /**\n * The placeholder to display in the input.\n * @default \"Type a message...\"\n */\n placeholder?: string;\n\n /**\n * The message to display while the chat GPT is \"thinking\".\n * @default \"Thinking...\"\n */\n thinking?: string;\n\n /**\n * The message to display when the chat is done executing a function.\n * @default \"✅ Done\"\n */\n done?: string;\n\n /**\n * The message to display when an error occurs.\n * @default \"❌ An error occurred. Please try again.\"\n */\n error?: string;\n\n /**\n * The label to display on the stop button.\n * @default \"Stop generating\"\n */\n stopGenerating?: string;\n\n /**\n * The label to display on the regenerate button.\n * @default \"Regenerate response\"\n */\n regenerateResponse?: string;\n}\n\ninterface ChatContext {\n labels: Required<CopilotChatLabels>;\n icons: Required<CopilotChatIcons>;\n}\n\nexport const ChatContext = React.createContext<ChatContext | undefined>(undefined);\n\nexport function useChatContext(): ChatContext {\n const context = React.useContext(ChatContext);\n if (context === undefined) {\n throw new Error(\n \"Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?\",\n );\n }\n return context;\n}\n\ninterface ChatContextProps {\n // temperature?: number;\n // instructions?: string;\n // maxFeedback?: number;\n labels?: CopilotChatLabels;\n icons?: CopilotChatIcons;\n children?: React.ReactNode;\n}\n\nexport const ChatContextProvider = ({\n // temperature,\n // instructions,\n // maxFeedback,\n labels,\n icons,\n children,\n}: ChatContextProps) => {\n const context = useMemo(\n () => ({\n labels: {\n ...{\n initial: \"\",\n title: \"CopilotKit\",\n placeholder: \"Type a message...\",\n thinking: \"Thinking...\",\n done: \"✅ Done\",\n error: \"❌ An error occurred. Please try again.\",\n stopGenerating: \"Stop generating\",\n regenerateResponse: \"Regenerate response\",\n },\n ...labels,\n },\n\n icons: {\n ...{\n openIcon: DefaultIcons.OpenIcon,\n closeIcon: DefaultIcons.CloseIcon,\n headerCloseIcon: DefaultIcons.HeaderCloseIcon,\n sendIcon: DefaultIcons.SendIcon,\n activityIcon: DefaultIcons.ActivityIcon,\n spinnerIcon: DefaultIcons.SpinnerIcon,\n stopIcon: DefaultIcons.StopIcon,\n regenerateIcon: DefaultIcons.RegenerateIcon,\n },\n icons,\n },\n }),\n [labels, icons],\n );\n return <ChatContext.Provider value={context}>{children}</ChatContext.Provider>;\n};\n","import React, { useState, useRef, useEffect, forwardRef, useImperativeHandle } from \"react\";\n\ninterface AutoResizingTextareaProps {\n maxRows?: number;\n placeholder?: string;\n value: string;\n onChange: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n onKeyDown?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\n autoFocus?: boolean;\n}\n\nconst AutoResizingTextarea = forwardRef<HTMLTextAreaElement, AutoResizingTextareaProps>(\n ({ maxRows = 1, placeholder, value, onChange, onKeyDown, autoFocus }, ref) => {\n const internalTextareaRef = useRef<HTMLTextAreaElement>(null);\n const [maxHeight, setMaxHeight] = useState<number>(0);\n\n useImperativeHandle(ref, () => internalTextareaRef.current as HTMLTextAreaElement);\n\n useEffect(() => {\n const calculateMaxHeight = () => {\n const textarea = internalTextareaRef.current;\n if (textarea) {\n textarea.style.height = \"auto\";\n const singleRowHeight = textarea.scrollHeight;\n setMaxHeight(singleRowHeight * maxRows);\n if (autoFocus) {\n textarea.focus();\n }\n }\n };\n\n calculateMaxHeight();\n }, [maxRows]);\n\n useEffect(() => {\n const textarea = internalTextareaRef.current;\n if (textarea) {\n textarea.style.height = \"auto\";\n textarea.style.height = `${Math.min(textarea.scrollHeight, maxHeight)}px`;\n }\n }, [value, maxHeight]);\n\n return (\n <textarea\n ref={internalTextareaRef}\n value={value}\n onChange={onChange}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n style={{\n overflow: \"hidden\",\n resize: \"none\",\n maxHeight: `${maxHeight}px`,\n }}\n rows={1}\n />\n );\n },\n);\n\nexport default AutoResizingTextarea;\n"],"mappings":"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","names":["import_react","React","import_react","import_jsx_runtime","import_jsx_runtime"]}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import {
|
|
2
|
+
Input
|
|
3
|
+
} from "../../chunk-NYLOXKYT.mjs";
|
|
4
|
+
import "../../chunk-WM6BS77F.mjs";
|
|
5
|
+
import "../../chunk-OF66AL5Z.mjs";
|
|
6
|
+
import "../../chunk-7YXG7D47.mjs";
|
|
7
|
+
import "../../chunk-MRXNTQOX.mjs";
|
|
8
|
+
export {
|
|
9
|
+
Input
|
|
10
|
+
};
|
|
7
11
|
//# sourceMappingURL=Input.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|