@copilotkit/react-ui 1.9.3-next.2 → 1.9.3-next.3

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{chunk-X3LV7OXQ.mjs → chunk-4HUXYD3B.mjs} +6 -3
  3. package/dist/chunk-4HUXYD3B.mjs.map +1 -0
  4. package/dist/{chunk-TSDSBNOS.mjs → chunk-ALIBUJML.mjs} +2 -2
  5. package/dist/{chunk-BP3RN6OE.mjs → chunk-H3EM63WS.mjs} +2 -2
  6. package/dist/{chunk-4RAYX7ZX.mjs → chunk-HKTWKCPS.mjs} +2 -2
  7. package/dist/{chunk-EQUUN7ZM.mjs → chunk-KN2GCKBE.mjs} +3 -3
  8. package/dist/{chunk-YQFVRDNC.mjs → chunk-QIOJXTIQ.mjs} +13 -2
  9. package/dist/chunk-QIOJXTIQ.mjs.map +1 -0
  10. package/dist/components/chat/Chat.js +16 -2
  11. package/dist/components/chat/Chat.js.map +1 -1
  12. package/dist/components/chat/Chat.mjs +3 -3
  13. package/dist/components/chat/Input.js +16 -2
  14. package/dist/components/chat/Input.js.map +1 -1
  15. package/dist/components/chat/Input.mjs +2 -2
  16. package/dist/components/chat/Modal.js +16 -2
  17. package/dist/components/chat/Modal.js.map +1 -1
  18. package/dist/components/chat/Modal.mjs +4 -4
  19. package/dist/components/chat/Popup.js +16 -2
  20. package/dist/components/chat/Popup.js.map +1 -1
  21. package/dist/components/chat/Popup.mjs +5 -5
  22. package/dist/components/chat/Sidebar.js +16 -2
  23. package/dist/components/chat/Sidebar.js.map +1 -1
  24. package/dist/components/chat/Sidebar.mjs +5 -5
  25. package/dist/components/chat/Textarea.d.ts +2 -0
  26. package/dist/components/chat/Textarea.js +12 -1
  27. package/dist/components/chat/Textarea.js.map +1 -1
  28. package/dist/components/chat/Textarea.mjs +1 -1
  29. package/dist/components/chat/index.js +16 -2
  30. package/dist/components/chat/index.js.map +1 -1
  31. package/dist/components/chat/index.mjs +6 -6
  32. package/dist/components/index.js +16 -2
  33. package/dist/components/index.js.map +1 -1
  34. package/dist/components/index.mjs +6 -6
  35. package/dist/index.js +16 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.mjs +6 -6
  38. package/package.json +4 -4
  39. package/src/components/chat/Input.tsx +4 -1
  40. package/src/components/chat/Textarea.tsx +17 -1
  41. package/dist/chunk-X3LV7OXQ.mjs.map +0 -1
  42. package/dist/chunk-YQFVRDNC.mjs.map +0 -1
  43. /package/dist/{chunk-TSDSBNOS.mjs.map → chunk-ALIBUJML.mjs.map} +0 -0
  44. /package/dist/{chunk-BP3RN6OE.mjs.map → chunk-H3EM63WS.mjs.map} +0 -0
  45. /package/dist/{chunk-4RAYX7ZX.mjs.map → chunk-HKTWKCPS.mjs.map} +0 -0
  46. /package/dist/{chunk-EQUUN7ZM.mjs.map → chunk-KN2GCKBE.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  CopilotSidebar
3
- } from "../../chunk-TSDSBNOS.mjs";
4
- import "../../chunk-EQUUN7ZM.mjs";
3
+ } from "../../chunk-ALIBUJML.mjs";
4
+ import "../../chunk-KN2GCKBE.mjs";
5
5
  import "../../chunk-C3GSYRC3.mjs";
6
6
  import "../../chunk-GVKA7RQQ.mjs";
7
7
  import "../../chunk-V7W6IM2V.mjs";
@@ -12,7 +12,7 @@ import "../../chunk-KXE2JCUH.mjs";
12
12
  import "../../chunk-NRA3CFEE.mjs";
13
13
  import "../../chunk-BH6PCAAL.mjs";
14
14
  import "../../chunk-UFN2VWSR.mjs";
15
- import "../../chunk-4RAYX7ZX.mjs";
15
+ import "../../chunk-HKTWKCPS.mjs";
16
16
  import "../../chunk-53CVDVS5.mjs";
17
17
  import "../../chunk-2II3Q27P.mjs";
18
18
  import "../../chunk-ULDQXCED.mjs";
@@ -23,9 +23,9 @@ import "../../chunk-HWMFMBJC.mjs";
23
23
  import "../../chunk-QGSPTXOV.mjs";
24
24
  import "../../chunk-IMBPSLL4.mjs";
25
25
  import "../../chunk-PLHTVHUW.mjs";
