ngx-strata 0.2.5 → 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 (59) 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 +66 -14
  5. package/assets/styles/components/badge.scss +134 -0
  6. package/assets/styles/components/button.scss +54 -9
  7. package/assets/styles/components/checkbox.scss +10 -2
  8. package/assets/styles/components/divider.scss +5 -3
  9. package/assets/styles/components/file-upload.scss +113 -0
  10. package/assets/styles/components/image-cropper.scss +201 -0
  11. package/assets/styles/components/input-field.scss +39 -9
  12. package/assets/styles/components/item.scss +1 -1
  13. package/assets/styles/components/modal.scss +106 -1
  14. package/assets/styles/components/notification.scss +30 -1
  15. package/assets/styles/components/otp.scss +132 -0
  16. package/assets/styles/components/pagination.scss +13 -3
  17. package/assets/styles/components/progress.scss +2 -2
  18. package/assets/styles/components/radio.scss +3 -2
  19. package/assets/styles/components/segmented-control.scss +43 -11
  20. package/assets/styles/components/select.scss +36 -7
  21. package/assets/styles/components/sidemenu.scss +56 -2
  22. package/assets/styles/components/slider.scss +30 -2
  23. package/assets/styles/components/stepper.scss +378 -0
  24. package/assets/styles/components/table.scss +1 -1
  25. package/assets/styles/components/tabs.scss +1 -1
  26. package/assets/styles/components/toggle.scss +1 -0
  27. package/assets/styles/components/tooltip.scss +9 -6
  28. package/assets/styles/public-api.scss +6 -1
  29. package/assets/styles/semantics/color-semantic.scss +38 -0
  30. package/dist/strata/strata.css +1 -1
  31. package/fesm2022/ngx-strata-src-lib-testing.mjs +33 -0
  32. package/fesm2022/ngx-strata-src-lib-testing.mjs.map +1 -0
  33. package/fesm2022/ngx-strata.mjs +2904 -1228
  34. package/fesm2022/ngx-strata.mjs.map +1 -1
  35. package/package.json +5 -1
  36. package/skills/ngx-strata/SKILL.md +44 -18
  37. package/skills/ngx-strata/components/accordion.md +9 -7
  38. package/skills/ngx-strata/components/action-menu.md +14 -3
  39. package/skills/ngx-strata/components/avatar.md +22 -10
  40. package/skills/ngx-strata/components/badge.md +54 -0
  41. package/skills/ngx-strata/components/checkbox.md +32 -5
  42. package/skills/ngx-strata/components/file-upload.md +50 -0
  43. package/skills/ngx-strata/components/icon.md +12 -7
  44. package/skills/ngx-strata/components/image-cropper.md +83 -0
  45. package/skills/ngx-strata/components/item.md +4 -3
  46. package/skills/ngx-strata/components/modal.md +180 -31
  47. package/skills/ngx-strata/components/notification.md +50 -14
  48. package/skills/ngx-strata/components/otp.md +68 -0
  49. package/skills/ngx-strata/components/pagination.md +6 -3
  50. package/skills/ngx-strata/components/radio.md +30 -10
  51. package/skills/ngx-strata/components/segmented-control.md +40 -19
  52. package/skills/ngx-strata/components/sidemenu.md +27 -6
  53. package/skills/ngx-strata/components/single-select.md +47 -15
  54. package/skills/ngx-strata/components/slider.md +35 -6
  55. package/skills/ngx-strata/components/stepper.md +64 -0
  56. package/skills/ngx-strata/components/testing.md +33 -0
  57. package/skills/ngx-strata/components/toggle.md +29 -5
  58. package/types/ngx-strata-src-lib-testing.d.ts +21 -0
  59. package/types/ngx-strata.d.ts +753 -371
