@oardi/css-utils 0.38.0 → 0.39.0
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/readme.md +2 -2
- package/scss/components/button.scss +23 -12
- package/scss/components/chip.scss +7 -1
- package/scss/components/expansion-panel.scss +6 -1
- package/scss/components/icon-button.scss +8 -1
- package/scss/components/tabs.scss +12 -2
- package/scss/theme.scss +42 -16
- package/scss/variables.scss +11 -13
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -40,12 +40,12 @@ This will render a centered text:
|
|
|
40
40
|
### Use predefined component classes
|
|
41
41
|
|
|
42
42
|
```html
|
|
43
|
-
<button class="btn btn-primary">some button text</button>
|
|
43
|
+
<button class="btn btn-solid btn-primary">some button text</button>
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
will render as:
|
|
47
47
|
|
|
48
|
-
<button class="btn btn-primary">some button text</button>
|
|
48
|
+
<button class="btn btn-solid btn-primary">some button text</button>
|
|
49
49
|
|
|
50
50
|
### Maintainer
|
|
51
51
|
|
|
@@ -36,8 +36,7 @@
|
|
|
36
36
|
transition:
|
|
37
37
|
color var(--button-transition-duration),
|
|
38
38
|
background-color var(--button-transition-duration),
|
|
39
|
-
border-color var(--button-transition-duration)
|
|
40
|
-
outline-color var(--button-transition-duration);
|
|
39
|
+
border-color var(--button-transition-duration);
|
|
41
40
|
|
|
42
41
|
-webkit-tap-highlight-color: transparent;
|
|
43
42
|
touch-action: manipulation; // ios fix
|
|
@@ -57,9 +56,7 @@
|
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
&:disabled,
|
|
60
|
-
&[disabled]
|
|
61
|
-
&[disabled]:hover,
|
|
62
|
-
&[disabled]:focus {
|
|
59
|
+
&[disabled] {
|
|
63
60
|
cursor: not-allowed;
|
|
64
61
|
pointer-events: none;
|
|
65
62
|
box-shadow: none;
|
|
@@ -75,6 +72,7 @@
|
|
|
75
72
|
.btn-#{$name} {
|
|
76
73
|
--button-color: var(--#{$name});
|
|
77
74
|
--button-color-hover: var(--#{$name}-hover);
|
|
75
|
+
--button-color-active: var(--#{$name}-active);
|
|
78
76
|
--button-color-rgb: var(--#{$name}-rgb);
|
|
79
77
|
--button-on-color: var(--on-#{$name});
|
|
80
78
|
}
|
|
@@ -86,14 +84,19 @@
|
|
|
86
84
|
background-color: var(--button-color);
|
|
87
85
|
border-color: var(--button-color);
|
|
88
86
|
|
|
89
|
-
&:hover
|
|
90
|
-
&:active {
|
|
87
|
+
&:hover {
|
|
91
88
|
background-color: var(--button-color-hover);
|
|
92
89
|
border-color: var(--button-color-hover);
|
|
93
90
|
}
|
|
94
91
|
|
|
92
|
+
&.active,
|
|
93
|
+
&:active {
|
|
94
|
+
background-color: var(--button-color-active);
|
|
95
|
+
border-color: var(--button-color-active);
|
|
96
|
+
}
|
|
97
|
+
|
|
95
98
|
&:focus-visible {
|
|
96
|
-
outline: var(--button-focus-outline-width)
|
|
99
|
+
outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
102
|
|
|
@@ -103,18 +106,25 @@
|
|
|
103
106
|
background-color: transparent;
|
|
104
107
|
border-color: var(--button-color);
|
|
105
108
|
|
|
106
|
-
&:hover
|
|
107
|
-
&:active {
|
|
109
|
+
&:hover {
|
|
108
110
|
color: var(--button-on-color);
|
|
109
111
|
fill: var(--button-on-color);
|
|
110
112
|
background-color: var(--button-color-hover);
|
|
111
113
|
border-color: var(--button-color-hover);
|
|
112
114
|
}
|
|
113
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
|
+
|
|
114
124
|
&:focus-visible {
|
|
115
125
|
color: var(--button-on-color);
|
|
116
126
|
fill: var(--button-on-color);
|
|
117
|
-
outline: var(--button-focus-outline-width)
|
|
127
|
+
outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
|
|
118
128
|
background-color: var(--button-color);
|
|
119
129
|
border-color: var(--button-color);
|
|
120
130
|
}
|
|
@@ -129,12 +139,13 @@
|
|
|
129
139
|
border-color: transparent;
|
|
130
140
|
|
|
131
141
|
&:hover,
|
|
142
|
+
&.active,
|
|
132
143
|
&:active {
|
|
133
144
|
background-color: var(--button-highlight);
|
|
134
145
|
}
|
|
135
146
|
|
|
136
147
|
&:focus-visible {
|
|
137
|
-
outline: var(--button-focus-outline-width)
|
|
148
|
+
outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
|
|
138
149
|
}
|
|
139
150
|
}
|
|
140
151
|
|
|
@@ -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,12 +8,17 @@
|
|
|
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);
|
|
11
12
|
|
|
12
13
|
color: var(--font-color);
|
|
13
14
|
border: 1px solid var(--expansion-panel-border-color);
|
|
14
15
|
border-radius: var(--border-radius);
|
|
15
16
|
background-color: var(--expansion-panel-header-bg-color);
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
transition:
|
|
19
|
+
color var(--expansion-panel-transition-duration),
|
|
20
|
+
background-color var(--expansion-panel-transition-duration),
|
|
21
|
+
border-color var(--expansion-panel-transition-duration);
|
|
17
22
|
|
|
18
23
|
&:focus {
|
|
19
24
|
outline: var(--focus-outline);
|
|
@@ -22,6 +22,8 @@ $sizes: (
|
|
|
22
22
|
--icon-button-svg-width: 18px;
|
|
23
23
|
--icon-button-svg-height: 18px;
|
|
24
24
|
|
|
25
|
+
--icon-button-transition-duration: var(--transition-duration, 0.2s);
|
|
26
|
+
|
|
25
27
|
padding: var(--icon-button-padding);
|
|
26
28
|
min-width: var(--icon-button-min-width);
|
|
27
29
|
width: var(--icon-button-width);
|
|
@@ -39,7 +41,11 @@ $sizes: (
|
|
|
39
41
|
fill: var(--font-color);
|
|
40
42
|
color: var(--font-color);
|
|
41
43
|
|
|
42
|
-
transition:
|
|
44
|
+
transition:
|
|
45
|
+
color var(--icon-button-transition-duration),
|
|
46
|
+
background-color var(--icon-button-transition-duration),
|
|
47
|
+
border-color var(--icon-button-transition-duration);
|
|
48
|
+
|
|
43
49
|
-webkit-tap-highlight-color: transparent;
|
|
44
50
|
touch-action: manipulation; // ios fix
|
|
45
51
|
|
|
@@ -73,6 +79,7 @@ $sizes: (
|
|
|
73
79
|
}
|
|
74
80
|
|
|
75
81
|
// sizes
|
|
82
|
+
// change to use css vars
|
|
76
83
|
@each $name, $value in $sizes {
|
|
77
84
|
.icon-btn-#{$name} {
|
|
78
85
|
min-width: $value;
|
|
@@ -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/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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
--#{$name}: #{$
|
|
14
|
+
$base: map.get($value, base);
|
|
15
|
+
$hover: map.get($value, hover);
|
|
16
|
+
$active: map.get($value, active);
|
|
17
|
+
$on: map.get($value, on);
|
|
18
|
+
|
|
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,12 @@
|
|
|
53
52
|
--focus-outline-color: rgba(var(--primary-rgb), 0.5);
|
|
54
53
|
--focus-outline-style: solid;
|
|
55
54
|
--focus-outline-width: 2px;
|
|
56
|
-
--focus-outline-error: 2px solid var(--error-
|
|
55
|
+
--focus-outline-error: 2px solid rgba(var(--error-rgb), 0.5);
|
|
57
56
|
--focus-offset: 0px;
|
|
58
57
|
|
|
59
58
|
--container: 900px;
|
|
60
59
|
|
|
61
60
|
--transition-duration: 0.2s;
|
|
62
|
-
--transition-color: color 0.4s, background-color 0.4s;
|
|
63
61
|
|
|
64
62
|
--bg-opacity: 1;
|
|
65
63
|
}
|