@thalassic/themes 0.6.0 → 0.8.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 (39) hide show
  1. package/package.json +1 -1
  2. package/themes/thalassic/components/_password.scss +18 -0
  3. package/themes/thalassic/components/_pin-input.scss +66 -0
  4. package/themes/thalassic/components/_popover.scss +21 -0
  5. package/themes/thalassic/components/_skeleton.scss +41 -0
  6. package/themes/thalassic/components/_table.scss +78 -0
  7. package/themes/thalassic/components/chart/_chart.scss +19 -0
  8. package/themes/thalassic/components/chart/_index.scss +1 -0
  9. package/themes/thalassic/components/date-time-picker/_calendar.scss +85 -0
  10. package/themes/thalassic/components/date-time-picker/_date-time-picker.scss +63 -0
  11. package/themes/thalassic/components/date-time-picker/_index.scss +5 -0
  12. package/themes/thalassic/components/date-time-picker/_mixins.scss +108 -0
  13. package/themes/thalassic/components/date-time-picker/_month-picker.scss +32 -0
  14. package/themes/thalassic/components/date-time-picker/_time-picker.scss +61 -0
  15. package/themes/thalassic/components/date-time-picker/_year-picker.scss +34 -0
  16. package/themes/thalassic/components/dialog/_dialog-size.scss +29 -0
  17. package/themes/thalassic/components/dialog/_dialog.scss +85 -0
  18. package/themes/thalassic/components/dialog/_index.scss +2 -0
  19. package/themes/thalassic/components/form/_form-control-group.scss +3 -2
  20. package/themes/thalassic/components/form/_form-control.scss +11 -4
  21. package/themes/thalassic/components/index.scss +13 -0
  22. package/themes/thalassic/components/loader/_index.scss +2 -0
  23. package/themes/thalassic/components/loader/_loader-size.scss +26 -0
  24. package/themes/thalassic/components/loader/_loader.scss +25 -0
  25. package/themes/thalassic/components/pagination/_index.scss +2 -0
  26. package/themes/thalassic/components/pagination/_pagination-size.scss +22 -0
  27. package/themes/thalassic/components/pagination/_pagination.scss +79 -0
  28. package/themes/thalassic/components/select/_index.scss +3 -0
  29. package/themes/thalassic/components/select/_select-panel.scss +68 -0
  30. package/themes/thalassic/components/select/_select-size.scss +16 -0
  31. package/themes/thalassic/components/select/_select.scss +94 -0
  32. package/themes/thalassic/components/stepper/_index.scss +3 -0
  33. package/themes/thalassic/components/stepper/_stepper-color.scss +168 -0
  34. package/themes/thalassic/components/stepper/_stepper-orientation.scss +56 -0
  35. package/themes/thalassic/components/stepper/_stepper.scss +144 -0
  36. package/themes/thalassic/components/tooltip/_index.scss +2 -0
  37. package/themes/thalassic/components/tooltip/_tooltip-color.scss +36 -0
  38. package/themes/thalassic/components/tooltip/_tooltip.scss +14 -0
  39. package/themes/thalassic/index.scss +2 -0
