@planningcenter/tapestry 4.2.0 → 4.2.1-rc.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.
@@ -1316,6 +1316,122 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1316
1316
  }
1317
1317
  }
1318
1318
 
1319
+ .tds-button-group{
1320
+ display:inline-flex;
1321
+ }
1322
+ .tds-button-group > .tds-btn{
1323
+ --tds-button-group-item-z-index:1;
1324
+
1325
+ position:relative;
1326
+ z-index:var(--tds-button-group-item-z-index);
1327
+ border-radius:0;
1328
+ }
1329
+ :is(.tds-button-group > .tds-btn):not(:first-child){
1330
+ margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1331
+ }
1332
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1333
+ position:absolute;
1334
+ inset-block:calc(var(--tds-btn-border-width) * -1);
1335
+ width:var(--tds-btn-border-width);
1336
+ pointer-events:none;
1337
+ content:"";
1338
+ background-color:var(--t-border-color-white);
1339
+ }
1340
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1341
+ inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1342
+ }
1343
+ :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1344
+ inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1345
+ }
1346
+ :is(.tds-button-group > .tds-btn):hover{
1347
+ --tds-button-group-item-z-index:2;
1348
+ }
1349
+ :is(.tds-button-group > .tds-btn):focus-visible{
1350
+ --tds-button-group-item-z-index:5;
1351
+ }
1352
+ .tds-button-group > .tds-btn:first-child{
1353
+ border-start-start-radius:var(--tds-btn-border-radius);
1354
+ border-end-start-radius:var(--tds-btn-border-radius);
1355
+ }
1356
+ .tds-button-group > .tds-btn:last-child{
1357
+ border-start-end-radius:var(--tds-btn-border-radius);
1358
+ border-end-end-radius:var(--tds-btn-border-radius);
1359
+ }
1360
+
1361
+ .tds-checkbox-group{
1362
+ --tds-checkbox-group-font-size:var(--t-font-size-md);
1363
+ --tds-checkbox-group-line-height:1.4;
1364
+ --tds-checkbox-group-gap:var(--t-spacing-1);
1365
+
1366
+ --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1367
+ --tds-checkbox-group-description-line-height:1.35;
1368
+ --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1369
+ --tds-checkbox-group-description-invalid-icon-display:none;
1370
+ display:flex;
1371
+ flex-direction:column;
1372
+ gap:0;
1373
+ padding:0;
1374
+ margin:0;
1375
+
1376
+ font-size:var(--tds-checkbox-group-font-size);
1377
+ line-height:var(--tds-checkbox-group-line-height);
1378
+ border:0;
1379
+ }
1380
+
1381
+ .tds-checkbox-group legend{
1382
+ float:left;
1383
+ padding:0;
1384
+ margin:0;
1385
+ }
1386
+
1387
+ .tds-checkbox-group[aria-invalid="true"]{
1388
+ --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1389
+ --tds-checkbox-group-description-invalid-icon-display:inline-block;
1390
+ }
1391
+
1392
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1393
+ margin-left:.25ch;
1394
+ color:var(--t-text-color-status-error);
1395
+ content:"*";
1396
+ }
1397
+
1398
+ .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1399
+ content:none;
1400
+ }
1401
+
1402
+ .tds-checkbox-group-fields{
1403
+ display:flex;
1404
+ flex-direction:column;
1405
+ gap:var(--tds-checkbox-group-gap);
1406
+ align-items:flex-start;
1407
+ margin-top:var(--t-spacing-1);
1408
+ }
1409
+
1410
+ .tds-checkbox-group-description{
1411
+ display:flex;
1412
+ gap:var(--t-spacing-half);
1413
+ align-items:flex-start;
1414
+ margin:var(--t-spacing-fourth) 0 0;
1415
+ font-size:var(--tds-checkbox-group-description-font-size);
1416
+ line-height:var(--tds-checkbox-group-description-line-height);
1417
+ color:var(--tds-checkbox-group-description-color);
1418
+ cursor:text;
1419
+ }
1420
+
1421
+ .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1422
+ display:var(--tds-checkbox-group-description-invalid-icon-display);
1423
+ flex-shrink:0;
1424
+ margin-top:calc(.5lh - .5em);
1425
+ line-height:var(--tds-checkbox-group-description-line-height);
1426
+ }
1427
+
1428
+ .tds-checkbox-group--sm{
1429
+ --tds-checkbox-group-line-height:1.35;
1430
+ --tds-checkbox-group-font-size:var(--t-font-size-sm);
1431
+ --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1432
+ --tds-checkbox-group-description-line-height:1.3;
1433
+ }
1434
+
1319
1435
  .tds-checkbox{
1320
1436
  --tds-checkbox-font-size:var(--t-font-size-md);
1321
1437
  --tds-checkbox-cursor:pointer;
@@ -1511,122 +1627,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1511
1627
  --tds-checkbox-description-line-height:1.3;
1512
1628
  }
1513
1629
 
