@oardi/css-utils 0.38.1 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oardi/css-utils",
3
- "version": "0.38.1",
3
+ "version": "0.39.0",
4
4
  "author": "Ardian Shala",
5
5
  "homepage": "https://css-utils.oardi.com",
6
6
  "description": "Powerful set of semantic css classes with support for breakpoints, directions and spacings",
@@ -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
- transition: var(--transition-color);
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
- transition: var(--transition-color);
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: var(--transition-color);
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
 
@@ -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: var(--transition-color);
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: var(--transition-color);
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': #9163e7,
8
- 'secondary': #595959,
9
- 'success': #16a085,
10
- 'warning': #ffc557,
11
- 'error': #eb4242,
12
- 'white': #ffffff,
13
- 'black': #000000,
14
- ),
15
- on-colors: (
16
- 'on-primary': #ffffff,
17
- 'on-secondary': #ffffff,
18
- 'on-success': #ffffff,
19
- 'on-warning': #ffffff,
20
- 'on-error': #ffffff,
21
- 'on-white': #000000,
22
- 'on-black': #ffffff,
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%),
@@ -11,14 +11,16 @@
11
11
 
12
12
  :root {
13
13
  @each $name, $value in map.get(theme.$theme, colors) {
14
- --#{$name}: #{$value};
15
- --#{$name}-rgb: #{to-rgb-string($value)};
16
- --#{$name}-hover: #{color.adjust($value, $lightness: -10%)};
17
- --text-#{$name}: #{$value};
18
- }
19
-
20
- @each $name, $value in map.get(theme.$theme, on-colors) {
21
- --#{$name}: #{$value};
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-light);
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
  }