@scania/tegel-lite 0.1.0-dev-test-beta.0 → 0.1.0-dropdown-vars-beta.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 (153) hide show
  1. package/README.dev.md +1 -5
  2. package/README.md +12 -12
  3. package/dist/assets/fonts/traton/TratonTypeDisplay-Bold.woff +0 -0
  4. package/dist/assets/fonts/traton/TratonTypeDisplay-Bold.woff2 +0 -0
  5. package/dist/assets/fonts/traton/TratonTypeDisplay-Medium.woff +0 -0
  6. package/dist/assets/fonts/traton/TratonTypeDisplay-Medium.woff2 +0 -0
  7. package/dist/assets/fonts/traton/TratonTypeText-Bold.woff +0 -0
  8. package/dist/assets/fonts/traton/TratonTypeText-Bold.woff2 +0 -0
  9. package/dist/assets/fonts/traton/TratonTypeText-BoldItalic.woff +0 -0
  10. package/dist/assets/fonts/traton/TratonTypeText-BoldItalic.woff2 +0 -0
  11. package/dist/assets/fonts/traton/TratonTypeText-Italic.woff +0 -0
  12. package/dist/assets/fonts/traton/TratonTypeText-Italic.woff2 +0 -0
  13. package/dist/assets/fonts/traton/TratonTypeText-Medium.woff +0 -0
  14. package/dist/assets/fonts/traton/TratonTypeText-Medium.woff2 +0 -0
  15. package/dist/assets/fonts/traton/TratonTypeText-MediumItalic.woff +0 -0
  16. package/dist/assets/fonts/traton/TratonTypeText-MediumItalic.woff2 +0 -0
  17. package/dist/assets/fonts/traton/TratonTypeText-Regular.woff +0 -0
  18. package/dist/assets/fonts/traton/TratonTypeText-Regular.woff2 +0 -0
  19. package/dist/assets/fonts/traton/TratonTypeText-SemiBold.woff +0 -0
  20. package/dist/assets/fonts/traton/TratonTypeText-SemiBold.woff2 +0 -0
  21. package/dist/assets/fonts/traton/TratonTypeText-SemiBoldItalic.woff2 +0 -0
  22. package/dist/assets/icons/traton/back.svg +1 -0
  23. package/dist/assets/icons/traton/calendar_inactive.svg +1 -0
  24. package/dist/assets/icons/traton/card.svg +1 -0
  25. package/dist/assets/icons/traton/cart.svg +1 -0
  26. package/dist/assets/icons/traton/clock.svg +1 -0
  27. package/dist/assets/icons/traton/clock_inactive.svg +1 -0
  28. package/dist/assets/icons/traton/contact.svg +1 -0
  29. package/dist/assets/icons/traton/contact_inactive.svg +1 -0
  30. package/dist/assets/icons/traton/copy.svg +1 -0
  31. package/dist/assets/icons/traton/document.svg +1 -0
  32. package/dist/assets/icons/traton/document_check.svg +1 -0
  33. package/dist/assets/icons/traton/document_doc.svg +1 -0
  34. package/dist/assets/icons/traton/document_eye.svg +1 -0
  35. package/dist/assets/icons/traton/document_pdf.svg +1 -0
  36. package/dist/assets/icons/traton/document_tool.svg +1 -0
  37. package/dist/assets/icons/traton/document_word.svg +1 -0
  38. package/dist/assets/icons/traton/document_wrong.svg +1 -0
  39. package/dist/assets/icons/traton/document_xls.svg +1 -0
  40. package/dist/assets/icons/traton/dollar.svg +1 -0
  41. package/dist/assets/icons/traton/doner.svg +1 -0
  42. package/dist/assets/icons/traton/double_kebab.svg +1 -0
  43. package/dist/assets/icons/traton/download.svg +1 -0
  44. package/dist/assets/icons/traton/edit_inactive.svg +1 -1
  45. package/dist/assets/icons/traton/email.svg +1 -0
  46. package/dist/assets/icons/traton/export.svg +1 -0
  47. package/dist/assets/icons/traton/export_inactive.svg +1 -0
  48. package/dist/assets/icons/traton/eye.svg +1 -0
  49. package/dist/assets/icons/traton/eye_inactive.svg +1 -0
  50. package/dist/assets/icons/traton/face_dissatisfied.svg +1 -0
  51. package/dist/assets/icons/traton/face_neutral.svg +1 -0
  52. package/dist/assets/icons/traton/face_satisfied.svg +1 -0
  53. package/dist/assets/icons/traton/filters.svg +1 -0
  54. package/dist/assets/icons/traton/filters_inactive.svg +1 -0
  55. package/dist/assets/icons/traton/folder.svg +1 -0
  56. package/dist/assets/icons/traton/fuel_gauge.svg +1 -0
  57. package/dist/assets/icons/traton/fuel_gauge_inactive.svg +1 -0
  58. package/dist/assets/icons/traton/global.svg +1 -0
  59. package/dist/assets/icons/traton/heart.svg +1 -0
  60. package/dist/assets/icons/traton/heart_inactive.svg +1 -0
  61. package/dist/assets/icons/traton/home.svg +1 -0
  62. package/dist/assets/icons/traton/home_inactive.svg +1 -0
  63. package/dist/assets/icons/traton/image.svg +1 -0
  64. package/dist/assets/icons/traton/image_add.svg +1 -0
  65. package/dist/assets/icons/traton/image_inactive.svg +1 -0
  66. package/dist/assets/icons/traton/image_set.svg +1 -0
  67. package/dist/assets/icons/traton/kebab.svg +1 -0
  68. package/dist/assets/icons/traton/link.svg +1 -0
  69. package/dist/assets/icons/traton/link_broken.svg +1 -0
  70. package/dist/assets/icons/traton/lock.svg +1 -0
  71. package/dist/assets/icons/traton/meatballs.svg +1 -0
  72. package/dist/assets/icons/traton/message.svg +1 -0
  73. package/dist/assets/icons/traton/message_inactive.svg +1 -0
  74. package/dist/assets/icons/traton/mileage.svg +1 -0
  75. package/dist/assets/icons/traton/mileage_inactive.svg +1 -0
  76. package/dist/assets/icons/traton/notification_inactive.svg +1 -0
  77. package/dist/assets/icons/traton/phone.svg +1 -0
  78. package/dist/assets/icons/traton/phone_inactive.svg +1 -0
  79. package/dist/assets/icons/traton/pin.svg +1 -0
  80. package/dist/assets/icons/traton/pin_inactive.svg +1 -0
  81. package/dist/assets/icons/traton/placeholder.svg +1 -0
  82. package/dist/assets/icons/traton/print_inactive.svg +1 -0
  83. package/dist/assets/icons/traton/profile.svg +1 -0
  84. package/dist/assets/icons/traton/profile_inactive.svg +1 -0
  85. package/dist/assets/icons/traton/proportions.svg +1 -0
  86. package/dist/assets/icons/traton/proportions_inactive.svg +1 -0
  87. package/dist/assets/icons/traton/redirect.svg +1 -0
  88. package/dist/assets/icons/traton/report.svg +1 -0
  89. package/dist/assets/icons/traton/report_inactive.svg +1 -0
  90. package/dist/assets/icons/traton/save.svg +1 -0
  91. package/dist/assets/icons/traton/save_inactive.svg +1 -0
  92. package/dist/assets/icons/traton/send.svg +1 -0
  93. package/dist/assets/icons/traton/send_inactive.svg +1 -0
  94. package/dist/assets/icons/traton/settings.svg +1 -0
  95. package/dist/assets/icons/traton/skip_backwards.svg +1 -1
  96. package/dist/assets/icons/traton/skip_forward.svg +1 -1
  97. package/dist/assets/icons/traton/smartphone.svg +1 -0
  98. package/dist/assets/icons/traton/smartphone_inactive.svg +1 -0
  99. package/dist/assets/icons/traton/speedometer.svg +1 -0
  100. package/dist/assets/icons/traton/speedometer_inactive.svg +1 -0
  101. package/dist/assets/icons/traton/support.svg +1 -0
  102. package/dist/assets/icons/traton/timer.svg +1 -0
  103. package/dist/assets/icons/traton/tool.svg +1 -0
  104. package/dist/assets/icons/traton/tool_inactive.svg +1 -0
  105. package/dist/assets/icons/traton/trash.svg +1 -0
  106. package/dist/assets/icons/traton/trash_inactive.svg +1 -0
  107. package/dist/assets/icons/traton/unlock.svg +1 -0
  108. package/dist/assets/icons/traton/upload.svg +1 -0
  109. package/dist/assets/icons/traton/wallet.svg +1 -0
  110. package/dist/assets/icons/traton/warning.svg +1 -1
  111. package/dist/assets/icons/traton/wifi.svg +1 -0
  112. package/dist/assets/icons/traton/wifi_inactive.svg +1 -0
  113. package/dist/components.css +3751 -3642
  114. package/dist/global.css +148 -17
  115. package/dist/scania-variables.css +521 -310
  116. package/dist/tl-accordion.css +92 -36
  117. package/dist/tl-banner.css +88 -13
  118. package/dist/tl-block.css +62 -7
  119. package/dist/tl-breadcrumbs.css +55 -6
  120. package/dist/tl-button.css +181 -156
  121. package/dist/tl-card.css +43 -62
  122. package/dist/tl-checkbox.css +195 -115
  123. package/dist/tl-chip.css +152 -12
  124. package/dist/tl-datetime.css +45 -34
  125. package/dist/tl-divider.css +76 -6
  126. package/dist/tl-dropdown.css +387 -230
  127. package/dist/tl-folder-tabs.css +167 -51
  128. package/dist/tl-footer.css +88 -34
  129. package/dist/tl-header.css +469 -387
  130. package/dist/tl-icon.css +5 -1
  131. package/dist/tl-inline-tabs.css +164 -61
  132. package/dist/tl-link.css +114 -16
  133. package/dist/tl-message.css +128 -14
  134. package/dist/tl-modal.css +111 -16
  135. package/dist/tl-navigation-tabs.css +167 -51
  136. package/dist/tl-popover-canvas.css +112 -9
  137. package/dist/tl-popover-menu.css +134 -28
  138. package/dist/tl-radio-button.css +159 -96
  139. package/dist/tl-side-menu.css +346 -326
  140. package/dist/tl-text-field.css +265 -77
  141. package/dist/tl-textarea.css +282 -76
  142. package/dist/tl-toast.css +119 -10
  143. package/dist/tl-toggle.css +149 -44
  144. package/dist/tl-tooltip.css +63 -15
  145. package/dist/traton-variables.css +361 -30
  146. package/package.json +12 -24
  147. package/dist/tl-badge.css +0 -45
  148. package/dist/tl-checkbox-vars.css +0 -38
  149. package/dist/tl-slider.css +0 -2250
  150. package/dist/tl-spinner.css +0 -78
  151. package/dist/tl-step.css +0 -247
  152. package/dist/tl-stepper.css +0 -91
  153. package/dist/tl-table.css +0 -857
