664 lines
27 KiB
TypeScript
664 lines
27 KiB
TypeScript
'use client'
|
|
|
|
import * as React from 'react'
|
|
|
|
import { cn } from '@/lib/utils'
|
|
function IconHome({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
width="15"
|
|
height="15"
|
|
viewBox="0 0 15 15"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
>
|
|
<path
|
|
d="M7.07926 0.222253C7.31275 -0.007434 7.6873 -0.007434 7.92079 0.222253L14.6708 6.86227C14.907 7.09465 14.9101 7.47453 14.6778 7.71076C14.4454 7.947 14.0655 7.95012 13.8293 7.71773L13 6.90201V12.5C13 12.7761 12.7762 13 12.5 13H2.50002C2.22388 13 2.00002 12.7761 2.00002 12.5V6.90201L1.17079 7.71773C0.934558 7.95012 0.554672 7.947 0.32229 7.71076C0.0899079 7.47453 0.0930283 7.09465 0.32926 6.86227L7.07926 0.222253ZM7.50002 1.49163L12 5.91831V12H10V8.49999C10 8.22385 9.77617 7.99999 9.50002 7.99999H6.50002C6.22388 7.99999 6.00002 8.22385 6.00002 8.49999V12H3.00002V5.91831L7.50002 1.49163ZM7.00002 12H9.00002V8.99999H7.00002V12Z"
|
|
fill="currentColor"
|
|
fillRule="evenodd"
|
|
clipRule="evenodd"
|
|
></path>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconClear({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
width="15"
|
|
height="15"
|
|
viewBox="0 0 15 15"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
>
|
|
<path
|
|
d="M5.5 1C5.22386 1 5 1.22386 5 1.5C5 1.77614 5.22386 2 5.5 2H9.5C9.77614 2 10 1.77614 10 1.5C10 1.22386 9.77614 1 9.5 1H5.5ZM3 3.5C3 3.22386 3.22386 3 3.5 3H5H10H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H11V12C11 12.5523 10.5523 13 10 13H5C4.44772 13 4 12.5523 4 12V4L3.5 4C3.22386 4 3 3.77614 3 3.5ZM5 4H10V12H5V4Z"
|
|
fill="currentColor"
|
|
fillRule="evenodd"
|
|
clipRule="evenodd"
|
|
></path>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconNextChat({
|
|
className,
|
|
inverted,
|
|
...props
|
|
}: React.ComponentProps<'svg'> & { inverted?: boolean }) {
|
|
const id = React.useId()
|
|
|
|
return (
|
|
<svg
|
|
viewBox="0 0 17 17"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<defs>
|
|
<linearGradient
|
|
id={`gradient-${id}-1`}
|
|
x1="10.6889"
|
|
y1="10.3556"
|
|
x2="13.8445"
|
|
y2="14.2667"
|
|
gradientUnits="userSpaceOnUse"
|
|
>
|
|
<stop stopColor={inverted ? 'white' : 'black'} />
|
|
<stop
|
|
offset={1}
|
|
stopColor={inverted ? 'white' : 'black'}
|
|
stopOpacity={0}
|
|
/>
|
|
</linearGradient>
|
|
<linearGradient
|
|
id={`gradient-${id}-2`}
|
|
x1="11.7555"
|
|
y1="4.8"
|
|
x2="11.7376"
|
|
y2="9.50002"
|
|
gradientUnits="userSpaceOnUse"
|
|
>
|
|
<stop stopColor={inverted ? 'white' : 'black'} />
|
|
<stop
|
|
offset={1}
|
|
stopColor={inverted ? 'white' : 'black'}
|
|
stopOpacity={0}
|
|
/>
|
|
</linearGradient>
|
|
</defs>
|
|
<path
|
|
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"
|
|
fill={inverted ? 'black' : 'white'}
|
|
stroke={inverted ? 'black' : 'white'}
|
|
strokeWidth={2}
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
/>
|
|
<mask
|
|
id="mask0_91_2047"
|
|
style={{ maskType: 'alpha' }}
|
|
maskUnits="userSpaceOnUse"
|
|
x={1}
|
|
y={0}
|
|
width={16}
|
|
height={16}
|
|
>
|
|
<circle cx={9} cy={8} r={8} fill={inverted ? 'black' : 'white'} />
|
|
</mask>
|
|
<g mask="url(#mask0_91_2047)">
|
|
<circle cx={9} cy={8} r={8} fill={inverted ? 'black' : 'white'} />
|
|
<path
|
|
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"
|
|
fill={`url(#gradient-${id}-1)`}
|
|
/>
|
|
<rect
|
|
x="11.2222"
|
|
y="4.8"
|
|
width="1.06667"
|
|
height="6.4"
|
|
fill={`url(#gradient-${id}-2)`}
|
|
/>
|
|
</g>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconOpenAI({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
fill="currentColor"
|
|
viewBox="0 0 24 24"
|
|
role="img"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<title>OpenAI icon</title>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconF({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
fill="currentColor"
|
|
viewBox="0 0 24 24"
|
|
role="img"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<title>F icon</title>
|
|
<path d="M4 4h8v2h-6v6h6v2h-6v6h-2v-16z" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconVercel({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
aria-label="Vercel logomark"
|
|
role="img"
|
|
viewBox="0 0 74 64"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<path
|
|
d="M37.5896 0.25L74.5396 64.25H0.639648L37.5896 0.25Z"
|
|
fill="currentColor"
|
|
></path>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconTwitter({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
width="15"
|
|
height="15"
|
|
viewBox="0 0 15 15"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
>
|
|
<path
|
|
d="M7.23336 4.69629C7.23336 2.96884 8.63335 1.56857 10.36 1.56857C11.3736 1.56857 12.183 2.04804 12.7254 2.74385C13.3079 2.62467 13.8557 2.40913 14.3513 2.11508C14.1559 2.72598 13.7424 3.2396 13.2033 3.56463C13.2038 3.56568 13.2042 3.56674 13.2047 3.56779C13.7334 3.50361 14.2364 3.36302 14.7048 3.15546L14.7037 3.15715C14.3667 3.66183 13.9431 4.10736 13.4561 4.47034C13.4823 4.64672 13.4956 4.82427 13.4956 5.00079C13.4956 8.6871 10.6873 12.9746 5.52122 12.9746C3.93906 12.9746 2.46544 12.511 1.22505 11.7152C0.992632 11.5661 0.925108 11.2568 1.07423 11.0244C1.0874 11.0038 1.10183 10.9846 1.11734 10.9666C1.20582 10.8202 1.37438 10.7309 1.5554 10.7522C2.47066 10.8601 3.38568 10.7485 4.19219 10.3962C3.39226 10.0434 2.77129 9.35975 2.50204 8.51974C2.45359 8.3686 2.48835 8.20311 2.59351 8.08422C2.59716 8.0801 2.60087 8.07606 2.60464 8.0721C1.96391 7.50819 1.55973 6.68208 1.55973 5.76143V5.72759C1.55973 5.56814 1.64411 5.42059 1.78155 5.33974C1.82671 5.31317 1.87537 5.29511 1.92532 5.28558C1.70549 4.86154 1.58116 4.37984 1.58116 3.86958C1.58116 3.40165 1.58384 2.81192 1.91332 2.28081C1.98718 2.16175 2.10758 2.08915 2.2364 2.07195C2.42588 2.01237 2.64087 2.06969 2.77406 2.23302C3.86536 3.57126 5.44066 4.49583 7.23366 4.73961L7.23336 4.69629ZM5.52122 11.9746C4.73387 11.9746 3.97781 11.8435 3.27248 11.6023C4.13012 11.4538 4.95307 11.1159 5.66218 10.5602C5.81211 10.4427 5.87182 10.2435 5.81126 10.0629C5.7507 9.88234 5.583 9.75943 5.39255 9.75607C4.68968 9.74366 4.06712 9.39716 3.67793 8.86845C3.86828 8.85306 4.05428 8.82039 4.23445 8.77167C4.43603 8.71716 4.57363 8.53114 4.56674 8.32243C4.55985 8.11372 4.41029 7.93718 4.20555 7.89607C3.42694 7.73977 2.79883 7.16764 2.56169 6.42174C2.76255 6.47025 2.97102 6.4991 3.18482 6.5061C3.38563 6.51267 3.56646 6.38533 3.62795 6.19405C3.68943 6.00277 3.61666 5.79391 3.44963 5.68224C2.86523 5.29155 2.48116 4.62464 2.48116 3.86958C2.48116 3.70213 2.48352 3.55268 2.49355 3.41719C3.85115 4.79913 5.70873 5.68931 7.77588 5.79338C7.93225 5.80126 8.08328 5.73543 8.18395 5.61553C8.28463 5.49562 8.32332 5.33548 8.28851 5.18284C8.25255 5.02517 8.23336 4.86284 8.23336 4.69629C8.23336 3.52085 9.18591 2.56857 10.36 2.56857C11.5943 2.56857 12.4956 3.71208 12.4956 5.00079C12.4956 8.25709 10.0202 11.9746 5.52122 11.9746Z"
|
|
fill="currentColor"
|
|
fillRule="evenodd"
|
|
clipRule="evenodd"
|
|
></path>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconGitHub({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
role="img"
|
|
viewBox="0 0 24 24"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<title>GitHub</title>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
|
|
function IconGoogle({ className, ...props}: React.ComponentProps<'svg'>){
|
|
return (
|
|
<svg
|
|
role="img"
|
|
viewBox="0 0 48 48"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
|
|
<title>Google</title>
|
|
<path fill="#fbc02d" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12 s5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24s8.955,20,20,20 s20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#e53935" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039 l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4caf50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36 c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1565c0" d="M43.611,20.083L43.595,20L42,20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571 c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconTelegram({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
className={cn('h-4 w-4', className)}
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
version="1.1"
|
|
id="Capa_1"
|
|
viewBox="0 0 189.473 189.473"
|
|
{...props}
|
|
>
|
|
<g>
|
|
<path d="M152.531,179.476c-1.48,0-2.95-0.438-4.211-1.293l-47.641-32.316l-25.552,18.386c-2.004,1.441-4.587,1.804-6.914,0.972 c-2.324-0.834-4.089-2.759-4.719-5.146l-12.83-48.622L4.821,93.928c-2.886-1.104-4.8-3.865-4.821-6.955 c-0.021-3.09,1.855-5.877,4.727-7.02l174.312-69.36c0.791-0.336,1.628-0.53,2.472-0.582c0.302-0.018,0.605-0.018,0.906-0.001 c1.748,0.104,3.465,0.816,4.805,2.13c0.139,0.136,0.271,0.275,0.396,0.42c1.11,1.268,1.72,2.814,1.835,4.389 c0.028,0.396,0.026,0.797-0.009,1.198c-0.024,0.286-0.065,0.571-0.123,0.854L159.898,173.38c-0.473,2.48-2.161,4.556-4.493,5.523 C154.48,179.287,153.503,179.476,152.531,179.476z M104.862,130.579l42.437,28.785L170.193,39.24l-82.687,79.566l17.156,11.638 C104.731,130.487,104.797,130.533,104.862,130.579z M69.535,124.178l5.682,21.53l12.242-8.809l-16.03-10.874 C70.684,125.521,70.046,124.893,69.535,124.178z M28.136,86.782l31.478,12.035c2.255,0.862,3.957,2.758,4.573,5.092l3.992,15.129 c0.183-1.745,0.974-3.387,2.259-4.624L149.227,38.6L28.136,86.782z" />
|
|
</g>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconW3GPT({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
aria-label="Web3 GPT"
|
|
viewBox="-10 0 104 32"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className={cn('h-8 w-8 bg-[#242424]', className)}
|
|
{...props}
|
|
>
|
|
<rect width="36" height="8" fill="#ffffff" />
|
|
<rect x="36" y="16.0001" width="32" height="8" fill="#ffffff" />
|
|
<rect x="19.9999" y="32" width="32" height="8" fill="#ffffff" />
|
|
<rect x="48" width="36" height="8" fill="#ffffff" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconSeparator({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
fill="none"
|
|
shapeRendering="geometricPrecision"
|
|
stroke="currentColor"
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
strokeWidth="1"
|
|
viewBox="0 0 24 24"
|
|
aria-hidden="true"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<path d="M16.88 3.549L7.12 20.451"></path>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconArrowDown({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconArrowRight({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconUser({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<circle cx="128" cy="128" r="120" stroke="black" fill="none"/>
|
|
<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"/>
|
|
</svg>
|
|
|
|
)
|
|
}
|
|
|
|
function IconPlus({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconArrowElbow({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconSpinner({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4 animate-spin', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconMessage({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconTrash({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconRefresh({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconStop({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconCog({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
width="24"
|
|
height="24"
|
|
viewBox="0 0 24 24"
|
|
fill="none"
|
|
stroke="currentColor"
|
|
strokeWidth="2"
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" />
|
|
<circle cx="12" cy="12" r="3" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconSidebar({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconMoon({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconSun({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconCopy({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconCheck({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconDownload({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconClose({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 256 256"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconEdit({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="none"
|
|
viewBox="0 0 24 24"
|
|
strokeWidth={1.5}
|
|
stroke="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
{...props}
|
|
>
|
|
<path
|
|
strokeLinecap="round"
|
|
strokeLinejoin="round"
|
|
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"
|
|
/>
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconShare({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
viewBox="0 0 256 256"
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconUsers({ className, ...props }: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
viewBox="0 0 256 256"
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconExternalLink({
|
|
className,
|
|
...props
|
|
}: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
viewBox="0 0 256 256"
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
function IconChevronUpDown({
|
|
className,
|
|
...props
|
|
}: React.ComponentProps<'svg'>) {
|
|
return (
|
|
<svg
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
fill="currentColor"
|
|
className={cn('h-4 w-4', className)}
|
|
viewBox="0 0 256 256"
|
|
{...props}
|
|
>
|
|
<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" />
|
|
</svg>
|
|
)
|
|
}
|
|
|
|
export {
|
|
IconEdit,
|
|
IconNextChat,
|
|
IconF,
|
|
IconOpenAI,
|
|
IconVercel,
|
|
IconGitHub,
|
|
IconGoogle,
|
|
IconTelegram,
|
|
IconTwitter,
|
|
IconSeparator,
|
|
IconArrowDown,
|
|
IconArrowRight,
|
|
IconUser,
|
|
IconPlus,
|
|
IconArrowElbow,
|
|
IconSpinner,
|
|
IconMessage,
|
|
IconTrash,
|
|
IconRefresh,
|
|
IconStop,
|
|
IconSidebar,
|
|
IconHome,
|
|
IconMoon,
|
|
IconSun,
|
|
IconCopy,
|
|
IconCheck,
|
|
IconDownload,
|
|
IconClose,
|
|
IconShare,
|
|
IconUsers,
|
|
IconExternalLink,
|
|
IconChevronUpDown,
|
|
IconClear,
|
|
IconCog,
|
|
IconW3GPT
|
|
}
|