Documentation
#![cfg(feature = "icons")]
use super::icon::Icon;
use darth_rust::DarthRust;
use leptos::*;

#[derive(DarthRust, Default)]
pub struct IconBuild {
    icon: Icon,
    class: &'static str,
    size: usize,
}

#[component]
pub fn Icon(props: IconBuild) -> impl IntoView {
    match props.icon {
        Icon::Info => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
                <path class=props.class d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"/>
            </svg>
        },
        Icon::Ok => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 18 20">
                <path class=props.class d="m17.351 3.063-8-3a1.009 1.009 0 0 0-.7 0l-8 3A1 1 0 0 0 0 4a19.394 19.394 0 0 0 8.47 15.848 1 1 0 0 0 1.06 0A19.394 19.394 0 0 0 18 4a1 1 0 0 0-.649-.937Zm-3.644 4.644-5 5A1 1 0 0 1 8 13c-.033 0-.065 0-.1-.005a1 1 0 0 1-.733-.44l-2-3a1 1 0 0 1 1.664-1.11l1.323 1.986 4.138-4.138a1 1 0 0 1 1.414 1.414h.001Z"/>
            </svg>
        },
        Icon::X => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
                <path class=props.class d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5Zm3.707 11.793a1 1 0 1 1-1.414 1.414L10 11.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L8.586 10 6.293 7.707a1 1 0 0 1 1.414-1.414L10 8.586l2.293-2.293a1 1 0 0 1 1.414 1.414L11.414 10l2.293 2.293Z"/>
            </svg>
        },
        Icon::Exclamation => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
                <path class=props.class d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM10 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-4a1 1 0 0 1-2 0V6a1 1 0 0 1 2 0v5Z"/>
            </svg>
        },
        Icon::Question => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
                <path class=props.class d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5Zm0 16a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3Zm1-5.034V12a1 1 0 0 1-2 0v-1.418a1 1 0 0 1 1.038-.999 1.436 1.436 0 0 0 1.488-1.441 1.501 1.501 0 1 0-3-.116.986.986 0 0 1-1.037.961 1 1 0 0 1-.96-1.037A3.5 3.5 0 1 1 11 11.466Z"/>
            </svg>
        },
        Icon::BellBounce => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
                <path class=props.class d="M15.133 10.632v-1.8a5.406 5.406 0 0 0-4.154-5.262.955.955 0 0 0 .021-.106V1.1a1 1 0 0 0-2 0v2.364a.946.946 0 0 0 .021.106 5.406 5.406 0 0 0-4.154 5.262v1.8C4.867 13.018 3 13.614 3 14.807 3 15.4 3 16 3.538 16h12.924C17 16 17 15.4 17 14.807c0-1.193-1.867-1.789-1.867-4.175ZM4 4a1 1 0 0 1-.707-.293l-1-1a1 1 0 0 1 1.414-1.414l1 1A1 1 0 0 1 4 4ZM2 8H1a1 1 0 0 1 0-2h1a1 1 0 1 1 0 2Zm14-4a1 1 0 0 1-.707-1.707l1-1a1 1 0 1 1 1.414 1.414l-1 1A1 1 0 0 1 16 4Zm3 4h-1a1 1 0 1 1 0-2h1a1 1 0 1 1 0 2ZM6.823 17a3.453 3.453 0 0 0 6.354 0H6.823Z"/>
            </svg>
        },
        Icon::Bug => view! {
            <svg width=props.size height=props.size aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 19 20">
                <path class=props.class d="M16.025 15H14.91c.058-.33.088-.665.09-1v-1h2a1 1 0 0 0 0-2h-2.09a5.97 5.97 0 0 0-.26-1h.375a2 2 0 0 0 2-2V6a1 1 0 0 0-2 0v2H13.46a6.239 6.239 0 0 0-.46-.46V6a3.963 3.963 0 0 0-.986-2.6l.693-.693A1 1 0 0 0 13 2V1a1 1 0 0 0-2 0v.586l-.661.661a3.753 3.753 0 0 0-2.678 0L7 1.586V1a1 1 0 0 0-2 0v1a1 1 0 0 0 .293.707l.693.693A3.963 3.963 0 0 0 5 6v1.54a6.239 6.239 0 0 0-.46.46H3V6a1 1 0 0 0-2 0v2a2 2 0 0 0 2 2h.35a5.97 5.97 0 0 0-.26 1H1a1 1 0 0 0 0 2h2v1a6 6 0 0 0 .09 1H2a2 2 0 0 0-2 2v2a1 1 0 1 0 2 0v-2h1.812A6.012 6.012 0 0 0 8 19.907V10a1 1 0 0 1 2 0v9.907A6.011 6.011 0 0 0 14.188 17h1.837v2a1 1 0 0 0 2 0v-2a2 2 0 0 0-2-2ZM11 6.35a5.922 5.922 0 0 0-.941-.251l-.111-.017a5.52 5.52 0 0 0-1.9 0l-.111.017A5.924 5.924 0 0 0 7 6.35V6a2 2 0 1 1 4 0v.35Z"/>
            </svg>
        },
        Icon::ExternalLink => view! {
            <svg width=props.size height=props.size xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <path class=props.class d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path>
                <polyline class=props.class points="15 3 21 3 21 9"></polyline>
                <line class=props.class x1="10" y1="14" x2="21" y2="3"></line>
            </svg>
        },
        Icon::Bell => view! {
            <svg width=props.size fill="currentColor" height=props.size xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                <path class=props.class d="M10,20h4a2,2,0,0,1-4,0Zm8-4V10a6,6,0,0,0-5-5.91V3a1,1,0,0,0-2,0V4.09A6,6,0,0,0,6,10v6L4,18H20Z"/>
            </svg>
        },
        Icon::Heart => view! {
            <svg width=props.size fill="currentColor" height=props.size xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
            <path class=props.class d="M92.591 6.124a35.52 35.52 0 0 0-17.862 4.82 35.593 35.593 0 0 0-9.623 8.246l-1.11 1.364-1.109-1.364a35.501 35.501 0 0 0-9.619-8.246 35.522 35.522 0 0 0-17.865-4.82C16.212 6.124.673 21.608.022 41.374c-.33 9.918 2.848 19.973 9.439 29.902 5.194 7.816 54.535 50.6 54.535 50.6s49.345-42.791 54.535-50.6c6.598-9.93 9.77-19.988 9.445-29.902-.655-19.766-16.196-35.25-35.385-35.25z"/></svg>
        },
        Icon::Star => view! {
            <svg width=props.size fill="currentColor" height=props.size xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                <path class=props.class d="m21.5 9.757-5.278 4.354 1.649 7.389L12 17.278 6.129 21.5l1.649-7.389L2.5 9.757l6.333-.924L12 2.5l3.167 6.333z"/>
            </svg>
        },
        Icon::Donation => view! {
            <svg width=props.size fill="currentColor" height=props.size
            xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 125"
            >
                <g class=props.class>
                    <path class=props.class d="M63.701,99.994c0,0-0.021,0.001-0.049,0.002C63.668,99.996,63.683,99.995,63.701,99.994z M63.53,100   c0.004,0,0.015,0,0.034-0.001C63.549,99.999,63.535,100,63.53,100z M97.795,72.836c-2.979-3.031-7.846-3.076-10.875-0.098   c-3.148,3.074-14.023,11.849-21.849,11.849c-0.093,0.007-11.544,0.45-14.841-0.524c-2.023-0.598-2.748-1.665-3.392-2.396h20.173   c4.25,0,7.693-3.444,7.693-7.693s-3.443-7.693-7.693-7.693H54.003C38.435,54.545,19.864,65.92,19.864,65.92H0v27.134h29.409   c3.81,2.085,8.126,4.446,12.9,5.383c8.582,1.685,18.396,1.558,21.392,1.558C79.174,99.913,96.01,85.379,97.697,83.72   C100.728,80.74,100.773,75.865,97.795,72.836z M77.893,78.715L86.6,71.68c0,0-1.542-2.418-4.09-1.784   C79.961,70.529,77.893,78.715,77.893,78.715z M81.709,0c-6.468,0-12.15,3.356-15.404,8.422C63.053,3.356,57.37,0,50.902,0   C40.8,0,32.611,8.189,32.611,18.291c0,21.652,33.693,41.671,33.693,41.671S100,39.943,100,18.291C100,8.189,91.811,0,81.709,0z"/>
                </g>
            </svg>
        },
        Icon::Email => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M1920 428.266v1189.54l-464.16-580.146-88.203 70.585 468.679 585.904H83.684l468.679-585.904-88.202-70.585L0 1617.805V428.265l959.944 832.441L1920 428.266ZM1919.932 226v52.627l-959.943 832.44L.045 278.628V226h1919.887Z" fill-rule="evenodd"/>
            </svg>
        },
        Icon::DownloadCloud => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M0 16q0 2.912 1.824 5.088t4.576 2.752q0.032 0 0.032-0.032v-0.064t0.032-0.032q0.544-1.344 1.344-2.176t2.208-1.184v-2.336q0-2.496 1.728-4.256t4.256-1.76 4.256 1.76 1.76 4.256v2.336q1.376 0.384 2.176 1.216t1.344 2.144l0.096 0.288h0.384q2.464 0 4.224-1.76t1.76-4.224v-2.016q0-2.464-1.76-4.224t-4.224-1.76q-0.096 0-0.32 0.032 0.32-1.152 0.32-2.048 0-3.296-2.368-5.632t-5.632-2.368q-2.88 0-5.056 1.824t-2.784 4.544q-1.152-0.352-2.176-0.352-3.296 0-5.664 2.336t-2.336 5.664v1.984zM10.016 25.824q-0.096 0.928 0.576 1.6l4 4q0.576 0.576 1.408 0.576t1.408-0.576l4-4q0.672-0.672 0.608-1.6-0.064-0.32-0.16-0.576-0.224-0.576-0.736-0.896t-1.12-0.352h-1.984v-5.984q0-0.832-0.608-1.408t-1.408-0.608-1.408 0.608-0.576 1.408v5.984h-2.016q-0.608 0-1.12 0.352t-0.736 0.896q-0.096 0.288-0.128 0.576z"></path>
            </svg>
        },
        Icon::UploadCloud => view! {
           <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M0 16v-1.984q0-3.328 2.336-5.664t5.664-2.336q1.024 0 2.176 0.352 0.576-2.752 2.784-4.544t5.056-1.824q3.296 0 5.632 2.368t2.368 5.632q0 0.896-0.32 2.048 0.224-0.032 0.32-0.032 2.464 0 4.224 1.76t1.76 4.224v2.016q0 2.496-1.76 4.224t-4.224 1.76h-0.384q0.288-0.8 0.352-1.44 0.096-1.312-0.32-2.56t-1.408-2.208l-4-4q-1.76-1.792-4.256-1.792t-4.224 1.76l-4 4q-0.96 0.96-1.408 2.24t-0.32 2.592q0.032 0.576 0.256 1.248-2.72-0.608-4.512-2.784t-1.792-5.056zM10.016 22.208q-0.096-0.96 0.576-1.6l4-4q0.608-0.608 1.408-0.608 0.832 0 1.408 0.608l4 4q0.672 0.64 0.608 1.6-0.032 0.288-0.16 0.576-0.224 0.544-0.736 0.896t-1.12 0.32h-1.984v6.016q0 0.832-0.608 1.408t-1.408 0.576-1.408-0.576-0.576-1.408v-6.016h-2.016q-0.608 0-1.088-0.32t-0.768-0.896q-0.096-0.288-0.128-0.576z"></path>
            </svg>
        },
        Icon::DonwloadSquare => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12ZM12 6.25C12.4142 6.25 12.75 6.58579 12.75 7V12.1893L14.4697 10.4697C14.7626 10.1768 15.2374 10.1768 15.5303 10.4697C15.8232 10.7626 15.8232 11.2374 15.5303 11.5303L12.5303 14.5303C12.3897 14.671 12.1989 14.75 12 14.75C11.8011 14.75 11.6103 14.671 11.4697 14.5303L8.46967 11.5303C8.17678 11.2374 8.17678 10.7626 8.46967 10.4697C8.76256 10.1768 9.23744 10.1768 9.53033 10.4697L11.25 12.1893V7C11.25 6.58579 11.5858 6.25 12 6.25ZM8 16.25C7.58579 16.25 7.25 16.5858 7.25 17C7.25 17.4142 7.58579 17.75 8 17.75H16C16.4142 17.75 16.75 17.4142 16.75 17C16.75 16.5858 16.4142 16.25 16 16.25H8Z" />
            </svg>
        },
        Icon::UploadSquare => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12ZM12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V11.8107L14.4697 13.5303C14.7626 13.8232 15.2374 13.8232 15.5303 13.5303C15.8232 13.2374 15.8232 12.7626 15.5303 12.4697L12.5303 9.46967C12.3897 9.32902 12.1989 9.25 12 9.25C11.8011 9.25 11.6103 9.32902 11.4697 9.46967L8.46967 12.4697C8.17678 12.7626 8.17678 13.2374 8.46967 13.5303C8.76256 13.8232 9.23744 13.8232 9.53033 13.5303L11.25 11.8107V17C11.25 17.4142 11.5858 17.75 12 17.75ZM8 7.75C7.58579 7.75 7.25 7.41421 7.25 7C7.25 6.58579 7.58579 6.25 8 6.25H16C16.4142 6.25 16.75 6.58579 16.75 7C16.75 7.41421 16.4142 7.75 16 7.75H8Z" />
            </svg>
        },
        Icon::Key => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M22 8.29344C22 11.7692 19.1708 14.5869 15.6807 14.5869C15.0439 14.5869 13.5939 14.4405 12.8885 13.8551L12.0067 14.7333C11.4883 15.2496 11.6283 15.4016 11.8589 15.652C11.9551 15.7565 12.0672 15.8781 12.1537 16.0505C12.1537 16.0505 12.8885 17.075 12.1537 18.0995C11.7128 18.6849 10.4783 19.5045 9.06754 18.0995L8.77362 18.3922C8.77362 18.3922 9.65538 19.4167 8.92058 20.4412C8.4797 21.0267 7.30403 21.6121 6.27531 20.5876L5.2466 21.6121C4.54119 22.3146 3.67905 21.9048 3.33616 21.6121L2.45441 20.7339C1.63143 19.9143 2.1115 19.0264 2.45441 18.6849L10.0963 11.0743C10.0963 11.0743 9.3615 9.90338 9.3615 8.29344C9.3615 4.81767 12.1907 2 15.6807 2C19.1708 2 22 4.81767 22 8.29344ZM15.681 10.4889C16.8984 10.4889 17.8853 9.50601 17.8853 8.29353C17.8853 7.08105 16.8984 6.09814 15.681 6.09814C14.4635 6.09814 13.4766 7.08105 13.4766 8.29353C13.4766 9.50601 14.4635 10.4889 15.681 10.4889Z"/>
            </svg>
        },
        Icon::Lock => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M5.25 10.0546V8C5.25 4.27208 8.27208 1.25 12 1.25C15.7279 1.25 18.75 4.27208 18.75 8V10.0546C19.8648 10.1379 20.5907 10.348 21.1213 10.8787C22 11.7574 22 13.1716 22 16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H8C5.17157 22 3.75736 22 2.87868 21.1213C2 20.2426 2 18.8284 2 16C2 13.1716 2 11.7574 2.87868 10.8787C3.40931 10.348 4.13525 10.1379 5.25 10.0546ZM6.75 8C6.75 5.10051 9.10051 2.75 12 2.75C14.8995 2.75 17.25 5.10051 17.25 8V10.0036C16.867 10 16.4515 10 16 10H8C7.54849 10 7.13301 10 6.75 10.0036V8ZM12 13.25C12.4142 13.25 12.75 13.5858 12.75 14V18C12.75 18.4142 12.4142 18.75 12 18.75C11.5858 18.75 11.25 18.4142 11.25 18V14C11.25 13.5858 11.5858 13.25 12 13.25Z" />
            </svg>
        },
        Icon::FolderMagnifyingGlass => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M1 5C1 3.34315 2.34315 2 4 2H8.43845C9.81505 2 11.015 2.93689 11.3489 4.27239L11.7808 6H13.5H20C21.6569 6 23 7.34315 23 9V11C23 11.5523 22.5523 12 22 12C21.4477 12 21 11.5523 21 11V9C21 8.44772 20.5523 8 20 8H13.5H11.7808H4C3.44772 8 3 8.44772 3 9V10V19C3 19.5523 3.44772 20 4 20H9C9.55228 20 10 20.4477 10 21C10 21.5523 9.55228 22 9 22H4C2.34315 22 1 20.6569 1 19V10V9V5ZM3 6.17071C3.31278 6.06015 3.64936 6 4 6H9.71922L9.40859 4.75746C9.2973 4.3123 8.89732 4 8.43845 4H4C3.44772 4 3 4.44772 3 5V6.17071ZM20.1716 18.7574C20.6951 17.967 21 17.0191 21 16C21 13.2386 18.7614 11 16 11C13.2386 11 11 13.2386 11 16C11 18.7614 13.2386 21 16 21C17.0191 21 17.967 20.6951 18.7574 20.1716L21.2929 22.7071C21.6834 23.0976 22.3166 23.0976 22.7071 22.7071C23.0976 22.3166 23.0976 21.6834 22.7071 21.2929L20.1716 18.7574ZM13 16C13 14.3431 14.3431 13 16 13C17.6569 13 19 14.3431 19 16C19 17.6569 17.6569 19 16 19C14.3431 19 13 17.6569 13 16Z" />
            </svg>
        },
        Icon::Target => view! {
            <svg class=props.class width=props.size height=props.size fill="currentColor" xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 512"><path d="M501.558 245.558c5.766 0 10.442 4.676 10.442 10.443 0 5.767-4.676 10.442-10.442 10.442H313.113c-2.152 11.845-7.897 22.437-16.066 30.605-8.168 8.17-18.761 13.914-30.605 16.066v188.444c0 5.766-4.676 10.442-10.443 10.442-5.767 0-10.442-4.676-10.442-10.442V313.114c-11.845-2.152-22.437-7.896-30.605-16.066-8.17-8.168-13.914-18.76-16.066-30.605H10.442C4.676 266.443 0 261.768 0 256.001s4.676-10.443 10.442-10.443h188.444c2.152-11.844 7.896-22.437 16.066-30.605 8.168-8.169 18.76-13.914 30.605-16.066V10.442C245.557 4.676 250.232 0 255.999 0s10.443 4.676 10.443 10.442v188.445c11.844 2.152 22.437 7.897 30.605 16.066 8.169 8.168 13.914 18.761 16.066 30.605h188.445zM283.148 49.657c46.608 6.073 88.373 27.565 120 59.195 31.63 31.627 53.122 73.392 59.195 120h-21.085c-5.931-40.835-25.04-77.399-52.876-105.234-27.835-27.836-64.399-46.945-105.234-52.876V49.657zM462.343 283.15c-6.073 46.608-27.565 88.372-59.195 120-31.627 31.629-73.392 53.121-120 59.194V441.26c40.835-5.931 77.399-25.04 105.234-52.876 27.836-27.835 46.945-64.399 52.876-105.234h21.085zM228.85 462.344c-46.608-6.073-88.372-27.565-120-59.194-31.629-31.628-53.121-73.392-59.194-120H70.74c5.931 40.835 25.04 77.399 52.876 105.234 27.835 27.836 64.399 46.945 105.234 52.876v21.084zM49.656 228.852c6.073-46.608 27.565-88.373 59.194-120 31.628-31.63 73.392-53.122 120-59.195v21.085c-40.835 5.931-77.399 25.04-105.234 52.876-27.836 27.835-46.945 64.399-52.876 105.234H49.656zm233.492-104.453c26.206 5.379 49.631 18.388 67.849 36.604 18.216 18.218 31.225 41.643 36.604 67.849h-21.41c-5.015-20.428-15.562-38.682-29.961-53.082-14.4-14.399-32.654-24.946-53.082-29.961v-21.41zM387.601 283.15c-5.379 26.205-18.388 49.631-36.604 67.848-18.218 18.216-41.643 31.226-67.849 36.604v-21.409c20.428-5.016 38.682-15.562 53.082-29.961 14.399-14.401 24.946-32.654 29.961-53.082h21.41zM228.85 387.602c-26.205-5.378-49.631-18.388-67.848-36.604-18.216-18.217-31.226-41.643-36.604-67.848h21.409c5.016 20.428 15.562 38.681 29.961 53.082 14.401 14.399 32.654 24.945 53.082 29.961v21.409zm-104.452-158.75c5.378-26.206 18.388-49.631 36.604-67.849 18.217-18.216 41.643-31.225 67.848-36.604v21.41c-20.428 5.015-38.681 15.562-53.082 29.961-14.399 14.4-24.945 32.654-29.961 53.082h-21.409zm131.601-14.196c22.835 0 41.345 18.51 41.345 41.345 0 22.835-18.51 41.344-41.345 41.344-22.835 0-41.344-18.509-41.344-41.344s18.509-41.345 41.344-41.345z"/></svg>
        },
        Icon::MagnifyingGlass => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                <g stroke="none" stroke-width="1" class=props.class fill-rule="evenodd">
                    <g class=props.class transform="translate(42.666667, 42.666667)">
                        <path class=props.class d="M426.630187,396.463573 L305.314987,275.148373 C327.799467,246.239573 341.333333,210.04032 341.333333,170.666667 C341.333333,76.56256 264.770773,-7.10542736e-15 170.666667,-7.10542736e-15 C76.56256,-7.10542736e-15 7.10542736e-15,76.56256 7.10542736e-15,170.666667 C7.10542736e-15,264.770773 76.56256,341.333333 170.666667,341.333333 C210.04032,341.333333 246.239573,327.799467 275.148373,305.3152 L396.463573,426.6304 L426.630187,396.463573 Z M170.666667,298.666667 C100.083413,298.666667 42.6666667,241.24992 42.6666667,170.666667 C42.6666667,100.083413 100.083413,42.6666667 170.666667,42.6666667 C241.24992,42.6666667 298.666667,100.083413 298.666667,170.666667 C298.666667,241.24992 241.24992,298.666667 170.666667,298.666667 Z"></path>
                    </g>
                </g>
            </svg>
        },
        Icon::FileMagnifyingGlass => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M9.29289 1.29289C9.48043 1.10536 9.73478 1 10 1H18C19.6569 1 21 2.34315 21 4V8C21 8.55228 20.5523 9 20 9C19.4477 9 19 8.55228 19 8V4C19 3.44772 18.5523 3 18 3H11V8C11 8.55228 10.5523 9 10 9H5V20C5 20.5523 5.44772 21 6 21H10C10.5523 21 11 21.4477 11 22C11 22.5523 10.5523 23 10 23H6C4.34315 23 3 21.6569 3 20V8C3 7.73478 3.10536 7.48043 3.29289 7.29289L9.29289 1.29289ZM6.41421 7H9V4.41421L6.41421 7ZM20.1716 18.7574C20.6951 17.967 21 17.0191 21 16C21 13.2386 18.7614 11 16 11C13.2386 11 11 13.2386 11 16C11 18.7614 13.2386 21 16 21C17.0191 21 17.967 20.6951 18.7574 20.1716L21.2929 22.7071C21.6834 23.0976 22.3166 23.0976 22.7071 22.7071C23.0976 22.3166 23.0976 21.6834 22.7071 21.2929L20.1716 18.7574ZM13 16C13 14.3431 14.3431 13 16 13C17.6569 13 19 14.3431 19 16C19 17.6569 17.6569 19 16 19C14.3431 19 13 17.6569 13 16Z"/>
            </svg>
        },
        Icon::Discord => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M20.992 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.050 0.005 0.109 0.005 0.168 0 1.523-1.191 2.768-2.693 2.854l-0.008 0zM11.026 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.048 0.005 0.104 0.005 0.161 0 1.525-1.19 2.771-2.692 2.862l-0.008 0zM26.393 6.465c-1.763-0.832-3.811-1.49-5.955-1.871l-0.149-0.022c-0.005-0.001-0.011-0.002-0.017-0.002-0.035 0-0.065 0.019-0.081 0.047l-0 0c-0.234 0.411-0.488 0.924-0.717 1.45l-0.043 0.111c-1.030-0.165-2.218-0.259-3.428-0.259s-2.398 0.094-3.557 0.275l0.129-0.017c-0.27-0.63-0.528-1.142-0.813-1.638l0.041 0.077c-0.017-0.029-0.048-0.047-0.083-0.047-0.005 0-0.011 0-0.016 0.001l0.001-0c-2.293 0.403-4.342 1.060-6.256 1.957l0.151-0.064c-0.017 0.007-0.031 0.019-0.040 0.034l-0 0c-2.854 4.041-4.562 9.069-4.562 14.496 0 0.907 0.048 1.802 0.141 2.684l-0.009-0.11c0.003 0.029 0.018 0.053 0.039 0.070l0 0c2.14 1.601 4.628 2.891 7.313 3.738l0.176 0.048c0.008 0.003 0.018 0.004 0.028 0.004 0.032 0 0.060-0.015 0.077-0.038l0-0c0.535-0.72 1.044-1.536 1.485-2.392l0.047-0.1c0.006-0.012 0.010-0.027 0.010-0.043 0-0.041-0.026-0.075-0.062-0.089l-0.001-0c-0.912-0.352-1.683-0.727-2.417-1.157l0.077 0.042c-0.029-0.017-0.048-0.048-0.048-0.083 0-0.031 0.015-0.059 0.038-0.076l0-0c0.157-0.118 0.315-0.24 0.465-0.364 0.016-0.013 0.037-0.021 0.059-0.021 0.014 0 0.027 0.003 0.038 0.008l-0.001-0c2.208 1.061 4.8 1.681 7.536 1.681s5.329-0.62 7.643-1.727l-0.107 0.046c0.012-0.006 0.025-0.009 0.040-0.009 0.022 0 0.043 0.008 0.059 0.021l-0-0c0.15 0.124 0.307 0.248 0.466 0.365 0.023 0.018 0.038 0.046 0.038 0.077 0 0.035-0.019 0.065-0.046 0.082l-0 0c-0.661 0.395-1.432 0.769-2.235 1.078l-0.105 0.036c-0.036 0.014-0.062 0.049-0.062 0.089 0 0.016 0.004 0.031 0.011 0.044l-0-0.001c0.501 0.96 1.009 1.775 1.571 2.548l-0.040-0.057c0.017 0.024 0.046 0.040 0.077 0.040 0.010 0 0.020-0.002 0.029-0.004l-0.001 0c2.865-0.892 5.358-2.182 7.566-3.832l-0.065 0.047c0.022-0.016 0.036-0.041 0.039-0.069l0-0c0.087-0.784 0.136-1.694 0.136-2.615 0-5.415-1.712-10.43-4.623-14.534l0.052 0.078c-0.008-0.016-0.022-0.029-0.038-0.036l-0-0z"></path>
            </svg>
        },
        Icon::Youtube => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M12.932 20.459v-8.917l7.839 4.459zM30.368 8.735c-0.354-1.301-1.354-2.307-2.625-2.663l-0.027-0.006c-3.193-0.406-6.886-0.638-10.634-0.638-0.381 0-0.761 0.002-1.14 0.007l0.058-0.001c-0.322-0.004-0.701-0.007-1.082-0.007-3.748 0-7.443 0.232-11.070 0.681l0.434-0.044c-1.297 0.363-2.297 1.368-2.644 2.643l-0.006 0.026c-0.4 2.109-0.628 4.536-0.628 7.016 0 0.088 0 0.176 0.001 0.263l-0-0.014c-0 0.074-0.001 0.162-0.001 0.25 0 2.48 0.229 4.906 0.666 7.259l-0.038-0.244c0.354 1.301 1.354 2.307 2.625 2.663l0.027 0.006c3.193 0.406 6.886 0.638 10.634 0.638 0.38 0 0.76-0.002 1.14-0.007l-0.058 0.001c0.322 0.004 0.702 0.007 1.082 0.007 3.749 0 7.443-0.232 11.070-0.681l-0.434 0.044c1.298-0.362 2.298-1.368 2.646-2.643l0.006-0.026c0.399-2.109 0.627-4.536 0.627-7.015 0-0.088-0-0.176-0.001-0.263l0 0.013c0-0.074 0.001-0.162 0.001-0.25 0-2.48-0.229-4.906-0.666-7.259l0.038 0.244z"></path>
            </svg>
        },
        Icon::Instagram => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z" />
                <path class=props.class d="M18 5C17.4477 5 17 5.44772 17 6C17 6.55228 17.4477 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5Z" />
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M1.65396 4.27606C1 5.55953 1 7.23969 1 10.6V13.4C1 16.7603 1 18.4405 1.65396 19.7239C2.2292 20.8529 3.14708 21.7708 4.27606 22.346C5.55953 23 7.23969 23 10.6 23H13.4C16.7603 23 18.4405 23 19.7239 22.346C20.8529 21.7708 21.7708 20.8529 22.346 19.7239C23 18.4405 23 16.7603 23 13.4V10.6C23 7.23969 23 5.55953 22.346 4.27606C21.7708 3.14708 20.8529 2.2292 19.7239 1.65396C18.4405 1 16.7603 1 13.4 1H10.6C7.23969 1 5.55953 1 4.27606 1.65396C3.14708 2.2292 2.2292 3.14708 1.65396 4.27606ZM13.4 3H10.6C8.88684 3 7.72225 3.00156 6.82208 3.0751C5.94524 3.14674 5.49684 3.27659 5.18404 3.43597C4.43139 3.81947 3.81947 4.43139 3.43597 5.18404C3.27659 5.49684 3.14674 5.94524 3.0751 6.82208C3.00156 7.72225 3 8.88684 3 10.6V13.4C3 15.1132 3.00156 16.2777 3.0751 17.1779C3.14674 18.0548 3.27659 18.5032 3.43597 18.816C3.81947 19.5686 4.43139 20.1805 5.18404 20.564C5.49684 20.7234 5.94524 20.8533 6.82208 20.9249C7.72225 20.9984 8.88684 21 10.6 21H13.4C15.1132 21 16.2777 20.9984 17.1779 20.9249C18.0548 20.8533 18.5032 20.7234 18.816 20.564C19.5686 20.1805 20.1805 19.5686 20.564 18.816C20.7234 18.5032 20.8533 18.0548 20.9249 17.1779C20.9984 16.2777 21 15.1132 21 13.4V10.6C21 8.88684 20.9984 7.72225 20.9249 6.82208C20.8533 5.94524 20.7234 5.49684 20.564 5.18404C20.1805 4.43139 19.5686 3.81947 18.816 3.43597C18.5032 3.27659 18.0548 3.14674 17.1779 3.0751C16.2777 3.00156 15.1132 3 13.4 3Z" />
            </svg>
        },
        Icon::Twitter => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 -2 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                <g class=props.class stroke="none" stroke-width="1" fill-rule="evenodd">
                <g class=props.class transform="translate(-60.000000, -7521.000000)">
                <g class=props.class transform="translate(56.000000, 160.000000)">
                    <path class=props.class d="M10.29,7377 C17.837,7377 21.965,7370.84365 21.965,7365.50546 C21.965,7365.33021 21.965,7365.15595 21.953,7364.98267 C22.756,7364.41163 23.449,7363.70276 24,7362.8915 C23.252,7363.21837 22.457,7363.433 21.644,7363.52751 C22.5,7363.02244 23.141,7362.2289 23.448,7361.2926 C22.642,7361.76321 21.761,7362.095 20.842,7362.27321 C19.288,7360.64674 16.689,7360.56798 15.036,7362.09796 C13.971,7363.08447 13.518,7364.55538 13.849,7365.95835 C10.55,7365.79492 7.476,7364.261 5.392,7361.73762 C4.303,7363.58363 4.86,7365.94457 6.663,7367.12996 C6.01,7367.11125 5.371,7366.93797 4.8,7366.62489 L4.8,7366.67608 C4.801,7368.5989 6.178,7370.2549 8.092,7370.63591 C7.488,7370.79836 6.854,7370.82199 6.24,7370.70483 C6.777,7372.35099 8.318,7373.47829 10.073,7373.51078 C8.62,7374.63513 6.825,7375.24554 4.977,7375.24358 C4.651,7375.24259 4.325,7375.22388 4,7375.18549 C5.877,7376.37088 8.06,7377 10.29,7376.99705"></path>
                </g>
                </g>
                </g>
            </svg>
        },
        Icon::Tiktok => view! {
            <svg class=props.class width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21,2H3A1,1,0,0,0,2,3V21a1,1,0,0,0,1,1H21a1,1,0,0,0,1-1V3A1,1,0,0,0,21,2Zm-3.281,8.725h0c-.109.011-.219.016-.328.017A3.571,3.571,0,0,1,14.4,9.129v5.493a4.061,4.061,0,1,1-4.06-4.06c.085,0,.167.008.251.013v2a2.067,2.067,0,1,0-.251,4.119A2.123,2.123,0,0,0,12.5,14.649l.02-9.331h1.914A3.564,3.564,0,0,0,17.719,8.5Z"/></svg>
        },
        Icon::SkullBones => view! {
               <svg class=props.class width=props.size fill="currentColor" height=props.size version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
        viewBox="0 0 264.695 264.695" xml:space="preserve">
               <g>
                   <g>
                       <path class=props.class d="M219.171,216.785c-4.762,0-10.322,2.3-16.672,6.881l-35.211-12.968l35.734-12.978
                        c6.003,3.888,11.558,5.833,16.682,5.833c5.639,0,9.347-2.917,11.117-8.733c0.351-1.235,0.527-2.57,0.527-3.981
                        c0-7.397-4.766-11.378-14.295-11.9c3.876-3.882,5.828-7.687,5.828-11.392c0-3.871-2.039-7.149-6.092-9.797
                        c-2.118-1.049-4.325-1.584-6.615-1.584c-7.769,0-13.064,6.258-15.887,18.797l-61.941,23.039l-61.94-22.504
                        c-2.823-12.885-8.125-19.332-15.885-19.332c-2.293,0-4.501,0.535-6.62,1.584c-3.876,2.647-5.82,5.926-5.82,9.797
                        c0,3.705,1.944,7.51,5.82,11.392c-9.701,0.522-14.555,4.503-14.555,11.901c0,1.41,0.179,2.746,0.526,3.98
                        c1.946,5.816,5.651,8.733,11.122,8.733c5.113,0,10.671-1.945,16.677-5.832l35.998,12.977l-35.476,12.698
                        c-6.175-4.406-11.637-6.611-16.402-6.611c-5.654,0-9.623,2.918-11.919,8.733c-0.348,1.235-0.526,2.553-0.526,3.975
                        c0,7.405,4.853,11.385,14.555,11.907c-3.876,3.883-5.82,7.688-5.82,11.393c0,3.869,1.944,7.134,5.82,9.797
                        c2.477,1.412,4.854,2.105,7.153,2.105c7.227,0,12.443-6.176,15.619-18.525l61.673-22.504l61.678,22.504
                        c3.178,12.35,8.475,18.525,15.882,18.525c2.121,0,4.407-0.693,6.884-2.105c4.052-2.663,6.092-5.928,6.092-9.797
                        c0-3.705-1.953-7.51-5.828-11.393c9.528-0.522,14.295-4.502,14.295-11.907c0-1.422-0.177-2.739-0.527-3.975
                        C228.702,219.702,224.82,216.785,219.171,216.785z"
                       />
                       <path class=props.class d="M48.436,128.904c9.703,11.114,23.379,19.242,41.035,24.346v3.986c0,4.936,1.672,9.086,5.025,12.433
                        c3.35,3.358,7.498,5.211,12.441,5.563c5.116,0.357,8.905-0.528,11.378-2.646c3.879,2.817,8.204,4.229,12.974,4.229
                        c4.41,0,8.474-1.316,12.175-3.963c2.471,1.934,6.087,2.738,10.856,2.381c4.937-0.528,9.089-2.426,12.44-5.689
                        c3.35-3.281,5.025-7.371,5.025-12.307v-2.91c19.057-4.945,33.795-13.237,44.21-24.898c10.059-11.109,15.087-24.253,15.087-39.435
                        c0-3.359-0.355-6.886-1.063-10.597c-3.525-22.571-13.938-41.201-31.229-55.844C180.612,7.856,158.464,0,132.347,0
                        c-26.123,0-48.27,7.767-66.44,23.282C48.61,38.118,38.289,56.825,34.937,79.396c-0.709,3.711-1.064,7.238-1.064,10.597
                        C33.873,104.817,38.724,117.778,48.436,128.904L48.436,128.904z M152.865,60.749c5.206-6.085,11.514-9.13,18.922-9.13
                        c7.592,0,13.986,3.045,19.194,9.13c5.2,6.076,7.81,13.446,7.81,22.087c0,8.649-2.609,16.021-7.81,22.108
                        c-5.208,6.097-11.603,9.13-19.194,9.13c-7.408,0-13.716-3.033-18.922-9.13c-5.211-6.087-7.814-13.459-7.814-22.108
                        C145.05,74.195,147.654,66.825,152.865,60.749z M124.805,121.428c2.556-3.307,5.065-4.968,7.542-4.968
                        c2.47,0,4.802,1.831,7.012,5.509c2.205,3.662,3.317,7.145,3.317,10.469c0,5.062-3.361,7.581-10.067,7.581
                        c-4.414,0-7.677-1.136-9.792-3.396c-1.237-1.411-1.849-3.147-1.849-5.249C120.969,128.065,122.245,124.752,124.805,121.428z
                        M71.465,60.749c5.295-6.085,11.65-9.13,19.059-9.13c7.406,0,13.762,3.045,19.06,9.13c5.296,6.076,7.948,13.446,7.948,22.087
                        c0,8.649-2.651,16.021-7.948,22.108c-5.297,6.097-11.654,9.13-19.06,9.13c-7.409,0-13.764-3.033-19.059-9.13
                        c-5.292-6.087-7.944-13.459-7.944-22.108C63.521,74.195,66.173,66.825,71.465,60.749z"
                       />
                   </g>
               </g>
           </svg>
           },
        Icon::Blood => view! {
            <svg class=props.class width=props.size fill="currentColor" height=props.size viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M257.844 17.28c-54.286 0-103.57 14.478-139.875 38.5-36.305 24.025-60 58.306-60 96.94 0 24.244 9.323 46.797 25.25 66.155 20.198 41.592 34.85 102.377 20.5 144.594-3.513 10.328-19 38.088-19 50.717 0 17.12 17.632 37.563 34.75 37.563 17.116 0 34.778-20.442 34.78-37.563 0-12.706-15.123-40.142-18.03-50.718-11.415-41.524-10.246-93.93 17.593-94.97 13.083 5.394 27.145 9.777 41.937 13.03 22.872 10.78 33.56 52.68 21.844 69.564-2.73 3.936-13.75 15.01-13.75 25.906 0 11.105 9.8 23.47 24.062 23.47 13.314 0 24.063-10.57 24.063-23.47 0-12.69-12.177-21.875-14.44-25.906-8.562-18.992-6.686-51.025 18.782-52.406 29.17-1.583 42.28 83.25 25.22 107.843-4.535 6.537-23.376 27.08-23.376 46.533 0 19.87 15.403 41.283 39.875 41.28 24.95 0 39.845-23.902 39.845-41.28 0-16.962-20.308-39.84-24.063-46.532-16.427-29.282-9.22-119.687 28.875-130.717 1.352-.473 2.338-.91 3.063-1.344 4.343-1.437 8.586-2.988 12.75-4.626.018-.007.044.007.063 0 39.218-5.213 35.794 40.094 55.468 40.094 17.347 0 9.824-61.536 28.69-105.5 9.592-15.822 15-33.27 15-51.72 0-38.632-23.666-72.913-59.97-96.937-36.304-24.022-85.62-38.5-139.906-38.5zM193.5 43.626c-44.808 19.875-74.47 54.414-74.47 93.688 0 61.603 72.957 111.53 162.94 111.53 71.58 0 132.346-31.623 154.217-75.562-6.408 23.038-23.457 44.077-48.75 60.814-24.52 16.226-56.552 28.032-92.562 32.906-19.593 1.22-41.32 4.405-63.375 1.22-40.332-3.84-76.304-16.316-103.22-34.126-32.654-21.61-51.624-50.374-51.624-81.375 0-31.002 18.97-59.736 51.625-81.345 18.12-11.99 40.33-21.593 65.22-27.75zM416.125 329.03c-15.707 0-28.438 12.732-28.438 28.44 0 15.705 12.73 28.436 28.438 28.436 15.707 0 28.438-12.73 28.438-28.437 0-15.708-12.73-28.44-28.438-28.44z"/></svg>
        },
        Icon::Trash => view! {
            <svg width=props.size fill="currentColor" height=props.size viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                <path class=props.class d="M3 6.38597C3 5.90152 3.34538 5.50879 3.77143 5.50879L6.43567 5.50832C6.96502 5.49306 7.43202 5.11033 7.61214 4.54412C7.61688 4.52923 7.62232 4.51087 7.64185 4.44424L7.75665 4.05256C7.8269 3.81241 7.8881 3.60318 7.97375 3.41617C8.31209 2.67736 8.93808 2.16432 9.66147 2.03297C9.84457 1.99972 10.0385 1.99986 10.2611 2.00002H13.7391C13.9617 1.99986 14.1556 1.99972 14.3387 2.03297C15.0621 2.16432 15.6881 2.67736 16.0264 3.41617C16.1121 3.60318 16.1733 3.81241 16.2435 4.05256L16.3583 4.44424C16.3778 4.51087 16.3833 4.52923 16.388 4.54412C16.5682 5.11033 17.1278 5.49353 17.6571 5.50879H20.2286C20.6546 5.50879 21 5.90152 21 6.38597C21 6.87043 20.6546 7.26316 20.2286 7.26316H3.77143C3.34538 7.26316 3 6.87043 3 6.38597Z"/>
                <path class=props.class fill-rule="evenodd" clip-rule="evenodd" d="M11.5956 22.0001H12.4044C15.1871 22.0001 16.5785 22.0001 17.4831 21.1142C18.3878 20.2283 18.4803 18.7751 18.6654 15.8686L18.9321 11.6807C19.0326 10.1037 19.0828 9.31524 18.6289 8.81558C18.1751 8.31592 17.4087 8.31592 15.876 8.31592H8.12404C6.59127 8.31592 5.82488 8.31592 5.37105 8.81558C4.91722 9.31524 4.96744 10.1037 5.06788 11.6807L5.33459 15.8686C5.5197 18.7751 5.61225 20.2283 6.51689 21.1142C7.42153 22.0001 8.81289 22.0001 11.5956 22.0001ZM10.2463 12.1886C10.2051 11.7548 9.83753 11.4382 9.42537 11.4816C9.01321 11.525 8.71251 11.9119 8.75372 12.3457L9.25372 17.6089C9.29494 18.0427 9.66247 18.3593 10.0746 18.3159C10.4868 18.2725 10.7875 17.8856 10.7463 17.4518L10.2463 12.1886ZM14.5746 11.4816C14.9868 11.525 15.2875 11.9119 15.2463 12.3457L14.7463 17.6089C14.7051 18.0427 14.3375 18.3593 13.9254 18.3159C13.5132 18.2725 13.2125 17.8856 13.2537 17.4518L13.7537 12.1886C13.7949 11.7548 14.1625 11.4382 14.5746 11.4816Z"/>
            </svg>
        },
        Icon::User => view! {
            <svg width=props.size fill="currentColor" height=props.size style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
                <path d="M234.666667 384A64 64 0 0 0 298.666667 320 64 64 0 0 0 234.666667 256 64 64 0 0 0 170.666667 320 64 64 0 0 0 234.666667 384m508.16 110.08c15.36 15.36 25.173333 36.693333 25.173333 60.586667 0 23.466667-9.386667 44.8-25.173333 60.16l-213.333334 213.333333a85.162667 85.162667 0 0 1-120.746666 0l-298.24-298.24C94.72 514.133333 85.333333 492.8 85.333333 469.333333V256c0-47.36 37.973333-85.333333 85.333334-85.333333h213.333333c23.466667 0 44.8 9.386667 60.16 24.746666l298.666667 298.666667m-165.12-250.453333l42.666666-42.666667 293.12 293.12c15.786667 15.36 25.173333 37.12 25.173334 60.586667 0 23.466667-9.386667 44.8-24.746667 60.16l-229.546667 229.546666-42.666666-42.666666L885.333333 554.666667l-307.626666-311.04z"/>
            </svg>
        },
    }
}