@@ -0,0 +1,201 @@
1
+ st-image-cropper {
2
+ --st-image-cropper-bg: var(--st-color-bg-default);
3
+ --st-image-cropper-border: var(--st-color-border-default);
4
+ --st-image-cropper-mask-border: var(--st-color-accent-default);
5
+ --st-image-cropper-mask-backdrop: rgba(0, 0, 0, 0.55);
6
+ --st-image-cropper-radius: 8px;
7
+
8
+ display: block;
9
+ box-sizing: border-box;
10
+ background-color: var(--st-image-cropper-bg);
11
+ border: 1px solid var(--st-image-cropper-border);
12
+ border-radius: var(--st-image-cropper-radius);
13
+ overflow: hidden;
14
+
15
+ &.st-disabled {
16
+ opacity: 0.6;
17
+ pointer-events: none;
18
+ }
19
+
20
+ .st-cropper-empty-state {
21
+ padding: var(--st-space-6) var(--st-space-4);
22
+ }
23
+
24
+ .st-cropper-empty-placeholder {
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ justify-content: center;
29
+ gap: var(--st-space-3);
30
+ padding: var(--st-space-8) var(--st-space-4);
31
+ color: var(--st-color-text-secondary);
32
+ font-size: 0.9rem;
33
+
34
+ .st-cropper-placeholder-icon {
35
+ width: 40px;
36
+ height: 40px;
37
+ opacity: 0.6;
38
+ }
39
+ }
40
+
41
+ .st-cropper-workspace {
42
+ display: flex;
43
+ flex-direction: column;
44
+ align-items: center;
45
+ width: 100%;
46
+ }
47
+
48
+ .st-cropper-viewport {
49
+ position: relative;
50
+ width: 100%;
51
+ background-color: #111418;
52
+ overflow: hidden;
53
+ display: flex;
54
+ flex-direction: column;
55
+ }
56
+
57
+ .st-cropper-stage {
58
+ position: relative;
59
+ width: 100%;
60
+ height: calc(var(--st-cropper-mask-size, 240px) + var(--st-space-10));
61
+ min-height: 280px;
62
+ overflow: hidden;
63
+ cursor: grab;
64
+ user-select: none;
65
+ touch-action: none;
66
+ display: flex;
67
+ align-items: center;
68
+ justify-content: center;
69
+
70
+ .st-is-dragging & {
71
+ cursor: grabbing;
72
+ }
73
+ }
74
+
75
+ .st-cropper-image-layer {
76
+ position: absolute;
77
+ inset: 0;
78
+ overflow: hidden;
79
+ }
80
+
81
+ .st-cropper-image {
82
+ position: absolute;
83
+ left: 50%;
84
+ top: 50%;
85
+ transform-origin: center center;
86
+ max-width: none;
87
+ max-height: none;
88
+ pointer-events: none;
89
+ user-select: none;
90
+ will-change: transform;
91
+ }
92
+
93
+ .st-cropper-mask {
94
+ position: absolute;
95
+ left: 50%;
96
+ top: 50%;
97
+ width: var(--st-cropper-mask-size, 240px);
98
+ height: var(--st-cropper-mask-size, 240px);
99
+ transform: translate(-50%, -50%);
100
+ pointer-events: none;
101
+ box-shadow: 0 0 0 9999px var(--st-image-cropper-mask-backdrop);
102
+ border: 2px solid var(--st-image-cropper-mask-border);
103
+ box-sizing: border-box;
104
+
105
+ &.st-crop-shape-circle {
106
+ border-radius: 50%;
107
+ }
108
+
109
+ &.st-crop-shape-square {
110
+ border-radius: 4px;
111
+ }
112
+ }
113
+
114
+ .st-cropper-floating-close {
115
+ position: absolute;
116
+ top: var(--st-space-3);
117
+ right: var(--st-space-3);
118
+ z-index: 20;
119
+ display: inline-flex;
120
+ align-items: center;
121
+ justify-content: center;
122
+ width: 30px;
123
+ height: 30px;
124
+ padding: 0;
125
+ border-radius: 50%;
126
+ background-color: var(--st-color-feedback-error-bg, #ef4444);
127
+ border: none;
128
+ color: #ffffff;
129
+ cursor: pointer;
130
+ transition: background-color 0.15s ease, transform 0.15s ease;
131
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
132
+
133
+ svg {
134
+ width: 16px;
135
+ height: 16px;
136
+ }
137
+
138
+ &:hover:not(:disabled) {
139
+ background-color: #dc2626;
140
+ transform: scale(1.1);
141
+ }
142
+
143
+ &:disabled {
144
+ opacity: 0.4;
145
+ cursor: not-allowed;
146
+ }
147
+ }
148
+
149
+ .st-cropper-overlay-controls {
150
+ position: relative;
151
+ width: 100%;
152
+ z-index: 10;
153
+ display: flex;
154
+ flex-direction: column;
155
+ gap: var(--st-space-2);
156
+ padding: var(--st-space-2) var(--st-space-4) var(--st-space-3);
157
+ box-sizing: border-box;
158
+ background-color: #111418;
159
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
160
+ }
161
+
162
+ .st-cropper-buttons-row {
163
+ display: flex;
164
+ align-items: center;
165
+ justify-content: space-between;
166
+ gap: var(--st-space-2);
167
+ width: 100%;
168
+ }
169
+
170
+ .st-cropper-align-group {
171
+ display: flex;
172
+ align-items: center;
173
+ gap: var(--st-space-2);
174
+ margin-left: auto;
175
+ }
176
+
177
+ .st-cropper-slider-row {
178
+ display: flex;
179
+ align-items: center;
180
+ width: 100%;
181
+ }
182
+
183
+ .st-cropper-slider {
184
+ flex: 1;
185
+ width: 100%;
186
+ }
187
+
188
+ .st-cropper-icon-btn {
189
+ display: inline-flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ width: 32px;
193
+ height: 32px;
194
+ padding: 0;
195
+
196
+ svg {
197
+ width: 16px;
198
+ height: 16px;
199
+ }
200
+ }
201
+ }
@@ -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);
@@ -58,7 +87,7 @@ st-notification-container {
58
87
  left: 0;
59
88
  overflow: hidden;
60
89
  display: flex;
61
- z-index: 190;
90
+ z-index: 1100;
62
91
  pointer-events: none;
63
92
  gap: var(--st-size-xs);
64
93
 
@@ -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 {