@copilotkit/react-ui 0.9.0-alpha.1 → 0.9.0-alpha.10

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 (145) hide show
  1. package/.turbo/turbo-build.log +92 -89
  2. package/CHANGELOG.md +79 -0
  3. package/dist/components/chat-components/chat-list.mjs +488 -12
  4. package/dist/components/chat-components/chat-list.mjs.map +1 -1
  5. package/dist/components/chat-components/chat-message-actions.mjs +184 -7
  6. package/dist/components/chat-components/chat-message-actions.mjs.map +1 -1
  7. package/dist/components/chat-components/chat-message.mjs +440 -10
  8. package/dist/components/chat-components/chat-message.mjs.map +1 -1
  9. package/dist/components/chat-components/chat-panel.mjs +334 -9
  10. package/dist/components/chat-components/chat-panel.mjs.map +1 -1
  11. package/dist/components/chat-components/chat-scroll-anchor.mjs +48 -4
  12. package/dist/components/chat-components/chat-scroll-anchor.mjs.map +1 -1
  13. package/dist/components/chat-components/clear-history.mjs +268 -26
  14. package/dist/components/chat-components/clear-history.mjs.map +1 -1
  15. package/dist/components/chat-components/copilot-chat.mjs +931 -21
  16. package/dist/components/chat-components/copilot-chat.mjs.map +1 -1
  17. package/dist/components/chat-components/default-empty-screen.mjs +206 -7
  18. package/dist/components/chat-components/default-empty-screen.mjs.map +1 -1
  19. package/dist/components/chat-components/external-link.mjs +31 -3
  20. package/dist/components/chat-components/external-link.mjs.map +1 -1
  21. package/dist/components/chat-components/markdown.mjs +10 -3
  22. package/dist/components/chat-components/markdown.mjs.map +1 -1
  23. package/dist/components/chat-components/prompt-form.mjs +246 -8
  24. package/dist/components/chat-components/prompt-form.mjs.map +1 -1
  25. package/dist/components/chat-components/theme-toggle.mjs +133 -15
  26. package/dist/components/chat-components/theme-toggle.mjs.map +1 -1
  27. package/dist/components/chat-components/toaster.mjs +6 -3
  28. package/dist/components/chat-components/toaster.mjs.map +1 -1
  29. package/dist/components/chat-components/ui/alert-dialog.mjs +216 -5
  30. package/dist/components/chat-components/ui/alert-dialog.mjs.map +1 -1
  31. package/dist/components/chat-components/ui/badge.mjs +49 -7
  32. package/dist/components/chat-components/ui/badge.mjs.map +1 -1
  33. package/dist/components/chat-components/ui/button.mjs +88 -4
  34. package/dist/components/chat-components/ui/button.mjs.map +1 -1
  35. package/dist/components/chat-components/ui/codeblock.mjs +298 -7
  36. package/dist/components/chat-components/ui/codeblock.mjs.map +1 -1
  37. package/dist/components/chat-components/ui/dialog.mjs +94 -26
  38. package/dist/components/chat-components/ui/dialog.mjs.map +1 -1
  39. package/dist/components/chat-components/ui/dropdown-menu.mjs +61 -8
  40. package/dist/components/chat-components/ui/dropdown-menu.mjs.map +1 -1
  41. package/dist/components/chat-components/ui/icons.mjs +551 -4
  42. package/dist/components/chat-components/ui/icons.mjs.map +1 -1
  43. package/dist/components/chat-components/ui/input.mjs +48 -7
  44. package/dist/components/chat-components/ui/input.mjs.map +1 -1
  45. package/dist/components/chat-components/ui/label.mjs +51 -9
  46. package/dist/components/chat-components/ui/label.mjs.map +1 -1
  47. package/dist/components/chat-components/ui/select.mjs +113 -27
  48. package/dist/components/chat-components/ui/select.mjs.map +1 -1
  49. package/dist/components/chat-components/ui/separator.mjs +67 -4
  50. package/dist/components/chat-components/ui/separator.mjs.map +1 -1
  51. package/dist/components/chat-components/ui/sheet.mjs +93 -24
  52. package/dist/components/chat-components/ui/sheet.mjs.map +1 -1
  53. package/dist/components/chat-components/ui/switch.mjs +53 -8
  54. package/dist/components/chat-components/ui/switch.mjs.map +1 -1
  55. package/dist/components/chat-components/ui/textarea.mjs +48 -7
  56. package/dist/components/chat-components/ui/textarea.mjs.map +1 -1
  57. package/dist/components/chat-components/ui/tooltip.mjs +69 -4
  58. package/dist/components/chat-components/ui/tooltip.mjs.map +1 -1
  59. package/dist/components/index.mjs +1057 -25
  60. package/dist/components/index.mjs.map +1 -1
  61. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs +1052 -24
  62. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs.map +1 -1
  63. package/dist/components/sidebar/copilot-sidebar.mjs +974 -22
  64. package/dist/components/sidebar/copilot-sidebar.mjs.map +1 -1
  65. package/dist/components/sidebar/sidebar-context.mjs +10 -3
  66. package/dist/components/sidebar/sidebar-context.mjs.map +1 -1
  67. package/dist/context/index.mjs +0 -2
  68. package/dist/context/index.mjs.map +1 -1
  69. package/dist/hooks/index.mjs +0 -2
  70. package/dist/hooks/index.mjs.map +1 -1
  71. package/dist/hooks/use-at-bottom.mjs +21 -3
  72. package/dist/hooks/use-at-bottom.mjs.map +1 -1
  73. package/dist/hooks/use-copy-to-clipboard.mjs +27 -3
  74. package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
  75. package/dist/hooks/use-enter-submit.mjs +16 -3
  76. package/dist/hooks/use-enter-submit.mjs.map +1 -1
  77. package/dist/index.mjs +1057 -28
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/lib/utils.mjs +62 -3
  80. package/dist/lib/utils.mjs.map +1 -1
  81. package/dist/lib/utils.test.mjs +0 -1
  82. package/dist/lib/utils.test.mjs.map +1 -1
  83. package/dist/types/index.mjs +0 -2
  84. package/dist/types/index.mjs.map +1 -1
  85. package/dist/types/types.mjs +0 -2
  86. package/dist/types/types.mjs.map +1 -1
  87. package/package.json +8 -7
  88. package/src/components/chat-components/prompt-form.tsx +3 -3
  89. package/src/components/chat-components/ui/codeblock.tsx +0 -2
  90. package/dist/chunk-6LAC5RA2.mjs +0 -28
  91. package/dist/chunk-6LAC5RA2.mjs.map +0 -1
  92. package/dist/chunk-6LRNF2VU.mjs +0 -12
  93. package/dist/chunk-6LRNF2VU.mjs.map +0 -1
  94. package/dist/chunk-6UJWRTL6.mjs +0 -45
  95. package/dist/chunk-6UJWRTL6.mjs.map +0 -1
  96. package/dist/chunk-7NSRDJ5C.mjs +0 -3
  97. package/dist/chunk-7NSRDJ5C.mjs.map +0 -1
  98. package/dist/chunk-BIPCPNHG.mjs +0 -18
  99. package/dist/chunk-BIPCPNHG.mjs.map +0 -1
  100. package/dist/chunk-BS6RR2DJ.mjs +0 -25
  101. package/dist/chunk-BS6RR2DJ.mjs.map +0 -1
  102. package/dist/chunk-DOMJCSI6.mjs +0 -26
  103. package/dist/chunk-DOMJCSI6.mjs.map +0 -1
  104. package/dist/chunk-G6R4HFOE.mjs +0 -69
  105. package/dist/chunk-G6R4HFOE.mjs.map +0 -1
  106. package/dist/chunk-H4VKQGVU.mjs +0 -3
  107. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  108. package/dist/chunk-I2AB5FK4.mjs +0 -123
  109. package/dist/chunk-I2AB5FK4.mjs.map +0 -1
  110. package/dist/chunk-IU3WTXLQ.mjs +0 -3
  111. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  112. package/dist/chunk-JUPNM7ZR.mjs +0 -75
  113. package/dist/chunk-JUPNM7ZR.mjs.map +0 -1
  114. package/dist/chunk-KR7MH7XO.mjs +0 -481
  115. package/dist/chunk-KR7MH7XO.mjs.map +0 -1
  116. package/dist/chunk-KU35CEEC.mjs +0 -106
  117. package/dist/chunk-KU35CEEC.mjs.map +0 -1
  118. package/dist/chunk-KXJV37FS.mjs +0 -33
  119. package/dist/chunk-KXJV37FS.mjs.map +0 -1
  120. package/dist/chunk-MC6KTH4X.mjs +0 -12
  121. package/dist/chunk-MC6KTH4X.mjs.map +0 -1
  122. package/dist/chunk-MRXNTQOX.mjs +0 -55
  123. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  124. package/dist/chunk-N7KB3Z57.mjs +0 -23
  125. package/dist/chunk-N7KB3Z57.mjs.map +0 -1
  126. package/dist/chunk-OZYTYKC6.mjs +0 -48
  127. package/dist/chunk-OZYTYKC6.mjs.map +0 -1
  128. package/dist/chunk-RSONJDLO.mjs +0 -28
  129. package/dist/chunk-RSONJDLO.mjs.map +0 -1
  130. package/dist/chunk-RVWZKSLL.mjs +0 -29
  131. package/dist/chunk-RVWZKSLL.mjs.map +0 -1
  132. package/dist/chunk-TVTG3V4F.mjs +0 -40
  133. package/dist/chunk-TVTG3V4F.mjs.map +0 -1
  134. package/dist/chunk-U6NJWGTV.mjs +0 -3
  135. package/dist/chunk-U6NJWGTV.mjs.map +0 -1
  136. package/dist/chunk-UIJXBILJ.mjs +0 -72
  137. package/dist/chunk-UIJXBILJ.mjs.map +0 -1
  138. package/dist/chunk-V6QYUEJR.mjs +0 -47
  139. package/dist/chunk-V6QYUEJR.mjs.map +0 -1
  140. package/dist/chunk-VQNV2DHJ.mjs +0 -142
  141. package/dist/chunk-VQNV2DHJ.mjs.map +0 -1
  142. package/dist/chunk-VSNDSL6W.mjs +0 -74
  143. package/dist/chunk-VSNDSL6W.mjs.map +0 -1
  144. package/dist/chunk-XDJJE4RX.mjs +0 -53
  145. package/dist/chunk-XDJJE4RX.mjs.map +0 -1
