@scania/tegel-lite 0.1.0-focus-ring-beta.0 → 0.1.0-header-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 (134) hide show
  1. package/README.dev.md +1 -5
  2. package/README.md +12 -12
  3. package/dist/assets/icons/traton/back.svg +1 -0
  4. package/dist/assets/icons/traton/calendar_inactive.svg +1 -0
  5. package/dist/assets/icons/traton/card.svg +1 -0
  6. package/dist/assets/icons/traton/cart.svg +1 -0
  7. package/dist/assets/icons/traton/clock.svg +1 -0
  8. package/dist/assets/icons/traton/clock_inactive.svg +1 -0
  9. package/dist/assets/icons/traton/contact.svg +1 -0
  10. package/dist/assets/icons/traton/contact_inactive.svg +1 -0
  11. package/dist/assets/icons/traton/copy.svg +1 -0
  12. package/dist/assets/icons/traton/document.svg +1 -0
  13. package/dist/assets/icons/traton/document_check.svg +1 -0
  14. package/dist/assets/icons/traton/document_doc.svg +1 -0
  15. package/dist/assets/icons/traton/document_eye.svg +1 -0
  16. package/dist/assets/icons/traton/document_pdf.svg +1 -0
  17. package/dist/assets/icons/traton/document_tool.svg +1 -0
  18. package/dist/assets/icons/traton/document_word.svg +1 -0
  19. package/dist/assets/icons/traton/document_wrong.svg +1 -0
  20. package/dist/assets/icons/traton/document_xls.svg +1 -0
  21. package/dist/assets/icons/traton/dollar.svg +1 -0
  22. package/dist/assets/icons/traton/doner.svg +1 -0
  23. package/dist/assets/icons/traton/double_kebab.svg +1 -0
  24. package/dist/assets/icons/traton/download.svg +1 -0
  25. package/dist/assets/icons/traton/edit_inactive.svg +1 -1
  26. package/dist/assets/icons/traton/email.svg +1 -0
  27. package/dist/assets/icons/traton/export.svg +1 -0
  28. package/dist/assets/icons/traton/export_inactive.svg +1 -0
  29. package/dist/assets/icons/traton/eye.svg +1 -0
  30. package/dist/assets/icons/traton/eye_inactive.svg +1 -0
  31. package/dist/assets/icons/traton/face_dissatisfied.svg +1 -0
  32. package/dist/assets/icons/traton/face_neutral.svg +1 -0
  33. package/dist/assets/icons/traton/face_satisfied.svg +1 -0
  34. package/dist/assets/icons/traton/filters.svg +1 -0
  35. package/dist/assets/icons/traton/filters_inactive.svg +1 -0
  36. package/dist/assets/icons/traton/folder.svg +1 -0
  37. package/dist/assets/icons/traton/fuel_gauge.svg +1 -0
  38. package/dist/assets/icons/traton/fuel_gauge_inactive.svg +1 -0
  39. package/dist/assets/icons/traton/global.svg +1 -0
  40. package/dist/assets/icons/traton/heart.svg +1 -0
  41. package/dist/assets/icons/traton/heart_inactive.svg +1 -0
  42. package/dist/assets/icons/traton/home.svg +1 -0
  43. package/dist/assets/icons/traton/home_inactive.svg +1 -0
  44. package/dist/assets/icons/traton/image.svg +1 -0
  45. package/dist/assets/icons/traton/image_add.svg +1 -0
  46. package/dist/assets/icons/traton/image_inactive.svg +1 -0
  47. package/dist/assets/icons/traton/image_set.svg +1 -0
  48. package/dist/assets/icons/traton/kebab.svg +1 -0
  49. package/dist/assets/icons/traton/link.svg +1 -0
  50. package/dist/assets/icons/traton/link_broken.svg +1 -0
  51. package/dist/assets/icons/traton/lock.svg +1 -0
  52. package/dist/assets/icons/traton/meatballs.svg +1 -0
  53. package/dist/assets/icons/traton/message.svg +1 -0
  54. package/dist/assets/icons/traton/message_inactive.svg +1 -0
  55. package/dist/assets/icons/traton/mileage.svg +1 -0
  56. package/dist/assets/icons/traton/mileage_inactive.svg +1 -0
  57. package/dist/assets/icons/traton/notification_inactive.svg +1 -0
  58. package/dist/assets/icons/traton/phone.svg +1 -0
  59. package/dist/assets/icons/traton/phone_inactive.svg +1 -0
  60. package/dist/assets/icons/traton/pin.svg +1 -0
  61. package/dist/assets/icons/traton/pin_inactive.svg +1 -0
  62. package/dist/assets/icons/traton/placeholder.svg +1 -3
  63. package/dist/assets/icons/traton/print_inactive.svg +1 -0
  64. package/dist/assets/icons/traton/profile.svg +1 -0
  65. package/dist/assets/icons/traton/profile_inactive.svg +1 -0
  66. package/dist/assets/icons/traton/proportions.svg +1 -0
  67. package/dist/assets/icons/traton/proportions_inactive.svg +1 -0
  68. package/dist/assets/icons/traton/redirect.svg +1 -0
  69. package/dist/assets/icons/traton/report.svg +1 -0
  70. package/dist/assets/icons/traton/report_inactive.svg +1 -0
  71. package/dist/assets/icons/traton/save.svg +1 -0
  72. package/dist/assets/icons/traton/save_inactive.svg +1 -0
  73. package/dist/assets/icons/traton/send.svg +1 -0
  74. package/dist/assets/icons/traton/send_inactive.svg +1 -0
  75. package/dist/assets/icons/traton/settings.svg +1 -0
  76. package/dist/assets/icons/traton/skip_backwards.svg +1 -1
  77. package/dist/assets/icons/traton/skip_forward.svg +1 -1
  78. package/dist/assets/icons/traton/smartphone.svg +1 -0
  79. package/dist/assets/icons/traton/smartphone_inactive.svg +1 -0
  80. package/dist/assets/icons/traton/speedometer.svg +1 -0
  81. package/dist/assets/icons/traton/speedometer_inactive.svg +1 -0
  82. package/dist/assets/icons/traton/support.svg +1 -0
  83. package/dist/assets/icons/traton/timer.svg +1 -0
  84. package/dist/assets/icons/traton/tool.svg +1 -0
  85. package/dist/assets/icons/traton/tool_inactive.svg +1 -0
  86. package/dist/assets/icons/traton/trash.svg +1 -0
  87. package/dist/assets/icons/traton/trash_inactive.svg +1 -0
  88. package/dist/assets/icons/traton/unlock.svg +1 -0
  89. package/dist/assets/icons/traton/upload.svg +1 -0
  90. package/dist/assets/icons/traton/wallet.svg +1 -0
  91. package/dist/assets/icons/traton/warning.svg +1 -1
  92. package/dist/assets/icons/traton/wifi.svg +1 -0
  93. package/dist/assets/icons/traton/wifi_inactive.svg +1 -0
  94. package/dist/components.css +4361 -7007
  95. package/dist/global.css +76 -19
  96. package/dist/scania-variables.css +168 -4
  97. package/dist/tl-accordion.css +92 -36
  98. package/dist/tl-banner.css +86 -11
  99. package/dist/tl-block.css +62 -7
  100. package/dist/tl-breadcrumbs.css +4 -1
  101. package/dist/tl-button.css +9 -7
  102. package/dist/tl-card.css +23 -54
  103. package/dist/tl-checkbox.css +195 -115
  104. package/dist/tl-datetime.css +45 -34
  105. package/dist/tl-divider.css +15 -3
  106. package/dist/tl-footer.css +8 -6
  107. package/dist/tl-header.css +450 -385
  108. package/dist/tl-icon.css +4 -0
  109. package/dist/tl-link.css +9 -4
  110. package/dist/tl-message.css +128 -14
  111. package/dist/tl-modal.css +109 -14
  112. package/dist/tl-popover-canvas.css +112 -9
  113. package/dist/tl-popover-menu.css +134 -28
  114. package/dist/tl-radio-button.css +159 -96
  115. package/dist/tl-text-field.css +256 -76
  116. package/dist/tl-textarea.css +274 -76
  117. package/dist/tl-toast.css +117 -8
  118. package/dist/tl-toggle.css +147 -42
  119. package/dist/tl-tooltip.css +46 -0
  120. package/dist/traton-variables.css +322 -0
  121. package/package.json +8 -26
  122. package/dist/tl-badge.css +0 -45
  123. package/dist/tl-checkbox-vars.css +0 -38
  124. package/dist/tl-chip.css +0 -99
  125. package/dist/tl-dropdown.css +0 -921
  126. package/dist/tl-folder-tabs.css +0 -139
  127. package/dist/tl-inline-tabs.css +0 -173
  128. package/dist/tl-navigation-tabs.css +0 -171
  129. package/dist/tl-side-menu.css +0 -703
  130. package/dist/tl-slider.css +0 -2273
  131. package/dist/tl-spinner.css +0 -78
  132. package/dist/tl-step.css +0 -247
  133. package/dist/tl-stepper.css +0 -91
  134. package/dist/tl-table.css +0 -857
