@planningcenter/tapestry 3.4.1 → 3.5.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 (77) hide show
  1. package/dist/components/button/Button.d.ts +1 -0
  2. package/dist/components/button/Button.d.ts.map +1 -1
  3. package/dist/components/button/Button.js +1 -0
  4. package/dist/components/button/Button.js.map +1 -1
  5. package/dist/components/button/DropdownButton.d.ts +1 -0
  6. package/dist/components/button/DropdownButton.d.ts.map +1 -1
  7. package/dist/components/button/DropdownButton.js +1 -0
  8. package/dist/components/button/DropdownButton.js.map +1 -1
  9. package/dist/components/button/DropdownIconButton.d.ts +1 -0
  10. package/dist/components/button/DropdownIconButton.d.ts.map +1 -1
  11. package/dist/components/button/DropdownIconButton.js +1 -0
  12. package/dist/components/button/DropdownIconButton.js.map +1 -1
  13. package/dist/components/button/IconButton.d.ts +1 -0
  14. package/dist/components/button/IconButton.d.ts.map +1 -1
  15. package/dist/components/button/IconButton.js +1 -0
  16. package/dist/components/button/IconButton.js.map +1 -1
  17. package/dist/components/checkbox/Checkbox.d.ts +1 -0
  18. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  19. package/dist/components/checkbox/Checkbox.js +1 -0
  20. package/dist/components/checkbox/Checkbox.js.map +1 -1
  21. package/dist/components/date-picker/DatePicker.d.ts +1 -0
  22. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  23. package/dist/components/date-picker/DatePicker.js +1 -0
  24. package/dist/components/date-picker/DatePicker.js.map +1 -1
  25. package/dist/components/dropdown/Dropdown.d.ts +1 -0
  26. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  27. package/dist/components/dropdown/Dropdown.js +1 -0
  28. package/dist/components/dropdown/Dropdown.js.map +1 -1
  29. package/dist/components/field/Field.d.ts +43 -0
  30. package/dist/components/field/Field.d.ts.map +1 -0
  31. package/dist/components/field/Field.js +38 -0
  32. package/dist/components/field/Field.js.map +1 -0
  33. package/dist/components/field/index.d.ts +4 -0
  34. package/dist/components/field/index.d.ts.map +1 -0
  35. package/dist/components/input/Input.d.ts +1 -0
  36. package/dist/components/input/Input.d.ts.map +1 -1
  37. package/dist/components/input/Input.js +1 -0
  38. package/dist/components/input/Input.js.map +1 -1
  39. package/dist/components/link/Link.d.ts +1 -0
  40. package/dist/components/link/Link.d.ts.map +1 -1
  41. package/dist/components/link/Link.js +1 -0
  42. package/dist/components/link/Link.js.map +1 -1
  43. package/dist/components/radio/Radio.d.ts +1 -0
  44. package/dist/components/radio/Radio.d.ts.map +1 -1
  45. package/dist/components/radio/Radio.js +1 -0
  46. package/dist/components/radio/Radio.js.map +1 -1
  47. package/dist/components/select/Select.d.ts +1 -0
  48. package/dist/components/select/Select.d.ts.map +1 -1
  49. package/dist/components/select/Select.js +1 -0
  50. package/dist/components/select/Select.js.map +1 -1
  51. package/dist/components/select/SelectNative.js +1 -1
  52. package/dist/components/select/SelectNative.js.map +1 -1
  53. package/dist/components/text-area/TextArea.d.ts +1 -0
  54. package/dist/components/text-area/TextArea.d.ts.map +1 -1
  55. package/dist/components/text-area/TextArea.js +1 -0
  56. package/dist/components/text-area/TextArea.js.map +1 -1
  57. package/dist/components/time-field/TimeField.d.ts +1 -0
  58. package/dist/components/time-field/TimeField.d.ts.map +1 -1
  59. package/dist/components/time-field/TimeField.js +1 -0
  60. package/dist/components/time-field/TimeField.js.map +1 -1
  61. package/dist/components/toggle-switch/ToggleSwitch.d.ts +1 -0
  62. package/dist/components/toggle-switch/ToggleSwitch.d.ts.map +1 -1
  63. package/dist/components/toggle-switch/ToggleSwitch.js +1 -0
  64. package/dist/components/toggle-switch/ToggleSwitch.js.map +1 -1
  65. package/dist/index.css +3 -1
  66. package/dist/index.css.map +1 -1
  67. package/dist/reactRender.css +1465 -1354
  68. package/dist/reactRender.css.map +1 -1
  69. package/dist/reactRenderLegacy.css +1465 -1354
  70. package/dist/reactRenderLegacy.css.map +1 -1
  71. package/dist/unstable.css +112 -1
  72. package/dist/unstable.css.map +1 -1
  73. package/dist/unstable.d.ts +1 -0
  74. package/dist/unstable.d.ts.map +1 -1
  75. package/dist/unstable.js +1 -0
  76. package/dist/unstable.js.map +1 -1
  77. package/package.json +7 -6
@@ -276,188 +276,6 @@
276
276
  }
277
277
  }
278
278
 
279
- .tds-combo-box{
280
- --tds-combo-box-button-offset:4px;
281
- }
282
-
283
- .tds-combo-box[data-open] .tds-combo-box-button > svg{
284
- transform:rotate(.5turn);
285
- }
286
-
287
- .tds-combo-box--lg{
288
- --tds-combo-box-button-offset:5px;
289
- }
290
-
291
- .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
292
- display:none;
293
- }
294
-
295
- .tds-combo-box-input{
296
- display:flex;
297
- flex:1;
298
- align-items:center;
299
- padding-block:var(--tds-field-padding-block);
300
- padding-inline:var(--tds-field-padding-inline);
301
- font-family:inherit;
302
- font-size:inherit;
303
- color:inherit;
304
- outline:0;
305
- background:transparent;
306
- border:0;
307
- }
308
-
309
- .tds-combo-box-input:has( + .tds-combo-box-button){
310
- padding-inline-end:0;
311
- }
312
-
313
- .tds-combo-box-input::-moz-placeholder{
314
- color:var(--tds-field-placeholder-color);
315
- -moz-user-select:none;
316
- user-select:none;
317
- }
318
-
319
- .tds-combo-box-input::placeholder{
320
- color:var(--tds-field-placeholder-color);
321
- -webkit-user-select:none;
322
- -moz-user-select:none;
323
- user-select:none;
324
- }
325
-
326
- .tds-combo-box-button{
327
- flex-shrink:0;
328
- align-self:center;
329
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
330
- block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
331
- padding:0;
332
- margin-inline-end:var(--tds-combo-box-button-offset);
333
- }
334
-
335
- .tds-combo-box-button > svg{
336
- inline-size:var(--tds-field-font-size);
337
- block-size:var(--tds-field-font-size);
338
- transition:transform var(--t-duration-300) var(--t-ease-in-out);
339
- }
340
-
341
- .tds-combo-box-popover{
342
- width:var(--trigger-width);
343
- max-block-size:inherit;
344
- padding:var(--t-spacing-1);
345
- overflow:auto;
346
- scroll-behavior:smooth;
347
- overscroll-behavior:none;
348
- -webkit-user-select:none;
349
- -moz-user-select:none;
350
- user-select:none;
351
- outline:0;
352
- scrollbar-color:#0004 var(--t-surface-color-card);
353
- scrollbar-width:thin;
354
- background:var(--t-surface-color-card);
355
- background-clip:padding-box;
356
- border:1px solid var(--t-border-color);
357
- border-radius:var(--t-border-radius);
358
- box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
359
- }
360
-
361
- .tds-combo-box-popover[data-entering]{
362
- animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
363
- }
364
-
365
- .tds-combo-box-popover[data-exiting]{
366
- animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
367
- }
368
-
369
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
370
- will-change:opacity, transform;
371
- }
372
-
373
- @keyframes tds-combo-box-popover{
374
- from{
375
- opacity:0;
376
- transform:translateY(-8px);
377
- }
378
- }
379
-
380
- @media (prefers-reduced-motion: reduce){
381
- .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
382
- animation:none;
383
- }
384
-
385
- .tds-combo-box-button > svg{
386
- transition:none;
387
- }
388
- }
389
-
390
- .tds-combo-box-list{
391
- padding:0;
392
- margin:0;
393
- }
394
-
395
- .tds-combo-box-list-item{
396
- display:block;
397
- padding-block:var(--t-spacing-1);
398
- padding-inline:var(--t-spacing-2) var(--t-spacing-1);
399
- overflow:hidden;
400
- text-overflow:ellipsis;
401
- font-size:1rem;
402
- color:var(--t-text-color);
403
- white-space:nowrap;
404
- cursor:default;
405
- border-radius:var(--t-border-radius);
406
- }
407
-
408
- .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
409
- background:var(--t-fill-color-neutral-070);
410
- }
411
-
412
- .tds-combo-box-list-item[data-selected]{
413
- background:var(--t-fill-color-button-interaction-ghost-active);
414
- }
415
-
416
- .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
417
- background:var(--t-fill-color-neutral-060);
418
- }
419
-
420
- .tds-combo-box-list-item[data-disabled]{
421
- color:var(--t-form-color-disabled);
422
- cursor:not-allowed;
423
- }
424
-
425
- .tds-combo-box-list-item[data-disabled][data-hovered]{
426
- background:transparent;
427
- }
428
-
429
- .tds-combo-box-empty-state{
430
- position:relative;
431
- min-block-size:var(--t-spacing-3);
432
- padding-block:var(--t-spacing-1);
433
- padding-inline:var(--t-spacing-2);
434
- font-size:var(--t-font-size-md);
435
- color:var(--t-text-color-secondary);
436
- }
437
-
438
- .tds-combo-box-load-more{
439
- position:relative;
440
- min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
441
- }
442
-
443
- .tds-combo-box-empty-state,
444
- .tds-combo-box-load-more{
445
- --tds-loading-spinner-visibility:visible;
446
- --tds-loading-spinner-animation-play-state:running;
447
- }
448
-
449
- .tds-combo-box-list-section:not(:first-child){
450
- margin-block-start:var(--t-spacing-half);
451
- }
452
-
453
- .tds-combo-box-section-header{
454
- padding-block:var(--t-spacing-1);
455
- padding-inline:var(--t-spacing-1);
456
- font-size:var(--t-font-size-sm);
457
- font-weight:var(--t-font-weight-semibold);
458
- color:var(--t-text-color-secondary);
459
- }
460
-
461
279
  .tds-checkbox{
462
280
  --tds-checkbox-font-size:var(--t-font-size-md);
463
281
  --tds-checkbox-cursor:pointer;
@@ -653,68 +471,226 @@
653
471
  --tds-checkbox-description-line-height:1.3;
654
472
  }
655
473
 
474
+ .tds-combo-box{
475
+ --tds-combo-box-button-offset:4px;
476
+ }
656
477
 
657
- :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{
658
- -webkit-appearance:none;
659
- appearance:none;
660
- }
661
-
662
- [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
663
- inline-size:1em;
664
- block-size:2em;
665
- }
666
-
667
- @supports (field-sizing: content){
668
- .tds-input--auto-width{
669
- inline-size:-moz-fit-content;
670
- inline-size:fit-content;
671
- min-inline-size:min(100%, 122px);
478
+ .tds-combo-box[data-open] .tds-combo-box-button > svg{
479
+ transform:rotate(.5turn);
672
480
  }
673
481
 
674
- .tds-input--auto-width input{
675
- field-sizing:content;
676
- inline-size:auto;
677
- }
482
+ .tds-combo-box--lg{
483
+ --tds-combo-box-button-offset:5px;
678
484
  }
679
485
 
680
- .tds-checkbox-group{
681
- --tds-checkbox-group-font-size:var(--t-font-size-md);
682
- --tds-checkbox-group-line-height:1.4;
683
- --tds-checkbox-group-gap:var(--t-spacing-1);
486
+ .tds-combo-box-field:has([readonly]) .tds-combo-box-button{
487
+ display:none;
488
+ }
684
489
 
685
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
686
- --tds-checkbox-group-description-line-height:1.35;
687
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
688
- --tds-checkbox-group-description-invalid-icon-display:none;
490
+ .tds-combo-box-input{
689
491
  display:flex;
690
- flex-direction:column;
691
- gap:0;
692
- padding:0;
693
- margin:0;
694
-
695
- font-size:var(--tds-checkbox-group-font-size);
696
- line-height:var(--tds-checkbox-group-line-height);
492
+ flex:1;
493
+ align-items:center;
494
+ padding-block:var(--tds-field-padding-block);
495
+ padding-inline:var(--tds-field-padding-inline);
496
+ font-family:inherit;
497
+ font-size:inherit;
498
+ color:inherit;
499
+ outline:0;
500
+ background:transparent;
697
501
  border:0;
698
502
  }
699
503
 
700
- .tds-checkbox-group legend{
701
- float:left;
702
- padding:0;
703
- margin:0;
504
+ .tds-combo-box-input:has( + .tds-combo-box-button){
505
+ padding-inline-end:0;
704
506
  }
705
507
 
706
- .tds-checkbox-group[aria-invalid="true"]{
707
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
708
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
508
+ .tds-combo-box-input::-moz-placeholder{
509
+ color:var(--tds-field-placeholder-color);
510
+ -moz-user-select:none;
511
+ user-select:none;
709
512
  }
710
513
 
711
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
712
- margin-left:.25ch;
713
- color:var(--t-text-color-status-error);
714
- content:"*";
715
- }
716
-
717
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
514
+ .tds-combo-box-input::placeholder{
515
+ color:var(--tds-field-placeholder-color);
516
+ -webkit-user-select:none;
517
+ -moz-user-select:none;
518
+ user-select:none;
519
+ }
520
+
521
+ .tds-combo-box-button{
522
+ flex-shrink:0;
523
+ align-self:center;
524
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
525
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-combo-box-button-offset) * 2));
526
+ padding:0;
527
+ margin-inline-end:var(--tds-combo-box-button-offset);
528
+ }
529
+
530
+ .tds-combo-box-button > svg{
531
+ inline-size:var(--tds-field-font-size);
532
+ block-size:var(--tds-field-font-size);
533
+ transition:transform var(--t-duration-300) var(--t-ease-in-out);
534
+ }
535
+
536
+ .tds-combo-box-popover{
537
+ width:var(--trigger-width);
538
+ max-block-size:inherit;
539
+ padding:var(--t-spacing-1);
540
+ overflow:auto;
541
+ scroll-behavior:smooth;
542
+ overscroll-behavior:none;
543
+ -webkit-user-select:none;
544
+ -moz-user-select:none;
545
+ user-select:none;
546
+ outline:0;
547
+ scrollbar-color:#0004 var(--t-surface-color-card);
548
+ scrollbar-width:thin;
549
+ background:var(--t-surface-color-card);
550
+ background-clip:padding-box;
551
+ border:1px solid var(--t-border-color);
552
+ border-radius:var(--t-border-radius);
553
+ box-shadow:0 10px 15px -3px hsl(0 0% 0% / .05), 0 4px 6px -4px hsl(0 0% 0% / .05);
554
+ }
555
+
556
+ .tds-combo-box-popover[data-entering]{
557
+ animation:tds-combo-box-popover var(--t-duration-300) var(--t-ease-out);
558
+ }
559
+
560
+ .tds-combo-box-popover[data-exiting]{
561
+ animation:tds-combo-box-popover var(--t-duration-200) var(--t-ease-in) reverse;
562
+ }
563
+
564
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
565
+ will-change:opacity, transform;
566
+ }
567
+
568
+ @keyframes tds-combo-box-popover{
569
+ from{
570
+ opacity:0;
571
+ transform:translateY(-8px);
572
+ }
573
+ }
574
+
575
+ @media (prefers-reduced-motion: reduce){
576
+ .tds-combo-box-popover[data-entering],.tds-combo-box-popover[data-exiting]{
577
+ animation:none;
578
+ }
579
+
580
+ .tds-combo-box-button > svg{
581
+ transition:none;
582
+ }
583
+ }
584
+
585
+ .tds-combo-box-list{
586
+ padding:0;
587
+ margin:0;
588
+ }
589
+
590
+ .tds-combo-box-list-item{
591
+ display:block;
592
+ padding-block:var(--t-spacing-1);
593
+ padding-inline:var(--t-spacing-2) var(--t-spacing-1);
594
+ overflow:hidden;
595
+ text-overflow:ellipsis;
596
+ font-size:1rem;
597
+ color:var(--t-text-color);
598
+ white-space:nowrap;
599
+ cursor:default;
600
+ border-radius:var(--t-border-radius);
601
+ }
602
+
603
+ .tds-combo-box-list-item[data-hovered]:not([data-disabled]),.tds-combo-box-list-item[data-focus-visible]{
604
+ background:var(--t-fill-color-neutral-070);
605
+ }
606
+
607
+ .tds-combo-box-list-item[data-selected]{
608
+ background:var(--t-fill-color-button-interaction-ghost-active);
609
+ }
610
+
611
+ .tds-combo-box-list-item[data-pressed]:not([data-disabled]){
612
+ background:var(--t-fill-color-neutral-060);
613
+ }
614
+
615
+ .tds-combo-box-list-item[data-disabled]{
616
+ color:var(--t-form-color-disabled);
617
+ cursor:not-allowed;
618
+ }
619
+
620
+ .tds-combo-box-list-item[data-disabled][data-hovered]{
621
+ background:transparent;
622
+ }
623
+
624
+ .tds-combo-box-empty-state{
625
+ position:relative;
626
+ min-block-size:var(--t-spacing-3);
627
+ padding-block:var(--t-spacing-1);
628
+ padding-inline:var(--t-spacing-2);
629
+ font-size:var(--t-font-size-md);
630
+ color:var(--t-text-color-secondary);
631
+ }
632
+
633
+ .tds-combo-box-load-more{
634
+ position:relative;
635
+ min-block-size:calc(var(--t-spacing-3) + var(--t-spacing-1));
636
+ }
637
+
638
+ .tds-combo-box-empty-state,
639
+ .tds-combo-box-load-more{
640
+ --tds-loading-spinner-visibility:visible;
641
+ --tds-loading-spinner-animation-play-state:running;
642
+ }
643
+
644
+ .tds-combo-box-list-section:not(:first-child){
645
+ margin-block-start:var(--t-spacing-half);
646
+ }
647
+
648
+ .tds-combo-box-section-header{
649
+ padding-block:var(--t-spacing-1);
650
+ padding-inline:var(--t-spacing-1);
651
+ font-size:var(--t-font-size-sm);
652
+ font-weight:var(--t-font-weight-semibold);
653
+ color:var(--t-text-color-secondary);
654
+ }
655
+
656
+ .tds-checkbox-group{
657
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
658
+ --tds-checkbox-group-line-height:1.4;
659
+ --tds-checkbox-group-gap:var(--t-spacing-1);
660
+
661
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
662
+ --tds-checkbox-group-description-line-height:1.35;
663
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
664
+ --tds-checkbox-group-description-invalid-icon-display:none;
665
+ display:flex;
666
+ flex-direction:column;
667
+ gap:0;
668
+ padding:0;
669
+ margin:0;
670
+
671
+ font-size:var(--tds-checkbox-group-font-size);
672
+ line-height:var(--tds-checkbox-group-line-height);
673
+ border:0;
674
+ }
675
+
676
+ .tds-checkbox-group legend{
677
+ float:left;
678
+ padding:0;
679
+ margin:0;
680
+ }
681
+
682
+ .tds-checkbox-group[aria-invalid="true"]{
683
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
684
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
685
+ }
686
+
687
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
688
+ margin-left:.25ch;
689
+ color:var(--t-text-color-status-error);
690
+ content:"*";
691
+ }
692
+
693
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
718
694
  content:none;
