@oardi/css-utils 0.38.1 → 0.39.1
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.
- package/package.json +1 -1
- package/scss/components/button.scss +18 -7
- package/scss/components/chip.scss +7 -1
- package/scss/components/expansion-panel.scss +12 -2
- package/scss/components/form.scss +9 -2
- package/scss/components/icon-button.scss +8 -1
- package/scss/components/tabs.scss +12 -2
- package/scss/theme.scss +42 -16
- package/scss/typography.scss +5 -1
- package/scss/variables.scss +11 -12
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
--button-font-size: var(--font-size);
|
|
13
13
|
--button-padding-y: 0.25rem;
|
|
14
|
-
--button-padding-x:
|
|
14
|
+
--button-padding-x: 1rem;
|
|
15
15
|
|
|
16
16
|
--button-disabled-font-color: var(--disabled-font-color);
|
|
17
17
|
--button-disabled-bg-color: var(--disabled-bg-color);
|
|
@@ -72,6 +72,7 @@
|
|
|
72
72
|
.btn-#{$name} {
|
|
73
73
|
--button-color: var(--#{$name});
|
|
74
74
|
--button-color-hover: var(--#{$name}-hover);
|
|
75
|
+
--button-color-active: var(--#{$name}-active);
|
|
75
76
|
--button-color-rgb: var(--#{$name}-rgb);
|
|
76
77
|
--button-on-color: var(--on-#{$name});
|
|
77
78
|
}
|
|
@@ -83,13 +84,17 @@
|
|
|
83
84
|
background-color: var(--button-color);
|
|
84
85
|
border-color: var(--button-color);
|
|
85
86
|
|
|
86
|
-
&:hover
|
|
87
|
-
&.active,
|
|
88
|
-
&:active {
|
|
87
|
+
&:hover {
|
|
89
88
|
background-color: var(--button-color-hover);
|
|
90
89
|
border-color: var(--button-color-hover);
|
|
91
90
|
}
|
|
92
91
|
|
|
92
|
+
&.active,
|
|
93
|
+
&:active {
|
|
94
|
+
background-color: var(--button-color-active);
|
|
95
|
+
border-color: var(--button-color-active);
|
|
96
|
+
}
|
|
97
|
+
|
|
93
98
|
&:focus-visible {
|
|
94
99
|
outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
|
|
95
100
|
}
|
|
@@ -101,15 +106,21 @@
|
|
|
101
106
|
background-color: transparent;
|
|
102
107
|
border-color: var(--button-color);
|
|
103
108
|
|
|
104
|
-
&:hover
|
|
105
|
-
&.active,
|
|
106
|
-
&:active {
|
|
109
|
+
&:hover {
|
|
107
110
|
color: var(--button-on-color);
|
|
108
111
|
fill: var(--button-on-color);
|
|
109
112
|
background-color: var(--button-color-hover);
|
|
110
113
|
border-color: var(--button-color-hover);
|
|
111
114
|
}
|
|
112
115
|
|
|
116
|
+
&.active,
|
|
117
|
+
&:active {
|
|
118
|
+
color: var(--button-on-color);
|
|
119
|
+
fill: var(--button-on-color);
|
|
120
|
+
background-color: var(--button-color-active);
|
|
121
|
+
border-color: var(--button-color-active);
|
|
122
|
+
}
|
|
123
|
+
|
|
113
124
|
&:focus-visible {
|
|
114
125
|
color: var(--button-on-color);
|
|
115
126
|
fill: var(--button-on-color);
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
--chip-border-radius: 16px;
|
|
8
8
|
--chip-border-width: var(--border-width);
|
|
9
9
|
--chip-highlight: var(--highlight);
|
|
10
|
+
--chip-transition-duration: var(--transition-duration, 0.2s);
|
|
10
11
|
|
|
11
12
|
display: inline-flex;
|
|
12
13
|
border-width: var(--chip-border-width);
|
|
@@ -15,7 +16,12 @@
|
|
|
15
16
|
border-color: transparent;
|
|
16
17
|
color: var(--font-color);
|
|
17
18
|
font-size: var(--chip-label-font-size);
|
|
18
|
-
|
|
19
|
+
|
|
20
|
+
transition:
|
|
21
|
+
color var(--chip-transition-duration),
|
|
22
|
+
background-color var(--chip-transition-duration),
|
|
23
|
+
border-color var(--chip-transition-duration);
|
|
24
|
+
|
|
19
25
|
-webkit-tap-highlight-color: transparent;
|
|
20
26
|
touch-action: manipulation; // ios fix
|
|
21
27
|
|
|
@@ -8,15 +8,25 @@
|
|
|
8
8
|
--expansion-panel-inner-padding: 1.25rem;
|
|
9
9
|
--expansion-panel-border-color: var(--border-color);
|
|
10
10
|
--expansion-panel-header-bg-color: var(--bg-surface);
|
|
11
|
+
--expansion-panel-transition-duration: var(--transition-duration, 0.2s);
|
|
12
|
+
|
|
13
|
+
--expansion-panel-focus-outline-width: var(--focus-outline-width);
|
|
14
|
+
--expansion-panel-focus-outline-style: var(--focus-outline-style);
|
|
15
|
+
--expansion-panel-focus-outline-color: var(--focus-outline-color);
|
|
11
16
|
|
|
12
17
|
color: var(--font-color);
|
|
13
18
|
border: 1px solid var(--expansion-panel-border-color);
|
|
14
19
|
border-radius: var(--border-radius);
|
|
15
20
|
background-color: var(--expansion-panel-header-bg-color);
|
|
16
|
-
|
|
21
|
+
|
|
22
|
+
transition:
|
|
23
|
+
color var(--expansion-panel-transition-duration),
|
|
24
|
+
background-color var(--expansion-panel-transition-duration),
|
|
25
|
+
border-color var(--expansion-panel-transition-duration);
|
|
17
26
|
|
|
18
27
|
&:focus {
|
|
19
|
-
outline: var(--focus-outline)
|
|
28
|
+
outline: var(--expansion-panel-focus-outline-width) var(--expansion-panel-focus-outline-style)
|
|
29
|
+
var(--expansion-panel-focus-outline-color);
|
|
20
30
|
outline-offset: var(--focus-offset);
|
|
21
31
|
}
|
|
22
32
|
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
--input-bg-color: var(--bg-surface);
|
|
3
3
|
--input-border-width: var(--border-width);
|
|
4
4
|
--input-border-color: var(--border-color);
|
|
5
|
+
|
|
5
6
|
--form-control-disabled-font-color: var(--disabled-font-color);
|
|
6
7
|
--form-control-disabled-bg-color: var(--disabled-bg-color);
|
|
7
8
|
--form-control-disabled-border-color: var(--disabled-border-color);
|
|
8
9
|
|
|
10
|
+
--form-control-focus-outline-width: var(--focus-outline-width);
|
|
11
|
+
--form-control-focus-outline-style: var(--focus-outline-style);
|
|
12
|
+
--form-control-focus-outline-color: var(--focus-outline-color);
|
|
13
|
+
|
|
9
14
|
display: block;
|
|
10
15
|
width: 100%;
|
|
11
16
|
max-width: 100%;
|
|
@@ -26,7 +31,8 @@
|
|
|
26
31
|
&:focus {
|
|
27
32
|
background-color: var(--input-bg-color);
|
|
28
33
|
border-color: var(--primary-hover);
|
|
29
|
-
outline: var(--focus-outline)
|
|
34
|
+
outline: var(--form-control-focus-outline-width) var(--form-control-focus-outline-style)
|
|
35
|
+
var(--form-control-focus-outline-color);
|
|
30
36
|
outline-offset: var(--focus-offset);
|
|
31
37
|
}
|
|
32
38
|
|
|
@@ -111,7 +117,8 @@ textarea.form-control {
|
|
|
111
117
|
}
|
|
112
118
|
|
|
113
119
|
&:focus {
|
|
114
|
-
outline: var(--focus-outline)
|
|
120
|
+
outline: var(--form-control-focus-outline-width) var(--form-control-focus-outline-style)
|
|
121
|
+
var(--form-control-focus-outline-color);
|
|
115
122
|
outline-offset: var(--focus-offset);
|
|
116
123
|
}
|
|
117
124
|
|
|
@@ -18,10 +18,13 @@ $sizes: (
|
|
|
18
18
|
|
|
19
19
|
--icon-button-focus-outline-width: var(--focus-outline-width);
|
|
20
20
|
--icon-button-focus-outline-style: var(--focus-outline-style);
|
|
21
|
+
--icon-button-focus-outline-color: var(--focus-outline-color);
|
|
21
22
|
|
|
22
23
|
--icon-button-svg-width: 18px;
|
|
23
24
|
--icon-button-svg-height: 18px;
|
|
24
25
|
|
|
26
|
+
--icon-button-transition-duration: var(--transition-duration, 0.2s);
|
|
27
|
+
|
|
25
28
|
padding: var(--icon-button-padding);
|
|
26
29
|
min-width: var(--icon-button-min-width);
|
|
27
30
|
width: var(--icon-button-width);
|
|
@@ -39,7 +42,11 @@ $sizes: (
|
|
|
39
42
|
fill: var(--font-color);
|
|
40
43
|
color: var(--font-color);
|
|
41
44
|
|
|
42
|
-
transition:
|
|
45
|
+
transition:
|
|
46
|
+
color var(--icon-button-transition-duration),
|
|
47
|
+
background-color var(--icon-button-transition-duration),
|
|
48
|
+
border-color var(--icon-button-transition-duration);
|
|
49
|
+
|
|
43
50
|
-webkit-tap-highlight-color: transparent;
|
|
44
51
|
touch-action: manipulation; // ios fix
|
|
45
52
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
overflow-y: visible;
|
|
7
7
|
|
|
8
8
|
.tab {
|
|
9
|
+
--tab-transition-duration: var(--transition-duration, 0.2s);
|
|
10
|
+
|
|
9
11
|
color: var(--font-color);
|
|
10
12
|
background-color: var(--tab-bg-color, var(--bg-surface));
|
|
11
13
|
text-align: center;
|
|
@@ -14,7 +16,10 @@
|
|
|
14
16
|
border-bottom: 3px solid var(--tab-border-color, var(--border-color));
|
|
15
17
|
flex: 1 0 auto;
|
|
16
18
|
|
|
17
|
-
transition:
|
|
19
|
+
transition:
|
|
20
|
+
color var(--tab-transition-duration),
|
|
21
|
+
background-color var(--tab-transition-duration),
|
|
22
|
+
border-color var(--tab-transition-duration);
|
|
18
23
|
|
|
19
24
|
&.active {
|
|
20
25
|
color: var(--primary);
|
|
@@ -46,11 +51,16 @@
|
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
.tab-content {
|
|
54
|
+
--tab-content-transition-duration: var(--transition-duration, 0.2s);
|
|
55
|
+
|
|
49
56
|
display: none;
|
|
50
57
|
padding: 20px;
|
|
51
58
|
background-color: var(--tab-content-bg-color, var(--bg-surface));
|
|
52
59
|
|
|
53
|
-
transition:
|
|
60
|
+
transition:
|
|
61
|
+
color var(--tab-content-transition-duration),
|
|
62
|
+
background-color var(--tab-content-transition-duration),
|
|
63
|
+
border-color var(--tab-content-transition-duration);
|
|
54
64
|
|
|
55
65
|
&.active {
|
|
56
66
|
display: block;
|
package/scss/theme.scss
CHANGED
|
@@ -4,22 +4,48 @@ $spacer: 1rem;
|
|
|
4
4
|
|
|
5
5
|
$default-theme: (
|
|
6
6
|
colors: (
|
|
7
|
-
'primary':
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
'
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
'primary': (
|
|
8
|
+
base: #9163e7,
|
|
9
|
+
hover: #7e4fdb,
|
|
10
|
+
active: #6f3bd2,
|
|
11
|
+
on: #ffffff,
|
|
12
|
+
),
|
|
13
|
+
'secondary': (
|
|
14
|
+
base: #595959,
|
|
15
|
+
hover: #4d4d4d,
|
|
16
|
+
active: #414141,
|
|
17
|
+
on: #ffffff,
|
|
18
|
+
),
|
|
19
|
+
'success': (
|
|
20
|
+
base: #16a085,
|
|
21
|
+
hover: #138f77,
|
|
22
|
+
active: #0f7e69,
|
|
23
|
+
on: #ffffff,
|
|
24
|
+
),
|
|
25
|
+
'warning': (
|
|
26
|
+
base: #ffc557,
|
|
27
|
+
hover: #f0b84f,
|
|
28
|
+
active: #e0a843,
|
|
29
|
+
on: #000000,
|
|
30
|
+
),
|
|
31
|
+
'error': (
|
|
32
|
+
base: #eb4242,
|
|
33
|
+
hover: #d73a3a,
|
|
34
|
+
active: #c73232,
|
|
35
|
+
on: #ffffff,
|
|
36
|
+
),
|
|
37
|
+
'white': (
|
|
38
|
+
base: #ffffff,
|
|
39
|
+
hover: #f2f2f2,
|
|
40
|
+
active: #e6e6e6,
|
|
41
|
+
on: #000000,
|
|
42
|
+
),
|
|
43
|
+
'black': (
|
|
44
|
+
base: #000000,
|
|
45
|
+
hover: #1a1a1a,
|
|
46
|
+
active: #333333,
|
|
47
|
+
on: #ffffff,
|
|
48
|
+
),
|
|
23
49
|
),
|
|
24
50
|
grays: (
|
|
25
51
|
50: hsl(0, 0%, 5%),
|
package/scss/typography.scss
CHANGED
|
@@ -72,6 +72,10 @@ h6,
|
|
|
72
72
|
a {
|
|
73
73
|
--link-font-color: var(--primary);
|
|
74
74
|
|
|
75
|
+
--link-focus-outline-width: var(--focus-outline-width);
|
|
76
|
+
--link-focus-outline-style: var(--focus-outline-style);
|
|
77
|
+
--link-focus-outline-color: var(--focus-outline-color);
|
|
78
|
+
|
|
75
79
|
color: var(--link-font-color);
|
|
76
80
|
fill: var(--link-font-color);
|
|
77
81
|
|
|
@@ -82,7 +86,7 @@ a {
|
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
&:focus {
|
|
85
|
-
outline: var(--focus-outline);
|
|
89
|
+
outline: var(--link-focus-outline-width) var(--link-focus-outline-style) var(--link-focus-outline-color);
|
|
86
90
|
outline-offset: var(--focus-offset);
|
|
87
91
|
}
|
|
88
92
|
}
|
package/scss/variables.scss
CHANGED
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
|
|
12
12
|
:root {
|
|
13
13
|
@each $name, $value in map.get(theme.$theme, colors) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
14
|
+
$base: map.get($value, base);
|
|
15
|
+
$hover: map.get($value, hover);
|
|
16
|
+
$active: map.get($value, active);
|
|
17
|
+
$on: map.get($value, on);
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
--#{$name}: #{$
|
|
19
|
+
--#{$name}: #{$base};
|
|
20
|
+
--#{$name}-hover: #{$hover};
|
|
21
|
+
--#{$name}-active: #{$active};
|
|
22
|
+
--#{$name}-rgb: #{to-rgb-string($base)};
|
|
23
|
+
--on-#{$name}: #{$on};
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
@each $name, $value in map.get(theme.$theme, grays) {
|
|
@@ -29,9 +31,6 @@
|
|
|
29
31
|
--spacer-#{$name}: #{$value};
|
|
30
32
|
}
|
|
31
33
|
|
|
32
|
-
--white: #ffffff;
|
|
33
|
-
--black: #000000;
|
|
34
|
-
|
|
35
34
|
--bg-surface: var(--white);
|
|
36
35
|
--body-bg-color: var(--white);
|
|
37
36
|
--font-color: var(--gray-100);
|
|
@@ -53,13 +52,13 @@
|
|
|
53
52
|
--focus-outline-color: rgba(var(--primary-rgb), 0.5);
|
|
54
53
|
--focus-outline-style: solid;
|
|
55
54
|
--focus-outline-width: 2px;
|
|
56
|
-
|
|
55
|
+
// create focus outline for every theme color
|
|
56
|
+
--focus-outline-error: var(--focus-outline-width) var(focus-outline-style) rgba(var(--error-rgb), 0.5);
|
|
57
57
|
--focus-offset: 0px;
|
|
58
58
|
|
|
59
59
|
--container: 900px;
|
|
60
60
|
|
|
61
61
|
--transition-duration: 0.2s;
|
|
62
|
-
--transition-color: color 0.4s, background-color 0.4s;
|
|
63
62
|
|
|
64
63
|
--bg-opacity: 1;
|
|
65
64
|
}
|