ngx-strata 0.3.0 → 0.4.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.
Files changed (49) hide show
  1. package/assets/icons/check.svg +1 -0
  2. package/assets/styles/components/accordion.scss +12 -1
  3. package/assets/styles/components/action-menu.scss +1 -1
  4. package/assets/styles/components/avatar.scss +48 -9
  5. package/assets/styles/components/badge.scss +134 -0
  6. package/assets/styles/components/button.scss +45 -0
  7. package/assets/styles/components/checkbox.scss +10 -2
  8. package/assets/styles/components/file-upload.scss +113 -0
  9. package/assets/styles/components/image-cropper.scss +201 -0
  10. package/assets/styles/components/input-field.scss +39 -9
  11. package/assets/styles/components/item.scss +1 -1
  12. package/assets/styles/components/modal.scss +106 -1
  13. package/assets/styles/components/notification.scss +29 -0
  14. package/assets/styles/components/otp.scss +132 -0
  15. package/assets/styles/components/pagination.scss +13 -3
  16. package/assets/styles/components/progress.scss +2 -2
  17. package/assets/styles/components/radio.scss +3 -2
  18. package/assets/styles/components/segmented-control.scss +43 -11
  19. package/assets/styles/components/select.scss +29 -6
  20. package/assets/styles/components/slider.scss +30 -2
  21. package/assets/styles/components/stepper.scss +378 -0
  22. package/assets/styles/components/table.scss +1 -1
  23. package/assets/styles/components/tabs.scss +1 -1
  24. package/assets/styles/components/toggle.scss +1 -0
  25. package/assets/styles/components/tooltip.scss +9 -6
  26. package/assets/styles/public-api.scss +6 -1
  27. package/dist/strata/strata.css +1 -1
  28. package/fesm2022/ngx-strata.mjs +3058 -1455
  29. package/fesm2022/ngx-strata.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/skills/ngx-strata/SKILL.md +43 -18
  32. package/skills/ngx-strata/components/accordion.md +9 -7
  33. package/skills/ngx-strata/components/avatar.md +22 -10
  34. package/skills/ngx-strata/components/badge.md +54 -0
  35. package/skills/ngx-strata/components/checkbox.md +30 -5
  36. package/skills/ngx-strata/components/file-upload.md +50 -0
  37. package/skills/ngx-strata/components/icon.md +12 -7
  38. package/skills/ngx-strata/components/image-cropper.md +83 -0
  39. package/skills/ngx-strata/components/modal.md +180 -31
  40. package/skills/ngx-strata/components/notification.md +50 -14
  41. package/skills/ngx-strata/components/otp.md +68 -0
  42. package/skills/ngx-strata/components/pagination.md +6 -3
  43. package/skills/ngx-strata/components/radio.md +30 -10
  44. package/skills/ngx-strata/components/segmented-control.md +40 -19
  45. package/skills/ngx-strata/components/single-select.md +47 -15
  46. package/skills/ngx-strata/components/slider.md +35 -6
  47. package/skills/ngx-strata/components/stepper.md +64 -0
  48. package/skills/ngx-strata/components/toggle.md +27 -6
  49. package/types/ngx-strata.d.ts +707 -338
