@oardi/css-utils 0.27.2 → 0.29.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.27.2",
3
+ "version": "0.29.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",
package/readme.md CHANGED
@@ -47,6 +47,10 @@ will render as:
47
47
 
48
48
  <button class="btn btn-primary">some button text</button>
49
49
 
50
+ ### Maintainer
51
+
52
+ Developed and maintained by [Ardian Shala](https://github.com/oardi)
53
+
50
54
  ### Credits and Inspiration
51
55
 
52
56
  The main Frameworks which inspired me to create this set of CSS Utility Classes:
@@ -4,16 +4,13 @@
4
4
  .btn-base {
5
5
  --button-padding: 5px 14px;
6
6
  --button-border-width: 2px;
7
- --button-text-highlight: var(--gray-90);
8
- --button-icon-highlight: var(--gray-90);
9
- --button-disabled-bg-color: var(--gray-80);
10
7
 
11
8
  border-width: var(--button-border-width);
12
9
  border-style: solid;
13
10
  background-color: transparent;
14
11
  border-color: transparent;
15
12
  color: var(--font-color);
16
- transition: all 0.3s ease;
13
+ transition: var(--transition-color);
17
14
  -webkit-tap-highlight-color: transparent;
18
15
  touch-action: manipulation; // ios fix
19
16
 
@@ -37,23 +34,18 @@
37
34
  .btn {
38
35
  @extend .btn-base;
39
36
 
40
- border-radius: var(--border-radius);
37
+ border-radius: var(--button-border-radius, var(--border-radius));
41
38
  line-height: var(--line-height);
42
39
  padding: var(--button-padding);
43
40
 
44
- &:hover {
45
- background-color: var(--button-text-highlight);
46
- border-color: var(--button-text-highlight);
47
- }
48
-
49
41
  &[disabled],
50
42
  &[disabled]:hover,
51
43
  &[active]:hover {
52
- color: var(--gray-30);
44
+ color: var(--gray-300);
53
45
  outline: 0;
54
46
  box-shadow: none;
55
- background-color: var(--button-disabled-bg-color);
56
- border-color: var(--button-disabled-bg-color);
47
+ background-color: var(--button-disabled-bg-color, var(--disabled-bg-color));
48
+ border-color: var(--button-disabled-bg-color, var(--disabled-border-color));
57
49
  }
58
50
  }
59
51
 
@@ -96,12 +88,13 @@
96
88
  .btn-#{$name}-text {
97
89
  color: var(--#{$name});
98
90
 
91
+ &:hover,
92
+ &:active {
93
+ background-color: var(--button-highlight, var(--highlight));
94
+ }
95
+
99
96
  &:focus {
100
97
  outline: 2px solid var(--#{$name}-light);
101
98
  }
102
99
  }
103
100
  }
104
-
105
- .btn-rounded {
106
- border-radius: 50px;
107
- }
@@ -15,3 +15,11 @@
15
15
  padding: var(--card-body-padding);
16
16
  }
17
17
  }
18
+
19
+ // [data-theme='red'] {
20
+ // .card,
21
+ // &.card {
22
+ // color: white;
23
+ // background-color: red;
24
+ // }
25
+ // }
@@ -3,7 +3,6 @@
3
3
 
