@thalassic/themes 0.5.0 → 0.7.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalassic/themes",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -17,4 +17,9 @@
17
17
  --motion-delay-short: 50ms;
18
18
  --motion-delay-medium: 100ms;
19
19
  --motion-delay-long: 200ms;
20
+
21
+ // Theme transition
22
+ --motion-theme-duration: var(--motion-default);
23
+ --motion-theme-easing: var(--motion-ease-in-out);
24
+ --motion-theme: var(--motion-theme-duration) var(--motion-theme-easing);
20
25
  }
@@ -0,0 +1,60 @@
1
+ .tls-pin-input {
2
+ --tls-pin-input-size: 40px;
3
+ --tls-pin-input-border-color: var(--color-outline-variant);
4
+ --tls-pin-border-radius: var(--radius-sm);
5
+
6
+ display: inline-flex;
7
+ gap: var(--spacing-1);
8
+
9
+ &__cell {
10
+ width: var(--tls-pin-input-size);
11
+ height: var(--tls-pin-input-size);
12
+
13
+ text-align: center;
14
+
15
+ font-family: inherit;
16
+ font-size: var(--font-label-large-size);
17
+ font-weight: var(--font-label-large-weight);
18
+ line-height: var(--font-label-large-line-height);
19
+ letter-spacing: var(--font-label-large-letter-spacing);
20
+
21
+ border: 1px solid var(--tls-pin-input-border-color);
22
+ border-radius: var(--tls-pin-border-radius);
23
+
24
+ outline: none;
25
+
26
+ transition:
27
+ border-color var(--motion-fast) var(--motion-ease-in-out),
28
+ background-color var(--motion-fast) var(--motion-ease-in-out),
29
+ box-shadow var(--motion-fast) var(--motion-ease-in-out);
30
+
31
+ &:focus {
32
+ border-color: var(--color-primary);
33
+ box-shadow: 0 0 3px -1px var(--color-primary);
34
+
35
+ &::placeholder {
36
+ opacity: 0;
37
+ }
38
+ }
39
+ }
40
+
41
+ &.tls-pin-input--disabled {
42
+ .tls-pin-input__cell {
43
+ background-color: var(--color-surface-variant);
44
+
45
+ cursor: not-allowed;
46
+ }
47
+ }
48
+
49
+ &:not(.tls-pin-input--disabled).tls-pin-input--touched.tls-pin-input--invalid {
50
+ --tls-pin-input-border-color: var(--color-danger);
51
+
52
+ .tls-pin-input__cell {
53
+ color: var(--color-danger);
54
+
55
+ &::placeholder {
56
+ color: var(--color-danger);
57
+ }
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,41 @@
1
+ .tls-skeleton {
2
+ --tls-skeleton-color: var(--color-surface-variant);
3
+ --tls-skeleton-shimmer-color: var(--color-surface);
4
+
5
+ display: block;
6
+
7
+ width: var(--tls-skeleton-width);
8
+ height: var(--tls-skeleton-height);
9
+
10
+ border-radius: var(--tls-skeleton-radius);
11
+
12
+ background: linear-gradient(
13
+ 110deg,
14
+ var(--tls-skeleton-color) 25%,
15
+ var(--tls-skeleton-shimmer-color) 50%,
16
+ var(--tls-skeleton-color) 75%
17
+ );
18
+ background-size: 200% 100%;
19
+
20
+ animation: skeleton-shimmer var(--tls-skeleton-duration) linear infinite;
21
+
22
+ &.tls-skeleton--no-animate {
23
+ animation: none;
24
+ background: var(--tls-skeleton-color);
25
+ }
26
+
27
+ @media (prefers-reduced-motion: reduce) {
28
+ animation: none;
29
+ background: var(--tls-skeleton-color);
30
+ }
31
+ }
32
+
33
+ @keyframes skeleton-shimmer {
34
+ from {
35
+ background-position: 200% center;
36
+ }
37
+
38
+ to {
39
+ background-position: -200% center;
40
+ }
41
+ }
@@ -0,0 +1,19 @@
1
+ .tls-chart {
2
+ --tls-chart-x-axis-color: var(--color-outline);
3
+ --tls-chart-x-grid-color: var(--color-outline-variant);
4
+ --tls-chart-x-ticks-color: var(--color-on-surface);
5
+
6
+ --tls-chart-y-axis-color: var(--color-outline);
7
+ --tls-chart-y-grid-color: var(--color-outline-variant);
8
+ --tls-chart-y-ticks-color: var(--color-on-surface);
9
+
10
+ --tls-chart-r-angle-lines-color: var(--color-outline);
11
+ --tls-chart-r-grid-color: var(--color-outline-variant);
12
+ --tls-chart-r-ticks-color: var(--color-on-surface);
13
+ --tls-chart-r-ticks-backdrop-color: var(--color-surface);
14
+ --tls-chart-r-labels-color: var(--color-on-surface);
15
+
16
+ --tls-chart-background-color: transparent;
17
+ --tls-chart-border-color: transparent;
18
+ --tls-chart-color: transparent;
19
+ }
@@ -0,0 +1 @@
1
+ @forward 'chart';
@@ -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)
@@ -1,7 +1,7 @@
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
7
  background-color: var(--color-surface);
@@ -1,9 +1,16 @@
1
1
  @forward 'alert';
2
2
  @forward 'button';
3
+ @forward 'chart';
4
+ @forward 'loader';
3
5
  @forward 'form';
6
+ @forward 'stepper';
4
7
  @forward 'switch';
8
+ @forward 'tabs';
9
+ @forward 'tooltip';
5
10
 
6
11
  @forward 'checkbox';
7
12
  @forward 'divider';
8
13
  @forward 'icon';
14
+ @forward 'pin-input';
9
15
  @forward 'radio-button';
16
+ @forward 'skeleton';
@@ -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,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
+ }
@@ -0,0 +1,56 @@
1
+ .tls-stepper {
2
+ // Horizontal
3
+ &.tls-stepper--horizontal {
4
+ .tls-stepper-header {
5
+ &__item {
6
+ width: 100%;
7
+
8
+ &:last-child {
9
+ width: auto;
10
+ }
11
+ }
12
+
13
+ &__divider {
14
+ top: calc(var(--tls-stepper-index-size) / 2 - (var(--tls-stepper-divider-width) / 2));
15
+
16
+ width: 100%;
17
+ height: var(--tls-stepper-divider-width);
18
+ }
19
+ }
20
+ }
21
+
22
+ // Vertical
23
+ &.tls-stepper--vertical {
24
+ height: 100%;
25
+
26
+ display: flex;
27
+
28
+ .tls-stepper-header {
29
+ flex-direction: column;
30
+
31
+ &__item {
32
+ height: 100%;
33
+
34
+ &:last-child {
35
+ height: auto;
36
+ }
37
+
38
+ .tls-stepper-header-button {
39
+ flex-direction: row;
40
+ }
41
+ }
42
+
43
+ &__divider {
44
+ top: 0;
45
+ left: calc(var(--tls-stepper-index-size) / 2 - (var(--tls-stepper-divider-width) / 2));
46
+
47
+ width: var(--tls-stepper-divider-width);
48
+ height: 100%;
49
+ }
50
+ }
51
+
52
+ .tls-stepper-content {
53
+ flex-grow: 1;
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,144 @@
1
+ .tls-stepper {
2
+ --tls-stepper-label-color: var(--color-outline);
3
+ --tls-stepper-background-color: var(--color-surface);
4
+
5
+ --tls-stepper-content-padding: var(--spacing-4);
6
+
7
+ // Index
8
+ --tls-stepper-index-size: calc(32px - var(--tls-stepper-index-border-width) * 2);
9
+
10
+ --tls-stepper-index-on-color: var(--color-on-surface);
11
+ --tls-stepper-index-background-color: var(--color-surface);
12
+ --tls-stepper-index-border-color: var(--color-outline-variant);
13
+
14
+ --tls-stepper-index-border-width: 1px;
15
+
16
+ // Divider
17
+ --tls-stepper-divider-color: var(--color-outline-variant);
18
+ --tls-stepper-divider-width: 2px;
19
+
20
+ background: var(--tls-stepper-background-color);
21
+
22
+ display: block;
23
+
24
+ transition:
25
+ border-color var(--motion-theme),
26
+ background-color var(--motion-theme);
27
+
28
+ &.tls-stepper--completed {
29
+ .tls-stepper-content {
30
+ .tls-step {
31
+ display: none;
32
+ }
33
+ }
34
+ }
35
+
36
+ .tls-stepper-header {
37
+ position: relative;
38
+
39
+ display: flex;
40
+ justify-content: space-between;
41
+
42
+ // Item
43
+ &__item {
44
+ position: relative;
45
+ z-index: 1;
46
+
47
+ // Unreachable (linear mode)
48
+ &.tls-stepper-header__item--unreachable {
49
+ --tls-stepper-label-color: var(--color-outline);
50
+ --tls-stepper-index-on-color: var(--color-on-surface-variant);
51
+ --tls-stepper-index-background-color: var(--color-surface-variant);
52
+ --tls-stepper-index-border-color: var(--color-outline-variant);
53
+
54
+ .tls-stepper-header-button {
55
+ cursor: not-allowed;
56
+ }
57
+ }
58
+
59
+ // Disabled
60
+ &.tls-stepper-header__item--disabled {
61
+ .tls-stepper-header-button {
62
+ cursor: not-allowed;
63
+ }
64
+ }
65
+
66
+ // Button
67
+ .tls-stepper-header-button {
68
+ position: relative;
69
+ z-index: 1;
70
+
71
+ display: flex;
72
+ flex-direction: column;
73
+ gap: var(--spacing-2);
74
+
75
+ color: var(--tls-stepper-label-color);
76
+
77
+ transition:
78
+ color var(--motion-fast),
79
+ background-color var(--motion-fast);
80
+
81
+ &__index {
82
+ width: var(--tls-stepper-index-size);
83
+ height: var(--tls-stepper-index-size);
84
+
85
+ display: inline-flex;
86
+ justify-content: center;
87
+ align-items: center;
88
+
89
+ border: var(--tls-stepper-index-border-width) var(--tls-stepper-index-border-color) solid;
90
+ border-radius: 50%;
91
+
92
+ color: var(--tls-stepper-index-on-color);
93
+ background-color: var(--tls-stepper-index-background-color);
94
+
95
+ transition: background-color var(--motion-fast);
96
+ }
97
+
98
+ &__text {
99
+ display: flex;
100
+ flex-direction: column;
101
+ gap: 0.25rem;
102
+
103
+ .tls-stepper-header-button__label {
104
+ font-size: var(--font-label-large-size);
105
+ font-weight: var(--font-weight-semibold);
106
+ line-height: var(--font-label-large-line-height);
107
+ letter-spacing: var(--font-label-large-letter-spacing);
108
+ }
109
+
110
+ .tls-stepper-header-button__description {
111
+ font-size: var(--font-label-medium-size);
112
+ font-weight: var(--font-label-medium-weight);
113
+ line-height: var(--font-label-medium-line-height);
114
+ letter-spacing: var(--font-label-medium-letter-spacing);
115
+ }
116
+ }
117
+ }
118
+
119
+ .tls-stepper-header__divider {
120
+ position: absolute;
121
+
122
+ background-color: var(--tls-stepper-divider-color);
123
+
124
+ transition: background-color var(--motion-fast);
125
+ }
126
+ }
127
+ }
128
+
129
+ // Content
130
+ .tls-stepper-content {
131
+ padding: var(--tls-stepper-content-padding);
132
+
133
+ // Step
134
+ .tls-step {
135
+ height: 100%;
136
+
137
+ display: none;
138
+
139
+ &--active {
140
+ display: block;
141
+ }
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,2 @@
1
+ @forward 'tabs';
2
+ @forward 'tabs-variant';
@@ -0,0 +1,63 @@
1
+ .tls-tabs {
2
+ // Flat
3
+ &.tls-tabs--flat {
4
+ .tls-tabs-header {
5
+ border-bottom-width: var(--tls-tabs-border-width);
6
+ border-bottom-style: solid;
7
+
8
+ &__item {
9
+ margin-bottom: -1px;
10
+
11
+ &:hover {
12
+ .tls-tabs-header__item-button {
13
+ background-color: var(--color-surface-container);
14
+ }
15
+ }
16
+
17
+ &.tls-tabs-header__item--active {
18
+ border-bottom-width: var(--tls-tabs-active-border-width);
19
+ border-bottom-style: solid;
20
+ }
21
+ }
22
+ }
23
+ }
24
+
25
+ // Outlined
26
+ &.tls-tabs--outlined {
27
+ --tls-tabs-border-radius: var(--radius-sm);
28
+ --tls-tabs-header-background-color: var(--color-surface-container);
29
+ --tls-tabs-active-border-width: 1px;
30
+ --tls-tabs-active-border-color: var(--tls-tabs-border-color);
31
+
32
+ border: var(--tls-tabs-border-width) solid var(--tls-tabs-border-color);
33
+ border-radius: var(--tls-tabs-border-radius);
34
+
35
+ .tls-tabs-header {
36
+ border-bottom-width: var(--tls-tabs-border-width);
37
+ border-bottom-style: solid;
38
+
39
+ background-color: var(--tls-tabs-header-background-color);
40
+
41
+ &__item {
42
+ margin-bottom: -1px;
43
+
44
+ border-width: 0;
45
+ border-left-width: var(--tls-tabs-active-border-width);
46
+ border-right-width: var(--tls-tabs-active-border-width);
47
+ border-style: solid;
48
+
49
+ &:hover {
50
+ color: var(--tls-tabs-active-label-color);
51
+ }
52
+
53
+ &:first-child {
54
+ border-left-width: 0;
55
+ }
56
+
57
+ &.tls-tabs-header__item--active {
58
+ background-color: var(--tls-tabs-background-color);
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,73 @@
1
+ .tls-tabs {
2
+ --tls-tabs-background-color: var(--color-surface);
3
+ --tls-tabs-label-color: var(--color-outline);
4
+ --tls-tabs-active-label-color: var(--color-primary);
5
+ --tls-tabs-border-color: var(--color-outline-variant);
6
+ --tls-tabs-border-width: 1px;
7
+ --tls-tabs-active-border-color: var(--color-primary);
8
+ --tls-tabs-active-border-width: 2px;
9
+ --tls-tabs-content-padding: var(--spacing-4);
10
+
11
+ background: var(--tls-tabs-background-color);
12
+
13
+ display: block;
14
+
15
+ transition:
16
+ border-color var(--motion-theme),
17
+ background-color var(--motion-theme);
18
+
19
+ overflow: clip;
20
+
21
+ .tls-tabs-header {
22
+ display: flex;
23
+
24
+ border-color: var(--tls-tabs-border-color);
25
+
26
+ &__item {
27
+ color: var(--tls-tabs-label-color);
28
+
29
+ border-color: transparent;
30
+
31
+ transition:
32
+ color var(--motion-fast),
33
+ border-color var(--motion-fast),
34
+ background-color var(--motion-theme);
35
+
36
+ &:has(&-link:hover, &-link:focus) {
37
+ background-color: var(--color-grey-95);
38
+ }
39
+
40
+ &.tls-tabs-header__item--active {
41
+ color: var(--tls-tabs-active-label-color);
42
+ border-color: var(--tls-tabs-active-border-color);
43
+ }
44
+
45
+ &-button {
46
+ padding: var(--spacing-3) var(--spacing-6);
47
+
48
+ // TODO: use mixin
49
+ font-size: var(--font-label-large-size);
50
+ font-weight: var(--font-label-large-weight);
51
+ line-height: var(--font-label-large-border-height);
52
+ letter-spacing: var(--font-label-large-letter-spacing);
53
+
54
+ cursor: pointer;
55
+
56
+ transition: background-color var(--motion-fast);
57
+ }
58
+ }
59
+ }
60
+
61
+ .tls-tabs-content {
62
+ padding: var(--tls-tabs-content-padding);
63
+
64
+ // Tab
65
+ .tls-tab {
66
+ display: none;
67
+
68
+ &--active {
69
+ display: block;
70
+ }
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,2 @@
1
+ @forward 'tooltip';
2
+ @forward 'tooltip-color';
@@ -0,0 +1,36 @@
1
+ .tls-tooltip {
2
+ &.tls-tooltip--primary {
3
+ --tls-tooltip-on-color: var(--color-on-primary);
4
+ --tls-tooltip-color: var(--color-primary);
5
+ }
6
+
7
+ &.tls-tooltip--secondary {
8
+ --tls-tooltip-on-color: var(--color-on-secondary);
9
+ --tls-tooltip-color: var(--color-secondary);
10
+ }
11
+
12
+ &.tls-tooltip--tertiary {
13
+ --tls-tooltip-on-color: var(--color-on-tertiary);
14
+ --tls-tooltip-color: var(--color-tertiary);
15
+ }
16
+
17
+ &.tls-tooltip--success {
18
+ --tls-tooltip-on-color: var(--color-on-success);
19
+ --tls-tooltip-color: var(--color-success);
20
+ }
21
+
22
+ &.tls-tooltip--info {
23
+ --tls-tooltip-on-color: var(--color-on-info);
24
+ --tls-tooltip-color: var(--color-info);
25
+ }
26
+
27
+ &.tls-tooltip--warning {
28
+ --tls-tooltip-on-color: var(--color-on-warning);
29
+ --tls-tooltip-color: var(--color-warning);
30
+ }
31
+
32
+ &.tls-tooltip--danger {
33
+ --tls-tooltip-on-color: var(--color-on-danger);
34
+ --tls-tooltip-color: var(--color-danger);
35
+ }
36
+ }
@@ -0,0 +1,14 @@
1
+ .tls-tooltip {
2
+ --tls-tooltip-box-shadow: 0 2px 8px -1px var(--color-shade-30);
3
+ --tls-tooltip-padding: var(--spacing-3);
4
+ --tls-tooltip-border-radius: 8px;
5
+
6
+ padding: var(--tls-tooltip-padding);
7
+
8
+ border-radius: var(--tls-tooltip-border-radius);
9
+
10
+ color: var(--tls-tooltip-on-color);
11
+ background-color: var(--tls-tooltip-color);
12
+
13
+ box-shadow: var(--tls-tooltip-box-shadow);
14
+ }
@@ -9,3 +9,5 @@
9
9
  @forward 'shadow';
10
10
  @forward 'spacing';
11
11
  @forward 'typography';
12
+
13
+ @import '@angular/cdk/overlay-prebuilt.css';