icon.py 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732
  1. """Lucide Icon component."""
  2. from reflex.components.component import Component
  3. from reflex.utils import console, format
  4. from reflex.utils.imports import ImportVar
  5. from reflex.vars.base import LiteralVar, Var
  6. from reflex.vars.sequence import LiteralStringVar, StringVar
  7. class LucideIconComponent(Component):
  8. """Lucide Icon Component."""
  9. library = "lucide-react@0.510.0"
  10. class Icon(LucideIconComponent):
  11. """An Icon component."""
  12. tag = "None"
  13. # The size of the icon in pixels.
  14. size: Var[int]
  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. TypeError: If the icon name is not a string.
  25. Returns:
  26. The created component.
  27. """
  28. if children:
  29. if len(children) == 1:
  30. child = Var.create(children[0]).guess_type()
  31. if not isinstance(child, StringVar):
  32. raise AttributeError(
  33. f"Icon name must be a string, got {children[0]._var_type if isinstance(children[0], Var) else children[0]}"
  34. )
  35. props["tag"] = children[0]
  36. else:
  37. raise AttributeError(
  38. f"Passing multiple children to Icon component is not allowed: remove positional arguments {children[1:]} to fix"
  39. )
  40. if "tag" not in props:
  41. raise AttributeError("Missing 'tag' keyword-argument for Icon")
  42. tag_var: Var | LiteralVar = Var.create(props.pop("tag"))
  43. if isinstance(tag_var, LiteralVar):
  44. if isinstance(tag_var, LiteralStringVar):
  45. tag = format.to_snake_case(tag_var._var_value.lower())
  46. else:
  47. raise TypeError(f"Icon name must be a string, got {type(tag_var)}")
  48. elif isinstance(tag_var, Var):
  49. tag_stringified = tag_var.guess_type()
  50. if not isinstance(tag_stringified, StringVar):
  51. raise TypeError(f"Icon name must be a string, got {tag_var._var_type}")
  52. return DynamicIcon.create(name=tag_stringified.replace("_", "-"), **props)
  53. if tag not in LUCIDE_ICON_LIST:
  54. icons_sorted = sorted(
  55. LUCIDE_ICON_LIST,
  56. key=lambda s, tag=tag: format.length_of_largest_common_substring(
  57. tag, s
  58. ),
  59. reverse=True,
  60. )
  61. console.warn(
  62. f"Invalid icon tag: {tag}. Please use one of the following: {', '.join(icons_sorted[0:10])}, ..."
  63. "\nSee full list at https://reflex.dev/docs/library/data-display/icon/#icons-list. Using 'circle_help' icon instead."
  64. )
  65. tag = "circle_help"
  66. props["tag"] = LUCIDE_ICON_MAPPING_OVERRIDE.get(tag, format.to_title_case(tag))
  67. props["alias"] = f"Lucide{props['tag']}"
  68. return super().create(**props)
  69. class DynamicIcon(LucideIconComponent):
  70. """A DynamicIcon component."""
  71. tag = "DynamicIcon"
  72. name: Var[str]
  73. def _get_imports(self):
  74. _imports = super()._get_imports()
  75. if self.library:
  76. _imports.pop(self.library)
  77. _imports["lucide-react"] = [ImportVar("DynamicIcon", package_path="/dynamic")]
  78. return _imports
  79. LUCIDE_ICON_LIST = [
  80. "a_arrow_down",
  81. "a_arrow_up",
  82. "a_large_small",
  83. "accessibility",
  84. "activity",
  85. "air_vent",
  86. "airplay",
  87. "alarm_clock",
  88. "alarm_clock_check",
  89. "alarm_clock_minus",
  90. "alarm_clock_off",
  91. "alarm_clock_plus",
  92. "alarm_smoke",
  93. "album",
  94. "align_center",
  95. "align_center_horizontal",
  96. "align_center_vertical",
  97. "align_end_horizontal",
  98. "align_end_vertical",
  99. "align_horizontal_distribute_center",
  100. "align_horizontal_distribute_end",
  101. "align_horizontal_distribute_start",
  102. "align_horizontal_justify_center",
  103. "align_horizontal_justify_end",
  104. "align_horizontal_justify_start",
  105. "align_horizontal_space_around",
  106. "align_horizontal_space_between",
  107. "align_justify",
  108. "align_left",
  109. "align_right",
  110. "align_start_horizontal",
  111. "align_start_vertical",
  112. "align_vertical_distribute_center",
  113. "align_vertical_distribute_end",
  114. "align_vertical_distribute_start",
  115. "align_vertical_justify_center",
  116. "align_vertical_justify_end",
  117. "align_vertical_justify_start",
  118. "align_vertical_space_around",
  119. "align_vertical_space_between",
  120. "ambulance",
  121. "ampersand",
  122. "ampersands",
  123. "amphora",
  124. "anchor",
  125. "angry",
  126. "annoyed",
  127. "antenna",
  128. "anvil",
  129. "aperture",
  130. "app_window",
  131. "app_window_mac",
  132. "apple",
  133. "archive",
  134. "archive_restore",
  135. "archive_x",
  136. "area_chart",
  137. "armchair",
  138. "arrow_big_down",
  139. "arrow_big_down_dash",
  140. "arrow_big_left",
  141. "arrow_big_left_dash",
  142. "arrow_big_right",
  143. "arrow_big_right_dash",
  144. "arrow_big_up",
  145. "arrow_big_up_dash",
  146. "arrow_down",
  147. "arrow_down_0_1",
  148. "arrow_down_1_0",
  149. "arrow_down_a_z",
  150. "arrow_down_from_line",
  151. "arrow_down_left",
  152. "arrow_down_narrow_wide",
  153. "arrow_down_right",
  154. "arrow_down_to_dot",
  155. "arrow_down_to_line",
  156. "arrow_down_up",
  157. "arrow_down_wide_narrow",
  158. "arrow_down_z_a",
  159. "arrow_left",
  160. "arrow_left_from_line",
  161. "arrow_left_right",
  162. "arrow_left_to_line",
  163. "arrow_right",
  164. "arrow_right_from_line",
  165. "arrow_right_left",
  166. "arrow_right_to_line",
  167. "arrow_up",
  168. "arrow_up_0_1",
  169. "arrow_up_1_0",
  170. "arrow_up_a_z",
  171. "arrow_up_down",
  172. "arrow_up_from_dot",
  173. "arrow_up_from_line",
  174. "arrow_up_left",
  175. "arrow_up_narrow_wide",
  176. "arrow_up_right",
  177. "arrow_up_to_line",
  178. "arrow_up_wide_narrow",
  179. "arrow_up_z_a",
  180. "arrows_up_from_line",
  181. "asterisk",
  182. "at_sign",
  183. "atom",
  184. "audio_lines",
  185. "audio_waveform",
  186. "award",
  187. "axe",
  188. "axis_3d",
  189. "baby",
  190. "backpack",
  191. "badge",
  192. "badge_alert",
  193. "badge_cent",
  194. "badge_check",
  195. "badge_dollar_sign",
  196. "badge_euro",
  197. "badge_help",
  198. "badge_indian_rupee",
  199. "badge_info",
  200. "badge_japanese_yen",
  201. "badge_minus",
  202. "badge_percent",
  203. "badge_plus",
  204. "badge_pound_sterling",
  205. "badge_russian_ruble",
  206. "badge_swiss_franc",
  207. "badge_x",
  208. "baggage_claim",
  209. "ban",
  210. "banana",
  211. "bandage",
  212. "banknote",
  213. "banknote_arrow_down",
  214. "banknote_x",
  215. "bar_chart",
  216. "bar_chart_2",
  217. "bar_chart_3",
  218. "bar_chart_4",
  219. "bar_chart_big",
  220. "bar_chart_horizontal",
  221. "bar_chart_horizontal_big",
  222. "barcode",
  223. "baseline",
  224. "bath",
  225. "battery",
  226. "battery_charging",
  227. "battery_full",
  228. "battery_low",
  229. "battery_medium",
  230. "battery_plus",
  231. "battery_warning",
  232. "beaker",
  233. "bean",
  234. "bean_off",
  235. "bed",
  236. "bed_double",
  237. "bed_single",
  238. "beef",
  239. "beer",
  240. "beer_off",
  241. "bell",
  242. "bell_dot",
  243. "bell_electric",
  244. "bell_minus",
  245. "bell_off",
  246. "bell_plus",
  247. "bell_ring",
  248. "between_horizontal_end",
  249. "between_horizontal_start",
  250. "between_vertical_end",
  251. "between_vertical_start",
  252. "biceps_flexed",
  253. "bike",
  254. "binary",
  255. "binoculars",
  256. "biohazard",
  257. "bird",
  258. "bitcoin",
  259. "blend",
  260. "blinds",
  261. "blocks",
  262. "bluetooth",
  263. "bluetooth_connected",
  264. "bluetooth_off",
  265. "bluetooth_searching",
  266. "bold",
  267. "bolt",
  268. "bomb",
  269. "bone",
  270. "book",
  271. "book_a",
  272. "book_audio",
  273. "book_check",
  274. "book_copy",
  275. "book_dashed",
  276. "book_down",
  277. "book_headphones",
  278. "book_heart",
  279. "book_image",
  280. "book_key",
  281. "book_lock",
  282. "book_marked",
  283. "book_minus",
  284. "book_open",
  285. "book_open_check",
  286. "book_open_text",
  287. "book_plus",
  288. "book_text",
  289. "book_type",
  290. "book_up",
  291. "book_up_2",
  292. "book_user",
  293. "book_x",
  294. "bookmark",
  295. "bookmark_check",
  296. "bookmark_minus",
  297. "bookmark_plus",
  298. "bookmark_x",
  299. "boom_box",
  300. "bot",
  301. "bot_message_square",
  302. "bot_off",
  303. "bow_arrow",
  304. "box",
  305. "box_select",
  306. "boxes",
  307. "braces",
  308. "brackets",
  309. "brain",
  310. "brain_circuit",
  311. "brain_cog",
  312. "brick_wall",
  313. "brick_wall_fire",
  314. "briefcase",
  315. "briefcase_business",
  316. "briefcase_conveyor_belt",
  317. "briefcase_medical",
  318. "bring_to_front",
  319. "brush",
  320. "brush_cleaning",
  321. "bubbles",
  322. "bug",
  323. "bug_off",
  324. "bug_play",
  325. "building",
  326. "building_2",
  327. "bus",
  328. "bus_front",
  329. "cable",
  330. "cable_car",
  331. "cake",
  332. "cake_slice",
  333. "calculator",
  334. "calendar",
  335. "calendar_1",
  336. "calendar_arrow_down",
  337. "calendar_arrow_up",
  338. "calendar_check",
  339. "calendar_check_2",
  340. "calendar_clock",
  341. "calendar_cog",
  342. "calendar_days",
  343. "calendar_fold",
  344. "calendar_heart",
  345. "calendar_minus",
  346. "calendar_minus_2",
  347. "calendar_off",
  348. "calendar_plus",
  349. "calendar_plus_2",
  350. "calendar_range",
  351. "calendar_search",
  352. "calendar_sync",
  353. "calendar_x",
  354. "calendar_x_2",
  355. "camera",
  356. "camera_off",
  357. "candlestick_chart",
  358. "candy",
  359. "candy_cane",
  360. "candy_off",
  361. "cannabis",
  362. "captions",
  363. "captions_off",
  364. "car",
  365. "car_front",
  366. "car_taxi_front",
  367. "caravan",
  368. "carrot",
  369. "case_lower",
  370. "case_sensitive",
  371. "case_upper",
  372. "cassette_tape",
  373. "cast",
  374. "castle",
  375. "cat",
  376. "cctv",
  377. "chart_area",
  378. "chart_bar",
  379. "chart_bar_big",
  380. "chart_bar_decreasing",
  381. "chart_bar_increasing",
  382. "chart_bar_stacked",
  383. "chart_candlestick",
  384. "chart_column",
  385. "chart_column_big",
  386. "chart_column_decreasing",
  387. "chart_column_increasing",
  388. "chart_column_stacked",
  389. "chart_gantt",
  390. "chart_line",
  391. "chart_network",
  392. "chart_no_axes_column",
  393. "chart_no_axes_column_decreasing",
  394. "chart_no_axes_column_increasing",
  395. "chart_no_axes_combined",
  396. "chart_no_axes_gantt",
  397. "chart_pie",
  398. "chart_scatter",
  399. "chart_spline",
  400. "check",
  401. "check_check",
  402. "check_line",
  403. "chef_hat",
  404. "cherry",
  405. "chevron_down",
  406. "chevron_first",
  407. "chevron_last",
  408. "chevron_left",
  409. "chevron_right",
  410. "chevron_up",
  411. "chevrons_down",
  412. "chevrons_down_up",
  413. "chevrons_left",
  414. "chevrons_left_right",
  415. "chevrons_left_right_ellipsis",
  416. "chevrons_right",
  417. "chevrons_right_left",
  418. "chevrons_up",
  419. "chevrons_up_down",
  420. "chrome",
  421. "church",
  422. "cigarette",
  423. "cigarette_off",
  424. "circle",
  425. "circle_alert",
  426. "circle_arrow_down",
  427. "circle_arrow_left",
  428. "circle_arrow_out_down_left",
  429. "circle_arrow_out_down_right",
  430. "circle_arrow_out_up_left",
  431. "circle_arrow_out_up_right",
  432. "circle_arrow_right",
  433. "circle_arrow_up",
  434. "circle_check",
  435. "circle_check_big",
  436. "circle_chevron_down",
  437. "circle_chevron_left",
  438. "circle_chevron_right",
  439. "circle_chevron_up",
  440. "circle_dashed",
  441. "circle_divide",
  442. "circle_dollar_sign",
  443. "circle_dot",
  444. "circle_dot_dashed",
  445. "circle_ellipsis",
  446. "circle_equal",
  447. "circle_fading_arrow_up",
  448. "circle_fading_plus",
  449. "circle_gauge",
  450. "circle_help",
  451. "circle_minus",
  452. "circle_off",
  453. "circle_parking",
  454. "circle_parking_off",
  455. "circle_pause",
  456. "circle_percent",
  457. "circle_play",
  458. "circle_plus",
  459. "circle_power",
  460. "circle_slash",
  461. "circle_slash_2",
  462. "circle_small",
  463. "circle_stop",
  464. "circle_user",
  465. "circle_user_round",
  466. "circle_x",
  467. "circuit_board",
  468. "citrus",
  469. "clapperboard",
  470. "clipboard",
  471. "clipboard_check",
  472. "clipboard_copy",
  473. "clipboard_list",
  474. "clipboard_minus",
  475. "clipboard_paste",
  476. "clipboard_pen",
  477. "clipboard_pen_line",
  478. "clipboard_plus",
  479. "clipboard_type",
  480. "clipboard_x",
  481. "clock",
  482. "clock_1",
  483. "clock_10",
  484. "clock_11",
  485. "clock_12",
  486. "clock_2",
  487. "clock_3",
  488. "clock_4",
  489. "clock_5",
  490. "clock_6",
  491. "clock_7",
  492. "clock_8",
  493. "clock_9",
  494. "clock_alert",
  495. "clock_arrow_down",
  496. "clock_arrow_up",
  497. "clock_fading",
  498. "clock_plus",
  499. "cloud",
  500. "cloud_alert",
  501. "cloud_cog",
  502. "cloud_download",
  503. "cloud_drizzle",
  504. "cloud_fog",
  505. "cloud_hail",
  506. "cloud_lightning",
  507. "cloud_moon",
  508. "cloud_moon_rain",
  509. "cloud_off",
  510. "cloud_rain",
  511. "cloud_rain_wind",
  512. "cloud_snow",
  513. "cloud_sun",
  514. "cloud_sun_rain",
  515. "cloud_upload",
  516. "cloudy",
  517. "clover",
  518. "club",
  519. "code",
  520. "code_xml",
  521. "codepen",
  522. "codesandbox",
  523. "coffee",
  524. "cog",
  525. "coins",
  526. "columns_2",
  527. "columns_3",
  528. "columns_3_cog",
  529. "columns_4",
  530. "combine",
  531. "command",
  532. "compass",
  533. "component",
  534. "computer",
  535. "concierge_bell",
  536. "cone",
  537. "construction",
  538. "contact",
  539. "contact_round",
  540. "container",
  541. "contrast",
  542. "cookie",
  543. "cooking_pot",
  544. "copy",
  545. "copy_check",
  546. "copy_minus",
  547. "copy_plus",
  548. "copy_slash",
  549. "copy_x",
  550. "copyleft",
  551. "copyright",
  552. "corner_down_left",
  553. "corner_down_right",
  554. "corner_left_down",
  555. "corner_left_up",
  556. "corner_right_down",
  557. "corner_right_up",
  558. "corner_up_left",
  559. "corner_up_right",
  560. "cpu",
  561. "creative_commons",
  562. "credit_card",
  563. "croissant",
  564. "crop",
  565. "cross",
  566. "crosshair",
  567. "crown",
  568. "cuboid",
  569. "cup_soda",
  570. "currency",
  571. "cylinder",
  572. "dam",
  573. "database",
  574. "database_backup",
  575. "database_zap",
  576. "decimals_arrow_left",
  577. "decimals_arrow_right",
  578. "delete",
  579. "dessert",
  580. "diameter",
  581. "diamond",
  582. "diamond_minus",
  583. "diamond_percent",
  584. "diamond_plus",
  585. "dice_1",
  586. "dice_2",
  587. "dice_3",
  588. "dice_4",
  589. "dice_5",
  590. "dice_6",
  591. "dices",
  592. "diff",
  593. "disc",
  594. "disc_2",
  595. "disc_3",
  596. "disc_album",
  597. "divide",
  598. "dna",
  599. "dna_off",
  600. "dock",
  601. "dog",
  602. "dollar_sign",
  603. "donut",
  604. "door_closed",
  605. "door_closed_locked",
  606. "door_open",
  607. "dot",
  608. "download",
  609. "drafting_compass",
  610. "drama",
  611. "dribbble",
  612. "drill",
  613. "droplet",
  614. "droplet_off",
  615. "droplets",
  616. "drum",
  617. "drumstick",
  618. "dumbbell",
  619. "ear",
  620. "ear_off",
  621. "earth",
  622. "earth_lock",
  623. "eclipse",
  624. "egg",
  625. "egg_fried",
  626. "egg_off",
  627. "ellipsis",
  628. "ellipsis_vertical",
  629. "equal",
  630. "equal_approximately",
  631. "equal_not",
  632. "eraser",
  633. "ethernet_port",
  634. "euro",
  635. "expand",
  636. "external_link",
  637. "eye",
  638. "eye_closed",
  639. "eye_off",
  640. "facebook",
  641. "factory",
  642. "fan",
  643. "fast_forward",
  644. "feather",
  645. "fence",
  646. "ferris_wheel",
  647. "figma",
  648. "file",
  649. "file_archive",
  650. "file_audio",
  651. "file_audio_2",
  652. "file_axis_3d",
  653. "file_badge",
  654. "file_badge_2",
  655. "file_bar_chart",
  656. "file_bar_chart_2",
  657. "file_box",
  658. "file_chart_column",
  659. "file_chart_column_increasing",
  660. "file_chart_line",
  661. "file_chart_pie",
  662. "file_check",
  663. "file_check_2",
  664. "file_clock",
  665. "file_code",
  666. "file_code_2",
  667. "file_cog",
  668. "file_diff",
  669. "file_digit",
  670. "file_down",
  671. "file_heart",
  672. "file_image",
  673. "file_input",
  674. "file_json",
  675. "file_json_2",
  676. "file_key",
  677. "file_key_2",
  678. "file_line_chart",
  679. "file_lock",
  680. "file_lock_2",
  681. "file_minus",
  682. "file_minus_2",
  683. "file_music",
  684. "file_output",
  685. "file_pen",
  686. "file_pen_line",
  687. "file_pie_chart",
  688. "file_plus",
  689. "file_plus_2",
  690. "file_question",
  691. "file_scan",
  692. "file_search",
  693. "file_search_2",
  694. "file_sliders",
  695. "file_spreadsheet",
  696. "file_stack",
  697. "file_symlink",
  698. "file_terminal",
  699. "file_text",
  700. "file_type",
  701. "file_type_2",
  702. "file_up",
  703. "file_user",
  704. "file_video",
  705. "file_video_2",
  706. "file_volume",
  707. "file_volume_2",
  708. "file_warning",
  709. "file_x",
  710. "file_x_2",
  711. "files",
  712. "film",
  713. "filter",
  714. "filter_x",
  715. "fingerprint",
  716. "fire_extinguisher",
  717. "fish",
  718. "fish_off",
  719. "fish_symbol",
  720. "flag",
  721. "flag_off",
  722. "flag_triangle_left",
  723. "flag_triangle_right",
  724. "flame",
  725. "flame_kindling",
  726. "flashlight",
  727. "flashlight_off",
  728. "flask_conical",
  729. "flask_conical_off",
  730. "flask_round",
  731. "flip_horizontal",
  732. "flip_horizontal_2",
  733. "flip_vertical",
  734. "flip_vertical_2",
  735. "flower",
  736. "flower_2",
  737. "focus",
  738. "fold_horizontal",
  739. "fold_vertical",
  740. "folder",
  741. "folder_archive",
  742. "folder_check",
  743. "folder_clock",
  744. "folder_closed",
  745. "folder_code",
  746. "folder_cog",
  747. "folder_dot",
  748. "folder_down",
  749. "folder_git",
  750. "folder_git_2",
  751. "folder_heart",
  752. "folder_input",
  753. "folder_kanban",
  754. "folder_key",
  755. "folder_lock",
  756. "folder_minus",
  757. "folder_open",
  758. "folder_open_dot",
  759. "folder_output",
  760. "folder_pen",
  761. "folder_plus",
  762. "folder_root",
  763. "folder_search",
  764. "folder_search_2",
  765. "folder_symlink",
  766. "folder_sync",
  767. "folder_tree",
  768. "folder_up",
  769. "folder_x",
  770. "folders",
  771. "footprints",
  772. "forklift",
  773. "forward",
  774. "frame",
  775. "framer",
  776. "frown",
  777. "fuel",
  778. "fullscreen",
  779. "funnel",
  780. "funnel_plus",
  781. "funnel_x",
  782. "gallery_horizontal",
  783. "gallery_horizontal_end",
  784. "gallery_thumbnails",
  785. "gallery_vertical",
  786. "gallery_vertical_end",
  787. "gamepad",
  788. "gamepad_2",
  789. "gantt_chart",
  790. "gauge",
  791. "gavel",
  792. "gem",
  793. "ghost",
  794. "gift",
  795. "git_branch",
  796. "git_branch_plus",
  797. "git_commit_horizontal",
  798. "git_commit_vertical",
  799. "git_compare",
  800. "git_compare_arrows",
  801. "git_fork",
  802. "git_graph",
  803. "git_merge",
  804. "git_pull_request",
  805. "git_pull_request_arrow",
  806. "git_pull_request_closed",
  807. "git_pull_request_create",
  808. "git_pull_request_create_arrow",
  809. "git_pull_request_draft",
  810. "github",
  811. "gitlab",
  812. "glass_water",
  813. "glasses",
  814. "globe",
  815. "globe_lock",
  816. "goal",
  817. "gpu",
  818. "grab",
  819. "graduation_cap",
  820. "grape",
  821. "grid_2x2",
  822. "grid_2x_2",
  823. "grid_2x_2_check",
  824. "grid_2x_2_plus",
  825. "grid_2x_2_x",
  826. "grid_3x3",
  827. "grid_3x_3",
  828. "grip",
  829. "grip_horizontal",
  830. "grip_vertical",
  831. "group",
  832. "guitar",
  833. "ham",
  834. "hamburger",
  835. "hammer",
  836. "hand",
  837. "hand_coins",
  838. "hand_heart",
  839. "hand_helping",
  840. "hand_metal",
  841. "hand_platter",
  842. "handshake",
  843. "hard_drive",
  844. "hard_drive_download",
  845. "hard_drive_upload",
  846. "hard_hat",
  847. "hash",
  848. "haze",
  849. "hdmi_port",
  850. "heading",
  851. "heading_1",
  852. "heading_2",
  853. "heading_3",
  854. "heading_4",
  855. "heading_5",
  856. "heading_6",
  857. "headphone_off",
  858. "headphones",
  859. "headset",
  860. "heart",
  861. "heart_crack",
  862. "heart_handshake",
  863. "heart_minus",
  864. "heart_off",
  865. "heart_plus",
  866. "heart_pulse",
  867. "heater",
  868. "hexagon",
  869. "highlighter",
  870. "history",
  871. "home",
  872. "hop",
  873. "hop_off",
  874. "hospital",
  875. "hotel",
  876. "hourglass",
  877. "house",
  878. "house_plug",
  879. "house_plus",
  880. "house_wifi",
  881. "ice_cream_bowl",
  882. "ice_cream_cone",
  883. "id_card",
  884. "image",
  885. "image_down",
  886. "image_minus",
  887. "image_off",
  888. "image_play",
  889. "image_plus",
  890. "image_up",
  891. "image_upscale",
  892. "images",
  893. "import",
  894. "inbox",
  895. "indent_decrease",
  896. "indent_increase",
  897. "indian_rupee",
  898. "infinity",
  899. "info",
  900. "inspection_panel",
  901. "instagram",
  902. "italic",
  903. "iteration_ccw",
  904. "iteration_cw",
  905. "japanese_yen",
  906. "joystick",
  907. "kanban",
  908. "key",
  909. "key_round",
  910. "key_square",
  911. "keyboard",
  912. "keyboard_music",
  913. "keyboard_off",
  914. "lamp",
  915. "lamp_ceiling",
  916. "lamp_desk",
  917. "lamp_floor",
  918. "lamp_wall_down",
  919. "lamp_wall_up",
  920. "land_plot",
  921. "landmark",
  922. "languages",
  923. "laptop",
  924. "laptop_minimal",
  925. "laptop_minimal_check",
  926. "lasso",
  927. "lasso_select",
  928. "laugh",
  929. "layers",
  930. "layers_2",
  931. "layers_3",
  932. "layout_dashboard",
  933. "layout_grid",
  934. "layout_list",
  935. "layout_panel_left",
  936. "layout_panel_top",
  937. "layout_template",
  938. "leaf",
  939. "leafy_green",
  940. "lectern",
  941. "letter_text",
  942. "library",
  943. "library_big",
  944. "life_buoy",
  945. "ligature",
  946. "lightbulb",
  947. "lightbulb_off",
  948. "line_chart",
  949. "link",
  950. "link_2",
  951. "link_2_off",
  952. "linkedin",
  953. "list",
  954. "list_check",
  955. "list_checks",
  956. "list_collapse",
  957. "list_end",
  958. "list_filter",
  959. "list_filter_plus",
  960. "list_minus",
  961. "list_music",
  962. "list_ordered",
  963. "list_plus",
  964. "list_restart",
  965. "list_start",
  966. "list_todo",
  967. "list_tree",
  968. "list_video",
  969. "list_x",
  970. "loader",
  971. "loader_circle",
  972. "loader_pinwheel",
  973. "locate",
  974. "locate_fixed",
  975. "locate_off",
  976. "location_edit",
  977. "lock",
  978. "lock_keyhole",
  979. "lock_keyhole_open",
  980. "lock_open",
  981. "log_in",
  982. "log_out",
  983. "logs",
  984. "lollipop",
  985. "luggage",
  986. "magnet",
  987. "mail",
  988. "mail_check",
  989. "mail_minus",
  990. "mail_open",
  991. "mail_plus",
  992. "mail_question",
  993. "mail_search",
  994. "mail_warning",
  995. "mail_x",
  996. "mailbox",
  997. "mails",
  998. "map",
  999. "map_pin",
  1000. "map_pin_check",
  1001. "map_pin_check_inside",
  1002. "map_pin_house",
  1003. "map_pin_minus",
  1004. "map_pin_minus_inside",
  1005. "map_pin_off",
  1006. "map_pin_plus",
  1007. "map_pin_plus_inside",
  1008. "map_pin_x",
  1009. "map_pin_x_inside",
  1010. "map_pinned",
  1011. "map_plus",
  1012. "mars_stroke",
  1013. "martini",
  1014. "maximize",
  1015. "maximize_2",
  1016. "medal",
  1017. "megaphone",
  1018. "megaphone_off",
  1019. "meh",
  1020. "memory_stick",
  1021. "menu",
  1022. "merge",
  1023. "message_circle",
  1024. "message_circle_code",
  1025. "message_circle_dashed",
  1026. "message_circle_heart",
  1027. "message_circle_more",
  1028. "message_circle_off",
  1029. "message_circle_plus",
  1030. "message_circle_question",
  1031. "message_circle_reply",
  1032. "message_circle_warning",
  1033. "message_circle_x",
  1034. "message_square",
  1035. "message_square_code",
  1036. "message_square_dashed",
  1037. "message_square_diff",
  1038. "message_square_dot",
  1039. "message_square_heart",
  1040. "message_square_lock",
  1041. "message_square_more",
  1042. "message_square_off",
  1043. "message_square_plus",
  1044. "message_square_quote",
  1045. "message_square_reply",
  1046. "message_square_share",
  1047. "message_square_text",
  1048. "message_square_warning",
  1049. "message_square_x",
  1050. "messages_square",
  1051. "mic",
  1052. "mic_off",
  1053. "mic_vocal",
  1054. "microchip",
  1055. "microscope",
  1056. "microwave",
  1057. "milestone",
  1058. "milk",
  1059. "milk_off",
  1060. "minimize",
  1061. "minimize_2",
  1062. "minus",
  1063. "monitor",
  1064. "monitor_check",
  1065. "monitor_cog",
  1066. "monitor_dot",
  1067. "monitor_down",
  1068. "monitor_off",
  1069. "monitor_pause",
  1070. "monitor_play",
  1071. "monitor_smartphone",
  1072. "monitor_speaker",
  1073. "monitor_stop",
  1074. "monitor_up",
  1075. "monitor_x",
  1076. "moon",
  1077. "moon_star",
  1078. "mountain",
  1079. "mountain_snow",
  1080. "mouse",
  1081. "mouse_off",
  1082. "mouse_pointer",
  1083. "mouse_pointer_2",
  1084. "mouse_pointer_ban",
  1085. "mouse_pointer_click",
  1086. "move",
  1087. "move_3d",
  1088. "move_diagonal",
  1089. "move_diagonal_2",
  1090. "move_down",
  1091. "move_down_left",
  1092. "move_down_right",
  1093. "move_horizontal",
  1094. "move_left",
  1095. "move_right",
  1096. "move_up",
  1097. "move_up_left",
  1098. "move_up_right",
  1099. "move_vertical",
  1100. "music",
  1101. "music_2",
  1102. "music_3",
  1103. "music_4",
  1104. "navigation",
  1105. "navigation_2",
  1106. "navigation_2_off",
  1107. "navigation_off",
  1108. "network",
  1109. "newspaper",
  1110. "nfc",
  1111. "non_binary",
  1112. "notebook",
  1113. "notebook_pen",
  1114. "notebook_tabs",
  1115. "notebook_text",
  1116. "notepad_text",
  1117. "notepad_text_dashed",
  1118. "nut",
  1119. "nut_off",
  1120. "octagon",
  1121. "octagon_alert",
  1122. "octagon_minus",
  1123. "octagon_pause",
  1124. "octagon_x",
  1125. "omega",
  1126. "option",
  1127. "orbit",
  1128. "origami",
  1129. "package",
  1130. "package_2",
  1131. "package_check",
  1132. "package_minus",
  1133. "package_open",
  1134. "package_plus",
  1135. "package_search",
  1136. "package_x",
  1137. "paint_bucket",
  1138. "paint_roller",
  1139. "paintbrush",
  1140. "paintbrush_2",
  1141. "paintbrush_vertical",
  1142. "palette",
  1143. "panda",
  1144. "panel_bottom",
  1145. "panel_bottom_close",
  1146. "panel_bottom_dashed",
  1147. "panel_bottom_open",
  1148. "panel_left",
  1149. "panel_left_close",
  1150. "panel_left_dashed",
  1151. "panel_left_open",
  1152. "panel_right",
  1153. "panel_right_close",
  1154. "panel_right_dashed",
  1155. "panel_right_open",
  1156. "panel_top",
  1157. "panel_top_close",
  1158. "panel_top_dashed",
  1159. "panel_top_open",
  1160. "panels_left_bottom",
  1161. "panels_right_bottom",
  1162. "panels_top_left",
  1163. "paperclip",
  1164. "parentheses",
  1165. "parking_meter",
  1166. "party_popper",
  1167. "pause",
  1168. "paw_print",
  1169. "pc_case",
  1170. "pen",
  1171. "pen_line",
  1172. "pen_off",
  1173. "pen_tool",
  1174. "pencil",
  1175. "pencil_line",
  1176. "pencil_off",
  1177. "pencil_ruler",
  1178. "pentagon",
  1179. "percent",
  1180. "person_standing",
  1181. "philippine_peso",
  1182. "phone",
  1183. "phone_call",
  1184. "phone_forwarded",
  1185. "phone_incoming",
  1186. "phone_missed",
  1187. "phone_off",
  1188. "phone_outgoing",
  1189. "pi",
  1190. "piano",
  1191. "pickaxe",
  1192. "picture_in_picture",
  1193. "picture_in_picture_2",
  1194. "pie_chart",
  1195. "piggy_bank",
  1196. "pilcrow",
  1197. "pilcrow_left",
  1198. "pilcrow_right",
  1199. "pill",
  1200. "pill_bottle",
  1201. "pin",
  1202. "pin_off",
  1203. "pipette",
  1204. "pizza",
  1205. "plane",
  1206. "plane_landing",
  1207. "plane_takeoff",
  1208. "play",
  1209. "plug",
  1210. "plug_2",
  1211. "plug_zap",
  1212. "plug_zap_2",
  1213. "plus",
  1214. "pocket",
  1215. "pocket_knife",
  1216. "podcast",
  1217. "pointer",
  1218. "pointer_off",
  1219. "popcorn",
  1220. "popsicle",
  1221. "pound_sterling",
  1222. "power",
  1223. "power_off",
  1224. "presentation",
  1225. "printer",
  1226. "printer_check",
  1227. "projector",
  1228. "proportions",
  1229. "puzzle",
  1230. "pyramid",
  1231. "qr_code",
  1232. "quote",
  1233. "rabbit",
  1234. "radar",
  1235. "radiation",
  1236. "radical",
  1237. "radio",
  1238. "radio_receiver",
  1239. "radio_tower",
  1240. "radius",
  1241. "rail_symbol",
  1242. "rainbow",
  1243. "rat",
  1244. "ratio",
  1245. "receipt",
  1246. "receipt_cent",
  1247. "receipt_euro",
  1248. "receipt_indian_rupee",
  1249. "receipt_japanese_yen",
  1250. "receipt_pound_sterling",
  1251. "receipt_russian_ruble",
  1252. "receipt_swiss_franc",
  1253. "receipt_text",
  1254. "rectangle_ellipsis",
  1255. "rectangle_goggles",
  1256. "rectangle_horizontal",
  1257. "rectangle_vertical",
  1258. "recycle",
  1259. "redo",
  1260. "redo_2",
  1261. "redo_dot",
  1262. "refresh_ccw",
  1263. "refresh_ccw_dot",
  1264. "refresh_cw",
  1265. "refresh_cw_off",
  1266. "refrigerator",
  1267. "regex",
  1268. "remove_formatting",
  1269. "repeat",
  1270. "repeat_1",
  1271. "repeat_2",
  1272. "replace",
  1273. "replace_all",
  1274. "reply",
  1275. "reply_all",
  1276. "rewind",
  1277. "ribbon",
  1278. "rocket",
  1279. "rocking_chair",
  1280. "roller_coaster",
  1281. "rotate_3d",
  1282. "rotate_ccw",
  1283. "rotate_ccw_key",
  1284. "rotate_ccw_square",
  1285. "rotate_cw",
  1286. "rotate_cw_square",
  1287. "route",
  1288. "route_off",
  1289. "router",
  1290. "rows_2",
  1291. "rows_3",
  1292. "rows_4",
  1293. "rss",
  1294. "ruler",
  1295. "ruler_dimension_line",
  1296. "russian_ruble",
  1297. "sailboat",
  1298. "salad",
  1299. "sandwich",
  1300. "satellite",
  1301. "satellite_dish",
  1302. "saudi_riyal",
  1303. "save",
  1304. "save_all",
  1305. "save_off",
  1306. "scale",
  1307. "scale_3d",
  1308. "scaling",
  1309. "scan",
  1310. "scan_barcode",
  1311. "scan_eye",
  1312. "scan_face",
  1313. "scan_heart",
  1314. "scan_line",
  1315. "scan_qr_code",
  1316. "scan_search",
  1317. "scan_text",
  1318. "scatter_chart",
  1319. "school",
  1320. "scissors",
  1321. "scissors_line_dashed",
  1322. "screen_share",
  1323. "screen_share_off",
  1324. "scroll",
  1325. "scroll_text",
  1326. "search",
  1327. "search_check",
  1328. "search_code",
  1329. "search_slash",
  1330. "search_x",
  1331. "section",
  1332. "send",
  1333. "send_horizontal",
  1334. "send_to_back",
  1335. "separator_horizontal",
  1336. "separator_vertical",
  1337. "server",
  1338. "server_cog",
  1339. "server_crash",
  1340. "server_off",
  1341. "settings",
  1342. "settings_2",
  1343. "shapes",
  1344. "share",
  1345. "share_2",
  1346. "sheet",
  1347. "shell",
  1348. "shield",
  1349. "shield_alert",
  1350. "shield_ban",
  1351. "shield_check",
  1352. "shield_ellipsis",
  1353. "shield_half",
  1354. "shield_minus",
  1355. "shield_off",
  1356. "shield_plus",
  1357. "shield_question",
  1358. "shield_user",
  1359. "shield_x",
  1360. "ship",
  1361. "ship_wheel",
  1362. "shirt",
  1363. "shopping_bag",
  1364. "shopping_basket",
  1365. "shopping_cart",
  1366. "shovel",
  1367. "shower_head",
  1368. "shredder",
  1369. "shrimp",
  1370. "shrink",
  1371. "shrub",
  1372. "shuffle",
  1373. "sigma",
  1374. "signal",
  1375. "signal_high",
  1376. "signal_low",
  1377. "signal_medium",
  1378. "signal_zero",
  1379. "signature",
  1380. "signpost",
  1381. "signpost_big",
  1382. "siren",
  1383. "skip_back",
  1384. "skip_forward",
  1385. "skull",
  1386. "slack",
  1387. "slash",
  1388. "slice",
  1389. "sliders_horizontal",
  1390. "sliders_vertical",
  1391. "smartphone",
  1392. "smartphone_charging",
  1393. "smartphone_nfc",
  1394. "smile",
  1395. "smile_plus",
  1396. "snail",
  1397. "snowflake",
  1398. "soap_dispenser_droplet",
  1399. "sofa",
  1400. "soup",
  1401. "space",
  1402. "spade",
  1403. "sparkle",
  1404. "sparkles",
  1405. "speaker",
  1406. "speech",
  1407. "spell_check",
  1408. "spell_check_2",
  1409. "spline",
  1410. "spline_pointer",
  1411. "split",
  1412. "spray_can",
  1413. "sprout",
  1414. "square",
  1415. "square_activity",
  1416. "square_arrow_down",
  1417. "square_arrow_down_left",
  1418. "square_arrow_down_right",
  1419. "square_arrow_left",
  1420. "square_arrow_out_down_left",
  1421. "square_arrow_out_down_right",
  1422. "square_arrow_out_up_left",
  1423. "square_arrow_out_up_right",
  1424. "square_arrow_right",
  1425. "square_arrow_up",
  1426. "square_arrow_up_left",
  1427. "square_arrow_up_right",
  1428. "square_asterisk",
  1429. "square_bottom_dashed_scissors",
  1430. "square_chart_gantt",
  1431. "square_check",
  1432. "square_check_big",
  1433. "square_chevron_down",
  1434. "square_chevron_left",
  1435. "square_chevron_right",
  1436. "square_chevron_up",
  1437. "square_code",
  1438. "square_dashed",
  1439. "square_dashed_bottom",
  1440. "square_dashed_bottom_code",
  1441. "square_dashed_kanban",
  1442. "square_dashed_mouse_pointer",
  1443. "square_divide",
  1444. "square_dot",
  1445. "square_equal",
  1446. "square_function",
  1447. "square_gantt_chart",
  1448. "square_kanban",
  1449. "square_library",
  1450. "square_m",
  1451. "square_menu",
  1452. "square_minus",
  1453. "square_mouse_pointer",
  1454. "square_parking",
  1455. "square_parking_off",
  1456. "square_pen",
  1457. "square_percent",
  1458. "square_pi",
  1459. "square_pilcrow",
  1460. "square_play",
  1461. "square_plus",
  1462. "square_power",
  1463. "square_radical",
  1464. "square_round_corner",
  1465. "square_scissors",
  1466. "square_sigma",
  1467. "square_slash",
  1468. "square_split_horizontal",
  1469. "square_split_vertical",
  1470. "square_square",
  1471. "square_stack",
  1472. "square_terminal",
  1473. "square_user",
  1474. "square_user_round",
  1475. "square_x",
  1476. "squares_exclude",
  1477. "squares_intersect",
  1478. "squares_subtract",
  1479. "squares_unite",
  1480. "squircle",
  1481. "squirrel",
  1482. "stamp",
  1483. "star",
  1484. "star_half",
  1485. "star_off",
  1486. "step_back",
  1487. "step_forward",
  1488. "stethoscope",
  1489. "sticker",
  1490. "sticky_note",
  1491. "store",
  1492. "stretch_horizontal",
  1493. "stretch_vertical",
  1494. "strikethrough",
  1495. "subscript",
  1496. "sun",
  1497. "sun_dim",
  1498. "sun_medium",
  1499. "sun_moon",
  1500. "sun_snow",
  1501. "sunrise",
  1502. "sunset",
  1503. "superscript",
  1504. "swatch_book",
  1505. "swiss_franc",
  1506. "switch_camera",
  1507. "sword",
  1508. "swords",
  1509. "syringe",
  1510. "table",
  1511. "table_2",
  1512. "table_cells_merge",
  1513. "table_cells_split",
  1514. "table_columns_split",
  1515. "table_of_contents",
  1516. "table_properties",
  1517. "table_rows_split",
  1518. "tablet",
  1519. "tablet_smartphone",
  1520. "tablets",
  1521. "tag",
  1522. "tags",
  1523. "tally_1",
  1524. "tally_2",
  1525. "tally_3",
  1526. "tally_4",
  1527. "tally_5",
  1528. "tangent",
  1529. "target",
  1530. "telescope",
  1531. "tent",
  1532. "tent_tree",
  1533. "terminal",
  1534. "test_tube",
  1535. "test_tube_diagonal",
  1536. "test_tubes",
  1537. "text",
  1538. "text_cursor",
  1539. "text_cursor_input",
  1540. "text_quote",
  1541. "text_search",
  1542. "text_select",
  1543. "theater",
  1544. "thermometer",
  1545. "thermometer_snowflake",
  1546. "thermometer_sun",
  1547. "thumbs_down",
  1548. "thumbs_up",
  1549. "ticket",
  1550. "ticket_check",
  1551. "ticket_minus",
  1552. "ticket_percent",
  1553. "ticket_plus",
  1554. "ticket_slash",
  1555. "ticket_x",
  1556. "tickets",
  1557. "tickets_plane",
  1558. "timer",
  1559. "timer_off",
  1560. "timer_reset",
  1561. "toggle_left",
  1562. "toggle_right",
  1563. "toilet",
  1564. "tornado",
  1565. "torus",
  1566. "touchpad",
  1567. "touchpad_off",
  1568. "tower_control",
  1569. "toy_brick",
  1570. "tractor",
  1571. "traffic_cone",
  1572. "train_front",
  1573. "train_front_tunnel",
  1574. "train_track",
  1575. "tram_front",
  1576. "transgender",
  1577. "trash",
  1578. "trash_2",
  1579. "tree_deciduous",
  1580. "tree_palm",
  1581. "tree_pine",
  1582. "trees",
  1583. "trello",
  1584. "trending_down",
  1585. "trending_up",
  1586. "trending_up_down",
  1587. "triangle",
  1588. "triangle_alert",
  1589. "triangle_dashed",
  1590. "triangle_right",
  1591. "trophy",
  1592. "truck",
  1593. "truck_electric",
  1594. "turtle",
  1595. "tv",
  1596. "tv_2",
  1597. "tv_minimal",
  1598. "tv_minimal_play",
  1599. "twitch",
  1600. "twitter",
  1601. "type",
  1602. "type_outline",
  1603. "umbrella",
  1604. "umbrella_off",
  1605. "underline",
  1606. "undo",
  1607. "undo_2",
  1608. "undo_dot",
  1609. "unfold_horizontal",
  1610. "unfold_vertical",
  1611. "ungroup",
  1612. "university",
  1613. "unlink",
  1614. "unlink_2",
  1615. "unplug",
  1616. "upload",
  1617. "usb",
  1618. "user",
  1619. "user_check",
  1620. "user_cog",
  1621. "user_lock",
  1622. "user_minus",
  1623. "user_pen",
  1624. "user_plus",
  1625. "user_round",
  1626. "user_round_check",
  1627. "user_round_cog",
  1628. "user_round_minus",
  1629. "user_round_pen",
  1630. "user_round_plus",
  1631. "user_round_search",
  1632. "user_round_x",
  1633. "user_search",
  1634. "user_x",
  1635. "users",
  1636. "users_round",
  1637. "utensils",
  1638. "utensils_crossed",
  1639. "utility_pole",
  1640. "variable",
  1641. "vault",
  1642. "vegan",
  1643. "venetian_mask",
  1644. "venus",
  1645. "venus_and_mars",
  1646. "vibrate",
  1647. "vibrate_off",
  1648. "video",
  1649. "video_off",
  1650. "videotape",
  1651. "view",
  1652. "voicemail",
  1653. "volleyball",
  1654. "volume",
  1655. "volume_1",
  1656. "volume_2",
  1657. "volume_off",
  1658. "volume_x",
  1659. "vote",
  1660. "wallet",
  1661. "wallet_cards",
  1662. "wallet_minimal",
  1663. "wallpaper",
  1664. "wand",
  1665. "wand_sparkles",
  1666. "warehouse",
  1667. "washing_machine",
  1668. "watch",
  1669. "waves",
  1670. "waves_ladder",
  1671. "waypoints",
  1672. "webcam",
  1673. "webhook",
  1674. "webhook_off",
  1675. "weight",
  1676. "wheat",
  1677. "wheat_off",
  1678. "whole_word",
  1679. "wifi",
  1680. "wifi_high",
  1681. "wifi_low",
  1682. "wifi_off",
  1683. "wifi_pen",
  1684. "wifi_zero",
  1685. "wind",
  1686. "wind_arrow_down",
  1687. "wine",
  1688. "wine_off",
  1689. "workflow",
  1690. "worm",
  1691. "wrap_text",
  1692. "wrench",
  1693. "x",
  1694. "youtube",
  1695. "zap",
  1696. "zap_off",
  1697. "zoom_in",
  1698. "zoom_out",
  1699. ]
  1700. # The default transformation of some icon names doesn't match how the
  1701. # icons are exported from Lucide. Manual overrides can go here.
  1702. LUCIDE_ICON_MAPPING_OVERRIDE = {
  1703. "box_select": "BoxSelectIcon",
  1704. "grid_2x_2_check": "Grid2x2CheckIcon",
  1705. "grid_2x_2_x": "Grid2x2XIcon",
  1706. "grid_2x_2_plus": "Grid2x2PlusIcon",
  1707. "layers_3": "Layers3Icon",
  1708. }