719
695
  }
720
696
 
@@ -751,6 +727,81 @@
751
727
  --tds-checkbox-group-description-line-height:1.3;
752
728
  }
753
729
 
730
+
731
+ :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{
732
+ -webkit-appearance:none;
733
+ appearance:none;
734
+ }
735
+
736
+ [type="number"]:is(.tds-input input)::-webkit-inner-spin-button{
737
+ inline-size:1em;
738
+ block-size:2em;
739
+ }
740
+
741
+ @supports (field-sizing: content){
742
+ .tds-input--auto-width{
743
+ inline-size:-moz-fit-content;
744
+ inline-size:fit-content;
745
+ min-inline-size:min(100%, 122px);
746
+ }
747
+
748
+ .tds-input--auto-width input{
749
+ field-sizing:content;
750
+ inline-size:auto;
751
+ }
752
+ }
753
+
754
+ .tds-number-stepper{
755
+ --tds-number-stepper-button-offset:4px;
756
+ --tds-number-stepper-button-gap:2px;
757
+ }
758
+
759
+ .tds-number-stepper--lg{
760
+ --tds-number-stepper-button-offset:5px;
761
+ --tds-number-stepper-button-gap:4px;
762
+ }
763
+
764
+ .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
765
+ display:none;
766
+ }
767
+
768
+ .tds-number-stepper-input{
769
+ display:flex;
770
+ flex:1;
771
+ align-items:center;
772
+ min-inline-size:0;
773
+ padding-block:var(--tds-field-padding-block);
774
+ padding-inline:var(--tds-field-padding-inline);
775
+ font-family:inherit;
776
+ font-size:inherit;
777
+ color:inherit;
778
+ outline:0;
779
+ background:transparent;
780
+ border:0;
781
+ }
782
+
783
+ .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
784
+ margin:0;
785
+ -webkit-appearance:none;
786
+ appearance:none;
787
+ }
788
+
789
+ .tds-number-stepper-button{
790
+ flex-shrink:0;
791
+ align-self:center;
792
+ inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
793
+ block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
794
+ padding:0;
795
+ }
796
+
797
+ .tds-number-stepper-button + .tds-number-stepper-button{
798
+ margin-inline-start:var(--tds-number-stepper-button-gap);
799
+ }
800
+
801
+ .tds-number-stepper-button:last-of-type{
802
+ margin-inline-end:var(--tds-number-stepper-button-offset);
803
+ }
804
+
754
805
  .tds-date-picker{
755
806
  --tds-date-picker-button-offset:4px;
756
807
  }
@@ -1107,204 +1158,6 @@
1107
1158
  --tds-date-picker-popover-font-size:var(--t-font-size-lg);
1108
1159
  }
1109
1160
 
1110
- .tds-number-stepper{
1111
- --tds-number-stepper-button-offset:4px;
1112
- --tds-number-stepper-button-gap:2px;
1113
- }
1114
-
1115
- .tds-number-stepper--lg{
1116
- --tds-number-stepper-button-offset:5px;
1117
- --tds-number-stepper-button-gap:4px;
1118
- }
1119
-
1120
- .tds-number-stepper-field:has([readonly]) .tds-number-stepper-button{
1121
- display:none;
1122
- }
1123
-
1124
- .tds-number-stepper-input{
1125
- display:flex;
1126
- flex:1;
1127
- align-items:center;
1128
- min-inline-size:0;
1129
- padding-block:var(--tds-field-padding-block);
1130
- padding-inline:var(--tds-field-padding-inline);
1131
- font-family:inherit;
1132
- font-size:inherit;
1133
- color:inherit;
1134
- outline:0;
1135
- background:transparent;
1136
- border:0;
1137
- }
1138
-
1139
- .tds-number-stepper-input::-webkit-inner-spin-button,.tds-number-stepper-input::-webkit-outer-spin-button{
1140
- margin:0;
1141
- -webkit-appearance:none;
1142
- appearance:none;
1143
- }
1144
-
1145
- .tds-number-stepper-button{
1146
- flex-shrink:0;
1147
- align-self:center;
1148
- inline-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1149
- block-size:calc(var(--tds-field-min-height) - (var(--tds-number-stepper-button-offset) * 2));
1150
- padding:0;
1151
- }
1152
-
1153
- .tds-number-stepper-button + .tds-number-stepper-button{
1154
- margin-inline-start:var(--tds-number-stepper-button-gap);
1155
- }
1156
-
1157
- .tds-number-stepper-button:last-of-type{
1158
- margin-inline-end:var(--tds-number-stepper-button-offset);
1159
- }
1160
-
1161
- .tds-time-field-input{
1162
- --tds-field-date-segment-padding-inline:1px;
1163
- padding-block:var(--tds-field-padding-block);
1164
- padding-inline:var(--tds-field-padding-inline);
1165
- font-variant-numeric:tabular-nums;
1166
- }
1167
-
1168
- .tds-toggle-switch{
1169
- --tds-toggle-switch-font-size:var(--t-font-size-md);
1170
- --tds-toggle-switch-cursor:pointer;
1171
- --tds-toggle-switch-display:inline-grid;
1172
- --tds-toggle-switch-line-height:1.4;
1173
-
1174
- --tds-toggle-switch-label-color:var(--t-form-color);
1175
-
1176
- --tds-toggle-switch-track-width:var(--t-container-size-md);
1177
- --tds-toggle-switch-track-outline:none;
1178
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
1179
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1180
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1181
-
1182
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1183
- --tds-toggle-switch-thumb-transform:translateX(0);
1184
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1185
-
1186
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1187
- --tds-toggle-switch-description-line-height:1.35;
1188
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1189
- position:relative;
1190
-
1191
- display:var(--tds-toggle-switch-display);
1192
- grid-template-columns:auto;
1193
- grid-auto-columns:1fr;
1194
- gap:var(--t-spacing-fourth) 0;
1195
- -webkit-user-select:none;
1196
- -moz-user-select:none;
1197
- user-select:none;
1198
- }
1199
-
1200
- .tds-toggle-switch input[type="checkbox"]{
1201
- position:absolute;
1202
- width:var(--tds-toggle-switch-track-width);
1203
- height:var(--tds-toggle-switch-track-height);
1204
- margin:0;
1205
- -webkit-appearance:none;
1206
- -moz-appearance:none;
1207
- appearance:none;
1208
- cursor:var(--tds-toggle-switch-cursor);
1209
- outline:var(--tds-toggle-switch-track-outline);
1210
- outline-offset:var(--t-focus-ring-offset);
1211
- background-color:transparent;
1212
- border:0;
1213
- border-radius:var(--t-border-radius-round);
1214
- }
1215
-
1216
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1217
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1218
- }
1219
-
1220
- .tds-toggle-switch label{
1221
- display:inline-flex;
1222
- grid-area:1 / 2;
1223
- padding-inline-start:var(--t-spacing-1);
1224
- margin-top:-.09375em;
1225
- font-size:var(--tds-toggle-switch-font-size);
1226
- font-weight:var(--t-font-weight-normal);
1227
- line-height:var(--tds-toggle-switch-line-height);
1228
- color:var(--tds-toggle-switch-label-color);
1229
- cursor:var(--tds-toggle-switch-cursor);
1230
- }
1231
-
1232
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1233
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1234
- }
1235
-
1236
- .tds-toggle-switch:has(input:checked){
1237
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1238
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1239
- }
1240
-
1241
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1242
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1243
- }
1244
-
1245
- .tds-toggle-switch:has(input:disabled){
1246
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1247
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1248
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1249
- --tds-toggle-switch-cursor:not-allowed;
1250
- }
1251
-
1252
- .tds-toggle-switch-track{
1253
- position:relative;
1254
- flex-shrink:0;
1255
- width:var(--tds-toggle-switch-track-width);
1256
- height:var(--tds-toggle-switch-track-height);
1257
- background-color:var(--tds-toggle-switch-track-background-color);
1258
- border-radius:var(--t-border-radius-round);
1259
- transition:var(--tds-toggle-switch-track-transition);
1260
- }
1261
-
1262
- .tds-toggle-switch-track::before{
1263
- position:absolute;
1264
- top:var(--t-spacing-fourth);
1265
- left:var(--t-spacing-fourth);
1266
- width:var(--tds-toggle-switch-thumb-size);
1267
- height:var(--tds-toggle-switch-thumb-size);
1268
- content:"";
1269
- background-color:#fff;
1270
- border-radius:var(--t-border-radius-round);
1271
- transform:var(--tds-toggle-switch-thumb-transform);
1272
- transition:var(--tds-toggle-switch-thumb-transition);
1273
- }
1274
-
1275
- @media (prefers-reduced-motion: reduce){
1276
-
1277
- .tds-toggle-switch-track{
1278
- --tds-toggle-switch-track-transition:none;
1279
- --tds-toggle-switch-thumb-transition:none;
1280
- }
1281
- }
1282
-
1283
- .tds-toggle-switch-description{
1284
- display:flex;
1285
- grid-area:2 / 2;
1286
- align-items:flex-start;
1287
- padding-inline-start:var(--t-spacing-1);
1288
- margin:0;
1289
- font-size:var(--tds-toggle-switch-description-font-size);
1290
- line-height:var(--tds-toggle-switch-description-line-height);
1291
- color:var(--tds-toggle-switch-description-color);
1292
- cursor:text;
1293
- }
1294
-
1295
- .tds-toggle-switch--sm{
1296
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
1297
- --tds-toggle-switch-line-height:1.35;
1298
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
1299
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1300
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1301
- --tds-toggle-switch-description-line-height:1.3;
1302
- }
1303
-
1304
- .tds-toggle-switch--hide-label{
1305
- --tds-toggle-switch-display:inline-flex;
1306
- }
1307
-
1308
1161
  .tds-input:has(textarea){
1309
1162
  --tds-input-padding-block:6px;
1310
1163
  --tds-input-resizer-size:var(--t-element-size-sm);
@@ -1410,813 +1263,892 @@
1410
1263
  }
1411
1264
  }
1412
1265
 
