// Fenja UI Kit — Components // Shared icons const Ic = { feather: (p) => (), search: (p) => (), book: (p) => (), bookmark: (p) => (), note: (p) => (), plus: (p) => (), settings: (p) => (), send: (p) => (), star: (p) => (), archive: (p) => (), quote: (p) => (), }; const Icon = ({ name, size = 18, ...rest }) => { const C = Ic[name]; return C ? : null; }; const RuneSpinner = () => ( ); const Button = ({ kind = "primary", children, onClick }) => ( ); const IconButton = ({ name, label, onClick }) => ( ); const Tag = ({ children }) => {children}; const Sidebar = ({ view, setView }) => ( ); const Topbar = ({ crumbs, children }) => (
{crumbs.map((c, i) => ( {i > 0 && } {c} ))}
{children}
); const FloatingSearch = ({ onFocus }) => (
⌘K
); const ArchiveItem = ({ item, onOpen }) => (
onOpen(item)}>
{item.title}
{item.excerpt}
{item.collection}
{item.meta}
); const Composer = ({ value, onChange, onSend, loading }) => (
{loading ? : } onChange(e.target.value)} onKeyDown={(e) => e.key === 'Enter' && onSend()} />
); Object.assign(window, { Icon, Button, IconButton, Tag, Sidebar, Topbar, FloatingSearch, ArchiveItem, Composer, RuneSpinner, });