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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +0 -29
  2. package/dist/assets/icons/scania/microphone.svg +4 -0
  3. package/dist/assets/icons/scania/microphone_inactive.svg +7 -0
  4. package/dist/assets/icons/scania/notification_snooze.svg +6 -0
  5. package/dist/assets/icons/scania/paperclip.svg +3 -0
  6. package/dist/components.css +2107 -1653
  7. package/dist/global.css +4048 -4693
  8. package/dist/scania-variables.css +8 -0
  9. package/dist/tl-badge.css +15 -0
  10. package/dist/tl-button.css +19 -0
  11. package/dist/tl-card.css +10 -0
  12. package/dist/tl-dropdown.css +54 -2
  13. package/dist/tl-folder-tabs.css +64 -0
  14. package/dist/tl-footer.css +64 -0
  15. package/dist/tl-header.css +206 -50
  16. package/dist/tl-icon.css +16 -0
  17. package/dist/tl-inline-tabs.css +81 -0
  18. package/dist/tl-modal.css +35 -0
  19. package/dist/tl-navigation-tabs.css +81 -0
  20. package/dist/tl-radio-button.css +1 -1
  21. package/dist/tl-side-menu.css +71 -0
  22. package/dist/tl-slider.css +1024 -1485
  23. package/dist/tl-spinner.css +8 -0
  24. package/dist/tl-step.css +8 -0
  25. package/dist/tl-stepper.css +8 -0
  26. package/dist/tl-table.css +17 -20
  27. package/dist/tl-text-field.css +32 -13
  28. package/package.json +3 -14
  29. package/.ai/rules/01-design-tokens.mdc +0 -318
  30. package/.ai/rules/02-components-forms.mdc +0 -396
  31. package/.ai/rules/03-components-display.mdc +0 -474
  32. package/.ai/rules/04-components-navigation.mdc +0 -358
  33. package/.ai/rules/05-guidelines.mdc +0 -144
  34. package/.ai/rules/06-patterns.mdc +0 -352
  35. package/.cursor/rules/tegel-lite/01-design-tokens.mdc +0 -317
  36. package/.cursor/rules/tegel-lite/02-components-forms.mdc +0 -395
  37. package/.cursor/rules/tegel-lite/03-components-display.mdc +0 -473
  38. package/.cursor/rules/tegel-lite/04-components-navigation.mdc +0 -357
  39. package/.cursor/rules/tegel-lite/05-guidelines.mdc +0 -143
  40. package/.cursor/rules/tegel-lite/06-patterns.mdc +0 -351
  41. package/.github/copilot-instructions.md +0 -2045
  42. package/AGENTS.md +0 -2045
  43. package/CLAUDE.md +0 -2045
  44. package/bin/setup-ai-rules.js +0 -368
  45. package/dist/tl-folder-tab.css +0 -87
  46. package/dist/tl-inline-tab.css +0 -80
  47. package/dist/tl-navigation-tab.css +0 -114
  48. package/dist/tl-textarea-mixins.css +0 -0
@@ -270,6 +270,21 @@
270
270
  position: relative;
271
271
  }
272
272
 
273
+ /**
274
+ * Do not edit directly, this file was auto-generated.
275
+ */
276
+ .tl-badge,
277
+ tds-badge {
278
+ --component-badge-text: var(--color-brand-neutral-white);
279
+ --component-badge-background: var(--color-system-danger-subtle);
280
+ }
281
+
282
+ .traton .tl-badge,
283
+ .traton tds-badge {
284
+ --component-badge-text: var(--color-brand-neutral-black);
285
+ --component-badge-background: var(--color-system-warning-subtle);
286
+ }
287
+
273
288
  .tl-badge {
274
289
  --badge-background-color: var(--component-badge-background);
275
290
  --badge-color-text: var(--component-badge-text);
@@ -604,6 +619,25 @@
604
619
  cursor: not-allowed;
605
620
  }
606
621
 
622
+ /**
623
+ * Do not edit directly, this file was auto-generated.
624
+ */
625
+ .tl-button,
626
+ tds-button,
627
+ .tds-mode-light tds-button {
628
+ --component-button-primary-text: var(--color-brand-neutral-white);
629
+ }
630
+
631
+ .scania .tds-mode-dark tds-button,
632
+ .scania .tds-mode-dark .tl-button {
633
+ --component-button-primary-text: var(--color-brand-neutral-white);
634
+ }
635
+
636
+ .tds-mode-dark tds-button,
637
+ .tds-mode-dark .tl-button {
638
+ --component-button-primary-text: var(--color-brand-neutral-black);
639
+ }
640
+
607
641
  .tl-button {
608
642
  --button-transparent: transparent;
609
643
  --button-white: var(--color-brand-neutral-white);
@@ -887,6 +921,16 @@
887
921
  width: 100%;
888
922
  }
889
923
 
924
+ /**
925
+ * Do not edit directly, this file was auto-generated.
926
+ */
927
+ .tl-card,
928
+ tds-card {
929
+ --component-card-secondary: var(--color-background-layer-02);
930
+ --component-card-primary: var(--color-background-layer-01);
931
+ --component-card-padding-padding: var(--scania-unit-16);
932
+ }
933
+
890
934
  .tl-card {
891
935
  --card-background: var(--tds-white);
892
936
  --card-background-primary: var(--component-card-primary);
@@ -1904,6 +1948,21 @@
1904
1948
  width: 1px;
1905
1949
  }
1906
1950
 
1951
+ /**
1952
+ * Do not edit directly, this file was auto-generated.
1953
+ */
1954
+ .tl-dropdown,
1955
+ tds-dropdown {
1956
+ --component-dropdown-list-item-secondary-hover: var(--color-background-layer-03);
1957
+ --component-dropdown-list-item-secondary-focus: var(--color-background-layer-03);
1958
+ --component-dropdown-list-item-focus: var(--color-background-layer-02);
1959
+ --component-dropdown-list-item-hover: var(--color-background-layer-02);
1960
+ --component-dropdown-secondary-hover: var(--color-background-layer-03);
1961
+ --component-dropdown-secondary-focus: var(--color-background-layer-03);
1962
+ --component-dropdown-focus: var(--color-background-surface-300);
1963
+ --component-dropdown-hover: var(--color-background-surface-100);
1964
+ }
1965
+
1907
1966
  .tl-dropdown-option {
1908
1967
  --dropdown-option-background: var(--color-background-layer-01);
1909
1968
  --dropdown-option-background-hover: var(--component-dropdown-hover);
@@ -1912,6 +1971,9 @@
1912
1971
  --dropdown-option-border: var(--color-foreground-border-discrete);
1913
1972
  }
1914
1973
 
1974
+ .tl-dropdown {
1975
+ --dropdown-background: var(--color-background-layer-01);
1976
+ }
1915
1977
  .tl-dropdown--primary {
1916
1978
  --dropdown-background: var(--color-background-layer-01);
1917
1979
  }
@@ -1919,7 +1981,6 @@
1919
1981
  --dropdown-background: var(--color-background-layer-02);
1920
1982
  }
1921
1983
  .tl-dropdown {
1922
- --dropdown-background: var(--color-background-layer-01);
1923
1984
  --dropdown-text: var(--color-foreground-text-strong);
1924
1985
  --dropdown-helper-text: var(--color-foreground-text-defined);
1925
1986
  --dropdown-placeholder: var(--color-foreground-text-subtle);
@@ -2071,7 +2132,6 @@ body {
2071
2132
 
2072
2133
  .tl-dropdown__select {
2073
2134
  padding-top: 2px;
2074
- padding-left: calc(var(--tds-spacing-element-16) - 1px);
2075
2135
  cursor: pointer;
2076
2136
  display: block;
2077
2137
  }
@@ -2191,6 +2251,10 @@ body {
2191
2251
  transition: transform 0.2s;
2192
2252
  }
2193
2253
 
2254
+ .tl-dropdown--lg:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2255
+ background-color: var(--dropdown-disabled);
2256
+ }
2257
+
2194
2258
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2195
2259
  content: "";
2196
2260
  position: absolute;
@@ -2208,6 +2272,10 @@ body {
2208
2272
  transition: transform 0.2s;
2209
2273
  }
2210
2274
 
2275
+ .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2276
+ background-color: var(--dropdown-disabled);
2277
+ }
2278
+
2211
2279
  .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2212
2280
  content: "";
2213
2281
  position: absolute;
@@ -2225,6 +2293,10 @@ body {
2225
2293
  transition: transform 0.2s;
2226
2294
  }
2227
2295
 
2296
+ .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2297
+ background-color: var(--dropdown-disabled);
2298
+ }
2299
+
2228
2300
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(:is(.tl-dropdown__button, .tl-dropdown__input)) .tl-dropdown__button::after,
2229
2301
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(:is(.tl-dropdown__button, .tl-dropdown__input)) .tl-dropdown__input-wrapper::after {
2230
2302
  top: calc(50% + 1px);
@@ -2247,6 +2319,10 @@ body {
2247
2319
  transition: transform 0.2s;
2248
2320
  }
2249
2321
 
2322
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2323
+ background-color: var(--dropdown-disabled);
2324
+ }
2325
+
2250
2326
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2251
2327
  content: "";
2252
2328
  position: absolute;
@@ -2264,6 +2340,10 @@ body {
2264
2340
  transition: transform 0.2s;
2265
2341
  }
2266
2342
 
2343
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2344
+ background-color: var(--dropdown-disabled);
2345
+ }
2346
+
2267
2347
  .tl-dropdown--label-inside:has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2268
2348
  content: "";
2269
2349
  position: absolute;
@@ -2281,6 +2361,10 @@ body {
2281
2361
  transition: transform 0.2s;
2282
2362
  }
2283
2363
 
2364
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2365
+ background-color: var(--dropdown-disabled);
2366
+ }
2367
+
2284
2368
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2285
2369
  content: "";
2286
2370
  position: absolute;
@@ -2298,6 +2382,10 @@ body {
2298
2382
  transition: transform 0.2s;
2299
2383
  }
2300
2384
 
2385
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2386
+ background-color: var(--dropdown-disabled);
2387
+ }
2388
+
2301
2389
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2302
2390
  content: "";
2303
2391
  position: absolute;
@@ -2315,6 +2403,10 @@ body {
2315
2403
  transition: transform 0.2s;
2316
2404
  }
2317
2405
 
2406
+ .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2407
+ background-color: var(--dropdown-disabled);
2408
+ }
2409
+
2318
2410
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2319
2411
  top: calc(50% + 1px);
2320
2412
  }
@@ -2668,6 +2760,10 @@ body {
2668
2760
  transition: box-shadow 0.2s;
2669
2761
  }
2670
2762
 