1413
- .tds-select{
1414
- --tds-select-border-color:var(--t-form-border-color);
1415
- --tds-select-border-color-hover:var(--t-form-border-color-hover);
1416
- --tds-select-border-color-active:var(--t-form-border-color-hover);
1417
- --tds-select-background-color:var(--t-form-background-color);
1418
- --tds-select-color:var(--t-form-color);
1419
- --tds-select-placeholder-color:var(--t-form-placeholder-color);
1420
- --tds-select-font-size:var(--t-font-size-md);
1421
- --tds-select-min-height:var(--t-container-size-md);
1422
- --tds-select-padding-block:0;
1423
- --tds-select-description-color:var(--t-text-color-secondary);
1424
- --tds-select-description-invalid-icon-display:none;
1425
- --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
1426
- --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
1427
- --tds-select-caret-size:1em;
1428
- --tds-select-caret-inline-offset:.75em;
1429
- --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
1266
+ .tds-radio-group{
1267
+ --tds-radio-group-font-size:var(--t-font-size-md);
1268
+ --tds-radio-group-line-height:1.4;
1269
+ --tds-radio-group-gap:var(--t-spacing-1);
1430
1270
 
1431
- --tds-select-dropdown-background-color:var(--t-surface-color-card);
1432
- --tds-select-dropdown-border:1px solid var(--t-border-color);
1433
- --tds-select-dropdown-padding:var(--t-spacing-1);
1434
- --tds-select-dropdown-margin-block:5px;
1435
- --tds-select-dropdown-scrollbar-color:#0004 var(--t-surface-color-card);
1436
- --tds-select-dropdown-scrollbar-width:thin;
1437
- --tds-select-dropdown-border-radius:var(--t-border-radius);
1438
- --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1439
- --tds-select-dropdown-scroll-behavior:smooth;
1440
- --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;
1441
- --tds-select-dropdown-closed-opacity:0;
1442
- --tds-select-dropdown-open-opacity:1;
1443
- --tds-select-dropdown-closed-translate:0 -8px;
1444
- --tds-select-dropdown-open-translate:0 0;
1271
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1272
+ --tds-radio-group-description-line-height:1.35;
1273
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1274
+ --tds-radio-group-description-invalid-icon-display:none;
1275
+ display:flex;
1276
+ flex-direction:column;
1277
+ gap:0;
1278
+ padding:0;
1279
+ margin:0;
1445
1280
 
1446
- --tds-select-option-gap:var(--t-spacing-1);
1447
- --tds-select-option-padding-block:var(--t-spacing-fourth);
1448
- --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1449
- --tds-select-option-font-size:1rem;
1450
- --tds-select-option-color:var(--t-text-color);
1451
- --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
1452
- --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
1453
- --tds-select-option-border-radius:var(--t-border-radius);
1281
+ font-size:var(--tds-radio-group-font-size);
1282
+ line-height:var(--tds-radio-group-line-height);
1283
+ border:0;
1284
+ }
1454
1285
 
1455
- --tds-select-group-label-padding-block-start:var(--t-spacing-2);
1456
- --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
1457
- --tds-select-group-label-padding-inline:var(--t-spacing-1);
1458
- --tds-select-group-label-font-size:var(--t-font-size-sm);
1459
- --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
1460
- --tds-select-group-label-letter-spacing:0;
1461
- --tds-select-group-label-color:var(--t-text-color-secondary);
1462
- --tds-select-group-label-color-stuck:var(--t-text-color-headline);
1463
- --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
1464
- --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
1465
-
1466
- position:relative;
1467
- display:flex;
1468
- flex-direction:column;
1469
- gap:var(--t-spacing-half);
1470
- }
1471
-
1472
- .tds-select :is(label,.tds-select-label){
1473
- font-size:var(--t-font-size-md);
1474
- font-weight:var(--t-font-weight-normal);
1475
- color:var(--t-text-color);
1476
- cursor:default;
1286
+ .tds-radio-group legend{
1287
+ float:left;
1288
+ padding:0;
1289
+ margin:0;
1477
1290
  }
1478
1291
 
1479
- .tds-select :is(select,button){
1480
- position:relative;
1481
- place-items:center;
1482
- inline-size:100%;
1483
- min-block-size:var(--tds-select-min-height);
1484
- padding-block:var(--tds-select-padding-block);
1485
- padding-inline:var(--t-spacing-1);
1486
- padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
1487
- font-family:inherit;
1488
- font-size:var(--tds-select-font-size);
1489
- line-height:1.15;
1490
- color:var(--tds-select-color);
1491
- text-align:left;
1492
- -webkit-appearance:none;
1493
- -moz-appearance:none;
1494
- appearance:none;
1495
- cursor:var(--tds-select-cursor, default);
1496
- outline:var(--t-focus-ring-width) solid transparent;
1497
- outline-offset:0;
1498
- background-color:var(--tds-select-background-color);
1499
- background-image:var(--tds-select-background-image);
1500
- background-repeat:no-repeat;
1501
- background-position:right var(--tds-select-caret-inline-offset) top 50%;
1502
- background-size:var(--tds-select-caret-size);
1503
- border:var(--t-form-border-width) solid var(--tds-select-border-color);
1504
- border-radius:var(--t-form-border-radius);
1505
- transition-timing-function:var(--t-ease-in-out);
1506
- transition-duration:var(--t-duration-300);
1507
- transition-property:var(--tds-select-transition-property);
1292
+ .tds-radio-group[aria-invalid="true"]{
1293
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1294
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1508
1295
  }
1509
1296
 
1510
- :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
1511
- border-color:var(--tds-select-border-color-hover);
1512
- }
1513
-
1514
- :is(.tds-select :is(select,button)):focus{
1515
- outline-color:var(--t-focus-ring-color);
1516
- outline-offset:var(--t-focus-ring-offset);
1517
- border-color:var(--tds-select-border-color-active);
1297
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1298
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1518
1299
  }
1519
1300
 
1520
- :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
1521
- color:var(--tds-select-placeholder-color);
1522
- }
1301
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1302
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1303
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1304
+ }
1523
1305
 
1524
- .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
1525
- --tds-select-border-color:var(--t-form-border-color-error);
1526
- --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
1527
- --tds-select-border-color-active:var(--t-form-border-color-error-hover);
1528
- --tds-select-background-color:var(--t-form-background-color-error);
1529
- --tds-select-description-color:var(--t-text-color-status-error);
1530
- --tds-select-description-invalid-icon-display:inline-block;
1531
- }
1306
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1307
+ --tds-radio-input-background-color:var(--t-form-background-color);
1308
+ }
1532
1309
 
1533
- .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
1310
+ .tds-radio-group:has(input:required) legend::after{
1534
1311
  margin-left:.25ch;
1535
1312
  color:var(--t-text-color-status-error);
1536
1313
  content:"*";
1537
1314
  }
1538
1315
 
1539
- .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
1540
- --tds-select-border-color:var(--t-form-border-color-disabled);
1541
- --tds-select-background-color:var(--t-form-background-color-disabled);
1542
- --tds-select-color:var(--t-form-color-disabled);
1543
- --tds-select-cursor:not-allowed;
1544
- }
1545
-
1546
- .tds-select:has( > [popover]:popover-open) > button{
1547
- border-color:var(--tds-select-border-color-active);
1548
- }
1316
+ .tds-radio-group-fields{
1317
+ display:flex;
1318
+ flex-direction:column;
1319
+ gap:var(--tds-radio-group-gap);
1320
+ align-items:flex-start;
1321
+ margin-top:var(--t-spacing-1);
1322
+ }
1549
1323
 
1550
- :is(.tds-select:has( > [popover]:popover-open) > button)::after{
1551
- transform:rotate(.5turn);
1552
- }
1324
+ .tds-radio-group-description{
1325
+ display:flex;
1326
+ gap:var(--t-spacing-half);
1327
+ align-items:flex-start;
1328
+ margin:var(--t-spacing-fourth) 0 0;
1329
+ font-size:var(--tds-radio-group-description-font-size);
1330
+ line-height:var(--tds-radio-group-description-line-height);
1331
+ color:var(--tds-radio-group-description-color);
1332
+ cursor:text;
1333
+ }
1553
1334
 
1554
- .tds-select :is(hr,li[role="separator"]){
1555
- margin-block:var(--t-spacing-half);
1556
- color:var(--tds-select-border-color);
1557
- border:0;
1558
- border-top:1px solid;
1335
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1336
+ display:var(--tds-radio-group-description-invalid-icon-display);
1337
+ flex-shrink:0;
1338
+ margin-top:calc(.5lh - .5em);
1339
+ line-height:var(--tds-radio-group-description-line-height);
1559
1340
  }
1560
1341
 
1561
- .tds-select :is(li[role="option"],option:not([hidden])){
1562
- display:block;
1563
- align-content:center;
1564
- min-height:var(--t-container-size-md);
1565
- padding-block:var(--tds-select-option-padding-block);
1566
- padding-inline:var(--tds-select-option-padding-inline);
1567
- overflow:hidden;
1568
- text-overflow:ellipsis;
1569
- font-size:var(--tds-select-option-font-size);
1570
- line-height:1.15;
1571
- color:var(--tds-select-option-color);
1572
- white-space:nowrap;
1573
- cursor:default;
1574
- border-radius:var(--tds-select-option-border-radius);
1575
- }
1342
+ .tds-radio-group--sm{
1343
+ --tds-radio-group-line-height:1.35;
1344
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1345
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1346
+ --tds-radio-group-description-line-height:1.3;
1347
+ }
1576
1348
 
1577
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
1578
- outline:0;
1579
- }
1580
1349
 
1581
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
1582
- background:var(--tds-select-option-background-hover);
1583
- }
1350
+ @media (prefers-reduced-motion: no-preference){
1584
1351
 
1585
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
1586
- background:var(--tds-select-option-background-active);
1587
- }
1352
+ :root{
1353
+ interpolate-size:allow-keywords;
1354
+ }
1355
+ }
1588
1356
 
1589
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
1590
- color:var(--t-form-color-disabled);
1591
- cursor:not-allowed;
1592
- }
1357
+ @layer tds-component{
1358
+ tds-sidenav,
1359
+ .tds-sidenav{
1360
+ --tds-sidenav-indent:12px;
1361
+ --tds-sidenav-item-depth:0;
1593
1362
 
1594
- :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
1595
- background:transparent;
1596
- }
1363
+ --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
1597
1364
 
1598
- .tds-select :is(li[role="presentation"],legend){
1599
- position:sticky;
1600
- inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
1601
- z-index:1;
1602
- float:inline-start;
1603
- inline-size:100%;
1604
- padding-block:var(--tds-select-group-label-padding-block);
1605
- padding-inline:var(--tds-select-group-label-padding-inline);
1606
- container-type:scroll-state;
1607
- font-size:var(--tds-select-group-label-font-size);
1608
- font-weight:var(--tds-select-group-label-font-weight);
1609
- letter-spacing:var(--tds-select-group-label-letter-spacing);
1610
- background:var(--tds-select-group-label-background);
1611
- text-box:trim-both cap alphabetic;
1612
- }
1365
+ --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
1366
+ --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
1367
+ --tds-sidenav-collapse-closed-opacity:0;
1368
+ --tds-sidenav-collapse-open-opacity:1;
1369
+ --tds-sidenav-collapse-closed-transform:translateY(-8px);
1370
+ --tds-sidenav-collapse-open-transform:translateY(0);
1613
1371
 
1614
- :is(.tds-select :is(li[role="presentation"],legend)) span{
1615
- display:inline-flex;
1616
- gap:var(--t-spacing-half);
1617
- align-items:center;
1618
- color:var(--tds-select-group-label-color);
1619
- transition:var(--tds-select-group-label-transition);
1620
- }
1372
+ --tds-sidenav-item-icon-size:var(--t-element-size-md);
1373
+ --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
1374
+ --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
1375
+ --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
1621
1376
 
1622
- @container scroll-state(stuck){
1377
+ --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
1378
+ --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
1379
+ --tds-sidenav-item-nested-background-selected:transparent;
1623
1380
 
1624
- :is(.tds-select :is(li[role="presentation"],legend)) span{
1625
- color:var(--tds-select-group-label-color-stuck);
1626
- }
1381
+ --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
1382
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1383
+ --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
1627
1384
 
1628
- @media (forced-colors: active){
1385
+ --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
1386
+ --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
1387
+ }
1629
1388
 
1630
- :is(.tds-select :is(li[role="presentation"],legend)) span{
1631
- color:var(--tds-select-group-label-color-stuck);
1389
+ @media (prefers-reduced-motion: reduce){
1390
+ tds-sidenav,
1391
+ .tds-sidenav{
1392
+ --tds-sidenav-collapse-transition-enter:none;
1393
+ --tds-sidenav-collapse-transition-exit:none;
1394
+ --tds-sidenav-collapse-closed-transform:none;
1395
+ --tds-sidenav-collapse-open-transform:none;
1396
+ }
1632
1397
  }
1633
- }
1634
- }
1635
1398
 
1636
- .tds-select.tds-select--lg{
1637
- --tds-select-min-height:var(--t-container-size-lg);
1638
- --tds-select-font-size:var(--t-font-size-lg);
1399
+ .tds-sidenav--theme-gray{
1400
+ --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
1401
+ --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
1402
+ --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
1403
+ --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
1404
+ --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
1639
1405
  }
1640
-
1641
- @media (prefers-reduced-motion: reduce){
1642
-
1643
- .tds-select{
1644
- --tds-select-transition-property:none;
1645
- --tds-select-dropdown-transition:none;
1646
- --tds-select-dropdown-scroll-behavior:auto;
1647
- --tds-select-dropdown-closed-translate:none;
1648
- --tds-select-dropdown-open-translate:none;
1649
- --tds-select-caret-transition:none;
1650
1406
  }
1407
+
1408
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section){
1409
+ display:flex;
1651
1410
  }
1652
1411
 
1653
- .tds-select-description{
1654
- display:flex;
1655
- gap:var(--t-spacing-half);
1656
- align-items:flex-start;
1412
+ .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
1413
+ flex-direction:column;
1414
+ gap:var(--t-spacing-half);
1415
+ width:100%;
1416
+ }
1417
+
1418
+ .tds-sidenav-section-list{
1419
+ width:100%;
1420
+ padding:0;
1657
1421
  margin:0;
1658
- font-size:var(--t-font-size-sm);
1659
- line-height:1.35;
1660
- color:var(--tds-select-description-color, var(--t-text-color-secondary));
1661
- cursor:text;
1422
+ list-style:none;
1662
1423
  }
1663
1424
 
1664
- .tds-select-description .tds-select-description-invalid-icon{
1665
- display:var(--tds-select-description-invalid-icon-display, none);
1666
- flex-shrink:0;
1667
- margin-block-start:calc(.5lh - .5em);
1425
+ .tds-sidenav-section-header{
1426
+ display:flex;
1427
+ align-items:baseline;
1428
+ justify-content:space-between;
1429
+ padding-top:var(--t-spacing-2);
1430
+ }
1431
+
1432
+ .tds-sidenav-section-header h2{
1433
+ margin:0;
1434
+ font-size:var(--t-font-size-sm);
1435
+ font-weight:var(--t-font-weight-semibold);
1668
1436
  line-height:1.35;
1437
+ color:var(--t-text-color-secondary);
1438
+ text-transform:uppercase;
1669
1439
  }
1670
1440
 
1671
- .tds-select > .tds-select-hidden-select{
1672
- position:absolute;
1673
- inline-size:1px;
1674
- block-size:1px;
1675
- padding:0;
1676
- margin:0;
1677
- pointer-events:none;
1678
- opacity:0;
1441
+ .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
1442
+ padding-top:0;
1443
+ }
1444
+
1445
+ .tds-sidenav-section-header [slot="label-actions"]{
1446
+ display:flex;
1447
+ gap:var(--t-spacing-half);
1448
+ align-items:center;
1449
+ }
1450
+
1451
+ .tds-sidenav-section [slot="section-actions"]{
1452
+ display:flex;
1453
+ gap:12px;
1454
+ align-items:center;
1455
+ min-height:42px;
1456
+ padding:var(--t-spacing-1) 0;
1679
1457
  }
1680
1458
 
1681
- .tds-select:has(> button){
1682
- anchor-scope:--tds-select-anchor;
1459
+ .tds-sidenav-section-list,
1460
+ .tds-sidenav-item{
1461
+ width:100%;
1462
+ padding:0;
1463
+ margin:0;
1683
1464
  }
1684
1465
 
1685
- .tds-select:has( > button) > button{
1686
- display:block;
1687
- padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1688
- anchor-name:--tds-select-anchor;
1466
+ .tds-sidenav-item :is(a,button){
1467
+ position:relative;
1468
+ display:flex;
1469
+ gap:12px;
1470
+ align-items:center;
1471
+ width:100%;
1472
+ padding:12px;
1689
1473
  overflow:hidden;
1690
- text-overflow:ellipsis;
1691
- color:var(--tds-select-placeholder-color);
1474
+ font-size:var(--t-font-size-sm);
1475
+ line-height:18px;
1476
+ color:var(--t-text-color-headline);
1692
1477
  white-space:nowrap;
1693
- background-image:none;
1694
- 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);
1695
- -webkit-tap-highlight-color:transparent;
1478
+ text-decoration:none;
1479
+ -webkit-appearance:none;
1480
+ -moz-appearance:none;
1481
+ appearance:none;
1482
+ cursor:pointer;
1483
+ background-color:var(--tds-sidenav-item-background, transparent);
1484
+ border:0;
1485
+ border-radius:var(--t-border-radius);
1486
+ transition:var(--tds-sidenav-item-transition);
1696
1487
  }
1697
1488
 
1698
- :is(.tds-select:has( > button) > button)::after{
1699
- position:absolute;
1700
- inset-block:0;
1701
- inset-inline-end:var(--tds-select-caret-inline-offset);
1702
- width:var(--tds-select-caret-size);
1703
- height:var(--tds-select-caret-size);
1704
- margin-block:auto;
1705
- line-height:1;
1706
- pointer-events:none;
1707
- content:var(--tds-select-background-image);
1708
- transform:rotate(0);
1709
- transition:var(--tds-select-caret-transition);
1489
+ :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
1490
+ display:block;
1491
+ flex:1;
1492
+ overflow:hidden;
1493
+ text-overflow:ellipsis;
1494
+ text-align:left;
1495
+ white-space:nowrap;
1710
1496
  }
1711
1497
 
1712
- .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
1713
- color:var(--tds-select-color);
1714
- }
1715
-
1716
- .tds-select:has( > button) [popover]{
1717
- inset:auto;
1718
- inline-size:-moz-max-content;
1719
- inline-size:max-content;
1720
- min-inline-size:anchor-size(width);
1721
- max-inline-size:100vi;
1722
- max-block-size:min(50vh, 20rem);
1723
- padding:var(--tds-select-dropdown-padding);
1724
- margin-block:var(--tds-select-dropdown-margin-block);
1725
- position-area:block-end span-inline-start;
1726
- position-anchor:--tds-select-anchor;
1727
- position-try-fallbacks:flip-block, flip-inline;
1728
- overflow:auto;
1729
- overflow-x:hidden;
1730
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1731
- overscroll-behavior:none;
1732
- -webkit-user-select:none;
1733
- -moz-user-select:none;
1734
- user-select:none;
1735
- scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
1736
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1737
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1738
- background:var(--tds-select-dropdown-background-color);
1739
- border:var(--tds-select-dropdown-border);
1740
- border-radius:var(--tds-select-dropdown-border-radius);
1741
- box-shadow:var(--tds-select-dropdown-box-shadow);
1742
- opacity:var(--tds-select-dropdown-open-opacity);
1743
- translate:var(--tds-select-dropdown-open-translate);
1744
- transition:var(--tds-select-dropdown-transition);
1745
- }
1746
-
1747
- :is(.tds-select:has( > button) [popover]):not(:popover-open){
1748
- opacity:var(--tds-select-dropdown-closed-opacity);
1749
- translate:var(--tds-select-dropdown-closed-translate);
1498
+ :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
1499
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
1500
+ color:var(--t-text-color-headline);
1501
+ text-decoration:none;
1750
1502
  }
1751
1503
 
1752
- :is(.tds-select:has( > button) [popover]) ul{
1753
- padding:0;
1754
- margin:0;
1755
- list-style:none;
1504
+ :is(.tds-sidenav-item :is(a,button)):active{
1505
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
1756
1506
  }
1757
1507
 
1758
- @starting-style{
1759
- :is(.tds-select:has( > button) [popover]):popover-open{
1760
- opacity:var(--tds-select-dropdown-closed-opacity);
1761
- translate:var(--tds-select-dropdown-closed-translate);
1762
- }
1508
+ :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
1509
+ overflow:hidden;
1510
+ color:var(--tds-sidenav-item-icon-color);
1763
1511
  }
1764
1512
 
1765
- @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
1766
- .tds-select select:has(> button){
1767
- padding-inline-end:0;
1768
- background-image:none;
1769
- }
1770
- @media (hover) and (pointer: fine){
1771
- :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
1772
- padding-block:0;
1773
- -webkit-appearance:base-select;
1774
- -moz-appearance:base-select;
1775
- appearance:base-select;
1513
+ :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
1514
+ display:block;
1515
+ width:var(--tds-sidenav-item-icon-size);
1516
+ height:var(--tds-sidenav-item-icon-size);
1776
1517
  }
1777
- }
1778
- :is(.tds-select select:has( > button))::picker-icon{
1779
- flex-shrink:0;
1780
- width:var(--tds-select-caret-size);
1781
- height:var(--tds-select-caret-size);
1782
- margin-inline-end:var(--tds-select-caret-inline-offset);
1783
- line-height:1;
1784
- content:var(--tds-select-background-image);
1785
- transition:var(--tds-select-caret-transition);
1786
- }
1787
1518
 
1788
- :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
1789
- opacity:var(--tds-select-dropdown-closed-opacity);
1790
- translate:var(--tds-select-dropdown-closed-translate);
1519
+ :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
1520
+ --tds-sidenav-indent:19px;
1791
1521
  }
1792
1522
 
1793
- :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
1794
- outline-color:var(--t-focus-ring-color);
1795
- outline-offset:var(--t-focus-ring-offset);
1796
- border-color:var(--tds-select-border-color-active);
1523
+ [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
1524
+ visibility:visible;
1525
+ block-size:auto;
1526
+ opacity:1;
1797
1527
  }
1798
1528
 
1799
- :is(.tds-select select:has( > button)):open::picker-icon{
1800
- opacity:1;
1801
- transform:rotate(.5turn);
1529
+ .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
1530
+ --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
1531
+ --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
1532
+
1533
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
1534
+ font-weight:var(--t-font-weight-semibold);
1535
+ }
1536
+
1537
+ .tds-sidenav-item:has(.tds-sidenav-section){
1538
+ display:flex;
1539
+ flex-direction:column;
1540
+ gap:var(--t-spacing-half);
1541
+ }
1542
+
1543
+ .tds-sidenav-item .tds-sidenav-section-list{
1544
+ --tds-sidenav-item-depth:1;
1545
+ gap:0;
1546
+ }
1547
+
1548
+ .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
1549
+ visibility:hidden;
1550
+ block-size:0;
1551
+ overflow-y:clip;
1552
+ opacity:0;
1553
+ transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
1802
1554
  }
1803
1555
 
1804
- :is(.tds-select select:has( > button)) selectedcontent{
1805
- overflow:hidden;
1806
- text-overflow:ellipsis;
1807
- line-height:calc(var(--tds-select-min-height) - 2px);
1808
- white-space:nowrap;
1556
+ :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
1557
+ --tds-sidenav-item-depth:2;
1809
1558
  }
1810
1559
 
1811
- :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
1812
- color:var(--tds-select-placeholder-color);
1560
+ :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1561
+ min-height:var(--t-element-size-2xl);
1562
+ padding-block:9px;
1563
+ padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
1564
+ line-height:1;
1565
+ background-color:transparent;
1813
1566
  }
