@rogieking/figui3 5.1.1 → 6.0.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/README.md CHANGED
@@ -479,6 +479,7 @@ A gradient editor with draggable stops. With `edit="picker"` and the optional pi
479
479
  |---|---|---|---|
480
480
  | `value` | string | — | JSON gradient fill data |
481
481
  | `edit` | boolean/string | `true` | `true`, `false`, or `"picker"` |
482
+ | `mode` | string | `"handle"` | `"handle"` renders color stop handles without tips; `"tip"` renders persistent color tips |
482
483
  | `disabled` | boolean | `false` | Disabled state |
483
484
  | `experimental` | string | — | Picker feature flags |
484
485
  | `picker-*` | string | — | Passthrough picker attributes |
@@ -775,8 +776,7 @@ A draggable handle element. Positioned on a `drag-surface` container with axis c
775
776
  | `drag-axes` | string | `"xy"` | Constrain axes: `"x"`, `"y"`, `"xy"` |
776
777
  | `drag-snapping` | string | — | Snapping behavior |
777
778
  | `type` | string | — | `"color"` for a color handle with direct picker activation |
778
- | `color-tip` | boolean | `false` | For `type="color"`, use the compact `fig-color-tip` interaction instead of direct activation |
779
- | `control` | string | — | `"add"` or `"remove"` delegated to color tip |
779
+ | `tip` | string | | `"color"`, `"add"`, or `"remove"` to show a persistent `fig-color-tip` |
780
780
  | `hit-area` | string | — | Expanded interaction zone (unitless px). `"8"`, `"8 12"` (v h), or `"8 circle"` |
781
781
  | `hit-area-mode` | string | `"handle"` | `"handle"` proxies to handle drag/select; `"delegate"` emits `hitareadown` event |
782
782
 
@@ -788,8 +788,8 @@ A draggable handle element. Positioned on a `drag-surface` container with axis c
788
788
  | `change` | `{ x, y, px, py }` — on release |
789
789
  | `input` | `{ color, opacity }` — while editing a `type="color"` handle |
790
790
  | `change` | `{ color, opacity }` — when committing a `type="color"` handle |
791
- | `add` | — (when control="add") |
792
- | `remove` | — (when control="remove") |
791
+ | `add` | — (when `tip="add"`) |
792
+ | `remove` | — (when `tip="remove"`) |
793
793
  | `hitareadown` | `{ originalEvent }` — when `hit-area-mode="delegate"` and the hit area is clicked |
794
794
 
