@copilotkit/react-ui 0.15.0-alpha.0 → 0.15.0-alpha.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/.turbo/turbo-build.log +196 -209
- package/CHANGELOG.md +27 -1
- package/dist/chunk-3M4HWSE7.mjs +61 -0
- package/dist/chunk-3M4HWSE7.mjs.map +1 -0
- package/dist/chunk-47SYBLI2.mjs +110 -0
- package/dist/chunk-47SYBLI2.mjs.map +1 -0
- package/dist/chunk-5O2MCJZ2.mjs +21 -0
- package/dist/chunk-5O2MCJZ2.mjs.map +1 -0
- package/dist/chunk-7YXG7D47.mjs +191 -0
- package/dist/chunk-7YXG7D47.mjs.map +1 -0
- package/dist/chunk-CKJXXQ2W.mjs +26 -0
- package/dist/chunk-CKJXXQ2W.mjs.map +1 -0
- package/dist/{chunk-6LAZQHEB.mjs → chunk-DPRH4HX3.mjs} +18 -43
- package/dist/chunk-DPRH4HX3.mjs.map +1 -0
- package/dist/chunk-GWGHQNRI.mjs +54 -0
- package/dist/chunk-GWGHQNRI.mjs.map +1 -0
- package/dist/chunk-JD7BAH7U.mjs +3 -0
- package/dist/chunk-KBGIPFXA.mjs +14 -0
- package/dist/chunk-KBGIPFXA.mjs.map +1 -0
- package/dist/chunk-NNVWLSYK.mjs +72 -0
- package/dist/chunk-NNVWLSYK.mjs.map +1 -0
- package/dist/chunk-NYLOXKYT.mjs +51 -0
- package/dist/chunk-NYLOXKYT.mjs.map +1 -0
- package/dist/chunk-OF66AL5Z.mjs +56 -0
- package/dist/chunk-OF66AL5Z.mjs.map +1 -0
- package/dist/chunk-P4GBO6MW.mjs +3 -0
- package/dist/chunk-UWPFPWAW.mjs +14 -0
- package/dist/chunk-UWPFPWAW.mjs.map +1 -0
- package/dist/chunk-WB3YULQ4.mjs +3 -0
- package/dist/chunk-WM6BS77F.mjs +53 -0
- package/dist/chunk-WM6BS77F.mjs.map +1 -0
- package/dist/chunk-Z34F3WLK.mjs +14 -0
- package/dist/chunk-Z34F3WLK.mjs.map +1 -0
- package/dist/components/chat/Button.d.ts +6 -0
- package/dist/components/chat/Button.js +38 -0
- package/dist/components/chat/Button.js.map +1 -0
- package/dist/components/chat/Button.mjs +6 -0
- package/dist/components/chat/Chat.d.ts +96 -0
- package/dist/components/chat/Chat.js +800 -0
- package/dist/components/chat/Chat.js.map +1 -0
- package/dist/components/chat/Chat.mjs +16 -0
- package/dist/components/chat/ChatContext.d.ts +105 -0
- package/dist/components/chat/ChatContext.js +220 -0
- package/dist/components/chat/ChatContext.js.map +1 -0
- package/dist/components/chat/ChatContext.mjs +5 -0
- package/dist/components/chat/CodeBlock.js +221 -0
- package/dist/components/chat/CodeBlock.js.map +1 -0
- package/dist/components/chat/CodeBlock.mjs +6 -0
- package/dist/components/chat/Header.d.ts +6 -0
- package/dist/components/chat/Header.js +31 -0
- package/dist/components/chat/Header.js.map +1 -0
- package/dist/components/chat/Header.mjs +6 -0
- package/dist/components/chat/Icons.d.ts +15 -0
- package/dist/components/chat/Icons.js +233 -0
- package/dist/components/chat/Icons.js.map +1 -0
- package/dist/components/chat/Icons.mjs +4 -0
- package/dist/components/chat/Input.d.ts +6 -0
- package/dist/components/chat/Input.js +111 -0
- package/dist/components/chat/Input.js.map +1 -0
- package/dist/components/chat/Input.mjs +7 -0
- package/dist/components/chat/Markdown.d.ts +6 -0
- package/dist/components/chat/Markdown.js +269 -0
- package/dist/components/chat/Markdown.js.map +1 -0
- package/dist/components/chat/Markdown.mjs +7 -0
- package/dist/components/chat/Messages.d.ts +6 -0
- package/dist/components/chat/Messages.js +331 -0
- package/dist/components/chat/Messages.js.map +1 -0
- package/dist/components/chat/Messages.mjs +9 -0
- package/dist/components/chat/Popup.d.ts +10 -0
- package/dist/components/chat/Popup.js +806 -0
- package/dist/components/chat/Popup.js.map +1 -0
- package/dist/components/chat/Popup.mjs +17 -0
- package/dist/components/chat/Response.d.ts +6 -0
- package/dist/components/chat/Response.js +31 -0
- package/dist/components/chat/Response.js.map +1 -0
- package/dist/components/chat/Response.mjs +6 -0
- package/dist/components/chat/Sidebar.d.ts +13 -0
- package/dist/components/chat/Sidebar.js +817 -0
- package/dist/components/chat/Sidebar.js.map +1 -0
- package/dist/components/chat/Sidebar.mjs +17 -0
- package/dist/components/chat/Textarea.d.ts +13 -0
- package/dist/components/chat/Textarea.js +55 -0
- package/dist/components/chat/Textarea.js.map +1 -0
- package/dist/components/chat/Textarea.mjs +4 -0
- package/dist/components/chat/Window.d.ts +6 -0
- package/dist/components/chat/Window.js +116 -0
- package/dist/components/chat/Window.js.map +1 -0
- package/dist/components/chat/Window.mjs +4 -0
- package/dist/components/chat/index.d.ts +8 -0
- package/dist/components/chat/index.js +824 -0
- package/dist/components/chat/index.js.map +1 -0
- package/dist/components/chat/index.mjs +20 -0
- package/dist/components/chat/props.d.ts +33 -0
- package/dist/components/chat/props.js +4 -0
- package/dist/components/chat/props.mjs +3 -0
- package/dist/components/index.d.ts +6 -7
- package/dist/components/index.js +824 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +17 -22
- package/dist/context/index.js +4 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/use-copy-to-clipboard.js +47 -0
- package/dist/hooks/use-copy-to-clipboard.js.map +1 -0
- package/dist/index.css +565 -917
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +6 -7
- package/dist/index.js +824 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +18 -23
- package/dist/lib/utils.js +64 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/utils.mjs +38 -2
- package/dist/lib/utils.mjs.map +1 -1
- package/dist/lib/utils.test.js +10 -0
- package/dist/lib/utils.test.js.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.js +4 -0
- package/dist/types/types.js.map +1 -0
- package/package.json +8 -7
- package/src/components/chat/Button.tsx +23 -0
- package/src/components/chat/Chat.tsx +186 -0
- package/src/components/chat/ChatContext.tsx +176 -0
- package/src/components/{chat-components/ui/codeblock.tsx → chat/CodeBlock.tsx} +21 -33
- package/src/components/chat/Header.tsx +15 -0
- package/src/components/chat/Icons.tsx +179 -0
- package/src/components/chat/Input.tsx +51 -0
- package/src/components/chat/Markdown.tsx +68 -0
- package/src/components/chat/Messages.tsx +113 -0
- package/src/components/chat/Popup.tsx +9 -0
- package/src/components/chat/Response.tsx +12 -0
- package/src/components/chat/Sidebar.tsx +28 -0
- package/src/components/chat/Textarea.tsx +61 -0
- package/src/components/chat/Window.tsx +141 -0
- package/src/components/chat/index.tsx +3 -0
- package/src/components/chat/props.ts +36 -0
- package/src/components/index.ts +1 -7
- package/src/css/animations.css +35 -0
- package/src/css/button.css +54 -0
- package/src/css/colors.css +61 -0
- package/src/css/header.css +43 -0
- package/src/css/input.css +79 -0
- package/src/css/markdown.css +123 -0
- package/src/css/messages.css +57 -0
- package/src/css/popup.css +22 -0
- package/src/css/response.css +29 -0
- package/src/css/sidebar.css +34 -0
- package/src/css/window.css +58 -0
- package/src/styles.css +12 -0
- package/src/types/types.ts +1 -1
- package/tsup.config.ts +1 -2
- package/dist/chunk-2KAF7NKC.mjs +0 -484
- package/dist/chunk-2KAF7NKC.mjs.map +0 -1
- package/dist/chunk-5KEDV5VC.mjs +0 -27
- package/dist/chunk-5KEDV5VC.mjs.map +0 -1
- package/dist/chunk-6LAZQHEB.mjs.map +0 -1
- package/dist/chunk-CF3BK4OX.mjs +0 -53
- package/dist/chunk-CF3BK4OX.mjs.map +0 -1
- package/dist/chunk-CNQX2VY3.mjs +0 -66
- package/dist/chunk-CNQX2VY3.mjs.map +0 -1
- package/dist/chunk-GCOPYGHH.mjs +0 -27
- package/dist/chunk-GCOPYGHH.mjs.map +0 -1
- package/dist/chunk-IJLMKBSZ.mjs +0 -25
- package/dist/chunk-IJLMKBSZ.mjs.map +0 -1
- package/dist/chunk-INCNMGJ7.mjs +0 -72
- package/dist/chunk-INCNMGJ7.mjs.map +0 -1
- package/dist/chunk-M3CZWJI3.mjs +0 -44
- package/dist/chunk-M3CZWJI3.mjs.map +0 -1
- package/dist/chunk-MC6KTH4X.mjs +0 -12
- package/dist/chunk-MC6KTH4X.mjs.map +0 -1
- package/dist/chunk-NMT7XT2R.mjs +0 -39
- package/dist/chunk-NMT7XT2R.mjs.map +0 -1
- package/dist/chunk-OHWEJUCS.mjs +0 -18
- package/dist/chunk-OHWEJUCS.mjs.map +0 -1
- package/dist/chunk-OOBQC5H6.mjs +0 -34
- package/dist/chunk-OOBQC5H6.mjs.map +0 -1
- package/dist/chunk-Q6YO7LDK.mjs +0 -40
- package/dist/chunk-Q6YO7LDK.mjs.map +0 -1
- package/dist/chunk-RPTRCFSO.mjs +0 -42
- package/dist/chunk-RPTRCFSO.mjs.map +0 -1
- package/dist/chunk-SEH5PQVW.mjs +0 -52
- package/dist/chunk-SEH5PQVW.mjs.map +0 -1
- package/dist/chunk-SHOTWRKC.mjs +0 -18
- package/dist/chunk-SHOTWRKC.mjs.map +0 -1
- package/dist/chunk-SRBUGQTM.mjs +0 -109
- package/dist/chunk-SRBUGQTM.mjs.map +0 -1
- package/dist/chunk-TEYIQHMK.mjs +0 -12
- package/dist/chunk-TEYIQHMK.mjs.map +0 -1
- package/dist/chunk-U6NJWGTV.mjs +0 -3
- package/dist/chunk-VGX2W5ZB.mjs +0 -28
- package/dist/chunk-VGX2W5ZB.mjs.map +0 -1
- package/dist/chunk-WLTEQ2FW.mjs +0 -80
- package/dist/chunk-WLTEQ2FW.mjs.map +0 -1
- package/dist/chunk-ZYC5YVDO.mjs +0 -21
- package/dist/chunk-ZYC5YVDO.mjs.map +0 -1
- package/dist/components/chat-components/chat-list.d.ts +0 -8
- package/dist/components/chat-components/chat-list.mjs +0 -13
- package/dist/components/chat-components/chat-message-actions.d.ts +0 -8
- package/dist/components/chat-components/chat-message-actions.mjs +0 -8
- package/dist/components/chat-components/chat-message.d.ts +0 -8
- package/dist/components/chat-components/chat-message.mjs +0 -11
- package/dist/components/chat-components/chat-panel.d.ts +0 -8
- package/dist/components/chat-components/chat-panel.mjs +0 -10
- package/dist/components/chat-components/chat-scroll-anchor.d.ts +0 -6
- package/dist/components/chat-components/chat-scroll-anchor.mjs +0 -5
- package/dist/components/chat-components/clear-history.d.ts +0 -9
- package/dist/components/chat-components/clear-history.mjs +0 -56
- package/dist/components/chat-components/clear-history.mjs.map +0 -1
- package/dist/components/chat-components/copilot-chat.d.ts +0 -12
- package/dist/components/chat-components/copilot-chat.mjs +0 -22
- package/dist/components/chat-components/default-empty-screen.d.ts +0 -8
- package/dist/components/chat-components/default-empty-screen.mjs +0 -8
- package/dist/components/chat-components/external-link.d.ts +0 -6
- package/dist/components/chat-components/external-link.mjs +0 -4
- package/dist/components/chat-components/markdown.d.ts +0 -6
- package/dist/components/chat-components/markdown.mjs +0 -4
- package/dist/components/chat-components/prompt-form.d.ts +0 -9
- package/dist/components/chat-components/prompt-form.mjs +0 -9
- package/dist/components/chat-components/theme-toggle.d.ts +0 -3
- package/dist/components/chat-components/theme-toggle.mjs +0 -32
- package/dist/components/chat-components/theme-toggle.mjs.map +0 -1
- package/dist/components/chat-components/toaster.d.ts +0 -1
- package/dist/components/chat-components/toaster.mjs +0 -4
- package/dist/components/chat-components/toaster.mjs.map +0 -1
- package/dist/components/chat-components/ui/alert-dialog.d.ts +0 -20
- package/dist/components/chat-components/ui/alert-dialog.mjs +0 -6
- package/dist/components/chat-components/ui/badge.d.ts +0 -12
- package/dist/components/chat-components/ui/badge.mjs +0 -29
- package/dist/components/chat-components/ui/badge.mjs.map +0 -1
- package/dist/components/chat-components/ui/button.d.ts +0 -14
- package/dist/components/chat-components/ui/button.mjs +0 -5
- package/dist/components/chat-components/ui/codeblock.mjs +0 -8
- package/dist/components/chat-components/ui/dialog.d.ts +0 -18
- package/dist/components/chat-components/ui/dialog.mjs +0 -94
- package/dist/components/chat-components/ui/dialog.mjs.map +0 -1
- package/dist/components/chat-components/ui/dropdown-menu.d.ts +0 -24
- package/dist/components/chat-components/ui/dropdown-menu.mjs +0 -87
- package/dist/components/chat-components/ui/dropdown-menu.mjs.map +0 -1
- package/dist/components/chat-components/ui/icons.d.ts +0 -33
- package/dist/components/chat-components/ui/icons.mjs +0 -5
- package/dist/components/chat-components/ui/input.d.ts +0 -7
- package/dist/components/chat-components/ui/input.mjs +0 -26
- package/dist/components/chat-components/ui/input.mjs.map +0 -1
- package/dist/components/chat-components/ui/label.d.ts +0 -8
- package/dist/components/chat-components/ui/label.mjs +0 -19
- package/dist/components/chat-components/ui/label.mjs.map +0 -1
- package/dist/components/chat-components/ui/select.d.ts +0 -13
- package/dist/components/chat-components/ui/select.mjs +0 -101
- package/dist/components/chat-components/ui/select.mjs.map +0 -1
- package/dist/components/chat-components/ui/separator.d.ts +0 -6
- package/dist/components/chat-components/ui/separator.mjs +0 -5
- package/dist/components/chat-components/ui/sheet.d.ts +0 -19
- package/dist/components/chat-components/ui/sheet.mjs +0 -93
- package/dist/components/chat-components/ui/sheet.mjs.map +0 -1
- package/dist/components/chat-components/ui/switch.d.ts +0 -6
- package/dist/components/chat-components/ui/switch.mjs +0 -33
- package/dist/components/chat-components/ui/switch.mjs.map +0 -1
- package/dist/components/chat-components/ui/textarea.d.ts +0 -7
- package/dist/components/chat-components/ui/textarea.mjs +0 -25
- package/dist/components/chat-components/ui/textarea.mjs.map +0 -1
- package/dist/components/chat-components/ui/tooltip.d.ts +0 -9
- package/dist/components/chat-components/ui/tooltip.mjs +0 -5
- package/dist/components/sidebar/copilot-sidebar-ui-provider.d.ts +0 -9
- package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs +0 -25
- package/dist/components/sidebar/copilot-sidebar.d.ts +0 -7
- package/dist/components/sidebar/copilot-sidebar.mjs +0 -23
- package/dist/components/sidebar/sidebar-context.d.ts +0 -9
- package/dist/components/sidebar/sidebar-context.mjs +0 -4
- package/dist/hooks/use-at-bottom.d.ts +0 -3
- package/dist/hooks/use-at-bottom.mjs +0 -4
- package/dist/hooks/use-enter-submit.d.ts +0 -8
- package/dist/hooks/use-enter-submit.mjs +0 -4
- package/src/components/chat-components/chat-list.tsx +0 -28
- package/src/components/chat-components/chat-message-actions.tsx +0 -36
- package/src/components/chat-components/chat-message.tsx +0 -70
- package/src/components/chat-components/chat-panel.tsx +0 -64
- package/src/components/chat-components/chat-scroll-anchor.tsx +0 -29
- package/src/components/chat-components/clear-history.tsx +0 -72
- package/src/components/chat-components/copilot-chat.tsx +0 -57
- package/src/components/chat-components/default-empty-screen.tsx +0 -57
- package/src/components/chat-components/external-link.tsx +0 -17
- package/src/components/chat-components/markdown.tsx +0 -8
- package/src/components/chat-components/prompt-form.tsx +0 -85
- package/src/components/chat-components/theme-toggle.tsx +0 -31
- package/src/components/chat-components/toaster.tsx +0 -3
- package/src/components/chat-components/ui/alert-dialog.tsx +0 -126
- package/src/components/chat-components/ui/badge.tsx +0 -33
- package/src/components/chat-components/ui/button.tsx +0 -49
- package/src/components/chat-components/ui/dialog.tsx +0 -106
- package/src/components/chat-components/ui/dropdown-menu.tsx +0 -117
- package/src/components/chat-components/ui/icons.tsx +0 -484
- package/src/components/chat-components/ui/input.tsx +0 -24
- package/src/components/chat-components/ui/label.tsx +0 -21
- package/src/components/chat-components/ui/select.tsx +0 -119
- package/src/components/chat-components/ui/separator.tsx +0 -26
- package/src/components/chat-components/ui/sheet.tsx +0 -106
- package/src/components/chat-components/ui/switch.tsx +0 -29
- package/src/components/chat-components/ui/textarea.tsx +0 -23
- package/src/components/chat-components/ui/tooltip.tsx +0 -30
- package/src/components/sidebar/copilot-sidebar-ui-provider.tsx +0 -77
- package/src/components/sidebar/copilot-sidebar.tsx +0 -39
- package/src/components/sidebar/sidebar-context.tsx +0 -11
- package/src/hooks/use-at-bottom.tsx +0 -20
- package/src/hooks/use-enter-submit.tsx +0 -17
- /package/dist/{chunk-U6NJWGTV.mjs.map → chunk-JD7BAH7U.mjs.map} +0 -0
- /package/dist/{components/chat-components/chat-list.mjs.map → chunk-P4GBO6MW.mjs.map} +0 -0
- /package/dist/{components/chat-components/chat-message-actions.mjs.map → chunk-WB3YULQ4.mjs.map} +0 -0
- /package/dist/components/{chat-components/chat-message.mjs.map → chat/Button.mjs.map} +0 -0
- /package/dist/components/{chat-components/chat-panel.mjs.map → chat/Chat.mjs.map} +0 -0
- /package/dist/components/{chat-components/chat-scroll-anchor.mjs.map → chat/ChatContext.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/codeblock.d.ts → chat/CodeBlock.d.ts} +0 -0
- /package/dist/components/{chat-components/copilot-chat.mjs.map → chat/CodeBlock.mjs.map} +0 -0
- /package/dist/components/{chat-components/default-empty-screen.mjs.map → chat/Header.mjs.map} +0 -0
- /package/dist/components/{chat-components/external-link.mjs.map → chat/Icons.mjs.map} +0 -0
- /package/dist/components/{chat-components/markdown.mjs.map → chat/Input.mjs.map} +0 -0
- /package/dist/components/{chat-components/prompt-form.mjs.map → chat/Markdown.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/alert-dialog.mjs.map → chat/Messages.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/button.mjs.map → chat/Popup.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/codeblock.mjs.map → chat/Response.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/icons.mjs.map → chat/Sidebar.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/separator.mjs.map → chat/Textarea.mjs.map} +0 -0
- /package/dist/components/{chat-components/ui/tooltip.mjs.map → chat/Window.mjs.map} +0 -0
- /package/dist/components/{sidebar/copilot-sidebar-ui-provider.mjs.map → chat/index.mjs.map} +0 -0
- /package/dist/components/{sidebar/copilot-sidebar.mjs.map → chat/props.js.map} +0 -0
- /package/dist/components/{sidebar/sidebar-context.mjs.map → chat/props.mjs.map} +0 -0
- /package/dist/{hooks/use-at-bottom.mjs.map → context/index.js.map} +0 -0
- /package/dist/hooks/{use-enter-submit.mjs.map → index.js.map} +0 -0
package/dist/chunk-CF3BK4OX.mjs
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { PromptForm } from './chunk-INCNMGJ7.mjs';
|
|
2
|
-
import { Button } from './chunk-M3CZWJI3.mjs';
|
|
3
|
-
import { IconStop, IconRefresh } from './chunk-2KAF7NKC.mjs';
|
|
4
|
-
import { __async } from './chunk-MRXNTQOX.mjs';
|
|
5
|
-
import { nanoid } from 'nanoid';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
function ChatPanel({
|
|
9
|
-
id,
|
|
10
|
-
isLoading,
|
|
11
|
-
stop,
|
|
12
|
-
append,
|
|
13
|
-
reload,
|
|
14
|
-
input,
|
|
15
|
-
setInput,
|
|
16
|
-
messages
|
|
17
|
-
}) {
|
|
18
|
-
return /* @__PURE__ */ jsx(
|
|
19
|
-
"div",
|
|
20
|
-
{
|
|
21
|
-
className: "inset-x-0 bottom-0 bg-gradient-to-b from-muted/10 from-10% to-muted/30 to-50% mt-4 mb-8",
|
|
22
|
-
style: { width: "100%", overflow: "hidden", boxSizing: "border-box" },
|
|
23
|
-
children: /* @__PURE__ */ jsxs("div", { className: "mx-auto sm:max-w-2xl sm:px-4", children: [
|
|
24
|
-
/* @__PURE__ */ jsx("div", { className: "flex h-10 items-center justify-center mb-4", children: isLoading ? /* @__PURE__ */ jsxs(Button, { variant: "outline", onClick: () => stop(), className: "bg-background", children: [
|
|
25
|
-
/* @__PURE__ */ jsx(IconStop, { className: "mr-2" }),
|
|
26
|
-
"Stop generating"
|
|
27
|
-
] }) : (messages == null ? void 0 : messages.length) > 0 && /* @__PURE__ */ jsxs(Button, { variant: "outline", onClick: () => reload(), className: "bg-background", children: [
|
|
28
|
-
/* @__PURE__ */ jsx(IconRefresh, { className: "mr-2" }),
|
|
29
|
-
"Regenerate response"
|
|
30
|
-
] }) }),
|
|
31
|
-
/* @__PURE__ */ jsx("div", { className: "space-y-4 border-2 bg-background px-4 py-2 shadow-lg sm:rounded-xl md:py-4", children: /* @__PURE__ */ jsx(
|
|
32
|
-
PromptForm,
|
|
33
|
-
{
|
|
34
|
-
onSubmit: (value) => __async(this, null, function* () {
|
|
35
|
-
yield append({
|
|
36
|
-
id: id || nanoid(),
|
|
37
|
-
content: value,
|
|
38
|
-
role: "user"
|
|
39
|
-
});
|
|
40
|
-
}),
|
|
41
|
-
input,
|
|
42
|
-
setInput,
|
|
43
|
-
isLoading
|
|
44
|
-
}
|
|
45
|
-
) })
|
|
46
|
-
] })
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export { ChatPanel };
|
|
52
|
-
//# sourceMappingURL=out.js.map
|
|
53
|
-
//# sourceMappingURL=chunk-CF3BK4OX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/chat-panel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,SAAS,cAAc;AA4BX,SACE,KADF;AAlBL,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAmB;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,OAAO,QAAQ,UAAU,UAAU,WAAW,aAAa;AAAA,MAEpE,+BAAC,SAAI,WAAU,gCACb;AAAA,4BAAC,SAAI,WAAU,8CACZ,sBACC,qBAAC,UAAO,SAAQ,WAAU,SAAS,MAAM,KAAK,GAAG,WAAU,iBACzD;AAAA,8BAAC,YAAS,WAAU,QAAO;AAAA,UAAE;AAAA,WAE/B,KAEA,qCAAU,UAAS,KACjB,qBAAC,UAAO,SAAQ,WAAU,SAAS,MAAM,OAAO,GAAG,WAAU,iBAC3D;AAAA,8BAAC,eAAY,WAAU,QAAO;AAAA,UAAE;AAAA,WAElC,GAGN;AAAA,QACA,oBAAC,SAAI,WAAU,8EACb;AAAA,UAAC;AAAA;AAAA,YACC,UAAU,CAAO,UAAU;AACzB,oBAAM,OAAO;AAAA,gBACX,IAAI,MAAM,OAAO;AAAA,gBACjB,SAAS;AAAA,gBACT,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF,GACF;AAAA,SACF;AAAA;AAAA,EACF;AAEJ","sourcesContent":["import { type UseChatHelpers } from \"@copilotkit/react-core\";\n\nimport { Button } from \"./ui/button\";\nimport { PromptForm } from \"./prompt-form\";\nimport { IconRefresh, IconStop } from \"./ui/icons\";\nimport { nanoid } from \"nanoid\";\n\nexport interface ChatPanelProps\n extends Pick<\n UseChatHelpers,\n \"append\" | \"isLoading\" | \"reload\" | \"messages\" | \"stop\" | \"input\" | \"setInput\"\n > {\n id?: string;\n}\n\nexport function ChatPanel({\n id,\n isLoading,\n stop,\n append,\n reload,\n input,\n setInput,\n messages,\n}: ChatPanelProps) {\n return (\n <div\n className=\"inset-x-0 bottom-0 bg-gradient-to-b from-muted/10 from-10% to-muted/30 to-50% mt-4 mb-8\"\n style={{ width: \"100%\", overflow: \"hidden\", boxSizing: \"border-box\" }}\n >\n <div className=\"mx-auto sm:max-w-2xl sm:px-4\">\n <div className=\"flex h-10 items-center justify-center mb-4\">\n {isLoading ? (\n <Button variant=\"outline\" onClick={() => stop()} className=\"bg-background\">\n <IconStop className=\"mr-2\" />\n Stop generating\n </Button>\n ) : (\n messages?.length > 0 && (\n <Button variant=\"outline\" onClick={() => reload()} className=\"bg-background\">\n <IconRefresh className=\"mr-2\" />\n Regenerate response\n </Button>\n )\n )}\n </div>\n <div className=\"space-y-4 border-2 bg-background px-4 py-2 shadow-lg sm:rounded-xl md:py-4\">\n <PromptForm\n onSubmit={async (value) => {\n await append({\n id: id || nanoid(),\n content: value,\n role: \"user\",\n });\n }}\n input={input}\n setInput={setInput}\n isLoading={isLoading}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
|
package/dist/chunk-CNQX2VY3.mjs
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { CodeBlock } from './chunk-6LAZQHEB.mjs';
|
|
2
|
-
import { MemoizedReactMarkdown } from './chunk-TEYIQHMK.mjs';
|
|
3
|
-
import { ChatMessageActions } from './chunk-OOBQC5H6.mjs';
|
|
4
|
-
import { IconUser, IconOpenAI } from './chunk-2KAF7NKC.mjs';
|
|
5
|
-
import { cn } from './chunk-Q6YO7LDK.mjs';
|
|
6
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
7
|
-
import remarkGfm from 'remark-gfm';
|
|
8
|
-
import remarkMath from 'remark-math';
|
|
9
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
10
|
-
|
|
11
|
-
function ChatMessage(_a) {
|
|
12
|
-
var _b = _a, { message } = _b, props = __objRest(_b, ["message"]);
|
|
13
|
-
return /* @__PURE__ */ jsxs("div", __spreadProps(__spreadValues({ className: cn("group relative mb-4 flex items-start") }, props), { children: [
|
|
14
|
-
/* @__PURE__ */ jsx(
|
|
15
|
-
"div",
|
|
16
|
-
{
|
|
17
|
-
className: cn(
|
|
18
|
-
"flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-md border shadow",
|
|
19
|
-
message.role === "user" ? "bg-background" : "bg-primary text-primary-foreground"
|
|
20
|
-
),
|
|
21
|
-
children: message.role === "user" ? /* @__PURE__ */ jsx(IconUser, {}) : /* @__PURE__ */ jsx(IconOpenAI, {})
|
|
22
|
-
}
|
|
23
|
-
),
|
|
24
|
-
/* @__PURE__ */ jsxs("div", { className: "ml-4 flex-1 space-y-2 overflow-hidden px-1", children: [
|
|
25
|
-
/* @__PURE__ */ jsx(
|
|
26
|
-
MemoizedReactMarkdown,
|
|
27
|
-
{
|
|
28
|
-
className: "prose break-words dark:prose-invert prose-p:leading-relaxed prose-pre:p-0 text-sm",
|
|
29
|
-
remarkPlugins: [remarkGfm, remarkMath],
|
|
30
|
-
components: {
|
|
31
|
-
p({ children }) {
|
|
32
|
-
return /* @__PURE__ */ jsx("p", { className: "mb-2 last:mb-0", children });
|
|
33
|
-
},
|
|
34
|
-
code(_a2) {
|
|
35
|
-
var _b2 = _a2, { children, className, inline } = _b2, props2 = __objRest(_b2, ["children", "className", "inline"]);
|
|
36
|
-
if (children.length) {
|
|
37
|
-
if (children[0] == "\u258D") {
|
|
38
|
-
return /* @__PURE__ */ jsx("span", { className: "mt-1 animate-pulse cursor-default", children: "\u258D" });
|
|
39
|
-
}
|
|
40
|
-
children[0] = children[0].replace("`\u258D`", "\u258D");
|
|
41
|
-
}
|
|
42
|
-
const match = /language-(\w+)/.exec(className || "");
|
|
43
|
-
if (inline) {
|
|
44
|
-
return /* @__PURE__ */ jsx("code", __spreadProps(__spreadValues({ className }, props2), { children }));
|
|
45
|
-
}
|
|
46
|
-
return /* @__PURE__ */ jsx(
|
|
47
|
-
CodeBlock,
|
|
48
|
-
__spreadValues({
|
|
49
|
-
language: match && match[1] || "",
|
|
50
|
-
value: String(children).replace(/\n$/, "")
|
|
51
|
-
}, props2),
|
|
52
|
-
Math.random()
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
children: message.content
|
|
57
|
-
}
|
|
58
|
-
),
|
|
59
|
-
/* @__PURE__ */ jsx(ChatMessageActions, { message })
|
|
60
|
-
] })
|
|
61
|
-
] }));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export { ChatMessage };
|
|
65
|
-
//# sourceMappingURL=out.js.map
|
|
66
|
-
//# sourceMappingURL=chunk-CNQX2VY3.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/chat-message.tsx"],"names":["_a","_b","props"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,eAAe;AACtB,OAAO,gBAAgB;AAqBY,cAE7B,YAF6B;AAT5B,SAAS,YAAY,IAAyC;AAAzC,eAAE,UAd9B,IAc4B,IAAc,kBAAd,IAAc,CAAZ;AAC5B,SACE,qBAAC,sCAAI,WAAW,GAAG,sCAAsC,KAAO,QAA/D,EACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,QAAQ,SAAS,SAAS,kBAAkB;AAAA,QAC9C;AAAA,QAEC,kBAAQ,SAAS,SAAS,oBAAC,YAAS,IAAK,oBAAC,cAAW;AAAA;AAAA,IACxD;AAAA,IACA,qBAAC,SAAI,WAAU,8CACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAe,CAAC,WAAW,UAAU;AAAA,UACrC,YAAY;AAAA,YACV,EAAE,EAAE,SAAS,GAAG;AACd,qBAAO,oBAAC,OAAE,WAAU,kBAAkB,UAAS;AAAA,YACjD;AAAA,YACA,KAAKA,KAA2C;AAA3C,kBAAAC,MAAAD,KAAE,YAAU,WAAW,OAjCxC,IAiCiBC,KAAkCC,SAAA,UAAlCD,KAAkC,CAAhC,YAAU,aAAW;AAC1B,kBAAI,SAAS,QAAQ;AACnB,oBAAI,SAAS,CAAC,KAAK,UAAK;AACtB,yBAAO,oBAAC,UAAK,WAAU,qCAAoC,oBAAC;AAAA,gBAC9D;AAEA,yBAAS,CAAC,IAAK,SAAS,CAAC,EAAa,QAAQ,YAAO,QAAG;AAAA,cAC1D;AAEA,oBAAM,QAAQ,iBAAiB,KAAK,aAAa,EAAE;AAEnD,kBAAI,QAAQ;AACV,uBACE,oBAAC,uCAAK,aAA0BC,SAA/B,EACE,WACH;AAAA,cAEJ;AAEA,qBACE;AAAA,gBAAC;AAAA;AAAA,kBAEC,UAAW,SAAS,MAAM,CAAC,KAAM;AAAA,kBACjC,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,EAAE;AAAA,mBACrCA;AAAA,gBAHC,KAAK,OAAO;AAAA,cAInB;AAAA,YAEJ;AAAA,UACF;AAAA,UAEC,kBAAQ;AAAA;AAAA,MACX;AAAA,MACA,oBAAC,sBAAmB,SAAkB;AAAA,OACxC;AAAA,MACF;AAEJ","sourcesContent":["import { Message } from \"@copilotkit/react-core\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkMath from \"remark-math\";\n\nimport { cn } from \"../../lib/utils\";\nimport { CodeBlock } from \"./ui/codeblock\";\nimport { MemoizedReactMarkdown } from \"./markdown\";\nimport { IconOpenAI, IconUser } from \"./ui/icons\";\nimport { ChatMessageActions } from \"./chat-message-actions\";\n\nexport interface ChatMessageProps {\n message: Message;\n}\n\nexport function ChatMessage({ message, ...props }: ChatMessageProps) {\n return (\n <div className={cn(\"group relative mb-4 flex items-start\")} {...props}>\n <div\n className={cn(\n \"flex h-8 w-8 shrink-0 select-none items-center justify-center rounded-md border shadow\",\n message.role === \"user\" ? \"bg-background\" : \"bg-primary text-primary-foreground\",\n )}\n >\n {message.role === \"user\" ? <IconUser /> : <IconOpenAI />}\n </div>\n <div className=\"ml-4 flex-1 space-y-2 overflow-hidden px-1\">\n <MemoizedReactMarkdown\n className=\"prose break-words dark:prose-invert prose-p:leading-relaxed prose-pre:p-0 text-sm\"\n remarkPlugins={[remarkGfm, remarkMath]}\n components={{\n p({ children }) {\n return <p className=\"mb-2 last:mb-0\">{children}</p>;\n },\n code({ children, className, inline, ...props }) {\n if (children.length) {\n if (children[0] == \"▍\") {\n return <span className=\"mt-1 animate-pulse cursor-default\">▍</span>;\n }\n\n children[0] = (children[0] as string).replace(\"`▍`\", \"▍\");\n }\n\n const match = /language-(\\w+)/.exec(className || \"\");\n\n if (inline) {\n return (\n <code className={className} {...props}>\n {children}\n </code>\n );\n }\n\n return (\n <CodeBlock\n key={Math.random()}\n language={(match && match[1]) || \"\"}\n value={String(children).replace(/\\n$/, \"\")}\n {...props}\n />\n );\n },\n }}\n >\n {message.content}\n </MemoizedReactMarkdown>\n <ChatMessageActions message={message} />\n </div>\n </div>\n );\n}\n"]}
|
package/dist/chunk-GCOPYGHH.mjs
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-Q6YO7LDK.mjs';
|
|
2
|
-
import { __objRest, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var Separator = React.forwardRef((_a, ref) => {
|
|
8
|
-
var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
-
SeparatorPrimitive.Root,
|
|
11
|
-
__spreadValues({
|
|
12
|
-
ref,
|
|
13
|
-
decorative,
|
|
14
|
-
orientation,
|
|
15
|
-
className: cn(
|
|
16
|
-
"shrink-0 bg-border",
|
|
17
|
-
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
18
|
-
className
|
|
19
|
-
)
|
|
20
|
-
}, props)
|
|
21
|
-
);
|
|
22
|
-
});
|
|
23
|
-
Separator.displayName = SeparatorPrimitive.Root.displayName;
|
|
24
|
-
|
|
25
|
-
export { Separator };
|
|
26
|
-
//# sourceMappingURL=out.js.map
|
|
27
|
-
//# sourceMappingURL=chunk-GCOPYGHH.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/ui/separator.tsx"],"names":[],"mappings":";;;;;;;;;AAEA,YAAY,WAAW;AACvB,YAAY,wBAAwB;AAQlC;AAJF,IAAM,YAAkB,iBAGtB,CAAC,IAAwE,QAAK;AAA7E,eAAE,aAAW,cAAc,cAAc,aAAa,KAVzD,IAUG,IAA+D,kBAA/D,IAA+D,CAA7D,aAAW,eAA4B;AAC1C;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,gBAAgB,eAAe,mBAAmB;AAAA,QAClD;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AACD,UAAU,cAAiC,wBAAK","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className,\n )}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n"]}
|
package/dist/chunk-IJLMKBSZ.mjs
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { useAtBottom } from './chunk-ZYC5YVDO.mjs';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useInView } from 'react-intersection-observer';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
function ChatScrollAnchor({ trackVisibility }) {
|
|
7
|
-
const isAtBottom = useAtBottom();
|
|
8
|
-
const { ref, entry, inView } = useInView({
|
|
9
|
-
trackVisibility,
|
|
10
|
-
delay: 100,
|
|
11
|
-
rootMargin: "0px 0px -150px 0px"
|
|
12
|
-
});
|
|
13
|
-
React.useEffect(() => {
|
|
14
|
-
if (isAtBottom && trackVisibility && !inView) {
|
|
15
|
-
entry == null ? void 0 : entry.target.scrollIntoView({
|
|
16
|
-
block: "start"
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}, [inView, entry, isAtBottom, trackVisibility]);
|
|
20
|
-
return /* @__PURE__ */ jsx("div", { ref, className: "h-px w-full" });
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { ChatScrollAnchor };
|
|
24
|
-
//# sourceMappingURL=out.js.map
|
|
25
|
-
//# sourceMappingURL=chunk-IJLMKBSZ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/chat-scroll-anchor.tsx"],"names":[],"mappings":";;;;;AAEA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAwBjB;AAhBF,SAAS,iBAAiB,EAAE,gBAAgB,GAA0B;AAC3E,QAAM,aAAa,YAAY;AAC/B,QAAM,EAAE,KAAK,OAAO,OAAO,IAAI,UAAU;AAAA,IACvC;AAAA,IACA,OAAO;AAAA,IACP,YAAY;AAAA,EACd,CAAC;AAED,EAAM,gBAAU,MAAM;AACpB,QAAI,cAAc,mBAAmB,CAAC,QAAQ;AAC5C,qCAAO,OAAO,eAAe;AAAA,QAC3B,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,OAAO,YAAY,eAAe,CAAC;AAE/C,SAAO,oBAAC,SAAI,KAAU,WAAU,eAAc;AAChD","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useInView } from \"react-intersection-observer\";\n\nimport { useAtBottom } from \"../../hooks/use-at-bottom\";\n\ninterface ChatScrollAnchorProps {\n trackVisibility?: boolean;\n}\n\nexport function ChatScrollAnchor({ trackVisibility }: ChatScrollAnchorProps) {\n const isAtBottom = useAtBottom();\n const { ref, entry, inView } = useInView({\n trackVisibility,\n delay: 100,\n rootMargin: \"0px 0px -150px 0px\",\n });\n\n React.useEffect(() => {\n if (isAtBottom && trackVisibility && !inView) {\n entry?.target.scrollIntoView({\n block: \"start\",\n });\n }\n }, [inView, entry, isAtBottom, trackVisibility]);\n\n return <div ref={ref} className=\"h-px w-full\" />;\n}\n"]}
|
package/dist/chunk-INCNMGJ7.mjs
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-VGX2W5ZB.mjs';
|
|
2
|
-
import { Button } from './chunk-M3CZWJI3.mjs';
|
|
3
|
-
import { IconArrowElbow } from './chunk-2KAF7NKC.mjs';
|
|
4
|
-
import { useEnterSubmit } from './chunk-OHWEJUCS.mjs';
|
|
5
|
-
import { __async } from './chunk-MRXNTQOX.mjs';
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import TextareaAutosize from 'react-textarea-autosize';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
|
-
|
|
10
|
-
function PromptForm({ onSubmit, input, setInput, isLoading }) {
|
|
11
|
-
const { formRef, onKeyDown } = useEnterSubmit();
|
|
12
|
-
const inputRef = React.useRef(null);
|
|
13
|
-
React.useEffect(() => {
|
|
14
|
-
if (inputRef.current) {
|
|
15
|
-
inputRef.current.focus();
|
|
16
|
-
}
|
|
17
|
-
}, []);
|
|
18
|
-
return /* @__PURE__ */ jsx(
|
|
19
|
-
"form",
|
|
20
|
-
{
|
|
21
|
-
onSubmit: (e) => __async(this, null, function* () {
|
|
22
|
-
e.preventDefault();
|
|
23
|
-
if (!(input == null ? void 0 : input.trim())) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
setInput("");
|
|
27
|
-
yield onSubmit(input);
|
|
28
|
-
}),
|
|
29
|
-
ref: formRef,
|
|
30
|
-
children: /* @__PURE__ */ jsxs("div", { className: "relative flex max-h-60 w-full grow flex-col overflow-hidden bg-background px-8 sm:rounded-md border sm:px-12", children: [
|
|
31
|
-
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
32
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true }),
|
|
33
|
-
/* @__PURE__ */ jsx(TooltipContent, { children: "New Chat" })
|
|
34
|
-
] }),
|
|
35
|
-
/* @__PURE__ */ jsx(
|
|
36
|
-
TextareaAutosize,
|
|
37
|
-
{
|
|
38
|
-
ref: inputRef,
|
|
39
|
-
tabIndex: 0,
|
|
40
|
-
onKeyDown,
|
|
41
|
-
rows: 1,
|
|
42
|
-
value: input,
|
|
43
|
-
onChange: (e) => setInput(e.target.value),
|
|
44
|
-
placeholder: "Send a message.",
|
|
45
|
-
spellCheck: false,
|
|
46
|
-
className: "min-h-[60px] w-full resize-none bg-transparent px-4 py-[1.3rem] focus-within:outline-none sm:text-sm"
|
|
47
|
-
}
|
|
48
|
-
),
|
|
49
|
-
/* @__PURE__ */ jsx("div", { className: "absolute right-0 top-4 sm:right-4", children: /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
50
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
51
|
-
Button,
|
|
52
|
-
{
|
|
53
|
-
type: "submit",
|
|
54
|
-
size: "icon",
|
|
55
|
-
disabled: isLoading || input === "",
|
|
56
|
-
className: " bg-slate-300",
|
|
57
|
-
children: [
|
|
58
|
-
/* @__PURE__ */ jsx(IconArrowElbow, {}),
|
|
59
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Send message" })
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
) }),
|
|
63
|
-
/* @__PURE__ */ jsx(TooltipContent, { children: "Send message" })
|
|
64
|
-
] }) })
|
|
65
|
-
] })
|
|
66
|
-
}
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export { PromptForm };
|
|
71
|
-
//# sourceMappingURL=out.js.map
|
|
72
|
-
//# sourceMappingURL=chunk-INCNMGJ7.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/prompt-form.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,YAAY,WAAW;AACvB,OAAO,sBAAsB;AAsCrB,SACE,KADF;AAvBD,SAAS,WAAW,EAAE,UAAU,OAAO,UAAU,UAAU,GAAgB;AAChF,QAAM,EAAE,SAAS,UAAU,IAAI,eAAe;AAC9C,QAAM,WAAiB,aAA4B,IAAI;AAEvD,EAAM,gBAAU,MAAM;AACpB,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,MAAM;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,CAAO,MAAM;AACrB,UAAE,eAAe;AACjB,YAAI,EAAC,+BAAO,SAAQ;AAClB;AAAA,QACF;AACA,iBAAS,EAAE;AACX,cAAM,SAAS,KAAK;AAAA,MACtB;AAAA,MACA,KAAK;AAAA,MAEL,+BAAC,SAAI,WAAU,gHACb;AAAA,6BAAC,WACC;AAAA,8BAAC,kBAAe,SAAO,MAWvB;AAAA,UACA,oBAAC,kBAAe,sBAAQ;AAAA,WAC1B;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,KAAK;AAAA,YACL,UAAU;AAAA,YACV;AAAA,YACA,MAAM;AAAA,YACN,OAAO;AAAA,YACP,UAAU,CAAC,MAAM,SAAS,EAAE,OAAO,KAAK;AAAA,YACxC,aAAY;AAAA,YACZ,YAAY;AAAA,YACZ,WAAU;AAAA;AAAA,QACZ;AAAA,QACA,oBAAC,SAAI,WAAU,qCACb,+BAAC,WACC;AAAA,8BAAC,kBAAe,SAAO,MACrB;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAK;AAAA,cACL,UAAU,aAAa,UAAU;AAAA,cACjC,WAAU;AAAA,cAEV;AAAA,oCAAC,kBAAe;AAAA,gBAChB,oBAAC,UAAK,WAAU,WAAU,0BAAY;AAAA;AAAA;AAAA,UACxC,GACF;AAAA,UACA,oBAAC,kBAAe,0BAAY;AAAA,WAC9B,GACF;AAAA,SACF;AAAA;AAAA,EACF;AAEJ","sourcesContent":["import * as React from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport { UseChatHelpers } from \"@copilotkit/react-core\";\n\nimport { useEnterSubmit } from \"../../hooks/use-enter-submit\";\nimport { cn } from \"../../lib/utils\";\nimport { Button, buttonVariants } from \"./ui/button\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"./ui/tooltip\";\nimport { IconArrowElbow, IconPlus } from \"./ui/icons\";\n// import Link from \"next/link\";\n\nexport interface PromptProps extends Pick<UseChatHelpers, \"input\" | \"setInput\"> {\n onSubmit: (value: string) => Promise<void>;\n isLoading: boolean;\n}\n\nexport function PromptForm({ onSubmit, input, setInput, isLoading }: PromptProps) {\n const { formRef, onKeyDown } = useEnterSubmit();\n const inputRef = React.useRef<HTMLTextAreaElement>(null);\n\n React.useEffect(() => {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }, []);\n\n return (\n <form\n onSubmit={async (e) => {\n e.preventDefault();\n if (!input?.trim()) {\n return;\n }\n setInput(\"\");\n await onSubmit(input);\n }}\n ref={formRef}\n >\n <div className=\"relative flex max-h-60 w-full grow flex-col overflow-hidden bg-background px-8 sm:rounded-md border sm:px-12\">\n <Tooltip>\n <TooltipTrigger asChild>\n {/* <Link\n href=\"/\"\n className={cn(\n buttonVariants({ size: \"sm\", variant: \"outline\" }),\n \"absolute left-0 top-4 h-8 w-8 rounded-full bg-background p-0 sm:left-4\"\n )}\n >\n <IconPlus />\n <span className=\"sr-only\">New Chat</span>\n </Link> */}\n </TooltipTrigger>\n <TooltipContent>New Chat</TooltipContent>\n </Tooltip>\n <TextareaAutosize\n ref={inputRef}\n tabIndex={0}\n onKeyDown={onKeyDown}\n rows={1}\n value={input}\n onChange={(e) => setInput(e.target.value)}\n placeholder=\"Send a message.\"\n spellCheck={false}\n className=\"min-h-[60px] w-full resize-none bg-transparent px-4 py-[1.3rem] focus-within:outline-none sm:text-sm\"\n />\n <div className=\"absolute right-0 top-4 sm:right-4\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n type=\"submit\"\n size=\"icon\"\n disabled={isLoading || input === \"\"}\n className=\" bg-slate-300\"\n >\n <IconArrowElbow />\n <span className=\"sr-only\">Send message</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Send message</TooltipContent>\n </Tooltip>\n </div>\n </div>\n </form>\n );\n}\n"]}
|
package/dist/chunk-M3CZWJI3.mjs
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { cn } from './chunk-Q6YO7LDK.mjs';
|
|
2
|
-
import { __objRest, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
5
|
-
import { cva } from 'class-variance-authority';
|
|
6
|
-
import { jsx } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var buttonVariants = cva(
|
|
9
|
-
"inline-flex items-center justify-center rounded-md text-sm font-medium shadow ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
10
|
-
{
|
|
11
|
-
variants: {
|
|
12
|
-
variant: {
|
|
13
|
-
default: "bg-primary text-primary-foreground shadow-md hover:bg-primary/90",
|
|
14
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
15
|
-
outline: "border border-input hover:bg-accent hover:text-accent-foreground",
|
|
16
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
17
|
-
ghost: "shadow-none hover:bg-accent hover:text-accent-foreground",
|
|
18
|
-
link: "text-primary underline-offset-4 shadow-none hover:underline"
|
|
19
|
-
},
|
|
20
|
-
size: {
|
|
21
|
-
default: "h-8 px-4 py-2",
|
|
22
|
-
sm: "h-8 rounded-md px-3",
|
|
23
|
-
lg: "h-11 rounded-md px-8",
|
|
24
|
-
icon: "h-8 w-8 p-0"
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
defaultVariants: {
|
|
28
|
-
variant: "default",
|
|
29
|
-
size: "default"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
);
|
|
33
|
-
var Button = React.forwardRef(
|
|
34
|
-
(_a, ref) => {
|
|
35
|
-
var _b = _a, { className, variant, size, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild"]);
|
|
36
|
-
const Comp = asChild ? Slot : "button";
|
|
37
|
-
return /* @__PURE__ */ jsx(Comp, __spreadValues({ className: cn(buttonVariants({ variant, size, className })), ref }, props));
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
Button.displayName = "Button";
|
|
41
|
-
|
|
42
|
-
export { Button, buttonVariants };
|
|
43
|
-
//# sourceMappingURL=out.js.map
|
|
44
|
-
//# sourceMappingURL=chunk-M3CZWJI3.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/ui/button.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,YAAY,WAAW;AACvB,SAAS,YAAY;AACrB,SAAS,WAA8B;AAwCjC;AApCN,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAQA,IAAM,SAAe;AAAA,EACnB,CAAC,IAAyD,QAAQ;AAAjE,iBAAE,aAAW,SAAS,MAAM,UAAU,MAvCzC,IAuCG,IAAgD,kBAAhD,IAAgD,CAA9C,aAAW,WAAS,QAAM;AAC3B,UAAM,OAAO,UAAU,OAAO;AAC9B,WACE,oBAAC,uBAAK,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC,GAAG,OAAc,MAAO;AAAA,EAE5F;AACF;AACA,OAAO,cAAc","sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../../lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium shadow ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground shadow-md hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"shadow-none hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 shadow-none hover:underline\",\n },\n size: {\n default: \"h-8 px-4 py-2\",\n sm: \"h-8 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-8 w-8 p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n"]}
|
package/dist/chunk-MC6KTH4X.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createContext } from 'react';
|
|
2
|
-
|
|
3
|
-
// src/components/sidebar/sidebar-context.tsx
|
|
4
|
-
var CopilotSidebarContext = createContext({
|
|
5
|
-
isSidebarOpen: false,
|
|
6
|
-
toggleSidebar: () => {
|
|
7
|
-
}
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
export { CopilotSidebarContext };
|
|
11
|
-
//# sourceMappingURL=out.js.map
|
|
12
|
-
//# sourceMappingURL=chunk-MC6KTH4X.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/sidebar/sidebar-context.tsx"],"names":[],"mappings":";AAAA,SAAS,qBAAgC;AAOlC,IAAM,wBAAwB,cAAyC;AAAA,EAC5E,eAAe;AAAA,EACf,eAAe,MAAM;AAAA,EAAC;AACxB,CAAC","sourcesContent":["import { createContext, ReactNode } from \"react\";\n\nexport interface CopilotSidebarContextType {\n isSidebarOpen: boolean;\n toggleSidebar: () => void;\n}\n\nexport const CopilotSidebarContext = createContext<CopilotSidebarContextType>({\n isSidebarOpen: false,\n toggleSidebar: () => {},\n});\n"]}
|
package/dist/chunk-NMT7XT2R.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { CopilotChat } from './chunk-RPTRCFSO.mjs';
|
|
2
|
-
import { __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
3
|
-
import { XMarkIcon } from '@heroicons/react/24/outline';
|
|
4
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
function CopilotSidebar(props) {
|
|
7
|
-
return /* @__PURE__ */ jsxs(
|
|
8
|
-
"div",
|
|
9
|
-
{
|
|
10
|
-
className: "shadow-lg bg-gray-50 flex flex-col border-l-2",
|
|
11
|
-
style: { width: "100%", height: "100%" },
|
|
12
|
-
children: [
|
|
13
|
-
/* @__PURE__ */ jsx(TopBar, __spreadValues({}, props)),
|
|
14
|
-
/* @__PURE__ */ jsx(CopilotChat, { makeSystemMessage: props.makeSystemMessage })
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
function TopBar(props) {
|
|
20
|
-
return /* @__PURE__ */ jsxs("div", { className: "py-6 flex bg-gray-50 items-center justify-between px-4", children: [
|
|
21
|
-
/* @__PURE__ */ jsx("h1", { className: "text-base font-semibold leading-6 text-gray-900", children: "Copilot Chat" }),
|
|
22
|
-
/* @__PURE__ */ jsx("div", { className: "ml-3 flex h-7 items-center", children: /* @__PURE__ */ jsxs(
|
|
23
|
-
"button",
|
|
24
|
-
{
|
|
25
|
-
type: "button",
|
|
26
|
-
className: "rounded-md bg-white text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2",
|
|
27
|
-
onClick: () => props.setSidebarOpen(false),
|
|
28
|
-
children: [
|
|
29
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close panel" }),
|
|
30
|
-
/* @__PURE__ */ jsx(XMarkIcon, { className: "h-6 w-6", "aria-hidden": "true" })
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
) })
|
|
34
|
-
] });
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { CopilotSidebar };
|
|
38
|
-
//# sourceMappingURL=out.js.map
|
|
39
|
-
//# sourceMappingURL=chunk-NMT7XT2R.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/sidebar/copilot-sidebar.tsx"],"names":[],"mappings":";;;;;;;;AAoBA,SAAS,iBAAiB;AAVtB,SAIE,KAJF;AAFG,SAAS,eAAe,OAAkC;AAC/D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,MAEvC;AAAA,4BAAC,2BAAW,MAAO;AAAA,QACnB,oBAAC,eAAY,mBAAmB,MAAM,mBAAmB;AAAA;AAAA;AAAA,EAC3D;AAEJ;AAIA,SAAS,OAAO,OAAkC;AAChD,SACE,qBAAC,SAAI,WAAU,0DACb;AAAA,wBAAC,QAAG,WAAU,mDAAkD,0BAAY;AAAA,IAC5E,oBAAC,SAAI,WAAU,8BACb;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,SAAS,MAAM,MAAM,eAAe,KAAK;AAAA,QAEzC;AAAA,8BAAC,UAAK,WAAU,WAAU,yBAAW;AAAA,UACrC,oBAAC,aAAU,WAAU,WAAU,eAAY,QAAO;AAAA;AAAA;AAAA,IACpD,GACF;AAAA,KACF;AAEJ","sourcesContent":["import React from \"react\";\nimport { CopilotChat } from \"../chat-components/copilot-chat\";\n\nexport interface SidebarProps {\n setSidebarOpen: (open: boolean) => void;\n makeSystemMessage?: (contextString: string) => string;\n}\n\nexport function CopilotSidebar(props: SidebarProps): JSX.Element {\n return (\n <div\n className=\"shadow-lg bg-gray-50 flex flex-col border-l-2\"\n style={{ width: \"100%\", height: \"100%\" }}\n >\n <TopBar {...props} />\n <CopilotChat makeSystemMessage={props.makeSystemMessage} />\n </div>\n );\n}\n\nimport { XMarkIcon } from \"@heroicons/react/24/outline\";\n\nfunction TopBar(props: SidebarProps): JSX.Element {\n return (\n <div className=\"py-6 flex bg-gray-50 items-center justify-between px-4\">\n <h1 className=\"text-base font-semibold leading-6 text-gray-900\">Copilot Chat</h1>\n <div className=\"ml-3 flex h-7 items-center\">\n <button\n type=\"button\"\n className=\"rounded-md bg-white text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2\"\n onClick={() => props.setSidebarOpen(false)}\n >\n <span className=\"sr-only\">Close panel</span>\n <XMarkIcon className=\"h-6 w-6\" aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n );\n}\n"]}
|
package/dist/chunk-OHWEJUCS.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useRef } from 'react';
|
|
2
|
-
|
|
3
|
-
// src/hooks/use-enter-submit.tsx
|
|
4
|
-
function useEnterSubmit() {
|
|
5
|
-
const formRef = useRef(null);
|
|
6
|
-
const handleKeyDown = (event) => {
|
|
7
|
-
var _a;
|
|
8
|
-
if (event.key === "Enter" && !event.shiftKey && !event.nativeEvent.isComposing) {
|
|
9
|
-
(_a = formRef.current) == null ? void 0 : _a.requestSubmit();
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
return { formRef, onKeyDown: handleKeyDown };
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export { useEnterSubmit };
|
|
17
|
-
//# sourceMappingURL=out.js.map
|
|
18
|
-
//# sourceMappingURL=chunk-OHWEJUCS.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/use-enter-submit.tsx"],"names":[],"mappings":";AAAA,SAAS,cAA8B;AAEhC,SAAS,iBAGd;AACA,QAAM,UAAU,OAAwB,IAAI;AAE5C,QAAM,gBAAgB,CAAC,UAA0D;AARnF;AASI,QAAI,MAAM,QAAQ,WAAW,CAAC,MAAM,YAAY,CAAC,MAAM,YAAY,aAAa;AAC9E,oBAAQ,YAAR,mBAAiB;AACjB,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAEA,SAAO,EAAE,SAAS,WAAW,cAAc;AAC7C","sourcesContent":["import { useRef, type RefObject } from \"react\";\n\nexport function useEnterSubmit(): {\n formRef: RefObject<HTMLFormElement>;\n onKeyDown: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\n} {\n const formRef = useRef<HTMLFormElement>(null);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>): void => {\n if (event.key === \"Enter\" && !event.shiftKey && !event.nativeEvent.isComposing) {\n formRef.current?.requestSubmit();\n event.preventDefault();\n }\n };\n\n return { formRef, onKeyDown: handleKeyDown };\n}\n"]}
|
package/dist/chunk-OOBQC5H6.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Button } from './chunk-M3CZWJI3.mjs';
|
|
2
|
-
import { IconCheck, IconCopy } from './chunk-2KAF7NKC.mjs';
|
|
3
|
-
import { cn } from './chunk-Q6YO7LDK.mjs';
|
|
4
|
-
import { useCopyToClipboard } from './chunk-POVINPXX.mjs';
|
|
5
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-MRXNTQOX.mjs';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
function ChatMessageActions(_a) {
|
|
9
|
-
var _b = _a, { message, className } = _b, props = __objRest(_b, ["message", "className"]);
|
|
10
|
-
const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2e3 });
|
|
11
|
-
const onCopy = () => {
|
|
12
|
-
if (isCopied)
|
|
13
|
-
return;
|
|
14
|
-
copyToClipboard(message.content);
|
|
15
|
-
};
|
|
16
|
-
return /* @__PURE__ */ jsx(
|
|
17
|
-
"div",
|
|
18
|
-
__spreadProps(__spreadValues({
|
|
19
|
-
className: cn(
|
|
20
|
-
"flex items-center justify-end transition-opacity group-hover:opacity-100 md:absolute md:-right-10 md:-top-2 md:opacity-0",
|
|
21
|
-
className
|
|
22
|
-
)
|
|
23
|
-
}, props), {
|
|
24
|
-
children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "icon", onClick: onCopy, children: [
|
|
25
|
-
isCopied ? /* @__PURE__ */ jsx(IconCheck, {}) : /* @__PURE__ */ jsx(IconCopy, {}),
|
|
26
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Copy message" })
|
|
27
|
-
] })
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { ChatMessageActions };
|
|
33
|
-
//# sourceMappingURL=out.js.map
|
|
34
|
-
//# sourceMappingURL=chunk-OOBQC5H6.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/chat-message-actions.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BM,SACc,KADd;AAhBC,SAAS,mBAAmB,IAA2D;AAA3D,eAAE,WAAS,UAb9C,IAamC,IAAyB,kBAAzB,IAAyB,CAAvB,WAAS;AAC5C,QAAM,EAAE,UAAU,gBAAgB,IAAI,mBAAmB,EAAE,SAAS,IAAK,CAAC;AAE1E,QAAM,SAAS,MAAM;AACnB,QAAI;AAAU;AACd,oBAAgB,QAAQ,OAAO;AAAA,EACjC;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QALL;AAAA,MAOC,+BAAC,UAAO,SAAQ,SAAQ,MAAK,QAAO,SAAS,QAC1C;AAAA,mBAAW,oBAAC,aAAU,IAAK,oBAAC,YAAS;AAAA,QACtC,oBAAC,UAAK,WAAU,WAAU,0BAAY;AAAA,SACxC;AAAA;AAAA,EACF;AAEJ","sourcesContent":["\"use client\";\n\nimport { type Message } from \"@copilotkit/react-core\";\n\nimport { Button } from \"./ui/button\";\nimport { IconCheck, IconCopy } from \"./ui/icons\";\nimport { useCopyToClipboard } from \"../../hooks/use-copy-to-clipboard\";\nimport { cn } from \"../../lib/utils\";\n\ninterface ChatMessageActionsProps extends React.ComponentProps<\"div\"> {\n message: Message;\n}\n\nexport function ChatMessageActions({ message, className, ...props }: ChatMessageActionsProps) {\n const { isCopied, copyToClipboard } = useCopyToClipboard({ timeout: 2000 });\n\n const onCopy = () => {\n if (isCopied) return;\n copyToClipboard(message.content);\n };\n\n return (\n <div\n className={cn(\n \"flex items-center justify-end transition-opacity group-hover:opacity-100 md:absolute md:-right-10 md:-top-2 md:opacity-0\",\n className,\n )}\n {...props}\n >\n <Button variant=\"ghost\" size=\"icon\" onClick={onCopy}>\n {isCopied ? <IconCheck /> : <IconCopy />}\n <span className=\"sr-only\">Copy message</span>\n </Button>\n </div>\n );\n}\n"]}
|
package/dist/chunk-Q6YO7LDK.mjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { __async } from './chunk-MRXNTQOX.mjs';
|
|
2
|
-
import { clsx } from 'clsx';
|
|
3
|
-
import { customAlphabet } from 'nanoid';
|
|
4
|
-
import { twMerge } from 'tailwind-merge';
|
|
5
|
-
|
|
6
|
-
function cn(...inputs) {
|
|
7
|
-
return twMerge(clsx(inputs));
|
|
8
|
-
}
|
|
9
|
-
var nanoid = customAlphabet(
|
|
10
|
-
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
|
|
11
|
-
7
|
|
12
|
-
);
|
|
13
|
-
function fetcher(input, init) {
|
|
14
|
-
return __async(this, null, function* () {
|
|
15
|
-
const res = yield fetch(input, init);
|
|
16
|
-
if (!res.ok) {
|
|
17
|
-
const json = yield res.json();
|
|
18
|
-
if (json.error) {
|
|
19
|
-
const error = new Error(json.error);
|
|
20
|
-
error.status = res.status;
|
|
21
|
-
throw error;
|
|
22
|
-
} else {
|
|
23
|
-
throw new Error("An unexpected error occurred");
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return res.json();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
function formatDate(input) {
|
|
30
|
-
const date = new Date(input);
|
|
31
|
-
return date.toLocaleDateString("en-US", {
|
|
32
|
-
month: "long",
|
|
33
|
-
day: "numeric",
|
|
34
|
-
year: "numeric"
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { cn, fetcher, formatDate, nanoid };
|
|
39
|
-
//# sourceMappingURL=out.js.map
|
|
40
|
-
//# sourceMappingURL=chunk-Q6YO7LDK.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,YAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAEO,IAAM,SAAS;AAAA,EACpB;AAAA,EACA;AACF;AAEA,SAAsB,QAAoB,OAAoB,MAAmC;AAAA;AAC/F,UAAM,MAAM,MAAM,MAAM,OAAO,IAAI;AAEnC,QAAI,CAAC,IAAI,IAAI;AACX,YAAM,OAAO,MAAM,IAAI,KAAK;AAC5B,UAAI,KAAK,OAAO;AACd,cAAM,QAAQ,IAAI,MAAM,KAAK,KAAK;AAGlC,cAAM,SAAS,IAAI;AACnB,cAAM;AAAA,MACR,OAAO;AACL,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AAAA,IACF;AAEA,WAAO,IAAI,KAAK;AAAA,EAClB;AAAA;AAEO,SAAS,WAAW,OAAuC;AAChE,QAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,SAAO,KAAK,mBAAmB,SAAS;AAAA,IACtC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC;AACH","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { customAlphabet } from \"nanoid\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport const nanoid = customAlphabet(\n \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n 7,\n); // 7-character random string\n\nexport async function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON> {\n const res = await fetch(input, init);\n\n if (!res.ok) {\n const json = await res.json();\n if (json.error) {\n const error = new Error(json.error) as Error & {\n status: number;\n };\n error.status = res.status;\n throw error;\n } else {\n throw new Error(\"An unexpected error occurred\");\n }\n }\n\n return res.json();\n}\n\nexport function formatDate(input: string | number | Date): string {\n const date = new Date(input);\n return date.toLocaleDateString(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n });\n}\n"]}
|
package/dist/chunk-RPTRCFSO.mjs
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { DefaultEmptyScreen } from './chunk-SEH5PQVW.mjs';
|
|
2
|
-
import { ChatList } from './chunk-SHOTWRKC.mjs';
|
|
3
|
-
import { ChatPanel } from './chunk-CF3BK4OX.mjs';
|
|
4
|
-
import { ChatScrollAnchor } from './chunk-IJLMKBSZ.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({
|
|
15
|
-
id,
|
|
16
|
-
initialMessages,
|
|
17
|
-
makeSystemMessage
|
|
18
|
-
});
|
|
19
|
-
return /* @__PURE__ */ jsxs("div", { className: "w-full h-full flex flex-col overflow-hidden box-border items-start", children: [
|
|
20
|
-
/* @__PURE__ */ jsx("div", { className: "pt-5 px-5 overflow-y-auto overflow-x-hidden w-full flex-grow", children: visibleMessages.length ? /* @__PURE__ */ jsxs("div", { className: "pl-0 pr-6", children: [
|
|
21
|
-
/* @__PURE__ */ jsx(ChatList, { messages: visibleMessages }),
|
|
22
|
-
/* @__PURE__ */ jsx(ChatScrollAnchor, { trackVisibility: isLoading })
|
|
23
|
-
] }) : /* @__PURE__ */ jsx(EmptyScreen, { setInput }) }),
|
|
24
|
-
/* @__PURE__ */ jsx("div", { className: "flex-shrink-0 w-full", children: /* @__PURE__ */ jsx(
|
|
25
|
-
ChatPanel,
|
|
26
|
-
{
|
|
27
|
-
id,
|
|
28
|
-
isLoading,
|
|
29
|
-
stop,
|
|
30
|
-
append,
|
|
31
|
-
reload,
|
|
32
|
-
messages: visibleMessages,
|
|
33
|
-
input,
|
|
34
|
-
setInput
|
|
35
|
-
}
|
|
36
|
-
) })
|
|
37
|
-
] });
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export { CopilotChat };
|
|
41
|
-
//# sourceMappingURL=out.js.map
|
|
42
|
-
//# sourceMappingURL=chunk-RPTRCFSO.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/copilot-chat.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AASA,SAAS,sBAAsB;AAwBrB,SACE,KADF;AAhBH,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAAqB;AACnB,QAAM,EAAE,iBAAiB,QAAQ,QAAQ,MAAM,WAAW,OAAO,SAAS,IAAI,eAAe;AAAA,IAC3F;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,qBAAC,SAAI,WAAU,sEACb;AAAA,wBAAC,SAAI,WAAU,gEACZ,0BAAgB,SACf,qBAAC,SAAI,WAAU,aACb;AAAA,0BAAC,YAAS,UAAU,iBAAiB;AAAA,MACrC,oBAAC,oBAAiB,iBAAiB,WAAW;AAAA,OAChD,IAEA,oBAAC,eAAY,UAAoB,GAErC;AAAA,IAEA,oBAAC,SAAI,WAAU,wBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,KACF;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 extends UseCopilotChatOptions, 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 } = useCopilotChat({\n id,\n initialMessages,\n makeSystemMessage,\n });\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"]}
|
package/dist/chunk-SEH5PQVW.mjs
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { ExternalLink } from './chunk-5KEDV5VC.mjs';
|
|
2
|
-
import { Button } from './chunk-M3CZWJI3.mjs';
|
|
3
|
-
import { IconArrowRight } from './chunk-2KAF7NKC.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", { className: "mx-auto max-w-2xl px-4", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border bg-background p-8", children: [
|
|
23
|
-
/* @__PURE__ */ jsx("h1", { className: "mb-2 text-lg font-semibold", children: "Welcome to CopilotKit! \u{1F44B}" }),
|
|
24
|
-
/* @__PURE__ */ jsxs("p", { className: "mb-2 leading-normal text-muted-foreground", children: [
|
|
25
|
-
"This is a Copilot built with",
|
|
26
|
-
" ",
|
|
27
|
-
/* @__PURE__ */ jsx(ExternalLink, { href: "https://recursively.ai", children: "recursively.ai's" }),
|
|
28
|
-
" ",
|
|
29
|
-
/* @__PURE__ */ jsx(ExternalLink, { href: "https://github.com/RecursivelyAI/CopilotKit", children: "CopilotKit" }),
|
|
30
|
-
" ",
|
|
31
|
-
"."
|
|
32
|
-
] }),
|
|
33
|
-
/* @__PURE__ */ jsx("p", { className: "leading-normal text-muted-foreground", children: "You can start a conversation here or try the following examples:" }),
|
|
34
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-col items-start space-y-2", children: exampleMessages.map((message, index) => /* @__PURE__ */ jsxs(
|
|
35
|
-
Button,
|
|
36
|
-
{
|
|
37
|
-
variant: "link",
|
|
38
|
-
className: "h-auto p-0 text-base",
|
|
39
|
-
onClick: () => props.setInput(message.message),
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ jsx(IconArrowRight, { className: "mr-2 text-muted-foreground" }),
|
|
42
|
-
message.heading
|
|
43
|
-
]
|
|
44
|
-
},
|
|
45
|
-
index
|
|
46
|
-
)) })
|
|
47
|
-
] }) });
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export { DefaultEmptyScreen };
|
|
51
|
-
//# sourceMappingURL=out.js.map
|
|
52
|
-
//# sourceMappingURL=chunk-SEH5PQVW.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat-components/default-empty-screen.tsx"],"names":[],"mappings":";;;;;;;;;;;AA8BQ,cACA,YADA;AAvBR,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,SAAI,WAAU,0BACb,+BAAC,SAAI,WAAU,uCACb;AAAA,wBAAC,QAAG,WAAU,8BAA6B,8CAAyB;AAAA,IACpE,qBAAC,OAAE,WAAU,6CAA4C;AAAA;AAAA,MAC1B;AAAA,MAC7B,oBAAC,gBAAa,MAAK,0BAAyB,8BAAgB;AAAA,MAAgB;AAAA,MAC5E,oBAAC,gBAAa,MAAK,+CAA8C,wBAAU;AAAA,MAAgB;AAAA,MAAI;AAAA,OAEjG;AAAA,IACA,oBAAC,OAAE,WAAU,wCAAuC,8EAEpD;AAAA,IACA,oBAAC,SAAI,WAAU,4CACZ,0BAAgB,IAAI,CAAC,SAAS,UAC7B;AAAA,MAAC;AAAA;AAAA,QAEC,SAAQ;AAAA,QACR,WAAU;AAAA,QACV,SAAS,MAAM,MAAM,SAAS,QAAQ,OAAO;AAAA,QAE7C;AAAA,8BAAC,kBAAe,WAAU,8BAA6B;AAAA,UACtD,QAAQ;AAAA;AAAA;AAAA,MANJ;AAAA,IAOP,CACD,GACH;AAAA,KACF,GACF;AAEJ","sourcesContent":["\"use client\";\nimport React from \"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\">Welcome to CopilotKit! 👋</h1>\n <p className=\"mb-2 leading-normal text-muted-foreground\">\n This is a Copilot built with{\" \"}\n <ExternalLink href=\"https://recursively.ai\">recursively.ai's</ExternalLink>{\" \"}\n <ExternalLink href=\"https://github.com/RecursivelyAI/CopilotKit\">CopilotKit</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"]}
|