1814
1567
 
1815
- :is(.tds-select select:has( > button))::picker(select){
1816
- inset:auto;
1817
- inline-size:-moz-max-content;
1818
- inline-size:max-content;
1819
- min-inline-size:anchor-size(width);
1820
- max-inline-size:100vi;
1821
- padding:var(--tds-select-dropdown-padding);
1822
- margin-block:var(--tds-select-dropdown-margin-block);
1823
- position-area:block-end span-inline-start;
1824
- position-try-fallbacks:flip-block, flip-inline;
1825
- overflow:auto;
1826
- overflow-x:hidden;
1827
- scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
1828
- overscroll-behavior:none;
1829
- -webkit-user-select:none;
1830
- -moz-user-select:none;
1831
- user-select:none;
1832
- scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
1833
- scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
1834
- background:var(--tds-select-dropdown-background-color);
1835
- border:var(--tds-select-dropdown-border);
1836
- border-radius:var(--tds-select-dropdown-border-radius);
1837
- box-shadow:var(--tds-select-dropdown-box-shadow);
1838
- opacity:var(--tds-select-dropdown-open-opacity);
1839
- translate:var(--tds-select-dropdown-open-translate);
1840
- transition:var(--tds-select-dropdown-transition);
1841
- }
1842
-
1843
- :is(.tds-select select:has( > button)) option::checkmark{
1844
- display:none;
1845
- }
1846
-
1847
- @starting-style{
1848
- :is(.tds-select select:has( > button))::picker(select):popover-open{
1849
- opacity:var(--tds-select-dropdown-closed-opacity);
1850
- translate:var(--tds-select-dropdown-closed-translate);
1568
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
1569
+ position:absolute;
1570
+ top:0;
1571
+ bottom:0;
1572
+ left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1573
+ width:2px;
1574
+ content:"";
1575
+ background-color:var(--tds-sidenav-item-nested-border-color);
1576
+ transition:var(--tds-sidenav-item-transition);
1851
1577
  }
1852
- }
1853
- }
1854
-
1855
- .tds-radio-group{
1856
- --tds-radio-group-font-size:var(--t-font-size-md);
1857
- --tds-radio-group-line-height:1.4;
1858
- --tds-radio-group-gap:var(--t-spacing-1);
1859
-
1860
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1861
- --tds-radio-group-description-line-height:1.35;
1862
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1863
- --tds-radio-group-description-invalid-icon-display:none;
1864
- display:flex;
1865
- flex-direction:column;
1866
- gap:0;
1867
- padding:0;
1868
- margin:0;
1869
-
1870
- font-size:var(--tds-radio-group-font-size);
1871
- line-height:var(--tds-radio-group-line-height);
1872
- border:0;
1873
- }
1874
-
1875
- .tds-radio-group legend{
1876
- float:left;
1877
- padding:0;
1878
- margin:0;
1879
- }
1880
1578
 
1881
- .tds-radio-group[aria-invalid="true"]{
1882
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1883
- --tds-radio-group-description-invalid-icon-display:inline-block;
1884
- }
1579
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
1580
+ position:absolute;
1581
+ inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
1582
+ z-index:-1;
1583
+ height:100%;
1584
+ content:"";
1585
+ background-color:var(--tds-sidenav-item-nested-background);
1586
+ border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
1587
+ transition:var(--tds-sidenav-item-transition);
1588
+ }
1885
1589
 
1886
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1887
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1888
- }
1590
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
1591
+ display:block;
1592
+ text-align:left;
1593
+ white-space:normal;
1594
+ }
1889
1595
 
1890
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1891
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1892
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1596
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
1597
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
1598
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
1893
1599
  }
1894
1600
 
1895
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1896
- --tds-radio-input-background-color:var(--t-form-background-color);
1601
+ :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
1602
+ --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
1897
1603
  }
1898
1604
 
1899
- .tds-radio-group:has(input:required) legend::after{
1900
- margin-left:.25ch;
1901
- color:var(--t-text-color-status-error);
1902
- content:"*";
1605
+ .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
1606
+ --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
1607
+ font-weight:var(--t-font-weight-medium);
1903
1608
  }
1904
1609
 
1905
- .tds-radio-group-fields{
1610
+ .tds-sidenav-responsive-header{
1906
1611
  display:flex;
1907
- flex-direction:column;
1908
- gap:var(--tds-radio-group-gap);
1909
- align-items:flex-start;
1910
- margin-top:var(--t-spacing-1);
1612
+ gap:var(--t-spacing-2);
1613
+ align-items:center;
1614
+ width:100%;
1911
1615
  }
1912
1616
 
1913
- .tds-radio-group-description{
1914
- display:flex;
1915
- gap:var(--t-spacing-half);
1916
- align-items:flex-start;
1917
- margin:var(--t-spacing-fourth) 0 0;
1918
- font-size:var(--tds-radio-group-description-font-size);
1919
- line-height:var(--tds-radio-group-description-line-height);
1920
- color:var(--tds-radio-group-description-color);
1921
- cursor:text;
1922
- }
1617
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
1618
+ order:0;
1619
+ }
1923
1620
 
1924
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1925
- display:var(--tds-radio-group-description-invalid-icon-display);
1926
- flex-shrink:0;
1927
- margin-top:calc(.5lh - .5em);
1928
- line-height:var(--tds-radio-group-description-line-height);
1621
+ .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
1622
+ flex:1;
1623
+ order:1;
1624
+ margin:0;
1625
+ font-size:var(--t-font-size-lg);
1626
+ font-weight:var(--t-font-weight-medium);
1627
+ color:var(--t-text-color-headline);
1929
1628
  }
1930
1629
 
