@scania/tegel-lite 0.0.1-beta.7 → 0.0.1-beta.9

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