2763
+ .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select {
2764
+ padding-top: 3px;
2765
+ }
2766
+
2671
2767
  .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select:disabled {
2672
2768
  color: var(--dropdown-disabled);
2673
2769
  cursor: not-allowed;
@@ -2726,6 +2822,70 @@ body {
2726
2822
  border-color: transparent;
2727
2823
  }
2728
2824
 
2825
+ /**
2826
+ * Do not edit directly, this file was auto-generated.
2827
+ */
2828
+ .tl-footer,
2829
+ tds-footer {
2830
+ --component-footer-text-color-copyright: var(--color-foreground-text-soft);
2831
+ --component-footer-text-color-link-text: var(--color-brand-primary-50);
2832
+ --component-footer-primary: var(--scania-color-blue-900);
2833
+ --component-footer-border: var(--scania-color-blue-800);
2834
+ }
2835
+
2836
+ :root .tl-footer,
2837
+ :root tds-footer,
2838
+ .scania .tl-footer,
2839
+ .scania tds-footer {
2840
+ --component-footer-primary: var(--scania-color-blue-900);
2841
+ --component-footer-border: var(--scania-color-blue-700);
2842
+ --component-footer-text-color-copyright: var(--color-foreground-text-inverse-soft);
2843
+ --component-footer-text-color-link-text: var(--color-foreground-text-brand);
2844
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
2845
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
2846
+ }
2847
+ :root .tds-mode-light tds-footer,
2848
+ :root .tds-mode-light .tl-footer,
2849
+ .scania .tds-mode-light tds-footer,
2850
+ .scania .tds-mode-light .tl-footer {
2851
+ --component-footer-text-color-copyright: var(--color-foreground-text-inverse-soft);
2852
+ --component-footer-text-color-link-text: var(--color-foreground-text-brand);
2853
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
2854
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
2855
+ }
2856
+ :root .tds-mode-dark tds-footer,
2857
+ :root .tds-mode-dark .tl-footer,
2858
+ .scania .tds-mode-dark tds-footer,
2859
+ .scania .tds-mode-dark .tl-footer {
2860
+ --component-footer-text-color-copyright: var(--color-foreground-text-soft);
2861
+ --component-footer-text-color-link-text: var(--color-brand-primary-50);
2862
+ --component-footer-logotype-cdn: var(--tds-background-image-scania-wordmark-white-svg);
2863
+ --component-footer-logotype-local: var(--tds-background-image-scania-wordmark-white-svg-local);
2864
+ }
2865
+
2866
+ .traton tds-footer,
2867
+ .traton .tl-footer {
2868
+ --component-footer-primary: var(--traton-color-grey-50);
2869
+ --component-footer-border: var(--traton-color-transparent-invisible-light);
2870
+ --component-footer-text-color-copyright: var(--traton-color-transparent-600);
2871
+ --component-footer-text-color-link-text: var(--color-foreground-text-strong);
2872
+ --component-footer-logotype-cdn: var(--traton-logotype-black-svg);
2873
+ --component-footer-logotype-local: var(--traton-logotype-black-svg-local);
2874
+ }
2875
+ .traton .tds-mode-light tds-footer,
2876
+ .traton .tds-mode-light .tl-footer {
2877
+ --component-footer-text-color-copyright: var(--traton-color-transparent-600);
2878
+ --component-footer-logotype-cdn: var(--traton-logotype-black-svg);
2879
+ --component-footer-logotype-local: var(--traton-logotype-black-svg-local);
2880
+ }
2881
+ .traton .tds-mode-dark tds-footer,
2882
+ .traton .tds-mode-dark .tl-footer {
2883
+ --component-footer-text-color-copyright: var(--traton-color-transparent-inverse-600);
2884
+ --component-footer-primary: var(--traton-color-blue-1000);
2885
+ --component-footer-logotype-cdn: var(--traton-logotype-white-svg);
2886
+ --component-footer-logotype-local: var(--traton-logotype-white-svg-local);
2887
+ }
2888
+
2729
2889
  .tl-footer {
2730
2890
  --footer-top-background-primary: var(--color-background-layer-01);
2731
2891
  --footer-top-background-secondary: var(--color-background-base);
@@ -2995,13 +3155,118 @@ body {
2995
3155
  background-position: right;
2996
3156
  }
2997
3157
  }
3158
+ /**
3159
+ * Do not edit directly, this file was auto-generated.
3160
+ */
3161
+ .scania tds-header,
3162
+ .scania .tl-header {
3163
+ /* State & interaction colors */
3164
+ --component-header-color-background-open: var(--color-foreground-border-accent-focus);
3165
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3166
+ --component-header-dropdown-item-background: var(--color-background-layer-02);
3167
+ --component-header-avatar-item-background: var(--color-background-layer-02);
3168
+ --component-header-app-launcher-meny-background: var(--color-background-layer-02);
3169
+ /* Sizing & spacing */
3170
+ --component-header-brand-logo-size: 30px;
3171
+ --component-header-space-profile-padding: 16px;
3172
+ --component-header-item-image-size: 34px;
3173
+ --component-header-item-image-left: 10px;
3174
+ --component-header-item-width: none;
3175
+ --component-header-item-border-right: 1px solid var(--header-basic-element-border);
3176
+ /* Borders */
3177
+ --component-header-border: none;
3178
+ /* Typography */
3179
+ --component-header-font-family-headline: var(--scania-font-family-display);
3180
+ --component-header-font-weight: var(--scania-font-weight-regular);
3181
+ --component-header-text-transform: none;
3182
+ }
3183
+ .scania {
3184
+ /* ── Light-mode overrides ───────────────────── */
3185
+ }
3186
+ .scania .tds-mode-light tds-header,
3187
+ .scania .tds-mode-light .tl-header {
3188
+ --component-header-color-background: var(--color-brand-primary-800);
3189
+ --component-header-color-foreground-strong: var(--color-foreground-icon-inverse-strong);
3190
+ --component-header-color-background-hover: var(--color-brand-primary-700);
3191
+ --component-header-color-background-border: var(--color-brand-primary-700);
3192
+ --component-header-color-background-pressed: var(--color-brand-neutral-white);
3193
+ --component-header-color-background-selected: var(--color-brand-primary-700);
3194
+ }
3195
+ .scania {
3196
+ /* ── Dark-mode overrides ───────────────────── */
3197
+ }
3198
+ .scania .tds-mode-dark tds-header,
3199
+ .scania .tds-mode-dark .tl-header {
3200
+ --component-header-color-background: var(--color-brand-primary-900);
3201
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3202
+ --component-header-color-background-hover: var(--color-brand-primary-800);
3203
+ --component-header-color-background-border: var(--color-brand-primary-800);
3204
+ --component-header-color-background-pressed: var(--color-brand-primary-800);
3205
+ --component-header-color-background-selected: var(--color-brand-primary-800);
3206
+ }
3207
+
3208
+ .traton tds-header,
3209
+ .traton .tl-header {
3210
+ /* Base colors */
3211
+ --component-header-color-background: var(--color-background-base);
3212
+ --component-header-color-background-hover: var(--color-background-layer-01);
3213
+ --component-header-color-background-open: transparent;
3214
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3215
+ --component-header-color-background-border: var(--traton-color-transparent-invisible-light);
3216
+ --component-header-color-background-pressed: var(--color-background-base);
3217
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3218
+ /* Dropdown & launcher */
3219
+ --component-header-dropdown-item-background: var(--color-background-layer-01);
3220
+ --component-header-avatar-item-background: var(--color-background-layer-01);
3221
+ --component-header-app-launcher-meny-background: var(--color-background-layer-01);
3222
+ /* Sizing & spacing */
3223
+ --component-header-brand-logo-size: 106px;
3224
+ --component-header-space-profile-padding: 20px;
3225
+ --component-header-item-image-size: 24px;
3226
+ --component-header-item-image-left: 15px;
3227
+ --component-header-item-width: 122px;
3228
+ --component-header-item-border-right: none;
3229
+ /* Borders */
3230
+ --component-header-border: 2px solid var(--header-nav-item-border-active);
3231
+ /* Typography */
3232
+ --component-header-font-family-headline: var(--traton-font-family-display);
3233
+ --component-header-font-weight: var(--traton-font-weight-medium);
3234
+ --component-header-text-transform: uppercase;
3235
+ }
3236
+ .traton {
3237
+ /* ── Light-mode overrides ───────────────────── */
3238
+ }
3239
+ .traton .tds-mode-light tds-header,
3240
+ .traton .tds-mode-light .tl-header {
3241
+ --component-header-color-background-selected: var(--color-background-layer-01);
3242
+ }
3243
+ .traton {
3244
+ /* ── Dark-mode overrides ───────────────────── */
3245
+ }
3246
+ .traton .tds-mode-dark tds-header,
3247
+ .traton .tds-mode-dark .tl-header {
3248
+ --component-header-color-background-selected: var(--color-background-surface-100);
3249
+ }
3250
+
3251
+ /*
3252
+ Tegel Lite specific overrides
3253
+ Keep this in last to ensure it has the highest specificity for Tegel Lite
3254
+ */
3255
+ .scania .tl-header {
3256
+ --component-header-item-width: 30px;
3257
+ --component-header-dropdown-box-shadow: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
3258
+ }
3259
+
3260
+ .traton .tl-header {
3261
+ --component-header-dropdown-box-shadow: none;
3262
+ }
3263
+
2998
3264
  .tl-header {
2999
- /* Base background & text */
3000
- --header-background: var(--component-header-color-background);
3265
+ /* Base text */
3001
3266
  --header-nav-item: var(--component-header-color-foreground-strong);
3002
3267
  /* Nav-item states */
3003
3268
  --header-nav-item-background-hover: var(--color-background-surface-100);
3004
- --header-nav-item-background-selected: var(--color-background-surface-100);
3269
+ --header-nav-item-background-selected: var(--component-header-dropdown-item-background);
3005
3270
  --header-nav-item-border-pressed: var(--color-foreground-border-accent-focus);
3006
3271
  --header-item-hover: var(--component-header-color-background-hover);
3007
3272
  /* Dropdown menu items */
@@ -3013,11 +3278,11 @@ body {
3013
3278
  --tds-header-nav-item-dropdown-opened-background-selected: var(--tds-grey-100);
3014
3279
  --tds-header-nav-item-dropdown-opened-background-pressed: var(--tds-grey-300);
3015
3280
  --header-nav-item-dropdown-opened: var(--component-header-color-foreground-selected);
3016
- /* Basic element (“Bento”) separators & backgrounds */
3281
+ /* Basic element ("Bento") separators & backgrounds */
3017
3282
  --header-basic-element-border: var(--component-header-color-background-border);
3018
3283
  --header-basic-element-border-open: var(--component-header-color-background-open);
3019
- --header-basic-element-background-pressed: var(--component-header-color-background-pressed);
3020
- --header-basic-element-background-selected: var(--component-header-color-background-selected);
3284
+ --header-basic-element-background-pressed: var(--component-header-dropdown-item-background);
3285
+ --header-basic-element-background-selected: var(--component-header-dropdown-item-background);
3021
3286
  /* Avatar dropdown */
3022
3287
  --header-avatar-item-background: var(--component-header-avatar-item-background);
3023
3288
  --header-avatar-item: var(--color-foreground-text-soft);
@@ -3043,25 +3308,75 @@ body {
3043
3308
  --header-dropdown-box-shadow: var(--component-header-dropdown-box-shadow);
3044
3309
  }
3045
3310
 
3311
+ .scania {
3312
+ /* Light mode - explicit light mode class */
3313
+ }
3314
+ .scania .tds-mode-light .tl-header {
3315
+ --header-background: var(--color-brand-primary-800);
3316
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
3317
+ --header-item-hover: var(--color-brand-primary-700);
3318
+ --header-basic-element-border: var(--color-brand-primary-700);
3319
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3320
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
3321
+ }
3322
+ .scania {
3323
+ /* Dark mode - override with dark colors */
3324
+ }
3325
+ .scania .tds-mode-dark .tl-header {
3326
+ --header-background: var(--color-brand-primary-900);
3327
+ --header-nav-item: var(--color-foreground-icon-strong);
3328
+ --header-item-hover: var(--color-brand-primary-800);
3329
+ --header-basic-element-border: var(--color-brand-primary-800);
3330
+ --header-basic-element-background-pressed: var(--color-brand-primary-800);
3331
+ --header-basic-element-background-selected: var(--color-brand-primary-800);
3332
+ }
3333
+ .scania {
3334
+ /* Default .tl-header (works for no mode specified - defaults to light) */
3335
+ }
3046
3336
  .scania .tl-header {
3047
3337
  /* Brand logo */
3048
3338
  --header-logotype-local: var(--tds-background-image-scania-symbol-svg-local);
3049
3339
  --header-logotype-cdn: var(--tds-background-image-scania-symbol-svg);
3050
3340
  --component-header-space-profile-padding: 16px;
3341
+ /* Background defaults to light mode */
3342
+ --header-background: var(--color-brand-primary-800);
3343
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
3344
+ --header-item-hover: var(--color-brand-primary-700);
3345
+ --header-basic-element-border: var(--color-brand-primary-700);
3346
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3347
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
3051
3348
  }
3052
3349
 
3053
3350
  .traton .tds-mode-dark .tl-header {
3054
- /* Brand logo */
3351
+ /* Brand logo - White for dark mode */
3055
3352
  --header-logotype-local: var(--traton-logotype-white-svg-local);
3056
3353
  --header-logotype-cdn: var(--traton-logotype-white-svg);
3354
+ /* Background - uses base from traton tokens */
3355
+ --header-background: var(--color-background-base);
3356
+ --header-nav-item: var(--color-foreground-icon-strong);
3357
+ --header-item-hover: var(--color-background-layer-01);
3358
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3359
+ --header-basic-element-background-pressed: var(--color-background-base);
3360
+ --header-basic-element-background-selected: var(--color-background-surface-100);
3057
3361
  }
3058
3362
  .traton .tds-mode-light .tl-header {
3059
- /* Brand logo */
3363
+ /* Brand logo - Black for light mode */
3060
3364
  --header-logotype-local: var(--traton-logotype-black-svg-local);
3061
3365
  --header-logotype-cdn: var(--traton-logotype-black-svg);
3366
+ /* Background - uses base from traton tokens */
3367
+ --header-background: var(--color-background-base);
3368
+ --header-nav-item: var(--color-foreground-icon-strong);
3369
+ --header-item-hover: var(--color-background-layer-01);
3370
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3371
+ --header-basic-element-background-pressed: var(--color-background-base);
3372
+ --header-basic-element-background-selected: var(--color-background-layer-01);
3062
3373
  }
3063
3374
  .traton .tl-header {
3375
+ /* Brand logo - Black as default (for no mode specified) */
3376
+ --header-logotype-local: var(--traton-logotype-black-svg-local);
3377
+ --header-logotype-cdn: var(--traton-logotype-black-svg);
3064
3378
  --component-header-space-profile-padding: 20px;
3379
+ --header-background: transparent;
3065
3380
  }
3066
3381
 
3067
3382
  /* Header Elements */
@@ -3100,18 +3415,12 @@ body {
3100
3415
  outline: none;
3101
3416
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3102
3417
  }
3103
- .tl-header__item--pressed .tl-header__item-wrapper {
3418
+ .tl-header__item-wrapper:active {
3104
3419
  padding-top: 2px;
3105
3420
  padding-bottom: 2px;
3106
3421
  background-color: var(--header-basic-element-background-selected);
3107
3422
  box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
3108
3423
  }
3109
- .tl-header__item--selected:not(.tl-header__item--pressed) .tl-header__item-wrapper {
3110
- padding-top: 4px;
3111
- border-bottom-style: solid;
3112
- border-bottom-width: 4px;
3113
- border-bottom-color: var(--header-nav-item-border-pressed);
3114
- }
3115
3424
 
3116
3425
  .tl-header__item-wrapper .tl-link__icon {
3117
3426
  position: relative;
@@ -3147,25 +3456,26 @@ body {
3147
3456
  outline: none;
3148
3457
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3149
3458
  }
3459
+ .tl-header__dropdown-wrapper:active {
3460
+ background-color: var(--header-basic-element-background-selected);
3461
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3462
+ }
3150
3463
  .tl-header__dropdown-wrapper--open {
3151
- background-color: var(--header-basic-element-background-pressed);
3464
+ background-color: var(--component-header-color-background-pressed);
3152
3465
  color: var(--header-nav-item-dropdown-opened);
3153
3466
  position: relative;
3154
3467
  z-index: calc(var(--tds-z-index-header) + 1);
3155
3468
  }
3156
3469
  .tl-header__dropdown-wrapper--open:hover {
3157
- background-color: var(--header-basic-element-background-pressed);
3470
+ background-color: var(--component-header-color-background-pressed);
3471
+ }
3472
+ .tl-header__dropdown-wrapper--open:active {
3473
+ background-color: var(--component-header-color-background-pressed);
3474
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3158
3475
  }
3159
3476
  .tl-header__dropdown-wrapper--selected {
3160
- padding-top: 4px;
3161
3477
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
3162
3478
  }
3163
- .tl-header__dropdown-wrapper--pressed {
3164
- padding-top: 2px;
3165
- padding-bottom: 2px;
3166
- background-color: var(--header-basic-element-background-selected);
3167
- box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
3168
- }
3169
3479
 
3170
3480
  .tl-header__dropdown-wrapper-user {
3171
3481
  all: unset;
@@ -3193,28 +3503,33 @@ body {
3193
3503
  outline: none;
3194
3504
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3195
3505
  }
3506
+ .tl-header__dropdown-wrapper-user:active {
3507
+ background-color: var(--header-basic-element-background-selected);
3508
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3509
+ }
3196
3510
  .tl-header__dropdown-wrapper-user--open {
3197
- background-color: var(--header-basic-element-background-pressed);
3511
+ background-color: var(--component-header-color-background-pressed);
3198
3512
  color: var(--header-nav-item-dropdown-opened);
3199
3513
  position: relative;
3200
3514
  z-index: calc(var(--tds-z-index-header) + 1);
3201
3515
  }
3202
3516
  .tl-header__dropdown-wrapper-user--open:hover {
3203
- background-color: var(--header-basic-element-background-pressed);
3517
+ background-color: var(--component-header-color-background-pressed);
3518
+ }
3519
+ .tl-header__dropdown-wrapper-user--open:active {
3520
+ background-color: var(--component-header-color-background-pressed);
3521
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3204
3522
  }
3205
3523
  .tl-header__dropdown-wrapper-user--selected {
3206
- padding-top: 4px;
3207
3524
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
3208
3525
  }
3209
- .tl-header__dropdown-wrapper-user--pressed {
3210
- padding-top: 2px;
3211
- padding-bottom: 2px;
3212
- background-color: var(--header-basic-element-background-selected);
3213
- box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
3214
- }
3215
3526
 
3216
3527
  .tl-header__dropdown-icon {
3528
+ display: flex;
3529
+ align-items: center;
3530
+ justify-content: center;
3217
3531
  transition: transform 0.2s ease;
3532
+ transform-origin: center center;
3218
3533
  }
3219
3534
  .tl-header__dropdown-icon--rotated {
3220
3535
  transform: rotate(180deg);
@@ -3282,6 +3597,7 @@ body {
3282
3597
  max-height: calc(100vh - var(--tds-header-height));
3283
3598
  overflow-y: auto;
3284
3599
  z-index: var(--tds-z-index-header);
3600
+ border-radius: 4px;
3285
3601
  }
3286
3602
  .tl-header__user-menu::-webkit-scrollbar {
3287
3603
  width: var(--tl-scrollbar-width);
@@ -3372,6 +3688,7 @@ body {
3372
3688
  max-height: calc(100vh - var(--tds-header-height));
3373
3689
  overflow-y: auto;
3374
3690
  z-index: var(--tds-z-index-header);
3691
+ border-radius: 4px;
3375
3692
  }
3376
3693
  .tl-header__launcher-menu-grid::-webkit-scrollbar {
3377
3694
  width: var(--tl-scrollbar-width);
@@ -3448,13 +3765,13 @@ body {
3448
3765
  }
3449
3766
 
3450
3767
  .tl-header__user-menu-header {
3451
- font-family: var(--headline-07-font-family);
3452
- font-size: var(--headline-07-font-size);
3453
- line-height: var(--headline-07-line-height);
3454
- font-weight: var(--headline-07-font-weight);
3455
- letter-spacing: var(--headline-07-letter-spacing);
3456
- text-transform: var(--headline-07-text-transform);
3457
- color: var(--header-nav-item-dropdown-opened);
3768
+ font-family: var(--detail-06-font-family);
3769
+ font-size: var(--detail-06-font-size);
3770
+ line-height: var(--detail-06-line-height);
3771
+ font-weight: var(--detail-06-font-weight);
3772
+ letter-spacing: var(--detail-06-letter-spacing);
3773
+ text-transform: var(--detail-06-text-transform);
3774
+ color: var(--color-foreground-text-defined);
3458
3775
  }
3459
3776
 
3460
3777
  .tl-header__user-menu-subheader {
@@ -3488,15 +3805,14 @@ body {
3488
3805
  .tl-header__launcher-menu-title {
3489
3806
  all: unset;
3490
3807
  box-sizing: border-box;
3491
- font-family: var(--detail-04-font-family);
3492
- font-size: var(--detail-04-font-size);
3493
- line-height: var(--detail-04-line-height);
3494
- font-weight: var(--detail-04-font-weight);
3495
- letter-spacing: var(--detail-04-letter-spacing);
3496
- text-transform: var(--detail-04-text-transform);
3808
+ font-family: var(--text-component-title-02-font-family);
3809
+ font-size: var(--text-component-title-02-font-size);
3810
+ line-height: var(--text-component-title-02-line-height);
3811
+ font-weight: var(--text-component-title-02-font-weight);
3812
+ letter-spacing: var(--text-component-title-02-letter-spacing);
3813
+ text-transform: var(--text-component-title-02-text-transform);
3497
3814
  background-color: var(--header-nav-dropdown-item-background);
3498
3815
  color: var(--header-app-launcher-grid-category-title);
3499
- text-transform: uppercase;
3500
3816
  height: 48px;
3501
3817
  padding: 0 16px;
3502
3818
  display: flex;
@@ -3521,7 +3837,7 @@ body {
3521
3837
  letter-spacing: var(--detail-02-letter-spacing);
3522
3838
  text-transform: var(--detail-02-text-transform);
3523
3839
  background-color: var(--header-nav-dropdown-item-background);
3524
- color: var(--header-nav-item-dropdown-opened);
3840
+ color: var(--color-foreground-text-defined);
3525
3841
  }
3526
3842
  .tl-header__dropdown-menu-item a:hover,
3527
3843
  .tl-header__dropdown-menu-item button:hover {
@@ -3556,8 +3872,8 @@ body {
3556
3872
  font-weight: var(--detail-05-font-weight);
3557
3873
  letter-spacing: var(--detail-05-letter-spacing);
3558
3874
  text-transform: var(--detail-05-text-transform);
3559
- background-color: var(--tds-header-app-launcher-menu-bg);
3560
- color: var(--tds-header-app-launcher-grid-color);
3875
+ background-color: var(--header-nav-dropdown-item-background);
3876
+ color: var(--color-foreground-text-defined);
3561
3877
  border-radius: 4px;
3562
3878
  transition: background-color 150ms ease;
3563
3879
  }
@@ -4318,6 +4634,14 @@ body {
4318
4634
  mask-image: var(--icon-message_inactive-svg);
4319
4635
  background-color: currentcolor;
4320
4636
  }
4637
+ .tl-icon--microphone {
4638
+ mask-image: var(--icon-microphone-svg);
4639
+ background-color: currentcolor;
4640
+ }
4641
+ .tl-icon--microphone_inactive {
4642
+ mask-image: var(--icon-microphone_inactive-svg);
4643
+ background-color: currentcolor;
4644
+ }
4321
4645
  .tl-icon--mileage {
4322
4646
  mask-image: var(--icon-mileage-svg);
4323
4647
  background-color: currentcolor;
@@ -4350,6 +4674,10 @@ body {
4350
4674
  mask-image: var(--icon-notification_inactive-svg);
4351
4675
  background-color: currentcolor;
4352
4676
  }
4677
+ .tl-icon--notification_snooze {
4678
+ mask-image: var(--icon-notification_snooze-svg);
4679
+ background-color: currentcolor;
4680
+ }
4353
4681
  .tl-icon--oil_level {
4354
4682
  mask-image: var(--icon-oil_level-svg);
4355
4683
  background-color: currentcolor;
@@ -4358,6 +4686,10 @@ body {
4358
4686
  mask-image: var(--icon-oil_level_inactive-svg);
4359
4687
  background-color: currentcolor;
4360
4688
  }
4689
+ .tl-icon--paperclip {
4690
+ mask-image: var(--icon-paperclip-svg);
4691
+ background-color: currentcolor;
4692
+ }
4361
4693
  .tl-icon--pause {
4362
4694
  mask-image: var(--icon-pause-svg);
4363
4695
  background-color: currentcolor;
@@ -5094,6 +5426,41 @@ body {
5094
5426
  display: none;
5095
5427
  }
5096
5428
 
5429
+ /**
5430
+ * Do not edit directly, this file was auto-generated.
5431
+ */
5432
+ :root,
5433
+ .tds-mode-light,
5434
+ .scania .tds-mode-light {
5435
+ --component-shadow-hover: var(--scania-color-transparent-shadow-250);
5436
+ --component-shadow-default: var(--scania-color-transparent-shadow-150);
5437
+ --component-shadow-pressed: var(--scania-color-transparent-shadow-250);
5438
+ --component-shadow-dragged: var(--scania-color-transparent-shadow-200);
5439
+ --component-shadow-base-modifier: var(--scania-color-transparent-shadow-100);
5440
+ --component-shadow-focus: var(--scania-color-transparent-shadow-350);
5441
+ }
5442
+
5443
+ .tds-mode-dark,
5444
+ .scania .tds-mode-dark {
5445
+ --component-shadow-hover: var(--scania-color-transparent-invisible-dark);
5446
+ --component-shadow-default: var(--scania-color-transparent-invisible-dark);
5447
+ --component-shadow-pressed: var(--scania-color-transparent-invisible-dark);
5448
+ --component-shadow-dragged: var(--scania-color-transparent-invisible-dark);
5449
+ --component-shadow-base-modifier: var(--scania-color-transparent-invisible-dark);
5450
+ --component-shadow-focus: var(--scania-color-transparent-invisible-dark);
5451
+ }
5452
+
5453
+ .traton,
5454
+ .traton .tds-mode-light,
5455
+ .traton .tds-mode-dark {
5456
+ --component-shadow-hover: var(--traton-color-transparent-invisible-dark);
5457
+ --component-shadow-default: var(--traton-color-transparent-invisible-dark);
5458
+ --component-shadow-pressed: var(--traton-color-transparent-invisible-dark);
5459
+ --component-shadow-dragged: var(--traton-color-transparent-invisible-dark);
5460
+ --component-shadow-base-modifier: var(--traton-color-transparent-invisible-dark);
5461
+ --component-shadow-focus: var(--traton-color-transparent-invisible-dark);
5462
+ }
5463
+
5097
5464
  /* Component variables */
5098
5465
  .tl-modal,
5099
5466
  :root {
@@ -5675,7 +6042,7 @@ body {
5675
6042
  }
5676
6043
  .tl-radio-button__input:disabled::after {
5677
6044
  background-color: var(--radio-button-background-disabled);
5678
- border: 1px solid var(--radio-button-border-disabled);
6045
+ border-color: var(--radio-button-background-disabled);
5679
6046
  outline: none;
5680
6047
  }
5681
6048
  .tl-radio-button__input:disabled:checked::before {
@@ -5714,6 +6081,77 @@ body {
5714
6081
  transform: scale(1);
5715
6082
  }
5716
6083
  }
6084
+ /**
6085
+ * Do not edit directly, this file was auto-generated.
6086
+ */
6087
+ :root .tl-side-menu,
6088
+ :root tds-side-menu,
6089
+ .scania .tl-side-menu,
6090
+ .scania tds-side-menu {
6091
+ --component-side-menu-color-divider: var(--color-foreground-border-discrete);
6092
+ --component-side-menu-radius-corner: var(--scania-unit-0);
6093
+ --component-side-menu-size-close-icon-size: var(--scania-unit-20);
6094
+ --component-side-menu-size-icon: var(--scania-unit-24);
6095
+ --component-side-menu-space-collapsed-item-left-right-inner-icon-padding: 22px;
6096
+ --component-side-menu-space-sub-menu-item-chevron-right-padding: var(--scania-unit-16);
6097
+ --component-side-menu-space-sub-menu-item-left: 22px;
6098
+ --component-side-menu-space-sub-menu-item-profile-gap: var(--scania-unit-16);
6099
+ --component-side-menu-space-sub-menu-item-profile-left: var(--scania-unit-16);
6100
+ --component-side-menu-space-sub-menu-item-profile-top-bottom: 18px;
6101
+ --component-side-menu-space-sub-menu-item-selected-marker-height: 68px;
6102
+ --component-side-menu-space-sub-menu-item-top-and-bottom: 22px;
6103
+ --component-side-menu-space-sub-page-left-no-icon: var(--scania-unit-24);
6104
+ --component-side-menu-space-sub-page-left-profile: var(--scania-unit-64);
6105
+ --component-side-menu-space-sub-page-left-with-icon: 58px;
6106
+ --component-side-menu-space-sub-page-selected-marker-height: var(--scania-unit-48);
6107
+ --component-side-menu-space-sub-page-selected-marker-width: var(--scania-unit-4);
6108
+ --component-side-menu-space-sub-page-top-bottom: var(--scania-unit-16);
6109
+ --component-side-menu-space-sub-page-top-group: var(--scania-unit-0);
6110
+ --component-side-menu-space-top-level-bottom-collapsible: var(--scania-unit-0);
6111
+ --component-side-menu-space-top-level-left: var(--scania-unit-0);
6112
+ --component-side-menu-space-top-level-top: var(--scania-unit-0);
6113
+ --component-side-menu-space-top-level-vertical-gap-padding: var(--scania-unit-0);
6114
+ --component-side-menu-text-items-font-family: var(--scania-font-family-semi-condensed);
6115
+ --component-side-menu-text-items-font-weight: var(--scania-font-weight-bold);
6116
+ --component-side-menu-text-items-font-size: 14px;
6117
+ --component-side-menu-text-items-line-height: 16px;
6118
+ --component-side-menu-text-items-letter-spacing: -0.14px;
6119
+ --component-side-menu-text-items-text-transform: none;
6120
+ }
6121
+
6122
+ .traton .tl-side-menu,
6123
+ .traton tds-side-menu {
6124
+ --component-side-menu-color-divider: var(--traton-color-transparent-invisible-light);
6125
+ --component-side-menu-radius-corner: var(--traton-unit-8);
6126
+ --component-side-menu-size-close-icon-size: var(--traton-unit-20);
6127
+ --component-side-menu-size-icon: var(--traton-unit-16);
6128
+ --component-side-menu-space-collapsed-item-left-right-inner-icon-padding: var(--traton-unit-12);
6129
+ --component-side-menu-space-sub-menu-item-chevron-right-padding: var(--traton-unit-12);
6130
+ --component-side-menu-space-sub-menu-item-left: var(--traton-unit-12);
6131
+ --component-side-menu-space-sub-menu-item-profile-gap: var(--traton-unit-8);
6132
+ --component-side-menu-space-sub-menu-item-profile-left: var(--traton-unit-8);
6133
+ --component-side-menu-space-sub-menu-item-profile-top-bottom: var(--traton-unit-4);
6134
+ --component-side-menu-space-sub-menu-item-selected-marker-height: var(--traton-unit-40);
6135
+ --component-side-menu-space-sub-menu-item-top-and-bottom: var(--traton-unit-8);
6136
+ --component-side-menu-space-sub-page-left-no-icon: 14px;
6137
+ --component-side-menu-space-sub-page-left-profile: var(--traton-unit-48);
6138
+ --component-side-menu-space-sub-page-left-with-icon: var(--traton-unit-40);
6139
+ --component-side-menu-space-sub-page-selected-marker-height: 32px;
6140
+ --component-side-menu-space-sub-page-selected-marker-width: var(--traton-unit-8);
6141
+ --component-side-menu-space-sub-page-top-bottom: var(--traton-unit-8);
6142
+ --component-side-menu-space-sub-page-top-group: var(--traton-unit-4);
6143
+ --component-side-menu-space-top-level-bottom-collapsible: var(--traton-unit-16);
6144
+ --component-side-menu-space-top-level-left: var(--traton-unit-16);
6145
+ --component-side-menu-space-top-level-top: var(--traton-unit-14);
6146
+ --component-side-menu-space-top-level-vertical-gap-padding: var(--traton-unit-16);
6147
+ --component-side-menu-text-items-font-family: var(--traton-font-family-default);
6148
+ --component-side-menu-text-items-font-weight: var(--traton-font-weight-medium);
6149
+ --component-side-menu-text-items-font-size: 14px;
6150
+ --component-side-menu-text-items-line-height: 18px;
6151
+ --component-side-menu-text-items-letter-spacing: 0;
6152
+ --component-side-menu-text-items-text-transform: none;
6153
+ }
6154
+
5717
6155
  .tl-side-menu {
5718
6156
  --side-menu-background-cover: var(--color-background-base);
5719
6157
  --side-menu-item-state-hover: var(--color-background-layer-01);
@@ -6263,1745 +6701,1262 @@ body {
6263
6701
  --slider-border-radius: 4px;
6264
6702
  }
6265
6703
 
6266
- .tl-text-field {
6267
- --text-field-background: var(--color-background-layer-01);
6268
- --text-field-text: var(--color-foreground-text-strong);
6269
- --text-field-placeholder: var(--color-foreground-text-subtle);
6270
- --text-field-affix: var(--color-foreground-text-defined);
6271
- --text-field-label: var(--color-foreground-text-strong);
6272
- --text-field-label-inside: var(--color-foreground-text-strong);
6273
- --text-field-label-inside-left: 16px;
6274
- --text-field-affix-width-icon: 35px;
6275
- --text-field-affix-width-text: 8px;
6276
- --text-field-border-bottom-readonly: var(--color-foreground-border-strong);
6277
- --text-field-helper: var(--color-foreground-text-defined);
6278
- --text-field-error: var(--color-system-danger-default);
6279
- --text-field-affix-error: var(--color-foreground-text-defined);
6280
- --text-field-background-disabled: var(--color-background-layer-01);
6281
- --text-field-text-disabled: var(--color-foreground-text-disabled);
6282
- --text-field-placeholder-disabled: var(--color-foreground-text-disabled);
6283
- --text-field-label-disabled: var(--color-foreground-text-disabled);
6284
- --text-field-affix-disabled: var(--color-foreground-text-disabled);
6285
- --text-field-textcounter: var(--color-foreground-text-defined);
6286
- }
6287
- .tl-text-field--primary {
6288
- --text-field-background: var(--color-background-layer-01);
6289
- --text-field-background-disabled: var(--color-background-layer-01);
6704
+ .tl-slider {
6705
+ box-sizing: border-box;
6290
6706
  }
6291
- .tl-text-field--secondary {
6292
- --text-field-background: var(--color-background-layer-02);
6293
- --text-field-background-disabled: var(--color-background-layer-02);
6707
+ .tl-slider * {
6708
+ box-sizing: border-box;
6294
6709
  }
6295
-
6296
- .tl-text-field,
6297
- .scania .tl-text-field {
6298
- --text-field-border-radius: 4px 4px 0 0;
6299
- --text-field-box-shadow: 0 -1px 0 0 var(--color-foreground-border-soft);
6300
- --text-field-box-shadow-hover: 0 -1px 0 0 var(--color-foreground-border-strong);
6301
- --text-field-box-shadow-focus: 0 -2px 0 0 var(--color-foreground-border-accent-focus);
6302
- --text-field-box-shadow-error: 0 -1px 0 0 var(--color-system-danger-default);
6303
- --text-field-box-shadow-error-hover: 0 -1px 0 0 var(--color-system-danger-default);
6304
- --text-field-box-shadow-error-focus: 0 -2px 0 0 var(--color-system-danger-default);
6305
- --text-field-box-shadow-success: 0 -1px 0 0 var(--color-foreground-border-strong);
6306
- --text-field-bar-focus: var(--color-foreground-border-accent-focus);
6307
- --text-field-bar-error: var(--color-system-danger-default);
6308
- --text-field-focus-outline: none;
6309
- --text-field-focus-outline-error: none;
6310
- --text-field-focus-outline-offset: 0;
6710
+ .tl-slider {
6711
+ width: 100%;
6311
6712
  }
6312
-
6313
- .traton .tl-text-field {
6314
- --text-field-border-radius: 4px 4px 4px 4px;
6315
- --text-field-box-shadow: 0 0 0 1px var(--color-foreground-border-soft);
6316
- --text-field-box-shadow-hover: 0 0 0 1px var(--color-foreground-border-strong);
6317
- --text-field-box-shadow-focus: 0 0 0 2px var(--color-foreground-border-accent-focus);
6318
- --text-field-box-shadow-success: 0 0 0 1px var(--color-foreground-border-strong);
6319
- --text-field-box-shadow-error: 0 0 0 1px var(--color-system-danger-default);
6320
- --text-field-box-shadow-error-hover: 0 0 0 1px var(--color-system-danger-default);
6321
- --text-field-box-shadow-error-focus: 0 0 0 2px var(--color-system-danger-default);
6322
- --text-field-focus-outline: 2px solid var(--color-foreground-border-accent-focus);
6323
- --text-field-focus-outline-error: 2px solid var(--color-system-danger-default);
6324
- --text-field-focus-outline-offset: 0;
6325
- --text-field-bar-focus: transparent;
6326
- --text-field-bar-error: transparent;
6713
+ .tl-slider:has(input[type=range][readonly]):not(:has(input[type=range]:disabled)) {
6714
+ pointer-events: none;
6327
6715
  }
6328
6716
 
6329
- .tl-text-field {
6717
+ .tl-slider__label {
6718
+ font-family: var(--detail-05-font-family);
6719
+ font-size: var(--detail-05-font-size);
6720
+ line-height: var(--detail-05-line-height);
6721
+ font-weight: var(--detail-05-font-weight);
6722
+ letter-spacing: var(--detail-05-letter-spacing);
6723
+ text-transform: var(--detail-05-text-transform);
6724
+ user-select: none;
6725
+ color: var(--slider-label);
6330
6726
  display: block;
6331
- position: relative;
6332
- width: 100%;
6333
- min-width: 208px;
6334
- height: 56px;
6335
- padding-bottom: 1px;
6336
- border-radius: var(--text-field-border-radius);
6337
- box-sizing: border-box;
6727
+ margin-bottom: 24px;
6728
+ margin-left: -2px;
6338
6729
  }
6339
- .tl-text-field--no-min-width {
6340
- min-width: auto;
6341
- }
6342
- .tl-text-field--lg {
6343
- height: 56px;
6344
- }
6345
- .tl-text-field--md {
6346
- height: 48px;
6730
+ .tl-slider:has(.tl-slider__value-divider-label) .tl-slider__label {
6731
+ margin-bottom: 44px;
6347
6732
  }
6348
- .tl-text-field--sm {
6349
- height: 40px;
6733
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus) .tl-slider__label {
6734
+ margin-bottom: 2px;
6735
+ padding-left: 11px;
6736
+ margin-left: 0;
6350
6737
  }
6351
- .tl-text-field:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon)::before {
6352
- content: "";
6353
- position: absolute;
6354
- top: 50%;
6355
- right: 16px;
6356
- width: 20px;
6357
- height: 20px;
6358
- background-color: var(--text-field-text);
6359
- mask-image: var(--icon-edit_inactive-svg);
6360
- mask-size: contain;
6361
- mask-repeat: no-repeat;
6362
- mask-position: center;
6363
- transform: translateY(-50%);
6364
- z-index: 1;
6738
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus):has(.tl-slider__value-divider-label) .tl-slider__label {
6739
+ margin-bottom: 20px;
6740
+ padding-left: 11px;
6741
+ margin-left: 0;
6365
6742
  }
6366
- .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__label):has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon)::before {
6367
- top: calc(50% + 24px);
6743
+ .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6744
+ margin-bottom: 2px;
6745
+ margin-left: 0;
6368
6746
  }
6369
- .tl-text-field:has(.tl-text-field__input:disabled) {
6370
- cursor: not-allowed;
6747
+ :has(input[type=range]:disabled) .tl-slider__label {
6748
+ color: var(--slider-disabled-text);
6371
6749
  }
6372
- .tl-text-field .tl-icon {
6373
- background-color: var(--text-field-affix);
6750
+
6751
+ .tl-slider__track-wrapper {
6752
+ position: relative;
6753
+ display: flex;
6754
+ align-items: center;
6755
+ gap: 5px;
6374
6756
  }
6375
- :has(.tl-text-field__input:disabled) .tl-text-field .tl-icon {
6376
- background-color: var(--text-field-affix-disabled);
6757
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6758
+ gap: 16px;
6759
+ align-items: center;
6760
+ height: 41px;
6377
6761
  }
6378
6762
 
6379
- .tl-text-field__input {
6380
- all: unset;
6381
- border-radius: var(--text-field-border-radius);
6382
- background-color: var(--text-field-background);
6383
- color: var(--text-field-text);
6384
- width: 100%;
6385
- box-sizing: border-box;
6386
- margin: 0;
6763
+ .tl-slider__control-minus,
6764
+ .tl-slider__control-plus {
6765
+ flex-shrink: 0;
6387
6766
  border: none;
6388
- outline: none;
6389
- }
6390
- .tl-text-field__input::placeholder {
6391
- color: var(--text-field-placeholder);
6392
- }
6393
- .tl-text-field__input:disabled {
6394
- background-color: var(--text-field-background-disabled);
6395
- color: var(--text-field-text-disabled);
6396
- user-select: none;
6397
- pointer-events: none;
6398
6767
  }
6399
- .tl-text-field__input:disabled::placeholder {
6400
- color: var(--text-field-placeholder-disabled);
6401
- }
6402
- .tl-text-field__input {
6403
- font-family: var(--detail-02-font-family);
6404
- font-size: var(--detail-02-font-size);
6405
- line-height: var(--detail-02-line-height);
6406
- font-weight: var(--detail-02-font-weight);
6407
- letter-spacing: var(--detail-02-letter-spacing);
6408
- text-transform: var(--detail-02-text-transform);
6409
- text-align: left;
6410
- color: var(--text-field-text);
6768
+
6769
+ .tl-slider__track {
6770
+ position: relative;
6411
6771
  flex: 1;
6412
- order: 2;
6413
- box-shadow: inset var(--text-field-box-shadow);
6414
- transition: box-shadow 0.2s;
6772
+ min-height: 2px;
6773
+ background-color: var(--slider-track);
6774
+ border-radius: var(--slider-border-radius);
6415
6775
  }
6416
- .tl-text-field__input:focus {
6417
- box-shadow: inset var(--text-field-box-shadow-focus);
6776
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6777
+ height: 2px;
6778
+ align-self: center;
6418
6779
  }
6419
- .tl-text-field:hover .tl-text-field__input:not(:focus):not(:disabled) {
6420
- box-shadow: inset var(--text-field-box-shadow-hover);
6780
+ .tl-slider__track::after {
6781
+ content: "";
6782
+ position: absolute;
6783
+ left: 0;
6784
+ right: 0;
6785
+ top: -10px;
6786
+ bottom: -10px;
6787
+ cursor: pointer;
6788
+ z-index: 0;
6421
6789
  }
6422
- .tl-text-field--error .tl-text-field__input {
6423
- box-shadow: inset var(--text-field-box-shadow-error);
6790
+ .tl-slider__track:focus {
6791
+ outline: 0;
6424
6792
  }
6425
- .tl-text-field--error .tl-text-field__input:focus {
6426
- box-shadow: inset var(--text-field-box-shadow-error-focus);
6793
+ .tl-slider__track:focus .tl-slider__thumb-inner {
6794
+ width: 24px;
6795
+ height: 24px;
6427
6796
  }
6428
- .tl-text-field--error:hover .tl-text-field__input:not(:focus):not(:disabled) {
6429
- box-shadow: inset var(--text-field-box-shadow-error-hover);
6797
+ .tl-slider__track:focus .tl-slider__thumb-inner::before {
6798
+ display: block;
6799
+ opacity: 0.08;
6430
6800
  }
6431
- .tl-text-field--success:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:not(:focus) {
6432
- box-shadow: inset var(--text-field-box-shadow-success);
6801
+ .tl-slider__track:focus-within .tl-slider__thumb-inner {
6802
+ outline: 2px solid var(--slider-input-focused);
6803
+ box-shadow: 0 0 0 1px var(--color-background-layer-01);
6804
+ outline-offset: 1px;
6805
+ z-index: 1;
6433
6806
  }
6434
- .tl-text-field__input:disabled {
6435
- box-shadow: none;
6436
- background-color: var(--text-field-background-disabled);
6437
- color: var(--text-field-text-disabled);
6807
+ .tl-slider__track:disabled {
6438
6808
  cursor: not-allowed;
6439
- pointer-events: none;
6809
+ background-color: var(--slider-disabled);
6440
6810
  }
6441
- :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
6442
- box-shadow: inset var(--text-field-box-shadow);
6811
+ .tl-slider__track:disabled::after {
6812
+ cursor: not-allowed;
6443
6813
  }
6444
- :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:focus {
6445
- box-shadow: inset var(--text-field-box-shadow-focus);
6814
+
6815
+ .tl-slider__value {
6816
+ font-family: var(--detail-02-font-family);
6817
+ font-size: var(--detail-02-font-size);
6818
+ line-height: var(--detail-02-line-height);
6819
+ font-weight: var(--detail-02-font-weight);
6820
+ letter-spacing: var(--detail-02-letter-spacing);
6821
+ text-transform: var(--detail-02-text-transform);
6822
+ user-select: none;
6823
+ color: var(--slider-input-value);
6824
+ flex-shrink: 0;
6825
+ align-self: center;
6446
6826
  }
6447
- :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):hover .tl-text-field__input:not(:focus) {
6448
- box-shadow: inset var(--text-field-box-shadow-hover);
6827
+ :has(input[type=range]:disabled) .tl-slider__value {
6828
+ color: var(--slider-disabled-text);
6449
6829
  }
6450
- :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
6451
- user-select: auto;
6452
- caret-color: transparent;
6453
- cursor: default;
6454
- pointer-events: none;
6830
+
6831
+ .tl-slider__input-wrapper {
6832
+ flex-shrink: 0;
6833
+ width: auto;
6834
+ height: auto;
6835
+ min-width: auto;
6836
+ margin-left: 0;
6837
+ align-self: center;
6455
6838
  }
6456
- .tl-text-field:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon) .tl-text-field__input {
6457
- padding-right: 54px;
6839
+ .tl-slider__input-wrapper.tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled))::before {
6840
+ width: 16px;
6841
+ height: 16px;
6842
+ right: 16px;
6843
+ top: 50%;
6844
+ transform: translateY(-50%);
6458
6845
  }
6459
- .tl-text-field--lg .tl-text-field__input {
6460
- padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
6846
+
6847
+ .tl-slider__input-wrapper .tl-slider__input-field {
6848
+ width: var(--slider-input-width, 56px);
6849
+ padding: 12px;
6850
+ text-align: center;
6851
+ appearance: textfield;
6461
6852
  }
6462
- .tl-text-field--md .tl-text-field__input {
6463
- padding: var(--tds-spacing-element-16);
6853
+ .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6854
+ width: 56px;
6464
6855
  }
6465
- .tl-text-field--sm .tl-text-field__input {
6466
- padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
6856
+ .tl-slider__input-wrapper .tl-slider__input-field::-webkit-outer-spin-button, .tl-slider__input-wrapper .tl-slider__input-field::-webkit-inner-spin-button {
6857
+ appearance: none;
6858
+ margin: 0;
6467
6859
  }
6468
- .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__input {
6469
- padding-top: var(--tds-spacing-element-24);
6470
- padding-bottom: 15px;
6860
+
6861
+ .tl-slider__input-wrapper:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-slider__input-field[readonly] {
6862
+ width: 74px;
6863
+ padding-right: 39px;
6471
6864
  }
6472
- .tl-text-field--label-inside.tl-text-field--md .tl-text-field__input {
6473
- padding-top: var(--tds-spacing-element-20);
6474
- padding-bottom: 11px;
6865
+
6866
+ .tl-slider__value-tooltip {
6867
+ font-family: var(--detail-01-font-family);
6868
+ font-size: var(--detail-01-font-size);
6869
+ line-height: var(--detail-01-line-height);
6870
+ font-weight: var(--detail-01-font-weight);
6871
+ letter-spacing: var(--detail-01-letter-spacing);
6872
+ text-transform: var(--detail-01-text-transform);
6873
+ user-select: none;
6874
+ border-radius: 4px;
6875
+ padding: 8px 11px;
6876
+ position: absolute;
6877
+ left: 50%;
6878
+ transform: translateX(-50%);
6879
+ bottom: 100%;
6880
+ margin-bottom: 8px;
6881
+ background-color: var(--slider-value-tooltip-background);
6882
+ color: var(--slider-value-tooltip);
6883
+ display: none;
6884
+ white-space: nowrap;
6885
+ z-index: 10;
6475
6886
  }
6476
- .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__input:not(:focus):placeholder-shown {
6477
- padding-top: var(--tds-spacing-element-16);
6478
- padding-bottom: 7px;
6887
+ .tl-slider__value-tooltip::after {
6888
+ content: "";
6889
+ position: absolute;
6890
+ left: 50%;
6891
+ transform: translateX(-50%);
6892
+ bottom: -6px;
6893
+ width: 0;
6894
+ height: 0;
6895
+ border-left: 6px solid transparent;
6896
+ border-right: 6px solid transparent;
6897
+ border-top: 6px solid var(--slider-value-tooltip-background);
6479
6898
  }
6480
- .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
6481
- padding-left: 44px;
6899
+ .tl-slider__thumb:hover .tl-slider__value-tooltip {
6900
+ display: block;
6482
6901
  }
6483
- .tl-text-field:has(.tl-text-field__prefix--text) .tl-text-field__input {
6484
- padding-left: calc(16px + var(--text-field-affix-width-text) + 8px);
6902
+ :has(input[type=range]:disabled) .tl-slider__value-tooltip {
6903
+ display: none;
6485
6904
  }
6486
- .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
6487
- padding-right: 44px;
6488
- }
6489
- .tl-text-field:has(.tl-text-field__suffix--text) .tl-text-field__input {
6490
- padding-right: calc(16px + var(--text-field-affix-width-text) + 8px);
6491
- }
6492
- .tl-text-field--label-inside .tl-text-field__input::placeholder {
6493
- color: transparent !important;
6494
- }
6495
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
6496
- color: var(--text-field-placeholder-disabled) !important;
6905
+
6906
+ .tl-slider__thumb {
6907
+ position: absolute;
6908
+ z-index: 1;
6497
6909
  }
6498
6910
 
6499
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
6500
- font-family: var(--detail-05-font-family);
6501
- font-size: var(--detail-05-font-size);
6502
- line-height: var(--detail-05-line-height);
6503
- font-weight: var(--detail-05-font-weight);
6504
- letter-spacing: var(--detail-05-letter-spacing);
6505
- text-transform: var(--detail-05-text-transform);
6506
- display: block;
6507
- margin-bottom: 8px;
6508
- color: var(--text-field-label);
6911
+ .tl-slider__thumb-inner {
6912
+ width: 20px;
6913
+ height: 20px;
6914
+ border-radius: 100%;
6915
+ background-color: var(--slider-thumb);
6916
+ position: absolute;
6917
+ top: 50%;
6918
+ left: 50%;
6919
+ transform: translate(-50%, -50%);
6920
+ cursor: pointer;
6921
+ overflow: visible;
6509
6922
  }
6510
- .tl-text-field--label-inside .tl-text-field__label {
6511
- font-family: var(--detail-02-font-family);
6512
- font-size: var(--detail-02-font-size);
6513
- line-height: var(--detail-02-line-height);
6514
- font-weight: var(--detail-02-font-weight);
6515
- letter-spacing: var(--detail-02-letter-spacing);
6516
- text-transform: var(--detail-02-text-transform);
6923
+ .tl-slider__thumb-inner::before {
6924
+ content: " ";
6925
+ display: none;
6926
+ width: 48px;
6927
+ height: 48px;
6928
+ background-color: var(--slider-thumb);
6517
6929
  position: absolute;
6930
+ border-radius: 100%;
6518
6931
  top: 50%;
6519
- left: var(--text-field-label-inside-left, 16px);
6520
- color: var(--text-field-label-inside);
6521
- pointer-events: none;
6522
- transform: translateY(-50%);
6523
- transform-origin: top left;
6524
- transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
6525
- z-index: 1;
6932
+ left: 50%;
6933
+ transform: translate(-50%, -50%);
6934
+ opacity: 0.17;
6526
6935
  }
6527
- .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
6528
- left: 44px;
6936
+ .tl-slider__thumb-inner:hover::before {
6937
+ display: block;
6529
6938
  }
6530
- .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field__label {
6531
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
6939
+ .tl-slider__thumb-inner--pressed {
6940
+ width: 24px;
6941
+ height: 24px;
6532
6942
  }
6533
- .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6534
- font-family: var(--detail-07-font-family);
6535
- font-size: var(--detail-07-font-size);
6536
- line-height: var(--detail-07-line-height);
6537
- font-weight: var(--detail-07-font-weight);
6538
- letter-spacing: var(--detail-07-letter-spacing);
6539
- text-transform: var(--detail-07-text-transform);
6540
- top: 8px;
6541
- transform: translateY(0);
6542
- transition: 0.1s ease all;
6943
+ .tl-slider__thumb-inner--pressed::before {
6944
+ display: block;
6945
+ opacity: 0.35;
6543
6946
  }
6544
- .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6545
- left: 44px;
6947
+ .tl-slider--small .tl-slider__thumb-inner {
6948
+ width: 16px;
6949
+ height: 16px;
6546
6950
  }
6547
- .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--text):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--text):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--text):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--text):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6548
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
6951
+ .tl-slider--small .tl-slider__thumb-inner::before {
6952
+ width: 40px;
6953
+ height: 40px;
6549
6954
  }
6550
- .tl-text-field--label-inside.tl-text-field--sm:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--sm:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6551
- opacity: 0;
6552
- visibility: hidden;
6955
+ .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
6956
+ width: 20px;
6957
+ height: 20px;
6553
6958
  }
6554
- .tl-text-field--label-inside:has(.tl-text-field__input:disabled) .tl-text-field__label {
6555
- color: var(--text-field-label-disabled);
6959
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner {
6960
+ background-color: var(--slider-disabled);
6961
+ cursor: not-allowed;
6556
6962
  }
6557
- .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input:disabled) .tl-text-field__label {
6558
- color: var(--text-field-label-disabled);
6963
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner::before {
6964
+ display: none;
6559
6965
  }
6560
6966
 
6561
- .tl-text-field__bottom {
6967
+ .tl-slider__value-dividers {
6968
+ pointer-events: none;
6969
+ position: absolute;
6562
6970
  display: flex;
6563
- gap: 8px;
6564
- padding-top: 4px;
6971
+ justify-content: space-between;
6972
+ width: 100%;
6973
+ top: 0;
6974
+ z-index: 0;
6565
6975
  }
6566
6976
 
6567
- .tl-text-field__helper {
6568
- font-family: var(--detail-05-font-family);
6569
- font-size: var(--detail-05-font-size);
6570
- line-height: var(--detail-05-line-height);
6571
- font-weight: var(--detail-05-font-weight);
6572
- letter-spacing: var(--detail-05-letter-spacing);
6573
- text-transform: var(--detail-05-text-transform);
6574
- color: var(--text-field-helper);
6977
+ .tl-slider__value-divider {
6575
6978
  position: relative;
6979
+ display: flex;
6980
+ flex-direction: column;
6981
+ align-items: center;
6982
+ height: 16px;
6576
6983
  }
6577
- :has(.tl-text-field__input:disabled) .tl-text-field__helper {
6578
- color: var(--color-foreground-text-disabled);
6579
- }
6580
- .tl-text-field--error .tl-text-field__helper {
6581
- padding-left: 24px;
6582
- }
6583
- .tl-text-field--error .tl-text-field__helper::before {
6584
- content: "";
6984
+
6985
+ .tl-slider__value-divider-line {
6585
6986
  position: absolute;
6586
- left: 0;
6587
- top: 0;
6588
- width: 16px;
6987
+ width: 1px;
6589
6988
  height: 16px;
6590
- background-color: var(--text-field-error);
6591
- mask-image: var(--icon-error-svg);
6592
- mask-size: contain;
6593
- mask-repeat: no-repeat;
6594
- mask-position: center;
6595
- }
6596
- .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper {
6597
- padding-left: 0;
6598
- }
6599
- .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper::before {
6600
- display: none;
6601
- }
6602
- .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__helper {
6603
- color: var(--text-field-error);
6989
+ background-color: var(--slider-divider);
6990
+ top: 0;
6991
+ left: 50%;
6992
+ transform: translate(-50%, -50%);
6604
6993
  }
6605
- .tl-text-field--error:has(.tl-text-field__input:disabled) .tl-text-field__helper::before {
6606
- background-color: var(--color-foreground-text-disabled);
6994
+ :has(input[type=range]:disabled) .tl-slider__value-divider-line {
6995
+ background-color: var(--slider-disabled);
6607
6996
  }
6608
6997
 
6609
- .tl-text-field__charcounter {
6998
+ .tl-slider__value-divider-label {
6610
6999
  font-family: var(--detail-05-font-family);
6611
7000
  font-size: var(--detail-05-font-size);
6612
7001
  line-height: var(--detail-05-line-height);
6613
7002
  font-weight: var(--detail-05-font-weight);
6614
7003
  letter-spacing: var(--detail-05-letter-spacing);
6615
7004
  text-transform: var(--detail-05-text-transform);
6616
- margin-left: auto;
6617
- color: var(--text-field-textcounter);
7005
+ position: absolute;
7006
+ bottom: 100%;
7007
+ left: 50%;
7008
+ transform: translateX(-50%);
7009
+ margin-bottom: 16px;
7010
+ width: 50px;
7011
+ text-align: center;
7012
+ white-space: nowrap;
7013
+ user-select: none;
7014
+ color: var(--slider-divider-values);
6618
7015
  }
6619
- :has(.tl-text-field__input:disabled) .tl-text-field__charcounter {
6620
- color: var(--color-foreground-text-disabled);
7016
+ :has(input[type=range]:disabled) .tl-slider__value-divider-label {
7017
+ color: var(--slider-disabled-text);
6621
7018
  }
6622
- .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter {
6623
- color: var(--text-field-error);
7019
+
7020
+ .tl-slider__track-fill {
7021
+ background-color: var(--slider-track-fill);
7022
+ border-radius: 2px;
7023
+ height: 4px;
7024
+ position: absolute;
7025
+ left: 0;
7026
+ top: -1px;
7027
+ z-index: 1;
6624
7028
  }
6625
- .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter .tl-text-field__charcounter-divider {
6626
- color: var(--text-field-error);
7029
+ :has(input[type=range]:disabled) .tl-slider__track-fill {
7030
+ background-color: var(--slider-disabled);
6627
7031
  }
6628
7032
 
6629
- .tl-text-field__charcounter-divider {
6630
- color: var(--color-foreground-text-disabled);
7033
+ .tl-slider__native-input {
7034
+ display: none;
6631
7035
  }
6632
7036
 
6633
- .tl-text-field__prefix {
6634
- font-family: var(--detail-02-font-family);
6635
- font-size: var(--detail-02-font-size);
6636
- line-height: var(--detail-02-line-height);
6637
- font-weight: var(--detail-02-font-weight);
6638
- letter-spacing: var(--detail-02-letter-spacing);
6639
- text-transform: var(--detail-02-text-transform);
6640
- color: var(--text-field-affix);
6641
- align-self: center;
6642
- display: flex;
6643
- align-items: center;
6644
- z-index: 1;
6645
- position: relative;
7037
+ /**
7038
+ * Do not edit directly, this file was auto-generated.
7039
+ */
7040
+ .tl-spinner,
7041
+ tds-spinner {
7042
+ --component-spinner-color: var(--color-system-info-default);
6646
7043
  }
6647
- .tl-text-field__prefix--text, .tl-text-field__prefix--icon {
6648
- position: absolute;
6649
- left: 16px;
6650
- top: 50%;
6651
- transform: translateY(calc(-50% - 1px));
6652
- z-index: 1;
7044
+
7045
+ /* Component variables */
7046
+ .tl-spinner {
7047
+ --tl-spinner-background: var(--component-spinner-color);
7048
+ --tl-spinner-background-inverted: var(--color-brand-neutral-white);
7049
+ --tl-spinner-speed: 1.8s;
7050
+ --tl-spinner-speed-lg: 2s;
7051
+ --tl-spinner-radius-xs: 8px;
7052
+ --tl-spinner-radius-sm: 12px;
7053
+ --tl-spinner-radius-md: 26px;
7054
+ --tl-spinner-radius-lg: 42px;
7055
+ --tl-spinner-stroke-width-xs: 3px;
7056
+ --tl-spinner-stroke-width-sm: 4px;
7057
+ --tl-spinner-stroke-width-md: 6px;
7058
+ --tl-spinner-stroke-width-lg: 8px;
7059
+ --tl-spinner-PI: 3.14159265358979;
7060
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
7061
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7062
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6653
7063
  }
6654
- .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__prefix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__prefix--icon {
6655
- transform: translateY(calc(-50% + 24px));
7064
+
7065
+ .tl-spinner {
7066
+ box-sizing: border-box;
6656
7067
  }
6657
- :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon {
6658
- color: var(--text-field-affix-disabled);
7068
+ .tl-spinner * {
7069
+ box-sizing: border-box;
6659
7070
  }
6660
- :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon > * {
6661
- color: var(--text-field-affix-disabled);
7071
+ .tl-spinner {
7072
+ display: block;
7073
+ width: calc(var(--tl-spinner-radius) * 2);
7074
+ height: calc(var(--tl-spinner-radius) * 2);
7075
+ transform: scale(-1, 1) rotate(-90deg);
6662
7076
  }
6663
- :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon .tl-icon {
6664
- background-color: var(--text-field-affix-disabled);
6665
- }
6666
- :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon.tl-icon {
6667
- background-color: var(--text-field-affix-disabled);
6668
- }
6669
-
6670
- .tl-text-field__suffix {
6671
- font-family: var(--detail-02-font-family);
6672
- font-size: var(--detail-02-font-size);
6673
- line-height: var(--detail-02-line-height);
6674
- font-weight: var(--detail-02-font-weight);
6675
- letter-spacing: var(--detail-02-letter-spacing);
6676
- text-transform: var(--detail-02-text-transform);
6677
- color: var(--text-field-affix);
6678
- align-self: center;
6679
- display: flex;
6680
- align-items: center;
6681
- z-index: 1;
6682
- position: relative;
7077
+ .tl-spinner--xs {
7078
+ --tl-spinner-radius: var(--tl-spinner-radius-xs);
7079
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-xs);
7080
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6683
7081
  }
6684
- .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
6685
- position: absolute;
6686
- right: 16px;
6687
- top: 50%;
6688
- transform: translateY(calc(-50% - 1px));
6689
- z-index: 1;
7082
+ .tl-spinner--sm {
7083
+ --tl-spinner-radius: var(--tl-spinner-radius-sm);
7084
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-sm);
7085
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6690
7086
  }
6691
- .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--icon {
6692
- transform: translateY(calc(-50% + 24px));
7087
+ .tl-spinner--md {
7088
+ --tl-spinner-radius: var(--tl-spinner-radius-md);
7089
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-md);
7090
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6693
7091
  }
6694
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
6695
- color: var(--text-field-affix-disabled);
7092
+ .tl-spinner--lg {
7093
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
7094
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7095
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6696
7096
  }
6697
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
6698
- color: var(--text-field-affix-disabled);
7097
+ .tl-spinner--default {
7098
+ stroke: var(--tl-spinner-background);
6699
7099
  }
6700
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
6701
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon .tl-icon,
6702
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
6703
- background-color: var(--text-field-affix-disabled) !important;
7100
+ .tl-spinner--inverted {
7101
+ stroke: var(--tl-spinner-background-inverted);
6704
7102
  }
6705
7103
 
6706
- .tl-text-field__suffix {
6707
- font-family: var(--detail-02-font-family);
6708
- font-size: var(--detail-02-font-size);
6709
- line-height: var(--detail-02-line-height);
6710
- font-weight: var(--detail-02-font-weight);
6711
- letter-spacing: var(--detail-02-letter-spacing);
6712
- text-transform: var(--detail-02-text-transform);
6713
- color: var(--text-field-affix);
6714
- align-self: center;
6715
- display: flex;
6716
- align-items: center;
6717
- z-index: 1;
6718
- position: relative;
6719
- right: 16px;
6720
- padding-right: 0;
6721
- z-index: 1;
6722
- }
6723
- .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--icon {
6724
- transform: translateY(calc(-50% + 24px));
6725
- }
6726
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
6727
- color: var(--text-field-affix-disabled);
6728
- }
6729
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
6730
- color: var(--text-field-affix-disabled);
6731
- }
6732
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
6733
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon .tl-icon,
6734
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
6735
- background-color: var(--text-field-affix-disabled);
6736
- }
6737
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon.tl-icon {
6738
- background-color: var(--text-field-affix-disabled);
7104
+ .tl-spinner__circle {
7105
+ cx: var(--tl-spinner-radius);
7106
+ cy: var(--tl-spinner-radius);
7107
+ r: calc(var(--tl-spinner-radius) - var(--tl-spinner-stroke-width) / 2);
7108
+ fill: none;
7109
+ --tl-spinner-stroke-dash: calc((2 * var(--tl-spinner-PI)) * var(--tl-spinner-radius));
7110
+ stroke-dasharray: var(--tl-spinner-stroke-dash);
7111
+ stroke-width: var(--tl-spinner-stroke-width);
7112
+ animation: tl-spinner-dash var(--tl-spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
6739
7113
  }
6740
7114
 
6741
- .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
6742
- .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6743
- font-family: var(--detail-07-font-family);
6744
- font-size: var(--detail-07-font-size);
6745
- line-height: var(--detail-07-line-height);
6746
- font-weight: var(--detail-07-font-weight);
6747
- letter-spacing: var(--detail-07-letter-spacing);
6748
- text-transform: var(--detail-07-text-transform);
6749
- top: 7.5px;
6750
- left: var(--text-field-label-inside-left, 16px);
6751
- transform: none;
6752
- }
6753
- .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
6754
- .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6755
- left: 44px;
7115
+ @keyframes tl-spinner-dash {
7116
+ from {
7117
+ stroke-dashoffset: calc(-1 * var(--tl-spinner-stroke-dash));
7118
+ }
7119
+ to {
7120
+ stroke-dashoffset: var(--tl-spinner-stroke-dash);
7121
+ }
6756
7122
  }
6757
- .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
6758
- .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6759
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
7123
+ /**
7124
+ * Do not edit directly, this file was auto-generated.
7125
+ */
7126
+ .tl-stepper,
7127
+ tds-stepper {
7128
+ --component-stepper-success: var(--color-system-success-default);
6760
7129
  }
6761
7130
 
6762
- .tl-slider {
6763
- box-sizing: border-box;
7131
+ .tl-stepper {
7132
+ --stepper-current-number-with-border: var(--color-foreground-border-strong);
7133
+ --stepper-icon-step-border-warning: var(--color-system-danger-default);
7134
+ --stepper-icon-step-border-success: var(--component-stepper-success);
7135
+ --stepper-icon-step-checkmark: var(--color-foreground-icon-inverse-strong);
7136
+ --stepper-label-text-upcoming: var(--color-foreground-text-disabled);
7137
+ --stepper-label-border-upcoming: var(--color-foreground-border-discrete);
7138
+ --stepper-divider-line: var(--color-foreground-icon-disabled);
6764
7139
  }
6765
- .tl-slider * {
6766
- box-sizing: border-box;
7140
+
7141
+ .tl-stepper__step {
7142
+ position: relative;
7143
+ display: flex;
7144
+ justify-content: start;
7145
+ flex-direction: row;
7146
+ align-items: center;
7147
+ gap: 8px;
6767
7148
  }
6768
- .tl-slider {
6769
- width: 100%;
7149
+ .tl-stepper--label-below .tl-stepper__step {
7150
+ flex-direction: column;
6770
7151
  }
6771
- .tl-slider:has(input[type=range][readonly]):not(:has(input[type=range]:disabled)) {
6772
- pointer-events: none;
7152
+ .tl-stepper--lg .tl-stepper__step {
7153
+ font-family: var(--detail-01-font-family);
7154
+ font-size: var(--detail-01-font-size);
7155
+ line-height: var(--detail-01-line-height);
7156
+ font-weight: var(--detail-01-font-weight);
7157
+ letter-spacing: var(--detail-01-letter-spacing);
7158
+ text-transform: var(--detail-01-text-transform);
7159
+ padding: 0 20px;
6773
7160
  }
6774
-
6775
- .tl-slider__label {
7161
+ .tl-stepper--sm .tl-stepper__step {
6776
7162
  font-family: var(--detail-05-font-family);
6777
7163
  font-size: var(--detail-05-font-size);
6778
7164
  line-height: var(--detail-05-line-height);
6779
7165
  font-weight: var(--detail-05-font-weight);
6780
7166
  letter-spacing: var(--detail-05-letter-spacing);
6781
7167
  text-transform: var(--detail-05-text-transform);
6782
- user-select: none;
6783
- color: var(--slider-label);
6784
- display: block;
6785
- margin-bottom: 24px;
6786
- margin-left: -2px;
6787
- }
6788
- .tl-slider:has(.tl-slider__value-divider-label) .tl-slider__label {
6789
- margin-bottom: 44px;
6790
- }
6791
- .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus) .tl-slider__label {
6792
- margin-bottom: 2px;
6793
- padding-left: 11px;
6794
- margin-left: 0;
6795
- }
6796
- .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus):has(.tl-slider__value-divider-label) .tl-slider__label {
6797
- margin-bottom: 20px;
6798
- padding-left: 11px;
6799
- margin-left: 0;
7168
+ padding: 0 20px;
6800
7169
  }
6801
- .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6802
- margin-bottom: 2px;
6803
- margin-left: 0;
7170
+ .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7171
+ flex: 1 1 0;
7172
+ min-inline-size: 60px;
6804
7173
  }
6805
- :has(input[type=range]:disabled) .tl-slider__label {
6806
- color: var(--slider-disabled-text);
7174
+ .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
7175
+ flex: 0 0 auto;
7176
+ min-inline-size: auto;
6807
7177
  }
6808
-
6809
- .tl-slider__track-wrapper {
6810
- position: relative;
6811
- display: flex;
6812
- align-items: center;
6813
- gap: 5px;
7178
+ .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7179
+ min-inline-size: 40px;
6814
7180
  }
6815
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6816
- gap: 16px;
6817
- align-items: center;
6818
- height: 41px;
7181
+ .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7182
+ min-inline-size: 40px;
6819
7183
  }
6820
-
6821
- .tl-slider__control-minus,
6822
- .tl-slider__control-plus {
6823
- flex-shrink: 0;
6824
- border: none;
7184
+ .tl-stepper--horizontal.tl-stepper--sm.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7185
+ min-inline-size: 48px;
6825
7186
  }
6826
-
6827
- .tl-slider__track {
6828
- position: relative;
6829
- flex: 1;
6830
- min-height: 2px;
6831
- background-color: var(--slider-track);
6832
- border-radius: var(--slider-border-radius);
7187
+ .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
7188
+ display: none;
6833
7189
  }
6834
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6835
- height: 2px;
6836
- align-self: center;
7190
+ .tl-stepper--vertical.tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--vertical.tl-stepper--sm .tl-stepper__step:last-of-type::after {
7191
+ display: none;
6837
7192
  }
6838
- .tl-slider__track::after {
6839
- content: "";
7193
+ .tl-stepper--lg .tl-stepper__step::after {
7194
+ content: " ";
6840
7195
  position: absolute;
6841
- left: 0;
6842
- right: 0;
6843
- top: -10px;
6844
- bottom: -10px;
6845
- cursor: pointer;
6846
- z-index: 0;
6847
- }
6848
- .tl-slider__track:focus {
6849
- outline: 0;
7196
+ background-color: var(--stepper-divider-line);
6850
7197
  }
6851
- .tl-slider__track:focus .tl-slider__thumb-inner {
6852
- width: 24px;
6853
- height: 24px;
7198
+ .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
7199
+ height: 36px;
7200
+ width: 1px;
7201
+ top: 40px;
7202
+ left: 36px;
6854
7203
  }
6855
- .tl-slider__track:focus .tl-slider__thumb-inner::before {
6856
- display: block;
6857
- opacity: 0.08;
7204
+ .tl-stepper--lg.tl-stepper--horizontal .tl-stepper__step::after {
7205
+ height: 1px;
7206
+ left: calc(50% + 15px + 8px);
7207
+ right: calc(-50% + 15px + 8px);
7208
+ top: 16px;
6858
7209
  }
6859
- .tl-slider__track:focus-within .tl-slider__thumb-inner {
6860
- outline: 2px solid var(--slider-input-focused);
6861
- box-shadow: 0 0 0 1px var(--color-background-layer-01);
6862
- outline-offset: 1px;
6863
- z-index: 1;
7210
+ .tl-stepper--lg.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7211
+ height: 1px;
7212
+ top: 16px;
7213
+ width: 10px;
7214
+ left: auto;
7215
+ right: -10px;
6864
7216
  }
6865
- .tl-slider__track:disabled {
6866
- cursor: not-allowed;
6867
- background-color: var(--slider-disabled);
7217
+ .tl-stepper--sm.tl-stepper--vertical .tl-stepper__step::after {
7218
+ content: " ";
7219
+ position: absolute;
7220
+ background-color: var(--stepper-divider-line);
7221
+ height: 20px;
7222
+ width: 1px;
7223
+ top: 34px;
7224
+ left: 32px;
6868
7225
  }
6869
- .tl-slider__track:disabled::after {
6870
- cursor: not-allowed;
7226
+ .tl-stepper--sm.tl-stepper--horizontal .tl-stepper__step::after {
7227
+ content: " ";
7228
+ position: absolute;
7229
+ background-color: var(--stepper-divider-line);
7230
+ height: 1px;
7231
+ left: calc(50% + 12px + 8px);
7232
+ right: calc(-50% + 12px + 8px);
7233
+ top: 13px;
7234
+ }
7235
+ .tl-stepper--sm.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7236
+ content: " ";
7237
+ position: absolute;
7238
+ background-color: var(--stepper-divider-line);
7239
+ height: 1px;
7240
+ top: 13px;
7241
+ width: 10px;
7242
+ left: auto;
7243
+ right: -10px;
6871
7244
  }
6872
7245
 
6873
- .tl-slider__value {
6874
- font-family: var(--detail-02-font-family);
6875
- font-size: var(--detail-02-font-size);
6876
- line-height: var(--detail-02-line-height);
6877
- font-weight: var(--detail-02-font-weight);
6878
- letter-spacing: var(--detail-02-letter-spacing);
6879
- text-transform: var(--detail-02-text-transform);
6880
- user-select: none;
6881
- color: var(--slider-input-value);
6882
- flex-shrink: 0;
6883
- align-self: center;
7246
+ .tl-stepper__node {
7247
+ display: flex;
7248
+ align-items: center;
7249
+ justify-content: space-around;
7250
+ border-radius: 100px;
7251
+ border-width: 1px;
7252
+ border-style: solid;
7253
+ text-align: center;
7254
+ position: relative;
6884
7255
  }
6885
- :has(input[type=range]:disabled) .tl-slider__value {
6886
- color: var(--slider-disabled-text);
7256
+ .tl-stepper--lg .tl-stepper__node {
7257
+ height: 30px;
7258
+ min-width: 30px;
7259
+ font-size: 14px;
6887
7260
  }
6888
-
6889
- .tl-slider__input-wrapper {
6890
- flex-shrink: 0;
6891
- width: auto;
6892
- height: auto;
6893
- min-width: auto;
6894
- margin-left: 0;
6895
- align-self: center;
7261
+ .tl-stepper--sm .tl-stepper__node {
7262
+ height: 24px;
7263
+ min-width: 24px;
6896
7264
  }
6897
- .tl-slider__input-wrapper.tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled))::before {
6898
- width: 16px;
6899
- height: 16px;
6900
- right: 16px;
6901
- top: 50%;
6902
- transform: translateY(-50%);
7265
+ .tl-stepper__step--error .tl-stepper__node {
7266
+ border-color: var(--stepper-icon-step-border-warning);
7267
+ color: var(--stepper-icon-step-border-warning);
6903
7268
  }
6904
-
6905
- .tl-slider__input-wrapper .tl-slider__input-field {
6906
- width: var(--slider-input-width, 56px);
6907
- padding: 12px;
6908
- text-align: center;
6909
- appearance: textfield;
7269
+ .tl-stepper__step--success .tl-stepper__node {
7270
+ background-color: var(--stepper-icon-step-border-success);
7271
+ border-color: var(--stepper-icon-step-border-success);
7272
+ color: var(--stepper-icon-step-checkmark);
6910
7273
  }
6911
- .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6912
- width: 56px;
7274
+ .tl-stepper__step--current .tl-stepper__node {
7275
+ color: var(--stepper-current-number-with-border);
6913
7276
  }
6914
- .tl-slider__input-wrapper .tl-slider__input-field::-webkit-outer-spin-button, .tl-slider__input-wrapper .tl-slider__input-field::-webkit-inner-spin-button {
6915
- appearance: none;
6916
- margin: 0;
7277
+ .tl-stepper__step--upcoming .tl-stepper__node {
7278
+ border-color: var(--stepper-label-border-upcoming);
7279
+ color: var(--stepper-label-text-upcoming);
7280
+ }
7281
+ .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
7282
+ justify-content: center;
7283
+ }
7284
+ .tl-stepper__step--success .tl-stepper__node::after, .tl-stepper__step--error .tl-stepper__node::after {
7285
+ content: "";
7286
+ display: block;
7287
+ width: 20px;
7288
+ height: 20px;
7289
+ mask-repeat: no-repeat;
7290
+ mask-position: center;
7291
+ mask-size: contain;
7292
+ background-color: currentcolor;
7293
+ }
7294
+ .tl-stepper__step--success .tl-stepper__node::after {
7295
+ mask-image: var(--icon-tick-svg);
7296
+ }
7297
+ .tl-stepper__step--error .tl-stepper__node::after {
7298
+ mask-image: var(--icon-warning-svg);
6917
7299
  }
6918
7300
 
6919
- .tl-slider__input-wrapper:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-slider__input-field[readonly] {
6920
- width: 74px;
6921
- padding-right: 39px;
7301
+ .tl-stepper--sm .tl-stepper__step--success .tl-stepper__node::after,
7302
+ .tl-stepper--sm .tl-stepper__step--error .tl-stepper__node::after {
7303
+ width: 16px;
7304
+ height: 16px;
6922
7305
  }
6923
7306
 
6924
- .tl-slider__value-tooltip {
7307
+ .tl-stepper__label {
7308
+ text-align: center;
7309
+ }
7310
+ .tl-stepper--lg .tl-stepper__label {
6925
7311
  font-family: var(--detail-01-font-family);
6926
7312
  font-size: var(--detail-01-font-size);
6927
7313
  line-height: var(--detail-01-line-height);
6928
7314
  font-weight: var(--detail-01-font-weight);
6929
7315
  letter-spacing: var(--detail-01-letter-spacing);
6930
7316
  text-transform: var(--detail-01-text-transform);
6931
- user-select: none;
6932
- border-radius: 4px;
6933
- padding: 8px 11px;
6934
- position: absolute;
6935
- left: 50%;
6936
- transform: translateX(-50%);
6937
- bottom: 100%;
6938
- margin-bottom: 8px;
6939
- background-color: var(--slider-value-tooltip-background);
6940
- color: var(--slider-value-tooltip);
6941
- display: none;
6942
- white-space: nowrap;
6943
- z-index: 10;
6944
- }
6945
- .tl-slider__value-tooltip::after {
6946
- content: "";
6947
- position: absolute;
6948
- left: 50%;
6949
- transform: translateX(-50%);
6950
- bottom: -6px;
6951
- width: 0;
6952
- height: 0;
6953
- border-left: 6px solid transparent;
6954
- border-right: 6px solid transparent;
6955
- border-top: 6px solid var(--slider-value-tooltip-background);
7317
+ font-size: 14px;
6956
7318
  }
6957
- .tl-slider__thumb:hover .tl-slider__value-tooltip {
6958
- display: block;
7319
+ .tl-stepper--sm .tl-stepper__label {
7320
+ font-family: var(--detail-05-font-family);
7321
+ font-size: var(--detail-05-font-size);
7322
+ line-height: var(--detail-05-line-height);
7323
+ font-weight: var(--detail-05-font-weight);
7324
+ letter-spacing: var(--detail-05-letter-spacing);
7325
+ text-transform: var(--detail-05-text-transform);
6959
7326
  }
6960
- :has(input[type=range]:disabled) .tl-slider__value-tooltip {
6961
- display: none;
7327
+ .tl-stepper__step--upcoming .tl-stepper__label {
7328
+ color: var(--stepper-label-text-upcoming);
7329
+ opacity: var(--tds-stepper-label-text-opacity-upcoming);
6962
7330
  }
6963
-
6964
- .tl-slider__thumb {
7331
+ .tl-stepper--hide-labels .tl-stepper__label {
6965
7332
  position: absolute;
6966
- z-index: 1;
7333
+ inline-size: 1px;
7334
+ block-size: 1px;
7335
+ margin: -1px;
7336
+ padding: 0;
7337
+ border: 0;
7338
+ overflow: hidden;
7339
+ clip: rect(0 0 0 0);
7340
+ clip-path: inset(50%);
7341
+ white-space: nowrap;
6967
7342
  }
6968
7343
 
6969
- .tl-slider__thumb-inner {
6970
- width: 20px;
6971
- height: 20px;
6972
- border-radius: 100%;
6973
- background-color: var(--slider-thumb);
6974
- position: absolute;
6975
- top: 50%;
6976
- left: 50%;
6977
- transform: translate(-50%, -50%);
6978
- cursor: pointer;
6979
- overflow: visible;
7344
+ .tl-stepper {
7345
+ box-sizing: border-box;
6980
7346
  }
6981
- .tl-slider__thumb-inner::before {
6982
- content: " ";
6983
- display: none;
6984
- width: 48px;
6985
- height: 48px;
6986
- background-color: var(--slider-thumb);
6987
- position: absolute;
6988
- border-radius: 100%;
6989
- top: 50%;
6990
- left: 50%;
6991
- transform: translate(-50%, -50%);
6992
- opacity: 0.17;
7347
+ .tl-stepper * {
7348
+ box-sizing: border-box;
6993
7349
  }
6994
- .tl-slider__thumb-inner:hover::before {
6995
- display: block;
7350
+ .tl-stepper {
7351
+ display: table;
7352
+ table-layout: fixed;
7353
+ width: 100%;
7354
+ list-style: none;
6996
7355
  }
6997
- .tl-slider__thumb-inner--pressed {
6998
- width: 24px;
6999
- height: 24px;
7356
+
7357
+ .tl-stepper__list {
7358
+ display: flex;
7359
+ justify-content: space-evenly;
7360
+ min-width: 100%;
7361
+ list-style: none;
7362
+ margin: 0;
7363
+ padding: 0;
7000
7364
  }
7001
- .tl-slider__thumb-inner--pressed::before {
7002
- display: block;
7003
- opacity: 0.35;
7365
+ .tl-stepper:not(.tl-stepper--label-aside) .tl-stepper__list {
7366
+ width: 100%;
7004
7367
  }
7005
- .tl-slider--small .tl-slider__thumb-inner {
7006
- width: 16px;
7007
- height: 16px;
7368
+ .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list {
7369
+ justify-content: flex-start;
7008
7370
  }
7009
- .tl-slider--small .tl-slider__thumb-inner::before {
7010
- width: 40px;
7011
- height: 40px;
7371
+ .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list {
7372
+ display: flex;
7373
+ justify-content: flex-start;
7374
+ min-width: 100%;
7012
7375
  }
7013
- .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
7014
- width: 20px;
7015
- height: 20px;
7376
+ .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list {
7377
+ display: flex;
7378
+ justify-content: flex-start;
7016
7379
  }
7017
- :has(input[type=range]:disabled) .tl-slider__thumb-inner {
7018
- background-color: var(--slider-disabled);
7019
- cursor: not-allowed;
7380
+ .tl-stepper--vertical .tl-stepper__list {
7381
+ height: 100%;
7382
+ display: flex;
7383
+ flex-direction: column;
7384
+ justify-content: flex-start;
7385
+ gap: 52px;
7386
+ min-width: 0;
7020
7387
  }
7021
- :has(input[type=range]:disabled) .tl-slider__thumb-inner::before {
7022
- display: none;
7388
+ .tl-stepper--vertical.tl-stepper--sm .tl-stepper__list {
7389
+ gap: 36px;
7023
7390
  }
7024
7391
 
7025
- .tl-slider__value-dividers {
7026
- pointer-events: none;
7027
- position: absolute;
7028
- display: flex;
7029
- justify-content: space-between;
7030
- width: 100%;
7031
- top: 0;
7032
- z-index: 0;
7392
+ /**
7393
+ * Do not edit directly, this file was auto-generated.
7394
+ */
7395
+ .tl-table,
7396
+ tds-table {
7397
+ --component-table-secondary-cell: var(--color-background-layer-02);
7398
+ --component-table-pagination-dropdown: var(--color-background-layer-01);
7399
+ --component-table-pagination-base: var(--color-background-surface-200);
7400
+ --component-table-cell-hover: var(--color-background-surface-100);
7401
+ --component-table-cell: var(--color-background-layer-01);
7033
7402
  }
7034
7403
 
7035
- .tl-slider__value-divider {
7036
- position: relative;
7037
- display: flex;
7038
- flex-direction: column;
7039
- align-items: center;
7040
- height: 16px;
7404
+ .traton .tl-table,
7405
+ .traton tds-table {
7406
+ --component-table-pagination-base: var(--color-background-surface-300);
7041
7407
  }
7042
7408
 
7043
- .tl-slider__value-divider-line {
7044
- position: absolute;
7045
- width: 1px;
7046
- height: 16px;
7047
- background-color: var(--slider-divider);
7048
- top: 0;
7049
- left: 50%;
7050
- transform: translate(-50%, -50%);
7409
+ .tl-table {
7410
+ /* Table-text */
7411
+ --table-text: var(--color-foreground-text-strong);
7412
+ /* Table-body-cell */
7413
+ --table-body-cell-hover: var(--component-table-cell-hover);
7414
+ /* Table-body-row */
7415
+ --table-body-row: var(--component-table-cell);
7416
+ --table-body-row-hover: var(--component-table-cell-hover);
7417
+ --table-zebra-mode: var(--component-table-secondary-cell);
7418
+ --table-body-row-selected: var(--color-background-surface-300);
7419
+ --table-body-row-selected-hover: var(--color-background-surface-400);
7420
+ /* Table input body */
7421
+ --table-input-focus: var(--color-background-layer-02);
7422
+ --table-input-hover: var(--color-background-layer-03);
7423
+ --table-input-disabled: var(--color-background-layer-01);
7424
+ --table-input-text-disabled: var(--color-foreground-text-subtle);
7425
+ /* Table input header */
7426
+ --table-input-header-icon: var(--color-foreground-icon-soft);
7427
+ --table-input-header-placeholder: var(--color-foreground-text-subtle);
7428
+ --table-input-header-focus: var(--color-background-layer-01);
7429
+ /* Table-footer */
7430
+ --table-footer: var(--component-table-pagination-base);
7431
+ --table-footer-page-selector-input: var(--component-table-pagination-dropdown);
7432
+ --table-footer-page-selector-input-hover: var(--color-background-layer-03);
7433
+ --table-footer-page-selector-input-disabled: var(--color-background-layer-01);
7434
+ --table-footer-button-hover: var(--color-background-surface-300);
7435
+ /* Table-header */
7436
+ --table-header: var(--color-background-surface-300);
7437
+ --table-header-hover: var(--color-background-surface-400);
7438
+ --table-header-button: var(--color-background-surface-200);
7439
+ --table-header-button-hover: var(--color-background-surface-300);
7440
+ --table-header-button-focus: var(--color-foreground-border-accent-focus);
7441
+ /* Table-toolbar */
7442
+ --table-toolbar: var(--color-background-surface-400);
7443
+ --table-toolbar-searchbar: var(--component-table-pagination-dropdown);
7444
+ --table-toolbar-searchbar-hover: var(--component-table-pagination-base);
7445
+ --table-toolbar-searchbar-border-bottom: var(--color-foreground-border-accent-focus);
7446
+ /* Divider */
7447
+ --table-divider: var(--color-foreground-border-discrete);
7448
+ /* Table-icons */
7449
+ --table-icon: var(--color-foreground-icon-strong);
7450
+ --table-icon-disabled: var(--color-foreground-icon-disabled);
7051
7451
  }
7052
- :has(input[type=range]:disabled) .tl-slider__value-divider-line {
7053
- background-color: var(--slider-disabled);
7452
+ .tl-table.tl-table--primary {
7453
+ --table-body-row: var(--component-table-cell);
7454
+ --table-body-row-hover: var(--component-table-cell-hover);
7455
+ --table-body-cell-hover: var(--component-table-cell-hover);
7456
+ --table-zebra-mode: var(--component-table-secondary-cell);
7457
+ }
7458
+ .tl-table.tl-table--secondary {
7459
+ --table-body-row: var(--component-table-secondary-cell);
7460
+ --table-body-row-hover: var(--component-table-cell-hover);
7461
+ --table-body-cell-hover: var(--component-table-cell-hover);
7462
+ --table-zebra-mode: var(--component-table-cell);
7054
7463
  }
7055
7464
 
7056
- .tl-slider__value-divider-label {
7057
- font-family: var(--detail-05-font-family);
7058
- font-size: var(--detail-05-font-size);
7059
- line-height: var(--detail-05-line-height);
7060
- font-weight: var(--detail-05-font-weight);
7061
- letter-spacing: var(--detail-05-letter-spacing);
7062
- text-transform: var(--detail-05-text-transform);
7063
- position: absolute;
7064
- bottom: 100%;
7065
- left: 50%;
7066
- transform: translateX(-50%);
7067
- margin-bottom: 16px;
7068
- width: 50px;
7069
- text-align: center;
7070
- white-space: nowrap;
7071
- user-select: none;
7072
- color: var(--slider-divider-values);
7465
+ .tds-mode-dark .tl-table.tl-table--secondary {
7466
+ --table-body-cell-hover: var(--color-background-surface-300);
7467
+ --table-body-row-hover: var(--color-background-surface-300);
7073
7468
  }
7074
- :has(input[type=range]:disabled) .tl-slider__value-divider-label {
7075
- color: var(--slider-disabled-text);
7469
+
7470
+ .tl-table__footer {
7471
+ display: table-footer-group;
7472
+ height: var(--tds-spacing-element-48);
7473
+ }
7474
+ .tl-table--compact .tl-table__footer {
7475
+ height: var(--tds-spacing-element-32);
7076
7476
  }
7077
7477
 
7078
- .tl-slider__track-fill {
7079
- background-color: var(--slider-track-fill);
7080
- border-radius: 2px;
7081
- height: 4px;
7082
- position: absolute;
7083
- left: 0;
7084
- top: -1px;
7085
- z-index: 1;
7478
+ .tl-table__footer .tl-dropdown__text {
7479
+ max-width: calc(100% - 20px);
7086
7480
  }
7087
- :has(input[type=range]:disabled) .tl-slider__track-fill {
7088
- background-color: var(--slider-disabled);
7481
+
7482
+ .tl-table__footer .tl-dropdown--sm :is(.tl-dropdown__button, .tl-dropdown__select, .tl-dropdown__input),
7483
+ .tl-table__footer .tl-dropdown__option {
7484
+ height: 29px;
7089
7485
  }
7090
7486
 
7091
- .tl-slider__native-input {
7092
- display: none;
7487
+ .tl-table__footer-row {
7488
+ display: table-row;
7489
+ border-bottom: 1px solid var(--table-divider);
7490
+ background-color: var(--table-footer);
7491
+ color: var(--table-text);
7492
+ transition: background-color 200ms ease;
7093
7493
  }
7094
7494
 
7095
- /* Component variables */
7096
- .tl-spinner {
7097
- --tl-spinner-background: var(--component-spinner-color);
7098
- --tl-spinner-background-inverted: var(--color-brand-neutral-white);
7099
- --tl-spinner-speed: 1.8s;
7100
- --tl-spinner-speed-lg: 2s;
7101
- --tl-spinner-radius-xs: 8px;
7102
- --tl-spinner-radius-sm: 12px;
7103
- --tl-spinner-radius-md: 26px;
7104
- --tl-spinner-radius-lg: 42px;
7105
- --tl-spinner-stroke-width-xs: 3px;
7106
- --tl-spinner-stroke-width-sm: 4px;
7107
- --tl-spinner-stroke-width-md: 6px;
7108
- --tl-spinner-stroke-width-lg: 8px;
7109
- --tl-spinner-PI: 3.14159265358979;
7110
- --tl-spinner-radius: var(--tl-spinner-radius-lg);
7111
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7112
- --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
7495
+ .tl-table__footer-cell {
7496
+ padding: 0 var(--tds-spacing-element-16);
7113
7497
  }
7114
7498
 
7115
- .tl-spinner {
7116
- box-sizing: border-box;
7499
+ .tl-table__pagination {
7500
+ height: var(--tds-spacing-element-48);
7501
+ display: flex;
7502
+ align-items: center;
7503
+ justify-content: space-between;
7117
7504
  }
7118
- .tl-spinner * {
7119
- box-sizing: border-box;
7505
+ .tl-table--compact .tl-table__pagination {
7506
+ height: var(--tds-spacing-element-32);
7120
7507
  }
7121
- .tl-spinner {
7122
- display: block;
7123
- width: calc(var(--tl-spinner-radius) * 2);
7124
- height: calc(var(--tl-spinner-radius) * 2);
7125
- transform: scale(-1, 1) rotate(-90deg);
7508
+
7509
+ .tl-table__row-selector,
7510
+ .tl-table__page-selector {
7511
+ display: flex;
7512
+ align-items: center;
7126
7513
  }
7127
- .tl-spinner--xs {
7128
- --tl-spinner-radius: var(--tl-spinner-radius-xs);
7129
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-xs);
7130
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
7514
+
7515
+ .tl-table__rows-per-page {
7516
+ margin-right: var(--tds-spacing-element-16);
7517
+ display: flex;
7518
+ align-items: center;
7131
7519
  }
7132
- .tl-spinner--sm {
7133
- --tl-spinner-radius: var(--tl-spinner-radius-sm);
7134
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-sm);
7135
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
7520
+
7521
+ .tl-table__rows-per-page-label {
7522
+ margin-right: var(--tds-spacing-element-8);
7523
+ font-family: var(--detail-02-font-family);
7136
7524
  }
7137
- .tl-spinner--md {
7138
- --tl-spinner-radius: var(--tl-spinner-radius-md);
7139
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-md);
7140
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
7525
+
7526
+ .tl-table__page-selector-input {
7527
+ background-color: var(--table-footer-page-selector-input);
7528
+ border-radius: var(--tds-spacing-element-4);
7529
+ color: var(--table-text);
7530
+ margin-right: var(--tds-spacing-element-4);
7531
+ padding-right: var(--tds-spacing-element-8);
7532
+ width: 74px;
7533
+ height: 30px;
7534
+ border: none;
7535
+ transition: background-color 250ms ease;
7536
+ font-family: var(--detail-02-font-family);
7141
7537
  }
7142
- .tl-spinner--lg {
7143
- --tl-spinner-radius: var(--tl-spinner-radius-lg);
7144
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7145
- --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
7538
+ .tl-table__page-selector-input:hover {
7539
+ background-color: var(--table-footer-page-selector-input-hover);
7146
7540
  }
7147
- .tl-spinner--default {
7148
- stroke: var(--tl-spinner-background);
7541
+ .tl-table__page-selector-input:disabled {
7542
+ color: var(--table-footer-page-selector-input-color-disabled);
7149
7543
  }
7150
- .tl-spinner--inverted {
7151
- stroke: var(--tl-spinner-background-inverted);
7544
+ .tl-table--compact .tl-table__page-selector-input {
7545
+ height: var(--tds-spacing-element-24);
7152
7546
  }
7153
7547
 
7154
- .tl-spinner__circle {
7155
- cx: var(--tl-spinner-radius);
7156
- cy: var(--tl-spinner-radius);
7157
- r: calc(var(--tl-spinner-radius) - var(--tl-spinner-stroke-width) / 2);
7158
- fill: none;
7159
- --tl-spinner-stroke-dash: calc((2 * var(--tl-spinner-PI)) * var(--tl-spinner-radius));
7160
- stroke-dasharray: var(--tl-spinner-stroke-dash);
7161
- stroke-width: var(--tl-spinner-stroke-width);
7162
- animation: tl-spinner-dash var(--tl-spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
7548
+ .tl-table__footer-text {
7549
+ padding: 1px 22px 0 0;
7550
+ font-family: var(--detail-02-font-family);
7551
+ }
7552
+ .tl-table__footer-text span {
7553
+ font-family: var(--detail-02-font-family);
7163
7554
  }
7164
7555
 
7165
- @keyframes tl-spinner-dash {
7166
- from {
7167
- stroke-dashoffset: calc(-1 * var(--tl-spinner-stroke-dash));
7168
- }
7169
- to {
7170
- stroke-dashoffset: var(--tl-spinner-stroke-dash);
7171
- }
7172
- }
7173
- .tl-stepper {
7174
- --stepper-current-number-with-border: var(--color-foreground-border-strong);
7175
- --stepper-icon-step-border-warning: var(--color-system-danger-default);
7176
- --stepper-icon-step-border-success: var(--component-stepper-success);
7177
- --stepper-icon-step-checkmark: var(--color-foreground-icon-inverse-strong);
7178
- --stepper-label-text-upcoming: var(--color-foreground-text-disabled);
7179
- --stepper-label-border-upcoming: var(--color-foreground-border-discrete);
7180
- --stepper-divider-line: var(--color-foreground-icon-disabled);
7181
- }
7182
-
7183
- .tl-stepper__step {
7184
- position: relative;
7556
+ .tl-table__footer-button {
7557
+ border-radius: var(--tds-spacing-element-4);
7558
+ color: var(--table-icon);
7559
+ height: var(--tds-spacing-element-32);
7560
+ width: var(--tds-spacing-element-32);
7185
7561
  display: flex;
7186
- justify-content: start;
7187
- flex-direction: row;
7562
+ justify-content: center;
7188
7563
  align-items: center;
7189
- gap: 8px;
7564
+ border: none;
7565
+ background-color: transparent;
7566
+ cursor: pointer;
7567
+ transition: background-color 250ms ease;
7190
7568
  }
7191
- .tl-stepper--label-below .tl-stepper__step {
7192
- flex-direction: column;
7569
+ .tl-table__footer-button:hover {
7570
+ background-color: var(--table-footer-button-hover);
7193
7571
  }
7194
- .tl-stepper--lg .tl-stepper__step {
7195
- font-family: var(--detail-01-font-family);
7196
- font-size: var(--detail-01-font-size);
7197
- line-height: var(--detail-01-line-height);
7198
- font-weight: var(--detail-01-font-weight);
7199
- letter-spacing: var(--detail-01-letter-spacing);
7200
- text-transform: var(--detail-01-text-transform);
7201
- padding: 0 20px;
7572
+ .tl-table__footer-button:disabled {
7573
+ color: var(--table-icon-disabled);
7574
+ cursor: default;
7202
7575
  }
7203
- .tl-stepper--sm .tl-stepper__step {
7204
- font-family: var(--detail-05-font-family);
7205
- font-size: var(--detail-05-font-size);
7206
- line-height: var(--detail-05-line-height);
7207
- font-weight: var(--detail-05-font-weight);
7208
- letter-spacing: var(--detail-05-letter-spacing);
7209
- text-transform: var(--detail-05-text-transform);
7210
- padding: 0 20px;
7576
+ .tl-table__footer-button:disabled:hover {
7577
+ background-color: transparent;
7211
7578
  }
7212
- .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7213
- flex: 1 1 0;
7214
- min-inline-size: 60px;
7579
+ .tl-table--compact .tl-table__footer-button {
7580
+ height: 28px;
7581
+ width: 28px;
7215
7582
  }
7216
- .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
7217
- flex: 0 0 auto;
7218
- min-inline-size: auto;
7583
+
7584
+ .tl-table {
7585
+ box-sizing: border-box;
7219
7586
  }
7220
- .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7221
- min-inline-size: 40px;
7587
+ .tl-table * {
7588
+ box-sizing: border-box;
7222
7589
  }
7223
- .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7224
- min-inline-size: 40px;
7590
+ .tl-table {
7591
+ border-collapse: collapse;
7592
+ display: table;
7593
+ color: var(--table-text);
7225
7594
  }
7226
- .tl-stepper--horizontal.tl-stepper--sm.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7227
- min-inline-size: 48px;
7595
+ .tl-table--responsive {
7596
+ width: 100%;
7228
7597
  }
7229
- .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
7230
- display: none;
7598
+ .tl-table--horizontal-scroll {
7599
+ display: block;
7600
+ overflow-x: auto;
7601
+ white-space: nowrap;
7231
7602
  }
7232
- .tl-stepper--vertical.tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--vertical.tl-stepper--sm .tl-stepper__step:last-of-type::after {
7233
- display: none;
7603
+ .tl-table--horizontal-scroll::-webkit-scrollbar {
7604
+ height: var(--tl-scrollbar-height);
7234
7605
  }
7235
- .tl-stepper--lg .tl-stepper__step::after {
7236
- content: " ";
7237
- position: absolute;
7238
- background-color: var(--stepper-divider-line);
7606
+ .tl-table--horizontal-scroll::-webkit-scrollbar-track {
7607
+ background: var(--tl-scrollbar-track-color);
7239
7608
  }
7240
- .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
7241
- height: 36px;
7242
- width: 1px;
7243
- top: 40px;
7244
- left: 36px;
7609
+ .tl-table--horizontal-scroll::-webkit-scrollbar-thumb {
7610
+ border-radius: 40px;
7611
+ background: var(--tl-scrollbar-thumb-color);
7612
+ border-width: var(--tl-scrollbar-thumb-border-width);
7613
+ border-style: solid;
7614
+ border-color: transparent;
7615
+ background-clip: padding-box;
7245
7616
  }
7246
- .tl-stepper--lg.tl-stepper--horizontal .tl-stepper__step::after {
7247
- height: 1px;
7248
- left: calc(50% + 15px + 8px);
7249
- right: calc(-50% + 15px + 8px);
7250
- top: 16px;
7617
+ .tl-table--horizontal-scroll::-webkit-scrollbar-thumb:hover {
7618
+ border-width: var(--tl-scrollbar-thumb-border-hover-width);
7251
7619
  }
7252
- .tl-stepper--lg.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7253
- height: 1px;
7254
- top: 16px;
7255
- width: 10px;
7256
- left: auto;
7257
- right: -10px;
7620
+ .tl-table--horizontal-scroll::-webkit-scrollbar-button {
7621
+ height: 0;
7622
+ width: 0;
7258
7623
  }
7259
- .tl-stepper--sm.tl-stepper--vertical .tl-stepper__step::after {
7260
- content: " ";
7261
- position: absolute;
7262
- background-color: var(--stepper-divider-line);
7263
- height: 20px;
7264
- width: 1px;
7265
- top: 34px;
7266
- left: 32px;
7624
+ @supports not selector(::-webkit-scrollbar) {
7625
+ .tl-table--horizontal-scroll {
7626
+ scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7627
+ scrollbar-width: var(--tl-scrollbar-width-standard);
7628
+ }
7267
7629
  }
7268
- .tl-stepper--sm.tl-stepper--horizontal .tl-stepper__step::after {
7269
- content: " ";
7270
- position: absolute;
7271
- background-color: var(--stepper-divider-line);
7272
- height: 1px;
7273
- left: calc(50% + 12px + 8px);
7274
- right: calc(-50% + 12px + 8px);
7275
- top: 13px;
7630
+ .tl-table--primary {
7631
+ --table-body-row: var(--component-table-cell);
7632
+ --table-body-row-hover: var(--component-table-cell-hover);
7633
+ --table-zebra-mode: var(--component-table-secondary-cell);
7276
7634
  }
7277
- .tl-stepper--sm.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7278
- content: " ";
7279
- position: absolute;
7280
- background-color: var(--stepper-divider-line);
7281
- height: 1px;
7282
- top: 13px;
7283
- width: 10px;
7284
- left: auto;
7285
- right: -10px;
7635
+ .tl-table--secondary {
7636
+ --table-body-row: var(--component-table-secondary-cell);
7637
+ --table-body-row-hover: var(--component-table-cell-hover);
7638
+ --table-zebra-mode: var(--component-table-cell);
7286
7639
  }
7287
7640
 
7288
- .tl-stepper__node {
7289
- display: flex;
7290
- align-items: center;
7291
- justify-content: space-around;
7292
- border-radius: 100px;
7293
- border-width: 1px;
7294
- border-style: solid;
7295
- text-align: center;
7296
- position: relative;
7297
- }
7298
- .tl-stepper--lg .tl-stepper__node {
7299
- height: 30px;
7300
- min-width: 30px;
7301
- font-size: 14px;
7641
+ .tl-table__header {
7642
+ display: table-header-group;
7302
7643
  }
7303
- .tl-stepper--sm .tl-stepper__node {
7304
- height: 24px;
7305
- min-width: 24px;
7644
+
7645
+ .tl-table__body {
7646
+ display: table-row-group;
7306
7647
  }
7307
- .tl-stepper__step--error .tl-stepper__node {
7308
- border-color: var(--stepper-icon-step-border-warning);
7309
- color: var(--stepper-icon-step-border-warning);
7648
+
7649
+ .tl-table__row {
7650
+ display: table-row;
7651
+ border-bottom: 1px solid var(--table-divider);
7652
+ background-color: var(--table-body-row);
7653
+ transition: background-color 200ms ease;
7654
+ color: var(--table-text);
7310
7655
  }
7311
- .tl-stepper__step--success .tl-stepper__node {
7312
- background-color: var(--stepper-icon-step-border-success);
7313
- border-color: var(--stepper-icon-step-border-success);
7314
- color: var(--stepper-icon-step-checkmark);
7656
+ .tl-table__row:hover:not(.tl-table__row--expanded) {
7657
+ background-color: var(--table-body-row-hover);
7658
+ border-bottom-color: var(--table-divider);
7315
7659
  }
7316
- .tl-stepper__step--current .tl-stepper__node {
7317
- color: var(--stepper-current-number-with-border);
7660
+ .tl-table__row--selected {
7661
+ background-color: var(--table-body-row-selected);
7318
7662
  }
7319
- .tl-stepper__step--upcoming .tl-stepper__node {
7320
- border-color: var(--stepper-label-border-upcoming);
7321
- color: var(--stepper-label-text-upcoming);
7663
+ .tl-table__row--selected:hover {
7664
+ background-color: var(--table-body-row-selected-hover);
7322
7665
  }
7323
- .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
7324
- justify-content: center;
7666
+ .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7667
+ cursor: pointer;
7325
7668
  }
7326
- .tl-stepper__step--success .tl-stepper__node::after, .tl-stepper__step--error .tl-stepper__node::after {
7327
- content: "";
7328
- display: block;
7329
- width: 20px;
7330
- height: 20px;
7331
- mask-repeat: no-repeat;
7332
- mask-position: center;
7333
- mask-size: contain;
7334
- background-color: currentcolor;
7669
+ .tl-table__row--clickable:focus-visible {
7670
+ outline: 2px solid var(--table-header-button-focus);
7671
+ outline-offset: -2px;
7335
7672
  }
7336
- .tl-stepper__step--success .tl-stepper__node::after {
7337
- mask-image: var(--icon-tick-svg);
7673
+ .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7674
+ background-color: var(--table-zebra-mode);
7338
7675
  }
7339
- .tl-stepper__step--error .tl-stepper__node::after {
7340
- mask-image: var(--icon-warning-svg);
7676
+ .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7677
+ background-color: var(--table-zebra-mode);
7341
7678
  }
7342
7679
 
7343
- .tl-stepper--sm .tl-stepper__step--success .tl-stepper__node::after,
7344
- .tl-stepper--sm .tl-stepper__step--error .tl-stepper__node::after {
7345
- width: 16px;
7346
- height: 16px;
7680
+ .tl-table__header-cell {
7681
+ display: table-cell;
7682
+ padding: 16px;
7683
+ background-color: var(--table-header);
7684
+ border-bottom: 1px solid var(--table-divider);
7685
+ font-family: var(--headline-07-font-family);
7686
+ font-size: var(--headline-07-font-size);
7687
+ line-height: var(--headline-07-line-height);
7688
+ font-weight: var(--headline-07-font-weight);
7689
+ letter-spacing: var(--headline-07-letter-spacing);
7690
+ text-transform: var(--headline-07-text-transform);
7691
+ color: var(--table-text);
7692
+ text-align: left;
7693
+ transition: background-color 200ms ease;
7694
+ min-width: 192px;
7347
7695
  }
7348
-
7349
- .tl-stepper__label {
7350
- text-align: center;
7351
- }
7352
- .tl-stepper--lg .tl-stepper__label {
7353
- font-family: var(--detail-01-font-family);
7354
- font-size: var(--detail-01-font-size);
7355
- line-height: var(--detail-01-line-height);
7356
- font-weight: var(--detail-01-font-weight);
7357
- letter-spacing: var(--detail-01-letter-spacing);
7358
- text-transform: var(--detail-01-text-transform);
7359
- font-size: 14px;
7360
- }
7361
- .tl-stepper--sm .tl-stepper__label {
7362
- font-family: var(--detail-05-font-family);
7363
- font-size: var(--detail-05-font-size);
7364
- line-height: var(--detail-05-line-height);
7365
- font-weight: var(--detail-05-font-weight);
7366
- letter-spacing: var(--detail-05-letter-spacing);
7367
- text-transform: var(--detail-05-text-transform);
7368
- }
7369
- .tl-stepper__step--upcoming .tl-stepper__label {
7370
- color: var(--stepper-label-text-upcoming);
7371
- opacity: var(--tds-stepper-label-text-opacity-upcoming);
7696
+ .tl-table__header-cell:hover:not(.tl-table__header-cell--checkbox):not(.tl-table__header-cell--expand) {
7697
+ background-color: var(--table-header-hover);
7372
7698
  }
7373
- .tl-stepper--hide-labels .tl-stepper__label {
7374
- position: absolute;
7375
- inline-size: 1px;
7376
- block-size: 1px;
7377
- margin: -1px;
7378
- padding: 0;
7379
- border: 0;
7380
- overflow: hidden;
7381
- clip: rect(0 0 0 0);
7382
- clip-path: inset(50%);
7383
- white-space: nowrap;
7699
+ .tl-table__header-cell:first-of-type {
7700
+ border-top-left-radius: 4px;
7384
7701
  }
7385
-
7386
- .tl-stepper {
7387
- box-sizing: border-box;
7702
+ .tl-table__header-cell:last-of-type {
7703
+ border-top-right-radius: 4px;
7388
7704
  }
7389
- .tl-stepper * {
7390
- box-sizing: border-box;
7705
+ .tl-table:has(.tl-table__toolbar) .tl-table__header-cell:first-of-type, .tl-table__header-cell:has(.tl-table__header-input-wrapper):first-of-type {
7706
+ border-top-left-radius: 0;
7391
7707
  }
7392
- .tl-stepper {
7393
- display: table;
7394
- table-layout: fixed;
7395
- width: 100%;
7396
- list-style: none;
7708
+ .tl-table:has(.tl-table__toolbar) .tl-table__header-cell:last-of-type, .tl-table__header-cell:has(.tl-table__header-input-wrapper):last-of-type {
7709
+ border-top-right-radius: 0;
7397
7710
  }
7398
-
7399
- .tl-stepper__list {
7400
- display: flex;
7401
- justify-content: space-evenly;
7402
- min-width: 100%;
7403
- list-style: none;
7404
- margin: 0;
7711
+ .tl-table__header-cell:has(.tl-table__header-input-wrapper), .tl-table--no-header-padding .tl-table__header-cell, .tl-table__header-cell--sortable {
7405
7712
  padding: 0;
7406
7713
  }
7407
- .tl-stepper:not(.tl-stepper--label-aside) .tl-stepper__list {
7408
- width: 100%;
7409
- }
7410
- .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list {
7411
- justify-content: flex-start;
7714
+ .tl-table__header-cell--checkbox, .tl-table__header-cell--expand {
7715
+ min-width: 48px;
7716
+ width: 48px;
7717
+ padding: 0;
7718
+ text-align: center;
7719
+ background-color: var(--table-header);
7412
7720
  }
7413
- .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list {
7414
- display: flex;
7415
- justify-content: flex-start;
7416
- min-width: 100%;
7721
+ .tl-table--compact .tl-table__header-cell {
7722
+ height: 32px;
7723
+ padding: 8px 16px;
7417
7724
  }
7418
- .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list {
7419
- display: flex;
7420
- justify-content: flex-start;
7725
+ .tl-table--compact .tl-table__header-cell--checkbox, .tl-table--compact .tl-table__header-cell--expand, .tl-table--compact .tl-table__header-cell:has(.tl-table__header-input-wrapper) {
7726
+ padding: 0;
7421
7727
  }
7422
- .tl-stepper--vertical .tl-stepper__list {
7423
- height: 100%;
7424
- display: flex;
7425
- flex-direction: column;
7426
- justify-content: flex-start;
7427
- gap: 52px;
7428
- min-width: 0;
7728
+ .tl-table--no-min-width .tl-table__header-cell {
7729
+ min-width: unset;
7429
7730
  }
7430
- .tl-stepper--vertical.tl-stepper--sm .tl-stepper__list {
7431
- gap: 36px;
7731
+ .tl-table--header-text-align-left .tl-table__header-cell {
7732
+ text-align: left;
7432
7733
  }
7433
-
7434
- .tl-table {
7435
- /* Table-text */
7436
- --table-text: var(--color-foreground-text-strong);
7437
- /* Table-body-cell */
7438
- --table-body-cell-hover: var(--component-table-cell-hover);
7439
- /* Table-body-row */
7440
- --table-body-row: var(--component-table-cell);
7441
- --table-body-row-hover: var(--component-table-cell-hover);
7442
- --table-zebra-mode: var(--component-table-secondary-cell);
7443
- --table-body-row-selected: var(--color-background-surface-300);
7444
- --table-body-row-selected-hover: var(--color-background-surface-400);
7445
- /* Table input body */
7446
- --table-input-focus: var(--color-background-layer-02);
7447
- --table-input-hover: var(--color-background-layer-03);
7448
- --table-input-disabled: var(--color-background-layer-01);
7449
- --table-input-text-disabled: var(--color-foreground-text-subtle);
7450
- /* Table input header */
7451
- --table-input-header-icon: var(--color-foreground-icon-soft);
7452
- --table-input-header-placeholder: var(--color-foreground-text-subtle);
7453
- --table-input-header-focus: var(--color-background-layer-01);
7454
- /* Table-footer */
7455
- --table-footer: var(--component-table-pagination-base);
7456
- --table-footer-page-selector-input: var(--component-table-pagination-dropdown);
7457
- --table-footer-page-selector-input-hover: var(--color-background-layer-03);
7458
- --table-footer-page-selector-input-disabled: var(--color-background-layer-01);
7459
- --table-footer-button-hover: var(--color-background-surface-300);
7460
- /* Table-header */
7461
- --table-header: var(--color-background-surface-300);
7462
- --table-header-hover: var(--color-background-surface-400);
7463
- --table-header-button: var(--color-background-surface-200);
7464
- --table-header-button-hover: var(--color-background-surface-300);
7465
- --table-header-button-focus: var(--color-foreground-border-accent-focus);
7466
- /* Table-toolbar */
7467
- --table-toolbar: var(--color-background-surface-400);
7468
- --table-toolbar-searchbar: var(--component-table-pagination-dropdown);
7469
- --table-toolbar-searchbar-hover: var(--component-table-pagination-base);
7470
- --table-toolbar-searchbar-border-bottom: var(--color-foreground-border-accent-focus);
7471
- /* Divider */
7472
- --table-divider: var(--color-foreground-border-discrete);
7473
- /* Table-icons */
7474
- --table-icon: var(--color-foreground-icon-strong);
7475
- --table-icon-disabled: var(--color-foreground-icon-disabled);
7734
+ .tl-table--header-text-align-start .tl-table__header-cell {
7735
+ text-align: start;
7476
7736
  }
7477
- .tl-table.tl-table--primary {
7478
- --table-body-row: var(--component-table-cell);
7479
- --table-body-row-hover: var(--component-table-cell-hover);
7480
- --table-body-cell-hover: var(--component-table-cell-hover);
7481
- --table-zebra-mode: var(--component-table-secondary-cell);
7737
+ .tl-table--header-text-align-center .tl-table__header-cell {
7738
+ text-align: center;
7482
7739
  }
7483
- .tl-table.tl-table--secondary {
7484
- --table-body-row: var(--component-table-secondary-cell);
7485
- --table-body-row-hover: var(--component-table-cell-hover);
7486
- --table-body-cell-hover: var(--component-table-cell-hover);
7487
- --table-zebra-mode: var(--component-table-cell);
7740
+ .tl-table--header-text-align-right .tl-table__header-cell {
7741
+ text-align: right;
7488
7742
  }
7489
-
7490
- .tds-mode-dark .tl-table.tl-table--secondary {
7491
- --table-body-cell-hover: var(--color-background-surface-300);
7492
- --table-body-row-hover: var(--color-background-surface-300);
7743
+ .tl-table--header-text-align-end .tl-table__header-cell {
7744
+ text-align: end;
7493
7745
  }
7494
7746
 
7495
- .tl-table__footer {
7496
- display: table-footer-group;
7497
- height: var(--tds-spacing-element-48);
7747
+ .tl-table__header-button {
7748
+ display: flex;
7749
+ align-items: center;
7750
+ gap: 8px;
7751
+ justify-content: start;
7752
+ flex-direction: row;
7753
+ width: 100%;
7754
+ height: 100%;
7755
+ padding: 16px;
7756
+ background-color: transparent;
7757
+ border: none;
7758
+ cursor: pointer;
7759
+ transition: background-color 200ms ease;
7760
+ font-family: var(--headline-07-font-family);
7761
+ font-size: var(--headline-07-font-size);
7762
+ line-height: var(--headline-07-line-height);
7763
+ font-weight: var(--headline-07-font-weight);
7764
+ letter-spacing: var(--headline-07-letter-spacing);
7765
+ text-transform: var(--headline-07-text-transform);
7766
+ color: var(--table-text);
7767
+ text-align: left;
7498
7768
  }
7499
- .tl-table--compact .tl-table__footer {
7500
- height: var(--tds-spacing-element-32);
7769
+ .tl-table__header-button:focus-visible, .tl-table__header-button:focus, .tl-table__header-button:active {
7770
+ outline: 2px solid var(--table-header-button-focus);
7771
+ outline-offset: -2px;
7501
7772
  }
7502
-
7503
- .tl-table__footer .tl-dropdown__text {
7504
- max-width: calc(100% - 20px);
7773
+ .tl-table--compact .tl-table__header-button {
7774
+ padding: 0;
7505
7775
  }
7506
7776
 
7507
- .tl-table__footer .tl-dropdown--sm :is(.tl-dropdown__button, .tl-dropdown__select, .tl-dropdown__input),
7508
- .tl-table__footer .tl-dropdown__option {
7509
- height: 29px;
7777
+ .tl-table__header-button-text {
7778
+ color: var(--table-text);
7779
+ text-align: left;
7510
7780
  }
7511
7781
 
7512
- .tl-table__footer-row {
7513
- display: table-row;
7514
- border-bottom: 1px solid var(--table-divider);
7515
- background-color: var(--table-footer);
7782
+ .tl-table__header-button-icon {
7783
+ flex: 0 0 16px;
7784
+ height: 16px;
7785
+ width: 16px;
7786
+ opacity: 0;
7787
+ transform-origin: center;
7788
+ transition: opacity 200ms ease-in, transform 200ms ease;
7516
7789
  color: var(--table-text);
7517
- transition: background-color 200ms ease;
7518
7790
  }
7519
7791
 
7520
- .tl-table__footer-cell {
7521
- padding: 0 var(--tds-spacing-element-16);
7792
+ .tl-table__header-button:focus-visible .tl-table__header-button-icon,
7793
+ .tl-table__header-button:focus .tl-table__header-button-icon,
7794
+ .tl-table__header-button:active .tl-table__header-button-icon,
7795
+ .tl-table__header-button:hover .tl-table__header-button-icon {
7796
+ opacity: 1;
7522
7797
  }
7523
7798
 
7524
- .tl-table__pagination {
7525
- height: var(--tds-spacing-element-48);
7526
- display: flex;
7527
- align-items: center;
7528
- justify-content: space-between;
7529
- }
7530
- .tl-table--compact .tl-table__pagination {
7531
- height: var(--tds-spacing-element-32);
7799
+ .tl-table__header-cell--is-sorted {
7800
+ background-color: var(--table-header-button);
7532
7801
  }
7533
7802
 
7534
- .tl-table__row-selector,
7535
- .tl-table__page-selector {
7536
- display: flex;
7537
- align-items: center;
7803
+ .tl-table__header-cell--is-sorted:hover {
7804
+ background-color: var(--table-header-button-hover);
7538
7805
  }
7539
7806
 
7540
- .tl-table__rows-per-page {
7541
- margin-right: var(--tds-spacing-element-16);
7542
- display: flex;
7543
- align-items: center;
7807
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7808
+ opacity: 1;
7544
7809
  }
7545
7810
 
7546
- .tl-table__rows-per-page-label {
7547
- margin-right: var(--tds-spacing-element-8);
7548
- font-family: var(--detail-02-font-family);
7811
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7812
+ transform: rotate(180deg);
7549
7813
  }
7550
7814
 
7551
- .tl-table__rows-per-page-select {
7552
- background-color: var(--table-footer-page-selector-input);
7815
+ .tl-table__body-cell {
7816
+ display: table-cell;
7817
+ padding: 16px;
7818
+ background-color: transparent;
7553
7819
  color: var(--table-text);
7554
- height: 30px;
7555
- border: none;
7556
- border-radius: var(--tds-spacing-element-4);
7557
- padding: 0 var(--tds-spacing-element-8);
7558
- transition: background-color 250ms ease;
7559
- font-family: var(--detail-02-font-family);
7560
- }
7561
- .tl-table__rows-per-page-select:hover {
7562
- background-color: var(--table-footer-page-selector-input-hover);
7563
- }
7564
- .tl-table__rows-per-page-select:disabled {
7565
- color: var(--table-footer-page-selector-input-color-disabled);
7566
- }
7567
- .tl-table--compact .tl-table__rows-per-page-select {
7568
- height: var(--tds-spacing-element-24);
7569
- }
7570
-
7571
- .tl-table__page-selector-input {
7572
- background-color: var(--table-footer-page-selector-input);
7573
- border-radius: var(--tds-spacing-element-4);
7574
- color: var(--table-text);
7575
- margin-right: var(--tds-spacing-element-4);
7576
- padding-right: var(--tds-spacing-element-8);
7577
- width: 74px;
7578
- height: 30px;
7579
- border: none;
7580
- transition: background-color 250ms ease;
7581
- font-family: var(--detail-02-font-family);
7582
- }
7583
- .tl-table__page-selector-input:hover {
7584
- background-color: var(--table-footer-page-selector-input-hover);
7585
- }
7586
- .tl-table__page-selector-input:disabled {
7587
- color: var(--table-footer-page-selector-input-color-disabled);
7588
- }
7589
- .tl-table--compact .tl-table__page-selector-input {
7590
- height: var(--tds-spacing-element-24);
7591
- }
7592
-
7593
- .tl-table__footer-text {
7594
- padding: 1px 22px 0 0;
7595
7820
  font-family: var(--detail-02-font-family);
7821
+ font-size: var(--detail-02-font-size);
7822
+ line-height: var(--detail-02-line-height);
7823
+ font-weight: var(--detail-02-font-weight);
7824
+ letter-spacing: var(--detail-02-letter-spacing);
7825
+ text-transform: var(--detail-02-text-transform);
7826
+ transition: background-color 200ms ease;
7827
+ min-width: 192px;
7596
7828
  }
7597
- .tl-table__footer-text span {
7598
- font-family: var(--detail-02-font-family);
7829
+ .tl-table__body-cell:focus {
7830
+ background-color: var(--table-input-focus);
7599
7831
  }
7600
-
7601
- .tl-table__footer-button {
7602
- border-radius: var(--tds-spacing-element-4);
7603
- color: var(--table-icon);
7604
- height: var(--tds-spacing-element-32);
7605
- width: var(--tds-spacing-element-32);
7606
- display: flex;
7607
- justify-content: center;
7608
- align-items: center;
7609
- border: none;
7610
- background-color: transparent;
7611
- cursor: pointer;
7612
- transition: background-color 250ms ease;
7832
+ .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7833
+ background-color: var(--table-body-cell-hover);
7613
7834
  }
7614
- .tl-table__footer-button:hover {
7615
- background-color: var(--table-footer-button-hover);
7835
+ .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7836
+ background-color: var(--table-body-row-selected);
7616
7837
  }
7617
- .tl-table__footer-button:disabled {
7618
- color: var(--table-icon-disabled);
7619
- cursor: default;
7838
+ .tl-table__body-cell--column-highlight {
7839
+ background-color: var(--table-body-cell-hover);
7620
7840
  }
7621
- .tl-table__footer-button:disabled:hover {
7622
- background-color: transparent;
7841
+ .tl-table__body-cell--checkbox, .tl-table__body-cell--expand {
7842
+ min-width: 48px;
7843
+ width: 48px;
7844
+ padding: 0;
7845
+ text-align: center;
7846
+ background-color: inherit;
7623
7847
  }
7624
- .tl-table--compact .tl-table__footer-button {
7625
- height: 28px;
7626
- width: 28px;
7848
+ .tl-table--compact .tl-table__body-cell {
7849
+ height: 32px;
7850
+ padding: 8px 16px;
7627
7851
  }
7628
-
7629
- .tl-table {
7630
- box-sizing: border-box;
7852
+ .tl-table--no-min-width .tl-table__body-cell {
7853
+ min-width: unset;
7631
7854
  }
7632
- .tl-table * {
7633
- box-sizing: border-box;
7855
+ .tl-table--vertical-dividers .tl-table__body-cell:not(:last-child):not(.tl-table__body-cell--expand) {
7856
+ border-right: 1px solid var(--table-divider);
7634
7857
  }
7635
- .tl-table {
7636
- border-collapse: collapse;
7637
- display: table;
7638
- color: var(--table-text);
7858
+ .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7859
+ background-color: var(--table-zebra-mode);
7639
7860
  }
7640
- .tl-table--responsive {
7641
- width: 100%;
7861
+ .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7862
+ background-color: var(--table-zebra-mode);
7642
7863
  }
7643
- .tl-table--horizontal-scroll {
7644
- display: block;
7645
- overflow-x: auto;
7646
- white-space: nowrap;
7864
+ .tl-table--cell-text-align-left .tl-table__body-cell {
7865
+ text-align: left;
7647
7866
  }
7648
- .tl-table--horizontal-scroll::-webkit-scrollbar {
7649
- height: var(--tl-scrollbar-height);
7867
+ .tl-table--cell-text-align-start .tl-table__body-cell {
7868
+ text-align: start;
7650
7869
  }
7651
- .tl-table--horizontal-scroll::-webkit-scrollbar-track {
7652
- background: var(--tl-scrollbar-track-color);
7870
+ .tl-table--cell-text-align-center .tl-table__body-cell {
7871
+ text-align: center;
7653
7872
  }
7654
- .tl-table--horizontal-scroll::-webkit-scrollbar-thumb {
7655
- border-radius: 40px;
7656
- background: var(--tl-scrollbar-thumb-color);
7657
- border-width: var(--tl-scrollbar-thumb-border-width);
7658
- border-style: solid;
7659
- border-color: transparent;
7660
- background-clip: padding-box;
7873
+ .tl-table--cell-text-align-right .tl-table__body-cell {
7874
+ text-align: right;
7661
7875
  }
7662
- .tl-table--horizontal-scroll::-webkit-scrollbar-thumb:hover {
7663
- border-width: var(--tl-scrollbar-thumb-border-hover-width);
7876
+ .tl-table--cell-text-align-end .tl-table__body-cell {
7877
+ text-align: end;
7664
7878
  }
7665
- .tl-table--horizontal-scroll::-webkit-scrollbar-button {
7666
- height: 0;
7667
- width: 0;
7879
+ .tl-table--no-padding .tl-table__body-cell {
7880
+ padding: 0;
7668
7881
  }
7669
- @supports not selector(::-webkit-scrollbar) {
7670
- .tl-table--horizontal-scroll {
7671
- scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7672
- scrollbar-width: var(--tl-scrollbar-width-standard);
7673
- }
7882
+ .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7883
+ background-color: var(--table-body-row-hover);
7674
7884
  }
7675
- .tl-table--primary {
7676
- --table-body-row: var(--component-table-cell);
7677
- --table-body-row-hover: var(--component-table-cell-hover);
7678
- --table-zebra-mode: var(--component-table-secondary-cell);
7885
+ .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7886
+ background-color: var(--table-body-row-selected-hover);
7679
7887
  }
7680
- .tl-table--secondary {
7681
- --table-body-row: var(--component-table-secondary-cell);
7682
- --table-body-row-hover: var(--component-table-cell-hover);
7683
- --table-zebra-mode: var(--component-table-cell);
7888
+ .tl-table__row--expanded .tl-table__body-cell {
7889
+ background-color: var(--table-body-row-selected);
7684
7890
  }
7685
7891
 
7686
- .tl-table__header {
7687
- display: table-header-group;
7892
+ .tl-table__toolbar {
7893
+ box-sizing: border-box;
7688
7894
  }
7689
-
7690
- .tl-table__body {
7691
- display: table-row-group;
7895
+ .tl-table__toolbar * {
7896
+ box-sizing: border-box;
7692
7897
  }
7693
-
7694
- .tl-table__row {
7695
- display: table-row;
7696
- border-bottom: 1px solid var(--table-divider);
7697
- background-color: var(--table-body-row);
7698
- transition: background-color 200ms ease;
7898
+ .tl-table__toolbar {
7899
+ display: table-caption;
7900
+ position: relative;
7901
+ background-color: var(--table-toolbar);
7699
7902
  color: var(--table-text);
7903
+ padding: 0 var(--tds-spacing-element-16);
7904
+ height: 64px;
7905
+ border-top-left-radius: 4px;
7906
+ border-top-right-radius: 4px;
7700
7907
  }
7701
- .tl-table__row:hover:not(.tl-table__row--expanded) {
7702
- background-color: var(--table-body-row-hover);
7703
- border-bottom-color: var(--table-divider);
7704
- }
7705
- .tl-table__row--selected {
7706
- background-color: var(--table-body-row-selected);
7707
- }
7708
- .tl-table__row--selected:hover {
7709
- background-color: var(--table-body-row-selected-hover);
7710
- }
7711
- .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7712
- cursor: pointer;
7713
- }
7714
- .tl-table__row--clickable:focus-visible {
7715
- outline: 2px solid var(--table-header-button-focus);
7716
- outline-offset: -2px;
7908
+ .tl-table--compact .tl-table__toolbar {
7909
+ height: 56px;
7717
7910
  }
7718
- .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7719
- background-color: var(--table-zebra-mode);
7911
+
7912
+ .tl-table__upper-bar {
7913
+ width: 100%;
7914
+ height: 100%;
7915
+ display: flex;
7916
+ justify-content: space-between;
7720
7917
  }
7721
- .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7722
- background-color: var(--table-zebra-mode);
7918
+
7919
+ .tl-table__actionbar-left {
7920
+ display: flex;
7921
+ align-items: center;
7723
7922
  }
7724
7923
 
7725
- .tl-table__header-cell {
7726
- display: table-cell;
7727
- padding: 16px;
7728
- background-color: var(--table-header);
7729
- border-bottom: 1px solid var(--table-divider);
7924
+ .tl-table__title {
7730
7925
  font-family: var(--headline-07-font-family);
7731
7926
  font-size: var(--headline-07-font-size);
7732
7927
  line-height: var(--headline-07-line-height);
7733
7928
  font-weight: var(--headline-07-font-weight);
7734
7929
  letter-spacing: var(--headline-07-letter-spacing);
7735
7930
  text-transform: var(--headline-07-text-transform);
7736
- color: var(--table-text);
7931
+ display: flex;
7932
+ align-self: baseline;
7737
7933
  text-align: left;
7738
- transition: background-color 200ms ease;
7739
- min-width: 192px;
7740
- }
7741
- .tl-table__header-cell:hover:not(.tl-table__header-cell--checkbox):not(.tl-table__header-cell--expand) {
7742
- background-color: var(--table-header-hover);
7743
- }
7744
- .tl-table__header-cell:first-of-type {
7745
- border-top-left-radius: 4px;
7934
+ letter-spacing: var(--tds-headline-07-ls);
7935
+ padding-top: var(--tds-spacing-element-16);
7936
+ margin-right: var(--tds-spacing-element-8);
7746
7937
  }
7747
- .tl-table__header-cell:last-of-type {
7748
- border-top-right-radius: 4px;
7938
+
7939
+ .tl-table__actionbar-right {
7940
+ display: flex;
7941
+ align-self: center;
7942
+ column-gap: 8px;
7943
+ position: relative;
7749
7944
  }
7750
- .tl-table:has(.tl-table__toolbar) .tl-table__header-cell:first-of-type, .tl-table__header-cell:has(.tl-table__header-input-wrapper):first-of-type {
7751
- border-top-left-radius: 0;
7945
+
7946
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) {
7947
+ position: absolute;
7948
+ right: 0;
7949
+ top: 50%;
7950
+ transform: translateY(-50%);
7951
+ cursor: pointer;
7952
+ width: 40px;
7953
+ min-width: 40px;
7954
+ max-width: 40px;
7955
+ height: 40px;
7752
7956
  }
7753
- .tl-table:has(.tl-table__toolbar) .tl-table__header-cell:last-of-type, .tl-table__header-cell:has(.tl-table__header-input-wrapper):last-of-type {
7754
- border-top-right-radius: 0;
7755
- }
7756
- .tl-table__header-cell:has(.tl-table__header-input-wrapper), .tl-table--no-header-padding .tl-table__header-cell, .tl-table__header-cell--sortable {
7757
- padding: 0;
7758
- }
7759
- .tl-table__header-cell--checkbox, .tl-table__header-cell--expand {
7760
- min-width: 48px;
7761
- width: 48px;
7762
- padding: 0;
7763
- text-align: center;
7764
- background-color: var(--table-header);
7765
- }
7766
- .tl-table--compact .tl-table__header-cell {
7767
- height: 32px;
7768
- padding: 8px 16px;
7769
- }
7770
- .tl-table--compact .tl-table__header-cell--checkbox, .tl-table--compact .tl-table__header-cell--expand, .tl-table--compact .tl-table__header-cell:has(.tl-table__header-input-wrapper) {
7771
- padding: 0;
7772
- }
7773
- .tl-table--no-min-width .tl-table__header-cell {
7774
- min-width: unset;
7775
- }
7776
- .tl-table--header-text-align-left .tl-table__header-cell {
7777
- text-align: left;
7778
- }
7779
- .tl-table--header-text-align-start .tl-table__header-cell {
7780
- text-align: start;
7781
- }
7782
- .tl-table--header-text-align-center .tl-table__header-cell {
7783
- text-align: center;
7784
- }
7785
- .tl-table--header-text-align-right .tl-table__header-cell {
7786
- text-align: right;
7787
- }
7788
- .tl-table--header-text-align-end .tl-table__header-cell {
7789
- text-align: end;
7790
- }
7791
-
7792
- .tl-table__header-button {
7793
- display: flex;
7794
- align-items: center;
7795
- gap: 8px;
7796
- justify-content: start;
7797
- flex-direction: row;
7798
- width: 100%;
7799
- height: 100%;
7800
- padding: 16px;
7801
- background-color: transparent;
7802
- border: none;
7803
- cursor: pointer;
7804
- transition: background-color 200ms ease;
7805
- font-family: var(--headline-07-font-family);
7806
- font-size: var(--headline-07-font-size);
7807
- line-height: var(--headline-07-line-height);
7808
- font-weight: var(--headline-07-font-weight);
7809
- letter-spacing: var(--headline-07-letter-spacing);
7810
- text-transform: var(--headline-07-text-transform);
7811
- color: var(--table-text);
7812
- text-align: left;
7813
- }
7814
- .tl-table__header-button:focus-visible, .tl-table__header-button:focus, .tl-table__header-button:active {
7815
- outline: 2px solid var(--table-header-button-focus);
7816
- outline-offset: -2px;
7817
- }
7818
- .tl-table--compact .tl-table__header-button {
7819
- padding: 0;
7820
- }
7821
-
7822
- .tl-table__header-button-text {
7823
- color: var(--table-text);
7824
- text-align: left;
7825
- }
7826
-
7827
- .tl-table__header-button-icon {
7828
- flex: 0 0 16px;
7829
- height: 16px;
7830
- width: 16px;
7831
- opacity: 0;
7832
- transform-origin: center;
7833
- transition: opacity 200ms ease-in, transform 200ms ease;
7834
- color: var(--table-text);
7835
- }
7836
-
7837
- .tl-table__header-button:focus-visible .tl-table__header-button-icon,
7838
- .tl-table__header-button:focus .tl-table__header-button-icon,
7839
- .tl-table__header-button:active .tl-table__header-button-icon,
7840
- .tl-table__header-button:hover .tl-table__header-button-icon {
7841
- opacity: 1;
7842
- }
7843
-
7844
- .tl-table__header-cell--is-sorted {
7845
- background-color: var(--table-header-button);
7846
- }
7847
-
7848
- .tl-table__header-cell--is-sorted:hover {
7849
- background-color: var(--table-header-button-hover);
7850
- }
7851
-
7852
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7853
- opacity: 1;
7854
- }
7855
-
7856
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7857
- transform: rotate(180deg);
7858
- }
7859
-
7860
- .tl-table__body-cell {
7861
- display: table-cell;
7862
- padding: 16px;
7863
- background-color: transparent;
7864
- color: var(--table-text);
7865
- font-family: var(--detail-02-font-family);
7866
- font-size: var(--detail-02-font-size);
7867
- line-height: var(--detail-02-line-height);
7868
- font-weight: var(--detail-02-font-weight);
7869
- letter-spacing: var(--detail-02-letter-spacing);
7870
- text-transform: var(--detail-02-text-transform);
7871
- transition: background-color 200ms ease;
7872
- min-width: 192px;
7873
- }
7874
- .tl-table__body-cell:focus {
7875
- background-color: var(--table-input-focus);
7876
- }
7877
- .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7878
- background-color: var(--table-body-cell-hover);
7879
- }
7880
- .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7881
- background-color: var(--table-body-row-selected);
7882
- }
7883
- .tl-table__body-cell--column-highlight {
7884
- background-color: var(--table-body-cell-hover);
7885
- }
7886
- .tl-table__body-cell--checkbox, .tl-table__body-cell--expand {
7887
- min-width: 48px;
7888
- width: 48px;
7889
- padding: 0;
7890
- text-align: center;
7891
- background-color: inherit;
7892
- }
7893
- .tl-table--compact .tl-table__body-cell {
7894
- height: 32px;
7895
- padding: 8px 16px;
7896
- }
7897
- .tl-table--no-min-width .tl-table__body-cell {
7898
- min-width: unset;
7899
- }
7900
- .tl-table--vertical-dividers .tl-table__body-cell:not(:last-child):not(.tl-table__body-cell--expand) {
7901
- border-right: 1px solid var(--table-divider);
7902
- }
7903
- .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7904
- background-color: var(--table-zebra-mode);
7905
- }
7906
- .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7907
- background-color: var(--table-zebra-mode);
7908
- }
7909
- .tl-table--cell-text-align-left .tl-table__body-cell {
7910
- text-align: left;
7911
- }
7912
- .tl-table--cell-text-align-start .tl-table__body-cell {
7913
- text-align: start;
7914
- }
7915
- .tl-table--cell-text-align-center .tl-table__body-cell {
7916
- text-align: center;
7917
- }
7918
- .tl-table--cell-text-align-right .tl-table__body-cell {
7919
- text-align: right;
7920
- }
7921
- .tl-table--cell-text-align-end .tl-table__body-cell {
7922
- text-align: end;
7923
- }
7924
- .tl-table--no-padding .tl-table__body-cell {
7925
- padding: 0;
7926
- }
7927
- .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7928
- background-color: var(--table-body-row-hover);
7929
- }
7930
- .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7931
- background-color: var(--table-body-row-selected-hover);
7932
- }
7933
- .tl-table__row--expanded .tl-table__body-cell {
7934
- background-color: var(--table-body-row-selected);
7935
- }
7936
-
7937
- .tl-table__toolbar {
7938
- box-sizing: border-box;
7939
- }
7940
- .tl-table__toolbar * {
7941
- box-sizing: border-box;
7942
- }
7943
- .tl-table__toolbar {
7944
- display: table-caption;
7945
- position: relative;
7946
- background-color: var(--table-toolbar);
7947
- color: var(--table-text);
7948
- padding: 0 var(--tds-spacing-element-16);
7949
- height: 64px;
7950
- border-top-left-radius: 4px;
7951
- border-top-right-radius: 4px;
7952
- }
7953
- .tl-table--compact .tl-table__toolbar {
7954
- height: 56px;
7955
- }
7956
-
7957
- .tl-table__upper-bar {
7958
- width: 100%;
7959
- height: 100%;
7960
- display: flex;
7961
- justify-content: space-between;
7962
- }
7963
-
7964
- .tl-table__actionbar-left {
7965
- display: flex;
7966
- align-items: center;
7967
- }
7968
-
7969
- .tl-table__title {
7970
- font-family: var(--headline-07-font-family);
7971
- font-size: var(--headline-07-font-size);
7972
- line-height: var(--headline-07-line-height);
7973
- font-weight: var(--headline-07-font-weight);
7974
- letter-spacing: var(--headline-07-letter-spacing);
7975
- text-transform: var(--headline-07-text-transform);
7976
- display: flex;
7977
- align-self: baseline;
7978
- text-align: left;
7979
- letter-spacing: var(--tds-headline-07-ls);
7980
- padding-top: var(--tds-spacing-element-16);
7981
- margin-right: var(--tds-spacing-element-8);
7982
- }
7983
-
7984
- .tl-table__actionbar-right {
7985
- display: flex;
7986
- align-self: center;
7987
- column-gap: 8px;
7988
- position: relative;
7989
- }
7990
-
7991
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) {
7992
- position: absolute;
7993
- right: 0;
7994
- top: 50%;
7995
- transform: translateY(-50%);
7996
- cursor: pointer;
7997
- width: 40px;
7998
- min-width: 40px;
7999
- max-width: 40px;
8000
- height: 40px;
8001
- }
8002
-
8003
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
8004
- display: none;
7957
+
7958
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
7959
+ display: none;
8005
7960
  }
8006
7961
 
8007
7962
  .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible)::before {
@@ -8271,56 +8226,6 @@ body {
8271
8226
  --folder-tab-surface-selected: var(--color-background-layer-02);
8272
8227
  }
8273
8228
 
8274
- .tl-folder-tabs {
8275
- box-sizing: border-box;
8276
- }
8277
- .tl-folder-tabs * {
8278
- box-sizing: border-box;
8279
- }
8280
- .tl-folder-tabs {
8281
- display: flex;
8282
- overflow-x: scroll;
8283
- scrollbar-width: none;
8284
- position: relative;
8285
- outline: 0;
8286
- }
8287
- .tl-folder-tabs::-webkit-scrollbar {
8288
- display: none;
8289
- }
8290
-
8291
- /* Overlay buttons (optional in markup; visible via media query) */
8292
- .tl-folder-tabs__scroll-button {
8293
- background-color: var(--folder-tab-surface);
8294
- color: var(--folder-tabs-scroll-button-text);
8295
- min-width: 48px;
8296
- border: 0;
8297
- justify-content: center;
8298
- align-items: center;
8299
- position: sticky;
8300
- cursor: pointer;
8301
- }
8302
- .tl-folder-tabs__scroll-button:hover {
8303
- background-color: var(--folder-tabs-scroll-button-surface-hover);
8304
- }
8305
- .tl-folder-tabs__scroll-button:active {
8306
- background-color: var(--folder-tabs-scroll-button-surface-active);
8307
- }
8308
-
8309
- /* left/right anchoring over the track */
8310
- .tl-folder-tabs__scroll-button--left {
8311
- left: 0;
8312
- z-index: 1;
8313
- }
8314
-
8315
- .tl-folder-tabs__scroll-button--right {
8316
- right: 0;
8317
- z-index: 1;
8318
- }
8319
-
8320
- .tl-folder-tabs__scroll-button svg {
8321
- fill: var(--folder-tabs-scroll-button-text);
8322
- }
8323
-
8324
8229
  /* tl-folder-tabs.scss (overlay buttons, no JS) */
8325
8230
  .tl-folder-tabs__tab {
8326
8231
  all: unset;
@@ -8384,6 +8289,56 @@ body {
8384
8289
  box-shadow: none;
8385
8290
  }
8386
8291
 
8292
+ .tl-folder-tabs {
8293
+ box-sizing: border-box;
8294
+ }
8295
+ .tl-folder-tabs * {
8296
+ box-sizing: border-box;
8297
+ }
8298
+ .tl-folder-tabs {
8299
+ display: flex;
8300
+ overflow-x: scroll;
8301
+ scrollbar-width: none;
8302
+ position: relative;
8303
+ outline: 0;
8304
+ }
8305
+ .tl-folder-tabs::-webkit-scrollbar {
8306
+ display: none;
8307
+ }
8308
+
8309
+ /* Overlay buttons (optional in markup; visible via media query) */
8310
+ .tl-folder-tabs__scroll-button {
8311
+ background-color: var(--folder-tab-surface);
8312
+ color: var(--folder-tabs-scroll-button-text);
8313
+ min-width: 48px;
8314
+ border: 0;
8315
+ justify-content: center;
8316
+ align-items: center;
8317
+ position: sticky;
8318
+ cursor: pointer;
8319
+ }
8320
+ .tl-folder-tabs__scroll-button:hover {
8321
+ background-color: var(--folder-tabs-scroll-button-surface-hover);
8322
+ }
8323
+ .tl-folder-tabs__scroll-button:active {
8324
+ background-color: var(--folder-tabs-scroll-button-surface-active);
8325
+ }
8326
+
8327
+ /* left/right anchoring over the track */
8328
+ .tl-folder-tabs__scroll-button--left {
8329
+ left: 0;
8330
+ z-index: 1;
8331
+ }
8332
+
8333
+ .tl-folder-tabs__scroll-button--right {
8334
+ right: 0;
8335
+ z-index: 1;
8336
+ }
8337
+
8338
+ .tl-folder-tabs__scroll-button svg {
8339
+ fill: var(--folder-tabs-scroll-button-text);
8340
+ }
8341
+
8387
8342
  .tl-inline-tabs {
8388
8343
  /* Horizontal divider */
8389
8344
  --inline-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
@@ -8420,63 +8375,6 @@ body {
8420
8375
  --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8421
8376
  }
8422
8377
 
8423
- .tl-inline-tabs {
8424
- box-sizing: border-box;
8425
- }
8426
- .tl-inline-tabs * {
8427
- box-sizing: border-box;
8428
- }
8429
- .tl-inline-tabs {
8430
- display: flex;
8431
- flex-wrap: nowrap;
8432
- white-space: nowrap;
8433
- width: 100%;
8434
- overflow-x: scroll;
8435
- scrollbar-width: none;
8436
- gap: 16px;
8437
- position: relative;
8438
- background-color: var(--inline-tabs-tab-background);
8439
- }
8440
- .tl-inline-tabs::-webkit-scrollbar {
8441
- display: none;
8442
- }
8443
- .tl-inline-tabs::after {
8444
- border-bottom: 1px solid var(--inline-tabs-horizontal-divider);
8445
- content: " ";
8446
- display: block;
8447
- left: 0;
8448
- right: 0;
8449
- bottom: 0;
8450
- position: absolute;
8451
- }
8452
-
8453
- .tl-inline-tabs__scroll-button {
8454
- background-color: transparent;
8455
- color: var(--inline-tabs-scroll-button-text);
8456
- cursor: pointer;
8457
- min-width: 48px;
8458
- border: 0;
8459
- display: block;
8460
- justify-content: center;
8461
- align-items: center;
8462
- opacity: 1;
8463
- position: sticky;
8464
- }
8465
-
8466
- .tl-inline-tabs__scroll-button--right {
8467
- right: 0;
8468
- z-index: 1;
8469
- }
8470
-
8471
- .tl-inline-tabs__scroll-button--left {
8472
- left: 0;
8473
- z-index: 1;
8474
- }
8475
-
8476
- .tl-inline-tabs__scroll-button svg {
8477
- fill: var(--inline-tabs-scroll-button-text);
8478
- }
8479
-
8480
8378
  .tl-inline-tabs__tab {
8481
8379
  all: unset;
8482
8380
  margin-right: 32px;
@@ -8557,48 +8455,13 @@ body {
8557
8455
  box-shadow: none;
8558
8456
  }
8559
8457
 
8560
- .tl-navigation-tabs__tab {
8561
- /* tds-navigation-tab variables */
8562
- --navigation-tabs-tab: var(--color-foreground-text-soft);
8563
- --navigation-tabs-tab-selected: var(--color-foreground-text-strong);
8564
- --navigation-tabs-tab-hover: var(--color-foreground-text-strong);
8565
- --navigation-tabs-tab-focus: var(--color-foreground-text-strong);
8566
- --navigation-tabs-tab-disabled: var(--color-foreground-text-disabled);
8567
- --navigation-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8568
- --navigation-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8569
- }
8570
-
8571
- .tl-navigation-tabs {
8572
- /* tds-navigation-tabs variables */
8573
- --navigation-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8574
- --navigation-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8575
- --navigation-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8576
- --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8577
- --navigation-tabs-scroll-button-icon: var(--color-foreground-icon-strong);
8578
- --navigation-tabs-scroll-button-background: var(--navigation-tabs-tab-background);
8579
- --navigation-tabs-scroll-button-background-hover: var(--navigation-tabs-tab-background);
8580
- --navigation-tabs-scroll-button-background-active: var(--navigation-tabs-tab-background);
8581
- }
8582
- .tl-navigation-tabs--primary {
8583
- --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8584
- }
8585
- .tl-navigation-tabs--secondary {
8586
- --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-secondary);
8587
- }
8588
-
8589
- .traton .tl-navigation-tabs {
8590
- --navigation-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8591
- --navigation-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8592
- }
8593
-
8594
- .tl-navigation-tabs {
8458
+ .tl-inline-tabs {
8595
8459
  box-sizing: border-box;
8596
8460
  }
8597
- .tl-navigation-tabs * {
8461
+ .tl-inline-tabs * {
8598
8462
  box-sizing: border-box;
8599
8463
  }
8600
- .tl-navigation-tabs {
8601
- background-color: var(--navigation-tabs-tab-background);
8464
+ .tl-inline-tabs {
8602
8465
  display: flex;
8603
8466
  flex-wrap: nowrap;
8604
8467
  white-space: nowrap;
@@ -8607,12 +8470,13 @@ body {
8607
8470
  scrollbar-width: none;
8608
8471
  gap: 16px;
8609
8472
  position: relative;
8473
+ background-color: var(--inline-tabs-tab-background);
8610
8474
  }
8611
- .tl-navigation-tabs::-webkit-scrollbar {
8475
+ .tl-inline-tabs::-webkit-scrollbar {
8612
8476
  display: none;
8613
8477
  }
8614
- .tl-navigation-tabs::after {
8615
- border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8478
+ .tl-inline-tabs::after {
8479
+ border-bottom: 1px solid var(--inline-tabs-horizontal-divider);
8616
8480
  content: " ";
8617
8481
  display: block;
8618
8482
  left: 0;
@@ -8621,9 +8485,9 @@ body {
8621
8485
  position: absolute;
8622
8486
  }
8623
8487
 
8624
- .tl-navigation-tabs__scroll-button {
8488
+ .tl-inline-tabs__scroll-button {
8625
8489
  background-color: transparent;
8626
- color: var(--navigation-tabs-scroll-button-icon);
8490
+ color: var(--inline-tabs-scroll-button-text);
8627
8491
  cursor: pointer;
8628
8492
  min-width: 48px;
8629
8493
  border: 0;
@@ -8634,18 +8498,52 @@ body {
8634
8498
  position: sticky;
8635
8499
  }
8636
8500
 
8637
- .tl-navigation-tabs__scroll-button--right {
8501
+ .tl-inline-tabs__scroll-button--right {
8638
8502
  right: 0;
8639
8503
  z-index: 1;
8640
8504
  }
8641
8505
 
8642
- .tl-navigation-tabs__scroll-button--left {
8506
+ .tl-inline-tabs__scroll-button--left {
8643
8507
  left: 0;
8644
8508
  z-index: 1;
8645
8509
  }
8646
8510
 
8647
- .tl-navigation-tabs__scroll-button svg {
8648
- fill: var(--navigation-tabs-scroll-button-color);
8511
+ .tl-inline-tabs__scroll-button svg {
8512
+ fill: var(--inline-tabs-scroll-button-text);
8513
+ }
8514
+
8515
+ .tl-navigation-tabs__tab {
8516
+ /* tds-navigation-tab variables */
8517
+ --navigation-tabs-tab: var(--color-foreground-text-soft);
8518
+ --navigation-tabs-tab-selected: var(--color-foreground-text-strong);
8519
+ --navigation-tabs-tab-hover: var(--color-foreground-text-strong);
8520
+ --navigation-tabs-tab-focus: var(--color-foreground-text-strong);
8521
+ --navigation-tabs-tab-disabled: var(--color-foreground-text-disabled);
8522
+ --navigation-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8523
+ --navigation-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8524
+ }
8525
+
8526
+ .tl-navigation-tabs {
8527
+ /* tds-navigation-tabs variables */
8528
+ --navigation-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8529
+ --navigation-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8530
+ --navigation-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8531
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8532
+ --navigation-tabs-scroll-button-icon: var(--color-foreground-icon-strong);
8533
+ --navigation-tabs-scroll-button-background: var(--navigation-tabs-tab-background);
8534
+ --navigation-tabs-scroll-button-background-hover: var(--navigation-tabs-tab-background);
8535
+ --navigation-tabs-scroll-button-background-active: var(--navigation-tabs-tab-background);
8536
+ }
8537
+ .tl-navigation-tabs--primary {
8538
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8539
+ }
8540
+ .tl-navigation-tabs--secondary {
8541
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-secondary);
8542
+ }
8543
+
8544
+ .traton .tl-navigation-tabs {
8545
+ --navigation-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8546
+ --navigation-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8649
8547
  }
8650
8548
 
8651
8549
  .tl-navigation-tabs__tab {
@@ -8728,6 +8626,562 @@ body {
8728
8626
  box-shadow: none;
8729
8627
  }
8730
8628
 
8629
+ .tl-navigation-tabs {
8630
+ box-sizing: border-box;
8631
+ }
8632
+ .tl-navigation-tabs * {
8633
+ box-sizing: border-box;
8634
+ }
8635
+ .tl-navigation-tabs {
8636
+ background-color: var(--navigation-tabs-tab-background);
8637
+ display: flex;
8638
+ flex-wrap: nowrap;
8639
+ white-space: nowrap;
8640
+ width: 100%;
8641
+ overflow-x: scroll;
8642
+ scrollbar-width: none;
8643
+ gap: 16px;
8644
+ position: relative;
8645
+ }
8646
+ .tl-navigation-tabs::-webkit-scrollbar {
8647
+ display: none;
8648
+ }
8649
+ .tl-navigation-tabs::after {
8650
+ border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8651
+ content: " ";
8652
+ display: block;
8653
+ left: 0;
8654
+ right: 0;
8655
+ bottom: 0;
8656
+ position: absolute;
8657
+ }
8658
+
8659
+ .tl-navigation-tabs__scroll-button {
8660
+ background-color: transparent;
8661
+ color: var(--navigation-tabs-scroll-button-icon);
8662
+ cursor: pointer;
8663
+ min-width: 48px;
8664
+ border: 0;
8665
+ display: block;
8666
+ justify-content: center;
8667
+ align-items: center;
8668
+ opacity: 1;
8669
+ position: sticky;
8670
+ }
8671
+
8672
+ .tl-navigation-tabs__scroll-button--right {
8673
+ right: 0;
8674
+ z-index: 1;
8675
+ }
8676
+
8677
+ .tl-navigation-tabs__scroll-button--left {
8678
+ left: 0;
8679
+ z-index: 1;
8680
+ }
8681
+
8682
+ .tl-navigation-tabs__scroll-button svg {
8683
+ fill: var(--navigation-tabs-scroll-button-color);
8684
+ }
8685
+
8686
+ .tl-text-field {
8687
+ --text-field-background: var(--color-background-layer-01);
8688
+ --text-field-text: var(--color-foreground-text-strong);
8689
+ --text-field-placeholder: var(--color-foreground-text-subtle);
8690
+ --text-field-affix: var(--color-foreground-text-defined);
8691
+ --text-field-label: var(--color-foreground-text-strong);
8692
+ --text-field-label-inside: var(--color-foreground-text-strong);
8693
+ --text-field-label-inside-left: 16px;
8694
+ --text-field-affix-width-icon: 35px;
8695
+ --text-field-affix-width-text: 8px;
8696
+ --text-field-border-bottom-readonly: var(--color-foreground-border-strong);
8697
+ --text-field-helper: var(--color-foreground-text-defined);
8698
+ --text-field-error: var(--color-system-danger-default);
8699
+ --text-field-affix-error: var(--color-foreground-text-defined);
8700
+ --text-field-background-disabled: var(--color-background-layer-01);
8701
+ --text-field-text-disabled: var(--color-foreground-text-disabled);
8702
+ --text-field-placeholder-disabled: var(--color-foreground-text-disabled);
8703
+ --text-field-label-disabled: var(--color-foreground-text-disabled);
8704
+ --text-field-affix-disabled: var(--color-foreground-text-disabled);
8705
+ --text-field-textcounter: var(--color-foreground-text-defined);
8706
+ }
8707
+ .tl-text-field--primary {
8708
+ --text-field-background: var(--color-background-layer-01);
8709
+ --text-field-background-disabled: var(--color-background-layer-01);
8710
+ }
8711
+ .tl-text-field--secondary {
8712
+ --text-field-background: var(--color-background-layer-02);
8713
+ --text-field-background-disabled: var(--color-background-layer-02);
8714
+ }
8715
+
8716
+ .tl-text-field,
8717
+ .scania .tl-text-field {
8718
+ --text-field-border-radius: 4px 4px 0 0;
8719
+ --text-field-box-shadow: 0 -1px 0 0 var(--color-foreground-border-soft);
8720
+ --text-field-box-shadow-hover: 0 -1px 0 0 var(--color-foreground-border-strong);
8721
+ --text-field-box-shadow-focus: 0 -2px 0 0 var(--color-foreground-border-accent-focus);
8722
+ --text-field-box-shadow-error: 0 -1px 0 0 var(--color-system-danger-default);
8723
+ --text-field-box-shadow-error-hover: 0 -1px 0 0 var(--color-system-danger-default);
8724
+ --text-field-box-shadow-error-focus: 0 -2px 0 0 var(--color-system-danger-default);
8725
+ --text-field-box-shadow-success: 0 -1px 0 0 var(--color-foreground-border-strong);
8726
+ --text-field-bar-focus: var(--color-foreground-border-accent-focus);
8727
+ --text-field-bar-error: var(--color-system-danger-default);
8728
+ --text-field-focus-outline: none;
8729
+ --text-field-focus-outline-error: none;
8730
+ --text-field-focus-outline-offset: 0;
8731
+ }
8732
+
8733
+ .traton .tl-text-field {
8734
+ --text-field-border-radius: 4px 4px 4px 4px;
8735
+ --text-field-box-shadow: 0 0 0 1px var(--color-foreground-border-soft);
8736
+ --text-field-box-shadow-hover: 0 0 0 1px var(--color-foreground-border-strong);
8737
+ --text-field-box-shadow-focus: 0 0 0 2px var(--color-foreground-border-accent-focus);
8738
+ --text-field-box-shadow-success: 0 0 0 1px var(--color-foreground-border-strong);
8739
+ --text-field-box-shadow-error: 0 0 0 1px var(--color-system-danger-default);
8740
+ --text-field-box-shadow-error-hover: 0 0 0 1px var(--color-system-danger-default);
8741
+ --text-field-box-shadow-error-focus: 0 0 0 2px var(--color-system-danger-default);
8742
+ --text-field-focus-outline: 2px solid var(--color-foreground-border-accent-focus);
8743
+ --text-field-focus-outline-error: 2px solid var(--color-system-danger-default);
8744
+ --text-field-focus-outline-offset: 0;
8745
+ --text-field-bar-focus: transparent;
8746
+ --text-field-bar-error: transparent;
8747
+ }
8748
+
8749
+ .tl-text-field {
8750
+ display: block;
8751
+ position: relative;
8752
+ width: 100%;
8753
+ min-width: 208px;
8754
+ border-radius: var(--text-field-border-radius);
8755
+ box-sizing: border-box;
8756
+ }
8757
+ .tl-text-field--no-min-width {
8758
+ min-width: auto;
8759
+ }
8760
+ .tl-text-field--readonly:not(.tl-text-field--disabled):not(.tl-text-field--hide-readonly-icon)::before {
8761
+ content: "";
8762
+ position: absolute;
8763
+ top: 50%;
8764
+ right: 16px;
8765
+ width: 20px;
8766
+ height: 20px;
8767
+ background-color: var(--text-field-text);
8768
+ mask-image: var(--icon-edit_inactive-svg);
8769
+ mask-size: contain;
8770
+ mask-repeat: no-repeat;
8771
+ mask-position: center;
8772
+ transform: translateY(-50%);
8773
+ z-index: 1;
8774
+ }
8775
+ .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__label):has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon)::before {
8776
+ top: calc(50% + 24px);
8777
+ }
8778
+ .tl-text-field:has(.tl-text-field__input:disabled) {
8779
+ cursor: not-allowed;
8780
+ }
8781
+ .tl-text-field .tl-icon {
8782
+ background-color: var(--text-field-affix);
8783
+ }
8784
+ :has(.tl-text-field__input:disabled) .tl-text-field .tl-icon {
8785
+ background-color: var(--text-field-affix-disabled);
8786
+ }
8787
+
8788
+ .tl-text-field__input {
8789
+ all: unset;
8790
+ border-radius: var(--text-field-border-radius);
8791
+ background-color: var(--text-field-background);
8792
+ color: var(--text-field-text);
8793
+ width: 100%;
8794
+ box-sizing: border-box;
8795
+ margin: 0;
8796
+ border: none;
8797
+ outline: none;
8798
+ }
8799
+ .tl-text-field__input::placeholder {
8800
+ color: var(--text-field-placeholder);
8801
+ }
8802
+ .tl-text-field__input:disabled {
8803
+ background-color: var(--text-field-background-disabled);
8804
+ color: var(--text-field-text-disabled);
8805
+ user-select: none;
8806
+ pointer-events: none;
8807
+ }
8808
+ .tl-text-field__input:disabled::placeholder {
8809
+ color: var(--text-field-placeholder-disabled);
8810
+ }
8811
+ .tl-text-field__input {
8812
+ font-family: var(--detail-02-font-family);
8813
+ font-size: var(--detail-02-font-size);
8814
+ line-height: var(--detail-02-line-height);
8815
+ font-weight: var(--detail-02-font-weight);
8816
+ letter-spacing: var(--detail-02-letter-spacing);
8817
+ text-transform: var(--detail-02-text-transform);
8818
+ text-align: left;
8819
+ color: var(--text-field-text);
8820
+ flex: 1;
8821
+ order: 2;
8822
+ box-shadow: inset var(--text-field-box-shadow);
8823
+ transition: box-shadow 0.2s;
8824
+ }
8825
+ .tl-text-field__input:focus {
8826
+ box-shadow: inset var(--text-field-box-shadow-focus);
8827
+ }
8828
+ .tl-text-field:hover .tl-text-field__input:not(:focus):not(:disabled) {
8829
+ box-shadow: inset var(--text-field-box-shadow-hover);
8830
+ }
8831
+ .tl-text-field--error .tl-text-field__input {
8832
+ box-shadow: inset var(--text-field-box-shadow-error);
8833
+ }
8834
+ .tl-text-field--error .tl-text-field__input:focus {
8835
+ box-shadow: inset var(--text-field-box-shadow-error-focus);
8836
+ }
8837
+ .tl-text-field--error:hover .tl-text-field__input:not(:focus):not(:disabled) {
8838
+ box-shadow: inset var(--text-field-box-shadow-error-hover);
8839
+ }
8840
+ .tl-text-field--success:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:not(:focus) {
8841
+ box-shadow: inset var(--text-field-box-shadow-success);
8842
+ }
8843
+ .tl-text-field__input:disabled {
8844
+ box-shadow: none;
8845
+ background-color: var(--text-field-background-disabled);
8846
+ color: var(--text-field-text-disabled);
8847
+ cursor: not-allowed;
8848
+ pointer-events: none;
8849
+ }
8850
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
8851
+ box-shadow: inset var(--text-field-box-shadow);
8852
+ }
8853
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:focus {
8854
+ box-shadow: inset var(--text-field-box-shadow-focus);
8855
+ }
8856
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):hover .tl-text-field__input:not(:focus) {
8857
+ box-shadow: inset var(--text-field-box-shadow-hover);
8858
+ }
8859
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
8860
+ user-select: auto;
8861
+ caret-color: transparent;
8862
+ cursor: default;
8863
+ pointer-events: none;
8864
+ }
8865
+ .tl-text-field:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon) .tl-text-field__input {
8866
+ padding-right: 54px;
8867
+ }
8868
+ .tl-text-field--lg .tl-text-field__input {
8869
+ padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
8870
+ height: 56px;
8871
+ }
8872
+ .tl-text-field--md .tl-text-field__input {
8873
+ padding: var(--tds-spacing-element-16);
8874
+ height: 48px;
8875
+ }
8876
+ .tl-text-field--sm .tl-text-field__input {
8877
+ padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
8878
+ height: 40px;
8879
+ }
8880
+ .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__input {
8881
+ padding-top: var(--tds-spacing-element-24);
8882
+ padding-bottom: 15px;
8883
+ }
8884
+ .tl-text-field--label-inside.tl-text-field--md .tl-text-field__input {
8885
+ padding-top: var(--tds-spacing-element-20);
8886
+ padding-bottom: 11px;
8887
+ }
8888
+ .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__input:not(:focus):placeholder-shown {
8889
+ padding-top: var(--tds-spacing-element-16);
8890
+ padding-bottom: 7px;
8891
+ }
8892
+ .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
8893
+ padding-left: 44px;
8894
+ }
8895
+ .tl-text-field:has(.tl-text-field__prefix--text) .tl-text-field__input {
8896
+ padding-left: calc(16px + var(--text-field-affix-width-text) + 8px);
8897
+ }
8898
+ .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
8899
+ padding-right: 44px;
8900
+ }
8901
+ .tl-text-field:has(.tl-text-field__suffix--text) .tl-text-field__input {
8902
+ padding-right: calc(16px + var(--text-field-affix-width-text) + 8px);
8903
+ }
8904
+ .tl-text-field--label-inside .tl-text-field__input::placeholder {
8905
+ color: transparent !important;
8906
+ }
8907
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
8908
+ color: var(--text-field-placeholder-disabled) !important;
8909
+ }
8910
+
8911
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
8912
+ font-family: var(--detail-05-font-family);
8913
+ font-size: var(--detail-05-font-size);
8914
+ line-height: var(--detail-05-line-height);
8915
+ font-weight: var(--detail-05-font-weight);
8916
+ letter-spacing: var(--detail-05-letter-spacing);
8917
+ text-transform: var(--detail-05-text-transform);
8918
+ display: block;
8919
+ margin-bottom: 8px;
8920
+ color: var(--text-field-label);
8921
+ }
8922
+ .tl-text-field--label-inside .tl-text-field__label {
8923
+ font-family: var(--detail-02-font-family);
8924
+ font-size: var(--detail-02-font-size);
8925
+ line-height: var(--detail-02-line-height);
8926
+ font-weight: var(--detail-02-font-weight);
8927
+ letter-spacing: var(--detail-02-letter-spacing);
8928
+ text-transform: var(--detail-02-text-transform);
8929
+ position: absolute;
8930
+ left: var(--text-field-label-inside-left, 16px);
8931
+ color: var(--text-field-label-inside);
8932
+ pointer-events: none;
8933
+ transform: translateY(-50%);
8934
+ transform-origin: top left;
8935
+ transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
8936
+ z-index: 1;
8937
+ }
8938
+ .tl-text-field__label {
8939
+ /* Center label in input row before focus/fill */
8940
+ }
8941
+ .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__label {
8942
+ top: 28px; /* half of 56px input height */
8943
+ }
8944
+ .tl-text-field--label-inside.tl-text-field--md .tl-text-field__label {
8945
+ top: 24px; /* half of 48px input height */
8946
+ }
8947
+ .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__label {
8948
+ top: 20px; /* half of 40px input height */
8949
+ }
8950
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
8951
+ left: 44px;
8952
+ }
8953
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field__label {
8954
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
8955
+ }
8956
+ .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8957
+ font-family: var(--detail-07-font-family);
8958
+ font-size: var(--detail-07-font-size);
8959
+ line-height: var(--detail-07-line-height);
8960
+ font-weight: var(--detail-07-font-weight);
8961
+ letter-spacing: var(--detail-07-letter-spacing);
8962
+ text-transform: var(--detail-07-text-transform);
8963
+ top: 8px;
8964
+ transform: translateY(0);
8965
+ transition: 0.1s ease all;
8966
+ }
8967
+ .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--icon):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8968
+ left: 44px;
8969
+ }
8970
+ .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--text):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--lg:has(.tl-text-field__prefix--text):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--text):has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--md:has(.tl-text-field__prefix--text):has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8971
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
8972
+ }
8973
+ .tl-text-field--label-inside.tl-text-field--sm:has(.tl-text-field__input:focus) .tl-text-field__label, .tl-text-field--label-inside.tl-text-field--sm:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8974
+ opacity: 0;
8975
+ visibility: hidden;
8976
+ }
8977
+ .tl-text-field--label-inside:has(.tl-text-field__input:disabled) .tl-text-field__label {
8978
+ color: var(--text-field-label-disabled);
8979
+ }
8980
+ .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input:disabled) .tl-text-field__label {
8981
+ color: var(--text-field-label-disabled);
8982
+ }
8983
+
8984
+ .tl-text-field__bottom {
8985
+ display: flex;
8986
+ gap: 8px;
8987
+ padding-top: 4px;
8988
+ }
8989
+
8990
+ .tl-text-field__helper {
8991
+ font-family: var(--detail-05-font-family);
8992
+ font-size: var(--detail-05-font-size);
8993
+ line-height: var(--detail-05-line-height);
8994
+ font-weight: var(--detail-05-font-weight);
8995
+ letter-spacing: var(--detail-05-letter-spacing);
8996
+ text-transform: var(--detail-05-text-transform);
8997
+ color: var(--text-field-helper);
8998
+ position: relative;
8999
+ }
9000
+ :has(.tl-text-field__input:disabled) .tl-text-field__helper {
9001
+ color: var(--color-foreground-text-disabled);
9002
+ }
9003
+ .tl-text-field--error .tl-text-field__helper {
9004
+ padding-left: 24px;
9005
+ }
9006
+ .tl-text-field--error .tl-text-field__helper::before {
9007
+ content: "";
9008
+ position: absolute;
9009
+ left: 0;
9010
+ top: 0;
9011
+ width: 16px;
9012
+ height: 16px;
9013
+ background-color: var(--text-field-error);
9014
+ mask-image: var(--icon-error-svg);
9015
+ mask-size: contain;
9016
+ mask-repeat: no-repeat;
9017
+ mask-position: center;
9018
+ }
9019
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper {
9020
+ padding-left: 0;
9021
+ }
9022
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper::before {
9023
+ display: none;
9024
+ }
9025
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__helper {
9026
+ color: var(--text-field-error);
9027
+ }
9028
+ .tl-text-field--error:has(.tl-text-field__input:disabled) .tl-text-field__helper::before {
9029
+ background-color: var(--color-foreground-text-disabled);
9030
+ }
9031
+
9032
+ .tl-text-field__charcounter {
9033
+ font-family: var(--detail-05-font-family);
9034
+ font-size: var(--detail-05-font-size);
9035
+ line-height: var(--detail-05-line-height);
9036
+ font-weight: var(--detail-05-font-weight);
9037
+ letter-spacing: var(--detail-05-letter-spacing);
9038
+ text-transform: var(--detail-05-text-transform);
9039
+ margin-left: auto;
9040
+ color: var(--text-field-textcounter);
9041
+ }
9042
+ :has(.tl-text-field__input:disabled) .tl-text-field__charcounter {
9043
+ color: var(--color-foreground-text-disabled);
9044
+ }
9045
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter {
9046
+ color: var(--text-field-error);
9047
+ }
9048
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter .tl-text-field__charcounter-divider {
9049
+ color: var(--text-field-error);
9050
+ }
9051
+
9052
+ .tl-text-field__charcounter-divider {
9053
+ color: var(--color-foreground-text-disabled);
9054
+ }
9055
+
9056
+ .tl-text-field__prefix {
9057
+ font-family: var(--detail-02-font-family);
9058
+ font-size: var(--detail-02-font-size);
9059
+ line-height: var(--detail-02-line-height);
9060
+ font-weight: var(--detail-02-font-weight);
9061
+ letter-spacing: var(--detail-02-letter-spacing);
9062
+ text-transform: var(--detail-02-text-transform);
9063
+ color: var(--text-field-affix);
9064
+ align-self: center;
9065
+ display: flex;
9066
+ align-items: center;
9067
+ z-index: 1;
9068
+ position: relative;
9069
+ }
9070
+ .tl-text-field__prefix--text, .tl-text-field__prefix--icon {
9071
+ position: absolute;
9072
+ left: 16px;
9073
+ top: 50%;
9074
+ transform: translateY(calc(-50% - 1px));
9075
+ z-index: 1;
9076
+ }
9077
+ .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__prefix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__prefix--icon {
9078
+ transform: translateY(calc(-50% + 24px));
9079
+ }
9080
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon {
9081
+ color: var(--text-field-affix-disabled);
9082
+ }
9083
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon > * {
9084
+ color: var(--text-field-affix-disabled);
9085
+ }
9086
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon .tl-icon {
9087
+ background-color: var(--text-field-affix-disabled);
9088
+ }
9089
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon.tl-icon {
9090
+ background-color: var(--text-field-affix-disabled);
9091
+ }
9092
+
9093
+ .tl-text-field__suffix {
9094
+ font-family: var(--detail-02-font-family);
9095
+ font-size: var(--detail-02-font-size);
9096
+ line-height: var(--detail-02-line-height);
9097
+ font-weight: var(--detail-02-font-weight);
9098
+ letter-spacing: var(--detail-02-letter-spacing);
9099
+ text-transform: var(--detail-02-text-transform);
9100
+ color: var(--text-field-affix);
9101
+ align-self: center;
9102
+ display: flex;
9103
+ align-items: center;
9104
+ z-index: 1;
9105
+ position: relative;
9106
+ }
9107
+ .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
9108
+ position: absolute;
9109
+ right: 16px;
9110
+ top: 50%;
9111
+ transform: translateY(calc(-50% - 1px));
9112
+ z-index: 1;
9113
+ }
9114
+ .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--icon {
9115
+ transform: translateY(calc(-50% + 24px));
9116
+ }
9117
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
9118
+ color: var(--text-field-affix-disabled);
9119
+ }
9120
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
9121
+ color: var(--text-field-affix-disabled);
9122
+ }
9123
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
9124
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon .tl-icon,
9125
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
9126
+ background-color: var(--text-field-affix-disabled) !important;
9127
+ }
9128
+
9129
+ .tl-text-field__suffix {
9130
+ font-family: var(--detail-02-font-family);
9131
+ font-size: var(--detail-02-font-size);
9132
+ line-height: var(--detail-02-line-height);
9133
+ font-weight: var(--detail-02-font-weight);
9134
+ letter-spacing: var(--detail-02-letter-spacing);
9135
+ text-transform: var(--detail-02-text-transform);
9136
+ color: var(--text-field-affix);
9137
+ align-self: center;
9138
+ display: flex;
9139
+ align-items: center;
9140
+ z-index: 1;
9141
+ position: relative;
9142
+ right: 16px;
9143
+ padding-right: 0;
9144
+ z-index: 1;
9145
+ }
9146
+ .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--text, .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside) .tl-text-field__suffix--icon {
9147
+ transform: translateY(calc(-50% + 24px));
9148
+ }
9149
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
9150
+ color: var(--text-field-affix-disabled);
9151
+ }
9152
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
9153
+ color: var(--text-field-affix-disabled);
9154
+ }
9155
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
9156
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > .tl-icon, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon .tl-icon,
9157
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
9158
+ background-color: var(--text-field-affix-disabled);
9159
+ }
9160
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon.tl-icon {
9161
+ background-color: var(--text-field-affix-disabled);
9162
+ }
9163
+
9164
+ .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
9165
+ .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
9166
+ font-family: var(--detail-07-font-family);
9167
+ font-size: var(--detail-07-font-size);
9168
+ line-height: var(--detail-07-line-height);
9169
+ font-weight: var(--detail-07-font-weight);
9170
+ letter-spacing: var(--detail-07-letter-spacing);
9171
+ text-transform: var(--detail-07-text-transform);
9172
+ top: 7.5px;
9173
+ left: var(--text-field-label-inside-left, 16px);
9174
+ transform: none;
9175
+ }
9176
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
9177
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
9178
+ left: 44px;
9179
+ }
9180
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
9181
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
9182
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
9183
+ }
9184
+
8731
9185
  .tl-textarea {
8732
9186
  --textarea-background-primary: var(--color-background-layer-01);
8733
9187
  --textarea-background-secondary: var(--color-background-layer-02);