@copilotkit/react-ui 0.15.0-alpha.1 → 0.15.0-alpha.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 (315) hide show
  1. package/.turbo/turbo-build.log +192 -288
  2. package/CHANGELOG.md +28 -1
  3. package/dist/{chunk-ZVAH2Z2W.mjs → chunk-3M4HWSE7.mjs} +3 -3
  4. package/dist/chunk-3M4HWSE7.mjs.map +1 -0
  5. package/dist/{chunk-Y2RUG4B3.mjs → chunk-5O2MCJZ2.mjs} +2 -2
  6. package/dist/chunk-5O2MCJZ2.mjs.map +1 -0
  7. package/dist/{chunk-X3Z2EVFV.mjs → chunk-CKJXXQ2W.mjs} +5 -5
  8. package/dist/chunk-CKJXXQ2W.mjs.map +1 -0
  9. package/dist/{chunk-NXWVWC33.mjs → chunk-DPRH4HX3.mjs} +11 -24
  10. package/dist/chunk-DPRH4HX3.mjs.map +1 -0
  11. package/dist/{chunk-UIRFLYXI.mjs → chunk-GWGHQNRI.mjs} +14 -13
  12. package/dist/chunk-GWGHQNRI.mjs.map +1 -0
  13. package/dist/chunk-JD7BAH7U.mjs +3 -0
  14. package/dist/{chunk-X4T6ZUVM.mjs → chunk-KBGIPFXA.mjs} +5 -5
  15. package/dist/chunk-KBGIPFXA.mjs.map +1 -0
  16. package/dist/{chunk-DN3OI5WF.mjs → chunk-NNVWLSYK.mjs} +9 -9
  17. package/dist/chunk-NNVWLSYK.mjs.map +1 -0
  18. package/dist/{chunk-QFASQEFJ.mjs → chunk-NYLOXKYT.mjs} +2 -2
  19. package/dist/chunk-NYLOXKYT.mjs.map +1 -0
  20. package/dist/{chunk-6H3Y2XEI.mjs → chunk-OF66AL5Z.mjs} +1 -1
  21. package/dist/chunk-OF66AL5Z.mjs.map +1 -0
  22. package/dist/{chunk-DPUPEOGG.mjs → chunk-UWPFPWAW.mjs} +2 -2
  23. package/dist/chunk-UWPFPWAW.mjs.map +1 -0
  24. package/dist/{chunk-GPEJCUWA.mjs → chunk-Z34F3WLK.mjs} +2 -2
  25. package/dist/chunk-Z34F3WLK.mjs.map +1 -0
  26. package/dist/components/chat/Button.d.ts +2 -3
  27. package/dist/components/chat/Button.js +38 -0
  28. package/dist/components/chat/Button.js.map +1 -0
  29. package/dist/components/chat/Button.mjs +2 -2
  30. package/dist/components/chat/Chat.d.ts +15 -14
  31. package/dist/components/chat/Chat.js +800 -0
  32. package/dist/components/chat/Chat.js.map +1 -0
  33. package/dist/components/chat/Chat.mjs +9 -9
  34. package/dist/components/chat/ChatContext.d.ts +21 -21
  35. package/dist/components/chat/ChatContext.js +220 -0
  36. package/dist/components/chat/ChatContext.js.map +1 -0
  37. package/dist/components/chat/ChatContext.mjs +1 -1
  38. package/dist/components/chat/CodeBlock.js +221 -0
  39. package/dist/components/chat/CodeBlock.js.map +1 -0
  40. package/dist/components/chat/CodeBlock.mjs +1 -1
  41. package/dist/components/chat/Header.d.ts +2 -3
  42. package/dist/components/chat/Header.js +31 -0
  43. package/dist/components/chat/Header.js.map +1 -0
  44. package/dist/components/chat/Header.mjs +2 -2
  45. package/dist/components/chat/Icons.d.ts +4 -4
  46. package/dist/components/chat/Icons.js +233 -0
  47. package/dist/components/chat/Icons.js.map +1 -0
  48. package/dist/components/chat/Input.d.ts +2 -3
  49. package/dist/components/chat/Input.js +111 -0
  50. package/dist/components/chat/Input.js.map +1 -0
  51. package/dist/components/chat/Input.mjs +2 -2
  52. package/dist/components/chat/Markdown.d.ts +1 -3
  53. package/dist/components/chat/Markdown.js +269 -0
  54. package/dist/components/chat/Markdown.js.map +1 -0
  55. package/dist/components/chat/Markdown.mjs +2 -2
  56. package/dist/components/chat/Messages.d.ts +2 -3
  57. package/dist/components/chat/Messages.js +331 -0
  58. package/dist/components/chat/Messages.js.map +1 -0
  59. package/dist/components/chat/Messages.mjs +4 -4
  60. package/dist/components/chat/Popup.d.ts +5 -4
  61. package/dist/components/chat/Popup.js +806 -0
  62. package/dist/components/chat/Popup.js.map +1 -0
  63. package/dist/components/chat/Popup.mjs +10 -10
  64. package/dist/components/chat/Response.d.ts +2 -3
  65. package/dist/components/chat/Response.js +31 -0
  66. package/dist/components/chat/Response.js.map +1 -0
  67. package/dist/components/chat/Response.mjs +2 -2
  68. package/dist/components/chat/Sidebar.d.ts +7 -6
  69. package/dist/components/chat/Sidebar.js +817 -0
  70. package/dist/components/chat/Sidebar.js.map +1 -0
  71. package/dist/components/chat/Sidebar.mjs +10 -10
  72. package/dist/components/chat/Textarea.d.ts +4 -4
  73. package/dist/components/chat/Textarea.js +55 -0
  74. package/dist/components/chat/Textarea.js.map +1 -0
  75. package/dist/components/chat/Window.d.ts +1 -1
  76. package/dist/components/chat/Window.js +116 -0
  77. package/dist/components/chat/Window.js.map +1 -0
  78. package/dist/components/chat/index.d.ts +5 -4
  79. package/dist/components/chat/index.js +824 -0
  80. package/dist/components/chat/index.js.map +1 -0
  81. package/dist/components/chat/index.mjs +11 -11
  82. package/dist/components/chat/props.d.ts +1 -1
  83. package/dist/components/chat/props.js +4 -0
  84. package/dist/components/index.d.ts +5 -11
  85. package/dist/components/index.js +824 -0
  86. package/dist/components/index.js.map +1 -0
  87. package/dist/components/index.mjs +12 -33
  88. package/dist/context/index.js +4 -0
  89. package/dist/hooks/index.js +4 -0
  90. package/dist/hooks/use-copy-to-clipboard.js +47 -0
  91. package/dist/hooks/use-copy-to-clipboard.js.map +1 -0
  92. package/dist/index.css +112 -916
  93. package/dist/index.css.map +1 -1
  94. package/dist/index.d.ts +5 -11
  95. package/dist/index.js +824 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/index.mjs +13 -34
  98. package/dist/lib/utils.js +64 -0
  99. package/dist/lib/utils.js.map +1 -0
  100. package/dist/lib/utils.mjs +38 -2
  101. package/dist/lib/utils.mjs.map +1 -1
  102. package/dist/lib/utils.test.js +10 -0
  103. package/dist/lib/utils.test.js.map +1 -0
  104. package/dist/types/index.js +4 -0
  105. package/dist/types/types.d.ts +1 -1
  106. package/dist/types/types.js +4 -0
  107. package/package.json +10 -9
  108. package/src/components/chat/Button.tsx +1 -2
  109. package/src/components/chat/Chat.tsx +7 -7
  110. package/src/components/chat/ChatContext.tsx +10 -10
  111. package/src/components/chat/CodeBlock.tsx +12 -36
  112. package/src/components/chat/Header.tsx +1 -2
  113. package/src/components/chat/Input.tsx +1 -1
  114. package/src/components/chat/Markdown.tsx +17 -11
  115. package/src/components/chat/Messages.tsx +2 -2
  116. package/src/components/chat/Popup.tsx +3 -4
  117. package/src/components/chat/Response.tsx +1 -2
  118. package/src/components/chat/Sidebar.tsx +4 -4
  119. package/src/components/chat/index.tsx +2 -2
  120. package/src/components/chat/props.ts +1 -1
  121. package/src/components/index.ts +0 -8
  122. package/src/css/animations.css +6 -0
  123. package/src/css/markdown.css +123 -0
  124. package/src/styles.css +1 -0
  125. package/src/types/types.ts +1 -1
  126. package/tsup.config.ts +1 -2
  127. package/dist/chunk-2KAF7NKC.mjs +0 -484
  128. package/dist/chunk-2KAF7NKC.mjs.map +0 -1
  129. package/dist/chunk-5KEDV5VC.mjs +0 -27
  130. package/dist/chunk-5KEDV5VC.mjs.map +0 -1
  131. package/dist/chunk-6H3Y2XEI.mjs.map +0 -1
  132. package/dist/chunk-6LAZQHEB.mjs +0 -129
  133. package/dist/chunk-6LAZQHEB.mjs.map +0 -1
  134. package/dist/chunk-C34L4AWW.mjs +0 -39
  135. package/dist/chunk-C34L4AWW.mjs.map +0 -1
  136. package/dist/chunk-CF3BK4OX.mjs +0 -53
  137. package/dist/chunk-CF3BK4OX.mjs.map +0 -1
  138. package/dist/chunk-CNQX2VY3.mjs +0 -66
  139. package/dist/chunk-CNQX2VY3.mjs.map +0 -1
  140. package/dist/chunk-DN3OI5WF.mjs.map +0 -1
  141. package/dist/chunk-DPUPEOGG.mjs.map +0 -1
  142. package/dist/chunk-FZRTAML3.mjs +0 -3
  143. package/dist/chunk-GCOPYGHH.mjs +0 -27
  144. package/dist/chunk-GCOPYGHH.mjs.map +0 -1
  145. package/dist/chunk-GPEJCUWA.mjs.map +0 -1
  146. package/dist/chunk-IJLMKBSZ.mjs +0 -25
  147. package/dist/chunk-IJLMKBSZ.mjs.map +0 -1
  148. package/dist/chunk-INCNMGJ7.mjs +0 -72
  149. package/dist/chunk-INCNMGJ7.mjs.map +0 -1
  150. package/dist/chunk-M3CZWJI3.mjs +0 -44
  151. package/dist/chunk-M3CZWJI3.mjs.map +0 -1
  152. package/dist/chunk-MC6KTH4X.mjs +0 -12
  153. package/dist/chunk-MC6KTH4X.mjs.map +0 -1
  154. package/dist/chunk-NXWVWC33.mjs.map +0 -1
  155. package/dist/chunk-OHWEJUCS.mjs +0 -18
  156. package/dist/chunk-OHWEJUCS.mjs.map +0 -1
  157. package/dist/chunk-OOBQC5H6.mjs +0 -34
  158. package/dist/chunk-OOBQC5H6.mjs.map +0 -1
  159. package/dist/chunk-Q6YO7LDK.mjs +0 -40
  160. package/dist/chunk-Q6YO7LDK.mjs.map +0 -1
  161. package/dist/chunk-QFASQEFJ.mjs.map +0 -1
  162. package/dist/chunk-RPTRCFSO.mjs +0 -42
  163. package/dist/chunk-RPTRCFSO.mjs.map +0 -1
  164. package/dist/chunk-SEH5PQVW.mjs +0 -52
  165. package/dist/chunk-SEH5PQVW.mjs.map +0 -1
  166. package/dist/chunk-SHOTWRKC.mjs +0 -18
  167. package/dist/chunk-SHOTWRKC.mjs.map +0 -1
  168. package/dist/chunk-SRBUGQTM.mjs +0 -109
  169. package/dist/chunk-SRBUGQTM.mjs.map +0 -1
  170. package/dist/chunk-TEYIQHMK.mjs +0 -12
  171. package/dist/chunk-TEYIQHMK.mjs.map +0 -1
  172. package/dist/chunk-UIRFLYXI.mjs.map +0 -1
  173. package/dist/chunk-VGX2W5ZB.mjs +0 -28
  174. package/dist/chunk-VGX2W5ZB.mjs.map +0 -1
  175. package/dist/chunk-X3Z2EVFV.mjs.map +0 -1
  176. package/dist/chunk-X4T6ZUVM.mjs.map +0 -1
  177. package/dist/chunk-XGUBRIUV.mjs +0 -72
  178. package/dist/chunk-XGUBRIUV.mjs.map +0 -1
  179. package/dist/chunk-Y2RUG4B3.mjs.map +0 -1
  180. package/dist/chunk-ZVAH2Z2W.mjs.map +0 -1
  181. package/dist/chunk-ZYC5YVDO.mjs +0 -21
  182. package/dist/chunk-ZYC5YVDO.mjs.map +0 -1
  183. package/dist/components/chat-components/chat-list.d.ts +0 -8
  184. package/dist/components/chat-components/chat-list.mjs +0 -13
  185. package/dist/components/chat-components/chat-message-actions.d.ts +0 -8
  186. package/dist/components/chat-components/chat-message-actions.mjs +0 -8
  187. package/dist/components/chat-components/chat-message.d.ts +0 -8
  188. package/dist/components/chat-components/chat-message.mjs +0 -11
  189. package/dist/components/chat-components/chat-panel.d.ts +0 -8
  190. package/dist/components/chat-components/chat-panel.mjs +0 -10
  191. package/dist/components/chat-components/chat-scroll-anchor.d.ts +0 -6
  192. package/dist/components/chat-components/chat-scroll-anchor.mjs +0 -5
  193. package/dist/components/chat-components/clear-history.d.ts +0 -9
  194. package/dist/components/chat-components/clear-history.mjs +0 -56
  195. package/dist/components/chat-components/clear-history.mjs.map +0 -1
  196. package/dist/components/chat-components/copilot-chat.d.ts +0 -12
  197. package/dist/components/chat-components/copilot-chat.mjs +0 -22
  198. package/dist/components/chat-components/copilot-chat.mjs.map +0 -1
  199. package/dist/components/chat-components/default-empty-screen.d.ts +0 -8
  200. package/dist/components/chat-components/default-empty-screen.mjs +0 -8
  201. package/dist/components/chat-components/default-empty-screen.mjs.map +0 -1
  202. package/dist/components/chat-components/external-link.d.ts +0 -6
  203. package/dist/components/chat-components/external-link.mjs +0 -4
  204. package/dist/components/chat-components/external-link.mjs.map +0 -1
  205. package/dist/components/chat-components/markdown.d.ts +0 -6
  206. package/dist/components/chat-components/markdown.mjs +0 -4
  207. package/dist/components/chat-components/markdown.mjs.map +0 -1
  208. package/dist/components/chat-components/prompt-form.d.ts +0 -9
  209. package/dist/components/chat-components/prompt-form.mjs +0 -9
  210. package/dist/components/chat-components/prompt-form.mjs.map +0 -1
  211. package/dist/components/chat-components/theme-toggle.d.ts +0 -3
  212. package/dist/components/chat-components/theme-toggle.mjs +0 -32
  213. package/dist/components/chat-components/theme-toggle.mjs.map +0 -1
  214. package/dist/components/chat-components/toaster.d.ts +0 -1
  215. package/dist/components/chat-components/toaster.mjs +0 -4
  216. package/dist/components/chat-components/toaster.mjs.map +0 -1
  217. package/dist/components/chat-components/ui/alert-dialog.d.ts +0 -20
  218. package/dist/components/chat-components/ui/alert-dialog.mjs +0 -6
  219. package/dist/components/chat-components/ui/alert-dialog.mjs.map +0 -1
  220. package/dist/components/chat-components/ui/badge.d.ts +0 -12
  221. package/dist/components/chat-components/ui/badge.mjs +0 -29
  222. package/dist/components/chat-components/ui/badge.mjs.map +0 -1
  223. package/dist/components/chat-components/ui/button.d.ts +0 -14
  224. package/dist/components/chat-components/ui/button.mjs +0 -5
  225. package/dist/components/chat-components/ui/button.mjs.map +0 -1
  226. package/dist/components/chat-components/ui/codeblock.d.ts +0 -14
  227. package/dist/components/chat-components/ui/codeblock.mjs +0 -8
  228. package/dist/components/chat-components/ui/codeblock.mjs.map +0 -1
  229. package/dist/components/chat-components/ui/dialog.d.ts +0 -18
  230. package/dist/components/chat-components/ui/dialog.mjs +0 -94
  231. package/dist/components/chat-components/ui/dialog.mjs.map +0 -1
  232. package/dist/components/chat-components/ui/dropdown-menu.d.ts +0 -24
  233. package/dist/components/chat-components/ui/dropdown-menu.mjs +0 -87
  234. package/dist/components/chat-components/ui/dropdown-menu.mjs.map +0 -1
  235. package/dist/components/chat-components/ui/icons.d.ts +0 -33
  236. package/dist/components/chat-components/ui/icons.mjs +0 -5
  237. package/dist/components/chat-components/ui/icons.mjs.map +0 -1
  238. package/dist/components/chat-components/ui/input.d.ts +0 -7
  239. package/dist/components/chat-components/ui/input.mjs +0 -26
  240. package/dist/components/chat-components/ui/input.mjs.map +0 -1
  241. package/dist/components/chat-components/ui/label.d.ts +0 -8
  242. package/dist/components/chat-components/ui/label.mjs +0 -19
  243. package/dist/components/chat-components/ui/label.mjs.map +0 -1
  244. package/dist/components/chat-components/ui/select.d.ts +0 -13
  245. package/dist/components/chat-components/ui/select.mjs +0 -101
  246. package/dist/components/chat-components/ui/select.mjs.map +0 -1
  247. package/dist/components/chat-components/ui/separator.d.ts +0 -6
  248. package/dist/components/chat-components/ui/separator.mjs +0 -5
  249. package/dist/components/chat-components/ui/separator.mjs.map +0 -1
  250. package/dist/components/chat-components/ui/sheet.d.ts +0 -19
  251. package/dist/components/chat-components/ui/sheet.mjs +0 -93
  252. package/dist/components/chat-components/ui/sheet.mjs.map +0 -1
  253. package/dist/components/chat-components/ui/switch.d.ts +0 -6
  254. package/dist/components/chat-components/ui/switch.mjs +0 -33
  255. package/dist/components/chat-components/ui/switch.mjs.map +0 -1
  256. package/dist/components/chat-components/ui/textarea.d.ts +0 -7
  257. package/dist/components/chat-components/ui/textarea.mjs +0 -25
  258. package/dist/components/chat-components/ui/textarea.mjs.map +0 -1
  259. package/dist/components/chat-components/ui/tooltip.d.ts +0 -9
  260. package/dist/components/chat-components/ui/tooltip.mjs +0 -5
  261. package/dist/components/chat-components/ui/tooltip.mjs.map +0 -1
  262. package/dist/components/sidebar/copilot-sidebar-ui-provider.d.ts +0 -8
  263. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs +0 -25
  264. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs.map +0 -1
  265. package/dist/components/sidebar/copilot-sidebar.d.ts +0 -6
  266. package/dist/components/sidebar/copilot-sidebar.mjs +0 -23
  267. package/dist/components/sidebar/copilot-sidebar.mjs.map +0 -1
  268. package/dist/components/sidebar/sidebar-context.d.ts +0 -9
  269. package/dist/components/sidebar/sidebar-context.mjs +0 -4
  270. package/dist/components/sidebar/sidebar-context.mjs.map +0 -1
  271. package/dist/hooks/use-at-bottom.d.ts +0 -3
  272. package/dist/hooks/use-at-bottom.mjs +0 -4
  273. package/dist/hooks/use-at-bottom.mjs.map +0 -1
  274. package/dist/hooks/use-enter-submit.d.ts +0 -8
  275. package/dist/hooks/use-enter-submit.mjs +0 -4
  276. package/dist/hooks/use-enter-submit.mjs.map +0 -1
  277. package/src/components/chat-components/chat-list.tsx +0 -28
  278. package/src/components/chat-components/chat-message-actions.tsx +0 -36
  279. package/src/components/chat-components/chat-message.tsx +0 -70
  280. package/src/components/chat-components/chat-panel.tsx +0 -64
  281. package/src/components/chat-components/chat-scroll-anchor.tsx +0 -29
  282. package/src/components/chat-components/clear-history.tsx +0 -72
  283. package/src/components/chat-components/copilot-chat.tsx +0 -57
  284. package/src/components/chat-components/default-empty-screen.tsx +0 -57
  285. package/src/components/chat-components/external-link.tsx +0 -17
  286. package/src/components/chat-components/markdown.tsx +0 -8
  287. package/src/components/chat-components/prompt-form.tsx +0 -85
  288. package/src/components/chat-components/theme-toggle.tsx +0 -31
  289. package/src/components/chat-components/toaster.tsx +0 -3
  290. package/src/components/chat-components/ui/alert-dialog.tsx +0 -126
  291. package/src/components/chat-components/ui/badge.tsx +0 -33
  292. package/src/components/chat-components/ui/button.tsx +0 -49
  293. package/src/components/chat-components/ui/codeblock.tsx +0 -137
  294. package/src/components/chat-components/ui/dialog.tsx +0 -106
  295. package/src/components/chat-components/ui/dropdown-menu.tsx +0 -117
  296. package/src/components/chat-components/ui/icons.tsx +0 -484
  297. package/src/components/chat-components/ui/input.tsx +0 -24
  298. package/src/components/chat-components/ui/label.tsx +0 -21
  299. package/src/components/chat-components/ui/select.tsx +0 -119
  300. package/src/components/chat-components/ui/separator.tsx +0 -26
  301. package/src/components/chat-components/ui/sheet.tsx +0 -106
  302. package/src/components/chat-components/ui/switch.tsx +0 -29
  303. package/src/components/chat-components/ui/textarea.tsx +0 -23
  304. package/src/components/chat-components/ui/tooltip.tsx +0 -30
  305. package/src/components/sidebar/copilot-sidebar-ui-provider.tsx +0 -73
  306. package/src/components/sidebar/copilot-sidebar.tsx +0 -38
  307. package/src/components/sidebar/sidebar-context.tsx +0 -11
  308. package/src/hooks/use-at-bottom.tsx +0 -20
  309. package/src/hooks/use-enter-submit.tsx +0 -17
  310. /package/dist/{chunk-FZRTAML3.mjs.map → chunk-JD7BAH7U.mjs.map} +0 -0
  311. /package/dist/components/{chat-components/chat-list.mjs.map → chat/props.js.map} +0 -0
  312. /package/dist/{components/chat-components/chat-message-actions.mjs.map → context/index.js.map} +0 -0
  313. /package/dist/{components/chat-components/chat-message.mjs.map → hooks/index.js.map} +0 -0
  314. /package/dist/{components/chat-components/chat-panel.mjs.map → types/index.js.map} +0 -0
  315. /package/dist/{components/chat-components/chat-scroll-anchor.mjs.map → types/types.js.map} +0 -0
