phlexy_ui 0.1.15 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/phlexy_ui/class_list.rb +46 -58
- data/lib/phlexy_ui/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e28571932626bbfb52238b529c6dfe67ba038b32c2c735377667fa0005974295
|
4
|
+
data.tar.gz: 820d96f4249069a762071132fcbe977bd78b00b54aa9e86b4f44622459c73628
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70be19b85cf1ce3d9eb6f0837f207399830901e3dd3d8556e7881eb612c4cf6c99b022609743d51d6fa58ab08a18e919806d211490a05aa5f5a52591f474db41
|
7
|
+
data.tar.gz: d1e10d0c19ca19d07159e60a98cd3a34669cf368166231ba9ed87b3dd3b8109bba0c2f8637df5a7fdd5f02353a606738f6d873c9957327a21f346d5b28398c05
|
data/lib/phlexy_ui/class_list.rb
CHANGED
@@ -13,76 +13,70 @@ module PhlexyUI
|
|
13
13
|
@base_modifiers = base_modifiers
|
14
14
|
@options = options
|
15
15
|
@modifiers_map = modifiers_map
|
16
|
+
@responsive_options = options.delete(:responsive)
|
16
17
|
end
|
17
18
|
|
18
19
|
def to_a
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
classes
|
20
|
+
[
|
21
|
+
component_classes,
|
22
|
+
modifier_classes,
|
23
|
+
responsive_classes,
|
24
|
+
options.delete(:class)
|
25
|
+
].flatten.compact
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
-
attr_reader :component_html_class,
|
30
|
+
attr_reader :component_html_class,
|
31
|
+
:base_modifiers,
|
32
|
+
:options,
|
33
|
+
:modifiers_map,
|
34
|
+
:responsive_options
|
31
35
|
|
32
|
-
def
|
33
|
-
base_modifiers.select { |modifier| modifiers_map.key?(modifier) }
|
34
|
-
end
|
35
|
-
|
36
|
-
def add_component_class(classes)
|
36
|
+
def component_classes
|
37
37
|
return unless component_html_class
|
38
|
+
return if responsive_options&.values&.any? do |v|
|
39
|
+
v == true || (v.is_a?(Array) && v.include?(true))
|
40
|
+
end
|
38
41
|
|
39
|
-
|
42
|
+
with_config_prefix(component_html_class)
|
40
43
|
end
|
41
44
|
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
)
|
47
|
-
)
|
45
|
+
def modifier_classes
|
46
|
+
(selected_base_modifiers + conditioned_modifiers).map do |modifier|
|
47
|
+
with_config_prefix(modifiers_map[modifier])
|
48
|
+
end
|
48
49
|
end
|
49
50
|
|
50
|
-
def
|
51
|
-
|
52
|
-
next unless options.delete(modifier)
|
53
|
-
|
54
|
-
classes << with_config_prefix(class_name)
|
55
|
-
end
|
51
|
+
def selected_base_modifiers
|
52
|
+
base_modifiers.select { |modifier| modifiers_map.key?(modifier) }
|
56
53
|
end
|
57
54
|
|
58
|
-
def
|
59
|
-
|
60
|
-
with_responsive_prefix(
|
61
|
-
with_config_prefix(
|
62
|
-
modifiers_map.fetch(modifier)
|
63
|
-
),
|
64
|
-
responsive_prefix
|
65
|
-
)
|
66
|
-
end
|
55
|
+
def conditioned_modifiers
|
56
|
+
modifiers_map.keys.select { |modifier| options.delete(modifier) }
|
67
57
|
end
|
68
58
|
|
69
|
-
def
|
70
|
-
return unless
|
71
|
-
|
72
|
-
RESPONSIVE_PREFIXES.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
59
|
+
def responsive_classes
|
60
|
+
return unless responsive_options
|
61
|
+
|
62
|
+
RESPONSIVE_PREFIXES.flat_map do |prefix|
|
63
|
+
next unless responsive_options[prefix]
|
64
|
+
|
65
|
+
values = Array(responsive_options[prefix])
|
66
|
+
|
67
|
+
component_responsive_class =
|
68
|
+
if values.delete(true)
|
69
|
+
[with_responsive_prefix(with_config_prefix(component_html_class), prefix)]
|
70
|
+
else
|
71
|
+
[]
|
72
|
+
end
|
73
|
+
|
74
|
+
modifier_responsive_classes = values.map do |v|
|
75
|
+
with_responsive_prefix(with_config_prefix(modifiers_map[v]), prefix)
|
80
76
|
end
|
81
|
-
end
|
82
|
-
end
|
83
77
|
|
84
|
-
|
85
|
-
|
78
|
+
component_responsive_class + modifier_responsive_classes
|
79
|
+
end
|
86
80
|
end
|
87
81
|
|
88
82
|
def with_config_prefix(string)
|
@@ -91,14 +85,8 @@ module PhlexyUI
|
|
91
85
|
end.join(" ")
|
92
86
|
end
|
93
87
|
|
94
|
-
def with_responsive_prefix(string,
|
95
|
-
string.split.map
|
96
|
-
if responsive_prefix
|
97
|
-
"#{responsive_prefix}:#{word}"
|
98
|
-
else
|
99
|
-
word
|
100
|
-
end
|
101
|
-
end.join(" ")
|
88
|
+
def with_responsive_prefix(string, prefix)
|
89
|
+
string.to_s.split.map { |word| "#{prefix}:#{word}" }.join(" ")
|
102
90
|
end
|
103
91
|
end
|
104
92
|
end
|
data/lib/phlexy_ui/version.rb
CHANGED