/* ============================================================
icons.jsx — the prototype's inline SVG set, as JSX.
js/ui.js held these as raw markup strings and injected them with innerHTML.
Rendering strings would require dangerouslySetInnerHTML, which ADR 0013 bans
outright, so each entry is a fragment of SVG children instead. Every attribute
in the original set is single-word lowercase (d, points, cx, cy, r, x, y, x1,
y1, x2, y2, rx, width, height), all of which are valid React props unchanged —
so this is a pure mechanical wrap with no attribute renaming.
Stroke styling lives in css/styles.css and is untouched.
============================================================ */
export const ICONS = {
'user-plus': (
<>
>
),
calendar: (
<>
>
),
check: ,
'check-circle': (
<>
>
),
x: (
<>
>
),
'x-circle': (
<>
>
),
file: (
<>
>
),
star: (
),
message: ,
info: (
<>
>
),
alert: (
<>
>
),
eye: (
<>
>
),
edit: (
<>
>
),
trash: (
<>
>
),
more: (
<>
>
),
plus: (
<>
>
),
download: (
<>
>
),
filter: ,
clock: (
<>
>
),
mail: (
<>
>
),
phone: (
),
map: (
<>
>
),
briefcase: (
<>
>
),
'trending-up': (
<>
>
),
'trending-down': (
<>
>
),
users: (
<>
>
),
award: (
<>
>
),
dollar: (
<>
>
),
target: (
<>
>
),
send: (
<>
>
),
video: (
<>
>
),
search: (
<>
>
),
'chevron-left': ,
'chevron-right': ,
'chevron-down': ,
refresh: (
<>
>
),
copy: (
<>
>
),
upload: (
<>
>
),
linkedin: (
<>
>
),
inbox: (
<>
>
),
sparkles: (
<>
>
),
zap: ,
grid: (
<>
>
),
bookmark: ,
paperclip: (
),
external: (
<>
>
),
shield: ,
lock: (
<>
>
),
flame: (
),
bell: (
<>
>
),
layers: (
<>
>
),
list: (
<>
>
),
'check-square': (
<>
>
),
'arrow-right': (
<>
>
),
/* --- shell icons: these lived inline in index.html, not in js/ui.js --- */
dashboard: (
<>
>
),
pipeline: (
<>
>
),
reports: (
<>
>
),
analytics: (
<>
>
),
offers: (
<>
>
),
managers: (
<>
>
),
settings: (
<>
>
),
help: (
<>
>
),
menu: (
<>
>
),
sun: (
<>
>
),
moon: ,
user: (
<>
>
),
logout: (
<>
>
),
talent: (
<>
>
),
}
export default function Icon({ name, className = '' }) {
return (
)
}