@oardi/css-utils 0.37.0 → 0.38.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oardi/css-utils",
3
- "version": "0.37.0",
3
+ "version": "0.38.1",
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
@@ -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
 
@@ -7,8 +7,9 @@
7
7
 
8
8
  --button-focus-outline-width: var(--focus-outline-width);
9
9
  --button-focus-outline-style: var(--focus-outline-style);
10
- --button-font-size: var(--font-size);
10
+ --button-focus-outline-color: var(--focus-outline-color);
11
11
 
12
+ --button-font-size: var(--font-size);
12
13
  --button-padding-y: 0.25rem;
13
14
  --button-padding-x: 0.9rem;
14
15
 
@@ -16,9 +17,12 @@
16
17
  --button-disabled-bg-color: var(--disabled-bg-color);
17
18
  --button-disabled-border-color: var(--disabled-border-color);
18
19
 
20
+ --button-transition-duration: var(--transition-duration, 0.2s);
21
+
19
22
  font-size: var(--button-font-size);
20
23
  display: inline-flex;
21
24
  align-items: center;
25
+ justify-content: center;
22
26
  gap: var(--spacer-2);
23
27
 
24
28
  border-width: var(--button-border-width);
@@ -27,7 +31,13 @@
27
31
 
28
32
  background-color: transparent;
29
33
  color: var(--font-color);
30
- transition: var(--transition-color);
34
+ fill: currentColor;
35
+
36
+ transition:
37
+ color var(--button-transition-duration),
38
+ background-color var(--button-transition-duration),
39
+ border-color var(--button-transition-duration);
40
+
31
41
  -webkit-tap-highlight-color: transparent;
32
42
  touch-action: manipulation; // ios fix
33
43
 
@@ -46,13 +56,12 @@
46
56
  }
47
57
 
48
58
  &:disabled,
