@scania/tegel-lite 0.1.0 → 1.0.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 (68) 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/scania/configurator.svg +1 -0
  23. package/dist/assets/icons/traton/edit_inactive.svg +1 -0
  24. package/dist/assets/icons/traton/placeholder.svg +3 -0
  25. package/dist/assets/icons/traton/skip_backwards.svg +1 -0
  26. package/dist/assets/icons/traton/skip_forward.svg +1 -0
  27. package/dist/components.css +3993 -6847
  28. package/dist/global.css +627 -5641
  29. package/dist/scania-variables.css +661 -565
  30. package/dist/tl-accordion.css +88 -35
  31. package/dist/tl-banner.css +87 -12
  32. package/dist/tl-block.css +62 -7
  33. package/dist/tl-breadcrumbs.css +55 -6
  34. package/dist/tl-button.css +498 -87
  35. package/dist/tl-card.css +80 -54
  36. package/dist/tl-checkbox.css +195 -115
  37. package/dist/tl-datetime.css +7 -4
  38. package/dist/tl-divider.css +61 -3
  39. package/dist/tl-footer.css +116 -18
  40. package/dist/tl-icon.css +6 -2
  41. package/dist/tl-link.css +114 -16
  42. package/dist/tl-message.css +128 -14
  43. package/dist/tl-modal.css +165 -16
  44. package/dist/tl-radio-button.css +158 -96
  45. package/dist/tl-text-field.css +272 -140
  46. package/dist/tl-textarea.css +274 -76
  47. package/dist/tl-toast.css +119 -10
  48. package/dist/tl-toggle.css +150 -45
  49. package/dist/tl-tooltip.css +17 -15
  50. package/dist/traton-variables.css +682 -447
  51. package/package.json +6 -27
  52. package/dist/tl-badge.css +0 -44
  53. package/dist/tl-checkbox-vars.css +0 -38
  54. package/dist/tl-chip.css +0 -149
  55. package/dist/tl-dropdown.css +0 -857
  56. package/dist/tl-folder-tabs.css +0 -139
  57. package/dist/tl-header.css +0 -859
  58. package/dist/tl-inline-tabs.css +0 -173
  59. package/dist/tl-navigation-tabs.css +0 -171
  60. package/dist/tl-popover-canvas.css +0 -70
  61. package/dist/tl-popover-menu.css +0 -123
  62. package/dist/tl-side-menu.css +0 -540
  63. package/dist/tl-slider.css +0 -1854
  64. package/dist/tl-spinner.css +0 -78
  65. package/dist/tl-step.css +0 -213
  66. package/dist/tl-stepper.css +0 -57
  67. package/dist/tl-table.css +0 -827
  68. /package/dist/assets/icons/scania/{gift inactive.svg → gift_inactive.svg} +0 -0
package/dist/tl-card.css CHANGED
@@ -1,18 +1,74 @@
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-card-background-primary-default: var(--scania-color-base-white);
11
+ --component-card-background-secondary-default: var(--scania-color-base-white);
12
+ --component-card-border-radius-default: var(--scania-unit-4);
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);
17
+ }
18
+
19
+ .traton .tds-mode-light,
20
+ .traton.tds-mode-light,
21
+ .traton .tl-mode-light,
22
+ .traton.tl-mode-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);
25
+ --component-card-border-radius-default: var(--traton-unit-0);
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);
30
+ }
31
+
32
+ .tds-mode-dark,
33
+ .scania .tds-mode-dark,
34
+ .scania.tds-mode-dark,
35
+ .scania .tl-mode-dark,
36
+ .scania.tl-mode-dark {
37
+ --component-card-background-primary-default: var(--color-background-layer-01);
38
+ --component-card-background-secondary-default: var(--color-background-layer-02);
39
+ --component-card-border-radius-default: var(--scania-unit-4);
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);
44
+ }
45
+
46
+ .traton .tds-mode-dark,
47
+ .traton.tds-mode-dark,
48
+ .traton .tl-mode-dark,
49
+ .traton.tl-mode-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);
52
+ --component-card-border-radius-default: var(--traton-unit-0);
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);
57
+ }
58
+
1
59
  .tl-card {
2
- --card-background: var(--tds-white);
3
- --card-background-primary: var(--component-card-primary);
4
- --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);
5
62
  --card-box-primary: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
6
63
  --card-box-secondary: 0 -1px 1px rgb(0 0 0 / 5%), 0 3px 3px rgb(0 0 0 / 10%);
7
64
  --card-box: var(--card-box-primary);
8
65
  --card-box-hover: 0 -1px 1px rgb(0 0 0 / 5%), 0 3px 3px rgb(0 0 0 / 20%);
9
66
  --card-box-pressed: 0 -1px 1px rgb(0 0 0 / 5%), 0 1px 3px rgb(0 0 0 / 20%);
10
- --card-headline: var(--color-foreground-text-strong);
11
- --card-sub-headline: var(--color-foreground-text-subtle);
12
- --card-body-color: var(--color-foreground-text-defined);
13
- --card-divider: var(--color-foreground-border-discrete);
14
- --card-icon-color: var(--color-foreground-icon-strong);
15
- /* 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-soft);
71
+ --card-icon-color: var(--component-card-text-title-default);
16
72
  --card-body-padding: 0 16px;
17
73
  --card-header-padding: 16px;
18
74
  --card-slotted-padding: 16px;
@@ -20,31 +76,23 @@
20
76
  }
21
77
  .tl-card--primary {
22
78
  --card-box: var(--card-box-primary);
79
+ --card-background: var(--component-card-background-primary-default);
23
80
  }
24
- .tl-card.tl-card--mode-variant-secondary {
81
+ .tl-card--secondary {
25
82
  --card-box: var(--card-box-secondary);
83
+ --card-background: var(--component-card-background-secondary-default);
26
84
  }
27
85
 
28
- .scania .tl-card {
29
- /* Paddings */
30
- --card-body-padding: 0 16px;
31
- --card-header-padding: 16px;
32
- --card-slotted-padding: 16px;
33
- --card-divider-margin: 16px 16px 0;
34
- }
35
- .scania .tl-card--primary {
36
- --card-box: var(--card-box-primary);
37
- }
38
- .scania .tl-card--secondary {
39
- --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%);
40
90
  }
