Icon.astro (2402B)
1 --- 2 interface Props { name: string; class?: string } 3 const { name, class: cls } = Astro.props; 4 const paths: Record<string, string> = { 5 search: '<circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/>', 6 sun: '<circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/>', 7 moon: '<path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"/>', 8 github: '<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-.9-2.6c3-.3 6.2-1.5 6.2-6.7A5.2 5.2 0 0 0 20 4.8 4.9 4.9 0 0 0 19.9 1S18.7.6 16 2.5a13.4 13.4 0 0 0-7 0C6.3.6 5.1 1 5.1 1A4.9 4.9 0 0 0 5 4.8a5.2 5.2 0 0 0-1.4 3.7c0 5.2 3.2 6.4 6.2 6.7a3.4 3.4 0 0 0-.9 2.5V22"/>', 9 arrow: '<path d="M5 12h14M13 6l6 6-6 6"/>', 10 chevron: '<path d="m9 6 6 6-6 6"/>', 11 terminal: '<path d="m7 9 3 3-3 3M13 15h4"/><rect x="3" y="4" width="18" height="16"/>', 12 hash: '<path d="M4 9h16M4 15h16M10 3 8 21M16 3l-2 18"/>', 13 wrench: '<path d="M14.7 6.3a4 4 0 0 0-5.4 5.2L3 18l3 3 6.5-6.3a4 4 0 0 0 5.2-5.4l-2.6 2.6-2.1-.5-.5-2.1z"/>', 14 close: '<path d="M18 6 6 18M6 6l12 12"/>', 15 copy: '<rect x="9" y="9" width="12" height="12"/><path d="M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1"/>', 16 check: '<path d="M20 6 9 17l-5-5"/>', 17 external: '<path d="M14 4h6v6M20 4 10 14M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"/>', 18 /* A Git branch: the "source" mark, linking to git.daemon-sec.xyz. */ 19 branch: '<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9a6 6 0 0 1-6 6H6"/>', 20 /* The kind mark carried by every record row and marquee entry. A sheet 21 is a document; a payload is a fragment of one. */ 22 doc: '<path d="M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z"/><path d="M14 3v5h5M9 13h6M9 17h4"/>', 23 layers: '<path d="m12 3 9 5-9 5-9-5 9-5z"/><path d="m3 13 9 5 9-5"/>', 24 warn: '<path d="M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/><path d="M12 9v4M12 17h.01"/>', 25 info: '<circle cx="12" cy="12" r="9"/><path d="M12 16v-4M12 8h.01"/>', 26 lock: '<rect x="5" y="11" width="14" height="10"/><path d="M8 11V7a4 4 0 0 1 8 0v4"/>', 27 }; 28 const d = paths[name] ?? ''; 29 --- 30 <svg class={cls} viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" 31 stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" set:html={d} />