1514
- .tds-checkbox-group{
1515
- --tds-checkbox-group-font-size:var(--t-font-size-md);
1516
- --tds-checkbox-group-line-height:1.4;
1517
- --tds-checkbox-group-gap:var(--t-spacing-1);
1518
-
1519
- --tds-checkbox-group-description-font-size:var(--t-font-size-sm);
1520
- --tds-checkbox-group-description-line-height:1.35;
1521
- --tds-checkbox-group-description-color:var(--t-text-color-secondary);
1522
- --tds-checkbox-group-description-invalid-icon-display:none;
1523
- display:flex;
1524
- flex-direction:column;
1525
- gap:0;
1526
- padding:0;
1527
- margin:0;
1528
-
1529
- font-size:var(--tds-checkbox-group-font-size);
1530
- line-height:var(--tds-checkbox-group-line-height);
1531
- border:0;
1532
- }
1533
-
1534
- .tds-checkbox-group legend{
1535
- float:left;
1536
- padding:0;
1537
- margin:0;
1538
- }
1539
-
1540
- .tds-checkbox-group[aria-invalid="true"]{
1541
- --tds-checkbox-group-description-color:var(--t-text-color-status-error);
1542
- --tds-checkbox-group-description-invalid-icon-display:inline-block;
1543
- }
1544
-
1545
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) legend::after{
1546
- margin-left:.25ch;
1547
- color:var(--t-text-color-status-error);
1548
- content:"*";
1549
- }
1550
-
1551
- .tds-checkbox-group:has(.tds-checkbox input:required):not(:has(.tds-checkbox input:not(:required))) .tds-checkbox label::after{
1552
- content:none;
1553
- }
1554
-
1555
- .tds-checkbox-group-fields{
1556
- display:flex;
1557
- flex-direction:column;
1558
- gap:var(--tds-checkbox-group-gap);
1559
- align-items:flex-start;
1560
- margin-top:var(--t-spacing-1);
1561
- }
1562
-
1563
- .tds-checkbox-group-description{
1564
- display:flex;
1565
- gap:var(--t-spacing-half);
1566
- align-items:flex-start;
1567
- margin:var(--t-spacing-fourth) 0 0;
1568
- font-size:var(--tds-checkbox-group-description-font-size);
1569
- line-height:var(--tds-checkbox-group-description-line-height);
1570
- color:var(--tds-checkbox-group-description-color);
1571
- cursor:text;
1572
- }
1573
-
1574
- .tds-checkbox-group-description .tds-checkbox-group-description-invalid-icon{
1575
- display:var(--tds-checkbox-group-description-invalid-icon-display);
1576
- flex-shrink:0;
1577
- margin-top:calc(.5lh - .5em);
1578
- line-height:var(--tds-checkbox-group-description-line-height);
1579
- }
1580
-
1581
- .tds-checkbox-group--sm{
1582
- --tds-checkbox-group-line-height:1.35;
1583
- --tds-checkbox-group-font-size:var(--t-font-size-sm);
1584
- --tds-checkbox-group-description-font-size:var(--t-font-size-xs);
1585
- --tds-checkbox-group-description-line-height:1.3;
1586
- }
1587
-
1588
- .tds-button-group{
1589
- display:inline-flex;
1590
- }
1591
- .tds-button-group > .tds-btn{
1592
- --tds-button-group-item-z-index:1;
1593
-
1594
- position:relative;
1595
- z-index:var(--tds-button-group-item-z-index);
1596
- border-radius:0;
1597
- }
1598
- :is(.tds-button-group > .tds-btn):not(:first-child){
1599
- margin-inline-start:calc(var(--tds-btn-border-width) * -1);
1600
- }
1601
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before,:is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1602
- position:absolute;
1603
- inset-block:calc(var(--tds-btn-border-width) * -1);
1604
- width:var(--tds-btn-border-width);
1605
- pointer-events:none;
1606
- content:"";
1607
- background-color:var(--t-border-color-white);
1608
- }
1609
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:first-child)::before{
1610
- inset-inline-start:calc(var(--tds-btn-border-width) * -1);
1611
- }
1612
- :is(.tds-button-group > .tds-btn):is(.tds-btn--interaction,.tds-btn--neutral,.tds-btn--staff-only):not(:last-child)::after{
1613
- inset-inline-end:calc(var(--tds-btn-border-width) * -1);
1614
- }
1615
- :is(.tds-button-group > .tds-btn):hover{
1616
- --tds-button-group-item-z-index:2;
1617
- }
1618
- :is(.tds-button-group > .tds-btn):focus-visible{
1619
- --tds-button-group-item-z-index:5;
1620
- }
1621
- .tds-button-group > .tds-btn:first-child{
1622
- border-start-start-radius:var(--tds-btn-border-radius);
1623
- border-end-start-radius:var(--tds-btn-border-radius);
1624
- }
1625
- .tds-button-group > .tds-btn:last-child{
1626
- border-start-end-radius:var(--tds-btn-border-radius);
1627
- border-end-end-radius:var(--tds-btn-border-radius);
1628
- }
1629
-
1630
1630
 
1631
1631
  :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{
1632
1632
  -webkit-appearance:none;
@@ -1650,137 +1650,332 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1650
1650
  }
1651
1651
  }
1652
1652
 
