phlex-icons 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/generators/bootstrap.rb +7 -1
  4. data/generators/flag.rb +7 -1
  5. data/generators/helper.rb +6 -0
  6. data/generators/hero.rb +7 -1
  7. data/generators/lucide.rb +10 -1
  8. data/generators/radix.rb +8 -2
  9. data/generators/remix.rb +7 -1
  10. data/generators/tabler.rb +7 -1
  11. data/lib/phlex/icons/bootstrap.rb +2 -0
  12. data/lib/phlex/icons/flag.rb +2 -0
  13. data/lib/phlex/icons/hero.rb +2 -0
  14. data/lib/phlex/icons/lucide/book_open.rb +7 -2
  15. data/lib/phlex/icons/lucide/book_open_check.rb +7 -2
  16. data/lib/phlex/icons/lucide/book_open_text.rb +10 -5
  17. data/lib/phlex/icons/lucide/briefcase_conveyor_belt.rb +30 -0
  18. data/lib/phlex/icons/lucide/caravan.rb +2 -3
  19. data/lib/phlex/icons/lucide/circle_stop.rb +1 -1
  20. data/lib/phlex/icons/lucide/clock_alert.rb +27 -0
  21. data/lib/phlex/icons/lucide/combine.rb +6 -6
  22. data/lib/phlex/icons/lucide/file_user.rb +27 -0
  23. data/lib/phlex/icons/lucide/grid_2x2_plus.rb +29 -0
  24. data/lib/phlex/icons/lucide/headphone_off.rb +31 -0
  25. data/lib/phlex/icons/lucide/loader_pinwheel.rb +1 -1
  26. data/lib/phlex/icons/lucide/message_square_lock.rb +26 -0
  27. data/lib/phlex/icons/lucide/messages_square.rb +1 -1
  28. data/lib/phlex/icons/lucide/octagon_pause.rb +1 -1
  29. data/lib/phlex/icons/lucide.rb +8 -0
  30. data/lib/phlex/icons/radix.rb +2 -0
  31. data/lib/phlex/icons/remix.rb +2 -0
  32. data/lib/phlex/icons/tabler/apple.rb +11 -1
  33. data/lib/phlex/icons/tabler/arrow_down_circle.rb +13 -1
  34. data/lib/phlex/icons/tabler/arrow_down_rhombus.rb +13 -1
  35. data/lib/phlex/icons/tabler/arrow_down_square.rb +13 -1
  36. data/lib/phlex/icons/tabler/arrow_guide.rb +13 -1
  37. data/lib/phlex/icons/tabler/arrow_left_circle.rb +13 -1
  38. data/lib/phlex/icons/tabler/arrow_left_rhombus.rb +13 -1
  39. data/lib/phlex/icons/tabler/arrow_left_square.rb +13 -1
  40. data/lib/phlex/icons/tabler/arrow_move_down.rb +13 -1
  41. data/lib/phlex/icons/tabler/arrow_move_left.rb +13 -1
  42. data/lib/phlex/icons/tabler/arrow_move_right.rb +13 -1
  43. data/lib/phlex/icons/tabler/arrow_move_up.rb +14 -1
  44. data/lib/phlex/icons/tabler/arrow_right_circle.rb +13 -1
  45. data/lib/phlex/icons/tabler/arrow_right_rhombus.rb +13 -1
  46. data/lib/phlex/icons/tabler/arrow_right_square.rb +13 -1
  47. data/lib/phlex/icons/tabler/arrow_up_circle.rb +13 -1
  48. data/lib/phlex/icons/tabler/arrow_up_rhombus.rb +13 -1
  49. data/lib/phlex/icons/tabler/arrow_up_square.rb +13 -1
  50. data/lib/phlex/icons/tabler/automatic_gearbox.rb +13 -1
  51. data/lib/phlex/icons/tabler/battery_automotive.rb +13 -1
  52. data/lib/phlex/icons/tabler/battery_vertical.rb +11 -1
  53. data/lib/phlex/icons/tabler/battery_vertical_1.rb +11 -1
  54. data/lib/phlex/icons/tabler/battery_vertical_2.rb +11 -1
  55. data/lib/phlex/icons/tabler/battery_vertical_3.rb +11 -1
  56. data/lib/phlex/icons/tabler/battery_vertical_4.rb +11 -1
  57. data/lib/phlex/icons/tabler/bike.rb +16 -1
  58. data/lib/phlex/icons/tabler/blender.rb +13 -1
  59. data/lib/phlex/icons/tabler/blob.rb +1 -1
  60. data/lib/phlex/icons/tabler/bolt.rb +13 -1
  61. data/lib/phlex/icons/tabler/bong.rb +11 -1
  62. data/lib/phlex/icons/tabler/box_multiple.rb +17 -1
  63. data/lib/phlex/icons/tabler/butterfly.rb +19 -1
  64. data/lib/phlex/icons/tabler/cannabis.rb +11 -1
  65. data/lib/phlex/icons/tabler/car.rb +13 -1
  66. data/lib/phlex/icons/tabler/car_4wd.rb +13 -1
  67. data/lib/phlex/icons/tabler/car_fan.rb +13 -1
  68. data/lib/phlex/icons/tabler/car_suv.rb +13 -1
  69. data/lib/phlex/icons/tabler/carambola.rb +11 -1
  70. data/lib/phlex/icons/tabler/cardboards.rb +11 -1
  71. data/lib/phlex/icons/tabler/charging_pile.rb +13 -1
  72. data/lib/phlex/icons/tabler/christmas_tree.rb +13 -1
  73. data/lib/phlex/icons/tabler/clover.rb +11 -1
  74. data/lib/phlex/icons/tabler/dashboard.rb +13 -1
  75. data/lib/phlex/icons/tabler/device_cctv.rb +13 -1
  76. data/lib/phlex/icons/tabler/device_desktop.rb +13 -1
  77. data/lib/phlex/icons/tabler/device_gamepad_3.rb +17 -5
  78. data/lib/phlex/icons/tabler/device_imac.rb +13 -1
  79. data/lib/phlex/icons/tabler/device_ipad.rb +13 -2
  80. data/lib/phlex/icons/tabler/device_remote.rb +13 -1
  81. data/lib/phlex/icons/tabler/device_speaker.rb +13 -1
  82. data/lib/phlex/icons/tabler/device_tv.rb +13 -1
  83. data/lib/phlex/icons/tabler/device_tv_old.rb +21 -1
  84. data/lib/phlex/icons/tabler/device_unknown.rb +13 -1
  85. data/lib/phlex/icons/tabler/device_usb.rb +15 -3
  86. data/lib/phlex/icons/tabler/device_vision_pro.rb +11 -1
  87. data/lib/phlex/icons/tabler/device_watch.rb +13 -1
  88. data/lib/phlex/icons/tabler/directions.rb +13 -1
  89. data/lib/phlex/icons/tabler/disc.rb +13 -1
  90. data/lib/phlex/icons/tabler/discount.rb +13 -1
  91. data/lib/phlex/icons/tabler/egg_cracked.rb +11 -1
  92. data/lib/phlex/icons/tabler/elevator.rb +13 -1
  93. data/lib/phlex/icons/tabler/feather.rb +17 -1
  94. data/lib/phlex/icons/tabler/flower.rb +11 -1
  95. data/lib/phlex/icons/tabler/glass.rb +13 -1
  96. data/lib/phlex/icons/tabler/melon.rb +11 -1
  97. data/lib/phlex/icons/tabler/meteor.rb +13 -1
  98. data/lib/phlex/icons/tabler/michelin_star.rb +11 -1
  99. data/lib/phlex/icons/tabler/milk.rb +11 -1
  100. data/lib/phlex/icons/tabler/mountain.rb +13 -1
  101. data/lib/phlex/icons/tabler/mug.rb +11 -1
  102. data/lib/phlex/icons/tabler/pizza.rb +13 -1
  103. data/lib/phlex/icons/tabler/salad.rb +11 -1
  104. data/lib/phlex/icons/tabler/seeding.rb +13 -1
  105. data/lib/phlex/icons/tabler.rb +2 -0
  106. data/lib/phlex/icons/version.rb +1 -1
  107. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 06f6fb5f1b09f777a0be319084dfb64aad517a0476fade6d183e981908823681
