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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/.turbo/turbo-build.log +89 -86
  2. package/CHANGELOG.md +87 -0
  3. package/dist/components/chat-components/chat-list.mjs +488 -12
  4. package/dist/components/chat-components/chat-list.mjs.map +1 -1
  5. package/dist/components/chat-components/chat-message-actions.mjs +184 -7
  6. package/dist/components/chat-components/chat-message-actions.mjs.map +1 -1
  7. package/dist/components/chat-components/chat-message.mjs +440 -10
  8. package/dist/components/chat-components/chat-message.mjs.map +1 -1
  9. package/dist/components/chat-components/chat-panel.mjs +334 -9
  10. package/dist/components/chat-components/chat-panel.mjs.map +1 -1
  11. package/dist/components/chat-components/chat-scroll-anchor.mjs +48 -4
  12. package/dist/components/chat-components/chat-scroll-anchor.mjs.map +1 -1
  13. package/dist/components/chat-components/clear-history.mjs +268 -26
  14. package/dist/components/chat-components/clear-history.mjs.map +1 -1
  15. package/dist/components/chat-components/copilot-chat.mjs +931 -21
  16. package/dist/components/chat-components/copilot-chat.mjs.map +1 -1
  17. package/dist/components/chat-components/default-empty-screen.mjs +206 -7
  18. package/dist/components/chat-components/default-empty-screen.mjs.map +1 -1
  19. package/dist/components/chat-components/external-link.mjs +31 -3
  20. package/dist/components/chat-components/external-link.mjs.map +1 -1
  21. package/dist/components/chat-components/markdown.mjs +10 -3
  22. package/dist/components/chat-components/markdown.mjs.map +1 -1
  23. package/dist/components/chat-components/prompt-form.mjs +246 -8
  24. package/dist/components/chat-components/prompt-form.mjs.map +1 -1
  25. package/dist/components/chat-components/theme-toggle.mjs +133 -15
  26. package/dist/components/chat-components/theme-toggle.mjs.map +1 -1
  27. package/dist/components/chat-components/toaster.mjs +6 -3
  28. package/dist/components/chat-components/toaster.mjs.map +1 -1
  29. package/dist/components/chat-components/ui/alert-dialog.mjs +216 -5
  30. package/dist/components/chat-components/ui/alert-dialog.mjs.map +1 -1
  31. package/dist/components/chat-components/ui/badge.mjs +49 -7
  32. package/dist/components/chat-components/ui/badge.mjs.map +1 -1
  33. package/dist/components/chat-components/ui/button.mjs +88 -4
  34. package/dist/components/chat-components/ui/button.mjs.map +1 -1
  35. package/dist/components/chat-components/ui/codeblock.mjs +298 -7
  36. package/dist/components/chat-components/ui/codeblock.mjs.map +1 -1
  37. package/dist/components/chat-components/ui/dialog.mjs +94 -26
  38. package/dist/components/chat-components/ui/dialog.mjs.map +1 -1
  39. package/dist/components/chat-components/ui/dropdown-menu.mjs +61 -8
  40. package/dist/components/chat-components/ui/dropdown-menu.mjs.map +1 -1
  41. package/dist/components/chat-components/ui/icons.mjs +551 -4
  42. package/dist/components/chat-components/ui/icons.mjs.map +1 -1
  43. package/dist/components/chat-components/ui/input.mjs +48 -7
  44. package/dist/components/chat-components/ui/input.mjs.map +1 -1
  45. package/dist/components/chat-components/ui/label.mjs +51 -9
  46. package/dist/components/chat-components/ui/label.mjs.map +1 -1
  47. package/dist/components/chat-components/ui/select.mjs +113 -27
  48. package/dist/components/chat-components/ui/select.mjs.map +1 -1
  49. package/dist/components/chat-components/ui/separator.mjs +67 -4
  50. package/dist/components/chat-components/ui/separator.mjs.map +1 -1
  51. package/dist/components/chat-components/ui/sheet.mjs +93 -24
  52. package/dist/components/chat-components/ui/sheet.mjs.map +1 -1
  53. package/dist/components/chat-components/ui/switch.mjs +53 -8
  54. package/dist/components/chat-components/ui/switch.mjs.map +1 -1
  55. package/dist/components/chat-components/ui/textarea.mjs +48 -7
  56. package/dist/components/chat-components/ui/textarea.mjs.map +1 -1
  57. package/dist/components/chat-components/ui/tooltip.mjs +69 -4
  58. package/dist/components/chat-components/ui/tooltip.mjs.map +1 -1
  59. package/dist/components/index.mjs +1057 -25
  60. package/dist/components/index.mjs.map +1 -1
  61. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs +1052 -24
  62. package/dist/components/sidebar/copilot-sidebar-ui-provider.mjs.map +1 -1
  63. package/dist/components/sidebar/copilot-sidebar.mjs +974 -22
  64. package/dist/components/sidebar/copilot-sidebar.mjs.map +1 -1
  65. package/dist/components/sidebar/sidebar-context.mjs +10 -3
  66. package/dist/components/sidebar/sidebar-context.mjs.map +1 -1
  67. package/dist/context/index.mjs +0 -2
  68. package/dist/context/index.mjs.map +1 -1
  69. package/dist/hooks/index.mjs +0 -2
  70. package/dist/hooks/index.mjs.map +1 -1
  71. package/dist/hooks/use-at-bottom.mjs +21 -3
  72. package/dist/hooks/use-at-bottom.mjs.map +1 -1
  73. package/dist/hooks/use-copy-to-clipboard.mjs +27 -3
  74. package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
  75. package/dist/hooks/use-enter-submit.mjs +16 -3
  76. package/dist/hooks/use-enter-submit.mjs.map +1 -1
  77. package/dist/index.mjs +1057 -28
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/lib/utils.mjs +62 -3
  80. package/dist/lib/utils.mjs.map +1 -1
  81. package/dist/lib/utils.test.mjs +0 -1
  82. package/dist/lib/utils.test.mjs.map +1 -1
  83. package/dist/types/index.mjs +0 -2
  84. package/dist/types/index.mjs.map +1 -1
  85. package/dist/types/types.mjs +0 -2
  86. package/dist/types/types.mjs.map +1 -1
  87. package/package.json +8 -7
  88. package/src/components/chat-components/prompt-form.tsx +3 -3
  89. package/src/components/chat-components/ui/codeblock.tsx +0 -2
  90. package/dist/chunk-6LAC5RA2.mjs +0 -28
  91. package/dist/chunk-6LAC5RA2.mjs.map +0 -1
  92. package/dist/chunk-6LRNF2VU.mjs +0 -12
  93. package/dist/chunk-6LRNF2VU.mjs.map +0 -1
  94. package/dist/chunk-6UJWRTL6.mjs +0 -45
  95. package/dist/chunk-6UJWRTL6.mjs.map +0 -1
  96. package/dist/chunk-752MT4QP.mjs +0 -72
  97. package/dist/chunk-752MT4QP.mjs.map +0 -1
  98. package/dist/chunk-7NSRDJ5C.mjs +0 -3
  99. package/dist/chunk-7NSRDJ5C.mjs.map +0 -1
  100. package/dist/chunk-BHJWB2SA.mjs +0 -48
  101. package/dist/chunk-BHJWB2SA.mjs.map +0 -1
  102. package/dist/chunk-BIPCPNHG.mjs +0 -18
  103. package/dist/chunk-BIPCPNHG.mjs.map +0 -1
  104. package/dist/chunk-BS6RR2DJ.mjs +0 -25
  105. package/dist/chunk-BS6RR2DJ.mjs.map +0 -1
  106. package/dist/chunk-DHK56U5Z.mjs +0 -106
  107. package/dist/chunk-DHK56U5Z.mjs.map +0 -1
  108. package/dist/chunk-DOMJCSI6.mjs +0 -26
  109. package/dist/chunk-DOMJCSI6.mjs.map +0 -1
  110. package/dist/chunk-H4VKQGVU.mjs +0 -3
  111. package/dist/chunk-H4VKQGVU.mjs.map +0 -1
  112. package/dist/chunk-I2AB5FK4.mjs +0 -123
  113. package/dist/chunk-I2AB5FK4.mjs.map +0 -1
  114. package/dist/chunk-IU3WTXLQ.mjs +0 -3
  115. package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
  116. package/dist/chunk-JUGCIZPN.mjs +0 -69
  117. package/dist/chunk-JUGCIZPN.mjs.map +0 -1
  118. package/dist/chunk-JUPNM7ZR.mjs +0 -75
  119. package/dist/chunk-JUPNM7ZR.mjs.map +0 -1
  120. package/dist/chunk-KR7MH7XO.mjs +0 -481
  121. package/dist/chunk-KR7MH7XO.mjs.map +0 -1
  122. package/dist/chunk-KXJV37FS.mjs +0 -33
  123. package/dist/chunk-KXJV37FS.mjs.map +0 -1
  124. package/dist/chunk-MC6KTH4X.mjs +0 -12
  125. package/dist/chunk-MC6KTH4X.mjs.map +0 -1
  126. package/dist/chunk-MRXNTQOX.mjs +0 -55
  127. package/dist/chunk-MRXNTQOX.mjs.map +0 -1
  128. package/dist/chunk-N7KB3Z57.mjs +0 -23
  129. package/dist/chunk-N7KB3Z57.mjs.map +0 -1
  130. package/dist/chunk-RSONJDLO.mjs +0 -28
  131. package/dist/chunk-RSONJDLO.mjs.map +0 -1
  132. package/dist/chunk-RVWZKSLL.mjs +0 -29
  133. package/dist/chunk-RVWZKSLL.mjs.map +0 -1
  134. package/dist/chunk-TVTG3V4F.mjs +0 -40
  135. package/dist/chunk-TVTG3V4F.mjs.map +0 -1
  136. package/dist/chunk-U6NJWGTV.mjs +0 -3
  137. package/dist/chunk-U6NJWGTV.mjs.map +0 -1
  138. package/dist/chunk-V6QYUEJR.mjs +0 -47
  139. package/dist/chunk-V6QYUEJR.mjs.map +0 -1
  140. package/dist/chunk-VQNV2DHJ.mjs +0 -142
  141. package/dist/chunk-VQNV2DHJ.mjs.map +0 -1
  142. package/dist/chunk-VSNDSL6W.mjs +0 -74
  143. package/dist/chunk-VSNDSL6W.mjs.map +0 -1
  144. package/dist/chunk-ZAS4O7XI.mjs +0 -53
  145. package/dist/chunk-ZAS4O7XI.mjs.map +0 -1