1653
- .tds-radio{
1654
- --tds-radio-font-size:var(--t-font-size-md);
1655
- --tds-radio-cursor:pointer;
1656
- --tds-radio-line-height:1.4;
1657
- --tds-radio-transition-property:border-width;
1653
+ .tds-input:has(textarea){
1654
+ --tds-input-padding-block:6px;
1655
+ --tds-input-resizer-size:var(--t-element-size-sm);
1656
+ --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
1657
+ }
1658
1658
 
1659
- --tds-radio-input-size:var(--t-element-size-md);
1660
- --tds-radio-input-border-radius:var(--t-border-radius-round);
1661
- --tds-radio-input-border-color:var(--t-form-border-color);
1662
- --tds-radio-input-border-width:var(--t-form-border-width);
1663
- --tds-radio-input-background-color:var(--t-form-background-color);
1659
+ @supports (x: attr(x type(*))){
1664
1660
 
1665
- --tds-radio-label-color:var(--t-form-color);
1661
+ .tds-input textarea{
1662
+ --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
1663
+ }
1664
+ }
1666
1665
 
1667
- --tds-radio-description-font-size:var(--t-font-size-sm);
1668
- --tds-radio-description-line-height:1.35;
1669
- --tds-radio-description-color:var(--t-text-color-secondary);
1666
+ .tds-input.tds-textarea--resize-vertical textarea{
1667
+ resize:vertical;
1668
+ }
1669
+
1670
+ .tds-input.tds-textarea--resize-none textarea{
1671
+ resize:none;
1672
+ }
1673
+
1674
+ .tds-input.tds-textarea--resize-auto textarea{
1675
+ resize:vertical;
1676
+ }
1677
+
1678
+ @supports (field-sizing: content){
1679
+ .tds-input.tds-textarea--resize-auto textarea{
1680
+ field-sizing:content;
1681
+ resize:none;
1682
+ }
1683
+ }
1684
+
1685
+ .tds-input textarea{
1686
+ --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
1687
+ --tds-input-scrollbar-thumb-color-hidden:transparent;
1688
+ --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
1689
+ --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
1690
+ --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
1691
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
1692
+ --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
1693
+ --tds-input-scrollbar-thumb-border-radius:999px;
1694
+ --tds-input-scrollbar-thumb-border-width:3px;
1695
+ --tds-input-scrollbar-track-margin-block:.125rem;
1696
+ scrollbar-color:initial;
1697
+ transition-timing-function:var(--t-ease-in-out);
1698
+ transition-duration:var(--t-duration-200);
1699
+ transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
1700
+ }
1701
+
1702
+ @media (pointer: fine){
1703
+ :is(.tds-input textarea)::-webkit-scrollbar{
1704
+ width:12px;
1705
+ height:12px;
1706
+ cursor:default;
1707
+ }
1708
+
1709
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb{
1710
+ cursor:default;
1711
+ background:var(--tds-input-scrollbar-thumb-color);
1712
+ background-clip:content-box;
1713
+ border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
1714
+ border-radius:var(--tds-input-scrollbar-thumb-border-radius);
1715
+ }
1716
+
1717
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1718
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
1719
+ }
1720
+
1721
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
1722
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
1723
+ }
1724
+
1725
+ :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
1726
+ --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
1727
+ }
1728
+
1729
+ :is(.tds-input textarea)::-webkit-scrollbar-corner{
1730
+ background:var(--tds-input-scrollbar-surface-color);
1731
+ }
1732
+
1733
+ :is(.tds-input textarea)::-webkit-resizer{
1734
+ background:var(--tds-input-resizer-icon) no-repeat;
1735
+ background-position:right bottom;
1736
+ background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
1737
+ }
1738
+
1739
+ :is(.tds-input textarea)::-webkit-scrollbar-track{
1740
+ margin-block:var(--tds-input-scrollbar-track-margin-block);
1741
+ cursor:default;
1742
+ }
1743
+
1744
+ @supports (-moz-appearance: none){
1745
+ :is(.tds-input textarea){
1746
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
1747
+ scrollbar-width:thin;
1748
+ }
1749
+
1750
+ @media (hover){
1751
+ :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
1752
+ scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
1753
+ }
1754
+ }
1755
+ }
1756
+ }
1757
+
1758
+ .tds-radio-group{
1759
+ --tds-radio-group-font-size:var(--t-font-size-md);
1760
+ --tds-radio-group-line-height:1.4;
1761
+ --tds-radio-group-gap:var(--t-spacing-1);
1762
+
1763
+ --tds-radio-group-description-font-size:var(--t-font-size-sm);
1764
+ --tds-radio-group-description-line-height:1.35;
1765
+ --tds-radio-group-description-color:var(--t-text-color-secondary);
1766
+ --tds-radio-group-description-invalid-icon-display:none;
1767
+ display:flex;
1768
+ flex-direction:column;
1769
+ gap:0;
1770
+ padding:0;
1771
+ margin:0;
1772
+
1773
+ font-size:var(--tds-radio-group-font-size);
1774
+ line-height:var(--tds-radio-group-line-height);
1775
+ border:0;
1776
+ }
1777
+
1778
+ .tds-radio-group legend{
1779
+ float:left;
1780
+ padding:0;
1781
+ margin:0;
1782
+ }
1783
+
1784
+ .tds-radio-group[aria-invalid="true"]{
1785
+ --tds-radio-group-description-color:var(--t-text-color-status-error);
1786
+ --tds-radio-group-description-invalid-icon-display:inline-block;
1787
+ }
1788
+
1789
+ .tds-radio-group[aria-invalid="true"] .tds-radio{
1790
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
1791
+ }
1792
+
1793
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1794
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1795
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
1796
+ }
1797
+
1798
+ :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1799
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
1800
+ }
1801
+
1802
+ .tds-radio-group:has(input:required) legend::after{
1803
+ margin-left:.25ch;
1804
+ color:var(--t-text-color-status-error);
1805
+ content:"*";
1806
+ }
1807
+
1808
+ .tds-radio-group-fields{
1809
+ display:flex;
1810
+ flex-direction:column;
1811
+ gap:var(--tds-radio-group-gap);
1812
+ align-items:flex-start;
1813
+ margin-top:var(--t-spacing-1);
1814
+ }
1815
+
1816
+ .tds-radio-group-description{
1817
+ display:flex;
1818
+ gap:var(--t-spacing-half);
1819
+ align-items:flex-start;
1820
+ margin:var(--t-spacing-fourth) 0 0;
1821
+ font-size:var(--tds-radio-group-description-font-size);
1822
+ line-height:var(--tds-radio-group-description-line-height);
1823
+ color:var(--tds-radio-group-description-color);
1824
+ cursor:text;
1825
+ }
1826
+
1827
+ .tds-radio-group-description .tds-radio-group-description-invalid-icon{
1828
+ display:var(--tds-radio-group-description-invalid-icon-display);
1829
+ flex-shrink:0;
1830
+ margin-top:calc(.5lh - .5em);
1831
+ line-height:var(--tds-radio-group-description-line-height);
1832
+ }
1833
+
1834
+ .tds-radio-group--sm{
1835
+ --tds-radio-group-line-height:1.35;
1836
+ --tds-radio-group-font-size:var(--t-font-size-sm);
1837
+ --tds-radio-group-description-font-size:var(--t-font-size-xs);
1838
+ --tds-radio-group-description-line-height:1.3;
1839
+ }
1840
+
1841
+ .tds-toggle-switch{
1842
+ --tds-toggle-switch-font-size:var(--t-font-size-md);
1843
+ --tds-toggle-switch-cursor:pointer;
1844
+ --tds-toggle-switch-display:inline-grid;
1845
+ --tds-toggle-switch-line-height:1.4;
1846
+
1847
+ --tds-toggle-switch-label-color:var(--t-form-color);
1848
+
1849
+ --tds-toggle-switch-track-width:var(--t-container-size-md);
1850
+ --tds-toggle-switch-track-outline:none;
1851
+ --tds-toggle-switch-track-height:var(--t-container-size-xs);
1852
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
1853
+ --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
1854
+
1855
+ --tds-toggle-switch-thumb-size:var(--t-element-size-md);
1856
+ --tds-toggle-switch-thumb-transform:translateX(0);
1857
+ --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
1670
1858
 
1859
+ --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
1860
+ --tds-toggle-switch-description-line-height:1.35;
1861
+ --tds-toggle-switch-description-color:var(--t-text-color-secondary);
1671
1862
  position:relative;
1672
- display:inline-grid;
1863
+
1864
+ display:var(--tds-toggle-switch-display);
1673
1865
  grid-template-columns:auto;
1674
1866
  grid-auto-columns:1fr;
1675
1867
  gap:var(--t-spacing-fourth) 0;
1676
- line-height:var(--tds-radio-line-height);
1677
1868
  -webkit-user-select:none;
1678
1869
  -moz-user-select:none;
1679
1870
  user-select:none;
1680
1871
  }
