Files
agency/.pnpm-store/v3/files/38/faba998b26fb2104c969fa7a5c3f4c12d9e905aa9976a5d55d77e24808bcc47581319b7fba7dcb595d59f53e0562e1c5e4ab0314b7460aa87190fa63411aad
hanzo-agent 5af6960b87 run project
Run: sess_f37640604ae254cb4d11dc6217f7b721
2026-09-30 00:04:56 +00:00

44 lines
1.4 KiB
Plaintext

import React from 'react'
/** Lucide glyph renderer. Hanzo uses lucide-react 0.462.0 and no other icon set;
* in a plain browser page the same set arrives as the lucide UMD bundle, which
* this component reads. Load it once per page:
* <script src="https://unpkg.com/[email protected]/dist/umd/lucide.js"></script> */
const pascal = (n) => n.replace(/(^|[-_ ])(\w)/g, (_, __, c) => c.toUpperCase())
function lookup(name) {
const g = typeof window !== 'undefined' ? window.lucide : null
if (!g) return null
const set = g.icons || g
return set[name] || set[pascal(name)] || null
}
export function Icon({ name, size = 16, strokeWidth = 2, color = 'currentColor', style, ...rest }) {
const node = lookup(name)
const kids = []
if (Array.isArray(node)) {
node.forEach((child, i) => {
if (Array.isArray(child)) kids.push(React.createElement(child[0], { key: i, ...child[1] }))
else if (child && child.tag) kids.push(React.createElement(child.tag, { key: i, ...child.attrs }))
})
}
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
viewBox="0 0 24 24"
fill="none"
stroke={color}
strokeWidth={strokeWidth}
strokeLinecap="round"
strokeLinejoin="round"
aria-hidden="true"
style={{ flexShrink: 0, display: 'block', ...style }}
{...rest}
>
{kids}
</svg>
)
}