@@ -1,5 +1,552 @@
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-KR7MH7XO.mjs';
2
- import '../../../chunk-TVTG3V4F.mjs';
3
- import '../../../chunk-MRXNTQOX.mjs';
4
- //# sourceMappingURL=out.js.map
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+
33
+ // src/components/chat-components/ui/icons.tsx
34
+ import * as React from "react";
35
+
36
+ // src/lib/utils.ts
37
+ import { clsx } from "clsx";
38
+ import { customAlphabet } from "nanoid";
39
+ import { twMerge } from "tailwind-merge";
40
+ function cn(...inputs) {
41
+ return twMerge(clsx(inputs));
42
+ }
43
+ var nanoid = customAlphabet(
44
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
45
+ 7
46
+ );
47
+
48
+ // src/components/chat-components/ui/icons.tsx
49
+ import { jsx, jsxs } from "react/jsx-runtime";
50
+ "use client";
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("svg", __spreadProps(__spreadValues({
61
+ viewBox: "0 0 17 17",
62
+ fill: "none",
63
+ xmlns: "http://www.w3.org/2000/svg",
64
+ className: cn("h-4 w-4", className)
65
+ }, props), {
66
+ children: [
67
+ /* @__PURE__ */ jsxs("defs", {
68
+ children: [
69
+ /* @__PURE__ */ jsxs("linearGradient", {
70
+ id: `gradient-${id}-1`,
71
+ x1: "10.6889",
72
+ y1: "10.3556",
73
+ x2: "13.8445",
74
+ y2: "14.2667",
75
+ gradientUnits: "userSpaceOnUse",
76
+ children: [
77
+ /* @__PURE__ */ jsx("stop", {
78
+ stopColor: inverted ? "white" : "black"
79
+ }),
80
+ /* @__PURE__ */ jsx("stop", {
81
+ offset: 1,
82
+ stopColor: inverted ? "white" : "black",
83
+ stopOpacity: 0
84
+ })
85
+ ]
86
+ }),
87
+ /* @__PURE__ */ jsxs("linearGradient", {
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", {
96
+ stopColor: inverted ? "white" : "black"
97
+ }),
98
+ /* @__PURE__ */ jsx("stop", {
99
+ offset: 1,
100
+ stopColor: inverted ? "white" : "black",
101
+ stopOpacity: 0
102
+ })
103
+ ]
104
+ })
105
+ ]
106
+ }),
107
+ /* @__PURE__ */ jsx("path", {
108
+ 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",
109
+ fill: inverted ? "black" : "white",
110
+ stroke: inverted ? "black" : "white",
111
+ strokeWidth: 2,
112
+ strokeLinecap: "round",
113
+ strokeLinejoin: "round"
114
+ }),
115
+ /* @__PURE__ */ jsx("mask", {
116
+ id: "mask0_91_2047",
117
+ style: { maskType: "alpha" },
118
+ maskUnits: "userSpaceOnUse",
119
+ x: 1,
120
+ y: 0,
121
+ width: 16,
122
+ height: 16,
123
+ children: /* @__PURE__ */ jsx("circle", {
124
+ cx: 9,
125
+ cy: 8,
126
+ r: 8,
127
+ fill: inverted ? "black" : "white"
128
+ })
129
+ }),
130
+ /* @__PURE__ */ jsxs("g", {
131
+ mask: "url(#mask0_91_2047)",
132
+ children: [
133
+ /* @__PURE__ */ jsx("circle", {
134
+ cx: 9,
135
+ cy: 8,
136
+ r: 8,
137
+ fill: inverted ? "black" : "white"
138
+ }),
139
+ /* @__PURE__ */ jsx("path", {
140
+ 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",
141
+ fill: `url(#gradient-${id}-1)`
142
+ }),
143
+ /* @__PURE__ */ jsx("rect", {
144
+ x: "11.2222",
145
+ y: "4.8",
146
+ width: "1.06667",
147
+ height: "6.4",
148
+ fill: `url(#gradient-${id}-2)`
149
+ })
150
+ ]
151
+ })
152
+ ]
153
+ }));
154
+ }
155
+ function IconOpenAI(_a) {
156
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
157
+ return /* @__PURE__ */ jsxs("svg", __spreadProps(__spreadValues({
158
+ fill: "currentColor",
159
+ viewBox: "0 0 24 24",
160
+ role: "img",
161
+ xmlns: "http://www.w3.org/2000/svg",
162
+ className: cn("h-4 w-4", className)
163
+ }, props), {
164
+ children: [
165
+ /* @__PURE__ */ jsx("title", {
166
+ children: "OpenAI icon"
167
+ }),
168
+ /* @__PURE__ */ jsx("path", {
169
+ 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"
170
+ })
171
+ ]
172
+ }));
173
+ }
174
+ function IconVercel(_a) {
175
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
176
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
177
+ "aria-label": "Vercel logomark",
178
+ role: "img",
179
+ viewBox: "0 0 74 64",
180
+ className: cn("h-4 w-4", className)
181
+ }, props), {
182
+ children: /* @__PURE__ */ jsx("path", {
183
+ d: "M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z",
184
+ fill: "currentColor"
185
+ })
186
+ }));
187
+ }
188
+ function IconGitHub(_a) {
189
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
190
+ return /* @__PURE__ */ jsxs("svg", __spreadProps(__spreadValues({
191
+ role: "img",
192
+ viewBox: "0 0 24 24",
193
+ xmlns: "http://www.w3.org/2000/svg",
194
+ fill: "currentColor",
195
+ className: cn("h-4 w-4", className)
196
+ }, props), {
197
+ children: [
198
+ /* @__PURE__ */ jsx("title", {
199
+ children: "GitHub"
200
+ }),
201
+ /* @__PURE__ */ jsx("path", {
202
+ 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"
203
+ })
204
+ ]
205
+ }));
206
+ }
207
+ function IconSeparator(_a) {
208
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
209
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
210
+ fill: "none",
211
+ shapeRendering: "geometricPrecision",
212
+ stroke: "currentColor",
213
+ strokeLinecap: "round",
214
+ strokeLinejoin: "round",
215
+ strokeWidth: "1",
216
+ viewBox: "0 0 24 24",
217
+ "aria-hidden": "true",
218
+ className: cn("h-4 w-4", className)
219
+ }, props), {
220
+ children: /* @__PURE__ */ jsx("path", {
221
+ d: "M16.88 3.549L7.12 20.451"
222
+ })
223
+ }));
224
+ }
225
+ function IconArrowDown(_a) {
226
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
227
+ return /* @__PURE__ */ jsx("svg", __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", {
234
+ 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"
235
+ })
236
+ }));
237
+ }
238
+ function IconArrowRight(_a) {
239
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
240
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
241
+ xmlns: "http://www.w3.org/2000/svg",
242
+ viewBox: "0 0 256 256",
243
+ fill: "currentColor",
244
+ className: cn("h-4 w-4", className)
245
+ }, props), {
246
+ children: /* @__PURE__ */ jsx("path", {
247
+ 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"
248
+ })
249
+ }));
250
+ }
251
+ function IconUser(_a) {
252
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
253
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
254
+ xmlns: "http://www.w3.org/2000/svg",
255
+ viewBox: "0 0 256 256",
256
+ fill: "currentColor",
257
+ className: cn("h-4 w-4", className)
258
+ }, props), {
259
+ children: /* @__PURE__ */ jsx("path", {
260
+ 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"
261
+ })
262
+ }));
263
+ }
264
+ function IconPlus(_a) {
265
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
266
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
267
+ xmlns: "http://www.w3.org/2000/svg",
268
+ viewBox: "0 0 256 256",
269
+ fill: "currentColor",
270
+ className: cn("h-4 w-4", className)
271
+ }, props), {
272
+ children: /* @__PURE__ */ jsx("path", {
273
+ 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"
274
+ })
275
+ }));
276
+ }
277
+ function IconArrowElbow(_a) {
278
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
279
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
280
+ xmlns: "http://www.w3.org/2000/svg",
281
+ viewBox: "0 0 256 256",
282
+ fill: "currentColor",
283
+ className: cn("h-4 w-4", className)
284
+ }, props), {
285
+ children: /* @__PURE__ */ jsx("path", {
286
+ 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"
287
+ })
288
+ }));
289
+ }
290
+ function IconSpinner(_a) {
291
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
292
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
293
+ xmlns: "http://www.w3.org/2000/svg",
294
+ viewBox: "0 0 256 256",
295
+ fill: "currentColor",
296
+ className: cn("h-4 w-4 animate-spin", className)
297
+ }, props), {
298
+ children: /* @__PURE__ */ jsx("path", {
299
+ 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"
300
+ })
301
+ }));
302
+ }
303
+ function IconMessage(_a) {
304
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
305
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
306
+ xmlns: "http://www.w3.org/2000/svg",
307
+ viewBox: "0 0 256 256",
308
+ fill: "currentColor",
309
+ className: cn("h-4 w-4", className)
310
+ }, props), {
311
+ children: /* @__PURE__ */ jsx("path", {
312
+ 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"
313
+ })
314
+ }));
315
+ }
316
+ function IconTrash(_a) {
317
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
318
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
319
+ xmlns: "http://www.w3.org/2000/svg",
320
+ viewBox: "0 0 256 256",
321
+ fill: "currentColor",
322
+ className: cn("h-4 w-4", className)
323
+ }, props), {
324
+ children: /* @__PURE__ */ jsx("path", {
325
+ 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"
326
+ })
327
+ }));
328
+ }
329
+ function IconRefresh(_a) {
330
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
331
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
332
+ xmlns: "http://www.w3.org/2000/svg",
333
+ viewBox: "0 0 256 256",
334
+ fill: "currentColor",
335
+ className: cn("h-4 w-4", className)
336
+ }, props), {
337
+ children: /* @__PURE__ */ jsx("path", {
338
+ 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"
339
+ })
340
+ }));
341
+ }
342
+ function IconStop(_a) {
343
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
344
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
345
+ xmlns: "http://www.w3.org/2000/svg",
346
+ viewBox: "0 0 256 256",
347
+ fill: "currentColor",
348
+ className: cn("h-4 w-4", className)
349
+ }, props), {
350
+ children: /* @__PURE__ */ jsx("path", {
351
+ 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"
352
+ })
353
+ }));
354
+ }
355
+ function IconSidebar(_a) {
356
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
357
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
358
+ xmlns: "http://www.w3.org/2000/svg",
359
+ viewBox: "0 0 256 256",
360
+ fill: "currentColor",
361
+ className: cn("h-4 w-4", className)
362
+ }, props), {
363
+ children: /* @__PURE__ */ jsx("path", {
364
+ 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"
365
+ })
366
+ }));
367
+ }
368
+ function IconMoon(_a) {
369
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
370
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
371
+ xmlns: "http://www.w3.org/2000/svg",
372
+ viewBox: "0 0 256 256",
373
+ fill: "currentColor",
374
+ className: cn("h-4 w-4", className)
375
+ }, props), {
376
+ children: /* @__PURE__ */ jsx("path", {
377
+ 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"
378
+ })
379
+ }));
380
+ }
381
+ function IconSun(_a) {
382
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
383
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
384
+ xmlns: "http://www.w3.org/2000/svg",
385
+ viewBox: "0 0 256 256",
386
+ fill: "currentColor",
387
+ className: cn("h-4 w-4", className)
388
+ }, props), {
389
+ children: /* @__PURE__ */ jsx("path", {
390
+ 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"
391
+ })
392
+ }));
393
+ }
394
+ function IconCopy(_a) {
395
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
396
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
397
+ xmlns: "http://www.w3.org/2000/svg",
398
+ viewBox: "0 0 256 256",
399
+ fill: "currentColor",
400
+ className: cn("h-4 w-4", className)
401
+ }, props), {
402
+ children: /* @__PURE__ */ jsx("path", {
403
+ 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"
404
+ })
405
+ }));
406
+ }
407
+ function IconCheck(_a) {
408
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
409
+ return /* @__PURE__ */ jsx("svg", __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", {
416
+ 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"
417
+ })
418
+ }));
419
+ }
420
+ function IconDownload(_a) {
421
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
422
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
423
+ xmlns: "http://www.w3.org/2000/svg",
424
+ viewBox: "0 0 256 256",
425
+ fill: "currentColor",
426
+ className: cn("h-4 w-4", className)
427
+ }, props), {
428
+ children: /* @__PURE__ */ jsx("path", {
429
+ 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("svg", __spreadProps(__spreadValues({
436
+ xmlns: "http://www.w3.org/2000/svg",
437
+ viewBox: "0 0 256 256",
438
+ fill: "currentColor",
439
+ className: cn("h-4 w-4", className)
440
+ }, props), {
441
+ children: /* @__PURE__ */ jsx("path", {
442
+ 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"
443
+ })
444
+ }));
445
+ }
446
+ function IconEdit(_a) {
447
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
448
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
449
+ xmlns: "http://www.w3.org/2000/svg",
450
+ fill: "none",
451
+ viewBox: "0 0 24 24",
452
+ strokeWidth: 1.5,
453
+ stroke: "currentColor",
454
+ className: cn("h-4 w-4", className)
455
+ }, props), {
456
+ children: /* @__PURE__ */ jsx("path", {
457
+ strokeLinecap: "round",
458
+ strokeLinejoin: "round",
459
+ 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"
460
+ })
461
+ }));
462
+ }
463
+ function IconShare(_a) {
464
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
465
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
466
+ xmlns: "http://www.w3.org/2000/svg",
467
+ fill: "currentColor",
468
+ className: cn("h-4 w-4", className),
469
+ viewBox: "0 0 256 256"
470
+ }, props), {
471
+ children: /* @__PURE__ */ jsx("path", {
472
+ 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"
473
+ })
474
+ }));
475
+ }
476
+ function IconUsers(_a) {
477
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
478
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
479
+ xmlns: "http://www.w3.org/2000/svg",
480
+ fill: "currentColor",
481
+ className: cn("h-4 w-4", className),
482
+ viewBox: "0 0 256 256"
483
+ }, props), {
484
+ children: /* @__PURE__ */ jsx("path", {
485
+ 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"
486
+ })
487
+ }));
488
+ }
489
+ function IconExternalLink(_a) {
490
+ var _b = _a, {
491
+ className
492
+ } = _b, props = __objRest(_b, [
493
+ "className"
494
+ ]);
495
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
496
+ xmlns: "http://www.w3.org/2000/svg",
497
+ fill: "currentColor",
498
+ className: cn("h-4 w-4", className),
499
+ viewBox: "0 0 256 256"
500
+ }, props), {
501
+ children: /* @__PURE__ */ jsx("path", {
502
+ 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"
503
+ })
504
+ }));
505
+ }
506
+ function IconChevronUpDown(_a) {
507
+ var _b = _a, {
508
+ className
509
+ } = _b, props = __objRest(_b, [
510
+ "className"
511
+ ]);
512
+ return /* @__PURE__ */ jsx("svg", __spreadProps(__spreadValues({
513
+ xmlns: "http://www.w3.org/2000/svg",
514
+ fill: "currentColor",
515
+ className: cn("h-4 w-4", className),
516
+ viewBox: "0 0 256 256"
517
+ }, props), {
518
+ children: /* @__PURE__ */ jsx("path", {
519
+ 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"
520
+ })
521
+ }));
522
+ }
523
+ export {
524
+ IconArrowDown,
525
+ IconArrowElbow,
526
+ IconArrowRight,
527
+ IconCheck,
528
+ IconChevronUpDown,
529
+ IconClose,
530
+ IconCopy,
531
+ IconDownload,
532
+ IconEdit,
533
+ IconExternalLink,
534
+ IconGitHub,
535
+ IconMessage,
536
+ IconMoon,
537
+ IconNextChat,
538
+ IconOpenAI,
539
+ IconPlus,
540
+ IconRefresh,
541
+ IconSeparator,
542
+ IconShare,
543
+ IconSidebar,
544
+ IconSpinner,
545
+ IconStop,
546
+ IconSun,
547
+ IconTrash,
548
+ IconUser,
549
+ IconUsers,
550
+ IconVercel
551
+ };
5
552
  //# 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\n offset={1}\n stopColor={inverted ? \"white\" : \"black\"}\n stopOpacity={0}\n />\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\n offset={1}\n stopColor={inverted ? \"white\" : \"black\"}\n stopOpacity={0}\n />\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\n x=\"11.2222\"\n y=\"4.8\"\n width=\"1.06667\"\n height=\"6.4\"\n fill={`url(#gradient-${id}-2)`}\n />\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\n d=\"M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z\"\n fill=\"currentColor\"\n ></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({\n className,\n ...props\n}: 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({\n className,\n ...props\n}: 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>(\n input: RequestInfo,\n init?: RequestInit\n): 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":"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","names":[]}