1681
1872
 
1682
- .tds-radio label{
1683
- grid-area:1 / 2;
1684
- padding-inline-start:var(--t-spacing-1);
1685
- font-size:var(--tds-radio-font-size);
1686
- font-weight:var(--t-font-weight-normal);
1687
- color:var(--tds-radio-label-color);
1688
- cursor:var(--tds-radio-cursor);
1689
- }
1690
-
1691
- .tds-radio input[type="radio"]{
1692
- position:relative;
1693
- width:1em;
1694
- height:1em;
1695
- margin:calc((1lh - 1em) / 2) 0 0;
1696
- font-size:var(--tds-radio-font-size);
1697
- line-height:inherit;
1873
+ .tds-toggle-switch input[type="checkbox"]{
1874
+ position:absolute;
1875
+ width:var(--tds-toggle-switch-track-width);
1876
+ height:var(--tds-toggle-switch-track-height);
1877
+ margin:0;
1698
1878
  -webkit-appearance:none;
1699
1879
  -moz-appearance:none;
1700
1880
  appearance:none;
1701
- cursor:var(--tds-radio-cursor);
1702
- background-color:var(--tds-radio-input-background-color);
1703
- border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
1704
- border-radius:var(--tds-radio-input-border-radius);
1705
- transition-timing-function:var(--t-ease-in-out);
1706
- transition-duration:var(--t-duration-200);
1707
- transition-property:var(--tds-radio-transition-property);
1881
+ cursor:var(--tds-toggle-switch-cursor);
1882
+ outline:var(--tds-toggle-switch-track-outline);
1883
+ outline-offset:var(--t-focus-ring-offset);
1884
+ background-color:transparent;
1885
+ border:0;
1886
+ border-radius:var(--t-border-radius-round);
1708
1887
  }
1709
1888
 
1710
- :is(.tds-radio input[type="radio"]):hover:not(:disabled){
1711
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1712
- --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
1713
- }
1714
-
1715
- :is(.tds-radio input[type="radio"]):focus-visible{
1716
- outline:var(--t-focus-ring-outline);
1717
- outline-offset:var(--t-focus-ring-offset);
1889
+ :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
1890
+ --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
1718
1891
  }
1719
1892
 
1720
- :is(.tds-radio input[type="radio"]):disabled{
1721
- pointer-events:none;
1722
- }
1893
+ .tds-toggle-switch label{
1894
+ display:inline-flex;
1895
+ grid-area:1 / 2;
1896
+ padding-inline-start:var(--t-spacing-1);
1897
+ margin-top:-.09375em;
1898
+ font-size:var(--tds-toggle-switch-font-size);
1899
+ font-weight:var(--t-font-weight-normal);
1900
+ line-height:var(--tds-toggle-switch-line-height);
1901
+ color:var(--tds-toggle-switch-label-color);
1902
+ cursor:var(--tds-toggle-switch-cursor);
1903
+ }
1723
1904
 
1724
- @media (prefers-reduced-motion: reduce){
1905
+ .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
1906
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
1907
+ }
1725
1908
 
1726
- .tds-radio input[type="radio"]{
1727
- --tds-radio-transition-property:none;
1909
+ .tds-toggle-switch:has(input:checked){
1910
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
1911
+ --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
1728
1912
  }
1913
+
1914
+ .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
1915
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
1729
1916
  }
1730
1917
 
1731
- .tds-radio:has(input:checked){
1732
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1733
- --tds-radio-input-border-color:var(--t-border-color-control-info);
1734
- --tds-radio-input-border-width:4px;
1918
+ .tds-toggle-switch:has(input:disabled){
1919
+ --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
1920
+ --tds-toggle-switch-label-color:var(--t-form-color-disabled);
1921
+ --tds-toggle-switch-description-color:var(--t-form-color-disabled);
1922
+ --tds-toggle-switch-cursor:not-allowed;
1735
1923
  }
1736
1924
 
1737
- .tds-radio:has(input:checked) input:hover:not(:disabled){
1738
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1739
- --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
1740
- }
1925
+ .tds-toggle-switch-track{
1926
+ position:relative;
1927
+ flex-shrink:0;
1928
+ width:var(--tds-toggle-switch-track-width);
1929
+ height:var(--tds-toggle-switch-track-height);
1930
+ background-color:var(--tds-toggle-switch-track-background-color);
1931
+ border-radius:var(--t-border-radius-round);
1932
+ transition:var(--tds-toggle-switch-track-transition);
1933
+ }
1741
1934
 
1742
- .tds-radio:has(input:user-invalid){
1743
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1935
+ .tds-toggle-switch-track::before{
1936
+ position:absolute;
1937
+ top:var(--t-spacing-fourth);
1938
+ left:var(--t-spacing-fourth);
1939
+ width:var(--tds-toggle-switch-thumb-size);
1940
+ height:var(--tds-toggle-switch-thumb-size);
1941
+ content:"";
1942
+ background-color:#fff;
1943
+ border-radius:var(--t-border-radius-round);
1944
+ transform:var(--tds-toggle-switch-thumb-transform);
1945
+ transition:var(--tds-toggle-switch-thumb-transition);
1744
1946
  }
1745
1947
 
1746
- .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
1747
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1748
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1749
- }
1750
-
1751
- .tds-radio:has(input:disabled){
1752
- --tds-radio-input-background-color:var(--t-form-background-color-disabled);
1753
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1948
+ @media (prefers-reduced-motion: reduce){
1754
1949
 
1755
- --tds-radio-label-color:var(--t-form-color-disabled);
1756
- --tds-radio-description-color:var(--t-form-color-disabled);
1757
- --tds-radio-cursor:not-allowed;
1950
+ .tds-toggle-switch-track{
1951
+ --tds-toggle-switch-track-transition:none;
1952
+ --tds-toggle-switch-thumb-transition:none;
1953
+ }
1758
1954
  }
1759
1955
 
1760
- .tds-radio:has(input:disabled) input:checked{
1761
- --tds-radio-input-background-color:var(--t-form-background-color);
1762
- --tds-radio-input-border-color:var(--t-form-border-color-disabled);
1763
- }
1764
-
1765
- .tds-radio-description{
1956
+ .tds-toggle-switch-description{
1766
1957
  display:flex;
1767
1958
  grid-area:2 / 2;
1768
- gap:var(--t-spacing-half);
1769
1959
  align-items:flex-start;
1770
1960
  padding-inline-start:var(--t-spacing-1);
1771
1961
  margin:0;
1772
- font-size:var(--tds-radio-description-font-size);
1773
- line-height:var(--tds-radio-description-line-height);
1774
- color:var(--tds-radio-description-color);
1962
+ font-size:var(--tds-toggle-switch-description-font-size);
1963
+ line-height:var(--tds-toggle-switch-description-line-height);
1964
+ color:var(--tds-toggle-switch-description-color);
1775
1965
  cursor:text;
1776
1966
  }
1777
1967
 
1778
- .tds-radio--sm{
1779
- --tds-radio-line-height:1.35;
1780
- --tds-radio-input-size:var(--t-element-size-sm);
1781
- --tds-radio-font-size:var(--t-font-size-sm);
1782
- --tds-radio-description-font-size:var(--t-font-size-xs);
1783
- --tds-radio-description-line-height:1.3;
1968
+ .tds-toggle-switch--sm{
1969
+ --tds-toggle-switch-font-size:var(--t-font-size-sm);
1970
+ --tds-toggle-switch-line-height:1.35;
1971
+ --tds-toggle-switch-track-height:var(--t-element-size-lg);
1972
+ --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
1973
+ --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
1974
+ --tds-toggle-switch-description-line-height:1.3;
1975
+ }
1976
+
1977
+ .tds-toggle-switch--hide-label{
1978
+ --tds-toggle-switch-display:inline-flex;
1784
1979
  }
1785
1980
 
1786
1981
  .tds-modal-overlay{
@@ -1897,381 +2092,186 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
1897
2092
  grid-column:1;
1898
2093
  margin:0;
1899
2094
  font-size:var(--t-font-size-md);
1900
- font-weight:var(--t-font-weight-medium);
1901
- line-height:140%;
1902
- color:var(--t-text-color-secondary);
1903
- }
1904
-
1905
- .tds-modal-close{
1906
- grid-row:1;
1907
- grid-column:2;
1908
- align-self:center;
1909
- color:var(--t-icon-color-dim);
1910
- }
1911
-
1912
- .tds-modal-body{
1913
- padding-block:var(--t-spacing-3);
1914
- padding-inline:var(--t-spacing-4);
1915
- }
1916
-
1917
- .tds-modal-body--full-width{
1918
- padding-inline:0;
1919
- }
1920
-
1921
- .tds-modal-footer{
1922
- display:flex;
1923
- gap:var(--t-spacing-2);
1924
- align-items:center;
1925
- justify-content:flex-end;
1926
- padding-block:var(--t-spacing-3);
1927
- padding-inline:var(--t-spacing-4);
1928
- border-top:1px solid var(--t-border-color);
1929
- }
1930
-
1931
- .tds-modal-footer > [slot="start"]{
1932
- margin-inline-end:auto;
1933
- }
1934
-
1935
- @media (min-width: 720px){
1936
- .tds-modal-overlay{
1937
- --tds-modal-min-margin-block:0;
1938
- }
1939
-
1940
- .tds-modal-footer{
1941
- position:sticky;
1942
- bottom:0;
1943
- background:var(--t-surface-color-card);
1944
- border-end-start-radius:var(--t-border-radius-lg);
1945
- border-end-end-radius:var(--t-border-radius-lg);
1946
- }
1947
- }
1948
-
1949
- .tds-radio-group{
1950
- --tds-radio-group-font-size:var(--t-font-size-md);
1951
- --tds-radio-group-line-height:1.4;
1952
- --tds-radio-group-gap:var(--t-spacing-1);
1953
-
1954
- --tds-radio-group-description-font-size:var(--t-font-size-sm);
1955
- --tds-radio-group-description-line-height:1.35;
1956
- --tds-radio-group-description-color:var(--t-text-color-secondary);
1957
- --tds-radio-group-description-invalid-icon-display:none;
1958
- display:flex;
1959
- flex-direction:column;
1960
- gap:0;
1961
- padding:0;
1962
- margin:0;
1963
-
1964
- font-size:var(--tds-radio-group-font-size);
1965
- line-height:var(--tds-radio-group-line-height);
1966
- border:0;
1967
- }
1968
-
1969
- .tds-radio-group legend{
1970
- float:left;
1971
- padding:0;
1972
- margin:0;
1973
- }
1974
-
1975
- .tds-radio-group[aria-invalid="true"]{
1976
- --tds-radio-group-description-color:var(--t-text-color-status-error);
1977
- --tds-radio-group-description-invalid-icon-display:inline-block;
1978
- }
1979
-
1980
- .tds-radio-group[aria-invalid="true"] .tds-radio{
1981
- --tds-radio-input-border-color:var(--t-form-border-color-error);
1982
- }
1983
-
1984
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio) input:hover:not(:disabled){
1985
- --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
1986
- --tds-radio-input-background-color:var(--t-form-background-color-error);
1987
- }
1988
-
1989
- :is(.tds-radio-group[aria-invalid="true"] .tds-radio):has(input:checked) input:hover:not(:disabled){
1990
- --tds-radio-input-background-color:var(--t-icon-color-inverted);
1991
- }
1992
-
1993
- .tds-radio-group:has(input:required) legend::after{
1994
- margin-left:.25ch;
1995
- color:var(--t-text-color-status-error);
1996
- content:"*";
1997
- }
1998
-
1999
- .tds-radio-group-fields{
2000
- display:flex;
2001
- flex-direction:column;
2002
- gap:var(--tds-radio-group-gap);
2003
- align-items:flex-start;
2004
- margin-top:var(--t-spacing-1);
2005
- }
2006
-
2007
- .tds-radio-group-description{
2008
- display:flex;
2009
- gap:var(--t-spacing-half);
2010
- align-items:flex-start;
2011
- margin:var(--t-spacing-fourth) 0 0;
2012
- font-size:var(--tds-radio-group-description-font-size);
2013
- line-height:var(--tds-radio-group-description-line-height);
2014
- color:var(--tds-radio-group-description-color);
2015
- cursor:text;
2016
- }
2017
-
2018
- .tds-radio-group-description .tds-radio-group-description-invalid-icon{
2019
- display:var(--tds-radio-group-description-invalid-icon-display);
2020
- flex-shrink:0;
2021
- margin-top:calc(.5lh - .5em);
2022
- line-height:var(--tds-radio-group-description-line-height);
2023
- }
2024
-
2025
- .tds-radio-group--sm{
2026
- --tds-radio-group-line-height:1.35;
2027
- --tds-radio-group-font-size:var(--t-font-size-sm);
2028
- --tds-radio-group-description-font-size:var(--t-font-size-xs);
2029
- --tds-radio-group-description-line-height:1.3;
2030
- }
2031
-
2032
- .tds-input:has(textarea){
2033
- --tds-input-padding-block:6px;
2034
- --tds-input-resizer-size:var(--t-element-size-sm);
2035
- --tds-input-resizer-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg fill='none' stroke='%236f7784' stroke-linecap='round' stroke-width='1.25'%3E%3Cpath d='M5.5 13l7.5-7.5'/%3E%3Cpath d='M9 13l4-4'/%3E%3C/g%3E%3C/svg%3E");
2036
- }
2037
-
2038
- @supports (x: attr(x type(*))){
2039
-
2040
- .tds-input textarea{
2041
- --tds-input-min-height:calc((attr(rows type(<number>), 3) * 1lh) + (var(--tds-input-padding-block) * 2) + 2px);
2042
- }
2043
- }
2044
-
2045
- .tds-input.tds-textarea--resize-vertical textarea{
2046
- resize:vertical;
2047
- }
2048
-
2049
- .tds-input.tds-textarea--resize-none textarea{
2050
- resize:none;
2051
- }
2052
-
2053
- .tds-input.tds-textarea--resize-auto textarea{
2054
- resize:vertical;
2055
- }
2056
-
2057
- @supports (field-sizing: content){
2058
- .tds-input.tds-textarea--resize-auto textarea{
2059
- field-sizing:content;
2060
- resize:none;
2061
- }
2062
- }
2063
-
2064
- .tds-input textarea{
2065
- --tds-input-scrollbar-thumb-color-default:var(--t-fill-color-neutral-040);
2066
- --tds-input-scrollbar-thumb-color-hidden:transparent;
2067
- --tds-input-scrollbar-thumb-color-hover:var(--t-fill-color-neutral-030);
2068
- --tds-input-scrollbar-thumb-color-thumb-hover:var(--t-fill-color-neutral-020);
2069
- --tds-input-scrollbar-thumb-color-thumb-active:var(--t-fill-color-neutral-010);
2070
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-default);
2071
- --tds-input-scrollbar-surface-color:rgba(0, 0, 0, 0);
2072
- --tds-input-scrollbar-thumb-border-radius:999px;
2073
- --tds-input-scrollbar-thumb-border-width:3px;
2074
- --tds-input-scrollbar-track-margin-block:.125rem;
2075
- scrollbar-color:initial;
2076
- transition-timing-function:var(--t-ease-in-out);
2077
- transition-duration:var(--t-duration-200);
2078
- transition-property:var(--tds-input-transition-property), --tds-input-scrollbar-thumb-color;
2079
- }
2080
-
2081
- @media (pointer: fine){
2082
- :is(.tds-input textarea)::-webkit-scrollbar{
2083
- width:12px;
2084
- height:12px;
2085
- cursor:default;
2086
- }
2087
-
2088
- :is(.tds-input textarea)::-webkit-scrollbar-thumb{
2089
- cursor:default;
2090
- background:var(--tds-input-scrollbar-thumb-color);
2091
- background-clip:content-box;
2092
- border:var(--tds-input-scrollbar-thumb-border-width) solid var(--tds-input-scrollbar-surface-color);
2093
- border-radius:var(--tds-input-scrollbar-thumb-border-radius);
2094
- }
2095
-
2096
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2097
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-hover);
2098
- }
2095
+ font-weight:var(--t-font-weight-medium);
2096
+ line-height:140%;
2097
+ color:var(--t-text-color-secondary);
2098
+ }
2099
2099
 
2100
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:hover{
2101
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-hover);
2102
- }
2100
+ .tds-modal-close{
2101
+ grid-row:1;
2102
+ grid-column:2;
2103
+ align-self:center;
2104
+ color:var(--t-icon-color-dim);
2105
+ }
2103
2106
 
