@planningcenter/tapestry 3.3.0-rc.8 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/components/checkbox-group/CheckboxGroup.d.ts +1 -1
  2. package/dist/components/checkbox-group/CheckboxGroup.js +1 -1
  3. package/dist/components/checkbox-group/CheckboxGroup.js.map +1 -1
  4. package/dist/components/combo-box/ComboBox.d.ts +2 -1
  5. package/dist/components/combo-box/ComboBox.d.ts.map +1 -1
  6. package/dist/components/combo-box/ComboBox.js +9 -6
  7. package/dist/components/combo-box/ComboBox.js.map +1 -1
  8. package/dist/components/date-picker/DatePicker.d.ts +2 -1
  9. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  10. package/dist/components/date-picker/DatePicker.js +7 -135
  11. package/dist/components/date-picker/DatePicker.js.map +1 -1
  12. package/dist/components/number-stepper/NumberStepper.d.ts +2 -1
  13. package/dist/components/number-stepper/NumberStepper.d.ts.map +1 -1
  14. package/dist/components/number-stepper/NumberStepper.js +9 -6
  15. package/dist/components/number-stepper/NumberStepper.js.map +1 -1
  16. package/dist/components/page-header/index.js +1 -1
  17. package/dist/components/sidenav/index.js +1 -1
  18. package/dist/components/time-field/TimeField.d.ts +2 -1
  19. package/dist/components/time-field/TimeField.d.ts.map +1 -1
  20. package/dist/components/time-field/TimeField.js +11 -8
  21. package/dist/components/time-field/TimeField.js.map +1 -1
  22. package/dist/ext/@internationalized/date/dist/string.js +1 -19
  23. package/dist/ext/@internationalized/date/dist/string.js.map +1 -1
  24. package/dist/index.css +835 -14
  25. package/dist/index.css.map +1 -1
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/{tapestry-wc/dist/components/p-CSOohHUi.js → packages/tapestry-wc/dist/components/p-B00sJe3H.js} +3 -3
  31. package/dist/packages/tapestry-wc/dist/components/p-B00sJe3H.js.map +1 -0
  32. package/dist/packages/tapestry-wc/dist/components/{p-Dr-9ZNhc.js → p-Bn0hHWDB.js} +2 -2
  33. package/dist/packages/tapestry-wc/dist/components/p-Bn0hHWDB.js.map +1 -0
  34. package/dist/packages/tapestry-wc/dist/components/{p-CQ9rckMW.js → p-Dq8WF4tc.js} +3 -3
  35. package/dist/packages/tapestry-wc/dist/components/p-Dq8WF4tc.js.map +1 -0
  36. package/dist/packages/tapestry-wc/dist/components/{p-DvYsgsSW.js → p-T7x-WXUY.js} +3 -3
  37. package/dist/packages/tapestry-wc/dist/components/p-T7x-WXUY.js.map +1 -0
  38. package/dist/packages/tapestry-wc/dist/components/{p-CUZotZ0O.js → p-nyMzpSUR.js} +2 -2
  39. package/dist/packages/tapestry-wc/dist/components/p-nyMzpSUR.js.map +1 -0
  40. package/dist/packages/tapestry-wc/dist/components/tds-page-header-nav.js +2 -2
  41. package/dist/packages/tapestry-wc/dist/components/tds-page-header-nav.js.map +1 -1
  42. package/dist/packages/tapestry-wc/dist/components/tds-page-header.js +3 -3
  43. package/dist/packages/tapestry-wc/dist/components/tds-page-header.js.map +1 -1
  44. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-item.js +3 -3
  45. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-item.js.map +1 -1
  46. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-responsive-header.js +2 -2
  47. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-responsive-header.js.map +1 -1
  48. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-section.js +3 -3
  49. package/dist/packages/tapestry-wc/dist/components/tds-sidenav-section.js.map +1 -1
  50. package/dist/packages/tapestry-wc/dist/components/tds-sidenav.js +5 -5
  51. package/dist/packages/tapestry-wc/dist/components/tds-sidenav.js.map +1 -1
  52. package/dist/reactRender.css +2840 -3168
  53. package/dist/reactRender.css.map +1 -1
  54. package/dist/reactRenderLegacy.css +2840 -3168
  55. package/dist/reactRenderLegacy.css.map +1 -1
  56. package/dist/unstable.css +1465 -1793
  57. package/dist/unstable.css.map +1 -1
  58. package/dist/unstable.d.ts +0 -5
  59. package/dist/unstable.d.ts.map +1 -1
  60. package/dist/unstable.js +6 -9
  61. package/dist/unstable.js.map +1 -1
  62. package/package.json +3 -3
  63. package/dist/packages/tapestry-wc/dist/components/p-CQ9rckMW.js.map +0 -1
  64. package/dist/packages/tapestry-wc/dist/components/p-CSOohHUi.js +0 -41
  65. package/dist/packages/tapestry-wc/dist/components/p-CSOohHUi.js.map +0 -1
  66. package/dist/packages/tapestry-wc/dist/components/p-CUZotZ0O.js.map +0 -1
  67. package/dist/packages/tapestry-wc/dist/components/p-Dr-9ZNhc.js.map +0 -1
  68. package/dist/packages/tapestry-wc/dist/components/p-DvYsgsSW.js.map +0 -1
  69. package/dist/tapestry-wc/dist/components/p-CQ9rckMW.js +0 -886
  70. package/dist/tapestry-wc/dist/components/p-CQ9rckMW.js.map +0 -1
  71. package/dist/tapestry-wc/dist/components/p-CSOohHUi.js.map +0 -1
  72. package/dist/tapestry-wc/dist/components/p-CUZotZ0O.js +0 -1736
  73. package/dist/tapestry-wc/dist/components/p-CUZotZ0O.js.map +0 -1
  74. package/dist/tapestry-wc/dist/components/p-Dr-9ZNhc.js +0 -22
  75. package/dist/tapestry-wc/dist/components/p-Dr-9ZNhc.js.map +0 -1
  76. package/dist/tapestry-wc/dist/components/p-DvYsgsSW.js +0 -51
  77. package/dist/tapestry-wc/dist/components/p-DvYsgsSW.js.map +0 -1
  78. package/dist/tapestry-wc/dist/components/tds-page-header-nav.js +0 -10
  79. package/dist/tapestry-wc/dist/components/tds-page-header-nav.js.map +0 -1
  80. package/dist/tapestry-wc/dist/components/tds-page-header.js +0 -63
  81. package/dist/tapestry-wc/dist/components/tds-page-header.js.map +0 -1
  82. package/dist/tapestry-wc/dist/components/tds-sidenav-item.js +0 -96
  83. package/dist/tapestry-wc/dist/components/tds-sidenav-item.js.map +0 -1
  84. package/dist/tapestry-wc/dist/components/tds-sidenav-responsive-header.js +0 -10
  85. package/dist/tapestry-wc/dist/components/tds-sidenav-responsive-header.js.map +0 -1
  86. package/dist/tapestry-wc/dist/components/tds-sidenav-section.js +0 -52
  87. package/dist/tapestry-wc/dist/components/tds-sidenav-section.js.map +0 -1
  88. package/dist/tapestry-wc/dist/components/tds-sidenav.js +0 -74
  89. package/dist/tapestry-wc/dist/components/tds-sidenav.js.map +0 -1
package/dist/unstable.css CHANGED
@@ -2282,28 +2282,264 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2282
2282
  --tds-checkbox-description-line-height:1.3;
2283
2283
  }
2284
2284
 
2285
+ .tds-checkbox-group{
2286
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
2287
+ --tds-checkbox-group-line-height:1.4;
2288
+ --tds-checkbox-group-gap:var(--t-spacing-1);
2285
2289
 
2286
- :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
2287
- -webkit-appearance:none;
2288
- appearance:none;
2290
+ --tds-checkbox-group-legend-margin-bottom:var(--tds-checkbox-group-gap);
2291
+
2292
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
2293
+ --tds-checkbox-group-description-line-height:1.35;
2294
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
2295
+ --tds-checkbox-group-description-invalid-icon-display:none;
2296
+ display:flex;
2297
+ flex-direction:column;
2298
+ gap:var(--tds-checkbox-group-gap);
2299
+ padding:0;
2300
+ margin:0;
2301
+
2302
+ font-size:var(--tds-checkbox-group-font-size);
2303
+ line-height:var(--tds-checkbox-group-line-height);
2304
+ border:0;
2305
+ }
2306
+
2307
+ .tds-checkbox-group legend{
2308
+ padding:0;
2309
+ margin-bottom:var(--tds-checkbox-group-legend-margin-bottom);
2310
+ }
2311
+
2312
+ .tds-checkbox-group:has(.tds-checkbox-group-description){
2313
+ --tds-checkbox-group-legend-margin-bottom:var(--t-spacing-fourth);
2314
+ }
2315
+
2316
+ .tds-checkbox-group[aria-invalid="true"]{
2317
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
2318
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
2319
+ }
2320
+
2321
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
2322
+ margin-left:.25ch;
2323
+ color:var(--t-text-color-status-error);
2324
+ content:"*";
2289
2325
  }
2290
2326
 
2291
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
2292
- inline-size:1em;
2293
- block-size:2em;
2327
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
2328
+ content:none;
2294
2329
  }
2295
2330
 
2296
- @supports (field-sizing: content){
2297
- .tds-input--auto-width{
2298
- inline-size:-moz-fit-content;
2299
- inline-size:fit-content;
2300
- min-inline-size:min(100%, 122px);
2331
+ .tds-checkbox-group-fields{
2332
+ display:flex;
2333
+ flex-direction:column;
2334
+ gap:var(--tds-checkbox-group-gap);
2335
+ align-items:flex-start;
2336
+ }
2337
+
2338
+ .tds-checkbox-group-description{
2339
+ display:flex;
2340
+ gap:var(--t-spacing-half);
2341
+ align-items:flex-start;
2342
+ margin:0;
2343
+ font-size:var(--tds-checkbox-group-description-font-size);
2344
+ line-height:var(--tds-checkbox-group-description-line-height);
2345
+ color:var(--tds-checkbox-group-description-color);
2346
+ cursor:text;
2347
+ }
2348
+
2349
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
2350
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
2351
+ flex-shrink:0;
2352
+ margin-top:calc(.5lh - .5em);
2353
+ line-height:var(--tds-checkbox-group-description-line-height);
2301
2354
  }
2302
2355
 
2303
- .tds-input--auto-width input{
2304
- field-sizing:content;
2305
- inline-size:auto;
2356
+ .tds-checkbox-group--sm{
2357
+ --tds-checkbox-group-line-height:1.35;
2358
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
2359
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
2360
+ --tds-checkbox-group-description-line-height:1.3;
2361
+ }
2362
+
2363
+ .tds-combo-box{
2364
+ --tds-combo-box-button-offset:4px;
2365
+ }
2366
+
2367
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
2368
+ transform:rotate(.5turn);
2369
+ }
2370
+
2371
+ .tds-combo-box--lg{
2372
+ --tds-combo-box-button-offset:5px;
2373
+ }
2374
+
2375
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
2376
+ display:none;
2377
+ }
2378
+
2379
+ .tds-combo-box-input{
2380
+ display:flex;
2381
+ flex:1;
2382
+ align-items:center;
2383
+ padding-block:var(--tds-field-padding-block);
2384
+ padding-inline:var(--tds-field-padding-inline);
2385
+ font-family:inherit;
2386
+ font-size:inherit;
2387
+ color:inherit;
2388
+ outline:0;
2389
+ background:transparent;
2390
+ border:0;
2391
+ }
2392
+
2393
+ .tds-combo-box-input:has( + .tds-combo-box-button){
2394
+ padding-inline-end:0;
2395
+ }
2396
+
2397
+ .tds-combo-box-input::-moz-placeholder{
2398
+ color:var(--tds-field-placeholder-color);
2399
+ -moz-user-select:none;
2400
+ user-select:none;
2401
+ }
2402
+
2403
+ .tds-combo-box-input::placeholder{
2404
+ color:var(--tds-field-placeholder-color);
2405
+ -webkit-user-select:none;
2406
+ -moz-user-select:none;
2407
+ user-select:none;
2408
+ }
2409
+
2410
+ .tds-combo-box-button{
2411
+ flex-shrink:0;
2412
+ align-self:center;
2413
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
2414
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
2415
+ padding:0;
2416
+ margin-inline-end:var(--tds-combo-box-button-offset);
2417
+ }
2418
+
2419
+ .tds-combo-box-button > svg{
2420
+ inline-size:var(--tds-field-font-size);
2421
+ block-size:var(--tds-field-font-size);
2422
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
2423
+ }
2424
+
2425
+ .tds-combo-box-popover{
2426
+ width:var(--trigger-width);
2427
+ max-block-size:inherit;
2428
+ padding:var(--t-spacing-1);
2429
+ overflow:auto;
2430
+ scroll-behavior:smooth;
2431
+ overscroll-behavior:none;
2432
+ -webkit-user-select:none;
2433
+ -moz-user-select:none;
2434
+ user-select:none;
2435
+ outline:0;
2436
+ scrollbar-color:#0004 #0000;
2437
+ scrollbar-width:thin;
2438
+ background:var(--t-surface-color-card);
2439
+ background-clip:padding-box;
2440
+ border:1px solid var(--t-border-color);
2441
+ border-radius:var(--t-border-radius);
2442
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
2443
+ }
2444
+
2445
+ .tds-combo-box-popover[data-entering]{
2446
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
2447
+ }
2448
+
2449
+ .tds-combo-box-popover[data-exiting]{
2450
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
2451
+ }
2452
+
2453
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
2454
+ will-change:opacity, transform;
2455
+ }
2456
+
2457
+ @keyframes tds-combo-box-popover{
2458
+ from{
2459
+ opacity:0;
2460
+ transform:translateY(-8px);
2461
+ }
2462
+ }
2463
+
2464
+ @media (prefers-reduced-motion: reduce){
2465
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
2466
+ animation:none;
2467
+ }
2468
+
2469
+ .tds-combo-box-button > svg{
2470
+ transition:none;
2471
+ }
2472
+ }
2473
+
2474
+ .tds-combo-box-list{
2475
+ padding:0;
2476
+ margin:0;
2477
+ }
2478
+
2479
+ .tds-combo-box-list-item{
2480
+ display:block;
2481
+ padding-block:var(--t-spacing-1);
2482
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2483
+ overflow:hidden;
2484
+ text-overflow:ellipsis;
2485
+ font-size:1rem;
2486
+ color:var(--t-text-color);
2487
+ white-space:nowrap;
2488
+ cursor:default;
2489
+ border-radius:var(--t-border-radius);
2490
+ }
2491
+
2492
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
2493
+ background:var(--t-fill-color-neutral-070);
2494
+ }
2495
+
2496
+ .tds-combo-box-list-item[data-selected]{
2497
+ background:var(--t-fill-color-button-interaction-ghost-active);
2498
+ }
2499
+
2500
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
2501
+ background:var(--t-fill-color-neutral-060);
2502
+ }
2503
+
2504
+ .tds-combo-box-list-item[data-disabled]{
2505
+ color:var(--t-form-color-disabled);
2506
+ cursor:not-allowed;
2507
+ }
2508
+
2509
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
2510
+ background:transparent;
2511
+ }
2512
+
2513
+ .tds-combo-box-empty-state{
2514
+ position:relative;
2515
+ min-block-size:var(--t-spacing-3);
2516
+ padding-block:var(--t-spacing-1);
2517
+ padding-inline:var(--t-spacing-2);
2518
+ font-size:var(--t-font-size-md);
2519
+ color:var(--t-text-color-secondary);
2520
+ }
2521
+
2522
+ .tds-combo-box-load-more{
2523
+ position:relative;
2524
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
2525
+ }
2526
+
2527
+ .tds-combo-box-empty-state,
2528
+ .tds-combo-box-load-more{
2529
+ --tds-loading-spinner-visibility:visible;
2530
+ --tds-loading-spinner-animation-play-state:running;
2531
+ }
2532
+
2533
+ .tds-combo-box-list-section:not(:first-child){
2534
+ margin-block-start:var(--t-spacing-half);
2306
2535
  }
2536
+
2537
+ .tds-combo-box-section-header{
2538
+ padding-block:var(--t-spacing-1);
2539
+ padding-inline:var(--t-spacing-1);
2540
+ font-size:var(--t-font-size-sm);
2541
+ font-weight:var(--t-font-weight-semibold);
2542
+ color:var(--t-text-color-secondary);
2307
2543
  }
2308
2544
 
2309
2545
  .tds-input{
@@ -2442,2126 +2678,1562 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2442
2678
  line-height:1.35;
2443
2679
  }
2444
2680
 
