phlex-icons-flag 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ba97c0e6f1c61c8f44fa12c25a7c701822f5b038a921d7ed80317f1ab368ea0
4
- data.tar.gz: ec0cb75a95fd868c46aaff8801f07cc0e8579edbcdb86f42cfc52984d7c3aca7
3
+ metadata.gz: e076b6bfb9eb6f1a41d40b081f396f6fef35670035d4fc5d163253cc8a26777a
4
+ data.tar.gz: 5a6af49d3067e1e6eb7d8ddd72c07af339f1a3c368a3167706e56063bfe390ee
5
5
  SHA512:
6
- metadata.gz: e8245a5bc34bae0df8a516c8c0a1b46525f5336a4e9c8f45979d88dbf8135425d1f48f1ab98ac899dee91da0e3d4d551832c890b614ab6e1831be7cf91ff000f
7
- data.tar.gz: 7fdaa53873ff829c2176442fa05088951b53fd6fb7fb9c0b3547f023cd162ea005d6a8253ea9de65a173db1f262a34f31c1c3270374b11b77f8e6ecf904febfb
6
+ metadata.gz: e783754323fa88171942e5f6538a11855b5f1ccc2057709540cd3c4e33617cd62e09db1fa7a6ad5247f572cd7cc7533bbb3c2d00d1337a54fb4ba162c6d3f1bd
7
+ data.tar.gz: 4432a8ae3a4bb23a7de515766c143cc9e29c2c1da9d97538e673e736ae3341c66f5067c1480e2cf50126e194d3011104d71b4a875b0d3179ce9039c49f817bb4
data/README.md CHANGED
@@ -10,13 +10,14 @@
10
10
 
11
11
  # Phlex::Icons
12
12
 