@@ -1,74 +0,0 @@
1
- import { ExternalLink } from './chunk-KXJV37FS.mjs';
2
- import { Button } from './chunk-V6QYUEJR.mjs';
3
- import { IconArrowRight } from './chunk-KR7MH7XO.mjs';
4
- import { jsx, jsxs } from 'react/jsx-runtime';
5
-
6
- var exampleMessages = [
7
- {
8
- heading: "Explain technical concepts",
9
- message: `What is a "serverless function"?`
10
- },
11
- {
12
- heading: "Summarize an article",
13
- message: "Summarize the following article for a 2nd grader: \n"
14
- },
15
- {
16
- heading: "Draft an email",
17
- message: `Draft an email to my boss about the following:
18
- `
19
- }
20
- ];
21
- var DefaultEmptyScreen = (props) => {
22
- return /* @__PURE__ */ jsx("div", {
23
- className: "mx-auto max-w-2xl px-4",
24
- children: /* @__PURE__ */ jsxs("div", {
25
- className: "rounded-lg border bg-background p-8",
26
- children: [
27
- /* @__PURE__ */ jsx("h1", {
28
- className: "mb-2 text-lg font-semibold",
29
- children: "Welcome to CopilotKit! \u{1F44B}"
30
- }),
31
- /* @__PURE__ */ jsxs("p", {
32
- className: "mb-2 leading-normal text-muted-foreground",
33
- children: [
34
- "This is a Copilot built with",
35
- " ",
36
- /* @__PURE__ */ jsx(ExternalLink, {
37
- href: "https://recursively.ai",
38
- children: "recursively.ai's"
39
- }),
40
- " ",
41
- /* @__PURE__ */ jsx(ExternalLink, {
42
- href: "https://github.com/RecursivelyAI/CopilotKit",
43
- children: "CopilotKit"
44
- }),
45
- " ",
46
- "."
47
- ]
48
- }),
49
- /* @__PURE__ */ jsx("p", {
50
- className: "leading-normal text-muted-foreground",
51
- children: "You can start a conversation here or try the following examples:"
52
- }),
53
- /* @__PURE__ */ jsx("div", {
54
- className: "mt-4 flex flex-col items-start space-y-2",
55
- children: exampleMessages.map((message, index) => /* @__PURE__ */ jsxs(Button, {
56
- variant: "link",
57
- className: "h-auto p-0 text-base",
58
- onClick: () => props.setInput(message.message),
59
- children: [
60
- /* @__PURE__ */ jsx(IconArrowRight, {
61
- className: "mr-2 text-muted-foreground"
62
- }),
63
- message.heading
64
- ]
65
- }, index))
66
- })
67
- ]
68
- })
69
- });
70
- };
71
-
72
- export { DefaultEmptyScreen };
73
- //# sourceMappingURL=out.js.map
74
- //# sourceMappingURL=chunk-VSNDSL6W.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat-components/default-empty-screen.tsx"],"names":[],"mappings":";;;;;;;;;;;AA+BQ,cAGA,YAHA;AA/BR;AAQA,IAAM,kBAAkB;AAAA,EACtB;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA;AAAA,EACX;AACF;AAMO,IAAM,qBAAiD,CAAC,UAAU;AACvE,SACE,oBAAC;AAAA,IAAI,WAAU;AAAA,IACb,+BAAC;AAAA,MAAI,WAAU;AAAA,MACb;AAAA,4BAAC;AAAA,UAAG,WAAU;AAAA,UAA6B;AAAA,SAE3C;AAAA,QACA,qBAAC;AAAA,UAAE,WAAU;AAAA,UAA4C;AAAA;AAAA,YAC1B;AAAA,YAC7B,oBAAC;AAAA,cAAa,MAAK;AAAA,cAAyB;AAAA,aAE5C;AAAA,YAAgB;AAAA,YAChB,oBAAC;AAAA,cAAa,MAAK;AAAA,cAA8C;AAAA,aAEjE;AAAA,YAAgB;AAAA,YAAI;AAAA;AAAA,SAEtB;AAAA,QACA,oBAAC;AAAA,UAAE,WAAU;AAAA,UAAuC;AAAA,SAEpD;AAAA,QACA,oBAAC;AAAA,UAAI,WAAU;AAAA,UACZ,0BAAgB,IAAI,CAAC,SAAS,UAC7B,qBAAC;AAAA,YAEC,SAAQ;AAAA,YACR,WAAU;AAAA,YACV,SAAS,MAAM,MAAM,SAAS,QAAQ,OAAO;AAAA,YAE7C;AAAA,kCAAC;AAAA,gBAAe,WAAU;AAAA,eAA6B;AAAA,cACtD,QAAQ;AAAA;AAAA,aANJ,KAOP,CACD;AAAA,SACH;AAAA;AAAA,KACF;AAAA,GACF;AAEJ","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { UseChatHelpers } from \"ai/react\";\n\nimport { Button } from \"./ui/button\";\nimport { ExternalLink } from \"./external-link\";\nimport { IconArrowRight } from \"./ui/icons\";\n\nconst exampleMessages = [\n {\n heading: \"Explain technical concepts\",\n message: `What is a \"serverless function\"?`,\n },\n {\n heading: \"Summarize an article\",\n message: \"Summarize the following article for a 2nd grader: \\n\",\n },\n {\n heading: \"Draft an email\",\n message: `Draft an email to my boss about the following: \\n`,\n },\n];\n\nexport interface EmptyScreenProps {\n setInput: React.Dispatch<React.SetStateAction<string>>;\n}\n\nexport const DefaultEmptyScreen: React.FC<EmptyScreenProps> = (props) => {\n return (\n <div className=\"mx-auto max-w-2xl px-4\">\n <div className=\"rounded-lg border bg-background p-8\">\n <h1 className=\"mb-2 text-lg font-semibold\">\n Welcome to CopilotKit! 👋\n </h1>\n <p className=\"mb-2 leading-normal text-muted-foreground\">\n This is a Copilot built with{\" \"}\n <ExternalLink href=\"https://recursively.ai\">\n recursively.ai's\n </ExternalLink>{\" \"}\n <ExternalLink href=\"https://github.com/RecursivelyAI/CopilotKit\">\n CopilotKit\n </ExternalLink>{\" \"}\n .\n </p>\n <p className=\"leading-normal text-muted-foreground\">\n You can start a conversation here or try the following examples:\n </p>\n <div className=\"mt-4 flex flex-col items-start space-y-2\">\n {exampleMessages.map((message, index) => (\n <Button\n key={index}\n variant=\"link\"\n className=\"h-auto p-0 text-base\"\n onClick={() => props.setInput(message.message)}\n >\n <IconArrowRight className=\"mr-2 text-muted-foreground\" />\n {message.heading}\n </Button>\n ))}\n </div>\n </div>\n </div>\n );\n};\n"]}
@@ -1,53 +0,0 @@
1
- import { ChatPanel } from './chunk-G6R4HFOE.mjs';
2
- import { ChatScrollAnchor } from './chunk-RSONJDLO.mjs';
3
- import { DefaultEmptyScreen } from './chunk-VSNDSL6W.mjs';
4
- import { ChatList } from './chunk-RVWZKSLL.mjs';
5
- import { useCopilotChat } from '@copilotkit/react-core';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
7
-
8
- function CopilotChat({
9
- id,
10
- initialMessages,
11
- makeSystemMessage,
12
- EmptyScreen = DefaultEmptyScreen
13
- }) {
14
- const { visibleMessages, append, reload, stop, isLoading, input, setInput } = useCopilotChat({ id, initialMessages, makeSystemMessage });
15
- return /* @__PURE__ */ jsxs("div", {
16
- className: "w-full h-full flex flex-col overflow-hidden box-border items-start",
17
- children: [
18
- /* @__PURE__ */ jsx("div", {
19
- className: "pt-5 px-5 overflow-y-auto overflow-x-hidden w-full flex-grow",
20
- children: visibleMessages.length ? /* @__PURE__ */ jsxs("div", {
21
- className: "pl-0 pr-6",
22
- children: [
23
- /* @__PURE__ */ jsx(ChatList, {
24
- messages: visibleMessages
25
- }),
26
- /* @__PURE__ */ jsx(ChatScrollAnchor, {
27
- trackVisibility: isLoading
28
- })
29
- ]
30
- }) : /* @__PURE__ */ jsx(EmptyScreen, {
31
- setInput
32
- })
33
- }),
34
- /* @__PURE__ */ jsx("div", {
35
- className: "flex-shrink-0 w-full",
36
- children: /* @__PURE__ */ jsx(ChatPanel, {
37
- id,
38
- isLoading,
39
- stop,
40
- append,
41
- reload,
42
- messages: visibleMessages,
43
- input,
44
- setInput
45
- })
46
- })
47
- ]
48
- });
49
- }
50
-
51
- export { CopilotChat };
52
- //# sourceMappingURL=out.js.map
53
- //# sourceMappingURL=chunk-XDJJE4RX.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat-components/copilot-chat.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,SAAS,sBAAsB;AAuBrB,SACE,KADF;AAhCV;AAmBO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAAqB;AACnB,QAAM,EAAE,iBAAiB,QAAQ,QAAQ,MAAM,WAAW,OAAO,SAAS,IACxE,eAAe,EAAE,IAAI,iBAAiB,kBAAkB,CAAC;AAE3D,SACE,qBAAC;AAAA,IAAI,WAAU;AAAA,IACb;AAAA,0BAAC;AAAA,QAAI,WAAU;AAAA,QACZ,0BAAgB,SACf,qBAAC;AAAA,UAAI,WAAU;AAAA,UACb;AAAA,gCAAC;AAAA,cAAS,UAAU;AAAA,aAAiB;AAAA,YACrC,oBAAC;AAAA,cAAiB,iBAAiB;AAAA,aAAW;AAAA;AAAA,SAChD,IAEA,oBAAC;AAAA,UAAY;AAAA,SAAoB;AAAA,OAErC;AAAA,MAEA,oBAAC;AAAA,QAAI,WAAU;AAAA,QACb,8BAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA;AAAA,SACF;AAAA,OACF;AAAA;AAAA,GACF;AAEJ","sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nimport { ChatList } from \"./chat-list\";\nimport { ChatPanel } from \"./chat-panel\";\nimport { DefaultEmptyScreen, EmptyScreenProps } from \"./default-empty-screen\";\nimport { ChatScrollAnchor } from \"./chat-scroll-anchor\";\nimport { UseCopilotChatOptions } from \"@copilotkit/react-core\";\nimport { useCopilotChat } from \"@copilotkit/react-core\";\n\ninterface ChatComponentInjectionsProps {\n EmptyScreen?: React.FC<EmptyScreenProps>;\n}\n\ninterface CopilotChatProps\n extends UseCopilotChatOptions,\n ChatComponentInjectionsProps {}\n\nexport function CopilotChat({\n id,\n initialMessages,\n makeSystemMessage,\n EmptyScreen = DefaultEmptyScreen,\n}: CopilotChatProps) {\n const { visibleMessages, append, reload, stop, isLoading, input, setInput } =\n useCopilotChat({ id, initialMessages, makeSystemMessage });\n\n return (\n <div className=\"w-full h-full flex flex-col overflow-hidden box-border items-start\">\n <div className=\"pt-5 px-5 overflow-y-auto overflow-x-hidden w-full flex-grow\">\n {visibleMessages.length ? (\n <div className=\"pl-0 pr-6\">\n <ChatList messages={visibleMessages} />\n <ChatScrollAnchor trackVisibility={isLoading} />\n </div>\n ) : (\n <EmptyScreen setInput={setInput} />\n )}\n </div>\n\n <div className=\"flex-shrink-0 w-full\">\n <ChatPanel\n id={id}\n isLoading={isLoading}\n stop={stop}\n append={append}\n reload={reload}\n messages={visibleMessages}\n input={input}\n setInput={setInput}\n />\n </div>\n </div>\n );\n}\n"]}