@@ -1,106 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as SheetPrimitive from "@radix-ui/react-dialog";
5
-
6
- import { cn } from "../../../lib/utils";
7
- import { IconClose } from "./icons";
8
-
9
- const Sheet = SheetPrimitive.Root;
10
-
11
- const SheetTrigger = SheetPrimitive.Trigger;
12
-
13
- const SheetClose = SheetPrimitive.Close;
14
-
15
- const SheetPortal = ({ className, children, ...props }: SheetPrimitive.DialogPortalProps) => (
16
- <SheetPrimitive.Portal className={cn("fixed inset-0 z-50 flex", className)} {...props}>
17
- {children}
18
- </SheetPrimitive.Portal>
19
- );
20
- SheetPortal.displayName = SheetPrimitive.Portal.displayName;
21
-
22
- const SheetOverlay = React.forwardRef<
23
- React.ElementRef<typeof SheetPrimitive.Overlay>,
24
- React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>
25
- >(({ className, children, ...props }, ref) => (
26
- <SheetPrimitive.Overlay
27
- className={cn(
28
- "fixed inset-0 z-50 transition-all duration-100 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in",
29
- className,
30
- )}
31
- {...props}
32
- ref={ref}
33
- />
34
- ));
35
- SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
36
-
37
- const SheetContent = React.forwardRef<
38
- React.ElementRef<typeof SheetPrimitive.Content>,
39
- React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>
40
- >(({ className, children, ...props }, ref) => (
41
- <SheetPortal>
42
- <SheetPrimitive.Content
43
- ref={ref}
44
- className={cn(
45
- "fixed z-50 h-full border-r bg-background p-6 opacity-100 shadow-lg data-[state=closed]:animate-slide-to-left data-[state=open]:animate-slide-from-left",
46
- className,
47
- )}
48
- {...props}
49
- >
50
- {children}
51
- <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary">
52
- <IconClose />
53
- <span className="sr-only">Close</span>
54
- </SheetPrimitive.Close>
55
- </SheetPrimitive.Content>
56
- </SheetPortal>
57
- ));
58
- SheetContent.displayName = SheetPrimitive.Content.displayName;
59
-
60
- const SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
61
- <div className={cn("flex flex-col space-y-2", className)} {...props} />
62
- );
63
- SheetHeader.displayName = "SheetHeader";
64
-
65
- const SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
66
- <div
67
- className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
68
- {...props}
69
- />
70
- );
71
- SheetFooter.displayName = "SheetFooter";
72
-
73
- const SheetTitle = React.forwardRef<
74
- React.ElementRef<typeof SheetPrimitive.Title>,
75
- React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>
76
- >(({ className, ...props }, ref) => (
77
- <SheetPrimitive.Title
78
- ref={ref}
79
- className={cn("text-lg font-semibold text-foreground", className)}
80
- {...props}
81
- />
82
- ));
83
- SheetTitle.displayName = SheetPrimitive.Title.displayName;
84
-
85
- const SheetDescription = React.forwardRef<
86
- React.ElementRef<typeof SheetPrimitive.Description>,
87
- React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>
88
- >(({ className, ...props }, ref) => (
89
- <SheetPrimitive.Description
90
- ref={ref}
91
- className={cn("text-sm text-muted-foreground", className)}
92
- {...props}
93
- />
94
- ));
95
- SheetDescription.displayName = SheetPrimitive.Description.displayName;
96
-
97
- export {
98
- Sheet,
99
- SheetTrigger,
100
- SheetClose,
101
- SheetContent,
102
- SheetHeader,
103
- SheetFooter,
104
- SheetTitle,
105
- SheetDescription,
106
- };
@@ -1,29 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as SwitchPrimitives from "@radix-ui/react-switch";
5
-
6
- import { cn } from "../../../lib/utils";
7
-
8
- const Switch = React.forwardRef<
9
- React.ElementRef<typeof SwitchPrimitives.Root>,
10
- React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>
11
- >(({ className, ...props }, ref) => (
12
- <SwitchPrimitives.Root
13
- className={cn(
14
- "peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
15
- className,
16
- )}
17
- {...props}
18
- ref={ref}
19
- >
20
- <SwitchPrimitives.Thumb
21
- className={cn(
22
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0",
23
- )}
24
- />
25
- </SwitchPrimitives.Root>
26
- ));
27
- Switch.displayName = SwitchPrimitives.Root.displayName;
28
-
29
- export { Switch };
@@ -1,23 +0,0 @@
1
- import * as React from "react";
2
-
3
- import { cn } from "../../../lib/utils";
4
-
5
- export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
6
-
7
- const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
8
- ({ className, ...props }, ref) => {
9
- return (
10
- <textarea
11
- className={cn(
12
- "flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
13
- className,
14
- )}
15
- ref={ref}
16
- {...props}
17
- />
18
- );
19
- },
20
- );
21
- Textarea.displayName = "Textarea";
22
-
23
- export { Textarea };
@@ -1,30 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
5
-
6
- import { cn } from "../../../lib/utils";
7
-
8
- const TooltipProvider = TooltipPrimitive.Provider;
9
-
10
- const Tooltip = TooltipPrimitive.Root;
11
-
12
- const TooltipTrigger = TooltipPrimitive.Trigger;
13
-
14
- const TooltipContent = React.forwardRef<
15
- React.ElementRef<typeof TooltipPrimitive.Content>,
16
- React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
17
- >(({ className, sideOffset = 4, ...props }, ref) => (
18
- <TooltipPrimitive.Content
19
- ref={ref}
20
- sideOffset={sideOffset}
21
- className={cn(
22
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-xs font-medium text-popover-foreground shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
23
- className,
24
- )}
25
- {...props}
26
- />
27
- ));
28
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
29
-
30
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -1,73 +0,0 @@
1
- import React, { ReactNode, useCallback } from "react";
2
- import { useState } from "react";
3
- import { CopilotSidebar } from "./copilot-sidebar";
4
- import { CopilotSidebarContext } from "./sidebar-context";
5
- import { TooltipProvider } from "../chat-components/ui/tooltip";
6
-
7
- export interface CopilotSidebarUIProviderProps {
8
- children: ReactNode;
9
- }
10
-
11
- export function CopilotSidebarUIProvider({ children }: CopilotSidebarUIProviderProps) {
12
- const [sidebarOpen, setSidebarOpen] = useState(true);
13
-
14
- const toggleSidebar = useCallback(() => {
15
- setSidebarOpen((prev) => !prev);
16
- }, []);
17
-
18
- return (
19
- <CopilotSidebarContext.Provider value={{ isSidebarOpen: sidebarOpen, toggleSidebar }}>
20
- <>
21
- <div
22
- style={{
23
- height: "100vh",
24
- width: "100vw",
25
- position: "relative",
26
- }}
27
- >
28
- <div
29
- style={{
30
- overflowY: "auto",
31
- overflowX: "hidden",
32
- height: "100%",
33
- width: sidebarOpen ? "calc(100% - 450px)" : "100%",
34
- position: "absolute",
35
- transition: "width 0.5s ease-in-out", // New
36
- }}
37
- >
38
- <main>{children}</main>
39
- </div>
40
- <div
41
- style={{
42
- overflowY: "auto",
43
- height: "100%",
44
- width: "450px",
45
- position: "absolute",
46
- right: sidebarOpen ? "0" : "-450px",
47
- transition: "right 0.5s ease-in-out",
48
- }}
49
- >
50
- <TooltipProvider>
51
- <CopilotSidebar setSidebarOpen={setSidebarOpen} />
52
- </TooltipProvider>
53
- </div>
54
- {!sidebarOpen && (
55
- <button
56
- onClick={toggleSidebar}
57
- style={{
58
- position: "absolute",
59
- top: "5%",
60
- right: "20px",
61
- transform: "translateY(-50%)",
62
- transition: "opacity 0.5s ease-in-out",
63
- }}
64
- className="bg-slate-100 ring-2 ring-slate-600 font-semibold text-black p-2 rounded-lg shadow-lg"
65
- >
66
- Open Copilot
67
- </button>
68
- )}
69
- </div>
70
- </>
71
- </CopilotSidebarContext.Provider>
72
- );
73
- }
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import { CopilotChat } from "../chat-components/copilot-chat";
3
-
4
- export interface SidebarProps {
5
- setSidebarOpen: (open: boolean) => void;
6
- }
7
-
8
- export function CopilotSidebar(props: SidebarProps): JSX.Element {
9
- return (
10
- <div
11
- className="shadow-lg bg-gray-50 flex flex-col border-l-2"
12
- style={{ width: "100%", height: "100%" }}
13
- >
14
- <TopBar {...props} />
15
- <CopilotChat />
16
- </div>
17
- );
18
- }
19
-
20
- import { XMarkIcon } from "@heroicons/react/24/outline";
21
-
22
- function TopBar(props: SidebarProps): JSX.Element {
23
- return (
24
- <div className="py-6 flex bg-gray-50 items-center justify-between px-4">
25
- <h1 className="text-base font-semibold leading-6 text-gray-900">Copilot Chat</h1>
26
- <div className="ml-3 flex h-7 items-center">
27
- <button
28
- type="button"
29
- 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"
30
- onClick={() => props.setSidebarOpen(false)}
31
- >
32
- <span className="sr-only">Close panel</span>
33
- <XMarkIcon className="h-6 w-6" aria-hidden="true" />
34
- </button>
35
- </div>
36
- </div>
37
- );
38
- }
@@ -1,11 +0,0 @@
1
- import { createContext, ReactNode } from "react";
2
-
3
- export interface CopilotSidebarContextType {
4
- isSidebarOpen: boolean;
5
- toggleSidebar: () => void;
6
- }
7
-
8
- export const CopilotSidebarContext = createContext<CopilotSidebarContextType>({
9
- isSidebarOpen: false,
10
- toggleSidebar: () => {},
11
- });
@@ -1,20 +0,0 @@
1
- import * as React from "react";
2
-
3
- export function useAtBottom(offset = 0) {
4
- const [isAtBottom, setIsAtBottom] = React.useState(false);
5
-
6
- React.useEffect(() => {
7
- const handleScroll = () => {
8
- setIsAtBottom(window.innerHeight + window.scrollY >= document.body.offsetHeight - offset);
9
- };
10
-
11
- window.addEventListener("scroll", handleScroll, { passive: true });
12
- handleScroll();
13
-
14
- return () => {
15
- window.removeEventListener("scroll", handleScroll);
16
- };
17
- }, [offset]);
18
-
19
- return isAtBottom;
20
- }
@@ -1,17 +0,0 @@
1
- import { useRef, type RefObject } from "react";
2
-
3
- export function useEnterSubmit(): {
4
- formRef: RefObject<HTMLFormElement>;
5
- onKeyDown: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;
6
- } {
7
- const formRef = useRef<HTMLFormElement>(null);
8
-
9
- const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>): void => {
10
- if (event.key === "Enter" && !event.shiftKey && !event.nativeEvent.isComposing) {
11
- formRef.current?.requestSubmit();
12
- event.preventDefault();
13
- }
14
- };
15
-
16
- return { formRef, onKeyDown: handleKeyDown };
17
- }