26
- import "../../chunk-X3LV7OXQ.mjs";
26
+ import "../../chunk-4HUXYD3B.mjs";
27
27
  import "../../chunk-CGEAG65D.mjs";
28
- import "../../chunk-YQFVRDNC.mjs";
28
+ import "../../chunk-QIOJXTIQ.mjs";
29
29
  import "../../chunk-YTXEWDNC.mjs";
30
30
  import "../../chunk-B3D7U7TJ.mjs";
31
31
  import "../../chunk-IEMQ2SQW.mjs";
@@ -6,6 +6,8 @@ interface AutoResizingTextareaProps {
6
6
  value: string;
7
7
  onChange: (event: React__default.ChangeEvent<HTMLTextAreaElement>) => void;
8
8
  onKeyDown?: (event: React__default.KeyboardEvent<HTMLTextAreaElement>) => void;
9
+ onCompositionStart?: () => void;
10
+ onCompositionEnd?: () => void;
9
11
  autoFocus?: boolean;
10
12
  }
11
13
  declare const AutoResizingTextarea: React__default.ForwardRefExoticComponent<AutoResizingTextareaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
@@ -26,7 +26,16 @@ module.exports = __toCommonJS(Textarea_exports);
26
26
  var import_react = require("react");
27
27
  var import_jsx_runtime = require("react/jsx-runtime");
