package ui import ( . "maragu.dev/gomponents" . "maragu.dev/gomponents/html" "strconv" ) // make sure each icon does not have a height width attribute set! this gets appended at the component level! const ( // primary icons // https://lucide.dev ICON_ARROW_UP_DOWN = `` ICON_ARROW_DOWN_WIDE_NARROW = `` ICON_ARROW_UP_WIDE_NARROW = `` ICON_ARROW_UP = `` ICON_ARROW_DOWN = `` ICON_ARROW_RIGHT = `` ICON_ARROW_LEFT = `` ICON_CHEVRON_FIRST = `` ICON_CHEVRON_LAST = `` ICON_CHEVRON_LEFT = `` ICON_CHEVRON_RIGHT = `` ICON_CHEVRON_DOWN = `` ICON_CHEVRON_UP = `` ICON_CHEVRONS_UP_DOWN = `` ICON_MENU = `` ICON_USERS = `` ICON_GLOBE = `` ICON_CODE = `` ICON_MAIL = `` ICON_HOUSE = `` ICON_NEWSPAPER = `` ICON_RSS = `` ICON_EYE = `` ICON_LIST_ORDERED = `` ICON_X_DIALOG_CLOSE = `` ICON_PENCIL = `` ICON_LOCK_KEYHOLE = `` ICON_COPY = `` //material ICON_SEARCH = `` // brand icons // https://simpleicons.org ICON_GO = `Go` ICON_HTMX = `htmx` ICON_X_DOT_COM = `X` ICON_XAI_GROK = `Grok` ICON_GITHUB = `GitHub` ICON_4CH = `4chan` ) func Icon(icon string, size int) Node { size_string := strconv.Itoa(size) return SVG(InlineStyle("$me{display: inline;}"), Height(size_string), Width(size_string), Raw(icon)) }