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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) 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 +2036 -1807
  7. package/dist/global.css +3 -2
  8. package/dist/scania-variables.css +8 -0
  9. package/dist/tl-button.css +19 -0
  10. package/dist/tl-dropdown.css +36 -1
  11. package/dist/tl-folder-tabs.css +64 -0
  12. package/dist/tl-header.css +207 -51
  13. package/dist/tl-icon.css +16 -0
  14. package/dist/tl-inline-tabs.css +81 -0
  15. package/dist/tl-navigation-tabs.css +81 -0
  16. package/dist/tl-slider.css +1024 -1485
  17. package/dist/tl-text-field.css +32 -13
  18. package/package.json +3 -14
  19. package/.ai/rules/01-design-tokens.mdc +0 -318
  20. package/.ai/rules/02-components-forms.mdc +0 -396
  21. package/.ai/rules/03-components-display.mdc +0 -474
  22. package/.ai/rules/04-components-navigation.mdc +0 -358
  23. package/.ai/rules/05-guidelines.mdc +0 -144
  24. package/.ai/rules/06-patterns.mdc +0 -352
  25. package/.cursor/rules/tegel-lite/01-design-tokens.mdc +0 -317
  26. package/.cursor/rules/tegel-lite/02-components-forms.mdc +0 -395
  27. package/.cursor/rules/tegel-lite/03-components-display.mdc +0 -473
  28. package/.cursor/rules/tegel-lite/04-components-navigation.mdc +0 -357
  29. package/.cursor/rules/tegel-lite/05-guidelines.mdc +0 -143
  30. package/.cursor/rules/tegel-lite/06-patterns.mdc +0 -351
  31. package/.github/copilot-instructions.md +0 -2045
  32. package/AGENTS.md +0 -2045
  33. package/CLAUDE.md +0 -2045
  34. package/bin/setup-ai-rules.js +0 -368
  35. package/dist/tl-folder-tab.css +0 -87
  36. package/dist/tl-inline-tab.css +0 -80
  37. package/dist/tl-navigation-tab.css +0 -114
  38. package/dist/tl-textarea-mixins.css +0 -0
@@ -604,6 +604,25 @@
604
604
  cursor: not-allowed;
605
605
  }
606
606
 
607
+ /**
608
+ * Do not edit directly, this file was auto-generated.
609
+ */
610
+ .tl-button,
611
+ tds-button,
612
+ .tds-mode-light tds-button {
613
+ --component-button-primary-text: var(--color-brand-neutral-white);
614
+ }
615
+
616
+ .scania .tds-mode-dark tds-button,
617
+ .scania .tds-mode-dark .tl-button {
618
+ --component-button-primary-text: var(--color-brand-neutral-white);
619
+ }
620
+
621
+ .tds-mode-dark tds-button,
622
+ .tds-mode-dark .tl-button {
623
+ --component-button-primary-text: var(--color-brand-neutral-black);
624
+ }
625
+
607
626
  .tl-button {
608
627
  --button-transparent: transparent;
609
628
  --button-white: var(--color-brand-neutral-white);
@@ -2071,7 +2090,6 @@ body {
2071
2090
 
2072
2091
  .tl-dropdown__select {
2073
2092
  padding-top: 2px;
2074
- padding-left: calc(var(--tds-spacing-element-16) - 1px);
2075
2093
  cursor: pointer;
2076
2094
  display: block;
2077
2095
  }
@@ -2191,6 +2209,10 @@ body {
2191
2209
  transition: transform 0.2s;
2192
2210
  }
2193
2211
 
2212
+ .tl-dropdown--lg:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2213
+ background-color: var(--dropdown-disabled);
2214
+ }
2215
+
2194
2216
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2195
2217
  content: "";
2196
2218
  position: absolute;
@@ -2208,6 +2230,10 @@ body {
2208
2230
  transition: transform 0.2s;
2209
2231
  }
2210
2232
 
2233
+ .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2234
+ background-color: var(--dropdown-disabled);
2235
+ }
2236
+
2211
2237
  .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2212
2238
  content: "";
2213
2239
  position: absolute;
@@ -2225,6 +2251,10 @@ body {
2225
2251
  transition: transform 0.2s;
2226
2252
  }
2227
2253
 
2254
+ .tl-dropdown--sm:not(.tl-dropdown--label-inside):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2255
+ background-color: var(--dropdown-disabled);
2256
+ }
2257
+
2228
2258
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(:is(.tl-dropdown__button, .tl-dropdown__input)) .tl-dropdown__button::after,
2229
2259
  .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
2260
  top: calc(50% + 1px);
@@ -2247,6 +2277,10 @@ body {
2247
2277
  transition: transform 0.2s;
2248
2278
  }
2249
2279
 
2280
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2281
+ background-color: var(--dropdown-disabled);
2282
+ }
2283
+
2250
2284
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2251
2285
  content: "";
2252
2286
  position: absolute;
@@ -2264,6 +2298,10 @@ body {
2264
2298
  transition: transform 0.2s;
2265
2299
  }
2266
2300
 
2301
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):not(:has(.tl-dropdown__helper))::after {
2302
+ background-color: var(--dropdown-disabled);
2303
+ }
2304
+
2267
2305
  .tl-dropdown--label-inside:has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2268
2306
  content: "";
2269
2307
  position: absolute;
@@ -2281,6 +2319,10 @@ body {
2281
2319
  transition: transform 0.2s;
2282
2320
  }
2283
2321
 
2322
+ .tl-dropdown--label-inside:has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2323
+ background-color: var(--dropdown-disabled);
2324
+ }
2325
+
2284
2326
  .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2285
2327
  content: "";
2286
2328
  position: absolute;
@@ -2298,6 +2340,10 @@ body {
2298
2340
  transition: transform 0.2s;
2299
2341
  }
2300
2342
 
2343
+ .tl-dropdown:not(:has(.tl-dropdown__label)):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2344
+ background-color: var(--dropdown-disabled);
2345
+ }
2346
+
2301
2347
  .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2302
2348
  content: "";
2303
2349
  position: absolute;
@@ -2315,6 +2361,10 @@ body {
2315
2361
  transition: transform 0.2s;
2316
2362
  }
2317
2363
 
2364
+ .tl-dropdown:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select:disabled):has(.tl-dropdown__helper)::after {
2365
+ background-color: var(--dropdown-disabled);
2366
+ }
2367
+
2318
2368
  .tl-dropdown--md:not(.tl-dropdown--label-inside):has(.tl-dropdown__label):has(.tl-dropdown__select):has(.tl-dropdown__helper)::after {
2319
2369
  top: calc(50% + 1px);
2320
2370
  }
@@ -2668,6 +2718,10 @@ body {
2668
2718
  transition: box-shadow 0.2s;
2669
2719
  }
2670
2720
 
2721
+ .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select {
2722
+ padding-top: 3px;
2723
+ }
2724
+
2671
2725
  .tl-dropdown:has(.tl-dropdown__select option[value=""]:checked) .tl-dropdown__select:disabled {
2672
2726
  color: var(--dropdown-disabled);
2673
2727
  cursor: not-allowed;
@@ -2995,13 +3049,118 @@ body {
2995
3049
  background-position: right;
2996
3050
  }
2997
3051
  }