@@ -1,19 +1,41 @@
1
1
  st-input-field {
2
- --st-input-field-bg-color: var(--st-bg-light);
2
+ --st-input-field-bg-color: var(--st-color-bg-raised);
3
3
  --st-input-field-bg-hover-color: var(--st-color-bg-raised);
4
-
5
4
  --st-input-field-text-color: var(--st-color-text-primary);
5
+ --st-input-field-height: var(--st-interactive-element-height-md);
6
+ --st-input-field-font-size: 14px;
7
+ --st-input-field-padding-x: var(--st-size-xs);
6
8
 
7
9
  display: flex;
8
10
  flex-direction: column;
9
11
  box-sizing: border-box;
10
- min-height: 40px;
12
+
13
+ &.st-size-sm {
14
+ --st-input-field-height: var(--st-interactive-element-height-sm);
15
+ --st-input-field-font-size: 12px;
16
+ --st-input-field-padding-x: var(--st-size-xxs);
17
+ }
18
+
19
+ &.st-size-md {
20
+ --st-input-field-height: var(--st-interactive-element-height-md);
21
+ --st-input-field-font-size: 14px;
22
+ --st-input-field-padding-x: var(--st-size-xs);
23
+ }
24
+
25
+ &.st-size-lg {
26
+ --st-input-field-height: var(--st-interactive-element-height-lg);
27
+ --st-input-field-font-size: 16px;
28
+ --st-input-field-padding-x: var(--st-size-xs);
29
+ }
11
30
 
12
31
  .st-input-wrapper {
13
- font-size: 1rem;
32
+ font-size: var(--st-input-field-font-size);
14
33
  display: flex;
15
34
  flex-direction: row;
35
+ align-items: center;
16
36
  box-sizing: border-box;
37
+ height: var(--st-input-field-height);
38
+ min-height: var(--st-input-field-height);
17
39
  background-color: var(--st-input-field-bg-color);
18
40
  border: 1px solid var(--st-border-muted);
19
41
  border-radius: var(--st-border-radius-sm);
@@ -25,6 +47,9 @@ st-input-field {
25
47
  &:hover:not(:has(.affix:hover)) {
26
48
  background-color: var(--st-input-field-bg-hover-color);
27
49
  }
50
+ &:has(textarea) {
51
+ height: auto;
52
+ }
28
53
  }
29
54
 
30
55
  .affix {
@@ -32,7 +57,8 @@ st-input-field {
32
57
  display: flex;
33
58
  justify-items: center;
34
59
  align-items: center;
35
- padding: 8px;
60
+ padding-left: var(--st-input-field-padding-x);
61
+ padding-right: var(--st-input-field-padding-x);
36
62
  color: var(--st-color-text-tertiary);
37
63
 
38
64
  &:empty {
@@ -52,9 +78,10 @@ st-input-field {
52
78
  border: none;
53
79
  background: none;
54
80
  width: 100%;
55
- padding: 8px;
56
- min-height: 38px;
81
+ padding: var(--st-size-xxs) var(--st-input-field-padding-x);
82
+ min-height: calc(var(--st-input-field-height) - 2px);
57
83
  color: var(--st-input-field-text-color);
84
+ font-size: inherit;
58
85
  resize: none;
59
86
  &:focus-visible {
60
87
  outline: none;
@@ -65,11 +92,14 @@ st-input-field {
65
92
  border: none;
66
93
  background: none;
67
94
  width: 100%;
68
- padding: 8px;
95
+ padding-left: var(--st-input-field-padding-x);
96
+ padding-right: var(--st-input-field-padding-x);
69
97
  color: var(--st-input-field-text-color);
70
- height: 40px;
98
+ font-size: inherit;
99
+ height: 100%;
71
100
  &:focus-visible {
72
101
  outline: none;
73
102
  }
74
103
  }
75
104
  }
105
+
@@ -14,7 +14,7 @@ st-item {
14
14
  &.interactable {
15
15
  &:hover,
16
16
  &:focus-visible {
17
- background-color: var(--st-bg-light);
17
+ background-color: var(--st-color-control-bg-hover);
18
18
  cursor: pointer;
19
19
  }
20
20
  }
@@ -45,8 +45,56 @@ st-modal-header {
45
45
 
46
46
  }
47
47
 
48
+ st-modal-footer {
49
+ --st-modal-footer-bg: var(--st-modal-bg-color, var(--st-color-bg-default));
50
+ --st-modal-footer-border-color: var(--st-border);
51
+ --st-modal-footer-padding: var(--st-size-xs) var(--st-size-sm);
52
+ --st-modal-footer-gap: var(--st-size-xs);
53
+
54
+ display: flex;
55
+ flex-direction: row;
56
+ align-items: center;
57
+ gap: var(--st-modal-footer-gap);
58
+ padding: var(--st-modal-footer-padding);
59
+ border-top: 1px solid var(--st-modal-footer-border-color);
60
+ background-color: var(--st-modal-footer-bg);
61
+ position: sticky;
62
+ bottom: 0;
63
+ z-index: 5;
64
+ margin-top: var(--st-size-sm);
65
+ margin-left: calc(-1 * var(--st-size-sm));
66
+ margin-right: calc(-1 * var(--st-size-sm));
67
+ border-bottom-left-radius: var(--st-modal-border-radius);
68
+ border-bottom-right-radius: var(--st-modal-border-radius);
69
+
70
+ &[justification="end"],
71
+ &.st-modal-footer-end {
72
+ justify-content: flex-end;
73
+ }
74
+
75
+ &[justification="start"],
76
+ &.st-modal-footer-start {
77
+ justify-content: flex-start;
78
+ }
79
+
80
+ &[justification="center"],
81
+ &.st-modal-footer-center {
82
+ justify-content: center;
83
+ }
84
+
85
+ &[justification="space-between"],
86
+ &.st-modal-footer-space-between {
87
+ justify-content: space-between;
88
+ }
89
+
90
+ st-button-group {
91
+ flex: 1;
92
+ min-width: 0;
93
+ }
94
+ }
95
+
48
96
  st-modal {
49
- --st-modal-bg-color: var(--st-color-bg-raised);
97
+ --st-modal-bg-color: var(--st-color-bg-default);
50
98
 
51
99
  --st-modal-border-radius: var(--st-border-radius-sm);
52
100
  --st-modal-padding: var(--st-size-md);
@@ -77,6 +125,10 @@ st-modal {
77
125
  overflow-y: auto;
78
126
  flex: 1;
79
127
  min-height: 0;
128
+
129
+ &:has(st-modal-footer) {
130
+ padding-bottom: 0;
131
+ }
80
132
  }
81
133
 
82
134
  &.st-modal-size-xs {
@@ -95,9 +147,62 @@ st-modal {
95
147
  --st-modal-max-width: 1420px;
96
148
  }
97
149
 
150
+ &.st-modal-variant-default {
151
+ --st-modal-bg-color: var(--st-color-bg-default);
152
+ }
153
+
154
+ &.st-modal-variant-raised {
155
+ --st-modal-bg-color: var(--st-color-bg-raised);
156
+ }
157
+
98
158
  &.hidden-under-other-modal {
99
159
  filter: var(--st-modal-covered-modal-filter);
100
160
  }
161
+
162
+ @media (max-width: 767.98px) {
163
+ &:not(.st-modal-size-xs):not(.st-modal-size-sm) {
164
+ --st-modal-viewport-margin: 0px;
165
+ --st-modal-border-radius: 0px;
166
+ --st-modal-max-width: 100%;
167
+ --st-modal-width: 100%;
168
+
169
+ position: fixed;
170
+ top: 0;
171
+ left: 0;
172
+ right: 0;
173
+ bottom: 0;
174
+ width: 100% !important;
175
+ height: 100% !important;
176
+ height: 100dvh !important;
177
+ max-width: 100% !important;
178
+ max-height: 100% !important;
179
+ max-height: 100dvh !important;
180
+ border: none !important;
181
+ border-radius: 0 !important;
182
+ box-shadow: none !important;
183
+ margin: 0 !important;
184
+
185
+ .modal-content {
186
+ display: flex;
187
+ flex-direction: column;
188
+ flex: 1;
189
+ min-height: 0;
190
+
191
+ > * {
192
+ display: flex;
193
+ flex-direction: column;
194
+ flex: 1;
195
+ min-height: 0;
196
+ }
197
+
198
+ st-modal-footer {
199
+ margin-top: auto;
200
+ border-bottom-left-radius: 0;
201
+ border-bottom-right-radius: 0;
202
+ }
203
+ }
204
+ }
205
+ }
101
206
  }
102
207
 
103
208
  st-modal-container {
@@ -15,6 +15,35 @@ st-notification {
15
15
  border-radius: 4px;
16
16
  gap: 8px;
17
17
  font-size: 16px;
18
+ pointer-events: auto;
19
+
20
+ .notification-message {
21
+ flex: 1;
22
+ }
23
+
24
+ .notification-close-btn {
25
+ display: inline-flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ background: none;
29
+ border: none;
30
+ padding: 0;
31
+ margin-left: auto;
32
+ color: inherit;
33
+ opacity: 0.7;
34
+ cursor: pointer;
35
+ border-radius: var(--st-border-radius-xs, 2px);
36
+ transition: opacity 0.15s ease;
37
+
38
+ &:hover {
39
+ opacity: 1;
40
+ }
41
+
42
+ &:focus-visible {
43
+ outline: 2px solid currentColor;
44
+ outline-offset: 2px;
45
+ }
46
+ }
18
47
 
19
48
  &.st-theme-brand {
20
49
  --st-notification-background-color: var(--st-color-blue-50);
@@ -0,0 +1,132 @@
1
+ st-otp {
2
+ --st-otp-slot-size: 44px;
3
+ --st-otp-slot-gap: var(--st-size-xxs);
4
+ --st-otp-slot-bg: var(--st-color-input-default);
5
+ --st-otp-slot-bg-hover: var(--st-color-input-hover);
6
+ --st-otp-slot-border-color: var(--st-color-border-default);
7
+ --st-otp-slot-border-radius: var(--st-border-radius-md);
8
+ --st-otp-slot-text-color: var(--st-color-text-primary);
9
+ --st-otp-slot-font-size: 20px;
10
+ --st-otp-slot-font-weight: 600;
11
+
12
+ display: inline-flex;
13
+ flex-direction: column;
14
+ box-sizing: border-box;
15
+
16
+ &.st-size-sm {
17
+ --st-otp-slot-size: 34px;
18
+ --st-otp-slot-font-size: 16px;
19
+ --st-otp-slot-gap: var(--st-size-xxxxs);
20
+ --st-otp-slot-border-radius: var(--st-border-radius-sm);
21
+ }
22
+
23
+ &.st-size-md {
24
+ --st-otp-slot-size: 44px;
25
+ --st-otp-slot-font-size: 20px;
26
+ --st-otp-slot-gap: var(--st-size-xxs);
27
+ --st-otp-slot-border-radius: var(--st-border-radius-md);
28
+ }
29
+
30
+ &.st-size-lg {
31
+ --st-otp-slot-size: 54px;
32
+ --st-otp-slot-font-size: 24px;
33
+ --st-otp-slot-gap: var(--st-size-xs);
34
+ --st-otp-slot-border-radius: var(--st-border-radius-md);
35
+ }
36
+
37
+ &.st-state-error {
38
+ --st-otp-slot-border-color: var(--st-color-feedback-error-default);
39
+ --st-otp-slot-bg: var(--st-color-feedback-error-subtle);
40
+ }
41
+
42
+ &.st-state-success {
43
+ --st-otp-slot-border-color: var(--st-color-feedback-success-default);
44
+ --st-otp-slot-bg: var(--st-color-feedback-success-subtle);
45
+ }
46
+
47
+ &.st-state-loading {
48
+ .st-otp-input {
49
+ opacity: 0.35;
50
+ }
51
+ }
52
+
53
+ &.st-disabled {
54
+ --st-otp-slot-bg: var(--st-color-bg-disabled);
55
+ --st-otp-slot-text-color: var(--st-color-text-disabled);
56
+ cursor: not-allowed;
57
+ opacity: 0.6;
58
+ }
59
+
60
+ .st-otp-container {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: var(--st-otp-slot-gap);
64
+ position: relative;
65
+ }
66
+
67
+ .st-otp-input {
68
+ width: var(--st-otp-slot-size);
69
+ height: var(--st-otp-slot-size);
70
+ background-color: var(--st-otp-slot-bg);
71
+ border: 1px solid var(--st-otp-slot-border-color);
72
+ border-radius: var(--st-otp-slot-border-radius);
73
+ color: var(--st-otp-slot-text-color);
74
+ font-size: var(--st-otp-slot-font-size);
75
+ font-weight: var(--st-otp-slot-font-weight);
76
+ text-align: center;
77
+ box-sizing: border-box;
78
+ padding: 0;
79
+ margin: 0;
80
+ transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
81
+ font-variant-numeric: tabular-nums;
82
+ outline: none;
83
+
84
+ &:hover:not(:disabled) {
85
+ background-color: var(--st-otp-slot-bg-hover);
86
+ }
87
+
88
+ &:focus-visible {
89
+ outline: var(--st-focus-ring-width) var(--st-focus-ring-style) var(--st-focus-ring-color);
90
+ outline-offset: var(--st-focus-ring-offset);
91
+ border-color: var(--st-color-accent-default);
92
+ }
93
+
94
+ &:disabled {
95
+ cursor: not-allowed;
96
+ }
97
+ }
98
+
99
+ &.st-state-error .st-otp-input:focus-visible {
100
+ outline-color: var(--st-color-feedback-error-default);
101
+ border-color: var(--st-color-feedback-error-default);
102
+ }
103
+
104
+ &.st-state-success .st-otp-input:focus-visible {
105
+ outline-color: var(--st-color-feedback-success-default);
106
+ border-color: var(--st-color-feedback-success-default);
107
+ }
108
+
109
+ .st-otp-loading-overlay {
110
+ position: absolute;
111
+ inset: 0;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ pointer-events: none;
116
+ z-index: 1;
117
+ }
118
+
119
+ .st-otp-message {
120
+ margin-top: var(--st-size-xxs);
121
+ font-size: var(--st-font-sm, 12px);
122
+ color: var(--st-color-text-secondary);
123
+
124
+ &.st-message-error {
125
+ color: var(--st-color-feedback-error-text);
126
+ }
127
+
128
+ &.st-message-success {
129
+ color: var(--st-color-feedback-success-text);
130
+ }
131
+ }
132
+ }
@@ -15,13 +15,13 @@ st-pagination {
15
15
  font-size: var(--st-font-sm);
16
16
 
17
17
  &.clickable:not(.selected):not(:disabled):hover {
18
- background-color: var(--st-bg-light);
18
+ background-color: var(--st-color-control-bg-hover);
19
19
  cursor: pointer;
20
20
  }
21
21
 
22
22
  &.selected {
23
- background-color: var(--st-bg-contrast);
24
- color: var(--st-text-contrast);
23
+ background-color: var(--st-color-control-primary-bg);
24
+ color: var(--st-color-control-primary-text);
25
25
  cursor: default;
26
26
  }
27
27
 
@@ -33,4 +33,14 @@ st-pagination {
33
33
  }
34
34
  }
35
35
  }
36
+
37
+ .pagination-ellipsis {
38
+ display: inline-flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ padding: var(--st-size-xxs) var(--st-size-xs);
42
+ color: var(--st-color-text-secondary);
43
+ font-size: var(--st-font-sm);
44
+ user-select: none;
45
+ }
36
46
  }
@@ -63,7 +63,7 @@ st-progress-linear, st-progress-radial {
63
63
  position: relative;
64
64
  width: 100%;
65
65
  height: var(--st-size-xxs);
66
- background: var(--st-bg-light);
66
+ background: var(--st-color-bg-default);
67
67
  border-radius: var(--st-border-radius-sm);
68
68
  overflow: hidden;
69
69
  }
@@ -111,7 +111,7 @@ st-progress-linear, st-progress-radial {
111
111
  }
112
112
 
113
113
  .background {
114
- stroke: var(--st-bg-light);
114
+ stroke: var(--st-color-bg-default);
115
115
  stroke-width: var(--st-progress-radial-stroke-width);
116
116
  }
117
117
 
@@ -10,8 +10,9 @@ st-radio {
10
10
 
11
11
 
12
12
  user-select: none;
13
- display: flex;
13
+ display: inline-flex;
14
14
  align-items: center;
15
+ min-height: var(--st-interactive-element-height-md);
15
16
  gap: var(--st-size-xxs);
16
17
 
17
18
  input {
@@ -87,7 +88,7 @@ st-radio {
87
88
  cursor: pointer;
88
89
 
89
90
  .radio-visual {
90
- background-color: var(--st-bg-light);
91
+ background-color: var(--st-color-bg-raised);
91
92
  }
92
93
 
93
94
  input:checked + .radio-visual {
@@ -1,4 +1,9 @@
1
1
  st-segmented-control {
2
+ --st-segmented-control-height: var(--st-interactive-element-height-md);
3
+ --st-segmented-control-item-height: calc(var(--st-segmented-control-height) - 8px);
4
+ --st-segmented-control-font-size: 14px;
5
+ --st-segmented-control-padding-x: var(--st-size-xxs);
6
+
2
7
  display: inline-flex;
3
8
  flex-direction: row;
4
9
  flex-wrap: nowrap;
@@ -9,10 +14,37 @@ st-segmented-control {
9
14
  position: relative;
10
15
  border-radius: var(--st-border-radius-sm);
11
16
  box-sizing: border-box;
12
- background-color: var(--st-bg-light);
13
- height: var(--st-space-10);
14
- padding: var(--st-space-1);
15
- gap: var(--st-space-1);
17
+ background-color: var(--st-color-bg-raised);
18
+ height: var(--st-segmented-control-height);
19
+ padding: 4px;
20
+ gap: 4px;
21
+
22
+ &.st-size-sm {
23
+ --st-segmented-control-height: var(--st-interactive-element-height-sm);
24
+ --st-segmented-control-item-height: calc(var(--st-segmented-control-height) - 4px);
25
+ --st-segmented-control-font-size: 12px;
26
+ --st-segmented-control-padding-x: var(--st-size-xxxs);
27
+ padding: 2px;
28
+ gap: 2px;
29
+ }
30
+
31
+ &.st-size-md {
32
+ --st-segmented-control-height: var(--st-interactive-element-height-md);
33
+ --st-segmented-control-item-height: calc(var(--st-segmented-control-height) - 8px);
34
+ --st-segmented-control-font-size: 14px;
35
+ --st-segmented-control-padding-x: var(--st-size-xxs);
36
+ padding: 4px;
37
+ gap: 4px;
38
+ }
39
+
40
+ &.st-size-lg {
41
+ --st-segmented-control-height: var(--st-interactive-element-height-lg);
42
+ --st-segmented-control-item-height: calc(var(--st-segmented-control-height) - 8px);
43
+ --st-segmented-control-font-size: 16px;
44
+ --st-segmented-control-padding-x: var(--st-size-xs);
45
+ padding: 4px;
46
+ gap: 4px;
47
+ }
16
48
 
17
49
  /* Hide scrollbar */
18
50
  -ms-overflow-style: none;
@@ -48,8 +80,8 @@ st-segmented-control {
48
80
 
49
81
  &:hover:not([disabled]) {
50
82
  cursor: pointer;
51
- background-color: var(--st-bg-contrast-dark);
52
- color: var(--st-text-contrast);
83
+ background-color: var(--st-color-control-bg-hover);
84
+ color: var(--st-color-text-primary);
53
85
  }
54
86
  }
55
87
 
@@ -58,10 +90,10 @@ st-segmented-control {
58
90
  display: flex;
59
91
  align-items: center;
60
92
  justify-content: center;
61
- height: var(--st-space-8);
62
- padding: 0 var(--st-space-8);
93
+ height: var(--st-segmented-control-item-height);
94
+ padding: 0 var(--st-segmented-control-padding-x);
63
95
  border-radius: var(--st-border-radius-sm);
64
- font-size: 16px;
96
+ font-size: var(--st-segmented-control-font-size);
65
97
  font-weight: 500;
66
98
  user-select: none;
67
99
  }
@@ -71,8 +103,8 @@ st-segmented-control {
71
103
  position: absolute;
72
104
  top: 0;
73
105
  left: 0;
74
- background-color: var(--st-bg-contrast-light);
75
- color: var(--st-text-contrast);
106
+ background-color: var(--st-color-control-primary-bg);
107
+ color: var(--st-color-control-primary-text);
76
108
  text-wrap: nowrap;
77
109
  transition:
78
110
  0.15s ease-in left,
@@ -1,16 +1,39 @@
1
1
  st-single-select {
2
+ --st-select-height: var(--st-interactive-element-height-md);
3
+ --st-select-font-size: 14px;
4
+ --st-select-padding-x: var(--st-size-xs);
5
+
2
6
  display: flex;
3
7
  flex-direction: column;
4
8
  width: 100%;
5
9
 
10
+ &.st-size-sm {
11
+ --st-select-height: var(--st-interactive-element-height-sm);
12
+ --st-select-font-size: 12px;
13
+ --st-select-padding-x: var(--st-size-xxs);
14
+ }
15
+
16
+ &.st-size-md {
17
+ --st-select-height: var(--st-interactive-element-height-md);
18
+ --st-select-font-size: 14px;
19
+ --st-select-padding-x: var(--st-size-xs);
20
+ }
21
+
22
+ &.st-size-lg {
23
+ --st-select-height: var(--st-interactive-element-height-lg);
24
+ --st-select-font-size: 16px;
25
+ --st-select-padding-x: var(--st-size-xs);
26
+ }
27
+
6
28
  label {
7
29
  margin-bottom: var(--st-space-2);
8
30
  }
9
31
 
10
32
  .single-select-input {
11
- height: var(--st-interactive-element-height-md);
12
- padding-left: var(--st-size-xs);
13
- padding-right: var(--st-size-xs);
33
+ height: var(--st-select-height);
34
+ font-size: var(--st-select-font-size);
35
+ padding-left: var(--st-select-padding-x);
36
+ padding-right: var(--st-select-padding-x);
14
37
  border: 1px solid var(--st-border);
15
38
  border-radius: var(--st-border-radius-sm);
16
39
  min-width: 128px;
@@ -43,7 +66,7 @@ st-single-select {
43
66
  }
44
67
 
45
68
  &:hover:not(.disabled) {
46
- background-color: var(--st-bg-light);
69
+ background-color: var(--st-color-bg-default);
47
70
  }
48
71
 
49
72
  &:has(.single-select-selector:hover) {
@@ -78,7 +101,7 @@ st-single-select {
78
101
  }
79
102
 
80
103
  .single-select-item:hover {
81
- background-color: var(--st-bg-light);
104
+ background-color: var(--st-color-control-bg-hover, var(--st-color-bg-default));
82
105
  }
83
106
  }
84
107
  }
@@ -114,7 +137,7 @@ st-single-select {
114
137
  }
115
138
 
116
139
  .single-select-item:hover {
117
- background-color: var(--st-bg-light);
140
+ background-color: var(--st-color-control-bg-hover, var(--st-color-bg-default));
118
141
  }
119
142
  }
120
143
 
@@ -1,12 +1,40 @@
1
1
  st-slider {
2
2
  --st-slider-track-height: var(--st-size-xxs);
3
- --st-slider-track-color: var(--st-bg-light);
3
+ --st-slider-track-color: var(--st-color-bg-raised);
4
4
  --st-slider-thumb-size: var(--st-size-sm);
5
- --st-slider-thumb-color: var(--st-bg-contrast);
5
+ --st-slider-thumb-color: var(--st-color-text-primary);
6
6
  --st-slider-tick-color: var(--st-border);
7
7
  --st-slider-tick-width: 1px;
8
8
  width: 100%;
9
9
  height: var(--st-slider-thumb-size);
10
+ display: block;
11
+
12
+ &.st-disabled,
13
+ &[aria-disabled='true'] {
14
+ cursor: not-allowed;
15
+ opacity: 0.45;
16
+
17
+ .range-wrapper input[type='range']::-webkit-slider-runnable-track {
18
+ background-color: var(--st-color-bg-disabled, var(--st-slider-track-color));
19
+ }
20
+
21
+ .range-wrapper input[type='range']::-moz-range-track {
22
+ background-color: var(--st-color-bg-disabled, var(--st-slider-track-color));
23
+ }
24
+
25
+ input[type='range']::-webkit-slider-thumb {
26
+ background-color: var(--st-color-text-disabled, var(--st-slider-thumb-color));
27
+ }
28
+
29
+ input[type='range']::-moz-range-thumb {
30
+ background-color: var(--st-color-text-disabled, var(--st-slider-thumb-color));
31
+ }
32
+
33
+ .range-wrapper,
34
+ input[type='range'] {
35
+ cursor: not-allowed;
36
+ }
37
+ }
10
38
 
11
39
  /* slider track */
12
40
  .range-wrapper input[type='range']::-webkit-slider-runnable-track {