28
28
  var AutoResizingTextarea = (0, import_react.forwardRef)(
29
- ({ maxRows = 1, placeholder, value, onChange, onKeyDown, autoFocus }, ref) => {
29
+ ({
30
+ maxRows = 1,
31
+ placeholder,
32
+ value,
33
+ onChange,
34
+ onKeyDown,
35
+ onCompositionStart,
36
+ onCompositionEnd,
37
+ autoFocus
38
+ }, ref) => {
30
39
  const internalTextareaRef = (0, import_react.useRef)(null);
31
40
  const [maxHeight, setMaxHeight] = (0, import_react.useState)(0);
32
41
  (0, import_react.useImperativeHandle)(ref, () => internalTextareaRef.current);
@@ -58,6 +67,8 @@ var AutoResizingTextarea = (0, import_react.forwardRef)(
58
67
  value,
59
68
  onChange,
60
69
  onKeyDown,
70
+ onCompositionStart,
71
+ onCompositionEnd,
61
72
  placeholder,
62
73
  style: {
63
74
  overflow: "auto",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/chat/Textarea.tsx"],"sourcesContent":["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: \"auto\",\n resize: \"none\",\n maxHeight: `${maxHeight}px`,\n }}\n rows={1}\n />\n );\n },\n);\n\nexport default AutoResizingTextarea;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoF;AA2C9E;AAhCN,IAAM,2BAAuB;AAAA,EAC3B,CAAC,EAAE,UAAU,GAAG,aAAa,OAAO,UAAU,WAAW,UAAU,GAAG,QAAQ;AAC5E,UAAM,0BAAsB,qBAA4B,IAAI;AAC5D,UAAM,CAAC,WAAW,YAAY,QAAI,uBAAiB,CAAC;AAEpD,0CAAoB,KAAK,MAAM,oBAAoB,OAA8B;AAEjF,gCAAU,MAAM;AACd,YAAM,qBAAqB,MAAM;AAC/B,cAAM,WAAW,oBAAoB;AACrC,YAAI,UAAU;AACZ,mBAAS,MAAM,SAAS;AACxB,gBAAM,kBAAkB,SAAS;AACjC,uBAAa,kBAAkB,OAAO;AACtC,cAAI,WAAW;AACb,qBAAS,MAAM;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAEA,yBAAmB;AAAA,IACrB,GAAG,CAAC,OAAO,CAAC;AAEZ,gCAAU,MAAM;AACd,YAAM,WAAW,oBAAoB;AACrC,UAAI,UAAU;AACZ,iBAAS,MAAM,SAAS;AACxB,iBAAS,MAAM,SAAS,GAAG,KAAK,IAAI,SAAS,cAAc,SAAS;AAAA,MACtE;AAAA,IACF,GAAG,CAAC,OAAO,SAAS,CAAC;AAErB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,UACL,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,WAAW,GAAG;AAAA,QAChB;AAAA,QACA,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AACF;AAEA,IAAO,mBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/chat/Textarea.tsx"],"sourcesContent":["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 onCompositionStart?: () => void;\n onCompositionEnd?: () => void;\n autoFocus?: boolean;\n}\n\nconst AutoResizingTextarea = forwardRef<HTMLTextAreaElement, AutoResizingTextareaProps>(\n (\n {\n maxRows = 1,\n placeholder,\n value,\n onChange,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n autoFocus,\n },\n ref,\n ) => {\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 onCompositionStart={onCompositionStart}\n onCompositionEnd={onCompositionEnd}\n placeholder={placeholder}\n style={{\n overflow: \"auto\",\n resize: \"none\",\n maxHeight: `${maxHeight}px`,\n }}\n rows={1}\n />\n );\n },\n);\n\nexport default AutoResizingTextarea;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoF;AAyD9E;AA5CN,IAAM,2BAAuB;AAAA,EAC3B,CACE;AAAA,IACE,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GACA,QACG;AACH,UAAM,0BAAsB,qBAA4B,IAAI;AAC5D,UAAM,CAAC,WAAW,YAAY,QAAI,uBAAiB,CAAC;AAEpD,0CAAoB,KAAK,MAAM,oBAAoB,OAA8B;AAEjF,gCAAU,MAAM;AACd,YAAM,qBAAqB,MAAM;AAC/B,cAAM,WAAW,oBAAoB;AACrC,YAAI,UAAU;AACZ,mBAAS,MAAM,SAAS;AACxB,gBAAM,kBAAkB,SAAS;AACjC,uBAAa,kBAAkB,OAAO;AACtC,cAAI,WAAW;AACb,qBAAS,MAAM;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAEA,yBAAmB;AAAA,IACrB,GAAG,CAAC,OAAO,CAAC;AAEZ,gCAAU,MAAM;AACd,YAAM,WAAW,oBAAoB;AACrC,UAAI,UAAU;AACZ,iBAAS,MAAM,SAAS;AACxB,iBAAS,MAAM,SAAS,GAAG,KAAK,IAAI,SAAS,cAAc,SAAS;AAAA,MACtE;AAAA,IACF,GAAG,CAAC,OAAO,SAAS,CAAC;AAErB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,UACL,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,WAAW,GAAG;AAAA,QAChB;AAAA,QACA,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AACF;AAEA,IAAO,mBAAQ;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Textarea_default
3
- } from "../../chunk-YQFVRDNC.mjs";
3
+ } from "../../chunk-QIOJXTIQ.mjs";
4
4
  import "../../chunk-MRXNTQOX.mjs";
5
5
  export {
6
6
  Textarea_default as default
@@ -1244,7 +1244,16 @@ var import_react9 = require("react");
1244
1244
  var import_react7 = require("react");
1245
1245
  var import_jsx_runtime11 = require("react/jsx-runtime");
1246
1246
  var AutoResizingTextarea = (0, import_react7.forwardRef)(
1247
- ({ maxRows = 1, placeholder, value, onChange, onKeyDown, autoFocus }, ref) => {
1247
+ ({
1248
+ maxRows = 1,
1249
+ placeholder,
1250
+ value,
1251
+ onChange,
1252
+ onKeyDown,
1253
+ onCompositionStart,
1254
+ onCompositionEnd,
1255
+ autoFocus
1256
+ }, ref) => {
1248
1257
  const internalTextareaRef = (0, import_react7.useRef)(null);
1249
1258
  const [maxHeight, setMaxHeight] = (0, import_react7.useState)(0);
1250
1259
  (0, import_react7.useImperativeHandle)(ref, () => internalTextareaRef.current);
@@ -1276,6 +1285,8 @@ var AutoResizingTextarea = (0, import_react7.forwardRef)(
1276
1285
  value,
1277
1286
  onChange,
1278
1287
  onKeyDown,
1288
+ onCompositionStart,
1289
+ onCompositionEnd,
1279
1290
  placeholder,
1280
1291
  style: {
1281
1292
  overflow: "auto",
@@ -1439,6 +1450,7 @@ var Input = ({
1439
1450
  const showPoweredBy = !((_a = copilotContext.copilotApiConfig) == null ? void 0 : _a.publicApiKey);
1440
1451
  const pushToTalkConfigured = copilotContext.copilotApiConfig.textToSpeechUrl !== void 0 && copilotContext.copilotApiConfig.transcribeAudioUrl !== void 0;
1441
1452
  const textareaRef = (0, import_react9.useRef)(null);
1453
+ const [isComposing, setIsComposing] = (0, import_react9.useState)(false);
1442
1454
  const handleDivClick = (event) => {
1443
1455
  var _a2;
1444
1456
  const target = event.target;
@@ -1485,8 +1497,10 @@ var Input = ({
1485
1497
  maxRows: MAX_NEWLINES,
1486
1498
  value: text,
1487
1499
  onChange: (event) => setText(event.target.value),
1500
+ onCompositionStart: () => setIsComposing(true),
1501
+ onCompositionEnd: () => setIsComposing(false),
1488
1502
  onKeyDown: (event) => {
1489
- if (event.key === "Enter" && !event.shiftKey) {
1503
+ if (event.key === "Enter" && !event.shiftKey && !isComposing) {
1490
1504
  event.preventDefault();
1491
1505
  if (canSend) {
1492
1506
  send();