@rogieking/figui3 3.5.0 → 3.6.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/components.css +215 -28
- package/dist/fig.js +29 -29
- package/fig.js +239 -5
- package/package.json +1 -1
package/components.css
CHANGED
|
@@ -2194,15 +2194,28 @@ fig-slider {
|
|
|
2194
2194
|
--slider-field-height: 1.5rem;
|
|
2195
2195
|
--slider-height: 1rem;
|
|
2196
2196
|
--slider-thumb-size: var(--slider-height);
|
|
2197
|
+
--slider-thumb-width: var(--slider-thumb-size);
|
|
2198
|
+
--slider-thumb-height: var(--slider-thumb-size);
|
|
2199
|
+
--slider-thumb-color: var(--handle-color);
|
|
2200
|
+
--slider-thumb-radius: calc(var(--slider-thumb-width) / 2);
|
|
2201
|
+
--slider-thumb-opacity: 1;
|
|
2202
|
+
--slider-tick-opacity: 1;
|
|
2203
|
+
--slider-tick-radius: 100%;
|
|
2204
|
+
--slider-border-radius: calc(var(--slider-height) / 2);
|
|
2205
|
+
--slider-stepper-padding: calc(
|
|
2206
|
+
(var(--slider-height) / 2) - var(--slider-tick-width) / 2
|
|
2207
|
+
);
|
|
2197
2208
|
--slider-percent: calc(var(--slider-complete) * 100%);
|
|
2198
2209
|
--start-percent: calc(var(--default, 0) * 100%);
|
|
2199
|
-
--slider-tick-
|
|
2210
|
+
--slider-tick-width: calc(var(--slider-height) / 4);
|
|
2211
|
+
--slider-tick-height: calc(var(--slider-height) / 4);
|
|
2200
2212
|
--slider-handle-shadow:
|
|
2201
|
-
inset 0 0 0 calc(4px + 0.5rem * var(--unchanged)) var(--
|
|
2213
|
+
inset 0 0 0 calc(4px + 0.5rem * var(--unchanged)) var(--slider-thumb-color),
|
|
2202
2214
|
0px 0 0 0.5px rgba(0, 0, 0, 0.1), var(--figma-elevation-100);
|
|
2203
2215
|
--slider-handle-shadow-focus:
|
|
2204
|
-
inset 0 0 0 4px var(--
|
|
2205
|
-
|
|
2216
|
+
inset 0 0 0 4px var(--slider-thumb-color),
|
|
2217
|
+
inset 0 0 0 5px rgba(0, 0, 0, 0.1), var(--handle-shadow),
|
|
2218
|
+
0 0 0 1px var(--figma-color-border-selected);
|
|
2206
2219
|
--slider-transition: none;
|
|
2207
2220
|
--handle-transition: var(--slider-transition);
|
|
2208
2221
|
|
|
@@ -2219,7 +2232,7 @@ fig-slider {
|
|
|
2219
2232
|
width: 100%;
|
|
2220
2233
|
transition: var(--slider-transition);
|
|
2221
2234
|
background: var(--figma-color-bg-secondary);
|
|
2222
|
-
border-radius:
|
|
2235
|
+
border-radius: var(--slider-border-radius);
|
|
2223
2236
|
box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
|
|
2224
2237
|
|
|
2225
2238
|
/* Track */
|
|
@@ -2231,7 +2244,7 @@ fig-slider {
|
|
|
2231
2244
|
top: 0;
|
|
2232
2245
|
pointer-events: none;
|
|
2233
2246
|
bottom: 0;
|
|
2234
|
-
border-radius:
|
|
2247
|
+
border-radius: var(--slider-border-radius);
|
|
2235
2248
|
min-width: var(--slider-height);
|
|
2236
2249
|
box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
|
|
2237
2250
|
width: calc(
|
|
@@ -2253,8 +2266,8 @@ fig-slider {
|
|
|
2253
2266
|
datalist option {
|
|
2254
2267
|
position: absolute;
|
|
2255
2268
|
margin: 0;
|
|
2256
|
-
left: calc(var(--start-percent) - var(--slider-tick-
|
|
2257
|
-
top: calc(50% - var(--slider-tick-
|
|
2269
|
+
left: calc(var(--start-percent) - var(--slider-tick-width) / 2);
|
|
2270
|
+
top: calc(50% - var(--slider-tick-height) / 2);
|
|
2258
2271
|
}
|
|
2259
2272
|
.fig-slider-input-container {
|
|
2260
2273
|
&::before {
|
|
@@ -2293,7 +2306,7 @@ fig-slider {
|
|
|
2293
2306
|
height: var(--slider-height);
|
|
2294
2307
|
appearance: none;
|
|
2295
2308
|
-webkit-appearance: none;
|
|
2296
|
-
border-radius:
|
|
2309
|
+
border-radius: var(--slider-border-radius);
|
|
2297
2310
|
display: block;
|
|
2298
2311
|
width: 100%;
|
|
2299
2312
|
background-color: transparent;
|
|
@@ -2315,16 +2328,19 @@ fig-slider {
|
|
|
2315
2328
|
-webkit-appearance: none;
|
|
2316
2329
|
color-scheme: inherit;
|
|
2317
2330
|
transition: var(--handle-transition);
|
|
2318
|
-
border-radius:
|
|
2319
|
-
height: var(--slider-thumb-
|
|
2320
|
-
width: var(--slider-thumb-
|
|
2321
|
-
margin-top: calc(
|
|
2331
|
+
border-radius: var(--slider-thumb-radius);
|
|
2332
|
+
height: var(--slider-thumb-height);
|
|
2333
|
+
width: var(--slider-thumb-width);
|
|
2334
|
+
margin-top: calc(
|
|
2335
|
+
var(--slider-height) / 2 - var(--slider-thumb-height) / 2
|
|
2336
|
+
);
|
|
2322
2337
|
aspect-ratio: 1;
|
|
2323
2338
|
border: none;
|
|
2324
2339
|
position: relative;
|
|
2325
2340
|
z-index: 1;
|
|
2326
2341
|
cursor: default;
|
|
2327
2342
|
box-shadow: var(--slider-handle-shadow);
|
|
2343
|
+
opacity: var(--slider-thumb-opacity);
|
|
2328
2344
|
}
|
|
2329
2345
|
|
|
2330
2346
|
&:disabled {
|
|
@@ -2350,7 +2366,7 @@ fig-slider {
|
|
|
2350
2366
|
height: var(--slider-height);
|
|
2351
2367
|
background-color: transparent;
|
|
2352
2368
|
transition: var(--slider-transition);
|
|
2353
|
-
border-radius:
|
|
2369
|
+
border-radius: var(--slider-border-radius);
|
|
2354
2370
|
}
|
|
2355
2371
|
|
|
2356
2372
|
&.hue::-webkit-slider-runnable-track {
|
|
@@ -2369,7 +2385,7 @@ fig-slider {
|
|
|
2369
2385
|
height: var(--slider-height);
|
|
2370
2386
|
appearance: none;
|
|
2371
2387
|
-moz-appearance: none;
|
|
2372
|
-
border-radius:
|
|
2388
|
+
border-radius: var(--slider-border-radius);
|
|
2373
2389
|
display: block;
|
|
2374
2390
|
width: 100%;
|
|
2375
2391
|
background-color: transparent;
|
|
@@ -2390,9 +2406,9 @@ fig-slider {
|
|
|
2390
2406
|
appearance: none;
|
|
2391
2407
|
-moz-appearance: none;
|
|
2392
2408
|
background: transparent;
|
|
2393
|
-
border-radius:
|
|
2394
|
-
height: var(--slider-thumb-
|
|
2395
|
-
width: var(--slider-thumb-
|
|
2409
|
+
border-radius: var(--slider-thumb-radius);
|
|
2410
|
+
height: var(--slider-thumb-height);
|
|
2411
|
+
width: var(--slider-thumb-width);
|
|
2396
2412
|
aspect-ratio: 1;
|
|
2397
2413
|
border: none;
|
|
2398
2414
|
position: relative;
|
|
@@ -2400,6 +2416,7 @@ fig-slider {
|
|
|
2400
2416
|
cursor: default;
|
|
2401
2417
|
box-shadow: var(--slider-handle-shadow);
|
|
2402
2418
|
transition: var(--handle-transition);
|
|
2419
|
+
opacity: var(--slider-thumb-opacity);
|
|
2403
2420
|
}
|
|
2404
2421
|
|
|
2405
2422
|
&:disabled {
|
|
@@ -2423,7 +2440,7 @@ fig-slider {
|
|
|
2423
2440
|
&::-moz-range-track {
|
|
2424
2441
|
height: var(--slider-height);
|
|
2425
2442
|
background-color: transparent;
|
|
2426
|
-
border-radius:
|
|
2443
|
+
border-radius: var(--slider-border-radius);
|
|
2427
2444
|
transition: var(--slider-transition);
|
|
2428
2445
|
}
|
|
2429
2446
|
|
|
@@ -2449,7 +2466,7 @@ fig-slider {
|
|
|
2449
2466
|
margin: 0;
|
|
2450
2467
|
border: 0;
|
|
2451
2468
|
appearance: none;
|
|
2452
|
-
padding: 0
|
|
2469
|
+
padding: 0 var(--slider-stepper-padding);
|
|
2453
2470
|
height: var(--slider-height);
|
|
2454
2471
|
pointer-events: none;
|
|
2455
2472
|
justify-content: space-between;
|
|
@@ -2457,14 +2474,14 @@ fig-slider {
|
|
|
2457
2474
|
|
|
2458
2475
|
& option {
|
|
2459
2476
|
appearance: none;
|
|
2460
|
-
width: var(--slider-tick-
|
|
2461
|
-
height: var(--slider-tick-
|
|
2462
|
-
aspect-ratio: 1;
|
|
2477
|
+
width: var(--slider-tick-width);
|
|
2478
|
+
height: var(--slider-tick-height);
|
|
2463
2479
|
padding: 0;
|
|
2464
2480
|
border: 0;
|
|
2465
|
-
border-radius:
|
|
2481
|
+
border-radius: var(--slider-tick-radius);
|
|
2466
2482
|
font-size: 0;
|
|
2467
2483
|
background: var(--figma-color-icon-tertiary);
|
|
2484
|
+
opacity: var(--slider-tick-opacity);
|
|
2468
2485
|
display: block;
|
|
2469
2486
|
&[default] {
|
|
2470
2487
|
background: var(--figma-color-icon);
|
|
@@ -2479,11 +2496,13 @@ fig-slider {
|
|
|
2479
2496
|
&[variant="minimal"] {
|
|
2480
2497
|
--slider-height: 0.375rem;
|
|
2481
2498
|
--slider-thumb-size: 0.75rem;
|
|
2482
|
-
--slider-tick-
|
|
2499
|
+
--slider-tick-width: calc(var(--slider-height) / 2);
|
|
2500
|
+
--slider-tick-height: calc(var(--slider-height) / 2);
|
|
2483
2501
|
--handle-transition: none;
|
|
2484
2502
|
--slider-transition: none;
|
|
2485
2503
|
--slider-handle-shadow:
|
|
2486
|
-
inset 0 0 0 calc(6px + 0.5rem * var(--unchanged))
|
|
2504
|
+
inset 0 0 0 calc(6px + 0.5rem * var(--unchanged))
|
|
2505
|
+
var(--slider-thumb-color),
|
|
2487
2506
|
0 0 0 0.75px rgba(0, 0, 0, 0.075), inset 0 0 0 5px rgba(0, 0, 0, 0.1),
|
|
2488
2507
|
var(--figma-elevation-100);
|
|
2489
2508
|
|
|
@@ -2508,11 +2527,13 @@ fig-slider {
|
|
|
2508
2527
|
&[variant="neue"] {
|
|
2509
2528
|
--slider-height: 0.375rem;
|
|
2510
2529
|
--slider-thumb-size: 0.75rem;
|
|
2511
|
-
--slider-tick-
|
|
2530
|
+
--slider-tick-width: calc(var(--slider-height) / 2);
|
|
2531
|
+
--slider-tick-height: calc(var(--slider-height) / 2);
|
|
2512
2532
|
--handle-transition: none;
|
|
2513
2533
|
--slider-transition: none;
|
|
2514
2534
|
--slider-handle-shadow:
|
|
2515
|
-
inset 0 0 0 calc(6px + 0.5rem * var(--unchanged))
|
|
2535
|
+
inset 0 0 0 calc(6px + 0.5rem * var(--unchanged))
|
|
2536
|
+
var(--slider-thumb-color),
|
|
2516
2537
|
0 0 0 0.75px rgba(0, 0, 0, 0.075), inset 0 0 0 5px rgba(0, 0, 0, 0.1),
|
|
2517
2538
|
var(--figma-elevation-100);
|
|
2518
2539
|
|
|
@@ -3177,6 +3198,11 @@ fig-field,
|
|
|
3177
3198
|
flex: 1 1 auto;
|
|
3178
3199
|
}
|
|
3179
3200
|
|
|
3201
|
+
&:not(:has(> label)) > [full]:not([full="false"]) {
|
|
3202
|
+
width: 100%;
|
|
3203
|
+
align-self: stretch;
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3180
3206
|
& > label {
|
|
3181
3207
|
flex: 0;
|
|
3182
3208
|
padding: var(--spacer-1) 0;
|
|
@@ -3216,6 +3242,10 @@ fig-field,
|
|
|
3216
3242
|
& > label ~ * {
|
|
3217
3243
|
grid-column: 2 / span 2;
|
|
3218
3244
|
}
|
|
3245
|
+
|
|
3246
|
+
&:not(:has(> label)) > * {
|
|
3247
|
+
grid-column: 1 / -1;
|
|
3248
|
+
}
|
|
3219
3249
|
}
|
|
3220
3250
|
&[columns="half"] {
|
|
3221
3251
|
display: grid;
|
|
@@ -3229,6 +3259,163 @@ fig-field,
|
|
|
3229
3259
|
& > label ~ * {
|
|
3230
3260
|
grid-column: 2 / span 2;
|
|
3231
3261
|
}
|
|
3262
|
+
|
|
3263
|
+
&:not(:has(> label)) > * {
|
|
3264
|
+
grid-column: 1 / -1;
|
|
3265
|
+
}
|
|
3266
|
+
}
|
|
3267
|
+
}
|
|
3268
|
+
}
|
|
3269
|
+
|
|
3270
|
+
fig-field-slider {
|
|
3271
|
+
display: block;
|
|
3272
|
+
position: relative;
|
|
3273
|
+
width: 100%;
|
|
3274
|
+
--field-text-shadow: 0 1px 1.5px
|
|
3275
|
+
light-dark(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
|
|
3276
|
+
|
|
3277
|
+
label {
|
|
3278
|
+
pointer-events: none;
|
|
3279
|
+
z-index: 1;
|
|
3280
|
+
}
|
|
3281
|
+
|
|
3282
|
+
&[disabled]:not([disabled="false"]) {
|
|
3283
|
+
label,
|
|
3284
|
+
input {
|
|
3285
|
+
color: var(--figma-color-text-disabled);
|
|
3286
|
+
}
|
|
3287
|
+
fig-slider {
|
|
3288
|
+
filter: grayscale(100%) opacity(0.5);
|
|
3289
|
+
}
|
|
3290
|
+
}
|
|
3291
|
+
&[type="hue"] {
|
|
3292
|
+
label,
|
|
3293
|
+
input {
|
|
3294
|
+
text-shadow: var(--field-text-shadow);
|
|
3295
|
+
color: white;
|
|
3296
|
+
}
|
|
3297
|
+
}
|
|
3298
|
+
|
|
3299
|
+
fig-field {
|
|
3300
|
+
position: relative;
|
|
3301
|
+
padding-left: var(--spacer-2-5);
|
|
3302
|
+
|
|
3303
|
+
&[direction="horizontal"] > label {
|
|
3304
|
+
min-width: 0;
|
|
3305
|
+
max-width: none;
|
|
3306
|
+
width: 100%;
|
|
3307
|
+
flex: 1 1 auto;
|
|
3308
|
+
}
|
|
3309
|
+
|
|
3310
|
+
fig-slider {
|
|
3311
|
+
position: absolute;
|
|
3312
|
+
inset: 0;
|
|
3313
|
+
--slider-height: 2rem;
|
|
3314
|
+
--slider-field-height: 2rem;
|
|
3315
|
+
--slider-thumb-width: var(--spacer-1);
|
|
3316
|
+
--slider-thumb-color: light-dark(
|
|
3317
|
+
var(--figma-color-text-secondary),
|
|
3318
|
+
var(--figma-color-text)
|
|
3319
|
+
);
|
|
3320
|
+
--slider-thumb-height: calc(
|
|
3321
|
+
var(--spacer-2) + (var(--spacer-3) - var(--spacer-2)) *
|
|
3322
|
+
min(var(--slider-complete), calc(1 - var(--slider-complete))) * 2
|
|
3323
|
+
);
|
|
3324
|
+
--slider-border-radius: var(--radius-medium);
|
|
3325
|
+
--slider-tick-width: 0.125rem;
|
|
3326
|
+
--slider-tick-height: var(--spacer-2);
|
|
3327
|
+
--slider-tick-radius: var(--radius-medium);
|
|
3328
|
+
--slider-stepper-padding: 0;
|
|
3329
|
+
--slider-thumb-opacity: calc(
|
|
3330
|
+
min(var(--slider-complete), calc(1 - var(--slider-complete))) * 2
|
|
3331
|
+
);
|
|
3332
|
+
--slider-tick-opacity: 1;
|
|
3333
|
+
.fig-slider-input-container {
|
|
3334
|
+
box-shadow: none !important;
|
|
3335
|
+
&:hover,
|
|
3336
|
+
&:focus-within {
|
|
3337
|
+
&::after {
|
|
3338
|
+
content: "";
|
|
3339
|
+
position: absolute;
|
|
3340
|
+
inset: 0;
|
|
3341
|
+
pointer-events: none;
|
|
3342
|
+
border-radius: var(--slider-border-radius);
|
|
3343
|
+
box-shadow: inset 0 0 0 1px var(--figma-color-border) !important;
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
&::before {
|
|
3347
|
+
background: var(--figma-color-bg-tertiary) !important;
|
|
3348
|
+
min-width: 0 !important;
|
|
3349
|
+
box-shadow: none !important;
|
|
3350
|
+
}
|
|
3351
|
+
input[type="range"] {
|
|
3352
|
+
border-radius: 0 !important;
|
|
3353
|
+
}
|
|
3354
|
+
}
|
|
3355
|
+
|
|
3356
|
+
&:not([type="delta"]) .fig-slider-input-container::before {
|
|
3357
|
+
width: var(--slider-percent) !important;
|
|
3358
|
+
}
|
|
3359
|
+
|
|
3360
|
+
&[type="delta"] .fig-slider-input-container::before {
|
|
3361
|
+
--left-start: calc(
|
|
3362
|
+
var(--start-percent) - var(--slider-thumb-width) / 2
|
|
3363
|
+
) !important;
|
|
3364
|
+
left: min(
|
|
3365
|
+
var(--left-start),
|
|
3366
|
+
calc(
|
|
3367
|
+
var(--slider-percent) - var(--slider-complete) *
|
|
3368
|
+
var(--slider-thumb-width)
|
|
3369
|
+
)
|
|
3370
|
+
) !important;
|
|
3371
|
+
--width: calc(var(--slider-percent) - var(--start-percent)) !important;
|
|
3372
|
+
--abs-width: max(
|
|
3373
|
+
calc(
|
|
3374
|
+
var(--width) + var(--slider-thumb-width) / 2 +
|
|
3375
|
+
(1 - var(--slider-complete)) * var(--slider-thumb-width)
|
|
3376
|
+
),
|
|
3377
|
+
calc(
|
|
3378
|
+
-1 * var(--width) + var(--slider-thumb-width) / 2 +
|
|
3379
|
+
var(--slider-complete) * var(--slider-thumb-width)
|
|
3380
|
+
)
|
|
3381
|
+
) !important;
|
|
3382
|
+
width: var(--abs-width) !important;
|
|
3383
|
+
}
|
|
3384
|
+
}
|
|
3385
|
+
datalist {
|
|
3386
|
+
mask-image: linear-gradient(
|
|
3387
|
+
to right,
|
|
3388
|
+
transparent 0,
|
|
3389
|
+
transparent var(--spacer-4),
|
|
3390
|
+
white,
|
|
3391
|
+
transparent calc(100% - var(--spacer-4)),
|
|
3392
|
+
transparent 100%
|
|
3393
|
+
);
|
|
3394
|
+
}
|
|
3395
|
+
fig-input-number {
|
|
3396
|
+
background-color: transparent;
|
|
3397
|
+
box-shadow: none !important;
|
|
3398
|
+
position: absolute;
|
|
3399
|
+
right: var(--spacer-1);
|
|
3400
|
+
width: fit-content;
|
|
3401
|
+
min-width: fit-content;
|
|
3402
|
+
max-width: max-content;
|
|
3403
|
+
flex: 0 0 auto;
|
|
3404
|
+
|
|
3405
|
+
&:hover,
|
|
3406
|
+
&:has(input:focus) {
|
|
3407
|
+
box-shadow: none !important;
|
|
3408
|
+
}
|
|
3409
|
+
&:has(input:focus) {
|
|
3410
|
+
box-shadow: inset 0 0 0 1px var(--figma-color-border-selected) !important;
|
|
3411
|
+
}
|
|
3412
|
+
input {
|
|
3413
|
+
field-sizing: content;
|
|
3414
|
+
width: auto;
|
|
3415
|
+
flex: 0 0 auto;
|
|
3416
|
+
text-align: right;
|
|
3417
|
+
color: var(--field-text-color);
|
|
3418
|
+
}
|
|
3232
3419
|
}
|
|
3233
3420
|
}
|
|
3234
3421
|
}
|