3052
+ /**
3053
+ * Do not edit directly, this file was auto-generated.
3054
+ */
3055
+ .scania tds-header,
3056
+ .scania .tl-header {
3057
+ /* State & interaction colors */
3058
+ --component-header-color-background-open: var(--color-foreground-border-accent-focus);
3059
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3060
+ --component-header-dropdown-item-background: var(--color-background-layer-02);
3061
+ --component-header-avatar-item-background: var(--color-background-layer-02);
3062
+ --component-header-app-launcher-meny-background: var(--color-background-layer-02);
3063
+ /* Sizing & spacing */
3064
+ --component-header-brand-logo-size: 30px;
3065
+ --component-header-space-profile-padding: 16px;
3066
+ --component-header-item-image-size: 34px;
3067
+ --component-header-item-image-left: 10px;
3068
+ --component-header-item-width: none;
3069
+ --component-header-item-border-right: 1px solid var(--header-basic-element-border);
3070
+ /* Borders */
3071
+ --component-header-border: none;
3072
+ /* Typography */
3073
+ --component-header-font-family-headline: var(--scania-font-family-display);
3074
+ --component-header-font-weight: var(--scania-font-weight-regular);
3075
+ --component-header-text-transform: none;
3076
+ }
3077
+ .scania {
3078
+ /* ── Light-mode overrides ───────────────────── */
3079
+ }
3080
+ .scania .tds-mode-light tds-header,
3081
+ .scania .tds-mode-light .tl-header {
3082
+ --component-header-color-background: var(--color-brand-primary-800);
3083
+ --component-header-color-foreground-strong: var(--color-foreground-icon-inverse-strong);
3084
+ --component-header-color-background-hover: var(--color-brand-primary-700);
3085
+ --component-header-color-background-border: var(--color-brand-primary-700);
3086
+ --component-header-color-background-pressed: var(--color-brand-neutral-white);
3087
+ --component-header-color-background-selected: var(--color-brand-primary-700);
3088
+ }
3089
+ .scania {
3090
+ /* ── Dark-mode overrides ───────────────────── */
3091
+ }
3092
+ .scania .tds-mode-dark tds-header,
3093
+ .scania .tds-mode-dark .tl-header {
3094
+ --component-header-color-background: var(--color-brand-primary-900);
3095
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3096
+ --component-header-color-background-hover: var(--color-brand-primary-800);
3097
+ --component-header-color-background-border: var(--color-brand-primary-800);
3098
+ --component-header-color-background-pressed: var(--color-brand-primary-800);
3099
+ --component-header-color-background-selected: var(--color-brand-primary-800);
3100
+ }
3101
+
3102
+ .traton tds-header,
3103
+ .traton .tl-header {
3104
+ /* Base colors */
3105
+ --component-header-color-background: var(--color-background-base);
3106
+ --component-header-color-background-hover: var(--color-background-layer-01);
3107
+ --component-header-color-background-open: transparent;
3108
+ --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3109
+ --component-header-color-background-border: var(--traton-color-transparent-invisible-light);
3110
+ --component-header-color-background-pressed: var(--color-background-base);
3111
+ --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3112
+ /* Dropdown & launcher */
3113
+ --component-header-dropdown-item-background: var(--color-background-layer-01);
3114
+ --component-header-avatar-item-background: var(--color-background-layer-01);
3115
+ --component-header-app-launcher-meny-background: var(--color-background-layer-01);
3116
+ /* Sizing & spacing */
3117
+ --component-header-brand-logo-size: 106px;
3118
+ --component-header-space-profile-padding: 20px;
3119
+ --component-header-item-image-size: 24px;
3120
+ --component-header-item-image-left: 15px;
3121
+ --component-header-item-width: 122px;
3122
+ --component-header-item-border-right: none;
3123
+ /* Borders */
3124
+ --component-header-border: 2px solid var(--header-nav-item-border-active);
3125
+ /* Typography */
3126
+ --component-header-font-family-headline: var(--traton-font-family-display);
3127
+ --component-header-font-weight: var(--traton-font-weight-medium);
3128
+ --component-header-text-transform: uppercase;
3129
+ }
3130
+ .traton {
3131
+ /* ── Light-mode overrides ───────────────────── */
3132
+ }
3133
+ .traton .tds-mode-light tds-header,
3134
+ .traton .tds-mode-light .tl-header {
3135
+ --component-header-color-background-selected: var(--color-background-layer-01);
3136
+ }
3137
+ .traton {
3138
+ /* ── Dark-mode overrides ───────────────────── */
3139
+ }
3140
+ .traton .tds-mode-dark tds-header,
3141
+ .traton .tds-mode-dark .tl-header {
3142
+ --component-header-color-background-selected: var(--color-background-surface-100);
3143
+ }
3144
+
3145
+ /*
3146
+ Tegel Lite specific overrides
3147
+ Keep this in last to ensure it has the highest specificity for Tegel Lite
3148
+ */
3149
+ .scania .tl-header {
3150
+ --component-header-item-width: 30px;
3151
+ --component-header-dropdown-box-shadow: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
3152
+ }
3153
+
3154
+ .traton .tl-header {
3155
+ --component-header-dropdown-box-shadow: none;
3156
+ }
3157
+
2998
3158
  .tl-header {
2999
- /* Base background & text */
3000
- --header-background: var(--component-header-color-background);
3159
+ /* Base text */
3001
3160
  --header-nav-item: var(--component-header-color-foreground-strong);
3002
3161
  /* Nav-item states */
3003
3162
  --header-nav-item-background-hover: var(--color-background-surface-100);
3004
- --header-nav-item-background-selected: var(--color-background-surface-100);
3163
+ --header-nav-item-background-selected: var(--component-header-dropdown-item-background);
3005
3164
  --header-nav-item-border-pressed: var(--color-foreground-border-accent-focus);
3006
3165
  --header-item-hover: var(--component-header-color-background-hover);
3007
3166
  /* Dropdown menu items */
@@ -3013,11 +3172,11 @@ body {
3013
3172
  --tds-header-nav-item-dropdown-opened-background-selected: var(--tds-grey-100);
3014
3173
  --tds-header-nav-item-dropdown-opened-background-pressed: var(--tds-grey-300);
3015
3174
  --header-nav-item-dropdown-opened: var(--component-header-color-foreground-selected);
3016
- /* Basic element (“Bento”) separators & backgrounds */
3175
+ /* Basic element ("Bento") separators & backgrounds */
3017
3176
  --header-basic-element-border: var(--component-header-color-background-border);
3018
3177
  --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);
3178
+ --header-basic-element-background-pressed: var(--component-header-dropdown-item-background);
3179
+ --header-basic-element-background-selected: var(--component-header-dropdown-item-background);
3021
3180
  /* Avatar dropdown */
3022
3181
  --header-avatar-item-background: var(--component-header-avatar-item-background);
3023
3182
  --header-avatar-item: var(--color-foreground-text-soft);
@@ -3043,25 +3202,75 @@ body {
3043
3202
  --header-dropdown-box-shadow: var(--component-header-dropdown-box-shadow);
3044
3203
  }
3045
3204
 
3205
+ .scania {
3206
+ /* Light mode - explicit light mode class */
3207
+ }
3208
+ .scania .tds-mode-light .tl-header {
3209
+ --header-background: var(--color-brand-primary-800);
3210
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
3211
+ --header-item-hover: var(--color-brand-primary-700);
3212
+ --header-basic-element-border: var(--color-brand-primary-700);
3213
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3214
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
3215
+ }
3216
+ .scania {
3217
+ /* Dark mode - override with dark colors */
3218
+ }
3219
+ .scania .tds-mode-dark .tl-header {
3220
+ --header-background: var(--color-brand-primary-900);
3221
+ --header-nav-item: var(--color-foreground-icon-strong);
3222
+ --header-item-hover: var(--color-brand-primary-800);
3223
+ --header-basic-element-border: var(--color-brand-primary-800);
3224
+ --header-basic-element-background-pressed: var(--color-brand-primary-800);
3225
+ --header-basic-element-background-selected: var(--color-brand-primary-800);
3226
+ }
3227
+ .scania {
3228
+ /* Default .tl-header (works for no mode specified - defaults to light) */
3229
+ }
3046
3230
  .scania .tl-header {
3047
3231
  /* Brand logo */
3048
3232
  --header-logotype-local: var(--tds-background-image-scania-symbol-svg-local);
3049
3233
  --header-logotype-cdn: var(--tds-background-image-scania-symbol-svg);
3050
3234
  --component-header-space-profile-padding: 16px;
3235
+ /* Background defaults to light mode */
3236
+ --header-background: var(--color-brand-primary-800);
3237
+ --header-nav-item: var(--color-foreground-icon-inverse-strong);
3238
+ --header-item-hover: var(--color-brand-primary-700);
3239
+ --header-basic-element-border: var(--color-brand-primary-700);
3240
+ --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3241
+ --header-basic-element-background-selected: var(--color-brand-primary-700);
3051
3242
  }
3052
3243
 
3053
3244
  .traton .tds-mode-dark .tl-header {
3054
- /* Brand logo */
3245
+ /* Brand logo - White for dark mode */
3055
3246
  --header-logotype-local: var(--traton-logotype-white-svg-local);
3056
3247
  --header-logotype-cdn: var(--traton-logotype-white-svg);
3248
+ /* Background - uses base from traton tokens */
3249
+ --header-background: var(--color-background-base);
3250
+ --header-nav-item: var(--color-foreground-icon-strong);
3251
+ --header-item-hover: var(--color-background-layer-01);
3252
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3253
+ --header-basic-element-background-pressed: var(--color-background-base);
3254
+ --header-basic-element-background-selected: var(--color-background-surface-100);
3057
3255
  }
3058
3256
  .traton .tds-mode-light .tl-header {
3059
- /* Brand logo */
3257
+ /* Brand logo - Black for light mode */
3060
3258
  --header-logotype-local: var(--traton-logotype-black-svg-local);
3061
3259
  --header-logotype-cdn: var(--traton-logotype-black-svg);
3260
+ /* Background - uses base from traton tokens */
3261
+ --header-background: var(--color-background-base);
3262
+ --header-nav-item: var(--color-foreground-icon-strong);
3263
+ --header-item-hover: var(--color-background-layer-01);
3264
+ --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3265
+ --header-basic-element-background-pressed: var(--color-background-base);
3266
+ --header-basic-element-background-selected: var(--color-background-layer-01);
3062
3267
  }
3063
3268
  .traton .tl-header {
3269
+ /* Brand logo - Black as default (for no mode specified) */
3270
+ --header-logotype-local: var(--traton-logotype-black-svg-local);
3271
+ --header-logotype-cdn: var(--traton-logotype-black-svg);
3064
3272
  --component-header-space-profile-padding: 20px;
3273
+ --header-background: transparent;
3065
3274
  }
3066
3275
 
3067
3276
  /* Header Elements */
@@ -3100,18 +3309,12 @@ body {
3100
3309
  outline: none;
3101
3310
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3102
3311
  }
3103
- .tl-header__item--pressed .tl-header__item-wrapper {
3312
+ .tl-header__item-wrapper:active {
3104
3313
  padding-top: 2px;
3105
3314
  padding-bottom: 2px;
3106
- background-color: var(--header-basic-element-background-selected);
3315
+ background-color: var(--component-header-color-background-pressed);
3107
3316
  box-shadow: inset 0 0 0 2px var(--header-nav-item-border-pressed);
3108
3317
  }
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
3318
 
3116
3319
  .tl-header__item-wrapper .tl-link__icon {
3117
3320
  position: relative;
@@ -3147,25 +3350,26 @@ body {
3147
3350
  outline: none;
3148
3351
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3149
3352
  }
3353
+ .tl-header__dropdown-wrapper:active {
3354
+ background-color: var(--component-header-color-background-pressed);
3355
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3356
+ }
3150
3357
  .tl-header__dropdown-wrapper--open {
3151
- background-color: var(--header-basic-element-background-pressed);
3358
+ background-color: var(--component-header-color-background-pressed);
3152
3359
  color: var(--header-nav-item-dropdown-opened);
3153
3360
  position: relative;
3154
3361
  z-index: calc(var(--tds-z-index-header) + 1);
3155
3362
  }
3156
3363
  .tl-header__dropdown-wrapper--open:hover {
3157
- background-color: var(--header-basic-element-background-pressed);
3364
+ background-color: var(--component-header-color-background-pressed);
3365
+ }
3366
+ .tl-header__dropdown-wrapper--open:active {
3367
+ background-color: var(--component-header-color-background-pressed);
3368
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3158
3369
  }
3159
3370
  .tl-header__dropdown-wrapper--selected {
3160
- padding-top: 4px;
3161
3371
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
3162
3372
  }
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
3373
 
3170
3374
  .tl-header__dropdown-wrapper-user {
3171
3375
  all: unset;
@@ -3193,28 +3397,33 @@ body {
3193
3397
  outline: none;
3194
3398
  box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3195
3399
  }
3400
+ .tl-header__dropdown-wrapper-user:active {
3401
+ background-color: var(--component-header-color-background-pressed);
3402
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3403
+ }
3196
3404
  .tl-header__dropdown-wrapper-user--open {
3197
- background-color: var(--header-basic-element-background-pressed);
3405
+ background-color: var(--component-header-color-background-pressed);
3198
3406
  color: var(--header-nav-item-dropdown-opened);
3199
3407
  position: relative;
3200
3408
  z-index: calc(var(--tds-z-index-header) + 1);
3201
3409
  }
3202
3410
  .tl-header__dropdown-wrapper-user--open:hover {
3203
- background-color: var(--header-basic-element-background-pressed);
3411
+ background-color: var(--component-header-color-background-pressed);
3412
+ }
3413
+ .tl-header__dropdown-wrapper-user--open:active {
3414
+ background-color: var(--component-header-color-background-pressed);
3415
+ box-shadow: inset 0 0 0 2px var(--color-foreground-border-accent-focus);
3204
3416
  }
3205
3417
  .tl-header__dropdown-wrapper-user--selected {
3206
- padding-top: 4px;
3207
3418
  border-bottom: 4px solid var(--header-nav-item-border-pressed);
3208
3419
  }
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
3420
 
3216
3421
  .tl-header__dropdown-icon {
3422
+ display: flex;
3423
+ align-items: center;
3424
+ justify-content: center;
3217
3425
  transition: transform 0.2s ease;
3426
+ transform-origin: center center;
3218
3427
  }
3219
3428
  .tl-header__dropdown-icon--rotated {
3220
3429
  transform: rotate(180deg);
@@ -3282,6 +3491,7 @@ body {
3282
3491
  max-height: calc(100vh - var(--tds-header-height));
3283
3492
  overflow-y: auto;
3284
3493
  z-index: var(--tds-z-index-header);
3494
+ border-radius: 4px;
3285
3495
  }
3286
3496
  .tl-header__user-menu::-webkit-scrollbar {
3287
3497
  width: var(--tl-scrollbar-width);
@@ -3372,6 +3582,7 @@ body {
3372
3582
  max-height: calc(100vh - var(--tds-header-height));
3373
3583
  overflow-y: auto;
3374
3584
  z-index: var(--tds-z-index-header);
3585
+ border-radius: 4px;
3375
3586
  }
3376
3587
  .tl-header__launcher-menu-grid::-webkit-scrollbar {
3377
3588
  width: var(--tl-scrollbar-width);
@@ -3448,13 +3659,13 @@ body {
3448
3659
  }
3449
3660
 
3450
3661
  .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);
3662
+ font-family: var(--detail-06-font-family);
3663
+ font-size: var(--detail-06-font-size);
3664
+ line-height: var(--detail-06-line-height);
3665
+ font-weight: var(--detail-06-font-weight);
3666
+ letter-spacing: var(--detail-06-letter-spacing);
3667
+ text-transform: var(--detail-06-text-transform);
3668
+ color: var(--color-foreground-text-defined);
3458
3669
  }
3459
3670
 
3460
3671
  .tl-header__user-menu-subheader {
@@ -3488,15 +3699,14 @@ body {
3488
3699
  .tl-header__launcher-menu-title {
3489
3700
  all: unset;
3490
3701
  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);
3702
+ font-family: var(--text-component-title-02-font-family);
3703
+ font-size: var(--text-component-title-02-font-size);
3704
+ line-height: var(--text-component-title-02-line-height);
3705
+ font-weight: var(--text-component-title-02-font-weight);
3706
+ letter-spacing: var(--text-component-title-02-letter-spacing);
3707
+ text-transform: var(--text-component-title-02-text-transform);
3497
3708
  background-color: var(--header-nav-dropdown-item-background);
3498
3709
  color: var(--header-app-launcher-grid-category-title);
3499
- text-transform: uppercase;
3500
3710
  height: 48px;
3501
3711
  padding: 0 16px;
3502
3712
  display: flex;
@@ -3521,7 +3731,7 @@ body {
3521
3731
  letter-spacing: var(--detail-02-letter-spacing);
3522
3732
  text-transform: var(--detail-02-text-transform);
3523
3733
  background-color: var(--header-nav-dropdown-item-background);
3524
- color: var(--header-nav-item-dropdown-opened);
3734
+ color: var(--color-foreground-text-defined);
3525
3735
  }
3526
3736
  .tl-header__dropdown-menu-item a:hover,
3527
3737
  .tl-header__dropdown-menu-item button:hover {
@@ -3556,8 +3766,8 @@ body {
3556
3766
  font-weight: var(--detail-05-font-weight);
3557
3767
  letter-spacing: var(--detail-05-letter-spacing);
3558
3768
  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);
3769
+ background-color: var(--header-nav-dropdown-item-background);
3770
+ color: var(--color-foreground-text-defined);
3561
3771
  border-radius: 4px;
3562
3772
  transition: background-color 150ms ease;
3563
3773
  }
@@ -4318,6 +4528,14 @@ body {
4318
4528
  mask-image: var(--icon-message_inactive-svg);
4319
4529
  background-color: currentcolor;
4320
4530
  }
4531
+ .tl-icon--microphone {
4532
+ mask-image: var(--icon-microphone-svg);
4533
+ background-color: currentcolor;
4534
+ }
4535
+ .tl-icon--microphone_inactive {
4536
+ mask-image: var(--icon-microphone_inactive-svg);
4537
+ background-color: currentcolor;
4538
+ }
4321
4539
  .tl-icon--mileage {
4322
4540
  mask-image: var(--icon-mileage-svg);
4323
4541
  background-color: currentcolor;
@@ -4350,6 +4568,10 @@ body {
4350
4568
  mask-image: var(--icon-notification_inactive-svg);
4351
4569
  background-color: currentcolor;
4352
4570
  }
4571
+ .tl-icon--notification_snooze {
4572
+ mask-image: var(--icon-notification_snooze-svg);
4573
+ background-color: currentcolor;
4574
+ }
4353
4575
  .tl-icon--oil_level {
4354
4576
  mask-image: var(--icon-oil_level-svg);
4355
4577
  background-color: currentcolor;
@@ -4358,6 +4580,10 @@ body {
4358
4580
  mask-image: var(--icon-oil_level_inactive-svg);
4359
4581
  background-color: currentcolor;
4360
4582
  }
4583
+ .tl-icon--paperclip {
4584
+ mask-image: var(--icon-paperclip-svg);
4585
+ background-color: currentcolor;
4586
+ }
4361
4587
  .tl-icon--pause {
4362
4588
  mask-image: var(--icon-pause-svg);
4363
4589
  background-color: currentcolor;
@@ -6263,1124 +6489,628 @@ body {
6263
6489
  --slider-border-radius: 4px;
6264
6490
  }
6265
6491
 
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);
6492
+ .tl-slider {
6493
+ box-sizing: border-box;
6286
6494
  }
6287
- .tl-text-field--primary {
6288
- --text-field-background: var(--color-background-layer-01);
6289
- --text-field-background-disabled: var(--color-background-layer-01);
6495
+ .tl-slider * {
6496
+ box-sizing: border-box;
6290
6497
  }
6291
- .tl-text-field--secondary {
6292
- --text-field-background: var(--color-background-layer-02);
6293
- --text-field-background-disabled: var(--color-background-layer-02);
6498
+ .tl-slider {
6499
+ width: 100%;
6294
6500
  }
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;
6501
+ .tl-slider:has(input[type=range][readonly]):not(:has(input[type=range]:disabled)) {
6502
+ pointer-events: none;
6311
6503
  }
6312
6504
 
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;
6505
+ .tl-slider__label {
6506
+ font-family: var(--detail-05-font-family);
6507
+ font-size: var(--detail-05-font-size);
6508
+ line-height: var(--detail-05-line-height);
6509
+ font-weight: var(--detail-05-font-weight);
6510
+ letter-spacing: var(--detail-05-letter-spacing);
6511
+ text-transform: var(--detail-05-text-transform);
6512
+ user-select: none;
6513
+ color: var(--slider-label);
6514
+ display: block;
6515
+ margin-bottom: 24px;
6516
+ margin-left: -2px;
6517
+ }
6518
+ .tl-slider:has(.tl-slider__value-divider-label) .tl-slider__label {
6519
+ margin-bottom: 44px;
6520
+ }
6521
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus) .tl-slider__label {
6522
+ margin-bottom: 2px;
6523
+ padding-left: 11px;
6524
+ margin-left: 0;
6525
+ }
6526
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus):has(.tl-slider__value-divider-label) .tl-slider__label {
6527
+ margin-bottom: 20px;
6528
+ padding-left: 11px;
6529
+ margin-left: 0;
6530
+ }
6531
+ .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6532
+ margin-bottom: 2px;
6533
+ margin-left: 0;
6534
+ }
6535
+ :has(input[type=range]:disabled) .tl-slider__label {
6536
+ color: var(--slider-disabled-text);
6327
6537
  }
6328
6538
 
6329
- .tl-text-field {
6330
- display: block;
6539
+ .tl-slider__track-wrapper {
6331
6540
  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;
6541
+ display: flex;
6542
+ align-items: center;
6543
+ gap: 5px;
6338
6544
  }
6339
- .tl-text-field--no-min-width {
6340
- min-width: auto;
6545
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6546
+ gap: 16px;
6547
+ align-items: center;
6548
+ height: 41px;
6341
6549
  }
6342
- .tl-text-field--lg {
6343
- height: 56px;
6550
+
6551
+ .tl-slider__control-minus,
6552
+ .tl-slider__control-plus {
6553
+ flex-shrink: 0;
6554
+ border: none;
6344
6555
  }
6345
- .tl-text-field--md {
6346
- height: 48px;
6556
+
6557
+ .tl-slider__track {
6558
+ position: relative;
6559
+ flex: 1;
6560
+ min-height: 2px;
6561
+ background-color: var(--slider-track);
6562
+ border-radius: var(--slider-border-radius);
6347
6563
  }
6348
- .tl-text-field--sm {
6349
- height: 40px;
6564
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6565
+ height: 2px;
6566
+ align-self: center;
6350
6567
  }
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 {
6568
+ .tl-slider__track::after {
6352
6569
  content: "";
6353
6570
  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;
6365
- }
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);
6368
- }
6369
- .tl-text-field:has(.tl-text-field__input:disabled) {
6370
- cursor: not-allowed;
6571
+ left: 0;
6572
+ right: 0;
6573
+ top: -10px;
6574
+ bottom: -10px;
6575
+ cursor: pointer;
6576
+ z-index: 0;
6371
6577
  }
6372
- .tl-text-field .tl-icon {
6373
- background-color: var(--text-field-affix);
6578
+ .tl-slider__track:focus {
6579
+ outline: 0;
6374
6580
  }
6375
- :has(.tl-text-field__input:disabled) .tl-text-field .tl-icon {
6376
- background-color: var(--text-field-affix-disabled);
6581
+ .tl-slider__track:focus .tl-slider__thumb-inner {
6582
+ width: 24px;
6583
+ height: 24px;
6377
6584
  }
6378
-
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;
6387
- border: none;
6388
- outline: none;
6585
+ .tl-slider__track:focus .tl-slider__thumb-inner::before {
6586
+ display: block;
6587
+ opacity: 0.08;
6389
6588
  }
6390
- .tl-text-field__input::placeholder {
6391
- color: var(--text-field-placeholder);
6589
+ .tl-slider__track:focus-within .tl-slider__thumb-inner {
6590
+ outline: 2px solid var(--slider-input-focused);
6591
+ box-shadow: 0 0 0 1px var(--color-background-layer-01);
6592
+ outline-offset: 1px;
6593
+ z-index: 1;
6392
6594
  }
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;
6595
+ .tl-slider__track:disabled {
6596
+ cursor: not-allowed;
6597
+ background-color: var(--slider-disabled);
6398
6598
  }
6399
- .tl-text-field__input:disabled::placeholder {
6400
- color: var(--text-field-placeholder-disabled);
6599
+ .tl-slider__track:disabled::after {
6600
+ cursor: not-allowed;
6401
6601
  }
6402
- .tl-text-field__input {
6602
+
6603
+ .tl-slider__value {
6403
6604
  font-family: var(--detail-02-font-family);
6404
6605
  font-size: var(--detail-02-font-size);
6405
6606
  line-height: var(--detail-02-line-height);
6406
6607
  font-weight: var(--detail-02-font-weight);
6407
6608
  letter-spacing: var(--detail-02-letter-spacing);
6408
6609
  text-transform: var(--detail-02-text-transform);
6409
- text-align: left;
6410
- color: var(--text-field-text);
6411
- flex: 1;
6412
- order: 2;
6413
- box-shadow: inset var(--text-field-box-shadow);
6414
- transition: box-shadow 0.2s;
6415
- }
6416
- .tl-text-field__input:focus {
6417
- box-shadow: inset var(--text-field-box-shadow-focus);
6418
- }
6419
- .tl-text-field:hover .tl-text-field__input:not(:focus):not(:disabled) {
6420
- box-shadow: inset var(--text-field-box-shadow-hover);
6610
+ user-select: none;
6611
+ color: var(--slider-input-value);
6612
+ flex-shrink: 0;
6613
+ align-self: center;
6421
6614
  }
6422
- .tl-text-field--error .tl-text-field__input {
6423
- box-shadow: inset var(--text-field-box-shadow-error);
6615
+ :has(input[type=range]:disabled) .tl-slider__value {
6616
+ color: var(--slider-disabled-text);
6424
6617
  }
6425
- .tl-text-field--error .tl-text-field__input:focus {
6426
- box-shadow: inset var(--text-field-box-shadow-error-focus);
6618
+
6619
+ .tl-slider__input-wrapper {
6620
+ flex-shrink: 0;
6621
+ width: auto;
6622
+ height: auto;
6623
+ min-width: auto;
6624
+ margin-left: 0;
6625
+ align-self: center;
6427
6626
  }
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);
6627
+ .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 {
6628
+ width: 16px;
6629
+ height: 16px;
6630
+ right: 16px;
6631
+ top: 50%;
6632
+ transform: translateY(-50%);
6430
6633
  }
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);
6634
+
6635
+ .tl-slider__input-wrapper .tl-slider__input-field {
6636
+ width: var(--slider-input-width, 56px);
6637
+ padding: 12px;
6638
+ text-align: center;
6639
+ appearance: textfield;
6433
6640
  }
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);
6438
- cursor: not-allowed;
6439
- pointer-events: none;
6641
+ .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6642
+ width: 56px;
6440
6643
  }
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);
6644
+ .tl-slider__input-wrapper .tl-slider__input-field::-webkit-outer-spin-button, .tl-slider__input-wrapper .tl-slider__input-field::-webkit-inner-spin-button {
6645
+ appearance: none;
6646
+ margin: 0;
6443
6647
  }
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);
6648
+
6649
+ .tl-slider__input-wrapper:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-slider__input-field[readonly] {
6650
+ width: 74px;
6651
+ padding-right: 39px;
6446
6652
  }
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);
6653
+
6654
+ .tl-slider__value-tooltip {
6655
+ font-family: var(--detail-01-font-family);
6656
+ font-size: var(--detail-01-font-size);
6657
+ line-height: var(--detail-01-line-height);
6658
+ font-weight: var(--detail-01-font-weight);
6659
+ letter-spacing: var(--detail-01-letter-spacing);
6660
+ text-transform: var(--detail-01-text-transform);
6661
+ user-select: none;
6662
+ border-radius: 4px;
6663
+ padding: 8px 11px;
6664
+ position: absolute;
6665
+ left: 50%;
6666
+ transform: translateX(-50%);
6667
+ bottom: 100%;
6668
+ margin-bottom: 8px;
6669
+ background-color: var(--slider-value-tooltip-background);
6670
+ color: var(--slider-value-tooltip);
6671
+ display: none;
6672
+ white-space: nowrap;
6673
+ z-index: 10;
6449
6674
  }
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;
6675
+ .tl-slider__value-tooltip::after {
6676
+ content: "";
6677
+ position: absolute;
6678
+ left: 50%;
6679
+ transform: translateX(-50%);
6680
+ bottom: -6px;
6681
+ width: 0;
6682
+ height: 0;
6683
+ border-left: 6px solid transparent;
6684
+ border-right: 6px solid transparent;
6685
+ border-top: 6px solid var(--slider-value-tooltip-background);
6455
6686
  }
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;
6687
+ .tl-slider__thumb:hover .tl-slider__value-tooltip {
6688
+ display: block;
6458
6689
  }
6459
- .tl-text-field--lg .tl-text-field__input {
6460
- padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
6690
+ :has(input[type=range]:disabled) .tl-slider__value-tooltip {
6691
+ display: none;
6461
6692
  }
6462
- .tl-text-field--md .tl-text-field__input {
6463
- padding: var(--tds-spacing-element-16);
6693
+
6694
+ .tl-slider__thumb {
6695
+ position: absolute;
6696
+ z-index: 1;
6464
6697
  }
6465
- .tl-text-field--sm .tl-text-field__input {
6466
- padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
6698
+
6699
+ .tl-slider__thumb-inner {
6700
+ width: 20px;
6701
+ height: 20px;
6702
+ border-radius: 100%;
6703
+ background-color: var(--slider-thumb);
6704
+ position: absolute;
6705
+ top: 50%;
6706
+ left: 50%;
6707
+ transform: translate(-50%, -50%);
6708
+ cursor: pointer;
6709
+ overflow: visible;
6467
6710
  }
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;
6711
+ .tl-slider__thumb-inner::before {
6712
+ content: " ";
6713
+ display: none;
6714
+ width: 48px;
6715
+ height: 48px;
6716
+ background-color: var(--slider-thumb);
6717
+ position: absolute;
6718
+ border-radius: 100%;
6719
+ top: 50%;
6720
+ left: 50%;
6721
+ transform: translate(-50%, -50%);
6722
+ opacity: 0.17;
6471
6723
  }
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;
6724
+ .tl-slider__thumb-inner:hover::before {
6725
+ display: block;
6475
6726
  }
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;
6727
+ .tl-slider__thumb-inner--pressed {
6728
+ width: 24px;
6729
+ height: 24px;
6479
6730
  }
6480
- .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
6481
- padding-left: 44px;
6731
+ .tl-slider__thumb-inner--pressed::before {
6732
+ display: block;
6733
+ opacity: 0.35;
6482
6734
  }
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);
6735
+ .tl-slider--small .tl-slider__thumb-inner {
6736
+ width: 16px;
6737
+ height: 16px;
6485
6738
  }
6486
- .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
6487
- padding-right: 44px;
6739
+ .tl-slider--small .tl-slider__thumb-inner::before {
6740
+ width: 40px;
6741
+ height: 40px;
6488
6742
  }
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);
6743
+ .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
6744
+ width: 20px;
6745
+ height: 20px;
6491
6746
  }
6492
- .tl-text-field--label-inside .tl-text-field__input::placeholder {
6493
- color: transparent !important;
6747
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner {
6748
+ background-color: var(--slider-disabled);
6749
+ cursor: not-allowed;
6494
6750
  }
6495
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
6496
- color: var(--text-field-placeholder-disabled) !important;
6751
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner::before {
6752
+ display: none;
6497
6753
  }
6498
6754
 
6499
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
6500
- font-family: var(--detail-05-font-family);
6755
+ .tl-slider__value-dividers {
6756
+ pointer-events: none;
6757
+ position: absolute;
6758
+ display: flex;
6759
+ justify-content: space-between;
6760
+ width: 100%;
6761
+ top: 0;
6762
+ z-index: 0;
6763
+ }
6764
+
6765
+ .tl-slider__value-divider {
6766
+ position: relative;
6767
+ display: flex;
6768
+ flex-direction: column;
6769
+ align-items: center;
6770
+ height: 16px;
6771
+ }
6772
+
6773
+ .tl-slider__value-divider-line {
6774
+ position: absolute;
6775
+ width: 1px;
6776
+ height: 16px;
6777
+ background-color: var(--slider-divider);
6778
+ top: 0;
6779
+ left: 50%;
6780
+ transform: translate(-50%, -50%);
6781
+ }
6782
+ :has(input[type=range]:disabled) .tl-slider__value-divider-line {
6783
+ background-color: var(--slider-disabled);
6784
+ }
6785
+
6786
+ .tl-slider__value-divider-label {
6787
+ font-family: var(--detail-05-font-family);
6501
6788
  font-size: var(--detail-05-font-size);
6502
6789
  line-height: var(--detail-05-line-height);
6503
6790
  font-weight: var(--detail-05-font-weight);
6504
6791
  letter-spacing: var(--detail-05-letter-spacing);
6505
6792
  text-transform: var(--detail-05-text-transform);
6506
- display: block;
6507
- margin-bottom: 8px;
6508
- color: var(--text-field-label);
6793
+ position: absolute;
6794
+ bottom: 100%;
6795
+ left: 50%;
6796
+ transform: translateX(-50%);
6797
+ margin-bottom: 16px;
6798
+ width: 50px;
6799
+ text-align: center;
6800
+ white-space: nowrap;
6801
+ user-select: none;
6802
+ color: var(--slider-divider-values);
6509
6803
  }
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);
6804
+ :has(input[type=range]:disabled) .tl-slider__value-divider-label {
6805
+ color: var(--slider-disabled-text);
6806
+ }
6807
+
6808
+ .tl-slider__track-fill {
6809
+ background-color: var(--slider-track-fill);
6810
+ border-radius: 2px;
6811
+ height: 4px;
6517
6812
  position: absolute;
6518
- 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;
6813
+ left: 0;
6814
+ top: -1px;
6525
6815
  z-index: 1;
6526
6816
  }
6527
- .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
6528
- left: 44px;
6817
+ :has(input[type=range]:disabled) .tl-slider__track-fill {
6818
+ background-color: var(--slider-disabled);
6529
6819
  }
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);
6820
+
6821
+ .tl-slider__native-input {
6822
+ display: none;
6532
6823
  }
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;
6824
+
6825
+ /* Component variables */
6826
+ .tl-spinner {
6827
+ --tl-spinner-background: var(--component-spinner-color);
6828
+ --tl-spinner-background-inverted: var(--color-brand-neutral-white);
6829
+ --tl-spinner-speed: 1.8s;
6830
+ --tl-spinner-speed-lg: 2s;
6831
+ --tl-spinner-radius-xs: 8px;
6832
+ --tl-spinner-radius-sm: 12px;
6833
+ --tl-spinner-radius-md: 26px;
6834
+ --tl-spinner-radius-lg: 42px;
6835
+ --tl-spinner-stroke-width-xs: 3px;
6836
+ --tl-spinner-stroke-width-sm: 4px;
6837
+ --tl-spinner-stroke-width-md: 6px;
6838
+ --tl-spinner-stroke-width-lg: 8px;
6839
+ --tl-spinner-PI: 3.14159265358979;
6840
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
6841
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
6842
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6543
6843
  }
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;
6844
+
6845
+ .tl-spinner {
6846
+ box-sizing: border-box;
6546
6847
  }
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);
6848
+ .tl-spinner * {
6849
+ box-sizing: border-box;
6549
6850
  }
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;
6851
+ .tl-spinner {
6852
+ display: block;
6853
+ width: calc(var(--tl-spinner-radius) * 2);
6854
+ height: calc(var(--tl-spinner-radius) * 2);
6855
+ transform: scale(-1, 1) rotate(-90deg);
6553
6856
  }
6554
- .tl-text-field--label-inside:has(.tl-text-field__input:disabled) .tl-text-field__label {
6555
- color: var(--text-field-label-disabled);
6857
+ .tl-spinner--xs {
6858
+ --tl-spinner-radius: var(--tl-spinner-radius-xs);
6859
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-xs);
6860
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6556
6861
  }
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);
6862
+ .tl-spinner--sm {
6863
+ --tl-spinner-radius: var(--tl-spinner-radius-sm);
6864
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-sm);
6865
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6559
6866
  }
6560
-
6561
- .tl-text-field__bottom {
6562
- display: flex;
6563
- gap: 8px;
6564
- padding-top: 4px;
6867
+ .tl-spinner--md {
6868
+ --tl-spinner-radius: var(--tl-spinner-radius-md);
6869
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-md);
6870
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
6565
6871
  }
6566
-
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);
6575
- position: relative;
6872
+ .tl-spinner--lg {
6873
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
6874
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
6875
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6576
6876
  }
6577
- :has(.tl-text-field__input:disabled) .tl-text-field__helper {
6578
- color: var(--color-foreground-text-disabled);
6877
+ .tl-spinner--default {
6878
+ stroke: var(--tl-spinner-background);
6579
6879
  }
6580
- .tl-text-field--error .tl-text-field__helper {
6581
- padding-left: 24px;
6880
+ .tl-spinner--inverted {
6881
+ stroke: var(--tl-spinner-background-inverted);
6582
6882
  }
6583
- .tl-text-field--error .tl-text-field__helper::before {
6584
- content: "";
6585
- position: absolute;
6586
- left: 0;
6587
- top: 0;
6588
- width: 16px;
6589
- 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;
6883
+
6884
+ .tl-spinner__circle {
6885
+ cx: var(--tl-spinner-radius);
6886
+ cy: var(--tl-spinner-radius);
6887
+ r: calc(var(--tl-spinner-radius) - var(--tl-spinner-stroke-width) / 2);
6888
+ fill: none;
6889
+ --tl-spinner-stroke-dash: calc((2 * var(--tl-spinner-PI)) * var(--tl-spinner-radius));
6890
+ stroke-dasharray: var(--tl-spinner-stroke-dash);
6891
+ stroke-width: var(--tl-spinner-stroke-width);
6892
+ animation: tl-spinner-dash var(--tl-spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
6595
6893
  }
6596
- .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper {
6597
- padding-left: 0;
6894
+
6895
+ @keyframes tl-spinner-dash {
6896
+ from {
6897
+ stroke-dashoffset: calc(-1 * var(--tl-spinner-stroke-dash));
6898
+ }
6899
+ to {
6900
+ stroke-dashoffset: var(--tl-spinner-stroke-dash);
6901
+ }
6598
6902
  }
6599
- .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper::before {
6600
- display: none;
6903
+ .tl-stepper {
6904
+ --stepper-current-number-with-border: var(--color-foreground-border-strong);
6905
+ --stepper-icon-step-border-warning: var(--color-system-danger-default);
6906
+ --stepper-icon-step-border-success: var(--component-stepper-success);
6907
+ --stepper-icon-step-checkmark: var(--color-foreground-icon-inverse-strong);
6908
+ --stepper-label-text-upcoming: var(--color-foreground-text-disabled);
6909
+ --stepper-label-border-upcoming: var(--color-foreground-border-discrete);
6910
+ --stepper-divider-line: var(--color-foreground-icon-disabled);
6601
6911
  }
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);
6912
+
6913
+ .tl-stepper__step {
6914
+ position: relative;
6915
+ display: flex;
6916
+ justify-content: start;
6917
+ flex-direction: row;
6918
+ align-items: center;
6919
+ gap: 8px;
6604
6920
  }
6605
- .tl-text-field--error:has(.tl-text-field__input:disabled) .tl-text-field__helper::before {
6606
- background-color: var(--color-foreground-text-disabled);
6921
+ .tl-stepper--label-below .tl-stepper__step {
6922
+ flex-direction: column;
6607
6923
  }
6608
-
6609
- .tl-text-field__charcounter {
6924
+ .tl-stepper--lg .tl-stepper__step {
6925
+ font-family: var(--detail-01-font-family);
6926
+ font-size: var(--detail-01-font-size);
6927
+ line-height: var(--detail-01-line-height);
6928
+ font-weight: var(--detail-01-font-weight);
6929
+ letter-spacing: var(--detail-01-letter-spacing);
6930
+ text-transform: var(--detail-01-text-transform);
6931
+ padding: 0 20px;
6932
+ }
6933
+ .tl-stepper--sm .tl-stepper__step {
6610
6934
  font-family: var(--detail-05-font-family);
6611
6935
  font-size: var(--detail-05-font-size);
6612
6936
  line-height: var(--detail-05-line-height);
6613
6937
  font-weight: var(--detail-05-font-weight);
6614
6938
  letter-spacing: var(--detail-05-letter-spacing);
6615
6939
  text-transform: var(--detail-05-text-transform);
6616
- margin-left: auto;
6617
- color: var(--text-field-textcounter);
6940
+ padding: 0 20px;
6618
6941
  }
6619
- :has(.tl-text-field__input:disabled) .tl-text-field__charcounter {
6620
- color: var(--color-foreground-text-disabled);
6942
+ .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
6943
+ flex: 1 1 0;
6944
+ min-inline-size: 60px;
6621
6945
  }
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);
6946
+ .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
6947
+ flex: 0 0 auto;
6948
+ min-inline-size: auto;
6624
6949
  }
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);
6950
+ .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
6951
+ min-inline-size: 40px;
6627
6952
  }
6628
-
6629
- .tl-text-field__charcounter-divider {
6630
- color: var(--color-foreground-text-disabled);
6631
- }
6632
-
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;
6953
+ .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
6954
+ min-inline-size: 40px;
6646
6955
  }
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;
6956
+ .tl-stepper--horizontal.tl-stepper--sm.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
6957
+ min-inline-size: 48px;
6653
6958
  }
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));
6959
+ .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
6960
+ display: none;
6656
6961
  }
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);
6962
+ .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 {
6963
+ display: none;
6659
6964
  }
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);
6965
+ .tl-stepper--lg .tl-stepper__step::after {
6966
+ content: " ";
6967
+ position: absolute;
6968
+ background-color: var(--stepper-divider-line);
6662
6969
  }
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);
6970
+ .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
6971
+ height: 36px;
6972
+ width: 1px;
6973
+ top: 40px;
6974
+ left: 36px;
6665
6975
  }
