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
@@ -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;
@@ -36,8 +59,14 @@ st-single-select {
36
59
  height: var(--st-icon-size-sm);
37
60
  }
38
61
 
39
- &:hover {
40
- background-color: var(--st-bg-light);
62
+ &.disabled {
63
+ opacity: 0.5;
64
+ pointer-events: none;
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ &:hover:not(.disabled) {
69
+ background-color: var(--st-color-bg-default);
41
70
  }
42
71
 
43
72
  &:has(.single-select-selector:hover) {
@@ -72,7 +101,7 @@ st-single-select {
72
101
  }
73
102
 
74
103
  .single-select-item:hover {
75
- background-color: var(--st-bg-light);
104
+ background-color: var(--st-color-control-bg-hover, var(--st-color-bg-default));
76
105
  }
77
106
  }
78
107
  }
@@ -108,7 +137,7 @@ st-single-select {
108
137
  }
109
138
 
110
139
  .single-select-item:hover {
111
- background-color: var(--st-bg-light);
140
+ background-color: var(--st-color-control-bg-hover, var(--st-color-bg-default));
112
141
  }
113
142
  }
114
143
 
@@ -12,6 +12,9 @@ st-sidemenu {
12
12
  --st-sidemenu-item-padding: 6px var(--st-size-xs, 12px);
13
13
  --st-sidemenu-item-font-size: var(--st-font-sm, 14px);
14
14
  --st-sidemenu-item-font-weight: 500;
15
+ --st-sidemenu-item-visual-width: 20px;
16
+ --st-sidemenu-item-icon-size: var(--st-icon-size-sm, 16px);
17
+ --st-sidemenu-item-avatar-size: 20px;
15
18
 
16
19
  display: flex;
17
20
  align-items: center;
@@ -53,10 +56,61 @@ st-sidemenu {
53
56
  margin-left: auto;
54
57
  }
55
58
 
56
- st-icon {
59
+ st-icon:not(.st-sidemenu-item-group-icon) {
57
60
  display: flex;
58
61
  align-items: center;
59
- --st-icon-size: var(--st-icon-size-sm, 16px);
62
+ justify-content: center;
63
+ width: var(--st-sidemenu-item-visual-width);
64
+ height: var(--st-sidemenu-item-visual-width);
65
+ --st-icon-size: var(--st-sidemenu-item-icon-size);
66
+ flex-shrink: 0;
60
67
  }
68
+
69
+ st-avatar {
70
+ --avatar-size: var(--st-sidemenu-item-avatar-size);
71
+ width: var(--st-sidemenu-item-avatar-size);
72
+ height: var(--st-sidemenu-item-avatar-size);
73
+ min-width: var(--st-sidemenu-item-avatar-size);
74
+ min-height: var(--st-sidemenu-item-avatar-size);
75
+ max-width: var(--st-sidemenu-item-avatar-size);
76
+ max-height: var(--st-sidemenu-item-avatar-size);
77
+ flex-shrink: 0;
78
+
79
+ span {
80
+ font-size: calc(var(--st-sidemenu-item-avatar-size) * 0.45);
81
+ }
82
+ }
83
+
84
+ .st-sidemenu-item-secondary-action {
85
+ display: inline-flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ background: transparent;
89
+ border: none;
90
+ padding: var(--st-space-1, 4px);
91
+ margin-left: auto;
92
+ border-radius: var(--st-radius-sm, 2px);
93
+ color: var(--st-color-text-tertiary);
94
+ cursor: pointer;
95
+ line-height: 1;
96
+ transition: background-color 0.15s ease, color 0.15s ease;
97
+
98
+ &:hover {
99
+ background-color: var(--st-color-bg-raised-hover, rgba(255, 255, 255, 0.1));
100
+ color: var(--st-color-text-primary);
101
+ }
102
+
103
+ st-icon {
104
+ width: auto;
105
+ height: auto;
106
+ transition: transform 0.2s ease;
107
+ }
108
+ }
109
+
110
+ &.st-sidemenu-item-group-expanded .st-sidemenu-item-secondary-action st-icon {
111
+ transform: rotate(180deg);
112
+ }
113
+
114
+
61
115
  }
62
116
  }