@@ -1,22 +1,124 @@
1
- .tl-popover-menu {
2
- --popover-menu-text: var(--color-foreground-text-strong);
3
- --popover-menu-background: var(--color-background-layer-01);
4
- --popover-menu-background-hover: var(--color-background-layer-02);
5
- --popover-menu-item-outline-focus: var(--color-foreground-border-accent-focus);
6
- --popover-menu-item-disabled: var(--color-foreground-text-disabled);
7
- --popover-menu-item-icon-disabled: var(--color-foreground-icon-disabled);
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+ :root,
5
+ .tds-mode-light,
6
+ .scania .tds-mode-light,
7
+ .scania.tds-mode-light,
8
+ .scania .tl-mode-light,
9
+ .scania.tl-mode-light {
10
+ --component-popover-background-primary: var(--color-background-layer-01);
11
+ --component-popover-background-secondary: var(--color-background-layer-02);
12
+ --component-popover-background-link-primary-default: var(--color-background-none);
13
+ --component-popover-background-link-primary-hover: var(--scania-color-grey-100);
14
+ --component-popover-background-link-primary-active: var(
15
+ --component-popover-background-link-primary-hover
16
+ );
17
+ --component-popover-background-link-secondary-default: var(--color-background-none);
18
+ --component-popover-background-link-secondary-hover: var(--scania-color-grey-50);
19
+ --component-popover-background-link-secondary-active: var(
20
+ --component-popover-background-link-secondary-hover
21
+ );
22
+ --component-popover-border-radius-default: var(--scania-unit-4);
23
+ --component-popover-icon-link-primary-default: var(--color-icon-strong);
24
+ --component-popover-icon-link-secondary-default: var(--color-icon-strong);
25
+ --component-popover-opacity-disabled: var(--scania-opacity-25);
26
+ --component-popover-text-link-primary-default: var(--color-text-strong);
27
+ --component-popover-text-link-primary-hover: var(--color-text-strong);
28
+ --component-popover-text-link-secondary-default: var(--color-text-strong);
29
+ --component-popover-text-link-secondary-hover: var(--color-text-strong);
30
+ }
31
+
32
+ .traton .tds-mode-light,
33
+ .traton.tds-mode-light,
34
+ .traton .tl-mode-light,
35
+ .traton.tl-mode-light {
36
+ --component-popover-background-primary: var(--color-background-layer-01);
37
+ --component-popover-background-secondary: var(--color-background-layer-02);
38
+ --component-popover-background-link-primary-default: var(--color-background-none);
39
+ --component-popover-background-link-primary-hover: var(--traton-color-grey-150);
40
+ --component-popover-background-link-primary-active: var(--traton-color-grey-150);
41
+ --component-popover-background-link-secondary-default: var(--color-background-none);
42
+ --component-popover-background-link-secondary-hover: var(--traton-color-grey-150);
43
+ --component-popover-background-link-secondary-active: var(--traton-color-grey-150);
44
+ --component-popover-border-radius-default: var(--traton-unit-4);
45
+ --component-popover-icon-link-primary-default: var(--color-icon-strong);
46
+ --component-popover-icon-link-secondary-default: var(--color-icon-strong);
47
+ --component-popover-opacity-disabled: var(--traton-opacity-25);
48
+ --component-popover-text-link-primary-default: var(--color-text-strong);
49
+ --component-popover-text-link-primary-hover: var(--color-text-strong);
50
+ --component-popover-text-link-secondary-default: var(--color-text-strong);
51
+ --component-popover-text-link-secondary-hover: var(--color-text-strong);
52
+ }
53
+
54
+ .tds-mode-dark,
55
+ .scania .tds-mode-dark,
56
+ .scania.tds-mode-dark,
57
+ .scania .tl-mode-dark,
58
+ .scania.tl-mode-dark {
59
+ --component-popover-background-primary: var(--color-background-layer-01);
60
+ --component-popover-background-secondary: var(--color-background-layer-02);
61
+ --component-popover-background-link-primary-default: var(--color-background-none);
62
+ --component-popover-background-link-primary-hover: var(--scania-color-grey-850);
63
+ --component-popover-background-link-primary-active: var(
64
+ --component-popover-background-link-primary-hover
65
+ );
66
+ --component-popover-background-link-secondary-default: var(--color-background-none);
67
+ --component-popover-background-link-secondary-hover: var(--scania-color-grey-800);
68
+ --component-popover-background-link-secondary-active: var(
69
+ --component-popover-background-link-secondary-hover
70
+ );
71
+ --component-popover-border-radius-default: var(--scania-unit-4);
72
+ --component-popover-icon-link-primary-default: var(--color-icon-strong);
73
+ --component-popover-icon-link-secondary-default: var(--color-icon-strong);
74
+ --component-popover-opacity-disabled: var(--scania-opacity-25);
75
+ --component-popover-text-link-primary-default: var(--color-text-strong);
76
+ --component-popover-text-link-primary-hover: var(--color-text-strong);
77
+ --component-popover-text-link-secondary-default: var(--color-text-strong);
78
+ --component-popover-text-link-secondary-hover: var(--color-text-strong);
79
+ }
80
+
81
+ .traton .tds-mode-dark,
82
+ .traton.tds-mode-dark,
83
+ .traton .tl-mode-dark,
84
+ .traton.tl-mode-dark {
85
+ --component-popover-background-primary: var(--color-background-layer-01);
86
+ --component-popover-background-secondary: var(--color-background-layer-02);
87
+ --component-popover-background-link-primary-default: var(--color-background-none);
88
+ --component-popover-background-link-primary-hover: var(--traton-color-blue-900);
89
+ --component-popover-background-link-primary-active: var(--traton-color-blue-900);
90
+ --component-popover-background-link-secondary-default: var(--color-background-none);
91
+ --component-popover-background-link-secondary-hover: var(--traton-color-blue-850);
92
+ --component-popover-background-link-secondary-active: var(--traton-color-blue-850);
93
+ --component-popover-border-radius-default: var(--traton-unit-4);
94
+ --component-popover-icon-link-primary-default: var(--color-icon-strong);
95
+ --component-popover-icon-link-secondary-default: var(--color-icon-strong);
96
+ --component-popover-opacity-disabled: var(--traton-opacity-25);
97
+ --component-popover-text-link-primary-default: var(--color-text-strong);
98
+ --component-popover-text-link-primary-hover: var(--color-text-strong);
99
+ --component-popover-text-link-secondary-default: var(--color-text-strong);
100
+ --component-popover-text-link-secondary-hover: var(--color-text-strong);
8
101
  }
9
- .tl-popover-menu--primary {
10
- --popover-menu-background: var(--color-background-layer-01);
11
- --popover-menu-background-hover: var(--color-background-layer-02);
102
+
103
+ .tl-popover-menu {
104
+ --popover-menu-text: var(--component-popover-text-link-primary-default);
105
+ --popover-menu-background: var(--component-popover-background-primary);
106
+ --popover-menu-background-hover: var(--component-popover-background-link-primary-hover);
107
+ --popover-menu-item-outline-focus: var(--component--focus-ring-color-strong);
108
+ --popover-menu-item-opacity-disabled: calc(var(--component-popover-opacity-disabled) / 100);
109
+ --popover-menu-box-shadow: 0 2px 3px 0 rgb(0, 0, 0, 0.1);
12
110
  }
13
- .tl-popover-menu--secondary {
14
- --popover-menu-background: var(--color-background-layer-02);
15
- --popover-menu-background-hover: var(--color-background-layer-01);
111
+
112
+ .tl-popover-menu--primary,
113
+ .tl-popover-menu .tl-popover-menu--primary {
114
+ --popover-menu-background: var(--component-popover-background-primary);
115
+ --popover-menu-background-hover: var(--component-popover-background-link-primary-hover);
16
116
  }
17
117
 
18
- .scania .tl-popover-menu {
19
- --popover-menu-box-shadow: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 10%);
118
+ .tl-popover-menu--secondary,
119
+ .tl-popover-menu .tl-popover-menu--secondary {
120
+ --popover-menu-background: var(--component-popover-background-secondary);
121
+ --popover-menu-background-hover: var(--component-popover-background-link-secondary-hover);
20
122
  }
21
123
 
22
124
  .traton .tl-popover-menu {
@@ -45,20 +147,22 @@
45
147
  color: var(--popover-menu-text);
46
148
  position: relative;
47
149
  transition: background-color var(--tds-motion-duration-fast-02) var(--tds-motion-easing-easy);
48
- font-family: var(--detail-02-font-family);
49
- font-size: var(--detail-02-font-size);
50
- line-height: var(--detail-02-line-height);
51
- font-weight: var(--detail-02-font-weight);
52
- letter-spacing: var(--detail-02-letter-spacing);
53
- text-transform: var(--detail-02-text-transform);
150
+ font-family: var(--body-01-font-family);
151
+ font-size: var(--body-01-font-size);
152
+ line-height: var(--body-01-line-height);
153
+ font-weight: var(--body-01-font-weight);
154
+ letter-spacing: var(--body-01-letter-spacing);
155
+ text-transform: var(--body-01-text-transform);
54
156
  }
55
157
  .tl-popover-menu__item:hover {
56
158
  cursor: pointer;
57
159
  background-color: var(--popover-menu-background-hover);
58
160
  }
59
161
  .tl-popover-menu__item:focus-visible {
60
- outline: 1px solid var(--popover-menu-item-outline-focus);
61
- outline-offset: -1px;
162
+ outline: 2px solid var(--popover-menu-item-outline-focus);
163
+ box-shadow: inset 0 0 0 3px var(--component--focus-ring-color-discrete);
164
+ outline-offset: -2px;
165
+ z-index: 1;
62
166
  }
63
167
 
64
168
  .tl-popover-menu__item--disabled {
@@ -69,8 +173,14 @@
69
173
  gap: 10px;
70
174
  padding: 10px 16px;
71
175
  cursor: not-allowed;
72
- color: var(--popover-menu-item-disabled);
176
+ opacity: var(--popover-menu-item-opacity-disabled);
73
177
  pointer-events: none;
178
+ font-family: var(--body-01-font-family);
179
+ font-size: var(--body-01-font-size);
180
+ line-height: var(--body-01-line-height);
181
+ font-weight: var(--body-01-font-weight);
182
+ letter-spacing: var(--body-01-letter-spacing);
183
+ text-transform: var(--body-01-text-transform);
74
184
  }
75
185
  .tl-popover-menu__item--disabled:hover {
76
186
  background-color: inherit;
@@ -80,10 +190,6 @@
80
190
  box-shadow: none;
81
191
  }
82
192
 
83
- .tl-popover-menu__item--disabled .tl-icon {
84
- color: var(--popover-menu-item-icon-disabled);
85
- }
86
-
87
193
  .tl-popover-menu {
88
194
  box-sizing: border-box;
89
195
  }
@@ -1,26 +1,120 @@
1
1
  @charset "UTF-8";
2
- .tl-radio-button {
3
- --radio-button-background-hover: var(--color-foreground-border-discrete);
4
- --radio-button-background-inverse: var(--color-foreground-icon-inverse-strong);
5
- --radio-button-background-disabled: var(--color-background-accent-primary-disabled);
6
- --radio-button-border: var(--color-foreground-border-strong);
7
- --radio-button-label: var(--color-foreground-text-strong);
8
- --radio-button-label-disabled: var(--color-foreground-text-disabled);
9
- --radio-button-border-disabled: var(--color-foreground-border-discrete);
10
- --radio-button-focus: var(--color-foreground-border-accent-focus);
11
- --radio-button-checked-disabled: var(--color-foreground-icon-disabled);
12
- --radio-button-spacing-4: var(--tds-spacing-element-4) 0 var(--tds-spacing-element-4)
13
- var(--tds-spacing-element-4);
14
- --radio-button-focus-outline-color: var(--color-foreground-border-accent-focus);
15
- --radio-button-focus-outline-width: 2px;
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-radio-button-background-standard-default: var(--color-background-none);
12
+ --component-radio-button-background-standard-hover: var(--color-background-none);
13
+ --component-radio-button-background-selected-default: var(--scania-color-grey-950);
14
+ --component-radio-button-background-selected-hover: var(--scania-color-grey-950);
15
+ --component-radio-button-border-standard-default: var(--color-border-strong);
16
+ --component-radio-button-border-standard-hover: var(--color-border-strong);
17
+ --component-radio-button-border-selected-default: var(--color-border-none);
18
+ --component-radio-button-border-selected-hover: var(--color-border-none);
19
+ --component-radio-button-border-indicator-default: var(--color-border-none);
20
+ --component-radio-button-border-indicator-hover: var(--color-border-subtle);
21
+ --component-radio-button-border-radius-default: var(--scania-unit-9999);
22
+ --component-radio-button-focus-ring-radius-default: var(--component--focus-ring-radius-full);
23
+ --component-radio-button-icon-selected-default: var(--color-icon-inverse-strong);
24
+ --component-radio-button-icon-selected-hover: var(--color-icon-inverse-strong);
25
+ --component-radio-button-opacity-disabled: var(--scania-opacity-25);
26
+ --component-radio-button-text-default: var(--color-text-strong);
27
+ --component-radio-button-text-hover: var(--color-text-strong);
28
+ }
29
+
30
+ .traton .tds-mode-light,
31
+ .traton.tds-mode-light,
32
+ .traton .tl-mode-light,
33
+ .traton.tl-mode-light {
34
+ --component-radio-button-background-standard-default: var(--color-background-none);
35
+ --component-radio-button-background-standard-hover: var(--color-background-none);
36
+ --component-radio-button-background-selected-default: var(--traton-color-blue-950);
37
+ --component-radio-button-background-selected-hover: var(--traton-color-blue-950);
38
+ --component-radio-button-border-standard-default: var(--color-border-strong);
39
+ --component-radio-button-border-standard-hover: var(--color-border-strong);
40
+ --component-radio-button-border-selected-default: var(--color-border-none);
41
+ --component-radio-button-border-selected-hover: var(--color-border-none);
42
+ --component-radio-button-border-indicator-default: var(--color-border-none);
43
+ --component-radio-button-border-indicator-hover: var(--color-border-subtle);
44
+ --component-radio-button-border-radius-default: var(--traton-unit-9999);
45
+ --component-radio-button-focus-ring-radius-default: var(--component--focus-ring-radius-full);
46
+ --component-radio-button-icon-selected-default: var(--color-icon-inverse-strong);
47
+ --component-radio-button-icon-selected-hover: var(--color-icon-inverse-strong);
48
+ --component-radio-button-opacity-disabled: var(--traton-opacity-25);
49
+ --component-radio-button-text-default: var(--color-text-strong);
50
+ --component-radio-button-text-hover: var(--color-text-strong);
51
+ }
52
+
53
+ .tds-mode-dark,
54
+ .scania .tds-mode-dark,
55
+ .scania.tds-mode-dark,
56
+ .scania .tl-mode-dark,
57
+ .scania.tl-mode-dark {
58
+ --component-radio-button-background-standard-default: var(--color-background-none);
59
+ --component-radio-button-background-standard-hover: var(--color-background-none);
60
+ --component-radio-button-background-selected-default: var(--scania-color-grey-50);
61
+ --component-radio-button-background-selected-hover: var(--scania-color-grey-50);
62
+ --component-radio-button-border-standard-default: var(--color-border-strong);
63
+ --component-radio-button-border-standard-hover: var(--color-border-strong);
64
+ --component-radio-button-border-selected-default: var(--color-border-none);
65
+ --component-radio-button-border-selected-hover: var(--color-border-none);
66
+ --component-radio-button-border-indicator-default: var(--color-border-none);
67
+ --component-radio-button-border-indicator-hover: var(--color-border-subtle);
68
+ --component-radio-button-border-radius-default: var(--scania-unit-9999);
69
+ --component-radio-button-focus-ring-radius-default: var(--component--focus-ring-radius-full);
70
+ --component-radio-button-icon-selected-default: var(--color-icon-inverse-strong);
71
+ --component-radio-button-icon-selected-hover: var(--color-icon-inverse-strong);
72
+ --component-radio-button-opacity-disabled: var(--scania-opacity-25);
73
+ --component-radio-button-text-default: var(--color-text-strong);
74
+ --component-radio-button-text-hover: var(--color-text-strong);
16
75
  }
17
76
 
18
- .scania .tl-radio-button {
19
- --radio-button-focus-outline-width: 2px;
77
+ .traton .tds-mode-dark,
78
+ .traton.tds-mode-dark,
79
+ .traton .tl-mode-dark,
80
+ .traton.tl-mode-dark {
81
+ --component-radio-button-background-standard-default: var(--color-background-none);
82
+ --component-radio-button-background-standard-hover: var(--color-background-none);
83
+ --component-radio-button-background-selected-default: var(--traton-color-base-white);
84
+ --component-radio-button-background-selected-hover: var(--traton-color-base-white);
85
+ --component-radio-button-border-standard-default: var(--color-border-strong);
86
+ --component-radio-button-border-standard-hover: var(--color-border-strong);
87
+ --component-radio-button-border-selected-default: var(--color-border-none);
88
+ --component-radio-button-border-selected-hover: var(--color-border-none);
89
+ --component-radio-button-border-indicator-default: var(--color-border-none);
90
+ --component-radio-button-border-indicator-hover: var(--color-border-subtle);
91
+ --component-radio-button-border-radius-default: var(--traton-unit-9999);
92
+ --component-radio-button-focus-ring-radius-default: var(--component--focus-ring-radius-full);
93
+ --component-radio-button-icon-selected-default: var(--color-icon-inverse-strong);
94
+ --component-radio-button-icon-selected-hover: var(--color-icon-inverse-strong);
95
+ --component-radio-button-opacity-disabled: var(--traton-opacity-25);
96
+ --component-radio-button-text-default: var(--color-text-strong);
97
+ --component-radio-button-text-hover: var(--color-text-strong);
20
98
  }
21
99
 
22
- .traton .tl-radio-button {
23
- --radio-button-focus-outline-width: 4px;
100
+ .tl-radio-button {
101
+ --radio-button-text: var(--component-radio-button-text-default);
102
+ --radio-button-text-hover: var(--component-radio-button-text-hover);
103
+ --radio-button-background: var(--component-radio-button-background-standard-default);
104
+ --radio-button-background-hover: var(--component-radio-button-background-standard-hover);
105
+ --radio-button-background-selected: var(--component-radio-button-background-selected-default);
106
+ --radio-button-background-selected-hover: var(--component-radio-button-background-selected-hover);
107
+ --radio-button-border: var(--component-radio-button-border-standard-default);
108
+ --radio-button-border-hover: var(--component-radio-button-border-standard-hover);
109
+ --radio-button-border-selected: var(--component-radio-button-border-selected-default);
110
+ --radio-button-border-selected-hover: var(--component-radio-button-border-selected-hover);
111
+ --radio-button-indicator: var(--component-radio-button-border-indicator-default);
112
+ --radio-button-indicator-hover: var(--component-radio-button-border-indicator-hover);
113
+ --radio-button-icon-selected: var(--component-radio-button-icon-selected-default);
114
+ --radio-button-icon-selected-hover: var(--component-radio-button-icon-selected-hover);
115
+ --radio-button-border-radius: calc(var(--component-radio-button-border-radius-default) * 1px);
116
+ --radio-button-focus-ring-radius: calc(var(--component-radio-button-focus-ring-radius-default) * 1px);
117
+ --radio-button-opacity-disabled: calc(var(--component-radio-button-opacity-disabled) / 100);
24
118
  }
25
119
 
26
120
  /* Typography Usage mixins */
@@ -38,10 +132,9 @@
38
132
  font-weight: var(--detail-02-font-weight);
39
133
  letter-spacing: var(--detail-02-letter-spacing);
40
134
  text-transform: var(--detail-02-text-transform);
41
- color: var(--radio-button-label);
135
+ color: var(--radio-button-text);
42
136
  display: flex;
43
137
  align-items: center;
44
- gap: var(--radio-button-spacing-8);
45
138
  }
46
139
  .tl-radio-button:has(:disabled) {
47
140
  cursor: not-allowed;
@@ -59,110 +152,80 @@
59
152
  position: relative;
60
153
  cursor: pointer;
61
154
  flex-shrink: 0;
62
- border-radius: 50%;
63
155
  }
64
156
  .tl-radio-button__input::before, .tl-radio-button__input::after {
65
157
  content: "";
66
158
  position: absolute;
67
- border-radius: 50%;
68
159
  box-sizing: border-box;
160
+ border-radius: var(--radio-button-border-radius);
161
+ left: 50%;
162
+ top: 50%;
163
+ transform: translate(-50%, -50%);
69
164
  }
70
165
  .tl-radio-button__input {
71
- /* focus "pulse" background holder */
166
+ /* The outer circle: border + fill, plus the (transparent by default) hover indicator halo. */
72
167
  }
73
168
  .tl-radio-button__input::before {
74
- inline-size: 22px;
75
- block-size: 22px;
76
- left: 1px;
77
- top: 1px;
78
- }
79
- .tl-radio-button__input {
80
- /* base inner circle + ring */
81
- }
82
- .tl-radio-button__input::after {
83
- background-color: var(--radio-button-background-inverse);
84
- border: 1px solid var(--radio-button-border);
85
169
  inline-size: 16px;
86
170
  block-size: 16px;
87
- left: 4px;
88
- top: 4px;
171
+ border: 1px solid var(--radio-button-border);
172
+ background-color: var(--radio-button-background);
173
+ box-shadow: 0 0 0 2px var(--radio-button-indicator);
174
+ transition: box-shadow 0.2s ease-in-out;
89
175
  }
90
176
  .tl-radio-button__input {
91
- /* Focus */
177
+ /* The inner dot, colour driven by the icon token. Hidden until selected. */
92
178
  }
93
- .tl-radio-button__input:focus::before {
94
- background-color: var(--radio-button-focus);
95
- animation: rb-focus 0.4s cubic-bezier(0.65, 0.05, 0.38, 0.95) forwards;
96
- }
97
- .tl-radio-button__input:focus::after {
98
- outline: var(--radio-button-focus-outline-width) solid var(--radio-button-focus-outline-color);
99
- }
100
- .tl-radio-button__input {
101
- /* Checked */
179
+ .tl-radio-button__input::after {
180
+ inline-size: 6px;
181
+ block-size: 6px;
182
+ background-color: var(--radio-button-icon-selected);
183
+ opacity: 0;
184
+ /* Keep the dot above the circle fill, which gets z-index: 1 from the focus ring. */
185
+ z-index: 1;
186
+ }
187
+ .tl-radio-button__input:not(:disabled):hover::before {
188
+ border-color: var(--radio-button-border-hover);
189
+ background-color: var(--radio-button-background-hover);
190
+ box-shadow: 0 0 0 2px var(--radio-button-indicator-hover);
191
+ }
192
+ .tl-radio-button__input:focus-visible::before {
193
+ outline: 2px solid var(--component--focus-ring-color-strong);
194
+ box-shadow: 0 0 0 1px var(--component--focus-ring-color-discrete);
195
+ outline-offset: 1px;
196
+ z-index: 1;
197
+ border-radius: var(--radio-button-focus-ring-radius);
198
+ }
199
+ .tl-radio-button__input:checked::before {
200
+ border-color: var(--radio-button-border-selected);
201
+ background-color: var(--radio-button-background-selected);
102
202
  }
103
203
  .tl-radio-button__input:checked::after {
104
- border: 4px solid var(--radio-button-border);
204
+ background-color: var(--radio-button-icon-selected);
205
+ opacity: 1;
105
206
  }
106
- .tl-radio-button__input {
107
- /* Checked + focus */
108
- }
109
- .tl-radio-button__input:checked:focus::after {
110
- outline: var(--radio-button-focus-outline-width) solid var(--radio-button-focus-outline-color);
111
- }
112
- .tl-radio-button__input {
113
- /* Hover */
207
+ .tl-radio-button__input:checked:not(:disabled):hover::before {
208
+ border-color: var(--radio-button-border-selected-hover);
209
+ background-color: var(--radio-button-background-selected-hover);
114
210
  }
115
- .tl-radio-button:not(:has(:disabled)):hover .tl-radio-button__input::after {
116
- outline: var(--radio-button-focus-outline-width) solid var(--radio-button-background-hover);
117
- }
118
- .tl-radio-button__input {
119
- /* Disabled */
211
+ .tl-radio-button__input:checked:not(:disabled):hover::after {
212
+ background-color: var(--radio-button-icon-selected-hover);
120
213
  }
121
214
  .tl-radio-button__input:disabled {
122
215
  cursor: not-allowed;
123
- }
124
- .tl-radio-button__input:disabled::before {
125
- outline: 1px solid var(--radio-button-border-disabled);
126
- outline-offset: -4px;
127
- }
128
- .tl-radio-button__input:disabled::after {
129
- background-color: var(--radio-button-background-disabled);
130
- border-color: var(--radio-button-background-disabled);
131
- outline: none;
132
- }
133
- .tl-radio-button__input:disabled:checked::before {
134
- border: 1px solid var(--radio-button-border-disabled);
135
- display: block;
136
- inline-size: 16px;
137
- block-size: 16px;
138
- left: 3px;
139
- top: 3px;
140
- box-sizing: content-box;
141
- }
142
- .tl-radio-button__input:disabled:checked::after {
143
- border: 4px solid var(--radio-button-background-disabled);
144
- background-color: var(--radio-button-checked-disabled);
145
- left: 4px;
146
- top: 4px;
216
+ opacity: var(--radio-button-opacity-disabled);
147
217
  }
148
218
 
149
219
  /* LABEL — text only */
150
220
  .tl-radio-button__label {
151
221
  cursor: pointer;
152
222
  padding-left: 4px;
223
+ color: var(--radio-button-text);
224
+ }
225
+ .tl-radio-button__input:not(:disabled):hover + .tl-radio-button__label {
226
+ color: var(--radio-button-text-hover);
153
227
  }
154
228
  .tl-radio-button:has(:disabled) .tl-radio-button__label {
229
+ opacity: var(--radio-button-opacity-disabled);
155
230
  cursor: not-allowed;
156
- color: var(--radio-button-label-disabled);
157
- }
158
-
159
- /* Focus animation */
160
- @keyframes rb-focus {
161
- 0% {
162
- transform: scale(0);
163
- opacity: 0;
164
- }
165
- 100% {
166
- transform: scale(1);
167
- }
168
231
  }