6666
- :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon.tl-icon {
6667
- background-color: var(--text-field-affix-disabled);
6976
+ .tl-stepper--lg.tl-stepper--horizontal .tl-stepper__step::after {
6977
+ height: 1px;
6978
+ left: calc(50% + 15px + 8px);
6979
+ right: calc(-50% + 15px + 8px);
6980
+ top: 16px;
6668
6981
  }
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;
6982
+ .tl-stepper--lg.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
6983
+ height: 1px;
6984
+ top: 16px;
6985
+ width: 10px;
6986
+ left: auto;
6987
+ right: -10px;
6683
6988
  }
6684
- .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
6989
+ .tl-stepper--sm.tl-stepper--vertical .tl-stepper__step::after {
6990
+ content: " ";
6685
6991
  position: absolute;
6686
- right: 16px;
6687
- top: 50%;
6688
- transform: translateY(calc(-50% - 1px));
6689
- z-index: 1;
6690
- }
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));
6693
- }
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);
6992
+ background-color: var(--stepper-divider-line);
6993
+ height: 20px;
6994
+ width: 1px;
6995
+ top: 34px;
6996
+ left: 32px;
6696
6997
  }
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);
6998
+ .tl-stepper--sm.tl-stepper--horizontal .tl-stepper__step::after {
6999
+ content: " ";
7000
+ position: absolute;
7001
+ background-color: var(--stepper-divider-line);
7002
+ height: 1px;
7003
+ left: calc(50% + 12px + 8px);
7004
+ right: calc(-50% + 12px + 8px);
7005
+ top: 13px;
6699
7006
  }
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;
7007
+ .tl-stepper--sm.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7008
+ content: " ";
7009
+ position: absolute;
7010
+ background-color: var(--stepper-divider-line);
7011
+ height: 1px;
7012
+ top: 13px;
7013
+ width: 10px;
7014
+ left: auto;
7015
+ right: -10px;
6704
7016
  }
6705
7017
 
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;
7018
+ .tl-stepper__node {
6715
7019
  display: flex;
6716
7020
  align-items: center;
6717
- z-index: 1;
7021
+ justify-content: space-around;
7022
+ border-radius: 100px;
7023
+ border-width: 1px;
7024
+ border-style: solid;
7025
+ text-align: center;
6718
7026
  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
7027
  }
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);
7028
+ .tl-stepper--lg .tl-stepper__node {
7029
+ height: 30px;
7030
+ min-width: 30px;
7031
+ font-size: 14px;
6728
7032
  }
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);
7033
+ .tl-stepper--sm .tl-stepper__node {
7034
+ height: 24px;
7035
+ min-width: 24px;
6731
7036
  }
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);
7037
+ .tl-stepper__step--error .tl-stepper__node {
7038
+ border-color: var(--stepper-icon-step-border-warning);
7039
+ color: var(--stepper-icon-step-border-warning);
6736
7040
  }
6737
- :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon.tl-icon {
6738
- background-color: var(--text-field-affix-disabled);
7041
+ .tl-stepper__step--success .tl-stepper__node {
7042
+ background-color: var(--stepper-icon-step-border-success);
7043
+ border-color: var(--stepper-icon-step-border-success);
7044
+ color: var(--stepper-icon-step-checkmark);
6739
7045
  }
6740
-
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;
7046
+ .tl-stepper__step--current .tl-stepper__node {
7047
+ color: var(--stepper-current-number-with-border);
6752
7048
  }
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;
7049
+ .tl-stepper__step--upcoming .tl-stepper__node {
7050
+ border-color: var(--stepper-label-border-upcoming);
7051
+ color: var(--stepper-label-text-upcoming);
6756
7052
  }
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);
7053
+ .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
7054
+ justify-content: center;
6760
7055
  }