4
- data.tar.gz: 463bebdbd938d682700b20c497bac2e77b1b83d3c2b68c8f3da3343c3bc424f1
3
+ metadata.gz: 53d5afe5925ea27447ff6ccddae22f201b039e1ec62dfa777f1a59986a403577
4
+ data.tar.gz: 1bbbfd7a5b639af3cf705d9e659d84933fbafcc9c71d4b1ee3788429e12ef264
5
5
  SHA512:
6
- metadata.gz: 0211b3e18e62c8786b4fcc8150e0e212a19e25bcc03c56a3b1907b3e1af9f47cabffcf268e2d7e0681f56926e47d5b002c9608c14554557372dc6b3659e9894e
7
- data.tar.gz: e73ec81400bd6172aca6e1774aed95cba12eaffc9d29ce3054025e8c3c927c638b6e8ca1564c303abd428e013f2d1440c9aab68231f0fa77bc539d2bcd4018dc
6
+ metadata.gz: fe64399bd5b3a09df11c0306bdae817dcb1bd974322b2e3560d354d1b793696a4a6d8481df90c00170f2175bd556f7fb081eb8776f92e19060ac45fbf0e35308
7
+ data.tar.gz: 5a4d9bb78cab71a9b210959c938c9b317e6264be3658f783f9ffa112613007104ac7964bd777915562853ee995bf8d4af72de7c18eff55c5a56e527fa2985516
data/README.md CHANGED
@@ -124,7 +124,7 @@ Phlex::Icons::Tabler.configuration.default_variant = :outline # or :filled
124
124
  ### With `Phlex::Kit`
