icon.py 28 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486
  1. """Lucide Icon component."""
  2. from typing import Optional
  3. from reflex.components.component import Component
  4. from reflex.style import Style
  5. from reflex.utils import format
  6. from reflex.vars import Var
  7. class LucideIconComponent(Component):
  8. """Lucide Icon Component."""
  9. library = "lucide-react@0.314.0"
  10. class Icon(LucideIconComponent):
  11. """An Icon component."""
  12. tag = "None"
  13. # The size of the icon in pixels.
  14. size: Optional[Var[int]] = None
  15. @classmethod
  16. def create(cls, *children, **props) -> Component:
  17. """Initialize the Icon component.
  18. Run some additional checks on Icon component.
  19. Args:
  20. *children: The positional arguments
  21. **props: The keyword arguments
  22. Raises:
  23. AttributeError: The errors tied to bad usage of the Icon component.
  24. ValueError: If the icon tag is invalid.
  25. Returns:
  26. The created component.
  27. """
  28. if children:
  29. if len(children) == 1 and type(children[0]) == str:
  30. props["tag"] = children[0]
  31. else:
  32. raise AttributeError(
  33. f"Passing multiple children to Icon component is not allowed: remove positional arguments {children[1:]} to fix"
  34. )
  35. if "tag" not in props.keys():
  36. raise AttributeError("Missing 'tag' keyword-argument for Icon")
  37. if (
  38. type(props["tag"]) != str
  39. or format.to_snake_case(props["tag"]) not in LUCIDE_ICON_LIST
  40. ):
  41. raise ValueError(
  42. f"Invalid icon tag: {props['tag']}. Please use one of the following: {', '.join(LUCIDE_ICON_LIST[0:25])}, ..."
  43. "\nSee full list at https://lucide.dev/icons."
  44. )
  45. props["tag"] = format.to_title_case(format.to_snake_case(props["tag"])) + "Icon"
  46. props["alias"] = f"Lucide{props['tag']}"
  47. return super().create(*children, **props)
  48. def _apply_theme(self, theme: Component):
  49. self.style = Style(
  50. {
  51. "color": f"var(--current-color)",
  52. **self.style,
  53. }
  54. )
  55. LUCIDE_ICON_LIST = [
  56. "a_arrow_down",
  57. "a_arrow_up",
  58. "a_large_small",
  59. "accessibility",
  60. "activity",
  61. "activity_square",
  62. "air_vent",
  63. "airplay",
  64. "alarm_clock",
  65. "alarm_clock_check",
  66. "alarm_clock_minus",
  67. "alarm_clock_off",
  68. "alarm_clock_plus",
  69. "alarm_smoke",
  70. "album",
  71. "alert_circle",
  72. "alert_octagon",
  73. "alert_triangle",
  74. "align_center",
  75. "align_center_horizontal",
  76. "align_center_vertical",
  77. "align_end_horizontal",
  78. "align_end_vertical",
  79. "align_horizontal_distribute_center",
  80. "align_horizontal_distribute_end",
  81. "align_horizontal_distribute_start",
  82. "align_horizontal_justify_center",
  83. "align_horizontal_justify_end",
  84. "align_horizontal_justify_start",
  85. "align_horizontal_space_around",
  86. "align_horizontal_space_between",
  87. "align_justify",
  88. "align_left",
  89. "align_right",
  90. "align_start_horizontal",
  91. "align_start_vertical",
  92. "align_vertical_distribute_center",
  93. "align_vertical_distribute_end",
  94. "align_vertical_distribute_start",
  95. "align_vertical_justify_center",
  96. "align_vertical_justify_end",
  97. "align_vertical_justify_start",
  98. "align_vertical_space_around",
  99. "align_vertical_space_between",
  100. "ampersand",
  101. "ampersands",
  102. "anchor",
  103. "angry",
  104. "annoyed",
  105. "antenna",
  106. "anvil",
  107. "aperture",
  108. "app_window",
  109. "apple",
  110. "archive",
  111. "archive_restore",
  112. "archive_x",
  113. "area_chart",
  114. "armchair",
  115. "arrow_big_down",
  116. "arrow_big_down_dash",
  117. "arrow_big_left",
  118. "arrow_big_left_dash",
  119. "arrow_big_right",
  120. "arrow_big_right_dash",
  121. "arrow_big_up",
  122. "arrow_big_up_dash",
  123. "arrow_down",
  124. "arrow_down_0_1",
  125. "arrow_down_1_0",
  126. "arrow_down_a_z",
  127. "arrow_down_circle",
  128. "arrow_down_from_line",
  129. "arrow_down_left",
  130. "arrow_down_left_from_circle",
  131. "arrow_down_left_from_square",
  132. "arrow_down_left_square",
  133. "arrow_down_narrow_wide",
  134. "arrow_down_right",
  135. "arrow_down_right_from_circle",
  136. "arrow_down_right_from_square",
  137. "arrow_down_right_square",
  138. "arrow_down_square",
  139. "arrow_down_to_dot",
  140. "arrow_down_to_line",
  141. "arrow_down_up",
  142. "arrow_down_wide_narrow",
  143. "arrow_down_z_a",
  144. "arrow_left",
  145. "arrow_left_circle",
  146. "arrow_left_from_line",
  147. "arrow_left_right",
  148. "arrow_left_square",
  149. "arrow_left_to_line",
  150. "arrow_right",
  151. "arrow_right_circle",
  152. "arrow_right_from_line",
  153. "arrow_right_left",
  154. "arrow_right_square",
  155. "arrow_right_to_line",
  156. "arrow_up",
  157. "arrow_up_0_1",
  158. "arrow_up_1_0",
  159. "arrow_up_a_z",
  160. "arrow_up_circle",
  161. "arrow_up_down",
  162. "arrow_up_from_dot",
  163. "arrow_up_from_line",
  164. "arrow_up_left",
  165. "arrow_up_left_from_circle",
  166. "arrow_up_left_from_square",
  167. "arrow_up_left_square",
  168. "arrow_up_narrow_wide",
  169. "arrow_up_right",
  170. "arrow_up_right_from_circle",
  171. "arrow_up_right_from_square",
  172. "arrow_up_right_square",
  173. "arrow_up_square",
  174. "arrow_up_to_line",
  175. "arrow_up_wide_narrow",
  176. "arrow_up_z_a",
  177. "arrows_up_from_line",
  178. "asterisk",
  179. "asterisk_square",
  180. "at_sign",
  181. "atom",
  182. "audio_lines",
  183. "audio_waveform",
  184. "award",
  185. "axe",
  186. "axis_3d",
  187. "baby",
  188. "backpack",
  189. "badge",
  190. "badge_alert",
  191. "badge_cent",
  192. "badge_check",
  193. "badge_dollar_sign",
  194. "badge_euro",
  195. "badge_help",
  196. "badge_indian_rupee",
  197. "badge_info",
  198. "badge_japanese_yen",
  199. "badge_minus",
  200. "badge_percent",
  201. "badge_plus",
  202. "badge_pound_sterling",
  203. "badge_russian_ruble",
  204. "badge_swiss_franc",
  205. "badge_x",
  206. "baggage_claim",
  207. "ban",
  208. "banana",
  209. "banknote",
  210. "bar_chart",
  211. "bar_chart_2",
  212. "bar_chart_3",
  213. "bar_chart_4",
  214. "bar_chart_big",
  215. "bar_chart_horizontal",
  216. "bar_chart_horizontal_big",
  217. "barcode",
  218. "baseline",
  219. "bath",
  220. "battery",
  221. "battery_charging",
  222. "battery_full",
  223. "battery_low",
  224. "battery_medium",
  225. "battery_warning",
  226. "beaker",
  227. "bean",
  228. "bean_off",
  229. "bed",
  230. "bed_double",
  231. "bed_single",
  232. "beef",
  233. "beer",
  234. "bell",
  235. "bell_dot",
  236. "bell_electric",
  237. "bell_minus",
  238. "bell_off",
  239. "bell_plus",
  240. "bell_ring",
  241. "between_horizontal_end",
  242. "between_horizontal_start",
  243. "between_vertical_end",
  244. "between_vertical_start",
  245. "bike",
  246. "binary",
  247. "biohazard",
  248. "bird",
  249. "bitcoin",
  250. "blend",
  251. "blinds",
  252. "blocks",
  253. "bluetooth",
  254. "bluetooth_connected",
  255. "bluetooth_off",
  256. "bluetooth_searching",
  257. "bold",
  258. "bolt",
  259. "bomb",
  260. "bone",
  261. "book",
  262. "book_a",
  263. "book_audio",
  264. "book_check",
  265. "book_copy",
  266. "book_dashed",
  267. "book_down",
  268. "book_headphones",
  269. "book_heart",
  270. "book_image",
  271. "book_key",
  272. "book_lock",
  273. "book_marked",
  274. "book_minus",
  275. "book_open",
  276. "book_open_check",
  277. "book_open_text",
  278. "book_plus",
  279. "book_text",
  280. "book_type",
  281. "book_up",
  282. "book_up_2",
  283. "book_user",
  284. "book_x",
  285. "bookmark",
  286. "bookmark_check",
  287. "bookmark_minus",
  288. "bookmark_plus",
  289. "bookmark_x",
  290. "boom_box",
  291. "bot",
  292. "box",
  293. "box_select",
  294. "boxes",
  295. "braces",
  296. "brackets",
  297. "brain",
  298. "brain_circuit",
  299. "brain_cog",
  300. "brick_wall",
  301. "briefcase",
  302. "bring_to_front",
  303. "brush",
  304. "bug",
  305. "bug_off",
  306. "bug_play",
  307. "building",
  308. "building_2",
  309. "bus",
  310. "bus_front",
  311. "cable",
  312. "cable_car",
  313. "cake",
  314. "cake_slice",
  315. "calculator",
  316. "calendar",
  317. "calendar_check",
  318. "calendar_check_2",
  319. "calendar_clock",
  320. "calendar_days",
  321. "calendar_fold",
  322. "calendar_heart",
  323. "calendar_minus",
  324. "calendar_minus_2",
  325. "calendar_off",
  326. "calendar_plus",
  327. "calendar_plus_2",
  328. "calendar_range",
  329. "calendar_search",
  330. "calendar_x",
  331. "calendar_x_2",
  332. "camera",
  333. "camera_off",
  334. "candlestick_chart",
  335. "candy",
  336. "candy_cane",
  337. "candy_off",
  338. "car",
  339. "car_front",
  340. "car_taxi_front",
  341. "caravan",
  342. "carrot",
  343. "case_lower",
  344. "case_sensitive",
  345. "case_upper",
  346. "cassette_tape",
  347. "cast",
  348. "castle",
  349. "cat",
  350. "cctv",
  351. "check",
  352. "check_check",
  353. "check_circle",
  354. "check_circle_2",
  355. "check_square",
  356. "check_square_2",
  357. "chef_hat",
  358. "cherry",
  359. "chevron_down",
  360. "chevron_down_circle",
  361. "chevron_down_square",
  362. "chevron_first",
  363. "chevron_last",
  364. "chevron_left",
  365. "chevron_left_circle",
  366. "chevron_left_square",
  367. "chevron_right",
  368. "chevron_right_circle",
  369. "chevron_right_square",
  370. "chevron_up",
  371. "chevron_up_circle",
  372. "chevron_up_square",
  373. "chevrons_down",
  374. "chevrons_down_up",
  375. "chevrons_left",
  376. "chevrons_left_right",
  377. "chevrons_right",
  378. "chevrons_right_left",
  379. "chevrons_up",
  380. "chevrons_up_down",
  381. "chrome",
  382. "church",
  383. "cigarette",
  384. "cigarette_off",
  385. "circle",
  386. "circle_dashed",
  387. "circle_dollar_sign",
  388. "circle_dot",
  389. "circle_dot_dashed",
  390. "circle_ellipsis",
  391. "circle_equal",
  392. "circle_off",
  393. "circle_slash",
  394. "circle_slash_2",
  395. "circle_user",
  396. "circle_user_round",
  397. "circuit_board",
  398. "citrus",
  399. "clapperboard",
  400. "clipboard",
  401. "clipboard_check",
  402. "clipboard_copy",
  403. "clipboard_list",
  404. "clipboard_paste",
  405. "clipboard_pen",
  406. "clipboard_pen_line",
  407. "clipboard_type",
  408. "clipboard_x",
  409. "clock",
  410. "clock_1",
  411. "clock_10",
  412. "clock_11",
  413. "clock_12",
  414. "clock_2",
  415. "clock_3",
  416. "clock_4",
  417. "clock_5",
  418. "clock_6",
  419. "clock_7",
  420. "clock_8",
  421. "clock_9",
  422. "cloud",
  423. "cloud_cog",
  424. "cloud_drizzle",
  425. "cloud_fog",
  426. "cloud_hail",
  427. "cloud_lightning",
  428. "cloud_moon",
  429. "cloud_moon_rain",
  430. "cloud_off",
  431. "cloud_rain",
  432. "cloud_rain_wind",
  433. "cloud_snow",
  434. "cloud_sun",
  435. "cloud_sun_rain",
  436. "cloudy",
  437. "clover",
  438. "club",
  439. "code",
  440. "code_2",
  441. "code_square",
  442. "codepen",
  443. "codesandbox",
  444. "coffee",
  445. "cog",
  446. "coins",
  447. "columns_2",
  448. "columns_3",
  449. "columns_4",
  450. "combine",
  451. "command",
  452. "compass",
  453. "component",
  454. "computer",
  455. "concierge_bell",
  456. "cone",
  457. "construction",
  458. "contact",
  459. "contact_2",
  460. "container",
  461. "contrast",
  462. "cookie",
  463. "cooking_pot",
  464. "copy",
  465. "copy_check",
  466. "copy_minus",
  467. "copy_plus",
  468. "copy_slash",
  469. "copy_x",
  470. "copyleft",
  471. "copyright",
  472. "corner_down_left",
  473. "corner_down_right",
  474. "corner_left_down",
  475. "corner_left_up",
  476. "corner_right_down",
  477. "corner_right_up",
  478. "corner_up_left",
  479. "corner_up_right",
  480. "cpu",
  481. "creative_commons",
  482. "credit_card",
  483. "croissant",
  484. "crop",
  485. "cross",
  486. "crosshair",
  487. "crown",
  488. "cuboid",
  489. "cup_soda",
  490. "currency",
  491. "cylinder",
  492. "database",
  493. "database_backup",
  494. "database_zap",
  495. "delete",
  496. "dessert",
  497. "diameter",
  498. "diamond",
  499. "dice_1",
  500. "dice_2",
  501. "dice_3",
  502. "dice_4",
  503. "dice_5",
  504. "dice_6",
  505. "dices",
  506. "diff",
  507. "disc",
  508. "disc_2",
  509. "disc_3",
  510. "disc_album",
  511. "divide",
  512. "divide_circle",
  513. "divide_square",
  514. "dna",
  515. "dna_off",
  516. "dog",
  517. "dollar_sign",
  518. "donut",
  519. "door_closed",
  520. "door_open",
  521. "dot",
  522. "dot_square",
  523. "download",
  524. "download_cloud",
  525. "drafting_compass",
  526. "drama",
  527. "dribbble",
  528. "drill",
  529. "droplet",
  530. "droplets",
  531. "drum",
  532. "drumstick",
  533. "dumbbell",
  534. "ear",
  535. "ear_off",
  536. "eclipse",
  537. "egg",
  538. "egg_fried",
  539. "egg_off",
  540. "equal",
  541. "equal_not",
  542. "equal_square",
  543. "eraser",
  544. "euro",
  545. "expand",
  546. "external_link",
  547. "eye",
  548. "eye_off",
  549. "facebook",
  550. "factory",
  551. "fan",
  552. "fast_forward",
  553. "feather",
  554. "fence",
  555. "ferris_wheel",
  556. "figma",
  557. "file",
  558. "file_archive",
  559. "file_audio",
  560. "file_audio_2",
  561. "file_axis_3d",
  562. "file_badge",
  563. "file_badge_2",
  564. "file_bar_chart",
  565. "file_bar_chart_2",
  566. "file_box",
  567. "file_check",
  568. "file_check_2",
  569. "file_clock",
  570. "file_code",
  571. "file_code_2",
  572. "file_cog",
  573. "file_diff",
  574. "file_digit",
  575. "file_down",
  576. "file_heart",
  577. "file_image",
  578. "file_input",
  579. "file_json",
  580. "file_json_2",
  581. "file_key",
  582. "file_key_2",
  583. "file_line_chart",
  584. "file_lock",
  585. "file_lock_2",
  586. "file_minus",
  587. "file_minus_2",
  588. "file_music",
  589. "file_output",
  590. "file_pen",
  591. "file_pen_line",
  592. "file_pie_chart",
  593. "file_plus",
  594. "file_plus_2",
  595. "file_question",
  596. "file_scan",
  597. "file_search",
  598. "file_search_2",
  599. "file_sliders",
  600. "file_spreadsheet",
  601. "file_stack",
  602. "file_symlink",
  603. "file_terminal",
  604. "file_text",
  605. "file_type",
  606. "file_type_2",
  607. "file_up",
  608. "file_video",
  609. "file_video_2",
  610. "file_volume",
  611. "file_volume_2",
  612. "file_warning",
  613. "file_x",
  614. "file_x_2",
  615. "files",
  616. "film",
  617. "filter",
  618. "filter_x",
  619. "fingerprint",
  620. "fire_extinguisher",
  621. "fish",
  622. "fish_off",
  623. "fish_symbol",
  624. "flag",
  625. "flag_off",
  626. "flag_triangle_left",
  627. "flag_triangle_right",
  628. "flame",
  629. "flame_kindling",
  630. "flashlight",
  631. "flashlight_off",
  632. "flask_conical",
  633. "flask_conical_off",
  634. "flask_round",
  635. "flip_horizontal",
  636. "flip_horizontal_2",
  637. "flip_vertical",
  638. "flip_vertical_2",
  639. "flower",
  640. "flower_2",
  641. "focus",
  642. "fold_horizontal",
  643. "fold_vertical",
  644. "folder",
  645. "folder_archive",
  646. "folder_check",
  647. "folder_clock",
  648. "folder_closed",
  649. "folder_cog",
  650. "folder_dot",
  651. "folder_down",
  652. "folder_git",
  653. "folder_git_2",
  654. "folder_heart",
  655. "folder_input",
  656. "folder_kanban",
  657. "folder_key",
  658. "folder_lock",
  659. "folder_minus",
  660. "folder_open",
  661. "folder_open_dot",
  662. "folder_output",
  663. "folder_pen",
  664. "folder_plus",
  665. "folder_root",
  666. "folder_search",
  667. "folder_search_2",
  668. "folder_symlink",
  669. "folder_sync",
  670. "folder_tree",
  671. "folder_up",
  672. "folder_x",
  673. "folders",
  674. "footprints",
  675. "forklift",
  676. "form_input",
  677. "forward",
  678. "frame",
  679. "framer",
  680. "frown",
  681. "fuel",
  682. "fullscreen",
  683. "function_square",
  684. "gallery_horizontal",
  685. "gallery_horizontal_end",
  686. "gallery_thumbnails",
  687. "gallery_vertical",
  688. "gallery_vertical_end",
  689. "gamepad",
  690. "gamepad_2",
  691. "gantt_chart",
  692. "gantt_chart_square",
  693. "gauge",
  694. "gauge_circle",
  695. "gavel",
  696. "gem",
  697. "ghost",
  698. "gift",
  699. "git_branch",
  700. "git_branch_plus",
  701. "git_commit_horizontal",
  702. "git_commit_vertical",
  703. "git_compare",
  704. "git_compare_arrows",
  705. "git_fork",
  706. "git_graph",
  707. "git_merge",
  708. "git_pull_request",
  709. "git_pull_request_arrow",
  710. "git_pull_request_closed",
  711. "git_pull_request_create",
  712. "git_pull_request_create_arrow",
  713. "git_pull_request_draft",
  714. "github",
  715. "gitlab",
  716. "glass_water",
  717. "glasses",
  718. "globe",
  719. "globe_2",
  720. "goal",
  721. "grab",
  722. "graduation_cap",
  723. "grape",
  724. "grid_2x2",
  725. "grid_3x3",
  726. "grip",
  727. "grip_horizontal",
  728. "grip_vertical",
  729. "group",
  730. "guitar",
  731. "hammer",
  732. "hand",
  733. "hand_metal",
  734. "hard_drive",
  735. "hard_drive_download",
  736. "hard_drive_upload",
  737. "hard_hat",
  738. "hash",
  739. "haze",
  740. "hdmi_port",
  741. "heading",
  742. "heading_1",
  743. "heading_2",
  744. "heading_3",
  745. "heading_4",
  746. "heading_5",
  747. "heading_6",
  748. "headphones",
  749. "heart",
  750. "heart_crack",
  751. "heart_handshake",
  752. "heart_off",
  753. "heart_pulse",
  754. "heater",
  755. "help_circle",
  756. "helping_hand",
  757. "hexagon",
  758. "highlighter",
  759. "history",
  760. "home",
  761. "hop",
  762. "hop_off",
  763. "hotel",
  764. "hourglass",
  765. "ice_cream",
  766. "ice_cream_2",
  767. "image",
  768. "image_down",
  769. "image_minus",
  770. "image_off",
  771. "image_plus",
  772. "import",
  773. "inbox",
  774. "indent",
  775. "indian_rupee",
  776. "infinity",
  777. "info",
  778. "inspection_panel",
  779. "instagram",
  780. "italic",
  781. "iteration_ccw",
  782. "iteration_cw",
  783. "japanese_yen",
  784. "joystick",
  785. "kanban",
  786. "kanban_square",
  787. "kanban_square_dashed",
  788. "key",
  789. "key_round",
  790. "key_square",
  791. "keyboard",
  792. "keyboard_music",
  793. "lamp",
  794. "lamp_ceiling",
  795. "lamp_desk",
  796. "lamp_floor",
  797. "lamp_wall_down",
  798. "lamp_wall_up",
  799. "land_plot",
  800. "landmark",
  801. "languages",
  802. "laptop",
  803. "laptop_2",
  804. "lasso",
  805. "lasso_select",
  806. "laugh",
  807. "layers",
  808. "layers_2",
  809. "layers_3",
  810. "layout_dashboard",
  811. "layout_grid",
  812. "layout_list",
  813. "layout_panel_left",
  814. "layout_panel_top",
  815. "layout_template",
  816. "leaf",
  817. "leafy_green",
  818. "library",
  819. "library_big",
  820. "library_square",
  821. "life_buoy",
  822. "ligature",
  823. "lightbulb",
  824. "lightbulb_off",
  825. "line_chart",
  826. "link",
  827. "link_2",
  828. "link_2_off",
  829. "linkedin",
  830. "list",
  831. "list_checks",
  832. "list_collapse",
  833. "list_end",
  834. "list_filter",
  835. "list_minus",
  836. "list_music",
  837. "list_ordered",
  838. "list_plus",
  839. "list_restart",
  840. "list_start",
  841. "list_todo",
  842. "list_tree",
  843. "list_video",
  844. "list_x",
  845. "loader",
  846. "loader_2",
  847. "locate",
  848. "locate_fixed",
  849. "locate_off",
  850. "lock",
  851. "lock_keyhole",
  852. "log_in",
  853. "log_out",
  854. "lollipop",
  855. "luggage",
  856. "m_square",
  857. "magnet",
  858. "mail",
  859. "mail_check",
  860. "mail_minus",
  861. "mail_open",
  862. "mail_plus",
  863. "mail_question",
  864. "mail_search",
  865. "mail_warning",
  866. "mail_x",
  867. "mailbox",
  868. "mails",
  869. "map",
  870. "map_pin",
  871. "map_pin_off",
  872. "map_pinned",
  873. "martini",
  874. "maximize",
  875. "maximize_2",
  876. "medal",
  877. "megaphone",
  878. "megaphone_off",
  879. "meh",
  880. "memory_stick",
  881. "menu",
  882. "menu_square",
  883. "merge",
  884. "message_circle",
  885. "message_circle_code",
  886. "message_circle_dashed",
  887. "message_circle_heart",
  888. "message_circle_more",
  889. "message_circle_off",
  890. "message_circle_plus",
  891. "message_circle_question",
  892. "message_circle_reply",
  893. "message_circle_warning",
  894. "message_circle_x",
  895. "message_square",
  896. "message_square_code",
  897. "message_square_dashed",
  898. "message_square_diff",
  899. "message_square_dot",
  900. "message_square_heart",
  901. "message_square_more",
  902. "message_square_off",
  903. "message_square_plus",
  904. "message_square_quote",
  905. "message_square_reply",
  906. "message_square_share",
  907. "message_square_text",
  908. "message_square_warning",
  909. "message_square_x",
  910. "messages_square",
  911. "mic",
  912. "mic_2",
  913. "mic_off",
  914. "microscope",
  915. "microwave",
  916. "milestone",
  917. "milk",
  918. "milk_off",
  919. "minimize",
  920. "minimize_2",
  921. "minus",
  922. "minus_circle",
  923. "minus_square",
  924. "monitor",
  925. "monitor_check",
  926. "monitor_dot",
  927. "monitor_down",
  928. "monitor_off",
  929. "monitor_pause",
  930. "monitor_play",
  931. "monitor_smartphone",
  932. "monitor_speaker",
  933. "monitor_stop",
  934. "monitor_up",
  935. "monitor_x",
  936. "moon",
  937. "moon_star",
  938. "more_horizontal",
  939. "more_vertical",
  940. "mountain",
  941. "mountain_snow",
  942. "mouse",
  943. "mouse_pointer",
  944. "mouse_pointer_2",
  945. "mouse_pointer_click",
  946. "mouse_pointer_square",
  947. "mouse_pointer_square_dashed",
  948. "move",
  949. "move_3d",
  950. "move_diagonal",
  951. "move_diagonal_2",
  952. "move_down",
  953. "move_down_left",
  954. "move_down_right",
  955. "move_horizontal",
  956. "move_left",
  957. "move_right",
  958. "move_up",
  959. "move_up_left",
  960. "move_up_right",
  961. "move_vertical",
  962. "music",
  963. "music_2",
  964. "music_3",
  965. "music_4",
  966. "navigation",
  967. "navigation_2",
  968. "navigation_2_off",
  969. "navigation_off",
  970. "network",
  971. "newspaper",
  972. "nfc",
  973. "notebook",
  974. "notebook_pen",
  975. "notebook_tabs",
  976. "notebook_text",
  977. "notepad_text",
  978. "notepad_text_dashed",
  979. "nut",
  980. "nut_off",
  981. "octagon",
  982. "option",
  983. "orbit",
  984. "outdent",
  985. "package",
  986. "package_2",
  987. "package_check",
  988. "package_minus",
  989. "package_open",
  990. "package_plus",
  991. "package_search",
  992. "package_x",
  993. "paint_bucket",
  994. "paint_roller",
  995. "paintbrush",
  996. "paintbrush_2",
  997. "palette",
  998. "palmtree",
  999. "panel_bottom",
  1000. "panel_bottom_close",
  1001. "panel_bottom_dashed",
  1002. "panel_bottom_open",
  1003. "panel_left",
  1004. "panel_left_close",
  1005. "panel_left_dashed",
  1006. "panel_left_open",
  1007. "panel_right",
  1008. "panel_right_close",
  1009. "panel_right_dashed",
  1010. "panel_right_open",
  1011. "panel_top",
  1012. "panel_top_close",
  1013. "panel_top_dashed",
  1014. "panel_top_open",
  1015. "panels_left_bottom",
  1016. "panels_right_bottom",
  1017. "panels_top_left",
  1018. "paperclip",
  1019. "parentheses",
  1020. "parking_circle",
  1021. "parking_circle_off",
  1022. "parking_meter",
  1023. "parking_square",
  1024. "parking_square_off",
  1025. "party_popper",
  1026. "pause",
  1027. "pause_circle",
  1028. "pause_octagon",
  1029. "paw_print",
  1030. "pc_case",
  1031. "pen",
  1032. "pen_line",
  1033. "pen_tool",
  1034. "pencil",
  1035. "pencil_line",
  1036. "pencil_ruler",
  1037. "pentagon",
  1038. "percent",
  1039. "percent_circle",
  1040. "percent_diamond",
  1041. "percent_square",
  1042. "person_standing",
  1043. "phone",
  1044. "phone_call",
  1045. "phone_forwarded",
  1046. "phone_incoming",
  1047. "phone_missed",
  1048. "phone_off",
  1049. "phone_outgoing",
  1050. "pi",
  1051. "pi_square",
  1052. "piano",
  1053. "picture_in_picture",
  1054. "picture_in_picture_2",
  1055. "pie_chart",
  1056. "piggy_bank",
  1057. "pilcrow",
  1058. "pilcrow_square",
  1059. "pill",
  1060. "pin",
  1061. "pin_off",
  1062. "pipette",
  1063. "pizza",
  1064. "plane",
  1065. "plane_landing",
  1066. "plane_takeoff",
  1067. "play",
  1068. "play_circle",
  1069. "play_square",
  1070. "plug",
  1071. "plug_2",
  1072. "plug_zap",
  1073. "plug_zap_2",
  1074. "plus",
  1075. "plus_circle",
  1076. "plus_square",
  1077. "pocket",
  1078. "pocket_knife",
  1079. "podcast",
  1080. "pointer",
  1081. "pointer_off",
  1082. "popcorn",
  1083. "popsicle",
  1084. "pound_sterling",
  1085. "power",
  1086. "power_circle",
  1087. "power_off",
  1088. "power_square",
  1089. "presentation",
  1090. "printer",
  1091. "projector",
  1092. "puzzle",
  1093. "pyramid",
  1094. "qr_code",
  1095. "quote",
  1096. "rabbit",
  1097. "radar",
  1098. "radiation",
  1099. "radio",
  1100. "radio_receiver",
  1101. "radio_tower",
  1102. "radius",
  1103. "rail_symbol",
  1104. "rainbow",
  1105. "rat",
  1106. "ratio",
  1107. "receipt",
  1108. "receipt_cent",
  1109. "receipt_euro",
  1110. "receipt_indian_rupee",
  1111. "receipt_japanese_yen",
  1112. "receipt_pound_sterling",
  1113. "receipt_russian_ruble",
  1114. "receipt_swiss_franc",
  1115. "receipt_text",
  1116. "rectangle_horizontal",
  1117. "rectangle_vertical",
  1118. "recycle",
  1119. "redo",
  1120. "redo_2",
  1121. "redo_dot",
  1122. "refresh_ccw",
  1123. "refresh_ccw_dot",
  1124. "refresh_cw",
  1125. "refresh_cw_off",
  1126. "refrigerator",
  1127. "regex",
  1128. "remove_formatting",
  1129. "repeat",
  1130. "repeat_1",
  1131. "repeat_2",
  1132. "replace",
  1133. "replace_all",
  1134. "reply",
  1135. "reply_all",
  1136. "rewind",
  1137. "ribbon",
  1138. "rocket",
  1139. "rocking_chair",
  1140. "roller_coaster",
  1141. "rotate_3d",
  1142. "rotate_ccw",
  1143. "rotate_cw",
  1144. "route",
  1145. "route_off",
  1146. "router",
  1147. "rows_2",
  1148. "rows_3",
  1149. "rows_4",
  1150. "rss",
  1151. "ruler",
  1152. "russian_ruble",
  1153. "sailboat",
  1154. "salad",
  1155. "sandwich",
  1156. "satellite",
  1157. "satellite_dish",
  1158. "save",
  1159. "save_all",
  1160. "scale",
  1161. "scale_3d",
  1162. "scaling",
  1163. "scan",
  1164. "scan_barcode",
  1165. "scan_eye",
  1166. "scan_face",
  1167. "scan_line",
  1168. "scan_search",
  1169. "scan_text",
  1170. "scatter_chart",
  1171. "school",
  1172. "school_2",
  1173. "scissors",
  1174. "scissors_line_dashed",
  1175. "scissors_square",
  1176. "scissors_square_dashed_bottom",
  1177. "screen_share",
  1178. "screen_share_off",
  1179. "scroll",
  1180. "scroll_text",
  1181. "search",
  1182. "search_check",
  1183. "search_code",
  1184. "search_slash",
  1185. "search_x",
  1186. "send",
  1187. "send_horizontal",
  1188. "send_to_back",
  1189. "separator_horizontal",
  1190. "separator_vertical",
  1191. "server",
  1192. "server_cog",
  1193. "server_crash",
  1194. "server_off",
  1195. "settings",
  1196. "settings_2",
  1197. "shapes",
  1198. "share",
  1199. "share_2",
  1200. "sheet",
  1201. "shell",
  1202. "shield",
  1203. "shield_alert",
  1204. "shield_ban",
  1205. "shield_check",
  1206. "shield_ellipsis",
  1207. "shield_half",
  1208. "shield_minus",
  1209. "shield_off",
  1210. "shield_plus",
  1211. "shield_question",
  1212. "shield_x",
  1213. "ship",
  1214. "ship_wheel",
  1215. "shirt",
  1216. "shopping_bag",
  1217. "shopping_basket",
  1218. "shopping_cart",
  1219. "shovel",
  1220. "shower_head",
  1221. "shrink",
  1222. "shrub",
  1223. "shuffle",
  1224. "sigma",
  1225. "sigma_square",
  1226. "signal",
  1227. "signal_high",
  1228. "signal_low",
  1229. "signal_medium",
  1230. "signal_zero",
  1231. "signpost",
  1232. "signpost_big",
  1233. "siren",
  1234. "skip_back",
  1235. "skip_forward",
  1236. "skull",
  1237. "slack",
  1238. "slash",
  1239. "slash_square",
  1240. "slice",
  1241. "sliders",
  1242. "sliders_horizontal",
  1243. "smartphone",
  1244. "smartphone_charging",
  1245. "smartphone_nfc",
  1246. "smile",
  1247. "smile_plus",
  1248. "snail",
  1249. "snowflake",
  1250. "sofa",
  1251. "soup",
  1252. "space",
  1253. "spade",
  1254. "sparkle",
  1255. "sparkles",
  1256. "speaker",
  1257. "speech",
  1258. "spell_check",
  1259. "spell_check_2",
  1260. "spline",
  1261. "split",
  1262. "split_square_horizontal",
  1263. "split_square_vertical",
  1264. "spray_can",
  1265. "sprout",
  1266. "square",
  1267. "square_dashed_bottom",
  1268. "square_dashed_bottom_code",
  1269. "square_pen",
  1270. "square_stack",
  1271. "square_user",
  1272. "square_user_round",
  1273. "squircle",
  1274. "squirrel",
  1275. "stamp",
  1276. "star",
  1277. "star_half",
  1278. "star_off",
  1279. "step_back",
  1280. "step_forward",
  1281. "stethoscope",
  1282. "sticker",
  1283. "sticky_note",
  1284. "stop_circle",
  1285. "store",
  1286. "stretch_horizontal",
  1287. "stretch_vertical",
  1288. "strikethrough",
  1289. "subscript",
  1290. "subtitles",
  1291. "sun",
  1292. "sun_dim",
  1293. "sun_medium",
  1294. "sun_moon",
  1295. "sun_snow",
  1296. "sunrise",
  1297. "sunset",
  1298. "superscript",
  1299. "swatch_book",
  1300. "swiss_franc",
  1301. "switch_camera",
  1302. "sword",
  1303. "swords",
  1304. "syringe",
  1305. "table",
  1306. "table_2",
  1307. "table_properties",
  1308. "tablet",
  1309. "tablet_smartphone",
  1310. "tablets",
  1311. "tag",
  1312. "tags",
  1313. "tally_1",
  1314. "tally_2",
  1315. "tally_3",
  1316. "tally_4",
  1317. "tally_5",
  1318. "tangent",
  1319. "target",
  1320. "tent",
  1321. "tent_tree",
  1322. "terminal",
  1323. "terminal_square",
  1324. "test_tube",
  1325. "test_tube_2",
  1326. "test_tubes",
  1327. "text",
  1328. "text_cursor",
  1329. "text_cursor_input",
  1330. "text_quote",
  1331. "text_search",
  1332. "text_select",
  1333. "theater",
  1334. "thermometer",
  1335. "thermometer_snowflake",
  1336. "thermometer_sun",
  1337. "thumbs_down",
  1338. "thumbs_up",
  1339. "ticket",
  1340. "ticket_check",
  1341. "ticket_minus",
  1342. "ticket_percent",
  1343. "ticket_plus",
  1344. "ticket_slash",
  1345. "ticket_x",
  1346. "timer",
  1347. "timer_off",
  1348. "timer_reset",
  1349. "toggle_left",
  1350. "toggle_right",
  1351. "tornado",
  1352. "torus",
  1353. "touchpad",
  1354. "touchpad_off",
  1355. "tower_control",
  1356. "toy_brick",
  1357. "tractor",
  1358. "traffic_cone",
  1359. "train_front",
  1360. "train_front_tunnel",
  1361. "train_track",
  1362. "tram_front",
  1363. "trash",
  1364. "trash_2",
  1365. "tree_deciduous",
  1366. "tree_pine",
  1367. "trees",
  1368. "trello",
  1369. "trending_down",
  1370. "trending_up",
  1371. "triangle",
  1372. "triangle_right",
  1373. "trophy",
  1374. "truck",
  1375. "turtle",
  1376. "tv",
  1377. "tv_2",
  1378. "twitch",
  1379. "twitter",
  1380. "type",
  1381. "umbrella",
  1382. "umbrella_off",
  1383. "underline",
  1384. "undo",
  1385. "undo_2",
  1386. "undo_dot",
  1387. "unfold_horizontal",
  1388. "unfold_vertical",
  1389. "ungroup",
  1390. "unlink",
  1391. "unlink_2",
  1392. "unlock",
  1393. "unlock_keyhole",
  1394. "unplug",
  1395. "upload",
  1396. "upload_cloud",
  1397. "usb",
  1398. "user",
  1399. "user_check",
  1400. "user_cog",
  1401. "user_minus",
  1402. "user_plus",
  1403. "user_round",
  1404. "user_round_check",
  1405. "user_round_cog",
  1406. "user_round_minus",
  1407. "user_round_plus",
  1408. "user_round_search",
  1409. "user_round_x",
  1410. "user_search",
  1411. "user_x",
  1412. "users",
  1413. "users_round",
  1414. "utensils",
  1415. "utensils_crossed",
  1416. "utility_pole",
  1417. "variable",
  1418. "vault",
  1419. "vegan",
  1420. "venetian_mask",
  1421. "vibrate",
  1422. "vibrate_off",
  1423. "video",
  1424. "video_off",
  1425. "videotape",
  1426. "view",
  1427. "voicemail",
  1428. "volume",
  1429. "volume_1",
  1430. "volume_2",
  1431. "volume_x",
  1432. "vote",
  1433. "wallet",
  1434. "wallet_2",
  1435. "wallet_cards",
  1436. "wallpaper",
  1437. "wand",
  1438. "wand_2",
  1439. "warehouse",
  1440. "washing_machine",
  1441. "watch",
  1442. "waves",
  1443. "waypoints",
  1444. "webcam",
  1445. "webhook",
  1446. "weight",
  1447. "wheat",
  1448. "wheat_off",
  1449. "whole_word",
  1450. "wifi",
  1451. "wifi_off",
  1452. "wind",
  1453. "wine",
  1454. "wine_off",
  1455. "workflow",
  1456. "wrap_text",
  1457. "wrench",
  1458. "x",
  1459. "x_circle",
  1460. "x_octagon",
  1461. "x_square",
  1462. "youtube",
  1463. "zap",
  1464. "zap_off",
  1465. "zoom_in",
  1466. "zoom_out",
  1467. ]