uniform-ui 3.0.0.beta8 → 3.0.0.beta10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/javascripts/uniform/checkbox.js +12 -12
  3. data/lib/assets/javascripts/uniform/component.js +17 -13
  4. data/lib/assets/javascripts/uniform/dropdown.js +54 -54
  5. data/lib/assets/javascripts/uniform/dropzone.js +107 -0
  6. data/lib/assets/javascripts/uniform/floating-label-input.js +8 -8
  7. data/lib/assets/javascripts/uniform/modal.js +12 -12
  8. data/lib/assets/javascripts/uniform/popover.js +54 -33
  9. data/lib/assets/javascripts/uniform/resizer.js +20 -20
  10. data/lib/assets/javascripts/uniform/select.js +186 -162
  11. data/lib/assets/javascripts/uniform/sticker.js +26 -0
  12. data/lib/assets/javascripts/uniform/tooltip.js +29 -16
  13. data/lib/assets/javascripts/uniform.js +12 -10
  14. data/lib/assets/stylesheets/uniform/base.scss +20 -5
  15. data/lib/assets/stylesheets/uniform/components/buttons.scss +4 -5
  16. data/lib/assets/stylesheets/uniform/components/checkbox.scss +2 -0
  17. data/lib/assets/stylesheets/uniform/components/container.scss +8 -7
  18. data/lib/assets/stylesheets/uniform/components/dropzone.scss +40 -0
  19. data/lib/assets/stylesheets/uniform/components/pointer.scss +4 -4
  20. data/lib/assets/stylesheets/uniform/components/select.scss +7 -2
  21. data/lib/assets/stylesheets/uniform/components/thumb.scss +0 -1
  22. data/lib/assets/stylesheets/uniform/components/z-input.scss +1 -1
  23. data/lib/assets/stylesheets/uniform/config.scss +156 -0
  24. data/lib/assets/stylesheets/uniform/defaults.scss +2 -23
  25. data/lib/assets/stylesheets/uniform/functions/icons.scss +29 -0
  26. data/lib/assets/stylesheets/uniform/functions/map.scss +95 -0
  27. data/lib/assets/stylesheets/uniform/functions/string.scss +15 -0
  28. data/lib/assets/stylesheets/uniform/functions.scss +4 -79
  29. data/lib/assets/stylesheets/uniform/mixins.scss +34 -26
  30. data/lib/assets/stylesheets/uniform/utilities/effects.scss +31 -0
  31. data/lib/assets/stylesheets/uniform/utilities/layout.scss +13 -20
  32. data/lib/assets/stylesheets/uniform/utilities/position.scss +4 -0
  33. data/lib/assets/stylesheets/uniform/utilities/text.scss +1 -0
  34. data/lib/assets/stylesheets/uniform/utilities.scss +6 -0
  35. data/lib/uniform/version.rb +1 -1
  36. metadata +9 -3
  37. data/lib/assets/stylesheets/uniform/variables.scss +0 -145
@@ -7,14 +7,15 @@
7
7
  padding-right: 1em;
8
8
  }
9
9
 
