@rogieking/figui3 8.9.32 → 8.9.34

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/fig-lab.css CHANGED
@@ -1473,40 +1473,131 @@ propskit-slider {
1473
1473
  }
1474
1474
  }
1475
1475
 
1476
+ fig-input-wheel {
1477
+ --fig-input-wheel-elastic-distance: calc(var(--spacer-2) + 0.25rem);
1478
+ --fig-input-wheel-elastic-scale: 1;
1479
+ --fig-input-wheel-elastic-origin: left center;
1480
+ --fig-input-wheel-elastic-transition: 0.28s
1481
+ cubic-bezier(0.34, 1.56, 0.64, 1);
1482
+ --fig-input-wheel-handle-drag-max: 0.5rem;
1483
+ --fig-input-wheel-handle-drag-offset: 0px;
1484
+ --fig-input-wheel-handle-spring: 0.28s
1485
+ cubic-bezier(0.34, 1.56, 0.64, 1);
1486
+ --fig-input-wheel-keyboard-handle-spring: 0.14s
1487
+ cubic-bezier(0.34, 1.56, 0.64, 1);
1488
+ --fig-input-wheel-tick-width: 0.125rem;
1489
+ --fig-input-wheel-tick-width-min: 1px;
1490
+ --fig-input-wheel-tick-height: calc(
1491
+ var(--fig-input-wheel-handle-height) - 4px
1492
+ );
1493
+ --fig-input-wheel-tick-height-min: 8px;
1494
+ --fig-input-wheel-tick-fade: 1rem;
1495
+ --fig-input-wheel-tick-opacity: 0.5;
1496
+ --fig-input-wheel-tick-opacity-min: 0.1;
1497
+ --fig-input-wheel-handle-width: var(--spacer-1);
1498
+ --fig-input-wheel-handle-height: calc(
1499
+ var(--control-height) - var(--spacer-2)
1500
+ );
1501
+ --fig-input-wheel-handle-color: light-dark(
1502
+ var(--figma-color-text-secondary),
1503
+ var(--figma-color-text)
1504
+ );
1505
+
1506
+ position: relative;
1507
+ display: block;
1508
+ box-sizing: border-box;
1509
+ width: 100%;
1510
+ height: var(--control-height);
1511
+ border-radius: var(--radius-medium);
1512
+ background-color: var(--figma-color-bg-secondary);
1513
+ outline: none;
1514
+ cursor: ew-resize;
1515
+ transform-origin: var(--fig-input-wheel-elastic-origin);
1516
+ transition: transform var(--fig-input-wheel-elastic-transition);
1517
+
1518
+ &:focus-visible {
1519
+ outline: var(--figma-focus-outline);
1520
+ outline-offset: var(--figma-focus-outline-offset);
1521
+ }
1522
+
1523
+ &[disabled]:not([disabled="false"]) {
1524
+ pointer-events: none;
1525
+ opacity: 0.5;
1526
+ }
1527
+
1528
+ .fig-input-wheel-svg {
1529
+ display: block;
1530
+ width: 100%;
1531
+ height: 100%;
1532
+ overflow: visible;
1533
+ color: var(--figma-color-icon-tertiary);
1534
+ mask-image: linear-gradient(
1535
+ to right,
1536
+ rgb(0 0 0 / var(--fig-input-wheel-tick-opacity-min)) 0,
1537
+ rgb(0 0 0 / var(--fig-input-wheel-tick-opacity))
1538
+ var(--fig-input-wheel-tick-fade),
1539
+ rgb(0 0 0 / var(--fig-input-wheel-tick-opacity))
1540
+ calc(100% - var(--fig-input-wheel-tick-fade)),
1541
+ rgb(0 0 0 / var(--fig-input-wheel-tick-opacity-min)) 100%
1542
+ );
1543
+ }
1544
+
1545
+ .fig-input-wheel-tick {
1546
+ fill: currentColor;
1547
+ stroke: none;
1548
+ }
1549
+
1550
+ .fig-input-wheel-handle {
1551
+ position: absolute;
1552
+ top: 50%;
1553
+ left: 50%;
1554
+ z-index: 1;
1555
+ width: var(--fig-input-wheel-handle-width);
1556
+ height: var(--fig-input-wheel-handle-height);
1557
+ border-radius: calc(var(--fig-input-wheel-handle-width) / 2);
1558
+ background: transparent;
1559
+ pointer-events: none;
1560
+ transform: translate(
1561
+ calc(-50% + var(--fig-input-wheel-handle-drag-offset)),
1562
+ -50%
1563
+ );
1564
+ transition: transform var(--fig-input-wheel-handle-spring);
1565
+ box-shadow:
1566
+ inset 0 0 0 var(--fig-input-wheel-handle-height)
1567
+ var(--fig-input-wheel-handle-color),
1568
+ var(--handle-shadow);
1569
+ }
1570
+
1571
+ &[data-fig-input-wheel-elastic-dragging] {
1572
+ transform: scaleX(var(--fig-input-wheel-elastic-scale));
1573
+ transition: none;
1574
+
1575
+ .fig-input-wheel-handle {
1576
+ transition: none;
1577
+ }
1578
+ }
1579
+
1580
+ &[data-fig-input-wheel-keyboard-moving] .fig-input-wheel-handle {
1581
+ transition: none;
1582
+ }
1583
+
1584
+ &[data-fig-input-wheel-keyboard-settling] .fig-input-wheel-handle {
1585
+ transition: transform var(--fig-input-wheel-keyboard-handle-spring);
1586
+ }
1587
+ }
1588
+
1476
1589
  propskit-wheel {
1477
- --propskit-wheel-elastic-distance: calc(var(--spacer-2) + 0.25rem);
1478
1590
  --propskit-wheel-elastic-scale: 1;
1479
1591
  --propskit-wheel-elastic-origin: left center;
1480
1592
  --propskit-wheel-elastic-transition: 0.28s
1481
1593
  cubic-bezier(0.34, 1.56, 0.64, 1);
1482
- --propskit-wheel-handle-drag-max: 0.5rem;
1483
- --propskit-wheel-handle-drag-offset: 0px;
1484
- --propskit-wheel-handle-spring: 0.28s
1485
- cubic-bezier(0.34, 1.56, 0.64, 1);
1486
- --propskit-wheel-keyboard-handle-spring: 0.14s
1487
- cubic-bezier(0.34, 1.56, 0.64, 1);
1488
1594
  --propskit-wheel-height: 2rem;
1489
1595
  --propskit-wheel-vertical-padding: var(--spacer-1);
1490
1596
  --propskit-wheel-horizontal-padding: var(--spacer-3);
1491
1597
  --propskit-wheel-number-right: calc(2px + var(--spacer-1));
1492
- --propskit-wheel-handle-width: var(--spacer-1);
1493
- --propskit-wheel-handle-height: calc(
1494
- var(--propskit-wheel-height) - var(--spacer-3)
1495
- );
1496
- --propskit-wheel-handle-color: light-dark(
1497
- var(--figma-color-text-secondary),
1498
- var(--figma-color-text)
1499
- );
1500
- --propskit-wheel-tick-width: 0.125rem;
1501
- --propskit-wheel-tick-width-min: 1px;
1502
- --propskit-wheel-tick-height: calc(
1503
- var(--propskit-wheel-handle-height) - 4px
1504
- );
1505
- --propskit-wheel-tick-height-min: 8px;
1506
- --propskit-wheel-tick-inset: 3rem;
1507
- --propskit-wheel-tick-fade: 1rem;
1508
- --propskit-wheel-tick-opacity: 0.5;
1509
- --propskit-wheel-tick-opacity-min: 0.1;
1598
+ --propskit-wheel-track-inset: 3rem;
1599
+ --propskit-wheel-track-inset-left: var(--propskit-wheel-track-inset);
1600
+ --propskit-wheel-track-inset-right: var(--propskit-wheel-track-inset);
1510
1601
  --figma-focus-outline-offset: 1px;
1511
1602
 
1512
1603
  display: block;
@@ -1521,16 +1612,27 @@ propskit-wheel {
1521
1612
  padding: var(--propskit-wheel-vertical-padding)
1522
1613
  var(--propskit-wheel-horizontal-padding);
1523
1614
 
1615
+ &[data-label-empty] {
1616
+ --propskit-wheel-track-inset-left: var(--spacer-2);
1617
+ }
1618
+
1619
+ &[text="false"] {
1620
+ --propskit-wheel-track-inset-right: var(--spacer-2);
1621
+ }
1622
+
1524
1623
  &[size="small"] {
1525
1624
  --propskit-wheel-height: 1.5rem;
1526
- --propskit-wheel-handle-height: calc(
1527
- var(--propskit-wheel-height) - var(--spacer-2-5)
1528
- );
1529
1625
  --propskit-wheel-number-right: 2px;
1530
1626
 
1531
1627
  .propskit-wheel-surface > label {
1532
1628
  padding-left: var(--spacer-2);
1533
1629
  }
1630
+
1631
+ .propskit-wheel-surface > fig-input-wheel {
1632
+ --fig-input-wheel-handle-height: calc(
1633
+ var(--propskit-wheel-height) - var(--spacer-2-5)
1634
+ );
1635
+ }
1534
1636
  }
1535
1637
 
1536
1638
  &[disabled]:not([disabled="false"]) {
@@ -1540,10 +1642,6 @@ propskit-wheel {
1540
1642
  input {
1541
1643
  color: var(--figma-color-text-disabled);
1542
1644
  }
1543
-
1544
- .propskit-wheel-wheel {
1545
- opacity: 0.5;
1546
- }
1547
1645
  }
1548
1646
 
1549
1647
  .propskit-wheel-surface {
@@ -1591,66 +1689,21 @@ propskit-wheel {
1591
1689
  }
1592
1690
  }
1593
1691
 
1594
- .propskit-wheel-wheel {
1595
- position: absolute;
1596
- inset: 0;
1597
- z-index: 0;
1598
- outline: none;
1599
- cursor: ew-resize;
1600
- mask-image: linear-gradient(
1601
- to right,
1602
- rgb(0 0 0 / var(--propskit-wheel-tick-opacity-min))
1603
- var(--propskit-wheel-tick-inset),
1604
- rgb(0 0 0 / var(--propskit-wheel-tick-opacity))
1605
- calc(
1606
- var(--propskit-wheel-tick-inset) + var(--propskit-wheel-tick-fade)
1607
- ),
1608
- rgb(0 0 0 / var(--propskit-wheel-tick-opacity))
1609
- calc(
1610
- 100% - var(--propskit-wheel-tick-inset) -
1611
- var(--propskit-wheel-tick-fade)
1612
- ),
1613
- rgb(0 0 0 / var(--propskit-wheel-tick-opacity-min))
1614
- calc(100% - var(--propskit-wheel-tick-inset))
1692
+ .propskit-wheel-surface > fig-input-wheel {
1693
+ --fig-input-wheel-handle-height: calc(
1694
+ var(--propskit-wheel-height) - var(--spacer-3)
1615
1695
  );
1616
1696
 
1617
- &:focus {
1618
- outline: none;
1619
- }
1620
- }
1621
-
1622
- .propskit-wheel-wheel-svg {
1623
- display: block;
1624
- width: 100%;
1625
- height: 100%;
1626
- overflow: visible;
1627
- color: var(--figma-color-icon-tertiary);
1628
- }
1629
-
1630
- .propskit-wheel-tick {
1631
- fill: currentColor;
1632
- stroke: none;
1633
- }
1634
-
1635
- .propskit-wheel-handle {
1636
1697
  position: absolute;
1637
- top: 50%;
1638
- left: 50%;
1639
- z-index: 1;
1640
- width: var(--propskit-wheel-handle-width);
1641
- height: var(--propskit-wheel-handle-height);
1642
- border-radius: calc(var(--propskit-wheel-handle-width) / 2);
1643
- background: transparent;
1644
- pointer-events: none;
1645
- transform: translate(
1646
- calc(-50% + var(--propskit-wheel-handle-drag-offset)),
1647
- -50%
1648
- );
1649
- transition: transform var(--propskit-wheel-handle-spring);
1650
- box-shadow:
1651
- inset 0 0 0 var(--propskit-wheel-handle-height)
1652
- var(--propskit-wheel-handle-color),
1653
- var(--handle-shadow);
1698
+ inset: 0 var(--propskit-wheel-track-inset-right) 0
1699
+ var(--propskit-wheel-track-inset-left);
1700
+ z-index: 0;
1701
+ width: auto;
1702
+ height: 100%;
1703
+ background-color: transparent;
1704
+ outline: none;
1705
+ transform: none;
1706
+ transition: none;
1654
1707
  }
1655
1708
 
1656
1709
  fig-input-number {
@@ -1693,26 +1746,14 @@ propskit-wheel {
1693
1746
  }
1694
1747
  }
1695
1748
 
1696
- &[data-elastic-dragging="true"] {
1749
+ &[data-propskit-wheel-elastic-dragging] {
1697
1750
  transform: scaleX(var(--propskit-wheel-elastic-scale));
1698
1751
  transition: none;
1699
-
1700
- .propskit-wheel-handle {
1701
- transition: none;
1702
- }
1703
- }
1704
-
1705
- &[data-keyboard-moving] .propskit-wheel-handle {
1706
- transition: none;
1707
- }
1708
-
1709
- &[data-keyboard-settling] .propskit-wheel-handle {
1710
- transition: transform var(--propskit-wheel-keyboard-handle-spring);
1711
1752
  }
1712
1753
  }
1713
1754
 
1714
- body.fig-propskit-wheel-dragging,
1715
- body.fig-propskit-wheel-dragging * {
1755
+ body.fig-input-wheel-dragging,
1756
+ body.fig-input-wheel-dragging * {
1716
1757
  cursor: grabbing !important;
1717
1758
  user-select: none !important;
1718
1759
  -webkit-user-select: none !important;
@@ -1720,7 +1761,8 @@ body.fig-propskit-wheel-dragging * {
1720
1761
 
1721
1762
  @media (prefers-reduced-motion: reduce) {
1722
1763
  propskit-wheel,
1723
- propskit-wheel .propskit-wheel-handle {
1764
+ fig-input-wheel,
1765
+ fig-input-wheel .fig-input-wheel-handle {
1724
1766
  transition: none;
1725
1767
  }
1726
1768
  }