@copilotkit/react-ui 0.12.0 → 0.13.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/.turbo/turbo-build.log +216 -197
  2. package/CHANGELOG.md +11 -0
  3. package/dist/components/chat-components/chat-list.mjs +440 -12
  4. package/dist/components/chat-components/chat-list.mjs.map +1 -1
  5. package/dist/components/chat-components/chat-message-actions.mjs +168 -7
  6. package/dist/components/chat-components/chat-message-actions.mjs.map +1 -1
  7. package/dist/components/chat-components/chat-message.mjs +403 -10
  8. package/dist/components/chat-components/chat-message.mjs.map +1 -1
  9. package/dist/components/chat-components/chat-panel.mjs +300 -9
  10. package/dist/components/chat-components/chat-panel.mjs.map +1 -1
  11. package/dist/components/chat-components/chat-scroll-anchor.mjs +44 -4
  12. package/dist/components/chat-components/chat-scroll-anchor.mjs.map +1 -1
  13. package/dist/components/chat-components/clear-history.mjs +273 -74
  14. package/dist/components/chat-components/clear-history.mjs.map +1 -1
  15. package/dist/components/chat-components/copilot-chat.mjs +808 -21
  16. package/dist/components/chat-components/copilot-chat.mjs.map +1 -1
  17. package/dist/components/chat-components/default-empty-screen.mjs +175 -7
  18. package/dist/components/chat-components/default-empty-screen.mjs.map +1 -1
  19. package/dist/components/chat-components/external-link.mjs +25 -3
  20. package/dist/components/chat-components/external-link.mjs.map +1 -1
  21. package/dist/components/chat-components/markdown.mjs +10 -3
  22. package/dist/components/chat-components/markdown.mjs.map +1 -1
  23. package/dist/components/chat-components/prompt-form.mjs +227 -8
  24. package/dist/components/chat-components/prompt-form.mjs.map +1 -1
  25. package/dist/components/chat-components/theme-toggle.mjs +143 -31
  26. package/dist/components/chat-components/theme-toggle.mjs.map +1 -1
  27. package/dist/components/chat-components/toaster.mjs +7 -3
  28. package/dist/components/chat-components/toaster.mjs.map +1 -1
  29. package/dist/components/chat-components/ui/alert-dialog.mjs +199 -5
  30. package/dist/components/chat-components/ui/alert-dialog.mjs.map +1 -1
  31. package/dist/components/chat-components/ui/badge.d.ts +1 -1
  32. package/dist/components/chat-components/ui/badge.mjs +50 -10
  33. package/dist/components/chat-components/ui/badge.mjs.map +1 -1
  34. package/dist/components/chat-components/ui/button.mjs +85 -4
  35. package/dist/components/chat-components/ui/button.mjs.map +1 -1
  36. package/dist/components/chat-components/ui/codeblock.mjs +283 -7
  37. package/dist/components/chat-components/ui/codeblock.mjs.map +1 -1
  38. package/dist/components/chat-components/ui/dialog.mjs +125 -59
  39. package/dist/components/chat-components/ui/dialog.mjs.map +1 -1
  40. package/dist/components/chat-components/ui/dropdown-menu.mjs +102 -38
  41. package/dist/components/chat-components/ui/dropdown-menu.mjs.map +1 -1
  42. package/dist/components/chat-components/ui/icons.mjs +554 -4
  43. package/dist/components/chat-components/ui/icons.mjs.map +1 -1
  44. package/dist/components/chat-components/ui/input.mjs +59 -15
  45. package/dist/components/chat-components/ui/input.mjs.map +1 -1
  46. package/dist/components/chat-components/ui/label.mjs +52 -13
  47. package/dist/components/chat-components/ui/label.mjs.map +1 -1
  48. package/dist/components/chat-components/ui/select.mjs +156 -71
  49. package/dist/components/chat-components/ui/select.mjs.map +1 -1
  50. package/dist/components/chat-components/ui/separator.mjs +68 -4
  51. package/dist/components/chat-components/ui/separator.mjs.map +1 -1
  52. package/dist/components/chat-components/ui/sheet.mjs +124 -54
  53. package/dist/components/chat-components/ui/sheet.mjs.map +1 -1
  54. package/dist/components/chat-components/ui/switch.mjs +69 -18
  55. package/dist/components/chat-components/ui/switch.mjs.map +1 -1
  56. package/dist/components/chat-components/ui/textarea.mjs +58 -14
  57. package/dist/components/chat-components/ui/textarea.mjs.map +1 -1
  58. package/dist/components/chat-components/ui/tooltip.mjs +72 -4
  59. package/dist/components/chat-components/ui/tooltip.mjs.map +1 -1
  60. package/dist/components/index.mjs +924 -25
  61. package/dist/components/index.mjs.map +1 -1
  62. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs +919 -24
  63. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs.map +1 -1
  64. package/dist/components/sidebar/copilot-sidebar.mjs +841 -22
  65. package/dist/components/sidebar/copilot-sidebar.mjs.map +1 -1
  66. package/dist/components/sidebar/sidebar-context.mjs +10 -3
  67. package/dist/components/sidebar/sidebar-context.mjs.map +1 -1
  68. package/dist/context/index.d.ts +1 -0
  69. package/dist/context/index.mjs +0 -2
  70. package/dist/context/index.mjs.map +1 -1
  71. package/dist/hooks/index.d.ts +1 -0
  72. package/dist/hooks/index.mjs +0 -2
  73. package/dist/hooks/index.mjs.map +1 -1
  74. package/dist/hooks/use-at-bottom.mjs +19 -3
  75. package/dist/hooks/use-at-bottom.mjs.map +1 -1
  76. package/dist/hooks/use-copy-to-clipboard.mjs +26 -3
  77. package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
  78. package/dist/hooks/use-enter-submit.mjs +16 -3
  79. package/dist/hooks/use-enter-submit.mjs.map +1 -1
  80. package/dist/index.mjs +924 -28
  81. package/dist/index.mjs.map +1 -1
  82. package/dist/lib/utils.mjs +62 -3
  83. package/dist/lib/utils.mjs.map +1 -1
  84. package/dist/lib/utils.test.d.ts +1 -0
  85. package/dist/lib/utils.test.mjs +0 -1
  86. package/dist/lib/utils.test.mjs.map +1 -1
  87. package/dist/types/index.d.ts +1 -0
  88. package/dist/types/index.mjs +0 -2
  89. package/dist/types/index.mjs.map +1 -1
  90. package/dist/types/types.mjs +0 -2
  91. package/dist/types/types.mjs.map +1 -1
  92. package/package.json +7 -7
  93. package/dist/chunk-34MTYKUD.mjs +0 -473
  94. package/dist/chunk-34MTYKUD.mjs.map +0 -1
  95. package/dist/chunk-4ENGXGIC.mjs +0 -85
  96. package/dist/chunk-4ENGXGIC.mjs.map +0 -1
  97. package/dist/chunk-5HCN6SPC.mjs +0 -47
  98. package/dist/chunk-5HCN6SPC.mjs.map +0 -1
  99. package/dist/chunk-6RG3YDAC.mjs +0 -28
  100. package/dist/chunk-6RG3YDAC.mjs.map +0 -1
  101. package/dist/chunk-7NSRDJ5C.mjs +0 -3
  102. package/dist/chunk-7NSRDJ5C.mjs.map +0 -1
  103. package/dist/chunk-AYVNEHBC.mjs +0 -70
  104. package/dist/chunk-AYVNEHBC.mjs.map +0 -1
  105. package/dist/chunk-CRRPHVT3.mjs +0 -57
  106. package/dist/chunk-CRRPHVT3.mjs.map +0 -1
  107. package/dist/chunk-D72RVITD.mjs +0 -30
  108. package/dist/chunk-D72RVITD.mjs.map +0 -1
  109. package/dist/chunk-ESP3H6NQ.mjs +0 -39
  110. package/dist/chunk-ESP3H6NQ.mjs.map +0 -1
  111. package/dist/chunk-EXOYIXGQ.mjs +0 -74
  112. package/dist/chunk-EXOYIXGQ.mjs.map +0 -1
  113. package/dist/chunk-GBPOPYU3.mjs +0 -27
  114. package/dist/chunk-GBPOPYU3.mjs.map +0 -1
  115. package/dist/chunk-GWX3NPF5.mjs +0 -48
  116. package/dist/chunk-GWX3NPF5.mjs.map +0 -1
  117. package/dist/chunk-H4VKQGVU.mjs +0 -3
  118. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  119. package/dist/chunk-HKSE5ISX.mjs +0 -105
  120. package/dist/chunk-HKSE5ISX.mjs.map +0 -1
  121. package/dist/chunk-IU3WTXLQ.mjs +0 -3
  122. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  123. package/dist/chunk-MC6KTH4X.mjs +0 -12
  124. package/dist/chunk-MC6KTH4X.mjs.map +0 -1
  125. package/dist/chunk-MRXNTQOX.mjs +0 -55
  126. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  127. package/dist/chunk-OHWEJUCS.mjs +0 -18
  128. package/dist/chunk-OHWEJUCS.mjs.map +0 -1
  129. package/dist/chunk-PY4F436T.mjs +0 -25
  130. package/dist/chunk-PY4F436T.mjs.map +0 -1
  131. package/dist/chunk-Q6YO7LDK.mjs +0 -40
  132. package/dist/chunk-Q6YO7LDK.mjs.map +0 -1
  133. package/dist/chunk-TEYIQHMK.mjs +0 -12
  134. package/dist/chunk-TEYIQHMK.mjs.map +0 -1
  135. package/dist/chunk-U6NJWGTV.mjs +0 -3
  136. package/dist/chunk-U6NJWGTV.mjs.map +0 -1
  137. package/dist/chunk-VUNHHCOA.mjs +0 -24
  138. package/dist/chunk-VUNHHCOA.mjs.map +0 -1
  139. package/dist/chunk-XEVSX2QD.mjs +0 -137
  140. package/dist/chunk-XEVSX2QD.mjs.map +0 -1
  141. package/dist/chunk-XLGSWCCV.mjs +0 -75
  142. package/dist/chunk-XLGSWCCV.mjs.map +0 -1
  143. package/dist/chunk-ZA25IBKF.mjs +0 -69
  144. package/dist/chunk-ZA25IBKF.mjs.map +0 -1
  145. package/dist/chunk-ZLFSBGYI.mjs +0 -26
  146. package/dist/chunk-ZLFSBGYI.mjs.map +0 -1
  147. package/dist/chunk-ZYC5YVDO.mjs +0 -21
  148. package/dist/chunk-ZYC5YVDO.mjs.map +0 -1