2445
- .tds-radio{
2446
- --tds-radio-font-size:var(--t-font-size-md);
2447
- --tds-radio-cursor:pointer;
2448
- --tds-radio-line-height:1.4;
2449
- --tds-radio-transition-property:border-width;
2450
-
2451
- --tds-radio-input-size:var(--t-element-size-md);
2452
- --tds-radio-input-border-radius:var(--t-border-radius-round);
2453
- --tds-radio-input-border-color:var(--t-form-border-color);
2454
- --tds-radio-input-border-width:var(--t-form-border-width);
2455
- --tds-radio-input-background-color:transparent;
2456
-
2457
- --tds-radio-label-color:var(--t-form-color);
2458
-
2459
- --tds-radio-description-font-size:var(--t-font-size-sm);
2460
- --tds-radio-description-line-height:1.35;
2461
- --tds-radio-description-color:var(--t-text-color-secondary);
2681
+ .tds-field{
2682
+ --tds-field-border-color:var(--t-form-border-color);
2683
+ --tds-field-border-color-hover:var(--t-form-border-color-hover);
2684
+ --tds-field-border-color-active:var(--t-form-border-color-focus);
2685
+ --tds-field-background-color:var(--t-form-background-color);
2686
+ --tds-field-color:var(--t-form-color);
2687
+ --tds-field-placeholder-color:var(--t-form-placeholder-color);
2688
+ --tds-field-font-size:var(--t-font-size-md);
2689
+ --tds-field-min-height:var(--t-container-size-md);
2690
+ --tds-field-padding-block:6px;
2691
+ --tds-field-padding-inline:var(--t-spacing-1);
2692
+ --tds-field-description-color:var(--t-text-color-secondary);
2693
+ --tds-field-description-invalid-icon-display:none;
2462
2694
 
2463
2695
  position:relative;
2464
- display:inline-grid;
2465
- grid-template-columns:auto;
2466
- grid-auto-columns:1fr;
2467
- gap:var(--t-spacing-fourth) var(--t-spacing-1);
2468
- line-height:var(--tds-radio-line-height);
2469
- cursor:var(--tds-radio-cursor);
2470
- -webkit-user-select:none;
2471
- -moz-user-select:none;
2472
- user-select:none;
2696
+ display:flex;
2697
+ flex-direction:column;
2698
+ gap:var(--t-spacing-half);
2473
2699
  }
2474
2700
 
2475
- .tds-radio label{
2476
- grid-area:1 / 2;
2477
- font-size:var(--tds-radio-font-size);
2478
- font-weight:var(--t-font-weight-normal);
2479
- color:var(--tds-radio-label-color);
2480
- cursor:var(--tds-radio-cursor);
2701
+ .tds-field[data-required] .tds-field-label::after{
2702
+ margin-left:.25ch;
2703
+ color:var(--t-text-color-status-error);
2704
+ content:"*";
2481
2705
  }
2482
2706
 
2483
- .tds-radio input[type="radio"]{
2484
- position:relative;
2485
- width:1em;
2486
- height:1em;
2487
- margin:calc((1lh - 1em) / 2) 0 0;
2488
- font-size:var(--tds-radio-font-size);
2489
- line-height:inherit;
2490
- -webkit-appearance:none;
2491
- -moz-appearance:none;
2492
- appearance:none;
2493
- cursor:var(--tds-radio-cursor);
2494
- background-color:var(--tds-radio-input-background-color);
2495
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2496
- border-radius:var(--tds-radio-input-border-radius);
2497
- transition-timing-function:var(--t-ease-in-out);
2498
- transition-duration:var(--t-duration-200);
2499
- transition-property:var(--tds-radio-transition-property);
2707
+ .tds-field[data-invalid]{
2708
+ --tds-field-border-color:var(--t-form-border-color-error);
2709
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2710
+ --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2711
+ --tds-field-background-color:var(--t-form-background-color-error);
2712
+ --tds-field-description-color:var(--t-text-color-status-error);
2713
+ --tds-field-description-invalid-icon-display:inline-block;
2500
2714
  }
2501
2715
 
2502
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2503
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2504
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2505
- }
2716
+ .tds-field[data-disabled]{
2717
+ --tds-field-border-color:var(--t-form-border-color-disabled);
2718
+ --tds-field-background-color:var(--t-form-background-color-disabled);
2719
+ --tds-field-color:var(--t-form-color-disabled);
2720
+ --tds-field-placeholder-color:var(--t-form-color-disabled);
2721
+ }
2506
2722
 
2507
- :is(.tds-radio input[type="radio"]):focus-visible{
2508
- outline:var(--t-focus-ring-outline);
2509
- outline-offset:var(--t-focus-ring-offset);
2723
+ .tds-field[data-disabled] .tds-field-control{
2724
+ cursor:not-allowed;
2510
2725
  }
2511
2726
 
2512
- :is(.tds-radio input[type="radio"]):disabled{
2513
- pointer-events:none;
2514
- }
2727
+ .tds-field--lg{
2728
+ --tds-field-min-height:var(--t-container-size-lg);
2729
+ --tds-field-font-size:var(--t-font-size-lg);
2730
+ }
2515
2731
 
2516
- @media (prefers-reduced-motion: reduce){
2732
+ .tds-field-label{
2733
+ font-size:var(--t-font-size-md);
2734
+ font-weight:var(--t-font-weight-normal);
2735
+ color:var(--t-text-color);
2736
+ cursor:default;
2737
+ }
2517
2738
 
2518
- .tds-radio input[type="radio"]{
2519
- --tds-radio-transition-property:none;
2520
- }
2521
- }
2739
+ .tds-field-control{
2740
+ display:flex;
2741
+ align-items:center;
2742
+ inline-size:100%;
2743
+ min-block-size:var(--tds-field-min-height);
2744
+ font-family:inherit;
2745
+ font-size:var(--tds-field-font-size);
2746
+ line-height:1;
2747
+ color:var(--tds-field-color);
2748
+ -webkit-appearance:none;
2749
+ -moz-appearance:none;
2750
+ appearance:none;
2751
+ cursor:text;
2752
+ outline:var(--t-focus-ring-width) solid transparent;
2753
+ outline-offset:0;
2754
+ background-color:var(--tds-field-background-color);
2755
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
2756
+ border-radius:var(--t-form-border-radius);
2757
+ transition-timing-function:var(--t-ease-in-out);
2758
+ transition-duration:var(--t-duration-200);
2759
+ transition-property:background-color, border-color, outline-color, outline-offset;
2760
+ }
2522
2761
 
2523
- .tds-radio:has(input:checked){
2524
- --tds-radio-input-background-color:var(--t-form-background-color);
2525
- --tds-radio-input-border-color:var(--t-border-color-control-info);
2526
- --tds-radio-input-border-width:4px;
2762
+ .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2763
+ border-color:var(--tds-field-border-color-hover);
2527
2764
  }
2528
2765
 
2529
- .tds-radio:has(input:checked) input:hover:not(:disabled){
2530
- --tds-radio-input-background-color:var(--t-form-background-color);
2531
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2532
- }
2533
-
2534
- .tds-radio:has(input:user-invalid){
2535
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2766
+ .tds-field-control[data-focus-within]{
2767
+ outline-color:var(--t-focus-ring-color);
2768
+ outline-offset:var(--t-focus-ring-offset);
2769
+ border-color:var(--tds-field-border-color-active);
2536
2770
  }
2537
2771
 
2538
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2539
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2540
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2541
- }
2542
-
2543
- .tds-radio:has(input:disabled){
2544
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2545
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2546
-
2547
- --tds-radio-label-color:var(--t-form-color-disabled);
2548
- --tds-radio-description-color:var(--t-form-color-disabled);
2549
- --tds-radio-cursor:not-allowed;
2772
+ .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2773
+ --tds-field-border-color:var(--t-form-border-color-readonly);
2774
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2775
+ --tds-field-background-color:var(--t-form-background-color-readonly);
2776
+ color:var(--t-form-color-readonly);
2550
2777
  }
2551
2778
 
2552
- .tds-radio:has(input:disabled) input:checked{
2553
- --tds-radio-input-background-color:var(--t-form-background-color);
2554
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2779
+ [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2780
+ border-color:var(--t-form-border-color-hover);
2555
2781
  }
2556
2782
 
2557
- .tds-radio-description{
2783
+ .tds-field-description{
2558
2784
  display:flex;
2559
- grid-area:2 / 2;
2560
2785
  gap:var(--t-spacing-half);
2561
2786
  align-items:flex-start;
2562
2787
  margin:0;
2563
- font-size:var(--tds-radio-description-font-size);
2564
- line-height:var(--tds-radio-description-line-height);
2565
- color:var(--tds-radio-description-color);
2788
+ font-size:var(--t-font-size-sm);
2789
+ line-height:1.35;
2790
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
2566
2791
  cursor:text;
2567
2792
  }
2568
2793
 
2569
- .tds-radio--sm{
2570
- --tds-radio-line-height:1.35;
2571
- --tds-radio-input-size:var(--t-element-size-sm);
2572
- --tds-radio-font-size:var(--t-font-size-sm);
2573
- --tds-radio-description-font-size:var(--t-font-size-xs);
2574
- --tds-radio-description-line-height:1.3;
2575
- }
2576
-
2577
- .tds-radio-group{
2578
- --tds-radio-group-font-size:var(--t-font-size-md);
2579
- --tds-radio-group-line-height:1.4;
2580
- --tds-radio-group-gap:var(--t-spacing-1);
2581
-
2582
- --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
2583
-
2584
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
2585
- --tds-radio-group-description-line-height:1.35;
2586
- --tds-radio-group-description-color:var(--t-text-color-secondary);
2587
- --tds-radio-group-description-invalid-icon-display:none;
2588
- display:flex;
2589
- flex-direction:column;
2590
- gap:var(--tds-radio-group-gap);
2591
- padding:0;
2592
- margin:0;
2794
+ .tds-field-description .tds-field-description-invalid-icon{
2795
+ display:var(--tds-field-description-invalid-icon-display, none);
2796
+ flex-shrink:0;
2797
+ margin-block-start:calc(.5lh - .5em);
2798
+ line-height:1.35;
2799
+ }
2593
2800
 
2594
- font-size:var(--tds-radio-group-font-size);
2595
- line-height:var(--tds-radio-group-line-height);
2596
- border:0;
2801
+ .tds-field-date-segment{
2802
+ padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2803
+ text-align:end;
2804
+ text-wrap:nowrap;
2805
+ caret-color:transparent;
2806
+ border-radius:var(--t-border-radius-sm);
2597
2807
  }
2598
2808
 
2599
- .tds-radio-group legend{
2600
- padding:0;
2601
- margin-bottom:var(--tds-radio-group-legend-margin-bottom);
2809
+ .tds-field-date-segment[data-placeholder]{
2810
+ color:var(--tds-field-placeholder-color);
2602
2811
  }
2603
2812
 
2604
- .tds-radio-group:has(.tds-radio-group-description){
2605
- --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
2813
+ .tds-field-date-segment[data-focused]{
2814
+ color:var(--t-text-color-inverted);
2815
+ outline:0;
2816
+ background-color:var(--t-fill-color-interaction);
2606
2817
  }
2607
2818
 
2608
- .tds-radio-group[aria-invalid="true"]{
2609
- --tds-radio-group-description-color:var(--t-text-color-status-error);
2610
- --tds-radio-group-description-invalid-icon-display:inline-block;
2611
- }
2819
+ .tds-field-date-segment-separator{
2820
+ padding-inline:0;
2821
+ color:var(--tds-field-placeholder-color);
2822
+ }
2612
2823
 
2613
- .tds-radio-group[aria-invalid="true"] .tds-radio{
2614
- --tds-radio-input-border-color:var(--t-form-border-color-error);
2615
- }
2824
+ .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2825
+ color:var(--tds-field-color);
2826
+ }
2616
2827
 
2617
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
2618
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2619
- --tds-radio-input-background-color:var(--t-form-background-color-error);
2620
- }
2828
+ .tds-date-picker{
2829
+ --tds-date-picker-button-offset:4px;
2830
+ }
2621
2831
 
2622
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
2623
- --tds-radio-input-background-color:var(--t-form-background-color);
2624
- }
2832
+ .tds-date-picker--lg{
2833
+ --tds-date-picker-button-offset:5px;
2834
+ }
2625
2835
 
2626
- .tds-radio-group:has(input:required) legend::after{
2627
- margin-left:.25ch;
2628
- color:var(--t-text-color-status-error);
2629
- content:"*";
2630
- }
2836
+ .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-button[data-focused]){
2837
+ outline-color:transparent;
2838
+ outline-offset:0;
2839
+ border-color:var(--tds-field-border-color);
2840
+ }
2631
2841
 
2632
- .tds-radio-group-fields{
2633
- display:flex;
2634
- flex-direction:column;
2635
- gap:var(--tds-radio-group-gap);
2636
- align-items:flex-start;
2842
+ .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
2843
+ display:none;
2637
2844
  }
2638
2845
 
2639
- .tds-radio-group-description{
2640
- display:flex;
2641
- gap:var(--t-spacing-half);
2642
- align-items:flex-start;
2643
- margin:0;
2644
- font-size:var(--tds-radio-group-description-font-size);
2645
- line-height:var(--tds-radio-group-description-line-height);
2646
- color:var(--tds-radio-group-description-color);
2647
- cursor:text;
2846
+ .tds-date-picker-input{
2847
+ flex:1;
2848
+ padding-block:var(--tds-field-padding-block);
2849
+ padding-inline:var(--tds-field-padding-inline);
2850
+ overflow:auto clip;
2851
+ font-variant-numeric:tabular-nums;
2852
+ text-wrap:nowrap;
2853
+ scrollbar-width:none;
2648
2854
  }
2649
2855
 
2650
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2651
- display:var(--tds-radio-group-description-invalid-icon-display);
2652
- flex-shrink:0;
2653
- margin-top:calc(.5lh - .5em);
2654
- line-height:var(--tds-radio-group-description-line-height);
2856
+ .tds-date-picker-input:has( + .tds-date-picker-button){
2857
+ padding-inline-end:0;
2655
2858
  }
2656
2859
 
2657
- .tds-radio-group--sm{
2658
- --tds-radio-group-line-height:1.35;
2659
- --tds-radio-group-font-size:var(--t-font-size-sm);
2660
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2661
- --tds-radio-group-description-line-height:1.3;
2860
+ .tds-date-picker-button{
2861
+ flex-shrink:0;
2862
+ align-self:center;
2863
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
2864
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-date-picker-button-offset) * 2));
2865
+ padding:0;
2866
+ margin-inline-end:var(--tds-date-picker-button-offset);
2662
2867
  }
2663
2868
 
2664
- .tds-select{
2665
- --tds-select-border-color:var(--t-form-border-color);
2666
- --tds-select-border-color-hover:var(--t-form-border-color-hover);
2667
- --tds-select-border-color-active:var(--t-form-border-color-hover);
2668
- --tds-select-background-color:var(--t-form-background-color);
2669
- --tds-select-color:var(--t-form-color);
2670
- --tds-select-placeholder-color:var(--t-form-placeholder-color);
2671
- --tds-select-font-size:var(--t-font-size-md);
2672
- --tds-select-min-height:var(--t-container-size-md);
2673
- --tds-select-padding-block:6px;
2674
- --tds-select-description-color:var(--t-text-color-secondary);
2675
- --tds-select-description-invalid-icon-display:none;
2676
- --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
2677
- --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
2678
- --tds-select-caret-size:1em;
2679
- --tds-select-caret-inline-offset:.75em;
2680
- --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
2681
-
2682
- --tds-select-dropdown-background-color:var(--t-surface-color-card);
2683
- --tds-select-dropdown-border:1px solid var(--t-border-color);
2684
- --tds-select-dropdown-padding:var(--t-spacing-1);
2685
- --tds-select-dropdown-margin-block:5px;
2686
- --tds-select-dropdown-scrollbar-color:#0004 #0000;
2687
- --tds-select-dropdown-scrollbar-width:thin;
2688
- --tds-select-dropdown-border-radius:var(--t-border-radius);
2689
- --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2690
- --tds-select-dropdown-scroll-behavior:smooth;
2691
- --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
2692
- --tds-select-dropdown-closed-opacity:0;
2693
- --tds-select-dropdown-open-opacity:1;
2694
- --tds-select-dropdown-closed-translate:0 -8px;
2695
- --tds-select-dropdown-open-translate:0 0;
2696
-
2697
- --tds-select-option-gap:var(--t-spacing-1);
2698
- --tds-select-option-padding-block:var(--t-spacing-1);
2699
- --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
2700
- --tds-select-option-font-size:1rem;
2701
- --tds-select-option-color:var(--t-text-color);
2702
- --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
2703
- --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
2704
- --tds-select-option-border-radius:var(--t-border-radius);
2705
-
2706
- --tds-select-group-label-padding-block-start:var(--t-spacing-2);
2707
- --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
2708
- --tds-select-group-label-padding-inline:var(--t-spacing-1);
2709
- --tds-select-group-label-font-size:var(--t-font-size-sm);
2710
- --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
2711
- --tds-select-group-label-letter-spacing:0;
2712
- --tds-select-group-label-color:var(--t-text-color-secondary);
2713
- --tds-select-group-label-color-stuck:var(--t-text-color-headline);
2714
- --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
2715
- --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
2869
+ .tds-date-picker-popover{
2870
+ --tds-date-picker-popover-font-size:var(--t-font-size-md);
2871
+ --tds-date-picker-popover-padding:var(--t-spacing-1-half);
2872
+ --tds-date-picker-popover-background-color:var(--t-surface-color-card);
2873
+ --tds-date-picker-popover-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
2874
+ --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
2875
+ --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
2876
+ --tds-date-picker-popover-interactive-property:color, background-color, border-color;
2716
2877
 
2717
2878
  position:relative;
2718
- display:flex;
2719
- flex-direction:column;
2720
- gap:var(--t-spacing-half);
2879
+ overflow:hidden;
2880
+ background-color:var(--tds-date-picker-popover-background-color);
2881
+ border:var(--t-border-width) solid var(--t-border-color);
2882
+ border-radius:var(--t-border-radius);
2883
+ box-shadow:var(--tds-date-picker-popover-shadow);
2721
2884
  }
2722
2885
 
2723
- .tds-select :is(label,.tds-select-label){
2724
- font-size:var(--t-font-size-md);
2725
- font-weight:var(--t-font-weight-normal);
2726
- color:var(--t-text-color);
2727
- cursor:default;
2728
- }
2729
-
2730
- .tds-select :is(select,button){
2731
- position:relative;
2732
- place-items:center;
2733
- inline-size:100%;
2734
- min-block-size:var(--tds-select-min-height);
2735
- padding-block:var(--tds-select-padding-block);
2736
- padding-inline:var(--t-spacing-1);
2737
- padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
2738
- font-family:inherit;
2739
- font-size:var(--tds-select-font-size);
2740
- line-height:1;
2741
- color:var(--tds-select-color);
2742
- text-align:left;
2743
- -webkit-appearance:none;
2744
- -moz-appearance:none;
2745
- appearance:none;
2746
- cursor:var(--tds-select-cursor, default);
2747
- outline:var(--t-focus-ring-width) solid transparent;
2748
- outline-offset:0;
2749
- background-color:var(--tds-select-background-color);
2750
- background-image:var(--tds-select-background-image);
2751
- background-repeat:no-repeat;
2752
- background-position:right var(--tds-select-caret-inline-offset) top 50%;
2753
- background-size:var(--tds-select-caret-size);
2754
- border:var(--t-form-border-width) solid var(--tds-select-border-color);
2755
- border-radius:var(--t-form-border-radius);
2756
- transition-timing-function:var(--t-ease-in-out);
2757
- transition-duration:var(--t-duration-300);
2758
- transition-property:var(--tds-select-transition-property);
2759
- }
2760
-
2761
- :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
2762
- border-color:var(--tds-select-border-color-hover);
2763
- }
2764
-
2765
- :is(.tds-select :is(select,button)):focus{
2766
- outline-color:var(--t-focus-ring-color);
2767
- outline-offset:var(--t-focus-ring-offset);
2768
- border-color:var(--tds-select-border-color-active);
2769
- }
2770
-
2771
- :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
2772
- color:var(--tds-select-placeholder-color);
2773
- }
2774
-
2775
- .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
2776
- --tds-select-border-color:var(--t-form-border-color-error);
2777
- --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
2778
- --tds-select-border-color-active:var(--t-form-border-color-error-hover);
2779
- --tds-select-background-color:var(--t-form-background-color-error);
2780
- --tds-select-description-color:var(--t-text-color-status-error);
2781
- --tds-select-description-invalid-icon-display:inline-block;
2782
- }
2783
-
2784
- .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2785
- margin-left:.25ch;
2786
- color:var(--t-text-color-status-error);
2787
- content:"*";
2788
- }
2789
-
2790
- .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
2791
- --tds-select-border-color:var(--t-form-border-color-disabled);
2792
- --tds-select-background-color:var(--t-form-background-color-disabled);
2793
- --tds-select-color:var(--t-form-color-disabled);
2794
- --tds-select-cursor:not-allowed;
2795
- }
2796
-
2797
- .tds-select:has( > [popover]:popover-open) > button{
2798
- border-color:var(--tds-select-border-color-active);
2799
- }
2800
-
2801
- :is(.tds-select:has( > [popover]:popover-open) > button)::after{
2802
- transform:rotate(.5turn);
2803
- }
2804
-
2805
- .tds-select :is(hr,li[role="separator"]){
2806
- margin-block:var(--t-spacing-half);
2807
- color:var(--tds-select-border-color);
2808
- border:0;
2809
- border-top:1px solid;
2886
+ .tds-date-picker-popover[data-entering]{
2887
+ animation:tds-date-picker-popover var(--t-duration-300) var(--t-ease-out);
2810
2888
  }
2811
2889
 
2812
- .tds-select :is(li[role="option"],option:not([hidden])){
2813
- display:block;
2814
- padding-block:var(--tds-select-option-padding-block);
2815
- padding-inline:var(--tds-select-option-padding-inline);
2816
- overflow:hidden;
2817
- text-overflow:ellipsis;
2818
- font-size:var(--tds-select-option-font-size);
2819
- color:var(--tds-select-option-color);
2820
- white-space:nowrap;
2821
- cursor:default;
2822
- border-radius:var(--tds-select-option-border-radius);
2890
+ .tds-date-picker-popover[data-exiting]{
2891
+ animation:tds-date-picker-popover var(--t-duration-200) var(--t-ease-in) reverse;
2823
2892
  }
2824
2893
 
2825
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
2826
- outline:none;
2827
- }
2828
-
2829
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
2830
- background:var(--tds-select-option-background-hover);
2831
- }
2832
-
2833
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
2834
- background:var(--tds-select-option-background-active);
2835
- }
2836
-
2837
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
2838
- color:var(--t-form-color-disabled);
2839
- cursor:not-allowed;
2840
- }
2841
-
2842
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
2843
- background:transparent;
2844
- }
2845
-
2846
- .tds-select :is(li[role="presentation"],legend){
2847
- position:sticky;
2848
- inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
2849
- z-index:1;
2850
- float:inline-start;
2851
- inline-size:100%;
2852
- padding-block:var(--tds-select-group-label-padding-block);
2853
- padding-inline:var(--tds-select-group-label-padding-inline);
2854
- container-type:scroll-state;
2855
- font-size:var(--tds-select-group-label-font-size);
2856
- font-weight:var(--tds-select-group-label-font-weight);
2857
- letter-spacing:var(--tds-select-group-label-letter-spacing);
2858
- background:var(--tds-select-group-label-background);
2859
- text-box:trim-both cap alphabetic;
2894
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
2895
+ will-change:opacity, transform;
2860
2896
  }