10
- @include breakpoint('lg'){
11
- .container{
10
+ // TODO match this with breakpoints variable, so that breakpoints can change and adjust this
11
+ .container{
12
+ @include breakpoint('md'){
13
+ max-width: 720px;
14
+ }
15
+ @include breakpoint('lg'){
12
16
  max-width: 1080px;
13
17
  }
14
- }
15
-
16
- @include breakpoint('xl'){
17
- .container{
18
- max-width: 1440px;
18
+ @include breakpoint('xl'){
19
+ max-width: 1400px;
19
20
  }
20
21
  }
@@ -0,0 +1,40 @@
1
+ .uniformDropzone {
2
+ &:before {
3
+ display: none;
4
+ content: '';
5
+ position:absolute;
6
+ top: 0;
7
+ bottom: 0;
8
+ left: 0;
9
+ right: 0;
10
+ text-align:center;
11
+ border: 2px dashed color('blue-50');
12
+ background: rgba(white, 0.5);
13
+ color: color('blue-50');
14
+ z-index:98;
15
+ backdrop-filter: blur(2px);
16
+ }
17
+ &:after {
18
+ display: none;
19
+ position:absolute;
20
+ left:50%;
21
+ top:50%;
22
+ transform: translate(-50%, -50%);
23
+ content: 'Drag Here';
24
+ z-index:99;
25
+ font-weight: bold;
26
+ font-size: 1.2em;
27
+ }
28
+ &.-show {
29
+ &:before {display: block;}
30
+ &:after {display: block;}
31
+ }
32
+ &.-active {
33
+ &:before {
34
+ background: rgba(color('blue'), 0.3);
35
+ }
36
+ &:after {
37
+ color: color('blue-70');
38
+ }
39
+ }
40
+ }
@@ -42,8 +42,8 @@
42
42
  }
43
43
  &:before {
44
44
  margin-left: 0;
45
- margin-top: -20px;
46
- height: 40px;
45
+ margin-top: -10px;
46
+ height: 20px;
47
47
  width: 2px;
48
48
  top: 50%;
49
49
  right: 0;
@@ -60,8 +60,8 @@
60
60
  }
61
61
  &:before {
62
62
  margin-left: 0;
63
- margin-top: -20px;
64
- height: 40px;
63
+ margin-top: -10px;
64
+ height: 20px;
65
65
  width: 2px;
66
66
  left: 0;
67
67
  top: 50%;
@@ -1,3 +1,5 @@
1
+ @import 'uniform/functions/icons';
2
+
1
3
  .uniformSelect{
2
4
  --border-color: #{red(color('gray-40'))}, #{green(color('gray-40'))}, #{blue(color('gray-40'))};
3
5
  appearance: none;
@@ -38,6 +40,7 @@
38
40
  .uniformSelect-value{
39
41
  z-index: 2;
40
42
  text-align: left;
43
+ display:flex;
41
44
  }
42
45
  .uniformSelect-indicator{
43
46
  padding-left: 0.25em;
@@ -108,7 +111,9 @@
108
111
  }
109
112
  }
110
113
 
111
-
114
+ .uniformSelect-selection + .uniformSelect-selection {
115
+ margin-left: 0.5em;
116
+ }
112
117
 
113
118
  .uniformSelect-selection{
114
119
  display: inline-flex;
@@ -118,7 +123,7 @@
118
123
  padding: 0;
119
124
  line-height: 1;
120
125
  padding-left:0.5em;
121
- background: darken(color('gray-10'), 5);
126
+ background: color('gray-10');
122
127
  border-radius: 0.25em;
123
128
  span{
124
129
  flex: 1 1 auto;
@@ -8,7 +8,6 @@
8
8
  display: block;
9
9
  position:absolute;
10
10
  width: 100%;
11
- position:absolute;
12
11
  top:50%;
13
12
  transform: translateY(-50%);
14
13
  }
@@ -18,7 +18,7 @@
18
18
 
19
19
  select.uniformInput {
20
20
  padding-right: 1em;
21
- background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat center right;
21
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat center right;
22
22
  }
23
23
 
24
24
  @include color-rule('.focus') using ($color) {
@@ -0,0 +1,156 @@
1
+ @import 'uniform/functions/map';
2
+
3
+ $system-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
4
+
5
+ $uniform_configs: if(variable-exists('uniform_configs'), $uniform_configs, ());
6
+ $uniform_configs: purge(merge((
7
+ "base-font": $system-font,
8
+ "combinators": (),
9
+ "pseudo_classes": (
10
+ "hover": hover,
11
+ ),
12
+ "breakpoints": (
13
+ 'include_containers': false,
14
+ 'sm': "max-width: 719px",
15
+ 'md': "min-width: 720px",
16
+ 'lg': "min-width: 1080px",
17
+ 'xl': "min-width: 1440px"
18
+ ),
19
+ "colors": (
20
+ 'white': #FFFFFF,
21
+ 'gray': (
22
+ 'spectrum': true,
23
+ 'color': #505152
24
+ ),
25
+ 'green': (
26
+ 'spectrum': true,
27
+ 'color': #97C848
28
+ ),
29
+ 'blue': (
30
+ 'spectrum': true,
31
+ 'color': #0994E2
32
+ ),
33
+ 'red': (
34
+ 'spectrum': true,
35
+ 'color': #E1563E
36
+ ),
37
+ 'yellow': (
38
+ 'spectrum': true,
39
+ 'color': #D7E542
40
+ ),
41
+ 'purple': (
42
+ 'spectrum': true,
43
+ 'color': #9461b9
44
+ )
45
+ ),
46
+ "sizes": (
47
+ 'border': (
48
+ '': 1px,
49
+ 'none': 0,
50
+ '2px': 2px,
51
+ '3px': 3px,
52
+ '4px': 4px
53
+ ),
54
+ 'divide': (
55
+ '': 1px,
56
+ 'none': 0,
57
+ '2px': 2px,
58
+ '3px': 3px,
59
+ '4px': 4px
60
+ ),
61
+ 'rounded': (
62
+ '': 0.25rem,
63
+ 'none': 0,
64
+ "xs": 0.1rem,
65
+ "sm": 0.2rem,
66
+ "lg": 0.5rem,
67
+ "xl": 1rem,
68
+ ),
69
+ 'margin': (
70
+ '': 1rem,
71
+ 'none': 0,
72
+ "1\\/4x": 0.25rem,
73
+ "1\\/2x": 0.5rem,
74
+ "3\\/4x": 0.75rem,
75
+ "xs": 0.8rem,
76
+ "sm": 0.9rem,
77
+ "lg": 1.2rem,
78
+ "xl": 1.4rem,
79
+ "2x": 2rem,
80
+ ),
81
+ 'gap': (
82
+ '': 1rem,
83
+ 'none': 0,
84
+ "xs": 0.8rem,
85
+ "sm": 0.9rem,
86
+ "lg": 1.2rem,
87
+ "xl": 1.4rem,
88
+ ),
89
+ 'space': (
90
+ '': 1rem,
91
+ 'none': 0,
92
+ "xs": 0.8rem,
93
+ "sm": 0.9rem,
94
+ "lg": 1.2rem,
95
+ "xl": 1.4rem,
96
+ "2x": 2rem,
97
+ "4x": 4rem,
98
+ ),
99
+ 'pad': (
100
+ '' : 1rem,
101
+ 'none' : 0,
102
+ "1\\/4x" : 0.25rem,
103
+ "1\\/2x" : 0.5rem,
104
+ "3\\/4x" : 0.75rem,
105
+ "xs" : 0.8rem,
106
+ "sm" : 0.9rem,
107
+ "lg" : 1.2rem,
108
+ "xl" : 1.4rem,
109
+ "2x" : 2rem,
110
+ ),
111
+ 'text': (
112
+ '': 1rem,
113
+ "xs" : 0.8rem,
114
+ "sm" : 0.9rem,
115
+ "lg" : 1.2rem,
116
+ "xl" : 1.4rem,
117
+ "2x" : 2rem,
118
+ "4x" : 4rem,
119
+ "8x" : 8rem
120
+
121
+ ),
122
+ 'stroke': (
123
+ "sm" : 0.5px,
124
+ "md" : 1px,
125
+ "lg" : 1.5px,
126
+ "2x" : 2px,
127
+ "3x" : 3px
128
+ )
129
+ )
130
+ ), $uniform_configs));
131
+
132
+ //----------------------------------------------------------------
133
+ // Color Variations (ex. gray-30 from gray)
134
+ //----------------------------------------------------------------
135
+ $uniform_colors: map-get($uniform_configs, 'colors');
136
+ @each $name, $color_options in $uniform_colors {
137
+ @if type-of($color_options) == 'map' {
138
+ $color: map-get($color_options, 'color');
139
+ $uniform_colors: map-merge($uniform_colors, ("#{$name}": $color));
140
+
141
+ @if map-get($color_options, 'spectrum') {
142
+ @for $index from 1 through 9 {
143
+ $saturation_adjustment: 0;
144
+ @if saturation($color) > 20% {
145
+ $saturation_adjustment: ((100 - saturation($color)) / 4) * abs(5 - $index);
146
+ }
147
+ $uniform_colors: map-merge($uniform_colors, ("#{$name}-#{(10 - $index) * 10}": change-color($color, $lightness: $index * 10, $saturation: saturation($color) + $saturation_adjustment)));
148
+ }
149
+ }
150
+ } @else if (type-of($color_options) == 'color') {
151
+ $uniform_colors: map-merge($uniform_colors, ("#{$name}": $color_options));
152
+ } @else {
153
+ $uniform_colors: map-remove($uniform_colors, $name);
154
+ }
155
+ }
156
+ $uniform_configs: map-merge($uniform_configs, (colors: $uniform_colors));
@@ -31,27 +31,6 @@ pre{
31
31
  margin: 0;
32
32
  }
33
33
 
34
- ul,
35
- ol,
36
- dl{
37
- list-style: none;
38
- margin: 0;
39
- padding: 0;
40
- ul,
41
- ol,
42
- dl{
43
- margin-bottom: 0;
44
- }
45
- }
46
-
47
- dd{
48
- margin-left: 0;
49
- margin-bottom: 0.5em;
50
- }
51
- dt{
52
- font-weight: bold;
53
- }
54
-
55
34
  table{
56
35
  background-color: transparent;
57
36
  border-collapse: collapse;
@@ -98,8 +77,8 @@ button{
98
77
  cursor: pointer;
99
78
  }
100
79
  button{
101
- font-family: $base-font;
102
- font-size: 1rem;
80
+ font-family: map-get($uniform_configs, 'base-font');
81
+ font-size: 1em;
103
82
  }
104
83
 
105
84
  img,
@@ -0,0 +1,29 @@
1
+ @import 'uniform/functions/string';
2
+
3
+ @function uri-encode($svg) {
4
+ $encoded: '';
5
+ $slice: 2000;
6
+ $index: 0;
7
+ $loops: ceil(str-length($svg) / $slice);
8
+
9
+ @for $i from 1 through $loops {
10
+ $chunk: str-slice($svg, $index, $index + $slice - 1);
11
+ $chunk: str-replace($chunk, '"', "'");
12
+ $chunk: str-replace($chunk, '<', '%3C');
13
+ $chunk: str-replace($chunk, '>', '%3E');
14
+ $chunk: str-replace($chunk, '&', '%26');
15
+ $chunk: str-replace($chunk, '#', '%23');
16
+ $encoded: #{$encoded}#{$chunk};
17
+ $index: $index + $slice;
18
+ }
19
+
20
+ @return $encoded;
21
+ }
22
+
23
+ @function svg-encode ($svg) {
24
+ @return url("data:image/svg+xml;charset=utf8,#{uri-encode($svg)}");
25
+ }
26
+
27
+ @function icon-check($color: #000000){
28
+ @return svg-encode('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"><path d="M28.998 8.531l-2.134-2.134c-0.394-0.393-1.030-0.393-1.423 0l-12.795 12.795-6.086-6.13c-0.393-0.393-1.029-0.393-1.423 0l-2.134 2.134c-0.393 0.394-0.393 1.030 0 1.423l8.924 8.984c0.393 0.393 1.030 0.393 1.423 0l15.648-15.649c0.393-0.392 0.393-1.030 0-1.423z" fill="#{$color}"></path></svg>');
29
+ }
@@ -0,0 +1,95 @@
1
+ @function get($map, $keys...) {
2
+ @each $key in $keys {
3
+ $map: map-get($map, $key);
4
+ }
5
+ @return $map;
6
+ }
7
+
8
+ @function set($map, $keys...) {
9
+ $maps: ($map,);
10
+ $result: null;
11
+
12
+ @if length($keys) == 1 {
13
+ @error "Not enought key arguments";
14
+ } @else if length($keys) == 2 {
15
+ @return map-merge($map, (nth($keys, 1): nth($keys, 2)));
16
+ }
17
+
18
+ @for $i from 1 through length($keys) - 2 {
19
+ $key: nth($keys, $i);
20
+ $map: nth($maps, -1);
21
+ @debug $map;
22
+ $value: get($map, $key);
23
+ @if type-of($value) != 'map' {
24
+ $value: ();
25
+ }
26
+ $maps: append($maps, $value);
27
+ }
28
+
29
+ @for $i from length($maps) through 1 {
30
+ $map: nth($maps, $i);
31
+ $key: nth($keys, $i);
32
+ $value: if($i == length($maps), nth($keys, -1), $result);
33
+ $result: map-merge($map, ($key: $value));
34
+ }
35
+
36
+ @return $result;
37
+ }
38
+
39
+ @function merge($maps...) {
40
+ $target: ();
41
+ @each $map in $maps {
42
+ @each $key, $value in $map {
43
+ $current: get($target, $key);
44
+ @if type-of($value) == 'map' and type-of($current) == "map" {
45
+ $target: set($target, $key, merge($current, $value))
46
+ } @else {
47
+ $target: set($target, $key, $value);
48
+ }
49
+ }
50
+ }
51
+ @return $target;
52
+ }
53
+
54
+ @function purge($map) {
55
+ $target: $map;
56
+ @each $key, $value in $map {
57
+ @if type-of($value) == "map" {
58
+ $target: set($map, $key, purge($value))
59
+ } @else if $value == false OR $value == "false" {
60
+ $target: map-remove($map, $key);
61
+ }
62
+ }
63
+ @return $target;
64
+ }
65
+
66
+ @function mapToString($map) {
67
+ $string: '"';
68
+
69
+ @each $key, $value in $map {
70
+ @if type-of($value) == "string" {
71
+ $string: str-insert($string, $key, -1);
72
+ $string: str-insert($string, "/", -1);
73
+ $string: str-insert($string, $value, -1);
74
+ $string: str-insert($string, ",", -1);
75
+ }
76
+ }
77
+ $string: str-slice($string, 1, -2);
78
+ $string: str-insert($string, '"', -1);
79
+
80
+ @return $string;
81
+ }
82
+
83
+ @function mapToJSON($map) {
84
+ $string: '';
85
+
86
+ @each $key, $value in $map {
87
+ @if type-of($value) == "map" {
88
+ $string: str-insert($string, "\"#{$key}\": #{mapToJSON($value)},", -1);
89
+ } @else {
90
+ $string: str-insert($string, "\"#{$key}\": \"#{$value}\",", -1);
91
+ }
92
+ }
93
+
94
+ @return "{#{str-slice($string, 0, -2)}}";
95
+ }
@@ -0,0 +1,15 @@
1
+ /// Replace `$search` with `$replace` in `$string`
2
+ /// @author Hugo Giraudel
3
+ /// @param {String} $string - Initial string
4
+ /// @param {String} $search - Substring to replace
5
+ /// @param {String} $replace ('') - New value
6
+ /// @return {String} - Updated string
7
+ @function str-replace($string, $search, $replace: '') {
8
+ $index: str-index($string, $search);
9
+
10
+ @if $index {
11
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
12
+ }
13
+
14
+ @return $string;
15
+ }
@@ -1,86 +1,11 @@
1
+ @import 'uniform/functions/map';
2
+
1
3
  @function toRGB($color){
2
4
  @return red($color), green($color), blue($color);
3
5
  }
4
6
  @function color($key) {
5
- @return map-get($color_spectrum, $key);
7
+ @return get($uniform_configs, 'colors', $key);
6
8
  }
7
9
  @function size($key) {
8
- @return map-get($sizes, $key);
9
- }
10
-
11
- @function mapToString($map) {
12
- $string: '"';
13
-
14
- @each $key, $value in $map {
15
- $string: str-insert($string, $key, -1);
16
- $string: str-insert($string, "/", -1);
17
- $string: str-insert($string, $value, -1);
18
- $string: str-insert($string, ",", -1);
19
- }
20
- $string: str-slice($string, 1, -2);
21
- $string: str-insert($string, '"', -1);
22
-
23
- @return $string;
24
- }
25
-
26
- //----------------------------------------------------------------
27
- // Icons
28
- //----------------------------------------------------------------
29
-
30
-
31
-
32
- /// Replace `$search` with `$replace` in `$string`
33
- /// @author Hugo Giraudel
34
- /// @param {String} $string - Initial string
35
- /// @param {String} $search - Substring to replace
36
- /// @param {String} $replace ('') - New value
37
- /// @return {String} - Updated string
38
- @function str-replace($string, $search, $replace: '') {
39
- $index: str-index($string, $search);
40
-
41
- @if $index {
42
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
43
- }
44
-
45
- @return $string;
46
- }
47
-
48
- @function uri-encode($svg) {
49
- $encoded: '';
50
- $slice: 2000;
51
- $index: 0;
52
- $loops: ceil(str-length($svg) / $slice);
53
-
54
- @for $i from 1 through $loops {
55
- $chunk: str-slice($svg, $index, $index + $slice - 1);
56
- $chunk: str-replace($chunk, '"', "'");
57
- $chunk: str-replace($chunk, '<', '%3C');
58
- $chunk: str-replace($chunk, '>', '%3E');
59
- $chunk: str-replace($chunk, '&', '%26');
60
- $chunk: str-replace($chunk, '#', '%23');
61
- $encoded: #{$encoded}#{$chunk};
62
- $index: $index + $slice;
63
- }
64
-
65
- @return $encoded;
66
- }
67
-
68
- @function svg-encode ($svg) {
69
- @return url("data:image/svg+xml;charset=utf8,#{uri-encode($svg)}");
70
- }
71
-
72
- @function icon-check($color: #000000){
73
- @return svg-encode('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"><path d="M28.998 8.531l-2.134-2.134c-0.394-0.393-1.030-0.393-1.423 0l-12.795 12.795-6.086-6.13c-0.393-0.393-1.029-0.393-1.423 0l-2.134 2.134c-0.393 0.394-0.393 1.030 0 1.423l8.924 8.984c0.393 0.393 1.030 0.393 1.423 0l15.648-15.649c0.393-0.392 0.393-1.030 0-1.423z" fill="#{$color}"></path></svg>');
74
- }
75
-
76
- @function icon-x($size: 32, $color: #000000){
77
- @return svg-encode('<svg version="1.2" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="#{$size}px" height="#{$size}px" viewBox="0 0 64 64" xml:space="preserve" fill="#{$color}"><g><rect x="-2.352" y="29.385" transform="matrix(0.7071 0.7071 -0.7071 0.7071 32.3545 -14.3899)" width="71.799" height="4.95"/></g><g><rect x="-2.374" y="29.376" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -12.7023 33.0352)" width="71.799" height="4.95"/></g></svg>');
78
- }
79
-
80
- @function icon-circle($width: 2, $height: 2, $radius: 1, $color: #000000){
81
- @return svg-encode('<svg version="1.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="#{$width}px" height="#{$height}px" viewBox="0 0 #{$width} #{$height}" enable-background="new 0 0 #{$width} #{$height}" xml:space="preserve"><circle cx="#{$width / 2}" cy="#{$height / 2}" r="#{$radius}" fill="#{$color}"/></svg>');
82
- }
83
-
84
- @function icon-x-block($size: 32, $color: #000000){
85
- @return svg-encode('<svg width="#{$size}px" height="#{$size}px" fill="#{$color}" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 10.5 10.5" style="enable-background:new 0 0 10.5 10.5;" xml:space="preserve"><path d="M8.1,1.3C8.4,1,8.9,1,9.2,1.3c0,0,0,0,0,0c0.3,0.3,0.3,0.8,0,1.1L2.4,9.3c-0.3,0.3-0.8,0.3-1.1,0S1,8.4,1.3,8.1L8.1,1.3z"/><path d="M9.2,8.1c0.3,0.3,0.4,0.8,0.1,1.1c0,0,0,0,0,0l0,0c-0.3,0.3-0.8,0.3-1.1,0L1.3,2.4C1,2.1,0.9,1.6,1.3,1.3c0,0,0,0,0,0l0,0 C1.6,1,2.1,1,2.4,1.3L9.2,8.1z"/></svg>');
10
+ @return get($uniform_configs, 'sizes', $key);
86
11
  }
@@ -1,4 +1,5 @@
1
- @import 'uniform/variables';
1
+ @import 'uniform/config';
2
+ @import 'uniform/functions/map';
2
3
 
3
4
  @mixin text-overflow($inherit:false){
4
5
  @if $inherit {
@@ -36,7 +37,7 @@
36
37
  }
37
38
 
38
39
  @mixin breakpoint($breakpoint){
39
- @media only screen and (map-get($breakpoints, $breakpoint)){
40
+ @media only screen and (get($uniform_configs, 'breakpoints', $breakpoint)){
40
41
  @content;
41
42
  }
42
43
  }
@@ -49,19 +50,19 @@
49
50
  .#{$selector}{
50
51
  @content
51
52
  }
52
- @if $include_child_utilities {
53
+ @if get($uniform_configs, 'breakpoints', 'include_containers') {
53
54
  @include child-rule($selector) {
54
55
  @content
55
56
  }
56
57
  }
57
58
 
58
- @each $breakpoint, $breakpoint_query in $breakpoints {
59
+ @each $breakpoint, $breakpoint_query in map-get($uniform_configs, 'breakpoints') {
59
60
  @include media($breakpoint_query){
60
61
  .#{$breakpoint}\:#{$selector}{
61
62
  @content
62
63
  }
63
64
  }
64
- @if $include_breakpoint_container {
65
+ @if get($uniform_configs, 'breakpoints', 'include_containers') {
65
66
  .#{$breakpoint}-container{
66
67
  .#{$breakpoint}\:#{$selector}{
67
68
  @content
@@ -87,7 +88,7 @@
87
88
  $selector: str-slice($selector, 2, -1);
88
89
  }
89
90
 
90
- @each $name, $value in $color_spectrum {
91
+ @each $name, $value in map-get($uniform_configs, 'colors') {
91
92
  .#{$selector}-#{$name}{
92
93
  @content($value)
93
94
  }
@@ -96,10 +97,8 @@
96
97
  @content($value)
97
98
  }
98
99
 
99
- @if $include_child_utilities {
100
- @include child-rule($selector) {
101
- @content($value)
102
- }
100
+ @include combinator-rule("#{$selector}-#{$name}", false){
101
+ @content($value)
103
102
  }
104
103
  }
105
104
  }
@@ -119,7 +118,7 @@
119
118
  $key: str-slice($key, 1, str-index($key, '-') - 1);
120
119
  }
121
120
 
122
- @each $size, $value in map-get($sizes, $key) {
121
+ @each $size, $value in get($uniform_configs, 'sizes', $key) {
123
122
  $class: "#{$selector}-#{$size}";
124
123
  @if $size == '' {
125
124
  $class: $selector;
@@ -144,26 +143,35 @@
144
143
  }
145
144
  }
146
145
 
147
- @each $pseudo-selector, $pseudo-class in (
148
- active: active,
149
- focus: focus,
150
- hover: hover,
151
- checked: checked,
152
- focus-within: focus-within,
153
- first: first-child,
154
- last: last-child
155
- ) {
156
- @if index($include_pseudo_utilities, $pseudo-class) {
146
+ @each $pseudo-selector, $pseudo-class in map-get($uniform_configs, 'pseudo_classes') {
147
+ @if $pseudo-selector == "group-hover" {
148
+ .group:hover{
149
+ .group-hover\:#{$selector} {
150
+ @content
151
+ }
152
+ }
153
+ } @else {
157
154
  .#{$pseudo-selector}\:#{$selector}:#{$pseudo-class} {
158
155
  @content
159
156
  }
160
157
  }
158
+
161
159
  }
162
- @if index($include_pseudo_utilities, group-hover) {
163
- .group:hover{
164
- .group-hover\:#{$selector} {
165
- @content
166
- }
160
+ }
161
+
162
+ @mixin combinator-rule($selector, $declare_self: true){
163
+ @if str-index($selector, '.') == 1 {
164
+ $selector: str-slice($selector, 2, -1);
165
+ }
166
+ @if $declare_self {
167
+ .#{$selector} {
168
+ @content
169
+ }
170
+ }
171
+
172
+ @each $cominator_selector, $combinator in map-get($uniform_configs, 'combinators') {
173
+ .#{$selector}-#{$cominator_selector} #{$combinator} * {
174
+ @content
167
175
  }
168
176
  }
169
177
  }