module Gargantext.Utils.Glyphicon where import Data.Char (fromCharCode) import Data.Maybe (fromJust) import Data.String.CodeUnits (singleton) import Gargantext.Prelude ((<>), ($), (<<<)) import Partial.Unsafe (unsafePartial) classNamePrefix :: String classNamePrefix = "fa fa-" glyphicon :: String -> String glyphicon t = "btn glyphitem " <> classNamePrefix <> t glyphiconActive :: String -> Boolean -> String glyphiconActive icon b = glyphicon icon <> if b then " active" else "" -- (?) UI print Glyphicon directly on text node -- -- * convert "Glyphicon ForkAwesome" classNames to CharCode [1] -- * bypass React "dangerousInnerHTML" via vanilla JavaScript coerce [2] -- (see "forkawesome.css" dist file for conversion matching) -- -- (?) No `crash` or `Nothing` value returned if unknown icon is provided -- Identic design as the glyphicon className, eg: by providing an unknown -- icon, a blank space will be output → same here, a blank char code will -- be returned -- -- [1] https://stackoverflow.com/a/54002856/6003907 -- [2] https://github.com/facebook/react/issues/3769#issuecomment-97163582 glyphiconToCharCode :: String -> String glyphiconToCharCode = _toString <<< case _ of "500px" -> 0xf26e "activitypub" -> 0xf2f2 "address-book" -> 0xf2b9 "address-book-o" -> 0xf2ba "address-card" -> 0xf2bb "address-card-o" -> 0xf2bc "adjust" -> 0xf042 "adn" -> 0xf170 "align-center" -> 0xf037 "align-justify" -> 0xf039 "align-left" -> 0xf036 "align-right" -> 0xf038 "amazon" -> 0xf270 "ambulance" -> 0xf0f9 "american-sign-language-interpreting" -> 0xf2a3 "anchor" -> 0xf13d "android" -> 0xf17b "angellist" -> 0xf209 "angle-double-down" -> 0xf103 "angle-double-left" -> 0xf100 "angle-double-right" -> 0xf101 "angle-double-up" -> 0xf102 "angle-down" -> 0xf107 "angle-left" -> 0xf104 "angle-right" -> 0xf105 "angle-up" -> 0xf106 "apple" -> 0xf179 "archive" -> 0xf187 "archive-org" -> 0xf2fc "archlinux" -> 0xf323 "area-chart" -> 0xf1fe "arrow-circle-down" -> 0xf0ab "arrow-circle-left" -> 0xf0a8 "arrow-circle-o-down" -> 0xf01a "arrow-circle-o-left" -> 0xf190 "arrow-circle-o-right" -> 0xf18e "arrow-circle-o-up" -> 0xf01b "arrow-circle-right" -> 0xf0a9 "arrow-circle-up" -> 0xf0aa "arrow-down" -> 0xf063 "arrow-left" -> 0xf060 "arrow-right" -> 0xf061 "arrow-up" -> 0xf062 "arrows" -> 0xf047 "arrows-alt" -> 0xf0b2 "arrows-h" -> 0xf07e "arrows-v" -> 0xf07d "artstation" -> 0xf2ed "assistive-listening-systems" -> 0xf2a2 "asterisk" -> 0xf069 "at" -> 0xf1fa "att" -> 0xf31e "audio-description" -> 0xf29e "backward" -> 0xf04a "balance-scale" -> 0xf24e "ballot" -> 0xf342 "ballot-circle" -> 0xf343 "ban" -> 0xf05e "bandcamp" -> 0xf2d5 "bar-chart" -> 0xf080 "barcode" -> 0xf02a "bars" -> 0xf0c9 "bath" -> 0xf2cd "battery-empty" -> 0xf244 "battery-full" -> 0xf240 "battery-half" -> 0xf242 "battery-quarter" -> 0xf243 "battery-three-quarters" -> 0xf241 "bed" -> 0xf236 "beer" -> 0xf0fc "behance" -> 0xf1b4 "behance-square" -> 0xf1b5 "bell" -> 0xf0f3 "bell-o" -> 0xf0a2 "bell-rigning-o" -> 0xf330 "bell-ringing" -> 0xf32d "bell-slash" -> 0xf1f6 "bell-slash-o" -> 0xf1f7 "bicycle" -> 0xf206 "binoculars" -> 0xf1e5 "biometric" -> 0xf32b "birthday-cake" -> 0xf1fd "bitbucket" -> 0xf171 "bitbucket-square" -> 0xf172 "black-tie" -> 0xf27e "blind" -> 0xf29d "bluetooth" -> 0xf293 "bluetooth-b" -> 0xf294 "bold" -> 0xf032 "bolt" -> 0xf0e7 "bomb" -> 0xf1e2 "book" -> 0xf02d "book-circle" -> 0xf33e "bookmark" -> 0xf02e "bookmark-o" -> 0xf097 "bootstrap" -> 0xf315 "braille" -> 0xf2a1 "briefcase" -> 0xf0b1 "btc" -> 0xf15a "bug" -> 0xf188 "building" -> 0xf1ad "building-o" -> 0xf0f7 "bullhorn" -> 0xf0a1 "bullseye" -> 0xf140 "bus" -> 0xf207 "buysellads" -> 0xf20d "c" -> 0xf31c "calculator" -> 0xf1ec "calendar" -> 0xf073 "calendar-check-o" -> 0xf274 "calendar-minus-o" -> 0xf272 "calendar-o" -> 0xf133 "calendar-plus-o" -> 0xf271 "calendar-times-o" -> 0xf273 "camera" -> 0xf030 "camera-retro" -> 0xf083 "car" -> 0xf1b9 "caret-down" -> 0xf0d7 "caret-left" -> 0xf0d9 "caret-right" -> 0xf0da "caret-square-o-down" -> 0xf150 "caret-square-o-left" -> 0xf191 "caret-square-o-right" -> 0xf152 "caret-square-o-up" -> 0xf151 "caret-up" -> 0xf0d8 "cart-arrow-down" -> 0xf218 "cart-plus" -> 0xf217 "cc" -> 0xf20a "cc-amex" -> 0xf1f3 "cc-diners-club" -> 0xf24c "cc-discover" -> 0xf1f2 "cc-jcb" -> 0xf24b "cc-mastercard" -> 0xf1f1 "cc-paypal" -> 0xf1f4 "cc-stripe" -> 0xf1f5 "cc-visa" -> 0xf1f0 "certificate" -> 0xf0a3 "chain-broken" -> 0xf127 "check" -> 0xf00c "check-circle" -> 0xf058 "check-circle-o" -> 0xf05d "check-square" -> 0xf14a "check-square-o" -> 0xf046 "chevron-circle-down" -> 0xf13a "chevron-circle-left" -> 0xf137 "chevron-circle-right" -> 0xf138 "chevron-circle-up" -> 0xf139 "chevron-down" -> 0xf078 "chevron-left" -> 0xf053 "chevron-right" -> 0xf054 "chevron-up" -> 0xf077 "child" -> 0xf1ae "chrome" -> 0xf268 "circle" -> 0xf111 "circle-o" -> 0xf10c "circle-o-notch" -> 0xf1ce "circle-thin" -> 0xf1db "classicpress" -> 0xf331 "classicpress-circle" -> 0xf332 "clipboard" -> 0xf0ea "clock-o" -> 0xf017 "clone" -> 0xf24d "cloud" -> 0xf0c2 "cloud-download" -> 0xf0ed "cloud-upload" -> 0xf0ee "code" -> 0xf121 "code-fork" -> 0xf126 "codepen" -> 0xf1cb "codiepie" -> 0xf284 "coffee" -> 0xf0f4 "cog" -> 0xf013 "cogs" -> 0xf085 "columns" -> 0xf0db "comment" -> 0xf075 "comment-o" -> 0xf0e5 "commenting" -> 0xf27a "commenting-o" -> 0xf27b "comments" -> 0xf086 "comments-o" -> 0xf0e6 "compass" -> 0xf14e "compress" -> 0xf066 "connectdevelop" -> 0xf20e "contao" -> 0xf26d "copyright" -> 0xf1f9 "creative-commons" -> 0xf25e "credit-card" -> 0xf09d "credit-card-alt" -> 0xf283 "crop" -> 0xf125 "crosshairs" -> 0xf05b "css3" -> 0xf13c "cube" -> 0xf1b2 "cubes" -> 0xf1b3 "cutlery" -> 0xf0f5 "dashcube" -> 0xf210 "database" -> 0xf1c0 "deaf" -> 0xf2a4 "debian" -> 0xf2ff "delicious" -> 0xf1a5 "desktop" -> 0xf108 "dev-to" -> 0xf316 "deviantart" -> 0xf1bd "diamond" -> 0xf219 "diaspora" -> 0xf2e5 "digg" -> 0xf1a6 "digitalocean" -> 0xf31d "discord" -> 0xf2ee "discord-alt" -> 0xf2ef "dogmazic" -> 0xf303 "dot-circle-o" -> 0xf192 "download" -> 0xf019 "dribbble" -> 0xf17d "dropbox" -> 0xf16b "drupal" -> 0xf1a9 "edge" -> 0xf282 "eercast" -> 0xf2da "eject" -> 0xf052 "ellipsis-h" -> 0xf141 "ellipsis-v" -> 0xf142 "emby" -> 0xf319 "empire" -> 0xf1d1 "envelope" -> 0xf0e0 "envelope-o" -> 0xf003 "envelope-open" -> 0xf2b6 "envelope-open-o" -> 0xf2b7 "envelope-square" -> 0xf199 "envira" -> 0xf299 "eraser" -> 0xf12d "ethereum" -> 0xf2f3 "etsy" -> 0xf2d7 "eur" -> 0xf153 "exchange" -> 0xf0ec "exclamation" -> 0xf12a "exclamation-circle" -> 0xf06a "exclamation-triangle" -> 0xf071 "expand" -> 0xf065 "expeditedssl" -> 0xf23e "external-link" -> 0xf08e "external-link-square" -> 0xf14c "eye" -> 0xf06e "eye-slash" -> 0xf070 "eyedropper" -> 0xf1fb "f-droid" -> 0xf32a "facebook" -> 0xf09a "facebook-messenger" -> 0xf2fe "facebook-official" -> 0xf230 "facebook-square" -> 0xf082 "fast-backward" -> 0xf049 "fast-forward" -> 0xf050 "fax" -> 0xf1ac "female" -> 0xf182 "ffmpeg" -> 0xf30f "fighter-jet" -> 0xf0fb "file" -> 0xf15b "file-archive-o" -> 0xf1c6 "file-audio-o" -> 0xf1c7 "file-code-o" -> 0xf1c9 "file-epub" -> 0xf321 "file-excel-o" -> 0xf1c3 "file-image-o" -> 0xf1c5 "file-o" -> 0xf016 "file-pdf-o" -> 0xf1c1 "file-powerpoint-o" -> 0xf1c4 "file-text" -> 0xf15c "file-text-o" -> 0xf0f6 "file-video-o" -> 0xf1c8 "file-word-o" -> 0xf1c2 "files-o" -> 0xf0c5 "film" -> 0xf008 "filter" -> 0xf0b0 "fire" -> 0xf06d "fire-extinguisher" -> 0xf134 "firefox" -> 0xf269 "first-order" -> 0xf2b0 "flag" -> 0xf024 "flag-checkered" -> 0xf11e "flag-o" -> 0xf11d "flask" -> 0xf0c3 "flickr" -> 0xf16e "floppy-o" -> 0xf0c7 "folder" -> 0xf07b "folder-o" -> 0xf114 "folder-open" -> 0xf07c "folder-open-o" -> 0xf115 "font" -> 0xf031 "font-awesome" -> 0xf2b4 "fonticons" -> 0xf280 "fork-awesome" -> 0xf2e3 "fort-awesome" -> 0xf286 "forumbee" -> 0xf211 "forward" -> 0xf04e "foursquare" -> 0xf180 "free-code-camp" -> 0xf2c5 "freedombox" -> 0xf2fd "friendica" -> 0xf2e6 "frown-o" -> 0xf119 "funkwhale" -> 0xf339 "futbol-o" -> 0xf1e3 "gamepad" -> 0xf11b "gavel" -> 0xf0e3 "gbp" -> 0xf154 "genderless" -> 0xf22d "get-pocket" -> 0xf265 "gg" -> 0xf260 "gg-circle" -> 0xf261 "gift" -> 0xf06b "gimp" -> 0xf31b "git" -> 0xf1d3 "git-square" -> 0xf1d2 "gitea" -> 0xf31f "github" -> 0xf09b "github-alt" -> 0xf113 "github-square" -> 0xf092 "gitlab" -> 0xf296 "glass" -> 0xf000 "glide" -> 0xf2a5 "glide-g" -> 0xf2a6 "globe" -> 0xf0ac "globe-circle" -> 0xf33f "globe-closed" -> 0xf33a "globe-e" -> 0xf304 "globe-w" -> 0xf305 "gnu-social" -> 0xf2e7 "gnupg" -> 0xf30d "google" -> 0xf1a0 "google-plus" -> 0xf0d5 "google-plus-official" -> 0xf2b3 "google-plus-square" -> 0xf0d4 "google-wallet" -> 0xf1ee "graduation-cap" -> 0xf19d "gratipay" -> 0xf184 "grav" -> 0xf2d6 "h-square" -> 0xf0fd "hackaday" -> 0xf30a "hacker-news" -> 0xf1d4 "hackster" -> 0xf326 "hal" -> 0xf333 "hand-lizard-o" -> 0xf258 "hand-o-down" -> 0xf0a7 "hand-o-left" -> 0xf0a5 "hand-o-right" -> 0xf0a4 "hand-o-up" -> 0xf0a6 "hand-paper-o" -> 0xf256 "hand-peace-o" -> 0xf25b "hand-pointer-o" -> 0xf25a "hand-rock-o" -> 0xf255 "hand-scissors-o" -> 0xf257 "hand-spock-o" -> 0xf259 "handshake-o" -> 0xf2b5 "hashnode" -> 0xf317 "hashtag" -> 0xf292 "hdd-o" -> 0xf0a0 "header" -> 0xf1dc "headphones" -> 0xf025 "heart" -> 0xf004 "heart-o" -> 0xf08a "heartbeat" -> 0xf21e "history" -> 0xf1da "home" -> 0xf015 "hospital-o" -> 0xf0f8 "hourglass" -> 0xf254 "hourglass-end" -> 0xf253 "hourglass-half" -> 0xf252 "hourglass-o" -> 0xf250 "hourglass-start" -> 0xf251 "houzz" -> 0xf27c "html5" -> 0xf13b "hubzilla" -> 0xf2eb "i-cursor" -> 0xf246 "id-badge" -> 0xf2c1 "id-card" -> 0xf2c2 "id-card-o" -> 0xf2c3 "ils" -> 0xf20b "imdb" -> 0xf2d8 "inbox" -> 0xf01c "indent" -> 0xf03c "industry" -> 0xf275 "info" -> 0xf129 "info-circle" -> 0xf05a "inkscape" -> 0xf312 "inr" -> 0xf156 "instagram" -> 0xf16d "internet-explorer" -> 0xf26b "ioxhost" -> 0xf208 "italic" -> 0xf033 "jirafeau" -> 0xf318 "joomla" -> 0xf1aa "joplin" -> 0xf310 "jpy" -> 0xf157 "jsfiddle" -> 0xf1cc "julia" -> 0xf334 "jupyter" -> 0xf335 "key" -> 0xf084 "key-modern" -> 0xf2f7 "keybase" -> 0xf2f4 "keyboard-o" -> 0xf11c "krw" -> 0xf159 "language" -> 0xf1ab "laptop" -> 0xf109 "laravel" -> 0xf30b "lastfm" -> 0xf202 "lastfm-square" -> 0xf203 "leaf" -> 0xf06c "leanpub" -> 0xf212 "lemon-o" -> 0xf094 "level-down" -> 0xf149 "level-up" -> 0xf148 "liberapay" -> 0xf2e9 "liberapay-square" -> 0xf2e8 "life-ring" -> 0xf1cd "lightbulb-o" -> 0xf0eb "line-chart" -> 0xf201 "link" -> 0xf0c1 "linkedin" -> 0xf0e1 "linkedin-square" -> 0xf08c "linode" -> 0xf2b8 "linux" -> 0xf17c "list" -> 0xf03a "list-alt" -> 0xf022 "list-ol" -> 0xf0cb "list-ul" -> 0xf0ca "location-arrow" -> 0xf124 "lock" -> 0xf023 "lock-circle" -> 0xf341 "long-arrow-down" -> 0xf175 "long-arrow-left" -> 0xf177 "long-arrow-right" -> 0xf178 "long-arrow-up" -> 0xf176 "low-vision" -> 0xf2a8 "magic" -> 0xf0d0 "magnet" -> 0xf076 "male" -> 0xf183 "map" -> 0xf279 "map-marker" -> 0xf041 "map-o" -> 0xf278 "map-pin" -> 0xf276 "map-signs" -> 0xf277 "mars" -> 0xf222 "mars-double" -> 0xf227 "mars-stroke" -> 0xf229 "mars-stroke-h" -> 0xf22b "mars-stroke-v" -> 0xf22a "mastodon" -> 0xf2e1 "mastodon-alt" -> 0xf2e2 "mastodon-square" -> 0xf300 "matrix-org" -> 0xf313 "maxcdn" -> 0xf136 "meanpath" -> 0xf20c "medium" -> 0xf23a "medium-square" -> 0xf2f8 "medkit" -> 0xf0fa "meetup" -> 0xf2e0 "meh-o" -> 0xf11a "mercury" -> 0xf223 "microchip" -> 0xf2db "microphone" -> 0xf130 "microphone-slash" -> 0xf131 "minus" -> 0xf068 "minus-circle" -> 0xf056 "minus-square" -> 0xf146 "minus-square-o" -> 0xf147 "mixcloud" -> 0xf289 "mobile" -> 0xf10b "modx" -> 0xf285 "money" -> 0xf0d6 "moon" -> 0xf328 "moon-o" -> 0xf186 "motorcycle" -> 0xf21c "mouse-pointer" -> 0xf245 "music" -> 0xf001 "neuter" -> 0xf22c "newspaper-o" -> 0xf1ea "nextcloud" -> 0xf306 "nextcloud-square" -> 0xf307 "nodejs" -> 0xf308 "object-group" -> 0xf247 "object-ungroup" -> 0xf248 "odnoklassniki" -> 0xf263 "odnoklassniki-square" -> 0xf264 "open-collective" -> 0xf336 "opencart" -> 0xf23d "openid" -> 0xf19b "opera" -> 0xf26a "optin-monster" -> 0xf23c "orcid" -> 0xf337 "outdent" -> 0xf03b "pagelines" -> 0xf18c "paint-brush" -> 0xf1fc "paper-plane" -> 0xf1d8 "paper-plane-o" -> 0xf1d9 "paperclip" -> 0xf0c6 "paragraph" -> 0xf1dd "patreon" -> 0xf2f0 "pause" -> 0xf04c "pause-circle" -> 0xf28b "pause-circle-o" -> 0xf28c "paw" -> 0xf1b0 "paypal" -> 0xf1ed "peertube" -> 0xf2e4 "pencil" -> 0xf040 "pencil-square" -> 0xf14b "pencil-square-o" -> 0xf044 "percent" -> 0xf295 "phone" -> 0xf095 "phone-square" -> 0xf098 "php" -> 0xf30e "picture-o" -> 0xf03e "pie-chart" -> 0xf200 "pinterest" -> 0xf0d2 "pinterest-p" -> 0xf231 "pinterest-square" -> 0xf0d3 "pixelfed" -> 0xf314 "plane" -> 0xf072 "play" -> 0xf04b "play-circle" -> 0xf144 "play-circle-o" -> 0xf01d "pleroma" -> 0xf324 "plug" -> 0xf1e6 "plus" -> 0xf067 "plus-circle" -> 0xf055 "plus-square" -> 0xf0fe "plus-square-o" -> 0xf196 "podcast" -> 0xf2ce "power-off" -> 0xf011 "print" -> 0xf02f "product-hunt" -> 0xf288 "puzzle-piece" -> 0xf12e "python" -> 0xf322 "qq" -> 0xf1d6 "qrcode" -> 0xf029 "question" -> 0xf128 "question-circle" -> 0xf059 "question-circle-o" -> 0xf29c "quora" -> 0xf2c4 "quote-left" -> 0xf10d "quote-right" -> 0xf10e "random" -> 0xf074 "ravelry" -> 0xf2d9 "react" -> 0xf302 "rebel" -> 0xf1d0 "recycle" -> 0xf1b8 "reddit" -> 0xf1a1 "reddit-alien" -> 0xf281 "reddit-square" -> 0xf1a2 "refresh" -> 0xf021 "registered" -> 0xf25d "renren" -> 0xf18b "repeat" -> 0xf01e "reply" -> 0xf112 "reply-all" -> 0xf122 "researchgate" -> 0xf338 "retweet" -> 0xf079 "road" -> 0xf018 "rocket" -> 0xf135 "rss" -> 0xf09e "rss-square" -> 0xf143 "rub" -> 0xf158 "safari" -> 0xf267 "scissors" -> 0xf0c4 "scribd" -> 0xf28a "scuttlebutt" -> 0xf2ea "search" -> 0xf002 "search-minus" -> 0xf010 "search-plus" -> 0xf00e "sellsy" -> 0xf213 "server" -> 0xf233 "shaarli" -> 0xf2f5 "shaarli-o" -> 0xf2f6 "share" -> 0xf064 "share-alt" -> 0xf1e0 "share-alt-square" -> 0xf1e1 "share-circle" -> 0xf340 "share-closed" -> 0xf33b "share-square" -> 0xf14d "share-square-o" -> 0xf045 "shield" -> 0xf132 "ship" -> 0xf21a "shirtsinbulk" -> 0xf214 "shopping-bag" -> 0xf290 "shopping-basket" -> 0xf291 "shopping-cart" -> 0xf07a "shower" -> 0xf2cc "sign-in" -> 0xf090 "sign-language" -> 0xf2a7 "sign-out" -> 0xf08b "signal" -> 0xf012 "signalapp" -> 0xf30c "simplybuilt" -> 0xf215 "sitemap" -> 0xf0e8 "skyatlas" -> 0xf216 "skype" -> 0xf17e "slack" -> 0xf198 "sliders" -> 0xf1de "slideshare" -> 0xf1e7 "smile-o" -> 0xf118 "snapchat" -> 0xf2ab "snapchat-ghost" -> 0xf2ac "snapchat-square" -> 0xf2ad "snowdrift" -> 0xf2f1 "snowflake-o" -> 0xf2dc "social-home" -> 0xf2ec "sort" -> 0xf0dc "sort-alpha-asc" -> 0xf15d "sort-alpha-desc" -> 0xf15e "sort-amount-asc" -> 0xf160 "sort-amount-desc" -> 0xf161 "sort-asc" -> 0xf0de "sort-desc" -> 0xf0dd "sort-numeric-asc" -> 0xf162 "sort-numeric-desc" -> 0xf163 "soundcloud" -> 0xf1be "space-shuttle" -> 0xf197 "spell-check" -> 0xf327 "spinner" -> 0xf110 "spoon" -> 0xf1b1 "spotify" -> 0xf1bc "square" -> 0xf0c8 "square-o" -> 0xf096 "stack-exchange" -> 0xf18d "stack-overflow" -> 0xf16c "star" -> 0xf005 "star-half" -> 0xf089 "star-half-o" -> 0xf123 "star-o" -> 0xf006 "steam" -> 0xf1b6 "steam-square" -> 0xf1b7 "step-backward" -> 0xf048 "step-forward" -> 0xf051 "stethoscope" -> 0xf0f1 "sticky-note" -> 0xf249 "sticky-note-o" -> 0xf24a "stop" -> 0xf04d "stop-circle" -> 0xf28d "stop-circle-o" -> 0xf28e "street-view" -> 0xf21d "strikethrough" -> 0xf0cc "stumbleupon" -> 0xf1a4 "stumbleupon-circle" -> 0xf1a3 "subscript" -> 0xf12c "subway" -> 0xf239 "suitcase" -> 0xf0f2 "sun" -> 0xf329 "sun-o" -> 0xf185 "superpowers" -> 0xf2dd "superscript" -> 0xf12b "syncthing" -> 0xf311 "table" -> 0xf0ce "tablet" -> 0xf10a "tachometer" -> 0xf0e4 "tag" -> 0xf02b "tags" -> 0xf02c "tasks" -> 0xf0ae "taxi" -> 0xf1ba "telegram" -> 0xf2c6 "television" -> 0xf26c "tencent-weibo" -> 0xf1d5 "terminal" -> 0xf120 "text-height" -> 0xf034 "text-width" -> 0xf035 "th" -> 0xf00a "th-large" -> 0xf009 "th-list" -> 0xf00b "themeisle" -> 0xf2b2 "thermometer-empty" -> 0xf2cb "thermometer-full" -> 0xf2c7 "thermometer-half" -> 0xf2c9 "thermometer-quarter" -> 0xf2ca "thermometer-three-quarters" -> 0xf2c8 "thumb-tack" -> 0xf08d "thumbs-down" -> 0xf165 "thumbs-o-down" -> 0xf088 "thumbs-o-up" -> 0xf087 "thumbs-up" -> 0xf164 "ticket" -> 0xf145 "times" -> 0xf00d "times-circle" -> 0xf057 "times-circle-o" -> 0xf05c "tint" -> 0xf043 "tipeee" -> 0xf301 "toggle-off" -> 0xf204 "toggle-on" -> 0xf205 "tor-onion" -> 0xf32e "trademark" -> 0xf25c "train" -> 0xf238 "transgender" -> 0xf224 "transgender-alt" -> 0xf225 "trash" -> 0xf1f8 "trash-o" -> 0xf014 "tree" -> 0xf1bb "trello" -> 0xf181 "tripadvisor" -> 0xf262 "trophy" -> 0xf091 "truck" -> 0xf0d1 "try" -> 0xf195 "tty" -> 0xf1e4 "tumblr" -> 0xf173 "tumblr-square" -> 0xf174 "twitch" -> 0xf1e8 "twitter" -> 0xf099 "twitter-square" -> 0xf081 "umbrella" -> 0xf0e9 "underline" -> 0xf0cd "undo" -> 0xf0e2 "universal-access" -> 0xf29a "university" -> 0xf19c "unlock" -> 0xf09c "unlock-alt" -> 0xf13e "unslpash" -> 0xf325 "upload" -> 0xf093 "usb" -> 0xf287 "usd" -> 0xf155 "user" -> 0xf007 "user-circle" -> 0xf2bd "user-circle-o" -> 0xf2be "user-md" -> 0xf0f0 "user-o" -> 0xf2c0 "user-plus" -> 0xf234 "user-secret" -> 0xf21b "user-times" -> 0xf235 "users" -> 0xf0c0 "users-closed" -> 0xf33c "venus" -> 0xf221 "venus-double" -> 0xf226 "venus-mars" -> 0xf228 "viacoin" -> 0xf237 "viadeo" -> 0xf2a9 "viadeo-square" -> 0xf2aa "video-camera" -> 0xf03d "vimeo" -> 0xf27d "vimeo-square" -> 0xf194 "vine" -> 0xf1ca "vk" -> 0xf189 "volume-control-phone" -> 0xf2a0 "volume-down" -> 0xf027 "volume-mute" -> 0xf32f "volume-off" -> 0xf026 "volume-up" -> 0xf028 "weibo" -> 0xf18a "weixin" -> 0xf1d7 "whatsapp" -> 0xf232 "wheelchair" -> 0xf193 "wheelchair-alt" -> 0xf29b "wifi" -> 0xf1eb "wikidata" -> 0xf31a "wikipedia-w" -> 0xf266 "window-close" -> 0xf2d3 "window-close-o" -> 0xf2d4 "window-maximize" -> 0xf2d0 "window-minimize" -> 0xf2d1 "window-restore" -> 0xf2d2 "windows" -> 0xf17a "wire" -> 0xf32c "wordpress" -> 0xf19a "wpbeginner" -> 0xf297 "wpexplorer" -> 0xf2de "wpforms" -> 0xf298 "wrench" -> 0xf0ad "xing" -> 0xf168 "xing-square" -> 0xf169 "xmpp" -> 0xf2f9 "y-combinator" -> 0xf23b "yahoo" -> 0xf19e "yelp" -> 0xf1e9 "yoast" -> 0xf2b1 "youtube" -> 0xf167 "youtube-play" -> 0xf16a "youtube-square" -> 0xf166 "zotero" -> 0xf309 -- default _ -> 0x200B -- ie. zero-width non-breaking space where _toString i = singleton $ unsafePartial $ fromJust $ fromCharCode i