@scania/tegel-lite 0.0.3-rules-beta.7 → 0.1.0-beta.globals-test

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 (48) hide show
  1. package/README.md +0 -29
  2. package/dist/assets/icons/scania/microphone.svg +4 -0
  3. package/dist/assets/icons/scania/microphone_inactive.svg +7 -0
  4. package/dist/assets/icons/scania/notification_snooze.svg +6 -0
  5. package/dist/assets/icons/scania/paperclip.svg +3 -0
  6. package/dist/components.css +2107 -1653
  7. package/dist/global.css +4048 -4693
  8. package/dist/scania-variables.css +8 -0
  9. package/dist/tl-badge.css +15 -0
  10. package/dist/tl-button.css +19 -0
  11. package/dist/tl-card.css +10 -0
  12. package/dist/tl-dropdown.css +54 -2
  13. package/dist/tl-folder-tabs.css +64 -0
  14. package/dist/tl-footer.css +64 -0
  15. package/dist/tl-header.css +206 -50
  16. package/dist/tl-icon.css +16 -0
  17. package/dist/tl-inline-tabs.css +81 -0
  18. package/dist/tl-modal.css +35 -0
  19. package/dist/tl-navigation-tabs.css +81 -0
  20. package/dist/tl-radio-button.css +1 -1
  21. package/dist/tl-side-menu.css +71 -0
  22. package/dist/tl-slider.css +1024 -1485
  23. package/dist/tl-spinner.css +8 -0
  24. package/dist/tl-step.css +8 -0
  25. package/dist/tl-stepper.css +8 -0
  26. package/dist/tl-table.css +17 -20
  27. package/dist/tl-text-field.css +32 -13
  28. package/package.json +3 -14
  29. package/.ai/rules/01-design-tokens.mdc +0 -318
  30. package/.ai/rules/02-components-forms.mdc +0 -396
  31. package/.ai/rules/03-components-display.mdc +0 -474
  32. package/.ai/rules/04-components-navigation.mdc +0 -358
  33. package/.ai/rules/05-guidelines.mdc +0 -144
  34. package/.ai/rules/06-patterns.mdc +0 -352
  35. package/.cursor/rules/tegel-lite/01-design-tokens.mdc +0 -317
  36. package/.cursor/rules/tegel-lite/02-components-forms.mdc +0 -395
  37. package/.cursor/rules/tegel-lite/03-components-display.mdc +0 -473
  38. package/.cursor/rules/tegel-lite/04-components-navigation.mdc +0 -357
  39. package/.cursor/rules/tegel-lite/05-guidelines.mdc +0 -143
  40. package/.cursor/rules/tegel-lite/06-patterns.mdc +0 -351
  41. package/.github/copilot-instructions.md +0 -2045
  42. package/AGENTS.md +0 -2045
  43. package/CLAUDE.md +0 -2045
  44. package/bin/setup-ai-rules.js +0 -368
  45. package/dist/tl-folder-tab.css +0 -87
  46. package/dist/tl-inline-tab.css +0 -80
  47. package/dist/tl-navigation-tab.css +0 -114
  48. package/dist/tl-textarea-mixins.css +0 -0