package/dist/tl-card.css CHANGED
@@ -7,20 +7,26 @@
7
7
  .scania.tds-mode-light,
8
8
  .scania .tl-mode-light,
9
9
  .scania.tl-mode-light {
10
- --component-card-background-primary: #fff;
11
- --component-card-background-secondary: #fff;
10
+ --component-card-background-primary-default: var(--scania-color-base-white);
11
+ --component-card-background-secondary-default: var(--scania-color-base-white);
12
12
  --component-card-border-radius-default: var(--scania-unit-4);
13
13
  --component-card-space-padding-default: var(--scania-unit-16);
14
+ --component-card-text-title-default: var(--color-text-strong);
15
+ --component-card-text-subtitle-default: var(--color-text-soft);
16
+ --component-card-text-body-default: var(--color-text-defined);
14
17
  }
15
18
 
16
19
  .traton .tds-mode-light,
17
20
  .traton.tds-mode-light,
18
21
  .traton .tl-mode-light,
19
22
  .traton.tl-mode-light {
20
- --component-card-background-primary: var(--traton-color-transparent-invisible-light);
21
- --component-card-background-secondary: var(--traton-color-transparent-invisible-light);
23
+ --component-card-background-primary-default: var(--traton-color-transparent-invisible-light);
24
+ --component-card-background-secondary-default: var(--traton-color-transparent-invisible-light);
22
25
  --component-card-border-radius-default: var(--traton-unit-0);
23
26
  --component-card-space-padding-default: var(--traton-unit-0);
27
+ --component-card-text-title-default: var(--color-text-strong);
28
+ --component-card-text-subtitle-default: var(--color-text-soft);
29
+ --component-card-text-body-default: var(--color-text-defined);
24
30
  }