125
125
 
126
126
  ```ruby
127
- require 'phlex-icons'
127
+ require 'phlex-icons' # No need to require the gem if you are using it in a Rails application.
128
128
 
129
129
  class PhlexIcons < Phlex::HTML
130
130
  include Phlex::Icons
@@ -146,7 +146,7 @@ end
146
146
  ### Without `Phlex::Kit`
147
147
 
148
148
  ```ruby
149
- require 'phlex-icons'
149
+ require 'phlex-icons' # No need to require the gem if you are using it in a Rails application.
150
150
 
151
151
  class PhlexIcons < Phlex::HTML
152
152
  def view_template
@@ -172,8 +172,8 @@ Let's say you want to use only Heroicons and Flag Icons, you can use the followi
172
172
  Then, in your application, you can use the icons like this:
173
173
 
174
174
  ```ruby
175
- require 'phlex-icons-flag'
176
- require 'phlex-icons-hero'
175
+ require 'phlex-icons-flag' # No need to require the gem if you are using it in a Rails application.
176
+ require 'phlex-icons-hero' # No need to require the gem if you are using it in a Rails application.
177
177
 
178
178
  class PhlexIcons < Phlex::HTML
179
179
  include Phlex::Icons # If you want to use Phlex::Kit.
@@ -230,7 +230,7 @@ Now, you can use your custom icons like any other icon pack as described above.
230
230
 
231
231
  ## Update icon packs
232
232
 
233
- All icon packs provided in this gem are auto-generated by their generator under [`generators`](/generators) directory. You just need to clone the repo and run the generator for the icon pack you want to update. In future, I'm planning to add GitHub Actions to automatically generate the icon packs and update the gem.
233
+ All icon packs provided in this gem are auto-generated by their generator under [`generators`](/generators) directory. You just need to clone the repo and run the generator for the icon pack you want to update. Also, there is a GitHub Action that will run the generator for all icon packs and update the gem weekly on each Friday.
234
234
 
235
235
  ## Development
236
236
 
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/twbs/icons.git'
6
6
  REPO_NAME = 'twbs-icons'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/bootstrap.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/bootstrap'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -39,7 +40,12 @@ REPLACEMENTS = {
39
40
  }.freeze
40
41
 
41
42
  def main
42
- run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
43
+ run_generator do
44
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/package.json"))['version']
45
+ update_icon_path_version(new_version)
46
+
47
+ icon_file_paths.tqdm.each { create_icon_component(_1) }
48
+ end
43
49
  end
44
50
 
45
51
  def icon_file_paths
data/generators/flag.rb CHANGED
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/lipis/flag-icons.git'
6
6
  REPO_NAME = 'lipis-flag-icons'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/flag.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/flag'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -29,7 +30,12 @@ TEMPLATE = ERB.new <<~TEMPLATE
29
30
  TEMPLATE
30
31
 
31
32
  def main
32
- run_generator { icon_file_names.tqdm.each { create_icon_component(_1) } }
33
+ run_generator do
34
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/package.json"))['version']
35
+ update_icon_path_version(new_version)
36
+
37
+ icon_file_names.tqdm.each { create_icon_component(_1) }
38
+ end
33
39
  end
34
40
 
35
41
  def icon_file_names
data/generators/helper.rb CHANGED
@@ -55,6 +55,12 @@ def prepare_phlex_icons_pack_directory(icons_pack_path)
55
55
  puts "\e[2K\r🎉 '#{icons_pack_path}' directory prepared successfully!"
56
56
  end
57
57
 
58
+ def update_icon_path_version(new_version)
59
+ content = File.read(ICONS_PACK_MODULE_PATH)
60
+ updated_content = content.sub(/VERSION = '.*'/, "VERSION = '#{new_version}'")
61
+ File.write(ICONS_PACK_MODULE_PATH, updated_content)
62
+ end
63
+
58
64
  def component_file_name(icon_file_name, replacements = nil)
59
65
  replacements ||= {}
60
66
 
data/generators/hero.rb CHANGED
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/tailwindlabs/heroicons.git'
6
6
  REPO_NAME = 'tailwindlabs-heroicons'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/hero.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/hero'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -29,7 +30,12 @@ TEMPLATE = ERB.new <<~TEMPLATE
29
30
  TEMPLATE
30
31
 
31
32
  def main
32
- run_generator { icon_file_names.tqdm.each { create_icon_component(_1) } }
33
+ run_generator do
34
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/package.json"))['version']
35
+ update_icon_path_version(new_version)
36
+
37
+ icon_file_names.tqdm.each { create_icon_component(_1) }
38
+ end
33
39
  end
34
40
 
35
41
  def icon_file_names
data/generators/lucide.rb CHANGED
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/lucide-icons/lucide.git'
6
6
  REPO_NAME = 'lucide-icons-lucide'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/lucide.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/lucide'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -25,7 +26,15 @@ TEMPLATE = ERB.new <<~TEMPLATE
25
26
  TEMPLATE
26
27
 
27
28
  def main
28
- run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
29
+ run_generator do
30
+ cd_command = "cd generators/#{REPO_NAME}"
31
+ safe_directory_command = "git config --global --add safe.directory '*'"
32
+ get_latest_tag_command = 'git describe --tags --abbrev=0'
33
+ new_version = `#{cd_command} && #{safe_directory_command} && #{get_latest_tag_command}`.strip
34
+ update_icon_path_version(new_version)
35
+
36
+ icon_file_paths.tqdm.each { create_icon_component(_1) }
37
+ end
29
38
  end