2104
- :is(.tds-input textarea)::-webkit-scrollbar-thumb:active{
2105
- --tds-input-scrollbar-thumb-color:var(--tds-input-scrollbar-thumb-color-thumb-active);
2106
- }
2107
+ .tds-modal-body{
2108
+ padding-block:var(--t-spacing-3);
2109
+ padding-inline:var(--t-spacing-4);
2110
+ }
2107
2111
 
2108
- :is(.tds-input textarea)::-webkit-scrollbar-corner{
2109
- background:var(--tds-input-scrollbar-surface-color);
2110
- }
2112
+ .tds-modal-body--full-width{
2113
+ padding-inline:0;
2114
+ }
2111
2115
 
2112
- :is(.tds-input textarea)::-webkit-resizer{
2113
- background:var(--tds-input-resizer-icon) no-repeat;
2114
- background-position:right bottom;
2115
- background-size:var(--tds-input-resizer-size) var(--tds-input-resizer-size);
2116
- }
2116
+ .tds-modal-footer{
2117
+ display:flex;
2118
+ gap:var(--t-spacing-2);
2119
+ align-items:center;
2120
+ justify-content:flex-end;
2121
+ padding-block:var(--t-spacing-3);
2122
+ padding-inline:var(--t-spacing-4);
2123
+ border-top:1px solid var(--t-border-color);
2124
+ }
2117
2125
 