2861
2897
 
2862
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2863
- display:inline-flex;
2864
- gap:var(--t-spacing-half);
2865
- align-items:center;
2866
- color:var(--tds-select-group-label-color);
2867
- transition:var(--tds-select-group-label-transition);
2868
- }
2869
-
2870
- @container scroll-state(stuck){
2871
-
2872
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2873
- color:var(--tds-select-group-label-color-stuck);
2874
- }
2875
-
2876
- @media (forced-colors: active){
2877
-
2878
- :is(.tds-select :is(li[role="presentation"],legend)) span{
2879
- color:var(--tds-select-group-label-color-stuck);
2880
- }
2881
- }
2882
- }
2883
-
2884
- .tds-select.tds-select--lg{
2885
- --tds-select-min-height:var(--t-container-size-lg);
2886
- --tds-select-font-size:var(--t-font-size-lg);
2898
+ @keyframes tds-date-picker-popover{
2899
+ from{
2900
+ opacity:0;
2901
+ transform:translateY(-8px);
2887
2902
  }
2903
+ }
2888
2904
 
2889
2905
  @media (prefers-reduced-motion: reduce){
2890
-
2891
- .tds-select{
2892
- --tds-select-transition-property:none;
2893
- --tds-select-dropdown-transition:none;
2894
- --tds-select-dropdown-scroll-behavior:auto;
2895
- --tds-select-dropdown-closed-translate:none;
2896
- --tds-select-dropdown-open-translate:none;
2897
- --tds-select-caret-transition:none;
2906
+ .tds-date-picker-popover[data-entering],.tds-date-picker-popover[data-exiting]{
2907
+ animation:none;
2908
+ }
2898
2909
  }
2899
- }
2900
2910
 
2901
- .tds-select-description{
2911
+ .tds-date-picker-overlay{
2912
+ position:absolute;
2913
+ inset:0;
2914
+ z-index:1;
2902
2915
  display:flex;
2903
- gap:var(--t-spacing-half);
2904
- align-items:flex-start;
2905
- margin:0;
2906
- font-size:var(--t-font-size-sm);
2907
- line-height:1.35;
2908
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
2909
- cursor:text;
2916
+ background-color:var(--tds-date-picker-popover-background-color);
2910
2917
  }
2911
2918
 
2912
- .tds-select-description .tds-select-description-invalid-icon{
2913
- display:var(--tds-select-description-invalid-icon-display, none);
2914
- flex-shrink:0;
2915
- margin-block-start:calc(.5lh - .5em);
2916
- line-height:1.35;
2917
- }
2919
+ .tds-date-picker-overlay-list{
2920
+ display:grid;
2921
+ flex:1;
2922
+ grid-template-columns:repeat(3, 1fr);
2923
+ gap:var(--t-spacing-half);
2924
+ padding-inline:var(--tds-date-picker-popover-padding);
2925
+ outline:0;
2926
+ scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
2927
+ scrollbar-width:thin;
2928
+ }
2918
2929
 
2919
- .tds-select > .tds-select-hidden-select{
2920
- position:absolute;
2921
- inline-size:1px;
2922
- block-size:1px;
2923
- padding:0;
2924
- margin:0;
2925
- pointer-events:none;
2926
- opacity:0;
2930
+ .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
2931
+ grid-template-rows:repeat(4, 1fr);
2932
+ padding-bottom:var(--tds-date-picker-popover-padding);
2927
2933
  }
2928
2934
 
2929
- .tds-select:has( > button) > button{
2930
- display:block;
2931
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
2932
- overflow:hidden;
2933
- text-overflow:ellipsis;
2934
- color:var(--tds-select-placeholder-color);
2935
- white-space:nowrap;
2936
- background-image:none;
2937
- anchor-name:--tds-select-anchor;
2938
- transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
2939
- -webkit-tap-highlight-color:transparent;
2940
- }
2941
-
2942
- :is(.tds-select:has( > button) > button)::after{
2943
- position:absolute;
2944
- inset-block:0;
2945
- inset-inline-end:var(--tds-select-caret-inline-offset);
2946
- width:var(--tds-select-caret-size);
2947
- height:var(--tds-select-caret-size);
2948
- margin-block:auto;
2949
- pointer-events:none;
2950
- content:var(--tds-select-background-image);
2951
- transform:rotate(0);
2952
- transition:var(--tds-select-caret-transition);
2953
- }
2954
-
2955
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2956
- color:var(--tds-select-color);
2957
- }
2958
-
2959
- .tds-select:has( > button) [popover]{
2960
- position-anchor:--tds-select-anchor;
2961
- inset:auto;
2962
- inline-size:-moz-max-content;
2963
- inline-size:max-content;
2964
- min-inline-size:anchor-size(width);
2965
- max-inline-size:100vi;
2966
- max-block-size:min(50vh, 20rem);
2967
- padding:var(--tds-select-dropdown-padding);
2968
- margin-block:var(--tds-select-dropdown-margin-block);
2969
- position-area:block-end span-inline-start;
2970
- position-try-fallbacks:flip-block, flip-inline;
2971
- overflow:auto;
2972
- overflow-x:hidden;
2973
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2974
- overscroll-behavior:none;
2975
- -webkit-user-select:none;
2976
- -moz-user-select:none;
2977
- user-select:none;
2978
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2979
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2980
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2981
- background:var(--tds-select-dropdown-background-color);
2982
- border:var(--tds-select-dropdown-border);
2983
- border-radius:var(--tds-select-dropdown-border-radius);
2984
- box-shadow:var(--tds-select-dropdown-box-shadow);
2985
- opacity:var(--tds-select-dropdown-open-opacity);
2986
- translate:var(--tds-select-dropdown-open-translate);
2987
- transition:var(--tds-select-dropdown-transition);
2988
- }
2989
-
2990
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
2991
- opacity:var(--tds-select-dropdown-closed-opacity);
2992
- translate:var(--tds-select-dropdown-closed-translate);
2993
- }
2994
-
2995
- :is(.tds-select:has( > button) [popover]) ul{
2996
- padding:0;
2997
- margin:0;
2998
- list-style:none;
2999
- }
3000
-
3001
- @starting-style{
3002
- :is(.tds-select:has( > button) [popover]):popover-open{
3003
- opacity:var(--tds-select-dropdown-closed-opacity);
3004
- translate:var(--tds-select-dropdown-closed-translate);
3005
- }
3006
- }
3007
-
3008
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
3009
- .tds-select select:has(> button){
3010
- padding-inline-end:0;
3011
- background-image:none;
3012
- }
3013
- @media (hover) and (pointer: fine){
3014
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
3015
- padding-block:0;
3016
- -webkit-appearance:base-select;
3017
- -moz-appearance:base-select;
3018
- appearance:base-select;
3019
- }
3020
- }
3021
- :is(.tds-select select:has( > button))::picker-icon{
3022
- flex-shrink:0;
3023
- width:var(--tds-select-caret-size);
3024
- height:var(--tds-select-caret-size);
3025
- margin-inline-end:var(--tds-select-caret-inline-offset);
3026
- content:var(--tds-select-background-image);
3027
- transition:var(--tds-select-caret-transition);
3028
- }
3029
-
3030
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
3031
- opacity:var(--tds-select-dropdown-closed-opacity);
3032
- translate:var(--tds-select-dropdown-closed-translate);
3033
- }
3034
-
3035
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
3036
- outline-color:var(--t-focus-ring-color);
3037
- outline-offset:var(--t-focus-ring-offset);
3038
- border-color:var(--tds-select-border-color-active);
3039
- }
3040
-
3041
- :is(.tds-select select:has( > button)):open::picker-icon{
3042
- opacity:1;
3043
- transform:rotate(.5turn);
3044
- }
3045
-
3046
- :is(.tds-select select:has( > button)) selectedcontent{
3047
- overflow:hidden;
3048
- text-overflow:ellipsis;
3049
- line-height:calc(var(--tds-select-min-height) - 2px);
3050
- white-space:nowrap;
3051
- }
3052
-
3053
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
3054
- color:var(--tds-select-placeholder-color);
3055
- }
3056
-
3057
- :is(.tds-select select:has( > button))::picker(select){
3058
- inset:auto;
3059
- inline-size:-moz-max-content;
3060
- inline-size:max-content;
3061
- min-inline-size:anchor-size(width);
3062
- max-inline-size:100vi;
3063
- padding:var(--tds-select-dropdown-padding);
3064
- margin-block:var(--tds-select-dropdown-margin-block);
3065
- position-try-fallbacks:flip-block, flip-inline;
3066
- overflow:auto;
3067
- overflow-x:hidden;
3068
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3069
- overscroll-behavior:none;
3070
- -webkit-user-select:none;
3071
- -moz-user-select:none;
3072
- user-select:none;
3073
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3074
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3075
- background:var(--tds-select-dropdown-background-color);
3076
- border:var(--tds-select-dropdown-border);
3077
- border-radius:var(--tds-select-dropdown-border-radius);
3078
- box-shadow:var(--tds-select-dropdown-box-shadow);
3079
- opacity:var(--tds-select-dropdown-open-opacity);
3080
- translate:var(--tds-select-dropdown-open-translate);
3081
- transition:var(--tds-select-dropdown-transition);
3082
- }
3083
-
3084
- :is(.tds-select select:has( > button)) option::checkmark{
3085
- display:none;
3086
- }
3087
-
3088
- @starting-style{
3089
- :is(.tds-select select:has( > button))::picker(select):popover-open{
3090
- opacity:var(--tds-select-dropdown-closed-opacity);
3091
- translate:var(--tds-select-dropdown-closed-translate);
3092
- }
3093
- }
3094
- }
3095
-
3096
- .tds-input:has(textarea){
3097
- --tds-input-padding-block:6px;
3098
- --tds-input-resizer-size:var(--t-element-size-sm);
3099
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
3100
- }
3101
-
3102
- @supports (x: attr(x type(*))){
3103
-
3104
- .tds-input:has(textarea){
3105
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
3106
- }
3107
- }
3108
-
3109
- .tds-input.tds-textarea--resize-vertical textarea{
3110
- resize:vertical;
3111
- }
3112
-
3113
- .tds-input.tds-textarea--resize-none textarea{
3114
- resize:none;
3115
- }
3116
-
3117
- .tds-input.tds-textarea--resize-auto textarea{
3118
- resize:vertical;
3119
- }
3120
-
3121
- @supports (field-sizing: content){
3122
- .tds-input.tds-textarea--resize-auto textarea{
3123
- field-sizing:content;
3124
- resize:none;
3125
- }
3126
- }
3127
-
3128
- .tds-input textarea{
3129
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
3130
- --tds-input-scrollbar-thumb-color-hidden:transparent;
3131
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
3132
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
3133
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
3134
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
3135
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
3136
- --tds-input-scrollbar-thumb-border-radius:999px;
3137
- --tds-input-scrollbar-thumb-border-width:3px;
3138
- --tds-input-scrollbar-track-margin-block:.125rem;
3139
- scrollbar-color:initial;
3140
- transition-timing-function:var(--t-ease-in-out);
3141
- transition-duration:var(--t-duration-200);
3142
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2935
+ .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
2936
+ grid-auto-rows:var(--t-container-size-xl);
2937
+ padding-right:var(--t-spacing-1);
2938
+ overflow-y:auto;
2939
+ scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
3143
2940
  }
3144
2941
 