30
39
 
31
40
  def icon_file_paths
data/generators/radix.rb CHANGED
@@ -2,8 +2,9 @@
2
2
 
3
3
  require_relative 'helper'
4
4
 
5
- REPO_URL = 'https://github.com/radix-ui/icons'
5
+ REPO_URL = 'https://github.com/radix-ui/icons.git'
6
6
  REPO_NAME = 'radix-ui-icons'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/radix.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/radix'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -25,7 +26,12 @@ TEMPLATE = ERB.new <<~TEMPLATE
25
26
  TEMPLATE
26
27
 
27
28
  def main
28
- run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
29
+ run_generator do
30
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/packages/radix-icons/package.json"))['version']
31
+ update_icon_path_version(new_version)
32
+
33
+ icon_file_paths.tqdm.each { create_icon_component(_1) }
34
+ end
29
35
  end
30
36
 
31
37
  def icon_file_paths
data/generators/remix.rb CHANGED
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/Remix-Design/RemixIcon.git'
6
6
  REPO_NAME = 'remix-design-remixicon'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/remix.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/remix'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -30,7 +31,12 @@ REPLACEMENTS = {
30
31
  }.freeze
31
32
 
32
33
  def main
33
- run_generator { icon_file_paths.tqdm.each { create_icon_component(_1) } }
34
+ run_generator do
35
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/package.json"))['version']
36
+ update_icon_path_version(new_version)
37
+
38
+ icon_file_paths.tqdm.each { create_icon_component(_1) }
39
+ end
34
40
  end