2118
- :is(.tds-input textarea)::-webkit-scrollbar-track{
2119
- margin-block:var(--tds-input-scrollbar-track-margin-block);
2120
- cursor:default;
2121
- }
2126
+ .tds-modal-footer > [slot="start"]{
2127
+ margin-inline-end:auto;
2128
+ }
2122
2129
 
2123
- @supports (-moz-appearance: none){
2124
- :is(.tds-input textarea){
2125
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-default) var(--tds-input-scrollbar-surface-color);
2126
- scrollbar-width:thin;
2127
- }
2130
+ @media (min-width: 720px){
2131
+ .tds-modal-overlay{
2132
+ --tds-modal-min-margin-block:0;
2133
+ }
2128
2134
 
2129
- @media (hover){
2130
- :is(.tds-input textarea):is(:hover,:focus-within,:focus-visible){
2131
- scrollbar-color:var(--tds-input-scrollbar-thumb-color-hover) var(--tds-input-scrollbar-surface-color);
2132
- }
2133
- }
2134
- }
2135
+ .tds-modal-footer{
2136
+ position:sticky;
2137
+ bottom:0;
2138
+ background:var(--t-surface-color-card);
2139
+ border-end-start-radius:var(--t-border-radius-lg);
2140
+ border-end-end-radius:var(--t-border-radius-lg);
2135
2141
  }
