phlex-icons 2.19.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -1
- data/README.md +44 -0
- data/lib/phlex-icons/bootstrap/anthropic.rb +24 -0
- data/lib/phlex-icons/bootstrap/apple_music.rb +24 -0
- data/lib/phlex-icons/bootstrap/battery_low.rb +24 -0
- data/lib/phlex-icons/bootstrap/beaker.rb +27 -0
- data/lib/phlex-icons/bootstrap/beaker_fill.rb +23 -0
- data/lib/phlex-icons/bootstrap/bluesky.rb +23 -0
- data/lib/phlex-icons/bootstrap/calendar3_event_fill.rb +1 -2
- data/lib/phlex-icons/bootstrap/calendar3_range_fill.rb +1 -2
- data/lib/phlex-icons/bootstrap/calendar3_week_fill.rb +1 -2
- data/lib/phlex-icons/bootstrap/claude.rb +23 -0
- data/lib/phlex-icons/bootstrap/css.rb +24 -0
- data/lib/phlex-icons/bootstrap/flask.rb +23 -0
- data/lib/phlex-icons/bootstrap/flask_fill.rb +23 -0
- data/lib/phlex-icons/bootstrap/flask_florence.rb +23 -0
- data/lib/phlex-icons/bootstrap/flask_florence_fill.rb +23 -0
- data/lib/phlex-icons/bootstrap/fork_knife.rb +23 -0
- data/lib/phlex-icons/bootstrap/globe_americas_fill.rb +24 -0
- data/lib/phlex-icons/bootstrap/globe_asia_australia_fill.rb +24 -0
- data/lib/phlex-icons/bootstrap/globe_central_south_asia_fill.rb +24 -0
- data/lib/phlex-icons/bootstrap/globe_europe_africa_fill.rb +24 -0
- data/lib/phlex-icons/bootstrap/javascript.rb +24 -0
- data/lib/phlex-icons/bootstrap/leaf.rb +23 -0
- data/lib/phlex-icons/bootstrap/leaf_fill.rb +23 -0
- data/lib/phlex-icons/bootstrap/lock.rb +2 -1
- data/lib/phlex-icons/bootstrap/lock_fill.rb +2 -1
- data/lib/phlex-icons/bootstrap/measuring_cup.rb +23 -0
- data/lib/phlex-icons/bootstrap/measuring_cup_fill.rb +23 -0
- data/lib/phlex-icons/bootstrap/meta.rb +1 -1
- data/lib/phlex-icons/bootstrap/openai.rb +23 -0
- data/lib/phlex-icons/bootstrap/perplexity.rb +24 -0
- data/lib/phlex-icons/bootstrap/tux.rb +28 -0
- data/lib/phlex-icons/bootstrap/typescript.rb +24 -0
- data/lib/phlex-icons/bootstrap/unlock.rb +2 -1
- data/lib/phlex-icons/bootstrap/unlock2.rb +24 -0
- data/lib/phlex-icons/bootstrap/unlock2_fill.rb +24 -0
- data/lib/phlex-icons/bootstrap/unlock_fill.rb +2 -1
- data/lib/phlex-icons/bootstrap.rb +29 -1
- data/lib/phlex-icons/configuration.rb +24 -1
- data/lib/phlex-icons/icon.rb +31 -0
- data/lib/phlex-icons/lucide/air_vent.rb +2 -2
- data/lib/phlex-icons/lucide/axe.rb +7 -2
- data/lib/phlex-icons/lucide/bell_electric.rb +4 -4
- data/lib/phlex-icons/lucide/brackets.rb +2 -2
- data/lib/phlex-icons/lucide/brush_cleaning.rb +30 -0
- data/lib/phlex-icons/lucide/check_line.rb +24 -0
- data/lib/phlex-icons/lucide/clock_plus.rb +25 -0
- data/lib/phlex-icons/lucide/dumbbell.rb +5 -5
- data/lib/phlex-icons/lucide/expand.rb +4 -4
- data/lib/phlex-icons/lucide/gpu.rb +26 -0
- data/lib/phlex-icons/lucide/guitar.rb +1 -2
- data/lib/phlex-icons/lucide/hamburger.rb +28 -0
- data/lib/phlex-icons/lucide/laptop.rb +2 -1
- data/lib/phlex-icons/lucide/locate_off.rb +7 -13
- data/lib/phlex-icons/lucide/mail.rb +2 -2
- data/lib/phlex-icons/lucide/menu.rb +3 -3
- data/lib/phlex-icons/lucide/package_2.rb +7 -2
- data/lib/phlex-icons/lucide/panda.rb +32 -0
- data/lib/phlex-icons/lucide/phone.rb +1 -1
- data/lib/phlex-icons/lucide/phone_call.rb +3 -3
- data/lib/phlex-icons/lucide/phone_forwarded.rb +3 -3
- data/lib/phlex-icons/lucide/phone_incoming.rb +3 -3
- data/lib/phlex-icons/lucide/phone_missed.rb +3 -3
- data/lib/phlex-icons/lucide/phone_off.rb +6 -2
- data/lib/phlex-icons/lucide/phone_outgoing.rb +3 -3
- data/lib/phlex-icons/lucide/search.rb +1 -1
- data/lib/phlex-icons/lucide/soap_dispenser_droplet.rb +33 -0
- data/lib/phlex-icons/lucide/touchpad_off.rb +4 -4
- data/lib/phlex-icons/lucide/users.rb +2 -2
- data/lib/phlex-icons/lucide.rb +8 -1
- data/lib/phlex-icons/name_parser.rb +117 -0
- data/lib/phlex-icons/railtie.rb +17 -0
- data/lib/phlex-icons/version.rb +1 -1
- data/lib/phlex-icons.rb +3 -0
- metadata +40 -2
@@ -12,8 +12,9 @@ module PhlexIcons
|
|
12
12
|
viewbox: '0 0 16 16'
|
13
13
|
) do |s|
|
14
14
|
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
15
16
|
d:
|
16
|
-
'M8
|
17
|
+
'M8 0a4 4 0 0 1 4 4v2.05a2.5 2.5 0 0 1 2 2.45v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4M4.5 7A1.5 1.5 0 0 0 3 8.5v5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 11.5 7zM8 1a3 3 0 0 0-3 3v2h6V4a3 3 0 0 0-3-3'
|
17
18
|
)
|
18
19
|
end
|
19
20
|
end
|
@@ -12,8 +12,9 @@ module PhlexIcons
|
|
12
12
|
viewbox: '0 0 16 16'
|
13
13
|
) do |s|
|
14
14
|
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
15
16
|
d:
|
16
|
-
'M8
|
17
|
+
'M8 0a4 4 0 0 1 4 4v2.05a2.5 2.5 0 0 1 2 2.45v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4m0 1a3 3 0 0 0-3 3v2h6V4a3 3 0 0 0-3-3'
|
17
18
|
)
|
18
19
|
end
|
19
20
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class MeasuringCup < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
d:
|
16
|
+
'M.038.309A.5.5 0 0 1 .5 0H14a2 2 0 0 1 2 2v5.959a1.041 1.041 0 0 1-2.069.17l-.849-5.094A.041.041 0 0 0 13 3.04V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3.743a2.5 2.5 0 0 0-.732-1.768L.146.854A.5.5 0 0 1 .038.309M1.708 1l.267.268A3.5 3.5 0 0 1 3 3.743V14a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V3.041a1.041 1.041 0 0 1 2.069-.17l.849 5.094A.041.041 0 0 0 15 7.96V2a1 1 0 0 0-1-1zM4 3h3.5a.5.5 0 1 1 0 1H4zm0 2h1.5a.5.5 0 1 1 0 1H4zm0 2h3.5a.5.5 0 1 1 0 1H4zm0 2h1.5a.5.5 0 1 1 0 1H4zm0 2h3.5a.5.5 0 0 1 0 1H4zm0 2h1.5a.5.5 0 0 1 0 1H4z'
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class MeasuringCupFill < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
d:
|
16
|
+
'M14 0a2 2 0 0 1 2 2v5.959a1.041 1.041 0 0 1-2.049.264l-.02-.093-.849-5.096a.041.041 0 0 0-.082.007V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V3.742a2.5 2.5 0 0 0-.732-1.767L.146.854A.5.5 0 0 1 .5 0zM4 13v1h1.5a.5.5 0 0 0 0-1zm0-2v1h3.5a.5.5 0 0 0 0-1zm0-2v1h1.5a.5.5 0 0 0 0-1zm0-2v1h3.5a.5.5 0 0 0 0-1zm0-2v1h1.5a.5.5 0 0 0 0-1zm0-2v1h3.5a.5.5 0 0 0 0-1z'
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# rubocop:enable Layout/LineLength
|
@@ -14,7 +14,7 @@ module PhlexIcons
|
|
14
14
|
s.path(
|
15
15
|
fill_rule: 'evenodd',
|
16
16
|
d:
|
17
|
-
'M8.217 5.243C9.145 3.988 10.171 3 11.483 3 13.96 3 16 6.153 16.001 9.907c0 2.29-.986 3.725-2.757 3.725-1.543 0-2.395-.866-3.924-3.424l-.667-1.123-.118-.197a55 55 0 0 0-.53-.877l-1.178 2.08c-1.673 2.925-2.615 3.541-3.923 3.541C1.086 13.632 0 12.217 0 9.973 0 6.388 1.995 3 4.598 3q.477-.001.924.122c.31.086.611.22.913.407.577.359 1.154.915 1.782 1.714m1.516 2.224q-.378-.
|
17
|
+
'M8.217 5.243C9.145 3.988 10.171 3 11.483 3 13.96 3 16 6.153 16.001 9.907c0 2.29-.986 3.725-2.757 3.725-1.543 0-2.395-.866-3.924-3.424l-.667-1.123-.118-.197a55 55 0 0 0-.53-.877l-1.178 2.08c-1.673 2.925-2.615 3.541-3.923 3.541C1.086 13.632 0 12.217 0 9.973 0 6.388 1.995 3 4.598 3q.477-.001.924.122c.31.086.611.22.913.407.577.359 1.154.915 1.782 1.714m1.516 2.224q-.378-.615-.727-1.133L9 6.326c.845-1.305 1.543-1.954 2.372-1.954 1.723 0 3.102 2.537 3.102 5.653 0 1.188-.39 1.877-1.195 1.877-.773 0-1.142-.51-2.61-2.87zM4.846 4.756c.725.1 1.385.634 2.34 2.001A212 212 0 0 0 5.551 9.3c-1.357 2.126-1.826 2.603-2.581 2.603-.777 0-1.24-.682-1.24-1.9 0-2.602 1.298-5.264 2.846-5.264q.137 0 .27.018'
|
18
18
|
)
|
19
19
|
end
|
20
20
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Openai < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
d:
|
16
|
+
'M14.949 6.547a3.94 3.94 0 0 0-.348-3.273 4.11 4.11 0 0 0-4.4-1.934A4.1 4.1 0 0 0 8.423.2 4.15 4.15 0 0 0 6.305.086a4.1 4.1 0 0 0-1.891.948 4.04 4.04 0 0 0-1.158 1.753 4.1 4.1 0 0 0-1.563.679A4 4 0 0 0 .554 4.72a3.99 3.99 0 0 0 .502 4.731 3.94 3.94 0 0 0 .346 3.274 4.11 4.11 0 0 0 4.402 1.933c.382.425.852.764 1.377.995.526.231 1.095.35 1.67.346 1.78.002 3.358-1.132 3.901-2.804a4.1 4.1 0 0 0 1.563-.68 4 4 0 0 0 1.14-1.253 3.99 3.99 0 0 0-.506-4.716m-6.097 8.406a3.05 3.05 0 0 1-1.945-.694l.096-.054 3.23-1.838a.53.53 0 0 0 .265-.455v-4.49l1.366.778q.02.011.025.035v3.722c-.003 1.653-1.361 2.992-3.037 2.996m-6.53-2.75a2.95 2.95 0 0 1-.36-2.01l.095.057L5.29 12.09a.53.53 0 0 0 .527 0l3.949-2.246v1.555a.05.05 0 0 1-.022.041L6.473 13.3c-1.454.826-3.311.335-4.15-1.098m-.85-6.94A3.02 3.02 0 0 1 3.07 3.949v3.785a.51.51 0 0 0 .262.451l3.93 2.237-1.366.779a.05.05 0 0 1-.048 0L2.585 9.342a2.98 2.98 0 0 1-1.113-4.094zm11.216 2.571L8.747 5.576l1.362-.776a.05.05 0 0 1 .048 0l3.265 1.86a3 3 0 0 1 1.173 1.207 2.96 2.96 0 0 1-.27 3.2 3.05 3.05 0 0 1-1.36.997V8.279a.52.52 0 0 0-.276-.445m1.36-2.015-.097-.057-3.226-1.855a.53.53 0 0 0-.53 0L6.249 6.153V4.598a.04.04 0 0 1 .019-.04L9.533 2.7a3.07 3.07 0 0 1 3.257.139c.474.325.843.778 1.066 1.303.223.526.289 1.103.191 1.664zM5.503 8.575 4.139 7.8a.05.05 0 0 1-.026-.037V4.049c0-.57.166-1.127.476-1.607s.752-.864 1.275-1.105a3.08 3.08 0 0 1 3.234.41l-.096.054-3.23 1.838a.53.53 0 0 0-.265.455zm.742-1.577 1.758-1 1.762 1v2l-1.755 1-1.762-1z'
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Perplexity < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
16
|
+
d:
|
17
|
+
'M8 .188a.5.5 0 0 1 .503.5V4.03l3.022-2.92.059-.048a.51.51 0 0 1 .49-.054.5.5 0 0 1 .306.46v3.247h1.117l.1.01a.5.5 0 0 1 .403.49v5.558a.5.5 0 0 1-.503.5H12.38v3.258a.5.5 0 0 1-.312.462.51.51 0 0 1-.55-.11l-3.016-3.018v3.448c0 .275-.225.5-.503.5a.5.5 0 0 1-.503-.5v-3.448l-3.018 3.019a.51.51 0 0 1-.548.11.5.5 0 0 1-.312-.463v-3.258H2.503a.5.5 0 0 1-.503-.5V5.215l.01-.1c.047-.229.25-.4.493-.4H3.62V1.469l.006-.074a.5.5 0 0 1 .302-.387.51.51 0 0 1 .547.102l3.023 2.92V.687c0-.276.225-.5.503-.5M4.626 9.333v3.984l2.87-2.872v-4.01zm3.877 1.113 2.871 2.871V9.333l-2.87-2.897zm3.733-1.668a.5.5 0 0 1 .145.35v1.145h.612V5.715H9.201zm-9.23 1.495h.613V9.13c0-.131.052-.257.145-.35l3.033-3.064h-3.79zm1.62-5.558H6.76L4.626 2.652zm4.613 0h2.134V2.652z'
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Tux < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
d:
|
16
|
+
'M8.996 4.497c.104-.076.1-.168.186-.158s.022.102-.098.207c-.12.104-.308.243-.46.323-.291.152-.631.336-.993.336s-.647-.167-.853-.33c-.102-.082-.186-.162-.248-.221-.11-.086-.096-.207-.052-.204.075.01.087.109.134.153.064.06.144.137.241.214.195.154.454.304.778.304s.702-.19.932-.32c.13-.073.297-.204.433-.304M7.34 3.781c.055-.02.123-.031.174-.003.011.006.024.021.02.034-.012.038-.074.032-.11.05-.032.017-.057.052-.093.054-.034 0-.086-.012-.09-.046-.007-.044.058-.072.1-.089m.581-.003c.05-.028.119-.018.173.003.041.017.106.045.1.09-.004.033-.057.046-.09.045-.036-.002-.062-.037-.093-.053-.036-.019-.098-.013-.11-.051-.004-.013.008-.028.02-.034'
|
17
|
+
)
|
18
|
+
s.path(
|
19
|
+
fill_rule: 'evenodd',
|
20
|
+
d:
|
21
|
+
'M8.446.019c2.521.003 2.38 2.66 2.364 4.093-.01.939.509 1.574 1.04 2.244.474.56 1.095 1.38 1.45 2.32.29.765.402 1.613.115 2.465a.8.8 0 0 1 .254.152l.001.002c.207.175.271.447.329.698.058.252.112.488.224.615.344.382.494.667.48.922-.015.254-.203.43-.435.57-.465.28-1.164.491-1.586 1.002-.443.527-.99.83-1.505.871a1.25 1.25 0 0 1-1.256-.716v-.001a1 1 0 0 1-.078-.21c-.67.038-1.252-.165-1.718-.128-.687.038-1.116.204-1.506.206-.151.331-.445.547-.808.63-.5.114-1.126 0-1.743-.324-.577-.306-1.31-.278-1.85-.39-.27-.057-.51-.157-.626-.384-.116-.226-.095-.538.07-.988.051-.16.012-.398-.026-.648a2.5 2.5 0 0 1-.037-.369c0-.133.022-.265.087-.386v-.002c.14-.266.368-.377.577-.451s.397-.125.53-.258c.143-.15.27-.374.443-.56q.036-.037.073-.07c-.081-.538.007-1.105.192-1.662.393-1.18 1.223-2.314 1.811-3.014.502-.713.65-1.287.701-2.016.042-.997-.705-3.974 2.112-4.2q.168-.015.321-.013m2.596 10.866-.03.016c-.223.121-.348.337-.427.656-.08.32-.107.733-.13 1.206v.001c-.023.37-.192.824-.31 1.267s-.176.862-.036 1.128v.002c.226.452.608.636 1.051.601s.947-.304 1.36-.795c.474-.576 1.218-.796 1.638-1.05.21-.126.324-.242.333-.4.009-.157-.097-.403-.425-.767-.17-.192-.217-.462-.274-.71-.056-.247-.122-.468-.26-.585l-.001-.001c-.18-.157-.356-.17-.565-.164q-.069.001-.14.005c-.239.275-.805.612-1.197.508-.359-.09-.562-.508-.587-.918m-7.204.03H3.83c-.189.002-.314.09-.44.225-.149.158-.276.382-.445.56v.002h-.002c-.183.184-.414.239-.61.31-.195.069-.353.143-.46.35v.002c-.085.155-.066.378-.029.624.038.245.096.507.018.746v.002l-.001.002c-.157.427-.155.678-.082.822.074.143.235.22.48.272.493.103 1.26.069 1.906.41.583.305 1.168.404 1.598.305.431-.098.712-.369.75-.867v-.002c.029-.292-.195-.673-.485-1.052-.29-.38-.633-.752-.795-1.09v-.002l-.61-1.11c-.21-.286-.43-.462-.68-.5a1 1 0 0 0-.106-.008M9.584 4.85c-.14.2-.386.37-.695.467-.147.048-.302.17-.495.28a1.3 1.3 0 0 1-.74.19.97.97 0 0 1-.582-.227c-.14-.113-.25-.237-.394-.322a3 3 0 0 1-.192-.126c-.063 1.179-.85 2.658-1.226 3.511a5.4 5.4 0 0 0-.43 1.917c-.68-.906-.184-2.066.081-2.568.297-.55.343-.701.27-.649-.266.436-.685 1.13-.848 1.844-.085.372-.1.749.01 1.097.11.349.345.67.766.931.573.351.963.703 1.193 1.015s.302.584.23.777a.4.4 0 0 1-.212.22.7.7 0 0 1-.307.056l.184.235c.094.124.186.249.266.375 1.179.805 2.567.496 3.568-.218.1-.342.197-.664.212-.903.024-.474.05-.896.136-1.245s.244-.634.53-.791a1 1 0 0 1 .138-.061q.005-.045.013-.087c.082-.546.569-.572 1.18-.303.588.266.81.499.71.814h.13c.122-.398-.133-.69-.822-1.025l-.137-.06a2.35 2.35 0 0 0-.012-1.113c-.188-.79-.704-1.49-1.098-1.838-.072-.003-.065.06.081.203.363.333 1.156 1.532.727 2.644a1.2 1.2 0 0 0-.342-.043c-.164-.907-.543-1.66-.735-2.014-.359-.668-.918-2.036-1.158-2.983M7.72 3.503a1 1 0 0 0-.312.053c-.268.093-.447.286-.559.391-.022.021-.05.04-.119.091s-.172.126-.321.238q-.198.151-.13.38c.046.15.192.325.459.476.166.098.28.23.41.334a1 1 0 0 0 .215.133.9.9 0 0 0 .298.066c.282.017.49-.068.673-.173s.34-.233.518-.29c.365-.115.627-.345.709-.564a.37.37 0 0 0-.01-.309c-.048-.096-.148-.187-.318-.257h-.001c-.354-.151-.507-.162-.705-.29-.321-.207-.587-.28-.807-.279m-.89-1.122h-.025a.4.4 0 0 0-.278.135.76.76 0 0 0-.191.334 1.2 1.2 0 0 0-.051.445v.001c.01.162.041.299.102.436.05.116.109.204.183.274l.089-.065.117-.09-.023-.018a.4.4 0 0 1-.11-.161.7.7 0 0 1-.054-.22v-.01a.7.7 0 0 1 .014-.234.4.4 0 0 1 .08-.179q.056-.069.126-.073h.013a.18.18 0 0 1 .123.05c.045.04.08.09.11.162a.7.7 0 0 1 .054.22v.01a.7.7 0 0 1-.002.17 1.1 1.1 0 0 1 .317-.143 1.3 1.3 0 0 0 .002-.194V3.23a1.2 1.2 0 0 0-.102-.437.8.8 0 0 0-.227-.31.4.4 0 0 0-.268-.102m1.95-.155a.63.63 0 0 0-.394.14.9.9 0 0 0-.287.376 1.2 1.2 0 0 0-.1.51v.015q0 .079.01.152c.114.027.278.074.406.138a1 1 0 0 1-.011-.172.8.8 0 0 1 .058-.278.5.5 0 0 1 .139-.2.26.26 0 0 1 .182-.069.26.26 0 0 1 .178.081c.055.054.094.12.124.21.029.086.042.17.04.27l-.002.012a.8.8 0 0 1-.057.277c-.024.059-.089.106-.122.145.046.016.09.03.146.052a5 5 0 0 1 .248.102 1.2 1.2 0 0 0 .244-.763 1.2 1.2 0 0 0-.11-.495.9.9 0 0 0-.294-.37.64.64 0 0 0-.39-.133z'
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Typescript < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
16
|
+
d:
|
17
|
+
'M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm-1.139 7.488q-.585 0-1.006.244a1.67 1.67 0 0 0-.634.674 2.1 2.1 0 0 0-.225.996q0 .753.293 1.182.303.42.967.732l.469.215q.438.186.625.43.185.244.185.635 0 .478-.166.703-.156.224-.527.224-.361.001-.547-.244-.186-.243-.205-.752h-1.162q.02.996.498 1.524.479.527 1.386.527.909 0 1.417-.518.507-.517.507-1.484 0-.81-.332-1.289t-1.045-.79l-.449-.196q-.39-.166-.556-.381-.166-.214-.166-.576 0-.4.165-.596.177-.195.508-.195.361 0 .508.234.156.234.176.703h1.123q-.03-.976-.498-1.484-.47-.518-1.309-.518M7 7.596v1.113h1.3V14.5h1.221V8.709h1.289V7.596z'
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
# rubocop:enable Layout/LineLength
|
@@ -12,8 +12,9 @@ module PhlexIcons
|
|
12
12
|
viewbox: '0 0 16 16'
|
13
13
|
) do |s|
|
14
14
|
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
15
16
|
d:
|
16
|
-
'
|
17
|
+
'M12 0a4 4 0 0 1 4 4v2.5h-1V4a3 3 0 1 0-6 0v2h.5A2.5 2.5 0 0 1 12 8.5v5A2.5 2.5 0 0 1 9.5 16h-7A2.5 2.5 0 0 1 0 13.5v-5A2.5 2.5 0 0 1 2.5 6H8V4a4 4 0 0 1 4-4M2.5 7A1.5 1.5 0 0 0 1 8.5v5A1.5 1.5 0 0 0 2.5 15h7a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 9.5 7z'
|
17
18
|
)
|
18
19
|
end
|
19
20
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Unlock2 < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
16
|
+
d:
|
17
|
+
'M8 0c1.07 0 2.041.42 2.759 1.104l.14.14.062.08a.5.5 0 0 1-.71.675l-.076-.066-.216-.205A3 3 0 0 0 5 4v2h6.5A2.5 2.5 0 0 1 14 8.5v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4M4.5 7A1.5 1.5 0 0 0 3 8.5v5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 11.5 7z'
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Bootstrap
|
6
|
+
class Unlock2Fill < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
10
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
11
|
+
fill: 'currentColor',
|
12
|
+
viewbox: '0 0 16 16'
|
13
|
+
) do |s|
|
14
|
+
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
16
|
+
d:
|
17
|
+
'M8 0c1.07 0 2.041.42 2.759 1.104l.14.14.062.08a.5.5 0 0 1-.71.675l-.076-.066-.216-.205A3 3 0 0 0 5 4v2h6.5A2.5 2.5 0 0 1 14 8.5v5a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 2 13.5v-5a2.5 2.5 0 0 1 2-2.45V4a4 4 0 0 1 4-4'
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
# rubocop:enable Layout/LineLength
|
@@ -12,8 +12,9 @@ module PhlexIcons
|
|
12
12
|
viewbox: '0 0 16 16'
|
13
13
|
) do |s|
|
14
14
|
s.path(
|
15
|
+
fill_rule: 'evenodd',
|
15
16
|
d:
|
16
|
-
'
|
17
|
+
'M12 0a4 4 0 0 1 4 4v2.5h-1V4a3 3 0 1 0-6 0v2h.5A2.5 2.5 0 0 1 12 8.5v5A2.5 2.5 0 0 1 9.5 16h-7A2.5 2.5 0 0 1 0 13.5v-5A2.5 2.5 0 0 1 2.5 6H8V4a4 4 0 0 1 4-4'
|
17
18
|
)
|
18
19
|
end
|
19
20
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module PhlexIcons
|
4
4
|
module Bootstrap # rubocop:disable Metrics/ModuleLength
|
5
|
-
VERSION = '1.
|
5
|
+
VERSION = '1.13.1'
|
6
6
|
VARIANTS = nil
|
7
7
|
|
8
8
|
extend Phlex::Kit
|
@@ -32,9 +32,11 @@ module PhlexIcons
|
|
32
32
|
autoload :Amd, 'phlex-icons/bootstrap/amd'
|
33
33
|
autoload :Android, 'phlex-icons/bootstrap/android'
|
34
34
|
autoload :Android2, 'phlex-icons/bootstrap/android2'
|
35
|
+
autoload :Anthropic, 'phlex-icons/bootstrap/anthropic'
|
35
36
|
autoload :App, 'phlex-icons/bootstrap/app'
|
36
37
|
autoload :AppIndicator, 'phlex-icons/bootstrap/app_indicator'
|
37
38
|
autoload :Apple, 'phlex-icons/bootstrap/apple'
|
39
|
+
autoload :AppleMusic, 'phlex-icons/bootstrap/apple_music'
|
38
40
|
autoload :Archive, 'phlex-icons/bootstrap/archive'
|
39
41
|
autoload :ArchiveFill, 'phlex-icons/bootstrap/archive_fill'
|
40
42
|
autoload :Arrow90degDown, 'phlex-icons/bootstrap/arrow_90deg_down'
|
@@ -188,6 +190,9 @@ module PhlexIcons
|
|
188
190
|
autoload :BatteryCharging, 'phlex-icons/bootstrap/battery_charging'
|
189
191
|
autoload :BatteryFull, 'phlex-icons/bootstrap/battery_full'
|
190
192
|
autoload :BatteryHalf, 'phlex-icons/bootstrap/battery_half'
|
193
|
+
autoload :BatteryLow, 'phlex-icons/bootstrap/battery_low'
|
194
|
+
autoload :Beaker, 'phlex-icons/bootstrap/beaker'
|
195
|
+
autoload :BeakerFill, 'phlex-icons/bootstrap/beaker_fill'
|
191
196
|
autoload :Behance, 'phlex-icons/bootstrap/behance'
|
192
197
|
autoload :Bell, 'phlex-icons/bootstrap/bell'
|
193
198
|
autoload :BellFill, 'phlex-icons/bootstrap/bell_fill'
|
@@ -201,6 +206,7 @@ module PhlexIcons
|
|
201
206
|
autoload :BinocularsFill, 'phlex-icons/bootstrap/binoculars_fill'
|
202
207
|
autoload :BlockquoteLeft, 'phlex-icons/bootstrap/blockquote_left'
|
203
208
|
autoload :BlockquoteRight, 'phlex-icons/bootstrap/blockquote_right'
|
209
|
+
autoload :Bluesky, 'phlex-icons/bootstrap/bluesky'
|
204
210
|
autoload :Bluetooth, 'phlex-icons/bootstrap/bluetooth'
|
205
211
|
autoload :BodyText, 'phlex-icons/bootstrap/body_text'
|
206
212
|
autoload :Book, 'phlex-icons/bootstrap/book'
|
@@ -524,6 +530,7 @@ module PhlexIcons
|
|
524
530
|
autoload :CircleFill, 'phlex-icons/bootstrap/circle_fill'
|
525
531
|
autoload :CircleHalf, 'phlex-icons/bootstrap/circle_half'
|
526
532
|
autoload :CircleSquare, 'phlex-icons/bootstrap/circle_square'
|
533
|
+
autoload :Claude, 'phlex-icons/bootstrap/claude'
|
527
534
|
autoload :Clipboard, 'phlex-icons/bootstrap/clipboard'
|
528
535
|
autoload :Clipboard2, 'phlex-icons/bootstrap/clipboard2'
|
529
536
|
autoload :Clipboard2Check, 'phlex-icons/bootstrap/clipboard2_check'
|
@@ -637,6 +644,7 @@ module PhlexIcons
|
|
637
644
|
autoload :Crop, 'phlex-icons/bootstrap/crop'
|
638
645
|
autoload :Crosshair, 'phlex-icons/bootstrap/crosshair'
|
639
646
|
autoload :Crosshair2, 'phlex-icons/bootstrap/crosshair2'
|
647
|
+
autoload :Css, 'phlex-icons/bootstrap/css'
|
640
648
|
autoload :Cup, 'phlex-icons/bootstrap/cup'
|
641
649
|
autoload :CupFill, 'phlex-icons/bootstrap/cup_fill'
|
642
650
|
autoload :CupHot, 'phlex-icons/bootstrap/cup_hot'
|
@@ -1046,6 +1054,10 @@ module PhlexIcons
|
|
1046
1054
|
autoload :FiveSquareFill, 'phlex-icons/bootstrap/five_square_fill'
|
1047
1055
|
autoload :Flag, 'phlex-icons/bootstrap/flag'
|
1048
1056
|
autoload :FlagFill, 'phlex-icons/bootstrap/flag_fill'
|
1057
|
+
autoload :Flask, 'phlex-icons/bootstrap/flask'
|
1058
|
+
autoload :FlaskFill, 'phlex-icons/bootstrap/flask_fill'
|
1059
|
+
autoload :FlaskFlorence, 'phlex-icons/bootstrap/flask_florence'
|
1060
|
+
autoload :FlaskFlorenceFill, 'phlex-icons/bootstrap/flask_florence_fill'
|
1049
1061
|
autoload :Floppy, 'phlex-icons/bootstrap/floppy'
|
1050
1062
|
autoload :Floppy2, 'phlex-icons/bootstrap/floppy2'
|
1051
1063
|
autoload :Floppy2Fill, 'phlex-icons/bootstrap/floppy2_fill'
|
@@ -1064,6 +1076,7 @@ module PhlexIcons
|
|
1064
1076
|
autoload :FolderSymlinkFill, 'phlex-icons/bootstrap/folder_symlink_fill'
|
1065
1077
|
autoload :FolderX, 'phlex-icons/bootstrap/folder_x'
|
1066
1078
|
autoload :Fonts, 'phlex-icons/bootstrap/fonts'
|
1079
|
+
autoload :ForkKnife, 'phlex-icons/bootstrap/fork_knife'
|
1067
1080
|
autoload :Forward, 'phlex-icons/bootstrap/forward'
|
1068
1081
|
autoload :ForwardFill, 'phlex-icons/bootstrap/forward_fill'
|
1069
1082
|
autoload :FourCircle, 'phlex-icons/bootstrap/four_circle'
|
@@ -1101,9 +1114,13 @@ module PhlexIcons
|
|
1101
1114
|
autoload :Globe, 'phlex-icons/bootstrap/globe'
|
1102
1115
|
autoload :Globe2, 'phlex-icons/bootstrap/globe2'
|
1103
1116
|
autoload :GlobeAmericas, 'phlex-icons/bootstrap/globe_americas'
|
1117
|
+
autoload :GlobeAmericasFill, 'phlex-icons/bootstrap/globe_americas_fill'
|
1104
1118
|
autoload :GlobeAsiaAustralia, 'phlex-icons/bootstrap/globe_asia_australia'
|
1119
|
+
autoload :GlobeAsiaAustraliaFill, 'phlex-icons/bootstrap/globe_asia_australia_fill'
|
1105
1120
|
autoload :GlobeCentralSouthAsia, 'phlex-icons/bootstrap/globe_central_south_asia'
|
1121
|
+
autoload :GlobeCentralSouthAsiaFill, 'phlex-icons/bootstrap/globe_central_south_asia_fill'
|
1106
1122
|
autoload :GlobeEuropeAfrica, 'phlex-icons/bootstrap/globe_europe_africa'
|
1123
|
+
autoload :GlobeEuropeAfricaFill, 'phlex-icons/bootstrap/globe_europe_africa_fill'
|
1107
1124
|
autoload :Google, 'phlex-icons/bootstrap/google'
|
1108
1125
|
autoload :GooglePlay, 'phlex-icons/bootstrap/google_play'
|
1109
1126
|
autoload :GpuCard, 'phlex-icons/bootstrap/gpu_card'
|
@@ -1227,6 +1244,7 @@ module PhlexIcons
|
|
1227
1244
|
autoload :InputCursorText, 'phlex-icons/bootstrap/input_cursor_text'
|
1228
1245
|
autoload :Instagram, 'phlex-icons/bootstrap/instagram'
|
1229
1246
|
autoload :Intersect, 'phlex-icons/bootstrap/intersect'
|
1247
|
+
autoload :Javascript, 'phlex-icons/bootstrap/javascript'
|
1230
1248
|
autoload :Journal, 'phlex-icons/bootstrap/journal'
|
1231
1249
|
autoload :JournalAlbum, 'phlex-icons/bootstrap/journal_album'
|
1232
1250
|
autoload :JournalArrowDown, 'phlex-icons/bootstrap/journal_arrow_down'
|
@@ -1273,6 +1291,8 @@ module PhlexIcons
|
|
1273
1291
|
autoload :LayoutTextWindowReverse, 'phlex-icons/bootstrap/layout_text_window_reverse'
|
1274
1292
|
autoload :LayoutThreeColumns, 'phlex-icons/bootstrap/layout_three_columns'
|
1275
1293
|
autoload :LayoutWtf, 'phlex-icons/bootstrap/layout_wtf'
|
1294
|
+
autoload :Leaf, 'phlex-icons/bootstrap/leaf'
|
1295
|
+
autoload :LeafFill, 'phlex-icons/bootstrap/leaf_fill'
|
1276
1296
|
autoload :LifePreserver, 'phlex-icons/bootstrap/life_preserver'
|
1277
1297
|
autoload :Lightbulb, 'phlex-icons/bootstrap/lightbulb'
|
1278
1298
|
autoload :LightbulbFill, 'phlex-icons/bootstrap/lightbulb_fill'
|
@@ -1315,6 +1335,8 @@ module PhlexIcons
|
|
1315
1335
|
autoload :MarkerTip, 'phlex-icons/bootstrap/marker_tip'
|
1316
1336
|
autoload :Mask, 'phlex-icons/bootstrap/mask'
|
1317
1337
|
autoload :Mastodon, 'phlex-icons/bootstrap/mastodon'
|
1338
|
+
autoload :MeasuringCup, 'phlex-icons/bootstrap/measuring_cup'
|
1339
|
+
autoload :MeasuringCupFill, 'phlex-icons/bootstrap/measuring_cup_fill'
|
1318
1340
|
autoload :Medium, 'phlex-icons/bootstrap/medium'
|
1319
1341
|
autoload :Megaphone, 'phlex-icons/bootstrap/megaphone'
|
1320
1342
|
autoload :MegaphoneFill, 'phlex-icons/bootstrap/megaphone_fill'
|
@@ -1383,6 +1405,7 @@ module PhlexIcons
|
|
1383
1405
|
autoload :OneSquare, 'phlex-icons/bootstrap/one_square'
|
1384
1406
|
autoload :OneSquareFill, 'phlex-icons/bootstrap/one_square_fill'
|
1385
1407
|
autoload :OneTwoThree, 'phlex-icons/bootstrap/one_two_three'
|
1408
|
+
autoload :Openai, 'phlex-icons/bootstrap/openai'
|
1386
1409
|
autoload :Opencollective, 'phlex-icons/bootstrap/opencollective'
|
1387
1410
|
autoload :OpticalAudio, 'phlex-icons/bootstrap/optical_audio'
|
1388
1411
|
autoload :OpticalAudioFill, 'phlex-icons/bootstrap/optical_audio_fill'
|
@@ -1439,6 +1462,7 @@ module PhlexIcons
|
|
1439
1462
|
autoload :People, 'phlex-icons/bootstrap/people'
|
1440
1463
|
autoload :PeopleFill, 'phlex-icons/bootstrap/people_fill'
|
1441
1464
|
autoload :Percent, 'phlex-icons/bootstrap/percent'
|
1465
|
+
autoload :Perplexity, 'phlex-icons/bootstrap/perplexity'
|
1442
1466
|
autoload :Person, 'phlex-icons/bootstrap/person'
|
1443
1467
|
autoload :PersonAdd, 'phlex-icons/bootstrap/person_add'
|
1444
1468
|
autoload :PersonArmsUp, 'phlex-icons/bootstrap/person_arms_up'
|
@@ -1938,6 +1962,7 @@ module PhlexIcons
|
|
1938
1962
|
autoload :TruckFront, 'phlex-icons/bootstrap/truck_front'
|
1939
1963
|
autoload :TruckFrontFill, 'phlex-icons/bootstrap/truck_front_fill'
|
1940
1964
|
autoload :Tsunami, 'phlex-icons/bootstrap/tsunami'
|
1965
|
+
autoload :Tux, 'phlex-icons/bootstrap/tux'
|
1941
1966
|
autoload :Tv, 'phlex-icons/bootstrap/tv'
|
1942
1967
|
autoload :TvFill, 'phlex-icons/bootstrap/tv_fill'
|
1943
1968
|
autoload :Twitch, 'phlex-icons/bootstrap/twitch'
|
@@ -1958,6 +1983,7 @@ module PhlexIcons
|
|
1958
1983
|
autoload :TypeItalic, 'phlex-icons/bootstrap/type_italic'
|
1959
1984
|
autoload :TypeStrikethrough, 'phlex-icons/bootstrap/type_strikethrough'
|
1960
1985
|
autoload :TypeUnderline, 'phlex-icons/bootstrap/type_underline'
|
1986
|
+
autoload :Typescript, 'phlex-icons/bootstrap/typescript'
|
1961
1987
|
autoload :Ubuntu, 'phlex-icons/bootstrap/ubuntu'
|
1962
1988
|
autoload :UiChecks, 'phlex-icons/bootstrap/ui_checks'
|
1963
1989
|
autoload :UiChecksGrid, 'phlex-icons/bootstrap/ui_checks_grid'
|
@@ -1971,6 +1997,8 @@ module PhlexIcons
|
|
1971
1997
|
autoload :UniversalAccess, 'phlex-icons/bootstrap/universal_access'
|
1972
1998
|
autoload :UniversalAccessCircle, 'phlex-icons/bootstrap/universal_access_circle'
|
1973
1999
|
autoload :Unlock, 'phlex-icons/bootstrap/unlock'
|
2000
|
+
autoload :Unlock2, 'phlex-icons/bootstrap/unlock2'
|
2001
|
+
autoload :Unlock2Fill, 'phlex-icons/bootstrap/unlock2_fill'
|
1974
2002
|
autoload :UnlockFill, 'phlex-icons/bootstrap/unlock_fill'
|
1975
2003
|
autoload :Upc, 'phlex-icons/bootstrap/upc'
|
1976
2004
|
autoload :UpcScan, 'phlex-icons/bootstrap/upc_scan'
|
@@ -2,10 +2,33 @@
|
|
2
2
|
|
3
3
|
module PhlexIcons
|
4
4
|
class Configuration
|
5
|
-
attr_accessor :default_variant, :default_classes
|
5
|
+
attr_accessor :default_variant, :default_classes, :helper_method_name
|
6
|
+
attr_reader :default_pack
|
6
7
|
|
7
8
|
def initialize(default_classes: 'size-6')
|
8
9
|
@default_classes = default_classes
|
10
|
+
@helper_method_name = :phlex_icon
|
11
|
+
@default_pack = nil
|
12
|
+
end
|
13
|
+
|
14
|
+
# Custom setter for default_pack
|
15
|
+
# Accepts Class (PhlexIcons::Hero), String ('hero'), or Symbol (:hero)
|
16
|
+
#
|
17
|
+
# @param value [Class, String, Symbol, nil] The value to set the default pack to.
|
18
|
+
# @raise [ArgumentError] If the value is not a Class, String, Symbol, or nil.
|
19
|
+
def default_pack=(value)
|
20
|
+
@default_pack = case value
|
21
|
+
when Class
|
22
|
+
# Extract 'Hero' from PhlexIcons::Hero, lowercase, symbolize
|
23
|
+
value.name.split('::').last&.downcase&.to_sym
|
24
|
+
when String, Symbol
|
25
|
+
value.to_sym
|
26
|
+
when nil
|
27
|
+
nil
|
28
|
+
else
|
29
|
+
raise ArgumentError,
|
30
|
+
"Invalid type for default_pack: #{value.class}. Expected Class, String, Symbol, or nil."
|
31
|
+
end
|
9
32
|
end
|
10
33
|
end
|
11
34
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'name_parser'
|
4
|
+
|
5
|
+
module PhlexIcons
|
6
|
+
extend Phlex::Kit
|
7
|
+
|
8
|
+
class Icon < Phlex::SVG
|
9
|
+
# Factory method to create an icon component instance.
|
10
|
+
# Parses the name string, finds the corresponding class, and initializes it with options.
|
11
|
+
# @param name [String] Icon identifier (e.g., "hero/house:solid", "lucide/arrow-right").
|
12
|
+
# @param options [Hash] HTML attributes and options for the icon component.
|
13
|
+
# @return [Phlex::SVG] An instance of the resolved icon component.
|
14
|
+
# @raise [ArgumentError] If the name format is invalid or default pack is missing.
|
15
|
+
# @raise [NameError] If the corresponding icon class cannot be found.
|
16
|
+
def initialize(name, **options)
|
17
|
+
@name = name
|
18
|
+
@options = options&.transform_keys(&:to_sym) || {}
|
19
|
+
super()
|
20
|
+
end
|
21
|
+
|
22
|
+
def view_template
|
23
|
+
parser = PhlexIcons::NameParser.new(@name)
|
24
|
+
|
25
|
+
# Prioritize variant from the name string over options hash
|
26
|
+
@options[:variant] = parser.variant_name if parser.variant_name
|
27
|
+
|
28
|
+
render parser.klass.new(**@options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -14,13 +14,13 @@ module PhlexIcons
|
|
14
14
|
stroke_linecap: 'round',
|
15
15
|
stroke_linejoin: 'round'
|
16
16
|
) do |s|
|
17
|
+
s.path(d: 'M18 17.5a2.5 2.5 0 1 1-4 2.03V12')
|
17
18
|
s.path(
|
18
19
|
d:
|
19
20
|
'M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'
|
20
21
|
)
|
21
22
|
s.path(d: 'M6 8h12')
|
22
|
-
s.path(d: '
|
23
|
-
s.path(d: 'M6.6 15.6A2 2 0 1 0 10 17v-5')
|
23
|
+
s.path(d: 'M6.6 15.572A2 2 0 1 0 10 17v-5')
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# rubocop:disable Layout/LineLength
|
3
4
|
module PhlexIcons
|
4
5
|
module Lucide
|
5
6
|
class Axe < Base
|
@@ -14,10 +15,14 @@ module PhlexIcons
|
|
14
15
|
stroke_linecap: 'round',
|
15
16
|
stroke_linejoin: 'round'
|
16
17
|
) do |s|
|
17
|
-
s.path(d: 'm14 12-8.
|
18
|
-
s.path(
|
18
|
+
s.path(d: 'm14 12-8.381 8.38a1 1 0 0 1-3.001-3L11 9')
|
19
|
+
s.path(
|
20
|
+
d:
|
21
|
+
'M15 15.5a.5.5 0 0 0 .5.5A6.5 6.5 0 0 0 22 9.5a.5.5 0 0 0-.5-.5h-1.672a2 2 0 0 1-1.414-.586l-5.062-5.062a1.205 1.205 0 0 0-1.704 0L9.352 5.648a1.205 1.205 0 0 0 0 1.704l5.062 5.062A2 2 0 0 1 15 13.828z'
|
22
|
+
)
|
19
23
|
end
|
20
24
|
end
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
28
|
+
# rubocop:enable Layout/LineLength
|
@@ -14,12 +14,12 @@ module PhlexIcons
|
|
14
14
|
stroke_linecap: 'round',
|
15
15
|
stroke_linejoin: 'round'
|
16
16
|
) do |s|
|
17
|
-
s.path(d: 'M18.
|
17
|
+
s.path(d: 'M18.518 17.347A7 7 0 0 1 14 19')
|
18
|
+
s.path(d: 'M18.8 4A11 11 0 0 1 20 9')
|
18
19
|
s.path(d: 'M9 9h.01')
|
19
|
-
s.circle(cx: '9', cy: '9', r: '7')
|
20
|
-
s.rect(width: '10', height: '6', x: '4', y: '16', rx: '2')
|
21
|
-
s.path(d: 'M14 19c3 0 4.6-1.6 4.6-1.6')
|
22
20
|
s.circle(cx: '20', cy: '16', r: '2')
|
21
|
+
s.circle(cx: '9', cy: '9', r: '7')
|
22
|
+
s.rect(x: '4', y: '16', width: '10', height: '6', rx: '2')
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -14,8 +14,8 @@ module PhlexIcons
|
|
14
14
|
stroke_linecap: 'round',
|
15
15
|
stroke_linejoin: 'round'
|
16
16
|
) do |s|
|
17
|
-
s.path(d: 'M16
|
18
|
-
s.path(d: 'M8
|
17
|
+
s.path(d: 'M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3')
|
18
|
+
s.path(d: 'M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3')
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Layout/LineLength
|
4
|
+
module PhlexIcons
|
5
|
+
module Lucide
|
6
|
+
class BrushCleaning < Base
|
7
|
+
def view_template
|
8
|
+
svg(
|
9
|
+
**attrs,
|
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: 'm16 22-1-4')
|
19
|
+
s.path(
|
20
|
+
d:
|
21
|
+
'M19 13.99a1 1 0 0 0 1-1V12a2 2 0 0 0-2-2h-3a1 1 0 0 1-1-1V4a2 2 0 0 0-4 0v5a1 1 0 0 1-1 1H6a2 2 0 0 0-2 2v.99a1 1 0 0 0 1 1'
|
22
|
+
)
|
23
|
+
s.path(d: 'M5 14h14l1.973 6.767A1 1 0 0 1 20 22H4a1 1 0 0 1-.973-1.233z')
|
24
|
+
s.path(d: 'm8 22 1-4')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
# rubocop:enable Layout/LineLength
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PhlexIcons
|
4
|
+
module Lucide
|
5
|
+
class CheckLine < Base
|
6
|
+
def view_template
|
7
|
+
svg(
|
8
|
+
**attrs,
|
9
|
+
xmlns: 'http://www.w3.org/2000/svg',
|
10
|
+
viewbox: '0 0 24 24',
|
11
|
+
fill: 'none',
|
12
|
+
stroke: 'currentColor',
|
13
|
+
stroke_width: '2',
|
14
|
+
stroke_linecap: 'round',
|
15
|
+
stroke_linejoin: 'round'
|
16
|
+
) do |s|
|
17
|
+
s.path(d: 'M20 4L9 15')
|
18
|
+
s.path(d: 'M21 19L3 19')
|
19
|
+
s.path(d: 'M9 15L4 10')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|