File size: 2,173 Bytes
e9c0734 d5fd068 80fe4eb d5fd068 80fe4eb e9c0734 80fe4eb e9c0734 80fe4eb e9c0734 80fe4eb d5fd068 0d21acd d5fd068 0d21acd d5fd068 e9c0734 80fe4eb e9c0734 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
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; |