2142
+ }
2136
2143
 
2137
- .tds-toggle-switch{
2138
- --tds-toggle-switch-font-size:var(--t-font-size-md);
2139
- --tds-toggle-switch-cursor:pointer;
2140
- --tds-toggle-switch-display:inline-grid;
2141
- --tds-toggle-switch-line-height:1.4;
2144
+ .tds-radio{
2145
+ --tds-radio-font-size:var(--t-font-size-md);
2146
+ --tds-radio-cursor:pointer;
2147
+ --tds-radio-line-height:1.4;
2148
+ --tds-radio-transition-property:border-width;
2142
2149
 
2143
- --tds-toggle-switch-label-color:var(--t-form-color);
2150
+ --tds-radio-input-size:var(--t-element-size-md);
2151
+ --tds-radio-input-border-radius:var(--t-border-radius-round);
2152
+ --tds-radio-input-border-color:var(--t-form-border-color);
2153
+ --tds-radio-input-border-width:var(--t-form-border-width);
2154
+ --tds-radio-input-background-color:var(--t-form-background-color);
2144
2155
 
2145
- --tds-toggle-switch-track-width:var(--t-container-size-md);
2146
- --tds-toggle-switch-track-outline:none;
2147
- --tds-toggle-switch-track-height:var(--t-container-size-xs);
2148
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color);
2149
- --tds-toggle-switch-track-transition:background-color var(--t-duration-100) var(--t-ease-in-out);
2156
+ --tds-radio-label-color:var(--t-form-color);
2150
2157
 
2151
- --tds-toggle-switch-thumb-size:var(--t-element-size-md);
2152
- --tds-toggle-switch-thumb-transform:translateX(0);
2153
- --tds-toggle-switch-thumb-transition:transform var(--t-duration-200) var(--t-ease-in-out);
2158
+ --tds-radio-description-font-size:var(--t-font-size-sm);
2159
+ --tds-radio-description-line-height:1.35;
2160
+ --tds-radio-description-color:var(--t-text-color-secondary);
2154
2161
 
2155
- --tds-toggle-switch-description-font-size:var(--t-font-size-sm);
2156
- --tds-toggle-switch-description-line-height:1.35;
2157
- --tds-toggle-switch-description-color:var(--t-text-color-secondary);
2158
2162
  position:relative;
2159
-
2160
- display:var(--tds-toggle-switch-display);
2163
+ display:inline-grid;
2161
2164
  grid-template-columns:auto;
2162
2165
  grid-auto-columns:1fr;
2163
2166
  gap:var(--t-spacing-fourth) 0;
2167
+ line-height:var(--tds-radio-line-height);
2164
2168
  -webkit-user-select:none;
2165
2169
  -moz-user-select:none;
2166
2170
  user-select:none;
2167
2171
  }
2168
2172
 
2169
- .tds-toggle-switch input[type="checkbox"]{
2170
- position:absolute;
2171
- width:var(--tds-toggle-switch-track-width);
2172
- height:var(--tds-toggle-switch-track-height);
2173
- margin:0;
2173
+ .tds-radio label{
2174
+ grid-area:1 / 2;
2175
+ padding-inline-start:var(--t-spacing-1);
2176
+ font-size:var(--tds-radio-font-size);
2177
+ font-weight:var(--t-font-weight-normal);
2178
+ color:var(--tds-radio-label-color);
2179
+ cursor:var(--tds-radio-cursor);
2180
+ }
2181
+
2182
+ .tds-radio input[type="radio"]{
2183
+ position:relative;
2184
+ width:1em;
2185
+ height:1em;
2186
+ margin:calc((1lh - 1em) / 2) 0 0;
2187
+ font-size:var(--tds-radio-font-size);
2188
+ line-height:inherit;
2174
2189
  -webkit-appearance:none;
2175
2190
  -moz-appearance:none;
2176
2191
  appearance:none;
2177
- cursor:var(--tds-toggle-switch-cursor);
2178
- outline:var(--tds-toggle-switch-track-outline);
2179
- outline-offset:var(--t-focus-ring-offset);
2180
- background-color:transparent;
2181
- border:0;
2182
- border-radius:var(--t-border-radius-round);
2192
+ cursor:var(--tds-radio-cursor);
2193
+ background-color:var(--tds-radio-input-background-color);
2194
+ border:var(--tds-radio-input-border-width) solid var(--tds-radio-input-border-color);
2195
+ border-radius:var(--tds-radio-input-border-radius);
2196
+ transition-timing-function:var(--t-ease-in-out);
2197
+ transition-duration:var(--t-duration-200);
2198
+ transition-property:var(--tds-radio-transition-property);
2183
2199
  }
2184
2200
 
2185
- :is(.tds-toggle-switch input[type="checkbox"]):focus-visible{
2186
- --tds-toggle-switch-track-outline:var(--t-focus-ring-outline);
2201
+ :is(.tds-radio input[type="radio"]):hover:not(:disabled){
2202
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2203
+ --tds-radio-input-background-color:var(--t-fill-color-button-interaction-outline-hover);
2187
2204
  }
2188
2205
 
2189
- .tds-toggle-switch label{
2190
- display:inline-flex;
2191
- grid-area:1 / 2;
2192
- padding-inline-start:var(--t-spacing-1);
2193
- margin-top:-.09375em;
2194
- font-size:var(--tds-toggle-switch-font-size);
2195
- font-weight:var(--t-font-weight-normal);
2196
- line-height:var(--tds-toggle-switch-line-height);
2197
- color:var(--tds-toggle-switch-label-color);
2198
- cursor:var(--tds-toggle-switch-cursor);
2199
- }
2206
+ :is(.tds-radio input[type="radio"]):focus-visible{
2207
+ outline:var(--t-focus-ring-outline);
2208
+ outline-offset:var(--t-focus-ring-offset);
2209
+ }
2200
2210
 
2201
- .tds-toggle-switch:not(:has(input:disabled)):has(input:hover){
2202
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-hover);
2203
- }
2211
+ :is(.tds-radio input[type="radio"]):disabled{
2212
+ pointer-events:none;
2213
+ }
2204
2214
 
2205
- .tds-toggle-switch:has(input:checked){
2206
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on);
2207
- --tds-toggle-switch-thumb-transform:translateX(calc(var(--tds-toggle-switch-track-width) - var(--tds-toggle-switch-thumb-size) - var(--t-spacing-half)));
2208
- }
2215
+ @media (prefers-reduced-motion: reduce){
2209
2216
 
2210
- .tds-toggle-switch:has(input:checked):not(:has(input:disabled)):has(input:hover){
2211
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-on-hover);
2217
+ .tds-radio input[type="radio"]{
2218
+ --tds-radio-transition-property:none;
2219
+ }
2212
2220
  }