@@ -1,5 +1,555 @@
1
- export { IconArrowDown, IconArrowElbow, IconArrowRight, IconCheck, IconChevronUpDown, IconClose, IconCopy, IconDownload, IconEdit, IconExternalLink, IconGitHub, IconMessage, IconMoon, IconNextChat, IconOpenAI, IconPlus, IconRefresh, IconSeparator, IconShare, IconSidebar, IconSpinner, IconStop, IconSun, IconTrash, IconUser, IconUsers, IconVercel } from '../../../chunk-34MTYKUD.mjs';
2
- import '../../../chunk-Q6YO7LDK.mjs';
3
- import '../../../chunk-MRXNTQOX.mjs';
4
- //# sourceMappingURL=out.js.map
1
+ "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+
34
+ // src/components/chat-components/ui/icons.tsx
35
+ import * as React from "react";
36
+
37
+ // src/lib/utils.ts
38
+ import { clsx } from "clsx";
39
+ import { customAlphabet } from "nanoid";
40
+ import { twMerge } from "tailwind-merge";
41
+ function cn(...inputs) {
42
+ return twMerge(clsx(inputs));
43
+ }
44
+ var nanoid = customAlphabet(
45
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
46
+ 7
47
+ );
48
+
49
+ // src/components/chat-components/ui/icons.tsx
50
+ import { jsx, jsxs } from "react/jsx-runtime";
51
+ function IconNextChat(_a) {
52
+ var _b = _a, {
53
+ className,
54
+ inverted
55
+ } = _b, props = __objRest(_b, [
56
+ "className",
57
+ "inverted"
58
+ ]);
59
+ const id = React.useId();
60
+ return /* @__PURE__ */ jsxs(
61
+ "svg",
62
+ __spreadProps(__spreadValues({
63
+ viewBox: "0 0 17 17",
64
+ fill: "none",
65
+ xmlns: "http://www.w3.org/2000/svg",
66
+ className: cn("h-4 w-4", className)
67
+ }, props), {
68
+ children: [
69
+ /* @__PURE__ */ jsxs("defs", { children: [
70
+ /* @__PURE__ */ jsxs(
71
+ "linearGradient",
72
+ {
73
+ id: `gradient-${id}-1`,
74
+ x1: "10.6889",
75
+ y1: "10.3556",
76
+ x2: "13.8445",
77
+ y2: "14.2667",
78
+ gradientUnits: "userSpaceOnUse",
79
+ children: [
80
+ /* @__PURE__ */ jsx("stop", { stopColor: inverted ? "white" : "black" }),
81
+ /* @__PURE__ */ jsx("stop", { offset: 1, stopColor: inverted ? "white" : "black", stopOpacity: 0 })
82
+ ]
83
+ }
84
+ ),
85
+ /* @__PURE__ */ jsxs(
86
+ "linearGradient",
87
+ {
88
+ id: `gradient-${id}-2`,
89
+ x1: "11.7555",
90
+ y1: "4.8",
91
+ x2: "11.7376",
92
+ y2: "9.50002",
93
+ gradientUnits: "userSpaceOnUse",
94
+ children: [
95
+ /* @__PURE__ */ jsx("stop", { stopColor: inverted ? "white" : "black" }),
96
+ /* @__PURE__ */ jsx("stop", { offset: 1, stopColor: inverted ? "white" : "black", stopOpacity: 0 })
97
+ ]
98
+ }
99
+ )
100
+ ] }),
101
+ /* @__PURE__ */ jsx(
102
+ "path",
103
+ {
104
+ d: "M1 16L2.58314 11.2506C1.83084 9.74642 1.63835 8.02363 2.04013 6.39052C2.4419 4.75741 3.41171 3.32057 4.776 2.33712C6.1403 1.35367 7.81003 0.887808 9.4864 1.02289C11.1628 1.15798 12.7364 1.8852 13.9256 3.07442C15.1148 4.26363 15.842 5.83723 15.9771 7.5136C16.1122 9.18997 15.6463 10.8597 14.6629 12.224C13.6794 13.5883 12.2426 14.5581 10.6095 14.9599C8.97637 15.3616 7.25358 15.1692 5.74942 14.4169L1 16Z",
105
+ fill: inverted ? "black" : "white",
106
+ stroke: inverted ? "black" : "white",
107
+ strokeWidth: 2,
108
+ strokeLinecap: "round",
109
+ strokeLinejoin: "round"
110
+ }
111
+ ),
112
+ /* @__PURE__ */ jsx(
113
+ "mask",
114
+ {
115
+ id: "mask0_91_2047",
116
+ style: { maskType: "alpha" },
117
+ maskUnits: "userSpaceOnUse",
118
+ x: 1,
119
+ y: 0,
120
+ width: 16,
121
+ height: 16,
122
+ children: /* @__PURE__ */ jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? "black" : "white" })
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsxs("g", { mask: "url(#mask0_91_2047)", children: [
126
+ /* @__PURE__ */ jsx("circle", { cx: 9, cy: 8, r: 8, fill: inverted ? "black" : "white" }),
127
+ /* @__PURE__ */ jsx(
128
+ "path",
129
+ {
130
+ d: "M14.2896 14.0018L7.146 4.8H5.80005V11.1973H6.87681V6.16743L13.4444 14.6529C13.7407 14.4545 14.0231 14.2369 14.2896 14.0018Z",
131
+ fill: `url(#gradient-${id}-1)`
132
+ }
133
+ ),
134
+ /* @__PURE__ */ jsx("rect", { x: "11.2222", y: "4.8", width: "1.06667", height: "6.4", fill: `url(#gradient-${id}-2)` })
135
+ ] })
136
+ ]
137
+ })
138
+ );
139
+ }
140
+ function IconOpenAI(_a) {
141
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
142
+ return /* @__PURE__ */ jsxs(
143
+ "svg",
144
+ __spreadProps(__spreadValues({
145
+ fill: "currentColor",
146
+ viewBox: "0 0 24 24",
147
+ role: "img",
148
+ xmlns: "http://www.w3.org/2000/svg",
149
+ className: cn("h-4 w-4", className)
150
+ }, props), {
151
+ children: [
152
+ /* @__PURE__ */ jsx("title", { children: "OpenAI icon" }),
153
+ /* @__PURE__ */ jsx("path", { d: "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z" })
154
+ ]
155
+ })
156
+ );
157
+ }
158
+ function IconVercel(_a) {
159
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
160
+ return /* @__PURE__ */ jsx(
161
+ "svg",
162
+ __spreadProps(__spreadValues({
163
+ "aria-label": "Vercel logomark",
164
+ role: "img",
165
+ viewBox: "0 0 74 64",
166
+ className: cn("h-4 w-4", className)
167
+ }, props), {
168
+ children: /* @__PURE__ */ jsx("path", { d: "M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z", fill: "currentColor" })
169
+ })
170
+ );
171
+ }
172
+ function IconGitHub(_a) {
173
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
174
+ return /* @__PURE__ */ jsxs(
175
+ "svg",
176
+ __spreadProps(__spreadValues({
177
+ role: "img",
178
+ viewBox: "0 0 24 24",
179
+ xmlns: "http://www.w3.org/2000/svg",
180
+ fill: "currentColor",
181
+ className: cn("h-4 w-4", className)
182
+ }, props), {
183
+ children: [
184
+ /* @__PURE__ */ jsx("title", { children: "GitHub" }),
185
+ /* @__PURE__ */ jsx("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })
186
+ ]
187
+ })
188
+ );
189
+ }
190
+ function IconSeparator(_a) {
191
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
192
+ return /* @__PURE__ */ jsx(
193
+ "svg",
194
+ __spreadProps(__spreadValues({
195
+ fill: "none",
196
+ shapeRendering: "geometricPrecision",
197
+ stroke: "currentColor",
198
+ strokeLinecap: "round",
199
+ strokeLinejoin: "round",
200
+ strokeWidth: "1",
201
+ viewBox: "0 0 24 24",
202
+ "aria-hidden": "true",
203
+ className: cn("h-4 w-4", className)
204
+ }, props), {
205
+ children: /* @__PURE__ */ jsx("path", { d: "M16.88 3.549L7.12 20.451" })
206
+ })
207
+ );
208
+ }
209
+ function IconArrowDown(_a) {
210
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
211
+ return /* @__PURE__ */ jsx(
212
+ "svg",
213
+ __spreadProps(__spreadValues({
214
+ xmlns: "http://www.w3.org/2000/svg",
215
+ viewBox: "0 0 256 256",
216
+ fill: "currentColor",
217
+ className: cn("h-4 w-4", className)
218
+ }, props), {
219
+ children: /* @__PURE__ */ jsx("path", { d: "m205.66 149.66-72 72a8 8 0 0 1-11.32 0l-72-72a8 8 0 0 1 11.32-11.32L120 196.69V40a8 8 0 0 1 16 0v156.69l58.34-58.35a8 8 0 0 1 11.32 11.32Z" })
220
+ })
221
+ );
222
+ }
223
+ function IconArrowRight(_a) {
224
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
225
+ return /* @__PURE__ */ jsx(
226
+ "svg",
227
+ __spreadProps(__spreadValues({
228
+ xmlns: "http://www.w3.org/2000/svg",
229
+ viewBox: "0 0 256 256",
230
+ fill: "currentColor",
231
+ className: cn("h-4 w-4", className)
232
+ }, props), {
233
+ children: /* @__PURE__ */ jsx("path", { d: "m221.66 133.66-72 72a8 8 0 0 1-11.32-11.32L196.69 136H40a8 8 0 0 1 0-16h156.69l-58.35-58.34a8 8 0 0 1 11.32-11.32l72 72a8 8 0 0 1 0 11.32Z" })
234
+ })
235
+ );
236
+ }
237
+ function IconUser(_a) {
238
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
239
+ return /* @__PURE__ */ jsx(
240
+ "svg",
241
+ __spreadProps(__spreadValues({
242
+ xmlns: "http://www.w3.org/2000/svg",
243
+ viewBox: "0 0 256 256",
244
+ fill: "currentColor",
245
+ className: cn("h-4 w-4", className)
246
+ }, props), {
247
+ children: /* @__PURE__ */ jsx("path", { d: "M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8ZM72 96a56 56 0 1 1 56 56 56.06 56.06 0 0 1-56-56Z" })
248
+ })
249
+ );
250
+ }
251
+ function IconPlus(_a) {
252
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
253
+ return /* @__PURE__ */ jsx(
254
+ "svg",
255
+ __spreadProps(__spreadValues({
256
+ xmlns: "http://www.w3.org/2000/svg",
257
+ viewBox: "0 0 256 256",
258
+ fill: "currentColor",
259
+ className: cn("h-4 w-4", className)
260
+ }, props), {
261
+ children: /* @__PURE__ */ jsx("path", { d: "M224 128a8 8 0 0 1-8 8h-80v80a8 8 0 0 1-16 0v-80H40a8 8 0 0 1 0-16h80V40a8 8 0 0 1 16 0v80h80a8 8 0 0 1 8 8Z" })
262
+ })
263
+ );
264
+ }
265
+ function IconArrowElbow(_a) {
266
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
267
+ return /* @__PURE__ */ jsx(
268
+ "svg",
269
+ __spreadProps(__spreadValues({
270
+ xmlns: "http://www.w3.org/2000/svg",
271
+ viewBox: "0 0 256 256",
272
+ fill: "currentColor",
273
+ className: cn("h-4 w-4", className)
274
+ }, props), {
275
+ children: /* @__PURE__ */ jsx("path", { d: "M200 32v144a8 8 0 0 1-8 8H67.31l34.35 34.34a8 8 0 0 1-11.32 11.32l-48-48a8 8 0 0 1 0-11.32l48-48a8 8 0 0 1 11.32 11.32L67.31 168H184V32a8 8 0 0 1 16 0Z" })
276
+ })
277
+ );
278
+ }
279
+ function IconSpinner(_a) {
280
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
281
+ return /* @__PURE__ */ jsx(
282
+ "svg",
283
+ __spreadProps(__spreadValues({
284
+ xmlns: "http://www.w3.org/2000/svg",
285
+ viewBox: "0 0 256 256",
286
+ fill: "currentColor",
287
+ className: cn("h-4 w-4 animate-spin", className)
288
+ }, props), {
289
+ children: /* @__PURE__ */ jsx("path", { d: "M232 128a104 104 0 0 1-208 0c0-41 23.81-78.36 60.66-95.27a8 8 0 0 1 6.68 14.54C60.15 61.59 40 93.27 40 128a88 88 0 0 0 176 0c0-34.73-20.15-66.41-51.34-80.73a8 8 0 0 1 6.68-14.54C208.19 49.64 232 87 232 128Z" })
290
+ })
291
+ );
292
+ }
293
+ function IconMessage(_a) {
294
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
295
+ return /* @__PURE__ */ jsx(
296
+ "svg",
297
+ __spreadProps(__spreadValues({
298
+ xmlns: "http://www.w3.org/2000/svg",
299
+ viewBox: "0 0 256 256",
300
+ fill: "currentColor",
301
+ className: cn("h-4 w-4", className)
302
+ }, props), {
303
+ children: /* @__PURE__ */ jsx("path", { d: "M216 48H40a16 16 0 0 0-16 16v160a15.84 15.84 0 0 0 9.25 14.5A16.05 16.05 0 0 0 40 240a15.89 15.89 0 0 0 10.25-3.78.69.69 0 0 0 .13-.11L82.5 208H216a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16ZM40 224Zm176-32H82.5a16 16 0 0 0-10.3 3.75l-.12.11L40 224V64h176Z" })
304
+ })
305
+ );
306
+ }
307
+ function IconTrash(_a) {
308
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
309
+ return /* @__PURE__ */ jsx(
310
+ "svg",
311
+ __spreadProps(__spreadValues({
312
+ xmlns: "http://www.w3.org/2000/svg",
313
+ viewBox: "0 0 256 256",
314
+ fill: "currentColor",
315
+ className: cn("h-4 w-4", className)
316
+ }, props), {
317
+ children: /* @__PURE__ */ jsx("path", { d: "M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16ZM96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Zm48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Z" })
318
+ })
319
+ );
320
+ }
321
+ function IconRefresh(_a) {
322
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
323
+ return /* @__PURE__ */ jsx(
324
+ "svg",
325
+ __spreadProps(__spreadValues({
326
+ xmlns: "http://www.w3.org/2000/svg",
327
+ viewBox: "0 0 256 256",
328
+ fill: "currentColor",
329
+ className: cn("h-4 w-4", className)
330
+ }, props), {
331
+ children: /* @__PURE__ */ jsx("path", { d: "M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z" })
332
+ })
333
+ );
334
+ }
335
+ function IconStop(_a) {
336
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
337
+ return /* @__PURE__ */ jsx(
338
+ "svg",
339
+ __spreadProps(__spreadValues({
340
+ xmlns: "http://www.w3.org/2000/svg",
341
+ viewBox: "0 0 256 256",
342
+ fill: "currentColor",
343
+ className: cn("h-4 w-4", className)
344
+ }, props), {
345
+ children: /* @__PURE__ */ jsx("path", { d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z" })
346
+ })
347
+ );
348
+ }
349
+ function IconSidebar(_a) {
350
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
351
+ return /* @__PURE__ */ jsx(
352
+ "svg",
353
+ __spreadProps(__spreadValues({
354
+ xmlns: "http://www.w3.org/2000/svg",
355
+ viewBox: "0 0 256 256",
356
+ fill: "currentColor",
357
+ className: cn("h-4 w-4", className)
358
+ }, props), {
359
+ children: /* @__PURE__ */ jsx("path", { d: "M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM40 56h40v144H40Zm176 144H96V56h120v144Z" })
360
+ })
361
+ );
362
+ }
363
+ function IconMoon(_a) {
364
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
365
+ return /* @__PURE__ */ jsx(
366
+ "svg",
367
+ __spreadProps(__spreadValues({
368
+ xmlns: "http://www.w3.org/2000/svg",
369
+ viewBox: "0 0 256 256",
370
+ fill: "currentColor",
371
+ className: cn("h-4 w-4", className)
372
+ }, props), {
373
+ children: /* @__PURE__ */ jsx("path", { d: "M233.54 142.23a8 8 0 0 0-8-2 88.08 88.08 0 0 1-109.8-109.8 8 8 0 0 0-10-10 104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.09 103.09 0 0 0 62.52-20.88 104.84 104.84 0 0 0 37-52.91 8 8 0 0 0-1.98-7.98Zm-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104 106 106 0 0 0 14.92-1.06 89 89 0 0 1-26.02 31.4Z" })
374
+ })
375
+ );
376
+ }
377
+ function IconSun(_a) {
378
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
379
+ return /* @__PURE__ */ jsx(
380
+ "svg",
381
+ __spreadProps(__spreadValues({
382
+ xmlns: "http://www.w3.org/2000/svg",
383
+ viewBox: "0 0 256 256",
384
+ fill: "currentColor",
385
+ className: cn("h-4 w-4", className)
386
+ }, props), {
387
+ children: /* @__PURE__ */ jsx("path", { d: "M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0Zm72 88a64 64 0 1 1-64-64 64.07 64.07 0 0 1 64 64Zm-16 0a48 48 0 1 0-48 48 48.05 48.05 0 0 0 48-48ZM58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32ZM192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72Zm5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8Zm80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8Zm112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16Z" })
388
+ })
389
+ );
390
+ }
391
+ function IconCopy(_a) {
392
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
393
+ return /* @__PURE__ */ jsx(
394
+ "svg",
395
+ __spreadProps(__spreadValues({
396
+ xmlns: "http://www.w3.org/2000/svg",
397
+ viewBox: "0 0 256 256",
398
+ fill: "currentColor",
399
+ className: cn("h-4 w-4", className)
400
+ }, props), {
401
+ children: /* @__PURE__ */ jsx("path", { d: "M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z" })
402
+ })
403
+ );
404
+ }
405
+ function IconCheck(_a) {
406
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
407
+ return /* @__PURE__ */ jsx(
408
+ "svg",
409
+ __spreadProps(__spreadValues({
410
+ xmlns: "http://www.w3.org/2000/svg",
411
+ viewBox: "0 0 256 256",
412
+ fill: "currentColor",
413
+ className: cn("h-4 w-4", className)
414
+ }, props), {
415
+ children: /* @__PURE__ */ jsx("path", { d: "m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z" })
416
+ })
417
+ );
418
+ }
419
+ function IconDownload(_a) {
420
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
421
+ return /* @__PURE__ */ jsx(
422
+ "svg",
423
+ __spreadProps(__spreadValues({
424
+ xmlns: "http://www.w3.org/2000/svg",
425
+ viewBox: "0 0 256 256",
426
+ fill: "currentColor",
427
+ className: cn("h-4 w-4", className)
428
+ }, props), {
429
+ children: /* @__PURE__ */ jsx("path", { d: "M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z" })
430
+ })
431
+ );
432
+ }
433
+ function IconClose(_a) {
434
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
435
+ return /* @__PURE__ */ jsx(
436
+ "svg",
437
+ __spreadProps(__spreadValues({
438
+ xmlns: "http://www.w3.org/2000/svg",
439
+ viewBox: "0 0 256 256",
440
+ fill: "currentColor",
441
+ className: cn("h-4 w-4", className)
442
+ }, props), {
443
+ children: /* @__PURE__ */ jsx("path", { d: "M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z" })
444
+ })
445
+ );
446
+ }
447
+ function IconEdit(_a) {
448
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
449
+ return /* @__PURE__ */ jsx(
450
+ "svg",
451
+ __spreadProps(__spreadValues({
452
+ xmlns: "http://www.w3.org/2000/svg",
453
+ fill: "none",
454
+ viewBox: "0 0 24 24",
455
+ strokeWidth: 1.5,
456
+ stroke: "currentColor",
457
+ className: cn("h-4 w-4", className)
458
+ }, props), {
459
+ children: /* @__PURE__ */ jsx(
460
+ "path",
461
+ {
462
+ strokeLinecap: "round",
463
+ strokeLinejoin: "round",
464
+ d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
465
+ }
466
+ )
467
+ })
468
+ );
469
+ }
470
+ function IconShare(_a) {
471
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
472
+ return /* @__PURE__ */ jsx(
473
+ "svg",
474
+ __spreadProps(__spreadValues({
475
+ xmlns: "http://www.w3.org/2000/svg",
476
+ fill: "currentColor",
477
+ className: cn("h-4 w-4", className),
478
+ viewBox: "0 0 256 256"
479
+ }, props), {
480
+ children: /* @__PURE__ */ jsx("path", { d: "m237.66 106.35-80-80A8 8 0 0 0 144 32v40.35c-25.94 2.22-54.59 14.92-78.16 34.91-28.38 24.08-46.05 55.11-49.76 87.37a12 12 0 0 0 20.68 9.58c11-11.71 50.14-48.74 107.24-52V192a8 8 0 0 0 13.66 5.65l80-80a8 8 0 0 0 0-11.3ZM160 172.69V144a8 8 0 0 0-8-8c-28.08 0-55.43 7.33-81.29 21.8a196.17 196.17 0 0 0-36.57 26.52c5.8-23.84 20.42-46.51 42.05-64.86C99.41 99.77 127.75 88 152 88a8 8 0 0 0 8-8V51.32L220.69 112Z" })
481
+ })
482
+ );
483
+ }
484
+ function IconUsers(_a) {
485
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
486
+ return /* @__PURE__ */ jsx(
487
+ "svg",
488
+ __spreadProps(__spreadValues({
489
+ xmlns: "http://www.w3.org/2000/svg",
490
+ fill: "currentColor",
491
+ className: cn("h-4 w-4", className),
492
+ viewBox: "0 0 256 256"
493
+ }, props), {
494
+ children: /* @__PURE__ */ jsx("path", { d: "M117.25 157.92a60 60 0 1 0-66.5 0 95.83 95.83 0 0 0-47.22 37.71 8 8 0 1 0 13.4 8.74 80 80 0 0 1 134.14 0 8 8 0 0 0 13.4-8.74 95.83 95.83 0 0 0-47.22-37.71ZM40 108a44 44 0 1 1 44 44 44.05 44.05 0 0 1-44-44Zm210.14 98.7a8 8 0 0 1-11.07-2.33A79.83 79.83 0 0 0 172 168a8 8 0 0 1 0-16 44 44 0 1 0-16.34-84.87 8 8 0 1 1-5.94-14.85 60 60 0 0 1 55.53 105.64 95.83 95.83 0 0 1 47.22 37.71 8 8 0 0 1-2.33 11.07Z" })
495
+ })
496
+ );
497
+ }
498
+ function IconExternalLink(_a) {
499
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
500
+ return /* @__PURE__ */ jsx(
501
+ "svg",
502
+ __spreadProps(__spreadValues({
503
+ xmlns: "http://www.w3.org/2000/svg",
504
+ fill: "currentColor",
505
+ className: cn("h-4 w-4", className),
506
+ viewBox: "0 0 256 256"
507
+ }, props), {
508
+ children: /* @__PURE__ */ jsx("path", { d: "M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8Z" })
509
+ })
510
+ );
511
+ }
512
+ function IconChevronUpDown(_a) {
513
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
514
+ return /* @__PURE__ */ jsx(
515
+ "svg",
516
+ __spreadProps(__spreadValues({
517
+ xmlns: "http://www.w3.org/2000/svg",
518
+ fill: "currentColor",
519
+ className: cn("h-4 w-4", className),
520
+ viewBox: "0 0 256 256"
521
+ }, props), {
522
+ children: /* @__PURE__ */ jsx("path", { d: "M181.66 170.34a8 8 0 0 1 0 11.32l-48 48a8 8 0 0 1-11.32 0l-48-48a8 8 0 0 1 11.32-11.32L128 212.69l42.34-42.35a8 8 0 0 1 11.32 0Zm-96-84.68L128 43.31l42.34 42.35a8 8 0 0 0 11.32-11.32l-48-48a8 8 0 0 0-11.32 0l-48 48a8 8 0 0 0 11.32 11.32Z" })
523
+ })
524
+ );
525
+ }
526
+ export {
527
+ IconArrowDown,
528
+ IconArrowElbow,
529
+ IconArrowRight,
530
+ IconCheck,
531
+ IconChevronUpDown,
532
+ IconClose,
533
+ IconCopy,
534
+ IconDownload,
535
+ IconEdit,
536
+ IconExternalLink,
537
+ IconGitHub,
538
+ IconMessage,
539
+ IconMoon,
540
+ IconNextChat,
541
+ IconOpenAI,
542
+ IconPlus,
543
+ IconRefresh,
544
+ IconSeparator,
545
+ IconShare,
546
+ IconSidebar,
547
+ IconSpinner,
548
+ IconStop,
549
+ IconSun,
550
+ IconTrash,
551
+ IconUser,
552
+ IconUsers,
553
+ IconVercel
554
+ };
5
555
  //# sourceMappingURL=icons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../../../src/components/chat-components/ui/icons.tsx","../../../../src/lib/utils.ts"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"../../../lib/utils\";\n\nfunction IconNextChat({\n className,\n inverted,\n ...props\n}: React.ComponentProps<\"svg\"> & { inverted?: boolean }) {\n const id = React.useId();\n\n return (\n <svg\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <defs>\n <linearGradient\n id={`gradient-${id}-1`}\n x1=\"10.6889\"\n y1=\"10.3556\"\n x2=\"13.8445\"\n y2=\"14.2667\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={inverted ? \"white\" : \"black\"} />\n <stop offset={1} stopColor={inverted ? \"white\" : \"black\"} stopOpacity={0} />\n </linearGradient>\n <linearGradient\n id={`gradient-${id}-2`}\n x1=\"11.7555\"\n y1=\"4.8\"\n x2=\"11.7376\"\n y2=\"9.50002\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={inverted ? \"white\" : \"black\"} />\n <stop offset={1} stopColor={inverted ? \"white\" : \"black\"} stopOpacity={0} />\n </linearGradient>\n </defs>\n <path\n d=\"M1 16L2.58314 11.2506C1.83084 9.74642 1.63835 8.02363 2.04013 6.39052C2.4419 4.75741 3.41171 3.32057 4.776 2.33712C6.1403 1.35367 7.81003 0.887808 9.4864 1.02289C11.1628 1.15798 12.7364 1.8852 13.9256 3.07442C15.1148 4.26363 15.842 5.83723 15.9771 7.5136C16.1122 9.18997 15.6463 10.8597 14.6629 12.224C13.6794 13.5883 12.2426 14.5581 10.6095 14.9599C8.97637 15.3616 7.25358 15.1692 5.74942 14.4169L1 16Z\"\n fill={inverted ? \"black\" : \"white\"}\n stroke={inverted ? \"black\" : \"white\"}\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <mask\n id=\"mask0_91_2047\"\n style={{ maskType: \"alpha\" }}\n maskUnits=\"userSpaceOnUse\"\n x={1}\n y={0}\n width={16}\n height={16}\n >\n <circle cx={9} cy={8} r={8} fill={inverted ? \"black\" : \"white\"} />\n </mask>\n <g mask=\"url(#mask0_91_2047)\">\n <circle cx={9} cy={8} r={8} fill={inverted ? \"black\" : \"white\"} />\n <path\n d=\"M14.2896 14.0018L7.146 4.8H5.80005V11.1973H6.87681V6.16743L13.4444 14.6529C13.7407 14.4545 14.0231 14.2369 14.2896 14.0018Z\"\n fill={`url(#gradient-${id}-1)`}\n />\n <rect x=\"11.2222\" y=\"4.8\" width=\"1.06667\" height=\"6.4\" fill={`url(#gradient-${id}-2)`} />\n </g>\n </svg>\n );\n}\n\nfunction IconOpenAI({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <title>OpenAI icon</title>\n <path d=\"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z\" />\n </svg>\n );\n}\n\nfunction IconVercel({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n aria-label=\"Vercel logomark\"\n role=\"img\"\n viewBox=\"0 0 74 64\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z\" fill=\"currentColor\"></path>\n </svg>\n );\n}\n\nfunction IconGitHub({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n role=\"img\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <title>GitHub</title>\n <path d=\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\" />\n </svg>\n );\n}\n\nfunction IconSeparator({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n fill=\"none\"\n shapeRendering=\"geometricPrecision\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M16.88 3.549L7.12 20.451\"></path>\n </svg>\n );\n}\n\nfunction IconArrowDown({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"m205.66 149.66-72 72a8 8 0 0 1-11.32 0l-72-72a8 8 0 0 1 11.32-11.32L120 196.69V40a8 8 0 0 1 16 0v156.69l58.34-58.35a8 8 0 0 1 11.32 11.32Z\" />\n </svg>\n );\n}\n\nfunction IconArrowRight({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"m221.66 133.66-72 72a8 8 0 0 1-11.32-11.32L196.69 136H40a8 8 0 0 1 0-16h156.69l-58.35-58.34a8 8 0 0 1 11.32-11.32l72 72a8 8 0 0 1 0 11.32Z\" />\n </svg>\n );\n}\n\nfunction IconUser({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M230.92 212c-15.23-26.33-38.7-45.21-66.09-54.16a72 72 0 1 0-73.66 0c-27.39 8.94-50.86 27.82-66.09 54.16a8 8 0 1 0 13.85 8c18.84-32.56 52.14-52 89.07-52s70.23 19.44 89.07 52a8 8 0 1 0 13.85-8ZM72 96a56 56 0 1 1 56 56 56.06 56.06 0 0 1-56-56Z\" />\n </svg>\n );\n}\n\nfunction IconPlus({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M224 128a8 8 0 0 1-8 8h-80v80a8 8 0 0 1-16 0v-80H40a8 8 0 0 1 0-16h80V40a8 8 0 0 1 16 0v80h80a8 8 0 0 1 8 8Z\" />\n </svg>\n );\n}\n\nfunction IconArrowElbow({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M200 32v144a8 8 0 0 1-8 8H67.31l34.35 34.34a8 8 0 0 1-11.32 11.32l-48-48a8 8 0 0 1 0-11.32l48-48a8 8 0 0 1 11.32 11.32L67.31 168H184V32a8 8 0 0 1 16 0Z\" />\n </svg>\n );\n}\n\nfunction IconSpinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4 animate-spin\", className)}\n {...props}\n >\n <path d=\"M232 128a104 104 0 0 1-208 0c0-41 23.81-78.36 60.66-95.27a8 8 0 0 1 6.68 14.54C60.15 61.59 40 93.27 40 128a88 88 0 0 0 176 0c0-34.73-20.15-66.41-51.34-80.73a8 8 0 0 1 6.68-14.54C208.19 49.64 232 87 232 128Z\" />\n </svg>\n );\n}\n\nfunction IconMessage({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M216 48H40a16 16 0 0 0-16 16v160a15.84 15.84 0 0 0 9.25 14.5A16.05 16.05 0 0 0 40 240a15.89 15.89 0 0 0 10.25-3.78.69.69 0 0 0 .13-.11L82.5 208H216a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16ZM40 224Zm176-32H82.5a16 16 0 0 0-10.3 3.75l-.12.11L40 224V64h176Z\" />\n </svg>\n );\n}\n\nfunction IconTrash({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M216 48h-40v-8a24 24 0 0 0-24-24h-48a24 24 0 0 0-24 24v8H40a8 8 0 0 0 0 16h8v144a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16V64h8a8 8 0 0 0 0-16ZM96 40a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v8H96Zm96 168H64V64h128Zm-80-104v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Zm48 0v64a8 8 0 0 1-16 0v-64a8 8 0 0 1 16 0Z\" />\n </svg>\n );\n}\n\nfunction IconRefresh({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M197.67 186.37a8 8 0 0 1 0 11.29C196.58 198.73 170.82 224 128 224c-37.39 0-64.53-22.4-80-39.85V208a8 8 0 0 1-16 0v-48a8 8 0 0 1 8-8h48a8 8 0 0 1 0 16H55.44C67.76 183.35 93 208 128 208c36 0 58.14-21.46 58.36-21.68a8 8 0 0 1 11.31.05ZM216 40a8 8 0 0 0-8 8v23.85C192.53 54.4 165.39 32 128 32c-42.82 0-68.58 25.27-69.66 26.34a8 8 0 0 0 11.3 11.34C69.86 69.46 92 48 128 48c35 0 60.24 24.65 72.56 40H168a8 8 0 0 0 0 16h48a8 8 0 0 0 8-8V48a8 8 0 0 0-8-8Z\" />\n </svg>\n );\n}\n\nfunction IconStop({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24Zm0 192a88 88 0 1 1 88-88 88.1 88.1 0 0 1-88 88Zm24-120h-48a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8Zm-8 48h-32v-32h32Z\" />\n </svg>\n );\n}\n\nfunction IconSidebar({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M216 40H40a16 16 0 0 0-16 16v144a16 16 0 0 0 16 16h176a16 16 0 0 0 16-16V56a16 16 0 0 0-16-16ZM40 56h40v144H40Zm176 144H96V56h120v144Z\" />\n </svg>\n );\n}\n\nfunction IconMoon({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M233.54 142.23a8 8 0 0 0-8-2 88.08 88.08 0 0 1-109.8-109.8 8 8 0 0 0-10-10 104.84 104.84 0 0 0-52.91 37A104 104 0 0 0 136 224a103.09 103.09 0 0 0 62.52-20.88 104.84 104.84 0 0 0 37-52.91 8 8 0 0 0-1.98-7.98Zm-44.64 48.11A88 88 0 0 1 65.66 67.11a89 89 0 0 1 31.4-26A106 106 0 0 0 96 56a104.11 104.11 0 0 0 104 104 106 106 0 0 0 14.92-1.06 89 89 0 0 1-26.02 31.4Z\" />\n </svg>\n );\n}\n\nfunction IconSun({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M120 40V16a8 8 0 0 1 16 0v24a8 8 0 0 1-16 0Zm72 88a64 64 0 1 1-64-64 64.07 64.07 0 0 1 64 64Zm-16 0a48 48 0 1 0-48 48 48.05 48.05 0 0 0 48-48ZM58.34 69.66a8 8 0 0 0 11.32-11.32l-16-16a8 8 0 0 0-11.32 11.32Zm0 116.68-16 16a8 8 0 0 0 11.32 11.32l16-16a8 8 0 0 0-11.32-11.32ZM192 72a8 8 0 0 0 5.66-2.34l16-16a8 8 0 0 0-11.32-11.32l-16 16A8 8 0 0 0 192 72Zm5.66 114.34a8 8 0 0 0-11.32 11.32l16 16a8 8 0 0 0 11.32-11.32ZM48 128a8 8 0 0 0-8-8H16a8 8 0 0 0 0 16h24a8 8 0 0 0 8-8Zm80 80a8 8 0 0 0-8 8v24a8 8 0 0 0 16 0v-24a8 8 0 0 0-8-8Zm112-88h-24a8 8 0 0 0 0 16h24a8 8 0 0 0 0-16Z\" />\n </svg>\n );\n}\n\nfunction IconCopy({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M216 32H88a8 8 0 0 0-8 8v40H40a8 8 0 0 0-8 8v128a8 8 0 0 0 8 8h128a8 8 0 0 0 8-8v-40h40a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8Zm-56 176H48V96h112Zm48-48h-32V88a8 8 0 0 0-8-8H96V48h112Z\" />\n </svg>\n );\n}\n\nfunction IconCheck({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"m229.66 77.66-128 128a8 8 0 0 1-11.32 0l-56-56a8 8 0 0 1 11.32-11.32L96 188.69 218.34 66.34a8 8 0 0 1 11.32 11.32Z\" />\n </svg>\n );\n}\n\nfunction IconDownload({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M224 152v56a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16v-56a8 8 0 0 1 16 0v56h160v-56a8 8 0 0 1 16 0Zm-101.66 5.66a8 8 0 0 0 11.32 0l40-40a8 8 0 0 0-11.32-11.32L136 132.69V40a8 8 0 0 0-16 0v92.69l-26.34-26.35a8 8 0 0 0-11.32 11.32Z\" />\n </svg>\n );\n}\n\nfunction IconClose({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 256 256\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path d=\"M205.66 194.34a8 8 0 0 1-11.32 11.32L128 139.31l-66.34 66.35a8 8 0 0 1-11.32-11.32L116.69 128 50.34 61.66a8 8 0 0 1 11.32-11.32L128 116.69l66.34-66.35a8 8 0 0 1 11.32 11.32L139.31 128Z\" />\n </svg>\n );\n}\n\nfunction IconEdit({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10\"\n />\n </svg>\n );\n}\n\nfunction IconShare({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n viewBox=\"0 0 256 256\"\n {...props}\n >\n <path d=\"m237.66 106.35-80-80A8 8 0 0 0 144 32v40.35c-25.94 2.22-54.59 14.92-78.16 34.91-28.38 24.08-46.05 55.11-49.76 87.37a12 12 0 0 0 20.68 9.58c11-11.71 50.14-48.74 107.24-52V192a8 8 0 0 0 13.66 5.65l80-80a8 8 0 0 0 0-11.3ZM160 172.69V144a8 8 0 0 0-8-8c-28.08 0-55.43 7.33-81.29 21.8a196.17 196.17 0 0 0-36.57 26.52c5.8-23.84 20.42-46.51 42.05-64.86C99.41 99.77 127.75 88 152 88a8 8 0 0 0 8-8V51.32L220.69 112Z\" />\n </svg>\n );\n}\n\nfunction IconUsers({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n viewBox=\"0 0 256 256\"\n {...props}\n >\n <path d=\"M117.25 157.92a60 60 0 1 0-66.5 0 95.83 95.83 0 0 0-47.22 37.71 8 8 0 1 0 13.4 8.74 80 80 0 0 1 134.14 0 8 8 0 0 0 13.4-8.74 95.83 95.83 0 0 0-47.22-37.71ZM40 108a44 44 0 1 1 44 44 44.05 44.05 0 0 1-44-44Zm210.14 98.7a8 8 0 0 1-11.07-2.33A79.83 79.83 0 0 0 172 168a8 8 0 0 1 0-16 44 44 0 1 0-16.34-84.87 8 8 0 1 1-5.94-14.85 60 60 0 0 1 55.53 105.64 95.83 95.83 0 0 1 47.22 37.71 8 8 0 0 1-2.33 11.07Z\" />\n </svg>\n );\n}\n\nfunction IconExternalLink({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n viewBox=\"0 0 256 256\"\n {...props}\n >\n <path d=\"M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8Z\" />\n </svg>\n );\n}\n\nfunction IconChevronUpDown({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n className={cn(\"h-4 w-4\", className)}\n viewBox=\"0 0 256 256\"\n {...props}\n >\n <path d=\"M181.66 170.34a8 8 0 0 1 0 11.32l-48 48a8 8 0 0 1-11.32 0l-48-48a8 8 0 0 1 11.32-11.32L128 212.69l42.34-42.35a8 8 0 0 1 11.32 0Zm-96-84.68L128 43.31l42.34 42.35a8 8 0 0 0 11.32-11.32l-48-48a8 8 0 0 0-11.32 0l-48 48a8 8 0 0 0 11.32 11.32Z\" />\n </svg>\n );\n}\n\nexport {\n IconEdit,\n IconNextChat,\n IconOpenAI,\n IconVercel,\n IconGitHub,\n IconSeparator,\n IconArrowDown,\n IconArrowRight,\n IconUser,\n IconPlus,\n IconArrowElbow,\n IconSpinner,\n IconMessage,\n IconTrash,\n IconRefresh,\n IconStop,\n IconSidebar,\n IconMoon,\n IconSun,\n IconCopy,\n IconCheck,\n IconDownload,\n IconClose,\n IconShare,\n IconUsers,\n IconExternalLink,\n IconChevronUpDown,\n};\n","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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,YAAY,WAAW;;;ACFvB,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;;;ADWQ,SAQE,KARF;AAhBR,SAAS,aAAa,IAImC;AAJnC,eACpB;AAAA;AAAA,IACA;AAAA,EARF,IAMsB,IAGjB,kBAHiB,IAGjB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,QAAM,KAAW,YAAM;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC;AAAA,6BAAC,UACC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI,YAAY;AAAA,cAChB,IAAG;AAAA,cACH,IAAG;AAAA,cACH,IAAG;AAAA,cACH,IAAG;AAAA,cACH,eAAc;AAAA,cAEd;AAAA,oCAAC,UAAK,WAAW,WAAW,UAAU,SAAS;AAAA,gBAC/C,oBAAC,UAAK,QAAQ,GAAG,WAAW,WAAW,UAAU,SAAS,aAAa,GAAG;AAAA;AAAA;AAAA,UAC5E;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,IAAI,YAAY;AAAA,cAChB,IAAG;AAAA,cACH,IAAG;AAAA,cACH,IAAG;AAAA,cACH,IAAG;AAAA,cACH,eAAc;AAAA,cAEd;AAAA,oCAAC,UAAK,WAAW,WAAW,UAAU,SAAS;AAAA,gBAC/C,oBAAC,UAAK,QAAQ,GAAG,WAAW,WAAW,UAAU,SAAS,aAAa,GAAG;AAAA;AAAA;AAAA,UAC5E;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM,WAAW,UAAU;AAAA,YAC3B,QAAQ,WAAW,UAAU;AAAA,YAC7B,aAAa;AAAA,YACb,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH,OAAO,EAAE,UAAU,QAAQ;AAAA,YAC3B,WAAU;AAAA,YACV,GAAG;AAAA,YACH,GAAG;AAAA,YACH,OAAO;AAAA,YACP,QAAQ;AAAA,YAER,8BAAC,YAAO,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,WAAW,UAAU,SAAS;AAAA;AAAA,QAClE;AAAA,QACA,qBAAC,OAAE,MAAK,uBACN;AAAA,8BAAC,YAAO,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,WAAW,UAAU,SAAS;AAAA,UAChE;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAM,iBAAiB;AAAA;AAAA,UACzB;AAAA,UACA,oBAAC,UAAK,GAAE,WAAU,GAAE,OAAM,OAAM,WAAU,QAAO,OAAM,MAAM,iBAAiB,SAAS;AAAA,WACzF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YA5EtB,IA4EoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QANL;AAAA,MAQC;AAAA,4BAAC,WAAM,yBAAW;AAAA,QAClB,oBAAC,UAAK,GAAE,w7CAAu7C;AAAA;AAAA;AAAA,EACj8C;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YA5FtB,IA4FoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,cAAW;AAAA,MACX,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,sDAAqD,MAAK,gBAAe;AAAA;AAAA,EACnF;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YA1GtB,IA0GoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QANL;AAAA,MAQC;AAAA,4BAAC,WAAM,oBAAM;AAAA,QACb,oBAAC,UAAK,GAAE,4sBAA2sB;AAAA;AAAA;AAAA,EACrtB;AAEJ;AAEA,SAAS,cAAc,IAAsD;AAAtD,eAAE,YA1HzB,IA0HuB,IAAgB,kBAAhB,IAAgB,CAAd;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,gBAAe;AAAA,MACf,QAAO;AAAA,MACP,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,SAAQ;AAAA,MACR,eAAY;AAAA,MACZ,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QAVL;AAAA,MAYC,8BAAC,UAAK,GAAE,4BAA2B;AAAA;AAAA,EACrC;AAEJ;AAEA,SAAS,cAAc,IAAsD;AAAtD,eAAE,YA7IzB,IA6IuB,IAAgB,kBAAhB,IAAgB,CAAd;AACvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,8IAA6I;AAAA;AAAA,EACvJ;AAEJ;AAEA,SAAS,eAAe,IAAsD;AAAtD,eAAE,YA3J1B,IA2JwB,IAAgB,kBAAhB,IAAgB,CAAd;AACxB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,8IAA6I;AAAA;AAAA,EACvJ;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YAzKpB,IAyKkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,oPAAmP;AAAA;AAAA,EAC7P;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YAvLpB,IAuLkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,gHAA+G;AAAA;AAAA,EACzH;AAEJ;AAEA,SAAS,eAAe,IAAsD;AAAtD,eAAE,YArM1B,IAqMwB,IAAgB,kBAAhB,IAAgB,CAAd;AACxB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,2JAA0J;AAAA;AAAA,EACpK;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YAnNvB,IAmNqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,wBAAwB,SAAS;AAAA,OAC3C,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,kNAAiN;AAAA;AAAA,EAC3N;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YAjOvB,IAiOqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,gQAA+P;AAAA;AAAA,EACzQ;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA/OrB,IA+OmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,uSAAsS;AAAA;AAAA,EAChT;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YA7PvB,IA6PqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,mcAAkc;AAAA;AAAA,EAC5c;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YA3QpB,IA2QkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,4MAA2M;AAAA;AAAA,EACrN;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YAzRvB,IAyRqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,0IAAyI;AAAA;AAAA,EACnJ;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YAvSpB,IAuSkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,6WAA4W;AAAA;AAAA,EACtX;AAEJ;AAEA,SAAS,QAAQ,IAAsD;AAAtD,eAAE,YArTnB,IAqTiB,IAAgB,kBAAhB,IAAgB,CAAd;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,kkBAAikB;AAAA;AAAA,EAC3kB;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YAnUpB,IAmUkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,oLAAmL;AAAA;AAAA,EAC7L;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YAjVrB,IAiVmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,sHAAqH;AAAA;AAAA,EAC/H;AAEJ;AAEA,SAAS,aAAa,IAAsD;AAAtD,eAAE,YA/VxB,IA+VsB,IAAgB,kBAAhB,IAAgB,CAAd;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,sOAAqO;AAAA;AAAA,EAC/O;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA7WrB,IA6WmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,4LAA2L;AAAA;AAAA,EACrM;AAEJ;AAEA,SAAS,SAAS,IAAsD;AAAtD,eAAE,YA3XpB,IA2XkB,IAAgB,kBAAhB,IAAgB,CAAd;AAClB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAO;AAAA,MACP,WAAW,GAAG,WAAW,SAAS;AAAA,OAC9B,QAPL;AAAA,MASC;AAAA,QAAC;AAAA;AAAA,UACC,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,GAAE;AAAA;AAAA,MACJ;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA/YrB,IA+YmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,MAClC,SAAQ;AAAA,OACJ,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,yZAAwZ;AAAA;AAAA,EACla;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA7ZrB,IA6ZmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,MAClC,SAAQ;AAAA,OACJ,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,qZAAoZ;AAAA;AAAA,EAC9Z;AAEJ;AAEA,SAAS,iBAAiB,IAAsD;AAAtD,eAAE,YA3a5B,IA2a0B,IAAgB,kBAAhB,IAAgB,CAAd;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,MAClC,SAAQ;AAAA,OACJ,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,uPAAsP;AAAA;AAAA,EAChQ;AAEJ;AAEA,SAAS,kBAAkB,IAAsD;AAAtD,eAAE,YAzb7B,IAyb2B,IAAgB,kBAAhB,IAAgB,CAAd;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,MAAK;AAAA,MACL,WAAW,GAAG,WAAW,SAAS;AAAA,MAClC,SAAQ;AAAA,OACJ,QALL;AAAA,MAOC,8BAAC,UAAK,GAAE,iPAAgP;AAAA;AAAA,EAC1P;AAEJ;","names":[]}