6761
-
6762
- .tl-slider {
6763
- box-sizing: border-box;
7056
+ .tl-stepper__step--success .tl-stepper__node::after, .tl-stepper__step--error .tl-stepper__node::after {
7057
+ content: "";
7058
+ display: block;
7059
+ width: 20px;
7060
+ height: 20px;
7061
+ mask-repeat: no-repeat;
7062
+ mask-position: center;
7063
+ mask-size: contain;
7064
+ background-color: currentcolor;
6764
7065
  }
6765
- .tl-slider * {
6766
- box-sizing: border-box;
7066
+ .tl-stepper__step--success .tl-stepper__node::after {
7067
+ mask-image: var(--icon-tick-svg);
6767
7068
  }
6768
- .tl-slider {
6769
- width: 100%;
7069
+ .tl-stepper__step--error .tl-stepper__node::after {
7070
+ mask-image: var(--icon-warning-svg);
6770
7071
  }
6771
- .tl-slider:has(input[type=range][readonly]):not(:has(input[type=range]:disabled)) {
6772
- pointer-events: none;
7072
+
7073
+ .tl-stepper--sm .tl-stepper__step--success .tl-stepper__node::after,
7074
+ .tl-stepper--sm .tl-stepper__step--error .tl-stepper__node::after {
7075
+ width: 16px;
7076
+ height: 16px;
6773
7077
  }
6774
7078
 
6775
- .tl-slider__label {
7079
+ .tl-stepper__label {
7080
+ text-align: center;
7081
+ }
7082
+ .tl-stepper--lg .tl-stepper__label {
7083
+ font-family: var(--detail-01-font-family);
7084
+ font-size: var(--detail-01-font-size);
7085
+ line-height: var(--detail-01-line-height);
7086
+ font-weight: var(--detail-01-font-weight);
7087
+ letter-spacing: var(--detail-01-letter-spacing);
7088
+ text-transform: var(--detail-01-text-transform);
7089
+ font-size: 14px;
7090
+ }
7091
+ .tl-stepper--sm .tl-stepper__label {
6776
7092
  font-family: var(--detail-05-font-family);
6777
7093
  font-size: var(--detail-05-font-size);
6778
7094
  line-height: var(--detail-05-line-height);
6779
7095
  font-weight: var(--detail-05-font-weight);
6780
7096
  letter-spacing: var(--detail-05-letter-spacing);
6781
7097
  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
7098
  }
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;
7099
+ .tl-stepper__step--upcoming .tl-stepper__label {
7100
+ color: var(--stepper-label-text-upcoming);
7101
+ opacity: var(--tds-stepper-label-text-opacity-upcoming);
6795
7102
  }
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;
6800
- }
6801
- .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6802
- margin-bottom: 2px;
6803
- margin-left: 0;
6804
- }
6805
- :has(input[type=range]:disabled) .tl-slider__label {
6806
- color: var(--slider-disabled-text);
6807
- }
6808
-
6809
- .tl-slider__track-wrapper {
6810
- position: relative;
6811
- display: flex;
6812
- align-items: center;
6813
- gap: 5px;
6814
- }
6815
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6816
- gap: 16px;
6817
- align-items: center;
6818
- height: 41px;
6819
- }
6820
-
6821
- .tl-slider__control-minus,
6822
- .tl-slider__control-plus {
6823
- flex-shrink: 0;
6824
- border: none;
6825
- }
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);
6833
- }
6834
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6835
- height: 2px;
6836
- align-self: center;
6837
- }
6838
- .tl-slider__track::after {
6839
- content: "";
6840
- 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;
6850
- }
6851
- .tl-slider__track:focus .tl-slider__thumb-inner {
6852
- width: 24px;
6853
- height: 24px;
6854
- }
6855
- .tl-slider__track:focus .tl-slider__thumb-inner::before {
6856
- display: block;
6857
- opacity: 0.08;
6858
- }
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;
6864
- }
6865
- .tl-slider__track:disabled {
6866
- cursor: not-allowed;
6867
- background-color: var(--slider-disabled);
6868
- }
6869
- .tl-slider__track:disabled::after {
6870
- cursor: not-allowed;
6871
- }
6872
-
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;
6884
- }
6885
- :has(input[type=range]:disabled) .tl-slider__value {
6886
- color: var(--slider-disabled-text);
6887
- }
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;
6896
- }
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%);
6903
- }
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;
6910
- }
6911
- .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6912
- width: 56px;
6913
- }
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;
6917
- }
6918
-
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;
6922
- }
6923
-
6924
- .tl-slider__value-tooltip {
6925
- font-family: var(--detail-01-font-family);
6926
- font-size: var(--detail-01-font-size);
6927
- line-height: var(--detail-01-line-height);
6928
- font-weight: var(--detail-01-font-weight);
6929
- letter-spacing: var(--detail-01-letter-spacing);
6930
- 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);
6956
- }
6957
- .tl-slider__thumb:hover .tl-slider__value-tooltip {
6958
- display: block;
6959
- }
6960
- :has(input[type=range]:disabled) .tl-slider__value-tooltip {
6961
- display: none;
6962
- }
6963
-
6964
- .tl-slider__thumb {
6965
- position: absolute;
6966
- z-index: 1;
6967
- }
6968
-
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;
6980
- }
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;
6993
- }
6994
- .tl-slider__thumb-inner:hover::before {
6995
- display: block;
6996
- }
6997
- .tl-slider__thumb-inner--pressed {
6998
- width: 24px;
6999
- height: 24px;
7000
- }
7001
- .tl-slider__thumb-inner--pressed::before {
7002
- display: block;
7003
- opacity: 0.35;
7004
- }
7005
- .tl-slider--small .tl-slider__thumb-inner {
7006
- width: 16px;
7007
- height: 16px;
7008
- }
7009
- .tl-slider--small .tl-slider__thumb-inner::before {
7010
- width: 40px;
7011
- height: 40px;
7012
- }
7013
- .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
7014
- width: 20px;
7015
- height: 20px;
7016
- }
7017
- :has(input[type=range]:disabled) .tl-slider__thumb-inner {
7018
- background-color: var(--slider-disabled);
7019
- cursor: not-allowed;
7020
- }
7021
- :has(input[type=range]:disabled) .tl-slider__thumb-inner::before {
7022
- display: none;
7023
- }
7024
-
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;
7033
- }
7034
-
7035
- .tl-slider__value-divider {
7036
- position: relative;
7037
- display: flex;
7038
- flex-direction: column;
7039
- align-items: center;
7040
- height: 16px;
7041
- }
7042
-
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%);
7051
- }
7052
- :has(input[type=range]:disabled) .tl-slider__value-divider-line {
7053
- background-color: var(--slider-disabled);
7054
- }
7055
-
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);
7073
- }
7074
- :has(input[type=range]:disabled) .tl-slider__value-divider-label {
7075
- color: var(--slider-disabled-text);
7076
- }
7077
-
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;
7086
- }
7087
- :has(input[type=range]:disabled) .tl-slider__track-fill {
7088
- background-color: var(--slider-disabled);
7089
- }
7090
-
7091
- .tl-slider__native-input {
7092
- display: none;
7093
- }
7094
-
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);
7113
- }
7114
-
7115
- .tl-spinner {
7116
- box-sizing: border-box;
7117
- }
7118
- .tl-spinner * {
7119
- box-sizing: border-box;
7120
- }
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);
7126
- }
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);
7131
- }
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);
7136
- }
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);
7141
- }
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);
7146
- }
7147
- .tl-spinner--default {
7148
- stroke: var(--tl-spinner-background);
7149
- }
7150
- .tl-spinner--inverted {
7151
- stroke: var(--tl-spinner-background-inverted);
7152
- }
7153
-
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;
7163
- }
7164
-
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;
7185
- display: flex;
7186
- justify-content: start;
7187
- flex-direction: row;
7188
- align-items: center;
7189
- gap: 8px;
7190
- }
7191
- .tl-stepper--label-below .tl-stepper__step {
7192
- flex-direction: column;
7193
- }
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;
7202
- }
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;
7211
- }
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;
7215
- }
7216
- .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
7217
- flex: 0 0 auto;
7218
- min-inline-size: auto;
7219
- }
7220
- .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7221
- min-inline-size: 40px;
7222
- }
7223
- .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7224
- min-inline-size: 40px;
7225
- }
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;
7228
- }
7229
- .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
7230
- display: none;
7231
- }
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;
7234
- }
7235
- .tl-stepper--lg .tl-stepper__step::after {
7236
- content: " ";
7237
- position: absolute;
7238
- background-color: var(--stepper-divider-line);
7239
- }
7240
- .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
7241
- height: 36px;
7242
- width: 1px;
7243
- top: 40px;
7244
- left: 36px;
7245
- }
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;
7251
- }
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;
7258
- }
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;
7267
- }
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;
7276
- }
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;
7286
- }
7287
-
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;
7302
- }
7303
- .tl-stepper--sm .tl-stepper__node {
7304
- height: 24px;
7305
- min-width: 24px;
7306
- }
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);
7310
- }
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);
7315
- }
7316
- .tl-stepper__step--current .tl-stepper__node {
7317
- color: var(--stepper-current-number-with-border);
7318
- }
7319
- .tl-stepper__step--upcoming .tl-stepper__node {
7320
- border-color: var(--stepper-label-border-upcoming);
7321
- color: var(--stepper-label-text-upcoming);
7322
- }
7323
- .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
7324
- justify-content: center;
7325
- }
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;
7335
- }
7336
- .tl-stepper__step--success .tl-stepper__node::after {
7337
- mask-image: var(--icon-tick-svg);
7338
- }
7339
- .tl-stepper__step--error .tl-stepper__node::after {
7340
- mask-image: var(--icon-warning-svg);
7341
- }
7342
-
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;
7347
- }
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);
7372
- }
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;
7103
+ .tl-stepper--hide-labels .tl-stepper__label {
7104
+ position: absolute;
7105
+ inline-size: 1px;
7106
+ block-size: 1px;
7107
+ margin: -1px;
7108
+ padding: 0;
7109
+ border: 0;
7110
+ overflow: hidden;
7111
+ clip: rect(0 0 0 0);
7112
+ clip-path: inset(50%);
7113
+ white-space: nowrap;
7384
7114
  }
7385
7115
 
7386
7116
  .tl-stepper {
@@ -7698,1034 +7428,1533 @@ body {
7698
7428
  transition: background-color 200ms ease;
7699
7429
  color: var(--table-text);
7700
7430
  }
7701
- .tl-table__row:hover:not(.tl-table__row--expanded) {
7431
+ .tl-table__row:hover:not(.tl-table__row--expanded) {
7432
+ background-color: var(--table-body-row-hover);
7433
+ border-bottom-color: var(--table-divider);
7434
+ }
7435
+ .tl-table__row--selected {
7436
+ background-color: var(--table-body-row-selected);
7437
+ }
7438
+ .tl-table__row--selected:hover {
7439
+ background-color: var(--table-body-row-selected-hover);
7440
+ }
7441
+ .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7442
+ cursor: pointer;
7443
+ }
7444
+ .tl-table__row--clickable:focus-visible {
7445
+ outline: 2px solid var(--table-header-button-focus);
7446
+ outline-offset: -2px;
7447
+ }
7448
+ .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7449
+ background-color: var(--table-zebra-mode);
7450
+ }
7451
+ .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7452
+ background-color: var(--table-zebra-mode);
7453
+ }
7454
+
7455
+ .tl-table__header-cell {
7456
+ display: table-cell;
7457
+ padding: 16px;
7458
+ background-color: var(--table-header);
7459
+ border-bottom: 1px solid var(--table-divider);
7460
+ font-family: var(--headline-07-font-family);
7461
+ font-size: var(--headline-07-font-size);
7462
+ line-height: var(--headline-07-line-height);
7463
+ font-weight: var(--headline-07-font-weight);
7464
+ letter-spacing: var(--headline-07-letter-spacing);
7465
+ text-transform: var(--headline-07-text-transform);
7466
+ color: var(--table-text);
7467
+ text-align: left;
7468
+ transition: background-color 200ms ease;
7469
+ min-width: 192px;
7470
+ }
7471
+ .tl-table__header-cell:hover:not(.tl-table__header-cell--checkbox):not(.tl-table__header-cell--expand) {
7472
+ background-color: var(--table-header-hover);
7473
+ }
7474
+ .tl-table__header-cell:first-of-type {
7475
+ border-top-left-radius: 4px;
7476
+ }
7477
+ .tl-table__header-cell:last-of-type {
7478
+ border-top-right-radius: 4px;
7479
+ }
7480
+ .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 {
7481
+ border-top-left-radius: 0;
7482
+ }
7483
+ .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 {
7484
+ border-top-right-radius: 0;
7485
+ }
7486
+ .tl-table__header-cell:has(.tl-table__header-input-wrapper), .tl-table--no-header-padding .tl-table__header-cell, .tl-table__header-cell--sortable {
7487
+ padding: 0;
7488
+ }
7489
+ .tl-table__header-cell--checkbox, .tl-table__header-cell--expand {
7490
+ min-width: 48px;
7491
+ width: 48px;
7492
+ padding: 0;
7493
+ text-align: center;
7494
+ background-color: var(--table-header);
7495
+ }
7496
+ .tl-table--compact .tl-table__header-cell {
7497
+ height: 32px;
7498
+ padding: 8px 16px;
7499
+ }
7500
+ .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) {
7501
+ padding: 0;
7502
+ }
7503
+ .tl-table--no-min-width .tl-table__header-cell {
7504
+ min-width: unset;
7505
+ }
7506
+ .tl-table--header-text-align-left .tl-table__header-cell {
7507
+ text-align: left;
7508
+ }
7509
+ .tl-table--header-text-align-start .tl-table__header-cell {
7510
+ text-align: start;
7511
+ }
7512
+ .tl-table--header-text-align-center .tl-table__header-cell {
7513
+ text-align: center;
7514
+ }
7515
+ .tl-table--header-text-align-right .tl-table__header-cell {
7516
+ text-align: right;
7517
+ }
7518
+ .tl-table--header-text-align-end .tl-table__header-cell {
7519
+ text-align: end;
7520
+ }
7521
+
7522
+ .tl-table__header-button {
7523
+ display: flex;
7524
+ align-items: center;
7525
+ gap: 8px;
7526
+ justify-content: start;
7527
+ flex-direction: row;
7528
+ width: 100%;
7529
+ height: 100%;
7530
+ padding: 16px;
7531
+ background-color: transparent;
7532
+ border: none;
7533
+ cursor: pointer;
7534
+ transition: background-color 200ms ease;
7535
+ font-family: var(--headline-07-font-family);
7536
+ font-size: var(--headline-07-font-size);
7537
+ line-height: var(--headline-07-line-height);
7538
+ font-weight: var(--headline-07-font-weight);
7539
+ letter-spacing: var(--headline-07-letter-spacing);
7540
+ text-transform: var(--headline-07-text-transform);
7541
+ color: var(--table-text);
7542
+ text-align: left;
7543
+ }
7544
+ .tl-table__header-button:focus-visible, .tl-table__header-button:focus, .tl-table__header-button:active {
7545
+ outline: 2px solid var(--table-header-button-focus);
7546
+ outline-offset: -2px;
7547
+ }
7548
+ .tl-table--compact .tl-table__header-button {
7549
+ padding: 0;
7550
+ }
7551
+
7552
+ .tl-table__header-button-text {
7553
+ color: var(--table-text);
7554
+ text-align: left;
7555
+ }
7556
+
7557
+ .tl-table__header-button-icon {
7558
+ flex: 0 0 16px;
7559
+ height: 16px;
7560
+ width: 16px;
7561
+ opacity: 0;
7562
+ transform-origin: center;
7563
+ transition: opacity 200ms ease-in, transform 200ms ease;
7564
+ color: var(--table-text);
7565
+ }
7566
+
7567
+ .tl-table__header-button:focus-visible .tl-table__header-button-icon,
7568
+ .tl-table__header-button:focus .tl-table__header-button-icon,
7569
+ .tl-table__header-button:active .tl-table__header-button-icon,
7570
+ .tl-table__header-button:hover .tl-table__header-button-icon {
7571
+ opacity: 1;
7572
+ }
7573
+
7574
+ .tl-table__header-cell--is-sorted {
7575
+ background-color: var(--table-header-button);
7576
+ }
7577
+
7578
+ .tl-table__header-cell--is-sorted:hover {
7579
+ background-color: var(--table-header-button-hover);
7580
+ }
7581
+
7582
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7583
+ opacity: 1;
7584
+ }
7585
+
7586
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7587
+ transform: rotate(180deg);
7588
+ }
7589
+
7590
+ .tl-table__body-cell {
7591
+ display: table-cell;
7592
+ padding: 16px;
7593
+ background-color: transparent;
7594
+ color: var(--table-text);
7595
+ font-family: var(--detail-02-font-family);
7596
+ font-size: var(--detail-02-font-size);
7597
+ line-height: var(--detail-02-line-height);
7598
+ font-weight: var(--detail-02-font-weight);
7599
+ letter-spacing: var(--detail-02-letter-spacing);
7600
+ text-transform: var(--detail-02-text-transform);
7601
+ transition: background-color 200ms ease;
7602
+ min-width: 192px;
7603
+ }
7604
+ .tl-table__body-cell:focus {
7605
+ background-color: var(--table-input-focus);
7606
+ }
7607
+ .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7608
+ background-color: var(--table-body-cell-hover);
7609
+ }
7610
+ .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7611
+ background-color: var(--table-body-row-selected);
7612
+ }
7613
+ .tl-table__body-cell--column-highlight {
7614
+ background-color: var(--table-body-cell-hover);
7615
+ }
7616
+ .tl-table__body-cell--checkbox, .tl-table__body-cell--expand {
7617
+ min-width: 48px;
7618
+ width: 48px;
7619
+ padding: 0;
7620
+ text-align: center;
7621
+ background-color: inherit;
7622
+ }
7623
+ .tl-table--compact .tl-table__body-cell {
7624
+ height: 32px;
7625
+ padding: 8px 16px;
7626
+ }
7627
+ .tl-table--no-min-width .tl-table__body-cell {
7628
+ min-width: unset;
7629
+ }
7630
+ .tl-table--vertical-dividers .tl-table__body-cell:not(:last-child):not(.tl-table__body-cell--expand) {
7631
+ border-right: 1px solid var(--table-divider);
7632
+ }
7633
+ .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7634
+ background-color: var(--table-zebra-mode);
7635
+ }
7636
+ .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7637
+ background-color: var(--table-zebra-mode);
7638
+ }
7639
+ .tl-table--cell-text-align-left .tl-table__body-cell {
7640
+ text-align: left;
7641
+ }
7642
+ .tl-table--cell-text-align-start .tl-table__body-cell {
7643
+ text-align: start;
7644
+ }
7645
+ .tl-table--cell-text-align-center .tl-table__body-cell {
7646
+ text-align: center;
7647
+ }
7648
+ .tl-table--cell-text-align-right .tl-table__body-cell {
7649
+ text-align: right;
7650
+ }
7651
+ .tl-table--cell-text-align-end .tl-table__body-cell {
7652
+ text-align: end;
7653
+ }
7654
+ .tl-table--no-padding .tl-table__body-cell {
7655
+ padding: 0;
7656
+ }
7657
+ .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7702
7658
  background-color: var(--table-body-row-hover);
7703
- border-bottom-color: var(--table-divider);
7704
7659
  }
7705
- .tl-table__row--selected {
7660
+ .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7661
+ background-color: var(--table-body-row-selected-hover);
7662
+ }
7663
+ .tl-table__row--expanded .tl-table__body-cell {
7706
7664
  background-color: var(--table-body-row-selected);
7707
7665
  }
7708
- .tl-table__row--selected:hover {
7709
- background-color: var(--table-body-row-selected-hover);
7666
+
7667
+ .tl-table__toolbar {
7668
+ box-sizing: border-box;
7710
7669
  }
7711
- .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7712
- cursor: pointer;
7670
+ .tl-table__toolbar * {
7671
+ box-sizing: border-box;
7713
7672
  }
7714
- .tl-table__row--clickable:focus-visible {
7715
- outline: 2px solid var(--table-header-button-focus);
7716
- outline-offset: -2px;
7673
+ .tl-table__toolbar {
7674
+ display: table-caption;
7675
+ position: relative;
7676
+ background-color: var(--table-toolbar);
7677
+ color: var(--table-text);
7678
+ padding: 0 var(--tds-spacing-element-16);
7679
+ height: 64px;
7680
+ border-top-left-radius: 4px;
7681
+ border-top-right-radius: 4px;
7717
7682
  }
7718
- .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7719
- background-color: var(--table-zebra-mode);
7683
+ .tl-table--compact .tl-table__toolbar {
7684
+ height: 56px;
7720
7685
  }
7721
- .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7722
- background-color: var(--table-zebra-mode);
7686
+
7687
+ .tl-table__upper-bar {
7688
+ width: 100%;
7689
+ height: 100%;
7690
+ display: flex;
7691
+ justify-content: space-between;
7723
7692
  }
7724
7693
 
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);
7694
+ .tl-table__actionbar-left {
7695
+ display: flex;
7696
+ align-items: center;
7697
+ }
7698
+
7699
+ .tl-table__title {
7730
7700
  font-family: var(--headline-07-font-family);
7731
7701
  font-size: var(--headline-07-font-size);
7732
7702
  line-height: var(--headline-07-line-height);
7733
7703
  font-weight: var(--headline-07-font-weight);
7734
7704
  letter-spacing: var(--headline-07-letter-spacing);
7735
7705
  text-transform: var(--headline-07-text-transform);
7736
- color: var(--table-text);
7706
+ display: flex;
7707
+ align-self: baseline;
7737
7708
  text-align: left;
7738
- transition: background-color 200ms ease;
7739
- min-width: 192px;
7709
+ letter-spacing: var(--tds-headline-07-ls);
7710
+ padding-top: var(--tds-spacing-element-16);
7711
+ margin-right: var(--tds-spacing-element-8);
7740
7712
  }
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);
7713
+
7714
+ .tl-table__actionbar-right {
7715
+ display: flex;
7716
+ align-self: center;
7717
+ column-gap: 8px;
7718
+ position: relative;
7743
7719
  }
7744
- .tl-table__header-cell:first-of-type {
7745
- border-top-left-radius: 4px;
7720
+
7721
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) {
7722
+ position: absolute;
7723
+ right: 0;
7724
+ top: 50%;
7725
+ transform: translateY(-50%);
7726
+ cursor: pointer;
7727
+ width: 40px;
7728
+ min-width: 40px;
7729
+ max-width: 40px;
7730
+ height: 40px;
7746
7731
  }