1931
- .tds-radio-group--sm{
1932
- --tds-radio-group-line-height:1.35;
1933
- --tds-radio-group-font-size:var(--t-font-size-sm);
1934
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
1935
- --tds-radio-group-description-line-height:1.3;
1936
- }
1630
+ @media (max-width: 719px){
1631
+ .tds-sidenav-collapse{
1632
+ z-index:10001;
1633
+ display:none;
1634
+ max-width:min(448px, calc(100vw - 48px));
1635
+ padding:0;
1636
+ margin:12px 0;
1637
+ position-area:bottom span-right;
1638
+ overflow:hidden;
1639
+ outline:0;
1640
+ background:var(--t-surface-color-card);
1641
+ border:0;
1642
+ border-radius:6px;
1643
+ box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
1644
+ opacity:var(--tds-sidenav-collapse-open-opacity);
1645
+ transform:var(--tds-sidenav-collapse-open-transform);
1646
+ transition:var(--tds-sidenav-collapse-transition-enter);
1647
+ will-change:transform;
1648
+ }
1937
1649
 
1938
- .tds-input{
1939
- --tds-input-border-color:var(--t-form-border-color);
1940
- --tds-input-border-color-hover:var(--t-form-border-color-hover);
1941
- --tds-input-background-color:var(--t-form-background-color);
1942
- --tds-input-color:var(--t-form-color);
1943
- --tds-input-font-size:var(--t-font-size-md);
1944
- --tds-input-description-color:var(--t-text-color-secondary);
1945
- --tds-input-description-invalid-icon-display:none;
1946
- --tds-input-min-height:var(--t-container-size-md);
1947
- --tds-input-padding-inline:var(--t-spacing-1);
1650
+ .tds-sidenav-scroll-container{
1651
+ --webkit-overflow-scrolling:touch;
1652
+ display:block;
1653
+ width:100%;
1654
+ height:-moz-fit-content;
1655
+ height:fit-content;
1656
+ padding:var(--t-spacing-2);
1657
+ overflow-y:auto;
1658
+ }
1948
1659
 
1949
- --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
1660
+ .tds-sidenav-item :is(a, button) :is(.prefix){
1661
+ display:none;
1662
+ }
1663
+ @supports selector(:popover-open){
1664
+ .tds-sidenav-collapse:popover-open{
1665
+ display:flex;
1666
+ }
1950
1667
 
1951
- display:flex;
1952
- flex-direction:column;
1953
- gap:var(--t-spacing-half);
1954
- }
1668
+ .tds-sidenav-collapse:not(:popover-open){
1669
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1670
+ transition:var(--tds-sidenav-collapse-transition-exit);
1671
+ }
1955
1672
 
1956
- .tds-input label{
1957
- font-size:var(--t-font-size-md);
1958
- font-weight:var(--t-font-weight-normal);
1959
- color:var(--t-text-color);
1673
+ @starting-style{
1674
+ .tds-sidenav-collapse:popover-open{
1675
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1676
+ transform:var(--tds-sidenav-collapse-closed-transform);
1677
+ }
1678
+ }
1960
1679
  }
1680
+ @supports not selector(:popover-open){
1681
+ .tds-sidenav-collapse.\:popover-open{
1682
+ display:flex;
1683
+ }
1961
1684
 
1962
- .tds-input :is(input,textarea){
1963
- inline-size:100%;
1964
- block-size:auto;
1965
- min-block-size:var(--tds-input-min-height);
1966
- padding-block:var(--tds-input-padding-block);
1967
- padding-inline:var(--tds-input-padding-inline);
1968
- font-family:inherit;
1969
- font-size:var(--tds-input-font-size);
1970
- color:var(--tds-input-color);
1971
- -webkit-appearance:none;
1972
- -moz-appearance:none;
1973
- appearance:none;
1974
- outline:var(--t-focus-ring-width) solid transparent;
1975
- outline-offset:0;
1976
- background-color:var(--tds-input-background-color);
1977
- border:var(--t-form-border-width) solid var(--tds-input-border-color);
1978
- border-radius:var(--t-form-border-radius);
1979
- transition-timing-function:var(--t-ease-in-out);
1980
- transition-duration:var(--t-duration-200);
1981
- transition-property:var(--tds-input-transition-property);
1685
+ .tds-sidenav-collapse:not(.\:popover-open){
1686
+ opacity:var(--tds-sidenav-collapse-closed-opacity);
1687
+ transition:var(--tds-sidenav-collapse-transition-exit);
1688
+ }
1982
1689
  }
1690
+ }
1983
1691
 
1984
- :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
1985
- border-color:var(--tds-input-border-color-hover);
1692
+ @media (min-width: 720px){
1693
+ .tds-sidenav-responsive-header{
1694
+ display:none;
1695
+ }
1696
+ }
1697
+
1698
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
1699
+ display:none;
1986
1700
  }
1987
1701
 
1988
- :is(.tds-input :is(input,textarea)):focus{
1989
- outline-color:transparent;
1702
+ :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
1703
+ display:block;
1990
1704
  }
1991
1705
 
1992
- :is(.tds-input :is(input,textarea)):focus-visible{
1993
- outline-color:var(--t-focus-ring-color);
1994
- outline-offset:var(--t-focus-ring-offset);
1995
- border-color:var(--t-form-border-color-focus);
1706
+ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1707
+ display:flex;
1708
+ flex-direction:column;
1996
1709
  }
1997
1710
 
1998
- :is(.tds-input :is(input,textarea))::-moz-placeholder{
1999
- color:var(--t-form-placeholder-color);
2000
- -moz-user-select:none;
2001
- user-select:none;
2002
- }
1711
+ .tds-select{
1712
+ --tds-select-border-color:var(--t-form-border-color);
1713
+ --tds-select-border-color-hover:var(--t-form-border-color-hover);
1714
+ --tds-select-border-color-active:var(--t-form-border-color-hover);
1715
+ --tds-select-background-color:var(--t-form-background-color);
1716
+ --tds-select-color:var(--t-form-color);
1717
+ --tds-select-placeholder-color:var(--t-form-placeholder-color);
1718
+ --tds-select-font-size:var(--t-font-size-md);
1719
+ --tds-select-min-height:var(--t-container-size-md);
1720
+ --tds-select-padding-block:0;
1721
+ --tds-select-description-color:var(--t-text-color-secondary);
1722
+ --tds-select-description-invalid-icon-display:none;
1723
+ --tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
1724
+ --tds-select-background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTEzLDZsLTUsNWwtNSwtNXoiIGZpbGw9IiMzRDNEM0QiLz48L3N2Zz4=");
1725
+ --tds-select-caret-size:1em;
1726
+ --tds-select-caret-inline-offset:.75em;
1727
+ --tds-select-caret-transition:transform var(--t-duration-300) var(--t-ease-in-out);
2003
1728
 
2004
- :is(.tds-input :is(input,textarea))::placeholder{
2005
- color:var(--t-form-placeholder-color);
2006
- -webkit-user-select:none;
2007
- -moz-user-select:none;
2008
- user-select:none;
2009
- }
1729
+ --tds-select-dropdown-background-color:var(--t-surface-color-card);
1730
+ --tds-select-dropdown-border:1px solid var(--t-border-color);
1731
+ --tds-select-dropdown-padding:var(--t-spacing-1);
1732
+ --tds-select-dropdown-margin-block:5px;
1733
+ --tds-select-dropdown-scrollbar-color:#0004 var(--t-surface-color-card);
1734
+ --tds-select-dropdown-scrollbar-width:thin;
1735
+ --tds-select-dropdown-border-radius:var(--t-border-radius);
1736
+ --tds-select-dropdown-box-shadow:hsl(0, 0%, 0%, .05) 0 10px 15px -3px, hsl(0, 0%, 0%, .05) 0 4px 6px -4px;
1737
+ --tds-select-dropdown-scroll-behavior:smooth;
1738
+ --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;
1739
+ --tds-select-dropdown-closed-opacity:0;
1740
+ --tds-select-dropdown-open-opacity:1;
1741
+ --tds-select-dropdown-closed-translate:0 -8px;
1742
+ --tds-select-dropdown-open-translate:0 0;
2010
1743
 
2011
- @media (prefers-reduced-motion: reduce){
1744
+ --tds-select-option-gap:var(--t-spacing-1);
1745
+ --tds-select-option-padding-block:var(--t-spacing-fourth);
1746
+ --tds-select-option-padding-inline:var(--t-spacing-2) var(--t-spacing-1);
1747
+ --tds-select-option-font-size:1rem;
1748
+ --tds-select-option-color:var(--t-text-color);
1749
+ --tds-select-option-background-hover:var(--t-fill-color-neutral-070);
1750
+ --tds-select-option-background-active:var(--t-fill-color-button-interaction-ghost-active);
1751
+ --tds-select-option-border-radius:var(--t-border-radius);
2012
1752
 
2013
- .tds-input :is(input,textarea){
2014
- --tds-input-transition-property:none;
1753
+ --tds-select-group-label-padding-block-start:var(--t-spacing-2);
1754
+ --tds-select-group-label-padding-block:var(--tds-select-group-label-padding-block-start) var(--t-spacing-1);
1755
+ --tds-select-group-label-padding-inline:var(--t-spacing-1);
1756
+ --tds-select-group-label-font-size:var(--t-font-size-sm);
1757
+ --tds-select-group-label-font-weight:var(--t-font-weight-semibold);
1758
+ --tds-select-group-label-letter-spacing:0;
1759
+ --tds-select-group-label-color:var(--t-text-color-secondary);
1760
+ --tds-select-group-label-color-stuck:var(--t-text-color-headline);
1761
+ --tds-select-group-label-background:var(--tds-select-dropdown-background-color);
1762
+ --tds-select-group-label-transition:color var(--t-duration-200) var(--t-ease-in-out);
1763
+
1764
+ position:relative;
1765
+ display:flex;
1766
+ flex-direction:column;
1767
+ gap:var(--t-spacing-half);
1768
+ }
1769
+
1770
+ .tds-select :is(label,.tds-select-label){
1771
+ font-size:var(--t-font-size-md);
1772
+ font-weight:var(--t-font-weight-normal);
1773
+ color:var(--t-text-color);
1774
+ cursor:default;
1775
+ }
1776
+
1777
+ .tds-select :is(select,button){
1778
+ position:relative;
1779
+ place-items:center;
1780
+ inline-size:100%;
1781
+ min-block-size:var(--tds-select-min-height);
1782
+ padding-block:var(--tds-select-padding-block);
1783
+ padding-inline:var(--t-spacing-1);
1784
+ padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
1785
+ font-family:inherit;
1786
+ font-size:var(--tds-select-font-size);
1787
+ line-height:1.15;
1788
+ color:var(--tds-select-color);
1789
+ text-align:left;
1790
+ -webkit-appearance:none;
1791
+ -moz-appearance:none;
1792
+ appearance:none;
1793
+ cursor:var(--tds-select-cursor, default);
1794
+ outline:var(--t-focus-ring-width) solid transparent;
1795
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
1796
+ outline-offset:0;
1797
+ background-color:var(--tds-select-background-color);
1798
+ background-image:var(--tds-select-background-image);
1799
+ background-repeat:no-repeat;
1800
+ background-position:right var(--tds-select-caret-inline-offset) top 50%;
1801
+ background-size:var(--tds-select-caret-size);
1802
+ border:var(--t-form-border-width) solid var(--tds-select-border-color);
1803
+ border-radius:var(--t-form-border-radius);
1804
+ transition-timing-function:var(--t-ease-in-out);
1805
+ transition-duration:var(--t-duration-300);
1806
+ transition-property:var(--tds-select-transition-property);
2015
1807
  }
1808
+
1809
+ :is(.tds-select :is(select,button)):hover:not(:disabled,:focus,:focus-visible,:focus-within,:active,:open){
1810
+ border-color:var(--tds-select-border-color-hover);
2016
1811
  }
2017
1812
 
2018
- .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2019
- --tds-input-background-color:var(--t-form-background-color-error);
2020
- --tds-input-border-color:var(--t-form-border-color-error);
2021
- --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2022
- --tds-input-description-color:var(--t-text-color-status-error);
2023
- --tds-input-description-invalid-icon-display:inline-block;
1813
+ :is(.tds-select :is(select,button)):focus{
1814
+ outline-color:var(--t-focus-ring-color);
1815
+ outline-offset:var(--t-focus-ring-offset);
1816
+ border-color:var(--tds-select-border-color-active);
1817
+ }
1818
+
1819
+ :is(.tds-select :is(select,button)):required:invalid,:is(.tds-select :is(select,button)):has(option[hidden][disabled][value=""]:checked){
1820
+ color:var(--tds-select-placeholder-color);
1821
+ }
1822
+
1823
+ .tds-select:has(select:user-invalid,[aria-invalid="true"]),.tds-select.tds-select--invalid{
1824
+ --tds-select-border-color:var(--t-form-border-color-error);
1825
+ --tds-select-border-color-hover:var(--t-form-border-color-error-hover);
1826
+ --tds-select-border-color-active:var(--t-form-border-color-error-hover);
1827
+ --tds-select-background-color:var(--t-form-background-color-error);
1828
+ --tds-select-description-color:var(--t-text-color-status-error);
1829
+ --tds-select-description-invalid-icon-display:inline-block;
2024
1830
  }
2025
1831
 
2026
- .tds-input:has(:is(input,textarea):required) label::after{
1832
+ .tds-select:has(select:required,[aria-required="true"]) :is(label,.tds-select-label)::after{
2027
1833
  margin-left:.25ch;
2028
1834
  color:var(--t-text-color-status-error);
2029
1835
  content:"*";
2030
1836
  }
2031
1837
 
2032
- .tds-input:where(:has(:is(input,textarea):disabled)){
2033
- --tds-input-border-color:var(--t-form-border-color-disabled);
2034
- --tds-input-background-color:var(--t-form-background-color-disabled);
2035
- --tds-input-color:var(--t-form-color-disabled);
1838
+ .tds-select:has(:is(select,button[role="combobox"]):is(:disabled,[aria-disabled="true"])){
1839
+ --tds-select-border-color:var(--t-form-border-color-disabled);
1840
+ --tds-select-background-color:var(--t-form-background-color-disabled);
1841
+ --tds-select-color:var(--t-form-color-disabled);
1842
+ --tds-select-cursor:not-allowed;
2036
1843
  }
2037
1844
 
2038
- .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
1845
+ .tds-select:has( > [popover]:popover-open) > button{
1846
+ border-color:var(--tds-select-border-color-active);
1847
+ }
1848
+
1849
+ :is(.tds-select:has( > [popover]:popover-open) > button)::after{
1850
+ transform:rotate(.5turn);
1851
+ }
1852
+
1853
+ .tds-select :is(hr,li[role="separator"]){
1854
+ margin-block:var(--t-spacing-half);
1855
+ color:var(--tds-select-border-color);
1856
+ border:0;
1857
+ border-top:1px solid;
1858
+ }
1859
+
1860
+ .tds-select :is(li[role="option"],option:not([hidden])){
1861
+ display:block;
1862
+ align-content:center;
1863
+ min-height:var(--t-container-size-md);
1864
+ padding-block:var(--tds-select-option-padding-block);
1865
+ padding-inline:var(--tds-select-option-padding-inline);
1866
+ overflow:hidden;
1867
+ text-overflow:ellipsis;
1868
+ font-size:var(--tds-select-option-font-size);
1869
+ line-height:1.15;
1870
+ color:var(--tds-select-option-color);
1871
+ white-space:nowrap;
1872
+ cursor:default;
1873
+ border-radius:var(--tds-select-option-border-radius);
1874
+ }
1875
+
1876
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
1877
+ outline:0;
1878
+ }
1879
+
1880
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
1881
+ background:var(--tds-select-option-background-hover);
1882
+ }
1883
+
1884
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-selected="true"],:checked):not([disabled],[aria-disabled="true"]){
1885
+ background:var(--tds-select-option-background-active);
1886
+ }
1887
+
1888
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled){
1889
+ color:var(--t-form-color-disabled);
2039
1890
  cursor:not-allowed;
2040
1891
  }
2041
1892
 
2042
- .tds-input:where(:has(:is(input,textarea)[readonly])){
2043
- --tds-input-border-color:var(--t-form-border-color-readonly);
2044
- --tds-input-background-color:var(--t-form-background-color-readonly);
1893
+ :is(.tds-select :is(li[role="option"],option:not([hidden]))):is([aria-disabled="true"],:disabled):is(:focus,:hover){
1894
+ background:transparent;
1895
+ }
1896
+
1897
+ .tds-select :is(li[role="presentation"],legend){
1898
+ position:sticky;
1899
+ inset-block-start:calc(var(--tds-select-dropdown-padding) * -1);
1900
+ z-index:1;
1901
+ float:inline-start;
1902
+ inline-size:100%;
1903
+ padding-block:var(--tds-select-group-label-padding-block);
1904
+ padding-inline:var(--tds-select-group-label-padding-inline);
1905
+ container-type:scroll-state;
1906
+ font-size:var(--tds-select-group-label-font-size);
1907
+ font-weight:var(--tds-select-group-label-font-weight);
1908
+ letter-spacing:var(--tds-select-group-label-letter-spacing);
1909
+ background:var(--tds-select-group-label-background);
1910
+ text-box:trim-both cap alphabetic;
2045
1911
  }
2046
1912
 
2047
- .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2048
- border-color:var(--tds-input-border-color-hover);
1913
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1914
+ display:inline-flex;
1915
+ gap:var(--t-spacing-half);
1916
+ align-items:center;
1917
+ color:var(--tds-select-group-label-color);
1918
+ transition:var(--tds-select-group-label-transition);
2049
1919
  }
2050
1920
 
2051
- .tds-input.tds-input--lg{
2052
- --tds-input-min-height:var(--t-container-size-lg);
2053
- --tds-input-font-size:var(--t-font-size-lg);
1921
+ @container scroll-state(stuck){
1922
+
1923
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1924
+ color:var(--tds-select-group-label-color-stuck);
1925
+ }
1926
+
1927
+ @media (forced-colors: active){
1928
+
1929
+ :is(.tds-select :is(li[role="presentation"],legend)) span{
1930
+ color:var(--tds-select-group-label-color-stuck);
1931
+ }
1932
+ }
1933
+ }
1934
+
1935
+ .tds-select.tds-select--lg{
1936
+ --tds-select-min-height:var(--t-container-size-lg);
1937
+ --tds-select-font-size:var(--t-font-size-lg);
2054
1938
  }
2055
1939
 
