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,26 @@
|
|
1
|
+
export default class Sticker {
|
2
|
+
constructor (el) {
|
3
|
+
if (!window.uniformObserver) {
|
4
|
+
window.uniformObserver = new IntersectionObserver(
|
5
|
+
entries => entries.forEach(entry => {
|
6
|
+
if (entry.intersectionRatio == 0) {
|
7
|
+
this.stick(el)
|
8
|
+
} else {
|
9
|
+
this.unstick(el)
|
10
|
+
}
|
11
|
+
}),
|
12
|
+
{threshold: [0.994, 0.00001]},
|
13
|
+
)
|
14
|
+
}
|
15
|
+
|
16
|
+
window.uniformObserver.observe(el)
|
17
|
+
}
|
18
|
+
|
19
|
+
stick (el) {
|
20
|
+
|
21
|
+
}
|
22
|
+
|
23
|
+
unstick (el) {
|
24
|
+
|
25
|
+
}
|
26
|
+
}
|
@@ -13,6 +13,7 @@ import Popover from './popover';
|
|
13
13
|
disable
|
14
14
|
hide
|
15
15
|
show
|
16
|
+
timeout
|
16
17
|
*/
|
17
18
|
export default class Tooltip extends Component {
|
18
19
|
initialize (options) {
|
@@ -27,6 +28,7 @@ export default class Tooltip extends Component {
|
|
27
28
|
this.enabled = true;
|
28
29
|
this.content = options.content;
|
29
30
|
this.el.tooltip = this;
|
31
|
+
this.timeout = options.timeout
|
30
32
|
|
31
33
|
this.listenTo(this.el, 'mouseenter', this.show);
|
32
34
|
this.listenTo(this.el, 'mouseleave', this.hide);
|
@@ -41,27 +43,38 @@ export default class Tooltip extends Component {
|
|
41
43
|
clearTimeout(this.hide_timeout);
|
42
44
|
this.el.classList.add('-active');
|
43
45
|
if (this.popup) {
|
44
|
-
|
46
|
+
this.popup.show()
|
45
47
|
} else {
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
48
|
+
const pointerDirection = {
|
49
|
+
top: 'bottom',
|
50
|
+
bottom: 'top',
|
51
|
+
left: 'right',
|
52
|
+
right: 'left'
|
53
|
+
}[this.options.align]
|
54
|
+
const align = {
|
55
|
+
left: 'left center',
|
56
|
+
right: 'right center',
|
57
|
+
top: 'center top',
|
58
|
+
bottom: 'center bottom'
|
59
|
+
}[this.options.align]
|
60
|
+
const offset = { [this.options.align]: -7}
|
61
|
+
this.popup = new Popover({
|
62
|
+
content: this.content,
|
63
|
+
class: `uniformPointer -${pointerDirection} bg-gray-70 bg-opacity-85 text-white rounded pad-1/2x text-sm max-width-300-px `,
|
64
|
+
anchor: this.el,
|
65
|
+
align: align || this.options.align || 'center 100%',
|
66
|
+
offset: offset,
|
67
|
+
container: this.options.container
|
68
|
+
}).render();
|
56
69
|
}
|
57
70
|
}
|
58
71
|
|
59
72
|
hide () {
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
73
|
+
this.hide_timeout = setTimeout(() => {
|
74
|
+
this.popup.remove();
|
75
|
+
this.el.classList.remove('-active');
|
76
|
+
delete this.popup;
|
77
|
+
}, this.timeout)
|
65
78
|
}
|
66
79
|
|
67
80
|
disable () {
|
@@ -1,8 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
import Dropdown from './uniform/dropdown';
|
2
|
+
import Modal from './uniform/modal';
|
3
|
+
import Select from './uniform/select';
|
4
|
+
import FloatingLabelInput from './uniform/floating-label-input';
|
5
|
+
import Resizer from './uniform/resizer';
|
6
|
+
import Tooltip from './uniform/tooltip';
|
7
|
+
import Popover from './uniform/popover';
|
8
|
+
import Dropzone from './uniform/dropzone';
|
9
|
+
import {Checkbox, Radio, Toggle} from './uniform/checkbox';
|
10
|
+
|
11
|
+
export {
|
12
|
+
Dropdown,
|
13
|
+
Modal,
|
14
|
+
Select,
|
15
|
+
FloatingLabelInput,
|
16
|
+
Resizer,
|
17
|
+
Tooltip,
|
18
|
+
Popover,
|
19
|
+
Checkbox,
|
20
|
+
Radio,
|
21
|
+
Toggle,
|
22
|
+
Dropzone
|
23
|
+
}
|
@@ -1,11 +1,7 @@
|
|
1
|
+
@import 'uniform/config';
|
1
2
|
@import 'uniform/functions';
|
2
|
-
@import 'uniform/variables';
|
3
3
|
@import 'uniform/mixins';
|
4
4
|
*{
|
5
|
-
--bg-opacity: 1.0;
|
6
|
-
--shadow-opacity: 0.1;
|
7
|
-
--border-opacity: 1.0;
|
8
|
-
--border-color: #{red(color('gray'))}, #{green(color('gray'))}, #{blue(color('gray'))};
|
9
5
|
border-width: 0;
|
10
6
|
border-style: solid;
|
11
7
|
border-color: rgba(var(--border-color), var(--border-opacity));
|
@@ -13,10 +9,29 @@
|
|
13
9
|
|
14
10
|
.uniformInput,
|
15
11
|
.uniformInputGroup,
|
16
|
-
.uniformSelect{
|
12
|
+
.uniformSelect {
|
17
13
|
--focus-color: #{red(color('blue'))}, #{green(color('blue'))}, #{blue(color('blue'))};
|
18
14
|
}
|
19
15
|
|
20
|
-
body{
|
21
|
-
--breakpoints: #{mapToString($breakpoints)};
|
22
|
-
|
16
|
+
body {
|
17
|
+
--breakpoints: #{mapToString(map-get($uniform_configs, 'breakpoints'))};
|
18
|
+
--bg-opacity: 1.0;
|
19
|
+
--shadow-opacity: 0.1;
|
20
|
+
--border-opacity: 1.0;
|
21
|
+
--border-color: #{red(color('gray'))}, #{green(color('gray'))}, #{blue(color('gray'))};
|
22
|
+
}
|
23
|
+
|
24
|
+
@include responsive-rule('base') {
|
25
|
+
--breakpoints: #{mapToString(map-get($uniform_configs, 'breakpoints'))};
|
26
|
+
--bg-opacity: 1.0;
|
27
|
+
--shadow-opacity: 0.1;
|
28
|
+
--border-opacity: 1.0;
|
29
|
+
--border-color: #{red(color('gray'))}, #{green(color('gray'))}, #{blue(color('gray'))};
|
30
|
+
}
|
31
|
+
|
32
|
+
/*
|
33
|
+
The following is used to pass configs in scss
|
34
|
+
UNIFORM CONFIGS
|
35
|
+
#{mapToJSON($uniform_configs)}
|
36
|
+
UNIFORM CONFIGS END
|
37
|
+
*/
|
@@ -44,7 +44,7 @@
|
|
44
44
|
//----------------------------------------------------------------
|
45
45
|
// Color
|
46
46
|
//----------------------------------------------------------------
|
47
|
-
@each $name, $color in $
|
47
|
+
@each $name, $color in map-get($uniform_configs, 'colors') {
|
48
48
|
.uniformButton.-#{$name},
|
49
49
|
.uniformButtonGroup.-#{$name} > *{
|
50
50
|
background-color: rgba($color, var(--bg-opacity));
|
@@ -108,10 +108,6 @@
|
|
108
108
|
linear-gradient(hsla(0,0%,50%, .5), hsla(0,0%,50%, .5));
|
109
109
|
background-blend-mode: saturation, luminosity;
|
110
110
|
}
|
111
|
-
|
112
|
-
&:visited{
|
113
|
-
color: currentColor;
|
114
|
-
}
|
115
111
|
}
|
116
112
|
|
117
113
|
.uniformButton{
|
@@ -155,6 +151,9 @@
|
|
155
151
|
--pad-h: 3em;
|
156
152
|
--border-radius: 0.5em;
|
157
153
|
}
|
154
|
+
&.-input {
|
155
|
+
--pad-v: 0.75em;
|
156
|
+
}
|
158
157
|
}
|
159
158
|
|
160
159
|
|
@@ -7,14 +7,15 @@
|
|
7
7
|
padding-right: 1em;
|
8
8
|
}
|
9
9
|
|
10
|
-
|
11
|
-
|
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
|
+
}
|
@@ -17,6 +17,11 @@
|
|
17
17
|
padding-right: 0.5em;
|
18
18
|
}
|
19
19
|
}
|
20
|
+
|
21
|
+
*:focus {
|
22
|
+
box-shadow: none;
|
23
|
+
}
|
24
|
+
|
20
25
|
input,
|
21
26
|
.input{
|
22
27
|
flex: 1 1 auto;
|
@@ -27,4 +32,8 @@
|
|
27
32
|
padding: 0.5em;
|
28
33
|
box-shadow: none;
|
29
34
|
}
|
35
|
+
|
36
|
+
.uniformInput {
|
37
|
+
border: none !important;
|
38
|
+
}
|
30
39
|
}
|
@@ -40,17 +40,14 @@
|
|
40
40
|
|
41
41
|
@keyframes uniformLoader {
|
42
42
|
0% {
|
43
|
-
-webkit-transform: scale(0);
|
44
43
|
transform: scale(0);
|
45
44
|
opacity: 0;
|
46
45
|
}
|
47
46
|
50%{
|
48
|
-
-webkit-transform: scale(1);
|
49
47
|
transform: scale(1);
|
50
48
|
opacity: 1;
|
51
49
|
}
|
52
50
|
100%{
|
53
|
-
-webkit-transform: scale(0);
|
54
51
|
transform: scale(0);
|
55
52
|
opacity: 0;
|
56
53
|
}
|
@@ -12,46 +12,29 @@
|
|
12
12
|
position: absolute;
|
13
13
|
top: 0;
|
14
14
|
width: 100%;
|
15
|
-
text-align:center;
|
16
15
|
padding: 2em;
|
17
16
|
z-index: 9999;
|
17
|
+
display: flex;
|
18
|
+
justify-content: center;
|
19
|
+
& > * {
|
20
|
+
z-index: 2;
|
21
|
+
}
|
18
22
|
}
|
19
23
|
|
20
|
-
.uniformModal-container{
|
21
|
-
|
22
|
-
|
23
|
-
position:relative;
|
24
|
-
margin: auto;
|
25
|
-
background: white;
|
26
|
-
border-radius: 0.25em;
|
27
|
-
max-width: 90%;
|
28
|
-
z-index: 2;
|
29
|
-
&.-fill{
|
30
|
-
width: 90%;
|
31
|
-
}
|
32
|
-
&.-reset{
|
33
|
-
margin: -2em;
|
34
|
-
max-width: none;
|
35
|
-
border-radius: 0;
|
36
|
-
&.-fill{
|
37
|
-
width: 100%;
|
38
|
-
}
|
39
|
-
}
|
24
|
+
.uniformModal-close-container {
|
25
|
+
position: relative;
|
26
|
+
width: 0;
|
40
27
|
}
|
41
28
|
|
42
29
|
.uniformModal-close{
|
43
30
|
z-index: 2;
|
44
|
-
position: absolute;
|
45
|
-
padding: 0.3em;
|
46
|
-
top: 0;
|
47
|
-
right: 0;
|
48
|
-
font-size:1.5em;
|
49
31
|
color: white;
|
50
|
-
opacity: 0.5;
|
51
|
-
line-height:1;
|
52
32
|
cursor: pointer;
|
53
|
-
|
54
|
-
|
33
|
+
position: absolute;
|
34
|
+
bottom: 100%;
|
35
|
+
height: 2em;
|
36
|
+
width: 2em;
|
37
|
+
opacity: 0.5;
|
55
38
|
&:hover{
|
56
39
|
opacity: 1;
|
57
40
|
}
|
@@ -59,19 +42,21 @@
|
|
59
42
|
&:before{
|
60
43
|
content: "";
|
61
44
|
width: 1px;
|
62
|
-
height: 1.
|
63
|
-
|
64
|
-
transform: rotate(-45deg);
|
65
|
-
background: white;
|
45
|
+
height: 1.5em;
|
46
|
+
background: currentColor;
|
66
47
|
position:absolute;
|
67
48
|
left: 50%;
|
68
|
-
top:
|
49
|
+
top: 50%;
|
50
|
+
transform-origin: 50% 50%;
|
51
|
+
transform: translateY(-50%) rotate(-45deg);
|
69
52
|
}
|
70
53
|
&:before{
|
71
|
-
transform: rotate(45deg);
|
54
|
+
transform: translateY(-50%) rotate(45deg);
|
72
55
|
}
|
73
56
|
}
|
74
57
|
|
58
|
+
// TODO replace with backdrop-filter: blur(4px);
|
59
|
+
// when supported by Firefox https://caniuse.com/css-backdrop-filter
|
75
60
|
.uniformModal-blur{
|
76
61
|
top: 0;
|
77
62
|
left: 0;
|
@@ -42,8 +42,8 @@
|
|
42
42
|
}
|
43
43
|
&:before {
|
44
44
|
margin-left: 0;
|
45
|
-
margin-top: -
|
46
|
-
height:
|
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: -
|
64
|
-
height:
|
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:
|
126
|
+
background: color('gray-10');
|
122
127
|
border-radius: 0.25em;
|
123
128
|
span{
|
124
129
|
flex: 1 1 auto;
|
@@ -15,6 +15,12 @@
|
|
15
15
|
box-shadow: 0 0 0 2px rgba(var(--focus-color), 1);
|
16
16
|
}
|
17
17
|
}
|
18
|
+
|
19
|
+
select.uniformInput {
|
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"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat center right;
|
22
|
+
}
|
23
|
+
|
18
24
|
@include color-rule('.focus') using ($color) {
|
19
25
|
--focus-color: #{red($color)}, #{green($color)}, #{blue($color)};
|
20
26
|
}
|
@@ -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));
|
@@ -16,9 +16,6 @@ a{
|
|
16
16
|
&:hover{
|
17
17
|
color: color('blue-60');
|
18
18
|
}
|
19
|
-
&:visited{
|
20
|
-
color: #6738e4;
|
21
|
-
}
|
22
19
|
}
|
23
20
|
h1,
|
24
21
|
h2,
|
@@ -34,27 +31,6 @@ pre{
|
|
34
31
|
margin: 0;
|
35
32
|
}
|
36
33
|
|
37
|
-
ul,
|
38
|
-
ol,
|
39
|
-
dl{
|
40
|
-
list-style: none;
|
41
|
-
margin: 0;
|
42
|
-
padding: 0;
|
43
|
-
ul,
|
44
|
-
ol,
|
45
|
-
dl{
|
46
|
-
margin-bottom: 0;
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
dd{
|
51
|
-
margin-left: 0;
|
52
|
-
margin-bottom: 0.5em;
|
53
|
-
}
|
54
|
-
dt{
|
55
|
-
font-weight: bold;
|
56
|
-
}
|
57
|
-
|
58
34
|
table{
|
59
35
|
background-color: transparent;
|
60
36
|
border-collapse: collapse;
|
@@ -101,8 +77,8 @@ button{
|
|
101
77
|
cursor: pointer;
|
102
78
|
}
|
103
79
|
button{
|
104
|
-
font-family: $base-font;
|
105
|
-
font-size:
|
80
|
+
font-family: map-get($uniform_configs, 'base-font');
|
81
|
+
font-size: 1em;
|
106
82
|
}
|
107
83
|
|
108
84
|
img,
|