uniform-ui 3.0.0.beta2 → 3.0.0.beta10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/uniform/checkbox.js +15 -15
- data/lib/assets/javascripts/uniform/component.js +23 -12
- data/lib/assets/javascripts/uniform/dropdown.js +54 -54
- data/lib/assets/javascripts/uniform/dropzone.js +107 -0
- data/lib/assets/javascripts/uniform/floating-label-input.js +14 -12
- data/lib/assets/javascripts/uniform/modal.js +31 -33
- data/lib/assets/javascripts/uniform/popover.js +59 -40
- data/lib/assets/javascripts/uniform/resizer.js +21 -21
- data/lib/assets/javascripts/uniform/select.js +187 -163
- data/lib/assets/javascripts/uniform/sticker.js +26 -0
- data/lib/assets/javascripts/uniform/tooltip.js +29 -16
- data/lib/assets/javascripts/uniform.js +23 -8
- data/lib/assets/stylesheets/uniform/base.scss +24 -9
- data/lib/assets/stylesheets/uniform/components/buttons.scss +4 -5
- data/lib/assets/stylesheets/uniform/components/checkbox.scss +2 -0
- data/lib/assets/stylesheets/uniform/components/container.scss +8 -7
- data/lib/assets/stylesheets/uniform/components/dropzone.scss +40 -0
- data/lib/assets/stylesheets/uniform/components/input-group.scss +9 -0
- data/lib/assets/stylesheets/uniform/components/loaders.scss +0 -3
- data/lib/assets/stylesheets/uniform/components/modal.scss +21 -36
- data/lib/assets/stylesheets/uniform/components/pointer.scss +4 -4
- data/lib/assets/stylesheets/uniform/components/select.scss +7 -2
- data/lib/assets/stylesheets/uniform/components/thumb.scss +0 -1
- data/lib/assets/stylesheets/uniform/components/z-input.scss +6 -0
- data/lib/assets/stylesheets/uniform/config.scss +156 -0
- data/lib/assets/stylesheets/uniform/defaults.scss +2 -26
- data/lib/assets/stylesheets/uniform/functions/icons.scss +29 -0
- data/lib/assets/stylesheets/uniform/functions/map.scss +95 -0
- data/lib/assets/stylesheets/uniform/functions/string.scss +15 -0
- data/lib/assets/stylesheets/uniform/functions.scss +4 -79
- data/lib/assets/stylesheets/uniform/mixins.scss +34 -26
- data/lib/assets/stylesheets/uniform/utilities/borders.scss +12 -13
- data/lib/assets/stylesheets/uniform/utilities/effects.scss +31 -0
- data/lib/assets/stylesheets/uniform/utilities/layout.scss +22 -22
- data/lib/assets/stylesheets/uniform/utilities/position.scss +4 -0
- data/lib/assets/stylesheets/uniform/utilities/sizing.scss +14 -8
- data/lib/assets/stylesheets/uniform/utilities/spacing.scss +20 -14
- data/lib/assets/stylesheets/uniform/utilities/svg.scss +5 -0
- data/lib/assets/stylesheets/uniform/utilities/text.scss +1 -0
- data/lib/assets/stylesheets/uniform/utilities.scss +8 -0
- data/lib/uniform/version.rb +1 -1
- metadata +11 -4
- data/lib/assets/stylesheets/uniform/variables.scss +0 -134
@@ -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
|
7
|
+
@return get($uniform_configs, 'colors', $key);
|
6
8
|
}
|
7
9
|
@function size($key) {
|
8
|
-
@return
|
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/
|
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 (
|
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 $
|
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 $
|
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 $
|
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
|
-
@
|
100
|
-
@
|
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
|
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
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
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
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
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
|
}
|
@@ -31,22 +31,21 @@
|
|
31
31
|
// Border Radius
|
32
32
|
//----------------------------------------------------------------
|
33
33
|
@include size-rule('.rounded') using ($size){ border-radius: $size;}
|
34
|
-
@include
|
35
|
-
|
36
|
-
border-top-
|
37
|
-
border-top-left-radius: 0.25em;
|
34
|
+
@include size-rule('.rounded-top') using ($size){
|
35
|
+
border-top-right-radius: $size;
|
36
|
+
border-top-left-radius: $size;
|
38
37
|
}
|
39
|
-
@include
|
40
|
-
border-bottom-right-radius:
|
41
|
-
border-bottom-left-radius:
|
38
|
+
@include size-rule('.rounded-bottom') using ($size){
|
39
|
+
border-bottom-right-radius: $size;
|
40
|
+
border-bottom-left-radius: $size;
|
42
41
|
}
|
43
|
-
@include
|
44
|
-
border-top-left-radius:
|
45
|
-
border-bottom-left-radius:
|
42
|
+
@include size-rule('.rounded-left') using ($size){
|
43
|
+
border-top-left-radius: $size;
|
44
|
+
border-bottom-left-radius: $size;
|
46
45
|
}
|
47
|
-
@include
|
48
|
-
border-top-right-radius:
|
49
|
-
border-bottom-right-radius:
|
46
|
+
@include size-rule('.rounded-right') using ($size){
|
47
|
+
border-top-right-radius: $size;
|
48
|
+
border-bottom-right-radius: $size;
|
50
49
|
}
|
51
50
|
|
52
51
|
@include responsive-rule('.square') { border-radius: 0;}
|
@@ -60,6 +60,37 @@
|
|
60
60
|
}
|
61
61
|
}
|
62
62
|
|
63
|
+
.transition-fade-down,
|
64
|
+
.transition-fade-up,
|
65
|
+
.transition-fade-left,
|
66
|
+
.transition-fade-right {
|
67
|
+
transition: transform 100ms, opacity 100ms;
|
68
|
+
opacity: 1;
|
69
|
+
&.-out {
|
70
|
+
opacity: 0;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
.transition-fade-down {
|
74
|
+
&.-out {
|
75
|
+
transform: translateY(10px);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
.transition-fade-up {
|
79
|
+
&.-out {
|
80
|
+
transform: translateY(-10px);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
.transition-fade-left {
|
84
|
+
&.-out {
|
85
|
+
transform: translateX(10px);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
.transition-fade-right {
|
89
|
+
&.-out {
|
90
|
+
transform: translateX(-10px);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
63
94
|
|
64
95
|
//----------------------------------------------------------------
|
65
96
|
// Transforms
|
@@ -1,23 +1,5 @@
|
|
1
1
|
@import 'uniform/mixins';
|
2
2
|
|
3
|
-
//----------------------------------------------------------------
|
4
|
-
// Container
|
5
|
-
//----------------------------------------------------------------
|
6
|
-
// TODO match this with breakpoints variable, so that breakpoints can change and adjust this
|
7
|
-
.container{
|
8
|
-
margin: auto;
|
9
|
-
@include breakpoint('md'){
|
10
|
-
max-width: 720px;
|
11
|
-
}
|
12
|
-
@include breakpoint('lg'){
|
13
|
-
max-width: 1080px;
|
14
|
-
}
|
15
|
-
@include breakpoint('xl'){
|
16
|
-
max-width: 1400px;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
|
21
3
|
//----------------------------------------------------------------
|
22
4
|
// Display
|
23
5
|
//----------------------------------------------------------------
|
@@ -37,8 +19,11 @@
|
|
37
19
|
@include responsive-rule($type){ display: $type; }
|
38
20
|
}
|
39
21
|
@include responsive-rule('hide'){ display: none; }
|
22
|
+
@include pseudo-class-rule('hide', false){ display: none;}
|
40
23
|
@include responsive-rule('show'){ display: inherit; }
|
24
|
+
@include pseudo-class-rule('show', false){ display: inherit;}
|
41
25
|
@include responsive-rule('hide-empty:empty'){ display: none; }
|
26
|
+
@include pseudo-class-rule('hide-empty:empty', false){ display: none;}
|
42
27
|
|
43
28
|
|
44
29
|
//----------------------------------------------------------------
|
@@ -62,9 +47,10 @@
|
|
62
47
|
@include responsive-rule('flex-nowrap'){ flex-wrap: nowrap; }
|
63
48
|
@include responsive-rule('flex-wrap'){ flex-wrap: wrap; }
|
64
49
|
|
65
|
-
@include responsive-rule('flex-initial'){ flex: 0 1 auto; }
|
66
50
|
@include responsive-rule('flex-fill'){ flex: 1 1 auto; }
|
67
|
-
@include responsive-rule('flex-
|
51
|
+
@include responsive-rule('flex-grow'){ flex: 1 0 auto; }
|
52
|
+
@include responsive-rule('flex-shrink'){ flex: 0 1 auto; }
|
53
|
+
@include responsive-rule('flex-none'){ flex: 0 0 auto; }
|
68
54
|
|
69
55
|
@for $i from 1 through 12 {
|
70
56
|
@include responsive-rule('order-#{$i}'){ order: $i; }
|
@@ -80,6 +66,16 @@
|
|
80
66
|
@include responsive-rule('col-start-#{$i}'){ grid-column-start: $i; }
|
81
67
|
@include responsive-rule('col-end-#{$i}'){ grid-column-end: $i; }
|
82
68
|
}
|
69
|
+
|
70
|
+
@for $i from 0 through 100 {
|
71
|
+
@include responsive-rule(".cols-fill-#{$i * 5}-px"){
|
72
|
+
grid-template-columns: repeat(auto-fill, minmax($i * 5px, 1fr));
|
73
|
+
};
|
74
|
+
@include responsive-rule(".cols-fit-#{$i * 5}-px"){
|
75
|
+
grid-template-columns: repeat(auto-fit, minmax($i * 5px, 1fr));
|
76
|
+
};
|
77
|
+
}
|
78
|
+
|
83
79
|
@for $i from 1 through 6 {
|
84
80
|
@include responsive-rule('rows-#{$i}'){ grid-template-rows: repeat($i, minmax(0, 1fr)); }
|
85
81
|
@include responsive-rule('row-span-#{$i}'){ grid-row: span $i / span $i; }
|
@@ -121,6 +117,8 @@
|
|
121
117
|
center
|
122
118
|
stretch
|
123
119
|
baseline
|
120
|
+
flex-start
|
121
|
+
flex-end
|
124
122
|
) {
|
125
123
|
@include responsive-rule('justify-#{$selector}') {
|
126
124
|
justify-items: $selector;
|
@@ -136,13 +134,15 @@
|
|
136
134
|
end
|
137
135
|
center
|
138
136
|
stretch
|
137
|
+
flex-start
|
138
|
+
flex-end
|
139
139
|
) {
|
140
140
|
.flex,
|
141
141
|
.grid{
|
142
|
-
@include responsive-rule('justify-#{$selector}') {
|
142
|
+
@include responsive-rule('justify-self-#{$selector}') {
|
143
143
|
justify-self: $selector;
|
144
144
|
}
|
145
|
-
@include responsive-rule('align-#{$selector}') {
|
145
|
+
@include responsive-rule('align-self-#{$selector}') {
|
146
146
|
align-self: $selector;
|
147
147
|
}
|
148
148
|
}
|
@@ -13,6 +13,10 @@ static
|
|
13
13
|
@each $direction in 'top' 'right' 'bottom' 'left' {
|
14
14
|
@include responsive-rule('.#{$direction}-0'){ #{$direction}: 0; }
|
15
15
|
@include responsive-rule('.#{$direction}-auto'){ #{$direction}: auto; }
|
16
|
+
.sticky-#{$direction}{
|
17
|
+
position:sticky;
|
18
|
+
#{$direction}: 0;
|
19
|
+
}
|
16
20
|
}
|
17
21
|
@include responsive-rule('position-fill'){
|
18
22
|
position:absolute;
|
@@ -32,6 +32,12 @@
|
|
32
32
|
@include responsive-rule(".min-width-#{$i * 5}-vw"){ min-width: $i * 5vw };
|
33
33
|
@include responsive-rule(".max-width-#{$i * 5}-vw"){ max-width: $i * 5vw };
|
34
34
|
}
|
35
|
+
|
36
|
+
@for $i from 0 through 20 {
|
37
|
+
@include responsive-rule(".height-#{$i * 5}-vh"){ height: $i * 5vh };
|
38
|
+
@include responsive-rule(".min-height-#{$i * 5}-vh"){ min-height: $i * 5vh };
|
39
|
+
@include responsive-rule(".max-height-#{$i * 5}-vh"){ max-height: $i * 5vh };
|
40
|
+
}
|
35
41
|
@include responsive-rule(".height-100-vh"){ height: 100vh; };
|
36
42
|
@include responsive-rule(".min-height-100-vh"){ min-height: 100vh; };
|
37
43
|
@include responsive-rule(".max-height-100-vh"){ max-height: 100vh; };
|
@@ -41,14 +47,14 @@
|
|
41
47
|
//----------------------------------------------------------------
|
42
48
|
@include responsive-rule(".height-auto"){ height: auto; };
|
43
49
|
@include responsive-rule(".height-full"){ height: 100%; };
|
44
|
-
@include responsive-rule(".max-height-auto"){ height: auto; };
|
45
|
-
@include responsive-rule(".max-height-full"){ height: 100%; };
|
46
|
-
@include responsive-rule(".min-height-auto"){ height: auto; };
|
47
|
-
@include responsive-rule(".min-height-full"){ height: 100%; };
|
50
|
+
@include responsive-rule(".max-height-auto"){ max-height: auto; };
|
51
|
+
@include responsive-rule(".max-height-full"){ max-height: 100%; };
|
52
|
+
@include responsive-rule(".min-height-auto"){ min-height: auto; };
|
53
|
+
@include responsive-rule(".min-height-full"){ min-height: 100%; };
|
48
54
|
|
49
55
|
@include responsive-rule(".width-auto"){ width: auto; };
|
50
56
|
@include responsive-rule(".width-full"){ width: 100%; };
|
51
|
-
@include responsive-rule(".max-width-auto"){ width: auto; };
|
52
|
-
@include responsive-rule(".max-width-full"){ width: 100%; };
|
53
|
-
@include responsive-rule(".min-width-auto"){ width: auto; };
|
54
|
-
@include responsive-rule(".min-width-full"){ width: 100%; };
|
57
|
+
@include responsive-rule(".max-width-auto"){ max-width: auto; };
|
58
|
+
@include responsive-rule(".max-width-full"){ max-width: 100%; };
|
59
|
+
@include responsive-rule(".min-width-auto"){ min-width: auto; };
|
60
|
+
@include responsive-rule(".min-width-full"){ min-width: 100%; };
|
@@ -1,5 +1,25 @@
|
|
1
1
|
@import 'uniform/mixins';
|
2
2
|
|
3
|
+
//----------------------------------------------------------------
|
4
|
+
// Spacing
|
5
|
+
//----------------------------------------------------------------
|
6
|
+
@include size-rule('.space-h') using ($size) {
|
7
|
+
& > * + * {
|
8
|
+
margin-left: $size;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
@include size-rule('.space-v') using ($size) {
|
12
|
+
& > * + * {
|
13
|
+
margin-top: $size
|
14
|
+
}
|
15
|
+
}
|
16
|
+
@include size-rule('.space') using ($size) {
|
17
|
+
& > * + * {
|
18
|
+
margin-top: $size;
|
19
|
+
margin-left: $size;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
3
23
|
//----------------------------------------------------------------
|
4
24
|
// Margin
|
5
25
|
//----------------------------------------------------------------
|
@@ -36,20 +56,6 @@
|
|
36
56
|
}
|
37
57
|
|
38
58
|
|
39
|
-
//----------------------------------------------------------------
|
40
|
-
// Spacing
|
41
|
-
//----------------------------------------------------------------
|
42
|
-
@include size-rule('.space-h') using ($size) {
|
43
|
-
& > * + * {
|
44
|
-
margin-left: $size;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
@include size-rule('.space-v') using ($size) {
|
48
|
-
& > * + * {
|
49
|
-
margin-top: $size
|
50
|
-
}
|
51
|
-
}
|
52
|
-
|
53
59
|
|
54
60
|
//----------------------------------------------------------------
|
55
61
|
// Pad
|
@@ -8,6 +8,7 @@
|
|
8
8
|
--text-opacity: 1.0;
|
9
9
|
color: rgba($color, var(--text-opacity));
|
10
10
|
}
|
11
|
+
@include responsive-rule('.text-current') { color: currentColor; }
|
11
12
|
@include responsive-rule('.text-md') { font-size: 1rem; }
|
12
13
|
@include color-rule('.placeholder') using ($color){
|
13
14
|
&::placeholder{
|
@@ -13,6 +13,9 @@
|
|
13
13
|
.overflow-x{
|
14
14
|
overflow-x: auto;
|
15
15
|
}
|
16
|
+
.overflow-x-scroll{
|
17
|
+
overflow-y: scroll;
|
18
|
+
}
|
16
19
|
|
17
20
|
//----------------------------------------------------------------
|
18
21
|
// Element Reset
|
@@ -25,6 +28,8 @@
|
|
25
28
|
padding: 0;
|
26
29
|
margin: 0;
|
27
30
|
list-style:none;
|
31
|
+
text-decoration: none;
|
32
|
+
color: inherit;
|
28
33
|
}
|
29
34
|
|
30
35
|
//----------------------------------------------------------------
|
@@ -45,6 +50,9 @@ grab
|
|
45
50
|
cursor: $type;
|
46
51
|
}
|
47
52
|
}
|
53
|
+
.cursor-move-v {
|
54
|
+
cursor: ns-resize;
|
55
|
+
}
|
48
56
|
|
49
57
|
//----------------------------------------------------------------
|
50
58
|
// SVG
|
data/lib/uniform/version.rb
CHANGED