35
41
 
36
42
  def icon_file_paths
data/generators/tabler.rb CHANGED
@@ -4,6 +4,7 @@ require_relative 'helper'
4
4
 
5
5
  REPO_URL = 'https://github.com/tabler/tabler-icons.git'
6
6
  REPO_NAME = 'tabler-tabler-icons'
7
+ ICONS_PACK_MODULE_PATH = 'lib/phlex/icons/tabler.rb'
7
8
  ICONS_PACK_PATH = 'lib/phlex/icons/tabler'
8
9
 
9
10
  TEMPLATE = ERB.new <<~TEMPLATE
@@ -29,7 +30,12 @@ TEMPLATE = ERB.new <<~TEMPLATE
29
30
  TEMPLATE
30
31
 
31
32
  def main
32
- run_generator { icon_file_names.tqdm.each { create_icon_component(_1) } }
33
+ run_generator do
34
+ new_version = JSON.parse(File.read("generators/#{REPO_NAME}/package.json"))['version']
35
+ update_icon_path_version(new_version)
36
+
37
+ icon_file_names.tqdm.each { create_icon_component(_1) }
38
+ end
33
39
  end
34
40
 
35
41
  def icon_file_names
@@ -3,6 +3,8 @@
3
3
  module Phlex
4
4
  module Icons
5
5
  module Bootstrap # rubocop:disable Metrics/ModuleLength
6
+ VERSION = '1.11.3'
7
+
6
8
  extend Phlex::Kit
7
9
 
8
10
  require_relative 'bootstrap/base'
@@ -3,6 +3,8 @@
3
3
  module Phlex
4
4
  module Icons
5
5
  module Flag # rubocop:disable Metrics/ModuleLength
6
+ VERSION = '7.2.3'
7
+
6
8
  extend Phlex::Kit
7
9
 
8
10
  require_relative 'flag/base'
@@ -3,6 +3,8 @@
3
3
  module Phlex
4
4
  module Icons
5
5
  module Hero # rubocop:disable Metrics/ModuleLength
6
+ VERSION = '2.1.5'
7
+
6
8
  extend Phlex::Kit
7
9
 
8
10
  require_relative 'hero/base'
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Layout/LineLength
3
4
  module Phlex
4
5
  module Icons
5
6
  module Lucide
@@ -15,11 +16,15 @@ module Phlex
15
16
  stroke_linecap: 'round',
16
17
  stroke_linejoin: 'round'
17
18
  ) do |s|
18
- s.path(d: 'M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z')
19
- s.path(d: 'M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z')
19
+ s.path(d: 'M12 7v14')
20
+ s.path(
21
+ d:
22
+ 'M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'
23
+ )
20
24
  end
21
25
  end
22
26
  end
23
27
  end
24
28
  end
25
29
  end
30
+ # rubocop:enable Layout/LineLength
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Layout/LineLength
3
4
  module Phlex
4
5
  module Icons
5
6
  module Lucide
@@ -15,12 +16,16 @@ module Phlex
15
16
  stroke_linecap: 'round',
16
17
  stroke_linejoin: 'round'
17
18
  ) do |s|