2056
- .tds-input-description{
1940
+ @media (prefers-reduced-motion: reduce){
1941
+
1942
+ .tds-select{
1943
+ --tds-select-transition-property:none;
1944
+ --tds-select-dropdown-transition:none;
1945
+ --tds-select-dropdown-scroll-behavior:auto;
1946
+ --tds-select-dropdown-closed-translate:none;
1947
+ --tds-select-dropdown-open-translate:none;
1948
+ --tds-select-caret-transition:none;
1949
+ }
1950
+ }
1951
+
1952
+ .tds-select-description{
2057
1953
  display:flex;
2058
1954
  gap:var(--t-spacing-half);
2059
1955
  align-items:flex-start;
2060
1956
  margin:0;
2061
1957
  font-size:var(--t-font-size-sm);
2062
1958
  line-height:1.35;
2063
- color:var(--tds-input-description-color, var(--t-text-color-secondary));
1959
+ color:var(--tds-select-description-color, var(--t-text-color-secondary));
2064
1960
  cursor:text;
2065
1961
  }
2066
1962
 
2067
- .tds-input-description .tds-input-description-invalid-icon{
2068
- display:var(--tds-input-description-invalid-icon-display, none);
1963
+ .tds-select-description .tds-select-description-invalid-icon{
1964
+ display:var(--tds-select-description-invalid-icon-display, none);
2069
1965
  flex-shrink:0;
2070
1966
  margin-block-start:calc(.5lh - .5em);
2071
1967
  line-height:1.35;
2072
1968
  }
2073
1969
 
2074
- .tds-field{
2075
- --tds-field-border-color:var(--t-form-border-color);
2076
- --tds-field-border-color-hover:var(--t-form-border-color-hover);
2077
- --tds-field-border-color-active:var(--t-form-border-color-focus);
2078
- --tds-field-background-color:var(--t-form-background-color);
2079
- --tds-field-color:var(--t-form-color);
2080
- --tds-field-placeholder-color:var(--t-form-placeholder-color);
2081
- --tds-field-font-size:var(--t-font-size-md);
2082
- --tds-field-min-height:var(--t-container-size-md);
2083
- --tds-field-padding-block:6px;
2084
- --tds-field-padding-inline:var(--t-spacing-1);
2085
- --tds-field-description-color:var(--t-text-color-secondary);
2086
- --tds-field-description-invalid-icon-display:none;
1970
+ .tds-select > .tds-select-hidden-select{
1971
+ position:absolute;
1972
+ inline-size:1px;
1973
+ block-size:1px;
1974
+ padding:0;
1975
+ margin:0;
1976
+ pointer-events:none;
1977
+ opacity:0;
1978
+ }
2087
1979
 
2088
- position:relative;
2089
- display:flex;
2090
- flex-direction:column;
2091
- gap:var(--t-spacing-half);
1980
+ .tds-select:has(> button){
1981
+ anchor-scope:--tds-select-anchor;
2092
1982
  }
2093
1983
 
2094
- .tds-field[data-required] .tds-field-label::after{
2095
- margin-left:.25ch;
2096
- color:var(--t-text-color-status-error);
2097
- content:"*";
1984
+ .tds-select:has( > button) > button{
1985
+ display:block;
1986
+ padding-inline-end:calc(var(--tds-select-caret-size) + var(--tds-select-caret-inline-offset) + .75ch);
1987
+ anchor-name:--tds-select-anchor;
1988
+ overflow:hidden;
1989
+ text-overflow:ellipsis;
1990
+ color:var(--tds-select-placeholder-color);
1991
+ white-space:nowrap;
1992
+ background-image:none;
1993
+ 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);
1994
+ -webkit-tap-highlight-color:transparent;
2098
1995
  }
2099
1996
 
2100
- .tds-field[data-invalid]{
2101
- --tds-field-border-color:var(--t-form-border-color-error);
2102
- --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2103
- --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2104
- --tds-field-background-color:var(--t-form-background-color-error);
2105
- --tds-field-description-color:var(--t-text-color-status-error);
2106
- --tds-field-description-invalid-icon-display:inline-block;
1997
+ :is(.tds-select:has( > button) > button)::after{
1998
+ position:absolute;
1999
+ inset-block:0;
2000
+ inset-inline-end:var(--tds-select-caret-inline-offset);
2001
+ width:var(--tds-select-caret-size);
2002
+ height:var(--tds-select-caret-size);
2003
+ margin-block:auto;
2004
+ line-height:1;
2005
+ pointer-events:none;
2006
+ content:var(--tds-select-background-image);
2007
+ transform:rotate(0);
2008
+ transition:var(--tds-select-caret-transition);
2009
+ }
2010
+
2011
+ .tds-select:has( > button):has([role="option"][aria-selected="true"]) > button{
2012
+ color:var(--tds-select-color);
2107
2013
  }
2108
2014
 
2109
- .tds-field[data-disabled]{
2110
- --tds-field-border-color:var(--t-form-border-color-disabled);
2111
- --tds-field-background-color:var(--t-form-background-color-disabled);
2112
- --tds-field-color:var(--t-form-color-disabled);
2113
- --tds-field-placeholder-color:var(--t-form-color-disabled);
2015
+ .tds-select:has( > button) [popover]{
2016
+ inset:auto;
2017
+ inline-size:-moz-max-content;
2018
+ inline-size:max-content;
2019
+ min-inline-size:anchor-size(width);
2020
+ max-inline-size:100vi;
2021
+ max-block-size:min(50vh, 20rem);
2022
+ padding:var(--tds-select-dropdown-padding);
2023
+ margin-block:var(--tds-select-dropdown-margin-block);
2024
+ position-area:block-end span-inline-start;
2025
+ position-anchor:--tds-select-anchor;
2026
+ position-try-fallbacks:flip-block, flip-inline;
2027
+ overflow:auto;
2028
+ overflow-x:hidden;
2029
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2030
+ overscroll-behavior:none;
2031
+ -webkit-user-select:none;
2032
+ -moz-user-select:none;
2033
+ user-select:none;
2034
+ scroll-padding-top:calc(var(--tds-select-group-label-padding-block-start) + var(--tds-select-group-label-font-size) + var(--t-spacing-2));
2035
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2036
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2037
+ background:var(--tds-select-dropdown-background-color);
2038
+ border:var(--tds-select-dropdown-border);
2039
+ border-radius:var(--tds-select-dropdown-border-radius);
2040
+ box-shadow:var(--tds-select-dropdown-box-shadow);
2041
+ opacity:var(--tds-select-dropdown-open-opacity);
2042
+ translate:var(--tds-select-dropdown-open-translate);
2043
+ transition:var(--tds-select-dropdown-transition);
2114
2044
  }
2115
2045
 
2116
- .tds-field[data-disabled] .tds-field-control{
2117
- cursor:not-allowed;
2046
+ :is(.tds-select:has( > button) [popover]):not(:popover-open){
2047
+ opacity:var(--tds-select-dropdown-closed-opacity);
2048
+ translate:var(--tds-select-dropdown-closed-translate);
2118
2049
  }
2119
2050
 
2120
- .tds-field--lg{
2121
- --tds-field-min-height:var(--t-container-size-lg);
2122
- --tds-field-font-size:var(--t-font-size-lg);
2123
- }
2124
-
2125
- .tds-field-label{
2126
- font-size:var(--t-font-size-md);
2127
- font-weight:var(--t-font-weight-normal);
2128
- color:var(--t-text-color);
2129
- cursor:default;
2130
- }
2131
-
2132
- .tds-field-control{
2133
- display:flex;
2134
- align-items:center;
2135
- inline-size:100%;
2136
- min-block-size:var(--tds-field-min-height);
2137
- font-family:inherit;
2138
- font-size:var(--tds-field-font-size);
2139
- line-height:1;
2140
- color:var(--tds-field-color);
2141
- -webkit-appearance:none;
2142
- -moz-appearance:none;
2143
- appearance:none;
2144
- cursor:text;
2145
- outline:var(--t-focus-ring-width) solid transparent;
2146
- outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2147
- outline-offset:0;
2148
- background-color:var(--tds-field-background-color);
2149
- border:var(--t-form-border-width) solid var(--tds-field-border-color);
2150
- border-radius:var(--t-form-border-radius);
2151
- transition-timing-function:var(--t-ease-in-out);
2152
- transition-duration:var(--t-duration-200);
2153
- transition-property:background-color, border-color, outline-color, outline-offset;
2154
- }
2155
-
2156
- .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2157
- border-color:var(--tds-field-border-color-hover);
2158
- }
2051
+ :is(.tds-select:has( > button) [popover]) ul{
2052
+ padding:0;
2053
+ margin:0;
2054
+ list-style:none;
2055
+ }
2159
2056
 
2160
- .tds-field-control[data-focus-within]{
2161
- outline-color:var(--t-focus-ring-color);
2162
- outline-offset:var(--t-focus-ring-offset);
2163
- border-color:var(--tds-field-border-color-active);
2164
- }
2057
+ @starting-style{
2058
+ :is(.tds-select:has( > button) [popover]):popover-open{
2059
+ opacity:var(--tds-select-dropdown-closed-opacity);
2060
+ translate:var(--tds-select-dropdown-closed-translate);
2061
+ }
2062
+ }
2165
2063
 
2166
- .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2167
- --tds-field-border-color:var(--t-form-border-color-readonly);
2168
- --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2169
- --tds-field-background-color:var(--t-form-background-color-readonly);
2170
- color:var(--t-form-color-readonly);
2064
+ @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)){
2065
+ .tds-select select:has(> button){
2066
+ padding-inline-end:0;
2067
+ background-image:none;
2171
2068
  }
2069
+ @media (hover) and (pointer: fine){
2070
+ :is(.tds-select select:has( > button)),:is(.tds-select select:has( > button))::picker(select){
2071
+ padding-block:0;
2072
+ -webkit-appearance:base-select;
2073
+ -moz-appearance:base-select;
2074
+ appearance:base-select;
2075
+ }
2076
+ }
2077
+ :is(.tds-select select:has( > button))::picker-icon{
2078
+ flex-shrink:0;
2079
+ width:var(--tds-select-caret-size);
2080
+ height:var(--tds-select-caret-size);
2081
+ margin-inline-end:var(--tds-select-caret-inline-offset);
2082
+ line-height:1;
2083
+ content:var(--tds-select-background-image);
2084
+ transition:var(--tds-select-caret-transition);
2085
+ }
2172
2086
 
2173
- [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2174
- border-color:var(--t-form-border-color-hover);
2087
+ :is(.tds-select select:has( > button))::picker(select):not(:popover-open){
2088
+ opacity:var(--tds-select-dropdown-closed-opacity);
2089
+ translate:var(--tds-select-dropdown-closed-translate);
2175
2090
  }
2176
2091
 
2177
- .tds-field-description{
2178
- display:flex;
2179
- gap:var(--t-spacing-half);
2180
- align-items:flex-start;
2181
- margin:0;
2182
- font-size:var(--t-font-size-sm);
2183
- line-height:1.35;
2184
- color:var(--tds-field-description-color, var(--t-text-color-secondary));
2185
- cursor:text;
2186
- }
2092
+ :is(.tds-select select:has( > button)):open,:is(.tds-select select:has( > button)):focus-within{
2093
+ outline-color:var(--t-focus-ring-color);
2094
+ outline-offset:var(--t-focus-ring-offset);
2095
+ border-color:var(--tds-select-border-color-active);
2096
+ }
2187
2097
 
2188
- .tds-field-description .tds-field-description-invalid-icon{
2189
- display:var(--tds-field-description-invalid-icon-display, none);
2190
- flex-shrink:0;
2191
- margin-block-start:calc(.5lh - .5em);
2192
- line-height:1.35;
2193
- }
2098
+ :is(.tds-select select:has( > button)):open::picker-icon{
2099
+ opacity:1;
2100
+ transform:rotate(.5turn);
2101
+ }
2194
2102
 
2195
- .tds-field-date-segment{
2196
- padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2197
- text-align:end;
2198
- text-wrap:nowrap;
2199
- caret-color:transparent;
2200
- border-radius:var(--t-border-radius-sm);
2201
- }
2103
+ :is(.tds-select select:has( > button)) selectedcontent{
2104
+ overflow:hidden;
2105
+ text-overflow:ellipsis;
2106
+ line-height:calc(var(--tds-select-min-height) - 2px);
2107
+ white-space:nowrap;
2108
+ }
2202
2109
 
2203
- .tds-field-date-segment[data-placeholder]{
2204
- color:var(--tds-field-placeholder-color);
2205
- }
2110
+ :is(.tds-select select:has( > button)):has(option[hidden][disabled][value=""]:checked) > button{
2111
+ color:var(--tds-select-placeholder-color);
2112
+ }
2206
2113
 
2207
- .tds-field-date-segment[data-focused]{
2208
- color:var(--t-text-color-inverted);
2209
- outline:0;
2210
- background-color:var(--t-fill-color-interaction);
2211
- }
2114
+ :is(.tds-select select:has( > button))::picker(select){
2115
+ inset:auto;
2116
+ inline-size:-moz-max-content;
2117
+ inline-size:max-content;
2118
+ min-inline-size:anchor-size(width);
2119
+ max-inline-size:100vi;
2120
+ padding:var(--tds-select-dropdown-padding);
2121
+ margin-block:var(--tds-select-dropdown-margin-block);
2122
+ position-area:block-end span-inline-start;
2123
+ position-try-fallbacks:flip-block, flip-inline;
2124
+ overflow:auto;
2125
+ overflow-x:hidden;
2126
+ scroll-behavior:var(--tds-select-dropdown-scroll-behavior);
2127
+ overscroll-behavior:none;
2128
+ -webkit-user-select:none;
2129
+ -moz-user-select:none;
2130
+ user-select:none;
2131
+ scrollbar-color:var(--tds-select-dropdown-scrollbar-color);
2132
+ scrollbar-width:var(--tds-select-dropdown-scrollbar-width);
2133
+ background:var(--tds-select-dropdown-background-color);
2134
+ border:var(--tds-select-dropdown-border);
2135
+ border-radius:var(--tds-select-dropdown-border-radius);
2136
+ box-shadow:var(--tds-select-dropdown-box-shadow);
2137
+ opacity:var(--tds-select-dropdown-open-opacity);
2138
+ translate:var(--tds-select-dropdown-open-translate);
2139
+ transition:var(--tds-select-dropdown-transition);
2140
+ }
2212
2141
 
2213
- .tds-field-date-segment-separator{
2214
- padding-inline:0;
2215
- color:var(--tds-field-placeholder-color);
2216
- }
2142
+ :is(.tds-select select:has( > button)) option::checkmark{
2143
+ display:none;
2144
+ }
2217
2145
 
2218
- .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2219
- color:var(--tds-field-color);
2146
+ @starting-style{
2147
+ :is(.tds-select select:has( > button))::picker(select):popover-open{
2148
+ opacity:var(--tds-select-dropdown-closed-opacity);
2149
+ translate:var(--tds-select-dropdown-closed-translate);
2150
+ }
2151
+ }
2220
2152
  }
2221
2153
 
2222
2154
  .tds-radio{
@@ -2352,367 +2284,437 @@
2352
2284
  --tds-radio-description-line-height:1.3;
2353
2285
  }
2354
2286
 
2287
+ .tds-input{
2288
+ --tds-input-border-color:var(--t-form-border-color);
2289
+ --tds-input-border-color-hover:var(--t-form-border-color-hover);
2290
+ --tds-input-background-color:var(--t-form-background-color);
2291
+ --tds-input-color:var(--t-form-color);
2292
+ --tds-input-font-size:var(--t-font-size-md);
2293
+ --tds-input-description-color:var(--t-text-color-secondary);
2294
+ --tds-input-description-invalid-icon-display:none;
2295
+ --tds-input-min-height:var(--t-container-size-md);
2296
+ --tds-input-padding-inline:var(--t-spacing-1);
2355
2297
 
2356
- @media (prefers-reduced-motion: no-preference){
2298
+ --tds-input-transition-property:background-color, border-color, outline-color, outline-offset;
2357
2299
 
2358
- :root{
2359
- interpolate-size:allow-keywords;
2300
+ display:flex;
2301
+ flex-direction:column;
2302
+ gap:var(--t-spacing-half);
2360
2303
  }
2304
+
2305
+ .tds-input label{
2306
+ font-size:var(--t-font-size-md);
2307
+ font-weight:var(--t-font-weight-normal);
2308
+ color:var(--t-text-color);
2361
2309
  }
2362
2310
 
2363
- @layer tds-component{
2364
- tds-sidenav,
2365
- .tds-sidenav{
2366
- --tds-sidenav-indent:12px;
2367
- --tds-sidenav-item-depth:0;
2311
+ .tds-input :is(input,textarea){
2312
+ inline-size:100%;
2313
+ block-size:auto;
2314
+ min-block-size:var(--tds-input-min-height);
2315
+ padding-block:var(--tds-input-padding-block);
2316
+ padding-inline:var(--tds-input-padding-inline);
2317
+ font-family:inherit;
2318
+ font-size:var(--tds-input-font-size);
2319
+ color:var(--tds-input-color);
2320
+ -webkit-appearance:none;
2321
+ -moz-appearance:none;
2322
+ appearance:none;
2323
+ outline:var(--t-focus-ring-width) solid transparent;
2324
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2325
+ outline-offset:0;
2326
+ background-color:var(--tds-input-background-color);
2327
+ border:var(--t-form-border-width) solid var(--tds-input-border-color);
2328
+ border-radius:var(--t-form-border-radius);
2329
+ transition-timing-function:var(--t-ease-in-out);
2330
+ transition-duration:var(--t-duration-200);
2331
+ transition-property:var(--tds-input-transition-property);
2332
+ }
2368
2333
 
2369
- --tds-sidenav-item-transition:background-color var(--t-duration-200) var(--t-ease-in-out);
2334
+ :is(.tds-input :is(input,textarea)):hover:not(:disabled,:focus-visible,[readonly]){
2335
+ border-color:var(--tds-input-border-color-hover);
2336
+ }
2370
2337
 
2371
- --tds-sidenav-collapse-transition-enter:opacity var(--t-duration-300) var(--t-ease-out), transform var(--t-duration-300) var(--t-ease-out), display var(--t-duration-300) allow-discrete, overlay var(--t-duration-300) allow-discrete;
2372
- --tds-sidenav-collapse-transition-exit:opacity var(--t-duration-200) var(--t-ease-in), display var(--t-duration-200) allow-discrete, overlay var(--t-duration-200) allow-discrete;
2373
- --tds-sidenav-collapse-closed-opacity:0;
2374
- --tds-sidenav-collapse-open-opacity:1;
2375
- --tds-sidenav-collapse-closed-transform:translateY(-8px);
2376
- --tds-sidenav-collapse-open-transform:translateY(0);
2338
+ :is(.tds-input :is(input,textarea)):focus{
2339
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2340
+ }
2377
2341
 
2378
- --tds-sidenav-item-icon-size:var(--t-element-size-md);
2379
- --tds-sidenav-item-background-hover:var(--t-fill-color-button-interaction-ghost-hover);
2380
- --tds-sidenav-item-background-active:var(--t-fill-color-button-interaction-ghost-active);
2381
- --tds-sidenav-item-background-selected:var(--t-fill-color-button-interaction-ghost-active);
2342
+ :is(.tds-input :is(input,textarea)):focus-visible{
2343
+ outline-color:var(--t-focus-ring-color);
2344
+ outline-offset:var(--t-focus-ring-offset);
2345
+ border-color:var(--t-form-border-color-focus);
2346
+ }
2382
2347
 
2383
- --tds-sidenav-item-nested-background-hover:var(--tds-sidenav-item-background-hover);
2384
- --tds-sidenav-item-nested-background-active:var(--tds-sidenav-item-background-hover);
2385
- --tds-sidenav-item-nested-background-selected:transparent;
2348
+ :is(.tds-input :is(input,textarea))::-moz-placeholder{
2349
+ color:var(--t-form-placeholder-color);
2350
+ -moz-user-select:none;
2351
+ user-select:none;
2352
+ }
2386
2353
 
2387
- --tds-sidenav-item-nested-border-color:var(--t-fill-color-neutral-050);
2388
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2389
- --tds-sidenav-item-nested-border-color-selected:var(--t-border-color-status-info);
2354
+ :is(.tds-input :is(input,textarea))::placeholder{
2355
+ color:var(--t-form-placeholder-color);
2356
+ -webkit-user-select:none;
2357
+ -moz-user-select:none;
2358
+ user-select:none;
2359
+ }
2390
2360
 
2391
- --tds-sidenav-item-icon-color:var(--t-icon-color-secondary);
2392
- --tds-sidenav-item-icon-color-selected:var(--t-icon-color);
2361
+ @media (prefers-reduced-motion: reduce){
2362
+
2363
+ .tds-input :is(input,textarea){
2364
+ --tds-input-transition-property:none;
2393
2365
  }
2366
+ }
2394
2367
 
2395
- @media (prefers-reduced-motion: reduce){
2396
- tds-sidenav,
2397
- .tds-sidenav{
2398
- --tds-sidenav-collapse-transition-enter:none;
2399
- --tds-sidenav-collapse-transition-exit:none;
2400
- --tds-sidenav-collapse-closed-transform:none;
2401
- --tds-sidenav-collapse-open-transform:none;
2368
+ .tds-input.tds-input--invalid,.tds-input:has(:is(input,textarea):is(:user-invalid,[aria-invalid="true"])){
2369
+ --tds-input-background-color:var(--t-form-background-color-error);
2370
+ --tds-input-border-color:var(--t-form-border-color-error);
2371
+ --tds-input-border-color-hover:var(--t-form-border-color-error-hover);
2372
+ --tds-input-description-color:var(--t-text-color-status-error);
2373
+ --tds-input-description-invalid-icon-display:inline-block;
2402
2374
  }
2375
+
2376
+ .tds-input:has(:is(input,textarea):required) label::after{
2377
+ margin-left:.25ch;
2378
+ color:var(--t-text-color-status-error);
2379
+ content:"*";
2403
2380
  }
2404
2381
 
2405
- .tds-sidenav--theme-gray{
2406
- --tds-sidenav-item-background-hover:var(--t-fill-color-neutral-080);
2407
- --tds-sidenav-item-background-active:var(--t-fill-color-neutral-070);
2408
- --tds-sidenav-item-background-selected:var(--t-fill-color-neutral-050);
2409
- --tds-sidenav-item-nested-border-color-hover:var(--t-fill-color-neutral-050);
2410
- --tds-sidenav-item-nested-border-color-selected:var(--t-fill-color-neutral-010);
2382
+ .tds-input:where(:has(:is(input,textarea):disabled)){
2383
+ --tds-input-border-color:var(--t-form-border-color-disabled);
2384
+ --tds-input-background-color:var(--t-form-background-color-disabled);
2385
+ --tds-input-color:var(--t-form-color-disabled);
2411
2386
  }
2412
- }
2413
2387
 
2414
- .tds-sidenav :where(nav,ul,.tds-sidenav-section){
2415
- display:flex;
2388
+ .tds-input:where(:has(:is(input,textarea):disabled)) :is(input,textarea){
2389
+ cursor:not-allowed;
2390
+ }
2391
+
2392
+ .tds-input:where(:has(:is(input,textarea)[readonly])){
2393
+ --tds-input-border-color:var(--t-form-border-color-readonly);
2394
+ --tds-input-background-color:var(--t-form-background-color-readonly);
2416
2395
  }
2417
2396
 
2418
- .tds-sidenav :where(nav,ul,.tds-sidenav-section,.tds-sidenav-collapse){
2419
- flex-direction:column;
2420
- gap:var(--t-spacing-half);
2421
- width:100%;
2397
+ .tds-input:where(:has(:is(input,textarea)[readonly])) :is(input,textarea):focus{
2398
+ border-color:var(--tds-input-border-color-hover);
2399
+ }
2400
+
2401
+ .tds-input.tds-input--lg{
2402
+ --tds-input-min-height:var(--t-container-size-lg);
2403
+ --tds-input-font-size:var(--t-font-size-lg);
2422
2404
  }
2423
2405
 
2424
- .tds-sidenav-section-list{
2425
- width:100%;
2426
- padding:0;
2406
+ .tds-input-description{
2407
+ display:flex;
2408
+ gap:var(--t-spacing-half);
2409
+ align-items:flex-start;
2427
2410
  margin:0;
2428
- list-style:none;
2411
+ font-size:var(--t-font-size-sm);
2412
+ line-height:1.35;
2413
+ color:var(--tds-input-description-color, var(--t-text-color-secondary));
2414
+ cursor:text;
2429
2415
  }
2430
2416
 
2431
- .tds-sidenav-section-header{
2417
+ .tds-input-description .tds-input-description-invalid-icon{
2418
+ display:var(--tds-input-description-invalid-icon-display, none);
2419
+ flex-shrink:0;
2420
+ margin-block-start:calc(.5lh - .5em);
2421
+ line-height:1.35;
2422
+ }
2423
+
2424
+ .tds-field{
2425
+ --tds-field-border-color:var(--t-form-border-color);
2426
+ --tds-field-border-color-hover:var(--t-form-border-color-hover);
2427
+ --tds-field-border-color-active:var(--t-form-border-color-focus);
2428
+ --tds-field-background-color:var(--t-form-background-color);
2429
+ --tds-field-color:var(--t-form-color);
2430
+ --tds-field-placeholder-color:var(--t-form-placeholder-color);
2431
+ --tds-field-font-size:var(--t-font-size-md);
2432
+ --tds-field-min-height:var(--t-container-size-md);
2433
+ --tds-field-padding-block:6px;
2434
+ --tds-field-padding-inline:var(--t-spacing-1);
2435
+ --tds-field-description-color:var(--t-text-color-secondary);
2436
+ --tds-field-description-invalid-icon-display:none;
2437
+
2438
+ position:relative;
2432
2439
  display:flex;
2433
- align-items:baseline;
2434
- justify-content:space-between;
2435
- padding-top:var(--t-spacing-2);
2440
+ flex-direction:column;
2441
+ gap:var(--t-spacing-half);
2436
2442
  }
2437
2443
 
2438
- .tds-sidenav-section-header h2{
2439
- margin:0;
2440
- font-size:var(--t-font-size-sm);
2441
- font-weight:var(--t-font-weight-semibold);
2442
- line-height:1.35;
2443
- color:var(--t-text-color-secondary);
2444
- text-transform:uppercase;
2444
+ .tds-field[data-required] .tds-field-label::after{
2445
+ margin-left:.25ch;
2446
+ color:var(--t-text-color-status-error);
2447
+ content:"*";
2445
2448
  }
2446
2449
 
2447
- .tds-sidenav-section:first-of-type .tds-sidenav-section-header{
2448
- padding-top:0;
2450
+ .tds-field[data-invalid]{
2451
+ --tds-field-border-color:var(--t-form-border-color-error);
2452
+ --tds-field-border-color-hover:var(--t-form-border-color-error-hover);
2453
+ --tds-field-border-color-active:var(--t-form-border-color-error-hover);
2454
+ --tds-field-background-color:var(--t-form-background-color-error);
2455
+ --tds-field-description-color:var(--t-text-color-status-error);
2456
+ --tds-field-description-invalid-icon-display:inline-block;
2449
2457
  }
2450
2458
 
2451
- .tds-sidenav-section-header [slot="label-actions"]{
2452
- display:flex;
2453
- gap:var(--t-spacing-half);
2454
- align-items:center;
2459
+ .tds-field[data-disabled]{
2460
+ --tds-field-border-color:var(--t-form-border-color-disabled);
2461
+ --tds-field-background-color:var(--t-form-background-color-disabled);
2462
+ --tds-field-color:var(--t-form-color-disabled);
2463
+ --tds-field-placeholder-color:var(--t-form-color-disabled);
2455
2464
  }
2456
2465
 
2457
- .tds-sidenav-section [slot="section-actions"]{
2458
- display:flex;
2459
- gap:12px;
2460
- align-items:center;
2461
- min-height:42px;
2462
- padding:var(--t-spacing-1) 0;
2463
- }
2466
+ .tds-field[data-disabled] .tds-field-control{
2467
+ cursor:not-allowed;
2468
+ }
2464
2469
 
2465
- .tds-sidenav-section-list,
2466
- .tds-sidenav-item{
2467
- width:100%;
2468
- padding:0;
2469
- margin:0;
2470
+ .tds-field--lg{
2471
+ --tds-field-min-height:var(--t-container-size-lg);
2472
+ --tds-field-font-size:var(--t-font-size-lg);
2470
2473
  }
2471
2474
 
2472
- .tds-sidenav-item :is(a,button){
2473
- position:relative;
2474
- display:flex;
2475
- gap:12px;
2476
- align-items:center;
2477
- width:100%;
2478
- padding:12px;
2479
- overflow:hidden;
2480
- font-size:var(--t-font-size-sm);
2481
- line-height:18px;
2482
- color:var(--t-text-color-headline);
2483
- white-space:nowrap;
2484
- text-decoration:none;
2485
- -webkit-appearance:none;
2486
- -moz-appearance:none;
2487
- appearance:none;
2488
- cursor:pointer;
2489
- background-color:var(--tds-sidenav-item-background, transparent);
2490
- border:0;
2491
- border-radius:var(--t-border-radius);
2492
- transition:var(--tds-sidenav-item-transition);
2493
- }
2494
-
2495
- :is(.tds-sidenav-item :is(a,button)):not(:has(.prefix,.suffix)),:is(.tds-sidenav-item :is(a,button)) :is(:not(.prefix,.suffix)){
2496
- display:block;
2497
- flex:1;
2498
- overflow:hidden;
2499
- text-overflow:ellipsis;
2500
- text-align:left;
2501
- white-space:nowrap;
2502
- }
2503
-
2504
- :is(.tds-sidenav-item :is(a,button)):hover,:is(.tds-sidenav-item :is(a,button)):focus-visible{
2505
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-hover);
2506
- color:var(--t-text-color-headline);
2507
- text-decoration:none;
2508
- }
2475
+ .tds-field-label{
2476
+ font-size:var(--t-font-size-md);
2477
+ font-weight:var(--t-font-weight-normal);
2478
+ color:var(--t-text-color);
2479
+ cursor:default;
2480
+ }
2509
2481
 
2510
- :is(.tds-sidenav-item :is(a,button)):active{
2511
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-active);
2512
- }
2482
+ .tds-field-control{
2483
+ display:flex;
2484
+ align-items:center;
2485
+ inline-size:100%;
2486
+ min-block-size:var(--tds-field-min-height);
2487
+ font-family:inherit;
2488
+ font-size:var(--tds-field-font-size);
2489
+ line-height:1;
2490
+ color:var(--tds-field-color);
2491
+ -webkit-appearance:none;
2492
+ -moz-appearance:none;
2493
+ appearance:none;
2494
+ cursor:text;
2495
+ outline:var(--t-focus-ring-width) solid transparent;
2496
+ outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
2497
+ outline-offset:0;
2498
+ background-color:var(--tds-field-background-color);
2499
+ border:var(--t-form-border-width) solid var(--tds-field-border-color);
2500
+ border-radius:var(--t-form-border-radius);
2501
+ transition-timing-function:var(--t-ease-in-out);
2502
+ transition-duration:var(--t-duration-200);
2503
+ transition-property:background-color, border-color, outline-color, outline-offset;
2504
+ }
2513
2505
 
2514
- :is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"]){
2515
- overflow:hidden;
2516
- color:var(--tds-sidenav-item-icon-color);
2517
- }
2506
+ .tds-field-control[data-hovered]:not([data-focus-visible],[data-focus-within],[data-disabled]){
2507
+ border-color:var(--tds-field-border-color-hover);
2508
+ }
2518
2509
 
2519
- :is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])),:is(:is(.tds-sidenav-item :is(a,button)) :is(.prefix,[slot="prefix"])) svg{
2520
- display:block;
2521
- width:var(--tds-sidenav-item-icon-size);
2522
- height:var(--tds-sidenav-item-icon-size);
2523
- }
2510
+ .tds-field-control[data-focus-within]{
2511
+ outline-color:var(--t-focus-ring-color);
2512
+ outline-offset:var(--t-focus-ring-offset);
2513
+ border-color:var(--tds-field-border-color-active);
2514
+ }
2524
2515
 
2525
- :is(.tds-sidenav-item :is(a,button)):has(.prefix,[slot="prefix"]) + .tds-sidenav-section{
2526
- --tds-sidenav-indent:19px;
2527
- }
2516
+ .tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly]){
2517
+ --tds-field-border-color:var(--t-form-border-color-readonly);
2518
+ --tds-field-border-color-hover:var(--t-form-border-color-readonly);
2519
+ --tds-field-background-color:var(--t-form-background-color-readonly);
2520
+ color:var(--t-form-color-readonly);
2521
+ }
2528
2522
 
2529
- [aria-expanded="true"]:is(.tds-sidenav-item :is(a,button)) + .tds-sidenav-section-list{
2530
- visibility:visible;
2531
- block-size:auto;
2532
- opacity:1;
2523
+ [data-focus-within]:is(.tds-field-control[data-readonly],.tds-field-control:has([data-readonly]),.tds-field-control:has([readonly])){
2524
+ border-color:var(--t-form-border-color-hover);
2533
2525
  }
2534
2526
 
2535
- .tds-sidenav-item.selected > :is(a,button),.tds-sidenav-item:has(.tds-sidenav-section):has(.selected) > :is(a,button){
2536
- --tds-sidenav-item-background:var(--tds-sidenav-item-background-selected);
2537
- --tds-sidenav-item-icon-color:var(--tds-sidenav-item-icon-color-selected);
2527
+ .tds-field-description{
2528
+ display:flex;
2529
+ gap:var(--t-spacing-half);
2530
+ align-items:flex-start;
2531
+ margin:0;
2532
+ font-size:var(--t-font-size-sm);
2533
+ line-height:1.35;
2534
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
2535
+ cursor:text;
2536
+ }
2538
2537
 
2539
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-selected);
2540
- font-weight:var(--t-font-weight-semibold);
2538
+ .tds-field-description .tds-field-description-invalid-icon{
2539
+ display:var(--tds-field-description-invalid-icon-display, none);
2540
+ flex-shrink:0;
2541
+ margin-block-start:calc(.5lh - .5em);
2542
+ line-height:1.35;
2541
2543
  }
2542
2544
 
2543
- .tds-sidenav-item:has(.tds-sidenav-section){
2544
- display:flex;
2545
- flex-direction:column;
2546
- gap:var(--t-spacing-half);
2547
- }
2545
+ .tds-field-date-segment{
2546
+ padding-inline:var(--tds-field-date-segment-padding-inline, 2px);
2547
+ text-align:end;
2548
+ text-wrap:nowrap;
2549
+ caret-color:transparent;
2550
+ border-radius:var(--t-border-radius-sm);
2551
+ }
2548
2552
 
2549
- .tds-sidenav-item .tds-sidenav-section-list{
2550
- --tds-sidenav-item-depth:1;
2551
- gap:0;
2553
+ .tds-field-date-segment[data-placeholder]{
2554
+ color:var(--tds-field-placeholder-color);
2552
2555
  }
2553
2556
 
2554
- .tds-sidenav-action--toggle + :is(.tds-sidenav-item .tds-sidenav-section-list){
2555
- visibility:hidden;
2556
- block-size:0;
2557
- overflow-y:clip;
2558
- opacity:0;
2559
- transition:content-visibility var(--t-duration-400) allow-discrete, opacity var(--t-duration-400), block-size var(--t-duration-400);
2560
- }
2561
-
2562
- :is(.tds-sidenav-item .tds-sidenav-section-list) .tds-sidenav-section-list{
2563
- --tds-sidenav-item-depth:2;
2564
- }
2557
+ .tds-field-date-segment[data-focused]{
2558
+ color:var(--t-text-color-inverted);
2559
+ outline:0;
2560
+ background-color:var(--t-fill-color-interaction);
2561
+ }
2565
2562
 
2566
- :is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2567
- min-height:var(--t-element-size-2xl);
2568
- padding-block:9px;
2569
- padding-left:calc((var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth)) + var(--tds-sidenav-indent) + var(--t-spacing-fourth));
2570
- line-height:1;
2571
- background-color:transparent;
2572
- }
2563
+ .tds-field-date-segment-separator{
2564
+ padding-inline:0;
2565
+ color:var(--tds-field-placeholder-color);
2566
+ }
2573
2567
 
2574
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::before{
2575
- position:absolute;
2576
- top:0;
2577
- bottom:0;
2578
- left:calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2579
- width:2px;
2580
- content:"";
2581
- background-color:var(--tds-sidenav-item-nested-border-color);
2582
- transition:var(--tds-sidenav-item-transition);
2583
- }
2568
+ .tds-field-date-segment:not([data-placeholder]) + .tds-field-date-segment-separator{
2569
+ color:var(--tds-field-color);
2570
+ }
2584
2571
 
2585
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button))::after{
2586
- position:absolute;
2587
- inset:0 0 0 calc(var(--tds-sidenav-indent) * var(--tds-sidenav-item-depth));
2588
- z-index:-1;
2589
- height:100%;
2590
- content:"";
2591
- background-color:var(--tds-sidenav-item-nested-background);
2592
- border-radius:0 var(--t-border-radius) var(--t-border-radius) 0;
2593
- transition:var(--tds-sidenav-item-transition);
2594
- }
2572
+ .tds-time-field-input{
2573
+ --tds-field-date-segment-padding-inline:1px;
2574
+ padding-block:var(--tds-field-padding-block);
2575
+ padding-inline:var(--tds-field-padding-inline);
2576
+ font-variant-numeric:tabular-nums;
2577
+ }
2595
2578
 
2596
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):not(:has(.prefix,.suffix)),:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)) :is(:not(.prefix,.suffix)){
2597
- display:block;
2598
- text-align:left;
2599
- white-space:normal;
2600
- }
2579
+ .tds-toggle-switch{
2580
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
2581
+ --tds-toggle-switch-cursor:pointer;
2582
+ --tds-toggle-switch-display:inline-grid;
2583
+ --tds-toggle-switch-line-height:1.4;
2601
2584
 
2602
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):hover,:is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):focus-visible{
2603
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-hover);
2604
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-hover);
2605
- }
2585
+ --tds-toggle-switch-label-color:var(--t-form-color);
2606
2586
 
2607
- :is(:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button)):active{
2608
- --tds-sidenav-item-nested-background:var(--tds-sidenav-item-nested-background-active);
2609
- }
2587
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
2588
+ --tds-toggle-switch-track-outline:none;
2589
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
2590
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2591
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2610
2592
 
2611
- .selected:is(.tds-sidenav-section-list .tds-sidenav-section-list .tds-sidenav-item) :is(a,button){
2612
- --tds-sidenav-item-nested-border-color:var(--tds-sidenav-item-nested-border-color-selected);
2613
- font-weight:var(--t-font-weight-medium);
2614
- }
2593
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2594
+ --tds-toggle-switch-thumb-transform:translateX(0);
2595
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2615
2596
 
2616
- .tds-sidenav-responsive-header{
2617
- display:flex;
2618
- gap:var(--t-spacing-2);
2619
- align-items:center;
2620
- width:100%;
2621
- }
2597
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2598
+ --tds-toggle-switch-description-line-height:1.35;
2599
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2600
+ position:relative;
2622
2601
 
2623
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-toggle{
2624
- order:0;
2625
- }
2602
+ display:var(--tds-toggle-switch-display);
2603
+ grid-template-columns:auto;
2604
+ grid-auto-columns:1fr;
2605
+ gap:var(--t-spacing-fourth) 0;
2606
+ -webkit-user-select:none;
2607
+ -moz-user-select:none;
2608
+ user-select:none;
2609
+ }
2626
2610
 