2213
2221
 
2214
- .tds-toggle-switch:has(input:disabled){
2215
- --tds-toggle-switch-track-background-color:var(--t-form-toggle-color-disabled);
2216
- --tds-toggle-switch-label-color:var(--t-form-color-disabled);
2217
- --tds-toggle-switch-description-color:var(--t-form-color-disabled);
2218
- --tds-toggle-switch-cursor:not-allowed;
2222
+ .tds-radio:has(input:checked){
2223
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2224
+ --tds-radio-input-border-color:var(--t-border-color-control-info);
2225
+ --tds-radio-input-border-width:4px;
2219
2226
  }
2220
2227
 
2221
- .tds-toggle-switch-track{
2222
- position:relative;
2223
- flex-shrink:0;
2224
- width:var(--tds-toggle-switch-track-width);
2225
- height:var(--tds-toggle-switch-track-height);
2226
- background-color:var(--tds-toggle-switch-track-background-color);
2227
- border-radius:var(--t-border-radius-round);
2228
- transition:var(--tds-toggle-switch-track-transition);
2229
- }
2228
+ .tds-radio:has(input:checked) input:hover:not(:disabled){
2229
+ --tds-radio-input-background-color:var(--t-icon-color-inverted);
2230
+ --tds-radio-input-border-color:var(--t-fill-color-interaction-hover);
2231
+ }
2230
2232
 
2231
- .tds-toggle-switch-track::before{
2232
- position:absolute;
2233
- top:var(--t-spacing-fourth);
2234
- left:var(--t-spacing-fourth);
2235
- width:var(--tds-toggle-switch-thumb-size);
2236
- height:var(--tds-toggle-switch-thumb-size);
2237
- content:"";
2238
- background-color:#fff;
2239
- border-radius:var(--t-border-radius-round);
2240
- transform:var(--tds-toggle-switch-thumb-transform);
2241
- transition:var(--tds-toggle-switch-thumb-transition);
2233
+ .tds-radio:has(input:user-invalid){
2234
+ --tds-radio-input-border-color:var(--t-form-border-color-error);
2242
2235
  }
2243
2236
 
2244
- @media (prefers-reduced-motion: reduce){
2237
+ .tds-radio:has(input:user-invalid) input:hover:not(:disabled){
2238
+ --tds-radio-input-border-color:var(--t-form-border-color-error-hover);
2239
+ --tds-radio-input-background-color:var(--t-form-background-color-error);
2240
+ }
2245
2241
 
2246
- .tds-toggle-switch-track{
2247
- --tds-toggle-switch-track-transition:none;
2248
- --tds-toggle-switch-thumb-transition:none;
2249
- }
2242
+ .tds-radio:has(input:disabled){
2243
+ --tds-radio-input-background-color:var(--t-form-background-color-disabled);
2244
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2245
+
2246
+ --tds-radio-label-color:var(--t-form-color-disabled);
2247
+ --tds-radio-description-color:var(--t-form-color-disabled);
2248
+ --tds-radio-cursor:not-allowed;
2250
2249
  }
2251
2250
 
2252
- .tds-toggle-switch-description{
2251
+ .tds-radio:has(input:disabled) input:checked{
2252
+ --tds-radio-input-background-color:var(--t-form-background-color);
2253
+ --tds-radio-input-border-color:var(--t-form-border-color-disabled);
2254
+ }
2255
+
2256
+ .tds-radio-description{
2253
2257
  display:flex;
2254
2258
  grid-area:2 / 2;
2259
+ gap:var(--t-spacing-half);
2255
2260
  align-items:flex-start;
2256
2261
  padding-inline-start:var(--t-spacing-1);
2257
2262
  margin:0;
2258
- font-size:var(--tds-toggle-switch-description-font-size);
2259
- line-height:var(--tds-toggle-switch-description-line-height);
2260
- color:var(--tds-toggle-switch-description-color);
2263
+ font-size:var(--tds-radio-description-font-size);
2264
+ line-height:var(--tds-radio-description-line-height);
2265
+ color:var(--tds-radio-description-color);
2261
2266
  cursor:text;
2262
2267
  }
2263
2268
 
2264
- .tds-toggle-switch--sm{
2265
- --tds-toggle-switch-font-size:var(--t-font-size-sm);
2266
- --tds-toggle-switch-line-height:1.35;
2267
- --tds-toggle-switch-track-height:var(--t-element-size-lg);
2268
- --tds-toggle-switch-thumb-size:var(--t-element-size-sm);
2269
- --tds-toggle-switch-description-font-size:var(--t-font-size-xs);
2270
- --tds-toggle-switch-description-line-height:1.3;
2271
- }
2272
-
2273
- .tds-toggle-switch--hide-label{
2274
- --tds-toggle-switch-display:inline-flex;
2269
+ .tds-radio--sm{
2270
+ --tds-radio-line-height:1.35;
2271
+ --tds-radio-input-size:var(--t-element-size-sm);
2272
+ --tds-radio-font-size:var(--t-font-size-sm);
2273
+ --tds-radio-description-font-size:var(--t-font-size-xs);
2274
+ --tds-radio-description-line-height:1.3;
2275
2275
  }
2276
2276
 
2277
2277
  .tds-input{