7747
- .tl-table__header-cell:last-of-type {
7748
- border-top-right-radius: 4px;
7732
+
7733
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
7734
+ display: none;
7749
7735
  }
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;
7736
+
7737
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible)::before {
7738
+ content: "";
7739
+ position: absolute;
7740
+ width: 40px;
7741
+ height: 40px;
7742
+ border-radius: 4px 4px 0 0;
7743
+ background-color: transparent;
7744
+ transition: background-color 250ms ease;
7745
+ right: 6px;
7746
+ top: 50%;
7747
+ transform: translateY(-50%);
7752
7748
  }
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;
7749
+
7750
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__suffix--icon {
7751
+ position: absolute;
7752
+ right: 16px;
7753
+ top: 50%;
7754
+ transform: translateY(calc(-50% - 1px));
7755
+ z-index: 1;
7756
+ pointer-events: none;
7755
7757
  }
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__actionbar-right .tl-text-field:not(.tl-text-field--input-visible):hover::before {
7760
+ background-color: var(--table-toolbar-searchbar-hover);
7758
7761
  }
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);
7762
+
7763
+ .tl-table__header-input-wrapper {
7764
+ position: relative;
7765
+ width: 100%;
7766
+ height: 100%;
7765
7767
  }
7766
- .tl-table--compact .tl-table__header-cell {
7768
+
7769
+ .tl-table__header-input-wrapper .tl-icon {
7770
+ color: var(--table-input-header-icon);
7771
+ position: absolute;
7772
+ left: 15px;
7773
+ top: 50%;
7774
+ transform: translateY(-50%);
7775
+ z-index: 1;
7776
+ pointer-events: none;
7777
+ }
7778
+
7779
+ .tl-table__header-input {
7780
+ box-sizing: border-box;
7781
+ font-family: var(--detail-02-font-family);
7782
+ font-size: var(--detail-02-font-size);
7783
+ line-height: var(--detail-02-line-height);
7784
+ font-weight: var(--detail-02-font-weight);
7785
+ letter-spacing: var(--detail-02-letter-spacing);
7786
+ text-transform: var(--detail-02-text-transform);
7787
+ color: var(--table-text);
7788
+ padding: 0 var(--tds-spacing-element-16);
7789
+ width: 100%;
7790
+ border-radius: 0;
7791
+ background-color: transparent;
7792
+ border: 0;
7793
+ border-bottom: 2px solid transparent;
7794
+ outline: none;
7795
+ }
7796
+ .tl-table--compact .tl-table__header-input {
7767
7797
  height: 32px;
7768
- padding: 8px 16px;
7769
7798
  }
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;
7799
+ .tl-table__header-input {
7800
+ padding-left: 35px;
7801
+ height: 48px;
7772
7802
  }
7773
- .tl-table--no-min-width .tl-table__header-cell {
7774
- min-width: unset;
7803
+ .tl-table__header-input::placeholder {
7804
+ color: var(--table-input-header-placeholder);
7775
7805
  }
7776
- .tl-table--header-text-align-left .tl-table__header-cell {
7777
- text-align: left;
7806
+ .tl-table__header-input:focus {
7807
+ background-color: var(--table-input-header-focus);
7808
+ border-bottom: 2px solid var(--color-foreground-border-accent-focus);
7778
7809
  }
7779
- .tl-table--header-text-align-start .tl-table__header-cell {
7780
- text-align: start;
7810
+
7811
+ .tl-table__body-cell .tl-text-field {
7812
+ height: 48px;
7813
+ min-width: auto;
7814
+ padding-bottom: 0;
7815
+ cursor: pointer;
7781
7816
  }
7782
- .tl-table--header-text-align-center .tl-table__header-cell {
7783
- text-align: center;
7817
+
7818
+ .tl-table--compact .tl-table__body-cell .tl-text-field {
7819
+ height: 32px;
7784
7820
  }
7785
- .tl-table--header-text-align-right .tl-table__header-cell {
7786
- text-align: right;
7821
+
7822
+ .tl-table__body-cell .tl-text-field .tl-text-field__input,
7823
+ .tl-table__body-cell .tl-text-field .tl-text-field__input:hover {
7824
+ box-shadow: 0 0 0 0 transparent;
7787
7825
  }
7788
- .tl-table--header-text-align-end .tl-table__header-cell {
7789
- text-align: end;
7826
+
7827
+ .tl-table__body-cell .tl-text-field .tl-text-field__input:focus {
7828
+ box-shadow: inset var(--text-field-box-shadow-focus);
7829
+ background-color: var(--table-input-focus);
7790
7830
  }
7791
7831
 
7792
- .tl-table__header-button {
7832
+ .tl-table--compact .tl-table__body-cell .tl-text-field .tl-text-field__input {
7833
+ height: 32px;
7834
+ }
7835
+
7836
+ .tl-table__body-cell .tl-text-field .tl-text-field__suffix--icon {
7837
+ display: none;
7838
+ }
7839
+
7840
+ .tl-table__body-cell .tl-text-field:hover .tl-text-field__suffix--icon,
7841
+ .tl-table__body-cell .tl-text-field:has(.tl-text-field__input:focus) .tl-text-field__suffix--icon {
7842
+ display: inline-block;
7843
+ }
7844
+
7845
+ .tl-table__body-cell .tl-text-field.tl-text-field--disabled .tl-text-field__suffix--icon {
7846
+ display: inline-block;
7847
+ }
7848
+
7849
+ .tl-table__body-cell--expand {
7850
+ position: relative;
7851
+ }
7852
+ .tl-table--compact .tl-table__body-cell--expand {
7853
+ padding: 0;
7854
+ }
7855
+ .tl-table__body-cell--expand:has(.tl-table__expand-input:focus), .tl-table__body-cell--expand:has(.tl-table__expand-input:focus-visible), .tl-table__body-cell--expand:has(.tl-table__expand-input:active) {
7856
+ outline: 2px solid var(--table-header-button-focus);
7857
+ box-shadow: 0 0 0 1px var(--color-brand-neutral-white);
7858
+ outline-offset: -1px;
7859
+ z-index: 1;
7860
+ }
7861
+
7862
+ .tl-table__expand-control-container {
7793
7863
  display: flex;
7864
+ justify-content: center;
7794
7865
  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;
7866
+ height: 46px;
7803
7867
  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;
7868
+ padding: 0 16px;
7869
+ position: relative;
7817
7870
  }
7818
- .tl-table--compact .tl-table__header-button {
7819
- padding: 0;
7871
+ .tl-table--compact .tl-table__expand-control-container {
7872
+ height: 30px;
7820
7873
  }
7821
7874
 
7822
- .tl-table__header-button-text {
7823
- color: var(--table-text);
7824
- text-align: left;
7875
+ .tl-table__expand-input {
7876
+ all: unset;
7877
+ top: 0;
7878
+ left: 0;
7879
+ width: 100%;
7880
+ height: 100%;
7881
+ position: absolute;
7882
+ cursor: pointer;
7825
7883
  }
7826
7884
 
7827
- .tl-table__header-button-icon {
7828
- flex: 0 0 16px;
7885
+ .tl-table__expand-icon {
7829
7886
  height: 16px;
7830
7887
  width: 16px;
7831
- opacity: 0;
7832
- transform-origin: center;
7833
- transition: opacity 200ms ease-in, transform 200ms ease;
7888
+ transition: transform 200ms ease;
7889
+ transform: rotate(0);
7890
+ display: flex;
7891
+ align-items: center;
7892
+ justify-content: center;
7834
7893
  color: var(--table-text);
7835
7894
  }
7836
7895
 
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);
7896
+ .tl-table__row--expanded {
7897
+ background-color: var(--table-body-row-selected);
7898
+ border-bottom: none;
7846
7899
  }
7847
7900
 
7848
- .tl-table__header-cell--is-sorted:hover {
7849
- background-color: var(--table-header-button-hover);
7901
+ .tl-table__row--expanded .tl-table__expand-icon {
7902
+ transform: rotate(180deg);
7850
7903
  }
7851
7904
 
7852
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7853
- opacity: 1;
7905
+ .tl-table__expand-row {
7906
+ display: none;
7907
+ transition: background-color 200ms ease;
7908
+ background-color: var(--table-body-row-selected);
7909
+ border-bottom: 1px solid var(--table-divider);
7854
7910
  }
7855
-
7856
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7857
- transform: rotate(180deg);
7911
+ .tl-table__expand-row--expanded {
7912
+ display: table-row;
7858
7913
  }
7859
7914
 
7860
- .tl-table__body-cell {
7861
- display: table-cell;
7862
- padding: 16px;
7863
- background-color: transparent;
7915
+ .tl-table__expand-row-cell {
7916
+ max-width: 1px;
7917
+ overflow: auto;
7918
+ padding: 16px 16px 16px 66px;
7864
7919
  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);
7920
+ background-color: var(--table-body-row-selected);
7876
7921
  }
7877
- .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7878
- background-color: var(--table-body-cell-hover);
7922
+ .tl-table__expand-row-cell::-webkit-scrollbar {
7923
+ height: var(--tl-scrollbar-height);
7879
7924
  }
7880
- .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7881
- background-color: var(--table-body-row-selected);
7925
+ .tl-table__expand-row-cell::-webkit-scrollbar-track {
7926
+ background: var(--tl-scrollbar-track-color);
7882
7927
  }
7883
- .tl-table__body-cell--column-highlight {
7884
- background-color: var(--table-body-cell-hover);
7928
+ .tl-table__expand-row-cell::-webkit-scrollbar-thumb {
7929
+ border-radius: 40px;
7930
+ background: var(--tl-scrollbar-thumb-color);
7931
+ border-width: var(--tl-scrollbar-thumb-border-width);
7932
+ border-style: solid;
7933
+ border-color: transparent;
7934
+ background-clip: padding-box;
7885
7935
  }
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;
7936
+ .tl-table__expand-row-cell::-webkit-scrollbar-thumb:hover {
7937
+ border-width: var(--tl-scrollbar-thumb-border-hover-width);
7892
7938
  }
7893
- .tl-table--compact .tl-table__body-cell {
7894
- height: 32px;
7895
- padding: 8px 16px;
7939
+ .tl-table__expand-row-cell::-webkit-scrollbar-button {
7940
+ height: 0;
7941
+ width: 0;
7896
7942
  }
7897
- .tl-table--no-min-width .tl-table__body-cell {
7898
- min-width: unset;
7943
+ @supports not selector(::-webkit-scrollbar) {
7944
+ .tl-table__expand-row-cell {
7945
+ scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7946
+ scrollbar-width: var(--tl-scrollbar-width-standard);
7947
+ }
7899
7948
  }
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);
7949
+ .tl-table--compact .tl-table__expand-row-cell {
7950
+ padding: 8px 16px 8px 66px;
7902
7951
  }
7903
- .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7904
- background-color: var(--table-zebra-mode);
7952
+ .tl-table__expand-row-cell--overflow-visible {
7953
+ overflow: visible;
7905
7954
  }
7906
- .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7907
- background-color: var(--table-zebra-mode);
7955
+ .tl-table__expand-row-cell--overflow-hidden {
7956
+ overflow: hidden;
7908
7957
  }
7909
- .tl-table--cell-text-align-left .tl-table__body-cell {
7910
- text-align: left;
7958
+
7959
+ .tl-table.tl-table--primary .tl-text-field__input {
7960
+ background-color: var(--component-table-cell);
7911
7961
  }
7912
- .tl-table--cell-text-align-start .tl-table__body-cell {
7913
- text-align: start;
7962
+ .tl-table.tl-table--secondary .tl-text-field__input {
7963
+ background-color: var(--component-table-secondary-cell);
7914
7964
  }
7915
- .tl-table--cell-text-align-center .tl-table__body-cell {
7916
- text-align: center;
7965
+
7966
+ .tl-table--compact .tl-table__header-cell--checkbox {
7967
+ padding-left: 16px;
7917
7968
  }
7918
- .tl-table--cell-text-align-right .tl-table__body-cell {
7919
- text-align: right;
7969
+
7970
+ .tl-table__header-cell--checkbox {
7971
+ padding: 16px;
7920
7972
  }
7921
- .tl-table--cell-text-align-end .tl-table__body-cell {
7922
- text-align: end;
7973
+
7974
+ .tl-table__body-cell--checkbox {
7975
+ padding: 16px;
7923
7976
  }
7924
- .tl-table--no-padding .tl-table__body-cell {
7925
- padding: 0;
7977
+
7978
+ /* tl-folder-tabs.scss (overlay buttons, no JS) */
7979
+ .tl-folder-tabs {
7980
+ --folder-tabs-scroll-button-surface: var(--color-background-surface-200);
7981
+ --folder-tabs-scroll-button-surface-hover: var(--color-background-surface-300);
7982
+ --folder-tabs-scroll-button-surface-active: var(--color-background-surface-400);
7983
+ --folder-tabs-scroll-button-text: var(--color-foreground-text-soft);
7926
7984
  }
7927
- .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7928
- background-color: var(--table-body-row-hover);
7985
+
7986
+ .tl-folder-tabs__tab {
7987
+ --folder-tab-surface: var(--color-background-surface-200);
7988
+ --folder-tab-surface-selected: var(--color-background-layer-01);
7989
+ --folder-tab-surface-hover: var(--color-background-surface-300);
7990
+ --folder-tab-border-selected: var(--color-foreground-border-accent-focus);
7991
+ --folder-tab-divider: var(--color-foreground-icon-discrete);
7992
+ --folder-tab-text: var(--color-foreground-text-soft);
7993
+ --folder-tab-text-disabled: var(--color-foreground-text-disabled);
7929
7994
  }
7930
- .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7931
- background-color: var(--table-body-row-selected-hover);
7995
+
7996
+ .tl-folder-tabs--primary .tl-folder-tabs__tab {
7997
+ --folder-tab-surface-selected: var(--color-background-layer-01);
7932
7998
  }
7933
- .tl-table__row--expanded .tl-table__body-cell {
7934
- background-color: var(--table-body-row-selected);
7999
+
8000
+ .tl-folder-tabs--secondary .tl-folder-tabs__tab {
8001
+ --folder-tab-surface-selected: var(--color-background-layer-02);
7935
8002
  }
7936
8003
 
7937
- .tl-table__toolbar {
8004
+ /* tl-folder-tabs.scss (overlay buttons, no JS) */
8005
+ .tl-folder-tabs__tab {
8006
+ all: unset;
8007
+ font-family: var(--headline-07-font-family);
8008
+ font-size: var(--headline-07-font-size);
8009
+ line-height: var(--headline-07-line-height);
8010
+ font-weight: var(--headline-07-font-weight);
8011
+ letter-spacing: var(--headline-07-letter-spacing);
8012
+ text-transform: var(--headline-07-text-transform);
7938
8013
  box-sizing: border-box;
8014
+ position: relative;
8015
+ display: inline-flex;
8016
+ align-items: center;
8017
+ min-inline-size: 142px;
8018
+ inline-size: auto;
8019
+ flex: 0 0 auto;
8020
+ white-space: nowrap;
8021
+ padding: 16px;
8022
+ text-align: left;
8023
+ cursor: pointer;
8024
+ border-left: 1px solid transparent;
8025
+ border-top: 2px solid var(--folder-tab-surface);
8026
+ background-color: var(--folder-tab-surface);
8027
+ color: var(--folder-tab-text);
7939
8028
  }
7940
- .tl-table__toolbar * {
7941
- box-sizing: border-box;
8029
+ .tl-folder-tabs__tab + .tl-folder-tabs__tab {
8030
+ border-left-color: var(--folder-tab-divider);
7942
8031
  }
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;
8032
+ .tl-folder-tabs__tab:focus-visible {
8033
+ outline: 2px solid currentcolor;
8034
+ outline-offset: -4px;
8035
+ box-shadow: none;
7952
8036
  }
7953
- .tl-table--compact .tl-table__toolbar {
7954
- height: 56px;
8037
+ .tl-folder-tabs__tab:hover:not(.tl-folder-tabs__tab--disabled):not(.tl-folder-tabs__tab--selected) {
8038
+ background-color: var(--folder-tab-surface-hover);
8039
+ border-top-color: var(--folder-tab-surface-hover);
8040
+ color: var(--folder-tab-text);
7955
8041
  }
7956
-
7957
- .tl-table__upper-bar {
7958
- width: 100%;
7959
- height: 100%;
7960
- display: flex;
7961
- justify-content: space-between;
8042
+ .tl-folder-tabs__tab--selected {
8043
+ background-color: var(--folder-tab-surface-selected);
8044
+ border-top-color: var(--folder-tab-border-selected);
8045
+ color: var(--folder-tab-text);
7962
8046
  }
7963
-
7964
- .tl-table__actionbar-left {
7965
- display: flex;
7966
- align-items: center;
8047
+ .tl-folder-tabs__tab--selected::after {
8048
+ content: "";
8049
+ position: absolute;
8050
+ top: 0;
8051
+ right: -1px;
8052
+ bottom: 0;
8053
+ width: 1px;
8054
+ background-color: var(--folder-tab-surface-selected);
8055
+ z-index: 1;
8056
+ }
8057
+ .tl-folder-tabs__tab--disabled {
8058
+ color: var(--folder-tab-text-disabled);
8059
+ cursor: not-allowed;
8060
+ user-select: none;
8061
+ }
8062
+ .tl-folder-tabs__tab--disabled:focus-visible {
8063
+ outline: none;
8064
+ box-shadow: none;
7967
8065
  }
7968
8066
 
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);
8067
+ .tl-folder-tabs {
8068
+ box-sizing: border-box;
7982
8069
  }
7983
-
7984
- .tl-table__actionbar-right {
8070
+ .tl-folder-tabs * {
8071
+ box-sizing: border-box;
8072
+ }
8073
+ .tl-folder-tabs {
7985
8074
  display: flex;
7986
- align-self: center;
7987
- column-gap: 8px;
8075
+ overflow-x: scroll;
8076
+ scrollbar-width: none;
7988
8077
  position: relative;
8078
+ outline: 0;
8079
+ }
8080
+ .tl-folder-tabs::-webkit-scrollbar {
8081
+ display: none;
7989
8082
  }
7990
8083
 
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%);
8084
+ /* Overlay buttons (optional in markup; visible via media query) */
8085
+ .tl-folder-tabs__scroll-button {
8086
+ background-color: var(--folder-tab-surface);
8087
+ color: var(--folder-tabs-scroll-button-text);
8088
+ min-width: 48px;
8089
+ border: 0;
8090
+ justify-content: center;
8091
+ align-items: center;
8092
+ position: sticky;
7996
8093
  cursor: pointer;
7997
- width: 40px;
7998
- min-width: 40px;
7999
- max-width: 40px;
8000
- height: 40px;
8001
8094
  }
8002
-
8003
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
8004
- display: none;
8095
+ .tl-folder-tabs__scroll-button:hover {
8096
+ background-color: var(--folder-tabs-scroll-button-surface-hover);
8097
+ }
8098
+ .tl-folder-tabs__scroll-button:active {
8099
+ background-color: var(--folder-tabs-scroll-button-surface-active);
8005
8100
  }
8006
8101
 
8007
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible)::before {
8008
- content: "";
8009
- position: absolute;
8010
- width: 40px;
8011
- height: 40px;
8012
- border-radius: 4px 4px 0 0;
8013
- background-color: transparent;
8014
- transition: background-color 250ms ease;
8015
- right: 6px;
8016
- top: 50%;
8017
- transform: translateY(-50%);
8102
+ /* left/right anchoring over the track */
8103
+ .tl-folder-tabs__scroll-button--left {
8104
+ left: 0;
8105
+ z-index: 1;
8018
8106
  }
8019
8107
 
8020
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__suffix--icon {
8021
- position: absolute;
8022
- right: 16px;
8023
- top: 50%;
8024
- transform: translateY(calc(-50% - 1px));
8108
+ .tl-folder-tabs__scroll-button--right {
8109
+ right: 0;
8025
8110
  z-index: 1;
8026
- pointer-events: none;
8027
8111
  }
8028
8112
 
8029
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible):hover::before {
8030
- background-color: var(--table-toolbar-searchbar-hover);
8113
+ .tl-folder-tabs__scroll-button svg {
8114
+ fill: var(--folder-tabs-scroll-button-text);
8031
8115
  }
8032
8116
 
8033
- .tl-table__header-input-wrapper {
8034
- position: relative;
8035
- width: 100%;
8036
- height: 100%;
8117
+ .tl-inline-tabs {
8118
+ /* Horizontal divider */
8119
+ --inline-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8120
+ /* Mode variant backgrounds */
8121
+ --inline-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8122
+ --inline-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8123
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8124
+ /* Scroll button */
8125
+ --inline-tabs-scroll-button-text: var(--color-foreground-icon-strong);
8126
+ --inline-tabs-scroll-button-background: var(--inline-tabs-tab-background);
8127
+ --inline-tabs-scroll-button-background-hover: var(--inline-tabs-tab-background);
8128
+ --inline-tabs-scroll-button-background-active: var(--inline-tabs-tab-background);
8129
+ }
8130
+ .tl-inline-tabs--primary {
8131
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8132
+ }
8133
+ .tl-inline-tabs--secondary {
8134
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-secondary);
8037
8135
  }
8038
8136
 
8039
- .tl-table__header-input-wrapper .tl-icon {
8040
- color: var(--table-input-header-icon);
8041
- position: absolute;
8042
- left: 15px;
8043
- top: 50%;
8044
- transform: translateY(-50%);
8045
- z-index: 1;
8046
- pointer-events: none;
8137
+ .traton .tl-inline-tabs {
8138
+ --inline-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8139
+ --inline-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8047
8140
  }
8048
8141
 
8049
- .tl-table__header-input {
8142
+ .tl-inline-tabs__tab {
8143
+ /* Tab */
8144
+ --inline-tabs-tab: var(--color-foreground-text-soft);
8145
+ --inline-tabs-tab-selected: var(--color-foreground-text-strong);
8146
+ --inline-tabs-tab-disabled: var(--color-foreground-text-disabled);
8147
+ --inline-tabs-tab-hover: var(--color-foreground-text-strong);
8148
+ --inline-tabs-tab-focus: var(--color-foreground-border-accent-focus);
8149
+ --inline-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8150
+ --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8151
+ }
8152
+
8153
+ .tl-inline-tabs__tab {
8154
+ all: unset;
8155
+ margin-right: 32px;
8050
8156
  box-sizing: border-box;
8051
- font-family: var(--detail-02-font-family);
8052
- font-size: var(--detail-02-font-size);
8053
- line-height: var(--detail-02-line-height);
8054
- font-weight: var(--detail-02-font-weight);
8055
- letter-spacing: var(--detail-02-letter-spacing);
8056
- text-transform: var(--detail-02-text-transform);
8057
- color: var(--table-text);
8058
- padding: 0 var(--tds-spacing-element-16);
8059
- width: 100%;
8060
- border-radius: 0;
8157
+ }
8158
+ .tl-inline-tabs__tab * {
8159
+ box-sizing: border-box;
8160
+ }
8161
+ .tl-inline-tabs__tab {
8162
+ font-family: var(--headline-07-font-family);
8163
+ font-size: var(--headline-07-font-size);
8164
+ line-height: var(--headline-07-line-height);
8165
+ font-weight: var(--headline-07-font-weight);
8166
+ letter-spacing: var(--headline-07-letter-spacing);
8167
+ text-transform: var(--headline-07-text-transform);
8168
+ color: var(--inline-tabs-tab);
8169
+ text-decoration: none;
8170
+ display: block;
8171
+ position: relative;
8172
+ transition: color 0.15s ease-in-out 0s;
8173
+ white-space: nowrap;
8061
8174
  background-color: transparent;
8062
8175
  border: 0;
8063
- border-bottom: 2px solid transparent;
8064
- outline: none;
8176
+ padding: 20px 4px;
8065
8177
  }
8066
- .tl-table--compact .tl-table__header-input {
8067
- height: 32px;
8178
+ .tl-inline-tabs__tab:focus-visible {
8179
+ outline: none;
8068
8180
  }
8069
- .tl-table__header-input {
8070
- padding-left: 35px;
8071
- height: 48px;
8181
+ .tl-inline-tabs__tab:focus-visible::before {
8182
+ content: "";
8183
+ position: absolute;
8184
+ inset: 18px 0;
8185
+ border-radius: 2px;
8186
+ box-shadow: 0 0 0 2px var(--inline-tabs-tab-focus) inset;
8187
+ z-index: 2;
8188
+ pointer-events: none;
8072
8189
  }
8073
- .tl-table__header-input::placeholder {
8074
- color: var(--table-input-header-placeholder);
8190
+ .tl-inline-tabs__tab::after {
8191
+ background-color: var(--inline-tabs-tab-indicator-hover);
8192
+ content: " ";
8193
+ position: absolute;
8194
+ bottom: 0;
8195
+ right: 0;
8196
+ left: 0;
8197
+ margin-left: auto;
8198
+ width: 0%;
8199
+ margin-right: auto;
8200
+ height: 2px;
8201
+ z-index: 1;
8202
+ transition: width 0.15s ease-in-out 0s;
8075
8203
  }
8076
- .tl-table__header-input:focus {
8077
- background-color: var(--table-input-header-focus);
8078
- border-bottom: 2px solid var(--color-foreground-border-accent-focus);
8204
+ .tl-inline-tabs__tab:not(.tl-inline-tabs__tab--selected)::after {
8205
+ width: 0%;
8079
8206
  }
8080
-
8081
- .tl-table__body-cell .tl-text-field {
8082
- height: 48px;
8083
- min-width: auto;
8084
- padding-bottom: 0;
8207
+ .tl-inline-tabs__tab:hover {
8085
8208
  cursor: pointer;
8209
+ color: var(--inline-tabs-tab-hover);
8086
8210
  }
8087
-
8088
- .tl-table--compact .tl-table__body-cell .tl-text-field {
8089
- height: 32px;
8090
- }
8091
-
8092
- .tl-table__body-cell .tl-text-field .tl-text-field__input,
8093
- .tl-table__body-cell .tl-text-field .tl-text-field__input:hover {
8094
- box-shadow: 0 0 0 0 transparent;
8211
+ .tl-inline-tabs__tab:hover::after {
8212
+ width: 100%;
8095
8213
  }
8096
-
8097
- .tl-table__body-cell .tl-text-field .tl-text-field__input:focus {
8098
- box-shadow: inset var(--text-field-box-shadow-focus);
8099
- background-color: var(--table-input-focus);
8214
+ .tl-inline-tabs__tab--selected {
8215
+ color: var(--inline-tabs-tab-selected);
8100
8216
  }
8101
-
8102
- .tl-table--compact .tl-table__body-cell .tl-text-field .tl-text-field__input {
8103
- height: 32px;
8217
+ .tl-inline-tabs__tab--selected::after {
8218
+ background-color: var(--inline-tabs-tab-indicator-active);
8219
+ width: 100%;
8104
8220
  }
8105
-
8106
- .tl-table__body-cell .tl-text-field .tl-text-field__suffix--icon {
8107
- display: none;
8221
+ .tl-inline-tabs__tab--disabled {
8222
+ color: var(--inline-tabs-tab-disabled);
8223
+ pointer-events: none;
8224
+ cursor: not-allowed;
8108
8225
  }
8109
-
8110
- .tl-table__body-cell .tl-text-field:hover .tl-text-field__suffix--icon,
8111
- .tl-table__body-cell .tl-text-field:has(.tl-text-field__input:focus) .tl-text-field__suffix--icon {
8112
- display: inline-block;
8226
+ .tl-inline-tabs__tab--disabled::after {
8227
+ content: none;
8113
8228
  }
8114
-
8115
- .tl-table__body-cell .tl-text-field.tl-text-field--disabled .tl-text-field__suffix--icon {
8116
- display: inline-block;
8229
+ .tl-inline-tabs__tab--disabled:focus-visible::before {
8230
+ box-shadow: none;
8117
8231
  }
8118
8232
 
8119
- .tl-table__body-cell--expand {
8120
- position: relative;
8121
- }
8122
- .tl-table--compact .tl-table__body-cell--expand {
8123
- padding: 0;
8233
+ .tl-inline-tabs {
8234
+ box-sizing: border-box;
8124
8235
  }
8125
- .tl-table__body-cell--expand:has(.tl-table__expand-input:focus), .tl-table__body-cell--expand:has(.tl-table__expand-input:focus-visible), .tl-table__body-cell--expand:has(.tl-table__expand-input:active) {
8126
- outline: 2px solid var(--table-header-button-focus);
8127
- box-shadow: 0 0 0 1px var(--color-brand-neutral-white);
8128
- outline-offset: -1px;
8129
- z-index: 1;
8236
+ .tl-inline-tabs * {
8237
+ box-sizing: border-box;
8130
8238
  }
8131
-
8132
- .tl-table__expand-control-container {
8239
+ .tl-inline-tabs {
8133
8240
  display: flex;
8134
- justify-content: center;
8135
- align-items: center;
8136
- height: 46px;
8137
- cursor: pointer;
8138
- padding: 0 16px;
8241
+ flex-wrap: nowrap;
8242
+ white-space: nowrap;
8243
+ width: 100%;
8244
+ overflow-x: scroll;
8245
+ scrollbar-width: none;
8246
+ gap: 16px;
8139
8247
  position: relative;
8248
+ background-color: var(--inline-tabs-tab-background);
8140
8249
  }
8141
- .tl-table--compact .tl-table__expand-control-container {
8142
- height: 30px;
8250
+ .tl-inline-tabs::-webkit-scrollbar {
8251
+ display: none;
8143
8252
  }
8144
-
8145
- .tl-table__expand-input {
8146
- all: unset;
8147
- top: 0;
8253
+ .tl-inline-tabs::after {
8254
+ border-bottom: 1px solid var(--inline-tabs-horizontal-divider);
8255
+ content: " ";
8256
+ display: block;
8148
8257
  left: 0;
8149
- width: 100%;
8150
- height: 100%;
8258
+ right: 0;
8259
+ bottom: 0;
8151
8260
  position: absolute;
8152
- cursor: pointer;
8153
8261
  }
8154
8262
 
8155
- .tl-table__expand-icon {
8156
- height: 16px;
8157
- width: 16px;
8158
- transition: transform 200ms ease;
8159
- transform: rotate(0);
8160
- display: flex;
8161
- align-items: center;
8263
+ .tl-inline-tabs__scroll-button {
8264
+ background-color: transparent;
8265
+ color: var(--inline-tabs-scroll-button-text);
8266
+ cursor: pointer;
8267
+ min-width: 48px;
8268
+ border: 0;
8269
+ display: block;
8162
8270
  justify-content: center;
8163
- color: var(--table-text);
8271
+ align-items: center;
8272
+ opacity: 1;
8273
+ position: sticky;
8164
8274
  }
8165
8275
 
8166
- .tl-table__row--expanded {
8167
- background-color: var(--table-body-row-selected);
8168
- border-bottom: none;
8276
+ .tl-inline-tabs__scroll-button--right {
8277
+ right: 0;
8278
+ z-index: 1;
8169
8279
  }
8170
8280
 
8171
- .tl-table__row--expanded .tl-table__expand-icon {
8172
- transform: rotate(180deg);
8281
+ .tl-inline-tabs__scroll-button--left {
8282
+ left: 0;
8283
+ z-index: 1;
8173
8284
  }
8174
8285
 
8175
- .tl-table__expand-row {
8176
- display: none;
8177
- transition: background-color 200ms ease;
8178
- background-color: var(--table-body-row-selected);
8179
- border-bottom: 1px solid var(--table-divider);
8180
- }
8181
- .tl-table__expand-row--expanded {
8182
- display: table-row;
8286
+ .tl-inline-tabs__scroll-button svg {
8287
+ fill: var(--inline-tabs-scroll-button-text);
8183
8288
  }
8184
8289
 
8185
- .tl-table__expand-row-cell {
8186
- max-width: 1px;
8187
- overflow: auto;
8188
- padding: 16px 16px 16px 66px;
8189
- color: var(--table-text);
8190
- background-color: var(--table-body-row-selected);
8290
+ .tl-navigation-tabs__tab {
8291
+ /* tds-navigation-tab variables */
8292
+ --navigation-tabs-tab: var(--color-foreground-text-soft);
8293
+ --navigation-tabs-tab-selected: var(--color-foreground-text-strong);
8294
+ --navigation-tabs-tab-hover: var(--color-foreground-text-strong);
8295
+ --navigation-tabs-tab-focus: var(--color-foreground-text-strong);
8296
+ --navigation-tabs-tab-disabled: var(--color-foreground-text-disabled);
8297
+ --navigation-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8298
+ --navigation-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8191
8299
  }
8192
- .tl-table__expand-row-cell::-webkit-scrollbar {
8193
- height: var(--tl-scrollbar-height);
8300
+
8301
+ .tl-navigation-tabs {
8302
+ /* tds-navigation-tabs variables */
8303
+ --navigation-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8304
+ --navigation-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8305
+ --navigation-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8306
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8307
+ --navigation-tabs-scroll-button-icon: var(--color-foreground-icon-strong);
8308
+ --navigation-tabs-scroll-button-background: var(--navigation-tabs-tab-background);
8309
+ --navigation-tabs-scroll-button-background-hover: var(--navigation-tabs-tab-background);
8310
+ --navigation-tabs-scroll-button-background-active: var(--navigation-tabs-tab-background);
8194
8311
  }
8195
- .tl-table__expand-row-cell::-webkit-scrollbar-track {
8196
- background: var(--tl-scrollbar-track-color);
8312
+ .tl-navigation-tabs--primary {
8313
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8197
8314
  }
8198
- .tl-table__expand-row-cell::-webkit-scrollbar-thumb {
8199
- border-radius: 40px;
8200
- background: var(--tl-scrollbar-thumb-color);
8201
- border-width: var(--tl-scrollbar-thumb-border-width);
8202
- border-style: solid;
8203
- border-color: transparent;
8204
- background-clip: padding-box;
8315
+ .tl-navigation-tabs--secondary {
8316
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-secondary);
8205
8317
  }
8206
- .tl-table__expand-row-cell::-webkit-scrollbar-thumb:hover {
8207
- border-width: var(--tl-scrollbar-thumb-border-hover-width);
8318
+
8319
+ .traton .tl-navigation-tabs {
8320
+ --navigation-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8321
+ --navigation-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8208
8322
  }
8209
- .tl-table__expand-row-cell::-webkit-scrollbar-button {
8210
- height: 0;
8211
- width: 0;
8323
+
8324
+ .tl-navigation-tabs__tab {
8325
+ all: unset;
8326
+ margin-right: 32px;
8327
+ box-sizing: border-box;
8212
8328
  }
8213
- @supports not selector(::-webkit-scrollbar) {
8214
- .tl-table__expand-row-cell {
8215
- scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
8216
- scrollbar-width: var(--tl-scrollbar-width-standard);
8217
- }
8329
+ .tl-navigation-tabs__tab * {
8330
+ box-sizing: border-box;
8218
8331
  }
8219
- .tl-table--compact .tl-table__expand-row-cell {
8220
- padding: 8px 16px 8px 66px;
8332
+ .tl-navigation-tabs__tab {
8333
+ font-family: var(--headline-07-font-family);
8334
+ font-size: var(--headline-07-font-size);
8335
+ line-height: var(--headline-07-line-height);
8336
+ font-weight: var(--headline-07-font-weight);
8337
+ letter-spacing: var(--headline-07-letter-spacing);
8338
+ text-transform: var(--headline-07-text-transform);
8339
+ color: var(--navigation-tabs-tab);
8340
+ text-decoration: none;
8341
+ display: block;
8342
+ position: relative;
8343
+ transition: color 0.15s ease-in-out 0s;
8344
+ white-space: nowrap;
8345
+ background-color: transparent;
8346
+ border: 0;
8347
+ padding: 26px 4px;
8221
8348
  }
8222
- .tl-table__expand-row-cell--overflow-visible {
8223
- overflow: visible;
8349
+ .tl-navigation-tabs__tab:focus-visible {
8350
+ outline: none;
8224
8351
  }
8225
- .tl-table__expand-row-cell--overflow-hidden {
8226
- overflow: hidden;
8352
+ .tl-navigation-tabs__tab:focus-visible::before {
8353
+ content: "";
8354
+ position: absolute;
8355
+ inset: 18px 0;
8356
+ border-radius: 2px;
8357
+ box-shadow: 0 0 0 2px var(--navigation-tabs-tab-focus) inset;
8358
+ z-index: 2;
8359
+ pointer-events: none;
8227
8360
  }
8228
-
8229
- .tl-table.tl-table--primary .tl-text-field__input {
8230
- background-color: var(--component-table-cell);
8361
+ .tl-navigation-tabs__tab::after {
8362
+ background-color: var(--navigation-tabs-tab-indicator-hover);
8363
+ content: " ";
8364
+ position: absolute;
8365
+ bottom: 0;
8366
+ right: 0;
8367
+ left: 0;
8368
+ margin-left: auto;
8369
+ width: 0%;
8370
+ margin-right: auto;
8371
+ height: 2px;
8372
+ z-index: 1;
8373
+ transition: width 0.15s ease-in-out 0s;
8231
8374
  }
8232
- .tl-table.tl-table--secondary .tl-text-field__input {
8233
- background-color: var(--component-table-secondary-cell);
8375
+ .tl-navigation-tabs__tab:not(.tl-navigation-tabs__tab--selected)::after {
8376
+ width: 0%;
8234
8377
  }
8235
-
8236
- .tl-table--compact .tl-table__header-cell--checkbox {
8237
- padding-left: 16px;
8378
+ .tl-navigation-tabs__tab:hover {
8379
+ cursor: pointer;
8380
+ color: var(--navigation-tabs-tab-hover);
8238
8381
  }
8239
-
8240
- .tl-table__header-cell--checkbox {
8241
- padding: 16px;
8382
+ .tl-navigation-tabs__tab:hover::after {
8383
+ width: 100%;
8242
8384
  }
8243
-
8244
- .tl-table__body-cell--checkbox {
8245
- padding: 16px;
8385
+ .tl-navigation-tabs__tab--selected {
8386
+ color: var(--navigation-tabs-tab-selected);
8246
8387
  }
8247
-
8248
- /* tl-folder-tabs.scss (overlay buttons, no JS) */
8249
- .tl-folder-tabs {
8250
- --folder-tabs-scroll-button-surface: var(--color-background-surface-200);
8251
- --folder-tabs-scroll-button-surface-hover: var(--color-background-surface-300);
8252
- --folder-tabs-scroll-button-surface-active: var(--color-background-surface-400);
8253
- --folder-tabs-scroll-button-text: var(--color-foreground-text-soft);
8388
+ .tl-navigation-tabs__tab--selected::after {
8389
+ background-color: var(--navigation-tabs-tab-indicator-active);
8390
+ width: 100%;
8254
8391
  }
8255
-
8256
- .tl-folder-tabs__tab {
8257
- --folder-tab-surface: var(--color-background-surface-200);
8258
- --folder-tab-surface-selected: var(--color-background-layer-01);
8259
- --folder-tab-surface-hover: var(--color-background-surface-300);
8260
- --folder-tab-border-selected: var(--color-foreground-border-accent-focus);
8261
- --folder-tab-divider: var(--color-foreground-icon-discrete);
8262
- --folder-tab-text: var(--color-foreground-text-soft);
8263
- --folder-tab-text-disabled: var(--color-foreground-text-disabled);
8392
+ .tl-navigation-tabs__tab--disabled {
8393
+ color: var(--navigation-tabs-tab-disabled);
8394
+ pointer-events: none;
8395
+ cursor: not-allowed;
8264
8396
  }
8265
-
8266
- .tl-folder-tabs--primary .tl-folder-tabs__tab {
8267
- --folder-tab-surface-selected: var(--color-background-layer-01);
8397
+ .tl-navigation-tabs__tab--disabled::after {
8398
+ content: none;
8268
8399
  }
8269
-
8270
- .tl-folder-tabs--secondary .tl-folder-tabs__tab {
8271
- --folder-tab-surface-selected: var(--color-background-layer-02);
8400
+ .tl-navigation-tabs__tab--disabled:focus-visible::before {
8401
+ box-shadow: none;
8272
8402
  }
8273
8403
 
8274
- .tl-folder-tabs {
8404
+ .tl-navigation-tabs {
8275
8405
  box-sizing: border-box;
8276
8406
  }
8277
- .tl-folder-tabs * {
8407
+ .tl-navigation-tabs * {
8278
8408
  box-sizing: border-box;
8279
8409
  }
8280
- .tl-folder-tabs {
8410
+ .tl-navigation-tabs {
8411
+ background-color: var(--navigation-tabs-tab-background);
8281
8412
  display: flex;
8413
+ flex-wrap: nowrap;
8414
+ white-space: nowrap;
8415
+ width: 100%;
8282
8416
  overflow-x: scroll;
8283
8417
  scrollbar-width: none;
8418
+ gap: 16px;
8284
8419
  position: relative;
8285
- outline: 0;
8286
8420
  }
8287
- .tl-folder-tabs::-webkit-scrollbar {
8421
+ .tl-navigation-tabs::-webkit-scrollbar {
8288
8422
  display: none;
8289
8423
  }
8424
+ .tl-navigation-tabs::after {
8425
+ border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8426
+ content: " ";
8427
+ display: block;
8428
+ left: 0;
8429
+ right: 0;
8430
+ bottom: 0;
8431
+ position: absolute;
8432
+ }
8290
8433
 
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);
8434
+ .tl-navigation-tabs__scroll-button {
8435
+ background-color: transparent;
8436
+ color: var(--navigation-tabs-scroll-button-icon);
8437
+ cursor: pointer;
8295
8438
  min-width: 48px;
8296
8439
  border: 0;
8440
+ display: block;
8297
8441
  justify-content: center;
8298
8442
  align-items: center;
8443
+ opacity: 1;
8299
8444
  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
8445
  }
8308
8446
 
8309
- /* left/right anchoring over the track */
8310
- .tl-folder-tabs__scroll-button--left {
8311
- left: 0;
8447
+ .tl-navigation-tabs__scroll-button--right {
8448
+ right: 0;
8312
8449
  z-index: 1;
8313
8450
  }
8314
8451
 
8315
- .tl-folder-tabs__scroll-button--right {
8316
- right: 0;
8452
+ .tl-navigation-tabs__scroll-button--left {
8453
+ left: 0;
8317
8454
  z-index: 1;
8318
8455
  }
8319
8456
 
8320
- .tl-folder-tabs__scroll-button svg {
8321
- fill: var(--folder-tabs-scroll-button-text);
8457
+ .tl-navigation-tabs__scroll-button svg {
8458
+ fill: var(--navigation-tabs-scroll-button-color);
8322
8459
  }
8323
8460
 
8324
- /* tl-folder-tabs.scss (overlay buttons, no JS) */
8325
- .tl-folder-tabs__tab {
8326
- all: unset;
8327
- font-family: var(--headline-07-font-family);
8328
- font-size: var(--headline-07-font-size);
8329
- line-height: var(--headline-07-line-height);
8330
- font-weight: var(--headline-07-font-weight);
8331
- letter-spacing: var(--headline-07-letter-spacing);
8332
- text-transform: var(--headline-07-text-transform);
8333
- box-sizing: border-box;
8334
- position: relative;
8335
- display: inline-flex;
8336
- align-items: center;
8337
- min-inline-size: 142px;
8338
- inline-size: auto;
8339
- flex: 0 0 auto;
8340
- white-space: nowrap;
8341
- padding: 16px;
8342
- text-align: left;
8343
- cursor: pointer;
8344
- border-left: 1px solid transparent;
8345
- border-top: 2px solid var(--folder-tab-surface);
8346
- background-color: var(--folder-tab-surface);
8347
- color: var(--folder-tab-text);
8461
+ .tl-text-field {
8462
+ --text-field-background: var(--color-background-layer-01);
8463
+ --text-field-text: var(--color-foreground-text-strong);
8464
+ --text-field-placeholder: var(--color-foreground-text-subtle);
8465
+ --text-field-affix: var(--color-foreground-text-defined);
8466
+ --text-field-label: var(--color-foreground-text-strong);
8467
+ --text-field-label-inside: var(--color-foreground-text-strong);
8468
+ --text-field-label-inside-left: 16px;
8469
+ --text-field-affix-width-icon: 35px;
8470
+ --text-field-affix-width-text: 8px;
8471
+ --text-field-border-bottom-readonly: var(--color-foreground-border-strong);
8472
+ --text-field-helper: var(--color-foreground-text-defined);
8473
+ --text-field-error: var(--color-system-danger-default);
8474
+ --text-field-affix-error: var(--color-foreground-text-defined);
8475
+ --text-field-background-disabled: var(--color-background-layer-01);
8476
+ --text-field-text-disabled: var(--color-foreground-text-disabled);
8477
+ --text-field-placeholder-disabled: var(--color-foreground-text-disabled);
8478
+ --text-field-label-disabled: var(--color-foreground-text-disabled);
8479
+ --text-field-affix-disabled: var(--color-foreground-text-disabled);
8480
+ --text-field-textcounter: var(--color-foreground-text-defined);
8348
8481
  }
8349
- .tl-folder-tabs__tab + .tl-folder-tabs__tab {
8350
- border-left-color: var(--folder-tab-divider);
8482
+ .tl-text-field--primary {
8483
+ --text-field-background: var(--color-background-layer-01);
8484
+ --text-field-background-disabled: var(--color-background-layer-01);
8351
8485
  }
8352
- .tl-folder-tabs__tab:focus-visible {
8353
- outline: 2px solid currentcolor;
8354
- outline-offset: -4px;
8355
- box-shadow: none;
8486
+ .tl-text-field--secondary {
8487
+ --text-field-background: var(--color-background-layer-02);
8488
+ --text-field-background-disabled: var(--color-background-layer-02);
8356
8489
  }
8357
- .tl-folder-tabs__tab:hover:not(.tl-folder-tabs__tab--disabled):not(.tl-folder-tabs__tab--selected) {
8358
- background-color: var(--folder-tab-surface-hover);
8359
- border-top-color: var(--folder-tab-surface-hover);
8360
- color: var(--folder-tab-text);
8490
+
8491
+ .tl-text-field,
8492
+ .scania .tl-text-field {
8493
+ --text-field-border-radius: 4px 4px 0 0;
8494
+ --text-field-box-shadow: 0 -1px 0 0 var(--color-foreground-border-soft);
8495
+ --text-field-box-shadow-hover: 0 -1px 0 0 var(--color-foreground-border-strong);
8496
+ --text-field-box-shadow-focus: 0 -2px 0 0 var(--color-foreground-border-accent-focus);
8497
+ --text-field-box-shadow-error: 0 -1px 0 0 var(--color-system-danger-default);
8498
+ --text-field-box-shadow-error-hover: 0 -1px 0 0 var(--color-system-danger-default);
8499
+ --text-field-box-shadow-error-focus: 0 -2px 0 0 var(--color-system-danger-default);
8500
+ --text-field-box-shadow-success: 0 -1px 0 0 var(--color-foreground-border-strong);
8501
+ --text-field-bar-focus: var(--color-foreground-border-accent-focus);
8502
+ --text-field-bar-error: var(--color-system-danger-default);
8503
+ --text-field-focus-outline: none;
8504
+ --text-field-focus-outline-error: none;
8505
+ --text-field-focus-outline-offset: 0;
8361
8506
  }
8362
- .tl-folder-tabs__tab--selected {
8363
- background-color: var(--folder-tab-surface-selected);
8364
- border-top-color: var(--folder-tab-border-selected);
8365
- color: var(--folder-tab-text);
8507
+
8508
+ .traton .tl-text-field {
8509
+ --text-field-border-radius: 4px 4px 4px 4px;
8510
+ --text-field-box-shadow: 0 0 0 1px var(--color-foreground-border-soft);
8511
+ --text-field-box-shadow-hover: 0 0 0 1px var(--color-foreground-border-strong);
8512
+ --text-field-box-shadow-focus: 0 0 0 2px var(--color-foreground-border-accent-focus);
8513
+ --text-field-box-shadow-success: 0 0 0 1px var(--color-foreground-border-strong);
8514
+ --text-field-box-shadow-error: 0 0 0 1px var(--color-system-danger-default);
8515
+ --text-field-box-shadow-error-hover: 0 0 0 1px var(--color-system-danger-default);
8516
+ --text-field-box-shadow-error-focus: 0 0 0 2px var(--color-system-danger-default);
8517
+ --text-field-focus-outline: 2px solid var(--color-foreground-border-accent-focus);
8518
+ --text-field-focus-outline-error: 2px solid var(--color-system-danger-default);
8519
+ --text-field-focus-outline-offset: 0;
8520
+ --text-field-bar-focus: transparent;
8521
+ --text-field-bar-error: transparent;
8366
8522
  }
8367
- .tl-folder-tabs__tab--selected::after {
8523
+
8524
+ .tl-text-field {
8525
+ display: block;
8526
+ position: relative;
8527
+ width: 100%;
8528
+ min-width: 208px;
8529
+ border-radius: var(--text-field-border-radius);
8530
+ box-sizing: border-box;
8531
+ }
8532
+ .tl-text-field--no-min-width {
8533
+ min-width: auto;
8534
+ }
8535
+ .tl-text-field--readonly:not(.tl-text-field--disabled):not(.tl-text-field--hide-readonly-icon)::before {
8368
8536
  content: "";
8369
8537
  position: absolute;
8370
- top: 0;
8371
- right: -1px;
8372
- bottom: 0;
8373
- width: 1px;
8374
- background-color: var(--folder-tab-surface-selected);
8538
+ top: 50%;
8539
+ right: 16px;
8540
+ width: 20px;
8541
+ height: 20px;
8542
+ background-color: var(--text-field-text);
8543
+ mask-image: var(--icon-edit_inactive-svg);
8544
+ mask-size: contain;
8545
+ mask-repeat: no-repeat;
8546
+ mask-position: center;
8547
+ transform: translateY(-50%);
8375
8548
  z-index: 1;
8376
8549
  }
8377
- .tl-folder-tabs__tab--disabled {
8378
- color: var(--folder-tab-text-disabled);
8550
+ .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 {
8551
+ top: calc(50% + 24px);
8552
+ }
8553
+ .tl-text-field:has(.tl-text-field__input:disabled) {
8379
8554
  cursor: not-allowed;
8380
- user-select: none;
8381
8555
  }
8382
- .tl-folder-tabs__tab--disabled:focus-visible {
8556
+ .tl-text-field .tl-icon {
8557
+ background-color: var(--text-field-affix);
8558
+ }
8559
+ :has(.tl-text-field__input:disabled) .tl-text-field .tl-icon {
8560
+ background-color: var(--text-field-affix-disabled);
8561
+ }
8562
+
8563
+ .tl-text-field__input {
8564
+ all: unset;
8565
+ border-radius: var(--text-field-border-radius);
8566
+ background-color: var(--text-field-background);
8567
+ color: var(--text-field-text);
8568
+ width: 100%;
8569
+ box-sizing: border-box;
8570
+ margin: 0;
8571
+ border: none;
8383
8572
  outline: none;
8573
+ }
8574
+ .tl-text-field__input::placeholder {
8575
+ color: var(--text-field-placeholder);
8576
+ }
8577
+ .tl-text-field__input:disabled {
8578
+ background-color: var(--text-field-background-disabled);
8579
+ color: var(--text-field-text-disabled);
8580
+ user-select: none;
8581
+ pointer-events: none;
8582
+ }
8583
+ .tl-text-field__input:disabled::placeholder {
8584
+ color: var(--text-field-placeholder-disabled);
8585
+ }
8586
+ .tl-text-field__input {
8587
+ font-family: var(--detail-02-font-family);
8588
+ font-size: var(--detail-02-font-size);
8589
+ line-height: var(--detail-02-line-height);
8590
+ font-weight: var(--detail-02-font-weight);
8591
+ letter-spacing: var(--detail-02-letter-spacing);
8592
+ text-transform: var(--detail-02-text-transform);
8593
+ text-align: left;
8594
+ color: var(--text-field-text);
8595
+ flex: 1;
8596
+ order: 2;
8597
+ box-shadow: inset var(--text-field-box-shadow);
8598
+ transition: box-shadow 0.2s;
8599
+ }
8600
+ .tl-text-field__input:focus {
8601
+ box-shadow: inset var(--text-field-box-shadow-focus);
8602
+ }
8603
+ .tl-text-field:hover .tl-text-field__input:not(:focus):not(:disabled) {
8604
+ box-shadow: inset var(--text-field-box-shadow-hover);
8605
+ }
8606
+ .tl-text-field--error .tl-text-field__input {
8607
+ box-shadow: inset var(--text-field-box-shadow-error);
8608
+ }
8609
+ .tl-text-field--error .tl-text-field__input:focus {
8610
+ box-shadow: inset var(--text-field-box-shadow-error-focus);
8611
+ }
8612
+ .tl-text-field--error:hover .tl-text-field__input:not(:focus):not(:disabled) {
8613
+ box-shadow: inset var(--text-field-box-shadow-error-hover);
8614
+ }
8615
+ .tl-text-field--success:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:not(:focus) {
8616
+ box-shadow: inset var(--text-field-box-shadow-success);
8617
+ }
8618
+ .tl-text-field__input:disabled {
8384
8619
  box-shadow: none;
8620
+ background-color: var(--text-field-background-disabled);
8621
+ color: var(--text-field-text-disabled);
8622
+ cursor: not-allowed;
8623
+ pointer-events: none;
8385
8624
  }
8386
-
8387
- .tl-inline-tabs {
8388
- /* Horizontal divider */
8389
- --inline-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8390
- /* Mode variant backgrounds */
8391
- --inline-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8392
- --inline-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8393
- --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8394
- /* Scroll button */
8395
- --inline-tabs-scroll-button-text: var(--color-foreground-icon-strong);
8396
- --inline-tabs-scroll-button-background: var(--inline-tabs-tab-background);
8397
- --inline-tabs-scroll-button-background-hover: var(--inline-tabs-tab-background);
8398
- --inline-tabs-scroll-button-background-active: var(--inline-tabs-tab-background);
8625
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
8626
+ box-shadow: inset var(--text-field-box-shadow);
8399
8627
  }
8400
- .tl-inline-tabs--primary {
8401
- --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8628
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:focus {
8629
+ box-shadow: inset var(--text-field-box-shadow-focus);
8402
8630
  }
8403
- .tl-inline-tabs--secondary {
8404
- --inline-tabs-tab-background: var(--inline-tabs-tab-background-secondary);
8631
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):hover .tl-text-field__input:not(:focus) {
8632
+ box-shadow: inset var(--text-field-box-shadow-hover);
8633
+ }
8634
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
8635
+ user-select: auto;
8636
+ caret-color: transparent;
8637
+ cursor: default;
8638
+ pointer-events: none;
8405
8639
  }
8406
-
8407
- .traton .tl-inline-tabs {
8408
- --inline-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8409
- --inline-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8640
+ .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 {
8641
+ padding-right: 54px;
8410
8642
  }
8411
-
8412
- .tl-inline-tabs__tab {
8413
- /* Tab */
8414
- --inline-tabs-tab: var(--color-foreground-text-soft);
8415
- --inline-tabs-tab-selected: var(--color-foreground-text-strong);
8416
- --inline-tabs-tab-disabled: var(--color-foreground-text-disabled);
8417
- --inline-tabs-tab-hover: var(--color-foreground-text-strong);
8418
- --inline-tabs-tab-focus: var(--color-foreground-border-accent-focus);
8419
- --inline-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8420
- --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8643
+ .tl-text-field--lg .tl-text-field__input {
8644
+ padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
8645
+ height: 56px;
8421
8646
  }
8422
-
8423
- .tl-inline-tabs {
8424
- box-sizing: border-box;
8647
+ .tl-text-field--md .tl-text-field__input {
8648
+ padding: var(--tds-spacing-element-16);
8649
+ height: 48px;
8425
8650
  }
8426
- .tl-inline-tabs * {
8427
- box-sizing: border-box;
8651
+ .tl-text-field--sm .tl-text-field__input {
8652
+ padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
8653
+ height: 40px;
8428
8654
  }
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);
8655
+ .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__input {
8656
+ padding-top: var(--tds-spacing-element-24);
8657
+ padding-bottom: 15px;
8439
8658
  }
8440
- .tl-inline-tabs::-webkit-scrollbar {
8441
- display: none;
8659
+ .tl-text-field--label-inside.tl-text-field--md .tl-text-field__input {
8660
+ padding-top: var(--tds-spacing-element-20);
8661
+ padding-bottom: 11px;
8442
8662
  }
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;
8663
+ .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__input:not(:focus):placeholder-shown {
8664
+ padding-top: var(--tds-spacing-element-16);
8665
+ padding-bottom: 7px;
8451
8666
  }
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;
8667
+ .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
8668
+ padding-left: 44px;
8464
8669
  }
8465
-
8466
- .tl-inline-tabs__scroll-button--right {
8467
- right: 0;
8468
- z-index: 1;
8670
+ .tl-text-field:has(.tl-text-field__prefix--text) .tl-text-field__input {
8671
+ padding-left: calc(16px + var(--text-field-affix-width-text) + 8px);
8469
8672
  }
8470
-
8471
- .tl-inline-tabs__scroll-button--left {
8472
- left: 0;
8473
- z-index: 1;
8673
+ .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
8674
+ padding-right: 44px;
8474
8675
  }
8475
-
8476
- .tl-inline-tabs__scroll-button svg {
8477
- fill: var(--inline-tabs-scroll-button-text);
8676
+ .tl-text-field:has(.tl-text-field__suffix--text) .tl-text-field__input {
8677
+ padding-right: calc(16px + var(--text-field-affix-width-text) + 8px);
8478
8678
  }
8479
-
8480
- .tl-inline-tabs__tab {
8481
- all: unset;
8482
- margin-right: 32px;
8483
- box-sizing: border-box;
8679
+ .tl-text-field--label-inside .tl-text-field__input::placeholder {
8680
+ color: transparent !important;
8484
8681
  }
8485
- .tl-inline-tabs__tab * {
8486
- box-sizing: border-box;
8682
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
8683
+ color: var(--text-field-placeholder-disabled) !important;
8487
8684
  }
8488
- .tl-inline-tabs__tab {
8489
- font-family: var(--headline-07-font-family);
8490
- font-size: var(--headline-07-font-size);
8491
- line-height: var(--headline-07-line-height);
8492
- font-weight: var(--headline-07-font-weight);
8493
- letter-spacing: var(--headline-07-letter-spacing);
8494
- text-transform: var(--headline-07-text-transform);
8495
- color: var(--inline-tabs-tab);
8496
- text-decoration: none;
8685
+
8686
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
8687
+ font-family: var(--detail-05-font-family);
8688
+ font-size: var(--detail-05-font-size);
8689
+ line-height: var(--detail-05-line-height);
8690
+ font-weight: var(--detail-05-font-weight);
8691
+ letter-spacing: var(--detail-05-letter-spacing);
8692
+ text-transform: var(--detail-05-text-transform);
8497
8693
  display: block;
8498
- position: relative;
8499
- transition: color 0.15s ease-in-out 0s;
8500
- white-space: nowrap;
8501
- background-color: transparent;
8502
- border: 0;
8503
- padding: 20px 4px;
8504
- }
8505
- .tl-inline-tabs__tab:focus-visible {
8506
- outline: none;
8694
+ margin-bottom: 8px;
8695
+ color: var(--text-field-label);
8507
8696
  }
8508
- .tl-inline-tabs__tab:focus-visible::before {
8509
- content: "";
8697
+ .tl-text-field--label-inside .tl-text-field__label {
8698
+ font-family: var(--detail-02-font-family);
8699
+ font-size: var(--detail-02-font-size);
8700
+ line-height: var(--detail-02-line-height);
8701
+ font-weight: var(--detail-02-font-weight);
8702
+ letter-spacing: var(--detail-02-letter-spacing);
8703
+ text-transform: var(--detail-02-text-transform);
8510
8704
  position: absolute;
8511
- inset: 18px 0;
8512
- border-radius: 2px;
8513
- box-shadow: 0 0 0 2px var(--inline-tabs-tab-focus) inset;
8514
- z-index: 2;
8705
+ left: var(--text-field-label-inside-left, 16px);
8706
+ color: var(--text-field-label-inside);
8515
8707
  pointer-events: none;
8516
- }
8517
- .tl-inline-tabs__tab::after {
8518
- background-color: var(--inline-tabs-tab-indicator-hover);
8519
- content: " ";
8520
- position: absolute;
8521
- bottom: 0;
8522
- right: 0;
8523
- left: 0;
8524
- margin-left: auto;
8525
- width: 0%;
8526
- margin-right: auto;
8527
- height: 2px;
8708
+ transform: translateY(-50%);
8709
+ transform-origin: top left;
8710
+ transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
8528
8711
  z-index: 1;
8529
- transition: width 0.15s ease-in-out 0s;
8530
8712
  }
8531
- .tl-inline-tabs__tab:not(.tl-inline-tabs__tab--selected)::after {
8532
- width: 0%;
8713
+ .tl-text-field__label {
8714
+ /* Center label in input row before focus/fill */
8533
8715
  }
8534
- .tl-inline-tabs__tab:hover {
8535
- cursor: pointer;
8536
- color: var(--inline-tabs-tab-hover);
8716
+ .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__label {
8717
+ top: 28px; /* half of 56px input height */
8537
8718
  }
8538
- .tl-inline-tabs__tab:hover::after {
8539
- width: 100%;
8719
+ .tl-text-field--label-inside.tl-text-field--md .tl-text-field__label {
8720
+ top: 24px; /* half of 48px input height */
8540
8721
  }
8541
- .tl-inline-tabs__tab--selected {
8542
- color: var(--inline-tabs-tab-selected);
8722
+ .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__label {
8723
+ top: 20px; /* half of 40px input height */
8543
8724
  }
8544
- .tl-inline-tabs__tab--selected::after {
8545
- background-color: var(--inline-tabs-tab-indicator-active);
8546
- width: 100%;
8725
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
8726
+ left: 44px;
8547
8727
  }
8548
- .tl-inline-tabs__tab--disabled {
8549
- color: var(--inline-tabs-tab-disabled);
8550
- pointer-events: none;
8551
- cursor: not-allowed;
8728
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field__label {
8729
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
8552
8730
  }
8553
- .tl-inline-tabs__tab--disabled::after {
8554
- content: none;
8731
+ .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 {
8732
+ font-family: var(--detail-07-font-family);
8733
+ font-size: var(--detail-07-font-size);
8734
+ line-height: var(--detail-07-line-height);
8735
+ font-weight: var(--detail-07-font-weight);
8736
+ letter-spacing: var(--detail-07-letter-spacing);
8737
+ text-transform: var(--detail-07-text-transform);
8738
+ top: 8px;
8739
+ transform: translateY(0);
8740
+ transition: 0.1s ease all;
8555
8741
  }
8556
- .tl-inline-tabs__tab--disabled:focus-visible::before {
8557
- box-shadow: none;
8742
+ .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 {
8743
+ left: 44px;
8744
+ }
8745
+ .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 {
8746
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
8747
+ }
8748
+ .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 {
8749
+ opacity: 0;
8750
+ visibility: hidden;
8751
+ }
8752
+ .tl-text-field--label-inside:has(.tl-text-field__input:disabled) .tl-text-field__label {
8753
+ color: var(--text-field-label-disabled);
8754
+ }
8755
+ .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input:disabled) .tl-text-field__label {
8756
+ color: var(--text-field-label-disabled);
8558
8757
  }
8559
8758
 
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);
8759
+ .tl-text-field__bottom {
8760
+ display: flex;
8761
+ gap: 8px;
8762
+ padding-top: 4px;
8569
8763
  }
8570
8764
 
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);
8765
+ .tl-text-field__helper {
8766
+ font-family: var(--detail-05-font-family);
8767
+ font-size: var(--detail-05-font-size);
8768
+ line-height: var(--detail-05-line-height);
8769
+ font-weight: var(--detail-05-font-weight);
8770
+ letter-spacing: var(--detail-05-letter-spacing);
8771
+ text-transform: var(--detail-05-text-transform);
8772
+ color: var(--text-field-helper);
8773
+ position: relative;
8774
+ }
8775
+ :has(.tl-text-field__input:disabled) .tl-text-field__helper {
8776
+ color: var(--color-foreground-text-disabled);
8777
+ }
8778
+ .tl-text-field--error .tl-text-field__helper {
8779
+ padding-left: 24px;
8780
+ }
8781
+ .tl-text-field--error .tl-text-field__helper::before {
8782
+ content: "";
8783
+ position: absolute;
8784
+ left: 0;
8785
+ top: 0;
8786
+ width: 16px;
8787
+ height: 16px;
8788
+ background-color: var(--text-field-error);
8789
+ mask-image: var(--icon-error-svg);
8790
+ mask-size: contain;
8791
+ mask-repeat: no-repeat;
8792
+ mask-position: center;
8581
8793
  }
8582
- .tl-navigation-tabs--primary {
8583
- --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8794
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper {
8795
+ padding-left: 0;
8584
8796
  }
8585
- .tl-navigation-tabs--secondary {
8586
- --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-secondary);
8797
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper::before {
8798
+ display: none;
8587
8799
  }
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);
8800
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__helper {
8801
+ color: var(--text-field-error);
8592
8802
  }
8593
-
8594
- .tl-navigation-tabs {
8595
- box-sizing: border-box;
8803
+ .tl-text-field--error:has(.tl-text-field__input:disabled) .tl-text-field__helper::before {
8804
+ background-color: var(--color-foreground-text-disabled);
8596
8805
  }
8597
- .tl-navigation-tabs * {
8598
- box-sizing: border-box;
8806
+
8807
+ .tl-text-field__charcounter {
8808
+ font-family: var(--detail-05-font-family);
8809
+ font-size: var(--detail-05-font-size);
8810
+ line-height: var(--detail-05-line-height);
8811
+ font-weight: var(--detail-05-font-weight);
8812
+ letter-spacing: var(--detail-05-letter-spacing);
8813
+ text-transform: var(--detail-05-text-transform);
8814
+ margin-left: auto;
8815
+ color: var(--text-field-textcounter);
8599
8816
  }
8600
- .tl-navigation-tabs {
8601
- background-color: var(--navigation-tabs-tab-background);
8602
- display: flex;
8603
- flex-wrap: nowrap;
8604
- white-space: nowrap;
8605
- width: 100%;
8606
- overflow-x: scroll;
8607
- scrollbar-width: none;
8608
- gap: 16px;
8609
- position: relative;
8817
+ :has(.tl-text-field__input:disabled) .tl-text-field__charcounter {
8818
+ color: var(--color-foreground-text-disabled);
8610
8819
  }
8611
- .tl-navigation-tabs::-webkit-scrollbar {
8612
- display: none;
8820
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter {
8821
+ color: var(--text-field-error);
8613
8822
  }
8614
- .tl-navigation-tabs::after {
8615
- border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8616
- content: " ";
8617
- display: block;
8618
- left: 0;
8619
- right: 0;
8620
- bottom: 0;
8621
- position: absolute;
8823
+ .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 {
8824
+ color: var(--text-field-error);
8622
8825
  }
8623
8826
 
8624
- .tl-navigation-tabs__scroll-button {
8625
- background-color: transparent;
8626
- color: var(--navigation-tabs-scroll-button-icon);
8627
- cursor: pointer;
8628
- min-width: 48px;
8629
- border: 0;
8630
- display: block;
8631
- justify-content: center;
8632
- align-items: center;
8633
- opacity: 1;
8634
- position: sticky;
8827
+ .tl-text-field__charcounter-divider {
8828
+ color: var(--color-foreground-text-disabled);
8635
8829
  }
8636
8830
 
8637
- .tl-navigation-tabs__scroll-button--right {
8638
- right: 0;
8831
+ .tl-text-field__prefix {
8832
+ font-family: var(--detail-02-font-family);
8833
+ font-size: var(--detail-02-font-size);
8834
+ line-height: var(--detail-02-line-height);
8835
+ font-weight: var(--detail-02-font-weight);
8836
+ letter-spacing: var(--detail-02-letter-spacing);
8837
+ text-transform: var(--detail-02-text-transform);
8838
+ color: var(--text-field-affix);
8839
+ align-self: center;
8840
+ display: flex;
8841
+ align-items: center;
8639
8842
  z-index: 1;
8843
+ position: relative;
8640
8844
  }
8641
-
8642
- .tl-navigation-tabs__scroll-button--left {
8643
- left: 0;
8845
+ .tl-text-field__prefix--text, .tl-text-field__prefix--icon {
8846
+ position: absolute;
8847
+ left: 16px;
8848
+ top: 50%;
8849
+ transform: translateY(calc(-50% - 1px));
8644
8850
  z-index: 1;
8645
8851
  }
8646
-
8647
- .tl-navigation-tabs__scroll-button svg {
8648
- fill: var(--navigation-tabs-scroll-button-color);
8852
+ .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 {
8853
+ transform: translateY(calc(-50% + 24px));
8649
8854
  }
8650
-
8651
- .tl-navigation-tabs__tab {
8652
- all: unset;
8653
- margin-right: 32px;
8654
- box-sizing: border-box;
8855
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon {
8856
+ color: var(--text-field-affix-disabled);
8655
8857
  }
8656
- .tl-navigation-tabs__tab * {
8657
- box-sizing: border-box;
8858
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon > * {
8859
+ color: var(--text-field-affix-disabled);
8658
8860
  }
8659
- .tl-navigation-tabs__tab {
8660
- font-family: var(--headline-07-font-family);
8661
- font-size: var(--headline-07-font-size);
8662
- line-height: var(--headline-07-line-height);
8663
- font-weight: var(--headline-07-font-weight);
8664
- letter-spacing: var(--headline-07-letter-spacing);
8665
- text-transform: var(--headline-07-text-transform);
8666
- color: var(--navigation-tabs-tab);
8667
- text-decoration: none;
8668
- display: block;
8669
- position: relative;
8670
- transition: color 0.15s ease-in-out 0s;
8671
- white-space: nowrap;
8672
- background-color: transparent;
8673
- border: 0;
8674
- padding: 26px 4px;
8861
+ :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 {
8862
+ background-color: var(--text-field-affix-disabled);
8675
8863
  }
8676
- .tl-navigation-tabs__tab:focus-visible {
8677
- outline: none;
8864
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon.tl-icon {
8865
+ background-color: var(--text-field-affix-disabled);
8678
8866
  }
8679
- .tl-navigation-tabs__tab:focus-visible::before {
8680
- content: "";
8681
- position: absolute;
8682
- inset: 18px 0;
8683
- border-radius: 2px;
8684
- box-shadow: 0 0 0 2px var(--navigation-tabs-tab-focus) inset;
8685
- z-index: 2;
8686
- pointer-events: none;
8867
+
8868
+ .tl-text-field__suffix {
8869
+ font-family: var(--detail-02-font-family);
8870
+ font-size: var(--detail-02-font-size);
8871
+ line-height: var(--detail-02-line-height);
8872
+ font-weight: var(--detail-02-font-weight);
8873
+ letter-spacing: var(--detail-02-letter-spacing);
8874
+ text-transform: var(--detail-02-text-transform);
8875
+ color: var(--text-field-affix);
8876
+ align-self: center;
8877
+ display: flex;
8878
+ align-items: center;
8879
+ z-index: 1;
8880
+ position: relative;
8687
8881
  }
8688
- .tl-navigation-tabs__tab::after {
8689
- background-color: var(--navigation-tabs-tab-indicator-hover);
8690
- content: " ";
8882
+ .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
8691
8883
  position: absolute;
8692
- bottom: 0;
8693
- right: 0;
8694
- left: 0;
8695
- margin-left: auto;
8696
- width: 0%;
8697
- margin-right: auto;
8698
- height: 2px;
8884
+ right: 16px;
8885
+ top: 50%;
8886
+ transform: translateY(calc(-50% - 1px));
8699
8887
  z-index: 1;
8700
- transition: width 0.15s ease-in-out 0s;
8701
8888
  }
8702
- .tl-navigation-tabs__tab:not(.tl-navigation-tabs__tab--selected)::after {
8703
- width: 0%;
8889
+ .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 {
8890
+ transform: translateY(calc(-50% + 24px));
8704
8891
  }
8705
- .tl-navigation-tabs__tab:hover {
8706
- cursor: pointer;
8707
- color: var(--navigation-tabs-tab-hover);
8892
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
8893
+ color: var(--text-field-affix-disabled);
8708
8894
  }
8709
- .tl-navigation-tabs__tab:hover::after {
8710
- width: 100%;
8895
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
8896
+ color: var(--text-field-affix-disabled);
8711
8897
  }
8712
- .tl-navigation-tabs__tab--selected {
8713
- color: var(--navigation-tabs-tab-selected);
8898
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
8899
+ :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,
8900
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
8901
+ background-color: var(--text-field-affix-disabled) !important;
8714
8902
  }
8715
- .tl-navigation-tabs__tab--selected::after {
8716
- background-color: var(--navigation-tabs-tab-indicator-active);
8717
- width: 100%;
8903
+
8904
+ .tl-text-field__suffix {
8905
+ font-family: var(--detail-02-font-family);
8906
+ font-size: var(--detail-02-font-size);
8907
+ line-height: var(--detail-02-line-height);
8908
+ font-weight: var(--detail-02-font-weight);
8909
+ letter-spacing: var(--detail-02-letter-spacing);
8910
+ text-transform: var(--detail-02-text-transform);
8911
+ color: var(--text-field-affix);
8912
+ align-self: center;
8913
+ display: flex;
8914
+ align-items: center;
8915
+ z-index: 1;
8916
+ position: relative;
8917
+ right: 16px;
8918
+ padding-right: 0;
8919
+ z-index: 1;
8718
8920
  }
8719
- .tl-navigation-tabs__tab--disabled {
8720
- color: var(--navigation-tabs-tab-disabled);
8721
- pointer-events: none;
8722
- cursor: not-allowed;
8921
+ .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 {
8922
+ transform: translateY(calc(-50% + 24px));
8723
8923
  }
8724
- .tl-navigation-tabs__tab--disabled::after {
8725
- content: none;
8924
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
8925
+ color: var(--text-field-affix-disabled);
8726
8926
  }
8727
- .tl-navigation-tabs__tab--disabled:focus-visible::before {
8728
- box-shadow: none;
8927
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text > *, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > * {
8928
+ color: var(--text-field-affix-disabled);
8929
+ }
8930
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
8931
+ :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,
8932
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
8933
+ background-color: var(--text-field-affix-disabled);
8934
+ }
8935
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon.tl-icon {
8936
+ background-color: var(--text-field-affix-disabled);
8937
+ }
8938
+
8939
+ .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
8940
+ .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8941
+ font-family: var(--detail-07-font-family);
8942
+ font-size: var(--detail-07-font-size);
8943
+ line-height: var(--detail-07-line-height);
8944
+ font-weight: var(--detail-07-font-weight);
8945
+ letter-spacing: var(--detail-07-letter-spacing);
8946
+ text-transform: var(--detail-07-text-transform);
8947
+ top: 7.5px;
8948
+ left: var(--text-field-label-inside-left, 16px);
8949
+ transform: none;
8950
+ }
8951
+ .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,
8952
+ .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 {
8953
+ left: 44px;
8954
+ }
8955
+ .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,
8956
+ .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 {
8957
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
8729
8958
  }
8730
8959
 
8731
8960
  .tl-textarea {