@rogieking/figui3 6.4.5 → 6.4.7
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/.cursor/skills/a11y/SKILL.md +96 -0
- package/.cursor/skills/css-render-performance/SKILL.md +46 -0
- package/.cursor/skills/frontend-performance-testing/SKILL.md +46 -0
- package/.cursor/skills/js-runtime-performance/SKILL.md +45 -0
- package/.cursor/skills/web-component-performance/SKILL.md +47 -0
- package/README.md +126 -17
- package/components.css +240 -318
- package/dist/components.css +1 -1
- package/dist/fig-editor.css +1 -1
- package/dist/fig-editor.js +62 -60
- package/dist/fig-lab.css +1 -1
- package/dist/fig-layer.css +1 -0
- package/dist/fig-layer.js +1 -0
- package/dist/fig.css +1 -1
- package/dist/fig.js +57 -55
- package/fig-editor.css +61 -0
- package/fig-editor.js +369 -61
- package/fig-lab.css +33 -5
- package/fig-layer.css +111 -0
- package/fig-layer.js +155 -0
- package/fig.js +2240 -919
- package/package.json +13 -4
package/components.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@layer figui.defaults {
|
|
1
2
|
:root,
|
|
2
3
|
:host {
|
|
3
4
|
color-scheme: light dark;
|
|
@@ -48,6 +49,10 @@
|
|
|
48
49
|
--figma-color-bg-warning-secondary: light-dark(#fab815, #e4a711);
|
|
49
50
|
--figma-color-bg-warning-tertiary: light-dark(#fff1c2, #5c4100);
|
|
50
51
|
--figma-color-bg-switch: light-dark(#e6e6e6, #444444);
|
|
52
|
+
--figma-color-bg-slot: light-dark(
|
|
53
|
+
rgba(255, 36, 189, 0.25),
|
|
54
|
+
rgba(243, 22, 176, 0.25)
|
|
55
|
+
);
|
|
51
56
|
|
|
52
57
|
/* Border Colors */
|
|
53
58
|
--figma-color-border: light-dark(#e6e6e6, #444444);
|
|
@@ -80,6 +85,12 @@
|
|
|
80
85
|
--figma-color-border-success-strong: light-dark(#009951, #79d297);
|
|
81
86
|
--figma-color-border-warning: light-dark(#ffe8a3, #925711);
|
|
82
87
|
--figma-color-border-warning-strong: light-dark(#b86200, #f7d15f);
|
|
88
|
+
--figma-color-border-slot: light-dark(#ff24bd, #f316b0);
|
|
89
|
+
|
|
90
|
+
/* Focus */
|
|
91
|
+
--figma-focus-outline: 1px solid var(--figma-color-border-selected);
|
|
92
|
+
--figma-focus-outline-offset: -1px;
|
|
93
|
+
--figma-focus-outline-radius: inherit;
|
|
83
94
|
|
|
84
95
|
/* Icon Colors */
|
|
85
96
|
--figma-color-icon: light-dark(#000000e5, #ffffff);
|
|
@@ -89,8 +100,8 @@
|
|
|
89
100
|
--figma-color-icon-brand-tertiary: light-dark(#bde3ff, #394360);
|
|
90
101
|
--figma-color-icon-component: light-dark(#8638e5, #d1a8ff);
|
|
91
102
|
--figma-color-icon-component-pressed: light-dark(#7c2bda, #d6b6fb);
|
|
92
|
-
--figma-color-icon-component-secondary: light-dark(#
|
|
93
|
-
--figma-color-icon-component-tertiary: light-dark(#
|
|
103
|
+
--figma-color-icon-component-secondary: light-dark(#6f3bb2, #d1a8ff);
|
|
104
|
+
--figma-color-icon-component-tertiary: light-dark(#6f3bb2, #d1a8ff);
|
|
94
105
|
--figma-color-icon-danger: light-dark(#f24822, #e03e1a);
|
|
95
106
|
--figma-color-icon-danger-hover: light-dark(#bd2915, #fbbcb6);
|
|
96
107
|
--figma-color-icon-danger-pressed: light-dark(#bd2915, #fbbcb6);
|
|
@@ -121,7 +132,7 @@
|
|
|
121
132
|
--figma-color-icon-onwarning-secondary: #00000080;
|
|
122
133
|
--figma-color-icon-onwarning-tertiary: #0000004d;
|
|
123
134
|
--figma-color-icon-pressed: light-dark(#007be5, #0a6dc2);
|
|
124
|
-
--figma-color-icon-secondary: light-dark(#
|
|
135
|
+
--figma-color-icon-secondary: light-dark(#00000099, #ffffffcc);
|
|
125
136
|
--figma-color-icon-secondary-hover: light-dark(#000000e5, #ffffff);
|
|
126
137
|
--figma-color-icon-selected: light-dark(#007be5, #7cc4f8);
|
|
127
138
|
--figma-color-icon-selected-secondary: light-dark(#007be5, #7cc4f8);
|
|
@@ -130,7 +141,7 @@
|
|
|
130
141
|
--figma-color-icon-success-pressed: light-dark(#008043, #a1e8b9);
|
|
131
142
|
--figma-color-icon-success-secondary: light-dark(#14ae5c, #198f51);
|
|
132
143
|
--figma-color-icon-success-tertiary: light-dark(#14ae5c, #198f51);
|
|
133
|
-
--figma-color-icon-tertiary: light-dark(#
|
|
144
|
+
--figma-color-icon-tertiary: light-dark(#00000099, #ffffff99);
|
|
134
145
|
--figma-color-icon-tertiary-hover: light-dark(#000000e5, #ffffff);
|
|
135
146
|
--figma-color-icon-warning: light-dark(#ffcd29, #f3c11b);
|
|
136
147
|
--figma-color-icon-warning-pressed: light-dark(#b86200, #f7d15f);
|
|
@@ -144,8 +155,8 @@
|
|
|
144
155
|
--figma-color-text-brand-tertiary: light-dark(#007be5, #7cc4f8);
|
|
145
156
|
--figma-color-text-component: light-dark(#8638e5, #d1a8ff);
|
|
146
157
|
--figma-color-text-component-pressed: light-dark(#7c2bda, #d6b6fb);
|
|
147
|
-
--figma-color-text-component-secondary: light-dark(#
|
|
148
|
-
--figma-color-text-component-tertiary: light-dark(#
|
|
158
|
+
--figma-color-text-component-secondary: light-dark(#6f3bb2, #d1a8ff);
|
|
159
|
+
--figma-color-text-component-tertiary: light-dark(#6f3bb2, #d1a8ff);
|
|
149
160
|
--figma-color-text-danger: light-dark(#dc3412, #fca397);
|
|
150
161
|
--figma-color-text-danger-secondary: light-dark(#dc3412, #fca397);
|
|
151
162
|
--figma-color-text-danger-tertiary: light-dark(#dc3412, #fca397);
|
|
@@ -172,7 +183,7 @@
|
|
|
172
183
|
--figma-color-text-onwarning: #000000e5;
|
|
173
184
|
--figma-color-text-onwarning-secondary: #00000080;
|
|
174
185
|
--figma-color-text-onwarning-tertiary: #0000004d;
|
|
175
|
-
--figma-color-text-secondary: light-dark(#
|
|
186
|
+
--figma-color-text-secondary: light-dark(#00000099, #ffffffcc);
|
|
176
187
|
--figma-color-text-secondary-hover: light-dark(#000000e5, #ffffff);
|
|
177
188
|
--figma-color-text-selection: rgba(13, 153, 255, 0.4);
|
|
178
189
|
--figma-color-text-selected: light-dark(#007be5, #7cc4f8);
|
|
@@ -181,14 +192,15 @@
|
|
|
181
192
|
--figma-color-text-success: light-dark(#009951, #79d297);
|
|
182
193
|
--figma-color-text-success-secondary: light-dark(#009951, #79d297);
|
|
183
194
|
--figma-color-text-success-tertiary: light-dark(#009951, #79d297);
|
|
184
|
-
--figma-color-text-tertiary: light-dark(#
|
|
195
|
+
--figma-color-text-tertiary: light-dark(#00000099, #ffffff99);
|
|
185
196
|
--figma-color-text-tertiary-hover: light-dark(#000000e5, #ffffff);
|
|
186
197
|
--figma-color-text-warning: light-dark(#b86200, #f7d15f);
|
|
187
198
|
--figma-color-text-warning-secondary: light-dark(#b86200, #f7d15f);
|
|
188
199
|
--figma-color-text-warning-tertiary: light-dark(#b86200, #f7d15f);
|
|
189
200
|
--figma-color-text-menu: #ffffff;
|
|
190
201
|
--figma-color-text-menu-secondary: rgba(255, 255, 255, 0.7);
|
|
191
|
-
--figma-color-text-menu-tertiary: rgba(255, 255, 255, 0.
|
|
202
|
+
--figma-color-text-menu-tertiary: rgba(255, 255, 255, 0.7);
|
|
203
|
+
}
|
|
192
204
|
}
|
|
193
205
|
|
|
194
206
|
:root,
|
|
@@ -196,9 +208,8 @@
|
|
|
196
208
|
/* Typography & Sizing */
|
|
197
209
|
--font-size: 16px;
|
|
198
210
|
--font-family:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
sans-serif;
|
|
211
|
+
AppleSystemUIFont, BlinkMacSystemFont, avenir next, avenir, segoe ui,
|
|
212
|
+
helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
|
|
202
213
|
--body-medium-fontSize: 0.6875rem;
|
|
203
214
|
--body-large-fontSize: 0.8125rem;
|
|
204
215
|
--body-letter-spacing: 0.055px;
|
|
@@ -286,7 +297,7 @@
|
|
|
286
297
|
rgba(0, 0, 0, 0.2) 0% 25%,
|
|
287
298
|
rgba(255, 255, 255, 0.2) 0% 50%
|
|
288
299
|
)
|
|
289
|
-
0 0 / 0.
|
|
300
|
+
0 0 / 0.4375rem 0.4375rem;
|
|
290
301
|
--checkerboard-slider: repeating-conic-gradient(
|
|
291
302
|
rgba(0, 0, 0, 0.2) 0% 25%,
|
|
292
303
|
rgba(255, 255, 255, 0.2) 0% 50%
|
|
@@ -296,7 +307,7 @@
|
|
|
296
307
|
rgba(0, 0, 0, 0.2) 0% 25%,
|
|
297
308
|
rgba(255, 255, 255, 0.2) 0% 50%
|
|
298
309
|
)
|
|
299
|
-
0 0 / 0.
|
|
310
|
+
0 0 / 0.375rem 0.375rem;
|
|
300
311
|
--bg-hue: linear-gradient(
|
|
301
312
|
90deg,
|
|
302
313
|
rgba(255, 0, 0, 1),
|
|
@@ -452,8 +463,8 @@ input[type="tel"],
|
|
|
452
463
|
-moz-appearance: textfield;
|
|
453
464
|
|
|
454
465
|
&:focus {
|
|
455
|
-
|
|
456
|
-
outline:
|
|
466
|
+
outline: var(--figma-focus-outline);
|
|
467
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
457
468
|
}
|
|
458
469
|
&::-webkit-outer-spin-button,
|
|
459
470
|
&::-webkit-inner-spin-button {
|
|
@@ -567,8 +578,8 @@ input[type="text"][list] {
|
|
|
567
578
|
text-overflow: ellipsis;
|
|
568
579
|
|
|
569
580
|
&:focus {
|
|
570
|
-
|
|
571
|
-
outline:
|
|
581
|
+
outline: var(--figma-focus-outline);
|
|
582
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
572
583
|
}
|
|
573
584
|
|
|
574
585
|
&::-webkit-calendar-picker-indicator {
|
|
@@ -1017,9 +1028,11 @@ fig-button {
|
|
|
1017
1028
|
}
|
|
1018
1029
|
|
|
1019
1030
|
&:focus-visible,
|
|
1020
|
-
&[data-focus-visible]
|
|
1021
|
-
|
|
1022
|
-
|
|
1031
|
+
&[data-focus-visible],
|
|
1032
|
+
&[type="select"]:focus-within,
|
|
1033
|
+
&[type="upload"]:focus-within {
|
|
1034
|
+
outline: var(--figma-focus-outline);
|
|
1035
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
1023
1036
|
}
|
|
1024
1037
|
svg {
|
|
1025
1038
|
*[fill]:not([fill="none"]) {
|
|
@@ -1124,6 +1137,12 @@ fig-tab,
|
|
|
1124
1137
|
background-color: var(--figma-color-bg-secondary);
|
|
1125
1138
|
}
|
|
1126
1139
|
|
|
1140
|
+
&:focus-visible,
|
|
1141
|
+
&[data-focus-visible] {
|
|
1142
|
+
outline: var(--figma-focus-outline);
|
|
1143
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1127
1146
|
&[disabled]:not([disabled="false"]) {
|
|
1128
1147
|
opacity: 0.4;
|
|
1129
1148
|
pointer-events: none;
|
|
@@ -1203,8 +1222,8 @@ input[type="color"] {
|
|
|
1203
1222
|
display: inline-grid;
|
|
1204
1223
|
|
|
1205
1224
|
&:focus {
|
|
1206
|
-
|
|
1207
|
-
outline:
|
|
1225
|
+
outline: var(--figma-focus-outline);
|
|
1226
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
1208
1227
|
}
|
|
1209
1228
|
|
|
1210
1229
|
&::-webkit-color-swatch-wrapper {
|
|
@@ -1446,6 +1465,11 @@ fig-input-file {
|
|
|
1446
1465
|
flex-shrink: 0;
|
|
1447
1466
|
}
|
|
1448
1467
|
|
|
1468
|
+
fig-button:has(> input[type="file"]:focus-visible) {
|
|
1469
|
+
outline: var(--figma-focus-outline);
|
|
1470
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1449
1473
|
&[dragover] fig-button {
|
|
1450
1474
|
outline: 1px dashed var(--figma-color-border-brand);
|
|
1451
1475
|
outline-offset: -1px;
|
|
@@ -1457,91 +1481,114 @@ fig-image,
|
|
|
1457
1481
|
fig-video {
|
|
1458
1482
|
--fig-media-fit: contain;
|
|
1459
1483
|
--fig-media-aspect-ratio: 4/3;
|
|
1460
|
-
--fig-media-size: 100%;
|
|
1484
|
+
--fig-media-size: 100%;
|
|
1461
1485
|
display: inline-flex;
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
overflow: hidden;
|
|
1467
|
-
aspect-ratio: var(--fig-media-aspect-ratio);
|
|
1468
|
-
align-items: center;
|
|
1469
|
-
min-height: 4rem;
|
|
1470
|
-
justify-content: center;
|
|
1486
|
+
flex-direction: column;
|
|
1487
|
+
gap: var(--spacer-2);
|
|
1488
|
+
max-width: var(--fig-media-size);
|
|
1489
|
+
align-items: stretch;
|
|
1471
1490
|
position: relative;
|
|
1472
1491
|
|
|
1492
|
+
&:has(> :is([slot="overlay"], fig-input-file[variant="overlay"])) {
|
|
1493
|
+
display: inline-grid;
|
|
1494
|
+
grid-template-areas: "media-preview";
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1473
1497
|
&[size="small"] {
|
|
1474
1498
|
--fig-media-size: 2rem;
|
|
1475
|
-
min-height: auto;
|
|
1476
1499
|
width: var(--fig-media-size);
|
|
1477
1500
|
}
|
|
1478
1501
|
&[size="medium"] {
|
|
1479
1502
|
--fig-media-size: 4rem;
|
|
1480
|
-
min-height: auto;
|
|
1481
1503
|
width: var(--fig-media-size);
|
|
1482
1504
|
}
|
|
1483
1505
|
&[size="large"] {
|
|
1484
1506
|
--fig-media-size: 6rem;
|
|
1485
|
-
min-height: auto;
|
|
1486
1507
|
width: var(--fig-media-size);
|
|
1487
1508
|
}
|
|
1488
1509
|
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1510
|
+
> fig-preview {
|
|
1511
|
+
--fig-preview-fit: var(--fig-media-fit);
|
|
1512
|
+
width: 100%;
|
|
1513
|
+
max-width: var(--fig-media-size);
|
|
1514
|
+
aspect-ratio: var(--fig-media-aspect-ratio);
|
|
1515
|
+
min-height: 4rem;
|
|
1492
1516
|
}
|
|
1493
1517
|
|
|
1494
|
-
&[
|
|
1518
|
+
&[size="small"] > fig-preview,
|
|
1519
|
+
&[size="medium"] > fig-preview,
|
|
1520
|
+
&[size="large"] > fig-preview {
|
|
1521
|
+
min-height: auto;
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
&[checkerboard]:not([checkerboard="false"]) > fig-preview {
|
|
1495
1525
|
background: var(--checkerboard);
|
|
1496
1526
|
}
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
height: 100%;
|
|
1501
|
-
border-radius: inherit;
|
|
1502
|
-
position: absolute;
|
|
1503
|
-
inset: 0;
|
|
1504
|
-
border: 1px solid var(--figma-color-bordertranslucent);
|
|
1527
|
+
|
|
1528
|
+
> :is(fig-preview, [slot="overlay"], fig-input-file[variant="overlay"]) {
|
|
1529
|
+
grid-area: media-preview;
|
|
1505
1530
|
}
|
|
1506
|
-
|
|
1507
|
-
>
|
|
1508
|
-
>
|
|
1531
|
+
|
|
1532
|
+
> fig-preview > video,
|
|
1533
|
+
> fig-preview > img,
|
|
1534
|
+
> fig-preview > .fig-media-element[data-generated] {
|
|
1509
1535
|
display: block;
|
|
1510
1536
|
width: stretch;
|
|
1511
1537
|
height: stretch;
|
|
1512
1538
|
position: static;
|
|
1513
|
-
object-fit: var(--fig-
|
|
1539
|
+
object-fit: var(--fig-preview-fit);
|
|
1514
1540
|
object-position: center;
|
|
1515
1541
|
z-index: 0;
|
|
1516
1542
|
}
|
|
1517
1543
|
|
|
1518
1544
|
&:is(:not([src]), [src=""]):is(:not([poster]), [poster=""])
|
|
1519
|
-
> video.fig-media-element[data-generated] {
|
|
1545
|
+
> fig-preview > video.fig-media-element[data-generated] {
|
|
1520
1546
|
opacity: 0;
|
|
1521
1547
|
pointer-events: none;
|
|
1522
1548
|
}
|
|
1523
|
-
&:not(:has(> img.fig-media-element[data-generated][src]:not([src=""]))) > img.fig-media-element[data-generated] {
|
|
1549
|
+
&:not(:has(> fig-preview > img.fig-media-element[data-generated][src]:not([src=""]))) > fig-preview > img.fig-media-element[data-generated] {
|
|
1524
1550
|
opacity: 0;
|
|
1525
1551
|
pointer-events: none;
|
|
1526
1552
|
}
|
|
1527
|
-
> fig-input-file[data-generated] {
|
|
1553
|
+
> fig-preview > fig-input-file:is([data-generated], [variant="overlay"]) {
|
|
1528
1554
|
opacity: 0;
|
|
1529
1555
|
pointer-events: none;
|
|
1556
|
+
position: absolute;
|
|
1557
|
+
top: 50%;
|
|
1558
|
+
left: 50%;
|
|
1559
|
+
transform: translate(-50%, -50%);
|
|
1560
|
+
z-index: 2;
|
|
1561
|
+
max-width: calc(100% - var(--spacer-4));
|
|
1562
|
+
}
|
|
1563
|
+
&:not(:has(> fig-preview > img.fig-media-element[data-generated][src]:not([src=""]))) > fig-preview > fig-input-file:is([data-generated], [variant="overlay"]),
|
|
1564
|
+
> fig-preview:hover > fig-input-file:is([data-generated], [variant="overlay"]),
|
|
1565
|
+
> fig-preview:focus-within > fig-input-file:is([data-generated], [variant="overlay"]) {
|
|
1566
|
+
opacity: 1;
|
|
1567
|
+
pointer-events: all;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
> :is([slot="overlay"], fig-input-file[variant="overlay"]) {
|
|
1571
|
+
place-self: center;
|
|
1530
1572
|
z-index: 2;
|
|
1531
|
-
|
|
1573
|
+
opacity: 0;
|
|
1574
|
+
pointer-events: none;
|
|
1575
|
+
max-width: calc(100% - var(--spacer-4));
|
|
1532
1576
|
}
|
|
1533
|
-
|
|
1534
|
-
&:
|
|
1577
|
+
|
|
1578
|
+
&:not(:has(> fig-preview > img.fig-media-element[data-generated][src]:not([src=""]))) > :is([slot="overlay"], fig-input-file[variant="overlay"]),
|
|
1579
|
+
&:has(> fig-preview:hover) > :is([slot="overlay"], fig-input-file[variant="overlay"]),
|
|
1580
|
+
&:has(> fig-preview:focus-within) > :is([slot="overlay"], fig-input-file[variant="overlay"]),
|
|
1581
|
+
&:has(> [slot="overlay"]:is(:focus, :focus-within, :active)) > [slot="overlay"],
|
|
1582
|
+
&:has(> fig-input-file[variant="overlay"]:is(:focus, :focus-within, :active)) > fig-input-file[variant="overlay"],
|
|
1583
|
+
> [slot="overlay"]:focus-within,
|
|
1584
|
+
> fig-input-file[variant="overlay"]:focus-within {
|
|
1535
1585
|
opacity: 1;
|
|
1536
1586
|
pointer-events: all;
|
|
1537
1587
|
}
|
|
1538
1588
|
|
|
1539
1589
|
> fig-media-controls[data-generated] {
|
|
1540
|
-
position:
|
|
1541
|
-
|
|
1542
|
-
top: auto;
|
|
1543
|
-
width: auto;
|
|
1544
|
-
z-index: 3;
|
|
1590
|
+
position: static;
|
|
1591
|
+
width: 100%;
|
|
1545
1592
|
pointer-events: auto;
|
|
1546
1593
|
}
|
|
1547
1594
|
}
|
|
@@ -1969,6 +2016,12 @@ fig-origin-grid {
|
|
|
1969
2016
|
cursor: default;
|
|
1970
2017
|
touch-action: none;
|
|
1971
2018
|
|
|
2019
|
+
&:focus-visible {
|
|
2020
|
+
--figma-focus-outline-offset: 1px;
|
|
2021
|
+
outline: var(--figma-focus-outline);
|
|
2022
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2023
|
+
}
|
|
2024
|
+
|
|
1972
2025
|
&.beyond-bounds-x,
|
|
1973
2026
|
&.beyond-bounds-y {
|
|
1974
2027
|
-webkit-mask-image: var(--icon-24-arrow-left);
|
|
@@ -2053,6 +2106,27 @@ fig-combo-input {
|
|
|
2053
2106
|
display: inline-flex;
|
|
2054
2107
|
flex: 1;
|
|
2055
2108
|
min-width: 0;
|
|
2109
|
+
|
|
2110
|
+
> .input-combo {
|
|
2111
|
+
flex: 1 1 auto;
|
|
2112
|
+
width: 100%;
|
|
2113
|
+
min-width: 0;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
fig-input-text {
|
|
2117
|
+
flex: 1 1 auto;
|
|
2118
|
+
min-width: 0;
|
|
2119
|
+
}
|
|
2120
|
+
}
|
|
2121
|
+
|
|
2122
|
+
fig-combo-input fig-button[type="select"] {
|
|
2123
|
+
> fig-dropdown,
|
|
2124
|
+
> fig-dropdown > select {
|
|
2125
|
+
width: 100%;
|
|
2126
|
+
height: 100%;
|
|
2127
|
+
min-width: 100%;
|
|
2128
|
+
padding: 0;
|
|
2129
|
+
}
|
|
2056
2130
|
}
|
|
2057
2131
|
|
|
2058
2132
|
.input-combo {
|
|
@@ -2107,6 +2181,7 @@ input[type="checkbox"].switch {
|
|
|
2107
2181
|
--knob-height: 0.5rem;
|
|
2108
2182
|
--width: 2rem;
|
|
2109
2183
|
--height: 1rem;
|
|
2184
|
+
--figma-focus-outline-offset: 1px;
|
|
2110
2185
|
contain: strict;
|
|
2111
2186
|
display: inline-flex;
|
|
2112
2187
|
margin: 0;
|
|
@@ -2126,7 +2201,6 @@ input[type="checkbox"].switch {
|
|
|
2126
2201
|
justify-content: center;
|
|
2127
2202
|
border-radius: 0.5rem;
|
|
2128
2203
|
background-color: var(--figma-color-bg-switch);
|
|
2129
|
-
transition: var(--input-transition);
|
|
2130
2204
|
box-sizing: border-box;
|
|
2131
2205
|
box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
|
|
2132
2206
|
&:after {
|
|
@@ -2184,12 +2258,9 @@ input[type="checkbox"].switch {
|
|
|
2184
2258
|
}
|
|
2185
2259
|
}
|
|
2186
2260
|
|
|
2187
|
-
&:focus {
|
|
2188
|
-
outline:
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
&:checked:focus {
|
|
2192
|
-
outline: 0;
|
|
2261
|
+
&:focus, &:focus-within {
|
|
2262
|
+
outline: var(--figma-focus-outline);
|
|
2263
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2193
2264
|
}
|
|
2194
2265
|
}
|
|
2195
2266
|
|
|
@@ -2198,6 +2269,7 @@ input[type="checkbox"]:not(.switch) {
|
|
|
2198
2269
|
contain: strict;
|
|
2199
2270
|
vertical-align: middle;
|
|
2200
2271
|
--size: 1rem;
|
|
2272
|
+
--figma-focus-outline-offset: 1px;
|
|
2201
2273
|
appearance: none;
|
|
2202
2274
|
border-radius: var(--radius-medium);
|
|
2203
2275
|
width: var(--size);
|
|
@@ -2230,10 +2302,11 @@ input[type="checkbox"]:not(.switch) {
|
|
|
2230
2302
|
}
|
|
2231
2303
|
|
|
2232
2304
|
&:focus {
|
|
2233
|
-
outline:
|
|
2305
|
+
outline: var(--figma-focus-outline);
|
|
2306
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2234
2307
|
|
|
2235
2308
|
&:not(:checked) {
|
|
2236
|
-
box-shadow: inset 0 0 0 1px var(--figma-color-
|
|
2309
|
+
box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
|
|
2237
2310
|
}
|
|
2238
2311
|
}
|
|
2239
2312
|
&:disabled{
|
|
@@ -2274,6 +2347,7 @@ label.checkbox:has([type="checkbox"]) {
|
|
|
2274
2347
|
/* Radio */
|
|
2275
2348
|
input[type="radio"] {
|
|
2276
2349
|
contain: strict;
|
|
2350
|
+
--figma-focus-outline-offset: 1px;
|
|
2277
2351
|
appearance: none;
|
|
2278
2352
|
border-radius: 0.5rem;
|
|
2279
2353
|
width: 1rem;
|
|
@@ -2295,11 +2369,8 @@ input[type="radio"] {
|
|
|
2295
2369
|
}
|
|
2296
2370
|
|
|
2297
2371
|
&:focus {
|
|
2298
|
-
outline:
|
|
2299
|
-
|
|
2300
|
-
&:not(:checked) {
|
|
2301
|
-
box-shadow: inset 0 0 0 1px var(--figma-color-border-selected);
|
|
2302
|
-
}
|
|
2372
|
+
outline: var(--figma-focus-outline);
|
|
2373
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2303
2374
|
}
|
|
2304
2375
|
|
|
2305
2376
|
&:hover:not(:checked):not(:disabled) {
|
|
@@ -2567,6 +2638,19 @@ fig-slider {
|
|
|
2567
2638
|
outline: none;
|
|
2568
2639
|
}
|
|
2569
2640
|
|
|
2641
|
+
&:focus-visible {
|
|
2642
|
+
&::-webkit-slider-thumb {
|
|
2643
|
+
--figma-focus-outline-offset: 1px;
|
|
2644
|
+
outline: var(--figma-focus-outline);
|
|
2645
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2646
|
+
}
|
|
2647
|
+
&::-moz-range-thumb {
|
|
2648
|
+
--figma-focus-outline-offset: 1px;
|
|
2649
|
+
outline: var(--figma-focus-outline);
|
|
2650
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
2651
|
+
}
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2570
2654
|
&:disabled {
|
|
2571
2655
|
cursor: not-allowed;
|
|
2572
2656
|
}
|
|
@@ -2727,8 +2811,8 @@ fig-slider {
|
|
|
2727
2811
|
&:not([variant="classic"]) {
|
|
2728
2812
|
--slider-height: 0.375rem;
|
|
2729
2813
|
--slider-thumb-size: 0.75rem;
|
|
2730
|
-
--slider-tick-width: calc(var(--slider-height) /
|
|
2731
|
-
--slider-tick-height: calc(var(--slider-height) /
|
|
2814
|
+
--slider-tick-width: calc(var(--slider-height) / 2);
|
|
2815
|
+
--slider-tick-height: calc(var(--slider-height) / 2);
|
|
2732
2816
|
--handle-transition: none;
|
|
2733
2817
|
--slider-transition: none;
|
|
2734
2818
|
--slider-handle-shadow:
|
|
@@ -3000,70 +3084,6 @@ dialog[is="fig-popup"] {
|
|
|
3000
3084
|
|
|
3001
3085
|
}
|
|
3002
3086
|
|
|
3003
|
-
dialog[is="fig-toast"] {
|
|
3004
|
-
contain: layout paint;
|
|
3005
|
-
--z-index: 999999;
|
|
3006
|
-
z-index: var(--z-index);
|
|
3007
|
-
box-shadow: var(--figma-elevation-100);
|
|
3008
|
-
border-radius: var(--radius-large);
|
|
3009
|
-
padding: var(--spacer-2) var(--spacer-3);
|
|
3010
|
-
align-items: center;
|
|
3011
|
-
gap: var(--spacer-2);
|
|
3012
|
-
height: 2.5rem;
|
|
3013
|
-
justify-content: center;
|
|
3014
|
-
min-width: 0;
|
|
3015
|
-
color: var(--figma-color-text);
|
|
3016
|
-
background-color: var(--figma-color-bg);
|
|
3017
|
-
|
|
3018
|
-
&[open] {
|
|
3019
|
-
display: flex;
|
|
3020
|
-
}
|
|
3021
|
-
|
|
3022
|
-
& p {
|
|
3023
|
-
margin: 0;
|
|
3024
|
-
padding: 0;
|
|
3025
|
-
color: inherit;
|
|
3026
|
-
font-weight: var(--body-medium-strong-fontWeight);
|
|
3027
|
-
}
|
|
3028
|
-
|
|
3029
|
-
hr[vertical] {
|
|
3030
|
-
margin: 0;
|
|
3031
|
-
}
|
|
3032
|
-
|
|
3033
|
-
& fig-button:last-child {
|
|
3034
|
-
margin-right: calc(var(--spacer-2) * -1);
|
|
3035
|
-
}
|
|
3036
|
-
|
|
3037
|
-
/* Theme: Dark (default) - hardcoded to ensure consistency regardless of global theme */
|
|
3038
|
-
&[theme="dark"] {
|
|
3039
|
-
color-scheme: dark;
|
|
3040
|
-
}
|
|
3041
|
-
|
|
3042
|
-
/* Theme: Light - hardcoded to ensure consistency regardless of global theme */
|
|
3043
|
-
&[theme="light"] {
|
|
3044
|
-
color-scheme: light;
|
|
3045
|
-
}
|
|
3046
|
-
|
|
3047
|
-
/* Theme: Danger - hardcoded to ensure consistency regardless of global theme */
|
|
3048
|
-
&[theme="danger"] {
|
|
3049
|
-
background-color: var(--figma-color-bg-danger);
|
|
3050
|
-
color-scheme: dark;
|
|
3051
|
-
}
|
|
3052
|
-
|
|
3053
|
-
/* Theme: Brand - hardcoded to ensure consistency regardless of global theme */
|
|
3054
|
-
&[theme="brand"] {
|
|
3055
|
-
background-color: var(--figma-color-bg-brand);
|
|
3056
|
-
color-scheme: dark;
|
|
3057
|
-
}
|
|
3058
|
-
|
|
3059
|
-
&[theme="success"] {
|
|
3060
|
-
background-color: var(--figma-color-bg-success);
|
|
3061
|
-
color-scheme: dark;
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
3087
|
/* Tooltip */
|
|
3068
3088
|
fig-tooltip {
|
|
3069
3089
|
display: contents;
|
|
@@ -3140,6 +3160,7 @@ fig-dropdown {
|
|
|
3140
3160
|
|
|
3141
3161
|
fig-checkbox,
|
|
3142
3162
|
fig-radio {
|
|
3163
|
+
|
|
3143
3164
|
align-items: center;
|
|
3144
3165
|
padding-top: 0.25rem;
|
|
3145
3166
|
padding-bottom: 0.25rem;
|
|
@@ -3196,6 +3217,13 @@ fig-group {
|
|
|
3196
3217
|
& > fig-header {
|
|
3197
3218
|
cursor: default;
|
|
3198
3219
|
padding-left: var(--spacer-3);
|
|
3220
|
+
|
|
3221
|
+
&:focus-visible {
|
|
3222
|
+
--figma-focus-outline-radius: var(--radius-medium);
|
|
3223
|
+
outline: var(--figma-focus-outline);
|
|
3224
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
3225
|
+
border-radius: var(--figma-focus-outline-radius);
|
|
3226
|
+
}
|
|
3199
3227
|
h3 {
|
|
3200
3228
|
.fig-group-chevron {
|
|
3201
3229
|
--icon: var(--icon-16-chevron);
|
|
@@ -3405,10 +3433,17 @@ fig-input-number {
|
|
|
3405
3433
|
|
|
3406
3434
|
&:focus,
|
|
3407
3435
|
&:active {
|
|
3436
|
+
outline: 0;
|
|
3408
3437
|
box-shadow: none !important;
|
|
3409
3438
|
}
|
|
3410
3439
|
}
|
|
3411
3440
|
|
|
3441
|
+
& input[type="text"]:focus,
|
|
3442
|
+
& input[type="text"]:active {
|
|
3443
|
+
outline: 0;
|
|
3444
|
+
box-shadow: none !important;
|
|
3445
|
+
}
|
|
3446
|
+
|
|
3412
3447
|
& input[type="search"] {
|
|
3413
3448
|
appearance: textfield;
|
|
3414
3449
|
&::-webkit-search-cancel-button,
|
|
@@ -3421,8 +3456,8 @@ fig-input-number {
|
|
|
3421
3456
|
}
|
|
3422
3457
|
|
|
3423
3458
|
&:has(input:focus) {
|
|
3424
|
-
|
|
3425
|
-
outline:
|
|
3459
|
+
outline: var(--figma-focus-outline);
|
|
3460
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
3426
3461
|
}
|
|
3427
3462
|
&:hover {
|
|
3428
3463
|
box-shadow: inset 0 0 0 1px var(--figma-color-border);
|
|
@@ -3458,8 +3493,8 @@ fig-input-fill {
|
|
|
3458
3493
|
&:focus,
|
|
3459
3494
|
&:focus-within,
|
|
3460
3495
|
&.has-popup-open {
|
|
3461
|
-
outline:
|
|
3462
|
-
outline-offset: -
|
|
3496
|
+
outline: var(--figma-focus-outline) !important;
|
|
3497
|
+
outline-offset: var(--figma-focus-outline-offset) !important;
|
|
3463
3498
|
}
|
|
3464
3499
|
&:hover {
|
|
3465
3500
|
outline: 1px solid var(--figma-color-border);
|
|
@@ -3479,6 +3514,7 @@ fig-input-fill {
|
|
|
3479
3514
|
&:hover {
|
|
3480
3515
|
background-color: transparent !important;
|
|
3481
3516
|
box-shadow: none !important;
|
|
3517
|
+
outline: 0 !important;
|
|
3482
3518
|
border: 0 !important;
|
|
3483
3519
|
--selected: 0;
|
|
3484
3520
|
}
|
|
@@ -3500,6 +3536,13 @@ fig-input-fill {
|
|
|
3500
3536
|
flex-basis: 3rem;
|
|
3501
3537
|
box-shadow: inset 1px 0 0 0 var(--figma-color-bg) !important;
|
|
3502
3538
|
background-color: transparent !important;
|
|
3539
|
+
outline: 0 !important;
|
|
3540
|
+
|
|
3541
|
+
&:focus,
|
|
3542
|
+
&:focus-within,
|
|
3543
|
+
&:hover {
|
|
3544
|
+
outline: 0 !important;
|
|
3545
|
+
}
|
|
3503
3546
|
}
|
|
3504
3547
|
|
|
3505
3548
|
fig-field:not([direction="vertical"]) & {
|
|
@@ -3520,13 +3563,17 @@ fig-input-gradient {
|
|
|
3520
3563
|
fig-handle[type="color"]{
|
|
3521
3564
|
--height: var(--fig-input-gradient-handle-size);
|
|
3522
3565
|
--width: var(--fig-input-gradient-handle-size);
|
|
3566
|
+
--fig-handle-padding: 0.125rem;
|
|
3567
|
+
|
|
3523
3568
|
}
|
|
3524
3569
|
|
|
3525
3570
|
&:focus,
|
|
3526
|
-
&:active
|
|
3527
|
-
|
|
3528
|
-
outline:
|
|
3529
|
-
|
|
3571
|
+
&:active {
|
|
3572
|
+
outline: var(--figma-focus-outline) !important;
|
|
3573
|
+
outline-offset: var(--figma-focus-outline-offset) !important;
|
|
3574
|
+
}
|
|
3575
|
+
&:focus-within:not(:focus) {
|
|
3576
|
+
outline: 0 !important;
|
|
3530
3577
|
}
|
|
3531
3578
|
&[mode="tip"]{
|
|
3532
3579
|
fig-handle[type="color"]{
|
|
@@ -3536,6 +3583,7 @@ fig-input-gradient {
|
|
|
3536
3583
|
--fig-handle-outline-color: transparent;
|
|
3537
3584
|
--fig-handle-shadow: none;
|
|
3538
3585
|
--fig-handle-inner-outline: none;
|
|
3586
|
+
|
|
3539
3587
|
fig-color-tip{
|
|
3540
3588
|
bottom: calc(100%);
|
|
3541
3589
|
}
|
|
@@ -3546,16 +3594,11 @@ fig-input-gradient {
|
|
|
3546
3594
|
--fig-input-gradient-chit-border-radius: var(--radius-medium);
|
|
3547
3595
|
}
|
|
3548
3596
|
|
|
3549
|
-
&[edit="false"]
|
|
3597
|
+
&[edit="false"],
|
|
3598
|
+
&[edit="picker"] {
|
|
3550
3599
|
pointer-events: none;
|
|
3551
3600
|
--fig-input-gradient-chit-border-radius: var(--radius-medium);
|
|
3552
3601
|
|
|
3553
|
-
&:focus,
|
|
3554
|
-
&:active,
|
|
3555
|
-
&:focus-within {
|
|
3556
|
-
outline: none !important;
|
|
3557
|
-
}
|
|
3558
|
-
|
|
3559
3602
|
}
|
|
3560
3603
|
|
|
3561
3604
|
&[edit="picker"] {
|
|
@@ -3648,6 +3691,10 @@ fig-input-palette {
|
|
|
3648
3691
|
height: var(--palette-colors-height);
|
|
3649
3692
|
fig-input-color {
|
|
3650
3693
|
width: 100%;
|
|
3694
|
+
&:focus,
|
|
3695
|
+
&:focus-within {
|
|
3696
|
+
outline: 0 !important;
|
|
3697
|
+
}
|
|
3651
3698
|
fig-chit {
|
|
3652
3699
|
--border-radius: 0px;
|
|
3653
3700
|
--width: 100%;
|
|
@@ -3677,6 +3724,15 @@ fig-input-palette {
|
|
|
3677
3724
|
|
|
3678
3725
|
}
|
|
3679
3726
|
}
|
|
3727
|
+
&:focus-visible {
|
|
3728
|
+
outline: 0;
|
|
3729
|
+
}
|
|
3730
|
+
&:focus-visible > .palette-colors-inline,
|
|
3731
|
+
> .palette-colors-inline:focus-visible,
|
|
3732
|
+
&:has(> .palette-colors-inline :focus-visible) > .palette-colors-inline {
|
|
3733
|
+
outline: var(--figma-focus-outline);
|
|
3734
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
3735
|
+
}
|
|
3680
3736
|
&[open]:not([open="false"]):not([edit="false"]) {
|
|
3681
3737
|
grid-template-areas:
|
|
3682
3738
|
"inline button"
|
|
@@ -3889,6 +3945,7 @@ fig-segmented-control {
|
|
|
3889
3945
|
}
|
|
3890
3946
|
|
|
3891
3947
|
& fig-segment {
|
|
3948
|
+
--figma-focus-outline-offset: 0;
|
|
3892
3949
|
flex: 1 1 0;
|
|
3893
3950
|
min-width: 0;
|
|
3894
3951
|
display: block;
|
|
@@ -3913,6 +3970,11 @@ fig-segmented-control {
|
|
|
3913
3970
|
box-shadow: 0 0 0 1px var(--figma-color-border);
|
|
3914
3971
|
}
|
|
3915
3972
|
|
|
3973
|
+
&:focus-visible {
|
|
3974
|
+
outline: var(--figma-focus-outline);
|
|
3975
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
3976
|
+
}
|
|
3977
|
+
|
|
3916
3978
|
svg {
|
|
3917
3979
|
*[fill] {
|
|
3918
3980
|
fill: currentColor;
|
|
@@ -4082,6 +4144,7 @@ fig-joystick {
|
|
|
4082
4144
|
line-height: 1;
|
|
4083
4145
|
letter-spacing: 0.01em;
|
|
4084
4146
|
font-weight: 700;
|
|
4147
|
+
text-transform: uppercase;
|
|
4085
4148
|
text-shadow:
|
|
4086
4149
|
1px 0 0 var(--figma-color-bg-secondary),
|
|
4087
4150
|
-1px 0 0 var(--figma-color-bg-secondary),
|
|
@@ -4176,147 +4239,12 @@ fig-joystick {
|
|
|
4176
4239
|
var(--figma-color-bg-secondary);
|
|
4177
4240
|
box-shadow: inset 0 0 0 1px var(--figma-color-border-selected);
|
|
4178
4241
|
}
|
|
4179
|
-
.fig-input-joystick-plane-container:focus .fig-input-joystick-guides {
|
|
4180
|
-
box-shadow: inset 0 0 0 1px var(--figma-color-border-selected);
|
|
4181
|
-
}
|
|
4182
|
-
|
|
4183
4242
|
fig-handle {
|
|
4184
4243
|
position: absolute;
|
|
4185
4244
|
z-index: 4;
|
|
4186
4245
|
}
|
|
4187
4246
|
}
|
|
4188
4247
|
|
|
4189
|
-
/* Layer */
|
|
4190
|
-
fig-layer {
|
|
4191
|
-
--indent: var(--spacer-3);
|
|
4192
|
-
display: block;
|
|
4193
|
-
color: var(--figma-color-text);
|
|
4194
|
-
position: relative;
|
|
4195
|
-
user-select: none;
|
|
4196
|
-
width: 100%;
|
|
4197
|
-
padding: 0 var(--spacer-3);
|
|
4198
|
-
border-radius: var(--radius-medium);
|
|
4199
|
-
|
|
4200
|
-
/* When layer has children */
|
|
4201
|
-
&:has(fig-layer) {
|
|
4202
|
-
& > .fig-layer-row {
|
|
4203
|
-
& > .fig-layer-chevron {
|
|
4204
|
-
visibility: visible;
|
|
4205
|
-
}
|
|
4206
|
-
}
|
|
4207
|
-
}
|
|
4208
|
-
|
|
4209
|
-
& > .fig-layer-row {
|
|
4210
|
-
display: flex;
|
|
4211
|
-
align-items: center;
|
|
4212
|
-
gap: var(--spacer-1);
|
|
4213
|
-
padding: var(--spacer-1) var(--spacer-2);
|
|
4214
|
-
height: var(--spacer-4);
|
|
4215
|
-
border-radius: var(--radius-medium);
|
|
4216
|
-
position: relative;
|
|
4217
|
-
|
|
4218
|
-
/* Chevron element - injected by JS when layer has children */
|
|
4219
|
-
.fig-layer-chevron {
|
|
4220
|
-
mask-image: var(--icon-16-chevron);
|
|
4221
|
-
mask-size: contain;
|
|
4222
|
-
mask-repeat: no-repeat;
|
|
4223
|
-
mask-position: center;
|
|
4224
|
-
display: flex;
|
|
4225
|
-
visibility: hidden;
|
|
4226
|
-
background: var(--figma-color-text-tertiary);
|
|
4227
|
-
width: var(--spacer-3);
|
|
4228
|
-
height: var(--spacer-3);
|
|
4229
|
-
flex-shrink: 0;
|
|
4230
|
-
transition: transform 0.15s;
|
|
4231
|
-
position: absolute;
|
|
4232
|
-
left: calc(var(--spacer-3) * -1);
|
|
4233
|
-
top: var(--spacer-1);
|
|
4234
|
-
rotate: -90deg;
|
|
4235
|
-
}
|
|
4236
|
-
|
|
4237
|
-
&:hover {
|
|
4238
|
-
background: var(--figma-color-bg-secondary);
|
|
4239
|
-
|
|
4240
|
-
.fig-layer-actions {
|
|
4241
|
-
opacity: 1;
|
|
4242
|
-
}
|
|
4243
|
-
}
|
|
4244
|
-
|
|
4245
|
-
/* Layer icon */
|
|
4246
|
-
.fig-layer-icon {
|
|
4247
|
-
flex-shrink: 0;
|
|
4248
|
-
width: var(--spacer-3);
|
|
4249
|
-
height: var(--spacer-3);
|
|
4250
|
-
color: var(--figma-color-icon-tertiary);
|
|
4251
|
-
margin-left: calc(var(--spacer-1) * -1);
|
|
4252
|
-
}
|
|
4253
|
-
|
|
4254
|
-
> label {
|
|
4255
|
-
flex: 1;
|
|
4256
|
-
min-width: 0;
|
|
4257
|
-
overflow: hidden;
|
|
4258
|
-
text-overflow: ellipsis;
|
|
4259
|
-
white-space: nowrap;
|
|
4260
|
-
color: var(--figma-color-text);
|
|
4261
|
-
}
|
|
4262
|
-
}
|
|
4263
|
-
|
|
4264
|
-
.fig-layer-actions {
|
|
4265
|
-
display: flex;
|
|
4266
|
-
margin-right: calc(-1 * var(--spacer-1));
|
|
4267
|
-
gap: 0;
|
|
4268
|
-
opacity: 0;
|
|
4269
|
-
transition: opacity 0.15s;
|
|
4270
|
-
flex-shrink: 0;
|
|
4271
|
-
|
|
4272
|
-
> * {
|
|
4273
|
-
flex-shrink: 0;
|
|
4274
|
-
}
|
|
4275
|
-
}
|
|
4276
|
-
|
|
4277
|
-
/* Nested layers indentation */
|
|
4278
|
-
> fig-layer {
|
|
4279
|
-
padding: 0;
|
|
4280
|
-
margin-top: 1px;
|
|
4281
|
-
.fig-layer-row {
|
|
4282
|
-
padding-left: var(--indent);
|
|
4283
|
-
}
|
|
4284
|
-
}
|
|
4285
|
-
|
|
4286
|
-
/* Collapsed state - hide children */
|
|
4287
|
-
&:not([open]) > fig-layer,
|
|
4288
|
-
&[open="false"] > fig-layer {
|
|
4289
|
-
display: none;
|
|
4290
|
-
}
|
|
4291
|
-
|
|
4292
|
-
&[open]:not([open="false"]) {
|
|
4293
|
-
/* Rotate chevron when open */
|
|
4294
|
-
& > .fig-layer-row > .fig-layer-chevron {
|
|
4295
|
-
rotate: 0deg;
|
|
4296
|
-
}
|
|
4297
|
-
}
|
|
4298
|
-
|
|
4299
|
-
/* Dimmed when not visible */
|
|
4300
|
-
&[visible="false"] > .fig-layer-row {
|
|
4301
|
-
& > label {
|
|
4302
|
-
color: var(--figma-color-text-tertiary);
|
|
4303
|
-
}
|
|
4304
|
-
}
|
|
4305
|
-
|
|
4306
|
-
/* Selected state */
|
|
4307
|
-
&[selected]:not([selected="false"]) {
|
|
4308
|
-
/* Open with children */
|
|
4309
|
-
/*&:has(fig-layer) {
|
|
4310
|
-
background: var(--figma-color-bg-selected-secondary);
|
|
4311
|
-
}*/
|
|
4312
|
-
& > .fig-layer-row {
|
|
4313
|
-
background: var(--figma-color-bg-selected);
|
|
4314
|
-
& > .fig-layer-icon {
|
|
4315
|
-
color: var(--figma-color-icon);
|
|
4316
|
-
}
|
|
4317
|
-
}
|
|
4318
|
-
}
|
|
4319
|
-
}
|
|
4320
4248
|
@keyframes fig-shimmer-text {
|
|
4321
4249
|
from {
|
|
4322
4250
|
background-position: var(--fig-shimmer-text-from, 100% 0%);
|
|
@@ -4740,6 +4668,11 @@ fig-choice {
|
|
|
4740
4668
|
background-color: var(--figma-color-bg-secondary);
|
|
4741
4669
|
}
|
|
4742
4670
|
|
|
4671
|
+
&:focus-visible {
|
|
4672
|
+
outline: var(--figma-focus-outline);
|
|
4673
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
4674
|
+
}
|
|
4675
|
+
|
|
4743
4676
|
&[padding]:not([padding="false"]) {
|
|
4744
4677
|
--fig-choice-padding: var(--spacer-2);
|
|
4745
4678
|
}
|
|
@@ -4775,7 +4708,7 @@ fig-handle {
|
|
|
4775
4708
|
--fill: transparent;
|
|
4776
4709
|
--border-radius: 50%;
|
|
4777
4710
|
--fig-handle-bg: var(--handle-color);
|
|
4778
|
-
--fig-handle-checkerboard: var(--checkerboard);
|
|
4711
|
+
--fig-handle-checkerboard: var(--checkerboard-handle);
|
|
4779
4712
|
--fig-handle-height: var(--width);
|
|
4780
4713
|
--fig-handle-hit-area-opacity: 0;
|
|
4781
4714
|
--fig-handle-hit-area-size: 0;
|
|
@@ -4810,8 +4743,6 @@ fig-handle {
|
|
|
4810
4743
|
width: 100%;
|
|
4811
4744
|
height: 100%;
|
|
4812
4745
|
background: var(--fig-handle-inner-bg);
|
|
4813
|
-
background-position: 0 0;
|
|
4814
|
-
background-size: calc(var(--fig-handle-width) - var(--fig-handle-padding) * 2) calc(var(--fig-handle-height) - var(--fig-handle-padding) * 2);
|
|
4815
4746
|
border-radius: var(--fig-handle-inner-radius);
|
|
4816
4747
|
box-shadow: var(--fig-handle-inner-shadow);
|
|
4817
4748
|
outline: var(--fig-handle-inner-outline);
|
|
@@ -4836,6 +4767,13 @@ fig-handle {
|
|
|
4836
4767
|
&:hover,
|
|
4837
4768
|
&[selected]:not([selected="false"]) {
|
|
4838
4769
|
--fig-handle-outline-color: var(--figma-color-border-selected);
|
|
4770
|
+
--fig-handle-outline: 2px solid var(--fig-handle-outline-color);
|
|
4771
|
+
}
|
|
4772
|
+
|
|
4773
|
+
&:focus-visible {
|
|
4774
|
+
--figma-focus-outline-offset: 1px;
|
|
4775
|
+
outline: var(--figma-focus-outline);
|
|
4776
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
4839
4777
|
}
|
|
4840
4778
|
|
|
4841
4779
|
/* Default handle (no type) hover/selected */
|
|
@@ -4843,6 +4781,7 @@ fig-handle {
|
|
|
4843
4781
|
&[selected]:not([selected="false"]):not([type]) {
|
|
4844
4782
|
--fig-handle-inner-bg: var(--figma-color-bg-brand);
|
|
4845
4783
|
--fig-handle-outline-color: var(--figma-color-border-selected);
|
|
4784
|
+
--fig-handle-outline: 2px solid var(--fig-handle-outline-color);
|
|
4846
4785
|
}
|
|
4847
4786
|
|
|
4848
4787
|
&[type="canvas"]{
|
|
@@ -4863,8 +4802,9 @@ fig-handle {
|
|
|
4863
4802
|
--fig-handle-inner-outline-offset: -2px;
|
|
4864
4803
|
--fig-handle-shadow: var(--figma-elevation-200-canvas);
|
|
4865
4804
|
}
|
|
4805
|
+
&.dragging,
|
|
4866
4806
|
&:active{
|
|
4867
|
-
--fig-handle-padding: 2px;
|
|
4807
|
+
--fig-handle-padding: 2px !important;
|
|
4868
4808
|
--fig-handle-inner-bg: var(--figma-color-bg-brand);
|
|
4869
4809
|
}
|
|
4870
4810
|
&[selected]:not([selected="false"]){
|
|
@@ -4877,8 +4817,7 @@ fig-handle {
|
|
|
4877
4817
|
&[tip="add"],
|
|
4878
4818
|
&[tip="remove"] {
|
|
4879
4819
|
--fig-handle-inner-bg: linear-gradient(var(--fill), var(--fill)), var(--fig-handle-checkerboard);
|
|
4880
|
-
--fig-handle-padding:
|
|
4881
|
-
--fig-handle-shadow: none;
|
|
4820
|
+
--fig-handle-padding: 0.25rem;
|
|
4882
4821
|
--fig-handle-inner-outline: none;
|
|
4883
4822
|
position: relative;
|
|
4884
4823
|
overflow: visible;
|
|
@@ -4891,24 +4830,6 @@ fig-handle {
|
|
|
4891
4830
|
z-index: 10;
|
|
4892
4831
|
}
|
|
4893
4832
|
}
|
|
4894
|
-
&[type="color"]{
|
|
4895
|
-
--width: 0.75rem;
|
|
4896
|
-
--height: 0.75rem;
|
|
4897
|
-
&:hover,
|
|
4898
|
-
&:focus-within,
|
|
4899
|
-
&[selected]:not([selected="false"]){
|
|
4900
|
-
--width: 1rem;
|
|
4901
|
-
--height: 1rem;
|
|
4902
|
-
--fig-handle-outline-color: transparent;
|
|
4903
|
-
}
|
|
4904
|
-
&:active{
|
|
4905
|
-
--fig-handle-padding: 2px;
|
|
4906
|
-
}
|
|
4907
|
-
&[selected]:not([selected="false"]){
|
|
4908
|
-
--fig-handle-padding: 1px;
|
|
4909
|
-
}
|
|
4910
|
-
}
|
|
4911
|
-
|
|
4912
4833
|
&[disabled]:not([disabled="false"]),
|
|
4913
4834
|
&[aria-disabled="true"] {
|
|
4914
4835
|
--fig-handle-outline-color: transparent;
|
|
@@ -5037,7 +4958,8 @@ fig-menu-item {
|
|
|
5037
4958
|
}
|
|
5038
4959
|
}
|
|
5039
4960
|
|
|
5040
|
-
&[disabled]:not([disabled="false"])
|
|
4961
|
+
&[disabled]:not([disabled="false"]),
|
|
4962
|
+
&[aria-disabled="true"] {
|
|
5041
4963
|
opacity: 0.4;
|
|
5042
4964
|
pointer-events: none;
|
|
5043
4965
|
}
|