3145
- @media (pointer: fine){
3146
- :is(.tds-input textarea)::-webkit-scrollbar{
3147
- width:12px;
3148
- height:12px;
3149
- cursor:default;
3150
- }
3151
-
3152
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
3153
- cursor:default;
3154
- background:var(--tds-input-scrollbar-thumb-color);
3155
- background-clip:content-box;
3156
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
3157
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
3158
- }
3159
-
3160
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
3161
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
3162
- }
3163
-
3164
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
3165
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
3166
- }
3167
-
3168
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
3169
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
3170
- }
3171
-
3172
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
3173
- background:var(--tds-input-scrollbar-surface-color);
3174
- }
3175
-
3176
- :is(.tds-input textarea)::-webkit-resizer{
3177
- background:var(--tds-input-resizer-icon) no-repeat;
3178
- background-position:right bottom;
3179
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
3180
- }
3181
-
3182
- :is(.tds-input textarea)::-webkit-scrollbar-track{
3183
- margin-block:var(--tds-input-scrollbar-track-margin-block);
3184
- cursor:default;
3185
- }
3186
-
3187
- @supports (-moz-appearance: none){
3188
- :is(.tds-input textarea){
3189
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
3190
- scrollbar-width:thin;
3191
- }
3192
-
3193
- @media (hover){
3194
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
3195
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
3196
- }
3197
- }
3198
- }
3199
- }
3200
-
3201
- .tds-toggle-switch{
3202
- --tds-toggle-switch-font-size:var(--t-font-size-md);
3203
- --tds-toggle-switch-column-gap:var(--t-spacing-1);
3204
- --tds-toggle-switch-cursor:pointer;
3205
- --tds-toggle-switch-display:inline-grid;
3206
- --tds-toggle-switch-line-height:1.4;
3207
-
3208
- --tds-toggle-switch-label-color:var(--t-form-color);
3209
-
3210
- --tds-toggle-switch-track-width:var(--t-container-size-md);
3211
- --tds-toggle-switch-track-outline:none;
3212
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
3213
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
3214
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
3215
-
3216
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
3217
- --tds-toggle-switch-thumb-transform:translateX(0);
3218
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
3219
-
3220
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
3221
- --tds-toggle-switch-description-line-height:1.35;
3222
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
3223
- position:relative;
3224
-
3225
- display:var(--tds-toggle-switch-display);
3226
- grid-template-columns:auto;
3227
- grid-auto-columns:1fr;
3228
- gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
3229
- -webkit-user-select:none;
3230
- -moz-user-select:none;
3231
- user-select:none;
2942
+ .tds-date-picker-overlay-cell{
2943
+ display:flex;
2944
+ align-items:center;
2945
+ justify-content:center;
2946
+ font-family:inherit;
2947
+ font-size:var(--tds-date-picker-popover-font-size);
2948
+ color:var(--t-text-color);
2949
+ cursor:pointer;
2950
+ outline:0;
2951
+ background-color:transparent;
2952
+ border:0;
2953
+ border-radius:var(--t-border-radius-md);
2954
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
2955
+ transition-duration:var(--t-duration-100);
2956
+ transition-property:var(--tds-date-picker-popover-interactive-property);
3232
2957
  }
3233
2958
 
3234
- .tds-toggle-switch input[type="checkbox"]{
3235
- position:absolute;
3236
- width:var(--tds-toggle-switch-track-width);
3237
- height:var(--tds-toggle-switch-track-height);
3238
- margin:0;
3239
- -webkit-appearance:none;
3240
- -moz-appearance:none;
3241
- appearance:none;
3242
- cursor:var(--tds-toggle-switch-cursor);
3243
- outline:var(--tds-toggle-switch-track-outline);
3244
- outline-offset:var(--t-focus-ring-offset);
3245
- background-color:transparent;
3246
- border:0;
3247
- border-radius:var(--t-border-radius-round);
3248
- }
3249
-
3250
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
3251
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
3252
- }
3253
-
3254
- .tds-toggle-switch label{
3255
- display:inline-flex;
3256
- grid-area:1 / 2;
3257
- -moz-column-gap:var(--tds-toggle-switch-column-gap);
3258
- column-gap:var(--tds-toggle-switch-column-gap);
3259
- margin-top:-.09375em;
3260
- font-size:var(--tds-toggle-switch-font-size);
3261
- font-weight:var(--t-font-weight-normal);
3262
- line-height:var(--tds-toggle-switch-line-height);
3263
- color:var(--tds-toggle-switch-label-color);
3264
- cursor:var(--tds-toggle-switch-cursor);
2959
+ .tds-date-picker-overlay-cell[data-hovered]{
2960
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
3265
2961
  }
3266
2962
 
3267
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
3268
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2963
+ .tds-date-picker-overlay-cell[data-pressed]{
2964
+ background-color:var(--t-fill-color-button-neutral-outline-active);
3269
2965
  }
3270
2966
 
3271
- .tds-toggle-switch:has(input:checked){
3272
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
3273
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2967
+ .tds-date-picker-overlay-cell[data-selected]{
2968
+ font-weight:var(--t-font-weight-semibold);
2969
+ color:var(--t-text-color-inverted);
2970
+ background-color:var(--t-fill-color-interaction);
3274
2971
  }
3275
2972
 
3276
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
3277
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
3278
- }
2973
+ .tds-date-picker-overlay-cell[data-focus-visible]{
2974
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
2975
+ }
3279
2976
 
3280
- .tds-toggle-switch:has(input:disabled){
3281
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
3282
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
3283
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
3284
- --tds-toggle-switch-cursor:not-allowed;
2977
+ .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
2978
+ outline-offset:var(--t-focus-ring-offset);
3285
2979
  }
3286
2980
 
3287
- .tds-toggle-switch-track{
2981
+ .tds-date-picker-calendar-heading{
2982
+ display:flex;
2983
+ flex:1;
2984
+ gap:var(--t-spacing-1);
2985
+ align-items:center;
2986
+ justify-content:flex-start;
2987
+ padding-inline-start:4px;
2988
+ }
2989
+
2990
+ .tds-date-picker-calendar-overlay-trigger{
2991
+ --_background-color:transparent;
3288
2992
  position:relative;
3289
- flex-shrink:0;
3290
- width:var(--tds-toggle-switch-track-width);
3291
- height:var(--tds-toggle-switch-track-height);
3292
- background-color:var(--tds-toggle-switch-track-background-color);
3293
- border-radius:var(--t-border-radius-round);
3294
- transition:var(--tds-toggle-switch-track-transition);
2993
+ padding:0;
2994
+ font-family:inherit;
2995
+ font-size:var(--tds-date-picker-popover-font-size);
2996
+ font-weight:var(--t-font-weight-semibold);
2997
+ font-feature-settings:"ss01", "ss02";
2998
+ color:var(--t-text-color);
2999
+ cursor:pointer;
3000
+ outline:0;
3001
+ background-color:transparent;
3002
+ border:0;
3003
+ border-radius:var(--t-border-radius-md);
3004
+ isolation:isolate;
3005
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3006
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
3007
+ transition-property:var(--tds-date-picker-popover-interactive-property);
3295
3008
  }
3296
3009
 
3297
- .tds-toggle-switch-track::before{
3010
+ .tds-date-picker-calendar-overlay-trigger::before{
3298
3011
  position:absolute;
3299
- top:var(--t-spacing-fourth);
3300
- left:var(--t-spacing-fourth);
3301
- width:var(--tds-toggle-switch-thumb-size);
3302
- height:var(--tds-toggle-switch-thumb-size);
3012
+ inset:calc(var(--t-spacing-half) * -1);
3013
+ z-index:-1;
3014
+ pointer-events:inherit;
3303
3015
  content:"";
3304
- background-color:#fff;
3305
- border-radius:var(--t-border-radius-round);
3306
- transform:var(--tds-toggle-switch-thumb-transform);
3307
- transition:var(--tds-toggle-switch-thumb-transition);
3016
+ background-color:var(--_background-color);
3017
+ border-radius:inherit;
3308
3018
  }
3309
3019
 
3310
- @media (prefers-reduced-motion: reduce){
3020
+ .tds-date-picker-calendar-overlay-trigger[data-hovered]{
3021
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
3022
+ }
3311
3023
 
3312
- .tds-toggle-switch-track{
3313
- --tds-toggle-switch-track-transition:none;
3314
- --tds-toggle-switch-thumb-transition:none;
3315
- }
3024
+ .tds-date-picker-calendar-overlay-trigger[data-pressed]{
3025
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
3316
3026
  }
3317
3027
 
3318
- .tds-toggle-switch-description{
3319
- display:flex;
3320
- grid-area:2 / 2;
3321
- align-items:flex-start;
3322
- margin:0;
3323
- font-size:var(--tds-toggle-switch-description-font-size);
3324
- line-height:var(--tds-toggle-switch-description-line-height);
3325
- color:var(--tds-toggle-switch-description-color);
3326
- cursor:text;
3327
- }
3028
+ .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
3029
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3030
+ outline-offset:var(--t-focus-ring-offset);
3031
+ }
3328
3032
 
3329
- .tds-toggle-switch--sm{
3330
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
3331
- --tds-toggle-switch-line-height:1.35;
3332
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
3333
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
3334
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
3335
- --tds-toggle-switch-description-line-height:1.3;
3033
+ .tds-date-picker-calendar{
3034
+ inline-size:-moz-fit-content;
3035
+ inline-size:fit-content;
3036
+ font-size:var(--tds-date-picker-popover-font-size);
3336
3037
  }
3337
3038
 
3338
- .tds-toggle-switch--hide-label{
3339
- --tds-toggle-switch-display:inline-flex;
3039
+ .tds-date-picker-calendar-body{
3040
+ position:relative;
3041
+ padding:var(--tds-date-picker-popover-padding);
3042
+ padding-block-start:0;
3340
3043
  }
3341
3044
 
3342
- .t-banner{
3343
- --t-banner-font-size:var(--t-font-size-md);
3344
- --t-banner-font-color:var(--t-text-color);
3345
- --t-banner-background-color:var(--t-fill-color-status-neutral-ghost);
3346
- --t-banner-spacing:var(--t-spacing-2);
3347
- --t-banner-border-radius:var(--t-border-radius-md);
3348
- --t-banner-title-font-color:var(--t-text-color-headline);
3349
- --t-banner-title-font-size:var(--t-font-size-md);
3350
- --t-banner-title-font-weight:var(--t-font-weight-semibold);
3351
- --t-banner-icon-fill-color:hsla(0, 0%, 0%, 0);
3352
- --t-banner-background-color-info:var(--t-fill-color-status-info-ghost);
3353
- --t-banner-icon-fill-color-info:var(--t-icon-color-status-info);
3354
- --t-banner-background-color-warning:var(--t-fill-color-status-warning-ghost);
3355
- --t-banner-icon-fill-color-warning:var(--t-icon-color-status-warning);
3356
- --t-banner-background-color-error:var(--t-fill-color-status-error-ghost);
3357
- --t-banner-icon-fill-color-error:var(--t-icon-color-status-error);
3358
- --t-banner-background-color-success:var(--t-fill-color-status-success-ghost);
3359
- --t-banner-icon-fill-color-success:var(--t-icon-color-status-success);
3360
- --t-banner-link-font-color-hover:var(--t-text-color-headline);
3045
+ .tds-date-picker-calendar-header{
3361
3046
  display:flex;
3362
- gap:var(--t-banner-spacing);
3363
- padding:var(--t-banner-spacing);
3364
- font-size:var(--t-banner-font-size);
3365
- line-height:1.4;
3366
- color:var(--t-banner-font-color);
3367
- background-color:var(--t-banner-background-color);
3368
- border-radius:var(--t-banner-border-radius);
3047
+ align-items:center;
3048
+ justify-content:space-between;
3049
+ padding:var(--tds-date-picker-popover-padding);
3369
3050
  }
3370
3051
 
3371
- .t-banner-title{
3372
- display:block;
3373
- margin-bottom:var(--t-spacing-half);
3374
- font-size:var(--t-banner-title-font-size);
3375
- font-weight:var(--t-banner-title-font-weight);
3376
- color:var(--t-banner-title-font-color);
3052
+ .tds-date-picker-calendar-title{
3053
+ padding:var(--t-spacing-half) var(--t-spacing-1);
3054
+ font-size:var(--tds-date-picker-popover-font-size);
3055
+ font-weight:var(--t-font-weight-semibold);
3377
3056
  }
3378
3057
 
3379
- .t-banner-icon{
3380
- margin-top:1px;
3058
+ .tds-date-picker-calendar-nav{
3059
+ display:flex;
3060
+ align-items:center;
3061
+ justify-content:center;
3062
+ padding:var(--t-spacing-half);
3063
+ font-size:.875em;
3064
+ color:var(--t-text-color);
3065
+ cursor:pointer;
3066
+ outline:0;
3067
+ background-color:transparent;
3068
+ border:0;
3069
+ border-radius:var(--t-border-radius-md);
3070
+ transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
3071
+ transition-duration:var(--tds-date-picker-popover-interactive-duration);
3072
+ transition-property:var(--tds-date-picker-popover-interactive-property);
3381
3073
  }
3382
3074
 
3383
- .t-banner-icon svg{
3384
- fill:var(--t-banner-icon-fill-color);
3385
- }
3075
+ .tds-date-picker-calendar-nav[data-hovered]{
3076
+ background-color:var(--t-fill-color-button-neutral-outline-hover);
3077
+ }
3386
3078
 
3387
- .t-banner-body a{
3388
- color:inherit;
3389
- text-decoration:underline;
3390
- text-underline-offset:2px;
3391
- transition:color .1s linear;
3392
- }
3079
+ .tds-date-picker-calendar-nav[data-pressed]{
3080
+ background-color:var(--t-fill-color-button-neutral-outline-active);
3081
+ }
3393
3082
 
3394
- .t-banner--status-info{
3395
- --t-banner-background-color:var(--t-banner-background-color-info);
3396
- --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-info);
3397
- }
3083
+ .tds-date-picker-calendar-nav[data-focus-visible]{
3084
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3085
+ outline-offset:var(--t-focus-ring-offset);
3086
+ }
3398
3087
 
3399
- .t-banner--status-warning{
3400
- --t-banner-background-color:var(--t-banner-background-color-warning);
3401
- --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-warning);
3402
- }
3088
+ .tds-date-picker-calendar-nav[data-disabled]{
3089
+ color:var(--t-text-color-disabled);
3090
+ cursor:not-allowed;
3091
+ }
3403
3092
 
3404
- .t-banner--status-error{
3405
- --t-banner-background-color:var(--t-banner-background-color-error);
3406
- --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-error);
3093
+ .tds-date-picker-calendar-grid{
3094
+ font-feature-settings:"ss01", "ss02";
3095
+ border-collapse:collapse;
3407
3096
  }
3408
3097
 
3409
- .t-banner--status-success{
3410
- --t-banner-background-color:var(--t-banner-background-color-success);
3411
- --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-success);
3098
+ .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
3099
+ padding:0;
3100
+ border:0;
3101
+ }
3102
+
3103
+ .tds-date-picker-calendar-header-cell{
3104
+ padding-block-end:var(--t-spacing-1);
3105
+ font-size:.875em;
3106
+ font-weight:var(--t-font-weight-medium);
3107
+ color:var(--t-text-color-secondary);
3108
+ text-align:center;
3109
+ -webkit-user-select:none;
3110
+ -moz-user-select:none;
3111
+ user-select:none;
3412
3112
  }
3413
3113
 
3414
- .t-banner--sm{
3415
- --t-banner-spacing:calc(var(--t-spacing-half) + var(--t-spacing-1));
3114
+ .tds-date-picker-calendar-cell-button{
3115
+ position:relative;
3116
+ display:flex;
3117
+ align-items:center;
3118
+ justify-content:center;
3119
+ inline-size:2.25em;
3120
+ block-size:2.25em;
3121
+ color:var(--t-text-color);
3122
+ cursor:pointer;
3123
+ -webkit-user-select:none;
3124
+ -moz-user-select:none;
3125
+ user-select:none;
3126
+ outline:0;
3416
3127
  }
3417
3128
 
3418
- .tds-checkbox-group{
3419
- --tds-checkbox-group-font-size:var(--t-font-size-md);
3420
- --tds-checkbox-group-line-height:1.4;
3421
- --tds-checkbox-group-gap:var(--t-spacing-1);
3129
+ .tds-date-picker-calendar-cell-button::before{
3130
+ position:absolute;
3131
+ inset:0;
3132
+ z-index:-1;
3133
+ content:"";
3134
+ background-color:var(--_background-color);
3135
+ border-radius:50%;
3136
+ }
3137
+
3138
+ .tds-date-picker-calendar-cell-button[data-today]::before{
3139
+ box-shadow:inset 0 0 0 1.5px var(--t-border-color);
3140
+ }
3141
+
3142
+ .tds-date-picker-calendar-cell-button[data-outside-month]{
3143
+ display:none;
3144
+ }
3145
+
3146
+ .tds-date-picker-calendar-cell-button[data-hovered]{
3147
+ --_background-color:var(--t-fill-color-button-neutral-outline-hover);
3148
+ }
3422
3149
 
3423
- --tds-checkbox-group-legend-margin-bottom:var(--tds-checkbox-group-gap);
3150
+ .tds-date-picker-calendar-cell-button[data-pressed]{
3151
+ --_background-color:var(--t-fill-color-button-neutral-outline-active);
3152
+ }
3424
3153
 
3425
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
3426
- --tds-checkbox-group-description-line-height:1.35;
3427
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
3428
- --tds-checkbox-group-description-invalid-icon-display:none;
3429
- display:flex;
3430
- flex-direction:column;
3431
- gap:var(--tds-checkbox-group-gap);
3432
- padding:0;
3433
- margin:0;
3154
+ .tds-date-picker-calendar-cell-button[data-selected]{
3155
+ --_background-color:var(--t-fill-color-interaction);
3156
+ font-weight:var(--t-font-weight-semibold);
3157
+ color:var(--t-text-color-inverted);
3158
+ border-color:transparent;
3159
+ }
3434
3160
 
3435
- font-size:var(--tds-checkbox-group-font-size);
3436
- line-height:var(--tds-checkbox-group-line-height);
3437
- border:0;
3438
- }
3161
+ .tds-date-picker-calendar-cell-button[data-unavailable]{
3162
+ color:var(--t-text-color-disabled);
3163
+ text-decoration:line-through;
3164
+ cursor:not-allowed;
3165
+ }
3439
3166
 
3440
- .tds-checkbox-group legend{
3441
- padding:0;
3442
- margin-bottom:var(--tds-checkbox-group-legend-margin-bottom);
3167
+ .tds-date-picker-calendar-cell-button[data-disabled]{
3168
+ color:var(--t-text-color-disabled);
3443
3169
  }
3444
3170
 
3445
- .tds-checkbox-group:has(.tds-checkbox-group-description){
3446
- --tds-checkbox-group-legend-margin-bottom:var(--t-spacing-fourth);
3171
+ .tds-date-picker-calendar-cell-button[data-focus-visible]{
3172
+ outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3173
+ outline-offset:-2px;
3447
3174
  }
3448
3175
 
3449
- .tds-checkbox-group[aria-invalid="true"]{
3450
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
3451
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
3176
+ .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
3177
+ outline-offset:var(--t-focus-ring-offset);
3452
3178
  }
3453
3179
 
3454
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
3455
- margin-left:.25ch;
3456
- color:var(--t-text-color-status-error);
3457
- content:"*";
3180
+ .tds-date-picker-popover--lg{
3181
+ --tds-date-picker-popover-font-size:var(--t-font-size-lg);
3182
+ }
3183
+
3184
+
3185
+ :is(.tds-input input)::-webkit-search-decoration,:is(.tds-input input)::-webkit-search-cancel-button,:is(.tds-input input)::-webkit-search-results-button,:is(.tds-input input)::-webkit-search-results-decoration{
3186
+ -webkit-appearance:none;
3187
+ appearance:none;
3458
3188
  }
3459
3189
 
3460
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
3461
- content:none;
3190
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
3191
+ inline-size:1em;
3192
+ block-size:2em;
3462
3193
  }
3463
3194
 
3464
- .tds-checkbox-group-fields{
3465
- display:flex;
3466
- flex-direction:column;
3467
- gap:var(--tds-checkbox-group-gap);
3468
- align-items:flex-start;
3469
- }
3195
+ @supports (field-sizing: content){
3196
+ .tds-input--auto-width{
3197
+ inline-size:-moz-fit-content;
3198
+ inline-size:fit-content;
3199
+ min-inline-size:min(100%, 122px);
3200
+ }
3470
3201
 
3471
- .tds-checkbox-group-description{
3472
- display:flex;
3473
- gap:var(--t-spacing-half);
3474
- align-items:flex-start;
3475
- margin:0;
3476
- font-size:var(--tds-checkbox-group-description-font-size);
3477
- line-height:var(--tds-checkbox-group-description-line-height);
3478
- color:var(--tds-checkbox-group-description-color);
3479
- cursor:text;
3202
+ .tds-input--auto-width input{
3203
+ field-sizing:content;
3204
+ inline-size:auto;
3205
+ }
3480
3206
  }
3481
3207
 
3482
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
3483
- display:var(--tds-checkbox-group-description-invalid-icon-display);
3484
- flex-shrink:0;
3485
- margin-top:calc(.5lh - .5em);
3486
- line-height:var(--tds-checkbox-group-description-line-height);
3487
- }
3208
+ .tds-number-stepper{
3209
+ --tds-number-stepper-button-offset:4px;
3210
+ --tds-number-stepper-button-gap:2px;
3211
+ }
3488
3212
 
3489
- .tds-checkbox-group--sm{
3490
- --tds-checkbox-group-line-height:1.35;
3491
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
3492
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
3493
- --tds-checkbox-group-description-line-height:1.3;
3213
+ .tds-number-stepper--lg{
3214
+ --tds-number-stepper-button-offset:5px;
3215
+ --tds-number-stepper-button-gap:4px;
3494
3216
  }
3495
3217
 
3496
- .tds-combo-box{
3497
- --tds-combo-box-border-color:var(--t-form-border-color);
3498
- --tds-combo-box-border-color-hover:var(--t-form-border-color-hover);
3499
- --tds-combo-box-border-color-active:var(--t-form-border-color-focus);
3500
- --tds-combo-box-background-color:var(--t-form-background-color);
3501
- --tds-combo-box-color:var(--t-form-color);
3502
- --tds-combo-box-placeholder-color:var(--t-form-placeholder-color);
3503
- --tds-combo-box-font-size:var(--t-font-size-md);
3504
- --tds-combo-box-min-height:var(--t-container-size-md);
3505
- --tds-combo-box-padding-block:6px;
3506
- --tds-combo-box-button-offset:4px;
3507
- --tds-combo-box-description-color:var(--t-text-color-secondary);
3508
- --tds-combo-box-description-invalid-icon-display:none;
3218
+ .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
3219
+ display:none;
3220
+ }
3509
3221
 
3510
- position:relative;
3222
+ .tds-number-stepper-input{
3511
3223
  display:flex;
3512
- flex-direction:column;
3513
- gap:var(--t-spacing-half);
3224
+ flex:1;
3225
+ align-items:center;
3226
+ min-inline-size:0;
3227
+ padding-block:var(--tds-field-padding-block);
3228
+ padding-inline:var(--tds-field-padding-inline);
3229
+ font-family:inherit;
3230
+ font-size:inherit;
3231
+ color:inherit;
3232
+ outline:0;
3233
+ background:transparent;
3234
+ border:0;
3514
3235
  }
3515
3236
 
3516
- .tds-combo-box[data-required] .tds-combo-box-label::after{
3517
- margin-left:.25ch;
3518
- color:var(--t-text-color-status-error);
3519
- content:"*";
3237
+ .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
3238
+ margin:0;
3239
+ -webkit-appearance:none;
3240
+ appearance:none;
3520
3241
  }
3521
3242
 
3522
- .tds-combo-box[data-invalid]{
3523
- --tds-combo-box-border-color:var(--t-form-border-color-error);
3524
- --tds-combo-box-border-color-hover:var(--t-form-border-color-error-hover);
3525
- --tds-combo-box-border-color-active:var(--t-form-border-color-error-hover);
3526
- --tds-combo-box-background-color:var(--t-form-background-color-error);
3527
- --tds-combo-box-description-color:var(--t-text-color-status-error);
3528
- --tds-combo-box-description-invalid-icon-display:inline-block;
3243
+ .tds-number-stepper-button{
3244
+ flex-shrink:0;
3245
+ align-self:center;
3246
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
3247
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
3248
+ padding:0;
3249
+ }
3250
+
3251
+ .tds-number-stepper-button + .tds-number-stepper-button{
3252
+ margin-inline-start:var(--tds-number-stepper-button-gap);
3529
3253
  }
3530
3254
 
3531
- .tds-combo-box[data-disabled]{
3532
- --tds-combo-box-border-color:var(--t-form-border-color-disabled);
3533
- --tds-combo-box-background-color:var(--t-form-background-color-disabled);
3534
- --tds-combo-box-color:var(--t-form-color-disabled);
3255
+ .tds-number-stepper-button:last-of-type{
3256
+ margin-inline-end:var(--tds-number-stepper-button-offset);
3535
3257
  }
3536
3258
 
3537
- .tds-combo-box[data-disabled] .tds-combo-box-field{
3538
- cursor:not-allowed;
3539
- }
3259
+ .tds-radio{
3260
+ --tds-radio-font-size:var(--t-font-size-md);
3261
+ --tds-radio-cursor:pointer;
3262
+ --tds-radio-line-height:1.4;
3263
+ --tds-radio-transition-property:border-width;
3540
3264
 
3541
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
3542
- transform:rotate(.5turn);
3543
- }
3265
+ --tds-radio-input-size:var(--t-element-size-md);
3266
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
3267
+ --tds-radio-input-border-color:var(--t-form-border-color);
3268
+ --tds-radio-input-border-width:var(--t-form-border-width);
3269
+ --tds-radio-input-background-color:transparent;
3544
3270
 
3545
- .tds-combo-box--lg{
3546
- --tds-combo-box-min-height:var(--t-container-size-lg);
3547
- --tds-combo-box-font-size:var(--t-font-size-lg);
3548
- --tds-combo-box-button-offset:5px;
3549
- }
3271
+ --tds-radio-label-color:var(--t-form-color);
3550
3272
 
3551
- .tds-combo-box-label{
3552
- font-size:var(--t-font-size-md);
3553
- font-weight:var(--t-font-weight-normal);
3554
- color:var(--t-text-color);
3555
- cursor:default;
3556
- }
3273
+ --tds-radio-description-font-size:var(--t-font-size-sm);
3274
+ --tds-radio-description-line-height:1.35;
3275
+ --tds-radio-description-color:var(--t-text-color-secondary);
3557
3276
 
3558
- .tds-combo-box-field{
3559
- display:flex;
3560
- align-items:center;
3561
- inline-size:100%;
3562
- min-block-size:var(--tds-combo-box-min-height);
3563
- font-family:inherit;
3564
- font-size:var(--tds-combo-box-font-size);
3565
- line-height:1;
3566
- color:var(--tds-combo-box-color);
3567
- -webkit-appearance:none;
3568
- -moz-appearance:none;
3569
- appearance:none;
3570
- cursor:default;
3571
- outline:var(--t-focus-ring-width) solid transparent;
3572
- outline-offset:0;
3573
- background-color:var(--tds-combo-box-background-color);
3574
- border:var(--t-form-border-width) solid var(--tds-combo-box-border-color);
3575
- border-radius:var(--t-form-border-radius);
3277
+ position:relative;
3278
+ display:inline-grid;
3279
+ grid-template-columns:auto;
3280
+ grid-auto-columns:1fr;
3281
+ gap:var(--t-spacing-fourth) var(--t-spacing-1);
3282
+ line-height:var(--tds-radio-line-height);
3283
+ cursor:var(--tds-radio-cursor);
3284
+ -webkit-user-select:none;
3285
+ -moz-user-select:none;
3286
+ user-select:none;
3576
3287
  }
3577
3288
 
3578
- .tds-combo-box-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
3579
- border-color:var(--tds-combo-box-border-color-hover);
3289
+ .tds-radio label{
3290
+ grid-area:1 / 2;
3291
+ font-size:var(--tds-radio-font-size);
3292
+ font-weight:var(--t-font-weight-normal);
3293
+ color:var(--tds-radio-label-color);
3294
+ cursor:var(--tds-radio-cursor);
3580
3295
  }
3581
3296
 
3582
- .tds-combo-box-field[data-focus-within]{
3583
- outline-color:var(--t-focus-ring-color);
3584
- outline-offset:var(--t-focus-ring-offset);
3585
- border-color:var(--tds-combo-box-border-color-active);
3297
+ .tds-radio input[type="radio"]{
3298
+ position:relative;
3299
+ width:1em;
3300
+ height:1em;
3301
+ margin:calc((1lh - 1em) / 2) 0 0;
3302
+ font-size:var(--tds-radio-font-size);
3303
+ line-height:inherit;
3304
+ -webkit-appearance:none;
3305
+ -moz-appearance:none;
3306
+ appearance:none;
3307
+ cursor:var(--tds-radio-cursor);
3308
+ background-color:var(--tds-radio-input-background-color);
3309
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
3310
+ border-radius:var(--tds-radio-input-border-radius);
3311
+ transition-timing-function:var(--t-ease-in-out);
3312
+ transition-duration:var(--t-duration-200);
3313
+ transition-property:var(--tds-radio-transition-property);
3586
3314
  }
3587
3315
 
3588
- .tds-combo-box-field:has([readonly]){
3589
- --tds-combo-box-border-color:var(--t-form-border-color-readonly);
3590
- --tds-combo-box-border-color-hover:var(--t-form-border-color-readonly);
3591
- --tds-combo-box-background-color:var(--t-form-background-color-readonly);
3592
- }
3316
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
3317
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
3318
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
3319
+ }
3593
3320
 
3594
- .tds-combo-box-field[data-focus-within]:has([readonly]){
3595
- border-color:var(--t-form-border-color-hover);
3321
+ :is(.tds-radio input[type="radio"]):focus-visible{
3322
+ outline:var(--t-focus-ring-outline);
3323
+ outline-offset:var(--t-focus-ring-offset);
3596
3324
  }
3597
3325
 
3598
- .tds-combo-box-input{
3599
- display:flex;
3600
- flex:1;
3601
- align-items:center;
3602
- padding-block:var(--tds-combo-box-padding-block);
3603
- padding-inline:var(--t-spacing-1);
3604
- font-family:inherit;
3605
- font-size:inherit;
3606
- color:inherit;
3607
- outline:0;
3608
- background:transparent;
3609
- border:0;
3610
- }
3326
+ :is(.tds-radio input[type="radio"]):disabled{
3327
+ pointer-events:none;
3328
+ }
3611
3329
 
3612
- .tds-combo-box-input:has( + .tds-combo-box-button){
3613
- padding-inline-end:0;
3614
- }
3330
+ @media (prefers-reduced-motion: reduce){
3615
3331
 
3616
- .tds-combo-box-input::-moz-placeholder{
3617
- color:var(--tds-combo-box-placeholder-color);
3618
- -moz-user-select:none;
3619
- user-select:none;
3332
+ .tds-radio input[type="radio"]{
3333
+ --tds-radio-transition-property:none;
3620
3334
  }
3335
+ }
3621
3336
 
3622
- .tds-combo-box-input::placeholder{
3623
- color:var(--tds-combo-box-placeholder-color);
3624
- -webkit-user-select:none;
3625
- -moz-user-select:none;
3626
- user-select:none;
3337
+ .tds-radio:has(input:checked){
3338
+ --tds-radio-input-background-color:var(--t-form-background-color);
3339
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
3340
+ --tds-radio-input-border-width:4px;
3627
3341
  }
3628
3342
 
3629
- .tds-combo-box-button{
3630
- flex-shrink:0;
3631
- align-self:center;
3632
- inline-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
3633
- block-size:calc(var(--tds-combo-box-min-height) - (var(--tds-combo-box-button-offset) * 2));
3634
- padding:0;
3635
- margin-inline-end:var(--tds-combo-box-button-offset);
3636
- }
3343
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
3344
+ --tds-radio-input-background-color:var(--t-form-background-color);
3345
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
3346
+ }
3637
3347
 
3638
- .tds-combo-box-button > svg{
3639
- inline-size:var(--tds-combo-box-font-size);
3640
- block-size:var(--tds-combo-box-font-size);
3641
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
3348
+ .tds-radio:has(input:user-invalid){
3349
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
3642
3350
  }
3643
3351
 
3644
- .tds-combo-box-popover{
3645
- width:var(--trigger-width);
3646
- max-block-size:inherit;
3647
- padding:var(--t-spacing-1);
3648
- overflow:auto;
3649
- outline:0;
3650
- scrollbar-color:#0004 #0000;
3651
- scrollbar-width:thin;
3652
- background:var(--t-surface-color-card);
3653
- background-clip:padding-box;
3654
- border:1px solid var(--t-border-color);
3655
- border-radius:var(--t-border-radius);
3656
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
3657
- }
3352
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
3353
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
3354
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
3355
+ }
3658
3356
 
3659
- .tds-combo-box-popover[data-entering]{
3660
- animation:tds-combo-box-popover-enter 160ms ease;
3661
- }
3357
+ .tds-radio:has(input:disabled){
3358
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
3359
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
3662
3360
 
3663
- .tds-combo-box-popover[data-exiting]{
3664
- animation:tds-combo-box-popover-exit 130ms ease;
3361
+ --tds-radio-label-color:var(--t-form-color-disabled);
3362
+ --tds-radio-description-color:var(--t-form-color-disabled);
3363
+ --tds-radio-cursor:not-allowed;
3665
3364
  }
3666
3365
 
3667
- @keyframes tds-combo-box-popover-enter{
3668
- from{
3669
- opacity:0;
3670
- transform:translateY(-8px);
3671
- }
3366
+ .tds-radio:has(input:disabled) input:checked{
3367
+ --tds-radio-input-background-color:var(--t-form-background-color);
3368
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
3369
+ }
3370
+
3371
+ .tds-radio-description{
3372
+ display:flex;
3373
+ grid-area:2 / 2;
3374
+ gap:var(--t-spacing-half);
3375
+ align-items:flex-start;
3376
+ margin:0;
3377
+ font-size:var(--tds-radio-description-font-size);
3378
+ line-height:var(--tds-radio-description-line-height);
3379
+ color:var(--tds-radio-description-color);
3380
+ cursor:text;
3672
3381
  }
3673
3382
 
3674
- @keyframes tds-combo-box-popover-exit{
3675
- to{
3676
- opacity:0;
3677
- transform:translateY(-8px);
3678
- }
3383
+ .tds-radio--sm{
3384
+ --tds-radio-line-height:1.35;
3385
+ --tds-radio-input-size:var(--t-element-size-sm);
3386
+ --tds-radio-font-size:var(--t-font-size-sm);
3387
+ --tds-radio-description-font-size:var(--t-font-size-xs);
3388
+ --tds-radio-description-line-height:1.3;
3679
3389
  }
3680
3390
 
3681
- @media (prefers-reduced-motion: reduce){
3682
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
3683
- animation:none;
3684
- }
3391
+ .tds-radio-group{
3392
+ --tds-radio-group-font-size:var(--t-font-size-md);
3393
+ --tds-radio-group-line-height:1.4;
3394
+ --tds-radio-group-gap:var(--t-spacing-1);
3685
3395
 
3686
- .tds-combo-box-button > svg{
3687
- transition:none;
3688
- }
3689
- }
3396
+ --tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
3690
3397
 
3691
- .tds-combo-box-list{
3398
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
3399
+ --tds-radio-group-description-line-height:1.35;
3400
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
3401
+ --tds-radio-group-description-invalid-icon-display:none;
3402
+ display:flex;
3403
+ flex-direction:column;
3404
+ gap:var(--tds-radio-group-gap);
3692
3405
  padding:0;
3693
3406
  margin:0;
3694
- }
3695
3407
 
3696
- .tds-combo-box-list-item{
3697
- display:block;
3698
- padding-block:var(--t-spacing-1);
3699
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
3700
- overflow:hidden;
3701
- text-overflow:ellipsis;
3702
- font-size:1rem;
3703
- color:var(--t-text-color);
3704
- white-space:nowrap;
3705
- cursor:default;
3706
- border-radius:var(--t-border-radius);
3408
+ font-size:var(--tds-radio-group-font-size);
3409
+ line-height:var(--tds-radio-group-line-height);
3410
+ border:0;
3707
3411
  }
3708
3412
 
3709
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
3710
- background:var(--t-fill-color-neutral-070);
3413
+ .tds-radio-group legend{
3414
+ padding:0;
3415
+ margin-bottom:var(--tds-radio-group-legend-margin-bottom);
3711
3416
  }
3712
3417
 
3713
- .tds-combo-box-list-item[data-selected]{
3714
- background:var(--t-fill-color-button-interaction-ghost-active);
3418
+ .tds-radio-group:has(.tds-radio-group-description){
3419
+ --tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
3715
3420
  }
3716
3421
 
3717
- .tds-combo-box-list-item[data-disabled]{
3718
- color:var(--t-form-color-disabled);
3719
- cursor:not-allowed;
3422
+ .tds-radio-group[aria-invalid="true"]{
3423
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
3424
+ --tds-radio-group-description-invalid-icon-display:inline-block;
3720
3425
  }
3721
3426
 
3722
- .tds-combo-box-list-item[data-disabled][data-hovered]{
3723
- background:transparent;
3427
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
3428
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
3724
3429
  }
3725
3430
 
3726
- .tds-combo-box-empty-state{
3727
- position:relative;
3728
- min-block-size:var(--t-spacing-3);
3729
- padding-block:var(--t-spacing-1);
3730
- padding-inline:var(--t-spacing-2);
3731
- font-size:var(--t-font-size-md);
3732
- color:var(--t-text-color-secondary);
3733
- }
3734
-
3735
- .tds-combo-box-load-more{
3736
- position:relative;
3737
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
3738
- }
3431
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
3432
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
3433
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
3434
+ }
3739
3435
 
3740
- .tds-combo-box-empty-state,
3741
- .tds-combo-box-load-more{
3742
- --tds-loading-spinner-visibility:visible;
3743
- --tds-loading-spinner-animation-play-state:running;
3744
- }
3436
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
3437
+ --tds-radio-input-background-color:var(--t-form-background-color);
3438
+ }
3745
3439
 
3746
- .tds-combo-box-list-section:not(:first-child){
3747
- margin-block-start:var(--t-spacing-half);
3748
- }
3440
+ .tds-radio-group:has(input:required) legend::after{
3441
+ margin-left:.25ch;
3442
+ color:var(--t-text-color-status-error);
3443
+ content:"*";
3444
+ }
3749
3445
 
3750
- .tds-combo-box-section-header{
3751
- padding-block:var(--t-spacing-1);
3752
- padding-inline:var(--t-spacing-1);
3753
- font-size:var(--t-font-size-sm);
3754
- font-weight:var(--t-font-weight-semibold);
3755
- color:var(--t-text-color-secondary);
3446
+ .tds-radio-group-fields{
3447
+ display:flex;
3448
+ flex-direction:column;
3449
+ gap:var(--tds-radio-group-gap);
3450
+ align-items:flex-start;
3756
3451
  }
3757
3452
 
3758
- .tds-combo-box-description{
3453
+ .tds-radio-group-description{
3759
3454
  display:flex;
3760
3455
  gap:var(--t-spacing-half);
3761
3456
  align-items:flex-start;
3762
3457
  margin:0;
3763
- font-size:var(--t-font-size-sm);
3764
- line-height:1.35;
3765
- color:var(--tds-combo-box-description-color, var(--t-text-color-secondary));
3458
+ font-size:var(--tds-radio-group-description-font-size);
3459
+ line-height:var(--tds-radio-group-description-line-height);
3460
+ color:var(--tds-radio-group-description-color);
3766
3461
  cursor:text;
3767
3462
  }
3768
3463
 
3769
- .tds-combo-box-description .tds-combo-box-description-invalid-icon{
3770
- display:var(--tds-combo-box-description-invalid-icon-display, none);
3464
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
3465
+ display:var(--tds-radio-group-description-invalid-icon-display);
3771
3466
  flex-shrink:0;
3772
- margin-block-start:calc(.5lh - .5em);
3773
- line-height:1.35;
3467
+ margin-top:calc(.5lh - .5em);
3468
+ line-height:var(--tds-radio-group-description-line-height);
3774
3469
  }
3775
3470
 
3776
-
3777
- .tds-date-picker{
3778
- --tds-date-picker-border-color:var(--t-form-border-color);
3779
- --tds-date-picker-border-color-hover:var(--t-form-border-color-hover);
3780
- --tds-date-picker-border-color-active:var(--t-form-border-color-focus);
3781
- --tds-date-picker-background-color:var(--t-form-background-color);
3782
- --tds-date-picker-color:var(--t-form-color);
3783
- --tds-date-picker-placeholder-color:var(--t-form-placeholder-color);
3784
- --tds-date-picker-font-size:var(--t-font-size-md);
3785
- --tds-date-picker-min-height:var(--t-container-size-md);
3786
- --tds-date-picker-padding-block:6px;
3787
- --tds-date-picker-button-offset:4px;
3788
- --tds-date-picker-description-color:var(--t-text-color-secondary);
3789
- --tds-date-picker-description-invalid-icon-display:none;
3790
-
3791
- position:relative;
3792
- display:flex;
3793
- flex-direction:column;
3794
- gap:var(--t-spacing-half);
3471
+ .tds-radio-group--sm{
3472
+ --tds-radio-group-line-height:1.35;
3473
+ --tds-radio-group-font-size:var(--t-font-size-sm);
3474
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
3475
+ --tds-radio-group-description-line-height:1.3;
3795
3476
  }
3796
3477
 
3797
- .tds-date-picker[data-required] .tds-date-picker-label::after{
3798
- margin-left:.25ch;
3799
- color:var(--t-text-color-status-error);
3800
- content:"*";
3801
- }
3802
-
3803
- .tds-date-picker[data-invalid]{
3804
- --tds-date-picker-border-color:var(--t-form-border-color-error);
3805
- --tds-date-picker-border-color-hover:var(--t-form-border-color-error-hover);
3806
- --tds-date-picker-border-color-active:var(--t-form-border-color-error-hover);
3807
- --tds-date-picker-background-color:var(--t-form-background-color-error);
3808
- --tds-date-picker-description-color:var(--t-text-color-status-error);
3809
- --tds-date-picker-description-invalid-icon-display:inline-block;
3810
- }
3811
-
3812
- .tds-date-picker[data-disabled]{
3813
- --tds-date-picker-border-color:var(--t-form-border-color-disabled);
3814
- --tds-date-picker-background-color:var(--t-form-background-color-disabled);
3815
- --tds-date-picker-color:var(--t-form-color-disabled);
3816
- --tds-date-picker-placeholder-color:var(--t-form-color-disabled);
3817
- }
3818
-
3819
- .tds-date-picker[data-disabled] .tds-date-picker-field{
3820
- cursor:not-allowed;
3821
- }
3478
+ .tds-select{
3479
+ --tds-select-border-color:var(--t-form-border-color);
3480
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
3481
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
3482
+ --tds-select-background-color:var(--t-form-background-color);
3483
+ --tds-select-color:var(--t-form-color);
3484
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
3485
+ --tds-select-font-size:var(--t-font-size-md);
3486
+ --tds-select-min-height:var(--t-container-size-md);
3487
+ --tds-select-padding-block:6px;
3488
+ --tds-select-description-color:var(--t-text-color-secondary);
3489
+ --tds-select-description-invalid-icon-display:none;
3490
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
3491
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
3492
+ --tds-select-caret-size:1em;
3493
+ --tds-select-caret-inline-offset:.75em;
3494
+ --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
3822
3495
 
3823
- .tds-date-picker--lg{
3824
- --tds-date-picker-min-height:var(--t-container-size-lg);
3825
- --tds-date-picker-font-size:var(--t-font-size-lg);
3826
- --tds-date-picker-button-offset:5px;
3827
- }
3496
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
3497
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
3498
+ --tds-select-dropdown-padding:var(--t-spacing-1);
3499
+ --tds-select-dropdown-margin-block:5px;
3500
+ --tds-select-dropdown-scrollbar-color:#0004 #0000;
3501
+ --tds-select-dropdown-scrollbar-width:thin;
3502
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
3503
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
3504
+ --tds-select-dropdown-scroll-behavior:smooth;
3505
+ --tds-select-dropdown-transition:opacity var(--t-duration-300) var(--t-ease-out), translate var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
3506
+ --tds-select-dropdown-closed-opacity:0;
3507
+ --tds-select-dropdown-open-opacity:1;
3508
+ --tds-select-dropdown-closed-translate:0 -8px;
3509
+ --tds-select-dropdown-open-translate:0 0;
3828
3510
 
3829
- .tds-date-picker-label{
3830
- font-size:var(--t-font-size-md);
3831
- font-weight:var(--t-font-weight-normal);
3832
- color:var(--t-text-color);
3833
- cursor:default;
3834
- }
3511
+ --tds-select-option-gap:var(--t-spacing-1);
3512
+ --tds-select-option-padding-block:var(--t-spacing-1);
3513
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
3514
+ --tds-select-option-font-size:1rem;
3515
+ --tds-select-option-color:var(--t-text-color);
3516
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
3517
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
3518
+ --tds-select-option-border-radius:var(--t-border-radius);
3835
3519
 
3836
- .tds-date-picker-field{
3520
+ --tds-select-group-label-padding-block-start:var(--t-spacing-2);
3521
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
3522
+ --tds-select-group-label-padding-inline:var(--t-spacing-1);
3523
+ --tds-select-group-label-font-size:var(--t-font-size-sm);
3524
+ --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
3525
+ --tds-select-group-label-letter-spacing:0;
3526
+ --tds-select-group-label-color:var(--t-text-color-secondary);
3527
+ --tds-select-group-label-color-stuck:var(--t-text-color-headline);
3528
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
3529
+ --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
3530
+
3531
+ position:relative;
3837
3532
  display:flex;
3838
- align-items:center;
3839
- inline-size:100%;
3840
- min-block-size:var(--tds-date-picker-min-height);
3841
- font-family:inherit;
3842
- font-size:var(--tds-date-picker-font-size);
3843
- line-height:1;
3844
- color:var(--tds-date-picker-color);
3845
- -webkit-appearance:none;
3846
- -moz-appearance:none;
3847
- appearance:none;
3848
- cursor:text;
3849
- outline:var(--t-focus-ring-width) solid transparent;
3850
- outline-offset:0;
3851
- background-color:var(--tds-date-picker-background-color);
3852
- border:var(--t-form-border-width) solid var(--tds-date-picker-border-color);
3853
- border-radius:var(--t-form-border-radius);
3854
- transition-timing-function:var(--t-ease-in-out);
3855
- transition-duration:var(--t-duration-200);
3856
- transition-property:background-color, border-color, outline-color, outline-offset;
3533
+ flex-direction:column;
3534
+ gap:var(--t-spacing-half);
3857
3535
  }
3858
3536
 
3859
- .tds-date-picker-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
3860
- border-color:var(--tds-date-picker-border-color-hover);
3861
- }
3862
-
3863
- .tds-date-picker-field[data-focus-within]:not(:has(.tds-date-picker-button[data-focused])){
3864
- outline-color:var(--t-focus-ring-color);
3865
- outline-offset:var(--t-focus-ring-offset);
3866
- border-color:var(--tds-date-picker-border-color-active);
3537
+ .tds-select :is(label,.tds-select-label){
3538
+ font-size:var(--t-font-size-md);
3539
+ font-weight:var(--t-font-weight-normal);
3540
+ color:var(--t-text-color);
3541
+ cursor:default;
3867
3542
  }
3868
3543
 
3869
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]){
3870
- --tds-date-picker-border-color:var(--t-form-border-color-readonly);
3871
- --tds-date-picker-border-color-hover:var(--t-form-border-color-readonly);
3872
- --tds-date-picker-background-color:var(--t-form-background-color-readonly);
3873
- color:var(--t-form-color-readonly);
3544
+ .tds-select :is(select,button){
3545
+ position:relative;
3546
+ place-items:center;
3547
+ inline-size:100%;
3548
+ min-block-size:var(--tds-select-min-height);
3549
+ padding-block:var(--tds-select-padding-block);
3550
+ padding-inline:var(--t-spacing-1);
3551
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
3552
+ font-family:inherit;
3553
+ font-size:var(--tds-select-font-size);
3554
+ line-height:1;
3555
+ color:var(--tds-select-color);
3556
+ text-align:left;
3557
+ -webkit-appearance:none;
3558
+ -moz-appearance:none;
3559
+ appearance:none;
3560
+ cursor:var(--tds-select-cursor, default);
3561
+ outline:var(--t-focus-ring-width) solid transparent;
3562
+ outline-offset:0;
3563
+ background-color:var(--tds-select-background-color);
3564
+ background-image:var(--tds-select-background-image);
3565
+ background-repeat:no-repeat;
3566
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
3567
+ background-size:var(--tds-select-caret-size);
3568
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
3569
+ border-radius:var(--t-form-border-radius);
3570
+ transition-timing-function:var(--t-ease-in-out);
3571
+ transition-duration:var(--t-duration-300);
3572
+ transition-property:var(--tds-select-transition-property);
3874
3573
  }
3875
3574
 
3876
- .tds-date-picker-field[data-focus-within]:has(.tds-date-picker-input[data-readonly]){
3877
- border-color:var(--t-form-border-color-hover);
3575
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
3576
+ border-color:var(--tds-select-border-color-hover);
3878
3577
  }
3879
3578
 
3880
- .tds-date-picker-field:has(.tds-date-picker-input[data-readonly]) .tds-date-picker-button{
3881
- display:none;
3579
+ :is(.tds-select :is(select,button)):focus{
3580
+ outline-color:var(--t-focus-ring-color);
3581
+ outline-offset:var(--t-focus-ring-offset);
3582
+ border-color:var(--tds-select-border-color-active);
3882
3583
  }
3883
3584
 
3884
- .tds-date-picker-input{
3885
- flex:1;
3886
- padding-block:var(--tds-date-picker-padding-block);
3887
- padding-inline-start:var(--t-spacing-1);
3888
- overflow-x:auto;
3889
- font-variant-numeric:tabular-nums;
3890
- text-wrap:nowrap;
3891
- scrollbar-width:none;
3892
- }
3893
-
3894
- .tds-date-picker-segment{
3895
- padding-inline:2px;
3896
- text-align:end;
3897
- text-wrap:nowrap;
3898
- caret-color:transparent;
3899
- border-radius:var(--t-border-radius-sm);
3900
- }
3901
-
3902
- .tds-date-picker-segment[data-placeholder]{
3903
- color:var(--tds-date-picker-placeholder-color);
3904
- }
3585
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
3586
+ color:var(--tds-select-placeholder-color);
3587
+ }
3905
3588
 
3906
- .tds-date-picker-segment[data-focused]{
3907
- color:var(--t-text-color-inverted);
3908
- outline:0;
3909
- background-color:var(--t-fill-color-interaction);
3589
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
3590
+ --tds-select-border-color:var(--t-form-border-color-error);
3591
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
3592
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
3593
+ --tds-select-background-color:var(--t-form-background-color-error);
3594
+ --tds-select-description-color:var(--t-text-color-status-error);
3595
+ --tds-select-description-invalid-icon-display:inline-block;
3910
3596
  }
3911
3597
 
3912
- .tds-date-picker-segment-separator{
3913
- padding-inline:0;
3914
- color:var(--tds-date-picker-placeholder-color);
3915
- }
3916
-
3917
- .tds-date-picker-segment:not([data-placeholder]) + .tds-date-picker-segment-separator{
3918
- color:var(--tds-date-picker-color);
3919
- }
3920
-
3921
- .tds-date-picker-description{
3922
- display:flex;
3923
- gap:var(--t-spacing-half);
3924
- align-items:flex-start;
3925
- margin:0;
3926
- font-size:var(--t-font-size-sm);
3927
- line-height:1.35;
3928
- color:var(--tds-date-picker-description-color, var(--t-text-color-secondary));
3929
- cursor:text;
3930
- }
3598
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
3599
+ margin-left:.25ch;
3600
+ color:var(--t-text-color-status-error);
3601
+ content:"*";
3602
+ }
3931
3603
 
3932
- .tds-date-picker-description .tds-date-picker-description-invalid-icon{
3933
- display:var(--tds-date-picker-description-invalid-icon-display, none);
3934
- flex-shrink:0;
3935
- margin-block-start:calc(.5lh - .5em);
3936
- line-height:1.35;
3604
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
3605
+ --tds-select-border-color:var(--t-form-border-color-disabled);
3606
+ --tds-select-background-color:var(--t-form-background-color-disabled);
3607
+ --tds-select-color:var(--t-form-color-disabled);
3608
+ --tds-select-cursor:not-allowed;
3937
3609
  }
3938
3610
 
3939
- .tds-date-picker-button{
3940
- flex-shrink:0;
3941
- align-self:center;
3942
- inline-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
3943
- block-size:calc(var(--tds-date-picker-min-height) - (var(--tds-date-picker-button-offset) * 2));
3944
- padding:0;
3945
- margin-inline-start:var(--t-spacing-1);
3946
- margin-inline-end:var(--tds-date-picker-button-offset);
3947
- }
3948
-
3949
- .tds-date-picker-popover{
3950
- --tds-date-picker-popover-font-size:var(--t-font-size-md);
3951
- --tds-date-picker-popover-padding:var(--t-spacing-1-half);
3952
- --tds-date-picker-popover-background-color:var(--t-surface-color-card);
3953
- --tds-date-picker-popover-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
3954
- --tds-date-picker-popover-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out);
3955
- --tds-date-picker-popover-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), transform var(--t-duration-200) var(--t-ease-in);
3956
- --tds-date-picker-popover-closed-opacity:0;
3957
- --tds-date-picker-popover-closed-transform:translateY(-8px);
3958
- --tds-date-picker-popover-interactive-timing-function:var(--t-ease-in-out);
3959
- --tds-date-picker-popover-interactive-duration:var(--t-duration-200);
3960
- --tds-date-picker-popover-interactive-property:color, background-color, border-color;
3611
+ .tds-select:has( > [popover]:popover-open) > button{
3612
+ border-color:var(--tds-select-border-color-active);
3613
+ }
3961
3614
 
3962
- position:relative;
3963
- overflow:hidden;
3964
- background-color:var(--tds-date-picker-popover-background-color);
3965
- border:var(--t-border-width) solid var(--t-border-color);
3966
- border-radius:var(--t-border-radius);
3967
- box-shadow:var(--tds-date-picker-popover-shadow);
3968
- opacity:1;
3969
- transform:translateY(0);
3970
- transition:var(--tds-date-picker-popover-transition-enter);
3971
- }
3615
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
3616
+ transform:rotate(.5turn);
3617
+ }
3972
3618
 
3973
- .tds-date-picker-popover[data-entering]{
3974
- opacity:var(--tds-date-picker-popover-closed-opacity);
3975
- transform:var(--tds-date-picker-popover-closed-transform);
3619
+ .tds-select :is(hr,li[role="separator"]){
3620
+ margin-block:var(--t-spacing-half);
3621
+ color:var(--tds-select-border-color);
3622
+ border:0;
3623
+ border-top:1px solid;
3976
3624
  }
3977
3625
 
3978
- .tds-date-picker-popover[data-exiting]{
3979
- opacity:var(--tds-date-picker-popover-closed-opacity);
3980
- transform:var(--tds-date-picker-popover-closed-transform);
3981
- transition:var(--tds-date-picker-popover-transition-exit);
3626
+ .tds-select :is(li[role="option"],option:not([hidden])){
3627
+ display:block;
3628
+ padding-block:var(--tds-select-option-padding-block);
3629
+ padding-inline:var(--tds-select-option-padding-inline);
3630
+ overflow:hidden;
3631
+ text-overflow:ellipsis;
3632
+ font-size:var(--tds-select-option-font-size);
3633
+ color:var(--tds-select-option-color);
3634
+ white-space:nowrap;
3635
+ cursor:default;
3636
+ border-radius:var(--tds-select-option-border-radius);
3982
3637
  }
3983
3638
 
3984
- @media (prefers-reduced-motion: reduce){
3639
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
3640
+ outline:none;
3641
+ }
3985
3642
 
3986
- .tds-date-picker-popover{
3987
- --tds-date-picker-popover-transition-enter:none;
3988
- --tds-date-picker-popover-transition-exit:none;
3989
- --tds-date-picker-popover-closed-opacity:1;
3990
- --tds-date-picker-popover-closed-transform:none;
3991
- }
3992
- }
3643
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
3644
+ background:var(--tds-select-option-background-hover);
3645
+ }
3993
3646
 
3994
- .tds-date-picker-overlay{
3995
- position:absolute;
3996
- inset:0;
3997
- z-index:1;
3998
- display:flex;
3999
- background-color:var(--tds-date-picker-popover-background-color);
4000
- }
3647
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
3648
+ background:var(--tds-select-option-background-active);
3649
+ }
4001
3650
 
4002
- .tds-date-picker-overlay-list{
4003
- display:grid;
4004
- flex:1;
4005
- grid-template-columns:repeat(3, 1fr);
4006
- gap:var(--t-spacing-half);
4007
- padding-inline:var(--tds-date-picker-popover-padding);
4008
- outline:0;
4009
- scrollbar-color:var(--t-fill-color-transparency-dark-030) transparent;
4010
- scrollbar-width:thin;
4011
- }
3651
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
3652
+ color:var(--t-form-color-disabled);
3653
+ cursor:not-allowed;
3654
+ }
4012
3655
 
4013
- .tds-date-picker-overlay--month .tds-date-picker-overlay-list{
4014
- grid-template-rows:repeat(4, 1fr);
4015
- padding-bottom:var(--tds-date-picker-popover-padding);
4016
- }
3656
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
3657
+ background:transparent;
3658
+ }
4017
3659
 
4018
- .tds-date-picker-overlay--year .tds-date-picker-overlay-list{
4019
- grid-auto-rows:var(--t-container-size-xl);
4020
- padding-right:var(--t-spacing-1);
4021
- overflow-y:auto;
4022
- scroll-padding-block:calc(var(--t-focus-ring-width) + var(--t-focus-ring-offset));
4023
- }
3660
+ .tds-select :is(li[role="presentation"],legend){
3661
+ position:sticky;
3662
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
3663
+ z-index:1;
3664
+ float:inline-start;
3665
+ inline-size:100%;
3666
+ padding-block:var(--tds-select-group-label-padding-block);
3667
+ padding-inline:var(--tds-select-group-label-padding-inline);
3668
+ container-type:scroll-state;
3669
+ font-size:var(--tds-select-group-label-font-size);
3670
+ font-weight:var(--tds-select-group-label-font-weight);
3671
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
3672
+ background:var(--tds-select-group-label-background);
3673
+ text-box:trim-both cap alphabetic;
3674
+ }
4024
3675
 
4025
- .tds-date-picker-overlay-cell{
4026
- display:flex;
4027
- align-items:center;
4028
- justify-content:center;
4029
- font-family:inherit;
4030
- font-size:var(--tds-date-picker-popover-font-size);
4031
- color:var(--t-text-color);
4032
- cursor:pointer;
4033
- outline:0;
4034
- background-color:transparent;
4035
- border:0;
4036
- border-radius:var(--t-border-radius-md);
4037
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4038
- transition-duration:var(--t-duration-100);
4039
- transition-property:var(--tds-date-picker-popover-interactive-property);
4040
- }
3676
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
3677
+ display:inline-flex;
3678
+ gap:var(--t-spacing-half);
3679
+ align-items:center;
3680
+ color:var(--tds-select-group-label-color);
3681
+ transition:var(--tds-select-group-label-transition);
3682
+ }
4041
3683
 
4042
- .tds-date-picker-overlay-cell[data-hovered]{
4043
- background-color:var(--t-fill-color-button-neutral-outline-hover);
4044
- }
3684
+ @container scroll-state(stuck){
4045
3685
 
4046
- .tds-date-picker-overlay-cell[data-pressed]{
4047
- background-color:var(--t-fill-color-button-neutral-outline-active);
4048
- }
3686
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
3687
+ color:var(--tds-select-group-label-color-stuck);
3688
+ }
4049
3689
 
4050
- .tds-date-picker-overlay-cell[data-selected]{
4051
- font-weight:var(--t-font-weight-semibold);
4052
- color:var(--t-text-color-inverted);
4053
- background-color:var(--t-fill-color-interaction);
4054
- }
3690
+ @media (forced-colors: active){
4055
3691
 
4056
- .tds-date-picker-overlay-cell[data-focus-visible]{
4057
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
3692
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
3693
+ color:var(--tds-select-group-label-color-stuck);
3694
+ }
3695
+ }
3696
+ }
3697
+
3698
+ .tds-select.tds-select--lg{
3699
+ --tds-select-min-height:var(--t-container-size-lg);
3700
+ --tds-select-font-size:var(--t-font-size-lg);
4058
3701
  }
4059
3702
 
4060
- .tds-date-picker-overlay-cell[data-selected][data-focus-visible]{
4061
- outline-offset:var(--t-focus-ring-offset);
3703
+ @media (prefers-reduced-motion: reduce){
3704
+
3705
+ .tds-select{
3706
+ --tds-select-transition-property:none;
3707
+ --tds-select-dropdown-transition:none;
3708
+ --tds-select-dropdown-scroll-behavior:auto;
3709
+ --tds-select-dropdown-closed-translate:none;
3710
+ --tds-select-dropdown-open-translate:none;
3711
+ --tds-select-caret-transition:none;
3712
+ }
4062
3713
  }
4063
3714
 
4064
- .tds-date-picker-calendar-heading{
3715
+ .tds-select-description{
4065
3716
  display:flex;
4066
- flex:1;
4067
- gap:var(--t-spacing-1);
4068
- align-items:center;
4069
- justify-content:flex-start;
4070
- padding-inline-start:4px;
3717
+ gap:var(--t-spacing-half);
3718
+ align-items:flex-start;
3719
+ margin:0;
3720
+ font-size:var(--t-font-size-sm);
3721
+ line-height:1.35;
3722
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
3723
+ cursor:text;
4071
3724
  }
4072
3725
 
4073
- .tds-date-picker-calendar-overlay-trigger{
4074
- --_background-color:transparent;
4075
- position:relative;
3726
+ .tds-select-description .tds-select-description-invalid-icon{
3727
+ display:var(--tds-select-description-invalid-icon-display, none);
3728
+ flex-shrink:0;
3729
+ margin-block-start:calc(.5lh - .5em);
3730
+ line-height:1.35;
3731
+ }
3732
+
3733
+ .tds-select > .tds-select-hidden-select{
3734
+ position:absolute;
3735
+ inline-size:1px;
3736
+ block-size:1px;
4076
3737
  padding:0;
4077
- font-family:inherit;
4078
- font-size:var(--tds-date-picker-popover-font-size);
4079
- font-weight:var(--t-font-weight-semibold);
4080
- font-feature-settings:"ss01", "ss02";
4081
- color:var(--t-text-color);
4082
- cursor:pointer;
4083
- outline:0;
4084
- background-color:transparent;
4085
- border:0;
4086
- border-radius:var(--t-border-radius-md);
4087
- isolation:isolate;
4088
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4089
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
4090
- transition-property:var(--tds-date-picker-popover-interactive-property);
3738
+ margin:0;
3739
+ pointer-events:none;
3740
+ opacity:0;
4091
3741
  }
4092
3742
 
4093
- .tds-date-picker-calendar-overlay-trigger::before{
4094
- position:absolute;
4095
- inset:calc(var(--t-spacing-half) * -1);
4096
- z-index:-1;
4097
- pointer-events:inherit;
4098
- content:"";
4099
- background-color:var(--_background-color);
4100
- border-radius:inherit;
3743
+ .tds-select:has( > button) > button{
3744
+ display:block;
3745
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
3746
+ overflow:hidden;
3747
+ text-overflow:ellipsis;
3748
+ color:var(--tds-select-placeholder-color);
3749
+ white-space:nowrap;
3750
+ background-image:none;
3751
+ anchor-name:--tds-select-anchor;
3752
+ transition:background-color var(--t-duration-300) var(--t-ease-in-out), border-color var(--t-duration-300) var(--t-ease-in-out), outline-color var(--t-duration-300) var(--t-ease-in-out), outline-offset var(--t-duration-300) var(--t-ease-in-out), transform var(--t-duration-100) var(--t-ease-in-out);
3753
+ -webkit-tap-highlight-color:transparent;
4101
3754
  }
4102
3755
 
4103
- .tds-date-picker-calendar-overlay-trigger[data-hovered]{
4104
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
4105
- }
3756
+ :is(.tds-select:has( > button) > button)::after{
3757
+ position:absolute;
3758
+ inset-block:0;
3759
+ inset-inline-end:var(--tds-select-caret-inline-offset);
3760
+ width:var(--tds-select-caret-size);
3761
+ height:var(--tds-select-caret-size);
3762
+ margin-block:auto;
3763
+ pointer-events:none;
3764
+ content:var(--tds-select-background-image);
3765
+ transform:rotate(0);
3766
+ transition:var(--tds-select-caret-transition);
3767
+ }
4106
3768
 
4107
- .tds-date-picker-calendar-overlay-trigger[data-pressed]{
4108
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
3769
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
3770
+ color:var(--tds-select-color);
4109
3771
  }
4110
3772
 
4111
- .tds-date-picker-calendar-overlay-trigger[data-focus-visible]{
4112
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4113
- outline-offset:var(--t-focus-ring-offset);
3773
+ .tds-select:has( > button) [popover]{
3774
+ position-anchor:--tds-select-anchor;
3775
+ inset:auto;
3776
+ inline-size:-moz-max-content;
3777
+ inline-size:max-content;
3778
+ min-inline-size:anchor-size(width);
3779
+ max-inline-size:100vi;
3780
+ max-block-size:min(50vh, 20rem);
3781
+ padding:var(--tds-select-dropdown-padding);
3782
+ margin-block:var(--tds-select-dropdown-margin-block);
3783
+ position-area:block-end span-inline-start;
3784
+ position-try-fallbacks:flip-block, flip-inline;
3785
+ overflow:auto;
3786
+ overflow-x:hidden;
3787
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3788
+ overscroll-behavior:none;
3789
+ -webkit-user-select:none;
3790
+ -moz-user-select:none;
3791
+ user-select:none;
3792
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
3793
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3794
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3795
+ background:var(--tds-select-dropdown-background-color);
3796
+ border:var(--tds-select-dropdown-border);
3797
+ border-radius:var(--tds-select-dropdown-border-radius);
3798
+ box-shadow:var(--tds-select-dropdown-box-shadow);
3799
+ opacity:var(--tds-select-dropdown-open-opacity);
3800
+ translate:var(--tds-select-dropdown-open-translate);
3801
+ transition:var(--tds-select-dropdown-transition);
4114
3802
  }
4115
3803
 
4116
- .tds-date-picker-calendar{
4117
- inline-size:-moz-fit-content;
4118
- inline-size:fit-content;
4119
- font-size:var(--tds-date-picker-popover-font-size);
4120
- }
4121
-
4122
- .tds-date-picker-calendar-body{
4123
- position:relative;
4124
- padding:var(--tds-date-picker-popover-padding);
4125
- padding-block-start:0;
4126
- }
4127
-
4128
- .tds-date-picker-calendar-header{
4129
- display:flex;
4130
- align-items:center;
4131
- justify-content:space-between;
4132
- padding:var(--tds-date-picker-popover-padding);
4133
- }
4134
-
4135
- .tds-date-picker-calendar-title{
4136
- padding:var(--t-spacing-half) var(--t-spacing-1);
4137
- font-size:var(--tds-date-picker-popover-font-size);
4138
- font-weight:var(--t-font-weight-semibold);
4139
- }
4140
-
4141
- .tds-date-picker-calendar-nav{
4142
- display:flex;
4143
- align-items:center;
4144
- justify-content:center;
4145
- padding:var(--t-spacing-half);
4146
- font-size:.875em;
4147
- color:var(--t-text-color);
4148
- cursor:pointer;
4149
- outline:0;
4150
- background-color:transparent;
4151
- border:0;
4152
- border-radius:var(--t-border-radius-md);
4153
- transition-timing-function:var(--tds-date-picker-popover-interactive-timing-function);
4154
- transition-duration:var(--tds-date-picker-popover-interactive-duration);
4155
- transition-property:var(--tds-date-picker-popover-interactive-property);
4156
- }
3804
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
3805
+ opacity:var(--tds-select-dropdown-closed-opacity);
3806
+ translate:var(--tds-select-dropdown-closed-translate);
3807
+ }
4157
3808
 
4158
- .tds-date-picker-calendar-nav[data-hovered]{
4159
- background-color:var(--t-fill-color-button-neutral-outline-hover);
4160
- }
3809
+ :is(.tds-select:has( > button) [popover]) ul{
3810
+ padding:0;
3811
+ margin:0;
3812
+ list-style:none;
3813
+ }
4161
3814
 
4162
- .tds-date-picker-calendar-nav[data-pressed]{
4163
- background-color:var(--t-fill-color-button-neutral-outline-active);
4164
- }
3815
+ @starting-style{
3816
+ :is(.tds-select:has( > button) [popover]):popover-open{
3817
+ opacity:var(--tds-select-dropdown-closed-opacity);
3818
+ translate:var(--tds-select-dropdown-closed-translate);
3819
+ }
3820
+ }
4165
3821
 
4166
- .tds-date-picker-calendar-nav[data-focus-visible]{
4167
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4168
- outline-offset:var(--t-focus-ring-offset);
3822
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
3823
+ .tds-select select:has(> button){
3824
+ padding-inline-end:0;
3825
+ background-image:none;
4169
3826
  }
3827
+ @media (hover) and (pointer: fine){
3828
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
3829
+ padding-block:0;
3830
+ -webkit-appearance:base-select;
3831
+ -moz-appearance:base-select;
3832
+ appearance:base-select;
3833
+ }
3834
+ }
3835
+ :is(.tds-select select:has( > button))::picker-icon{
3836
+ flex-shrink:0;
3837
+ width:var(--tds-select-caret-size);
3838
+ height:var(--tds-select-caret-size);
3839
+ margin-inline-end:var(--tds-select-caret-inline-offset);
3840
+ content:var(--tds-select-background-image);
3841
+ transition:var(--tds-select-caret-transition);
3842
+ }
4170
3843
 
4171
- .tds-date-picker-calendar-nav[data-disabled]{
4172
- color:var(--t-text-color-disabled);
4173
- cursor:not-allowed;
4174
- }
3844
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
3845
+ opacity:var(--tds-select-dropdown-closed-opacity);
3846
+ translate:var(--tds-select-dropdown-closed-translate);
3847
+ }
4175
3848
 
4176
- .tds-date-picker-calendar-grid{
4177
- font-feature-settings:"ss01", "ss02";
4178
- border-collapse:collapse;
4179
- }
3849
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
3850
+ outline-color:var(--t-focus-ring-color);
3851
+ outline-offset:var(--t-focus-ring-offset);
3852
+ border-color:var(--tds-select-border-color-active);
3853
+ }
4180
3854
 
4181
- .tds-date-picker-calendar-grid :where(thead,tbody,tr,td,th){
4182
- padding:0;
4183
- border:0;
4184
- }
3855
+ :is(.tds-select select:has( > button)):open::picker-icon{
3856
+ opacity:1;
3857
+ transform:rotate(.5turn);
3858
+ }
4185
3859
 
4186
- .tds-date-picker-calendar-header-cell{
4187
- padding-block-end:var(--t-spacing-1);
4188
- font-size:.875em;
4189
- font-weight:var(--t-font-weight-medium);
4190
- color:var(--t-text-color-secondary);
4191
- text-align:center;
4192
- -webkit-user-select:none;
4193
- -moz-user-select:none;
4194
- user-select:none;
4195
- }
3860
+ :is(.tds-select select:has( > button)) selectedcontent{
3861
+ overflow:hidden;
3862
+ text-overflow:ellipsis;
3863
+ line-height:calc(var(--tds-select-min-height) - 2px);
3864
+ white-space:nowrap;
3865
+ }
4196
3866
 
4197
- .tds-date-picker-calendar-cell-button{
4198
- position:relative;
4199
- display:flex;
4200
- align-items:center;
4201
- justify-content:center;
4202
- inline-size:2.25em;
4203
- block-size:2.25em;
4204
- color:var(--t-text-color);
4205
- cursor:pointer;
4206
- -webkit-user-select:none;
4207
- -moz-user-select:none;
4208
- user-select:none;
4209
- outline:0;
4210
- }
3867
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
3868
+ color:var(--tds-select-placeholder-color);
3869
+ }
4211
3870
 
4212
- .tds-date-picker-calendar-cell-button::before{
4213
- position:absolute;
4214
- inset:0;
4215
- z-index:-1;
4216
- content:"";
4217
- background-color:var(--_background-color);
4218
- border-radius:50%;
4219
- }
3871
+ :is(.tds-select select:has( > button))::picker(select){
3872
+ inset:auto;
3873
+ inline-size:-moz-max-content;
3874
+ inline-size:max-content;
3875
+ min-inline-size:anchor-size(width);
3876
+ max-inline-size:100vi;
3877
+ padding:var(--tds-select-dropdown-padding);
3878
+ margin-block:var(--tds-select-dropdown-margin-block);
3879
+ position-try-fallbacks:flip-block, flip-inline;
3880
+ overflow:auto;
3881
+ overflow-x:hidden;
3882
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
3883
+ overscroll-behavior:none;
3884
+ -webkit-user-select:none;
3885
+ -moz-user-select:none;
3886
+ user-select:none;
3887
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
3888
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
3889
+ background:var(--tds-select-dropdown-background-color);
3890
+ border:var(--tds-select-dropdown-border);
3891
+ border-radius:var(--tds-select-dropdown-border-radius);
3892
+ box-shadow:var(--tds-select-dropdown-box-shadow);
3893
+ opacity:var(--tds-select-dropdown-open-opacity);
3894
+ translate:var(--tds-select-dropdown-open-translate);
3895
+ transition:var(--tds-select-dropdown-transition);
3896
+ }
4220
3897
 
4221
- .tds-date-picker-calendar-cell-button[data-today]::before{
4222
- box-shadow:inset 0 0 0 1.5px var(--t-border-color);
3898
+ :is(.tds-select select:has( > button)) option::checkmark{
3899
+ display:none;
4223
3900
  }
4224
3901
 
4225
- .tds-date-picker-calendar-cell-button[data-outside-month]{
4226
- display:none;
4227
- }
3902
+ @starting-style{
3903
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
3904
+ opacity:var(--tds-select-dropdown-closed-opacity);
3905
+ translate:var(--tds-select-dropdown-closed-translate);
3906
+ }
3907
+ }
3908
+ }
4228
3909
 
4229
- .tds-date-picker-calendar-cell-button[data-hovered]{
4230
- --_background-color:var(--t-fill-color-button-neutral-outline-hover);
4231
- }
3910
+ .tds-input:has(textarea){
3911
+ --tds-input-padding-block:6px;
3912
+ --tds-input-resizer-size:var(--t-element-size-sm);
3913
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
3914
+ }
4232
3915
 
4233
- .tds-date-picker-calendar-cell-button[data-pressed]{
4234
- --_background-color:var(--t-fill-color-button-neutral-outline-active);
4235
- }
3916
+ @supports (x: attr(x type(*))){
4236
3917
 
4237
- .tds-date-picker-calendar-cell-button[data-selected]{
4238
- --_background-color:var(--t-fill-color-interaction);
4239
- font-weight:var(--t-font-weight-semibold);
4240
- color:var(--t-text-color-inverted);
4241
- border-color:transparent;
3918
+ .tds-input:has(textarea){
3919
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
3920
+ }
4242
3921
  }
4243
3922
 
4244
- .tds-date-picker-calendar-cell-button[data-unavailable]{
4245
- color:var(--t-text-color-disabled);
4246
- text-decoration:line-through;
4247
- cursor:not-allowed;
4248
- }
3923
+ .tds-input.tds-textarea--resize-vertical textarea{
3924
+ resize:vertical;
3925
+ }
4249
3926
 
4250
- .tds-date-picker-calendar-cell-button[data-disabled]{
4251
- color:var(--t-text-color-disabled);
4252
- }
3927
+ .tds-input.tds-textarea--resize-none textarea{
3928
+ resize:none;
3929
+ }
4253
3930
 
4254
- .tds-date-picker-calendar-cell-button[data-focus-visible]{
4255
- outline:var(--t-focus-ring-width) solid var(--t-focus-ring-color);
4256
- outline-offset:-2px;
4257
- }
3931
+ .tds-input.tds-textarea--resize-auto textarea{
3932
+ resize:vertical;
3933
+ }
4258
3934
 
4259
- .tds-date-picker-calendar-cell-button[data-focus-visible][data-selected]{
4260
- outline-offset:var(--t-focus-ring-offset);
4261
- }
3935
+ @supports (field-sizing: content){
3936
+ .tds-input.tds-textarea--resize-auto textarea{
3937
+ field-sizing:content;
3938
+ resize:none;
3939
+ }
3940
+ }
4262
3941
 
4263
- .tds-date-picker-popover--lg{
4264
- --tds-date-picker-popover-font-size:var(--t-font-size-lg);
3942
+ .tds-input textarea{
3943
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
3944
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
3945
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
3946
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
3947
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
3948
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
3949
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
3950
+ --tds-input-scrollbar-thumb-border-radius:999px;
3951
+ --tds-input-scrollbar-thumb-border-width:3px;
3952
+ --tds-input-scrollbar-track-margin-block:.125rem;
3953
+ scrollbar-color:initial;
3954
+ transition-timing-function:var(--t-ease-in-out);
3955
+ transition-duration:var(--t-duration-200);
3956
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
4265
3957
  }
4266
3958
 
4267
- .tds-number-stepper{
4268
- --tds-number-stepper-border-color:var(--t-form-border-color);
4269
- --tds-number-stepper-border-color-hover:var(--t-form-border-color-hover);
4270
- --tds-number-stepper-border-color-active:var(--t-form-border-color-focus);
4271
- --tds-number-stepper-background-color:var(--t-form-background-color);
4272
- --tds-number-stepper-color:var(--t-form-color);
4273
- --tds-number-stepper-font-size:var(--t-font-size-md);
4274
- --tds-number-stepper-min-height:var(--t-container-size-md);
4275
- --tds-number-stepper-padding-block:6px;
4276
- --tds-number-stepper-button-offset:4px;
4277
- --tds-number-stepper-button-gap:2px;
4278
- --tds-number-stepper-description-color:var(--t-text-color-secondary);
4279
- --tds-number-stepper-description-invalid-icon-display:none;
3959
+ @media (pointer: fine){
3960
+ :is(.tds-input textarea)::-webkit-scrollbar{
3961
+ width:12px;
3962
+ height:12px;
3963
+ cursor:default;
3964
+ }
4280
3965
 
4281
- position:relative;
4282
- display:flex;
4283
- flex-direction:column;
4284
- gap:var(--t-spacing-half);
4285
- }
3966
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
3967
+ cursor:default;
3968
+ background:var(--tds-input-scrollbar-thumb-color);
3969
+ background-clip:content-box;
3970
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
3971
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
3972
+ }
4286
3973
 
4287
- .tds-number-stepper[data-required] .tds-number-stepper-label::after{
4288
- margin-left:.25ch;
4289
- color:var(--t-text-color-status-error);
4290
- content:"*";
4291
- }
3974
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
3975
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
3976
+ }
4292
3977
 
4293
- .tds-number-stepper[data-invalid]{
4294
- --tds-number-stepper-border-color:var(--t-form-border-color-error);
4295
- --tds-number-stepper-border-color-hover:var(--t-form-border-color-error-hover);
4296
- --tds-number-stepper-border-color-active:var(--t-form-border-color-error-hover);
4297
- --tds-number-stepper-background-color:var(--t-form-background-color-error);
4298
- --tds-number-stepper-description-color:var(--t-text-color-status-error);
4299
- --tds-number-stepper-description-invalid-icon-display:inline-block;
4300
- }
3978
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
3979
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
3980
+ }
4301
3981
 
4302
- .tds-number-stepper[data-disabled]{
4303
- --tds-number-stepper-border-color:var(--t-form-border-color-disabled);
4304
- --tds-number-stepper-background-color:var(--t-form-background-color-disabled);
4305
- --tds-number-stepper-color:var(--t-form-color-disabled);
4306
- }
3982
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
3983
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
3984
+ }
4307
3985
 
4308
- .tds-number-stepper[data-disabled] .tds-number-stepper-field{
4309
- cursor:not-allowed;
3986
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
3987
+ background:var(--tds-input-scrollbar-surface-color);
4310
3988
  }
4311
3989
 
4312
- .tds-number-stepper--lg{
4313
- --tds-number-stepper-min-height:var(--t-container-size-lg);
4314
- --tds-number-stepper-font-size:var(--t-font-size-lg);
4315
- --tds-number-stepper-button-offset:5px;
4316
- --tds-number-stepper-button-gap:4px;
4317
- }
3990
+ :is(.tds-input textarea)::-webkit-resizer{
3991
+ background:var(--tds-input-resizer-icon) no-repeat;
3992
+ background-position:right bottom;
3993
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
3994
+ }
4318
3995
 
4319
- .tds-number-stepper-label{
4320
- font-size:var(--t-font-size-md);
4321
- font-weight:var(--t-font-weight-normal);
4322
- color:var(--t-text-color);
4323
- cursor:default;
4324
- }
3996
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
3997
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
3998
+ cursor:default;
3999
+ }
4325
4000
 
4326
- .tds-number-stepper-field{
4327
- display:flex;
4328
- gap:var(--tds-number-stepper-button-gap);
4329
- align-items:center;
4330
- inline-size:100%;
4331
- min-block-size:var(--tds-number-stepper-min-height);
4332
- font-family:inherit;
4333
- font-size:var(--tds-number-stepper-font-size);
4334
- line-height:1;
4335
- color:var(--tds-number-stepper-color);
4336
- -webkit-appearance:none;
4337
- -moz-appearance:none;
4338
- appearance:none;
4339
- cursor:default;
4340
- outline:var(--t-focus-ring-width) solid transparent;
4341
- outline-offset:0;
4342
- background-color:var(--tds-number-stepper-background-color);
4343
- border:var(--t-form-border-width) solid var(--tds-number-stepper-border-color);
4344
- border-radius:var(--t-form-border-radius);
4345
- }
4001
+ @supports (-moz-appearance: none){
4002
+ :is(.tds-input textarea){
4003
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
4004
+ scrollbar-width:thin;
4005
+ }
4346
4006
 
4347
- .tds-number-stepper-field[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
4348
- border-color:var(--tds-number-stepper-border-color-hover);
4007
+ @media (hover){
4008
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
4009
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
4010
+ }
4011
+ }
4012
+ }
4349
4013
  }
4350
4014
 
4351
- .tds-number-stepper-field[data-focus-within]{
4352
- outline-color:var(--t-focus-ring-color);
4353
- outline-offset:var(--t-focus-ring-offset);
4354
- border-color:var(--tds-number-stepper-border-color-active);
4355
- }
4015
+ .tds-time-field-input{
4016
+ --tds-field-date-segment-padding-inline:1px;
4017
+ padding-block:var(--tds-field-padding-block);
4018
+ padding-inline:var(--tds-field-padding-inline);
4019
+ font-variant-numeric:tabular-nums;
4020
+ }
4021
+
4022
+ .tds-toggle-switch{
4023
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
4024
+ --tds-toggle-switch-column-gap:var(--t-spacing-1);
4025
+ --tds-toggle-switch-cursor:pointer;
4026
+ --tds-toggle-switch-display:inline-grid;
4027
+ --tds-toggle-switch-line-height:1.4;
4028
+
4029
+ --tds-toggle-switch-label-color:var(--t-form-color);
4356
4030
 
4357
- .tds-number-stepper-field:has([readonly]){
4358
- --tds-number-stepper-border-color:var(--t-form-border-color-readonly);
4359
- --tds-number-stepper-border-color-hover:var(--t-form-border-color-readonly);
4360
- --tds-number-stepper-background-color:var(--t-form-background-color-readonly);
4361
- }
4031
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
4032
+ --tds-toggle-switch-track-outline:none;
4033
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
4034
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
4035
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
4362
4036
 
4363
- .tds-number-stepper-field[data-focus-within]:has([readonly]){
4364
- border-color:var(--t-form-border-color-hover);
4365
- }
4037
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
4038
+ --tds-toggle-switch-thumb-transform:translateX(0);
4039
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
4366
4040
 
4367
- .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
4368
- display:none;
4369
- }
4041
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
4042
+ --tds-toggle-switch-description-line-height:1.35;
4043
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
4044
+ position:relative;
4370
4045
 
4371
- .tds-number-stepper-input{
4372
- display:flex;
4373
- flex:1;
4374
- align-items:center;
4375
- min-inline-size:0;
4376
- padding-block:var(--tds-number-stepper-padding-block);
4377
- padding-inline:var(--t-spacing-1);
4378
- font-family:inherit;
4379
- font-size:inherit;
4380
- color:inherit;
4381
- outline:0;
4382
- background:transparent;
4383
- border:0;
4046
+ display:var(--tds-toggle-switch-display);
4047
+ grid-template-columns:auto;
4048
+ grid-auto-columns:1fr;
4049
+ gap:var(--t-spacing-fourth) var(--tds-toggle-switch-column-gap);
4050
+ -webkit-user-select:none;
4051
+ -moz-user-select:none;
4052
+ user-select:none;
4384
4053
  }
4385
4054
 
4386
- .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
4055
+ .tds-toggle-switch input[type="checkbox"]{
4056
+ position:absolute;
4057
+ width:var(--tds-toggle-switch-track-width);
4058
+ height:var(--tds-toggle-switch-track-height);
4387
4059
  margin:0;
4388
4060
  -webkit-appearance:none;
4061
+ -moz-appearance:none;
4389
4062
  appearance:none;
4063
+ cursor:var(--tds-toggle-switch-cursor);
4064
+ outline:var(--tds-toggle-switch-track-outline);
4065
+ outline-offset:var(--t-focus-ring-offset);
4066
+ background-color:transparent;
4067
+ border:0;
4068
+ border-radius:var(--t-border-radius-round);
4390
4069
  }
4391
4070
 
4392
- .tds-number-stepper-button{
4393
- flex-shrink:0;
4394
- align-self:center;
4395
- inline-size:calc(var(--tds-number-stepper-min-height) - (var(--tds-number-stepper-button-offset) * 2));
4396
- block-size:calc(var(--tds-number-stepper-min-height) - (var(--tds-number-stepper-button-offset) * 2));
4397
- padding:0;
4398
- }
4071
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
4072
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
4073
+ }
4399
4074
 
4400
- .tds-number-stepper-button:last-of-type{
4401
- margin-inline-end:var(--tds-number-stepper-button-offset);
4075
+ .tds-toggle-switch label{
4076
+ display:inline-flex;
4077
+ grid-area:1 / 2;
4078
+ -moz-column-gap:var(--tds-toggle-switch-column-gap);
4079
+ column-gap:var(--tds-toggle-switch-column-gap);
4080
+ margin-top:-.09375em;
4081
+ font-size:var(--tds-toggle-switch-font-size);
4082
+ font-weight:var(--t-font-weight-normal);
4083
+ line-height:var(--tds-toggle-switch-line-height);
4084
+ color:var(--tds-toggle-switch-label-color);
4085
+ cursor:var(--tds-toggle-switch-cursor);
4402
4086
  }
4403
4087
 
4404
- .tds-number-stepper-description{
4405
- display:flex;
4406
- gap:var(--t-spacing-half);
4407
- align-items:flex-start;
4408
- margin:0;
4409
- font-size:var(--t-font-size-sm);
4410
- line-height:1.35;
4411
- color:var(--tds-number-stepper-description-color, var(--t-text-color-secondary));
4412
- cursor:text;
4413
- }
4088
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
4089
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
4090
+ }
4414
4091
 
4415
- .tds-number-stepper-description .tds-number-stepper-description-invalid-icon{
4416
- display:var(--tds-number-stepper-description-invalid-icon-display, none);
4417
- flex-shrink:0;
4418
- margin-block-start:calc(.5lh - .5em);
4419
- line-height:1.35;
4092
+ .tds-toggle-switch:has(input:checked){
4093
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
4094
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
4420
4095
  }
4421
4096
 
4097
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
4098
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
4099
+ }
4422
4100
 
4423
- .tds-time-field{
4424
- --tds-time-field-border-color:var(--t-form-border-color);
4425
- --tds-time-field-border-color-hover:var(--t-form-border-color-hover);
4426
- --tds-time-field-border-color-active:var(--t-form-border-color-focus);
4427
- --tds-time-field-background-color:var(--t-form-background-color);
4428
- --tds-time-field-color:var(--t-form-color);
4429
- --tds-time-field-placeholder-color:var(--t-form-placeholder-color);
4430
- --tds-time-field-font-size:var(--t-font-size-md);
4431
- --tds-time-field-min-height:var(--t-container-size-md);
4432
- --tds-time-field-padding-block:6px;
4433
- --tds-time-field-description-color:var(--t-text-color-secondary);
4434
- --tds-time-field-description-invalid-icon-display:none;
4101
+ .tds-toggle-switch:has(input:disabled){
4102
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
4103
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
4104
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
4105
+ --tds-toggle-switch-cursor:not-allowed;
4106
+ }
4435
4107
 
4108
+ .tds-toggle-switch-track{
4436
4109
  position:relative;
4437
- display:flex;
4438
- flex-direction:column;
4439
- gap:var(--t-spacing-half);
4110
+ flex-shrink:0;
4111
+ width:var(--tds-toggle-switch-track-width);
4112
+ height:var(--tds-toggle-switch-track-height);
4113
+ background-color:var(--tds-toggle-switch-track-background-color);
4114
+ border-radius:var(--t-border-radius-round);
4115
+ transition:var(--tds-toggle-switch-track-transition);
4440
4116
  }
4441
4117
 
4442
- .tds-time-field[data-required] .tds-time-field-label::after{
4443
- margin-left:.25ch;
4444
- color:var(--t-text-color-status-error);
4445
- content:"*";
4118
+ .tds-toggle-switch-track::before{
4119
+ position:absolute;
4120
+ top:var(--t-spacing-fourth);
4121
+ left:var(--t-spacing-fourth);
4122
+ width:var(--tds-toggle-switch-thumb-size);
4123
+ height:var(--tds-toggle-switch-thumb-size);
4124
+ content:"";
4125
+ background-color:#fff;
4126
+ border-radius:var(--t-border-radius-round);
4127
+ transform:var(--tds-toggle-switch-thumb-transform);
4128
+ transition:var(--tds-toggle-switch-thumb-transition);
4446
4129
  }
4447
4130
 
4448
- .tds-time-field[data-invalid]{
4449
- --tds-time-field-border-color:var(--t-form-border-color-error);
4450
- --tds-time-field-border-color-hover:var(--t-form-border-color-error-hover);
4451
- --tds-time-field-border-color-active:var(--t-form-border-color-error-hover);
4452
- --tds-time-field-background-color:var(--t-form-background-color-error);
4453
- --tds-time-field-description-color:var(--t-text-color-status-error);
4454
- --tds-time-field-description-invalid-icon-display:inline-block;
4455
- }
4131
+ @media (prefers-reduced-motion: reduce){
4456
4132
 
4457
- .tds-time-field[data-disabled]{
4458
- --tds-time-field-border-color:var(--t-form-border-color-disabled);
4459
- --tds-time-field-background-color:var(--t-form-background-color-disabled);
4460
- --tds-time-field-color:var(--t-form-color-disabled);
4461
- --tds-time-field-placeholder-color:var(--t-form-color-disabled);
4133
+ .tds-toggle-switch-track{
4134
+ --tds-toggle-switch-track-transition:none;
4135
+ --tds-toggle-switch-thumb-transition:none;
4136
+ }
4462
4137
  }
4463
4138
 
4464
- .tds-time-field[data-disabled] .tds-time-field-input{
4465
- cursor:not-allowed;
4466
- }
4139
+ .tds-toggle-switch-description{
4140
+ display:flex;
4141
+ grid-area:2 / 2;
4142
+ align-items:flex-start;
4143
+ margin:0;
4144
+ font-size:var(--tds-toggle-switch-description-font-size);
4145
+ line-height:var(--tds-toggle-switch-description-line-height);
4146
+ color:var(--tds-toggle-switch-description-color);
4147
+ cursor:text;
4148
+ }
4467
4149
 
4468
- .tds-time-field--lg{
4469
- --tds-time-field-min-height:var(--t-container-size-lg);
4470
- --tds-time-field-font-size:var(--t-font-size-lg);
4150
+ .tds-toggle-switch--sm{
4151
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
4152
+ --tds-toggle-switch-line-height:1.35;
4153
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
4154
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
4155
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
4156
+ --tds-toggle-switch-description-line-height:1.3;
4471
4157
  }
4472
4158
 
4473
- .tds-time-field-label{
4474
- font-size:var(--t-font-size-md);
4475
- font-weight:var(--t-font-weight-normal);
4476
- color:var(--t-text-color);
4477
- cursor:default;
4159
+ .tds-toggle-switch--hide-label{
4160
+ --tds-toggle-switch-display:inline-flex;
4478
4161
  }
4479
4162
 
4480
- .tds-time-field-input{
4163
+ .t-banner{
4164
+ --t-banner-font-size:var(--t-font-size-md);
4165
+ --t-banner-font-color:var(--t-text-color);
4166
+ --t-banner-background-color:var(--t-fill-color-status-neutral-ghost);
4167
+ --t-banner-spacing:var(--t-spacing-2);
4168
+ --t-banner-border-radius:var(--t-border-radius-md);
4169
+ --t-banner-title-font-color:var(--t-text-color-headline);
4170
+ --t-banner-title-font-size:var(--t-font-size-md);
4171
+ --t-banner-title-font-weight:var(--t-font-weight-semibold);
4172
+ --t-banner-icon-fill-color:hsla(0, 0%, 0%, 0);
4173
+ --t-banner-background-color-info:var(--t-fill-color-status-info-ghost);
4174
+ --t-banner-icon-fill-color-info:var(--t-icon-color-status-info);
4175
+ --t-banner-background-color-warning:var(--t-fill-color-status-warning-ghost);
4176
+ --t-banner-icon-fill-color-warning:var(--t-icon-color-status-warning);
4177
+ --t-banner-background-color-error:var(--t-fill-color-status-error-ghost);
4178
+ --t-banner-icon-fill-color-error:var(--t-icon-color-status-error);
4179
+ --t-banner-background-color-success:var(--t-fill-color-status-success-ghost);
4180
+ --t-banner-icon-fill-color-success:var(--t-icon-color-status-success);
4181
+ --t-banner-link-font-color-hover:var(--t-text-color-headline);
4481
4182
  display:flex;
4482
- align-items:center;
4483
- inline-size:100%;
4484
- min-block-size:var(--tds-time-field-min-height);
4485
- padding-block:var(--tds-time-field-padding-block);
4486
- padding-inline:var(--t-spacing-1);
4487
- font-family:inherit;
4488
- font-size:var(--tds-time-field-font-size);
4489
- font-variant-numeric:tabular-nums;
4490
- line-height:1;
4491
- color:var(--tds-time-field-color);
4492
- cursor:text;
4493
- outline:var(--t-focus-ring-width) solid transparent;
4494
- outline-offset:0;
4495
- background-color:var(--tds-time-field-background-color);
4496
- border:var(--t-form-border-width) solid var(--tds-time-field-border-color);
4497
- border-radius:var(--t-form-border-radius);
4183
+ gap:var(--t-banner-spacing);
4184
+ padding:var(--t-banner-spacing);
4185
+ font-size:var(--t-banner-font-size);
4186
+ line-height:1.4;
4187
+ color:var(--t-banner-font-color);
4188
+ background-color:var(--t-banner-background-color);
4189
+ border-radius:var(--t-banner-border-radius);
4498
4190
  }
4499
4191
 
4500
- .tds-time-field-input[data-hovered]:not([data-focus-visible],[data-focused],[data-disabled]){
4501
- border-color:var(--tds-time-field-border-color-hover);
4502
- }
4503
-
4504
- .tds-time-field-input[data-focus-within]{
4505
- outline-color:var(--t-focus-ring-color);
4506
- outline-offset:var(--t-focus-ring-offset);
4507
- border-color:var(--tds-time-field-border-color-active);
4508
- }
4509
-
4510
- .tds-time-field-input[data-readonly]{
4511
- color:var(--t-form-color-readonly);
4512
- background-color:var(--t-form-background-color-readonly);
4513
- border-color:var(--t-form-border-color-readonly);
4514
- }
4192
+ .t-banner-title{
4193
+ display:block;
4194
+ margin-bottom:var(--t-spacing-half);
4195
+ font-size:var(--t-banner-title-font-size);
4196
+ font-weight:var(--t-banner-title-font-weight);
4197
+ color:var(--t-banner-title-font-color);
4198
+ }
4515
4199
 
4516
- .tds-time-field-input[data-readonly][data-hovered]{
4517
- border-color:var(--t-form-border-color-readonly);
4518
- }
4200
+ .t-banner-icon{
4201
+ margin-top:1px;
4202
+ }
4519
4203
 
4520
- .tds-time-field-input[data-readonly][data-focus-within]{
4521
- outline-color:var(--t-focus-ring-color);
4522
- outline-offset:var(--t-focus-ring-offset);
4523
- border-color:var(--t-form-border-color-hover);
4524
- }
4204
+ .t-banner-icon svg{
4205
+ fill:var(--t-banner-icon-fill-color);
4206
+ }
4525
4207
 
4526
- .tds-time-field-segment{
4527
- padding-inline:1px;
4528
- font-variant-numeric:tabular-nums;
4529
- cursor:text;
4530
- caret-color:transparent;
4531
- border-radius:var(--t-border-radius-sm);
4208
+ .t-banner-body a{
4209
+ color:inherit;
4210
+ text-decoration:underline;
4211
+ text-underline-offset:2px;
4212
+ transition:color .1s linear;
4532
4213
  }
4533
4214
 
4534
- .tds-time-field-segment[data-placeholder]{
4535
- color:var(--tds-time-field-placeholder-color);
4536
- }
4215
+ .t-banner--status-info{
4216
+ --t-banner-background-color:var(--t-banner-background-color-info);
4217
+ --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-info);
4218
+ }
4537
4219
 
4538
- .tds-time-field-segment[data-focused]{
4539
- color:var(--t-text-color-inverted);
4540
- outline:0;
4541
- background:var(--t-fill-color-interaction);
4542
- }
4220
+ .t-banner--status-warning{
4221
+ --t-banner-background-color:var(--t-banner-background-color-warning);
4222
+ --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-warning);
4223
+ }
4543
4224
 
4544
- .tds-time-field-segment-separator{
4545
- padding-inline:0;
4546
- color:var(--tds-time-field-placeholder-color);
4225
+ .t-banner--status-error{
4226
+ --t-banner-background-color:var(--t-banner-background-color-error);
4227
+ --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-error);
4547
4228
  }
4548
4229
 
4549
- .tds-time-field-description{
4550
- display:flex;
4551
- gap:var(--t-spacing-half);
4552
- align-items:flex-start;
4553
- margin:0;
4554
- font-size:var(--t-font-size-sm);
4555
- line-height:1.35;
4556
- color:var(--tds-time-field-description-color, var(--t-text-color-secondary));
4557
- cursor:text;
4230
+ .t-banner--status-success{
4231
+ --t-banner-background-color:var(--t-banner-background-color-success);
4232
+ --t-banner-icon-fill-color:var(--t-banner-icon-fill-color-success);
4558
4233
  }
4559
4234
 
4560
- .tds-time-field-description .tds-time-field-description-invalid-icon{
4561
- display:var(--tds-time-field-description-invalid-icon-display, none);
4562
- flex-shrink:0;
4563
- margin-block-start:calc(.5lh - .5em);
4564
- line-height:1.35;
4565
- }
4235
+ .t-banner--sm{
4236
+ --t-banner-spacing:calc(var(--t-spacing-half) + var(--t-spacing-1));
4237
+ }
4566
4238
 
4567
4239
  /*# sourceMappingURL=unstable.css.map */