phlex-icons-hero 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +7 -0
  2. data/.devcontainer/devcontainer.json +53 -0
  3. data/.devcontainer/setup.sh +5 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +28 -0
  6. data/.ruby-version +1 -0
  7. data/CHANGELOG.md +5 -0
  8. data/CODE_OF_CONDUCT.md +132 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +138 -0
  11. data/Rakefile +12 -0
  12. data/generators/bootstrap.rb +69 -0
  13. data/generators/flag.rb +68 -0
  14. data/generators/helper.rb +102 -0
  15. data/generators/hero.rb +63 -0
  16. data/generators/lucide.rb +54 -0
  17. data/generators/radix.rb +54 -0
  18. data/generators/remix.rb +57 -0
  19. data/lib/phlex/icons/base.rb +19 -0
  20. data/lib/phlex/icons/configuration.rb +13 -0
  21. data/lib/phlex/icons/hero/academic_cap.rb +55 -0
  22. data/lib/phlex/icons/hero/adjustments_horizontal.rb +47 -0
  23. data/lib/phlex/icons/hero/adjustments_vertical.rb +47 -0
  24. data/lib/phlex/icons/hero/archive_box.rb +53 -0
  25. data/lib/phlex/icons/hero/archive_box_arrow_down.rb +53 -0
  26. data/lib/phlex/icons/hero/archive_box_x_mark.rb +53 -0
  27. data/lib/phlex/icons/hero/arrow_down.rb +48 -0
  28. data/lib/phlex/icons/hero/arrow_down_circle.rb +48 -0
  29. data/lib/phlex/icons/hero/arrow_down_left.rb +48 -0
  30. data/lib/phlex/icons/hero/arrow_down_on_square.rb +47 -0
  31. data/lib/phlex/icons/hero/arrow_down_on_square_stack.rb +53 -0
  32. data/lib/phlex/icons/hero/arrow_down_right.rb +48 -0
  33. data/lib/phlex/icons/hero/arrow_down_tray.rb +49 -0
  34. data/lib/phlex/icons/hero/arrow_left.rb +48 -0
  35. data/lib/phlex/icons/hero/arrow_left_circle.rb +48 -0
  36. data/lib/phlex/icons/hero/arrow_left_end_on_rectangle.rb +49 -0
  37. data/lib/phlex/icons/hero/arrow_left_on_rectangle.rb +49 -0
  38. data/lib/phlex/icons/hero/arrow_left_start_on_rectangle.rb +49 -0
  39. data/lib/phlex/icons/hero/arrow_long_down.rb +48 -0
  40. data/lib/phlex/icons/hero/arrow_long_left.rb +48 -0
  41. data/lib/phlex/icons/hero/arrow_long_right.rb +48 -0
  42. data/lib/phlex/icons/hero/arrow_long_up.rb +48 -0
  43. data/lib/phlex/icons/hero/arrow_path.rb +49 -0
  44. data/lib/phlex/icons/hero/arrow_path_rounded_square.rb +49 -0
  45. data/lib/phlex/icons/hero/arrow_right.rb +48 -0
  46. data/lib/phlex/icons/hero/arrow_right_circle.rb +48 -0
  47. data/lib/phlex/icons/hero/arrow_right_end_on_rectangle.rb +49 -0
  48. data/lib/phlex/icons/hero/arrow_right_on_rectangle.rb +49 -0
  49. data/lib/phlex/icons/hero/arrow_right_start_on_rectangle.rb +49 -0
  50. data/lib/phlex/icons/hero/arrow_small_down.rb +48 -0
  51. data/lib/phlex/icons/hero/arrow_small_left.rb +48 -0
  52. data/lib/phlex/icons/hero/arrow_small_right.rb +48 -0
  53. data/lib/phlex/icons/hero/arrow_small_up.rb +48 -0
  54. data/lib/phlex/icons/hero/arrow_top_right_on_square.rb +49 -0
  55. data/lib/phlex/icons/hero/arrow_trending_down.rb +49 -0
  56. data/lib/phlex/icons/hero/arrow_trending_up.rb +49 -0
  57. data/lib/phlex/icons/hero/arrow_turn_down_left.rb +48 -0
  58. data/lib/phlex/icons/hero/arrow_turn_down_right.rb +48 -0
  59. data/lib/phlex/icons/hero/arrow_turn_left_down.rb +48 -0
  60. data/lib/phlex/icons/hero/arrow_turn_left_up.rb +48 -0
  61. data/lib/phlex/icons/hero/arrow_turn_right_down.rb +48 -0
  62. data/lib/phlex/icons/hero/arrow_turn_right_up.rb +48 -0
  63. data/lib/phlex/icons/hero/arrow_turn_up_left.rb +48 -0
  64. data/lib/phlex/icons/hero/arrow_turn_up_right.rb +48 -0
  65. data/lib/phlex/icons/hero/arrow_up.rb +48 -0
  66. data/lib/phlex/icons/hero/arrow_up_circle.rb +48 -0
  67. data/lib/phlex/icons/hero/arrow_up_left.rb +48 -0
  68. data/lib/phlex/icons/hero/arrow_up_on_square.rb +47 -0
  69. data/lib/phlex/icons/hero/arrow_up_on_square_stack.rb +51 -0
  70. data/lib/phlex/icons/hero/arrow_up_right.rb +48 -0
  71. data/lib/phlex/icons/hero/arrow_up_tray.rb +49 -0
  72. data/lib/phlex/icons/hero/arrow_uturn_down.rb +48 -0
  73. data/lib/phlex/icons/hero/arrow_uturn_left.rb +48 -0
  74. data/lib/phlex/icons/hero/arrow_uturn_right.rb +48 -0
  75. data/lib/phlex/icons/hero/arrow_uturn_up.rb +48 -0
  76. data/lib/phlex/icons/hero/arrows_pointing_in.rb +49 -0
  77. data/lib/phlex/icons/hero/arrows_pointing_out.rb +49 -0
  78. data/lib/phlex/icons/hero/arrows_right_left.rb +49 -0
  79. data/lib/phlex/icons/hero/arrows_up_down.rb +49 -0
  80. data/lib/phlex/icons/hero/at_symbol.rb +49 -0
  81. data/lib/phlex/icons/hero/backspace.rb +49 -0
  82. data/lib/phlex/icons/hero/backward.rb +47 -0
  83. data/lib/phlex/icons/hero/banknotes.rb +54 -0
  84. data/lib/phlex/icons/hero/bars_2.rb +48 -0
  85. data/lib/phlex/icons/hero/bars_3.rb +48 -0
  86. data/lib/phlex/icons/hero/bars_3_bottom_left.rb +48 -0
  87. data/lib/phlex/icons/hero/bars_3_bottom_right.rb +48 -0
  88. data/lib/phlex/icons/hero/bars_3_center_left.rb +48 -0
  89. data/lib/phlex/icons/hero/bars_4.rb +48 -0
  90. data/lib/phlex/icons/hero/bars_arrow_down.rb +49 -0
  91. data/lib/phlex/icons/hero/bars_arrow_up.rb +49 -0
  92. data/lib/phlex/icons/hero/base.rb +25 -0
  93. data/lib/phlex/icons/hero/battery_0.rb +49 -0
  94. data/lib/phlex/icons/hero/battery_100.rb +49 -0
  95. data/lib/phlex/icons/hero/battery_50.rb +53 -0
  96. data/lib/phlex/icons/hero/beaker.rb +49 -0
  97. data/lib/phlex/icons/hero/bell.rb +49 -0
  98. data/lib/phlex/icons/hero/bell_alert.rb +53 -0
  99. data/lib/phlex/icons/hero/bell_slash.rb +53 -0
  100. data/lib/phlex/icons/hero/bell_snooze.rb +49 -0
  101. data/lib/phlex/icons/hero/bold.rb +48 -0
  102. data/lib/phlex/icons/hero/bolt.rb +48 -0
  103. data/lib/phlex/icons/hero/bolt_slash.rb +47 -0
  104. data/lib/phlex/icons/hero/book_open.rb +47 -0
  105. data/lib/phlex/icons/hero/bookmark.rb +49 -0
  106. data/lib/phlex/icons/hero/bookmark_slash.rb +47 -0
  107. data/lib/phlex/icons/hero/bookmark_square.rb +49 -0
  108. data/lib/phlex/icons/hero/briefcase.rb +53 -0
  109. data/lib/phlex/icons/hero/bug_ant.rb +49 -0
  110. data/lib/phlex/icons/hero/building_library.rb +54 -0
  111. data/lib/phlex/icons/hero/building_office.rb +49 -0
  112. data/lib/phlex/icons/hero/building_office_2.rb +49 -0
  113. data/lib/phlex/icons/hero/building_storefront.rb +53 -0
  114. data/lib/phlex/icons/hero/cake.rb +47 -0
  115. data/lib/phlex/icons/hero/calculator.rb +49 -0
  116. data/lib/phlex/icons/hero/calendar.rb +49 -0
  117. data/lib/phlex/icons/hero/calendar_date_range.rb +53 -0
  118. data/lib/phlex/icons/hero/calendar_days.rb +53 -0
  119. data/lib/phlex/icons/hero/camera.rb +56 -0
  120. data/lib/phlex/icons/hero/chart_bar.rb +47 -0
  121. data/lib/phlex/icons/hero/chart_bar_square.rb +49 -0
  122. data/lib/phlex/icons/hero/chart_pie.rb +59 -0
  123. data/lib/phlex/icons/hero/chat_bubble_bottom_center.rb +49 -0
  124. data/lib/phlex/icons/hero/chat_bubble_bottom_center_text.rb +49 -0
  125. data/lib/phlex/icons/hero/chat_bubble_left.rb +49 -0
  126. data/lib/phlex/icons/hero/chat_bubble_left_ellipsis.rb +49 -0
  127. data/lib/phlex/icons/hero/chat_bubble_left_right.rb +51 -0
  128. data/lib/phlex/icons/hero/chat_bubble_oval_left.rb +49 -0
  129. data/lib/phlex/icons/hero/chat_bubble_oval_left_ellipsis.rb +49 -0
  130. data/lib/phlex/icons/hero/check.rb +48 -0
  131. data/lib/phlex/icons/hero/check_badge.rb +49 -0
  132. data/lib/phlex/icons/hero/check_circle.rb +48 -0
  133. data/lib/phlex/icons/hero/chevron_double_down.rb +54 -0
  134. data/lib/phlex/icons/hero/chevron_double_left.rb +54 -0
  135. data/lib/phlex/icons/hero/chevron_double_right.rb +54 -0
  136. data/lib/phlex/icons/hero/chevron_double_up.rb +59 -0
  137. data/lib/phlex/icons/hero/chevron_down.rb +48 -0
  138. data/lib/phlex/icons/hero/chevron_left.rb +48 -0
  139. data/lib/phlex/icons/hero/chevron_right.rb +48 -0
  140. data/lib/phlex/icons/hero/chevron_up.rb +48 -0
  141. data/lib/phlex/icons/hero/chevron_up_down.rb +48 -0
  142. data/lib/phlex/icons/hero/circle_stack.rb +59 -0
  143. data/lib/phlex/icons/hero/clipboard.rb +49 -0
  144. data/lib/phlex/icons/hero/clipboard_document.rb +57 -0
  145. data/lib/phlex/icons/hero/clipboard_document_check.rb +55 -0
  146. data/lib/phlex/icons/hero/clipboard_document_list.rb +55 -0
  147. data/lib/phlex/icons/hero/clock.rb +48 -0
  148. data/lib/phlex/icons/hero/cloud.rb +49 -0
  149. data/lib/phlex/icons/hero/cloud_arrow_down.rb +49 -0
  150. data/lib/phlex/icons/hero/cloud_arrow_up.rb +49 -0
  151. data/lib/phlex/icons/hero/code_bracket.rb +48 -0
  152. data/lib/phlex/icons/hero/code_bracket_square.rb +49 -0
  153. data/lib/phlex/icons/hero/cog.rb +53 -0
  154. data/lib/phlex/icons/hero/cog_6_tooth.rb +54 -0
  155. data/lib/phlex/icons/hero/cog_8_tooth.rb +54 -0
  156. data/lib/phlex/icons/hero/command_line.rb +49 -0
  157. data/lib/phlex/icons/hero/computer_desktop.rb +49 -0
  158. data/lib/phlex/icons/hero/configuration.rb +15 -0
  159. data/lib/phlex/icons/hero/cpu_chip.rb +50 -0
  160. data/lib/phlex/icons/hero/credit_card.rb +50 -0
  161. data/lib/phlex/icons/hero/cube.rb +47 -0
  162. data/lib/phlex/icons/hero/cube_transparent.rb +49 -0
  163. data/lib/phlex/icons/hero/currency_bangladeshi.rb +49 -0
  164. data/lib/phlex/icons/hero/currency_dollar.rb +53 -0
  165. data/lib/phlex/icons/hero/currency_euro.rb +49 -0
  166. data/lib/phlex/icons/hero/currency_pound.rb +49 -0
  167. data/lib/phlex/icons/hero/currency_rupee.rb +49 -0
  168. data/lib/phlex/icons/hero/currency_yen.rb +49 -0
  169. data/lib/phlex/icons/hero/cursor_arrow_rays.rb +49 -0
  170. data/lib/phlex/icons/hero/cursor_arrow_ripple.rb +49 -0
  171. data/lib/phlex/icons/hero/device_phone_mobile.rb +50 -0
  172. data/lib/phlex/icons/hero/device_tablet.rb +50 -0
  173. data/lib/phlex/icons/hero/divide.rb +49 -0
  174. data/lib/phlex/icons/hero/document.rb +51 -0
  175. data/lib/phlex/icons/hero/document_arrow_down.rb +53 -0
  176. data/lib/phlex/icons/hero/document_arrow_up.rb +53 -0
  177. data/lib/phlex/icons/hero/document_chart_bar.rb +53 -0
  178. data/lib/phlex/icons/hero/document_check.rb +53 -0
  179. data/lib/phlex/icons/hero/document_currency_bangladeshi.rb +49 -0
  180. data/lib/phlex/icons/hero/document_currency_dollar.rb +49 -0
  181. data/lib/phlex/icons/hero/document_currency_euro.rb +53 -0
  182. data/lib/phlex/icons/hero/document_currency_pound.rb +49 -0
  183. data/lib/phlex/icons/hero/document_currency_rupee.rb +49 -0
  184. data/lib/phlex/icons/hero/document_currency_yen.rb +49 -0
  185. data/lib/phlex/icons/hero/document_duplicate.rb +51 -0
  186. data/lib/phlex/icons/hero/document_magnifying_glass.rb +54 -0
  187. data/lib/phlex/icons/hero/document_minus.rb +53 -0
  188. data/lib/phlex/icons/hero/document_plus.rb +53 -0
  189. data/lib/phlex/icons/hero/document_text.rb +53 -0
  190. data/lib/phlex/icons/hero/ellipsis_horizontal.rb +49 -0
  191. data/lib/phlex/icons/hero/ellipsis_horizontal_circle.rb +49 -0
  192. data/lib/phlex/icons/hero/ellipsis_vertical.rb +49 -0
  193. data/lib/phlex/icons/hero/envelope.rb +51 -0
  194. data/lib/phlex/icons/hero/envelope_open.rb +51 -0
  195. data/lib/phlex/icons/hero/equals.rb +48 -0
  196. data/lib/phlex/icons/hero/exclamation_circle.rb +49 -0
  197. data/lib/phlex/icons/hero/exclamation_triangle.rb +49 -0
  198. data/lib/phlex/icons/hero/eye.rb +55 -0
  199. data/lib/phlex/icons/hero/eye_dropper.rb +49 -0
  200. data/lib/phlex/icons/hero/eye_slash.rb +55 -0
  201. data/lib/phlex/icons/hero/face_frown.rb +49 -0
  202. data/lib/phlex/icons/hero/face_smile.rb +49 -0
  203. data/lib/phlex/icons/hero/film.rb +49 -0
  204. data/lib/phlex/icons/hero/finger_print.rb +49 -0
  205. data/lib/phlex/icons/hero/fire.rb +55 -0
  206. data/lib/phlex/icons/hero/flag.rb +49 -0
  207. data/lib/phlex/icons/hero/folder.rb +47 -0
  208. data/lib/phlex/icons/hero/folder_arrow_down.rb +49 -0
  209. data/lib/phlex/icons/hero/folder_minus.rb +49 -0
  210. data/lib/phlex/icons/hero/folder_open.rb +47 -0
  211. data/lib/phlex/icons/hero/folder_plus.rb +49 -0
  212. data/lib/phlex/icons/hero/forward.rb +47 -0
  213. data/lib/phlex/icons/hero/funnel.rb +49 -0
  214. data/lib/phlex/icons/hero/gif.rb +49 -0
  215. data/lib/phlex/icons/hero/gift.rb +47 -0
  216. data/lib/phlex/icons/hero/gift_top.rb +51 -0
  217. data/lib/phlex/icons/hero/globe_alt.rb +47 -0
  218. data/lib/phlex/icons/hero/globe_americas.rb +49 -0
  219. data/lib/phlex/icons/hero/globe_asia_australia.rb +53 -0
  220. data/lib/phlex/icons/hero/globe_europe_africa.rb +49 -0
  221. data/lib/phlex/icons/hero/h1.rb +49 -0
  222. data/lib/phlex/icons/hero/h2.rb +49 -0
  223. data/lib/phlex/icons/hero/h3.rb +49 -0
  224. data/lib/phlex/icons/hero/hand_raised.rb +47 -0
  225. data/lib/phlex/icons/hero/hand_thumb_down.rb +47 -0
  226. data/lib/phlex/icons/hero/hand_thumb_up.rb +47 -0
  227. data/lib/phlex/icons/hero/hashtag.rb +48 -0
  228. data/lib/phlex/icons/hero/heart.rb +47 -0
  229. data/lib/phlex/icons/hero/home.rb +51 -0
  230. data/lib/phlex/icons/hero/home_modern.rb +53 -0
  231. data/lib/phlex/icons/hero/identification.rb +49 -0
  232. data/lib/phlex/icons/hero/inbox.rb +49 -0
  233. data/lib/phlex/icons/hero/inbox_arrow_down.rb +55 -0
  234. data/lib/phlex/icons/hero/inbox_stack.rb +53 -0
  235. data/lib/phlex/icons/hero/information_circle.rb +49 -0
  236. data/lib/phlex/icons/hero/italic.rb +49 -0
  237. data/lib/phlex/icons/hero/key.rb +49 -0
  238. data/lib/phlex/icons/hero/language.rb +49 -0
  239. data/lib/phlex/icons/hero/lifebuoy.rb +49 -0
  240. data/lib/phlex/icons/hero/light_bulb.rb +53 -0
  241. data/lib/phlex/icons/hero/link.rb +49 -0
  242. data/lib/phlex/icons/hero/link_slash.rb +49 -0
  243. data/lib/phlex/icons/hero/list_bullet.rb +49 -0
  244. data/lib/phlex/icons/hero/lock_closed.rb +49 -0
  245. data/lib/phlex/icons/hero/lock_open.rb +47 -0
  246. data/lib/phlex/icons/hero/magnifying_glass.rb +49 -0
  247. data/lib/phlex/icons/hero/magnifying_glass_circle.rb +50 -0
  248. data/lib/phlex/icons/hero/magnifying_glass_minus.rb +49 -0
  249. data/lib/phlex/icons/hero/magnifying_glass_plus.rb +49 -0
  250. data/lib/phlex/icons/hero/map.rb +49 -0
  251. data/lib/phlex/icons/hero/map_pin.rb +54 -0
  252. data/lib/phlex/icons/hero/megaphone.rb +47 -0
  253. data/lib/phlex/icons/hero/microphone.rb +48 -0
  254. data/lib/phlex/icons/hero/minus.rb +42 -0
  255. data/lib/phlex/icons/hero/minus_circle.rb +48 -0
  256. data/lib/phlex/icons/hero/minus_small.rb +42 -0
  257. data/lib/phlex/icons/hero/moon.rb +49 -0
  258. data/lib/phlex/icons/hero/musical_note.rb +49 -0
  259. data/lib/phlex/icons/hero/newspaper.rb +53 -0
  260. data/lib/phlex/icons/hero/no_symbol.rb +49 -0
  261. data/lib/phlex/icons/hero/numbered_list.rb +49 -0
  262. data/lib/phlex/icons/hero/paint_brush.rb +49 -0
  263. data/lib/phlex/icons/hero/paper_airplane.rb +47 -0
  264. data/lib/phlex/icons/hero/paper_clip.rb +49 -0
  265. data/lib/phlex/icons/hero/pause.rb +48 -0
  266. data/lib/phlex/icons/hero/pause_circle.rb +48 -0
  267. data/lib/phlex/icons/hero/pencil.rb +47 -0
  268. data/lib/phlex/icons/hero/pencil_square.rb +51 -0
  269. data/lib/phlex/icons/hero/percent_badge.rb +49 -0
  270. data/lib/phlex/icons/hero/phone.rb +49 -0
  271. data/lib/phlex/icons/hero/phone_arrow_down_left.rb +55 -0
  272. data/lib/phlex/icons/hero/phone_arrow_up_right.rb +55 -0
  273. data/lib/phlex/icons/hero/phone_x_mark.rb +49 -0
  274. data/lib/phlex/icons/hero/photo.rb +49 -0
  275. data/lib/phlex/icons/hero/play.rb +49 -0
  276. data/lib/phlex/icons/hero/play_circle.rb +54 -0
  277. data/lib/phlex/icons/hero/play_pause.rb +47 -0
  278. data/lib/phlex/icons/hero/plus.rb +48 -0
  279. data/lib/phlex/icons/hero/plus_circle.rb +48 -0
  280. data/lib/phlex/icons/hero/plus_small.rb +44 -0
  281. data/lib/phlex/icons/hero/power.rb +48 -0
  282. data/lib/phlex/icons/hero/presentation_chart_bar.rb +49 -0
  283. data/lib/phlex/icons/hero/presentation_chart_line.rb +49 -0
  284. data/lib/phlex/icons/hero/printer.rb +49 -0
  285. data/lib/phlex/icons/hero/puzzle_piece.rb +47 -0
  286. data/lib/phlex/icons/hero/qr_code.rb +55 -0
  287. data/lib/phlex/icons/hero/question_mark_circle.rb +49 -0
  288. data/lib/phlex/icons/hero/queue_list.rb +47 -0
  289. data/lib/phlex/icons/hero/radio.rb +49 -0
  290. data/lib/phlex/icons/hero/receipt_percent.rb +49 -0
  291. data/lib/phlex/icons/hero/receipt_refund.rb +49 -0
  292. data/lib/phlex/icons/hero/rectangle_group.rb +49 -0
  293. data/lib/phlex/icons/hero/rectangle_stack.rb +47 -0
  294. data/lib/phlex/icons/hero/rocket_launch.rb +53 -0
  295. data/lib/phlex/icons/hero/rss.rb +49 -0
  296. data/lib/phlex/icons/hero/scale.rb +49 -0
  297. data/lib/phlex/icons/hero/scissors.rb +53 -0
  298. data/lib/phlex/icons/hero/server.rb +53 -0
  299. data/lib/phlex/icons/hero/server_stack.rb +53 -0
  300. data/lib/phlex/icons/hero/share.rb +49 -0
  301. data/lib/phlex/icons/hero/shield_check.rb +49 -0
  302. data/lib/phlex/icons/hero/shield_exclamation.rb +49 -0
  303. data/lib/phlex/icons/hero/shopping_bag.rb +49 -0
  304. data/lib/phlex/icons/hero/shopping_cart.rb +47 -0
  305. data/lib/phlex/icons/hero/signal.rb +49 -0
  306. data/lib/phlex/icons/hero/signal_slash.rb +49 -0
  307. data/lib/phlex/icons/hero/slash.rb +46 -0
  308. data/lib/phlex/icons/hero/sparkles.rb +49 -0
  309. data/lib/phlex/icons/hero/speaker_wave.rb +51 -0
  310. data/lib/phlex/icons/hero/speaker_x_mark.rb +47 -0
  311. data/lib/phlex/icons/hero/square_2_stack.rb +51 -0
  312. data/lib/phlex/icons/hero/square_3_stack_3d.rb +55 -0
  313. data/lib/phlex/icons/hero/squares_2x2.rb +49 -0
  314. data/lib/phlex/icons/hero/squares_plus.rb +47 -0
  315. data/lib/phlex/icons/hero/star.rb +49 -0
  316. data/lib/phlex/icons/hero/stop.rb +49 -0
  317. data/lib/phlex/icons/hero/stop_circle.rb +54 -0
  318. data/lib/phlex/icons/hero/strikethrough.rb +49 -0
  319. data/lib/phlex/icons/hero/sun.rb +47 -0
  320. data/lib/phlex/icons/hero/swatch.rb +53 -0
  321. data/lib/phlex/icons/hero/table_cells.rb +49 -0
  322. data/lib/phlex/icons/hero/tag.rb +54 -0
  323. data/lib/phlex/icons/hero/ticket.rb +49 -0
  324. data/lib/phlex/icons/hero/trash.rb +49 -0
  325. data/lib/phlex/icons/hero/trophy.rb +49 -0
  326. data/lib/phlex/icons/hero/truck.rb +52 -0
  327. data/lib/phlex/icons/hero/tv.rb +50 -0
  328. data/lib/phlex/icons/hero/underline.rb +48 -0
  329. data/lib/phlex/icons/hero/user.rb +49 -0
  330. data/lib/phlex/icons/hero/user_circle.rb +49 -0
  331. data/lib/phlex/icons/hero/user_group.rb +53 -0
  332. data/lib/phlex/icons/hero/user_minus.rb +47 -0
  333. data/lib/phlex/icons/hero/user_plus.rb +47 -0
  334. data/lib/phlex/icons/hero/users.rb +47 -0
  335. data/lib/phlex/icons/hero/variable.rb +49 -0
  336. data/lib/phlex/icons/hero/video_camera.rb +47 -0
  337. data/lib/phlex/icons/hero/video_camera_slash.rb +47 -0
  338. data/lib/phlex/icons/hero/view_columns.rb +47 -0
  339. data/lib/phlex/icons/hero/viewfinder_circle.rb +47 -0
  340. data/lib/phlex/icons/hero/wallet.rb +47 -0
  341. data/lib/phlex/icons/hero/wifi.rb +49 -0
  342. data/lib/phlex/icons/hero/window.rb +49 -0
  343. data/lib/phlex/icons/hero/wrench.rb +54 -0
  344. data/lib/phlex/icons/hero/wrench_screwdriver.rb +59 -0
  345. data/lib/phlex/icons/hero/x_circle.rb +48 -0
  346. data/lib/phlex/icons/hero/x_mark.rb +48 -0
  347. data/lib/phlex/icons/hero.rb +26 -0
  348. data/lib/phlex/icons/version.rb +7 -0
  349. data/lib/phlex_icons_hero.rb +22 -0
  350. data/phlex-icons.png +0 -0
  351. data/sig/phlex/icons.rbs +6 -0
  352. metadata +412 -0
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ REPO_URL = 'https://github.com/tailwindlabs/heroicons.git'
6
+ REPO_NAME = 'tailwindlabs-heroicons'
7
+ ICONS_PACK_PATH = 'lib/phlex/icons/hero'
8
+
9
+ TEMPLATE = ERB.new <<~TEMPLATE
10
+ # frozen_string_literal: true
11
+
12
+ # rubocop:disable #{ROBOCOP_DISABLE_WARNINGS}
13
+ module Phlex
14
+ module Icons
15
+ module Hero
16
+ class <%= icon_name %> < Base
17
+ def solid
18
+ <%= solid_icon %>
19
+ end
20
+
21
+ def outline
22
+ <%= outline_icon %>
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ # rubocop:enable #{ROBOCOP_DISABLE_WARNINGS}
29
+ TEMPLATE
30
+
31
+ def main
32
+ run_generator { icon_file_names.tqdm.each { create_icon_component(_1) } }
33
+ end
34
+
35
+ def icon_file_names
36
+ Dir.glob("generators/#{REPO_NAME}/optimized/24/solid/*").map { |file| File.basename(file) }
37
+ end
38
+
39
+ def create_icon_component(icon_file_name)
40
+ File.write(
41
+ File.join(ICONS_PACK_PATH, component_file_name(icon_file_name)),
42
+ TEMPLATE.result_with_hash(
43
+ icon_name: component_class_name(icon_file_name),
44
+ solid_icon: read_and_convert_icon(solid_icon_file_path(icon_file_name)),
45
+ outline_icon: read_and_convert_icon(outline_icon_file_path(icon_file_name))
46
+ )
47
+ )
48
+ end
49
+
50
+ def read_and_convert_icon(icon_file_path)
51
+ icon_file_content = File.read(icon_file_path)
52
+ Phlexing::Converter.convert(icon_file_content).sub('svg(', "svg(\nclass: classes,")
53
+ end
54
+
55
+ def solid_icon_file_path(icon_file_name)
56
+ "generators/#{REPO_NAME}/optimized/24/solid/#{icon_file_name}"
57
+ end
58
+
59
+ def outline_icon_file_path(icon_file_name)
60
+ "generators/#{REPO_NAME}/optimized/24/outline/#{icon_file_name}"
61
+ end
62
+
63
+ main if __FILE__ == $PROGRAM_NAME
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ REPO_URL = 'https://github.com/lucide-icons/lucide.git'
6
+ REPO_NAME = 'lucide-icons-lucide'
7
+ ICONS_PACK_PATH = 'lib/phlex/icons/lucide'
8
+
9
+ TEMPLATE = ERB.new <<~TEMPLATE
10
+ # frozen_string_literal: true
11
+
12
+ # rubocop:disable #{ROBOCOP_DISABLE_WARNINGS}
13
+ module Phlex
14
+ module Icons
15
+ module Lucide
16
+ class <%= icon_name %> < Base
17
+ def view_template
18
+ <%= icon %>
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ # rubocop:enable #{ROBOCOP_DISABLE_WARNINGS}
25
+ TEMPLATE
26
+
27
+ def main
28
+ run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
29
+ end
30
+
31
+ def icon_file_paths
32
+ Dir.glob("generators/#{REPO_NAME}/icons/*.svg")
33
+ end
34
+
35
+ def create_icon_component(icon_file_path)
36
+ File.write(
37
+ File.join(ICONS_PACK_PATH, component_file_name(icon_file_path)),
38
+ TEMPLATE.result_with_hash(
39
+ icon_name: component_class_name(icon_file_path),
40
+ icon: read_and_convert_icon(icon_file_path)
41
+ )
42
+ )
43
+ end
44
+
45
+ def read_and_convert_icon(icon_file_path)
46
+ icon_file_content = File.read(icon_file_path)
47
+ .sub('width="24"', '')
48
+ .sub('height="24"', '')
49
+
50
+ Phlexing::Converter.convert(icon_file_content)
51
+ .sub('svg(', "svg(\nclass: classes,")
52
+ end
53
+
54
+ main if __FILE__ == $PROGRAM_NAME
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ REPO_URL = 'https://github.com/radix-ui/icons'
6
+ REPO_NAME = 'radix-ui-icons'
7
+ ICONS_PACK_PATH = 'lib/phlex/icons/radix'
8
+
9
+ TEMPLATE = ERB.new <<~TEMPLATE
10
+ # frozen_string_literal: true
11
+
12
+ # rubocop:disable #{ROBOCOP_DISABLE_WARNINGS}
13
+ module Phlex
14
+ module Icons
15
+ module Radix
16
+ class <%= icon_name %> < Base
17
+ def view_template
18
+ <%= icon %>
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ # rubocop:enable #{ROBOCOP_DISABLE_WARNINGS}
25
+ TEMPLATE
26
+
27
+ def main
28
+ run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
29
+ end
30
+
31
+ def icon_file_paths
32
+ Dir.glob("generators/#{REPO_NAME}/packages/radix-icons/icons/*.svg")
33
+ end
34
+
35
+ def create_icon_component(icon_file_path)
36
+ File.write(
37
+ File.join(ICONS_PACK_PATH, component_file_name(icon_file_path)),
38
+ TEMPLATE.result_with_hash(
39
+ icon_name: component_class_name(icon_file_path),
40
+ icon: read_and_convert_icon(icon_file_path)
41
+ )
42
+ )
43
+ end
44
+
45
+ def read_and_convert_icon(icon_file_path)
46
+ icon_file_content = File.read(icon_file_path)
47
+ .sub('width="15"', '')
48
+ .sub('height="15"', '')
49
+
50
+ Phlexing::Converter.convert(icon_file_content)
51
+ .sub('svg(', "svg(\nclass: classes,")
52
+ end
53
+
54
+ main if __FILE__ == $PROGRAM_NAME
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ REPO_URL = 'https://github.com/Remix-Design/RemixIcon.git'
6
+ REPO_NAME = 'remix-design-remixicon'
7
+ ICONS_PACK_PATH = 'lib/phlex/icons/remix'
8
+
9
+ TEMPLATE = ERB.new <<~TEMPLATE
10
+ # frozen_string_literal: true
11
+
12
+ # rubocop:disable #{ROBOCOP_DISABLE_WARNINGS}
13
+ module Phlex
14
+ module Icons
15
+ module Remix
16
+ class <%= icon_name %> < Base
17
+ def view_template
18
+ <%= icon %>
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ # rubocop:enable #{ROBOCOP_DISABLE_WARNINGS}
25
+ TEMPLATE
26
+
27
+ REPLACEMENTS = {
28
+ '4k-' => 'four-k-',
29
+ '24-' => 'twenty-four-'
30
+ }.freeze
31
+
32
+ def main
33
+ run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
34
+ end
35
+
36
+ def icon_file_paths
37
+ Dir.glob("generators/#{REPO_NAME}/icons/**/*.svg")
38
+ end
39
+
40
+ def create_icon_component(icon_file_path)
41
+ File.write(
42
+ File.join(ICONS_PACK_PATH, component_file_name(icon_file_path, REPLACEMENTS)),
43
+ TEMPLATE.result_with_hash(
44
+ icon_name: component_class_name(icon_file_path, REPLACEMENTS),
45
+ icon: read_and_convert_icon(icon_file_path)
46
+ )
47
+ )
48
+ end
49
+
50
+ def read_and_convert_icon(icon_file_path)
51
+ icon_file_content = File.read(icon_file_path)
52
+
53
+ Phlexing::Converter.convert(icon_file_content)
54
+ .sub('svg(', "svg(\nclass: classes,")
55
+ end
56
+
57
+ main if __FILE__ == $PROGRAM_NAME
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ class Base < Phlex::SVG
6
+ attr_reader :classes
7
+
8
+ def initialize(classes: Phlex::Icons.configuration.default_classes)
9
+ @classes = classes
10
+
11
+ super()
12
+ end
13
+
14
+ def view_template
15
+ send(variant) if respond_to?(variant)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ class Configuration
6
+ attr_accessor :default_variant, :default_classes
7
+
8
+ def initialize(default_classes: 'size-6')
9
+ @default_classes = default_classes
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class AcademicCap < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M11.7 2.805a.75.75 0 0 1 .6 0A60.65 60.65 0 0 1 22.83 8.72a.75.75 0 0 1-.231 1.337 49.948 49.948 0 0 0-9.902 3.912l-.003.002c-.114.06-.227.119-.34.18a.75.75 0 0 1-.707 0A50.88 50.88 0 0 0 7.5 12.173v-.224c0-.131.067-.248.172-.311a54.615 54.615 0 0 1 4.653-2.52.75.75 0 0 0-.65-1.352 56.123 56.123 0 0 0-4.78 2.589 1.858 1.858 0 0 0-.859 1.228 49.803 49.803 0 0 0-4.634-1.527.75.75 0 0 1-.231-1.337A60.653 60.653 0 0 1 11.7 2.805Z'
20
+ )
21
+ s.path(
22
+ d:
23
+ 'M13.06 15.473a48.45 48.45 0 0 1 7.666-3.282c.134 1.414.22 2.843.255 4.284a.75.75 0 0 1-.46.711 47.87 47.87 0 0 0-8.105 4.342.75.75 0 0 1-.832 0 47.87 47.87 0 0 0-8.104-4.342.75.75 0 0 1-.461-.71c.035-1.442.121-2.87.255-4.286.921.304 1.83.634 2.726.99v1.27a1.5 1.5 0 0 0-.14 2.508c-.09.38-.222.753-.397 1.11.452.213.901.434 1.346.66a6.727 6.727 0 0 0 .551-1.607 1.5 1.5 0 0 0 .14-2.67v-.645a48.549 48.549 0 0 1 3.44 1.667 2.25 2.25 0 0 0 2.12 0Z'
24
+ )
25
+ s.path(
26
+ d:
27
+ 'M4.462 19.462c.42-.419.753-.89 1-1.395.453.214.902.435 1.347.662a6.742 6.742 0 0 1-1.286 1.794.75.75 0 0 1-1.06-1.06Z'
28
+ )
29
+ end
30
+ end
31
+
32
+ def outline
33
+ svg(
34
+ class: classes,
35
+ xmlns: 'http://www.w3.org/2000/svg',
36
+ fill: 'none',
37
+ viewbox: '0 0 24 24',
38
+ stroke_width: '1.5',
39
+ stroke: 'currentColor',
40
+ aria_hidden: 'true',
41
+ data_slot: 'icon'
42
+ ) do |s|
43
+ s.path(
44
+ stroke_linecap: 'round',
45
+ stroke_linejoin: 'round',
46
+ d:
47
+ 'M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5'
48
+ )
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class AdjustmentsHorizontal < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M18.75 12.75h1.5a.75.75 0 0 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5ZM12 6a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 12 6ZM12 18a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 12 18ZM3.75 6.75h1.5a.75.75 0 1 0 0-1.5h-1.5a.75.75 0 0 0 0 1.5ZM5.25 18.75h-1.5a.75.75 0 0 1 0-1.5h1.5a.75.75 0 0 1 0 1.5ZM3 12a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 3 12ZM9 3.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5ZM12.75 12a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0ZM9 15.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Z'
20
+ )
21
+ end
22
+ end
23
+
24
+ def outline
25
+ svg(
26
+ class: classes,
27
+ xmlns: 'http://www.w3.org/2000/svg',
28
+ fill: 'none',
29
+ viewbox: '0 0 24 24',
30
+ stroke_width: '1.5',
31
+ stroke: 'currentColor',
32
+ aria_hidden: 'true',
33
+ data_slot: 'icon'
34
+ ) do |s|
35
+ s.path(
36
+ stroke_linecap: 'round',
37
+ stroke_linejoin: 'round',
38
+ d:
39
+ 'M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75'
40
+ )
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class AdjustmentsVertical < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M6 12a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 1 1 1.5 0v7.5A.75.75 0 0 1 6 12ZM18 12a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 18 12ZM6.75 20.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 0 1.5 0ZM18.75 18.75v1.5a.75.75 0 0 1-1.5 0v-1.5a.75.75 0 0 1 1.5 0ZM12.75 5.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 0 1.5 0ZM12 21a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 12 21ZM3.75 15a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0ZM12 11.25a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM15.75 15a2.25 2.25 0 1 0 4.5 0 2.25 2.25 0 0 0-4.5 0Z'
20
+ )
21
+ end
22
+ end
23
+
24
+ def outline
25
+ svg(
26
+ class: classes,
27
+ xmlns: 'http://www.w3.org/2000/svg',
28
+ fill: 'none',
29
+ viewbox: '0 0 24 24',
30
+ stroke_width: '1.5',
31
+ stroke: 'currentColor',
32
+ aria_hidden: 'true',
33
+ data_slot: 'icon'
34
+ ) do |s|
35
+ s.path(
36
+ stroke_linecap: 'round',
37
+ stroke_linejoin: 'round',
38
+ d:
39
+ 'M6 13.5V3.75m0 9.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 3.75V16.5m12-3V3.75m0 9.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 3.75V16.5m-6-9V3.75m0 3.75a1.5 1.5 0 0 1 0 3m0-3a1.5 1.5 0 0 0 0 3m0 9.75V10.5'
40
+ )
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class ArchiveBox < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z'
20
+ )
21
+ s.path(
22
+ fill_rule: 'evenodd',
23
+ d:
24
+ 'm3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087Zm6.163 3.75A.75.75 0 0 1 10 12h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z',
25
+ clip_rule: 'evenodd'
26
+ )
27
+ end
28
+ end
29
+
30
+ def outline
31
+ svg(
32
+ class: classes,
33
+ xmlns: 'http://www.w3.org/2000/svg',
34
+ fill: 'none',
35
+ viewbox: '0 0 24 24',
36
+ stroke_width: '1.5',
37
+ stroke: 'currentColor',
38
+ aria_hidden: 'true',
39
+ data_slot: 'icon'
40
+ ) do |s|
41
+ s.path(
42
+ stroke_linecap: 'round',
43
+ stroke_linejoin: 'round',
44
+ d:
45
+ 'm20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z'
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class ArchiveBoxArrowDown < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z'
20
+ )
21
+ s.path(
22
+ fill_rule: 'evenodd',
23
+ d:
24
+ 'm3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087ZM12 10.5a.75.75 0 0 1 .75.75v4.94l1.72-1.72a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 1 1 1.06-1.06l1.72 1.72v-4.94a.75.75 0 0 1 .75-.75Z',
25
+ clip_rule: 'evenodd'
26
+ )
27
+ end
28
+ end
29
+
30
+ def outline
31
+ svg(
32
+ class: classes,
33
+ xmlns: 'http://www.w3.org/2000/svg',
34
+ fill: 'none',
35
+ viewbox: '0 0 24 24',
36
+ stroke_width: '1.5',
37
+ stroke: 'currentColor',
38
+ aria_hidden: 'true',
39
+ data_slot: 'icon'
40
+ ) do |s|
41
+ s.path(
42
+ stroke_linecap: 'round',
43
+ stroke_linejoin: 'round',
44
+ d:
45
+ 'm20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m8.25 3v6.75m0 0-3-3m3 3 3-3M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z'
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class ArchiveBoxXMark < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ d:
19
+ 'M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z'
20
+ )
21
+ s.path(
22
+ fill_rule: 'evenodd',
23
+ d:
24
+ 'm3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087Zm6.133 2.845a.75.75 0 0 1 1.06 0l1.72 1.72 1.72-1.72a.75.75 0 1 1 1.06 1.06l-1.72 1.72 1.72 1.72a.75.75 0 1 1-1.06 1.06L12 15.685l-1.72 1.72a.75.75 0 1 1-1.06-1.06l1.72-1.72-1.72-1.72a.75.75 0 0 1 0-1.06Z',
25
+ clip_rule: 'evenodd'
26
+ )
27
+ end
28
+ end
29
+
30
+ def outline
31
+ svg(
32
+ class: classes,
33
+ xmlns: 'http://www.w3.org/2000/svg',
34
+ fill: 'none',
35
+ viewbox: '0 0 24 24',
36
+ stroke_width: '1.5',
37
+ stroke: 'currentColor',
38
+ aria_hidden: 'true',
39
+ data_slot: 'icon'
40
+ ) do |s|
41
+ s.path(
42
+ stroke_linecap: 'round',
43
+ stroke_linejoin: 'round',
44
+ d:
45
+ 'm20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5m6 4.125 2.25 2.25m0 0 2.25 2.25M12 13.875l2.25-2.25M12 13.875l-2.25 2.25M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z'
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class ArrowDown < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ fill_rule: 'evenodd',
19
+ d:
20
+ 'M12 2.25a.75.75 0 0 1 .75.75v16.19l6.22-6.22a.75.75 0 1 1 1.06 1.06l-7.5 7.5a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 1 1 1.06-1.06l6.22 6.22V3a.75.75 0 0 1 .75-.75Z',
21
+ clip_rule: 'evenodd'
22
+ )
23
+ end
24
+ end
25
+
26
+ def outline
27
+ svg(
28
+ class: classes,
29
+ xmlns: 'http://www.w3.org/2000/svg',
30
+ fill: 'none',
31
+ viewbox: '0 0 24 24',
32
+ stroke_width: '1.5',
33
+ stroke: 'currentColor',
34
+ aria_hidden: 'true',
35
+ data_slot: 'icon'
36
+ ) do |s|
37
+ s.path(
38
+ stroke_linecap: 'round',
39
+ stroke_linejoin: 'round',
40
+ d: 'M19.5 13.5 12 21m0 0-7.5-7.5M12 21V3'
41
+ )
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # rubocop:disable Layout/LineLength
4
+ module Phlex
5
+ module Icons
6
+ module Hero
7
+ class ArrowDownCircle < Base
8
+ def solid
9
+ svg(
10
+ class: classes,
11
+ xmlns: 'http://www.w3.org/2000/svg',
12
+ viewbox: '0 0 24 24',
13
+ fill: 'currentColor',
14
+ aria_hidden: 'true',
15
+ data_slot: 'icon'
16
+ ) do |s|
17
+ s.path(
18
+ fill_rule: 'evenodd',
19
+ d:
20
+ 'M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-.53 14.03a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V8.25a.75.75 0 0 0-1.5 0v5.69l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3Z',
21
+ clip_rule: 'evenodd'
22
+ )
23
+ end
24
+ end
25
+
26
+ def outline
27
+ svg(
28
+ class: classes,
29
+ xmlns: 'http://www.w3.org/2000/svg',
30
+ fill: 'none',
31
+ viewbox: '0 0 24 24',
32
+ stroke_width: '1.5',
33
+ stroke: 'currentColor',
34
+ aria_hidden: 'true',
35
+ data_slot: 'icon'
36
+ ) do |s|
37
+ s.path(
38
+ stroke_linecap: 'round',
39
+ stroke_linejoin: 'round',
40
+ d: 'm9 12.75 3 3m0 0 3-3m-3 3v-7.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'
41
+ )
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ # rubocop:enable Layout/LineLength