@@ -1,11 +1,116 @@
1
1
  @charset "UTF-8";
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ .scania tds-header,
6
+ .scania .tl-header {
7
+ /* State & interaction colors */
8
+ --component-header-color-background-open: var(--color-foreground-border-accent-focus);
9
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
10
+ --component-header-dropdown-item-background: var(--color-background-layer-02);
11
+ --component-header-avatar-item-background: var(--color-background-layer-02);
12
+ --component-header-app-launcher-meny-background: var(--color-background-layer-02);
13
+ /* Sizing & spacing */
14
+ --component-header-brand-logo-size: 30px;
15
+ --component-header-space-profile-padding: 16px;
16
+ --component-header-item-image-size: 34px;
17
+ --component-header-item-image-left: 10px;
18
+ --component-header-item-width: none;
19
+ --component-header-item-border-right: 1px solid var(--header-basic-element-border);
20
+ /* Borders */
21
+ --component-header-border: none;
22
+ /* Typography */
23
+ --component-header-font-family-headline: var(--scania-font-family-display);
24
+ --component-header-font-weight: var(--scania-font-weight-regular);
25
+ --component-header-text-transform: none;
26
+ }
27
+ .scania {
28
+ /* ── Light-mode overrides ───────────────────── */
29
+ }
30
+ .scania .tds-mode-light tds-header,
31
+ .scania .tds-mode-light .tl-header {
32
+ --component-header-color-background: var(--color-brand-primary-800);
33
+ --component-header-color-foreground-strong: var(--color-foreground-icon-inverse-strong);
34
+ --component-header-color-background-hover: var(--color-brand-primary-700);
35
+ --component-header-color-background-border: var(--color-brand-primary-700);
36
+ --component-header-color-background-pressed: var(--color-brand-neutral-white);
37
+ --component-header-color-background-selected: var(--color-brand-primary-700);
38
+ }
39
+ .scania {
40
+ /* ── Dark-mode overrides ───────────────────── */
41
+ }
42
+ .scania .tds-mode-dark tds-header,
43
+ .scania .tds-mode-dark .tl-header {
44
+ --component-header-color-background: var(--color-brand-primary-900);
45
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
46
+ --component-header-color-background-hover: var(--color-brand-primary-800);
47
+ --component-header-color-background-border: var(--color-brand-primary-800);
48
+ --component-header-color-background-pressed: var(--color-brand-primary-800);
49
+ --component-header-color-background-selected: var(--color-brand-primary-800);
50
+ }
51
+
52
+ .traton tds-header,
53
+ .traton .tl-header {
54
+ /* Base colors */
55
+ --component-header-color-background: var(--color-background-base);
56
+ --component-header-color-background-hover: var(--color-background-layer-01);
57
+ --component-header-color-background-open: transparent;
58
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
59
+ --component-header-color-background-border: var(--traton-color-transparent-invisible-light);
60
+ --component-header-color-background-pressed: var(--color-background-base);
61
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
62
+ /* Dropdown & launcher */
63
+ --component-header-dropdown-item-background: var(--color-background-layer-01);
64
+ --component-header-avatar-item-background: var(--color-background-layer-01);
65
+ --component-header-app-launcher-meny-background: var(--color-background-layer-01);
66
+ /* Sizing & spacing */
67
+ --component-header-brand-logo-size: 106px;
68
+ --component-header-space-profile-padding: 20px;
69
+ --component-header-item-image-size: 24px;
70
+ --component-header-item-image-left: 15px;
71
+ --component-header-item-width: 122px;
72
+ --component-header-item-border-right: none;
73
+ /* Borders */
74
+ --component-header-border: 2px solid var(--header-nav-item-border-active);
75
+ /* Typography */
76
+ --component-header-font-family-headline: var(--traton-font-family-display);
77
+ --component-header-font-weight: var(--traton-font-weight-medium);
78
+ --component-header-text-transform: uppercase;
79
+ }
80
+ .traton {
81
+ /* ── Light-mode overrides ───────────────────── */
82
+ }
83
+ .traton .tds-mode-light tds-header,
84
+ .traton .tds-mode-light .tl-header {
85
+ --component-header-color-background-selected: var(--color-background-layer-01);
86
+ }
87
+ .traton {
88
+ /* ── Dark-mode overrides ───────────────────── */
89
+ }
90
+ .traton .tds-mode-dark tds-header,
91
+ .traton .tds-mode-dark .tl-header {
92
+ --component-header-color-background-selected: var(--color-background-surface-100);
93
+ }
94
+
95
+ /*
96
+ Tegel Lite specific overrides
97
+ Keep this in last to ensure it has the highest specificity for Tegel Lite
98
+ */
99
+ .scania .tl-header {
100
+ --component-header-item-width: 30px;
101
+ --component-header-dropdown-box-shadow: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
102
+ }
103
+
104
+ .traton .tl-header {
105
+ --component-header-dropdown-box-shadow: none;
106
+ }
107
+
2
108
  .tl-header {
3
- /* Base background & text */
4
- --header-background: var(--component-header-color-background);
109
+ /* Base text */
5
110
  --header-nav-item: var(--component-header-color-foreground-strong);
6
111
  /* Nav-item states */
7
112
  --header-nav-item-background-hover: var(--color-background-surface-100);
8
- --header-nav-item-background-selected: var(--color-background-surface-100);
113
+ --header-nav-item-background-selected: var(--component-header-dropdown-item-background);
9
114
  --header-nav-item-border-pressed: var(--color-foreground-border-accent-focus);
10
115
  --header-item-hover: var(--component-header-color-background-hover);
11
116
  /* Dropdown menu items */
@@ -17,11 +122,11 @@
17
122
  --tds-header-nav-item-dropdown-opened-background-selected: var(--tds-grey-100);
18
123
  --tds-header-nav-item-dropdown-opened-background-pressed: var(--tds-grey-300);
19
124
  --header-nav-item-dropdown-opened: var(--component-header-color-foreground-selected);
20
- /* Basic element (“Bento”) separators & backgrounds */
125
+ /* Basic element ("Bento") separators & backgrounds */
21
126
  --header-basic-element-border: var(--component-header-color-background-border);
22
127
  --header-basic-element-border-open: var(--component-header-color-background-open);
23
- --header-basic-element-background-pressed: var(--component-header-color-background-pressed);
24
- --header-basic-element-background-selected: var(--component-header-color-background-selected);
128
+ --header-basic-element-background-pressed: var(--component-header-dropdown-item-background);
129
+ --header-basic-element-background-selected: var(--component-header-dropdown-item-background);
25
130
  /* Avatar dropdown */
26
131
  --header-avatar-item-background: var(--component-header-avatar-item-background);
27
132
  --header-avatar-item: var(--color-foreground-text-soft);
@@ -47,25 +152,75 @@
47
152
  --header-dropdown-box-shadow: var(--component-header-dropdown-box-shadow);
48
153
  }