25
31
 
26
32
  .tds-mode-dark,
@@ -28,37 +34,41 @@
28
34
  .scania.tds-mode-dark,
29
35
  .scania .tl-mode-dark,
30
36
  .scania.tl-mode-dark {
31
- --component-card-background-primary: var(--color-background-layer-01);
32
- --component-card-background-secondary: var(--color-background-layer-02);
37
+ --component-card-background-primary-default: var(--color-background-layer-01);
38
+ --component-card-background-secondary-default: var(--color-background-layer-02);
33
39
  --component-card-border-radius-default: var(--scania-unit-4);
34
40
  --component-card-space-padding-default: var(--scania-unit-16);
41
+ --component-card-text-title-default: var(--color-text-strong);
42
+ --component-card-text-subtitle-default: var(--color-text-soft);
43
+ --component-card-text-body-default: var(--color-text-defined);
35
44
  }
36
45
 
37
46
  .traton .tds-mode-dark,
38
47
  .traton.tds-mode-dark,
39
48
  .traton .tl-mode-dark,
40
49
  .traton.tl-mode-dark {
41
- --component-card-background-primary: var(--traton-color-transparent-invisible-dark);
42
- --component-card-background-secondary: var(--traton-color-transparent-invisible-dark);
50
+ --component-card-background-primary-default: var(--traton-color-transparent-invisible-dark);
51
+ --component-card-background-secondary-default: var(--traton-color-transparent-invisible-dark);
43
52
  --component-card-border-radius-default: var(--traton-unit-0);
44
53
  --component-card-space-padding-default: var(--traton-unit-0);
54
+ --component-card-text-title-default: var(--color-text-strong);
55
+ --component-card-text-subtitle-default: var(--color-text-soft);
56
+ --component-card-text-body-default: var(--color-text-defined);
45
57
  }
46
58
 
47
59
  .tl-card {
48
- --card-background: var(--tds-white);
49
- --card-background-primary: var(--component-card-primary);
50
- --card-background-secondary: var(--component-card-secondary);
60
+ --card-background: var(--component-card-background-primary-default);
61
+ --card-border-radius: calc(var(--component-card-border-radius-default) * 1px);
51
62
  --card-box-primary: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
52
63
  --card-box-secondary: 0 -1px 1px rgb(0 0 0 / 5%), 0 3px 3px rgb(0 0 0 / 10%);
53
64
  --card-box: var(--card-box-primary);
54
65
  --card-box-hover: 0 -1px 1px rgb(0 0 0 / 5%), 0 3px 3px rgb(0 0 0 / 20%);
55
66
  --card-box-pressed: 0 -1px 1px rgb(0 0 0 / 5%), 0 1px 3px rgb(0 0 0 / 20%);
56
- --card-headline: var(--color-foreground-text-strong);
57
- --card-sub-headline: var(--color-foreground-text-subtle);
58
- --card-body-color: var(--color-foreground-text-defined);
59
- --card-divider: var(--color-foreground-border-discrete);
60
- --card-icon-color: var(--color-foreground-icon-strong);
61
- /* Paddings */
67
+ --card-headline: var(--component-card-text-title-default);
68
+ --card-sub-headline: var(--component-card-text-subtitle-default);
69
+ --card-body-color: var(--component-card-text-body-default);
70
+ --card-divider: var(--color-border-discrete);
71
+ --card-icon-color: var(--component-card-text-title-default);
62
72
  --card-body-padding: 0 16px;
63
73
  --card-header-padding: 16px;
64
74
  --card-slotted-padding: 16px;
@@ -66,31 +76,23 @@
66
76
  }
67
77
  .tl-card--primary {
68
78
  --card-box: var(--card-box-primary);
79
+ --card-background: var(--component-card-background-primary-default);
69
80
  }
