@rogieking/figui3 8.10.1 → 8.11.1
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/fig-lab/SKILL.md +5 -2
- package/.cursor/skills/fig-lab/components.md +59 -1
- package/.cursor/skills/fig-lab/reference.md +61 -4
- package/.cursor/skills/figui3/components.md +1 -1
- package/.cursor/skills/figui3/react.md +3 -1
- package/.cursor/skills/figui3/reference.md +7 -0
- package/.cursor/skills/propkit/SKILL.md +6 -1
- package/README.md +100 -0
- package/components.css +22 -6
- package/dist/components.css +1 -1
- package/dist/fig-lab.css +1 -1
- package/dist/fig-lab.js +3 -1
- package/dist/fig.css +1 -1
- package/dist/fig.js +1 -1
- package/fig-lab.css +354 -5
- package/fig-lab.js +1453 -129
- package/fig.js +5 -1
- package/package.json +1 -1
package/fig-lab.css
CHANGED
|
@@ -223,6 +223,8 @@ fig-chat-message {
|
|
|
223
223
|
propskit-fill,
|
|
224
224
|
propskit-gradient,
|
|
225
225
|
propskit-palette,
|
|
226
|
+
propskit-image,
|
|
227
|
+
propskit-editable-select,
|
|
226
228
|
propskit-select,
|
|
227
229
|
propskit-easing,
|
|
228
230
|
propskit-text,
|
|
@@ -403,6 +405,8 @@ fig-content:has(> propskit-group[name]:last-child) {
|
|
|
403
405
|
propskit-color,
|
|
404
406
|
propskit-fill,
|
|
405
407
|
propskit-gradient,
|
|
408
|
+
propskit-image,
|
|
409
|
+
propskit-editable-select,
|
|
406
410
|
propskit-select,
|
|
407
411
|
propskit-easing,
|
|
408
412
|
propskit-text,
|
|
@@ -1276,6 +1280,142 @@ propskit-select {
|
|
|
1276
1280
|
}
|
|
1277
1281
|
}
|
|
1278
1282
|
|
|
1283
|
+
propskit-editable-select {
|
|
1284
|
+
--propskit-editable-select-height: 2rem;
|
|
1285
|
+
--propskit-editable-select-gap: var(--spacer-1);
|
|
1286
|
+
--propskit-editable-select-control-padding-inline: var(--spacer-1);
|
|
1287
|
+
--_propskit-padding-block: var(
|
|
1288
|
+
--propskit-editable-select-padding-block,
|
|
1289
|
+
var(--propskit-padding-block, var(--spacer-1))
|
|
1290
|
+
);
|
|
1291
|
+
--_propskit-padding-inline: var(
|
|
1292
|
+
--propskit-editable-select-padding-inline,
|
|
1293
|
+
var(--propskit-padding-inline, var(--spacer-3))
|
|
1294
|
+
);
|
|
1295
|
+
--_propskit-background: var(
|
|
1296
|
+
--propskit-editable-select-background,
|
|
1297
|
+
var(--propskit-background, var(--figma-color-bg-secondary))
|
|
1298
|
+
);
|
|
1299
|
+
--_propskit-border: var(
|
|
1300
|
+
--propskit-editable-select-border,
|
|
1301
|
+
var(--propskit-border, 0 solid transparent)
|
|
1302
|
+
);
|
|
1303
|
+
--_propskit-color: var(
|
|
1304
|
+
--propskit-editable-select-color,
|
|
1305
|
+
var(--propskit-color, var(--figma-color-text-secondary))
|
|
1306
|
+
);
|
|
1307
|
+
--_propskit-hover-background: var(
|
|
1308
|
+
--propskit-editable-select-hover-background,
|
|
1309
|
+
var(--propskit-hover-background, var(--_propskit-background))
|
|
1310
|
+
);
|
|
1311
|
+
--_propskit-hover-border: var(
|
|
1312
|
+
--propskit-editable-select-hover-border,
|
|
1313
|
+
var(
|
|
1314
|
+
--propskit-hover-border,
|
|
1315
|
+
1px solid var(--figma-color-bordertranslucent)
|
|
1316
|
+
)
|
|
1317
|
+
);
|
|
1318
|
+
--_propskit-hover-color: var(
|
|
1319
|
+
--propskit-editable-select-hover-color,
|
|
1320
|
+
var(--propskit-hover-color, var(--_propskit-color))
|
|
1321
|
+
);
|
|
1322
|
+
--figma-focus-outline-offset: 1px;
|
|
1323
|
+
|
|
1324
|
+
display: block;
|
|
1325
|
+
box-sizing: border-box;
|
|
1326
|
+
width: 100%;
|
|
1327
|
+
min-height: calc(
|
|
1328
|
+
var(--propskit-editable-select-height) + var(--_propskit-padding-block) * 2
|
|
1329
|
+
);
|
|
1330
|
+
padding-block: var(--_propskit-padding-block);
|
|
1331
|
+
padding-inline: var(--_propskit-padding-inline);
|
|
1332
|
+
|
|
1333
|
+
.propskit-editable-select-surface {
|
|
1334
|
+
position: relative;
|
|
1335
|
+
display: flex;
|
|
1336
|
+
align-items: center;
|
|
1337
|
+
gap: var(--propskit-editable-select-gap);
|
|
1338
|
+
box-sizing: border-box;
|
|
1339
|
+
width: 100%;
|
|
1340
|
+
min-width: 0;
|
|
1341
|
+
min-height: var(--propskit-editable-select-height);
|
|
1342
|
+
padding-block: var(--spacer-1);
|
|
1343
|
+
padding-inline: 0 var(--spacer-1);
|
|
1344
|
+
padding-inline-start: var(--propskit-editable-select-control-padding-inline);
|
|
1345
|
+
border-radius: var(--radius-medium-large);
|
|
1346
|
+
background: var(--_propskit-background);
|
|
1347
|
+
color: var(--_propskit-color);
|
|
1348
|
+
outline: none;
|
|
1349
|
+
|
|
1350
|
+
&:focus-within {
|
|
1351
|
+
outline: var(--figma-focus-outline);
|
|
1352
|
+
outline-offset: var(--figma-focus-outline-offset);
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1355
|
+
&::after {
|
|
1356
|
+
content: "";
|
|
1357
|
+
position: absolute;
|
|
1358
|
+
inset: 0;
|
|
1359
|
+
border: var(--_propskit-border);
|
|
1360
|
+
border-radius: inherit;
|
|
1361
|
+
pointer-events: none;
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
&:hover {
|
|
1365
|
+
background: var(--_propskit-hover-background);
|
|
1366
|
+
color: var(--_propskit-hover-color);
|
|
1367
|
+
|
|
1368
|
+
&::after {
|
|
1369
|
+
border: var(--_propskit-hover-border);
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
& > fig-select {
|
|
1374
|
+
flex: 0 1 auto;
|
|
1375
|
+
width: auto;
|
|
1376
|
+
max-width: 100%;
|
|
1377
|
+
min-width: 0;
|
|
1378
|
+
margin-inline-end: auto;
|
|
1379
|
+
background-color: transparent;
|
|
1380
|
+
box-shadow: none;
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
& > fig-input-text {
|
|
1384
|
+
flex: 1 1 0 !important;
|
|
1385
|
+
align-self: center;
|
|
1386
|
+
align-items: center;
|
|
1387
|
+
width: auto !important;
|
|
1388
|
+
min-width: 0;
|
|
1389
|
+
min-height: var(--control-height);
|
|
1390
|
+
margin-inline-end: auto;
|
|
1391
|
+
background-color: transparent;
|
|
1392
|
+
box-shadow: none;
|
|
1393
|
+
outline: none !important;
|
|
1394
|
+
|
|
1395
|
+
& > input[type="text"] {
|
|
1396
|
+
box-sizing: border-box;
|
|
1397
|
+
height: 100%;
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
fig-select {
|
|
1403
|
+
--fig-select-trigger-width: 100%;
|
|
1404
|
+
|
|
1405
|
+
&::after {
|
|
1406
|
+
right: calc(0.25rem + var(--spacer-1));
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
&::part(trigger) {
|
|
1410
|
+
outline: none;
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
&::part(label) {
|
|
1414
|
+
text-align: left;
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1279
1419
|
propskit-text {
|
|
1280
1420
|
--propskit-text-height: 2rem;
|
|
1281
1421
|
--_propskit-padding-block: var(
|
|
@@ -2890,7 +3030,53 @@ propskit-spring {
|
|
|
2890
3030
|
);
|
|
2891
3031
|
}
|
|
2892
3032
|
|
|
2893
|
-
|
|
3033
|
+
propskit-image {
|
|
3034
|
+
--_propskit-padding-block: var(
|
|
3035
|
+
--propskit-image-padding-block,
|
|
3036
|
+
var(--propskit-padding-block, var(--spacer-1))
|
|
3037
|
+
);
|
|
3038
|
+
--_propskit-padding-inline: var(
|
|
3039
|
+
--propskit-image-padding-inline,
|
|
3040
|
+
var(--propskit-padding-inline, var(--spacer-3))
|
|
3041
|
+
);
|
|
3042
|
+
--_propskit-background: var(
|
|
3043
|
+
--propskit-image-background,
|
|
3044
|
+
var(--propskit-background, var(--figma-color-bg-secondary))
|
|
3045
|
+
);
|
|
3046
|
+
--_propskit-border: var(
|
|
3047
|
+
--propskit-image-border,
|
|
3048
|
+
var(--propskit-border, 0 solid transparent)
|
|
3049
|
+
);
|
|
3050
|
+
--_propskit-color: var(
|
|
3051
|
+
--propskit-image-color,
|
|
3052
|
+
var(--propskit-color, var(--figma-color-text-secondary))
|
|
3053
|
+
);
|
|
3054
|
+
--_propskit-hover-background: var(
|
|
3055
|
+
--propskit-image-hover-background,
|
|
3056
|
+
var(--propskit-hover-background, var(--_propskit-background))
|
|
3057
|
+
);
|
|
3058
|
+
--_propskit-hover-border: var(
|
|
3059
|
+
--propskit-image-hover-border,
|
|
3060
|
+
var(
|
|
3061
|
+
--propskit-hover-border,
|
|
3062
|
+
1px solid var(--figma-color-bordertranslucent)
|
|
3063
|
+
)
|
|
3064
|
+
);
|
|
3065
|
+
--_propskit-hover-color: var(
|
|
3066
|
+
--propskit-image-hover-color,
|
|
3067
|
+
var(--propskit-hover-color, var(--_propskit-color))
|
|
3068
|
+
);
|
|
3069
|
+
--_propskit-label-inline-size: var(
|
|
3070
|
+
--propskit-image-label-inline-size,
|
|
3071
|
+
var(--propskit-label-inline-size, 100%)
|
|
3072
|
+
);
|
|
3073
|
+
--_propskit-input-inline-size: var(
|
|
3074
|
+
--propskit-image-input-inline-size,
|
|
3075
|
+
var(--propskit-input-inline-size, 100%)
|
|
3076
|
+
);
|
|
3077
|
+
}
|
|
3078
|
+
|
|
3079
|
+
:is(propskit-origin, propskit-easing, propskit-spring, propskit-image) {
|
|
2894
3080
|
display: block;
|
|
2895
3081
|
box-sizing: border-box;
|
|
2896
3082
|
width: 100%;
|
|
@@ -2900,7 +3086,8 @@ propskit-spring {
|
|
|
2900
3086
|
& > :is(
|
|
2901
3087
|
.propskit-origin-surface,
|
|
2902
3088
|
.propskit-easing-surface,
|
|
2903
|
-
.propskit-spring-surface
|
|
3089
|
+
.propskit-spring-surface,
|
|
3090
|
+
.propskit-image-surface
|
|
2904
3091
|
) {
|
|
2905
3092
|
position: relative;
|
|
2906
3093
|
display: flex;
|
|
@@ -2951,7 +3138,8 @@ propskit-spring {
|
|
|
2951
3138
|
&[variant="minimal"] > :is(
|
|
2952
3139
|
.propskit-origin-surface,
|
|
2953
3140
|
.propskit-easing-surface,
|
|
2954
|
-
.propskit-spring-surface
|
|
3141
|
+
.propskit-spring-surface,
|
|
3142
|
+
.propskit-image-surface
|
|
2955
3143
|
) {
|
|
2956
3144
|
background: transparent;
|
|
2957
3145
|
}
|
|
@@ -2960,7 +3148,8 @@ propskit-spring {
|
|
|
2960
3148
|
& > :is(
|
|
2961
3149
|
.propskit-origin-surface,
|
|
2962
3150
|
.propskit-easing-surface,
|
|
2963
|
-
.propskit-spring-surface
|
|
3151
|
+
.propskit-spring-surface,
|
|
3152
|
+
.propskit-image-surface
|
|
2964
3153
|
) {
|
|
2965
3154
|
color: var(--figma-color-text-disabled);
|
|
2966
3155
|
}
|
|
@@ -2972,6 +3161,117 @@ propskit-spring {
|
|
|
2972
3161
|
}
|
|
2973
3162
|
}
|
|
2974
3163
|
|
|
3164
|
+
propskit-image {
|
|
3165
|
+
.propskit-image-header {
|
|
3166
|
+
position: relative;
|
|
3167
|
+
z-index: 1;
|
|
3168
|
+
display: flex;
|
|
3169
|
+
align-items: center;
|
|
3170
|
+
gap: var(--spacer-2);
|
|
3171
|
+
width: 100%;
|
|
3172
|
+
min-width: 0;
|
|
3173
|
+
min-height: var(--control-height);
|
|
3174
|
+
|
|
3175
|
+
& > label {
|
|
3176
|
+
display: block;
|
|
3177
|
+
flex: 1 1 auto;
|
|
3178
|
+
width: var(--_propskit-label-inline-size);
|
|
3179
|
+
min-width: 0;
|
|
3180
|
+
margin: 0;
|
|
3181
|
+
padding: 0;
|
|
3182
|
+
padding-inline-start: calc(var(--spacer-2-5) - var(--spacer-2));
|
|
3183
|
+
transform: translateY(calc(-1 * var(--spacer-1)));
|
|
3184
|
+
overflow: hidden;
|
|
3185
|
+
color: inherit;
|
|
3186
|
+
text-overflow: ellipsis;
|
|
3187
|
+
white-space: nowrap;
|
|
3188
|
+
pointer-events: none;
|
|
3189
|
+
}
|
|
3190
|
+
}
|
|
3191
|
+
|
|
3192
|
+
.propskit-image-upload-tooltip {
|
|
3193
|
+
flex: 0 0 auto;
|
|
3194
|
+
margin-inline-start: auto;
|
|
3195
|
+
}
|
|
3196
|
+
|
|
3197
|
+
.propskit-image-upload {
|
|
3198
|
+
flex: 0 0 auto;
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
.propskit-image-chooser {
|
|
3202
|
+
--fig-chooser-inline-margin: 0px;
|
|
3203
|
+
|
|
3204
|
+
position: relative;
|
|
3205
|
+
z-index: 1;
|
|
3206
|
+
align-self: flex-end;
|
|
3207
|
+
width: var(--_propskit-input-inline-size);
|
|
3208
|
+
max-width: none;
|
|
3209
|
+
max-height: 15rem;
|
|
3210
|
+
margin: calc(-1 * var(--spacer-1)) 0;
|
|
3211
|
+
margin-top: calc(-1 * var(--spacer-2));
|
|
3212
|
+
padding: 0 var(--spacer-1);
|
|
3213
|
+
|
|
3214
|
+
&[hidden] {
|
|
3215
|
+
display: none;
|
|
3216
|
+
}
|
|
3217
|
+
|
|
3218
|
+
& > .fig-overflow::before {
|
|
3219
|
+
background: var(--figma-color-bg-secondary) !important;
|
|
3220
|
+
}
|
|
3221
|
+
}
|
|
3222
|
+
|
|
3223
|
+
fig-choice {
|
|
3224
|
+
--fig-choice-border-radius: var(--radius-medium);
|
|
3225
|
+
|
|
3226
|
+
position: relative;
|
|
3227
|
+
min-width: 0;
|
|
3228
|
+
}
|
|
3229
|
+
|
|
3230
|
+
.propskit-image-remove {
|
|
3231
|
+
display: flex;
|
|
3232
|
+
position: absolute;
|
|
3233
|
+
z-index: 3;
|
|
3234
|
+
top: var(--spacer-1);
|
|
3235
|
+
right: var(--spacer-1);
|
|
3236
|
+
box-sizing: border-box;
|
|
3237
|
+
align-items: center;
|
|
3238
|
+
justify-content: center;
|
|
3239
|
+
width: 1.25rem;
|
|
3240
|
+
min-width: 1.25rem;
|
|
3241
|
+
height: 1.25rem;
|
|
3242
|
+
padding: 0;
|
|
3243
|
+
border-radius: var(--radius-medium);
|
|
3244
|
+
opacity: 0;
|
|
3245
|
+
pointer-events: none;
|
|
3246
|
+
color: var(--figma-color-text);
|
|
3247
|
+
color-scheme: light;
|
|
3248
|
+
background-color: var(--figma-color-bg);
|
|
3249
|
+
box-shadow: 0 0 0 1px var(--figma-color-bordertranslucent);
|
|
3250
|
+
|
|
3251
|
+
&:active {
|
|
3252
|
+
background-color: var(--figma-color-bg-secondary);
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3256
|
+
fig-choice:hover .propskit-image-remove {
|
|
3257
|
+
opacity: 1;
|
|
3258
|
+
pointer-events: auto;
|
|
3259
|
+
}
|
|
3260
|
+
|
|
3261
|
+
fig-image {
|
|
3262
|
+
width: 100%;
|
|
3263
|
+
max-width: none;
|
|
3264
|
+
min-width: 0;
|
|
3265
|
+
gap: 0;
|
|
3266
|
+
border-radius: var(--radius-medium);
|
|
3267
|
+
|
|
3268
|
+
& > fig-preview {
|
|
3269
|
+
min-height: 0;
|
|
3270
|
+
border-radius: var(--radius-medium);
|
|
3271
|
+
}
|
|
3272
|
+
}
|
|
3273
|
+
}
|
|
3274
|
+
|
|
2975
3275
|
propskit-origin {
|
|
2976
3276
|
fig-origin-grid {
|
|
2977
3277
|
--figma-color-border: var(
|
|
@@ -3019,6 +3319,13 @@ propskit-origin {
|
|
|
3019
3319
|
var(--figma-color-bordertranslucent)
|
|
3020
3320
|
);
|
|
3021
3321
|
}
|
|
3322
|
+
|
|
3323
|
+
fig-handle::after {
|
|
3324
|
+
--fig-handle-inner-bg: light-dark(
|
|
3325
|
+
#ffffff,
|
|
3326
|
+
var(--figma-color-bg-secondary)
|
|
3327
|
+
);
|
|
3328
|
+
}
|
|
3022
3329
|
}
|
|
3023
3330
|
}
|
|
3024
3331
|
|
|
@@ -3038,6 +3345,46 @@ propskit-origin {
|
|
|
3038
3345
|
}
|
|
3039
3346
|
}
|
|
3040
3347
|
|
|
3348
|
+
:is(
|
|
3349
|
+
propskit-switch,
|
|
3350
|
+
propskit-color,
|
|
3351
|
+
propskit-fill,
|
|
3352
|
+
propskit-gradient,
|
|
3353
|
+
propskit-palette,
|
|
3354
|
+
propskit-image,
|
|
3355
|
+
propskit-editable-select,
|
|
3356
|
+
propskit-select,
|
|
3357
|
+
propskit-easing,
|
|
3358
|
+
propskit-text,
|
|
3359
|
+
propskit-number,
|
|
3360
|
+
propskit-origin,
|
|
3361
|
+
propskit-position,
|
|
3362
|
+
propskit-joystick,
|
|
3363
|
+
propskit-spring,
|
|
3364
|
+
propskit-color-point,
|
|
3365
|
+
propskit-point-radius,
|
|
3366
|
+
propskit-point-radius-angle,
|
|
3367
|
+
propskit-point-point,
|
|
3368
|
+
propskit-group,
|
|
3369
|
+
propskit-slider,
|
|
3370
|
+
propskit-wheel,
|
|
3371
|
+
propskit-oscillator
|
|
3372
|
+
) fig-button[variant="secondary"] {
|
|
3373
|
+
background-color: var(
|
|
3374
|
+
--propskit-bg-subfield,
|
|
3375
|
+
rgba(255, 255, 255, 0.05)
|
|
3376
|
+
);
|
|
3377
|
+
box-shadow: none;
|
|
3378
|
+
|
|
3379
|
+
&:hover:not([disabled]):not([disabled="false"]),
|
|
3380
|
+
&[disabled]:not([disabled="false"]) {
|
|
3381
|
+
background-color: var(
|
|
3382
|
+
--propskit-bg-subfield,
|
|
3383
|
+
rgba(255, 255, 255, 0.05)
|
|
3384
|
+
);
|
|
3385
|
+
}
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3041
3388
|
:is(
|
|
3042
3389
|
propskit-number,
|
|
3043
3390
|
propskit-position,
|
|
@@ -3047,7 +3394,7 @@ propskit-origin {
|
|
|
3047
3394
|
background-color: var(--figma-color-bg);
|
|
3048
3395
|
}
|
|
3049
3396
|
|
|
3050
|
-
propskit-text
|
|
3397
|
+
:is(propskit-text, propskit-editable-select)
|
|
3051
3398
|
fig-input-text:is(
|
|
3052
3399
|
:focus-within,
|
|
3053
3400
|
:active,
|
|
@@ -3066,6 +3413,7 @@ propskit-text
|
|
|
3066
3413
|
:is(
|
|
3067
3414
|
propskit-palette,
|
|
3068
3415
|
propskit-select,
|
|
3416
|
+
propskit-editable-select,
|
|
3069
3417
|
propskit-text,
|
|
3070
3418
|
propskit-number,
|
|
3071
3419
|
propskit-slider,
|
|
@@ -3074,6 +3422,7 @@ propskit-text
|
|
|
3074
3422
|
:is(
|
|
3075
3423
|
.propskit-palette-surface,
|
|
3076
3424
|
.propskit-select-surface,
|
|
3425
|
+
.propskit-editable-select-surface,
|
|
3077
3426
|
.propskit-text-surface,
|
|
3078
3427
|
.propskit-number-surface,
|
|
3079
3428
|
.propskit-slider-surface,
|