18
- s.path(d: 'M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z')
19
+ s.path(d: 'M12 21V7')
19
20
  s.path(d: 'm16 12 2 2 4-4')
20
- s.path(d: 'M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3')
21
+ s.path(
22
+ d:
23
+ 'M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3'
24
+ )
21
25
  end
22
26
  end
23
27
  end
24
28
  end
25
29
  end
26
30
  end
31
+ # rubocop:enable Layout/LineLength
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Layout/LineLength
3
4
  module Phlex
4
5
  module Icons
5
6
  module Lucide
@@ -15,15 +16,19 @@ module Phlex
15
16
  stroke_linecap: 'round',
16
17
  stroke_linejoin: 'round'
17
18
  ) do |s|
18
- s.path(d: 'M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z')
19
- s.path(d: 'M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z')
20
- s.path(d: 'M6 8h2')
21
- s.path(d: 'M6 12h2')
22
- s.path(d: 'M16 8h2')
19
+ s.path(d: 'M12 7v14')
23
20
  s.path(d: 'M16 12h2')
21
+ s.path(d: 'M16 8h2')
22
+ s.path(
23
+ d:
24
+ 'M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'
25
+ )
26
+ s.path(d: 'M6 12h2')
27
+ s.path(d: 'M6 8h2')
24
28
  end
25
29
  end
26
30
  end
27
31
  end
28
32
  end
29
33
  end
34
+ # rubocop:enable Layout/LineLength
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class BriefcaseConveyorBelt < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(d: 'M10 20v2')
19
+ s.path(d: 'M14 20v2')
20
+ s.path(d: 'M18 20v2')
21
+ s.path(d: 'M21 20H3')
22
+ s.path(d: 'M6 20v2')
23
+ s.path(d: 'M8 16V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v12')
24
+ s.rect(x: '4', y: '6', width: '16', height: '10', rx: '2')
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -15,11 +15,10 @@ module Phlex
15
15
  stroke_linecap: 'round',
16
16
  stroke_linejoin: 'round'
17
17
  ) do |s|
18
- s.rect(width: '4', height: '4', x: '2', y: '9')
19
- s.rect(width: '4', height: '10', x: '10', y: '9')
20
18
  s.path(d: 'M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2')
19
+ s.path(d: 'M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2')
20
+ s.path(d: 'M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9')
21
21
  s.circle(cx: '8', cy: '19', r: '2')
22
- s.path(d: 'M10 19h12v-2')
23
22
  end
24
23
  end
25
24
  end
@@ -16,7 +16,7 @@ module Phlex
16
16
  stroke_linejoin: 'round'
17
17
  ) do |s|
18
18
  s.circle(cx: '12', cy: '12', r: '10')
19
- s.rect(width: '6', height: '6', x: '9', y: '9')
19
+ s.rect(x: '9', y: '9', width: '6', height: '6', rx: '1')
20
20
  end
21
21
  end
22
22
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class ClockAlert < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(d: 'M12 6v6l4 2')
19
+ s.path(d: 'M16 21.16a10 10 0 1 1 5-13.516')
20
+ s.path(d: 'M20 11.5v6')
21
+ s.path(d: 'M20 21.5h.01')
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -15,12 +15,12 @@ module Phlex
15
15
  stroke_linecap: 'round',
16
16
  stroke_linejoin: 'round'
17
17
  ) do |s|
18
- s.rect(width: '8', height: '8', x: '2', y: '2', rx: '2')
19
- s.path(d: 'M14 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2')
20
- s.path(d: 'M20 2c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2')
21
- s.path(d: 'M10 18H5c-1.7 0-3-1.3-3-3v-1')
22
- s.polyline(points: '7 21 10 18 7 15')
23
- s.rect(width: '8', height: '8', x: '14', y: '14', rx: '2')
18
+ s.path(d: 'M10 18H5a3 3 0 0 1-3-3v-1')
19
+ s.path(d: 'M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2')
20
+ s.path(d: 'M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2')
21
+ s.path(d: 'm7 21 3-3-3-3')
22
+ s.rect(x: '14', y: '14', width: '8', height: '8', rx: '2')
23
+ s.rect(x: '2', y: '2', width: '8', height: '8', rx: '2')
24
24
  end