@@ -0,0 +1,85 @@
1
+ .tls-dialog-backdrop {
2
+ --tls-dialog-backdrop: rgb(0 0 0 / 0.4);
3
+
4
+ background-color: var(--tls-dialog-backdrop);
5
+ }
6
+
7
+ .tls-dialog {
8
+ --tls-dialog-background: var(--color-surface-container-lowest);
9
+ --tls-dialog-color: var(--color-on-surface);
10
+ --tls-dialog-border-radius: var(--radius-xl);
11
+ --tls-dialog-shadow: var(--shadow-lg);
12
+ --tls-dialog-padding: var(--spacing-6);
13
+ --tls-dialog-close-size: 16px;
14
+ --tls-dialog-close-padding: var(--spacing-4);
15
+
16
+ position: relative;
17
+
18
+ width: var(--tls-dialog-width);
19
+
20
+ display: flex;
21
+ flex-direction: column;
22
+
23
+ pointer-events: auto;
24
+
25
+ border-radius: var(--tls-dialog-border-radius);
26
+ background-color: var(--tls-dialog-background);
27
+ color: var(--tls-dialog-color);
28
+ box-shadow: var(--tls-dialog-shadow);
29
+
30
+ &__close {
31
+ position: absolute;
32
+ top: var(--tls-dialog-close-padding);
33
+ right: var(--tls-dialog-close-padding);
34
+ z-index: 1;
35
+
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: center;
39
+
40
+ width: var(--tls-dialog-close-size);
41
+ height: var(--tls-dialog-close-size);
42
+
43
+ color: var(--color-outline);
44
+ background: transparent;
45
+ border: none;
46
+ cursor: pointer;
47
+
48
+ transition: color var(--motion-fast) var(--motion-ease-in-out);
49
+
50
+ &:hover {
51
+ color: var(--color-on-surface);
52
+ }
53
+
54
+ svg {
55
+ width: 100%;
56
+ height: 100%;
57
+ }
58
+ }
59
+
60
+ &__header {
61
+ padding: var(--tls-dialog-padding) var(--tls-dialog-padding) 0;
62
+ }
63
+
64
+ &__title {
65
+ font-size: var(--font-title-large-size);
66
+ font-weight: var(--font-weight-medium);
67
+ line-height: var(--font-title-large-line-height);
68
+ color: var(--color-on-surface);
69
+ }
70
+
71
+ &__body {
72
+ flex: 1;
73
+ padding: var(--spacing-4) var(--tls-dialog-padding);
74
+ overflow-y: auto;
75
+ }
76
+
77
+ &__footer {
78
+ padding: 0 var(--tls-dialog-padding) var(--tls-dialog-padding);
79
+
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: flex-end;
83
+ gap: var(--spacing-3);
84
+ }
85
+ }
@@ -0,0 +1,2 @@
1
+ @forward 'dialog';
2
+ @forward 'dialog-size';
@@ -1,7 +1,7 @@
1
1
  .tls-form-control-group {
2
2
  --tls-form-control-group-border-width: 1px;
3
3
  --tls-form-control-group-border-style: solid;
4
- --tls-form-control-group-border-color: var(--color-outline);
4
+ --tls-form-control-group-border-color: var(--color-outline-variant);
5
5
 
6
6
  border-radius: var(--radius-md);
7
7
  border: var(--tls-form-control-group-border-width) var(--tls-form-control-group-border-style)
@@ -51,7 +51,8 @@
51
51
 
52
52
  color: var(--color-danger);
53
53
 
54
- .tls-form-control::placeholder {
54
+ .tls-form-control::placeholder,
55
+ .tls-form-control__placeholder {
55
56
  color: var(--color-danger);
56
57
  }
57
58
  }
@@ -1,10 +1,10 @@
1
1
  .tls-form-control {
2
2
  --tls-form-control-border-width: 1px;
3
3
  --tls-form-control-border-style: solid;
4
- --tls-form-control-border-color: var(--color-outline);
4
+ --tls-form-control-border-color: var(--color-outline-variant);
5
5
 
6
6
  color: var(--color-on-surface);
7
- background-color: var(--color-surface);
7
+ background-color: var(--color-surface-container-lowest);
8
8
 
9
9
  border-radius: var(--radius-md);
10
10
  border: var(--tls-form-control-border-width) var(--tls-form-control-border-style)
@@ -20,10 +20,16 @@
20
20
  }
21
21
 
22
22
  &:focus {
23
- border: 1px solid var(--color-primary);
23
+ outline: none;
24
+ border: var(--tls-form-control-border-width) solid var(--color-primary);
24
25
  box-shadow: 0 0 3px -1px var(--color-primary);
25
26
  }
26
27
 
28
+ &::placeholder,
29
+ .tls-form-control__placeholder {
30
+ color: var(--color-outline);
31
+ }
32
+
27
33
  // Form control
28
34
  &.tls-form-control--disabled {
29
35
  background-color: var(--color-surface-variant);
@@ -38,7 +44,8 @@
38
44
 
39
45
  color: var(--color-danger);
40
46
 
41
- &::placeholder {
47
+ &::placeholder,
48
+ .tls-form-control__placeholder {
42
49
  color: var(--color-danger);
43
50
  }
44
51
  }
@@ -1,10 +1,23 @@
1
1
  @forward 'alert';
2
2
  @forward 'button';
3
+ @forward 'chart';
4
+ @forward 'date-time-picker';
5
+ @forward 'dialog';
6
+ @forward 'loader';
7
+ @forward 'pagination';
8
+ @forward 'select';
3
9
  @forward 'form';
10
+ @forward 'stepper';
4
11
  @forward 'switch';
5
12
  @forward 'tabs';
13
+ @forward 'tooltip';
6
14
 
7
15
  @forward 'checkbox';
8
16
  @forward 'divider';
9
17
  @forward 'icon';
18
+ @forward 'password';
19
+ @forward 'pin-input';
20
+ @forward 'popover';
10
21
  @forward 'radio-button';
22
+ @forward 'skeleton';
23
+ @forward 'table';
@@ -0,0 +1,2 @@
1
+ @forward 'loader';
2
+ @forward 'loader-size';
@@ -0,0 +1,26 @@
1
+ .tls-loader {
2
+ &--xs {
3
+ --tls-loader-size: var(--spacing-4);
4
+ --tls-loader-width: var(--spacing-1);
5
+ }
6
+
7
+ &--sm {
8
+ --tls-loader-size: var(--spacing-6);
9
+ --tls-loader-width: var(--spacing-1);
10
+ }
11
+
12
+ &--md {
13
+ --tls-loader-size: var(--spacing-8);
14
+ --tls-loader-width: var(--spacing-2);
15
+ }
16
+
17
+ &--lg {
18
+ --tls-loader-size: var(--spacing-10);
19
+ --tls-loader-width: var(--spacing-2);
20
+ }
21
+
22
+ &--xl {
23
+ --tls-loader-size: var(--spacing-12);
24
+ --tls-loader-width: var(--spacing-2);
25
+ }
26
+ }
@@ -0,0 +1,25 @@
1
+ .tls-loader {
2
+ --tls-loader-color: var(--color-primary);
3
+ --tls-loader-rotate-delay: 1000ms;
4
+
5
+ display: inline-block;
6
+
7
+ width: var(--tls-loader-size);
8
+ height: var(--tls-loader-size);
9
+
10
+ border-radius: 50%;
11
+
12
+ background:
13
+ radial-gradient(farthest-side, var(--tls-loader-color) 95%, #0000) top/var(--tls-loader-width)
14
+ var(--tls-loader-width) no-repeat,
15
+ conic-gradient(#0000 30%, var(--tls-loader-color));
16
+ mask: radial-gradient(farthest-side, #0000 calc(100% - var(--tls-loader-width)), black 0);
17
+
18
+ animation: loader-rotate var(--tls-loader-rotate-delay) infinite linear;
19
+ }
20
+
21
+ @keyframes loader-rotate {
22
+ 100% {
23
+ transform: rotate(1turn);
24
+ }
25
+ }
@@ -0,0 +1,2 @@
1
+ @forward 'pagination';
2
+ @forward 'pagination-size';
@@ -0,0 +1,22 @@
1
+ .tls-pagination {
2
+ &--sm {
3
+ --tls-pagination-item-size: var(--control-height-sm);
4
+ --tls-pagination-button-height: var(--control-height-sm);
5
+ --tls-pagination-button-padding-inline: var(--spacing-3);
6
+ --tls-pagination-button-icon-size: 14px;
7
+ }
8
+
9
+ &--md {
10
+ --tls-pagination-item-size: var(--control-height-md);
11
+ --tls-pagination-button-height: var(--control-height-md);
12
+ --tls-pagination-button-padding-inline: var(--spacing-4);
13
+ --tls-pagination-button-icon-size: 16px;
14
+ }
15
+
16
+ &--lg {
17
+ --tls-pagination-item-size: var(--control-height-lg);
18
+ --tls-pagination-button-height: var(--control-height-lg);
19
+ --tls-pagination-button-padding-inline: var(--spacing-5);
20
+ --tls-pagination-button-icon-size: 18px;
21
+ }
22
+ }
@@ -0,0 +1,79 @@
1
+ .tls-pagination {
2
+ --tls-pagination-gap: 16px;
3
+ --tls-pagination-color: var(--color-secondary);
4
+ --tls-pagination-radius: 4px;
5
+ --tls-pagination-hover-outline: 1px solid var(--color-lines);
6
+
7
+ --tls-pagination-item-border-color: var(--color-outline-variant);
8
+
9
+ --tls-pagination-active-color: var(--color-on-primary);
10
+ --tls-pagination-active-background: var(--color-primary);
11
+
12
+ display: flex;
13
+ align-items: center;
14
+
15
+ &__list {
16
+ display: flex;
17
+ gap: var(--tls-pagination-gap);
18
+ }
19
+
20
+ &__button {
21
+ height: var(--tls-pagination-button-height);
22
+ padding-inline: var(--tls-pagination-button-padding-inline);
23
+
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+
28
+ color: var(--tls-pagination-color);
29
+
30
+ border-radius: var(--tls-pagination-radius);
31
+
32
+ cursor: pointer;
33
+
34
+ &:hover {
35
+ outline: var(--tls-pagination-hover-outline);
36
+ }
37
+
38
+ &-icon {
39
+ width: var(--tls-pagination-button-icon-size);
40
+ height: var(--tls-pagination-button-icon-size);
41
+ }
42
+ }
43
+
44
+ &__gap {
45
+ width: var(--tls-pagination-item-size);
46
+ height: var(--tls-pagination-item-size);
47
+
48
+ display: flex;
49
+ justify-content: center;
50
+ align-items: center;
51
+
52
+ color: var(--tls-pagination-color);
53
+ }
54
+
55
+ &__item-button {
56
+ width: var(--tls-pagination-item-size);
57
+ height: var(--tls-pagination-item-size);
58
+
59
+ display: flex;
60
+ justify-content: center;
61
+ align-items: center;
62
+
63
+ color: var(--tls-pagination-color);
64
+
65
+ border: 1px solid var(--tls-pagination-item-border-color);
66
+ border-radius: var(--tls-pagination-radius);
67
+
68
+ cursor: pointer;
69
+
70
+ &:hover {
71
+ outline: var(--tls-pagination-hover-outline);
72
+ }
73
+
74
+ &--active {
75
+ color: var(--tls-pagination-active-color);
76
+ background-color: var(--tls-pagination-active-background);
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,3 @@
1
+ @forward 'select';
2
+ @forward 'select-panel';
3
+ @forward 'select-size';
@@ -0,0 +1,68 @@
1
+ .tls-select__panel {
2
+ --tls-select-panel-max-height: 240px;
3
+ --tls-select-panel-padding-block: var(--spacing-1);
4
+ --tls-select-panel-background: var(--color-surface-container-lowest);
5
+ --tls-select-panel-border-radius: var(--radius-md);
6
+ --tls-select-panel-shadow: var(--shadow-sm);
7
+
8
+ width: 100%;
9
+ max-height: var(--tls-select-panel-max-height);
10
+
11
+ margin: 0;
12
+ padding: var(--tls-select-panel-padding-block) 0;
13
+
14
+ background-color: var(--tls-select-panel-background);
15
+ border-radius: var(--tls-select-panel-border-radius);
16
+ box-shadow: var(--tls-select-panel-shadow);
17
+
18
+ overflow-y: auto;
19
+ list-style: none;
20
+ }
21
+
22
+ .tls-select__option {
23
+ --tls-select-option-color: var(--color-on-surface);
24
+ --tls-select-option-background: transparent;
25
+ --tls-select-option-padding-block: var(--spacing-2);
26
+ --tls-select-option-padding-inline: var(--spacing-3);
27
+
28
+ &.tls-select__option--active {
29
+ --tls-select-option-background: var(--color-surface-variant);
30
+ }
31
+
32
+ &.tls-select__option--selected {
33
+ --tls-select-option-color: var(--color-primary);
34
+ }
35
+
36
+ &.tls-select__option--disabled .tls-select__option-button {
37
+ opacity: 0.4;
38
+ cursor: not-allowed;
39
+ }
40
+
41
+ .tls-select__option-button {
42
+ width: 100%;
43
+ padding-block: var(--tls-select-option-padding-block);
44
+ padding-inline: var(--tls-select-option-padding-inline);
45
+
46
+ display: flex;
47
+ align-items: center;
48
+
49
+ appearance: none;
50
+ cursor: pointer;
51
+ text-align: left;
52
+
53
+ color: var(--tls-select-option-color);
54
+ background: var(--tls-select-option-background);
55
+ border: none;
56
+
57
+ font-size: var(--font-body-medium-size);
58
+ font-weight: var(--font-body-medium-weight);
59
+ line-height: var(--font-body-medium-line-height);
60
+ letter-spacing: var(--font-body-medium-letter-spacing);
61
+
62
+ transition: background-color var(--motion-fast) var(--motion-ease-in-out);
63
+
64
+ &:focus-visible {
65
+ outline: none;
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,16 @@
1
+ .tls-select {
2
+ &.tls-form-control--sm {
3
+ --tls-select-icon-size: 0.625rem;
4
+ --tls-select-clear-size: 0.625rem;
5
+ }
6
+
7
+ &.tls-form-control--md {
8
+ --tls-select-icon-size: 0.75rem;
9
+ --tls-select-clear-size: 0.75rem;
10
+ }
11
+
12
+ &.tls-form-control--lg {
13
+ --tls-select-icon-size: 0.875rem;
14
+ --tls-select-clear-size: 0.875rem;
15
+ }
16
+ }
@@ -0,0 +1,94 @@
1
+ .tls-select {
2
+ --tls-select-width: 200px;
3
+ --tls-select-gap: var(--spacing-2);
4
+
5
+ position: relative;
6
+ display: inline-block;
7
+
8
+ &.tls-form-control {
9
+ --tls-form-control-width: var(--tls-select-width);
10
+
11
+ display: inline-flex;
12
+ align-items: stretch;
13
+ padding-inline: 0;
14
+
15
+ cursor: pointer;
16
+
17
+ &.tls-form-control--fluid {
18
+ --tls-form-control-width: 100%;
19
+ }
20
+
21
+ &.tls-form-control--disabled {
22
+ cursor: not-allowed;
23
+ }
24
+
25
+ &:focus-within {
26
+ border: var(--tls-form-control-border-width) solid var(--color-primary);
27
+ box-shadow: 0 0 3px -1px var(--color-primary);
28
+ }
29
+
30
+ &.tls-select--open {
31
+ .tls-select__chevron {
32
+ transform: rotate(180deg);
33
+ }
34
+ }
35
+
36
+ .tls-select__trigger {
37
+ flex: 1;
38
+ min-width: 0;
39
+
40
+ display: flex;
41
+ align-items: center;
42
+ gap: var(--tls-select-gap);
43
+
44
+ padding-inline: var(--tls-form-control-padding-inline);
45
+
46
+ appearance: none;
47
+ outline: none;
48
+
49
+ .tls-select__value {
50
+ flex: 1;
51
+
52
+ overflow: hidden;
53
+ white-space: nowrap;
54
+ text-overflow: ellipsis;
55
+ }
56
+
57
+ .tls-select__icon {
58
+ width: var(--tls-select-icon-size);
59
+ height: var(--tls-select-icon-size);
60
+
61
+ flex-shrink: 0;
62
+ display: flex;
63
+ align-items: center;
64
+
65
+ .tls-select__chevron {
66
+ transition: transform var(--motion-fast) var(--motion-ease-in-out);
67
+ }
68
+ }
69
+ }
70
+
71
+ // Clear button
72
+ .tls-select__clear {
73
+ position: absolute;
74
+ top: 50%;
75
+ right: calc(var(--tls-form-control-padding-inline) * 2 + var(--tls-select-icon-size));
76
+
77
+ display: flex;
78
+ align-items: center;
79
+
80
+ color: var(--color-outline);
81
+
82
+ transform: translateY(-50%);
83
+
84
+ &:hover {
85
+ color: var(--color-on-surface);
86
+ }
87
+
88
+ .tls-select__clear-icon {
89
+ width: var(--tls-select-clear-size);
90
+ height: var(--tls-select-clear-size);
91
+ }
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,3 @@
1
+ @forward 'stepper';
2
+ @forward 'stepper-color';
3
+ @forward 'stepper-orientation';
@@ -0,0 +1,168 @@
1
+ .tls-stepper {
2
+ @mixin _disabled-reset {
3
+ --tls-stepper-label-color: var(--color-outline);
4
+ --tls-stepper-index-on-color: var(--color-on-surface-variant);
5
+ --tls-stepper-index-background-color: var(--color-surface-variant);
6
+ --tls-stepper-index-border-color: var(--color-outline-variant);
7
+ --tls-stepper-divider-color: var(--color-outline-variant);
8
+ }
9
+
10
+ .tls-stepper-header {
11
+ // Item
12
+ &__item {
13
+ // Primary
14
+ &.tls-stepper-header--primary {
15
+ // Active
16
+ &.tls-stepper-header__item--active {
17
+ --tls-stepper-label-color: var(--color-primary);
18
+ --tls-stepper-index-border-color: var(--color-primary);
19
+ }
20
+
21
+ // Completed
22
+ &.tls-stepper-header__item--completed {
23
+ --tls-stepper-index-on-color: var(--color-on-primary);
24
+ --tls-stepper-index-background-color: var(--color-primary);
25
+ --tls-stepper-index-border-color: var(--color-primary);
26
+ --tls-stepper-divider-color: var(--color-primary);
27
+ }
28
+
29
+ // Disabled overrides color states
30
+ &.tls-stepper-header__item--disabled {
31
+ @include _disabled-reset;
32
+ }
33
+ }
34
+
35
+ // Secondary
36
+ &.tls-stepper-header--secondary {
37
+ // Active
38
+ &.tls-stepper-header__item--active {
39
+ --tls-stepper-label-color: var(--color-secondary);
40
+ --tls-stepper-index-border-color: var(--color-secondary);
41
+ }
42
+
43
+ // Completed
44
+ &.tls-stepper-header__item--completed {
45
+ --tls-stepper-index-on-color: var(--color-on-secondary);
46
+ --tls-stepper-index-background-color: var(--color-secondary);
47
+ --tls-stepper-index-border-color: var(--color-secondary);
48
+ --tls-stepper-divider-color: var(--color-secondary);
49
+ }
50
+
51
+ // Disabled overrides color states
52
+ &.tls-stepper-header__item--disabled {
53
+ @include _disabled-reset;
54
+ }
55
+ }
56
+
57
+ // Tertiary
58
+ &.tls-stepper-header--tertiary {
59
+ // Active
60
+ &.tls-stepper-header__item--active {
61
+ --tls-stepper-label-color: var(--color-tertiary);
62
+ --tls-stepper-index-border-color: var(--color-tertiary);
63
+ }
64
+
65
+ // Completed
66
+ &.tls-stepper-header__item--completed {
67
+ --tls-stepper-index-on-color: var(--color-on-tertiary);
68
+ --tls-stepper-index-background-color: var(--color-tertiary);
69
+ --tls-stepper-index-border-color: var(--color-tertiary);
70
+ --tls-stepper-divider-color: var(--color-tertiary);
71
+ }
72
+
73
+ // Disabled overrides color states
74
+ &.tls-stepper-header__item--disabled {
75
+ @include _disabled-reset;
76
+ }
77
+ }
78
+
79
+ // Success
80
+ &.tls-stepper-header--success {
81
+ // Active
82
+ &.tls-stepper-header__item--active {
83
+ --tls-stepper-label-color: var(--color-success);
84
+ --tls-stepper-index-border-color: var(--color-success);
85
+ }
86
+
87
+ // Completed
88
+ &.tls-stepper-header__item--completed {
89
+ --tls-stepper-index-on-color: var(--color-on-success);
90
+ --tls-stepper-index-background-color: var(--color-success);
91
+ --tls-stepper-index-border-color: var(--color-success);
92
+ --tls-stepper-divider-color: var(--color-success);
93
+ }
94
+
95
+ // Disabled overrides color states
96
+ &.tls-stepper-header__item--disabled {
97
+ @include _disabled-reset;
98
+ }
99
+ }
100
+
101
+ // Info
102
+ &.tls-stepper-header--info {
103
+ // Active
104
+ &.tls-stepper-header__item--active {
105
+ --tls-stepper-label-color: var(--color-info);
106
+ --tls-stepper-index-border-color: var(--color-info);
107
+ }
108
+
109
+ // Completed
110
+ &.tls-stepper-header__item--completed {
111
+ --tls-stepper-index-on-color: var(--color-on-info);
112
+ --tls-stepper-index-background-color: var(--color-info);
113
+ --tls-stepper-index-border-color: var(--color-info);
114
+ --tls-stepper-divider-color: var(--color-info);
115
+ }
116
+
117
+ // Disabled overrides color states
118
+ &.tls-stepper-header__item--disabled {
119
+ @include _disabled-reset;
120
+ }
121
+ }
122
+
123
+ // Warning
124
+ &.tls-stepper-header--warning {
125
+ // Active
126
+ &.tls-stepper-header__item--active {
127
+ --tls-stepper-label-color: var(--color-warning);
128
+ --tls-stepper-index-border-color: var(--color-warning);
129
+ }
130
+
131
+ // Completed
132
+ &.tls-stepper-header__item--completed {
133
+ --tls-stepper-index-on-color: var(--color-on-warning);
134
+ --tls-stepper-index-background-color: var(--color-warning);
135
+ --tls-stepper-index-border-color: var(--color-warning);
136
+ --tls-stepper-divider-color: var(--color-warning);
137
+ }
138
+
139
+ // Disabled overrides color states
140
+ &.tls-stepper-header__item--disabled {
141
+ @include _disabled-reset;
142
+ }
143
+ }
144
+
145
+ // Danger
146
+ &.tls-stepper-header--danger {
147
+ // Active
148
+ &.tls-stepper-header__item--active {
149
+ --tls-stepper-label-color: var(--color-danger);
150
+ --tls-stepper-index-border-color: var(--color-danger);
151
+ }
152
+
153
+ // Completed
154
+ &.tls-stepper-header__item--completed {
155
+ --tls-stepper-index-on-color: var(--color-on-danger);
156
+ --tls-stepper-index-background-color: var(--color-danger);
157
+ --tls-stepper-index-border-color: var(--color-danger);
158
+ --tls-stepper-divider-color: var(--color-danger);
159
+ }
160
+
161
+ // Disabled overrides color states
162
+ &.tls-stepper-header__item--disabled {
163
+ @include _disabled-reset;
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }