@rogieking/figui3 1.0.96 → 1.0.98

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/bun.lockb ADDED
Binary file
package/example.html CHANGED
@@ -64,14 +64,66 @@
64
64
  <option selected>Fourhundred sixty two</option>
65
65
  </fig-dropdown>
66
66
  <br /><br />
67
- <fig-slider min="0"
68
- max="1"
69
- transform="100"
70
- step="0.01"
71
- text="true"
72
- style="width:300px;"
73
- value="0.5">
74
- </fig-slider>
67
+ <fig-field style="width:300px;">
68
+ <label>Range slider</label>
69
+ <fig-slider min="0"
70
+ max="1"
71
+ transform="100"
72
+ variant="minimal"
73
+ step="0.01"
74
+ text="true"
75
+ style="width:300px;"
76
+ value="0.5">
77
+ </fig-slider>
78
+ </fig-field>
79
+ <fig-field style="width:300px;">
80
+ <label>Opacity slider</label>
81
+ <fig-slider type="opacity"
82
+ variant="minimal"
83
+ value="0.75"
84
+ color="#ff0000"
85
+ units="%"
86
+ text="true"></fig-slider>
87
+ </fig-field>
88
+
89
+ <fig-field style="width:300px;">
90
+ <label>Hue slider</label>
91
+ <fig-slider type="hue"
92
+ variant="minimal"
93
+ value="55"></fig-slider>
94
+ </fig-field>
95
+
96
+ <fig-field style="width:300px;">
97
+ <label>Stepper slider</label>
98
+ <fig-slider type="stepper"
99
+ variant="minimal"
100
+ value="25"
101
+ default="50"
102
+ step="25">
103
+ <datalist id="markers">
104
+ <option value="0"></option>
105
+ <option value="25"></option>
106
+ <option value="50"></option>
107
+ <option value="75"></option>
108
+ <option value="100"></option>
109
+ </datalist>
110
+ </fig-slider>
111
+ </fig-field>
112
+
113
+ <fig-field style="width:300px;">
114
+ <label>Delta slider</label>
115
+ <fig-slider type="delta"
116
+ variant="minimal"
117
+ value=".25"
118
+ default="0"
119
+ step="0.25"
120
+ max="5"
121
+ min="-5">
122
+ <datalist id="markers">
123
+ <option value="0"></option>
124
+ </datalist>
125
+ </fig-slider>
126
+ </fig-field>
75
127
  <br />
76
128
  <fig-input-text min="0"
77
129
  max="1"
