@usefidel/design-system 0.14.0 → 0.16.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.
package/dist/index.css CHANGED
@@ -165,6 +165,22 @@
165
165
  color: #a3a3a3;
166
166
  cursor: not-allowed;
167
167
  }
168
+ .fds-button--dark {
169
+ background-color: var(--color-primary, #171717);
170
+ color: var(--color-primary-text, #ffffff);
171
+ box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.04));
172
+ }
173
+ .fds-button--dark:hover:not(:disabled) {
174
+ background-color: var(--color-primary-hover, #262626);
175
+ }
176
+ .fds-button--dark:active:not(:disabled) {
177
+ background-color: #000000;
178
+ }
179
+ .fds-button--dark:disabled {
180
+ background-color: var(--color-surface, #f5f5f5);
181
+ color: #a3a3a3;
182
+ cursor: not-allowed;
183
+ }
168
184
  .fds-button--neutral {
169
185
  background-color: var(--color-surface-subtle, #fafafa);
170
186
  color: var(--color-text-on-neutral, #404040);
@@ -1321,3 +1337,618 @@
1321
1337
  transparent);
1322
1338
  }
1323
1339
  }
1340
+
1341
+ /* src/components/Avatar/avatar.css */
1342
+ .fds-avatar {
1343
+ box-sizing: border-box;
1344
+ display: inline-grid;
1345
+ place-items: center;
1346
+ flex-shrink: 0;
1347
+ overflow: hidden;
1348
+ border-radius: var(--radius-full, 9999px);
1349
+ background: var(--color-accent-subtle, #ffedd5);
1350
+ color: var(--color-accent-text, #c2410c);
1351
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1352
+ font-weight: 600;
1353
+ line-height: 1;
1354
+ user-select: none;
1355
+ }
1356
+ .fds-avatar--small {
1357
+ width: 24px;
1358
+ height: 24px;
1359
+ font-size: 10px;
1360
+ }
1361
+ .fds-avatar--medium {
1362
+ width: 32px;
1363
+ height: 32px;
1364
+ font-size: 12px;
1365
+ }
1366
+ .fds-avatar--large {
1367
+ width: 40px;
1368
+ height: 40px;
1369
+ font-size: 14px;
1370
+ }
1371
+ .fds-avatar__img {
1372
+ width: 100%;
1373
+ height: 100%;
1374
+ object-fit: cover;
1375
+ display: block;
1376
+ }
1377
+
1378
+ /* src/components/SectionHeader/section-header.css */
1379
+ .fds-section-header {
1380
+ display: flex;
1381
+ flex-direction: column;
1382
+ gap: var(--spacing-2, 8px);
1383
+ min-width: 0;
1384
+ }
1385
+ .fds-section-header__title {
1386
+ margin: 0;
1387
+ font-family: var(--font-display, "Rethink Sans", system-ui, sans-serif);
1388
+ font-size: 14.5px;
1389
+ font-weight: 600;
1390
+ line-height: 1.3;
1391
+ letter-spacing: -0.005em;
1392
+ color: var(--color-text, #171717);
1393
+ }
1394
+ .fds-section-header__description {
1395
+ margin: 0;
1396
+ max-width: 60ch;
1397
+ font-size: 12.5px;
1398
+ line-height: 1.55;
1399
+ color: var(--color-text-muted, #a3a3a3);
1400
+ }
1401
+
1402
+ /* src/components/Split/split.css */
1403
+ .fds-split {
1404
+ display: grid;
1405
+ grid-template-columns: var(--fds-split-aside, 280px) minmax(0, 1fr);
1406
+ gap: var(--spacing-12, 48px);
1407
+ align-items: start;
1408
+ }
1409
+ .fds-split__aside,
1410
+ .fds-split__main {
1411
+ min-width: 0;
1412
+ }
1413
+ .fds-split__main {
1414
+ display: flex;
1415
+ flex-direction: column;
1416
+ gap: var(--spacing-4, 16px);
1417
+ }
1418
+ .fds-split--sticky .fds-split__aside {
1419
+ position: sticky;
1420
+ top: var(--spacing-6, 24px);
1421
+ }
1422
+ @media (max-width: 900px) {
1423
+ .fds-split--collapse-lg {
1424
+ grid-template-columns: minmax(0, 1fr);
1425
+ gap: var(--spacing-4, 16px);
1426
+ }
1427
+ .fds-split--collapse-lg .fds-split__aside {
1428
+ position: static;
1429
+ }
1430
+ }
1431
+ @media (max-width: 640px) {
1432
+ .fds-split--collapse-md {
1433
+ grid-template-columns: minmax(0, 1fr);
1434
+ gap: var(--spacing-4, 16px);
1435
+ }
1436
+ .fds-split--collapse-md .fds-split__aside {
1437
+ position: static;
1438
+ }
1439
+ }
1440
+
1441
+ /* src/components/Badge/badge.css */
1442
+ .fds-badge {
1443
+ box-sizing: border-box;
1444
+ display: inline-flex;
1445
+ align-items: center;
1446
+ gap: 6px;
1447
+ padding: 6px 12px;
1448
+ border-radius: var(--radius-pill, 9999px);
1449
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1450
+ font-size: var(--font-size-text-sm, 14px);
1451
+ line-height: 20px;
1452
+ font-weight: var(--font-weight-medium, 500);
1453
+ white-space: nowrap;
1454
+ }
1455
+ .fds-badge__icon {
1456
+ display: inline-flex;
1457
+ flex-shrink: 0;
1458
+ }
1459
+ .fds-badge__icon > svg {
1460
+ width: 12px;
1461
+ height: 12px;
1462
+ }
1463
+ .fds-badge--neutral {
1464
+ background: var(--color-surface, #f5f5f5);
1465
+ color: var(--color-text-secondary, #525252);
1466
+ }
1467
+ .fds-badge--info {
1468
+ background: var(--color-info-surface, #eff6ff);
1469
+ color: var(--color-info-strong, #2563eb);
1470
+ }
1471
+ .fds-badge--success {
1472
+ background: var(--color-success-bg, #f0fdf4);
1473
+ color: var(--color-success-text, #15803d);
1474
+ }
1475
+ .fds-badge--warning {
1476
+ background: var(--color-warning-bg, #fffbeb);
1477
+ color: var(--color-warning-text, #92400e);
1478
+ }
1479
+ .fds-badge--danger {
1480
+ background: var(--color-error-bg, #fef2f2);
1481
+ color: var(--color-destructive, #eb2d2d);
1482
+ }
1483
+
1484
+ /* src/components/Tag/tag.css */
1485
+ .fds-tag {
1486
+ box-sizing: border-box;
1487
+ display: inline-flex;
1488
+ align-items: center;
1489
+ gap: 6px;
1490
+ padding: 4px 10px;
1491
+ background: var(--color-surface-subtle, #fafafa);
1492
+ border: 1px solid var(--color-border, #e5e5e5);
1493
+ border-radius: var(--radius-md, 6px);
1494
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1495
+ font-size: var(--font-size-text-sm, 14px);
1496
+ line-height: 20px;
1497
+ color: var(--color-text-secondary, #525252);
1498
+ white-space: nowrap;
1499
+ }
1500
+ .fds-dot {
1501
+ display: inline-block;
1502
+ flex-shrink: 0;
1503
+ width: 6px;
1504
+ height: 6px;
1505
+ border-radius: var(--radius-full, 9999px);
1506
+ }
1507
+ .fds-dot--neutral {
1508
+ background: var(--color-text-tertiary, #737373);
1509
+ }
1510
+ .fds-dot--info {
1511
+ background: var(--color-info-strong, #2563eb);
1512
+ }
1513
+ .fds-dot--success {
1514
+ background: var(--color-success, #059669);
1515
+ }
1516
+ .fds-dot--warning {
1517
+ background: var(--color-warning, #ca8a04);
1518
+ }
1519
+ .fds-dot--danger {
1520
+ background: var(--color-destructive, #eb2d2d);
1521
+ }
1522
+
1523
+ /* src/components/MultiSelect/multi-select.css */
1524
+ .fds-multiselect {
1525
+ position: relative;
1526
+ display: inline-block;
1527
+ }
1528
+ .fds-multiselect__trigger {
1529
+ box-sizing: border-box;
1530
+ display: inline-flex;
1531
+ align-items: center;
1532
+ gap: var(--spacing-2, 8px);
1533
+ min-height: 44px;
1534
+ padding: 10px 14px;
1535
+ background: var(--color-surface-raised, #ffffff);
1536
+ border: 1px solid var(--color-border-strong, #d4d4d4);
1537
+ border-radius: var(--radius-lg, 8px);
1538
+ box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.04));
1539
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1540
+ font-size: var(--font-size-text-md, 16px);
1541
+ line-height: 24px;
1542
+ font-weight: var(--font-weight-medium, 500);
1543
+ color: var(--color-text, #171717);
1544
+ cursor: pointer;
1545
+ white-space: nowrap;
1546
+ transition: border-color var(--duration-instant, 80ms) ease, box-shadow var(--duration-instant, 80ms) ease;
1547
+ }
1548
+ .fds-multiselect__trigger:focus-visible,
1549
+ .fds-multiselect__trigger--open {
1550
+ outline: none;
1551
+ border-color: var(--color-accent, #ea580c);
1552
+ box-shadow: inset 0 0 0 1px var(--color-accent, #ea580c);
1553
+ }
1554
+ .fds-multiselect__trigger:disabled {
1555
+ background: var(--color-surface-subtle, #fafafa);
1556
+ color: var(--color-text-muted, #a3a3a3);
1557
+ cursor: not-allowed;
1558
+ }
1559
+ .fds-multiselect__count {
1560
+ padding: 2px 6px;
1561
+ border: 1px solid var(--color-border-light, #f5f5f5);
1562
+ border-radius: var(--radius-sm, 4px);
1563
+ font-size: var(--font-size-text-xs, 12px);
1564
+ line-height: 18px;
1565
+ color: var(--color-text-tertiary, #737373);
1566
+ }
1567
+ .fds-multiselect__chevron {
1568
+ display: inline-flex;
1569
+ margin-left: var(--spacing-4, 16px);
1570
+ color: var(--color-text-tertiary, #737373);
1571
+ transition: transform var(--duration-instant, 80ms) ease;
1572
+ }
1573
+ .fds-multiselect__chevron--open {
1574
+ transform: rotate(180deg);
1575
+ }
1576
+ .fds-multiselect__popover {
1577
+ position: absolute;
1578
+ top: calc(100% + 8px);
1579
+ left: 0;
1580
+ z-index: 50;
1581
+ min-width: max(100%, 280px);
1582
+ background: var(--color-surface-raised, #ffffff);
1583
+ border: 1px solid var(--color-border, #e5e5e5);
1584
+ border-radius: var(--radius-lg, 8px);
1585
+ box-shadow: 0 12px 16px -4px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
1586
+ overflow: hidden;
1587
+ }
1588
+ .fds-multiselect__list {
1589
+ padding: 4px 0;
1590
+ }
1591
+ .fds-multiselect__list:focus {
1592
+ outline: none;
1593
+ }
1594
+ .fds-multiselect__option {
1595
+ display: flex;
1596
+ align-items: center;
1597
+ gap: var(--spacing-2, 8px);
1598
+ padding: 10px 14px;
1599
+ cursor: pointer;
1600
+ }
1601
+ .fds-multiselect__option--active {
1602
+ background: var(--color-surface-subtle, #fafafa);
1603
+ }
1604
+ .fds-multiselect__option--disabled {
1605
+ opacity: 0.5;
1606
+ cursor: not-allowed;
1607
+ }
1608
+ .fds-multiselect__box {
1609
+ box-sizing: border-box;
1610
+ display: inline-grid;
1611
+ place-items: center;
1612
+ flex-shrink: 0;
1613
+ width: 16px;
1614
+ height: 16px;
1615
+ border: 1px solid var(--color-border-strong, #d4d4d4);
1616
+ border-radius: var(--radius-sm, 4px);
1617
+ color: var(--color-text, #171717);
1618
+ }
1619
+ .fds-multiselect__box--checked {
1620
+ border-color: var(--color-text-secondary, #525252);
1621
+ }
1622
+ .fds-multiselect__optLabel {
1623
+ flex: 1 1 auto;
1624
+ min-width: 0;
1625
+ overflow: hidden;
1626
+ text-overflow: ellipsis;
1627
+ white-space: nowrap;
1628
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1629
+ font-size: var(--font-size-text-md, 16px);
1630
+ line-height: 24px;
1631
+ font-weight: var(--font-weight-medium, 500);
1632
+ color: var(--color-text, #171717);
1633
+ }
1634
+ .fds-multiselect__optCount {
1635
+ flex-shrink: 0;
1636
+ margin-left: var(--spacing-2, 8px);
1637
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1638
+ font-size: var(--font-size-text-xs, 12px);
1639
+ line-height: 18px;
1640
+ color: var(--color-text-secondary, #525252);
1641
+ }
1642
+ .fds-multiselect__footer {
1643
+ display: flex;
1644
+ justify-content: space-between;
1645
+ align-items: center;
1646
+ height: 40px;
1647
+ padding: 0 16px;
1648
+ border-top: 1px solid var(--color-border, #e5e5e5);
1649
+ }
1650
+ .fds-multiselect__action {
1651
+ padding: 0;
1652
+ background: none;
1653
+ border: 0;
1654
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1655
+ font-size: var(--font-size-text-xs, 12px);
1656
+ line-height: 18px;
1657
+ font-weight: var(--font-weight-medium, 500);
1658
+ color: var(--color-text-tertiary, #737373);
1659
+ cursor: pointer;
1660
+ }
1661
+ .fds-multiselect__action:hover {
1662
+ color: var(--color-text, #171717);
1663
+ }
1664
+ .fds-multiselect__action:focus-visible {
1665
+ outline: 2px solid var(--color-focus, #ea580c);
1666
+ outline-offset: 2px;
1667
+ border-radius: var(--radius-xs, 2px);
1668
+ }
1669
+
1670
+ /* src/components/SearchInput/search-input.css */
1671
+ .fds-search {
1672
+ position: relative;
1673
+ display: flex;
1674
+ align-items: center;
1675
+ width: 100%;
1676
+ }
1677
+ .fds-search__icon {
1678
+ position: absolute;
1679
+ left: 14px;
1680
+ color: var(--color-text-tertiary, #737373);
1681
+ pointer-events: none;
1682
+ }
1683
+ .fds-search__input {
1684
+ box-sizing: border-box;
1685
+ width: 100%;
1686
+ min-height: 44px;
1687
+ padding: 10px 40px 10px 42px;
1688
+ background: var(--color-surface-raised, #ffffff);
1689
+ border: 1px solid var(--color-border-strong, #d4d4d4);
1690
+ border-radius: var(--radius-lg, 8px);
1691
+ box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.04));
1692
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1693
+ font-size: var(--font-size-text-md, 16px);
1694
+ line-height: 24px;
1695
+ font-weight: var(--font-weight-medium, 500);
1696
+ color: var(--color-text, #171717);
1697
+ transition: border-color var(--duration-instant, 80ms) ease, box-shadow var(--duration-instant, 80ms) ease;
1698
+ }
1699
+ .fds-search__input::placeholder {
1700
+ color: var(--color-text-tertiary, #737373);
1701
+ }
1702
+ .fds-search__input:focus {
1703
+ outline: none;
1704
+ border-color: var(--color-accent, #ea580c);
1705
+ box-shadow: inset 0 0 0 1px var(--color-accent, #ea580c);
1706
+ }
1707
+ .fds-search__input::-webkit-search-cancel-button {
1708
+ cursor: pointer;
1709
+ }
1710
+ .fds-search__kbd {
1711
+ position: absolute;
1712
+ right: 12px;
1713
+ padding: 0 6px;
1714
+ border: 1px solid var(--color-border, #e5e5e5);
1715
+ border-radius: var(--radius-sm, 4px);
1716
+ font-family: var(--font-mono, monospace);
1717
+ font-size: var(--font-size-text-xs, 12px);
1718
+ line-height: 18px;
1719
+ color: var(--color-text-tertiary, #737373);
1720
+ pointer-events: none;
1721
+ }
1722
+
1723
+ /* src/components/Pagination/pagination.css */
1724
+ .fds-pagination {
1725
+ display: flex;
1726
+ align-items: center;
1727
+ justify-content: space-between;
1728
+ gap: var(--spacing-4, 16px);
1729
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1730
+ font-size: var(--font-size-text-sm, 14px);
1731
+ line-height: 20px;
1732
+ color: var(--color-text-secondary, #525252);
1733
+ }
1734
+ .fds-pagination--compact {
1735
+ justify-content: center;
1736
+ }
1737
+ .fds-pagination__range {
1738
+ margin: 0;
1739
+ }
1740
+ .fds-pagination__controls {
1741
+ display: flex;
1742
+ align-items: center;
1743
+ gap: var(--spacing-1, 4px);
1744
+ }
1745
+ .fds-pagination__arrow,
1746
+ .fds-pagination__page {
1747
+ box-sizing: border-box;
1748
+ display: inline-grid;
1749
+ place-items: center;
1750
+ min-width: 36px;
1751
+ height: 36px;
1752
+ padding: 0 8px;
1753
+ background: none;
1754
+ border: 1px solid transparent;
1755
+ border-radius: var(--radius-lg, 8px);
1756
+ font: inherit;
1757
+ font-weight: var(--font-weight-medium, 500);
1758
+ color: var(--color-text-secondary, #525252);
1759
+ cursor: pointer;
1760
+ transition: background var(--duration-instant, 80ms) ease;
1761
+ }
1762
+ .fds-pagination__arrow:hover:not(:disabled),
1763
+ .fds-pagination__page:hover {
1764
+ background: var(--color-surface, #f5f5f5);
1765
+ }
1766
+ .fds-pagination__arrow:disabled {
1767
+ color: var(--color-text-muted, #a3a3a3);
1768
+ cursor: not-allowed;
1769
+ }
1770
+ .fds-pagination__arrow:focus-visible,
1771
+ .fds-pagination__page:focus-visible {
1772
+ outline: 2px solid var(--color-focus, #ea580c);
1773
+ outline-offset: 2px;
1774
+ }
1775
+ .fds-pagination__page--current {
1776
+ border-color: var(--color-border, #e5e5e5);
1777
+ background: var(--color-surface-raised, #ffffff);
1778
+ color: var(--color-text, #171717);
1779
+ box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.04));
1780
+ }
1781
+ .fds-pagination__gap {
1782
+ min-width: 24px;
1783
+ text-align: center;
1784
+ color: var(--color-text-muted, #a3a3a3);
1785
+ }
1786
+ .fds-pagination__status {
1787
+ padding: 0 var(--spacing-2, 8px);
1788
+ white-space: nowrap;
1789
+ }
1790
+
1791
+ /* src/components/EmptyState/empty-state.css */
1792
+ .fds-empty {
1793
+ display: flex;
1794
+ flex-direction: column;
1795
+ align-items: center;
1796
+ gap: var(--spacing-8, 32px);
1797
+ padding: 64px 40px;
1798
+ text-align: center;
1799
+ }
1800
+ .fds-empty__illustration {
1801
+ display: grid;
1802
+ place-items: center;
1803
+ min-height: 180px;
1804
+ }
1805
+ .fds-empty__text {
1806
+ display: flex;
1807
+ flex-direction: column;
1808
+ align-items: center;
1809
+ gap: var(--spacing-3, 12px);
1810
+ }
1811
+ .fds-empty__title {
1812
+ margin: 0;
1813
+ font-family: var(--font-display, "Rethink Sans", system-ui, sans-serif);
1814
+ font-size: var(--font-size-display-xs, 24px);
1815
+ line-height: 32px;
1816
+ font-weight: var(--font-weight-medium, 500);
1817
+ letter-spacing: -0.18px;
1818
+ color: var(--color-text, #171717);
1819
+ }
1820
+ .fds-empty__description {
1821
+ margin: 0;
1822
+ max-width: 380px;
1823
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1824
+ font-size: var(--font-size-text-sm, 14px);
1825
+ line-height: 20px;
1826
+ color: var(--color-text-secondary, #525252);
1827
+ }
1828
+ .fds-empty__actions {
1829
+ display: flex;
1830
+ flex-direction: column;
1831
+ align-items: center;
1832
+ gap: var(--spacing-6, 24px);
1833
+ }
1834
+ .fds-empty__footer {
1835
+ display: flex;
1836
+ flex-wrap: wrap;
1837
+ align-items: center;
1838
+ justify-content: center;
1839
+ gap: 10px;
1840
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
1841
+ font-size: var(--font-size-text-sm, 14px);
1842
+ line-height: 20px;
1843
+ color: var(--color-text-tertiary, #737373);
1844
+ }
1845
+ .fds-stacked-cards {
1846
+ position: relative;
1847
+ width: 240px;
1848
+ height: 160px;
1849
+ }
1850
+ .fds-stacked-cards__card {
1851
+ box-sizing: border-box;
1852
+ position: absolute;
1853
+ width: 180px;
1854
+ height: 116px;
1855
+ background: var(--color-surface-raised, #ffffff);
1856
+ border: 1px solid var(--color-border, #e5e5e5);
1857
+ border-radius: var(--radius-xl, 12px);
1858
+ }
1859
+ .fds-stacked-cards__card--back {
1860
+ left: 30px;
1861
+ top: 27px;
1862
+ transform: rotate(5deg);
1863
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
1864
+ }
1865
+ .fds-stacked-cards__card--front {
1866
+ left: 19px;
1867
+ top: 3px;
1868
+ display: flex;
1869
+ align-items: flex-start;
1870
+ justify-content: space-between;
1871
+ padding: 16px;
1872
+ border-width: 1.5px;
1873
+ transform: rotate(-4deg);
1874
+ filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.02));
1875
+ }
1876
+ .fds-stacked-cards__lines {
1877
+ display: flex;
1878
+ flex-direction: column;
1879
+ gap: 6px;
1880
+ width: 100px;
1881
+ }
1882
+ .fds-stacked-cards__lines > span {
1883
+ height: 6px;
1884
+ border-radius: 3px;
1885
+ }
1886
+ .fds-stacked-cards__lines > span:nth-child(1) {
1887
+ width: 100%;
1888
+ background: var(--color-border, #e5e5e5);
1889
+ }
1890
+ .fds-stacked-cards__lines > span:nth-child(2) {
1891
+ width: 70px;
1892
+ background: var(--color-surface, #f5f5f5);
1893
+ }
1894
+ .fds-stacked-cards__lines > span:nth-child(3) {
1895
+ width: 45px;
1896
+ background: var(--color-surface-subtle, #fafafa);
1897
+ }
1898
+ .fds-stacked-cards__status {
1899
+ color: var(--color-border, #e5e5e5);
1900
+ }
1901
+ .fds-stacked-cards__statusDot {
1902
+ fill: var(--color-text-tertiary, #737373);
1903
+ }
1904
+ .fds-stacked-cards__badge {
1905
+ position: absolute;
1906
+ left: 145px;
1907
+ top: 75px;
1908
+ display: grid;
1909
+ place-items: center;
1910
+ width: 48px;
1911
+ height: 48px;
1912
+ border-radius: var(--radius-full, 9999px);
1913
+ background: var(--color-primary, #171717);
1914
+ color: var(--color-primary-text, #ffffff);
1915
+ filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.13));
1916
+ }
1917
+
1918
+ /* src/components/Skeleton/skeleton.css */
1919
+ .fds-skeleton {
1920
+ display: block;
1921
+ flex-shrink: 0;
1922
+ max-width: 100%;
1923
+ height: 16px;
1924
+ border-radius: var(--radius-sm, 4px);
1925
+ background: var(--color-surface-hover, #ececec);
1926
+ animation: fds-skeleton-pulse 1.4s ease-in-out infinite;
1927
+ }
1928
+ .fds-skeleton--text {
1929
+ width: 100%;
1930
+ height: 1em;
1931
+ border-radius: var(--radius-xs, 2px);
1932
+ }
1933
+ .fds-skeleton--circle {
1934
+ border-radius: var(--radius-full, 9999px);
1935
+ }
1936
+ .fds-skeleton-lines {
1937
+ display: flex;
1938
+ flex-direction: column;
1939
+ gap: 0.5em;
1940
+ width: 100%;
1941
+ }
1942
+ @keyframes fds-skeleton-pulse {
1943
+ 0%, 100% {
1944
+ opacity: 1;
1945
+ }
1946
+ 50% {
1947
+ opacity: 0.45;
1948
+ }
1949
+ }
1950
+ @media (prefers-reduced-motion: reduce) {
1951
+ .fds-skeleton {
1952
+ animation: none;
1953
+ }
1954
+ }