41
91
 
42
92
  .traton .tl-card {
43
93
  --card-box: none;
44
- --card-background: transparent;
45
94
  --card-box-hover: none;
46
95
  --card-box-pressed: none;
47
- /* Paddings and margins */
48
96
  --card-body-padding: 0;
49
97
  --card-header-padding: 16px 16px 16px 0;
50
98
  --card-slotted-padding: 16px 16px 16px 0;
@@ -52,35 +100,11 @@
52
100
  }
53
101
  .traton .tl-card--primary {
54
102
  --card-box: none;
55
- --card-background: transparent;
103
+ --card-background: var(--component-card-background-primary-default);
56
104
  }
57
105
  .traton .tl-card--secondary {
58
106
  --card-box: none;
59
- --card-background: transparent;
60
- }
61
-
62
- /* Dark mode */
63
- .tds-mode-dark {
64
- --card-background-primary: var(--tds-grey-900);
65
- --card-background-secondary: var(--tds-grey-850);
66
- }
67
- .tds-mode-dark .tl-card {
68
- --card-background: var(--card-background-primary);
69
- }
70
- .tds-mode-dark .tl-card--primary {
71
- --card-box: var(--card-box-primary);
72
- --card-background: var(--card-background-primary);
73
- }
74
- .tds-mode-dark .tl-card--secondary {
75
- --card-box: var(--card-box-primary);
76
- --card-background: var(--card-background-secondary);
77
- }
78
-
79
- .traton .tds-mode-dark .tl-card--primary {
80
- --card-background: transparent;
81
- }
82
- .traton .tds-mode-dark .tl-card--secondary {
83
- --card-background: transparent;
107
+ --card-background: var(--component-card-background-secondary-default);
84
108
  }
85
109
 
86
110
  /* Typography Usage mixins */
@@ -97,7 +121,7 @@
97
121
  width: 100%;
98
122
  box-shadow: var(--card-box);
99
123
  background-color: var(--card-background);
100
- border-radius: 4px;
124
+ border-radius: var(--card-border-radius);
101
125
  overflow: hidden;
102
126
  }
103
127
  .tl-card--clickable {
@@ -107,9 +131,10 @@
107
131
  padding: 0;
108
132
  }
109
133
  .tl-card--clickable:focus-visible {
110
- outline: var(--dimension-radius-focus-width) solid var(--color-foreground-border-accent-focus);
111
- 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);
112
136
  outline-offset: 1px;
137
+ z-index: 1;
113
138
  }
114
139
  .tl-card--clickable:active {
115
140
  box-shadow: var(--card-box-pressed);
@@ -143,6 +168,7 @@
143
168
  block-size: 36px;
144
169
  border-radius: 100%;
145
170
  margin-right: 16px;
171
+ background-color: var(--color-background-layer-03);
146
172
  }
147
173
 
148
174
  .tl-card__headings {
@@ -175,7 +201,7 @@
175
201
 
176
202
  .tl-card__body {
177
203
  display: block;
178
- word-wrap: break-word;
204
+ overflow-wrap: break-word;
179
205
  }
180
206
  .tl-card--stretch .tl-card__body {
181
207
  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
- .tds-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
  }
@@ -213,9 +213,9 @@
213
213
  background-color: var(--datetime-icon-error);
214
214
  }
215
215
  .tl-datetime__wrapper {
216
- /* Disabled state (should not override error state) */
216
+ /* Disabled state */
217
217
  }
218
- .tl-datetime:has(input:disabled):not(.tl-datetime--error) .tl-datetime__wrapper::after {
218
+ .tl-datetime:has(input:disabled) .tl-datetime__wrapper::after {
219
219
  background-color: var(--datetime-icon-disabled);
220
220
  }
221
221
 
@@ -248,7 +248,7 @@
248
248
  .tl-datetime__input:focus {
249
249
  box-shadow: inset var(--datetime-box-shadow-focus);
250
250
  }
251
- .tl-datetime:hover .tl-datetime__input:not(:focus) {
251
+ .tl-datetime:hover .tl-datetime__input:not(:focus):not(:disabled) {
252
252
  box-shadow: inset var(--datetime-box-shadow-hover);
253
253
  }
254
254
  .tl-datetime--error .tl-datetime__input {
@@ -257,9 +257,12 @@
257
257
  .tl-datetime--error .tl-datetime__input:focus {
258
258
  box-shadow: inset var(--datetime-box-shadow-error-focus);
259
259
  }
260
- .tl-datetime--error:hover .tl-datetime__input:not(:focus) {
260
+ .tl-datetime--error:hover .tl-datetime__input:not(:focus):not(:disabled) {
261
261
  box-shadow: inset var(--datetime-box-shadow-error-hover);
262
262
  }
263
+ .tl-datetime--error .tl-datetime__input:disabled {
264
+ box-shadow: inset var(--datetime-box-shadow-error);
265
+ }
263
266
  .tl-datetime__input::placeholder {
264
267
  opacity: 1;
265
268
  color: var(--datetime-placeholder);