@@ -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 {
@@ -0,0 +1,378 @@
1
+ st-stepper {
2
+ --st-stepper-indicator-size: 32px;
3
+ --st-stepper-indicator-font-size: var(--st-font-md, 14px);
4
+ --st-stepper-indicator-font-weight: 600;
5
+ --st-stepper-title-font-size: var(--st-font-md, 14px);
6
+ --st-stepper-desc-font-size: var(--st-font-sm, 12px);
7
+
8
+ --st-stepper-line-thickness: 2px;
9
+ --st-stepper-line-color: var(--st-color-border-subtle);
10
+ --st-stepper-line-active-color: var(--st-color-text-primary);
11
+
12
+ --st-stepper-future-indicator-bg: var(--st-color-bg-default);
13
+ --st-stepper-future-indicator-border: var(--st-color-border-strong);
14
+ --st-stepper-future-indicator-color: var(--st-color-text-tertiary);
15
+ --st-stepper-future-title-color: var(--st-color-text-secondary);
16
+ --st-stepper-future-desc-color: var(--st-color-text-tertiary);
17
+
18
+ --st-stepper-current-indicator-bg: var(--st-color-text-primary);
19
+ --st-stepper-current-indicator-border: var(--st-color-text-primary);
20
+ --st-stepper-current-indicator-color: var(--st-color-text-inverse);
21
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-border-default);
22
+ --st-stepper-current-title-color: var(--st-color-text-primary);
23
+ --st-stepper-current-desc-color: var(--st-color-text-secondary);
24
+
25
+ --st-stepper-completed-indicator-bg: var(--st-color-control-bg);
26
+ --st-stepper-completed-indicator-border: var(--st-color-text-primary);
27
+ --st-stepper-completed-indicator-color: var(--st-color-text-primary);
28
+ --st-stepper-completed-title-color: var(--st-color-text-primary);
29
+ --st-stepper-completed-desc-color: var(--st-color-text-secondary);
30
+
31
+ --st-stepper-error-indicator-bg: var(--st-color-feedback-error-subtle);
32
+ --st-stepper-error-indicator-border: var(--st-color-feedback-error-default);
33
+ --st-stepper-error-indicator-color: var(--st-color-feedback-error-text);
34
+ --st-stepper-error-title-color: var(--st-color-feedback-error-text);
35
+ --st-stepper-error-desc-color: var(--st-color-text-tertiary);
36
+
37
+ display: block;
38
+ box-sizing: border-box;
39
+ width: 100%;
40
+
41
+ &.st-size-sm {
42
+ --st-stepper-indicator-size: 24px;
43
+ --st-stepper-indicator-font-size: var(--st-font-xs, 10px);
44
+ --st-stepper-title-font-size: var(--st-font-sm, 12px);
45
+ --st-stepper-desc-font-size: var(--st-font-xs, 10px);
46
+ }
47
+
48
+ &.st-size-md {
49
+ --st-stepper-indicator-size: 32px;
50
+ --st-stepper-indicator-font-size: var(--st-font-md, 14px);
51
+ --st-stepper-title-font-size: var(--st-font-md, 14px);
52
+ --st-stepper-desc-font-size: var(--st-font-sm, 12px);
53
+ }
54
+
55
+ &.st-theme-brand {
56
+ --st-stepper-line-active-color: var(--st-color-accent-default);
57
+
58
+ --st-stepper-current-indicator-bg: var(--st-color-accent-default);
59
+ --st-stepper-current-indicator-border: var(--st-color-accent-default);
60
+ --st-stepper-current-indicator-color: var(--st-color-text-on-accent);
61
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-accent-subtle);
62
+
63
+ --st-stepper-completed-indicator-bg: var(--st-color-accent-subtle);
64
+ --st-stepper-completed-indicator-border: var(--st-color-accent-default);
65
+ --st-stepper-completed-indicator-color: var(--st-color-accent-text);
66
+ }
67
+
68
+ &.st-theme-success {
69
+ --st-stepper-line-active-color: var(--st-color-feedback-success-default);
70
+
71
+ --st-stepper-current-indicator-bg: var(--st-color-feedback-success-default);
72
+ --st-stepper-current-indicator-border: var(--st-color-feedback-success-default);
73
+ --st-stepper-current-indicator-color: var(--st-color-text-inverse);
74
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-feedback-success-subtle);
75
+
76
+ --st-stepper-completed-indicator-bg: var(--st-color-feedback-success-subtle);
77
+ --st-stepper-completed-indicator-border: var(--st-color-feedback-success-default);
78
+ --st-stepper-completed-indicator-color: var(--st-color-feedback-success-text);
79
+ }
80
+
81
+ &.st-theme-info {
82
+ --st-stepper-line-active-color: var(--st-color-feedback-info-default);
83
+
84
+ --st-stepper-current-indicator-bg: var(--st-color-feedback-info-default);
85
+ --st-stepper-current-indicator-border: var(--st-color-feedback-info-default);
86
+ --st-stepper-current-indicator-color: var(--st-color-text-inverse);
87
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-feedback-info-subtle);
88
+
89
+ --st-stepper-completed-indicator-bg: var(--st-color-feedback-info-subtle);
90
+ --st-stepper-completed-indicator-border: var(--st-color-feedback-info-default);
91
+ --st-stepper-completed-indicator-color: var(--st-color-feedback-info-text);
92
+ }
93
+
94
+ &.st-theme-warning {
95
+ --st-stepper-line-active-color: var(--st-color-feedback-warning-default);
96
+
97
+ --st-stepper-current-indicator-bg: var(--st-color-feedback-warning-default);
98
+ --st-stepper-current-indicator-border: var(--st-color-feedback-warning-default);
99
+ --st-stepper-current-indicator-color: var(--st-color-neutral-900);
100
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-feedback-warning-subtle);
101
+
102
+ --st-stepper-completed-indicator-bg: var(--st-color-feedback-warning-subtle);
103
+ --st-stepper-completed-indicator-border: var(--st-color-feedback-warning-default);
104
+ --st-stepper-completed-indicator-color: var(--st-color-feedback-warning-text);
105
+ }
106
+
107
+ &.st-theme-danger {
108
+ --st-stepper-line-active-color: var(--st-color-feedback-error-default);
109
+
110
+ --st-stepper-current-indicator-bg: var(--st-color-feedback-error-default);
111
+ --st-stepper-current-indicator-border: var(--st-color-feedback-error-default);
112
+ --st-stepper-current-indicator-color: var(--st-color-text-inverse);
113
+ --st-stepper-current-halo: 0 0 0 3px var(--st-color-feedback-error-subtle);
114
+
115
+ --st-stepper-completed-indicator-bg: var(--st-color-feedback-error-subtle);
116
+ --st-stepper-completed-indicator-border: var(--st-color-feedback-error-default);
117
+ --st-stepper-completed-indicator-color: var(--st-color-feedback-error-text);
118
+ }
119
+
120
+ .st-stepper-list {
121
+ margin: 0;
122
+ padding: 0;
123
+ list-style: none;
124
+ box-sizing: border-box;
125
+ }
126
+
127
+ &.st-orientation-horizontal .st-stepper-list {
128
+ display: flex;
129
+ flex-direction: row;
130
+ width: 100%;
131
+ }
132
+
133
+ &.st-orientation-vertical .st-stepper-list {
134
+ display: flex;
135
+ flex-direction: column;
136
+ width: 100%;
137
+ }
138
+ }
139
+
140
+ st-step {
141
+ display: block;
142
+ box-sizing: border-box;
143
+
144
+ &.st-orientation-horizontal {
145
+ flex: 1;
146
+ min-width: 0;
147
+
148
+ .st-step-wrapper {
149
+ display: flex;
150
+ flex-direction: column;
151
+ align-items: center;
152
+ width: 100%;
153
+ }
154
+
155
+ .st-step-top {
156
+ display: flex;
157
+ align-items: center;
158
+ width: 100%;
159
+ align-self: stretch;
160
+ position: relative;
161
+ }
162
+
163
+ .st-step-line {
164
+ flex: 1;
165
+ height: var(--st-stepper-line-thickness);
166
+ background-color: var(--st-stepper-line-color);
167
+ transition: background-color 0.2s ease;
168
+ margin: 0;
169
+
170
+ &.st-line-active {
171
+ background-color: var(--st-stepper-line-active-color);
172
+ }
173
+ }
174
+
175
+ .st-step-line-after {
176
+ margin-right: -1px;
177
+ }
178
+
179
+ .st-step-content {
180
+ display: flex;
181
+ flex-direction: column;
182
+ align-items: center;
183
+ text-align: center;
184
+ margin-top: var(--st-size-xs, 8px);
185
+ width: 100%;
186
+ padding: 0 var(--st-size-xxs, 4px);
187
+ box-sizing: border-box;
188
+ }
189
+
190
+ &.st-step-first {
191
+ .st-step-wrapper {
192
+ align-items: flex-start;
193
+ }
194
+
195
+ .st-step-content {
196
+ align-items: flex-start;
197
+ text-align: left;
198
+ padding-left: 0;
199
+ }
200
+ }
201
+
202
+ &.st-step-last {
203
+ .st-step-wrapper {
204
+ align-items: flex-end;
205
+ }
206
+
207
+ .st-step-content {
208
+ align-items: flex-end;
209
+ text-align: right;
210
+ padding-right: 0;
211
+ }
212
+ }
213
+
214
+ .st-step-title {
215
+ font-size: var(--st-stepper-title-font-size);
216
+ line-height: 1.3;
217
+ font-weight: 500;
218
+ transition: color 0.2s ease, font-size 0.2s ease;
219
+ word-break: break-word;
220
+ }
221
+
222
+ .st-step-description {
223
+ font-size: var(--st-stepper-desc-font-size);
224
+ line-height: 1.3;
225
+ margin-top: var(--st-size-xxxxs, 2px);
226
+ transition: color 0.2s ease, font-size 0.2s ease;
227
+ word-break: break-word;
228
+ }
229
+ }
230
+
231
+ &.st-orientation-vertical {
232
+ width: 100%;
233
+
234
+ .st-step-wrapper {
235
+ display: flex;
236
+ flex-direction: row;
237
+ width: 100%;
238
+ }
239
+
240
+ .st-step-vertical-left {
241
+ display: flex;
242
+ flex-direction: column;
243
+ align-items: center;
244
+ flex: 0 0 auto;
245
+ margin-right: var(--st-size-sm, 16px);
246
+ position: relative;
247
+ }
248
+
249
+ .st-step-vertical-line {
250
+ width: var(--st-stepper-line-thickness);
251
+ flex: 1;
252
+ min-height: var(--st-size-xl, 32px);
253
+ background-color: var(--st-stepper-line-color);
254
+ transition: background-color 0.2s ease;
255
+
256
+ &.st-line-active {
257
+ background-color: var(--st-stepper-line-active-color);
258
+ }
259
+ }
260
+
261
+ .st-step-content {
262
+ flex: 1;
263
+ min-width: 0;
264
+ padding-bottom: var(--st-size-md, 24px);
265
+ }
266
+
267
+ &.st-step-last .st-step-content {
268
+ padding-bottom: 0;
269
+ }
270
+
271
+ .st-step-header {
272
+ display: flex;
273
+ flex-direction: column;
274
+ min-height: var(--st-stepper-indicator-size);
275
+ justify-content: center;
276
+ }
277
+
278
+ .st-step-title {
279
+ font-size: var(--st-stepper-title-font-size);
280
+ line-height: 1.3;
281
+ font-weight: 500;
282
+ transition: color 0.2s ease;
283
+ }
284
+
285
+ .st-step-description {
286
+ font-size: var(--st-stepper-desc-font-size);
287
+ line-height: 1.3;
288
+ margin-top: var(--st-size-xxxxs, 2px);
289
+ transition: color 0.2s ease;
290
+ }
291
+
292
+ .st-step-body {
293
+ margin-top: var(--st-size-xs, 8px);
294
+ }
295
+ }
296
+
297
+ .st-step-indicator {
298
+ flex: 0 0 auto;
299
+ width: var(--st-stepper-indicator-size);
300
+ height: var(--st-stepper-indicator-size);
301
+ border-radius: var(--st-border-radius-full, 9999px);
302
+ display: flex;
303
+ align-items: center;
304
+ justify-content: center;
305
+ font-size: var(--st-stepper-indicator-font-size);
306
+ font-weight: var(--st-stepper-indicator-font-weight);
307
+ box-sizing: border-box;
308
+ transition: all 0.2s ease;
309
+ z-index: 1;
310
+ font-variant-numeric: tabular-nums;
311
+ }
312
+
313
+ &.st-state-future {
314
+ .st-step-indicator {
315
+ background-color: var(--st-stepper-future-indicator-bg);
316
+ border: 1px solid var(--st-stepper-future-indicator-border);
317
+ color: var(--st-stepper-future-indicator-color);
318
+ }
319
+
320
+ .st-step-title {
321
+ color: var(--st-stepper-future-title-color);
322
+ }
323
+
324
+ .st-step-description {
325
+ color: var(--st-stepper-future-desc-color);
326
+ }
327
+ }
328
+
329
+ &.st-state-current {
330
+ .st-step-indicator {
331
+ background-color: var(--st-stepper-current-indicator-bg);
332
+ border: 1px solid var(--st-stepper-current-indicator-border);
333
+ color: var(--st-stepper-current-indicator-color);
334
+ box-shadow: var(--st-stepper-current-halo);
335
+ }
336
+
337
+ .st-step-title {
338
+ color: var(--st-stepper-current-title-color);
339
+ font-weight: 600;
340
+ }
341
+
342
+ .st-step-description {
343
+ color: var(--st-stepper-current-desc-color);
344
+ }
345
+ }
346
+
347
+ &.st-state-completed {
348
+ .st-step-indicator {
349
+ background-color: var(--st-stepper-completed-indicator-bg);
350
+ border: 1px solid var(--st-stepper-completed-indicator-border);
351
+ color: var(--st-stepper-completed-indicator-color);
352
+ }
353
+
354
+ .st-step-title {
355
+ color: var(--st-stepper-completed-title-color);
356
+ }
357
+
358
+ .st-step-description {
359
+ color: var(--st-stepper-completed-desc-color);
360
+ }
361
+ }
362
+
363
+ &.st-state-error {
364
+ .st-step-indicator {
365
+ background-color: var(--st-stepper-error-indicator-bg);
366
+ border: 1px solid var(--st-stepper-error-indicator-border);
367
+ color: var(--st-stepper-error-indicator-color);
368
+ }
369
+
370
+ .st-step-title {
371
+ color: var(--st-stepper-error-title-color);
372
+ }
373
+
374
+ .st-step-description {
375
+ color: var(--st-stepper-error-desc-color);
376
+ }
377
+ }
378
+ }
@@ -62,7 +62,7 @@ st-card {
62
62
  }
63
63
 
64
64
  &:not(.outline) table.st-table {
65
- --st-table-background-color-even-row: var(--st-bg-light);
65
+ --st-table-background-color-even-row: var(--st-color-bg-raised);
66
66
  --st-table-divider-color: var(--st-border-muted);
67
67
  }
68
68
  }
@@ -37,7 +37,7 @@ st-tabs {
37
37
 
38
38
  &:focus-visible {
39
39
  outline: none;
40
- background-color: var(--st-bg-light);
40
+ background-color: var(--st-color-bg-raised);
41
41
  border-radius: var(--st-border-radius-sm);
42
42
  }
43
43
 
@@ -12,6 +12,7 @@ st-toggle {
12
12
 
13
13
  display: inline-flex;
14
14
  align-items: center;
15
+ min-height: var(--st-interactive-element-height-md);
15
16
  gap: var(--st-toggle-gap);
16
17
  cursor: pointer;
17
18
  user-select: none;