package/fig.css CHANGED
@@ -1429,7 +1429,9 @@ details {
1429
1429
  /* Sliders */
1430
1430
  .fig-slider,
1431
1431
  fig-slider {
1432
+ --slider-field-height: 1.5rem;
1432
1433
  --slider-height: 1rem;
1434
+ --slider-thumb-size: var(--slider-height);
1433
1435
  --slider-percent: calc(var(--slider-complete) * 100%);
1434
1436
  --start-percent: calc(var(--default, 0) * 100%);
1435
1437
  --slider-tick-size: calc(var(--slider-height) / 4);
@@ -1441,16 +1443,20 @@ fig-slider {
1441
1443
  0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 3px 8px 0px rgba(0, 0, 0, 0.1),
1442
1444
  0px 0px 0.5px 0px rgba(0, 0, 0, 0.18),
1443
1445
  0 0 0 1px var(--figma-color-border-selected);
1446
+ --slider-transition: all 0.1s ease-in-out;
1444
1447
 
1445
1448
  display: inline-flex;
1446
1449
  align-items: center;
1447
1450
  position: relative;
1451
+ height: var(--slider-field-height);
1452
+ transition: var(--slider-transition);
1448
1453
 
1449
1454
  .fig-slider-input-container {
1450
1455
  height: var(--slider-height);
1451
1456
  position: relative;
1452
1457
  display: block;
1453
1458
  width: 100%;
1459
+ transition: var(--slider-transition);
1454
1460
 
1455
1461
  /* Track */
1456
1462
  &::before {
@@ -1547,6 +1553,7 @@ fig-slider {
1547
1553
  display: block;
1548
1554
  width: 100%;
1549
1555
  background-color: transparent;
1556
+ transition: var(--slider-transition);
1550
1557
 
1551
1558
  &:active::-webkit-slider-thumb {
1552
1559
  cursor: grabbing;
@@ -1560,9 +1567,11 @@ fig-slider {
1560
1567
  &::-webkit-slider-thumb {
1561
1568
  appearance: none;
1562
1569
  -webkit-appearance: none;
1563
- border-radius: 0.5rem;
1564
- height: var(--slider-height);
1565
- width: var(--slider-height);
1570
+ transition: var(--slider-transition);
1571
+ border-radius: 100%;
1572
+ height: var(--slider-thumb-size);
1573
+ width: var(--slider-thumb-size);
1574
+ margin-top: calc(var(--slider-height) / 2 - var(--slider-thumb-size) / 2);
1566
1575
  aspect-ratio: 1;
1567
1576
  border: none;
1568
1577
  position: relative;
@@ -1592,6 +1601,7 @@ fig-slider {
1592
1601
  &::-webkit-slider-runnable-track {
1593
1602
  height: var(--slider-height);
1594
1603
  background-color: transparent;
1604
+ transition: var(--slider-transition);
1595
1605
  border-radius: calc(var(--slider-height) / 2);
1596
1606
  box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
1597
1607
  background: var(--figma-color-bg-secondary);
@@ -1616,6 +1626,7 @@ fig-slider {
1616
1626
  display: block;
1617
1627
  width: 100%;
1618
1628
  background-color: transparent;
1629
+ transition: var(--slider-transition);
1619
1630
 
1620
1631
  &:focus {
1621
1632
  outline: none;
@@ -1628,9 +1639,9 @@ fig-slider {
1628
1639
 
1629
1640
  &::-moz-range-thumb {
1630
1641
  appearance: none;
1631
- border-radius: 0.5rem;
1632
- height: var(--slider-height);
1633
- width: var(--slider-height);
1642
+ border-radius: 100%;
1643
+ height: var(--slider-thumb-size);
1644
+ width: var(--slider-thumb-size);
1634
1645
  aspect-ratio: 1;
1635
1646
  border: none;
1636
1647
  position: relative;
@@ -1638,6 +1649,7 @@ fig-slider {
1638
1649
  cursor: grab;
1639
1650
  cursor: -moz-grab;
1640
1651
  box-shadow: var(--slider-handle-shadow);
1652
+ transition: var(--slider-transition);
1641
1653
  }
1642
1654
 
1643
1655
  &:disabled {
@@ -1663,6 +1675,7 @@ fig-slider {
1663
1675
  border-radius: calc(var(--slider-height) / 2);
1664
1676
  box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
1665
1677
  background: var(--figma-color-bg-secondary);
1678
+ transition: var(--slider-transition);
1666
1679
  }
1667
1680
 
1668
1681
  &.hue::-moz-range-track {
@@ -1678,7 +1691,9 @@ fig-slider {
1678
1691
  datalist {
1679
1692
  position: absolute;
1680
1693
  inset: 0;
1694
+ top: calc((var(--slider-field-height) - var(--slider-height))/2);
1681
1695
  display: flex;
1696
+ transition: var(--slider-transition);
1682
1697
  background: transparent;
1683
1698
  align-items: center;
1684
1699
  margin: 0;
@@ -1707,8 +1722,58 @@ fig-slider {
1707
1722
  }
1708
1723
  }
1709
1724
  }
1725
+
1726
+ &[variant="minimal"] {
1727
+ --slider-height: 0.25rem;
1728
+ --slider-thumb-size: 0.5rem;
1729
+ --slider-tick-size: calc(var(--slider-height) / 2);
1730
+
1731
+ .fig-slider-input-container {
1732
+ height: var(--slider-height);
1733
+ position: relative;
1734
+ display: block;
1735
+ width: 100%;
1736
+
1737
+ /* Track */
1738
+ &::before {
1739
+ box-shadow: none;
1740
+ background: var(--figma-color-text-onbrand-tertiary);
1741
+ }
1742
+
1743
+ input[type="range"] {
1744
+ &::-webkit-slider-runnable-track {
1745
+ box-shadow: none;
1746
+ }
1747
+ }
1748
+ }
1749
+ fig-input-text {
1750
+ height: calc(var(--slider-height) * 2);
1751
+ background-color: transparent;
1752
+ }
1753
+ &:hover,
1754
+ &:focus-within {
1755
+ --slider-height: 1rem;
1756
+ --slider-thumb-size: 1rem;
1757
+ --slider-tick-size: calc(var(--slider-height) / 4);
1758
+ .fig-slider-input-container {
1759
+ &::before {
1760
+ box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
1761
+ background: var(--figma-color-bg-brand);
1762
+ }
1763
+ }
1764
+ input[type="range"] {
1765
+ &::-webkit-slider-runnable-track {
1766
+ box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
1767
+ }
1768
+ }
1769
+ fig-input-text {
1770
+ height: auto;
1771
+ }
1772
+ }
1773
+ }
1710
1774
  }
1711
1775
 
1776
+
1712
1777
  /* Popovers/Dialogs */
1713
1778
  .dialog,
1714
1779
  dialog,
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ console.log("Hello via Bun!");
package/package.json CHANGED
@@ -1,4 +1,15 @@
1
1
  {
2
2
  "name": "@rogieking/figui3",
3
- "version": "1.0.96"
3
+ "version": "1.0.98",
4
+ "module": "index.ts",
5
+ "type": "module",
6
+ "devDependencies": {
7
+ "@types/bun": "latest"
8
+ },
9
+ "peerDependencies": {
10
+ "typescript": "^5.0.0"
11
+ },
12
+ "scripts": {
13
+ "build": "bun build fig.js --minify --outdir dist"
14
+ }
4
15
  }
package/tsconfig.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ // Enable latest features
4
+ "lib": ["ESNext", "DOM"],
5
+ "target": "ESNext",
6
+ "module": "ESNext",
7
+ "moduleDetection": "force",
8
+ "jsx": "react-jsx",
9
+ "allowJs": true,
10
+
11
+ // Bundler mode
12
+ "moduleResolution": "bundler",
13
+ "allowImportingTsExtensions": true,
14
+ "verbatimModuleSyntax": true,
15
+ "noEmit": true,
16
+
17
+ // Best practices
18
+ "strict": true,
19
+ "skipLibCheck": true,
20
+ "noFallthroughCasesInSwitch": true,
21
+
22
+ // Some stricter flags (disabled by default)
23
+ "noUnusedLocals": false,
24
+ "noUnusedParameters": false,
25
+ "noPropertyAccessFromIndexSignature": false
26
+ }
27
+ }