795
795
  ```html
package/components.css CHANGED
@@ -343,6 +343,7 @@
343
343
  --icon-24-minus: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 12C18 12.2761 17.7761 12.5 17.5 12.5H6.5C6.22386 12.5 6 12.2761 6 12C6 11.7239 6.22386 11.5 6.5 11.5H17.5C17.7761 11.5 18 11.7239 18 12Z' fill='currentColor'/%3E%3C/svg%3E");
344
344
  --icon-24-back: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.8536 7.14645C14.0488 7.34171 14.0488 7.65829 13.8536 7.85355L9.70711 12L13.8536 16.1464C14.0488 16.3417 14.0488 16.6583 13.8536 16.8536C13.6583 17.0488 13.3417 17.0488 13.1464 16.8536L8.64645 12.3535C8.55268 12.2598 8.5 12.1326 8.5 12C8.5 11.8674 8.55268 11.7402 8.64645 11.6464L13.1464 7.14645C13.3417 6.95118 13.6583 6.95118 13.8536 7.14645Z' fill='currentColor'/%3E%3C/svg%3E");
345
345
  --icon-16-arrow-left: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.5 4.5L5.5 8L9.5 11.5' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
346
+ --icon-24-arrow-left: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1464 7.64645C13.3417 7.45118 13.6582 7.45118 13.8535 7.64645C14.0487 7.84171 14.0487 8.15822 13.8535 8.35348L10.207 12L13.8535 15.6464C14.0487 15.8417 14.0487 16.1582 13.8535 16.3535C13.6582 16.5487 13.3417 16.5487 13.1464 16.3535L9.14645 12.3535C8.95118 12.1582 8.95118 11.8417 9.14645 11.6464L13.1464 7.64645Z' fill='black' fill-opacity='0.9'/%3E%3C/svg%3E");
346
347
  --icon-24-forward: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.1464 16.8536C9.95118 16.6583 9.95118 16.3417 10.1464 16.1464L14.2929 12L10.1464 7.85355C9.95118 7.65829 9.95118 7.34171 10.1464 7.14645C10.3417 6.95118 10.6583 6.95118 10.8536 7.14645L15.3536 11.6464C15.5488 11.8417 15.5488 12.1583 15.3536 12.3536L10.8536 16.8536C10.6583 17.0488 10.3417 17.0488 10.1464 16.8536Z' fill='currentColor'/%3E%3C/svg%3E");
347
348
  --icon-24-close: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.2242 7.08154C16.4182 6.95348 16.6823 6.97551 16.8531 7.146C17.024 7.31683 17.0457 7.58084 16.9176 7.7749L16.8531 7.85303L12.7067 11.9995L16.8531 16.146L16.9176 16.2241C17.0457 16.4182 17.024 16.6822 16.8531 16.853C16.6823 17.0239 16.4183 17.0456 16.2242 16.9175L16.1461 16.853L11.9996 12.7065L7.85315 16.853C7.65789 17.0483 7.34138 17.0483 7.14612 16.853C6.95128 16.6577 6.95101 16.3411 7.14612 16.146L11.2926 11.9995L7.14612 7.85303L7.08167 7.7749C6.95389 7.58087 6.97541 7.3167 7.14612 7.146C7.31683 6.97532 7.58101 6.95376 7.77502 7.08154L7.85315 7.146L11.9996 11.2925L16.1461 7.146L16.2242 7.08154Z' fill='currentColor'/%3E%3C/svg%3E");
348
349
  --icon-24-rotate: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.2325 6.47442C11.2088 5.49811 12.7917 5.49811 13.768 6.47442L15.2931 7.99955H14.0002C13.7241 7.99955 13.5002 8.2234 13.5002 8.49955C13.5002 8.77569 13.7241 8.99955 14.0002 8.99955H16.5002C16.7764 8.99955 17.0002 8.77569 17.0002 8.49955V5.99955C17.0002 5.7234 16.7764 5.49955 16.5002 5.49955C16.2241 5.49955 16.0002 5.7234 16.0002 5.99955V7.29244L14.4751 5.76731C13.1083 4.40048 10.8922 4.40048 9.52537 5.76731L7.14669 8.14599C6.95143 8.34126 6.95143 8.65784 7.14669 8.8531C7.34195 9.04836 7.65854 9.04836 7.8538 8.8531L10.2325 6.47442ZM13.0609 9.64599C12.4751 9.06021 11.5254 9.06021 10.9396 9.64599L7.64669 12.9389C7.06091 13.5247 7.0609 14.4744 7.64669 15.0602L10.9396 18.3531C11.5254 18.9389 12.4751 18.9389 13.0609 18.3531L16.3538 15.0602C16.9396 14.4744 16.9396 13.5247 16.3538 12.9389L13.0609 9.64599ZM11.6467 10.3531C11.842 10.1578 12.1585 10.1578 12.3538 10.3531L15.6467 13.646C15.842 13.8413 15.842 14.1578 15.6467 14.3531L12.3538 17.646C12.1585 17.8413 11.842 17.8413 11.6467 17.646L8.3538 14.3531C8.15854 14.1578 8.15854 13.8413 8.3538 13.646L11.6467 10.3531Z' fill='currentColor'/%3E%3C/svg%3E");
@@ -380,10 +381,10 @@
380
381
 
381
382
 
382
383
  --figma-elevation-200-canvas:
383
- 0 0 0.5px 0 light-dark(rgba(0, 0, 0, 0.18), transparent),
384
- 0 0.5px 0 0 light-dark(transparent, rgba(255, 255, 255, 0.08)) inset,
385
- 0 3px 8px 0 light-dark(rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.35)),
386
- 0 0 0.5px 0 light-dark(transparent, rgba(255, 255, 255, 0.30)) inset,
384
+ 0 0 0 0.5px light-dark(rgba(0, 0, 0, 0.10), transparent),
385
+ 0 0.5px 0 0 light-dark(transparent, rgba(255, 255, 255, 0.08)) inset,
386
+ 0 3px 8px 0 light-dark(rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.35)),
387
+ 0 0 0.5px 0 light-dark(rgba(0, 0, 0, 0.18), rgba(255, 255, 255, 0.30)) inset,
387
388
  0 1px 3px 0 light-dark(rgba(0, 0, 0, 0.10), rgba(0, 0, 0, 0.50));
388
389
 
389
390
  --figma-elevation-400-menu-panel:
@@ -1936,7 +1937,7 @@ fig-origin-grid {
1936
1937
  }
1937
1938
 
1938
1939
  &.is-hovered {
1939
- color: var(--figma-color-bg-brand-secondary);
1940
+ color: var(--figma-color-bg-onselected);
1940
1941
 
1941
1942
  .origin-grid-dot {
1942
1943
  width: var(--origin-grid-handle-size);
@@ -1955,7 +1956,8 @@ fig-origin-grid {
1955
1956
  --width: var(--origin-grid-handle-size);
1956
1957
  --height: var(--origin-grid-handle-size);
1957
1958
  --border-radius: var(--radius-small);
1958
-
1959
+ --fig-handle-padding: 2.5px;
1960
+ --fig-handle-inner-radius: 0;
1959
1961
  position: absolute;
1960
1962
  left: 50%;
1961
1963
  top: 50%;
@@ -1969,14 +1971,17 @@ fig-origin-grid {
1969
1971
 
1970
1972
  &.beyond-bounds-x,
1971
1973
  &.beyond-bounds-y {
1972
- -webkit-mask-image: var(--icon-16-arrow-left);
1973
- mask-image: var(--icon-16-arrow-left);
1974
+ -webkit-mask-image: var(--icon-24-arrow-left);
1975
+ mask-image: var(--icon-24-arrow-left);
1974
1976
  -webkit-mask-repeat: no-repeat;
1975
1977
  mask-repeat: no-repeat;
1976
1978
  -webkit-mask-position: center;
1977
1979
  mask-position: center;
1978
1980
  -webkit-mask-size: 24px 24px;
1979
1981
  mask-size: 24px 24px;
1982
+ --fig-handle-inner-bg: transparent;
1983
+ --fig-handle-outline-color: transparent;
1984
+ --fig-handle-inner-outline: none;
1980
1985
  --border-radius: 0;
1981
1986
  --box-shadow: none;
1982
1987
  }
@@ -3505,32 +3510,52 @@ fig-input-fill {
3505
3510
  fig-input-gradient {
3506
3511
  --fig-input-gradient-height: 1.5rem;
3507
3512
  --fig-input-gradient-padding: var(--spacer-1);
3513
+ --fig-input-gradient-handle-size: 14px;
3514
+ --fig-input-gradient-chit-border-radius: var(--radius-large);
3508
3515
  position: relative;
3509
3516
  height: var(--fig-input-gradient-height);
3510
3517
  width: 100%;
3511
3518
  min-width: 0;
3512
3519
 
3520
+ fig-handle[type="color"]{
3521
+ --height: var(--fig-input-gradient-handle-size);
3522
+ --width: var(--fig-input-gradient-handle-size);
3523
+ }
3524
+
3513
3525
  &:focus,
3514
3526
  &:active,
3515
3527
  &:focus-within {
3516
3528
  outline: 1px solid var(--figma-color-border-selected) !important;
3517
3529
  outline-offset: -1px !important;
3518
3530
  }
3519
-
3520
- fig-handle{
3521
- --height: 14px;
3522
- --width: 14px;
3523
-
3531
+ &[mode="tip"]{
3532
+ fig-handle[type="color"]{
3533
+ --fig-handle-bg: transparent;
3534
+ --fig-handle-inner-bg: transparent;
3535
+ --fig-handle-outline: none;
3536
+ --fig-handle-outline-color: transparent;
3537
+ --fig-handle-shadow: none;
3538
+ --fig-handle-inner-outline: none;
3539
+ fig-color-tip{
3540
+ bottom: calc(100%);
3541
+ }
3542
+ }
3543
+ .fig-input-gradient-track {
3544
+ inset: 0 calc(var(--fig-input-gradient-padding) + 2px);
3545
+ }
3546
+ --fig-input-gradient-chit-border-radius: var(--radius-medium);
3524
3547
  }
3525
3548
 
3526
3549
  &[edit="false"] {
3527
3550
  pointer-events: none;
3551
+ --fig-input-gradient-chit-border-radius: var(--radius-medium);
3528
3552
 
3529
3553
  &:focus,
3530
3554
  &:active,
3531
3555
  &:focus-within {
3532
3556
  outline: none !important;
3533
3557
  }
3558
+
3534
3559
  }
3535
3560
 
3536
3561
  &[edit="picker"] {
@@ -3542,17 +3567,13 @@ fig-input-gradient {
3542
3567
  & > fig-fill-picker > fig-chit {
3543
3568
  --width: 100%;
3544
3569
  width: var(--width);
3545
- --border-radius: var(--radius-large);
3570
+ --border-radius: var(--fig-input-gradient-chit-border-radius);
3546
3571
  }
3547
3572
  &[size="large"] {
3548
3573
  --fig-input-gradient-height: 2rem;
3574
+ --fig-input-gradient-chit-border-radius: var(--radius-medium);
3549
3575
  height: var(--fig-input-gradient-height) !important;
3550
- & > fig-chit,
3551
- & > fig-fill-picker > fig-chit {
3552
- --padding:0px;
3553
- --height: var(--fig-input-gradient-height);
3554
- --border-radius: var(--radius-medium);
3555
- }
3576
+
3556
3577
  .fig-input-gradient-track {
3557
3578
  inset: 0;
3558
3579
  }
@@ -3562,7 +3583,7 @@ fig-input-gradient {
3562
3583
  position: absolute;
3563
3584
  display: flex;
3564
3585
  align-items: center;
3565
- inset: 0 var(--spacer-2-5);
3586
+ inset: 0 calc(var(--fig-input-gradient-padding) + var(--fig-input-gradient-handle-size)/2);
3566
3587
  pointer-events: auto;
3567
3588
  z-index: 1;
3568
3589
 
@@ -3574,6 +3595,10 @@ fig-input-gradient {
3574
3595
  z-index: 5;
3575
3596
  }
3576
3597
  }
3598
+
3599
+ fig-handle.fig-input-gradient-ghost {
3600
+ z-index: 10;
3601
+ }
3577
3602
  }
3578
3603
  }
3579
3604
 
@@ -4294,44 +4319,44 @@ fig-layer {
4294
4319
  }
4295
4320
  @keyframes fig-shimmer-text {
4296
4321
  from {
4297
- background-position: var(--shimmer-text-from, 100% 0%);
4322
+ background-position: var(--fig-shimmer-text-from, 100% 0%);
4298
4323
  }
4299
4324
  to {
4300
- background-position: var(--shimmer-text-to, 0% 0%);
4325
+ background-position: var(--fig-shimmer-text-to, 0% 0%);
4301
4326
  }
4302
4327
  }
4303
4328
  @keyframes fig-shimmer-mask {
4304
4329
  from {
4305
- mask-position: var(--shimmer-mask-from, 100% 0%);
4330
+ mask-position: var(--fig-skeleton-mask-from, var(--fig-shimmer-mask-from, 100% 0%));
4306
4331
  }
4307
4332
  to {
4308
- mask-position: var(--shimmer-mask-to, 0% 0%);
4333
+ mask-position: var(--fig-skeleton-mask-to, var(--fig-shimmer-mask-to, 0% 0%));
4309
4334
  }
4310
4335
  }
4311
4336
  /* Shimmer */
4312
4337
  fig-shimmer {
4313
4338
  display: contents;
4314
- --shimmer-angle: 90deg;
4315
- --shimmer-size: 250% 100%;
4316
- --shimmer-duration: 1.5s;
4317
- --shimmer-mask-from: 100% 0%;
4318
- --shimmer-mask-to: 0% 0%;
4319
- --shimmer-text-from: 100% 0%;
4320
- --shimmer-text-to: 0% 0%;
4321
- --shimmer-subtle-fill-color: var(--figma-color-bg-transparent);
4322
- --shimmer-bright-fill-color: var(--figma-color-bg-tertiary);
4323
- --shimmer-subtle-text-color: var(--figma-color-text-tertiary);
4324
- --shimmer-bright-text-color: var(--figma-color-text);
4339
+ --fig-shimmer-angle: 90deg;
4340
+ --fig-shimmer-bright-fill-color: var(--figma-color-bg-tertiary);
4341
+ --fig-shimmer-bright-text-color: var(--figma-color-text);
4342
+ --fig-shimmer-duration: 1.5s;
4343
+ --fig-shimmer-mask-from: 100% 0%;
4344
+ --fig-shimmer-mask-to: 0% 0%;
4345
+ --fig-shimmer-size: 250% 100%;
4346
+ --fig-shimmer-subtle-fill-color: var(--figma-color-bg-transparent);
4347
+ --fig-shimmer-subtle-text-color: var(--figma-color-text-tertiary);
4348
+ --fig-shimmer-text-from: 100% 0%;
4349
+ --fig-shimmer-text-to: 0% 0%;
4325
4350
 
4326
4351
  &[direction="vertical"] {
4327
- --shimmer-angle: 180deg;
4328
- --shimmer-size: 100% 250%;
4329
- --shimmer-mask-from: 0% 100%;
4330
- --shimmer-text-from: 0% 100%;
4352
+ --fig-shimmer-angle: 180deg;
4353
+ --fig-shimmer-size: 100% 250%;
4354
+ --fig-shimmer-mask-from: 0% 100%;
4355
+ --fig-shimmer-text-from: 0% 100%;
4331
4356
  }
4332
4357
  &[direction="diagonal"] {
4333
- --shimmer-angle: 135deg;
4334
- --shimmer-size: 250% 250%;
4358
+ --fig-shimmer-angle: 135deg;
4359
+ --fig-shimmer-size: 250% 250%;
4335
4360
  }
4336
4361
 
4337
4362
  /* When not playing, remove shimmer effect entirely */
@@ -4348,28 +4373,28 @@ fig-shimmer {
4348
4373
  /* Only apply shimmer when playing (default) or playing="true" */
4349
4374
  &:not([playing="false"]) :where(*:has(*), *:empty) {
4350
4375
  mask: linear-gradient(
4351
- var(--shimmer-angle),
4352
- var(--shimmer-subtle-fill-color) 0%,
4353
- var(--shimmer-subtle-fill-color) 40%,
4354
- var(--shimmer-bright-fill-color) 50%,
4355
- var(--shimmer-subtle-fill-color) 60%,
4356
- var(--shimmer-subtle-fill-color) 100%
4376
+ var(--fig-shimmer-angle),
4377
+ var(--fig-shimmer-subtle-fill-color) 0%,
4378
+ var(--fig-shimmer-subtle-fill-color) 40%,
4379
+ var(--fig-shimmer-bright-fill-color) 50%,
4380
+ var(--fig-shimmer-subtle-fill-color) 60%,
4381
+ var(--fig-shimmer-subtle-fill-color) 100%
4357
4382
  );
4358
- mask-size: var(--shimmer-size);
4359
- animation: fig-shimmer-mask var(--shimmer-duration) linear infinite;
4383
+ mask-size: var(--fig-shimmer-size);
4384
+ animation: fig-shimmer-mask var(--fig-shimmer-duration) linear infinite;
4360
4385
  }
4361
4386
  &:not([playing="false"]) :where(*:not(:has(*)):not(:empty)) {
4362
4387
  mask: none;
4363
4388
  background: linear-gradient(
4364
- var(--shimmer-angle),
4365
- var(--shimmer-subtle-text-color) 0%,
4366
- var(--shimmer-subtle-text-color) 40%,
4367
- var(--shimmer-bright-text-color) 50%,
4368
- var(--shimmer-subtle-text-color) 60%,
4369
- var(--shimmer-subtle-text-color) 100%
4389
+ var(--fig-shimmer-angle),
4390
+ var(--fig-shimmer-subtle-text-color) 0%,
4391
+ var(--fig-shimmer-subtle-text-color) 40%,
4392
+ var(--fig-shimmer-bright-text-color) 50%,
4393
+ var(--fig-shimmer-subtle-text-color) 60%,
4394
+ var(--fig-shimmer-subtle-text-color) 100%
4370
4395
  );
4371
- background-size: var(--shimmer-size);
4372
- animation: fig-shimmer-text var(--shimmer-duration) linear infinite;
4396
+ background-size: var(--fig-shimmer-size);
4397
+ animation: fig-shimmer-text var(--fig-shimmer-duration) linear infinite;
4373
4398
  -webkit-background-clip: text !important;
4374
4399
  background-clip: text !important;
4375
4400
  -webkit-text-fill-color: transparent !important;
@@ -4378,35 +4403,38 @@ fig-shimmer {
4378
4403
  /* Skeleton */
4379
4404
  fig-skeleton {
4380
4405
  display: contents;
4381
- --shimmer-angle: 90deg;
4382
- --shimmer-size: 250% 100%;
4383
- --shimmer-duration: 1.5s;
4384
- --shimmer-mask-from: 100% 0%;
4385
- --shimmer-mask-to: 0% 0%;
4386
- --shimmer-subtle-mask-color: rgba(0, 0, 0, 0.75);
4387
- --shimmer-bright-mask-color: rgba(0, 0, 0, 1);
4406
+ pointer-events: none;
4407
+ user-select: none;
4408
+ --fig-skeleton-angle: 90deg;
4409
+ --fig-skeleton-bg-color: var(--figma-color-bg-secondary);
4410
+ --fig-skeleton-bright-mask-color: rgba(0, 0, 0, 1);
4411
+ --fig-skeleton-duration: 1.5s;
4412
+ --fig-skeleton-mask-from: 100% 0%;
4413
+ --fig-skeleton-mask-to: 0% 0%;
4414
+ --fig-skeleton-size: 250% 100%;
4415
+ --fig-skeleton-subtle-mask-color: rgba(0, 0, 0, 0.75);
4388
4416
 
4389
4417
  &[direction="vertical"] {
4390
- --shimmer-angle: 180deg;
4391
- --shimmer-size: 100% 400%;
4392
- --shimmer-mask-from: 0% 100%;
4418
+ --fig-skeleton-angle: 180deg;
4419
+ --fig-skeleton-size: 100% 400%;
4420
+ --fig-skeleton-mask-from: 0% 100%;
4393
4421
  }
4394
4422
  &[direction="diagonal"] {
4395
- --shimmer-angle: 135deg;
4396
- --shimmer-size: 250% 250%;
4423
+ --fig-skeleton-angle: 135deg;
4424
+ --fig-skeleton-size: 250% 250%;
4397
4425
  }
4398
4426
 
4399
4427
  &:not([playing="false"]) * {
4400
4428
  mask: linear-gradient(
4401
- var(--shimmer-angle),
4402
- var(--shimmer-subtle-mask-color) 0%,
4403
- var(--shimmer-subtle-mask-color) 40%,
4404
- var(--shimmer-bright-mask-color) 50%,
4405
- var(--shimmer-subtle-mask-color) 60%,
4406
- var(--shimmer-subtle-mask-color) 100%
4429
+ var(--fig-skeleton-angle),
4430
+ var(--fig-skeleton-subtle-mask-color) 0%,
4431
+ var(--fig-skeleton-subtle-mask-color) 40%,
4432
+ var(--fig-skeleton-bright-mask-color) 50%,
4433
+ var(--fig-skeleton-subtle-mask-color) 60%,
4434
+ var(--fig-skeleton-subtle-mask-color) 100%
4407
4435
  );
4408
- mask-size: var(--shimmer-size);
4409
- animation: fig-shimmer-mask var(--shimmer-duration) linear infinite;
4436
+ mask-size: var(--fig-skeleton-size);
4437
+ animation: fig-shimmer-mask var(--fig-skeleton-duration) linear infinite;
4410
4438
  * {
4411
4439
  color: transparent;
4412
4440
  }
@@ -4416,15 +4444,25 @@ fig-skeleton {
4416
4444
  h2,
4417
4445
  p,
4418
4446
  span {
4419
- background: var(--figma-color-bg-secondary);
4447
+ background: var(--fig-skeleton-bg-color);
4420
4448
  border-radius: var(--radius-medium);
4421
4449
  }
4450
+ img,video{
4451
+ opacity: 0
4452
+ }
4453
+ fig-field{
4454
+ & > label{
4455
+ padding-top:0;
4456
+ padding-bottom:0;
4457
+ border-radius: 0.5rem;
4458
+ }
4459
+ }
4422
4460
 
4423
4461
  *:not(fig-field, fig-header) {
4424
- background: var(--figma-color-bg-secondary) !important;
4462
+ background: var(--fig-skeleton-bg-color) !important;
4425
4463
  box-shadow: none !important;
4426
4464
  border-radius: var(--radius-medium);
4427
- color: var(--figma-color-bg-secondary) !important;
4465
+ color: var(--fig-skeleton-bg-color) !important;
4428
4466
  pointer-events: none;
4429
4467
  user-select: none;
4430
4468
  }
@@ -4736,20 +4774,21 @@ fig-handle {
4736
4774
  --height: 1rem;
4737
4775
  --fill: transparent;
4738
4776
  --border-radius: 50%;
4777
+ --fig-handle-bg: var(--handle-color);
4778
+ --fig-handle-checkerboard: var(--checkerboard);
4779
+ --fig-handle-height: var(--width);
4739
4780
  --fig-handle-hit-area-opacity: 0;
4740
4781
  --fig-handle-hit-area-size: 0;
4741
- --fig-handle-checkerboard: var(--checkerboard);
4742
- --fig-handle-bg: var(--handle-color);
4743
- --fig-handle-outline-color: transparent;
4782
+ --fig-handle-inner-bg: var(--figma-color-bg-brand);
4783
+ --fig-handle-inner-outline: 1px solid var(--figma-color-bg-brand);
4784
+ --fig-handle-inner-shadow: none;
4785
+ --fig-handle-inner-radius: 50%;
4744
4786
  --fig-handle-outline: 1.5px solid var(--fig-handle-outline-color);
4787
+ --fig-handle-outline-color: transparent;
4745
4788
  --fig-handle-outline-offset: 0px;
4746
- --fig-handle-inner-bg: var(--figma-color-bg-brand);
4747
- --fig-handle-inner-outline: 1px solid var(--figma-color-bg-brand);
4748
- --fig-handle-height: var(--width);
4749
- --fig-handle-width: var(--width);
4750
4789
  --fig-handle-padding: 0.25rem;
4751
4790
  --fig-handle-shadow: var(--figma-elevation-200-canvas);
4752
- --fig-handle-inner-shadow: none;
4791
+ --fig-handle-width: var(--width);
4753
4792
 
4754
4793
  margin: 0;
4755
4794
  padding: var(--fig-handle-padding);
@@ -4772,7 +4811,7 @@ fig-handle {
4772
4811
  background: var(--fig-handle-inner-bg);
4773
4812
  background-position: 0 0;
4774
4813
  background-size: calc(var(--fig-handle-width) - var(--fig-handle-padding) * 2) calc(var(--fig-handle-height) - var(--fig-handle-padding) * 2);
4775
- border-radius: var(--border-radius);
4814
+ border-radius: var(--fig-handle-inner-radius);
4776
4815
  box-shadow: var(--fig-handle-inner-shadow);
4777
4816
  outline: var(--fig-handle-inner-outline);
4778
4817
  place-self: center;
@@ -4812,7 +4851,9 @@ fig-handle {
4812
4851
  }
4813
4852
  }
4814
4853
  &[type="color"],
4815
- &[control] {
4854
+ &[tip="color"],
4855
+ &[tip="add"],
4856
+ &[tip="remove"] {
4816
4857
  --fig-handle-inner-bg: linear-gradient(var(--fill), var(--fill)), var(--fig-handle-checkerboard);
4817
4858
  --fig-handle-padding: 0.125rem;
4818
4859
  --fig-handle-inner-outline: none;
@@ -4830,8 +4871,9 @@ fig-handle {
4830
4871
 
4831
4872
  &[disabled]:not([disabled="false"]),
4832
4873
  &[aria-disabled="true"] {
4833
- cursor: not-allowed;
4834
4874
  --fig-handle-outline-color: transparent;
4875
+ --fig-handle-shadow: none;
4876
+ cursor: not-allowed;
4835
4877
  background-color: var(--figma-color-bg-disabled);
4836
4878
  &::after{
4837
4879
  --fig-handle-inner-bg: var(--figma-color-icon-disabled);