@scania/tegel-lite 0.0.1-beta.8 → 0.0.1

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.
@@ -9,7 +9,7 @@
9
9
  * <link rel="stylesheet" href="node_modules/@scania/tegel-lite/dist/scania-variables.css">
10
10
  * <link rel="stylesheet" href="node_modules/@scania/tegel-lite/dist/traton-variables.css">
11
11
  * <link rel="stylesheet" href="node_modules/@scania/tegel-lite/dist/global.css">
12
- * <link rel="stylesheet" href="node_modules/@scania/tegel-lite/dist/all.css">
12
+ * <link rel="stylesheet" href="node_modules/@scania/tegel-lite/dist/components.css">
13
13
  */
14
14
  .tl-accordion {
15
15
  /* Border & Background */
@@ -604,25 +604,6 @@
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
-
626
607
  .tl-button {
627
608
  --button-transparent: transparent;
628
609
  --button-white: var(--color-brand-neutral-white);
@@ -2190,10 +2171,6 @@ body {
2190
2171
  background-color: var(--dropdown-disabled);
2191
2172
  }
2192
2173
 
2193
- .tl-dropdown:has(.tl-dropdown__select:disabled)::after {
2194
- background-color: var(--dropdown-disabled);
2195
- }
2196
-
2197
2174
  .tl-dropdown--lg:not(.tl-dropdown--label-inside):has(.tl-dropdown__select):not(:has(.tl-dropdown__helper))::after {
2198
2175
  content: "";
2199
2176
  position: absolute;
@@ -2746,9 +2723,6 @@ body {
2746
2723
  border-color: transparent;
2747
2724
  }
2748
2725
 
2749
- /*
2750
- Contains spacing variables for the layout
2751
- */
2752
2726
  .tl-footer {
2753
2727
  --footer-top-background-primary: var(--color-background-layer-01);
2754
2728
  --footer-top-background-secondary: var(--color-background-base);
@@ -3018,114 +2992,9 @@ body {
3018
2992
  background-position: right;
3019
2993
  }
3020
2994
  }
3021
- /**
3022
- * Do not edit directly, this file was auto-generated.
3023
- */
3024
- .scania tds-header,
3025
- .scania .tl-header {
3026
- /* State & interaction colors */
3027
- --component-header-color-background-open: var(--color-foreground-border-accent-focus);
3028
- --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3029
- --component-header-dropdown-item-background: var(--color-background-layer-02);
3030
- --component-header-avatar-item-background: var(--color-background-layer-02);
3031
- --component-header-app-launcher-meny-background: var(--color-background-layer-02);
3032
- /* Sizing & spacing */
3033
- --component-header-brand-logo-size: 30px;
3034
- --component-header-space-profile-padding: 16px;
3035
- --component-header-item-image-size: 34px;
3036
- --component-header-item-image-left: 10px;
3037
- --component-header-item-width: none;
3038
- --component-header-item-border-right: 1px solid var(--header-basic-element-border);
3039
- /* Borders */
3040
- --component-header-border: none;
3041
- /* Typography */
3042
- --component-header-font-family-headline: var(--scania-font-family-display);
3043
- --component-header-font-weight: var(--scania-font-weight-regular);
3044
- --component-header-text-transform: none;
3045
- }
3046
- .scania {
3047
- /* ── Light-mode overrides ───────────────────── */
3048
- }
3049
- .scania .tds-mode-light tds-header,
3050
- .scania .tds-mode-light .tl-header {
3051
- --component-header-color-background: var(--color-brand-primary-800);
3052
- --component-header-color-foreground-strong: var(--color-foreground-icon-inverse-strong);
3053
- --component-header-color-background-hover: var(--color-brand-primary-700);
3054
- --component-header-color-background-border: var(--color-brand-primary-700);
3055
- --component-header-color-background-pressed: var(--color-brand-neutral-white);
3056
- --component-header-color-background-selected: var(--color-brand-primary-700);
3057
- }
3058
- .scania {
3059
- /* ── Dark-mode overrides ───────────────────── */
3060
- }
3061
- .scania .tds-mode-dark tds-header,
3062
- .scania .tds-mode-dark .tl-header {
3063
- --component-header-color-background: var(--color-brand-primary-900);
3064
- --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3065
- --component-header-color-background-hover: var(--color-brand-primary-800);
3066
- --component-header-color-background-border: var(--color-brand-primary-800);
3067
- --component-header-color-background-pressed: var(--color-brand-primary-800);
3068
- --component-header-color-background-selected: var(--color-brand-primary-800);
3069
- }
3070
-
3071
- .traton tds-header,
3072
- .traton .tl-header {
3073
- /* Base colors */
3074
- --component-header-color-background: var(--color-background-base);
3075
- --component-header-color-background-hover: var(--color-background-layer-01);
3076
- --component-header-color-background-open: transparent;
3077
- --component-header-color-foreground-strong: var(--color-foreground-icon-strong);
3078
- --component-header-color-background-border: var(--traton-color-transparent-invisible-light);
3079
- --component-header-color-background-pressed: var(--color-background-base);
3080
- --component-header-color-foreground-selected: var(--color-foreground-icon-strong);
3081
- /* Dropdown & launcher */
3082
- --component-header-dropdown-item-background: var(--color-background-layer-01);
3083
- --component-header-avatar-item-background: var(--color-background-layer-01);
3084
- --component-header-app-launcher-meny-background: var(--color-background-layer-01);
3085
- /* Sizing & spacing */
3086
- --component-header-brand-logo-size: 106px;
3087
- --component-header-space-profile-padding: 20px;
3088
- --component-header-item-image-size: 24px;
3089
- --component-header-item-image-left: 15px;
3090
- --component-header-item-width: 122px;
3091
- --component-header-item-border-right: none;
3092
- /* Borders */
3093
- --component-header-border: 2px solid var(--header-nav-item-border-active);
3094
- /* Typography */
3095
- --component-header-font-family-headline: var(--traton-font-family-display);
3096
- --component-header-font-weight: var(--traton-font-weight-medium);
3097
- --component-header-text-transform: uppercase;
3098
- }
3099
- .traton {
3100
- /* ── Light-mode overrides ───────────────────── */
3101
- }
3102
- .traton .tds-mode-light tds-header,
3103
- .traton .tds-mode-light .tl-header {
3104
- --component-header-color-background-selected: var(--color-background-layer-01);
3105
- }
3106
- .traton {
3107
- /* ── Dark-mode overrides ───────────────────── */
3108
- }
3109
- .traton .tds-mode-dark tds-header,
3110
- .traton .tds-mode-dark .tl-header {
3111
- --component-header-color-background-selected: var(--color-background-surface-100);
3112
- }
3113
-
3114
- /*
3115
- Tegel Lite specific overrides
3116
- Keep this in last to ensure it has the highest specificity for Tegel Lite
3117
- */
3118
- .scania .tl-header {
3119
- --component-header-item-width: 30px;
3120
- --component-header-dropdown-box-shadow: 0 3px 3px rgb(0 0 0 / 15%), 0 -1px 1px rgb(0 0 0 / 1%);
3121
- }
3122
-
3123
- .traton .tl-header {
3124
- --component-header-dropdown-box-shadow: none;
3125
- }
3126
-
3127
2995
  .tl-header {
3128
- /* Base text */
2996
+ /* Base background & text */
2997
+ --header-background: var(--component-header-color-background);
3129
2998
  --header-nav-item: var(--component-header-color-foreground-strong);
3130
2999
  /* Nav-item states */
3131
3000
  --header-nav-item-background-hover: var(--color-background-surface-100);
@@ -3171,81 +3040,25 @@ body {
3171
3040
  --header-dropdown-box-shadow: var(--component-header-dropdown-box-shadow);
3172
3041
  }
3173
3042
 
3174
- .scania {
3175
- /* Light mode - explicit light mode class */
3176
- }
3177
- .scania .tds-mode-light .tl-header {
3178
- --header-background: var(--color-brand-primary-800);
3179
- --header-nav-item: var(--color-foreground-icon-inverse-strong);
3180
- --header-item-hover: var(--color-brand-primary-700);
3181
- --header-basic-element-border: var(--color-brand-primary-700);
3182
- --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3183
- --header-basic-element-background-selected: var(--color-brand-primary-700);
3184
- }
3185
- .scania {
3186
- /* Dark mode - override with dark colors */
3187
- }
3188
- .scania .tds-mode-dark .tl-header {
3189
- --header-background: var(--color-brand-primary-900);
3190
- --header-nav-item: var(--color-foreground-icon-strong);
3191
- --header-item-hover: var(--color-brand-primary-800);
3192
- --header-basic-element-border: var(--color-brand-primary-800);
3193
- --header-basic-element-background-pressed: var(--color-brand-primary-800);
3194
- --header-basic-element-background-selected: var(--color-brand-primary-800);
3195
- }
3196
- .scania {
3197
- /* Default .tl-header (works for no mode specified - defaults to light) */
3198
- }
3199
3043
  .scania .tl-header {
3200
3044
  /* Brand logo */
3201
3045
  --header-logotype-local: var(--tds-background-image-scania-symbol-svg-local);
3202
3046
  --header-logotype-cdn: var(--tds-background-image-scania-symbol-svg);
3203
3047
  --component-header-space-profile-padding: 16px;
3204
- /* Background defaults to light mode */
3205
- --header-background: var(--color-brand-primary-800);
3206
- --header-nav-item: var(--color-foreground-icon-inverse-strong);
3207
- --header-item-hover: var(--color-brand-primary-700);
3208
- --header-basic-element-border: var(--color-brand-primary-700);
3209
- --header-basic-element-background-pressed: var(--color-brand-neutral-white);
3210
- --header-basic-element-background-selected: var(--color-brand-primary-700);
3211
3048
  }
3212
3049
 
3213
3050
  .traton .tds-mode-dark .tl-header {
3214
- /* Brand logo - White for dark mode */
3051
+ /* Brand logo */
3215
3052
  --header-logotype-local: var(--traton-logotype-white-svg-local);
3216
3053
  --header-logotype-cdn: var(--traton-logotype-white-svg);
3217
- /* Background - uses base from traton tokens */
3218
- --header-background: var(--color-background-base);
3219
- --header-nav-item: var(--color-foreground-icon-strong);
3220
- --header-item-hover: var(--color-background-layer-01);
3221
- --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3222
- --header-basic-element-background-pressed: var(--color-background-base);
3223
- --header-basic-element-background-selected: var(--color-background-surface-100);
3224
3054
  }
3225
3055
  .traton .tds-mode-light .tl-header {
3226
- /* Brand logo - Black for light mode */
3056
+ /* Brand logo */
3227
3057
  --header-logotype-local: var(--traton-logotype-black-svg-local);
3228
3058
  --header-logotype-cdn: var(--traton-logotype-black-svg);
3229
- /* Background - uses base from traton tokens */
3230
- --header-background: var(--color-background-base);
3231
- --header-nav-item: var(--color-foreground-icon-strong);
3232
- --header-item-hover: var(--color-background-layer-01);
3233
- --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3234
- --header-basic-element-background-pressed: var(--color-background-base);
3235
- --header-basic-element-background-selected: var(--color-background-layer-01);
3236
3059
  }
3237
3060
  .traton .tl-header {
3238
- /* Brand logo - Black as default (for no mode specified) */
3239
- --header-logotype-local: var(--traton-logotype-black-svg-local);
3240
- --header-logotype-cdn: var(--traton-logotype-black-svg);
3241
3061
  --component-header-space-profile-padding: 20px;
3242
- /* Background defaults to light mode - uses base from traton tokens */
3243
- --header-background: var(--color-background-base);
3244
- --header-nav-item: var(--color-foreground-icon-strong);
3245
- --header-item-hover: var(--color-background-layer-01);
3246
- --header-basic-element-border: var(--traton-color-transparent-invisible-light);
3247
- --header-basic-element-background-pressed: var(--color-background-base);
3248
- --header-basic-element-background-selected: var(--color-background-layer-01);
3249
3062
  }
3250
3063
 
3251
3064
  /* Header Elements */
@@ -5928,6 +5741,13 @@ body {
5928
5741
  --side-menu-single-item-height: 68px;
5929
5742
  --side-menu-subnav-border-radius: 0;
5930
5743
  --side-menu-subnav-box-shadow: var(--tds-nav-dropdown-menu-box);
5744
+ --side-menu-text-item-font-family: 'Scania Sans Semi Condensed', arial, 'Helvetica Neue';
5745
+ --side-menu-text-item-font-size: 14px;
5746
+ --side-menu-text-item-font-weight: 700;
5747
+ --side-menu-text-item-line-height: 16px;
5748
+ --side-menu-text-item-letter-spacing: -0.14px;
5749
+ --side-menu-sub-item-with-icon: 56px;
5750
+ --side-menu-sub-item-with-user-image: 72px;
5931
5751
  }
5932
5752
 
5933
5753
  .traton .tl-side-menu {
@@ -5944,6 +5764,13 @@ body {
5944
5764
  --side-menu-single-item-height: 40px;
5945
5765
  --side-menu-subnav-border-radius: 4px;
5946
5766
  --side-menu-subnav-box-shadow: none;
5767
+ --side-menu-text-item-font-family: 'TRATON Type Text';
5768
+ --side-menu-text-item-font-size: 14px;
5769
+ --side-menu-text-item-font-weight: 500;
5770
+ --side-menu-text-item-line-height: 18px;
5771
+ --side-menu-text-item-letter-spacing: 0;
5772
+ --side-menu-sub-item-with-icon: 38px;
5773
+ --side-menu-sub-item-with-user-image: 46px;
5947
5774
  }
5948
5775
 
5949
5776
  .tl-side-menu--collapsed {
@@ -5974,6 +5801,11 @@ body {
5974
5801
  cursor: pointer;
5975
5802
  position: relative;
5976
5803
  border-radius: var(--component-side-menu-radius-corner);
5804
+ font-family: var(--side-menu-text-item-font-family);
5805
+ font-size: var(--side-menu-text-item-font-size);
5806
+ font-weight: var(--side-menu-text-item-font-weight);
5807
+ line-height: var(--side-menu-text-item-line-height);
5808
+ letter-spacing: var(--side-menu-text-item-letter-spacing);
5977
5809
  }
5978
5810
  .tl-side-menu__item:focus-visible {
5979
5811
  outline: 2px solid var(--color-foreground-border-accent-focus);
@@ -6009,6 +5841,11 @@ body {
6009
5841
  .tl-side-menu__dropdown {
6010
5842
  display: flex;
6011
5843
  flex-direction: column;
5844
+ font-family: var(--side-menu-text-item-font-family);
5845
+ font-size: var(--side-menu-text-item-font-size);
5846
+ font-weight: var(--side-menu-text-item-font-weight);
5847
+ line-height: var(--side-menu-text-item-line-height);
5848
+ letter-spacing: var(--side-menu-text-item-letter-spacing);
6012
5849
  }
6013
5850
  .tl-side-menu__dropdown .tl-side-menu__item::after {
6014
5851
  content: "";
@@ -6069,13 +5906,14 @@ body {
6069
5906
  color: var(--side-menu-dropdown-list-item-color);
6070
5907
  border: none;
6071
5908
  border-radius: var(--component-side-menu-radius-corner);
6072
- font-family: var(--text-component-text-01-font-family);
6073
- font-size: var(--text-component-text-01-font-size);
6074
- font-weight: var(--text-component-text-01-font-weight);
6075
- line-height: var(--text-component-text-01-line-height);
6076
- letter-spacing: var(--text-component-text-01-letter-spacing);
6077
5909
  position: relative;
6078
5910
  cursor: pointer;
5911
+ font-family: var(--body-02-font-family);
5912
+ font-size: var(--body-02-font-size);
5913
+ line-height: var(--body-02-line-height);
5914
+ font-weight: var(--body-02-font-weight);
5915
+ letter-spacing: var(--body-02-letter-spacing);
5916
+ text-transform: var(--body-02-text-transform);
6079
5917
  }
6080
5918
  .tl-side-menu__dropdown-item:hover {
6081
5919
  background-color: var(--side-menu-dropdown-list-item-custom-background-hover);
@@ -6111,10 +5949,23 @@ body {
6111
5949
  border-radius: var(--component-side-menu-radius-corner) 0 0 var(--component-side-menu-radius-corner);
6112
5950
  }
6113
5951
 
5952
+ .tl-side-menu__dropdown:has(.tl-side-menu__item .tl-icon) .tl-side-menu__dropdown-item {
5953
+ padding-left: var(--side-menu-sub-item-with-icon);
5954
+ }
5955
+
5956
+ .tl-side-menu__dropdown:has(.tl-side-menu__item .tl-side-menu__user .tl-side-menu__user-image) .tl-side-menu__dropdown-item {
5957
+ padding-left: var(--side-menu-sub-item-with-user-image);
5958
+ }
5959
+
6114
5960
  .tl-side-menu__user {
6115
5961
  display: flex;
6116
5962
  align-items: center;
6117
5963
  gap: var(--component-side-menu-space-sub-menu-item-profile-gap);
5964
+ font-family: var(--side-menu-text-item-font-family);
5965
+ font-size: var(--side-menu-text-item-font-size);
5966
+ font-weight: var(--side-menu-text-item-font-weight);
5967
+ line-height: var(--side-menu-text-item-line-height);
5968
+ letter-spacing: var(--side-menu-text-item-letter-spacing);
6118
5969
  }
6119
5970
 
6120
5971
  .tl-side-menu__user-image {
@@ -6409,2444 +6260,2246 @@ body {
6409
6260
  --slider-border-radius: 4px;
6410
6261
  }
6411
6262
 
6412
- .tl-slider {
6413
- box-sizing: border-box;
6414
- }
6415
- .tl-slider * {
6416
- box-sizing: border-box;
6417
- }
6418
- .tl-slider {
6419
- width: 100%;
6263
+ .tl-text-field {
6264
+ --text-field-background: var(--color-background-layer-01);
6265
+ --text-field-text: var(--color-foreground-text-strong);
6266
+ --text-field-placeholder: var(--color-foreground-text-subtle);
6267
+ --text-field-affix: var(--color-foreground-text-defined);
6268
+ --text-field-label: var(--color-foreground-text-strong);
6269
+ --text-field-label-inside: var(--color-foreground-text-strong);
6270
+ --text-field-label-inside-left: 16px;
6271
+ --text-field-affix-width-icon: 35px;
6272
+ --text-field-affix-width-text: 8px;
6273
+ --text-field-border-bottom-readonly: var(--color-foreground-border-strong);
6274
+ --text-field-helper: var(--color-foreground-text-defined);
6275
+ --text-field-error: var(--color-system-danger-default);
6276
+ --text-field-affix-error: var(--color-foreground-text-defined);
6277
+ --text-field-background-disabled: var(--color-background-layer-01);
6278
+ --text-field-text-disabled: var(--color-foreground-text-disabled);
6279
+ --text-field-placeholder-disabled: var(--color-foreground-text-disabled);
6280
+ --text-field-label-disabled: var(--color-foreground-text-disabled);
6281
+ --text-field-affix-disabled: var(--color-foreground-text-disabled);
6282
+ --text-field-textcounter: var(--color-foreground-text-defined);
6420
6283
  }
6421
- .tl-slider--disabled {
6422
- cursor: not-allowed;
6423
- pointer-events: none;
6284
+ .tl-text-field--primary {
6285
+ --text-field-background: var(--color-background-layer-01);
6286
+ --text-field-background-disabled: var(--color-background-layer-01);
6424
6287
  }
6425
- .tl-slider--read-only {
6426
- pointer-events: none;
6288
+ .tl-text-field--secondary {
6289
+ --text-field-background: var(--color-background-layer-02);
6290
+ --text-field-background-disabled: var(--color-background-layer-02);
6427
6291
  }
6428
6292
 
6429
- .tl-slider__label {
6430
- font-family: var(--detail-05-font-family);
6431
- font-size: var(--detail-05-font-size);
6432
- line-height: var(--detail-05-line-height);
6433
- font-weight: var(--detail-05-font-weight);
6434
- letter-spacing: var(--detail-05-letter-spacing);
6435
- text-transform: var(--detail-05-text-transform);
6436
- user-select: none;
6437
- color: var(--slider-label);
6438
- display: block;
6439
- margin-bottom: 24px;
6440
- margin-left: -2px;
6441
- }
6442
- .tl-slider:has(.tl-slider__value-divider-label) .tl-slider__label {
6443
- margin-bottom: 44px;
6444
- }
6445
- .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus) .tl-slider__label {
6446
- margin-bottom: 2px;
6447
- padding-left: 11px;
6448
- margin-left: 0;
6449
- }
6450
- .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus):has(.tl-slider__value-divider-label) .tl-slider__label {
6451
- margin-bottom: 20px;
6452
- padding-left: 11px;
6453
- margin-left: 0;
6454
- }
6455
- .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6456
- margin-bottom: 2px;
6457
- margin-left: 0;
6293
+ .tl-text-field,
6294
+ .scania .tl-text-field {
6295
+ --text-field-border-radius: 4px 4px 0 0;
6296
+ --text-field-box-shadow: 0 -1px 0 0 var(--color-foreground-border-soft);
6297
+ --text-field-box-shadow-hover: 0 -1px 0 0 var(--color-foreground-border-strong);
6298
+ --text-field-box-shadow-focus: 0 -2px 0 0 var(--color-foreground-border-accent-focus);
6299
+ --text-field-box-shadow-error: 0 -1px 0 0 var(--color-system-danger-default);
6300
+ --text-field-box-shadow-error-hover: 0 -1px 0 0 var(--color-system-danger-default);
6301
+ --text-field-box-shadow-error-focus: 0 -2px 0 0 var(--color-system-danger-default);
6302
+ --text-field-box-shadow-success: 0 -1px 0 0 var(--color-foreground-border-strong);
6303
+ --text-field-bar-focus: var(--color-foreground-border-accent-focus);
6304
+ --text-field-bar-error: var(--color-system-danger-default);
6305
+ --text-field-focus-outline: none;
6306
+ --text-field-focus-outline-error: none;
6307
+ --text-field-focus-outline-offset: 0;
6458
6308
  }
6459
- .tl-slider--disabled .tl-slider__label {
6460
- color: var(--slider-disabled-text);
6309
+
6310
+ .traton .tl-text-field {
6311
+ --text-field-border-radius: 4px 4px 4px 4px;
6312
+ --text-field-box-shadow: 0 0 0 1px var(--color-foreground-border-soft);
6313
+ --text-field-box-shadow-hover: 0 0 0 1px var(--color-foreground-border-strong);
6314
+ --text-field-box-shadow-focus: 0 0 0 2px var(--color-foreground-border-accent-focus);
6315
+ --text-field-box-shadow-success: 0 0 0 1px var(--color-foreground-border-strong);
6316
+ --text-field-box-shadow-error: 0 0 0 1px var(--color-system-danger-default);
6317
+ --text-field-box-shadow-error-hover: 0 0 0 1px var(--color-system-danger-default);
6318
+ --text-field-box-shadow-error-focus: 0 0 0 2px var(--color-system-danger-default);
6319
+ --text-field-focus-outline: 2px solid var(--color-foreground-border-accent-focus);
6320
+ --text-field-focus-outline-error: 2px solid var(--color-system-danger-default);
6321
+ --text-field-focus-outline-offset: 0;
6322
+ --text-field-bar-focus: transparent;
6323
+ --text-field-bar-error: transparent;
6461
6324
  }
6462
6325
 
6463
- .tl-slider__track-wrapper {
6326
+ .tl-text-field {
6327
+ display: block;
6464
6328
  position: relative;
6465
- display: flex;
6466
- align-items: center;
6467
- gap: 5px;
6329
+ width: 100%;
6330
+ min-width: 208px;
6331
+ height: 56px;
6332
+ padding-bottom: 1px;
6333
+ border-radius: var(--text-field-border-radius);
6334
+ box-sizing: border-box;
6468
6335
  }
6469
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6470
- gap: 16px;
6471
- align-items: center;
6472
- height: 41px;
6336
+ .tl-text-field--no-min-width {
6337
+ min-width: auto;
6473
6338
  }
6474
-
6475
- .tl-slider__control-minus,
6476
- .tl-slider__control-plus {
6477
- flex-shrink: 0;
6478
- border: none !important;
6339
+ .tl-text-field--lg {
6340
+ height: 56px;
6479
6341
  }
6480
-
6481
- .tl-slider__track {
6482
- position: relative;
6483
- flex: 1;
6484
- min-height: 2px;
6485
- background-color: var(--slider-track);
6486
- border-radius: var(--slider-border-radius);
6342
+ .tl-text-field--md {
6343
+ height: 48px;
6487
6344
  }
6488
- .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6489
- height: 2px;
6490
- align-self: center;
6345
+ .tl-text-field--sm {
6346
+ height: 40px;
6491
6347
  }
6492
- .tl-slider__track::after {
6348
+ .tl-text-field:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):not(.tl-text-field--hide-readonly-icon)::before {
6493
6349
  content: "";
6494
6350
  position: absolute;
6495
- left: 0;
6496
- right: 0;
6497
- top: -10px;
6498
- bottom: -10px;
6499
- cursor: pointer;
6500
- z-index: 0;
6351
+ top: 50%;
6352
+ right: 16px;
6353
+ width: 20px;
6354
+ height: 20px;
6355
+ background-color: var(--text-field-text);
6356
+ mask-image: var(--icon-edit_inactive-svg);
6357
+ mask-size: contain;
6358
+ mask-repeat: no-repeat;
6359
+ mask-position: center;
6360
+ transform: translateY(-50%);
6361
+ z-index: 1;
6501
6362
  }
6502
- .tl-slider__track:focus {
6503
- outline: 0;
6363
+ .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 {
6364
+ top: calc(50% + 24px);
6504
6365
  }
6505
- .tl-slider__track:focus .tl-slider__thumb-inner {
6506
- width: 24px;
6507
- height: 24px;
6366
+ .tl-text-field:has(.tl-text-field__input:disabled) {
6367
+ cursor: not-allowed;
6508
6368
  }
6509
- .tl-slider__track:focus .tl-slider__thumb-inner::before {
6510
- display: block;
6511
- opacity: 0.08;
6369
+ .tl-text-field .tl-icon {
6370
+ background-color: var(--text-field-affix);
6512
6371
  }
6513
- .tl-slider__track:focus-within .tl-slider__thumb-inner {
6514
- outline: 2px solid var(--slider-input-focused);
6515
- box-shadow: 0 0 0 1px var(--color-background-layer-01);
6516
- outline-offset: 1px;
6517
- z-index: 1;
6372
+ :has(.tl-text-field__input:disabled) .tl-text-field .tl-icon {
6373
+ background-color: var(--text-field-affix-disabled);
6518
6374
  }
6519
- .tl-slider--disabled .tl-slider__track {
6520
- cursor: not-allowed;
6521
- background-color: var(--slider-disabled);
6375
+
6376
+ .tl-text-field__input {
6377
+ all: unset;
6378
+ border-radius: var(--text-field-border-radius);
6379
+ background-color: var(--text-field-background);
6380
+ color: var(--text-field-text);
6381
+ width: 100%;
6382
+ box-sizing: border-box;
6383
+ margin: 0;
6384
+ border: none;
6385
+ outline: none;
6522
6386
  }
6523
- .tl-slider--disabled .tl-slider__track::after {
6524
- cursor: not-allowed;
6387
+ .tl-text-field__input::placeholder {
6388
+ color: var(--text-field-placeholder);
6525
6389
  }
6526
-
6527
- .tl-slider__value {
6390
+ .tl-text-field__input:disabled {
6391
+ background-color: var(--text-field-background-disabled);
6392
+ color: var(--text-field-text-disabled);
6393
+ user-select: none;
6394
+ pointer-events: none;
6395
+ }
6396
+ .tl-text-field__input:disabled::placeholder {
6397
+ color: var(--text-field-placeholder-disabled);
6398
+ }
6399
+ .tl-text-field__input {
6528
6400
  font-family: var(--detail-02-font-family);
6529
6401
  font-size: var(--detail-02-font-size);
6530
6402
  line-height: var(--detail-02-line-height);
6531
6403
  font-weight: var(--detail-02-font-weight);
6532
6404
  letter-spacing: var(--detail-02-letter-spacing);
6533
6405
  text-transform: var(--detail-02-text-transform);
6534
- user-select: none;
6535
- color: var(--slider-input-value);
6536
- flex-shrink: 0;
6537
- align-self: center;
6538
- }
6539
- .tl-slider--disabled .tl-slider__value {
6540
- color: var(--slider-disabled-text);
6541
- }
6542
-
6543
- .tl-slider__input-wrapper {
6544
- flex-shrink: 0;
6545
- width: auto !important;
6546
- height: auto;
6547
- min-width: auto !important;
6548
- margin-left: 0;
6549
- align-self: center;
6406
+ text-align: left;
6407
+ color: var(--text-field-text);
6408
+ flex: 1;
6409
+ order: 2;
6410
+ box-shadow: inset var(--text-field-box-shadow);
6411
+ transition: box-shadow 0.2s;
6550
6412
  }
6551
- .tl-slider__input-wrapper.tl-text-field--readonly:not(.tl-text-field--disabled)::before {
6552
- width: 16px;
6553
- height: 16px;
6554
- right: 16px;
6555
- top: 50%;
6413
+ .tl-text-field__input:focus {
6414
+ box-shadow: inset var(--text-field-box-shadow-focus);
6556
6415
  }
6557
-
6558
- .tl-slider__input-wrapper .tl-slider__input-field {
6559
- width: var(--slider-input-width, 56px);
6560
- padding: 12px;
6561
- text-align: center;
6562
- appearance: textfield;
6416
+ .tl-text-field:hover .tl-text-field__input:not(:focus):not(:disabled) {
6417
+ box-shadow: inset var(--text-field-box-shadow-hover);
6563
6418
  }
6564
- .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6565
- width: 56px;
6419
+ .tl-text-field--error .tl-text-field__input {
6420
+ box-shadow: inset var(--text-field-box-shadow-error);
6566
6421
  }
6567
- .tl-slider__input-wrapper .tl-slider__input-field::-webkit-outer-spin-button, .tl-slider__input-wrapper .tl-slider__input-field::-webkit-inner-spin-button {
6568
- appearance: none;
6569
- margin: 0;
6422
+ .tl-text-field--error .tl-text-field__input:focus {
6423
+ box-shadow: inset var(--text-field-box-shadow-error-focus);
6570
6424
  }
6571
-
6572
- .tl-slider__input-wrapper.tl-text-field--readonly:not(.tl-text-field--disabled) .tl-slider__input-field[readonly] {
6573
- width: 74px;
6574
- padding-right: 39px;
6425
+ .tl-text-field--error:hover .tl-text-field__input:not(:focus):not(:disabled) {
6426
+ box-shadow: inset var(--text-field-box-shadow-error-hover);
6575
6427
  }
6576
-
6577
- .tl-slider__value-tooltip {
6578
- font-family: var(--detail-01-font-family);
6579
- font-size: var(--detail-01-font-size);
6580
- line-height: var(--detail-01-line-height);
6581
- font-weight: var(--detail-01-font-weight);
6582
- letter-spacing: var(--detail-01-letter-spacing);
6583
- text-transform: var(--detail-01-text-transform);
6584
- user-select: none;
6585
- border-radius: 4px;
6586
- padding: 8px 11px;
6587
- position: absolute;
6588
- left: 50%;
6589
- transform: translateX(-50%);
6590
- bottom: 100%;
6591
- margin-bottom: 8px;
6592
- background-color: var(--slider-value-tooltip-background);
6593
- color: var(--slider-value-tooltip);
6594
- display: none;
6595
- white-space: nowrap;
6596
- z-index: 10;
6428
+ .tl-text-field--success:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:not(:focus) {
6429
+ box-shadow: inset var(--text-field-box-shadow-success);
6597
6430
  }
6598
- .tl-slider__value-tooltip::after {
6599
- content: "";
6600
- position: absolute;
6601
- left: 50%;
6602
- transform: translateX(-50%);
6603
- bottom: -6px;
6604
- width: 0;
6605
- height: 0;
6606
- border-left: 6px solid transparent;
6607
- border-right: 6px solid transparent;
6608
- border-top: 6px solid var(--slider-value-tooltip-background);
6431
+ .tl-text-field__input:disabled {
6432
+ box-shadow: none;
6433
+ background-color: var(--text-field-background-disabled);
6434
+ color: var(--text-field-text-disabled);
6435
+ cursor: not-allowed;
6436
+ pointer-events: none;
6609
6437
  }
6610
- .tl-slider__thumb:hover .tl-slider__value-tooltip {
6611
- display: block;
6438
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
6439
+ box-shadow: inset var(--text-field-box-shadow);
6612
6440
  }
6613
- .tl-slider--disabled .tl-slider__value-tooltip {
6614
- display: none;
6441
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input:focus {
6442
+ box-shadow: inset var(--text-field-box-shadow-focus);
6615
6443
  }
6616
-
6617
- .tl-slider__thumb {
6618
- position: absolute;
6619
- z-index: 1;
6444
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)):hover .tl-text-field__input:not(:focus) {
6445
+ box-shadow: inset var(--text-field-box-shadow-hover);
6620
6446
  }
6621
-
6622
- .tl-slider__thumb-inner {
6623
- width: 20px;
6624
- height: 20px;
6625
- border-radius: 100%;
6626
- background-color: var(--slider-thumb);
6627
- position: absolute;
6628
- top: 50%;
6629
- left: 50%;
6630
- transform: translate(-50%, -50%);
6631
- cursor: pointer;
6632
- overflow: visible;
6447
+ :has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-text-field__input {
6448
+ user-select: auto;
6449
+ caret-color: transparent;
6450
+ cursor: default;
6451
+ pointer-events: none;
6633
6452
  }
6634
- .tl-slider__thumb-inner::before {
6635
- content: " ";
6636
- display: none;
6637
- width: 48px;
6638
- height: 48px;
6639
- background-color: var(--slider-thumb);
6640
- position: absolute;
6641
- border-radius: 100%;
6642
- top: 50%;
6643
- left: 50%;
6644
- transform: translate(-50%, -50%);
6645
- opacity: 0.17;
6453
+ .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 {
6454
+ padding-right: 54px;
6646
6455
  }
6647
- .tl-slider__thumb-inner:hover::before {
6648
- display: block;
6456
+ .tl-text-field--lg .tl-text-field__input {
6457
+ padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
6649
6458
  }
6650
- .tl-slider__thumb-inner--pressed {
6651
- width: 24px;
6652
- height: 24px;
6459
+ .tl-text-field--md .tl-text-field__input {
6460
+ padding: var(--tds-spacing-element-16);
6653
6461
  }
6654
- .tl-slider__thumb-inner--pressed::before {
6655
- display: block;
6656
- opacity: 0.35;
6462
+ .tl-text-field--sm .tl-text-field__input {
6463
+ padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
6657
6464
  }
6658
- .tl-slider--small .tl-slider__thumb-inner {
6659
- width: 16px;
6660
- height: 16px;
6465
+ .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__input {
6466
+ padding-top: var(--tds-spacing-element-24);
6467
+ padding-bottom: 15px;
6661
6468
  }
6662
- .tl-slider--small .tl-slider__thumb-inner::before {
6663
- width: 40px;
6664
- height: 40px;
6469
+ .tl-text-field--label-inside.tl-text-field--md .tl-text-field__input {
6470
+ padding-top: var(--tds-spacing-element-20);
6471
+ padding-bottom: 11px;
6665
6472
  }
6666
- .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
6667
- width: 20px;
6668
- height: 20px;
6473
+ .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__input:not(:focus):placeholder-shown {
6474
+ padding-top: var(--tds-spacing-element-16);
6475
+ padding-bottom: 7px;
6669
6476
  }
6670
- .tl-slider--disabled .tl-slider__thumb-inner {
6671
- background-color: var(--slider-disabled);
6672
- cursor: default;
6477
+ .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
6478
+ padding-left: 44px;
6673
6479
  }
6674
- .tl-slider--disabled .tl-slider__thumb-inner::before {
6675
- display: none;
6480
+ .tl-text-field:has(.tl-text-field__prefix--text) .tl-text-field__input {
6481
+ padding-left: calc(16px + var(--text-field-affix-width-text) + 8px);
6676
6482
  }
6677
-
6678
- .tl-slider__value-dividers {
6679
- pointer-events: none;
6680
- position: absolute;
6681
- display: flex;
6682
- justify-content: space-between;
6683
- width: 100%;
6684
- top: 0;
6685
- z-index: 0;
6483
+ .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
6484
+ padding-right: 44px;
6686
6485
  }
6687
-
6688
- .tl-slider__value-divider {
6689
- position: relative;
6690
- display: flex;
6691
- flex-direction: column;
6692
- align-items: center;
6693
- height: 16px;
6486
+ .tl-text-field:has(.tl-text-field__suffix--text) .tl-text-field__input {
6487
+ padding-right: calc(16px + var(--text-field-affix-width-text) + 8px);
6694
6488
  }
6695
-
6696
- .tl-slider__value-divider-line {
6697
- position: absolute;
6698
- width: 1px;
6699
- height: 16px;
6700
- background-color: var(--slider-divider);
6701
- top: 0;
6702
- left: 50%;
6703
- transform: translate(-50%, -50%);
6489
+ .tl-text-field--label-inside .tl-text-field__input::placeholder {
6490
+ color: transparent !important;
6704
6491
  }
6705
- .tl-slider--disabled .tl-slider__value-divider-line {
6706
- background-color: var(--slider-disabled);
6492
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
6493
+ color: var(--text-field-placeholder-disabled) !important;
6707
6494
  }
6708
6495
 
6709
- .tl-slider__value-divider-label {
6496
+ .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
6710
6497
  font-family: var(--detail-05-font-family);
6711
6498
  font-size: var(--detail-05-font-size);
6712
6499
  line-height: var(--detail-05-line-height);
6713
6500
  font-weight: var(--detail-05-font-weight);
6714
6501
  letter-spacing: var(--detail-05-letter-spacing);
6715
6502
  text-transform: var(--detail-05-text-transform);
6716
- position: absolute;
6717
- bottom: 100%;
6718
- left: 50%;
6719
- transform: translateX(-50%);
6720
- margin-bottom: 16px;
6721
- width: 50px;
6722
- text-align: center;
6723
- white-space: nowrap;
6724
- user-select: none;
6725
- color: var(--slider-divider-values);
6726
- }
6727
- .tl-slider--disabled .tl-slider__value-divider-label {
6728
- color: var(--slider-disabled-text);
6503
+ display: block;
6504
+ margin-bottom: 8px;
6505
+ color: var(--text-field-label);
6729
6506
  }
6730
-
6731
- .tl-slider__track-fill {
6732
- background-color: var(--slider-track-fill);
6733
- border-radius: 2px;
6734
- height: 4px;
6507
+ .tl-text-field--label-inside .tl-text-field__label {
6508
+ font-family: var(--detail-02-font-family);
6509
+ font-size: var(--detail-02-font-size);
6510
+ line-height: var(--detail-02-line-height);
6511
+ font-weight: var(--detail-02-font-weight);
6512
+ letter-spacing: var(--detail-02-letter-spacing);
6513
+ text-transform: var(--detail-02-text-transform);
6735
6514
  position: absolute;
6736
- left: 0;
6737
- top: -1px;
6515
+ top: 50%;
6516
+ left: var(--text-field-label-inside-left, 16px);
6517
+ color: var(--text-field-label-inside);
6518
+ pointer-events: none;
6519
+ transform: translateY(-50%);
6520
+ transform-origin: top left;
6521
+ transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
6738
6522
  z-index: 1;
6739
6523
  }
6740
- .tl-slider--disabled .tl-slider__track-fill {
6741
- background-color: var(--slider-disabled);
6524
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
6525
+ left: 44px;
6742
6526
  }
6743
-
6744
- .tl-slider__native-input {
6745
- display: none;
6527
+ .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field__label {
6528
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
6746
6529
  }
6747
-
6748
- /* Component variables */
6749
- .tl-spinner {
6750
- --tl-spinner-background: var(--component-spinner-color);
6751
- --tl-spinner-background-inverted: var(--color-brand-neutral-white);
6752
- --tl-spinner-speed: 1.8s;
6753
- --tl-spinner-speed-lg: 2s;
6754
- --tl-spinner-radius-xs: 8px;
6755
- --tl-spinner-radius-sm: 12px;
6756
- --tl-spinner-radius-md: 26px;
6757
- --tl-spinner-radius-lg: 42px;
6758
- --tl-spinner-stroke-width-xs: 3px;
6759
- --tl-spinner-stroke-width-sm: 4px;
6760
- --tl-spinner-stroke-width-md: 6px;
6761
- --tl-spinner-stroke-width-lg: 8px;
6762
- --tl-spinner-PI: 3.14159265358979;
6763
- --tl-spinner-radius: var(--tl-spinner-radius-lg);
6764
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
6765
- --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6766
- }
6767
-
6768
- .tl-spinner {
6769
- box-sizing: border-box;
6770
- }
6771
- .tl-spinner * {
6772
- box-sizing: border-box;
6773
- }
6774
- .tl-spinner {
6775
- display: block;
6776
- width: calc(var(--tl-spinner-radius) * 2);
6777
- height: calc(var(--tl-spinner-radius) * 2);
6778
- transform: scale(-1, 1) rotate(-90deg);
6779
- }
6780
- .tl-spinner--xs {
6781
- --tl-spinner-radius: var(--tl-spinner-radius-xs);
6782
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-xs);
6783
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
6784
- }
6785
- .tl-spinner--sm {
6786
- --tl-spinner-radius: var(--tl-spinner-radius-sm);
6787
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-sm);
6788
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
6789
- }
6790
- .tl-spinner--md {
6791
- --tl-spinner-radius: var(--tl-spinner-radius-md);
6792
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-md);
6793
- --tl-spinner-animation-speed: var(--tl-spinner-speed);
6794
- }
6795
- .tl-spinner--lg {
6796
- --tl-spinner-radius: var(--tl-spinner-radius-lg);
6797
- --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
6798
- --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
6530
+ .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 {
6531
+ font-family: var(--detail-07-font-family);
6532
+ font-size: var(--detail-07-font-size);
6533
+ line-height: var(--detail-07-line-height);
6534
+ font-weight: var(--detail-07-font-weight);
6535
+ letter-spacing: var(--detail-07-letter-spacing);
6536
+ text-transform: var(--detail-07-text-transform);
6537
+ top: 8px;
6538
+ transform: translateY(0);
6539
+ transition: 0.1s ease all;
6799
6540
  }
6800
- .tl-spinner--default {
6801
- stroke: var(--tl-spinner-background);
6541
+ .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 {
6542
+ left: 44px;
6802
6543
  }
6803
- .tl-spinner--inverted {
6804
- stroke: var(--tl-spinner-background-inverted);
6544
+ .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 {
6545
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
6805
6546
  }
6806
-
6807
- .tl-spinner__circle {
6808
- cx: var(--tl-spinner-radius);
6809
- cy: var(--tl-spinner-radius);
6810
- r: calc(var(--tl-spinner-radius) - var(--tl-spinner-stroke-width) / 2);
6811
- fill: none;
6812
- --tl-spinner-stroke-dash: calc((2 * var(--tl-spinner-PI)) * var(--tl-spinner-radius));
6813
- stroke-dasharray: var(--tl-spinner-stroke-dash);
6814
- stroke-width: var(--tl-spinner-stroke-width);
6815
- animation: tl-spinner-dash var(--tl-spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
6547
+ .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 {
6548
+ opacity: 0;
6549
+ visibility: hidden;
6816
6550
  }
6817
-
6818
- @keyframes tl-spinner-dash {
6819
- from {
6820
- stroke-dashoffset: calc(-1 * var(--tl-spinner-stroke-dash));
6821
- }
6822
- to {
6823
- stroke-dashoffset: var(--tl-spinner-stroke-dash);
6824
- }
6551
+ .tl-text-field--label-inside:has(.tl-text-field__input:disabled) .tl-text-field__label {
6552
+ color: var(--text-field-label-disabled);
6825
6553
  }
6826
- .tl-stepper {
6827
- --stepper-current-number-with-border: var(--color-foreground-border-strong);
6828
- --stepper-icon-step-border-warning: var(--color-system-danger-default);
6829
- --stepper-icon-step-border-success: var(--component-stepper-success);
6830
- --stepper-icon-step-checkmark: var(--color-foreground-icon-inverse-strong);
6831
- --stepper-label-text-upcoming: var(--color-foreground-text-disabled);
6832
- --stepper-label-border-upcoming: var(--color-foreground-border-discrete);
6833
- --stepper-divider-line: var(--color-foreground-icon-disabled);
6554
+ .tl-text-field:not(.tl-text-field--label-inside):has(.tl-text-field__input:disabled) .tl-text-field__label {
6555
+ color: var(--text-field-label-disabled);
6834
6556
  }
6835
6557
 
6836
- .tl-stepper__step {
6837
- position: relative;
6558
+ .tl-text-field__bottom {
6838
6559
  display: flex;
6839
- justify-content: start;
6840
- flex-direction: row;
6841
- align-items: center;
6842
6560
  gap: 8px;
6561
+ padding-top: 4px;
6843
6562
  }
6844
- .tl-stepper--label-below .tl-stepper__step {
6845
- flex-direction: column;
6846
- }
6847
- .tl-stepper--lg .tl-stepper__step {
6848
- font-family: var(--detail-01-font-family);
6849
- font-size: var(--detail-01-font-size);
6850
- line-height: var(--detail-01-line-height);
6851
- font-weight: var(--detail-01-font-weight);
6852
- letter-spacing: var(--detail-01-letter-spacing);
6853
- text-transform: var(--detail-01-text-transform);
6854
- padding: 0 20px;
6855
- }
6856
- .tl-stepper--sm .tl-stepper__step {
6563
+
6564
+ .tl-text-field__helper {
6857
6565
  font-family: var(--detail-05-font-family);
6858
6566
  font-size: var(--detail-05-font-size);
6859
6567
  line-height: var(--detail-05-line-height);
6860
6568
  font-weight: var(--detail-05-font-weight);
6861
6569
  letter-spacing: var(--detail-05-letter-spacing);
6862
6570
  text-transform: var(--detail-05-text-transform);
6863
- padding: 0 20px;
6864
- }
6865
- .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
6866
- flex: 1 1 0;
6867
- min-inline-size: 60px;
6868
- }
6869
- .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
6870
- flex: 0 0 auto;
6871
- min-inline-size: auto;
6571
+ color: var(--text-field-helper);
6572
+ position: relative;
6872
6573
  }
6873
- .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
6874
- min-inline-size: 40px;
6574
+ :has(.tl-text-field__input:disabled) .tl-text-field__helper {
6575
+ color: var(--color-foreground-text-disabled);
6875
6576
  }
6876
- .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
6877
- min-inline-size: 40px;
6577
+ .tl-text-field--error .tl-text-field__helper {
6578
+ padding-left: 24px;
6878
6579
  }
6879
- .tl-stepper--horizontal.tl-stepper--sm.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
6880
- min-inline-size: 48px;
6580
+ .tl-text-field--error .tl-text-field__helper::before {
6581
+ content: "";
6582
+ position: absolute;
6583
+ left: 0;
6584
+ top: 0;
6585
+ width: 16px;
6586
+ height: 16px;
6587
+ background-color: var(--text-field-error);
6588
+ mask-image: var(--icon-error-svg);
6589
+ mask-size: contain;
6590
+ mask-repeat: no-repeat;
6591
+ mask-position: center;
6881
6592
  }
6882
- .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
6883
- display: none;
6593
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper {
6594
+ padding-left: 0;
6884
6595
  }
6885
- .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 {
6596
+ .tl-text-field--error:has(.tl-text-field__input[readonly]) .tl-text-field__helper::before {
6886
6597
  display: none;
6887
6598
  }
6888
- .tl-stepper--lg .tl-stepper__step::after {
6889
- content: " ";
6890
- position: absolute;
6891
- background-color: var(--stepper-divider-line);
6599
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__helper {
6600
+ color: var(--text-field-error);
6892
6601
  }
6893
- .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
6894
- height: 36px;
6895
- width: 1px;
6896
- top: 40px;
6897
- left: 36px;
6602
+ .tl-text-field--error:has(.tl-text-field__input:disabled) .tl-text-field__helper::before {
6603
+ background-color: var(--color-foreground-text-disabled);
6898
6604
  }
6899
- .tl-stepper--lg.tl-stepper--horizontal .tl-stepper__step::after {
6900
- height: 1px;
6901
- left: calc(50% + 15px + 8px);
6902
- right: calc(-50% + 15px + 8px);
6903
- top: 16px;
6605
+
6606
+ .tl-text-field__charcounter {
6607
+ font-family: var(--detail-05-font-family);
6608
+ font-size: var(--detail-05-font-size);
6609
+ line-height: var(--detail-05-line-height);
6610
+ font-weight: var(--detail-05-font-weight);
6611
+ letter-spacing: var(--detail-05-letter-spacing);
6612
+ text-transform: var(--detail-05-text-transform);
6613
+ margin-left: auto;
6614
+ color: var(--text-field-textcounter);
6904
6615
  }
6905
- .tl-stepper--lg.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
6906
- height: 1px;
6907
- top: 16px;
6908
- width: 10px;
6909
- left: auto;
6910
- right: -10px;
6616
+ :has(.tl-text-field__input:disabled) .tl-text-field__charcounter {
6617
+ color: var(--color-foreground-text-disabled);
6911
6618
  }
6912
- .tl-stepper--sm.tl-stepper--vertical .tl-stepper__step::after {
6913
- content: " ";
6914
- position: absolute;
6915
- background-color: var(--stepper-divider-line);
6916
- height: 20px;
6917
- width: 1px;
6918
- top: 34px;
6919
- left: 32px;
6619
+ .tl-text-field--error:not(:has(.tl-text-field__input[readonly])):not(:has(.tl-text-field__input:disabled)) .tl-text-field__charcounter {
6620
+ color: var(--text-field-error);
6920
6621
  }
6921
- .tl-stepper--sm.tl-stepper--horizontal .tl-stepper__step::after {
6922
- content: " ";
6923
- position: absolute;
6924
- background-color: var(--stepper-divider-line);
6925
- height: 1px;
6926
- left: calc(50% + 12px + 8px);
6927
- right: calc(-50% + 12px + 8px);
6928
- top: 13px;
6622
+ .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 {
6623
+ color: var(--text-field-error);
6929
6624
  }
6930
- .tl-stepper--sm.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
6931
- content: " ";
6932
- position: absolute;
6933
- background-color: var(--stepper-divider-line);
6934
- height: 1px;
6935
- top: 13px;
6936
- width: 10px;
6937
- left: auto;
6938
- right: -10px;
6625
+
6626
+ .tl-text-field__charcounter-divider {
6627
+ color: var(--color-foreground-text-disabled);
6939
6628
  }
6940
6629
 
6941
- .tl-stepper__node {
6630
+ .tl-text-field__prefix {
6631
+ font-family: var(--detail-02-font-family);
6632
+ font-size: var(--detail-02-font-size);
6633
+ line-height: var(--detail-02-line-height);
6634
+ font-weight: var(--detail-02-font-weight);
6635
+ letter-spacing: var(--detail-02-letter-spacing);
6636
+ text-transform: var(--detail-02-text-transform);
6637
+ color: var(--text-field-affix);
6638
+ align-self: center;
6942
6639
  display: flex;
6943
6640
  align-items: center;
6944
- justify-content: space-around;
6945
- border-radius: 100px;
6946
- border-width: 1px;
6947
- border-style: solid;
6948
- text-align: center;
6641
+ z-index: 1;
6949
6642
  position: relative;
6950
6643
  }
6951
- .tl-stepper--lg .tl-stepper__node {
6952
- height: 30px;
6953
- min-width: 30px;
6954
- font-size: 14px;
6644
+ .tl-text-field__prefix--text, .tl-text-field__prefix--icon {
6645
+ position: absolute;
6646
+ left: 16px;
6647
+ top: 50%;
6648
+ transform: translateY(calc(-50% - 1px));
6649
+ z-index: 1;
6955
6650
  }
6956
- .tl-stepper--sm .tl-stepper__node {
6957
- height: 24px;
6958
- min-width: 24px;
6651
+ .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 {
6652
+ transform: translateY(calc(-50% + 24px));
6959
6653
  }
6960
- .tl-stepper__step--error .tl-stepper__node {
6961
- border-color: var(--stepper-icon-step-border-warning);
6962
- color: var(--stepper-icon-step-border-warning);
6654
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--text, :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon {
6655
+ color: var(--text-field-affix-disabled);
6963
6656
  }
6964
- .tl-stepper__step--success .tl-stepper__node {
6965
- background-color: var(--stepper-icon-step-border-success);
6966
- border-color: var(--stepper-icon-step-border-success);
6967
- color: var(--stepper-icon-step-checkmark);
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);
6968
6659
  }
6969
- .tl-stepper__step--current .tl-stepper__node {
6970
- color: var(--stepper-current-number-with-border);
6660
+ :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 {
6661
+ background-color: var(--text-field-affix-disabled);
6971
6662
  }
6972
- .tl-stepper__step--upcoming .tl-stepper__node {
6973
- border-color: var(--stepper-label-border-upcoming);
6974
- color: var(--stepper-label-text-upcoming);
6663
+ :has(.tl-text-field__input:disabled) .tl-text-field__prefix--icon.tl-icon {
6664
+ background-color: var(--text-field-affix-disabled);
6975
6665
  }
6976
- .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
6977
- justify-content: center;
6666
+
6667
+ .tl-text-field__suffix {
6668
+ font-family: var(--detail-02-font-family);
6669
+ font-size: var(--detail-02-font-size);
6670
+ line-height: var(--detail-02-line-height);
6671
+ font-weight: var(--detail-02-font-weight);
6672
+ letter-spacing: var(--detail-02-letter-spacing);
6673
+ text-transform: var(--detail-02-text-transform);
6674
+ color: var(--text-field-affix);
6675
+ align-self: center;
6676
+ display: flex;
6677
+ align-items: center;
6678
+ z-index: 1;
6679
+ position: relative;
6978
6680
  }
6979
- .tl-stepper__step--success .tl-stepper__node::after, .tl-stepper__step--error .tl-stepper__node::after {
6980
- content: "";
6981
- display: block;
6982
- width: 20px;
6983
- height: 20px;
6984
- mask-repeat: no-repeat;
6985
- mask-position: center;
6986
- mask-size: contain;
6987
- background-color: currentcolor;
6681
+ .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
6682
+ position: absolute;
6683
+ right: 16px;
6684
+ top: 50%;
6685
+ transform: translateY(calc(-50% - 1px));
6686
+ z-index: 1;
6988
6687
  }
6989
- .tl-stepper__step--success .tl-stepper__node::after {
6990
- mask-image: var(--icon-tick-svg);
6688
+ .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 {
6689
+ transform: translateY(calc(-50% + 24px));
6991
6690
  }
6992
- .tl-stepper__step--error .tl-stepper__node::after {
6993
- mask-image: var(--icon-warning-svg);
6691
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
6692
+ color: var(--text-field-affix-disabled);
6994
6693
  }
6995
-
6996
- .tl-stepper--sm .tl-stepper__step--success .tl-stepper__node::after,
6997
- .tl-stepper--sm .tl-stepper__step--error .tl-stepper__node::after {
6998
- width: 16px;
6999
- height: 16px;
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);
6696
+ }
6697
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
6698
+ :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,
6699
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
6700
+ background-color: var(--text-field-affix-disabled) !important;
7000
6701
  }
7001
6702
 
7002
- .tl-stepper__label {
7003
- text-align: center;
6703
+ .tl-text-field__suffix {
6704
+ font-family: var(--detail-02-font-family);
6705
+ font-size: var(--detail-02-font-size);
6706
+ line-height: var(--detail-02-line-height);
6707
+ font-weight: var(--detail-02-font-weight);
6708
+ letter-spacing: var(--detail-02-letter-spacing);
6709
+ text-transform: var(--detail-02-text-transform);
6710
+ color: var(--text-field-affix);
6711
+ align-self: center;
6712
+ display: flex;
6713
+ align-items: center;
6714
+ z-index: 1;
6715
+ position: relative;
6716
+ right: 16px;
6717
+ padding-right: 0;
6718
+ z-index: 1;
7004
6719
  }
7005
- .tl-stepper--lg .tl-stepper__label {
7006
- font-family: var(--detail-01-font-family);
7007
- font-size: var(--detail-01-font-size);
7008
- line-height: var(--detail-01-line-height);
7009
- font-weight: var(--detail-01-font-weight);
7010
- letter-spacing: var(--detail-01-letter-spacing);
7011
- text-transform: var(--detail-01-text-transform);
7012
- font-size: 14px;
6720
+ .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 {
6721
+ transform: translateY(calc(-50% + 24px));
7013
6722
  }
7014
- .tl-stepper--sm .tl-stepper__label {
7015
- font-family: var(--detail-05-font-family);
7016
- font-size: var(--detail-05-font-size);
7017
- line-height: var(--detail-05-line-height);
7018
- font-weight: var(--detail-05-font-weight);
7019
- letter-spacing: var(--detail-05-letter-spacing);
7020
- text-transform: var(--detail-05-text-transform);
6723
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text, :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon {
6724
+ color: var(--text-field-affix-disabled);
7021
6725
  }
7022
- .tl-stepper__step--upcoming .tl-stepper__label {
7023
- color: var(--stepper-label-text-upcoming);
7024
- opacity: var(--tds-stepper-label-text-opacity-upcoming);
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);
7025
6728
  }
7026
- .tl-stepper--hide-labels .tl-stepper__label {
7027
- position: absolute;
7028
- inline-size: 1px;
7029
- block-size: 1px;
7030
- margin: -1px;
7031
- padding: 0;
7032
- border: 0;
7033
- overflow: hidden;
7034
- clip: rect(0 0 0 0);
7035
- clip-path: inset(50%);
7036
- white-space: nowrap;
6729
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--text .tl-icon,
6730
+ :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,
6731
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon > .tl-icon {
6732
+ background-color: var(--text-field-affix-disabled);
6733
+ }
6734
+ :has(.tl-text-field__input:disabled) .tl-text-field__suffix--icon.tl-icon {
6735
+ background-color: var(--text-field-affix-disabled);
7037
6736
  }
7038
6737
 
7039
- .tl-stepper {
6738
+ .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
6739
+ .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
6740
+ font-family: var(--detail-07-font-family);
6741
+ font-size: var(--detail-07-font-size);
6742
+ line-height: var(--detail-07-line-height);
6743
+ font-weight: var(--detail-07-font-weight);
6744
+ letter-spacing: var(--detail-07-letter-spacing);
6745
+ text-transform: var(--detail-07-text-transform);
6746
+ top: 7.5px;
6747
+ left: var(--text-field-label-inside-left, 16px);
6748
+ transform: none;
6749
+ }
6750
+ .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,
6751
+ .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 {
6752
+ left: 44px;
6753
+ }
6754
+ .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,
6755
+ .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 {
6756
+ left: calc(16px + var(--text-field-affix-width-text) + 8px);
6757
+ }
6758
+
6759
+ .tl-slider {
7040
6760
  box-sizing: border-box;
7041
6761
  }
7042
- .tl-stepper * {
6762
+ .tl-slider * {
7043
6763
  box-sizing: border-box;
7044
6764
  }
7045
- .tl-stepper {
7046
- display: table;
7047
- table-layout: fixed;
6765
+ .tl-slider {
7048
6766
  width: 100%;
7049
- list-style: none;
7050
6767
  }
7051
-
7052
- .tl-stepper__list {
7053
- display: flex;
7054
- justify-content: space-evenly;
7055
- min-width: 100%;
7056
- list-style: none;
7057
- margin: 0;
7058
- padding: 0;
6768
+ .tl-slider:has(input[type=range][readonly]):not(:has(input[type=range]:disabled)) {
6769
+ pointer-events: none;
7059
6770
  }
7060
- .tl-stepper:not(.tl-stepper--label-aside) .tl-stepper__list {
7061
- width: 100%;
6771
+
6772
+ .tl-slider__label {
6773
+ font-family: var(--detail-05-font-family);
6774
+ font-size: var(--detail-05-font-size);
6775
+ line-height: var(--detail-05-line-height);
6776
+ font-weight: var(--detail-05-font-weight);
6777
+ letter-spacing: var(--detail-05-letter-spacing);
6778
+ text-transform: var(--detail-05-text-transform);
6779
+ user-select: none;
6780
+ color: var(--slider-label);
6781
+ display: block;
6782
+ margin-bottom: 24px;
6783
+ margin-left: -2px;
7062
6784
  }
7063
- .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list {
7064
- justify-content: flex-start;
6785
+ .tl-slider:has(.tl-slider__value-divider-label) .tl-slider__label {
6786
+ margin-bottom: 44px;
7065
6787
  }
7066
- .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list {
7067
- display: flex;
7068
- justify-content: flex-start;
7069
- min-width: 100%;
6788
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus) .tl-slider__label {
6789
+ margin-bottom: 2px;
6790
+ padding-left: 11px;
6791
+ margin-left: 0;
7070
6792
  }
7071
- .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list {
7072
- display: flex;
7073
- justify-content: flex-start;
6793
+ .tl-slider:has(.tl-slider__control-minus, .tl-slider__control-plus):has(.tl-slider__value-divider-label) .tl-slider__label {
6794
+ margin-bottom: 20px;
6795
+ padding-left: 11px;
6796
+ margin-left: 0;
7074
6797
  }
7075
- .tl-stepper--vertical .tl-stepper__list {
7076
- height: 100%;
7077
- display: flex;
7078
- flex-direction: column;
7079
- justify-content: flex-start;
7080
- gap: 52px;
7081
- min-width: 0;
6798
+ .tl-slider:has(.tl-slider__input-wrapper) .tl-slider__label {
6799
+ margin-bottom: 2px;
6800
+ margin-left: 0;
7082
6801
  }
7083
- .tl-stepper--vertical.tl-stepper--sm .tl-stepper__list {
7084
- gap: 36px;
6802
+ :has(input[type=range]:disabled) .tl-slider__label {
6803
+ color: var(--slider-disabled-text);
7085
6804
  }
7086
6805
 
7087
- .tl-table {
7088
- /* Table-text */
7089
- --table-text: var(--color-foreground-text-strong);
7090
- /* Table-body-cell */
7091
- --table-body-cell-hover: var(--component-table-cell-hover);
7092
- /* Table-body-row */
7093
- --table-body-row: var(--component-table-cell);
7094
- --table-body-row-hover: var(--component-table-cell-hover);
7095
- --table-zebra-mode: var(--component-table-secondary-cell);
7096
- --table-body-row-selected: var(--color-background-surface-300);
7097
- --table-body-row-selected-hover: var(--color-background-surface-400);
7098
- /* Table input body */
7099
- --table-input-focus: var(--color-background-layer-02);
7100
- --table-input-hover: var(--color-background-layer-03);
7101
- --table-input-disabled: var(--color-background-layer-01);
7102
- --table-input-text-disabled: var(--color-foreground-text-subtle);
7103
- /* Table input header */
7104
- --table-input-header-icon: var(--color-foreground-icon-soft);
7105
- --table-input-header-placeholder: var(--color-foreground-text-subtle);
7106
- --table-input-header-focus: var(--color-background-layer-01);
7107
- /* Table-footer */
7108
- --table-footer: var(--component-table-pagination-base);
7109
- --table-footer-page-selector-input: var(--component-table-pagination-dropdown);
7110
- --table-footer-page-selector-input-hover: var(--color-background-layer-03);
7111
- --table-footer-page-selector-input-disabled: var(--color-background-layer-01);
7112
- --table-footer-button-hover: var(--color-background-surface-300);
7113
- /* Table-header */
7114
- --table-header: var(--color-background-surface-300);
7115
- --table-header-hover: var(--color-background-surface-400);
7116
- --table-header-button: var(--color-background-surface-200);
7117
- --table-header-button-hover: var(--color-background-surface-300);
7118
- --table-header-button-focus: var(--color-foreground-border-accent-focus);
7119
- /* Table-toolbar */
7120
- --table-toolbar: var(--color-background-surface-400);
7121
- --table-toolbar-searchbar: var(--component-table-pagination-dropdown);
7122
- --table-toolbar-searchbar-hover: var(--component-table-pagination-base);
7123
- --table-toolbar-searchbar-border-bottom: var(--color-foreground-border-accent-focus);
7124
- /* Divider */
7125
- --table-divider: var(--color-foreground-border-discrete);
7126
- /* Table-icons */
7127
- --table-icon: var(--color-foreground-icon-strong);
7128
- --table-icon-disabled: var(--color-foreground-icon-disabled);
7129
- }
7130
- .tl-table.tl-table--primary {
7131
- --table-body-row: var(--component-table-cell);
7132
- --table-body-row-hover: var(--component-table-cell-hover);
7133
- --table-body-cell-hover: var(--component-table-cell-hover);
7134
- --table-zebra-mode: var(--component-table-secondary-cell);
6806
+ .tl-slider__track-wrapper {
6807
+ position: relative;
6808
+ display: flex;
6809
+ align-items: center;
6810
+ gap: 5px;
7135
6811
  }
7136
- .tl-table.tl-table--secondary {
7137
- --table-body-row: var(--component-table-secondary-cell);
7138
- --table-body-row-hover: var(--component-table-cell-hover);
7139
- --table-body-cell-hover: var(--component-table-cell-hover);
7140
- --table-zebra-mode: var(--component-table-cell);
6812
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) {
6813
+ gap: 16px;
6814
+ align-items: center;
6815
+ height: 41px;
7141
6816
  }
7142
6817
 
7143
- .tds-mode-dark .tl-table.tl-table--secondary {
7144
- --table-body-cell-hover: var(--color-background-surface-300);
7145
- --table-body-row-hover: var(--color-background-surface-300);
6818
+ .tl-slider__control-minus,
6819
+ .tl-slider__control-plus {
6820
+ flex-shrink: 0;
6821
+ border: none;
7146
6822
  }
7147
6823
 
7148
- .tl-table__footer {
7149
- display: table-footer-group;
7150
- height: var(--tds-spacing-element-48);
7151
- }
7152
- .tl-table--compact .tl-table__footer {
7153
- height: var(--tds-spacing-element-32);
7154
- }
7155
-
7156
- .tl-table__footer .tl-dropdown__text {
7157
- max-width: calc(100% - 20px);
6824
+ .tl-slider__track {
6825
+ position: relative;
6826
+ flex: 1;
6827
+ min-height: 2px;
6828
+ background-color: var(--slider-track);
6829
+ border-radius: var(--slider-border-radius);
7158
6830
  }
7159
-
7160
- .tl-table__footer .tl-dropdown--sm :is(.tl-dropdown__button, .tl-dropdown__select, .tl-dropdown__input),
7161
- .tl-table__footer .tl-dropdown__option {
7162
- height: 29px;
6831
+ .tl-slider__track-wrapper:has(.tl-slider__input-wrapper) .tl-slider__track {
6832
+ height: 2px;
6833
+ align-self: center;
7163
6834
  }
7164
-
7165
- .tl-table__footer-row {
7166
- display: table-row;
7167
- border-bottom: 1px solid var(--table-divider);
7168
- background-color: var(--table-footer);
7169
- color: var(--table-text);
7170
- transition: background-color 200ms ease;
6835
+ .tl-slider__track::after {
6836
+ content: "";
6837
+ position: absolute;
6838
+ left: 0;
6839
+ right: 0;
6840
+ top: -10px;
6841
+ bottom: -10px;
6842
+ cursor: pointer;
6843
+ z-index: 0;
7171
6844
  }
7172
-
7173
- .tl-table__footer-cell {
7174
- padding: 0 var(--tds-spacing-element-16);
6845
+ .tl-slider__track:focus {
6846
+ outline: 0;
7175
6847
  }
7176
-
7177
- .tl-table__pagination {
7178
- height: var(--tds-spacing-element-48);
7179
- display: flex;
7180
- align-items: center;
7181
- justify-content: space-between;
6848
+ .tl-slider__track:focus .tl-slider__thumb-inner {
6849
+ width: 24px;
6850
+ height: 24px;
7182
6851
  }
7183
- .tl-table--compact .tl-table__pagination {
7184
- height: var(--tds-spacing-element-32);
6852
+ .tl-slider__track:focus .tl-slider__thumb-inner::before {
6853
+ display: block;
6854
+ opacity: 0.08;
7185
6855
  }
7186
-
7187
- .tl-table__row-selector,
7188
- .tl-table__page-selector {
7189
- display: flex;
7190
- align-items: center;
6856
+ .tl-slider__track:focus-within .tl-slider__thumb-inner {
6857
+ outline: 2px solid var(--slider-input-focused);
6858
+ box-shadow: 0 0 0 1px var(--color-background-layer-01);
6859
+ outline-offset: 1px;
6860
+ z-index: 1;
7191
6861
  }
7192
-
7193
- .tl-table__rows-per-page {
7194
- margin-right: var(--tds-spacing-element-16);
7195
- display: flex;
7196
- align-items: center;
6862
+ .tl-slider__track:disabled {
6863
+ cursor: not-allowed;
6864
+ background-color: var(--slider-disabled);
7197
6865
  }
7198
-
7199
- .tl-table__rows-per-page-label {
7200
- margin-right: var(--tds-spacing-element-8);
7201
- font-family: var(--detail-02-font-family);
6866
+ .tl-slider__track:disabled::after {
6867
+ cursor: not-allowed;
7202
6868
  }
7203
6869
 
7204
- .tl-table__rows-per-page-select {
7205
- background-color: var(--table-footer-page-selector-input);
7206
- color: var(--table-text);
7207
- height: 30px;
7208
- border: none;
7209
- border-radius: var(--tds-spacing-element-4);
7210
- padding: 0 var(--tds-spacing-element-8);
7211
- transition: background-color 250ms ease;
6870
+ .tl-slider__value {
7212
6871
  font-family: var(--detail-02-font-family);
6872
+ font-size: var(--detail-02-font-size);
6873
+ line-height: var(--detail-02-line-height);
6874
+ font-weight: var(--detail-02-font-weight);
6875
+ letter-spacing: var(--detail-02-letter-spacing);
6876
+ text-transform: var(--detail-02-text-transform);
6877
+ user-select: none;
6878
+ color: var(--slider-input-value);
6879
+ flex-shrink: 0;
6880
+ align-self: center;
7213
6881
  }
7214
- .tl-table__rows-per-page-select:hover {
7215
- background-color: var(--table-footer-page-selector-input-hover);
6882
+ :has(input[type=range]:disabled) .tl-slider__value {
6883
+ color: var(--slider-disabled-text);
7216
6884
  }
7217
- .tl-table__rows-per-page-select:disabled {
7218
- color: var(--table-footer-page-selector-input-color-disabled);
6885
+
6886
+ .tl-slider__input-wrapper {
6887
+ flex-shrink: 0;
6888
+ width: auto;
6889
+ height: auto;
6890
+ min-width: auto;
6891
+ margin-left: 0;
6892
+ align-self: center;
7219
6893
  }
7220
- .tl-table--compact .tl-table__rows-per-page-select {
7221
- height: var(--tds-spacing-element-24);
6894
+ .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 {
6895
+ width: 16px;
6896
+ height: 16px;
6897
+ right: 16px;
6898
+ top: 50%;
6899
+ transform: translateY(-50%);
7222
6900
  }
7223
6901
 
7224
- .tl-table__page-selector-input {
7225
- background-color: var(--table-footer-page-selector-input);
7226
- border-radius: var(--tds-spacing-element-4);
7227
- color: var(--table-text);
7228
- margin-right: var(--tds-spacing-element-4);
7229
- padding-right: var(--tds-spacing-element-8);
7230
- width: 74px;
7231
- height: 30px;
7232
- border: none;
7233
- transition: background-color 250ms ease;
7234
- font-family: var(--detail-02-font-family);
7235
- }
7236
- .tl-table__page-selector-input:hover {
7237
- background-color: var(--table-footer-page-selector-input-hover);
6902
+ .tl-slider__input-wrapper .tl-slider__input-field {
6903
+ width: var(--slider-input-width, 56px);
6904
+ padding: 12px;
6905
+ text-align: center;
6906
+ appearance: textfield;
7238
6907
  }
7239
- .tl-table__page-selector-input:disabled {
7240
- color: var(--table-footer-page-selector-input-color-disabled);
6908
+ .tl-slider__input-wrapper .tl-slider__input-field--decimal {
6909
+ width: 56px;
7241
6910
  }
7242
- .tl-table--compact .tl-table__page-selector-input {
7243
- height: var(--tds-spacing-element-24);
6911
+ .tl-slider__input-wrapper .tl-slider__input-field::-webkit-outer-spin-button, .tl-slider__input-wrapper .tl-slider__input-field::-webkit-inner-spin-button {
6912
+ appearance: none;
6913
+ margin: 0;
7244
6914
  }
7245
6915
 
7246
- .tl-table__footer-text {
7247
- padding: 1px 22px 0 0;
7248
- font-family: var(--detail-02-font-family);
7249
- }
7250
- .tl-table__footer-text span {
7251
- font-family: var(--detail-02-font-family);
6916
+ .tl-slider__input-wrapper:has(.tl-text-field__input[readonly]):not(:has(.tl-text-field__input:disabled)) .tl-slider__input-field[readonly] {
6917
+ width: 74px;
6918
+ padding-right: 39px;
7252
6919
  }
7253
6920
 
7254
- .tl-table__footer-button {
7255
- border-radius: var(--tds-spacing-element-4);
7256
- color: var(--table-icon);
7257
- height: var(--tds-spacing-element-32);
7258
- width: var(--tds-spacing-element-32);
7259
- display: flex;
7260
- justify-content: center;
7261
- align-items: center;
7262
- border: none;
7263
- background-color: transparent;
7264
- cursor: pointer;
7265
- transition: background-color 250ms ease;
7266
- }
7267
- .tl-table__footer-button:hover {
7268
- background-color: var(--table-footer-button-hover);
6921
+ .tl-slider__value-tooltip {
6922
+ font-family: var(--detail-01-font-family);
6923
+ font-size: var(--detail-01-font-size);
6924
+ line-height: var(--detail-01-line-height);
6925
+ font-weight: var(--detail-01-font-weight);
6926
+ letter-spacing: var(--detail-01-letter-spacing);
6927
+ text-transform: var(--detail-01-text-transform);
6928
+ user-select: none;
6929
+ border-radius: 4px;
6930
+ padding: 8px 11px;
6931
+ position: absolute;
6932
+ left: 50%;
6933
+ transform: translateX(-50%);
6934
+ bottom: 100%;
6935
+ margin-bottom: 8px;
6936
+ background-color: var(--slider-value-tooltip-background);
6937
+ color: var(--slider-value-tooltip);
6938
+ display: none;
6939
+ white-space: nowrap;
6940
+ z-index: 10;
7269
6941
  }
7270
- .tl-table__footer-button:disabled {
7271
- color: var(--table-icon-disabled);
7272
- cursor: default;
6942
+ .tl-slider__value-tooltip::after {
6943
+ content: "";
6944
+ position: absolute;
6945
+ left: 50%;
6946
+ transform: translateX(-50%);
6947
+ bottom: -6px;
6948
+ width: 0;
6949
+ height: 0;
6950
+ border-left: 6px solid transparent;
6951
+ border-right: 6px solid transparent;
6952
+ border-top: 6px solid var(--slider-value-tooltip-background);
7273
6953
  }
7274
- .tl-table__footer-button:disabled:hover {
7275
- background-color: transparent;
6954
+ .tl-slider__thumb:hover .tl-slider__value-tooltip {
6955
+ display: block;
7276
6956
  }
7277
- .tl-table--compact .tl-table__footer-button {
7278
- height: 28px;
7279
- width: 28px;
6957
+ :has(input[type=range]:disabled) .tl-slider__value-tooltip {
6958
+ display: none;
7280
6959
  }
7281
6960
 
7282
- .tl-table {
7283
- box-sizing: border-box;
7284
- }
7285
- .tl-table * {
7286
- box-sizing: border-box;
6961
+ .tl-slider__thumb {
6962
+ position: absolute;
6963
+ z-index: 1;
7287
6964
  }
7288
- .tl-table {
7289
- border-collapse: collapse;
7290
- display: table;
7291
- color: var(--table-text);
6965
+
6966
+ .tl-slider__thumb-inner {
6967
+ width: 20px;
6968
+ height: 20px;
6969
+ border-radius: 100%;
6970
+ background-color: var(--slider-thumb);
6971
+ position: absolute;
6972
+ top: 50%;
6973
+ left: 50%;
6974
+ transform: translate(-50%, -50%);
6975
+ cursor: pointer;
6976
+ overflow: visible;
7292
6977
  }
7293
- .tl-table--responsive {
7294
- width: 100%;
6978
+ .tl-slider__thumb-inner::before {
6979
+ content: " ";
6980
+ display: none;
6981
+ width: 48px;
6982
+ height: 48px;
6983
+ background-color: var(--slider-thumb);
6984
+ position: absolute;
6985
+ border-radius: 100%;
6986
+ top: 50%;
6987
+ left: 50%;
6988
+ transform: translate(-50%, -50%);
6989
+ opacity: 0.17;
7295
6990
  }
7296
- .tl-table--horizontal-scroll {
6991
+ .tl-slider__thumb-inner:hover::before {
7297
6992
  display: block;
7298
- overflow-x: auto;
7299
- white-space: nowrap;
7300
- }
7301
- .tl-table--horizontal-scroll::-webkit-scrollbar {
7302
- height: var(--tl-scrollbar-height);
7303
6993
  }
7304
- .tl-table--horizontal-scroll::-webkit-scrollbar-track {
7305
- background: var(--tl-scrollbar-track-color);
6994
+ .tl-slider__thumb-inner--pressed {
6995
+ width: 24px;
6996
+ height: 24px;
7306
6997
  }
7307
- .tl-table--horizontal-scroll::-webkit-scrollbar-thumb {
7308
- border-radius: 40px;
7309
- background: var(--tl-scrollbar-thumb-color);
7310
- border-width: var(--tl-scrollbar-thumb-border-width);
7311
- border-style: solid;
7312
- border-color: transparent;
7313
- background-clip: padding-box;
6998
+ .tl-slider__thumb-inner--pressed::before {
6999
+ display: block;
7000
+ opacity: 0.35;
7314
7001
  }
7315
- .tl-table--horizontal-scroll::-webkit-scrollbar-thumb:hover {
7316
- border-width: var(--tl-scrollbar-thumb-border-hover-width);
7002
+ .tl-slider--small .tl-slider__thumb-inner {
7003
+ width: 16px;
7004
+ height: 16px;
7317
7005
  }
7318
- .tl-table--horizontal-scroll::-webkit-scrollbar-button {
7319
- height: 0;
7320
- width: 0;
7006
+ .tl-slider--small .tl-slider__thumb-inner::before {
7007
+ width: 40px;
7008
+ height: 40px;
7321
7009
  }
7322
- @supports not selector(::-webkit-scrollbar) {
7323
- .tl-table--horizontal-scroll {
7324
- scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7325
- scrollbar-width: var(--tl-scrollbar-width-standard);
7326
- }
7010
+ .tl-slider--small .tl-slider__thumb-inner.tl-slider__thumb-inner--pressed {
7011
+ width: 20px;
7012
+ height: 20px;
7327
7013
  }
7328
- .tl-table--primary {
7329
- --table-body-row: var(--component-table-cell);
7330
- --table-body-row-hover: var(--component-table-cell-hover);
7331
- --table-zebra-mode: var(--component-table-secondary-cell);
7014
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner {
7015
+ background-color: var(--slider-disabled);
7016
+ cursor: not-allowed;
7332
7017
  }
7333
- .tl-table--secondary {
7334
- --table-body-row: var(--component-table-secondary-cell);
7335
- --table-body-row-hover: var(--component-table-cell-hover);
7336
- --table-zebra-mode: var(--component-table-cell);
7018
+ :has(input[type=range]:disabled) .tl-slider__thumb-inner::before {
7019
+ display: none;
7337
7020
  }
7338
7021
 
7339
- .tl-table__header {
7340
- display: table-header-group;
7022
+ .tl-slider__value-dividers {
7023
+ pointer-events: none;
7024
+ position: absolute;
7025
+ display: flex;
7026
+ justify-content: space-between;
7027
+ width: 100%;
7028
+ top: 0;
7029
+ z-index: 0;
7341
7030
  }
7342
7031
 
7343
- .tl-table__body {
7344
- display: table-row-group;
7032
+ .tl-slider__value-divider {
7033
+ position: relative;
7034
+ display: flex;
7035
+ flex-direction: column;
7036
+ align-items: center;
7037
+ height: 16px;
7345
7038
  }
7346
7039
 
7347
- .tl-table__row {
7348
- display: table-row;
7349
- border-bottom: 1px solid var(--table-divider);
7350
- background-color: var(--table-body-row);
7351
- transition: background-color 200ms ease;
7352
- color: var(--table-text);
7353
- }
7354
- .tl-table__row:hover:not(.tl-table__row--expanded) {
7355
- background-color: var(--table-body-row-hover);
7356
- border-bottom-color: var(--table-divider);
7357
- }
7358
- .tl-table__row--selected {
7359
- background-color: var(--table-body-row-selected);
7360
- }
7361
- .tl-table__row--selected:hover {
7362
- background-color: var(--table-body-row-selected-hover);
7363
- }
7364
- .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7365
- cursor: pointer;
7366
- }
7367
- .tl-table__row--clickable:focus-visible {
7368
- outline: 2px solid var(--table-header-button-focus);
7369
- outline-offset: -2px;
7370
- }
7371
- .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7372
- background-color: var(--table-zebra-mode);
7040
+ .tl-slider__value-divider-line {
7041
+ position: absolute;
7042
+ width: 1px;
7043
+ height: 16px;
7044
+ background-color: var(--slider-divider);
7045
+ top: 0;
7046
+ left: 50%;
7047
+ transform: translate(-50%, -50%);
7373
7048
  }
7374
- .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7375
- background-color: var(--table-zebra-mode);
7049
+ :has(input[type=range]:disabled) .tl-slider__value-divider-line {
7050
+ background-color: var(--slider-disabled);
7376
7051
  }
7377
7052
 
7378
- .tl-table__header-cell {
7379
- display: table-cell;
7380
- padding: 16px;
7381
- background-color: var(--table-header);
7382
- border-bottom: 1px solid var(--table-divider);
7383
- font-family: var(--headline-07-font-family);
7384
- font-size: var(--headline-07-font-size);
7385
- line-height: var(--headline-07-line-height);
7386
- font-weight: var(--headline-07-font-weight);
7387
- letter-spacing: var(--headline-07-letter-spacing);
7388
- text-transform: var(--headline-07-text-transform);
7389
- color: var(--table-text);
7390
- text-align: left;
7391
- transition: background-color 200ms ease;
7392
- min-width: 192px;
7393
- }
7394
- .tl-table__header-cell:hover:not(.tl-table__header-cell--checkbox):not(.tl-table__header-cell--expand) {
7395
- background-color: var(--table-header-hover);
7396
- }
7397
- .tl-table__header-cell:first-of-type {
7398
- border-top-left-radius: 4px;
7399
- }
7400
- .tl-table__header-cell:last-of-type {
7401
- border-top-right-radius: 4px;
7402
- }
7403
- .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 {
7404
- border-top-left-radius: 0;
7053
+ .tl-slider__value-divider-label {
7054
+ font-family: var(--detail-05-font-family);
7055
+ font-size: var(--detail-05-font-size);
7056
+ line-height: var(--detail-05-line-height);
7057
+ font-weight: var(--detail-05-font-weight);
7058
+ letter-spacing: var(--detail-05-letter-spacing);
7059
+ text-transform: var(--detail-05-text-transform);
7060
+ position: absolute;
7061
+ bottom: 100%;
7062
+ left: 50%;
7063
+ transform: translateX(-50%);
7064
+ margin-bottom: 16px;
7065
+ width: 50px;
7066
+ text-align: center;
7067
+ white-space: nowrap;
7068
+ user-select: none;
7069
+ color: var(--slider-divider-values);
7405
7070
  }
7406
- .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 {
7407
- border-top-right-radius: 0;
7071
+ :has(input[type=range]:disabled) .tl-slider__value-divider-label {
7072
+ color: var(--slider-disabled-text);
7408
7073
  }
7409
- .tl-table__header-cell:has(.tl-table__header-input-wrapper), .tl-table--no-header-padding .tl-table__header-cell, .tl-table__header-cell--sortable {
7410
- padding: 0;
7074
+
7075
+ .tl-slider__track-fill {
7076
+ background-color: var(--slider-track-fill);
7077
+ border-radius: 2px;
7078
+ height: 4px;
7079
+ position: absolute;
7080
+ left: 0;
7081
+ top: -1px;
7082
+ z-index: 1;
7411
7083
  }
7412
- .tl-table__header-cell--checkbox, .tl-table__header-cell--expand {
7413
- min-width: 48px;
7414
- width: 48px;
7415
- padding: 0;
7416
- text-align: center;
7417
- background-color: var(--table-header);
7084
+ :has(input[type=range]:disabled) .tl-slider__track-fill {
7085
+ background-color: var(--slider-disabled);
7418
7086
  }
7419
- .tl-table--compact .tl-table__header-cell {
7420
- height: 32px;
7421
- padding: 8px 16px;
7087
+
7088
+ .tl-slider__native-input {
7089
+ display: none;
7422
7090
  }
7423
- .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) {
7424
- padding: 0;
7091
+
7092
+ /* Component variables */
7093
+ .tl-spinner {
7094
+ --tl-spinner-background: var(--component-spinner-color);
7095
+ --tl-spinner-background-inverted: var(--color-brand-neutral-white);
7096
+ --tl-spinner-speed: 1.8s;
7097
+ --tl-spinner-speed-lg: 2s;
7098
+ --tl-spinner-radius-xs: 8px;
7099
+ --tl-spinner-radius-sm: 12px;
7100
+ --tl-spinner-radius-md: 26px;
7101
+ --tl-spinner-radius-lg: 42px;
7102
+ --tl-spinner-stroke-width-xs: 3px;
7103
+ --tl-spinner-stroke-width-sm: 4px;
7104
+ --tl-spinner-stroke-width-md: 6px;
7105
+ --tl-spinner-stroke-width-lg: 8px;
7106
+ --tl-spinner-PI: 3.14159265358979;
7107
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
7108
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7109
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
7425
7110
  }
7426
- .tl-table--no-min-width .tl-table__header-cell {
7427
- min-width: unset;
7111
+
7112
+ .tl-spinner {
7113
+ box-sizing: border-box;
7428
7114
  }
7429
- .tl-table--header-text-align-left .tl-table__header-cell {
7430
- text-align: left;
7115
+ .tl-spinner * {
7116
+ box-sizing: border-box;
7431
7117
  }
7432
- .tl-table--header-text-align-start .tl-table__header-cell {
7433
- text-align: start;
7118
+ .tl-spinner {
7119
+ display: block;
7120
+ width: calc(var(--tl-spinner-radius) * 2);
7121
+ height: calc(var(--tl-spinner-radius) * 2);
7122
+ transform: scale(-1, 1) rotate(-90deg);
7434
7123
  }
7435
- .tl-table--header-text-align-center .tl-table__header-cell {
7436
- text-align: center;
7124
+ .tl-spinner--xs {
7125
+ --tl-spinner-radius: var(--tl-spinner-radius-xs);
7126
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-xs);
7127
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
7437
7128
  }
7438
- .tl-table--header-text-align-right .tl-table__header-cell {
7439
- text-align: right;
7129
+ .tl-spinner--sm {
7130
+ --tl-spinner-radius: var(--tl-spinner-radius-sm);
7131
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-sm);
7132
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
7440
7133
  }
7441
- .tl-table--header-text-align-end .tl-table__header-cell {
7442
- text-align: end;
7134
+ .tl-spinner--md {
7135
+ --tl-spinner-radius: var(--tl-spinner-radius-md);
7136
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-md);
7137
+ --tl-spinner-animation-speed: var(--tl-spinner-speed);
7443
7138
  }
7444
-
7445
- .tl-table__header-button {
7446
- display: flex;
7447
- align-items: center;
7448
- gap: 8px;
7449
- justify-content: start;
7450
- flex-direction: row;
7451
- width: 100%;
7452
- height: 100%;
7453
- padding: 16px;
7454
- background-color: transparent;
7455
- border: none;
7456
- cursor: pointer;
7457
- transition: background-color 200ms ease;
7458
- font-family: var(--headline-07-font-family);
7459
- font-size: var(--headline-07-font-size);
7460
- line-height: var(--headline-07-line-height);
7461
- font-weight: var(--headline-07-font-weight);
7462
- letter-spacing: var(--headline-07-letter-spacing);
7463
- text-transform: var(--headline-07-text-transform);
7464
- color: var(--table-text);
7465
- text-align: left;
7139
+ .tl-spinner--lg {
7140
+ --tl-spinner-radius: var(--tl-spinner-radius-lg);
7141
+ --tl-spinner-stroke-width: var(--tl-spinner-stroke-width-lg);
7142
+ --tl-spinner-animation-speed: var(--tl-spinner-speed-lg);
7466
7143
  }
7467
- .tl-table__header-button:focus-visible, .tl-table__header-button:focus, .tl-table__header-button:active {
7468
- outline: 2px solid var(--table-header-button-focus);
7469
- outline-offset: -2px;
7144
+ .tl-spinner--default {
7145
+ stroke: var(--tl-spinner-background);
7470
7146
  }
7471
- .tl-table--compact .tl-table__header-button {
7472
- padding: 0;
7147
+ .tl-spinner--inverted {
7148
+ stroke: var(--tl-spinner-background-inverted);
7473
7149
  }
7474
7150
 
7475
- .tl-table__header-button-text {
7476
- color: var(--table-text);
7477
- text-align: left;
7151
+ .tl-spinner__circle {
7152
+ cx: var(--tl-spinner-radius);
7153
+ cy: var(--tl-spinner-radius);
7154
+ r: calc(var(--tl-spinner-radius) - var(--tl-spinner-stroke-width) / 2);
7155
+ fill: none;
7156
+ --tl-spinner-stroke-dash: calc((2 * var(--tl-spinner-PI)) * var(--tl-spinner-radius));
7157
+ stroke-dasharray: var(--tl-spinner-stroke-dash);
7158
+ stroke-width: var(--tl-spinner-stroke-width);
7159
+ animation: tl-spinner-dash var(--tl-spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
7478
7160
  }
7479
7161
 
7480
- .tl-table__header-button-icon {
7481
- flex: 0 0 16px;
7482
- height: 16px;
7483
- width: 16px;
7484
- opacity: 0;
7485
- transform-origin: center;
7486
- transition: opacity 200ms ease-in, transform 200ms ease;
7487
- color: var(--table-text);
7162
+ @keyframes tl-spinner-dash {
7163
+ from {
7164
+ stroke-dashoffset: calc(-1 * var(--tl-spinner-stroke-dash));
7165
+ }
7166
+ to {
7167
+ stroke-dashoffset: var(--tl-spinner-stroke-dash);
7168
+ }
7488
7169
  }
7489
-
7490
- .tl-table__header-button:focus-visible .tl-table__header-button-icon,
7491
- .tl-table__header-button:focus .tl-table__header-button-icon,
7492
- .tl-table__header-button:active .tl-table__header-button-icon,
7493
- .tl-table__header-button:hover .tl-table__header-button-icon {
7494
- opacity: 1;
7170
+ .tl-stepper {
7171
+ --stepper-current-number-with-border: var(--color-foreground-border-strong);
7172
+ --stepper-icon-step-border-warning: var(--color-system-danger-default);
7173
+ --stepper-icon-step-border-success: var(--component-stepper-success);
7174
+ --stepper-icon-step-checkmark: var(--color-foreground-icon-inverse-strong);
7175
+ --stepper-label-text-upcoming: var(--color-foreground-text-disabled);
7176
+ --stepper-label-border-upcoming: var(--color-foreground-border-discrete);
7177
+ --stepper-divider-line: var(--color-foreground-icon-disabled);
7495
7178
  }
7496
7179
 
7497
- .tl-table__header-cell--is-sorted {
7498
- background-color: var(--table-header-button);
7180
+ .tl-stepper__step {
7181
+ position: relative;
7182
+ display: flex;
7183
+ justify-content: start;
7184
+ flex-direction: row;
7185
+ align-items: center;
7186
+ gap: 8px;
7499
7187
  }
7500
-
7501
- .tl-table__header-cell--is-sorted:hover {
7502
- background-color: var(--table-header-button-hover);
7188
+ .tl-stepper--label-below .tl-stepper__step {
7189
+ flex-direction: column;
7503
7190
  }
7504
-
7505
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7506
- opacity: 1;
7191
+ .tl-stepper--lg .tl-stepper__step {
7192
+ font-family: var(--detail-01-font-family);
7193
+ font-size: var(--detail-01-font-size);
7194
+ line-height: var(--detail-01-line-height);
7195
+ font-weight: var(--detail-01-font-weight);
7196
+ letter-spacing: var(--detail-01-letter-spacing);
7197
+ text-transform: var(--detail-01-text-transform);
7198
+ padding: 0 20px;
7507
7199
  }
7508
-
7509
- .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7510
- transform: rotate(180deg);
7200
+ .tl-stepper--sm .tl-stepper__step {
7201
+ font-family: var(--detail-05-font-family);
7202
+ font-size: var(--detail-05-font-size);
7203
+ line-height: var(--detail-05-line-height);
7204
+ font-weight: var(--detail-05-font-weight);
7205
+ letter-spacing: var(--detail-05-letter-spacing);
7206
+ text-transform: var(--detail-05-text-transform);
7207
+ padding: 0 20px;
7511
7208
  }
7512
-
7513
- .tl-table__body-cell {
7514
- display: table-cell;
7515
- padding: 16px;
7516
- background-color: transparent;
7517
- color: var(--table-text);
7518
- font-family: var(--detail-02-font-family);
7519
- font-size: var(--detail-02-font-size);
7520
- line-height: var(--detail-02-line-height);
7521
- font-weight: var(--detail-02-font-weight);
7522
- letter-spacing: var(--detail-02-letter-spacing);
7523
- text-transform: var(--detail-02-text-transform);
7524
- transition: background-color 200ms ease;
7525
- min-width: 192px;
7209
+ .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7210
+ flex: 1 1 0;
7211
+ min-inline-size: 60px;
7526
7212
  }
7527
- .tl-table__body-cell:focus {
7528
- background-color: var(--table-input-focus);
7213
+ .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list > .tl-stepper__step {
7214
+ flex: 0 0 auto;
7215
+ min-inline-size: auto;
7529
7216
  }
7530
- .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7531
- background-color: var(--table-body-cell-hover);
7217
+ .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7218
+ min-inline-size: 40px;
7532
7219
  }
7533
- .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7534
- background-color: var(--table-body-row-selected);
7220
+ .tl-stepper--horizontal.tl-stepper--sm:not(.tl-stepper--label-aside) .tl-stepper__list > .tl-stepper__step {
7221
+ min-inline-size: 40px;
7535
7222
  }
7536
- .tl-table__body-cell--column-highlight {
7537
- background-color: var(--table-body-cell-hover);
7223
+ .tl-stepper--horizontal.tl-stepper--sm.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list > .tl-stepper__step {
7224
+ min-inline-size: 48px;
7538
7225
  }
7539
- .tl-table__body-cell--checkbox, .tl-table__body-cell--expand {
7540
- min-width: 48px;
7541
- width: 48px;
7542
- padding: 0;
7543
- text-align: center;
7544
- background-color: inherit;
7226
+ .tl-stepper--lg .tl-stepper__step:last-of-type::after, .tl-stepper--sm .tl-stepper__step:last-of-type::after {
7227
+ display: none;
7545
7228
  }
7546
- .tl-table--compact .tl-table__body-cell {
7547
- height: 32px;
7548
- padding: 8px 16px;
7229
+ .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 {
7230
+ display: none;
7549
7231
  }
7550
- .tl-table--no-min-width .tl-table__body-cell {
7551
- min-width: unset;
7232
+ .tl-stepper--lg .tl-stepper__step::after {
7233
+ content: " ";
7234
+ position: absolute;
7235
+ background-color: var(--stepper-divider-line);
7552
7236
  }
7553
- .tl-table--vertical-dividers .tl-table__body-cell:not(:last-child):not(.tl-table__body-cell--expand) {
7554
- border-right: 1px solid var(--table-divider);
7237
+ .tl-stepper--lg.tl-stepper--vertical .tl-stepper__step::after {
7238
+ height: 36px;
7239
+ width: 1px;
7240
+ top: 40px;
7241
+ left: 36px;
7555
7242
  }
7556
- .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7557
- background-color: var(--table-zebra-mode);
7243
+ .tl-stepper--lg.tl-stepper--horizontal .tl-stepper__step::after {
7244
+ height: 1px;
7245
+ left: calc(50% + 15px + 8px);
7246
+ right: calc(-50% + 15px + 8px);
7247
+ top: 16px;
7558
7248
  }
7559
- .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7560
- background-color: var(--table-zebra-mode);
7249
+ .tl-stepper--lg.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7250
+ height: 1px;
7251
+ top: 16px;
7252
+ width: 10px;
7253
+ left: auto;
7254
+ right: -10px;
7561
7255
  }
7562
- .tl-table--cell-text-align-left .tl-table__body-cell {
7563
- text-align: left;
7256
+ .tl-stepper--sm.tl-stepper--vertical .tl-stepper__step::after {
7257
+ content: " ";
7258
+ position: absolute;
7259
+ background-color: var(--stepper-divider-line);
7260
+ height: 20px;
7261
+ width: 1px;
7262
+ top: 34px;
7263
+ left: 32px;
7564
7264
  }
7565
- .tl-table--cell-text-align-start .tl-table__body-cell {
7566
- text-align: start;
7265
+ .tl-stepper--sm.tl-stepper--horizontal .tl-stepper__step::after {
7266
+ content: " ";
7267
+ position: absolute;
7268
+ background-color: var(--stepper-divider-line);
7269
+ height: 1px;
7270
+ left: calc(50% + 12px + 8px);
7271
+ right: calc(-50% + 12px + 8px);
7272
+ top: 13px;
7567
7273
  }
7568
- .tl-table--cell-text-align-center .tl-table__body-cell {
7274
+ .tl-stepper--sm.tl-stepper--horizontal.tl-stepper--label-aside:not(.tl-stepper--hide-labels) .tl-stepper__step::after {
7275
+ content: " ";
7276
+ position: absolute;
7277
+ background-color: var(--stepper-divider-line);
7278
+ height: 1px;
7279
+ top: 13px;
7280
+ width: 10px;
7281
+ left: auto;
7282
+ right: -10px;
7283
+ }
7284
+
7285
+ .tl-stepper__node {
7286
+ display: flex;
7287
+ align-items: center;
7288
+ justify-content: space-around;
7289
+ border-radius: 100px;
7290
+ border-width: 1px;
7291
+ border-style: solid;
7569
7292
  text-align: center;
7293
+ position: relative;
7570
7294
  }
7571
- .tl-table--cell-text-align-right .tl-table__body-cell {
7572
- text-align: right;
7573
- }
7574
- .tl-table--cell-text-align-end .tl-table__body-cell {
7575
- text-align: end;
7295
+ .tl-stepper--lg .tl-stepper__node {
7296
+ height: 30px;
7297
+ min-width: 30px;
7298
+ font-size: 14px;
7576
7299
  }
7577
- .tl-table--no-padding .tl-table__body-cell {
7578
- padding: 0;
7300
+ .tl-stepper--sm .tl-stepper__node {
7301
+ height: 24px;
7302
+ min-width: 24px;
7579
7303
  }
7580
- .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7581
- background-color: var(--table-body-row-hover);
7304
+ .tl-stepper__step--error .tl-stepper__node {
7305
+ border-color: var(--stepper-icon-step-border-warning);
7306
+ color: var(--stepper-icon-step-border-warning);
7582
7307
  }
7583
- .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7584
- background-color: var(--table-body-row-selected-hover);
7308
+ .tl-stepper__step--success .tl-stepper__node {
7309
+ background-color: var(--stepper-icon-step-border-success);
7310
+ border-color: var(--stepper-icon-step-border-success);
7311
+ color: var(--stepper-icon-step-checkmark);
7585
7312
  }
7586
- .tl-table__row--expanded .tl-table__body-cell {
7587
- background-color: var(--table-body-row-selected);
7313
+ .tl-stepper__step--current .tl-stepper__node {
7314
+ color: var(--stepper-current-number-with-border);
7588
7315
  }
7589
-
7590
- .tl-table__toolbar {
7591
- box-sizing: border-box;
7316
+ .tl-stepper__step--upcoming .tl-stepper__node {
7317
+ border-color: var(--stepper-label-border-upcoming);
7318
+ color: var(--stepper-label-text-upcoming);
7592
7319
  }
7593
- .tl-table__toolbar * {
7594
- box-sizing: border-box;
7320
+ .tl-stepper__step--success .tl-stepper__node, .tl-stepper__step--error .tl-stepper__node {
7321
+ justify-content: center;
7595
7322
  }
7596
- .tl-table__toolbar {
7597
- display: table-caption;
7598
- position: relative;
7599
- background-color: var(--table-toolbar);
7600
- color: var(--table-text);
7601
- padding: 0 var(--tds-spacing-element-16);
7602
- height: 64px;
7603
- border-top-left-radius: 4px;
7604
- border-top-right-radius: 4px;
7323
+ .tl-stepper__step--success .tl-stepper__node::after, .tl-stepper__step--error .tl-stepper__node::after {
7324
+ content: "";
7325
+ display: block;
7326
+ width: 20px;
7327
+ height: 20px;
7328
+ mask-repeat: no-repeat;
7329
+ mask-position: center;
7330
+ mask-size: contain;
7331
+ background-color: currentcolor;
7605
7332
  }
7606
- .tl-table--compact .tl-table__toolbar {
7607
- height: 56px;
7333
+ .tl-stepper__step--success .tl-stepper__node::after {
7334
+ mask-image: var(--icon-tick-svg);
7608
7335
  }
7609
-
7610
- .tl-table__upper-bar {
7611
- width: 100%;
7612
- height: 100%;
7613
- display: flex;
7614
- justify-content: space-between;
7336
+ .tl-stepper__step--error .tl-stepper__node::after {
7337
+ mask-image: var(--icon-warning-svg);
7615
7338
  }
7616
7339
 
7617
- .tl-table__actionbar-left {
7618
- display: flex;
7619
- align-items: center;
7340
+ .tl-stepper--sm .tl-stepper__step--success .tl-stepper__node::after,
7341
+ .tl-stepper--sm .tl-stepper__step--error .tl-stepper__node::after {
7342
+ width: 16px;
7343
+ height: 16px;
7620
7344
  }
7621
7345
 
7622
- .tl-table__title {
7623
- font-family: var(--headline-07-font-family);
7624
- font-size: var(--headline-07-font-size);
7625
- line-height: var(--headline-07-line-height);
7626
- font-weight: var(--headline-07-font-weight);
7627
- letter-spacing: var(--headline-07-letter-spacing);
7628
- text-transform: var(--headline-07-text-transform);
7629
- display: flex;
7630
- align-self: baseline;
7631
- text-align: left;
7632
- letter-spacing: var(--tds-headline-07-ls);
7633
- padding-top: var(--tds-spacing-element-16);
7634
- margin-right: var(--tds-spacing-element-8);
7346
+ .tl-stepper__label {
7347
+ text-align: center;
7635
7348
  }
7636
-
7637
- .tl-table__actionbar-right {
7638
- display: flex;
7639
- align-self: center;
7640
- column-gap: 8px;
7641
- position: relative;
7349
+ .tl-stepper--lg .tl-stepper__label {
7350
+ font-family: var(--detail-01-font-family);
7351
+ font-size: var(--detail-01-font-size);
7352
+ line-height: var(--detail-01-line-height);
7353
+ font-weight: var(--detail-01-font-weight);
7354
+ letter-spacing: var(--detail-01-letter-spacing);
7355
+ text-transform: var(--detail-01-text-transform);
7356
+ font-size: 14px;
7642
7357
  }
7643
-
7644
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) {
7645
- position: absolute;
7646
- right: 0;
7647
- top: 50%;
7648
- transform: translateY(-50%);
7649
- cursor: pointer;
7650
- width: 40px;
7651
- min-width: 40px;
7652
- max-width: 40px;
7653
- height: 40px;
7358
+ .tl-stepper--sm .tl-stepper__label {
7359
+ font-family: var(--detail-05-font-family);
7360
+ font-size: var(--detail-05-font-size);
7361
+ line-height: var(--detail-05-line-height);
7362
+ font-weight: var(--detail-05-font-weight);
7363
+ letter-spacing: var(--detail-05-letter-spacing);
7364
+ text-transform: var(--detail-05-text-transform);
7654
7365
  }
7655
-
7656
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
7657
- display: none;
7366
+ .tl-stepper__step--upcoming .tl-stepper__label {
7367
+ color: var(--stepper-label-text-upcoming);
7368
+ opacity: var(--tds-stepper-label-text-opacity-upcoming);
7658
7369
  }
7659
-
7660
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible)::before {
7661
- content: "";
7370
+ .tl-stepper--hide-labels .tl-stepper__label {
7662
7371
  position: absolute;
7663
- width: 40px;
7664
- height: 40px;
7665
- border-radius: 4px 4px 0 0;
7666
- background-color: transparent;
7667
- transition: background-color 250ms ease;
7668
- right: 6px;
7669
- top: 50%;
7670
- transform: translateY(-50%);
7372
+ inline-size: 1px;
7373
+ block-size: 1px;
7374
+ margin: -1px;
7375
+ padding: 0;
7376
+ border: 0;
7377
+ overflow: hidden;
7378
+ clip: rect(0 0 0 0);
7379
+ clip-path: inset(50%);
7380
+ white-space: nowrap;
7671
7381
  }
7672
7382
 
7673
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__suffix--icon {
7674
- position: absolute;
7675
- right: 16px;
7676
- top: 50%;
7677
- transform: translateY(calc(-50% - 1px));
7678
- z-index: 1;
7679
- pointer-events: none;
7383
+ .tl-stepper {
7384
+ box-sizing: border-box;
7680
7385
  }
7681
-
7682
- .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible):hover::before {
7683
- background-color: var(--table-toolbar-searchbar-hover);
7386
+ .tl-stepper * {
7387
+ box-sizing: border-box;
7684
7388
  }
7685
-
7686
- .tl-table__header-input-wrapper {
7687
- position: relative;
7389
+ .tl-stepper {
7390
+ display: table;
7391
+ table-layout: fixed;
7688
7392
  width: 100%;
7689
- height: 100%;
7393
+ list-style: none;
7690
7394
  }
7691
7395
 
7692
- .tl-table__header-input-wrapper .tl-icon {
7693
- color: var(--table-input-header-icon);
7694
- position: absolute;
7695
- left: 15px;
7696
- top: 50%;
7697
- transform: translateY(-50%);
7698
- z-index: 1;
7699
- pointer-events: none;
7396
+ .tl-stepper__list {
7397
+ display: flex;
7398
+ justify-content: space-evenly;
7399
+ min-width: 100%;
7400
+ list-style: none;
7401
+ margin: 0;
7402
+ padding: 0;
7700
7403
  }
7701
-
7702
- .tl-table__header-input {
7703
- box-sizing: border-box;
7704
- font-family: var(--detail-02-font-family);
7705
- font-size: var(--detail-02-font-size);
7706
- line-height: var(--detail-02-line-height);
7707
- font-weight: var(--detail-02-font-weight);
7708
- letter-spacing: var(--detail-02-letter-spacing);
7709
- text-transform: var(--detail-02-text-transform);
7710
- color: var(--table-text);
7711
- padding: 0 var(--tds-spacing-element-16);
7404
+ .tl-stepper:not(.tl-stepper--label-aside) .tl-stepper__list {
7712
7405
  width: 100%;
7713
- border-radius: 0;
7714
- background-color: transparent;
7715
- border: 0;
7716
- border-bottom: 2px solid transparent;
7717
- outline: none;
7718
7406
  }
7719
- .tl-table--compact .tl-table__header-input {
7720
- height: 32px;
7407
+ .tl-stepper--horizontal:not(.tl-stepper--label-aside) .tl-stepper__list {
7408
+ justify-content: flex-start;
7721
7409
  }
7722
- .tl-table__header-input {
7723
- padding-left: 35px;
7724
- height: 48px;
7410
+ .tl-stepper--horizontal.tl-stepper--label-aside .tl-stepper__list {
7411
+ display: flex;
7412
+ justify-content: flex-start;
7413
+ min-width: 100%;
7725
7414
  }
7726
- .tl-table__header-input::placeholder {
7727
- color: var(--table-input-header-placeholder);
7415
+ .tl-stepper--horizontal.tl-stepper--label-aside.tl-stepper--hide-labels .tl-stepper__list {
7416
+ display: flex;
7417
+ justify-content: flex-start;
7728
7418
  }
7729
- .tl-table__header-input:focus {
7730
- background-color: var(--table-input-header-focus);
7731
- border-bottom: 2px solid var(--color-foreground-border-accent-focus);
7419
+ .tl-stepper--vertical .tl-stepper__list {
7420
+ height: 100%;
7421
+ display: flex;
7422
+ flex-direction: column;
7423
+ justify-content: flex-start;
7424
+ gap: 52px;
7425
+ min-width: 0;
7426
+ }
7427
+ .tl-stepper--vertical.tl-stepper--sm .tl-stepper__list {
7428
+ gap: 36px;
7429
+ }
7430
+
7431
+ .tl-table {
7432
+ /* Table-text */
7433
+ --table-text: var(--color-foreground-text-strong);
7434
+ /* Table-body-cell */
7435
+ --table-body-cell-hover: var(--component-table-cell-hover);
7436
+ /* Table-body-row */
7437
+ --table-body-row: var(--component-table-cell);
7438
+ --table-body-row-hover: var(--component-table-cell-hover);
7439
+ --table-zebra-mode: var(--component-table-secondary-cell);
7440
+ --table-body-row-selected: var(--color-background-surface-300);
7441
+ --table-body-row-selected-hover: var(--color-background-surface-400);
7442
+ /* Table input body */
7443
+ --table-input-focus: var(--color-background-layer-02);
7444
+ --table-input-hover: var(--color-background-layer-03);
7445
+ --table-input-disabled: var(--color-background-layer-01);
7446
+ --table-input-text-disabled: var(--color-foreground-text-subtle);
7447
+ /* Table input header */
7448
+ --table-input-header-icon: var(--color-foreground-icon-soft);
7449
+ --table-input-header-placeholder: var(--color-foreground-text-subtle);
7450
+ --table-input-header-focus: var(--color-background-layer-01);
7451
+ /* Table-footer */
7452
+ --table-footer: var(--component-table-pagination-base);
7453
+ --table-footer-page-selector-input: var(--component-table-pagination-dropdown);
7454
+ --table-footer-page-selector-input-hover: var(--color-background-layer-03);
7455
+ --table-footer-page-selector-input-disabled: var(--color-background-layer-01);
7456
+ --table-footer-button-hover: var(--color-background-surface-300);
7457
+ /* Table-header */
7458
+ --table-header: var(--color-background-surface-300);
7459
+ --table-header-hover: var(--color-background-surface-400);
7460
+ --table-header-button: var(--color-background-surface-200);
7461
+ --table-header-button-hover: var(--color-background-surface-300);
7462
+ --table-header-button-focus: var(--color-foreground-border-accent-focus);
7463
+ /* Table-toolbar */
7464
+ --table-toolbar: var(--color-background-surface-400);
7465
+ --table-toolbar-searchbar: var(--component-table-pagination-dropdown);
7466
+ --table-toolbar-searchbar-hover: var(--component-table-pagination-base);
7467
+ --table-toolbar-searchbar-border-bottom: var(--color-foreground-border-accent-focus);
7468
+ /* Divider */
7469
+ --table-divider: var(--color-foreground-border-discrete);
7470
+ /* Table-icons */
7471
+ --table-icon: var(--color-foreground-icon-strong);
7472
+ --table-icon-disabled: var(--color-foreground-icon-disabled);
7732
7473
  }
7733
-
7734
- .tl-table__body-cell .tl-text-field {
7735
- height: 48px;
7736
- min-width: auto;
7737
- padding-bottom: 0;
7738
- cursor: pointer;
7474
+ .tl-table.tl-table--primary {
7475
+ --table-body-row: var(--component-table-cell);
7476
+ --table-body-row-hover: var(--component-table-cell-hover);
7477
+ --table-body-cell-hover: var(--component-table-cell-hover);
7478
+ --table-zebra-mode: var(--component-table-secondary-cell);
7739
7479
  }
7740
-
7741
- .tl-table--compact .tl-table__body-cell .tl-text-field {
7742
- height: 32px;
7480
+ .tl-table.tl-table--secondary {
7481
+ --table-body-row: var(--component-table-secondary-cell);
7482
+ --table-body-row-hover: var(--component-table-cell-hover);
7483
+ --table-body-cell-hover: var(--component-table-cell-hover);
7484
+ --table-zebra-mode: var(--component-table-cell);
7743
7485
  }
7744
7486
 
7745
- .tl-table__body-cell .tl-text-field .tl-text-field__input,
7746
- .tl-table__body-cell .tl-text-field .tl-text-field__input:hover {
7747
- box-shadow: 0 0 0 0 transparent;
7487
+ .tds-mode-dark .tl-table.tl-table--secondary {
7488
+ --table-body-cell-hover: var(--color-background-surface-300);
7489
+ --table-body-row-hover: var(--color-background-surface-300);
7748
7490
  }
7749
7491
 
7750
- .tl-table__body-cell .tl-text-field .tl-text-field__input:focus {
7751
- box-shadow: inset var(--text-field-box-shadow-focus);
7752
- background-color: var(--table-input-focus);
7492
+ .tl-table__footer {
7493
+ display: table-footer-group;
7494
+ height: var(--tds-spacing-element-48);
7753
7495
  }
7754
-
7755
- .tl-table--compact .tl-table__body-cell .tl-text-field .tl-text-field__input {
7756
- height: 32px;
7496
+ .tl-table--compact .tl-table__footer {
7497
+ height: var(--tds-spacing-element-32);
7757
7498
  }
7758
7499
 
7759
- .tl-table__body-cell .tl-text-field .tl-text-field__suffix--icon {
7760
- display: none;
7500
+ .tl-table__footer .tl-dropdown__text {
7501
+ max-width: calc(100% - 20px);
7761
7502
  }
7762
7503
 
7763
- .tl-table__body-cell .tl-text-field:hover .tl-text-field__suffix--icon,
7764
- .tl-table__body-cell .tl-text-field:has(.tl-text-field__input:focus) .tl-text-field__suffix--icon {
7765
- display: inline-block;
7504
+ .tl-table__footer .tl-dropdown--sm :is(.tl-dropdown__button, .tl-dropdown__select, .tl-dropdown__input),
7505
+ .tl-table__footer .tl-dropdown__option {
7506
+ height: 29px;
7766
7507
  }
7767
7508
 
7768
- .tl-table__body-cell .tl-text-field.tl-text-field--disabled .tl-text-field__suffix--icon {
7769
- display: inline-block;
7509
+ .tl-table__footer-row {
7510
+ display: table-row;
7511
+ border-bottom: 1px solid var(--table-divider);
7512
+ background-color: var(--table-footer);
7513
+ color: var(--table-text);
7514
+ transition: background-color 200ms ease;
7770
7515
  }
7771
7516
 
7772
- .tl-table__body-cell--expand {
7773
- position: relative;
7774
- }
7775
- .tl-table--compact .tl-table__body-cell--expand {
7776
- padding: 0;
7777
- }
7778
- .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) {
7779
- outline: 2px solid var(--table-header-button-focus);
7780
- box-shadow: 0 0 0 1px var(--color-brand-neutral-white);
7781
- outline-offset: -1px;
7782
- z-index: 1;
7517
+ .tl-table__footer-cell {
7518
+ padding: 0 var(--tds-spacing-element-16);
7783
7519
  }
7784
7520
 
7785
- .tl-table__expand-control-container {
7521
+ .tl-table__pagination {
7522
+ height: var(--tds-spacing-element-48);
7786
7523
  display: flex;
7787
- justify-content: center;
7788
7524
  align-items: center;
7789
- height: 46px;
7790
- cursor: pointer;
7791
- padding: 0 16px;
7792
- position: relative;
7793
- }
7794
- .tl-table--compact .tl-table__expand-control-container {
7795
- height: 30px;
7525
+ justify-content: space-between;
7796
7526
  }
7797
-
7798
- .tl-table__expand-input {
7799
- all: unset;
7800
- top: 0;
7801
- left: 0;
7802
- width: 100%;
7803
- height: 100%;
7804
- position: absolute;
7805
- cursor: pointer;
7527
+ .tl-table--compact .tl-table__pagination {
7528
+ height: var(--tds-spacing-element-32);
7806
7529
  }
7807
7530
 
7808
- .tl-table__expand-icon {
7809
- height: 16px;
7810
- width: 16px;
7811
- transition: transform 200ms ease;
7812
- transform: rotate(0);
7531
+ .tl-table__row-selector,
7532
+ .tl-table__page-selector {
7813
7533
  display: flex;
7814
7534
  align-items: center;
7815
- justify-content: center;
7816
- color: var(--table-text);
7817
- }
7818
-
7819
- .tl-table__row--expanded {
7820
- background-color: var(--table-body-row-selected);
7821
- border-bottom: none;
7822
7535
  }
7823
7536
 
7824
- .tl-table__row--expanded .tl-table__expand-icon {
7825
- transform: rotate(180deg);
7537
+ .tl-table__rows-per-page {
7538
+ margin-right: var(--tds-spacing-element-16);
7539
+ display: flex;
7540
+ align-items: center;
7826
7541
  }
7827
7542
 
7828
- .tl-table__expand-row {
7829
- display: none;
7830
- transition: background-color 200ms ease;
7831
- background-color: var(--table-body-row-selected);
7832
- border-bottom: 1px solid var(--table-divider);
7833
- }
7834
- .tl-table__expand-row--expanded {
7835
- display: table-row;
7543
+ .tl-table__rows-per-page-label {
7544
+ margin-right: var(--tds-spacing-element-8);
7545
+ font-family: var(--detail-02-font-family);
7836
7546
  }
7837
7547
 
7838
- .tl-table__expand-row-cell {
7839
- max-width: 1px;
7840
- overflow: auto;
7841
- padding: 16px 16px 16px 66px;
7548
+ .tl-table__rows-per-page-select {
7549
+ background-color: var(--table-footer-page-selector-input);
7842
7550
  color: var(--table-text);
7843
- background-color: var(--table-body-row-selected);
7844
- }
7845
- .tl-table__expand-row-cell::-webkit-scrollbar {
7846
- height: var(--tl-scrollbar-height);
7847
- }
7848
- .tl-table__expand-row-cell::-webkit-scrollbar-track {
7849
- background: var(--tl-scrollbar-track-color);
7551
+ height: 30px;
7552
+ border: none;
7553
+ border-radius: var(--tds-spacing-element-4);
7554
+ padding: 0 var(--tds-spacing-element-8);
7555
+ transition: background-color 250ms ease;
7556
+ font-family: var(--detail-02-font-family);
7850
7557
  }
7851
- .tl-table__expand-row-cell::-webkit-scrollbar-thumb {
7852
- border-radius: 40px;
7853
- background: var(--tl-scrollbar-thumb-color);
7854
- border-width: var(--tl-scrollbar-thumb-border-width);
7855
- border-style: solid;
7856
- border-color: transparent;
7857
- background-clip: padding-box;
7558
+ .tl-table__rows-per-page-select:hover {
7559
+ background-color: var(--table-footer-page-selector-input-hover);
7858
7560
  }
7859
- .tl-table__expand-row-cell::-webkit-scrollbar-thumb:hover {
7860
- border-width: var(--tl-scrollbar-thumb-border-hover-width);
7561
+ .tl-table__rows-per-page-select:disabled {
7562
+ color: var(--table-footer-page-selector-input-color-disabled);
7861
7563
  }
7862
- .tl-table__expand-row-cell::-webkit-scrollbar-button {
7863
- height: 0;
7864
- width: 0;
7564
+ .tl-table--compact .tl-table__rows-per-page-select {
7565
+ height: var(--tds-spacing-element-24);
7865
7566
  }
7866
- @supports not selector(::-webkit-scrollbar) {
7867
- .tl-table__expand-row-cell {
7868
- scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7869
- scrollbar-width: var(--tl-scrollbar-width-standard);
7870
- }
7567
+
7568
+ .tl-table__page-selector-input {
7569
+ background-color: var(--table-footer-page-selector-input);
7570
+ border-radius: var(--tds-spacing-element-4);
7571
+ color: var(--table-text);
7572
+ margin-right: var(--tds-spacing-element-4);
7573
+ padding-right: var(--tds-spacing-element-8);
7574
+ width: 74px;
7575
+ height: 30px;
7576
+ border: none;
7577
+ transition: background-color 250ms ease;
7578
+ font-family: var(--detail-02-font-family);
7871
7579
  }
7872
- .tl-table--compact .tl-table__expand-row-cell {
7873
- padding: 8px 16px 8px 66px;
7580
+ .tl-table__page-selector-input:hover {
7581
+ background-color: var(--table-footer-page-selector-input-hover);
7874
7582
  }
7875
- .tl-table__expand-row-cell--overflow-visible {
7876
- overflow: visible;
7583
+ .tl-table__page-selector-input:disabled {
7584
+ color: var(--table-footer-page-selector-input-color-disabled);
7877
7585
  }
7878
- .tl-table__expand-row-cell--overflow-hidden {
7879
- overflow: hidden;
7586
+ .tl-table--compact .tl-table__page-selector-input {
7587
+ height: var(--tds-spacing-element-24);
7880
7588
  }
7881
7589
 
7882
- .tl-table.tl-table--primary .tl-text-field__input {
7883
- background-color: var(--component-table-cell);
7884
- }
7885
- .tl-table.tl-table--secondary .tl-text-field__input {
7886
- background-color: var(--component-table-secondary-cell);
7590
+ .tl-table__footer-text {
7591
+ padding: 1px 22px 0 0;
7592
+ font-family: var(--detail-02-font-family);
7887
7593
  }
7888
-
7889
- .tl-table--compact .tl-table__header-cell--checkbox {
7890
- padding-left: 16px;
7594
+ .tl-table__footer-text span {
7595
+ font-family: var(--detail-02-font-family);
7891
7596
  }
7892
7597
 
7893
- .tl-table__header-cell--checkbox {
7894
- padding: 16px;
7598
+ .tl-table__footer-button {
7599
+ border-radius: var(--tds-spacing-element-4);
7600
+ color: var(--table-icon);
7601
+ height: var(--tds-spacing-element-32);
7602
+ width: var(--tds-spacing-element-32);
7603
+ display: flex;
7604
+ justify-content: center;
7605
+ align-items: center;
7606
+ border: none;
7607
+ background-color: transparent;
7608
+ cursor: pointer;
7609
+ transition: background-color 250ms ease;
7895
7610
  }
7896
-
7897
- .tl-table__body-cell--checkbox {
7898
- padding: 16px;
7611
+ .tl-table__footer-button:hover {
7612
+ background-color: var(--table-footer-button-hover);
7899
7613
  }
7900
-
7901
- /* tl-folder-tabs.scss (overlay buttons, no JS) */
7902
- .tl-folder-tabs {
7903
- --folder-tabs-scroll-button-surface: var(--color-background-surface-200);
7904
- --folder-tabs-scroll-button-surface-hover: var(--color-background-surface-300);
7905
- --folder-tabs-scroll-button-surface-active: var(--color-background-surface-400);
7906
- --folder-tabs-scroll-button-text: var(--color-foreground-text-soft);
7614
+ .tl-table__footer-button:disabled {
7615
+ color: var(--table-icon-disabled);
7616
+ cursor: default;
7907
7617
  }
7908
-
7909
- .tl-folder-tabs__tab {
7910
- --folder-tab-surface: var(--color-background-surface-200);
7911
- --folder-tab-surface-selected: var(--color-background-layer-01);
7912
- --folder-tab-surface-hover: var(--color-background-surface-300);
7913
- --folder-tab-border-selected: var(--color-foreground-border-accent-focus);
7914
- --folder-tab-divider: var(--color-foreground-icon-discrete);
7915
- --folder-tab-text: var(--color-foreground-text-soft);
7916
- --folder-tab-text-disabled: var(--color-foreground-text-disabled);
7618
+ .tl-table__footer-button:disabled:hover {
7619
+ background-color: transparent;
7917
7620
  }
7918
-
7919
- .tl-folder-tabs--primary .tl-folder-tabs__tab {
7920
- --folder-tab-surface-selected: var(--color-background-layer-01);
7621
+ .tl-table--compact .tl-table__footer-button {
7622
+ height: 28px;
7623
+ width: 28px;
7921
7624
  }
7922
7625
 
7923
- .tl-folder-tabs--secondary .tl-folder-tabs__tab {
7924
- --folder-tab-surface-selected: var(--color-background-layer-02);
7626
+ .tl-table {
7627
+ box-sizing: border-box;
7925
7628
  }
7926
-
7927
- /* tl-folder-tabs.scss (overlay buttons, no JS) */
7928
- .tl-folder-tabs__tab {
7929
- all: unset;
7930
- font-family: var(--headline-07-font-family);
7931
- font-size: var(--headline-07-font-size);
7932
- line-height: var(--headline-07-line-height);
7933
- font-weight: var(--headline-07-font-weight);
7934
- letter-spacing: var(--headline-07-letter-spacing);
7935
- text-transform: var(--headline-07-text-transform);
7629
+ .tl-table * {
7936
7630
  box-sizing: border-box;
7937
- position: relative;
7938
- display: inline-flex;
7939
- align-items: center;
7940
- min-inline-size: 142px;
7941
- inline-size: auto;
7942
- flex: 0 0 auto;
7943
- white-space: nowrap;
7944
- padding: 16px;
7945
- text-align: left;
7946
- cursor: pointer;
7947
- border-left: 1px solid transparent;
7948
- border-top: 2px solid var(--folder-tab-surface);
7949
- background-color: var(--folder-tab-surface);
7950
- color: var(--folder-tab-text);
7951
7631
  }
7952
- .tl-folder-tabs__tab + .tl-folder-tabs__tab {
7953
- border-left-color: var(--folder-tab-divider);
7632
+ .tl-table {
7633
+ border-collapse: collapse;
7634
+ display: table;
7635
+ color: var(--table-text);
7954
7636
  }
7955
- .tl-folder-tabs__tab:focus-visible {
7956
- outline: 2px solid currentcolor;
7957
- outline-offset: -4px;
7958
- box-shadow: none;
7637
+ .tl-table--responsive {
7638
+ width: 100%;
7959
7639
  }
7960
- .tl-folder-tabs__tab:hover:not(.tl-folder-tabs__tab--disabled):not(.tl-folder-tabs__tab--selected) {
7961
- background-color: var(--folder-tab-surface-hover);
7962
- border-top-color: var(--folder-tab-surface-hover);
7963
- color: var(--folder-tab-text);
7640
+ .tl-table--horizontal-scroll {
7641
+ display: block;
7642
+ overflow-x: auto;
7643
+ white-space: nowrap;
7964
7644
  }
7965
- .tl-folder-tabs__tab--selected {
7966
- background-color: var(--folder-tab-surface-selected);
7967
- border-top-color: var(--folder-tab-border-selected);
7968
- color: var(--folder-tab-text);
7645
+ .tl-table--horizontal-scroll::-webkit-scrollbar {
7646
+ height: var(--tl-scrollbar-height);
7969
7647
  }
7970
- .tl-folder-tabs__tab--selected::after {
7971
- content: "";
7972
- position: absolute;
7973
- top: 0;
7974
- right: -1px;
7975
- bottom: 0;
7976
- width: 1px;
7977
- background-color: var(--folder-tab-surface-selected);
7978
- z-index: 1;
7648
+ .tl-table--horizontal-scroll::-webkit-scrollbar-track {
7649
+ background: var(--tl-scrollbar-track-color);
7979
7650
  }
7980
- .tl-folder-tabs__tab--disabled {
7981
- color: var(--folder-tab-text-disabled);
7982
- cursor: not-allowed;
7983
- user-select: none;
7651
+ .tl-table--horizontal-scroll::-webkit-scrollbar-thumb {
7652
+ border-radius: 40px;
7653
+ background: var(--tl-scrollbar-thumb-color);
7654
+ border-width: var(--tl-scrollbar-thumb-border-width);
7655
+ border-style: solid;
7656
+ border-color: transparent;
7657
+ background-clip: padding-box;
7984
7658
  }
7985
- .tl-folder-tabs__tab--disabled:focus-visible {
7986
- outline: none;
7987
- box-shadow: none;
7659
+ .tl-table--horizontal-scroll::-webkit-scrollbar-thumb:hover {
7660
+ border-width: var(--tl-scrollbar-thumb-border-hover-width);
7988
7661
  }
7989
-
7990
- .tl-folder-tabs {
7991
- box-sizing: border-box;
7662
+ .tl-table--horizontal-scroll::-webkit-scrollbar-button {
7663
+ height: 0;
7664
+ width: 0;
7992
7665
  }
7993
- .tl-folder-tabs * {
7994
- box-sizing: border-box;
7666
+ @supports not selector(::-webkit-scrollbar) {
7667
+ .tl-table--horizontal-scroll {
7668
+ scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
7669
+ scrollbar-width: var(--tl-scrollbar-width-standard);
7670
+ }
7995
7671
  }
7996
- .tl-folder-tabs {
7997
- display: flex;
7998
- overflow-x: scroll;
7999
- scrollbar-width: none;
8000
- position: relative;
8001
- outline: 0;
7672
+ .tl-table--primary {
7673
+ --table-body-row: var(--component-table-cell);
7674
+ --table-body-row-hover: var(--component-table-cell-hover);
7675
+ --table-zebra-mode: var(--component-table-secondary-cell);
8002
7676
  }
8003
- .tl-folder-tabs::-webkit-scrollbar {
8004
- display: none;
7677
+ .tl-table--secondary {
7678
+ --table-body-row: var(--component-table-secondary-cell);
7679
+ --table-body-row-hover: var(--component-table-cell-hover);
7680
+ --table-zebra-mode: var(--component-table-cell);
8005
7681
  }
8006
7682
 
8007
- /* Overlay buttons (optional in markup; visible via media query) */
8008
- .tl-folder-tabs__scroll-button {
8009
- background-color: var(--folder-tab-surface);
8010
- color: var(--folder-tabs-scroll-button-text);
8011
- min-width: 48px;
8012
- border: 0;
8013
- justify-content: center;
8014
- align-items: center;
8015
- position: sticky;
8016
- cursor: pointer;
8017
- }
8018
- .tl-folder-tabs__scroll-button:hover {
8019
- background-color: var(--folder-tabs-scroll-button-surface-hover);
8020
- }
8021
- .tl-folder-tabs__scroll-button:active {
8022
- background-color: var(--folder-tabs-scroll-button-surface-active);
7683
+ .tl-table__header {
7684
+ display: table-header-group;
8023
7685
  }
8024
7686
 
8025
- /* left/right anchoring over the track */
8026
- .tl-folder-tabs__scroll-button--left {
8027
- left: 0;
8028
- z-index: 1;
7687
+ .tl-table__body {
7688
+ display: table-row-group;
8029
7689
  }
8030
7690
 
8031
- .tl-folder-tabs__scroll-button--right {
8032
- right: 0;
8033
- z-index: 1;
7691
+ .tl-table__row {
7692
+ display: table-row;
7693
+ border-bottom: 1px solid var(--table-divider);
7694
+ background-color: var(--table-body-row);
7695
+ transition: background-color 200ms ease;
7696
+ color: var(--table-text);
8034
7697
  }
8035
-
8036
- .tl-folder-tabs__scroll-button svg {
8037
- fill: var(--folder-tabs-scroll-button-text);
7698
+ .tl-table__row:hover:not(.tl-table__row--expanded) {
7699
+ background-color: var(--table-body-row-hover);
7700
+ border-bottom-color: var(--table-divider);
8038
7701
  }
8039
-
8040
- .tl-inline-tabs {
8041
- /* Horizontal divider */
8042
- --inline-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8043
- /* Scroll button */
8044
- --inline-tabs-scroll-button-text: var(--color-foreground-icon-strong);
8045
- --inline-tabs-scroll-button: transparent;
8046
- --inline-tabs-scroll-button-hover: transparent;
8047
- --inline-tabs-scroll-button-active: transparent;
7702
+ .tl-table__row--selected {
7703
+ background-color: var(--table-body-row-selected);
8048
7704
  }
8049
-
8050
- .tl-inline-tabs__tab {
8051
- /* Tab */
8052
- --inline-tabs-tab: var(--color-foreground-text-soft);
8053
- --inline-tabs-tab-selected: var(--color-foreground-text-strong);
8054
- --inline-tabs-tab-disabled: var(--color-foreground-text-disabled);
8055
- --inline-tabs-tab-hover: var(--color-foreground-text-strong);
8056
- --inline-tabs-tab-focus: var(--color-foreground-border-accent-focus);
8057
- --inline-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8058
- --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
7705
+ .tl-table__row--selected:hover {
7706
+ background-color: var(--table-body-row-selected-hover);
8059
7707
  }
8060
-
8061
- .tl-inline-tabs__tab {
8062
- all: unset;
8063
- margin-right: 32px;
8064
- box-sizing: border-box;
7708
+ .tl-table--clickable .tl-table__row, .tl-table__row--clickable {
7709
+ cursor: pointer;
8065
7710
  }
8066
- .tl-inline-tabs__tab * {
8067
- box-sizing: border-box;
7711
+ .tl-table__row--clickable:focus-visible {
7712
+ outline: 2px solid var(--table-header-button-focus);
7713
+ outline-offset: -2px;
8068
7714
  }
8069
- .tl-inline-tabs__tab {
7715
+ .tl-table--zebra-rows-odd .tl-table__body .tl-table__row:nth-child(odd) {
7716
+ background-color: var(--table-zebra-mode);
7717
+ }
7718
+ .tl-table--zebra-rows-even .tl-table__body .tl-table__row:nth-child(even) {
7719
+ background-color: var(--table-zebra-mode);
7720
+ }
7721
+
7722
+ .tl-table__header-cell {
7723
+ display: table-cell;
7724
+ padding: 16px;
7725
+ background-color: var(--table-header);
7726
+ border-bottom: 1px solid var(--table-divider);
8070
7727
  font-family: var(--headline-07-font-family);
8071
7728
  font-size: var(--headline-07-font-size);
8072
7729
  line-height: var(--headline-07-line-height);
8073
7730
  font-weight: var(--headline-07-font-weight);
8074
7731
  letter-spacing: var(--headline-07-letter-spacing);
8075
7732
  text-transform: var(--headline-07-text-transform);
8076
- color: var(--inline-tabs-tab);
8077
- text-decoration: none;
8078
- display: block;
8079
- position: relative;
8080
- transition: color 0.15s ease-in-out 0s;
8081
- white-space: nowrap;
8082
- background-color: transparent;
8083
- border: 0;
8084
- padding: 20px 4px;
7733
+ color: var(--table-text);
7734
+ text-align: left;
7735
+ transition: background-color 200ms ease;
7736
+ min-width: 192px;
8085
7737
  }
8086
- .tl-inline-tabs__tab:focus-visible {
8087
- outline: none;
7738
+ .tl-table__header-cell:hover:not(.tl-table__header-cell--checkbox):not(.tl-table__header-cell--expand) {
7739
+ background-color: var(--table-header-hover);
8088
7740
  }
8089
- .tl-inline-tabs__tab:focus-visible::before {
8090
- content: "";
8091
- position: absolute;
8092
- inset: 18px 0;
8093
- border-radius: 2px;
8094
- box-shadow: 0 0 0 2px var(--inline-tabs-tab-focus) inset;
8095
- z-index: 2;
8096
- pointer-events: none;
7741
+ .tl-table__header-cell:first-of-type {
7742
+ border-top-left-radius: 4px;
8097
7743
  }
8098
- .tl-inline-tabs__tab::after {
8099
- background-color: var(--inline-tabs-tab-indicator-hover);
8100
- content: " ";
8101
- position: absolute;
8102
- bottom: 0;
8103
- right: 0;
8104
- left: 0;
8105
- margin-left: auto;
8106
- width: 0%;
8107
- margin-right: auto;
8108
- height: 2px;
8109
- z-index: 1;
8110
- transition: width 0.15s ease-in-out 0s;
7744
+ .tl-table__header-cell:last-of-type {
7745
+ border-top-right-radius: 4px;
8111
7746
  }
8112
- .tl-inline-tabs__tab:not(.tl-inline-tabs__tab--selected)::after {
8113
- width: 0%;
7747
+ .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 {
7748
+ border-top-left-radius: 0;
8114
7749
  }
8115
- .tl-inline-tabs__tab:hover {
8116
- cursor: pointer;
8117
- color: var(--inline-tabs-tab-hover);
7750
+ .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 {
7751
+ border-top-right-radius: 0;
8118
7752
  }
8119
- .tl-inline-tabs__tab:hover::after {
8120
- width: 100%;
7753
+ .tl-table__header-cell:has(.tl-table__header-input-wrapper), .tl-table--no-header-padding .tl-table__header-cell, .tl-table__header-cell--sortable {
7754
+ padding: 0;
8121
7755
  }
8122
- .tl-inline-tabs__tab--selected {
8123
- color: var(--inline-tabs-tab-selected);
7756
+ .tl-table__header-cell--checkbox, .tl-table__header-cell--expand {
7757
+ min-width: 48px;
7758
+ width: 48px;
7759
+ padding: 0;
7760
+ text-align: center;
7761
+ background-color: var(--table-header);
8124
7762
  }
8125
- .tl-inline-tabs__tab--selected::after {
8126
- background-color: var(--inline-tabs-tab-indicator-active);
8127
- width: 100%;
7763
+ .tl-table--compact .tl-table__header-cell {
7764
+ height: 32px;
7765
+ padding: 8px 16px;
8128
7766
  }
8129
- .tl-inline-tabs__tab--disabled {
8130
- color: var(--inline-tabs-tab-disabled);
8131
- pointer-events: none;
8132
- cursor: not-allowed;
7767
+ .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) {
7768
+ padding: 0;
8133
7769
  }
8134
- .tl-inline-tabs__tab--disabled::after {
8135
- content: none;
7770
+ .tl-table--no-min-width .tl-table__header-cell {
7771
+ min-width: unset;
8136
7772
  }
8137
- .tl-inline-tabs__tab--disabled:focus-visible::before {
8138
- box-shadow: none;
7773
+ .tl-table--header-text-align-left .tl-table__header-cell {
7774
+ text-align: left;
8139
7775
  }
8140
-
8141
- .tl-inline-tabs {
8142
- box-sizing: border-box;
7776
+ .tl-table--header-text-align-start .tl-table__header-cell {
7777
+ text-align: start;
7778
+ }
7779
+ .tl-table--header-text-align-center .tl-table__header-cell {
7780
+ text-align: center;
7781
+ }
7782
+ .tl-table--header-text-align-right .tl-table__header-cell {
7783
+ text-align: right;
8143
7784
  }
8144
- .tl-inline-tabs * {
8145
- box-sizing: border-box;
7785
+ .tl-table--header-text-align-end .tl-table__header-cell {
7786
+ text-align: end;
8146
7787
  }
8147
- .tl-inline-tabs {
7788
+
7789
+ .tl-table__header-button {
8148
7790
  display: flex;
8149
- flex-wrap: nowrap;
8150
- white-space: nowrap;
7791
+ align-items: center;
7792
+ gap: 8px;
7793
+ justify-content: start;
7794
+ flex-direction: row;
8151
7795
  width: 100%;
8152
- overflow-x: scroll;
8153
- scrollbar-width: none;
8154
- gap: 16px;
8155
- position: relative;
7796
+ height: 100%;
7797
+ padding: 16px;
8156
7798
  background-color: transparent;
7799
+ border: none;
7800
+ cursor: pointer;
7801
+ transition: background-color 200ms ease;
7802
+ font-family: var(--headline-07-font-family);
7803
+ font-size: var(--headline-07-font-size);
7804
+ line-height: var(--headline-07-line-height);
7805
+ font-weight: var(--headline-07-font-weight);
7806
+ letter-spacing: var(--headline-07-letter-spacing);
7807
+ text-transform: var(--headline-07-text-transform);
7808
+ color: var(--table-text);
7809
+ text-align: left;
8157
7810
  }
8158
- .tl-inline-tabs::-webkit-scrollbar {
8159
- display: none;
7811
+ .tl-table__header-button:focus-visible, .tl-table__header-button:focus, .tl-table__header-button:active {
7812
+ outline: 2px solid var(--table-header-button-focus);
7813
+ outline-offset: -2px;
8160
7814
  }
8161
- .tl-inline-tabs::after {
8162
- border-bottom: 1px solid var(--inline-tabs-horizontal-divider);
8163
- content: " ";
8164
- display: block;
8165
- left: 0;
8166
- right: 0;
8167
- bottom: 0;
8168
- position: absolute;
7815
+ .tl-table--compact .tl-table__header-button {
7816
+ padding: 0;
8169
7817
  }
8170
7818
 
8171
- .tl-inline-tabs__scroll-button {
8172
- background-color: var(--inline-tabs-scroll-button);
8173
- color: var(--inline-tabs-scroll-button-text);
8174
- cursor: pointer;
8175
- min-width: 48px;
8176
- border: 0;
8177
- display: block;
8178
- justify-content: center;
8179
- align-items: center;
7819
+ .tl-table__header-button-text {
7820
+ color: var(--table-text);
7821
+ text-align: left;
7822
+ }
7823
+
7824
+ .tl-table__header-button-icon {
7825
+ flex: 0 0 16px;
7826
+ height: 16px;
7827
+ width: 16px;
7828
+ opacity: 0;
7829
+ transform-origin: center;
7830
+ transition: opacity 200ms ease-in, transform 200ms ease;
7831
+ color: var(--table-text);
7832
+ }
7833
+
7834
+ .tl-table__header-button:focus-visible .tl-table__header-button-icon,
7835
+ .tl-table__header-button:focus .tl-table__header-button-icon,
7836
+ .tl-table__header-button:active .tl-table__header-button-icon,
7837
+ .tl-table__header-button:hover .tl-table__header-button-icon {
8180
7838
  opacity: 1;
8181
- position: sticky;
8182
7839
  }
8183
7840
 
8184
- .tl-inline-tabs__scroll-button--right {
8185
- right: 0;
8186
- z-index: 1;
7841
+ .tl-table__header-cell--is-sorted {
7842
+ background-color: var(--table-header-button);
8187
7843
  }
8188
7844
 
8189
- .tl-inline-tabs__scroll-button--left {
8190
- left: 0;
8191
- z-index: 1;
7845
+ .tl-table__header-cell--is-sorted:hover {
7846
+ background-color: var(--table-header-button-hover);
8192
7847
  }
8193
7848
 
8194
- .tl-inline-tabs__scroll-button svg {
8195
- fill: var(--inline-tabs-scroll-button-text);
7849
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon {
7850
+ opacity: 1;
8196
7851
  }
8197
7852
 
8198
- .tl-navigation-tabs__tab {
8199
- /* tds-navigation-tab variables */
8200
- --navigation-tabs-tab: var(--color-foreground-text-soft);
8201
- --navigation-tabs-tab-selected: var(--color-foreground-text-strong);
8202
- --navigation-tabs-tab-hover: var(--color-foreground-text-strong);
8203
- --navigation-tabs-tab-focus: var(--color-foreground-text-strong);
8204
- --navigation-tabs-tab-disabled: var(--color-foreground-text-disabled);
8205
- --navigation-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8206
- --navigation-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
7853
+ .tl-table__header-cell--is-sorted .tl-table__header-button-icon--rotate {
7854
+ transform: rotate(180deg);
8207
7855
  }
8208
7856
 
8209
- .tl-navigation-tabs {
8210
- /* tds-navigation-tabs variables */
8211
- --navigation-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8212
- --navigation-tabs-tab-primary: var(--color-background-base);
8213
- --navigation-tabs-tab-secondary: var(--color-background-layer-01);
8214
- --navigation-tabs: var(--navigation-tabs-tab-primary);
8215
- --navigation-tabs-scroll-button-icon: var(--color-foreground-icon-strong);
8216
- --navigation-tabs-scroll-button: var(--navigation-tabs-tab-primary);
8217
- --navigation-tabs-scroll-button-hover: var(--navigation-tabs-tab-primary);
8218
- --navigation-tabs-scroll-button-active: var(--navigation-tabs-tab-primary);
7857
+ .tl-table__body-cell {
7858
+ display: table-cell;
7859
+ padding: 16px;
7860
+ background-color: transparent;
7861
+ color: var(--table-text);
7862
+ font-family: var(--detail-02-font-family);
7863
+ font-size: var(--detail-02-font-size);
7864
+ line-height: var(--detail-02-line-height);
7865
+ font-weight: var(--detail-02-font-weight);
7866
+ letter-spacing: var(--detail-02-letter-spacing);
7867
+ text-transform: var(--detail-02-text-transform);
7868
+ transition: background-color 200ms ease;
7869
+ min-width: 192px;
8219
7870
  }
8220
- .tl-navigation-tabs.tds-mode-variant-primary {
8221
- --navigation-tabs: var(--navigation-tabs-tab-primary);
8222
- --navigation-tabs-scroll-button: var(--navigation-tabs-tab-primary);
7871
+ .tl-table__body-cell:focus {
7872
+ background-color: var(--table-input-focus);
8223
7873
  }
8224
- .tl-navigation-tabs.tds-mode-variant-secondary {
8225
- --navigation-tabs: var(--navigation-tabs-tab-secondary);
8226
- --navigation-tabs-scroll-button: var(--navigation-tabs-tab-secondary);
7874
+ .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7875
+ background-color: var(--table-body-cell-hover);
8227
7876
  }
8228
-
8229
- .tl-navigation-tabs__tab {
8230
- all: unset;
8231
- margin-right: 32px;
8232
- box-sizing: border-box;
7877
+ .tl-table__row--expanded .tl-table__body-cell:hover:not(.tl-table__body-cell--checkbox) {
7878
+ background-color: var(--table-body-row-selected);
8233
7879
  }
8234
- .tl-navigation-tabs__tab * {
8235
- box-sizing: border-box;
7880
+ .tl-table__body-cell--column-highlight {
7881
+ background-color: var(--table-body-cell-hover);
8236
7882
  }
8237
- .tl-navigation-tabs__tab {
8238
- font-family: var(--headline-07-font-family);
8239
- font-size: var(--headline-07-font-size);
8240
- line-height: var(--headline-07-line-height);
8241
- font-weight: var(--headline-07-font-weight);
8242
- letter-spacing: var(--headline-07-letter-spacing);
8243
- text-transform: var(--headline-07-text-transform);
8244
- color: var(--navigation-tabs-tab);
8245
- text-decoration: none;
8246
- display: block;
8247
- position: relative;
8248
- transition: color 0.15s ease-in-out 0s;
8249
- white-space: nowrap;
8250
- background-color: transparent;
8251
- border: 0;
8252
- padding: 26px 4px;
7883
+ .tl-table__body-cell--checkbox, .tl-table__body-cell--expand {
7884
+ min-width: 48px;
7885
+ width: 48px;
7886
+ padding: 0;
7887
+ text-align: center;
7888
+ background-color: inherit;
8253
7889
  }
8254
- .tl-navigation-tabs__tab:focus-visible {
8255
- outline: none;
7890
+ .tl-table--compact .tl-table__body-cell {
7891
+ height: 32px;
7892
+ padding: 8px 16px;
8256
7893
  }
8257
- .tl-navigation-tabs__tab:focus-visible::before {
8258
- content: "";
8259
- position: absolute;
8260
- inset: 18px 0;
8261
- border-radius: 2px;
8262
- box-shadow: 0 0 0 2px var(--navigation-tabs-tab-focus) inset;
8263
- z-index: 2;
8264
- pointer-events: none;
7894
+ .tl-table--no-min-width .tl-table__body-cell {
7895
+ min-width: unset;
8265
7896
  }
8266
- .tl-navigation-tabs__tab::after {
8267
- background-color: var(--navigation-tabs-tab-indicator-hover);
8268
- content: " ";
8269
- position: absolute;
8270
- bottom: 0;
8271
- right: 0;
8272
- left: 0;
8273
- margin-left: auto;
8274
- width: 0%;
8275
- margin-right: auto;
8276
- height: 2px;
8277
- z-index: 1;
8278
- transition: width 0.15s ease-in-out 0s;
7897
+ .tl-table--vertical-dividers .tl-table__body-cell:not(:last-child):not(.tl-table__body-cell--expand) {
7898
+ border-right: 1px solid var(--table-divider);
8279
7899
  }
8280
- .tl-navigation-tabs__tab:not(.tl-navigation-tabs__tab--selected)::after {
8281
- width: 0%;
7900
+ .tl-table--zebra-columns-odd .tl-table__body-cell:nth-child(odd) {
7901
+ background-color: var(--table-zebra-mode);
8282
7902
  }
8283
- .tl-navigation-tabs__tab:hover {
8284
- cursor: pointer;
8285
- color: var(--navigation-tabs-tab-hover);
7903
+ .tl-table--zebra-columns-even .tl-table__body-cell:nth-child(even) {
7904
+ background-color: var(--table-zebra-mode);
8286
7905
  }
8287
- .tl-navigation-tabs__tab:hover::after {
8288
- width: 100%;
7906
+ .tl-table--cell-text-align-left .tl-table__body-cell {
7907
+ text-align: left;
8289
7908
  }
8290
- .tl-navigation-tabs__tab--selected {
8291
- color: var(--navigation-tabs-tab-selected);
7909
+ .tl-table--cell-text-align-start .tl-table__body-cell {
7910
+ text-align: start;
8292
7911
  }
8293
- .tl-navigation-tabs__tab--selected::after {
8294
- background-color: var(--navigation-tabs-tab-indicator-active);
8295
- width: 100%;
7912
+ .tl-table--cell-text-align-center .tl-table__body-cell {
7913
+ text-align: center;
8296
7914
  }
8297
- .tl-navigation-tabs__tab--disabled {
8298
- color: var(--navigation-tabs-tab-disabled);
8299
- pointer-events: none;
8300
- cursor: not-allowed;
7915
+ .tl-table--cell-text-align-right .tl-table__body-cell {
7916
+ text-align: right;
8301
7917
  }
8302
- .tl-navigation-tabs__tab--disabled::after {
8303
- content: none;
7918
+ .tl-table--cell-text-align-end .tl-table__body-cell {
7919
+ text-align: end;
8304
7920
  }
8305
- .tl-navigation-tabs__tab--disabled:focus-visible::before {
8306
- box-shadow: none;
7921
+ .tl-table--no-padding .tl-table__body-cell {
7922
+ padding: 0;
7923
+ }
7924
+ .tl-table__row:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7925
+ background-color: var(--table-body-row-hover);
7926
+ }
7927
+ .tl-table__row--selected:hover:not(.tl-table__row--expanded) .tl-table__body-cell {
7928
+ background-color: var(--table-body-row-selected-hover);
7929
+ }
7930
+ .tl-table__row--expanded .tl-table__body-cell {
7931
+ background-color: var(--table-body-row-selected);
8307
7932
  }
8308
7933
 
8309
- .tl-navigation-tabs {
7934
+ .tl-table__toolbar {
8310
7935
  box-sizing: border-box;
8311
7936
  }
8312
- .tl-navigation-tabs * {
7937
+ .tl-table__toolbar * {
8313
7938
  box-sizing: border-box;
8314
7939
  }
8315
- .tl-navigation-tabs {
8316
- background-color: transparent;
8317
- display: flex;
8318
- flex-wrap: nowrap;
8319
- white-space: nowrap;
8320
- width: 100%;
8321
- overflow-x: scroll;
8322
- scrollbar-width: none;
8323
- gap: 16px;
7940
+ .tl-table__toolbar {
7941
+ display: table-caption;
8324
7942
  position: relative;
7943
+ background-color: var(--table-toolbar);
7944
+ color: var(--table-text);
7945
+ padding: 0 var(--tds-spacing-element-16);
7946
+ height: 64px;
7947
+ border-top-left-radius: 4px;
7948
+ border-top-right-radius: 4px;
8325
7949
  }
8326
- .tl-navigation-tabs::-webkit-scrollbar {
8327
- display: none;
7950
+ .tl-table--compact .tl-table__toolbar {
7951
+ height: 56px;
8328
7952
  }
8329
- .tl-navigation-tabs::after {
8330
- border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8331
- content: " ";
8332
- display: block;
8333
- left: 0;
8334
- right: 0;
8335
- bottom: 0;
8336
- position: absolute;
7953
+
7954
+ .tl-table__upper-bar {
7955
+ width: 100%;
7956
+ height: 100%;
7957
+ display: flex;
7958
+ justify-content: space-between;
8337
7959
  }
8338
7960
 
8339
- .tl-navigation-tabs__scroll-button {
8340
- background-color: transparent;
8341
- color: var(--navigation-tabs-scroll-button-icon);
8342
- cursor: pointer;
8343
- min-width: 48px;
8344
- border: 0;
8345
- display: block;
8346
- justify-content: center;
7961
+ .tl-table__actionbar-left {
7962
+ display: flex;
8347
7963
  align-items: center;
8348
- opacity: 1;
8349
- position: sticky;
8350
7964
  }
8351
7965
 
8352
- .tl-navigation-tabs__scroll-button--right {
8353
- right: 0;
8354
- z-index: 1;
7966
+ .tl-table__title {
7967
+ font-family: var(--headline-07-font-family);
7968
+ font-size: var(--headline-07-font-size);
7969
+ line-height: var(--headline-07-line-height);
7970
+ font-weight: var(--headline-07-font-weight);
7971
+ letter-spacing: var(--headline-07-letter-spacing);
7972
+ text-transform: var(--headline-07-text-transform);
7973
+ display: flex;
7974
+ align-self: baseline;
7975
+ text-align: left;
7976
+ letter-spacing: var(--tds-headline-07-ls);
7977
+ padding-top: var(--tds-spacing-element-16);
7978
+ margin-right: var(--tds-spacing-element-8);
7979
+ }
7980
+
7981
+ .tl-table__actionbar-right {
7982
+ display: flex;
7983
+ align-self: center;
7984
+ column-gap: 8px;
7985
+ position: relative;
8355
7986
  }
8356
7987
 
8357
- .tl-navigation-tabs__scroll-button--left {
8358
- left: 0;
8359
- z-index: 1;
7988
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) {
7989
+ position: absolute;
7990
+ right: 0;
7991
+ top: 50%;
7992
+ transform: translateY(-50%);
7993
+ cursor: pointer;
7994
+ width: 40px;
7995
+ min-width: 40px;
7996
+ max-width: 40px;
7997
+ height: 40px;
8360
7998
  }
8361
7999
 
8362
- .tl-navigation-tabs__scroll-button svg {
8363
- fill: var(--navigation-tabs-scroll-button-color);
8000
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__input {
8001
+ display: none;
8364
8002
  }
8365
8003
 
8366
- .tl-text-field {
8367
- --text-field-background: var(--color-background-layer-01);
8368
- --text-field-text: var(--color-foreground-text-strong);
8369
- --text-field-placeholder: var(--color-foreground-text-subtle);
8370
- --text-field-affix: var(--color-foreground-text-defined);
8371
- --text-field-label: var(--color-foreground-text-strong);
8372
- --text-field-label-inside: var(--color-foreground-text-strong);
8373
- --text-field-label-inside-left: 16px;
8374
- --text-field-affix-width-icon: 35px;
8375
- --text-field-affix-width-text: 8px;
8376
- --text-field-border-bottom-readonly: var(--color-foreground-border-strong);
8377
- --text-field-helper: var(--color-foreground-text-defined);
8378
- --text-field-error: var(--color-system-danger-default);
8379
- --text-field-affix-error: var(--color-foreground-text-defined);
8380
- --text-field-background-disabled: var(--color-background-layer-01);
8381
- --text-field-text-disabled: var(--color-foreground-text-disabled);
8382
- --text-field-placeholder-disabled: var(--color-foreground-text-disabled);
8383
- --text-field-label-disabled: var(--color-foreground-text-disabled);
8384
- --text-field-affix-disabled: var(--color-foreground-text-disabled);
8385
- --text-field-textcounter: var(--color-foreground-text-defined);
8386
- }
8387
- .tl-text-field--primary {
8388
- --text-field-background: var(--color-background-layer-01);
8389
- --text-field-background-disabled: var(--color-background-layer-01);
8390
- }
8391
- .tl-text-field--secondary {
8392
- --text-field-background: var(--color-background-layer-02);
8393
- --text-field-background-disabled: var(--color-background-layer-02);
8004
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible)::before {
8005
+ content: "";
8006
+ position: absolute;
8007
+ width: 40px;
8008
+ height: 40px;
8009
+ border-radius: 4px 4px 0 0;
8010
+ background-color: transparent;
8011
+ transition: background-color 250ms ease;
8012
+ right: 6px;
8013
+ top: 50%;
8014
+ transform: translateY(-50%);
8394
8015
  }
8395
8016
 
8396
- .tl-text-field,
8397
- .scania .tl-text-field {
8398
- --text-field-border-radius: 4px 4px 0 0;
8399
- --text-field-box-shadow: 0 -1px 0 0 var(--color-foreground-border-soft);
8400
- --text-field-box-shadow-hover: 0 -1px 0 0 var(--color-foreground-border-strong);
8401
- --text-field-box-shadow-focus: 0 -2px 0 0 var(--color-foreground-border-accent-focus);
8402
- --text-field-box-shadow-error: 0 -1px 0 0 var(--color-system-danger-default);
8403
- --text-field-box-shadow-error-hover: 0 -1px 0 0 var(--color-system-danger-default);
8404
- --text-field-box-shadow-error-focus: 0 -2px 0 0 var(--color-system-danger-default);
8405
- --text-field-box-shadow-success: 0 -1px 0 0 var(--color-foreground-border-strong);
8406
- --text-field-bar-focus: var(--color-foreground-border-accent-focus);
8407
- --text-field-bar-error: var(--color-system-danger-default);
8408
- --text-field-focus-outline: none;
8409
- --text-field-focus-outline-error: none;
8410
- --text-field-focus-outline-offset: 0;
8017
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible) .tl-text-field__suffix--icon {
8018
+ position: absolute;
8019
+ right: 16px;
8020
+ top: 50%;
8021
+ transform: translateY(calc(-50% - 1px));
8022
+ z-index: 1;
8023
+ pointer-events: none;
8411
8024
  }
8412
8025
 
8413
- .traton .tl-text-field {
8414
- --text-field-border-radius: 4px 4px 4px 4px;
8415
- --text-field-box-shadow: 0 0 0 1px var(--color-foreground-border-soft);
8416
- --text-field-box-shadow-hover: 0 0 0 1px var(--color-foreground-border-strong);
8417
- --text-field-box-shadow-focus: 0 0 0 2px var(--color-foreground-border-accent-focus);
8418
- --text-field-box-shadow-success: 0 0 0 1px var(--color-foreground-border-strong);
8419
- --text-field-box-shadow-error: 0 0 0 1px var(--color-system-danger-default);
8420
- --text-field-box-shadow-error-hover: 0 0 0 1px var(--color-system-danger-default);
8421
- --text-field-box-shadow-error-focus: 0 0 0 2px var(--color-system-danger-default);
8422
- --text-field-focus-outline: 2px solid var(--color-foreground-border-accent-focus);
8423
- --text-field-focus-outline-error: 2px solid var(--color-system-danger-default);
8424
- --text-field-focus-outline-offset: 0;
8425
- --text-field-bar-focus: transparent;
8426
- --text-field-bar-error: transparent;
8026
+ .tl-table__actionbar-right .tl-text-field:not(.tl-text-field--input-visible):hover::before {
8027
+ background-color: var(--table-toolbar-searchbar-hover);
8427
8028
  }
8428
8029
 
8429
- .tl-text-field {
8430
- display: block;
8030
+ .tl-table__header-input-wrapper {
8431
8031
  position: relative;
8432
8032
  width: 100%;
8433
- min-width: 208px;
8434
- border-radius: var(--text-field-border-radius);
8435
- box-sizing: border-box;
8436
- }
8437
- .tl-text-field--no-min-width {
8438
- min-width: auto;
8033
+ height: 100%;
8439
8034
  }
8440
- .tl-text-field--readonly:not(.tl-text-field--disabled):not(.tl-text-field--hide-readonly-icon)::before {
8441
- content: "";
8035
+
8036
+ .tl-table__header-input-wrapper .tl-icon {
8037
+ color: var(--table-input-header-icon);
8442
8038
  position: absolute;
8039
+ left: 15px;
8443
8040
  top: 50%;
8444
- right: 16px;
8445
- width: 20px;
8446
- height: 20px;
8447
- background-color: var(--text-field-text);
8448
- mask-image: var(--icon-edit_inactive-svg);
8449
- mask-size: contain;
8450
- mask-repeat: no-repeat;
8451
- mask-position: center;
8452
8041
  transform: translateY(-50%);
8453
8042
  z-index: 1;
8454
- }
8455
- .tl-text-field:has(.tl-text-field__label):not(.tl-text-field--label-inside).tl-text-field--readonly:not(.tl-text-field--disabled):not(.tl-text-field--hide-readonly-icon)::before {
8456
- top: calc(50% + 24px);
8457
- }
8458
- .tl-text-field--disabled {
8459
8043
  pointer-events: none;
8460
8044
  }
8461
- .tl-text-field .tl-icon {
8462
- background-color: var(--text-field-affix);
8463
- }
8464
- .tl-text-field--disabled .tl-text-field .tl-icon {
8465
- background-color: var(--text-field-affix-disabled);
8466
- }
8467
8045
 
8468
- .tl-text-field__input {
8469
- all: unset;
8470
- border-radius: var(--text-field-border-radius);
8471
- background-color: var(--text-field-background);
8472
- color: var(--text-field-text);
8473
- width: 100%;
8046
+ .tl-table__header-input {
8474
8047
  box-sizing: border-box;
8475
- margin: 0;
8476
- border: none;
8477
- outline: none;
8478
- }
8479
- .tl-text-field__input::placeholder {
8480
- color: var(--text-field-placeholder);
8481
- }
8482
- .tl-text-field__input:disabled {
8483
- background-color: var(--text-field-background-disabled);
8484
- color: var(--text-field-text-disabled);
8485
- user-select: none;
8486
- pointer-events: none;
8487
- }
8488
- .tl-text-field__input:disabled::placeholder {
8489
- color: var(--text-field-placeholder-disabled);
8490
- }
8491
- .tl-text-field__input {
8492
8048
  font-family: var(--detail-02-font-family);
8493
8049
  font-size: var(--detail-02-font-size);
8494
8050
  line-height: var(--detail-02-line-height);
8495
8051
  font-weight: var(--detail-02-font-weight);
8496
8052
  letter-spacing: var(--detail-02-letter-spacing);
8497
8053
  text-transform: var(--detail-02-text-transform);
8498
- text-align: left;
8499
- color: var(--text-field-text);
8500
- flex: 1;
8501
- order: 2;
8502
- box-shadow: inset var(--text-field-box-shadow);
8503
- transition: box-shadow 0.2s;
8054
+ color: var(--table-text);
8055
+ padding: 0 var(--tds-spacing-element-16);
8056
+ width: 100%;
8057
+ border-radius: 0;
8058
+ background-color: transparent;
8059
+ border: 0;
8060
+ border-bottom: 2px solid transparent;
8061
+ outline: none;
8504
8062
  }
8505
- .tl-text-field__input:focus {
8506
- box-shadow: inset var(--text-field-box-shadow-focus);
8063
+ .tl-table--compact .tl-table__header-input {
8064
+ height: 32px;
8507
8065
  }
8508
- .tl-text-field:hover .tl-text-field__input:not(:focus) {
8509
- box-shadow: inset var(--text-field-box-shadow-hover);
8066
+ .tl-table__header-input {
8067
+ padding-left: 35px;
8068
+ height: 48px;
8510
8069
  }
8511
- .tl-text-field--error .tl-text-field__input {
8512
- box-shadow: inset var(--text-field-box-shadow-error);
8070
+ .tl-table__header-input::placeholder {
8071
+ color: var(--table-input-header-placeholder);
8513
8072
  }
8514
- .tl-text-field--error .tl-text-field__input:focus {
8515
- box-shadow: inset var(--text-field-box-shadow-error-focus);
8073
+ .tl-table__header-input:focus {
8074
+ background-color: var(--table-input-header-focus);
8075
+ border-bottom: 2px solid var(--color-foreground-border-accent-focus);
8516
8076
  }
8517
- .tl-text-field--error:hover .tl-text-field__input:not(:focus) {
8518
- box-shadow: inset var(--text-field-box-shadow-error-hover);
8077
+
8078
+ .tl-table__body-cell .tl-text-field {
8079
+ height: 48px;
8080
+ min-width: auto;
8081
+ padding-bottom: 0;
8082
+ cursor: pointer;
8519
8083
  }
8520
- .tl-text-field--success:not(.tl-text-field--readonly):not(.tl-text-field--disabled) .tl-text-field__input:not(:focus) {
8521
- box-shadow: inset var(--text-field-box-shadow-success);
8084
+
8085
+ .tl-table--compact .tl-table__body-cell .tl-text-field {
8086
+ height: 32px;
8522
8087
  }
8523
- .tl-text-field--readonly .tl-text-field__input {
8524
- box-shadow: inset var(--text-field-box-shadow);
8088
+
8089
+ .tl-table__body-cell .tl-text-field .tl-text-field__input,
8090
+ .tl-table__body-cell .tl-text-field .tl-text-field__input:hover {
8091
+ box-shadow: 0 0 0 0 transparent;
8525
8092
  }
8526
- .tl-text-field--readonly .tl-text-field__input:focus {
8093
+
8094
+ .tl-table__body-cell .tl-text-field .tl-text-field__input:focus {
8527
8095
  box-shadow: inset var(--text-field-box-shadow-focus);
8096
+ background-color: var(--table-input-focus);
8528
8097
  }
8529
- .tl-text-field--readonly:hover .tl-text-field__input:not(:focus) {
8530
- box-shadow: inset var(--text-field-box-shadow-hover);
8098
+
8099
+ .tl-table--compact .tl-table__body-cell .tl-text-field .tl-text-field__input {
8100
+ height: 32px;
8101
+ }
8102
+
8103
+ .tl-table__body-cell .tl-text-field .tl-text-field__suffix--icon {
8104
+ display: none;
8105
+ }
8106
+
8107
+ .tl-table__body-cell .tl-text-field:hover .tl-text-field__suffix--icon,
8108
+ .tl-table__body-cell .tl-text-field:has(.tl-text-field__input:focus) .tl-text-field__suffix--icon {
8109
+ display: inline-block;
8110
+ }
8111
+
8112
+ .tl-table__body-cell .tl-text-field.tl-text-field--disabled .tl-text-field__suffix--icon {
8113
+ display: inline-block;
8114
+ }
8115
+
8116
+ .tl-table__body-cell--expand {
8117
+ position: relative;
8118
+ }
8119
+ .tl-table--compact .tl-table__body-cell--expand {
8120
+ padding: 0;
8121
+ }
8122
+ .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) {
8123
+ outline: 2px solid var(--table-header-button-focus);
8124
+ box-shadow: 0 0 0 1px var(--color-brand-neutral-white);
8125
+ outline-offset: -1px;
8126
+ z-index: 1;
8127
+ }
8128
+
8129
+ .tl-table__expand-control-container {
8130
+ display: flex;
8131
+ justify-content: center;
8132
+ align-items: center;
8133
+ height: 46px;
8134
+ cursor: pointer;
8135
+ padding: 0 16px;
8136
+ position: relative;
8531
8137
  }
8532
- .tl-text-field--disabled .tl-text-field__input {
8533
- box-shadow: none;
8534
- background-color: var(--text-field-background-disabled);
8535
- color: var(--text-field-text-disabled);
8138
+ .tl-table--compact .tl-table__expand-control-container {
8139
+ height: 30px;
8536
8140
  }
8537
- .tl-text-field--readonly .tl-text-field__input {
8538
- user-select: auto;
8539
- caret-color: transparent;
8540
- cursor: default;
8541
- pointer-events: none;
8141
+
8142
+ .tl-table__expand-input {
8143
+ all: unset;
8144
+ top: 0;
8145
+ left: 0;
8146
+ width: 100%;
8147
+ height: 100%;
8148
+ position: absolute;
8149
+ cursor: pointer;
8542
8150
  }
8543
- .tl-text-field--readonly:not(.tl-text-field--disabled):not(.tl-text-field--hide-readonly-icon) .tl-text-field__input {
8544
- padding-right: 54px;
8151
+
8152
+ .tl-table__expand-icon {
8153
+ height: 16px;
8154
+ width: 16px;
8155
+ transition: transform 200ms ease;
8156
+ transform: rotate(0);
8157
+ display: flex;
8158
+ align-items: center;
8159
+ justify-content: center;
8160
+ color: var(--table-text);
8545
8161
  }
8546
- .tl-text-field--lg .tl-text-field__input {
8547
- padding: var(--tds-spacing-element-20) var(--tds-spacing-element-16);
8548
- height: 56px;
8162
+
8163
+ .tl-table__row--expanded {
8164
+ background-color: var(--table-body-row-selected);
8165
+ border-bottom: none;
8549
8166
  }
8550
- .tl-text-field--md .tl-text-field__input {
8551
- padding: var(--tds-spacing-element-16);
8552
- height: 48px;
8167
+
8168
+ .tl-table__row--expanded .tl-table__expand-icon {
8169
+ transform: rotate(180deg);
8553
8170
  }
8554
- .tl-text-field--sm .tl-text-field__input {
8555
- padding: var(--tds-spacing-element-12) var(--tds-spacing-element-16);
8556
- height: 40px;
8171
+
8172
+ .tl-table__expand-row {
8173
+ display: none;
8174
+ transition: background-color 200ms ease;
8175
+ background-color: var(--table-body-row-selected);
8176
+ border-bottom: 1px solid var(--table-divider);
8557
8177
  }
8558
- .tl-text-field--label-inside.tl-text-field--lg .tl-text-field__input {
8559
- padding-top: var(--tds-spacing-element-24);
8560
- padding-bottom: 15px;
8178
+ .tl-table__expand-row--expanded {
8179
+ display: table-row;
8561
8180
  }
8562
- .tl-text-field--label-inside.tl-text-field--md .tl-text-field__input {
8563
- padding-top: var(--tds-spacing-element-20);
8564
- padding-bottom: 11px;
8181
+
8182
+ .tl-table__expand-row-cell {
8183
+ max-width: 1px;
8184
+ overflow: auto;
8185
+ padding: 16px 16px 16px 66px;
8186
+ color: var(--table-text);
8187
+ background-color: var(--table-body-row-selected);
8565
8188
  }
8566
- .tl-text-field--label-inside.tl-text-field--sm .tl-text-field__input:not(:focus):placeholder-shown {
8567
- padding-top: var(--tds-spacing-element-16);
8568
- padding-bottom: 7px;
8189
+ .tl-table__expand-row-cell::-webkit-scrollbar {
8190
+ height: var(--tl-scrollbar-height);
8569
8191
  }
8570
- .tl-text-field:has(.tl-text-field__prefix--icon) .tl-text-field__input {
8571
- padding-left: 44px;
8192
+ .tl-table__expand-row-cell::-webkit-scrollbar-track {
8193
+ background: var(--tl-scrollbar-track-color);
8572
8194
  }
8573
- .tl-text-field:has(.tl-text-field__prefix--text) .tl-text-field__input {
8574
- padding-left: calc(16px + var(--text-field-affix-width-text) + 8px);
8195
+ .tl-table__expand-row-cell::-webkit-scrollbar-thumb {
8196
+ border-radius: 40px;
8197
+ background: var(--tl-scrollbar-thumb-color);
8198
+ border-width: var(--tl-scrollbar-thumb-border-width);
8199
+ border-style: solid;
8200
+ border-color: transparent;
8201
+ background-clip: padding-box;
8575
8202
  }
8576
- .tl-text-field:has(.tl-text-field__suffix--icon) .tl-text-field__input {
8577
- padding-right: 44px;
8203
+ .tl-table__expand-row-cell::-webkit-scrollbar-thumb:hover {
8204
+ border-width: var(--tl-scrollbar-thumb-border-hover-width);
8578
8205
  }
8579
- .tl-text-field:has(.tl-text-field__suffix--text) .tl-text-field__input {
8580
- padding-right: calc(16px + var(--text-field-affix-width-text) + 8px);
8206
+ .tl-table__expand-row-cell::-webkit-scrollbar-button {
8207
+ height: 0;
8208
+ width: 0;
8581
8209
  }
8582
- .tl-text-field--label-inside .tl-text-field__input::placeholder {
8583
- color: transparent !important;
8210
+ @supports not selector(::-webkit-scrollbar) {
8211
+ .tl-table__expand-row-cell {
8212
+ scrollbar-color: var(--tl-scrollbar-thumb-color) var(--tl-scrollbar-track-color);
8213
+ scrollbar-width: var(--tl-scrollbar-width-standard);
8214
+ }
8584
8215
  }
8585
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__input:disabled::placeholder {
8586
- color: var(--text-field-placeholder-disabled) !important;
8216
+ .tl-table--compact .tl-table__expand-row-cell {
8217
+ padding: 8px 16px 8px 66px;
8587
8218
  }
8588
-
8589
- .tl-text-field:not(.tl-text-field--label-inside) .tl-text-field__label {
8590
- font-family: var(--detail-05-font-family);
8591
- font-size: var(--detail-05-font-size);
8592
- line-height: var(--detail-05-line-height);
8593
- font-weight: var(--detail-05-font-weight);
8594
- letter-spacing: var(--detail-05-letter-spacing);
8595
- text-transform: var(--detail-05-text-transform);
8596
- display: block;
8597
- margin-bottom: 8px;
8598
- color: var(--text-field-label);
8219
+ .tl-table__expand-row-cell--overflow-visible {
8220
+ overflow: visible;
8599
8221
  }
8600
- .tl-text-field--label-inside .tl-text-field__label {
8601
- font-family: var(--detail-02-font-family);
8602
- font-size: var(--detail-02-font-size);
8603
- line-height: var(--detail-02-line-height);
8604
- font-weight: var(--detail-02-font-weight);
8605
- letter-spacing: var(--detail-02-letter-spacing);
8606
- text-transform: var(--detail-02-text-transform);
8607
- position: absolute;
8608
- top: 50%;
8609
- left: var(--text-field-label-inside-left, 16px);
8610
- color: var(--text-field-label-inside);
8611
- pointer-events: none;
8612
- transform: translateY(-50%);
8613
- transform-origin: top left;
8614
- transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
8615
- z-index: 1;
8222
+ .tl-table__expand-row-cell--overflow-hidden {
8223
+ overflow: hidden;
8616
8224
  }
8617
- .tl-text-field--label-inside:has(.tl-text-field__prefix--icon) .tl-text-field__label {
8618
- left: 44px;
8225
+
8226
+ .tl-table.tl-table--primary .tl-text-field__input {
8227
+ background-color: var(--component-table-cell);
8619
8228
  }
8620
- .tl-text-field--label-inside:has(.tl-text-field__prefix--text) .tl-text-field__label {
8621
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
8229
+ .tl-table.tl-table--secondary .tl-text-field__input {
8230
+ background-color: var(--component-table-secondary-cell);
8622
8231
  }
8623
- .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 {
8624
- font-family: var(--detail-07-font-family);
8625
- font-size: var(--detail-07-font-size);
8626
- line-height: var(--detail-07-line-height);
8627
- font-weight: var(--detail-07-font-weight);
8628
- letter-spacing: var(--detail-07-letter-spacing);
8629
- text-transform: var(--detail-07-text-transform);
8630
- top: 8px;
8631
- transform: translateY(0);
8632
- transition: 0.1s ease all;
8232
+
8233
+ .tl-table--compact .tl-table__header-cell--checkbox {
8234
+ padding-left: 16px;
8633
8235
  }
8634
- .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 {
8635
- left: 44px;
8236
+
8237
+ .tl-table__header-cell--checkbox {
8238
+ padding: 16px;
8636
8239
  }
8637
- .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 {
8638
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
8240
+
8241
+ .tl-table__body-cell--checkbox {
8242
+ padding: 16px;
8639
8243
  }
8640
- .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 {
8641
- opacity: 0;
8642
- visibility: hidden;
8244
+
8245
+ /* tl-folder-tabs.scss (overlay buttons, no JS) */
8246
+ .tl-folder-tabs {
8247
+ --folder-tabs-scroll-button-surface: var(--color-background-surface-200);
8248
+ --folder-tabs-scroll-button-surface-hover: var(--color-background-surface-300);
8249
+ --folder-tabs-scroll-button-surface-active: var(--color-background-surface-400);
8250
+ --folder-tabs-scroll-button-text: var(--color-foreground-text-soft);
8643
8251
  }
8644
- .tl-text-field--label-inside.tl-text-field--disabled .tl-text-field__label {
8645
- color: var(--text-field-label-disabled);
8252
+
8253
+ .tl-folder-tabs__tab {
8254
+ --folder-tab-surface: var(--color-background-surface-200);
8255
+ --folder-tab-surface-selected: var(--color-background-layer-01);
8256
+ --folder-tab-surface-hover: var(--color-background-surface-300);
8257
+ --folder-tab-border-selected: var(--color-foreground-border-accent-focus);
8258
+ --folder-tab-divider: var(--color-foreground-icon-discrete);
8259
+ --folder-tab-text: var(--color-foreground-text-soft);
8260
+ --folder-tab-text-disabled: var(--color-foreground-text-disabled);
8646
8261
  }
8647
- .tl-text-field:not(.tl-text-field--label-inside).tl-text-field--disabled .tl-text-field__label {
8648
- color: var(--text-field-label-disabled);
8262
+
8263
+ .tl-folder-tabs--primary .tl-folder-tabs__tab {
8264
+ --folder-tab-surface-selected: var(--color-background-layer-01);
8649
8265
  }
8650
8266
 
8651
- .tl-text-field__bottom {
8652
- display: flex;
8653
- gap: 8px;
8654
- padding-top: 4px;
8267
+ .tl-folder-tabs--secondary .tl-folder-tabs__tab {
8268
+ --folder-tab-surface-selected: var(--color-background-layer-02);
8655
8269
  }
8656
8270
 
8657
- .tl-text-field__helper {
8658
- font-family: var(--detail-05-font-family);
8659
- font-size: var(--detail-05-font-size);
8660
- line-height: var(--detail-05-line-height);
8661
- font-weight: var(--detail-05-font-weight);
8662
- letter-spacing: var(--detail-05-letter-spacing);
8663
- text-transform: var(--detail-05-text-transform);
8664
- color: var(--text-field-helper);
8271
+ .tl-folder-tabs {
8272
+ box-sizing: border-box;
8273
+ }
8274
+ .tl-folder-tabs * {
8275
+ box-sizing: border-box;
8276
+ }
8277
+ .tl-folder-tabs {
8278
+ display: flex;
8279
+ overflow-x: scroll;
8280
+ scrollbar-width: none;
8665
8281
  position: relative;
8282
+ outline: 0;
8666
8283
  }
8667
- .tl-text-field--disabled .tl-text-field__helper {
8668
- color: var(--color-foreground-text-disabled);
8284
+ .tl-folder-tabs::-webkit-scrollbar {
8285
+ display: none;
8669
8286
  }
8670
- .tl-text-field--error .tl-text-field__helper {
8671
- padding-left: 24px;
8287
+
8288
+ /* Overlay buttons (optional in markup; visible via media query) */
8289
+ .tl-folder-tabs__scroll-button {
8290
+ background-color: var(--folder-tab-surface);
8291
+ color: var(--folder-tabs-scroll-button-text);
8292
+ min-width: 48px;
8293
+ border: 0;
8294
+ justify-content: center;
8295
+ align-items: center;
8296
+ position: sticky;
8297
+ cursor: pointer;
8672
8298
  }
8673
- .tl-text-field--error .tl-text-field__helper::before {
8674
- content: "";
8675
- position: absolute;
8676
- left: 0;
8677
- top: 0;
8678
- width: 16px;
8679
- height: 16px;
8680
- background-color: var(--text-field-error);
8681
- mask-image: var(--icon-error-svg);
8682
- mask-size: contain;
8683
- mask-repeat: no-repeat;
8684
- mask-position: center;
8299
+ .tl-folder-tabs__scroll-button:hover {
8300
+ background-color: var(--folder-tabs-scroll-button-surface-hover);
8685
8301
  }
8686
- .tl-text-field--error.tl-text-field--readonly .tl-text-field__helper {
8687
- padding-left: 0;
8302
+ .tl-folder-tabs__scroll-button:active {
8303
+ background-color: var(--folder-tabs-scroll-button-surface-active);
8688
8304
  }
8689
- .tl-text-field--error.tl-text-field--readonly .tl-text-field__helper::before {
8690
- display: none;
8305
+
8306
+ /* left/right anchoring over the track */
8307
+ .tl-folder-tabs__scroll-button--left {
8308
+ left: 0;
8309
+ z-index: 1;
8691
8310
  }
8692
- .tl-text-field--error:not(.tl-text-field--readonly):not(.tl-text-field--disabled) .tl-text-field__helper {
8693
- color: var(--text-field-error);
8311
+
8312
+ .tl-folder-tabs__scroll-button--right {
8313
+ right: 0;
8314
+ z-index: 1;
8694
8315
  }
8695
- .tl-text-field--error.tl-text-field--disabled .tl-text-field__helper::before {
8696
- background-color: var(--color-foreground-text-disabled);
8316
+
8317
+ .tl-folder-tabs__scroll-button svg {
8318
+ fill: var(--folder-tabs-scroll-button-text);
8697
8319
  }
8698
8320
 
8699
- .tl-text-field__charcounter {
8700
- font-family: var(--detail-05-font-family);
8701
- font-size: var(--detail-05-font-size);
8702
- line-height: var(--detail-05-line-height);
8703
- font-weight: var(--detail-05-font-weight);
8704
- letter-spacing: var(--detail-05-letter-spacing);
8705
- text-transform: var(--detail-05-text-transform);
8706
- margin-left: auto;
8707
- color: var(--text-field-textcounter);
8321
+ .tl-inline-tabs {
8322
+ /* Horizontal divider */
8323
+ --inline-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8324
+ /* Mode variant backgrounds */
8325
+ --inline-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8326
+ --inline-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8327
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8328
+ /* Scroll button */
8329
+ --inline-tabs-scroll-button-text: var(--color-foreground-icon-strong);
8330
+ --inline-tabs-scroll-button-background: var(--inline-tabs-tab-background);
8331
+ --inline-tabs-scroll-button-background-hover: var(--inline-tabs-tab-background);
8332
+ --inline-tabs-scroll-button-background-active: var(--inline-tabs-tab-background);
8708
8333
  }
8709
- .tl-text-field--disabled .tl-text-field__charcounter {
8710
- color: var(--color-foreground-text-disabled);
8334
+ .tl-inline-tabs--primary {
8335
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-primary);
8711
8336
  }
8712
- .tl-text-field--error:not(.tl-text-field--readonly):not(.tl-text-field--disabled) .tl-text-field__charcounter {
8713
- color: var(--text-field-error);
8337
+ .tl-inline-tabs--secondary {
8338
+ --inline-tabs-tab-background: var(--inline-tabs-tab-background-secondary);
8714
8339
  }
8715
- .tl-text-field--error:not(.tl-text-field--readonly):not(.tl-text-field--disabled) .tl-text-field__charcounter .tl-text-field__charcounter-divider {
8716
- color: var(--text-field-error);
8340
+
8341
+ .traton .tl-inline-tabs {
8342
+ --inline-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8343
+ --inline-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8717
8344
  }
8718
8345
 
8719
- .tl-text-field__charcounter-divider {
8720
- color: var(--color-foreground-text-disabled);
8346
+ .tl-inline-tabs__tab {
8347
+ /* Tab */
8348
+ --inline-tabs-tab: var(--color-foreground-text-soft);
8349
+ --inline-tabs-tab-selected: var(--color-foreground-text-strong);
8350
+ --inline-tabs-tab-disabled: var(--color-foreground-text-disabled);
8351
+ --inline-tabs-tab-hover: var(--color-foreground-text-strong);
8352
+ --inline-tabs-tab-focus: var(--color-foreground-border-accent-focus);
8353
+ --inline-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8354
+ --inline-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8721
8355
  }
8722
8356
 
8723
- .tl-text-field__prefix {
8724
- font-family: var(--detail-02-font-family);
8725
- font-size: var(--detail-02-font-size);
8726
- line-height: var(--detail-02-line-height);
8727
- font-weight: var(--detail-02-font-weight);
8728
- letter-spacing: var(--detail-02-letter-spacing);
8729
- text-transform: var(--detail-02-text-transform);
8730
- color: var(--text-field-affix);
8731
- align-self: center;
8357
+ .tl-inline-tabs {
8358
+ box-sizing: border-box;
8359
+ }
8360
+ .tl-inline-tabs * {
8361
+ box-sizing: border-box;
8362
+ }
8363
+ .tl-inline-tabs {
8732
8364
  display: flex;
8733
- align-items: center;
8734
- z-index: 1;
8365
+ flex-wrap: nowrap;
8366
+ white-space: nowrap;
8367
+ width: 100%;
8368
+ overflow-x: scroll;
8369
+ scrollbar-width: none;
8370
+ gap: 16px;
8735
8371
  position: relative;
8372
+ background-color: var(--inline-tabs-tab-background);
8736
8373
  }
8737
- .tl-text-field__prefix--text, .tl-text-field__prefix--icon {
8374
+ .tl-inline-tabs::-webkit-scrollbar {
8375
+ display: none;
8376
+ }
8377
+ .tl-inline-tabs::after {
8378
+ border-bottom: 1px solid var(--inline-tabs-horizontal-divider);
8379
+ content: " ";
8380
+ display: block;
8381
+ left: 0;
8382
+ right: 0;
8383
+ bottom: 0;
8738
8384
  position: absolute;
8739
- left: 16px;
8740
- top: 50%;
8741
- transform: translateY(calc(-50% - 1px));
8742
- z-index: 1;
8743
8385
  }
8744
- .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 {
8745
- transform: translateY(calc(-50% + 24px));
8386
+
8387
+ .tl-inline-tabs__scroll-button {
8388
+ background-color: transparent;
8389
+ color: var(--inline-tabs-scroll-button-text);
8390
+ cursor: pointer;
8391
+ min-width: 48px;
8392
+ border: 0;
8393
+ display: block;
8394
+ justify-content: center;
8395
+ align-items: center;
8396
+ opacity: 1;
8397
+ position: sticky;
8746
8398
  }
8747
- .tl-text-field--disabled .tl-text-field__prefix--text, .tl-text-field--disabled .tl-text-field__prefix--icon {
8748
- color: var(--text-field-affix-disabled);
8399
+
8400
+ .tl-inline-tabs__scroll-button--right {
8401
+ right: 0;
8402
+ z-index: 1;
8749
8403
  }
8750
- .tl-text-field--disabled .tl-text-field__prefix--text > *, .tl-text-field--disabled .tl-text-field__prefix--icon > * {
8751
- color: var(--text-field-affix-disabled);
8404
+
8405
+ .tl-inline-tabs__scroll-button--left {
8406
+ left: 0;
8407
+ z-index: 1;
8752
8408
  }
8753
- .tl-text-field--disabled .tl-text-field__prefix--text .tl-icon, .tl-text-field--disabled .tl-text-field__prefix--icon .tl-icon {
8754
- background-color: var(--text-field-affix-disabled);
8409
+
8410
+ .tl-inline-tabs__scroll-button svg {
8411
+ fill: var(--inline-tabs-scroll-button-text);
8755
8412
  }
8756
- .tl-text-field--disabled .tl-text-field__prefix--icon.tl-icon {
8757
- background-color: var(--text-field-affix-disabled);
8413
+
8414
+ .tl-navigation-tabs__tab {
8415
+ /* tds-navigation-tab variables */
8416
+ --navigation-tabs-tab: var(--color-foreground-text-soft);
8417
+ --navigation-tabs-tab-selected: var(--color-foreground-text-strong);
8418
+ --navigation-tabs-tab-hover: var(--color-foreground-text-strong);
8419
+ --navigation-tabs-tab-focus: var(--color-foreground-text-strong);
8420
+ --navigation-tabs-tab-disabled: var(--color-foreground-text-disabled);
8421
+ --navigation-tabs-tab-indicator-hover: var(--color-foreground-border-discrete);
8422
+ --navigation-tabs-tab-indicator-active: var(--color-foreground-border-accent-focus);
8758
8423
  }
8759
8424
 
8760
- .tl-text-field__suffix {
8761
- font-family: var(--detail-02-font-family);
8762
- font-size: var(--detail-02-font-size);
8763
- line-height: var(--detail-02-line-height);
8764
- font-weight: var(--detail-02-font-weight);
8765
- letter-spacing: var(--detail-02-letter-spacing);
8766
- text-transform: var(--detail-02-text-transform);
8767
- color: var(--text-field-affix);
8768
- align-self: center;
8769
- display: flex;
8770
- align-items: center;
8771
- z-index: 1;
8772
- position: relative;
8425
+ .tl-navigation-tabs {
8426
+ /* tds-navigation-tabs variables */
8427
+ --navigation-tabs-horizontal-divider: var(--color-foreground-icon-discrete);
8428
+ --navigation-tabs-tab-background-primary: var(--scania-color-transparent-invisible-light);
8429
+ --navigation-tabs-tab-background-secondary: var(--scania-color-transparent-invisible-dark);
8430
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8431
+ --navigation-tabs-scroll-button-icon: var(--color-foreground-icon-strong);
8432
+ --navigation-tabs-scroll-button-background: var(--navigation-tabs-tab-background);
8433
+ --navigation-tabs-scroll-button-background-hover: var(--navigation-tabs-tab-background);
8434
+ --navigation-tabs-scroll-button-background-active: var(--navigation-tabs-tab-background);
8773
8435
  }
8774
- .tl-text-field__suffix--text, .tl-text-field__suffix--icon {
8775
- position: absolute;
8776
- right: 16px;
8777
- top: 50%;
8778
- transform: translateY(calc(-50% - 1px));
8779
- z-index: 1;
8436
+ .tl-navigation-tabs--primary {
8437
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-primary);
8780
8438
  }
8781
- .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 {
8782
- transform: translateY(calc(-50% + 24px));
8439
+ .tl-navigation-tabs--secondary {
8440
+ --navigation-tabs-tab-background: var(--navigation-tabs-tab-background-secondary);
8783
8441
  }
8784
- .tl-text-field--disabled .tl-text-field__suffix--text, .tl-text-field--disabled .tl-text-field__suffix--icon {
8785
- color: var(--text-field-affix-disabled);
8442
+
8443
+ .traton .tl-navigation-tabs {
8444
+ --navigation-tabs-tab-background-primary: var(--traton-color-transparent-invisible-light);
8445
+ --navigation-tabs-tab-background-secondary: var(--traton-color-transparent-invisible-dark);
8786
8446
  }
8787
- .tl-text-field--disabled .tl-text-field__suffix--text > *, .tl-text-field--disabled .tl-text-field__suffix--icon > * {
8788
- color: var(--text-field-affix-disabled);
8447
+
8448
+ .tl-navigation-tabs {
8449
+ box-sizing: border-box;
8789
8450
  }
8790
- .tl-text-field--disabled .tl-text-field__suffix--text .tl-icon,
8791
- .tl-text-field--disabled .tl-text-field__suffix--text > .tl-icon, .tl-text-field--disabled .tl-text-field__suffix--icon .tl-icon,
8792
- .tl-text-field--disabled .tl-text-field__suffix--icon > .tl-icon {
8793
- background-color: var(--text-field-affix-disabled) !important;
8451
+ .tl-navigation-tabs * {
8452
+ box-sizing: border-box;
8794
8453
  }
8795
-
8796
- .tl-text-field__suffix {
8797
- font-family: var(--detail-02-font-family);
8798
- font-size: var(--detail-02-font-size);
8799
- line-height: var(--detail-02-line-height);
8800
- font-weight: var(--detail-02-font-weight);
8801
- letter-spacing: var(--detail-02-letter-spacing);
8802
- text-transform: var(--detail-02-text-transform);
8803
- color: var(--text-field-affix);
8804
- align-self: center;
8454
+ .tl-navigation-tabs {
8455
+ background-color: var(--navigation-tabs-tab-background);
8805
8456
  display: flex;
8806
- align-items: center;
8807
- z-index: 1;
8457
+ flex-wrap: nowrap;
8458
+ white-space: nowrap;
8459
+ width: 100%;
8460
+ overflow-x: scroll;
8461
+ scrollbar-width: none;
8462
+ gap: 16px;
8808
8463
  position: relative;
8809
- right: 16px;
8810
- padding-right: 0;
8811
- z-index: 1;
8812
- }
8813
- .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 {
8814
- transform: translateY(calc(-50% + 24px));
8815
- }
8816
- .tl-text-field--disabled .tl-text-field__suffix--text, .tl-text-field--disabled .tl-text-field__suffix--icon {
8817
- color: var(--text-field-affix-disabled);
8818
8464
  }
8819
- .tl-text-field--disabled .tl-text-field__suffix--text > *, .tl-text-field--disabled .tl-text-field__suffix--icon > * {
8820
- color: var(--text-field-affix-disabled);
8465
+ .tl-navigation-tabs::-webkit-scrollbar {
8466
+ display: none;
8821
8467
  }
8822
- .tl-text-field--disabled .tl-text-field__suffix--text .tl-icon,
8823
- .tl-text-field--disabled .tl-text-field__suffix--text > .tl-icon, .tl-text-field--disabled .tl-text-field__suffix--icon .tl-icon,
8824
- .tl-text-field--disabled .tl-text-field__suffix--icon > .tl-icon {
8825
- background-color: var(--text-field-affix-disabled);
8468
+ .tl-navigation-tabs::after {
8469
+ border-bottom: 1px solid var(--navigation-tabs-horizontal-divider);
8470
+ content: " ";
8471
+ display: block;
8472
+ left: 0;
8473
+ right: 0;
8474
+ bottom: 0;
8475
+ position: absolute;
8826
8476
  }
8827
- .tl-text-field--disabled .tl-text-field__suffix--icon.tl-icon {
8828
- background-color: var(--text-field-affix-disabled);
8477
+
8478
+ .tl-navigation-tabs__scroll-button {
8479
+ background-color: transparent;
8480
+ color: var(--navigation-tabs-scroll-button-icon);
8481
+ cursor: pointer;
8482
+ min-width: 48px;
8483
+ border: 0;
8484
+ display: block;
8485
+ justify-content: center;
8486
+ align-items: center;
8487
+ opacity: 1;
8488
+ position: sticky;
8829
8489
  }
8830
8490
 
8831
- .tl-text-field--label-inside:has(.tl-text-field__input:focus) .tl-text-field__label,
8832
- .tl-text-field--label-inside:has(.tl-text-field__input:not(:placeholder-shown)) .tl-text-field__label {
8833
- font-family: var(--detail-07-font-family);
8834
- font-size: var(--detail-07-font-size);
8835
- line-height: var(--detail-07-line-height);
8836
- font-weight: var(--detail-07-font-weight);
8837
- letter-spacing: var(--detail-07-letter-spacing);
8838
- text-transform: var(--detail-07-text-transform);
8839
- top: 7.5px;
8840
- left: var(--text-field-label-inside-left, 16px);
8841
- transform: none;
8491
+ .tl-navigation-tabs__scroll-button--right {
8492
+ right: 0;
8493
+ z-index: 1;
8842
8494
  }
8843
- .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,
8844
- .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 {
8845
- left: 44px;
8495
+
8496
+ .tl-navigation-tabs__scroll-button--left {
8497
+ left: 0;
8498
+ z-index: 1;
8846
8499
  }
8847
- .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,
8848
- .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 {
8849
- left: calc(16px + var(--text-field-affix-width-text) + 8px);
8500
+
8501
+ .tl-navigation-tabs__scroll-button svg {
8502
+ fill: var(--navigation-tabs-scroll-button-color);
8850
8503
  }
8851
8504
 
8852
8505
  .tl-textarea {
@@ -8911,13 +8564,13 @@ body {
8911
8564
  .tl-textarea--no-min-width {
8912
8565
  min-width: auto;
8913
8566
  }
8914
- .tl-textarea--disabled {
8915
- pointer-events: none;
8567
+ .tl-textarea:has(.tl-textarea__input:disabled) {
8568
+ cursor: not-allowed;
8916
8569
  }
8917
- .tl-textarea--readonly:not(.tl-textarea--disabled):not(.tl-textarea--hide-readonly-icon)::before {
8570
+ .tl-textarea:has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8918
8571
  content: "";
8919
8572
  position: absolute;
8920
- top: 19px;
8573
+ top: 18px;
8921
8574
  right: 18px;
8922
8575
  width: 16px;
8923
8576
  height: 16px;
@@ -8928,14 +8581,27 @@ body {
8928
8581
  mask-position: center;
8929
8582
  z-index: 1;
8930
8583
  }
8931
- .tl-textarea:not(.tl-textarea--label-inside).tl-textarea--readonly:not(.tl-textarea--disabled):not(.tl-textarea--hide-readonly-icon)::before {
8584
+ .traton .tl-textarea:has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8585
+ top: 20px;
8586
+ right: 16px;
8587
+ }
8588
+ .tl-textarea:not(.tl-textarea--label-inside):has(.tl-textarea__label):has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8589
+ top: 42px;
8590
+ }
8591
+ .traton .tl-textarea:not(.tl-textarea--label-inside):has(.tl-textarea__label):has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8932
8592
  top: 44px;
8933
8593
  }
8594
+ .tl-textarea:not(.tl-textarea--label-inside):not(:has(.tl-textarea__label)):has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8595
+ top: 17px;
8596
+ }
8597
+ .traton .tl-textarea:not(.tl-textarea--label-inside):not(:has(.tl-textarea__label)):has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea--hide-readonly-icon)::before {
8598
+ top: 19px;
8599
+ }
8934
8600
  .tl-textarea::after {
8935
8601
  content: "";
8936
8602
  position: absolute;
8937
- bottom: 5px;
8938
- right: 2px;
8603
+ bottom: 3px;
8604
+ right: 3px;
8939
8605
  width: 12px;
8940
8606
  height: 12px;
8941
8607
  background-color: var(--textarea-resize-icon);
@@ -8947,14 +8613,14 @@ body {
8947
8613
  z-index: 1;
8948
8614
  }
8949
8615
  .traton .tl-textarea::after {
8950
- bottom: 7px;
8616
+ bottom: 5px;
8951
8617
  right: 4px;
8952
8618
  }
8953
8619
  .tl-textarea:not(.tl-textarea--label-inside)::after {
8954
- bottom: 7px;
8620
+ bottom: 5px;
8955
8621
  }
8956
8622
  .traton .tl-textarea:not(.tl-textarea--label-inside)::after {
8957
- bottom: 9px;
8623
+ bottom: 5px;
8958
8624
  }
8959
8625
  .tl-textarea:has(.tl-textarea__bottom)::after {
8960
8626
  bottom: 25px;
@@ -8962,7 +8628,7 @@ body {
8962
8628
  .traton .tl-textarea:has(.tl-textarea__bottom)::after {
8963
8629
  bottom: 27px;
8964
8630
  }
8965
- .tl-textarea--disabled::after {
8631
+ .tl-textarea :has(.tl-textarea__input:disabled)::after {
8966
8632
  background-color: var(--color-foreground-text-disabled);
8967
8633
  }
8968
8634
 
@@ -9015,7 +8681,7 @@ body {
9015
8681
  .tl-textarea__input::-webkit-resizer {
9016
8682
  display: none;
9017
8683
  }
9018
- .tl-textarea:hover .tl-textarea__input:not(:focus) {
8684
+ .tl-textarea:hover .tl-textarea__input:not(:focus):not(:disabled) {
9019
8685
  box-shadow: inset var(--textarea-box-shadow-hover);
9020
8686
  }
9021
8687
  .tl-textarea--error .tl-textarea__input {
@@ -9024,25 +8690,27 @@ body {
9024
8690
  .tl-textarea--error .tl-textarea__input:focus {
9025
8691
  box-shadow: inset var(--textarea-box-shadow-error-focus);
9026
8692
  }
9027
- .tl-textarea--error:hover .tl-textarea__input:not(:focus) {
8693
+ .tl-textarea--error:hover .tl-textarea__input:not(:focus):not(:disabled) {
9028
8694
  box-shadow: inset var(--textarea-box-shadow-error-hover);
9029
8695
  }
9030
- .tl-textarea--success:not(.tl-textarea--readonly):not(.tl-textarea--disabled) .tl-textarea__input:not(:focus) {
8696
+ .tl-textarea--success:not(:has(.tl-textarea__input[readonly])):not(:has(.tl-textarea__input:disabled)) .tl-textarea__input:not(:focus) {
9031
8697
  box-shadow: inset var(--textarea-box-shadow-success);
9032
8698
  }
9033
- .tl-textarea--readonly .tl-textarea__input {
8699
+ .tl-textarea__input:disabled {
8700
+ box-shadow: none;
8701
+ color: var(--textarea-text-disabled);
8702
+ cursor: not-allowed;
8703
+ pointer-events: none;
8704
+ }
8705
+ :has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)) .tl-textarea__input {
9034
8706
  box-shadow: inset var(--textarea-box-shadow);
9035
8707
  }
9036
- .tl-textarea--readonly .tl-textarea__input:focus {
8708
+ :has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)) .tl-textarea__input:focus {
9037
8709
  box-shadow: inset var(--textarea-box-shadow-focus);
9038
8710
  }
9039
- .tl-textarea--readonly:hover .tl-textarea__input:not(:focus) {
8711
+ :has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):hover .tl-textarea__input:not(:focus) {
9040
8712
  box-shadow: inset var(--textarea-box-shadow-hover);
9041
8713
  }
9042
- .tl-textarea--disabled .tl-textarea__input {
9043
- box-shadow: none;
9044
- color: var(--textarea-text-disabled);
9045
- }
9046
8714
  .tl-textarea--label-inside .tl-textarea__input {
9047
8715
  padding-top: 26px;
9048
8716
  padding-bottom: 15px;
@@ -9051,16 +8719,16 @@ body {
9051
8719
  color: transparent;
9052
8720
  transform: translateY(1px);
9053
8721
  }
9054
- .tl-textarea--disabled.tl-textarea--label-inside .tl-textarea__input::placeholder {
9055
- color: var(--textarea-placeholder) !important;
8722
+ .tl-textarea--label-inside .tl-textarea__input:disabled::placeholder {
8723
+ color: var(--textarea-placeholder-disabled) !important;
9056
8724
  }
9057
- .tl-textarea--readonly .tl-textarea__input {
8725
+ :has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)) .tl-textarea__input {
9058
8726
  user-select: auto;
9059
8727
  caret-color: transparent;
9060
8728
  cursor: default;
9061
8729
  pointer-events: none;
9062
8730
  }
9063
- .tl-textarea--readonly:not(.tl-textarea--disabled):not(.tl-textarea--hide-readonly-icon) .tl-textarea__input {
8731
+ :has(.tl-textarea__input[readonly]):not(:has(.tl-textarea__input:disabled)):not(.tl-textarea__input--hide-readonly-icon) .tl-textarea__input {
9064
8732
  padding-right: 50px;
9065
8733
  }
9066
8734
 
@@ -9092,7 +8760,7 @@ body {
9092
8760
  transition: transform 0.15s, font-size 0.15s, color 0.15s, top 0.15s;
9093
8761
  z-index: 1;
9094
8762
  }
9095
- .tl-textarea--label-inside.tl-textarea--disabled .tl-textarea__label {
8763
+ .tl-textarea--label-inside:has(.tl-textarea__input:disabled) .tl-textarea__label {
9096
8764
  font-family: var(--detail-07-font-family);
9097
8765
  font-size: var(--detail-07-font-size);
9098
8766
  line-height: var(--detail-07-line-height);
@@ -9103,7 +8771,7 @@ body {
9103
8771
  color: var(--textarea-label-disabled);
9104
8772
  transform: translateY(0);
9105
8773
  }
9106
- .tl-textarea:not(.tl-textarea--label-inside).tl-textarea--disabled .tl-textarea__label {
8774
+ .tl-textarea:not(.tl-textarea--label-inside):has(.tl-textarea__input:disabled) .tl-textarea__label {
9107
8775
  color: var(--textarea-label-disabled);
9108
8776
  }
9109
8777
 
@@ -9123,7 +8791,7 @@ body {
9123
8791
  color: var(--textarea-helper);
9124
8792
  position: relative;
9125
8793
  }
9126
- .tl-textarea--disabled .tl-textarea__helper {
8794
+ :has(.tl-textarea__input:disabled) .tl-textarea__helper {
9127
8795
  color: var(--color-foreground-text-disabled);
9128
8796
  }
9129
8797
  .tl-textarea--error .tl-textarea__helper {
@@ -9142,16 +8810,16 @@ body {
9142
8810
  mask-repeat: no-repeat;
9143
8811
  mask-position: center;
9144
8812
  }
9145
- .tl-textarea--error.tl-textarea--readonly .tl-textarea__helper {
8813
+ .tl-textarea--error:has(.tl-textarea__input[readonly]) .tl-textarea__helper {
9146
8814
  padding-left: 0;
9147
8815
  }
9148
- .tl-textarea--error.tl-textarea--readonly .tl-textarea__helper::before {
8816
+ .tl-textarea--error:has(.tl-textarea__input[readonly]) .tl-textarea__helper::before {
9149
8817
  display: none;
9150
8818
  }
9151
- .tl-textarea--error:not(.tl-textarea--readonly):not(.tl-textarea--disabled) .tl-textarea__helper {
8819
+ .tl-textarea--error:not(:has(.tl-textarea__input[readonly])):not(:has(.tl-textarea__input:disabled)) .tl-textarea__helper {
9152
8820
  color: var(--textarea-error);
9153
8821
  }
9154
- .tl-textarea--error.tl-textarea--disabled .tl-textarea__helper::before {
8822
+ .tl-textarea--error:has(.tl-textarea__input:disabled) .tl-textarea__helper::before {
9155
8823
  background-color: var(--color-foreground-text-disabled);
9156
8824
  }
9157
8825
 
@@ -9165,13 +8833,13 @@ body {
9165
8833
  margin-left: auto;
9166
8834
  color: var(--textarea-textcounter);
9167
8835
  }
9168
- .tl-textarea--disabled .tl-textarea__charcounter {
8836
+ :has(.tl-textarea__input:disabled) .tl-textarea__charcounter {
9169
8837
  color: var(--color-foreground-text-disabled);
9170
8838
  }
9171
- .tl-textarea--error:not(.tl-textarea--readonly):not(.tl-textarea--disabled) .tl-textarea__charcounter {
8839
+ .tl-textarea--error:not(:has(.tl-textarea__input[readonly])):not(:has(.tl-textarea__input:disabled)) .tl-textarea__charcounter {
9172
8840
  color: var(--textarea-error);
9173
8841
  }
9174
- .tl-textarea--error:not(.tl-textarea--readonly):not(.tl-textarea--disabled) .tl-textarea__charcounter .tl-textarea__charcounter-divider {
8842
+ .tl-textarea--error:not(:has(.tl-textarea__input[readonly])):not(:has(.tl-textarea__input:disabled)) .tl-textarea__charcounter .tl-textarea__charcounter-divider {
9175
8843
  color: var(--textarea-error);
9176
8844
  }
9177
8845
 
@@ -9311,6 +8979,10 @@ body {
9311
8979
  --toggle-border-focus: var(--color-foreground-border-accent-focus);
9312
8980
  }
9313
8981
 
8982
+ .tl-toggle:has(input[type=checkbox]:disabled) {
8983
+ cursor: not-allowed;
8984
+ }
8985
+
9314
8986
  .tl-toggle__input {
9315
8987
  appearance: initial;
9316
8988
  margin: 0;
@@ -9368,6 +9040,7 @@ body {
9368
9040
  }
9369
9041
  .tl-toggle__input:disabled {
9370
9042
  pointer-events: none;
9043
+ cursor: not-allowed;
9371
9044
  }
9372
9045
  .tl-toggle__input:disabled::before {
9373
9046
  background-color: var(--toggle-disabled);
@@ -9416,9 +9089,10 @@ body {
9416
9089
  color: var(--toggle-text);
9417
9090
  margin-bottom: 12px;
9418
9091
  }
9419
- .tl-toggle__headline--disabled {
9092
+ :has(input[type=checkbox]:disabled) .tl-toggle__headline {
9420
9093
  color: var(--toggle-disabled);
9421
9094
  user-select: none;
9095
+ cursor: not-allowed;
9422
9096
  }
9423
9097
 
9424
9098
  .tl-toggle__label {
@@ -9435,9 +9109,10 @@ body {
9435
9109
  vertical-align: middle;
9436
9110
  padding-left: 8px;
9437
9111
  }
9438
- .tl-toggle__label--disabled {
9112
+ input[type=checkbox]:disabled ~ .tl-toggle__label {
9439
9113
  color: var(--toggle-disabled);
9440
9114
  pointer-events: none;
9115
+ cursor: not-allowed;
9441
9116
  }
9442
9117
 
9443
9118
  .tl-tooltip {