49
- &[disabled],
50
- &[disabled]:hover,
51
- &[disabled]:focus {
59
+ &[disabled] {
52
60
  cursor: not-allowed;
53
61
  pointer-events: none;
54
62
  box-shadow: none;
55
63
  color: var(--button-disabled-font-color);
64
+ fill: var(--button-disabled-font-color);
56
65
  outline: 0;
57
66
  background-color: var(--button-disabled-bg-color);
58
67
  border-color: var(--button-disabled-border-color);
@@ -61,56 +70,71 @@
61
70
 
62
71
  @each $name, $value in map.get(theme.$theme, colors) {
63
72
  .btn-#{$name} {
64
- color: var(--on-#{$name});
65
- fill: var(--on-#{$name});
66
- background-color: var(--#{$name});
67
- border-color: var(--#{$name});
68
-
69
- &:hover,
70
- &:active {
71
- background-color: var(--#{$name}-hover);
72
- border-color: var(--#{$name}-hover);
73
- }
74
-
75
- &:focus-visible {
76
- outline: var(--button-focus-outline-width) solid rgba(var(--#{$name}-rgb), 0.5);
77
- }
73
+ --button-color: var(--#{$name});
74
+ --button-color-hover: var(--#{$name}-hover);
75
+ --button-color-rgb: var(--#{$name}-rgb);
76
+ --button-on-color: var(--on-#{$name});
78
77
  }
78
+ }
79
79
 
80
- .btn-#{$name}-outline {
81
- color: var(--#{$name});
82
- fill: var(--#{$name});
83
- background-color: transparent;
84
- border-color: var(--#{$name});
85
-
86
- &:hover,
87
- &:active {
88
- color: var(--on-#{$name});
89
- background-color: var(--#{$name}-hover);
90
- border-color: var(--#{$name}-hover);
91
- }
92
-
93
- &:focus-visible {
94
- color: var(--on-#{$name});
95
- outline: 2px solid rgba(var(--#{$name}-rgb), 0.5);
96
- background-color: var(--#{$name});
97
- }
80
+ .btn-solid {
81
+ color: var(--button-on-color);
82
+ fill: var(--button-on-color);
83
+ background-color: var(--button-color);
84
+ border-color: var(--button-color);
85
+
86
+ &:hover,
87
+ &.active,
88
+ &:active {
89
+ background-color: var(--button-color-hover);
90
+ border-color: var(--button-color-hover);
98
91
  }
99
92
 
100
- .btn-#{$name}-text {
101
- --button-highlight: var(--highlight);
93
+ &:focus-visible {
94
+ outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
95
+ }
96
+ }
102
97
 
103
- color: var(--#{$name});
104
- fill: var(--#{$name});
98
+ .btn-outline {
99
+ color: var(--button-color);
100
+ fill: var(--button-color);
101
+ background-color: transparent;
102
+ border-color: var(--button-color);
103
+
104
+ &:hover,
105
+ &.active,
106
+ &:active {
107
+ color: var(--button-on-color);
108
+ fill: var(--button-on-color);
109
+ background-color: var(--button-color-hover);
110
+ border-color: var(--button-color-hover);
111
+ }
105
112
 
106
- &:hover,
107
- &:active {
108
- background-color: var(--button-highlight);
109
- }
113
+ &:focus-visible {
114
+ color: var(--button-on-color);
115
+ fill: var(--button-on-color);
116
+ outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
117
+ background-color: var(--button-color);
118
+ border-color: var(--button-color);
119
+ }
120
+ }
121
+
122
+ .btn-text {
123
+ --button-highlight: var(--highlight);
124
+
125
+ color: var(--button-color);
126
+ fill: var(--button-color);
127
+ background-color: transparent;
128
+ border-color: transparent;
110
129
 
111
- &:focus-visible {
112
- outline: 2px solid rgba(var(--#{$name}-rgb), 0.5);
113
- }
130
+ &:hover,
131
+ &.active,
132
+ &:active {
133
+ background-color: var(--button-highlight);
134
+ }
135
+
136
+ &:focus-visible {
137
+ outline: var(--button-focus-outline-width) var(--button-focus-outline-style) rgba(var(--button-color-rgb), 0.5);
114
138
  }
115
139
  }
116
140
 
@@ -73,6 +73,7 @@ $sizes: (
73
73
  }
74
74
 
75
75
  // sizes
76
+ // change to use css vars
76
77
  @each $name, $value in $sizes {
77
78
  .icon-btn-#{$name} {
78
79
  min-width: $value;
@@ -1,21 +1,24 @@
1
1
  @use 'sass:map';
2
2
  @use '../theme.scss';
3
3
 
4
+ @each $name, $value in map.get(theme.$theme, colors) {
5
+ .toast-#{$name} {
6
+ --toast-on-color: var(--on-#{$name});
7
+ --toast-color: var(--#{$name});
8
+ }
9
+ }
10
+
4
11
  .toast {
5
- background-color: white;
12
+ --toast-padding-y: 0.4rem;
13
+ --toast-padding-x: 0.9rem;
14
+
15
+ background-color: var(--toast-color);
6
16
  border-color: transparent;
7
- color: var(--font-color);
17
+ color: var(--toast-on-color, var(--font-color));
8
18
  box-shadow: var(--shadow);
9
- padding: 1rem;
19
+ padding: var(--toast-padding-y) var(--toast-padding-x);
10
20
  border-radius: var(--border-radius);
11
21
  display: flex;
12
22
  align-items: center;
13
23
  width: 100%;
14
24
  }
15
-
16
- @each $name, $value in map.get(theme.$theme, colors) {
17
- .toast-#{$name} {
18
- color: var(--on-#{$name});
19
- background-color: var(--#{$name});
20
- }
21
- }
@@ -58,6 +58,7 @@
58
58
 
59
59
  --container: 900px;
60
60
 
61
+ --transition-duration: 0.2s;
61
62
  --transition-color: color 0.4s, background-color 0.4s;
62
63
 
63
64
  --bg-opacity: 1;