13
- General icons extension for [Phlex](https://phlex.fun). Includes more than 🎨 7,300 icons from:
13
+ General icons extension for [Phlex](https://phlex.fun). Includes more than 🎨 12,000 icons from:
14
14
  - [Bootstrap Icons](https://icons.getbootstrap.com) (2,000+)
15
15
  - [Flag Icons](https://flagicons.lipis.dev) (250+)
16
16
  - [Heroicons](https://heroicons.com) (300+)
17
17
  - [Lucide Icons](https://lucide.dev/icons) (1,500+)
18
18
  - [RadixUI Icons](https://radix-ui.com/icons) (300+)
19
19
  - [Remix Icons](https://remixicon.com) (2,800+)
20
+ - [Tabler Icons](https://tabler.io/icons) (4,800+)
20
21
 
21
22
  And happy to extend to other icon packs!
22
23
 
@@ -96,6 +97,18 @@ Nothing to configure for RadixUI Icons.
96
97
 
97
98
  Nothing to configure for Remix Icons.
98
99
 
100
+ ### Tabler Icons configuration
101
+
102
+ ```ruby
103
+ Phlex::Icons::Tabler.configure do |config|
104
+ config.default_variant = :outline # or :filled
105
+ end
106
+
107
+ # OR
108
+
109
+ Phlex::Icons::Tabler.configuration.default_variant = :outline # or :filled
110
+ ```
111
+
99
112
  ## Usage
100
113
 
101
114
  ```ruby
@@ -110,6 +123,7 @@ class PhlexIcons < Phlex::HTML
110
123
  render Phlex::Icons::Lucide::House.new(classes: 'size-4')
111
124
  render Phlex::Icons::Radix::Home.new(classes: 'size-4')
112
125
  render Phlex::Icons::Remix::HomeLine.new(classes: 'size-4')
126
+ render Phlex::Icons::Tabler::Home.new(variant: :filled, classes: 'size-4')
113
127
  end
114
128
  end
115
129
  end
data/generators/helper.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'erb'
4
4
  require 'fileutils'
5
+ require 'zeitwerk' # Needed by Phlexing
5
6
  require 'phlexing'
6
7
  require 'tqdm'
7
8
 
@@ -19,8 +20,9 @@ def run_generator(&block)
19
20
 
20
21
  print '⌛ Creating icon components...'
21
22
  yield block
22
- puts "\r🎉 Icon components created successfully!"
23
+ puts "\e[2K\r🎉 Icon components created successfully!"
23
24
 
25
+ make_components_lazy_loadable(ICONS_PACK_PATH)
24
26
  run_rubocop(ICONS_PACK_PATH)
25
27
  delete_repo(REPO_NAME)
26
28
  end
@@ -29,14 +31,14 @@ def clone_repo(repo_url, repo_name)
29
31
  print "⌛ Cloning '#{repo_name}' repo..."
30
32
 
31
33
  if Dir.exist?("generators/#{repo_name}")
32
- puts "\r✅ '#{repo_name}' repo already exists"
34
+ puts "\e[2K\r✅ '#{repo_name}' repo already exists"
33
35
 
34
36
  return
35
37
  end
36
38
 
37
39
  system!("git clone #{repo_url} generators/#{repo_name}")
38
40
 
39
- puts "\r🎉 '#{repo_name}' repo cloned successfully!"
41
+ puts "\e[2K\r🎉 '#{repo_name}' repo cloned successfully!"
40
42
  end
41
43
 
42
44
  def prepare_phlex_icons_pack_directory(icons_pack_path)
@@ -50,13 +52,13 @@ def prepare_phlex_icons_pack_directory(icons_pack_path)
50
52
  File.delete(file)
51
53
  end
52
54
 
53
- puts "\r🎉 '#{icons_pack_path}' directory prepared successfully!"
55
+ puts "\e[2K\r🎉 '#{icons_pack_path}' directory prepared successfully!"
54
56
  end
55
57
 
56
58
  def component_file_name(icon_file_name, replacements = nil)
57
59
  replacements ||= {}
58
60
 
59
- icon_name = File.basename(icon_file_name, '.svg')
61
+ icon_name = File.basename(icon_file_name, File.extname(icon_file_name))
60
62
 
61
63
  replacements.each do |key, value|
62
64
  icon_name = icon_name.gsub(key, value) if icon_name.start_with?(key)
@@ -68,13 +70,32 @@ end
68
70
  def component_class_name(icon_file_name, replacements = nil)
69
71
  replacements ||= {}
70
72
 
71
- icon_name = File.basename(icon_file_name, '.svg')
73
+ icon_name = File.basename(icon_file_name, File.extname(icon_file_name))
72
74
 
73
75
  replacements.each do |key, value|
74
76
  icon_name = icon_name.gsub(key, value) if icon_name.start_with?(key)
75
77
  end
76
78
 
77
- icon_name.gsub('-', ' ').split.map(&:capitalize).join
79
+ icon_name.gsub(/[-_]/, ' ').split.map(&:capitalize).join
80
+ end
81
+
82
+ def make_components_lazy_loadable(path)
83
+ print '⌛ Making components lazy-loadable...'
84
+
85
+ autoload_lines = Dir.glob("#{path}/*.rb").map do |file|
86
+ next if ['base.rb', 'configuration.rb'].include?(File.basename(file))
87
+
88
+ " autoload :#{component_class_name(file)}, '#{file.split('/', 2).last.chomp(File.extname(file))}'"
89
+ end.compact.join("\n")
90
+
91
+ new_content = File.read("#{path}.rb").gsub(
92
+ /# auto-generated autoload: start.*# auto-generated autoload: end/m,
93
+ "# auto-generated autoload: start\n#{autoload_lines}\n # auto-generated autoload: end"
94
+ )
95
+
96
+ File.write("#{path}.rb", new_content)
97
+
98
+ puts "\e[2K\r🎉 Components are lazy-loadable!"
78
99
  end
79
100
 
80
101
  def run_rubocop(path)
@@ -86,7 +107,7 @@ def run_rubocop(path)
86
107
  File.write(file, File.read(file).gsub('rubocop:enable ,', 'rubocop:enable '))
87
108
  end
88
109
 
89
- puts "\r🎉 RuboCop ran successfully!"
110
+ puts "\e[2K\r🎉 RuboCop ran successfully!"
90
111
  end
91
112
 
92
113
  def delete_repo(repo_name)
@@ -94,7 +115,7 @@ def delete_repo(repo_name)
94
115
 
95
116
  FileUtils.rm_rf("generators/#{repo_name}")
96
117
 
97
- puts "\r🎉 '#{repo_name}' repo deleted successfully!"
118
+ puts "\e[2K\r🎉 '#{repo_name}' repo deleted successfully!"
98
119
  end
99
120
 
100
121
  def system!(command)
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'helper'
4
+
5
+ REPO_URL = 'https://github.com/tabler/tabler-icons.git'
6
+ REPO_NAME = 'tabler-tabler-icons'
7
+ ICONS_PACK_PATH = 'lib/phlex/icons/tabler'
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 Tabler
16
+ class <%= icon_name %> < Base
17
+ def filled
18
+ <%= filled_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}/icons/outline/*").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
+ filled_icon: read_and_convert_icon(filled_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
+ return 'raise NotImplementedError' unless File.exist?(icon_file_path)
52
+
53
+ icon_file_content = File.read(icon_file_path)
54
+ .gsub!(/<!--.*?-->/m, '')
55
+ .sub('width="24"', '')
56
+ .sub('height="24"', '')
57
+
58
+ Phlexing::Converter.convert(icon_file_content).sub('svg(', "svg(\nclass: classes,")
59
+ end
60
+
61
+ def filled_icon_file_path(icon_file_name)
62
+ "generators/#{REPO_NAME}/icons/filled/#{icon_file_name}"
63
+ end
64
+
65
+ def outline_icon_file_path(icon_file_name)
66
+ "generators/#{REPO_NAME}/icons/outline/#{icon_file_name}"
67
+ end
68
+
69
+ main if __FILE__ == $PROGRAM_NAME
@@ -2,15 +2,285 @@
2
2
 
3
3
  module Phlex
4
4
  module Icons
5
- module Flag
5
+ module Flag # rubocop:disable Metrics/ModuleLength
6
+ extend Phlex::Icons::Helper
7
+ extend Phlex::Kit
8
+
6
9
  require_relative 'flag/base'
7
10
  require_relative 'flag/configuration'
8
11
 
9
- Dir[File.join(__dir__, 'flag', '*.rb')].each do |file|
10
- next if ['base.rb', 'configuration.rb'].include?(File.basename(file))
11
-
12
- require_relative file
13
- end
12
+ # auto-generated autoload: start
13
+ autoload :Ad, 'phlex/icons/flag/ad'
14
+ autoload :Ae, 'phlex/icons/flag/ae'
15
+ autoload :Af, 'phlex/icons/flag/af'
16
+ autoload :Ag, 'phlex/icons/flag/ag'
17
+ autoload :Ai, 'phlex/icons/flag/ai'
18
+ autoload :Al, 'phlex/icons/flag/al'
19
+ autoload :Am, 'phlex/icons/flag/am'
20
+ autoload :Ao, 'phlex/icons/flag/ao'
21
+ autoload :Aq, 'phlex/icons/flag/aq'
22
+ autoload :Ar, 'phlex/icons/flag/ar'
23
+ autoload :Arab, 'phlex/icons/flag/arab'
24
+ autoload :As, 'phlex/icons/flag/as'
25
+ autoload :At, 'phlex/icons/flag/at'
26
+ autoload :Au, 'phlex/icons/flag/au'
27
+ autoload :Aw, 'phlex/icons/flag/aw'
28
+ autoload :Ax, 'phlex/icons/flag/ax'
29
+ autoload :Az, 'phlex/icons/flag/az'
30
+ autoload :Ba, 'phlex/icons/flag/ba'
31
+ autoload :Bb, 'phlex/icons/flag/bb'
32
+ autoload :Bd, 'phlex/icons/flag/bd'
33
+ autoload :Be, 'phlex/icons/flag/be'
34
+ autoload :Bf, 'phlex/icons/flag/bf'
35
+ autoload :Bg, 'phlex/icons/flag/bg'
36
+ autoload :Bh, 'phlex/icons/flag/bh'
37
+ autoload :Bi, 'phlex/icons/flag/bi'
38
+ autoload :Bj, 'phlex/icons/flag/bj'
39
+ autoload :Bl, 'phlex/icons/flag/bl'
40
+ autoload :Bm, 'phlex/icons/flag/bm'
41
+ autoload :Bn, 'phlex/icons/flag/bn'
42
+ autoload :Bo, 'phlex/icons/flag/bo'
43
+ autoload :Bq, 'phlex/icons/flag/bq'
44
+ autoload :Br, 'phlex/icons/flag/br'
45
+ autoload :Bs, 'phlex/icons/flag/bs'
46
+ autoload :Bt, 'phlex/icons/flag/bt'
47
+ autoload :Bv, 'phlex/icons/flag/bv'
48
+ autoload :Bw, 'phlex/icons/flag/bw'
49
+ autoload :By, 'phlex/icons/flag/by'
50
+ autoload :Bz, 'phlex/icons/flag/bz'
51
+ autoload :Ca, 'phlex/icons/flag/ca'
52
+ autoload :Cc, 'phlex/icons/flag/cc'
53
+ autoload :Cd, 'phlex/icons/flag/cd'
54
+ autoload :Cefta, 'phlex/icons/flag/cefta'
55
+ autoload :Cf, 'phlex/icons/flag/cf'
56
+ autoload :Cg, 'phlex/icons/flag/cg'
57
+ autoload :Ch, 'phlex/icons/flag/ch'
58
+ autoload :Ci, 'phlex/icons/flag/ci'
59
+ autoload :Ck, 'phlex/icons/flag/ck'
60
+ autoload :Cl, 'phlex/icons/flag/cl'
61
+ autoload :Cm, 'phlex/icons/flag/cm'
62
+ autoload :Cn, 'phlex/icons/flag/cn'
63
+ autoload :Co, 'phlex/icons/flag/co'
64
+ autoload :Cp, 'phlex/icons/flag/cp'
65
+ autoload :Cr, 'phlex/icons/flag/cr'
66
+ autoload :Cu, 'phlex/icons/flag/cu'
67
+ autoload :Cv, 'phlex/icons/flag/cv'
68
+ autoload :Cw, 'phlex/icons/flag/cw'
69
+ autoload :Cx, 'phlex/icons/flag/cx'
70
+ autoload :Cy, 'phlex/icons/flag/cy'
71
+ autoload :Cz, 'phlex/icons/flag/cz'
72
+ autoload :De, 'phlex/icons/flag/de'
73
+ autoload :Dg, 'phlex/icons/flag/dg'
74
+ autoload :Dj, 'phlex/icons/flag/dj'
75
+ autoload :Dk, 'phlex/icons/flag/dk'
76
+ autoload :Dm, 'phlex/icons/flag/dm'
77
+ autoload :Do, 'phlex/icons/flag/do'
78
+ autoload :Dz, 'phlex/icons/flag/dz'
79
+ autoload :Eac, 'phlex/icons/flag/eac'
80
+ autoload :Ec, 'phlex/icons/flag/ec'
81
+ autoload :Ee, 'phlex/icons/flag/ee'
82
+ autoload :Eg, 'phlex/icons/flag/eg'
83
+ autoload :Eh, 'phlex/icons/flag/eh'
84
+ autoload :Er, 'phlex/icons/flag/er'
85
+ autoload :Es, 'phlex/icons/flag/es'
86
+ autoload :EsCt, 'phlex/icons/flag/es_ct'
87
+ autoload :EsGa, 'phlex/icons/flag/es_ga'
88
+ autoload :EsPv, 'phlex/icons/flag/es_pv'
89
+ autoload :Et, 'phlex/icons/flag/et'
90
+ autoload :Eu, 'phlex/icons/flag/eu'
91
+ autoload :Fi, 'phlex/icons/flag/fi'
92
+ autoload :Fj, 'phlex/icons/flag/fj'
93
+ autoload :Fk, 'phlex/icons/flag/fk'
94
+ autoload :Fm, 'phlex/icons/flag/fm'
95
+ autoload :Fo, 'phlex/icons/flag/fo'
96
+ autoload :Fr, 'phlex/icons/flag/fr'
97
+ autoload :Ga, 'phlex/icons/flag/ga'
98
+ autoload :Gb, 'phlex/icons/flag/gb'
99
+ autoload :GbEng, 'phlex/icons/flag/gb_eng'
100
+ autoload :GbNir, 'phlex/icons/flag/gb_nir'
101
+ autoload :GbSct, 'phlex/icons/flag/gb_sct'
102
+ autoload :GbWls, 'phlex/icons/flag/gb_wls'
103
+ autoload :Gd, 'phlex/icons/flag/gd'
104
+ autoload :Ge, 'phlex/icons/flag/ge'
105
+ autoload :Gf, 'phlex/icons/flag/gf'
106
+ autoload :Gg, 'phlex/icons/flag/gg'
107
+ autoload :Gh, 'phlex/icons/flag/gh'
108
+ autoload :Gi, 'phlex/icons/flag/gi'
109
+ autoload :Gl, 'phlex/icons/flag/gl'
110
+ autoload :Gm, 'phlex/icons/flag/gm'
111
+ autoload :Gn, 'phlex/icons/flag/gn'
112
+ autoload :Gp, 'phlex/icons/flag/gp'
113
+ autoload :Gq, 'phlex/icons/flag/gq'
114
+ autoload :Gr, 'phlex/icons/flag/gr'
115
+ autoload :Gs, 'phlex/icons/flag/gs'
116
+ autoload :Gt, 'phlex/icons/flag/gt'
117
+ autoload :Gu, 'phlex/icons/flag/gu'
118
+ autoload :Gw, 'phlex/icons/flag/gw'
119
+ autoload :Gy, 'phlex/icons/flag/gy'
120
+ autoload :Hk, 'phlex/icons/flag/hk'
121
+ autoload :Hm, 'phlex/icons/flag/hm'
122
+ autoload :Hn, 'phlex/icons/flag/hn'
123
+ autoload :Hr, 'phlex/icons/flag/hr'
124
+ autoload :Ht, 'phlex/icons/flag/ht'
125
+ autoload :Hu, 'phlex/icons/flag/hu'
126
+ autoload :Ic, 'phlex/icons/flag/ic'
127
+ autoload :Id, 'phlex/icons/flag/id'
128
+ autoload :Ie, 'phlex/icons/flag/ie'
129
+ autoload :Il, 'phlex/icons/flag/il'
130
+ autoload :Im, 'phlex/icons/flag/im'
131
+ autoload :In, 'phlex/icons/flag/in'
132
+ autoload :Io, 'phlex/icons/flag/io'
133
+ autoload :Iq, 'phlex/icons/flag/iq'
134
+ autoload :Ir, 'phlex/icons/flag/ir'
135
+ autoload :Is, 'phlex/icons/flag/is'
136
+ autoload :It, 'phlex/icons/flag/it'
137
+ autoload :Je, 'phlex/icons/flag/je'
138
+ autoload :Jm, 'phlex/icons/flag/jm'
139
+ autoload :Jo, 'phlex/icons/flag/jo'
140
+ autoload :Jp, 'phlex/icons/flag/jp'
141
+ autoload :Ke, 'phlex/icons/flag/ke'
142
+ autoload :Kg, 'phlex/icons/flag/kg'
143
+ autoload :Kh, 'phlex/icons/flag/kh'
144
+ autoload :Ki, 'phlex/icons/flag/ki'
145
+ autoload :Km, 'phlex/icons/flag/km'
146
+ autoload :Kn, 'phlex/icons/flag/kn'
147
+ autoload :Kp, 'phlex/icons/flag/kp'
148
+ autoload :Kr, 'phlex/icons/flag/kr'
149
+ autoload :Kw, 'phlex/icons/flag/kw'
150
+ autoload :Ky, 'phlex/icons/flag/ky'
151
+ autoload :Kz, 'phlex/icons/flag/kz'
152
+ autoload :La, 'phlex/icons/flag/la'
153
+ autoload :Lb, 'phlex/icons/flag/lb'
154
+ autoload :Lc, 'phlex/icons/flag/lc'
155
+ autoload :Li, 'phlex/icons/flag/li'
156
+ autoload :Lk, 'phlex/icons/flag/lk'
157
+ autoload :Lr, 'phlex/icons/flag/lr'
158
+ autoload :Ls, 'phlex/icons/flag/ls'
159
+ autoload :Lt, 'phlex/icons/flag/lt'
160
+ autoload :Lu, 'phlex/icons/flag/lu'
161
+ autoload :Lv, 'phlex/icons/flag/lv'
162
+ autoload :Ly, 'phlex/icons/flag/ly'
163
+ autoload :Ma, 'phlex/icons/flag/ma'
164
+ autoload :Mc, 'phlex/icons/flag/mc'
165
+ autoload :Md, 'phlex/icons/flag/md'
166
+ autoload :Me, 'phlex/icons/flag/me'
167
+ autoload :Mf, 'phlex/icons/flag/mf'
168
+ autoload :Mg, 'phlex/icons/flag/mg'
169
+ autoload :Mh, 'phlex/icons/flag/mh'
170
+ autoload :Mk, 'phlex/icons/flag/mk'
171
+ autoload :Ml, 'phlex/icons/flag/ml'
172
+ autoload :Mm, 'phlex/icons/flag/mm'
173
+ autoload :Mn, 'phlex/icons/flag/mn'
174
+ autoload :Mo, 'phlex/icons/flag/mo'
175
+ autoload :Mp, 'phlex/icons/flag/mp'
176
+ autoload :Mq, 'phlex/icons/flag/mq'
177
+ autoload :Mr, 'phlex/icons/flag/mr'
178
+ autoload :Ms, 'phlex/icons/flag/ms'
179
+ autoload :Mt, 'phlex/icons/flag/mt'
180
+ autoload :Mu, 'phlex/icons/flag/mu'
181
+ autoload :Mv, 'phlex/icons/flag/mv'
182
+ autoload :Mw, 'phlex/icons/flag/mw'
183
+ autoload :Mx, 'phlex/icons/flag/mx'
184
+ autoload :My, 'phlex/icons/flag/my'
185
+ autoload :Mz, 'phlex/icons/flag/mz'
186
+ autoload :Na, 'phlex/icons/flag/na'
187
+ autoload :Nc, 'phlex/icons/flag/nc'
188
+ autoload :Ne, 'phlex/icons/flag/ne'
189
+ autoload :Nf, 'phlex/icons/flag/nf'
190
+ autoload :Ng, 'phlex/icons/flag/ng'
191
+ autoload :Ni, 'phlex/icons/flag/ni'
192
+ autoload :Nl, 'phlex/icons/flag/nl'
193
+ autoload :No, 'phlex/icons/flag/no'
194
+ autoload :Np, 'phlex/icons/flag/np'
195
+ autoload :Nr, 'phlex/icons/flag/nr'
196
+ autoload :Nu, 'phlex/icons/flag/nu'
197
+ autoload :Nz, 'phlex/icons/flag/nz'
198
+ autoload :Om, 'phlex/icons/flag/om'
199
+ autoload :Pa, 'phlex/icons/flag/pa'
200
+ autoload :Pc, 'phlex/icons/flag/pc'
201
+ autoload :Pe, 'phlex/icons/flag/pe'
202
+ autoload :Pf, 'phlex/icons/flag/pf'
203
+ autoload :Pg, 'phlex/icons/flag/pg'
204
+ autoload :Ph, 'phlex/icons/flag/ph'
205
+ autoload :Pk, 'phlex/icons/flag/pk'
206
+ autoload :Pl, 'phlex/icons/flag/pl'
207
+ autoload :Pm, 'phlex/icons/flag/pm'
208
+ autoload :Pn, 'phlex/icons/flag/pn'
209
+ autoload :Pr, 'phlex/icons/flag/pr'
210
+ autoload :Ps, 'phlex/icons/flag/ps'
211
+ autoload :Pt, 'phlex/icons/flag/pt'
212
+ autoload :Pw, 'phlex/icons/flag/pw'
213
+ autoload :Py, 'phlex/icons/flag/py'
214
+ autoload :Qa, 'phlex/icons/flag/qa'
215
+ autoload :Re, 'phlex/icons/flag/re'
216
+ autoload :Ro, 'phlex/icons/flag/ro'
217
+ autoload :Rs, 'phlex/icons/flag/rs'
218
+ autoload :Ru, 'phlex/icons/flag/ru'
219
+ autoload :Rw, 'phlex/icons/flag/rw'
220
+ autoload :Sa, 'phlex/icons/flag/sa'
221
+ autoload :Sb, 'phlex/icons/flag/sb'
222
+ autoload :Sc, 'phlex/icons/flag/sc'
223
+ autoload :Sd, 'phlex/icons/flag/sd'
224
+ autoload :Se, 'phlex/icons/flag/se'
225
+ autoload :Sg, 'phlex/icons/flag/sg'
226
+ autoload :Sh, 'phlex/icons/flag/sh'
227
+ autoload :ShAc, 'phlex/icons/flag/sh_ac'
228
+ autoload :ShHl, 'phlex/icons/flag/sh_hl'
229
+ autoload :ShTa, 'phlex/icons/flag/sh_ta'
230
+ autoload :Si, 'phlex/icons/flag/si'
231
+ autoload :Sj, 'phlex/icons/flag/sj'
232
+ autoload :Sk, 'phlex/icons/flag/sk'
233
+ autoload :Sl, 'phlex/icons/flag/sl'
234
+ autoload :Sm, 'phlex/icons/flag/sm'
235
+ autoload :Sn, 'phlex/icons/flag/sn'
236
+ autoload :So, 'phlex/icons/flag/so'
237
+ autoload :Sr, 'phlex/icons/flag/sr'
238
+ autoload :Ss, 'phlex/icons/flag/ss'
239
+ autoload :St, 'phlex/icons/flag/st'
240
+ autoload :Sv, 'phlex/icons/flag/sv'
241
+ autoload :Sx, 'phlex/icons/flag/sx'
242
+ autoload :Sy, 'phlex/icons/flag/sy'
243
+ autoload :Sz, 'phlex/icons/flag/sz'
244
+ autoload :Tc, 'phlex/icons/flag/tc'
245
+ autoload :Td, 'phlex/icons/flag/td'
246
+ autoload :Tf, 'phlex/icons/flag/tf'
247
+ autoload :Tg, 'phlex/icons/flag/tg'
248
+ autoload :Th, 'phlex/icons/flag/th'
249
+ autoload :Tj, 'phlex/icons/flag/tj'
250
+ autoload :Tk, 'phlex/icons/flag/tk'
251
+ autoload :Tl, 'phlex/icons/flag/tl'
252
+ autoload :Tm, 'phlex/icons/flag/tm'
253
+ autoload :Tn, 'phlex/icons/flag/tn'
254
+ autoload :To, 'phlex/icons/flag/to'
255
+ autoload :Tr, 'phlex/icons/flag/tr'
256
+ autoload :Tt, 'phlex/icons/flag/tt'
257
+ autoload :Tv, 'phlex/icons/flag/tv'
258
+ autoload :Tw, 'phlex/icons/flag/tw'
259
+ autoload :Tz, 'phlex/icons/flag/tz'
260
+ autoload :Ua, 'phlex/icons/flag/ua'
261
+ autoload :Ug, 'phlex/icons/flag/ug'
262
+ autoload :Um, 'phlex/icons/flag/um'
263
+ autoload :Un, 'phlex/icons/flag/un'
264
+ autoload :Us, 'phlex/icons/flag/us'
265
+ autoload :Uy, 'phlex/icons/flag/uy'
266
+ autoload :Uz, 'phlex/icons/flag/uz'
267
+ autoload :Va, 'phlex/icons/flag/va'
268
+ autoload :Vc, 'phlex/icons/flag/vc'
269
+ autoload :Ve, 'phlex/icons/flag/ve'
270
+ autoload :Vg, 'phlex/icons/flag/vg'
271
+ autoload :Vi, 'phlex/icons/flag/vi'
272
+ autoload :Vn, 'phlex/icons/flag/vn'
273
+ autoload :Vu, 'phlex/icons/flag/vu'
274
+ autoload :Wf, 'phlex/icons/flag/wf'
275
+ autoload :Ws, 'phlex/icons/flag/ws'
276
+ autoload :Xk, 'phlex/icons/flag/xk'
277
+ autoload :Xx, 'phlex/icons/flag/xx'
278
+ autoload :Ye, 'phlex/icons/flag/ye'
279
+ autoload :Yt, 'phlex/icons/flag/yt'
280
+ autoload :Za, 'phlex/icons/flag/za'
281
+ autoload :Zm, 'phlex/icons/flag/zm'
282
+ autoload :Zw, 'phlex/icons/flag/zw'
283
+ # auto-generated autoload: end
14
284
 
15
285
  class << self
16
286
  def configuration
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Phlex
4
+ module Icons
5
+ module Helper
6
+ def class_name_from_file_path(file_path)
7
+ ::File.basename(file_path, '.rb').split('_').collect(&:capitalize).join
8
+ end
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Phlex
4
4
  module Icons
5
- VERSION = '0.11.0'
5
+ VERSION = '0.12.0'
6
6
  end
7
7
  end
@@ -4,9 +4,11 @@ require 'phlex'
4
4
 
5
5
  require_relative 'phlex/icons/base'
6
6
  require_relative 'phlex/icons/configuration'
7
- require_relative 'phlex/icons/flag'
7
+ require_relative 'phlex/icons/helper'
8
8
  require_relative 'phlex/icons/version'
9
9
 
10
+ require_relative 'phlex/icons/flag'
11
+
10
12
  module Phlex
11
13
  module Icons
12
14
  class << self
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phlex-icons-flag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ali Hamdi Ali Fadel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-01 00:00:00.000000000 Z
11
+ date: 2024-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: phlex
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.10'
19
+ version: '1.11'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.10'
26
+ version: '1.11'
27
27
  description:
28
28
  email:
29
29
  - aliosm1997@gmail.com
@@ -48,6 +48,7 @@ files:
48
48
  - generators/lucide.rb
49
49
  - generators/radix.rb
50
50
  - generators/remix.rb
51
+ - generators/tabler.rb
51
52
  - lib/phlex/icons/base.rb
52
53
  - lib/phlex/icons/configuration.rb
53
54
  - lib/phlex/icons/flag.rb
@@ -323,6 +324,7 @@ files:
323
324
  - lib/phlex/icons/flag/za.rb
324
325
  - lib/phlex/icons/flag/zm.rb
325
326
  - lib/phlex/icons/flag/zw.rb
327
+ - lib/phlex/icons/helper.rb
326
328
  - lib/phlex/icons/version.rb
327
329
  - lib/phlex_icons_flag.rb
328
330
  - phlex-icons.png