25
25
  end
26
26
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class FileUser < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(d: 'M14 2v4a2 2 0 0 0 2 2h4')
19
+ s.path(d: 'M15 18a3 3 0 1 0-6 0')
20
+ s.path(d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z')
21
+ s.circle(cx: '12', cy: '13', r: '2')
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class Grid2x2Plus < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(
19
+ d:
20
+ 'M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3'
21
+ )
22
+ s.path(d: 'M16 19h6')
23
+ s.path(d: 'M19 22v-6')
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class HeadphoneOff < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(d: 'M21 14h-1.343')
19
+ s.path(d: 'M9.128 3.47A9 9 0 0 1 21 12v3.343')
20
+ s.path(d: 'm2 2 20 20')
21
+ s.path(d: 'M20.414 20.414A2 2 0 0 1 19 21h-1a2 2 0 0 1-2-2v-3')
22
+ s.path(
23
+ d:
24
+ 'M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 2.636-6.364'
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -15,7 +15,7 @@ module Phlex
15
15
  stroke_linecap: 'round',
16
16
  stroke_linejoin: 'round'
17
17
  ) do |s|
18
- s.path(d: 'M2 12c0-2.8 2.2-5 5-5s5 2.2 5 5 2.2 5 5 5 5-2.2 5-5')
18
+ s.path(d: 'M22 12a1 1 0 0 1-10 0 1 1 0 0 0-10 0')
19
19
  s.path(d: 'M7 20.7a1 1 0 1 1 5-8.7 1 1 0 1 0 5-8.6')
20
20
  s.path(d: 'M7 3.3a1 1 0 1 1 5 8.6 1 1 0 1 0 5 8.6')
21
21
  s.circle(cx: '12', cy: '12', r: '10')
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Lucide
6
+ class MessageSquareLock < Base
7
+ def view_template
8
+ svg(
9
+ class: classes,
10
+ xmlns: 'http://www.w3.org/2000/svg',
11
+ viewbox: '0 0 24 24',
12
+ fill: 'none',
13
+ stroke: 'currentColor',
14
+ stroke_width: '2',
15
+ stroke_linecap: 'round',
16
+ stroke_linejoin: 'round'
17
+ ) do |s|
18
+ s.path(d: 'M19 15v-2a2 2 0 1 0-4 0v2')
19
+ s.path(d: 'M9 17H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3.5')
20
+ s.rect(x: '13', y: '15', width: '8', height: '5', rx: '1')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -15,7 +15,7 @@ module Phlex
15
15
  stroke_linecap: 'round',
16
16
  stroke_linejoin: 'round'
17
17
  ) do |s|
18
- s.path(d: 'M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z')
18
+ s.path(d: 'M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z')
19
19
  s.path(d: 'M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1')
20
20
  end
21
21
  end
@@ -20,7 +20,7 @@ module Phlex
20
20
  s.path(d: 'M14 15V9')
21
21
  s.path(
22
22
  d:
23
- 'M2.586 16.872A2 2 0 0 1 2 15.458V8.542a2 2 0 0 1 .586-1.414l4.542-4.542A2 2 0 0 1 8.542 2h6.916a2 2 0 0 1 1.414.586l4.542 4.542A2 2 0 0 1 22 8.542v6.916a2 2 0 0 1-.586 1.414l-4.542 4.542a2 2 0 0 1-1.414.586H8.542a2 2 0 0 1-1.414-.586z'
23
+ 'M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z'
24
24
  )
25
25
  end
26
26
  end
@@ -3,6 +3,8 @@
3
3
  module Phlex
4
4
  module Icons
5
5
  module Lucide # rubocop:disable Metrics/ModuleLength
6
+ VERSION = '0.446.0'
7
+
6
8
  extend Phlex::Kit
7
9
 
8
10
  require_relative 'lucide/base'
@@ -231,6 +233,7 @@ module Phlex
231
233
  autoload :BrickWall, 'phlex/icons/lucide/brick_wall'