49
154
 
155
+ .scania {
156
+ /* Light mode - explicit light mode class */
157
+ }
158
+ .scania .tds-mode-light .tl-header {
159
+ --header-background: var(--color-brand-primary-800);
160
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
161
+ --header-item-hover: var(--color-brand-primary-700);
162
+ --header-basic-element-border: var(--color-brand-primary-700);
163
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
164
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
165
+ }
166
+ .scania {
167
+ /* Dark mode - override with dark colors */
168
+ }
169
+ .scania .tds-mode-dark .tl-header {
170
+ --header-background: var(--color-brand-primary-900);
171
+ --header-nav-item: var(--color-foreground-icon-strong);
172
+ --header-item-hover: var(--color-brand-primary-800);
173
+ --header-basic-element-border: var(--color-brand-primary-800);
174
+ --header-basic-element-background-pressed: var(--color-brand-primary-800);
175
+ --header-basic-element-background-selected: var(--color-brand-primary-800);
176
+ }
177
+ .scania {
178
+ /* Default .tl-header (works for no mode specified - defaults to light) */
179
+ }
50
180
  .scania .tl-header {
51
181
  /* Brand logo */
52
182
  --header-logotype-local: var(--tds-background-image-scania-symbol-svg-local);
53
183
  --header-logotype-cdn: var(--tds-background-image-scania-symbol-svg);
54
184
  --component-header-space-profile-padding: 16px;
185
+ /* Background defaults to light mode */
186
+ --header-background: var(--color-brand-primary-800);
187
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
188
+ --header-item-hover: var(--color-brand-primary-700);
189
+ --header-basic-element-border: var(--color-brand-primary-700);
190
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
191
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
55
192
  }
56
193
 
57
194
  .traton .tds-mode-dark .tl-header {
58
- /* Brand logo */
195
+ /* Brand logo - White for dark mode */
59
196
  --header-logotype-local: var(--traton-logotype-white-svg-local);
60
197
  --header-logotype-cdn: var(--traton-logotype-white-svg);
198
+ /* Background - uses base from traton tokens */
199
+ --header-background: var(--color-background-base);
200
+ --header-nav-item: var(--color-foreground-icon-strong);
201
+ --header-item-hover: var(--color-background-layer-01);
202
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
203
+ --header-basic-element-background-pressed: var(--color-background-base);
204
+ --header-basic-element-background-selected: var(--color-background-surface-100);
61
205
  }