70
- .tl-card.tl-card--mode-variant-secondary {
81
+ .tl-card--secondary {
71
82
  --card-box: var(--card-box-secondary);
83
+ --card-background: var(--component-card-background-secondary-default);
72
84
  }
73
85
 
74
- .scania .tl-card {
75
- /* Paddings */
76
- --card-body-padding: 0 16px;
77
- --card-header-padding: 16px;
78
- --card-slotted-padding: 16px;
79
- --card-divider-margin: 16px 16px 0;
80
- }
81
- .scania .tl-card--primary {
82
- --card-box: var(--card-box-primary);
83
- }
84
- .scania .tl-card--secondary {
85
- --card-box: var(--card-box-primary);
86
+ .tds-mode-dark .tl-card,
87
+ .tl-mode-dark .tl-card {
88
+ --card-box-primary: 0 -1px 1px rgb(0 0 0 / 5%), 0 3px 3px rgb(0 0 0 / 10%);
89
+ --card-box-secondary: 0 3px 3px rgb(0 0 0 / 10%), 0 -1px 1px rgb(0 0 0 / 5%);
86
90
  }
87
91
 
88
92
  .traton .tl-card {
89
93
  --card-box: none;
90
- --card-background: transparent;
91
94
  --card-box-hover: none;
92
95
  --card-box-pressed: none;
93
- /* Paddings and margins */
94
96
  --card-body-padding: 0;
95
97
  --card-header-padding: 16px 16px 16px 0;
96
98
  --card-slotted-padding: 16px 16px 16px 0;
@@ -98,35 +100,11 @@
98
100
  }
99
101
  .traton .tl-card--primary {
100
102
  --card-box: none;
101
- --card-background: transparent;
103
+ --card-background: var(--component-card-background-primary-default);
102
104
  }
103
105
  .traton .tl-card--secondary {
104
106
  --card-box: none;
105
- --card-background: transparent;
106
- }
107
-
108
- /* Dark mode */
109
- .tl-mode-dark {
110
- --card-background-primary: var(--tds-grey-900);
111
- --card-background-secondary: var(--tds-grey-850);
112
- }
113
- .tl-mode-dark .tl-card {
114
- --card-background: var(--card-background-primary);
115
- }
116
- .tl-mode-dark .tl-card--primary {
117
- --card-box: var(--card-box-primary);
118
- --card-background: var(--card-background-primary);
119
- }
120
- .tl-mode-dark .tl-card--secondary {
121
- --card-box: var(--card-box-primary);
122
- --card-background: var(--card-background-secondary);
123
- }
124
-
125
- .traton .tl-mode-dark .tl-card--primary {
126
- --card-background: transparent;
127
- }
128
- .traton .tl-mode-dark .tl-card--secondary {
129
- --card-background: transparent;
107
+ --card-background: var(--component-card-background-secondary-default);
130
108
  }
131
109
 
132
110
  /* Typography Usage mixins */
@@ -143,7 +121,7 @@
143
121
  width: 100%;
144
122
  box-shadow: var(--card-box);
145
123
  background-color: var(--card-background);
146
- border-radius: 4px;
124
+ border-radius: var(--card-border-radius);
147
125
  overflow: hidden;
148
126
  }
149
127
  .tl-card--clickable {
@@ -153,9 +131,10 @@
153
131
  padding: 0;
154
132
  }
155
133
  .tl-card--clickable:focus-visible {
156
- outline: var(--dimension-radius-focus-width) solid var(--color-foreground-border-accent-focus);
157
- box-shadow: 0 0 0 1px var(--color-brand-neutral-white);
134
+ outline: 2px solid var(--component--focus-ring-color-strong);
135
+ box-shadow: 0 0 0 1px var(--component--focus-ring-color-discrete);
158
136
  outline-offset: 1px;
137
+ z-index: 1;
159
138
  }
160
139
  .tl-card--clickable:active {
161
140
  box-shadow: var(--card-box-pressed);
@@ -189,6 +168,7 @@
189
168
  block-size: 36px;
190
169
  border-radius: 100%;
191
170
  margin-right: 16px;
171
+ background-color: var(--color-background-layer-03);
192
172
  }
193
173
 
194
174
  .tl-card__headings {
@@ -210,6 +190,7 @@
210
190
  inline-size: 100%;
211
191
  block-size: auto;
212
192
  display: block;
193
+ background-color: var(--color-background-layer-03);
213
194
  }
214
195
 
215
196
  .tl-card__divider {
@@ -221,7 +202,7 @@
221
202
 
222
203
  .tl-card__body {
223
204
  display: block;
224
- word-wrap: break-word;
205
+ overflow-wrap: break-word;
225
206
  }
226
207
  .tl-card--stretch .tl-card__body {
227
208
  display: flex;
@@ -1,41 +1,152 @@
1
1
  /* Typography Usage mixins */
2
- .tl-checkbox {
3
- --checkbox-label: var(--color-foreground-text-strong);
4
- --checkbox-label-disabled: var(--color-foreground-text-disabled);
5
- --checkbox-icon: var(--color-foreground-icon-strong);
6
- --checkbox-fill: var(--color-foreground-icon-inverse-strong);
7
- --checkbox-fill-disabled: var(--color-background-accent-primary-disabled);
8
- --checkbox-border: var(--color-foreground-border-strong);
9
- --checkbox-border-hover: var(--color-foreground-border-subtle);
10
- --checkbox-border-focus: var(--color-foreground-border-accent-focus);
11
- --checkbox-border-disabled: var(--color-foreground-border-discrete);
12
- --checkbox-background-opacity-hover: 0.12;
13
- --checkbox-background-opacity-focus: 0.24;
14
- --checkbox-background-img: url("data:image/svg+xml;utf8,<svg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'> <path d='M1 2.33333L3.4 5C4.80589 3.4379 5.59411 2.5621 7 1' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/></svg>");
15
- --checkbox-background-img-indeterminate: url("data:image/svg+xml;utf8,<svg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'><rect y='0.5' width='8' height='1' rx='0.5' fill='%23ffffff'/></svg>");
16
- --checkbox-background-img-disabled: url("data:image/svg+xml;utf8,<svg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'> <path d='M1 2.33333L3.4 5C4.80589 3.4379 5.59411 2.5621 7 1' stroke='%23b0b7c4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
17
- --checkbox-background-img-indeterminate-disabled: url("data:image/svg+xml;utf8,<svg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'><rect y='0.5' width='8' height='1' rx='0.5' fill='%23b0b7c4'/></svg>");
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ :root,
6
+ .tds-mode-light,
7
+ .scania .tds-mode-light,
8
+ .scania.tds-mode-light,
9
+ .scania .tl-mode-light,
10
+ .scania.tl-mode-light {
11
+ --component-checkbox-background-standard-default: var(--color-background-none);
12
+ --component-checkbox-background-standard-hover: var(--color-background-none);
13
+ --component-checkbox-background-selected-default: var(--scania-color-grey-950);
14
+ --component-checkbox-background-selected-hover: var(--scania-color-grey-950);
15
+ --component-checkbox-background-indeterminate-default: var(--scania-color-grey-950);
16
+ --component-checkbox-background-indeterminate-hover: var(--scania-color-grey-950);
17
+ --component-checkbox-border-standard-default: var(--color-border-strong);
18
+ --component-checkbox-border-standard-hover: var(--color-border-strong);
19
+ --component-checkbox-border-selected-default: var(--color-border-none);
20
+ --component-checkbox-border-selected-hover: var(--color-border-none);
21
+ --component-checkbox-border-indeterminate-default: var(--color-border-none);
22
+ --component-checkbox-border-indeterminate-hover: var(--color-border-none);
23
+ --component-checkbox-border-indicator-default: var(--color-border-none);
24
+ --component-checkbox-border-indicator-hover: var(--color-border-subtle);
25
+ --component-checkbox-border-radius-default: var(--scania-unit-2);
26
+ --component-checkbox-focus-ring-radius-default: var(--component--focus-ring-radius-medium);
27
+ --component-checkbox-icon-selected-default: var(--color-icon-inverse-strong);
28
+ --component-checkbox-icon-selected-hover: var(--color-icon-inverse-strong);
29
+ --component-checkbox-icon-indeterminate-default: var(--color-icon-inverse-strong);
30
+ --component-checkbox-icon-indeterminate-hover: var(--color-icon-inverse-strong);
31
+ --component-checkbox-opacity-disabled: var(--scania-opacity-25);
32
+ --component-checkbox-text-default: var(--color-text-strong);
33
+ --component-checkbox-text-hover: var(--color-text-strong);
18
34
  }
19
35
 
20
- .tl-mode-dark .tl-checkbox {
21
- --checkbox-background-img: url("data:image/svg+xml;utf8,<svg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'> <path d='M1 2.33333L3.4 5C4.80589 3.4379 5.59411 2.5621 7 1' stroke='%230D0F13' stroke-linecap='round' stroke-linejoin='round'/></svg>");
22
- --checkbox-background-img-indeterminate: url("data:image/svg+xml;utf8,<svg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'><rect y='0.5' width='8' height='1' rx='0.5' fill='%230D0F13'/></svg>");
23
- --checkbox-background-img-disabled: url("data:image/svg+xml;utf8,<svg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'> <path d='M1 2.33333L3.4 5C4.80589 3.4379 5.59411 2.5621 7 1' stroke='%2356657A' stroke-linecap='round' stroke-linejoin='round'/></svg>");
24
- --checkbox-background-img-indeterminate-disabled: url("data:image/svg+xml;utf8,<svg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'><rect y='0.5' width='8' height='1' rx='0.5' fill='%2356657A'/></svg>");
36
+ .traton .tds-mode-light,
37
+ .traton.tds-mode-light,
38
+ .traton .tl-mode-light,
39
+ .traton.tl-mode-light {
40
+ --component-checkbox-background-standard-default: var(--color-background-none);
41
+ --component-checkbox-background-standard-hover: var(--color-background-none);
42
+ --component-checkbox-background-selected-default: var(--traton-color-blue-950);
43
+ --component-checkbox-background-selected-hover: var(--traton-color-blue-950);
44
+ --component-checkbox-background-indeterminate-default: var(--traton-color-blue-950);
45
+ --component-checkbox-background-indeterminate-hover: var(--traton-color-blue-950);
46
+ --component-checkbox-border-standard-default: var(--color-border-strong);
47
+ --component-checkbox-border-standard-hover: var(--color-border-strong);
48
+ --component-checkbox-border-selected-default: var(--color-border-none);
49
+ --component-checkbox-border-selected-hover: var(--color-border-none);
50
+ --component-checkbox-border-indeterminate-default: var(--color-border-none);
51
+ --component-checkbox-border-indeterminate-hover: var(--color-border-none);
52
+ --component-checkbox-border-indicator-default: var(--color-border-none);
53
+ --component-checkbox-border-indicator-hover: var(--color-border-subtle);
54
+ --component-checkbox-border-radius-default: var(--traton-unit-2);
55
+ --component-checkbox-focus-ring-radius-default: var(--component--focus-ring-radius-medium);
56
+ --component-checkbox-icon-selected-default: var(--color-icon-inverse-strong);
57
+ --component-checkbox-icon-selected-hover: var(--color-icon-inverse-strong);
58
+ --component-checkbox-icon-indeterminate-default: var(--color-icon-inverse-strong);
59
+ --component-checkbox-icon-indeterminate-hover: var(--color-icon-inverse-strong);
60
+ --component-checkbox-opacity-disabled: var(--traton-opacity-25);
61
+ --component-checkbox-text-default: var(--color-text-strong);
62
+ --component-checkbox-text-hover: var(--color-text-strong);
25
63
  }
26
64
 
27
- .scania .tl-checkbox {
28
- --checkbox-focus-width: 20px;
29
- --checkbox-focus-height: 20px;
30
- --checkbox-focus-left: 2px;
31
- --checkbox-focus-top: 2px;
65
+ .tds-mode-dark,
66
+ .scania .tds-mode-dark,
67
+ .scania.tds-mode-dark,
68
+ .scania .tl-mode-dark,
69
+ .scania.tl-mode-dark {
70
+ --component-checkbox-background-standard-default: var(--color-background-none);
71
+ --component-checkbox-background-standard-hover: var(--color-background-none);
72
+ --component-checkbox-background-selected-default: var(--scania-color-grey-50);
73
+ --component-checkbox-background-selected-hover: var(--scania-color-grey-50);
74
+ --component-checkbox-background-indeterminate-default: var(--scania-color-grey-50);
75
+ --component-checkbox-background-indeterminate-hover: var(--scania-color-grey-50);
76
+ --component-checkbox-border-standard-default: var(--color-border-strong);
77
+ --component-checkbox-border-standard-hover: var(--color-border-strong);
78
+ --component-checkbox-border-selected-default: var(--color-border-none);
79
+ --component-checkbox-border-selected-hover: var(--color-border-none);
80
+ --component-checkbox-border-indeterminate-default: var(--color-border-none);
81
+ --component-checkbox-border-indeterminate-hover: var(--color-border-none);
82
+ --component-checkbox-border-indicator-default: var(--color-border-none);
83
+ --component-checkbox-border-indicator-hover: var(--color-border-subtle);
84
+ --component-checkbox-border-radius-default: var(--scania-unit-2);
85
+ --component-checkbox-focus-ring-radius-default: var(--component--focus-ring-radius-medium);
86
+ --component-checkbox-icon-selected-default: var(--color-icon-inverse-strong);
87
+ --component-checkbox-icon-selected-hover: var(--color-icon-inverse-strong);
88
+ --component-checkbox-icon-indeterminate-default: var(--color-icon-inverse-strong);
89
+ --component-checkbox-icon-indeterminate-hover: var(--color-icon-inverse-strong);
90
+ --component-checkbox-opacity-disabled: var(--scania-opacity-25);
91
+ --component-checkbox-text-default: var(--color-text-strong);
92
+ --component-checkbox-text-hover: var(--color-text-strong);
32
93
  }
33
94
 
34
- .traton .tl-checkbox {
35
- --checkbox-focus-width: 22px;
36
- --checkbox-focus-height: 22px;
37
- --checkbox-focus-left: 1px;
38
- --checkbox-focus-top: 1px;
95
+ .traton .tds-mode-dark,
96
+ .traton.tds-mode-dark,
97
+ .traton .tl-mode-dark,
98
+ .traton.tl-mode-dark {
99
+ --component-checkbox-background-standard-default: var(--color-background-none);
100
+ --component-checkbox-background-standard-hover: var(--color-background-none);
101
+ --component-checkbox-background-selected-default: var(--traton-color-base-white);
102
+ --component-checkbox-background-selected-hover: var(--traton-color-base-white);
103
+ --component-checkbox-background-indeterminate-default: var(--traton-color-base-white);
104
+ --component-checkbox-background-indeterminate-hover: var(--traton-color-base-white);
105
+ --component-checkbox-border-standard-default: var(--color-border-strong);
106
+ --component-checkbox-border-standard-hover: var(--color-border-strong);
107
+ --component-checkbox-border-selected-default: var(--color-border-none);
108
+ --component-checkbox-border-selected-hover: var(--color-border-none);
109
+ --component-checkbox-border-indeterminate-default: var(--color-border-none);
110
+ --component-checkbox-border-indeterminate-hover: var(--color-border-none);
111
+ --component-checkbox-border-indicator-default: var(--color-border-none);
112
+ --component-checkbox-border-indicator-hover: var(--color-border-subtle);
113
+ --component-checkbox-border-radius-default: var(--traton-unit-2);
114
+ --component-checkbox-focus-ring-radius-default: var(--component--focus-ring-radius-medium);
115
+ --component-checkbox-icon-selected-default: var(--color-icon-inverse-strong);
116
+ --component-checkbox-icon-selected-hover: var(--color-icon-inverse-strong);
117
+ --component-checkbox-icon-indeterminate-default: var(--color-icon-inverse-strong);
118
+ --component-checkbox-icon-indeterminate-hover: var(--color-icon-inverse-strong);
119
+ --component-checkbox-opacity-disabled: var(--traton-opacity-25);
120
+ --component-checkbox-text-default: var(--color-text-strong);
121
+ --component-checkbox-text-hover: var(--color-text-strong);
122
+ }
123
+
124
+ .tl-checkbox {
125
+ --checkbox-text: var(--component-checkbox-text-default);
126
+ --checkbox-text-hover: var(--component-checkbox-text-hover);
127
+ --checkbox-background: var(--component-checkbox-background-standard-default);
128
+ --checkbox-background-hover: var(--component-checkbox-background-standard-hover);
129
+ --checkbox-background-selected: var(--component-checkbox-background-selected-default);
130
+ --checkbox-background-selected-hover: var(--component-checkbox-background-selected-hover);
131
+ --checkbox-background-indeterminate: var(--component-checkbox-background-indeterminate-default);
132
+ --checkbox-background-indeterminate-hover: var(--component-checkbox-background-indeterminate-hover);
133
+ --checkbox-border: var(--component-checkbox-border-standard-default);
134
+ --checkbox-border-hover: var(--component-checkbox-border-standard-hover);
135
+ --checkbox-border-selected: var(--component-checkbox-border-selected-default);
136
+ --checkbox-border-selected-hover: var(--component-checkbox-border-selected-hover);
137
+ --checkbox-border-indeterminate: var(--component-checkbox-border-indeterminate-default);
138
+ --checkbox-border-indeterminate-hover: var(--component-checkbox-border-indeterminate-hover);
139
+ --checkbox-indicator: var(--component-checkbox-border-indicator-default);
140
+ --checkbox-indicator-hover: var(--component-checkbox-border-indicator-hover);
141
+ --checkbox-icon-selected: var(--component-checkbox-icon-selected-default);
142
+ --checkbox-icon-selected-hover: var(--component-checkbox-icon-selected-hover);
143
+ --checkbox-icon-indeterminate: var(--component-checkbox-icon-indeterminate-default);
144
+ --checkbox-icon-indeterminate-hover: var(--component-checkbox-icon-indeterminate-hover);
145
+ --checkbox-border-radius: calc(var(--component-checkbox-border-radius-default) * 1px);
146
+ --checkbox-focus-ring-radius: calc(var(--component-checkbox-focus-ring-radius-default) * 1px);
147
+ --checkbox-opacity-disabled: calc(var(--component-checkbox-opacity-disabled) / 100);
148
+ --checkbox-icon-mask: url("data:image/svg+xml;utf8,<svg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M1 2.33333L3.4 5C4.80589 3.4379 5.59411 2.5621 7 1' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/></svg>");
149
+ --checkbox-icon-mask-indeterminate: url("data:image/svg+xml;utf8,<svg width='8' height='2' viewBox='0 0 8 2' fill='none' xmlns='http://www.w3.org/2000/svg'><rect y='0.5' width='8' height='1' rx='0.5' fill='%23000'/></svg>");
39
150
  }
40
151
 
41
152
  .tl-checkbox {
@@ -53,7 +164,7 @@
53
164
  text-transform: var(--detail-02-text-transform);
54
165
  display: flex;
55
166
  align-items: center;
56
- color: var(--checkbox-label);
167
+ color: var(--checkbox-text);
57
168
  }
58
169
  .tl-checkbox:has(:disabled) {
59
170
  cursor: not-allowed;
@@ -64,7 +175,6 @@
64
175
  outline: none;
65
176
  margin: 0;
66
177
  border: 0;
67
- border-radius: 2px;
68
178
  width: 24px;
69
179
  height: 24px;
70
180
  position: relative;
@@ -76,90 +186,76 @@
76
186
  content: "";
77
187
  position: absolute;
78
188
  box-sizing: border-box;
79
- }
80
- .tl-checkbox__input::before {
81
- width: 20px;
82
- height: 20px;
83
- left: 2px;
84
- top: 2px;
85
- border-radius: 4px;
86
- }
87
- .tl-checkbox__input::after {
88
- border: 1px solid var(--checkbox-border);
89
- background-color: var(--checkbox-fill);
90
189
  width: 16px;
91
190
  height: 16px;
92
191
  left: 4px;
93
192
  top: 4px;
94
- border-radius: 2px;
95
193
  }
96
- .tl-checkbox__input:not(:disabled):hover::before {
97
- background-color: var(--checkbox-border-hover);
194
+ .tl-checkbox__input::before {
195
+ border: 1px solid var(--checkbox-border);
196
+ background-color: var(--checkbox-background);
197
+ border-radius: var(--checkbox-border-radius);
198
+ box-shadow: 0 0 0 2px var(--checkbox-indicator);
199
+ transition: box-shadow 0.2s ease-in-out;
98
200
  }
99
- .tl-checkbox__input:focus-visible::before {
100
- background-color: var(--checkbox-border-focus);
101
- transition: opacity 0.2s ease-in-out;
102
- width: var(--checkbox-focus-width);
103
- height: var(--checkbox-focus-height);
104
- left: var(--checkbox-focus-left);
105
- top: var(--checkbox-focus-top);
106
- }
107
- .tl-checkbox__input:hover:focus-visible::before {
108
- width: 20px;
109
- height: 20px;
110
- left: 2px;
111
- top: 2px;
112
- background-color: var(--checkbox-border-hover);
201
+ .tl-checkbox__input::after {
202
+ background-color: var(--checkbox-icon-selected);
203
+ mask: var(--checkbox-icon-mask) no-repeat center;
204
+ -webkit-mask: var(--checkbox-icon-mask) no-repeat center;
205
+ opacity: 0;
206
+ z-index: 1;
113
207
  }
114
- .tl-checkbox__input:disabled {
115
- cursor: not-allowed;
208
+ .tl-checkbox__input:not(:disabled):hover::before {
209
+ border-color: var(--checkbox-border-hover);
210
+ background-color: var(--checkbox-background-hover);
211
+ box-shadow: 0 0 0 2px var(--checkbox-indicator-hover);
116
212
  }
117
- .tl-checkbox__input:disabled::after {
118
- border-color: var(--checkbox-border-disabled);
119
- background-color: var(--checkbox-fill-disabled);
213
+ .tl-checkbox__input:focus-visible::before {
214
+ outline: 2px solid var(--component--focus-ring-color-strong);
215
+ box-shadow: 0 0 0 1px var(--component--focus-ring-color-discrete);
216
+ outline-offset: 1px;
217
+ z-index: 1;
218
+ border-radius: var(--checkbox-focus-ring-radius);
120
219
  }
121
- .tl-checkbox__input:disabled:hover::before {
122
- display: none;
220
+ .tl-checkbox__input:checked::before {
221
+ border-color: var(--checkbox-border-selected);
222
+ background-color: var(--checkbox-background-selected);
123
223
  }
124
224
  .tl-checkbox__input:checked::after {
125
- background-image: var(--checkbox-background-img);
126
- background-color: var(--checkbox-border);
127
- background-repeat: no-repeat;
128
- background-position: center;
129
- border-color: var(--checkbox-border);
225
+ background-color: var(--checkbox-icon-selected);
226
+ opacity: 1;
130
227
  }
131
- .tl-checkbox__input:checked:not(:disabled):hover::after {
132
- border-color: var(--checkbox-border-hover);
228
+ .tl-checkbox__input:checked:not(:disabled):hover::before {
229
+ border-color: var(--checkbox-border-selected-hover);
230
+ background-color: var(--checkbox-background-selected-hover);
133
231
  }
134
- .tl-checkbox__input:checked:disabled::after {
135
- background-image: var(--checkbox-background-img-disabled);
136
- background-color: var(--checkbox-fill-disabled);
137
- border-color: var(--checkbox-border-disabled);
232
+ .tl-checkbox__input:checked:not(:disabled):hover::after {
233
+ background-color: var(--checkbox-icon-selected-hover);
138
234
  }
139
- .tl-checkbox__input:checked:focus-visible::before {
140
- background-color: var(--checkbox-border-focus);
235
+ .tl-checkbox__input--indeterminate::before {
236
+ border-color: var(--checkbox-border-indeterminate);
237
+ background-color: var(--checkbox-background-indeterminate);
141
238
  }
142
239
  .tl-checkbox__input--indeterminate::after {
143
- background-image: var(--checkbox-background-img-indeterminate);
144
- background-color: var(--checkbox-border);
145
- background-repeat: no-repeat;
146
- background-position: center;
147
- border-color: var(--checkbox-border);
240
+ background-color: var(--checkbox-icon-indeterminate);
241
+ mask: var(--checkbox-icon-mask-indeterminate) no-repeat center;
242
+ -webkit-mask: var(--checkbox-icon-mask-indeterminate) no-repeat center;
243
+ opacity: 1;
148
244
  }
149
- .tl-checkbox__input--indeterminate:not(:disabled):hover::after {
150
- border-color: var(--checkbox-border-hover);
245
+ .tl-checkbox__input--indeterminate:not(:disabled):hover::before {
246
+ border-color: var(--checkbox-border-indeterminate-hover);
247
+ background-color: var(--checkbox-background-indeterminate-hover);
151
248
  }
152
- .tl-checkbox__input--indeterminate:disabled::after {
153
- background-image: var(--checkbox-background-img-indeterminate-disabled);
154
- background-color: var(--checkbox-fill-disabled);
155
- border-color: var(--checkbox-border-disabled);
249
+ .tl-checkbox__input--indeterminate:not(:disabled):hover::after {
250
+ background-color: var(--checkbox-icon-indeterminate-hover);
156
251
  }
157
- .tl-checkbox__input--indeterminate:focus-visible::before {
158
- background-color: var(--checkbox-border-focus);
252
+ .tl-checkbox__input:disabled {
253
+ cursor: not-allowed;
254
+ opacity: var(--checkbox-opacity-disabled);
159
255
  }
160
256
 
161
257
  .tl-checkbox__label {
162
- color: var(--checkbox-label);
258
+ color: var(--checkbox-text);
163
259
  padding-left: var(--tds-spacing-element-4);
164
260
  padding-top: var(--tds-spacing-element-4);
165
261
  padding-bottom: var(--tds-spacing-element-4);
@@ -168,26 +264,10 @@
168
264
  position: relative;
169
265
  cursor: pointer;
170
266
  }
267
+ .tl-checkbox__input:not(:disabled):hover + .tl-checkbox__label {
268
+ color: var(--checkbox-text-hover);
269
+ }
171
270
  .tl-checkbox:has(:disabled) .tl-checkbox__label {
172
- color: var(--checkbox-label-disabled);
271
+ opacity: var(--checkbox-opacity-disabled);
173
272
  cursor: not-allowed;
174
- }
175
-
176
- .tl-checkbox__input--indeterminate::after {
177
- background-image: var(--checkbox-background-img-indeterminate);
178
- background-color: var(--checkbox-border);
179
- background-repeat: no-repeat;
180
- background-position: center;
181
- border-color: var(--checkbox-border);
182
- }
183
- .tl-checkbox__input--indeterminate:not(:disabled):hover::after {
184
- border-color: var(--checkbox-border-hover);
185
- }
186
- .tl-checkbox__input--indeterminate:disabled::after {
187
- background-image: var(--checkbox-background-img-indeterminate-disabled);
188
- background-color: var(--checkbox-fill-disabled);
189
- border-color: var(--checkbox-border-disabled);
190
- }
191
- .tl-checkbox__input--indeterminate:focus-visible::before {
192
- background-color: var(--checkbox-border-focus);
193
273
  }