232
234
  autoload :Briefcase, 'phlex/icons/lucide/briefcase'
233
235
  autoload :BriefcaseBusiness, 'phlex/icons/lucide/briefcase_business'
236
+ autoload :BriefcaseConveyorBelt, 'phlex/icons/lucide/briefcase_conveyor_belt'
234
237
  autoload :BriefcaseMedical, 'phlex/icons/lucide/briefcase_medical'
235
238
  autoload :BringToFront, 'phlex/icons/lucide/bring_to_front'
236
239
  autoload :Brush, 'phlex/icons/lucide/brush'
@@ -401,6 +404,7 @@ module Phlex
401
404
  autoload :Clock7, 'phlex/icons/lucide/clock_7'
402
405
  autoload :Clock8, 'phlex/icons/lucide/clock_8'
403
406
  autoload :Clock9, 'phlex/icons/lucide/clock_9'
407
+ autoload :ClockAlert, 'phlex/icons/lucide/clock_alert'
404
408
  autoload :ClockArrowDown, 'phlex/icons/lucide/clock_arrow_down'
405
409
  autoload :ClockArrowUp, 'phlex/icons/lucide/clock_arrow_up'
406
410
  autoload :Cloud, 'phlex/icons/lucide/cloud'
@@ -595,6 +599,7 @@ module Phlex
595
599
  autoload :FileType, 'phlex/icons/lucide/file_type'
596
600
  autoload :FileType2, 'phlex/icons/lucide/file_type_2'
597
601
  autoload :FileUp, 'phlex/icons/lucide/file_up'
602
+ autoload :FileUser, 'phlex/icons/lucide/file_user'
598
603
  autoload :FileVideo, 'phlex/icons/lucide/file_video'
599
604
  autoload :FileVideo2, 'phlex/icons/lucide/file_video_2'
600
605
  autoload :FileVolume, 'phlex/icons/lucide/file_volume'
@@ -709,6 +714,7 @@ module Phlex
709
714
  autoload :Grape, 'phlex/icons/lucide/grape'
710
715
  autoload :Grid2x2, 'phlex/icons/lucide/grid_2x2'
711
716
  autoload :Grid2x2Check, 'phlex/icons/lucide/grid_2x2_check'
717
+ autoload :Grid2x2Plus, 'phlex/icons/lucide/grid_2x2_plus'
712
718
  autoload :Grid2x2X, 'phlex/icons/lucide/grid_2x2_x'
713
719
  autoload :Grid3x3, 'phlex/icons/lucide/grid_3x3'
714
720
  autoload :Grip, 'phlex/icons/lucide/grip'
@@ -739,6 +745,7 @@ module Phlex
739
745
  autoload :Heading4, 'phlex/icons/lucide/heading_4'
740
746
  autoload :Heading5, 'phlex/icons/lucide/heading_5'
741
747
  autoload :Heading6, 'phlex/icons/lucide/heading_6'
748
+ autoload :HeadphoneOff, 'phlex/icons/lucide/headphone_off'
742
749
  autoload :Headphones, 'phlex/icons/lucide/headphones'
743
750
  autoload :Headset, 'phlex/icons/lucide/headset'
744
751
  autoload :Heart, 'phlex/icons/lucide/heart'
@@ -910,6 +917,7 @@ module Phlex
910
917
  autoload :MessageSquareDiff, 'phlex/icons/lucide/message_square_diff'
911
918
  autoload :MessageSquareDot, 'phlex/icons/lucide/message_square_dot'
912
919
  autoload :MessageSquareHeart, 'phlex/icons/lucide/message_square_heart'
920
+ autoload :MessageSquareLock, 'phlex/icons/lucide/message_square_lock'
913
921
  autoload :MessageSquareMore, 'phlex/icons/lucide/message_square_more'
914
922
  autoload :MessageSquareOff, 'phlex/icons/lucide/message_square_off'
915
923
  autoload :MessageSquarePlus, 'phlex/icons/lucide/message_square_plus'