2627
- .tds-sidenav-responsive-header .tds-sidenav-responsive-header-label{
2628
- flex:1;
2629
- order:1;
2611
+ .tds-toggle-switch input[type="checkbox"]{
2612
+ position:absolute;
2613
+ width:var(--tds-toggle-switch-track-width);
2614
+ height:var(--tds-toggle-switch-track-height);
2630
2615
  margin:0;
2631
- font-size:var(--t-font-size-lg);
2632
- font-weight:var(--t-font-weight-medium);
2633
- color:var(--t-text-color-headline);
2616
+ -webkit-appearance:none;
2617
+ -moz-appearance:none;
2618
+ appearance:none;
2619
+ cursor:var(--tds-toggle-switch-cursor);
2620
+ outline:var(--tds-toggle-switch-track-outline);
2621
+ outline-offset:var(--t-focus-ring-offset);
2622
+ background-color:transparent;
2623
+ border:0;
2624
+ border-radius:var(--t-border-radius-round);
2634
2625
  }
2635
2626
 
2636
- @media (max-width: 719px){
2637
- .tds-sidenav-collapse{
2638
- z-index:10001;
2639
- display:none;
2640
- max-width:min(448px, calc(100vw - 48px));
2641
- padding:0;
2642
- margin:12px 0;
2643
- position-area:bottom span-right;
2644
- overflow:hidden;
2645
- outline:0;
2646
- background:var(--t-surface-color-card);
2647
- border:0;
2648
- border-radius:6px;
2649
- box-shadow:0 8px 20px 0 rgba(0, 0, 0, .25);
2650
- opacity:var(--tds-sidenav-collapse-open-opacity);
2651
- transform:var(--tds-sidenav-collapse-open-transform);
2652
- transition:var(--tds-sidenav-collapse-transition-enter);
2653
- will-change:transform;
2627
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2628
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2629
+ }
2630
+
2631
+ .tds-toggle-switch label{
2632
+ display:inline-flex;
2633
+ grid-area:1 / 2;
2634
+ padding-inline-start:var(--t-spacing-1);
2635
+ margin-top:-.09375em;
2636
+ font-size:var(--tds-toggle-switch-font-size);
2637
+ font-weight:var(--t-font-weight-normal);
2638
+ line-height:var(--tds-toggle-switch-line-height);
2639
+ color:var(--tds-toggle-switch-label-color);
2640
+ cursor:var(--tds-toggle-switch-cursor);
2654
2641
  }
2655
2642
 
2656
- .tds-sidenav-scroll-container{
2657
- --webkit-overflow-scrolling:touch;
2658
- display:block;
2659
- width:100%;
2660
- height:-moz-fit-content;
2661
- height:fit-content;
2662
- padding:var(--t-spacing-2);
2663
- overflow-y:auto;
2643
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2644
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2664
2645
  }
2665
2646
 
2666
- .tds-sidenav-item :is(a, button) :is(.prefix){
2667
- display:none;
2647
+ .tds-toggle-switch:has(input:checked){
2648
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2649
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2668
2650
  }
2669
- @supports selector(:popover-open){
2670
- .tds-sidenav-collapse:popover-open{
2671
- display:flex;
2672
- }
2673
2651
 
2674
- .tds-sidenav-collapse:not(:popover-open){
2675
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2676
- transition:var(--tds-sidenav-collapse-transition-exit);
2652
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2653
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2677
2654
  }
2678
2655
 
2679
- @starting-style{
2680
- .tds-sidenav-collapse:popover-open{
2681
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2682
- transform:var(--tds-sidenav-collapse-closed-transform);
2683
- }
2684
- }
2656
+ .tds-toggle-switch:has(input:disabled){
2657
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2658
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2659
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2660
+ --tds-toggle-switch-cursor:not-allowed;
2685
2661
  }
2686
- @supports not selector(:popover-open){
2687
- .tds-sidenav-collapse.\:popover-open{
2688
- display:flex;
2689
- }
2690
2662
 
2691
- .tds-sidenav-collapse:not(.\:popover-open){
2692
- opacity:var(--tds-sidenav-collapse-closed-opacity);
2693
- transition:var(--tds-sidenav-collapse-transition-exit);
2694
- }
2695
- }
2663
+ .tds-toggle-switch-track{
2664
+ position:relative;
2665
+ flex-shrink:0;
2666
+ width:var(--tds-toggle-switch-track-width);
2667
+ height:var(--tds-toggle-switch-track-height);
2668
+ background-color:var(--tds-toggle-switch-track-background-color);
2669
+ border-radius:var(--t-border-radius-round);
2670
+ transition:var(--tds-toggle-switch-track-transition);
2696
2671
  }
2697
2672
 
2698
- @media (min-width: 720px){
2699
- .tds-sidenav-responsive-header{
2700
- display:none;
2673
+ .tds-toggle-switch-track::before{
2674
+ position:absolute;
2675
+ top:var(--t-spacing-fourth);
2676
+ left:var(--t-spacing-fourth);
2677
+ width:var(--tds-toggle-switch-thumb-size);
2678
+ height:var(--tds-toggle-switch-thumb-size);
2679
+ content:"";
2680
+ background-color:#fff;
2681
+ border-radius:var(--t-border-radius-round);
2682
+ transform:var(--tds-toggle-switch-thumb-transform);
2683
+ transition:var(--tds-toggle-switch-thumb-transition);
2701
2684
  }
2685
+
2686
+ @media (prefers-reduced-motion: reduce){
2687
+
2688
+ .tds-toggle-switch-track{
2689
+ --tds-toggle-switch-track-transition:none;
2690
+ --tds-toggle-switch-thumb-transition:none;
2702
2691
  }
2692
+ }
2703
2693
 
2704
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > :not([slot="ssr"]){
2705
- display:none;
2706
- }
2694
+ .tds-toggle-switch-description{
2695
+ display:flex;
2696
+ grid-area:2 / 2;
2697
+ align-items:flex-start;
2698
+ padding-inline-start:var(--t-spacing-1);
2699
+ margin:0;
2700
+ font-size:var(--tds-toggle-switch-description-font-size);
2701
+ line-height:var(--tds-toggle-switch-description-line-height);
2702
+ color:var(--tds-toggle-switch-description-color);
2703
+ cursor:text;
2704
+ }
2707
2705
 
2708
- :is(tds-sidenav,tds-sidenav-section,tds-sidenav-item):not(.hydrated) > [slot="ssr"]{
2709
- display:block;
2710
- }
2706
+ .tds-toggle-switch--sm{
2707
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
2708
+ --tds-toggle-switch-line-height:1.35;
2709
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
2710
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2711
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2712
+ --tds-toggle-switch-description-line-height:1.3;
2713
+ }
2711
2714
 
2712
- tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
2713
- display:flex;
2714
- flex-direction:column;
2715
- }
2715
+ .tds-toggle-switch--hide-label{
2716
+ --tds-toggle-switch-display:inline-flex;
2717
+ }
2716
2718
 
2717
2719
  .tds-loading-spinner{
2718
2720
  --tds-loading-spinner-size:1.25em;
@@ -4301,6 +4303,115 @@ a.tds-dropdown-item:is(:hover, :active){
4301
4303
  border-top:1px solid var(--t-border-color);
4302
4304
  }
4303
4305
 
4306
+ .tds-field{
4307
+ --tds-field-label-color:var(--t-text-color);
4308
+ --tds-field-label-cursor:default;
4309
+ --tds-field-label-font-size:var(--t-font-size-md);
4310
+ --tds-field-description-color:var(--t-text-color-secondary);
4311
+ --tds-field-description-cursor:text;
4312
+ --tds-field-description-font-size:var(--t-font-size-sm);
4313
+ --tds-field-description-line-height:1.35;
4314
+ --tds-field-description-invalid-icon-display:none;
4315
+
4316
+ position:relative;
4317
+ display:flex;
4318
+ flex-direction:column;
4319
+ gap:var(--t-spacing-half);
4320
+ }
4321
+
4322
+ .tds-field:has(:disabled){
4323
+ --tds-field-label-color:var(--t-form-color-disabled);
4324
+ --tds-field-label-cursor:not-allowed;
4325
+ --tds-field-description-color:var(--t-form-color-disabled);
4326
+ --tds-field-description-cursor:not-allowed;
4327
+ }
4328
+
4329
+ .tds-field:has([required],[aria-required="true"]) .tds-field-label::after{
4330
+ margin-left:.25ch;
4331
+ color:var(--t-text-color-status-error);
4332
+ content:"*" / "";
4333
+ }
4334
+
4335
+ .tds-field:has([aria-invalid="true"],:user-invalid){
4336
+ --tds-field-description-color:var(--t-text-color-status-error);
4337
+ --tds-field-description-invalid-icon-display:inline-block;
4338
+ }
4339
+
4340
+ .tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"]){
4341
+ --tds-field-label-cursor:pointer;
4342
+
4343
+ display:grid;
4344
+ grid-template-columns:auto;
4345
+ grid-auto-columns:1fr;
4346
+ row-gap:var(--t-spacing-fourth);
4347
+ -moz-column-gap:var(--t-spacing-1);
4348
+ column-gap:var(--t-spacing-1);
4349
+ }
4350
+
4351
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])):has(:disabled){
4352
+ --tds-field-label-cursor:not-allowed;
4353
+ }
4354
+
4355
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) input[type="checkbox"],:is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) input[type="radio"],:is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) tds-indeterminate{
4356
+ grid-row:1;
4357
+ grid-column:1;
4358
+ align-self:center;
4359
+ }
4360
+
4361
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) tds-indeterminate{
4362
+ display:flex;
4363
+ }
4364
+
4365
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) .tds-field-label{
4366
+ grid-row:1;
4367
+ grid-column:2;
4368
+ }
4369
+
4370
+ :is(.tds-field:has(input[type="checkbox"]),.tds-field:has(tds-indeterminate),.tds-field:has(input[type="radio"])) .tds-field-description{
4371
+ grid-row:2;
4372
+ grid-column:2;
4373
+ }
4374
+
4375
+ .tds-field--sm{
4376
+ --tds-field-label-font-size:var(--t-font-size-sm);
4377
+ --tds-field-description-font-size:var(--t-font-size-xs);
4378
+ --tds-field-description-line-height:1.3;
4379
+ }
4380
+
4381
+ .tds-field-label{
4382
+ font-size:var(--tds-field-label-font-size);
4383
+ font-weight:var(--t-font-weight-normal);
4384
+ color:var(--tds-field-label-color);
4385
+ cursor:var(--tds-field-label-cursor);
4386
+ }
4387
+
4388
+ .tds-field-label--hidden{
4389
+ position:absolute;
4390
+ width:1px;
4391
+ height:1px;
4392
+ overflow:hidden;
4393
+ white-space:nowrap;
4394
+ clip-path:inset(50%);
4395
+ }
4396
+
4397
+ .tds-field-description{
4398
+ display:flex;
4399
+ gap:var(--t-spacing-half);
4400
+ align-items:flex-start;
4401
+ margin:0;
4402
+ font-size:var(--tds-field-description-font-size);
4403
+ line-height:var(--tds-field-description-line-height);
4404
+ color:var(--tds-field-description-color, var(--t-text-color-secondary));
4405
+ cursor:var(--tds-field-description-cursor);
4406
+ }
4407
+
4408
+ .tds-field-description .tds-field-description-invalid-icon{
4409
+ display:var(--tds-field-description-invalid-icon-display, none);
4410
+ flex-shrink:0;
4411
+ margin-block-start:calc(.5lh - .5em);
4412
+ line-height:var(--tds-field-description-line-height);
4413
+ }
4414
+
4304
4415
  .t-banner{
4305
4416
  --t-banner-font-size:var(--t-font-size-md);
4306
4417
  --t-banner-font-color:var(--t-text-color);