|
import React from 'react'; |
|
|
|
interface IconProps { |
|
className?: string; |
|
} |
|
|
|
const EmbeddingIcon: React.FC<IconProps> = ({ className = '' }) => { |
|
return ( |
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 220 100" className={`w-full h-auto max-h-28 ${className}`}> |
|
{/* Background */} |
|
<rect x="0" y="0" width="220" height="100" fill="#2dd4bf" rx="10" ry="10" /> |
|
|
|
{/* Input */} |
|
<rect x="15" y="10" width="80" height="80" fill="#f0fdfa" stroke="#fff" strokeWidth="1" rx="5" ry="5" /> |
|
<text x="20" y="30" fill="#0f766e" fontSize="12" fontWeight="bold">Input</text> |
|
<text x="20" y="50" fill="#0f766e" fontSize="14" fontWeight="bold">Hello</text> |
|
<text x="20" y="70" fill="#0f766e" fontSize="14" fontWeight="bold">World</text> |
|
|
|
{/* Arrow */} |
|
<line x1="105" y1="50" x2="115" y2="50" stroke="#fff" strokeWidth="3" /> |
|
<polygon points="115,45 122,50 115,55" fill="#fff" /> |
|
|
|
{/* Output */} |
|
<rect x="125" y="10" width="80" height="80" fill="#f0fdfa" stroke="#fff" strokeWidth="1" rx="5" ry="5" /> |
|
|
|
{/* 3D space representation */} |
|
<g opacity="0.7"> |
|
<line x1="130" y1="85" x2="200" y2="85" stroke="#0f766e" strokeWidth="1" /> |
|
<polygon points="200,85 196,83 196,87" fill="#0f766e" /> |
|
<text x="202" y="89" fill="#0f766e" fontSize="8">x</text> |
|
|
|
<line x1="130" y1="85" x2="130" y2="15" stroke="#0f766e" strokeWidth="1" /> |
|
<polygon points="130,15 128,19 132,19" fill="#0f766e" /> |
|
<text x="126" y="13" fill="#0f766e" fontSize="8">y</text> |
|
|
|
<line x1="130" y1="85" x2="160" y2="65" stroke="#0f766e" strokeWidth="1" /> |
|
<polygon points="160,65 156,67 158,70" fill="#0f766e" /> |
|
<text x="162" y="64" fill="#0f766e" fontSize="8">z</text> |
|
</g> |
|
|
|
{/* 3D points */} |
|
<circle cx="165" cy="40" r="4" fill="#f472b6" /> |
|
<text x="172" y="44" fill="#f472b6" fontSize="10" fontWeight="bold">Hello</text> |
|
<circle cx="170" cy="70" r="4" fill="#60a5fa" /> |
|
<text x="135" y="74" fill="#60a5fa" fontSize="10" fontWeight="bold">World</text> |
|
</svg> |
|
); |
|
}; |
|
|
|
export default EmbeddingIcon; |