4
4
  .chip-base {
5
5
  --chip-label-padding: 0 7px;
6
- --chip-text-highlight: var(--gray-90);
7
6
  --chip-border-width: 2px;
8
7
  --chip-border-radius: 16px;
9
8
 
@@ -13,11 +12,10 @@
13
12
  background-color: transparent;
14
13
  border-color: transparent;
15
14
  color: var(--font-color);
16
- transition: all 0.3s ease;
15
+ transition: var(--transition-color);
17
16
  -webkit-tap-highlight-color: transparent;
18
17
  touch-action: manipulation; // ios fix
19
18
 
20
- // TODO - don´t add hover on default
21
19
  &:hover {
22
20
  cursor: pointer;
23
21
  text-decoration: none;
@@ -26,8 +24,6 @@
26
24
  &.disabled:hover,
27
25
  .disabled:focus {
28
26
  cursor: not-allowed;
29
- // background-color: var(--chip-disabled-bg-color, var(--bg-surface));
30
- // border-color: var(--chip-border-color, var(--border-color));
31
27
  }
32
28
  }
33
29
 
@@ -38,14 +34,14 @@
38
34
  line-height: var(--line-height);
39
35
 
40
36
  &:hover {
41
- background-color: var(--button-text-highlight);
42
- border-color: var(--button-text-highlight);
37
+ background-color: var(--chip-highlight, var(--highlight));
38
+ border-color: var(--chip-highlight, var(--highlight));
43
39
  }
44
40
 
45
41
  &.disabled,
46
42
  &.disabled:hover,
47
43
  &[active]:hover {
48
- color: var(--gray-30);
44
+ color: var(--gray-300);
49
45
  outline: 0;
50
46
  background-color: var(--disabled-bg-color);
51
47
  border-color: var(--disabled-border-color);
@@ -11,7 +11,7 @@
11
11
  border: 1px solid var(--expansion-panel-border-color, var(--border-color));
12
12
  border-radius: var(--border-radius);
13
13
  background-color: var(--expansion-panel-header-bg-color, var(--bg-surface));
14
- transition: all 0.3s ease;
14
+ transition: var(--transition-color);
15
15
 
16
16
  &:focus {
17
17
  outline: var(--focus-outline);
@@ -44,7 +44,7 @@
44
44
  }
45
45
 
46
46
  &::placeholder {
47
- color: var(--gray-50);
47
+ color: var(--gray-500);
48
48
  }
49
49
  }
50
50
 
@@ -113,7 +113,7 @@ textarea.form-control {
113
113
  &[disabled]:focus {
114
114
  cursor: not-allowed;
115
115
  outline: 0;
116
- background-color: var(--gray-90);
116
+ background-color: var(--gray-900);
117
117
  border-color: var(--disabled-border-color);
118
118
  }
119
119
  }
@@ -11,7 +11,6 @@ $sizes: (
11
11
  .icon-btn {
12
12
  --icon-button-padding: 0.25rem;
13
13
  --icon-button-border-width: 2px;
14
- --icon-button-highlight: var(--gray-90);
15
14
  --icon-button-disabled-bg-color: none;
16
15
 
17
16
  fill: var(--font-color);
@@ -29,7 +28,7 @@ $sizes: (
29
28
  background-color: transparent;
30
29
  border-color: transparent;
31
30
  color: var(--font-color);
32
- transition: all 0.3s ease;
31
+ transition: var(--transition-color);
33
32
  -webkit-tap-highlight-color: transparent;
34
33
  touch-action: manipulation; // ios fix
35
34
 
@@ -42,14 +41,14 @@ $sizes: (
42
41
  &:hover {
43
42
  cursor: pointer;
44
43
  text-decoration: none;
45
- background-color: var(--icon-button-highlight);
44
+ background-color: var(--icon-button-highlight, var(--highlight));
46
45
  }
47
46
 
48
47
  &[disabled],
49
48
  &[disabled]:hover,
50
49
  &[active]:hover {
51
- color: var(--gray-80);
52
- fill: var(--gray-80);
50
+ color: var(--gray-800);
51
+ fill: var(--gray-800);
53
52
  cursor: not-allowed;
54
53
  outline: 0;
55
54
  background-color: var(--icon-button-disabled-bg-color);
@@ -1,3 +1,6 @@
1
+ @use 'sass:map';
2
+ @use '../theme.scss';
3
+
1
4
  .navbar {
2
5
  padding-top: 0.6rem;
3
6
  padding-bottom: 0.6rem;
@@ -12,3 +15,10 @@
12
15
  text-decoration: none;
13
16
  color: var(--primary-dark);
14
17
  }
18
+
19
+ @each $name, $value in map.get(theme.$theme, colors) {
20
+ .navbar-#{$name} {
21
+ color: var(--on-#{$name});
22
+ background-color: var(--#{$name});
23
+ }
24
+ }
@@ -1,6 +1,4 @@
1
1
  .tabs {
2
- --tab-highlight: var(--highlight);
3
-
4
2
  display: flex;
5
3
  cursor: pointer;
6
4
  -webkit-tap-highlight-color: transparent;
@@ -16,7 +14,7 @@
16
14
  border-bottom: 3px solid var(--tab-border-color, var(--border-color));
17
15
  flex: 1 0 auto;
18
16
 
19
- transition: all 0.3s ease;
17
+ transition: var(--transition-color);
20
18
 
21
19
  &.active {
22
20
  color: var(--primary);
@@ -33,10 +31,11 @@
33
31
  &:hover {
34
32
  cursor: pointer;
35
33
  color: var(--primary);
34
+ background-color: var(--tab-highlight, var(--highlight));
36
35
  }
37
36
 
38
37
  &.disabled {
39
- color: var(--gray-80);
38
+ color: var(--gray-800);
40
39
  outline: 0;
41
40
  &:hover {
42
41
  cursor: not-allowed;
@@ -50,7 +49,7 @@
50
49
  padding: 20px;
51
50
  background-color: var(--tab-content-bg-color, var(--bg-surface));
52
51
 
53
- transition: all 0.3s ease;
52
+ transition: var(--transition-color);
54
53
 
55
54
  &.active {
56
55
  display: block;
@@ -15,7 +15,7 @@
15
15
 
16
16
  @each $name, $value in map.get(theme.$theme, colors) {
17
17
  .toast-#{$name} {
18
- color: var(--white);
18
+ color: var(--on-#{$name});
19
19
  background-color: var(--#{$name});
20
20
  }
21
21
  }
package/scss/flex.scss CHANGED
@@ -153,14 +153,14 @@ $flex-align-items-alignments: (start, end, center, between, around, evenly);
153
153
  // gap - move to own file?
154
154
  @each $key, $value in map.get(theme.$theme, spacings) {
155
155
  .gap-#{$key} {
156
- gap: $value;
156
+ gap: $value !important;
157
157
  }
158
158
 
159
159
  .row-gap-#{$key} {
160
- row-gap: $value;
160
+ row-gap: $value !important;
161
161
  }
162
162
 
163
163
  .column-gap-#{$key} {
164
- column-gap: $value;
164
+ column-gap: $value !important;
165
165
  }
166
166
  }
package/scss/theme.scss CHANGED
@@ -2,29 +2,43 @@
2
2
 
3
3
  $default-theme: (
4
4
  colors: (
5
- primary: #715acd,
6
- secondary: #595959,
7
- success: #16a085,
8
- warn: #f6d545,
9
- error: #f03e3e,
5
+ 'primary': #6c5ce7,
6
+ 'secondary': #595959,
7
+ 'success': #16a085,
8
+ 'warn': #ffc557,
9
+ 'error': #f03e3e,
10
+ 'white': #ffffff,
11
+ 'black': #000000,
10
12
  ),
11
13
  on-colors: (
12
- primary: #ffffff,
13
- secondary: #ffffff,
14
- success: #ffffff,
15
- warn: #ffffff,
16
- error: #ffffff,
14
+ 'primary': #ffffff,
15
+ 'secondary': #ffffff,
16
+ 'success': #ffffff,
17
+ 'warn': #ffffff,
18
+ 'error': #ffffff,
19
+ 'white': #000000,
20
+ 'black': #ffffff,
17
21
  ),
18
22
  grays: (
19
- 10: hsl(0, 0%, 10%),
20
- 20: hsl(0, 0%, 20%),
21
- 30: hsl(0, 0%, 30%),
22
- 40: hsl(0, 0%, 40%),
23
- 50: hsl(0, 0%, 50%),
24
- 60: hsl(0, 0%, 60%),
25
- 70: hsl(0, 0%, 70%),
26
- 80: hsl(0, 0%, 80%),
27
- 90: hsl(0, 0%, 90%),
23
+ 50: hsl(0, 0%, 5%),
24
+ 100: hsl(0, 0%, 10%),
25
+ 150: hsl(0, 0%, 15%),
26
+ 200: hsl(0, 0%, 20%),
27
+ 250: hsl(0, 0%, 25%),
28
+ 300: hsl(0, 0%, 30%),
29
+ 350: hsl(0, 0%, 35%),
30
+ 400: hsl(0, 0%, 40%),
31
+ 450: hsl(0, 0%, 45%),
32
+ 500: hsl(0, 0%, 50%),
33
+ 550: hsl(0, 0%, 55%),
34
+ 600: hsl(0, 0%, 60%),
35
+ 650: hsl(0, 0%, 65%),
36
+ 700: hsl(0, 0%, 70%),
37
+ 750: hsl(0, 0%, 75%),
38
+ 800: hsl(0, 0%, 80%),
39
+ 850: hsl(0, 0%, 85%),
40
+ 900: hsl(0, 0%, 90%),
41
+ 950: hsl(0, 0%, 95%),
28
42
  ),
29
43
  directions: (
30
44
  t: top,
@@ -34,25 +34,44 @@
34
34
  color: var(--white) !important;
35
35
  }
36
36
 
37
- .text-dark {
37
+ .text-black {
38
38
  color: var(--black) !important;
39
39
  }
40
40
 
41
+ .bg-opacity-10 {
42
+ --bg-opacity: 0.1;
43
+ }
44
+
45
+ .bg-opacity-25 {
46
+ --bg-opacity: 0.25;
47
+ }
48
+
49
+ .bg-opacity-50 {
50
+ --bg-opacity: 0.5;
51
+ }
52
+
53
+ .bg-opacity-75 {
54
+ --bg-opacity: 0.75;
55
+ }
56
+
41
57
  @each $name, $value in map.get(theme.$theme, colors) {
42
58
  .text-#{$name} {
43
59
  color: var(--#{$name});
44
60
  }
45
61
 
62
+ // deprecated
46
63
  .bg-#{$name}-light {
47
64
  background-color: var(--#{$name}-light);
48
65
  color: var(--on-#{$name});
49
66
  }
50
67
 
51
68
  .bg-#{$name} {
52
- background-color: var(--#{$name});
69
+ // background-color: var(--#{$name});
53
70
  color: var(--on-#{$name});
71
+ background-color: rgba(var(--#{$name}-rgb), var(--bg-opacity)) !important;
54
72
  }
55
73
 
74
+ // deprecated
56
75
  .bg-#{$name}-dark {
57
76
  background-color: var(--#{$name}-dark);
58
77
  color: var(--on-#{$name});
@@ -2,10 +2,18 @@
2
2
  @use 'sass:map';
3
3
  @use './theme.scss' as theme;
4
4
 
5
+ @function to-rgb-string($color) {
6
+ $r: color.channel($color, 'red', $space: rgb);
7
+ $g: color.channel($color, 'green', $space: rgb);
8
+ $b: color.channel($color, 'blue', $space: rgb);
9
+ @return '#{$r}, #{$g}, #{$b}';
10
+ }
11
+
5
12
  :root {
6
13
  @each $name, $value in map.get(theme.$theme, colors) {
7
14
  --#{$name}-light: #{color.adjust($value, $lightness: 15%)};
8
15
  --#{$name}: #{$value};
16
+ --#{$name}-rgb: #{to-rgb-string($value)};
9
17
  --#{$name}-dark: #{color.adjust($value, $lightness: -15%)};
10
18
  --text-#{$name}: #{$value};
11
19
  }
@@ -23,23 +31,27 @@
23
31
 
24
32
  --bg-surface: var(--white);
25
33
 
26
- --font-color: var(--gray-10);
34
+ --font-color: var(--gray-100);
27
35
  --body-bg-color: #ffffff;
28
36
 
29
- --highlight: rgba(189, 189, 189, 0.1);
30
- --border-color: var(--gray-90);
31
- --border-radius: 6px;
37
+ --highlight: var(--gray-900);
38
+ --border-color: var(--gray-900);
39
+ --border-radius: 8px;
32
40
 
33
- --disabled-bg-color: var(--gray-80);
34
- --disabled-border-color: var(--gray-80);
41
+ --disabled-bg-color: var(--gray-800);
42
+ --disabled-border-color: var(--gray-800);
35
43
 
36
- --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
37
44
  --shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
38
- --shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
45
+ --shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
46
+ --shadow-lg: 0 1rem 2rem rgba(0, 0, 0, 0.175);
39
47
 
40
48
  --focus-outline: 2px solid var(--primary-light);
41
49
  --focus-outline-error: 2px solid var(--error-light);
42
50
  --focus-offset: -2px;
43
51
 
44
52
  --container: 900px;
53
+
54
+ --transition-color: color 0.4s, background-color 0.4s;
55
+
56
+ --bg-opacity: 1;
45
57
  }