62
206
  .traton .tds-mode-light .tl-header {
63
- /* Brand logo */
207
+ /* Brand logo - Black for light mode */
64
208
  --header-logotype-local: var(--traton-logotype-black-svg-local);
65
209
  --header-logotype-cdn: var(--traton-logotype-black-svg);
210
+ /* Background - uses base from traton tokens */
211
+ --header-background: var(--color-background-base);
212
+ --header-nav-item: var(--color-foreground-icon-strong);
213
+ --header-item-hover: var(--color-background-layer-01);
214
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
215
+ --header-basic-element-background-pressed: var(--color-background-base);
216
+ --header-basic-element-background-selected: var(--color-background-layer-01);
66
217
  }
67
218
  .traton .tl-header {
219
+ /* Brand logo - Black as default (for no mode specified) */
220
+ --header-logotype-local: var(--traton-logotype-black-svg-local);
221
+ --header-logotype-cdn: var(--traton-logotype-black-svg);
68
222
  --component-header-space-profile-padding: 20px;
223
+ --header-background: transparent;
69
224
  }
70
225
 
71
226
  /* Typography Usage mixins */
@@ -105,18 +260,12 @@
105
260
  outline: none;
106
261
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
107
262
  }
108
- .tl-header__item--pressed .tl-header__item-wrapper {
263
+ .tl-header__item-wrapper:active {
109
264
  padding-top: 2px;
110
265
  padding-bottom: 2px;
111
266
  background-color: var(--header-basic-element-background-selected);
112
267
  box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
113
268
  }
114
- .tl-header__item--selected:not(.tl-header__item--pressed) .tl-header__item-wrapper {
115
- padding-top: 4px;
116
- border-bottom-style: solid;
117
- border-bottom-width: 4px;
118
- border-bottom-color: var(--header-nav-item-border-pressed);
119
- }
120
269
 
121
270
  .tl-header__item-wrapper .tl-link__icon {
122
271
  position: relative;
@@ -165,25 +314,26 @@ body {
165
314
  outline: none;
166
315
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
167
316
  }
317
+ .tl-header__dropdown-wrapper:active {
318
+ background-color: var(--header-basic-element-background-selected);
319
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
320
+ }
168
321
  .tl-header__dropdown-wrapper--open {
169
- background-color: var(--header-basic-element-background-pressed);
322
+ background-color: var(--component-header-color-background-pressed);
170
323
  color: var(--header-nav-item-dropdown-opened);
171
324
  position: relative;
172
325
  z-index: calc(var(--tds-z-index-header) + 1);
173
326
  }
174
327
  .tl-header__dropdown-wrapper--open:hover {
175
- background-color: var(--header-basic-element-background-pressed);
328
+ background-color: var(--component-header-color-background-pressed);
329
+ }
330
+ .tl-header__dropdown-wrapper--open:active {
331
+ background-color: var(--component-header-color-background-pressed);
332
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
176
333
  }
177
334
  .tl-header__dropdown-wrapper--selected {
178
- padding-top: 4px;
179
335
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
180
336
  }
181
- .tl-header__dropdown-wrapper--pressed {
182
- padding-top: 2px;
183
- padding-bottom: 2px;
184
- background-color: var(--header-basic-element-background-selected);
185
- box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
186
- }
187
337
 
188
338
  .tl-header__dropdown-wrapper-user {
189
339
  all: unset;
@@ -211,28 +361,33 @@ body {
211
361
  outline: none;
212
362
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
213
363
  }
364
+ .tl-header__dropdown-wrapper-user:active {
365
+ background-color: var(--header-basic-element-background-selected);
366
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
367
+ }
214
368
  .tl-header__dropdown-wrapper-user--open {
215
- background-color: var(--header-basic-element-background-pressed);
369
+ background-color: var(--component-header-color-background-pressed);
216
370
  color: var(--header-nav-item-dropdown-opened);
217
371
  position: relative;
218
372
  z-index: calc(var(--tds-z-index-header) + 1);
219
373
  }
220
374
  .tl-header__dropdown-wrapper-user--open:hover {
221
- background-color: var(--header-basic-element-background-pressed);
375
+ background-color: var(--component-header-color-background-pressed);
376
+ }
377
+ .tl-header__dropdown-wrapper-user--open:active {
378
+ background-color: var(--component-header-color-background-pressed);
379
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
222
380
  }
223
381
  .tl-header__dropdown-wrapper-user--selected {
224
- padding-top: 4px;
225
382
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
226
383
  }
227
- .tl-header__dropdown-wrapper-user--pressed {
228
- padding-top: 2px;
229
- padding-bottom: 2px;
230
- background-color: var(--header-basic-element-background-selected);
231
- box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
232
- }
233
384
 
234
385
  .tl-header__dropdown-icon {
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: center;
235
389
  transition: transform 0.2s ease;
390
+ transform-origin: center center;
236
391
  }
237
392
  .tl-header__dropdown-icon--rotated {
238
393
  transform: rotate(180deg);
@@ -300,6 +455,7 @@ body {
300
455
  max-height: calc(100vh - var(--tds-header-height));
301
456
  overflow-y: auto;
302
457
  z-index: var(--tds-z-index-header);
458
+ border-radius: 4px;
303
459
  }
304
460
  .tl-header__user-menu::-webkit-scrollbar {
305
461
  width: var(--tl-scrollbar-width);
@@ -390,6 +546,7 @@ body {
390
546
  max-height: calc(100vh - var(--tds-header-height));
391
547
  overflow-y: auto;
392
548
  z-index: var(--tds-z-index-header);
549
+ border-radius: 4px;
393
550
  }
394
551
  .tl-header__launcher-menu-grid::-webkit-scrollbar {
395
552
  width: var(--tl-scrollbar-width);
@@ -466,13 +623,13 @@ body {
466
623
  }
467
624
 
468
625
  .tl-header__user-menu-header {
469
- font-family: var(--headline-07-font-family);
470
- font-size: var(--headline-07-font-size);
471
- line-height: var(--headline-07-line-height);
472
- font-weight: var(--headline-07-font-weight);
473
- letter-spacing: var(--headline-07-letter-spacing);
474
- text-transform: var(--headline-07-text-transform);
475
- color: var(--header-nav-item-dropdown-opened);
626
+ font-family: var(--detail-06-font-family);
627
+ font-size: var(--detail-06-font-size);
628
+ line-height: var(--detail-06-line-height);
629
+ font-weight: var(--detail-06-font-weight);
630
+ letter-spacing: var(--detail-06-letter-spacing);
631
+ text-transform: var(--detail-06-text-transform);
632
+ color: var(--color-foreground-text-defined);
476
633
  }
477
634
 
478
635
  .tl-header__user-menu-subheader {
@@ -506,15 +663,14 @@ body {
506
663
  .tl-header__launcher-menu-title {
507
664
  all: unset;
508
665
  box-sizing: border-box;
509
- font-family: var(--detail-04-font-family);
510
- font-size: var(--detail-04-font-size);
511
- line-height: var(--detail-04-line-height);
512
- font-weight: var(--detail-04-font-weight);
513
- letter-spacing: var(--detail-04-letter-spacing);
514
- text-transform: var(--detail-04-text-transform);
666
+ font-family: var(--text-component-title-02-font-family);
667
+ font-size: var(--text-component-title-02-font-size);
668
+ line-height: var(--text-component-title-02-line-height);
669
+ font-weight: var(--text-component-title-02-font-weight);
670
+ letter-spacing: var(--text-component-title-02-letter-spacing);
671
+ text-transform: var(--text-component-title-02-text-transform);
515
672
  background-color: var(--header-nav-dropdown-item-background);
516
673
  color: var(--header-app-launcher-grid-category-title);
517
- text-transform: uppercase;
518
674
  height: 48px;
519
675
  padding: 0 16px;
520
676
  display: flex;
@@ -539,7 +695,7 @@ body {
539
695
  letter-spacing: var(--detail-02-letter-spacing);
540
696
  text-transform: var(--detail-02-text-transform);
541
697
  background-color: var(--header-nav-dropdown-item-background);
542
- color: var(--header-nav-item-dropdown-opened);
698
+ color: var(--color-foreground-text-defined);
543
699
  }
544
700
  .tl-header__dropdown-menu-item a:hover,
545
701
  .tl-header__dropdown-menu-item button:hover {
@@ -574,8 +730,8 @@ body {
574
730
  font-weight: var(--detail-05-font-weight);
575
731
  letter-spacing: var(--detail-05-letter-spacing);
576
732
  text-transform: var(--detail-05-text-transform);
577
- background-color: var(--tds-header-app-launcher-menu-bg);
578
- color: var(--tds-header-app-launcher-grid-color);
733
+ background-color: var(--header-nav-dropdown-item-background);
734
+ color: var(--color-foreground-text-defined);
579
735
  border-radius: 4px;
580
736
  transition: background-color 150ms ease;
581
737
  }
package/dist/tl-icon.css CHANGED
@@ -632,6 +632,14 @@
632
632
  mask-image: var(--icon-message_inactive-svg);
633
633
  background-color: currentcolor;
634
634
  }
635
+ .tl-icon--microphone {
636
+ mask-image: var(--icon-microphone-svg);
637
+ background-color: currentcolor;
638
+ }
639
+ .tl-icon--microphone_inactive {
640
+ mask-image: var(--icon-microphone_inactive-svg);
641
+ background-color: currentcolor;
642
+ }
635
643
  .tl-icon--mileage {
636
644
  mask-image: var(--icon-mileage-svg);
637
645
  background-color: currentcolor;
@@ -664,6 +672,10 @@
664
672
  mask-image: var(--icon-notification_inactive-svg);
665
673
  background-color: currentcolor;
666
674
  }
675
+ .tl-icon--notification_snooze {
676
+ mask-image: var(--icon-notification_snooze-svg);
677
+ background-color: currentcolor;
678
+ }
667
679
  .tl-icon--oil_level {
668
680
  mask-image: var(--icon-oil_level-svg);
669
681
  background-color: currentcolor;
@@ -672,6 +684,10 @@
672
684
  mask-image: var(--icon-oil_level_inactive-svg);
673
685
  background-color: currentcolor;
674
686
  }
687
+ .tl-icon--paperclip {
688
+ mask-image: var(--icon-paperclip-svg);
689
+ background-color: currentcolor;
690
+ }
675
691
  .tl-icon--pause {
676
692
  mask-image: var(--icon-pause-svg);
677
693
  background-color: currentcolor;
@@ -34,6 +34,87 @@
34
34
  --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
35
35
  }
36
36
 
37
+ /* Typography Usage mixins */
38
+ .tl-inline-tabs__tab {
39
+ all: unset;
40
+ margin-right: 32px;
41
+ box-sizing: border-box;
42
+ }
43
+ .tl-inline-tabs__tab * {
44
+ box-sizing: border-box;
45
+ }
46
+ .tl-inline-tabs__tab {
47
+ font-family: var(--headline-07-font-family);
48
+ font-size: var(--headline-07-font-size);
49
+ line-height: var(--headline-07-line-height);
50
+ font-weight: var(--headline-07-font-weight);
51
+ letter-spacing: var(--headline-07-letter-spacing);
52
+ text-transform: var(--headline-07-text-transform);
53
+ color: var(--inline-tabs-tab);
54
+ text-decoration: none;
55
+ display: block;
56
+ position: relative;
57
+ transition: color 0.15s ease-in-out 0s;
58
+ white-space: nowrap;
59
+ background-color: transparent;
60
+ border: 0;
61
+ padding: 20px 4px;
62
+ }
63
+ .tl-inline-tabs__tab:focus-visible {
64
+ outline: none;
65
+ }
66
+ .tl-inline-tabs__tab:focus-visible::before {
67
+ content: "";
68
+ position: absolute;
69
+ inset: 18px 0;
70
+ border-radius: 2px;
71
+ box-shadow: 0 0 0 2px var(--inline-tabs-tab-focus) inset;
72
+ z-index: 2;
73
+ pointer-events: none;
74
+ }
75
+ .tl-inline-tabs__tab::after {
76
+ background-color: var(--inline-tabs-tab-indicator-hover);
77
+ content: " ";
78
+ position: absolute;
79
+ bottom: 0;
80
+ right: 0;
81
+ left: 0;
82
+ margin-left: auto;
83
+ width: 0%;
84
+ margin-right: auto;
85
+ height: 2px;
86
+ z-index: 1;
87
+ transition: width 0.15s ease-in-out 0s;
88
+ }
89
+ .tl-inline-tabs__tab:not(.tl-inline-tabs__tab--selected)::after {
90
+ width: 0%;
91
+ }
92
+ .tl-inline-tabs__tab:hover {
93
+ cursor: pointer;
94
+ color: var(--inline-tabs-tab-hover);
95
+ }
96
+ .tl-inline-tabs__tab:hover::after {
97
+ width: 100%;
98
+ }
99
+ .tl-inline-tabs__tab--selected {
100
+ color: var(--inline-tabs-tab-selected);
101
+ }
102
+ .tl-inline-tabs__tab--selected::after {
103
+ background-color: var(--inline-tabs-tab-indicator-active);
104
+ width: 100%;
105
+ }
106
+ .tl-inline-tabs__tab--disabled {
107
+ color: var(--inline-tabs-tab-disabled);
108
+ pointer-events: none;
109
+ cursor: not-allowed;
110
+ }
111
+ .tl-inline-tabs__tab--disabled::after {
112
+ content: none;
113
+ }
114
+ .tl-inline-tabs__tab--disabled:focus-visible::before {
115
+ box-shadow: none;
116
+ }
117
+
37
118
  .tl-inline-tabs {
38
119
  box-sizing: border-box;
39
120
  }
package/dist/tl-modal.css CHANGED
@@ -12,6 +12,41 @@ body {
12
12
  }
13
13
 
14
14
  /* Typography Usage mixins */
15
+ /**
16
+ * Do not edit directly, this file was auto-generated.
17
+ */
18
+ :root,
19
+ .tds-mode-light,
20
+ .scania .tds-mode-light {
21
+ --component-shadow-hover: var(--scania-color-transparent-shadow-250);
22
+ --component-shadow-default: var(--scania-color-transparent-shadow-150);
23
+ --component-shadow-pressed: var(--scania-color-transparent-shadow-250);
24
+ --component-shadow-dragged: var(--scania-color-transparent-shadow-200);
25
+ --component-shadow-base-modifier: var(--scania-color-transparent-shadow-100);
26
+ --component-shadow-focus: var(--scania-color-transparent-shadow-350);
27
+ }
28
+
29
+ .tds-mode-dark,
30
+ .scania .tds-mode-dark {
31
+ --component-shadow-hover: var(--scania-color-transparent-invisible-dark);
32
+ --component-shadow-default: var(--scania-color-transparent-invisible-dark);
33
+ --component-shadow-pressed: var(--scania-color-transparent-invisible-dark);
34
+ --component-shadow-dragged: var(--scania-color-transparent-invisible-dark);
35
+ --component-shadow-base-modifier: var(--scania-color-transparent-invisible-dark);
36
+ --component-shadow-focus: var(--scania-color-transparent-invisible-dark);
37
+ }
38
+
39
+ .traton,
40
+ .traton .tds-mode-light,
41
+ .traton .tds-mode-dark {
42
+ --component-shadow-hover: var(--traton-color-transparent-invisible-dark);
43
+ --component-shadow-default: var(--traton-color-transparent-invisible-dark);
44
+ --component-shadow-pressed: var(--traton-color-transparent-invisible-dark);
45
+ --component-shadow-dragged: var(--traton-color-transparent-invisible-dark);
46
+ --component-shadow-base-modifier: var(--traton-color-transparent-invisible-dark);
47
+ --component-shadow-focus: var(--traton-color-transparent-invisible-dark);
48
+ }
49
+
15
50
  /* Component variables */
16
51
  .tl-modal,
17
52
  :root {
@@ -32,6 +32,87 @@
32
32
  --navigation-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
33
33
  }
34
34
 
35
+ /* Typography Usage mixins */
36
+ .tl-navigation-tabs__tab {
37
+ all: unset;
38
+ margin-right: 32px;
39
+ box-sizing: border-box;
40
+ }
41
+ .tl-navigation-tabs__tab * {
42
+ box-sizing: border-box;
43
+ }
44
+ .tl-navigation-tabs__tab {
45
+ font-family: var(--headline-07-font-family);
46
+ font-size: var(--headline-07-font-size);
47
+ line-height: var(--headline-07-line-height);
48
+ font-weight: var(--headline-07-font-weight);
49
+ letter-spacing: var(--headline-07-letter-spacing);
50
+ text-transform: var(--headline-07-text-transform);
51
+ color: var(--navigation-tabs-tab);
52
+ text-decoration: none;
53
+ display: block;
54
+ position: relative;
55
+ transition: color 0.15s ease-in-out 0s;
56
+ white-space: nowrap;
57
+ background-color: transparent;
58
+ border: 0;
59
+ padding: 26px 4px;
60
+ }
61
+ .tl-navigation-tabs__tab:focus-visible {
62
+ outline: none;
63
+ }
64
+ .tl-navigation-tabs__tab:focus-visible::before {
65
+ content: "";
66
+ position: absolute;
67
+ inset: 18px 0;
68
+ border-radius: 2px;
69
+ box-shadow: 0 0 0 2px var(--navigation-tabs-tab-focus) inset;
70
+ z-index: 2;
71
+ pointer-events: none;
72
+ }
73
+ .tl-navigation-tabs__tab::after {
74
+ background-color: var(--navigation-tabs-tab-indicator-hover);
75
+ content: " ";
76
+ position: absolute;
77
+ bottom: 0;
78
+ right: 0;
79
+ left: 0;
80
+ margin-left: auto;
81
+ width: 0%;
82
+ margin-right: auto;
83
+ height: 2px;
84
+ z-index: 1;
85
+ transition: width 0.15s ease-in-out 0s;
86
+ }
87
+ .tl-navigation-tabs__tab:not(.tl-navigation-tabs__tab--selected)::after {
88
+ width: 0%;
89
+ }
90
+ .tl-navigation-tabs__tab:hover {
91
+ cursor: pointer;
92
+ color: var(--navigation-tabs-tab-hover);
93
+ }
94
+ .tl-navigation-tabs__tab:hover::after {
95
+ width: 100%;
96
+ }
97
+ .tl-navigation-tabs__tab--selected {
98
+ color: var(--navigation-tabs-tab-selected);
99
+ }
100
+ .tl-navigation-tabs__tab--selected::after {
101
+ background-color: var(--navigation-tabs-tab-indicator-active);
102
+ width: 100%;
103
+ }
104
+ .tl-navigation-tabs__tab--disabled {
105
+ color: var(--navigation-tabs-tab-disabled);
106
+ pointer-events: none;
107
+ cursor: not-allowed;
108
+ }
109
+ .tl-navigation-tabs__tab--disabled::after {
110
+ content: none;
111
+ }
112
+ .tl-navigation-tabs__tab--disabled:focus-visible::before {
113
+ box-shadow: none;
114
+ }
115
+
35
116
  .tl-navigation-tabs {
36
117
  box-sizing: border-box;
37
118
  }
@@ -127,7 +127,7 @@
127
127
  }
128
128
  .tl-radio-button__input:disabled::after {
129
129
  background-color: var(--radio-button-background-disabled);
130
- border: 1px solid var(--radio-button-border-disabled);
130
+ border-color: var(--radio-button-background-disabled);
131
131
  outline: none;
132
132
  }
133
133
  .tl-radio-button__input:disabled:checked::before {