@rogieking/figui3 9.0.7 → 9.0.8

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
@@ -702,6 +702,7 @@ Tabs use `role="tablist"` / `role="tab"` and roving focus. Use `content="#panel-
702
702
  | `value` | string | — | Selected segment value |
703
703
  | `animated` | boolean | `false` | Animate indicator transitions |
704
704
  | `sizing` | string | `"equal"` | `"equal"` or `"auto"` width mode |
705
+ | `size` | string | — | Set to `"large"` for a 32px-tall control |
705
706
 
706
707
  **Events:** `input`, `change` — detail contains the selected value.
707
708
 
package/components.css CHANGED
@@ -1365,7 +1365,6 @@ fig-tabs,
1365
1365
  /* Avatar */
1366
1366
  fig-avatar,
1367
1367
  .fig-avatar {
1368
- contain: layout paint;
1369
1368
  --size: 1.5rem;
1370
1369
  width: var(--size);
1371
1370
  flex-shrink: 0;
@@ -1873,10 +1872,6 @@ fig-media-controls {
1873
1872
  align-items: center;
1874
1873
  }
1875
1874
 
1876
- fig-icon {
1877
- contain: none;
1878
- }
1879
-
1880
1875
  &[overlay]:not([overlay="false"]) {
1881
1876
  border-radius: var(--radius-medium);
1882
1877
  background-color: var(--figma-color-bg);
@@ -2479,7 +2474,6 @@ input[type="checkbox"].switch {
2479
2474
  --width: 2rem;
2480
2475
  --height: 1rem;
2481
2476
  --figma-focus-outline-offset: 1px;
2482
- contain: strict;
2483
2477
  display: inline-flex;
2484
2478
  margin: 0;
2485
2479
  vertical-align: middle;
@@ -2642,7 +2636,6 @@ label.checkbox:has([type="checkbox"]) {
2642
2636
 
2643
2637
  /* Radio */
2644
2638
  input[type="radio"] {
2645
- contain: strict;
2646
2639
  --figma-focus-outline-offset: 1px;
2647
2640
  appearance: none;
2648
2641
  border-radius: 0.5rem;
@@ -4520,13 +4513,13 @@ fig-spinner {
4520
4513
  /* Segmented control */
4521
4514
  .segmented-control,
4522
4515
  fig-segmented-control {
4523
- contain: layout paint;
4524
4516
  display: inline-flex;
4525
4517
  user-select: none;
4526
4518
  background-color: var(--figma-color-bg-secondary);
4527
4519
  border: 0;
4528
4520
  border-radius: var(--radius-medium);
4529
- height: 1.5rem;
4521
+ --fig-segmented-control-height: 1.5rem;
4522
+ height: var(--fig-segmented-control-height);
4530
4523
  padding: 1px;
4531
4524
  gap: 0;
4532
4525
  align-items: stretch;
@@ -4560,7 +4553,7 @@ fig-segmented-control {
4560
4553
  & fig-segment {
4561
4554
  --figma-focus-outline-offset: 0;
4562
4555
  flex: 1 1 0;
4563
- min-width: 0;
4556
+ min-width: var(--fig-segmented-control-height);
4564
4557
  display: flex;
4565
4558
  align-items: center;
4566
4559
  justify-content: center;
@@ -4577,6 +4570,10 @@ fig-segmented-control {
4577
4570
  transition: none;
4578
4571
  text-transform: capitalize;
4579
4572
 
4573
+ &:has(> :is(svg, fig-icon):only-child) {
4574
+ padding: 0;
4575
+ }
4576
+
4580
4577
  &[selected]:not([selected="false"]),
4581
4578
  &[selected="true"] {
4582
4579
  color: var(--figma-color-text);
@@ -4603,8 +4600,17 @@ fig-segmented-control {
4603
4600
  &:not([sizing]),
4604
4601
  &[sizing=""],
4605
4602
  &[sizing="equal"] {
4603
+ display: inline-grid;
4604
+ grid-auto-flow: column;
4605
+ grid-auto-columns: 1fr;
4606
+
4606
4607
  & fig-segment {
4607
- flex: 1 1 0;
4608
+ flex: none;
4609
+ }
4610
+
4611
+ &[full]:not([full="false"]) {
4612
+ display: grid;
4613
+ grid-auto-columns: minmax(0, 1fr);
4608
4614
  }
4609
4615
  }
4610
4616
 
@@ -4637,11 +4643,7 @@ fig-segmented-control {
4637
4643
  }
4638
4644
 
4639
4645
  &[size="large"] {
4640
- height: var(--spacer-5);
4641
-
4642
- & fig-segment {
4643
- padding: 0 var(--spacer-3);
4644
- }
4646
+ --fig-segmented-control-height: var(--spacer-5);
4645
4647
  }
4646
4648
 
4647
4649
  &[disabled]:not([disabled="false"]) {
@@ -5370,9 +5372,6 @@ fig-skeleton {
5370
5372
 
5371
5373
  .fig-mask-icon,
5372
5374
  fig-icon {
5373
- /* size only — paint containment skips mask-image when `name` / `--icon` updates
5374
- until a sibling hover (e.g. fig-preview) forces a repaint. */
5375
- contain: size;
5376
5375
  --size: var(--spacer-4);
5377
5376
  --icon: var(--icon-24-add);
5378
5377
 
@@ -5568,7 +5567,8 @@ fig-chooser {
5568
5567
 
5569
5568
  &[layout="grid"] {
5570
5569
  display: grid;
5571
- gap: var(--fig-chooser-gap);
5570
+ column-gap: var(--fig-chooser-gap);
5571
+ row-gap: 0;
5572
5572
  grid-template-columns: repeat(
5573
5573
  var(--fig-chooser-grid-columns, 2),
5574
5574
  minmax(0, 1fr)
@@ -5578,15 +5578,11 @@ fig-chooser {
5578
5578
 
5579
5579
  > :not(.fig-overflow) {
5580
5580
  margin: 0;
5581
+ margin-block-start: var(--fig-chooser-gap);
5581
5582
  }
5582
5583
 
5583
- > :not(.fig-overflow) + :not(.fig-overflow) {
5584
- margin: 0;
5585
- }
5586
-
5587
- > .fig-overflow-start + :not(.fig-overflow),
5588
- > :not(.fig-overflow):has(+ .fig-overflow-end) {
5589
- margin: 0;
5584
+ > [data-fig-chooser-first-row] {
5585
+ margin-block-start: 0;
5590
5586
  }
5591
5587
 
5592
5588
  > .fig-overflow {
@@ -5694,7 +5690,6 @@ fig-card {
5694
5690
  }
5695
5691
 
5696
5692
  .fig-card-label {
5697
- font-size: var(--font-size-small);
5698
5693
  line-height: var(--line-height);
5699
5694
  color: var(--figma-color-text);
5700
5695
  min-width: 0;
@@ -5716,7 +5711,6 @@ fig-card {
5716
5711
  .fig-card-sublabel {
5717
5712
  box-sizing: border-box;
5718
5713
  display: block;
5719
- font-size: var(--font-size-small);
5720
5714
  line-height: var(--line-height);
5721
5715
  color: var(--figma-color-text-secondary);
5722
5716
  padding-inline: var(--spacer-1);
@@ -5995,7 +5989,6 @@ fig-color-tip {
5995
5989
  --tip-selection-scale: 1;
5996
5990
  --beak-offset: 50%;
5997
5991
 
5998
- contain: layout;
5999
5992
  inset: unset;
6000
5993
  display: inline-grid;
6001
5994
  place-items: center;
@@ -6087,7 +6080,7 @@ fig-menu::part(listbox) {
6087
6080
  }
6088
6081
 
6089
6082
  fig-menu-item {
6090
- --fig-menu-item-padding: var(--spacer-1) var(--spacer-4);
6083
+ --fig-menu-item-padding: var(--spacer-1,0.25rem) var(--spacer-4,1rem);
6091
6084
  box-sizing: border-box;
6092
6085
  display: flex;
6093
6086
  flex-shrink: 0;
@@ -6161,14 +6154,14 @@ fig-menu-item {
6161
6154
  :is(fig-separator, fig-menu-separator) {
6162
6155
  --fig-separator-color: var(--figma-color-border);
6163
6156
  --fig-separator-label-color: var(--figma-color-text-secondary);
6164
- --fig-separator-padding: 0 var(--spacer-3);
6157
+ --fig-separator-padding: 0 var(--spacer-4,1rem);
6165
6158
 
6166
6159
  display: block;
6167
6160
  box-sizing: border-box;
6168
6161
  flex-shrink: 0;
6169
6162
  width: 100%;
6170
6163
  height: 1px;
6171
- margin: var(--spacer-2) 0;
6164
+ margin: var(--spacer-2,0.5rem) 0;
6172
6165
  padding: var(--fig-separator-padding);
6173
6166
  border: 0;
6174
6167
  background: var(--fig-separator-color);
@@ -6199,17 +6192,17 @@ fig-menu-item {
6199
6192
  &[label]:not([label=""]) {
6200
6193
  display: flex;
6201
6194
  flex-direction: column;
6202
- gap: var(--spacer-2);
6195
+ gap: var(--spacer-2,0.5rem);
6203
6196
  height: auto;
6204
- margin: var(--spacer-2) 0;
6205
- margin-bottom: var(--spacer-1);
6197
+ margin: var(--spacer-2,0.5rem) 0;
6198
+ margin-bottom: var(--spacer-1,0.25rem);
6206
6199
  background: transparent;
6207
6200
 
6208
6201
  &::before {
6209
6202
  content: "";
6210
6203
  display: block;
6211
6204
  height: 1px;
6212
- margin-inline: calc(-1 * var(--spacer-3));
6205
+ margin-inline: calc(-1 * var(--spacer-4,1rem));
6213
6206
  background: var(--fig-separator-color);
6214
6207
  }
6215
6208
 
@@ -6217,14 +6210,8 @@ fig-menu-item {
6217
6210
  content: attr(label);
6218
6211
  display: block;
6219
6212
  color: var(--fig-separator-label-color);
6220
- line-height: var(--spacer-4);
6221
- min-height: var(--spacer-4);
6222
- }
6223
-
6224
- &:first-child{
6225
- &::before {
6226
- display: none;
6227
- }
6213
+ line-height: var(--spacer-4,1rem);
6214
+ min-height: var(--spacer-4,1rem);
6228
6215
  }
6229
6216
 
6230
6217
  &[sticky]:not([sticky="false"]) {
@@ -6234,14 +6221,14 @@ fig-menu-item {
6234
6221
  background: var(--fig-popup-bg-color, var(--figma-color-bg));
6235
6222
 
6236
6223
  &[stuck] {
6237
- --fig-separator-padding: var(--spacer-2) var(--spacer-3);
6224
+ --fig-separator-padding: var(--spacer-2,0.5rem) var(--spacer-4,1rem);
6238
6225
  &::before {
6239
6226
  display: none;
6240
6227
  }
6241
6228
  }
6242
6229
 
6243
6230
  :is(fig-select-options, .fig-menu-options, fig-menu).overflow-start > & {
6244
- top: var(--fig-vertical-overflow-size, var(--spacer-4));
6231
+ top: var(--fig-vertical-overflow-size, var(--spacer-4,1rem));
6245
6232
  }
6246
6233
  }
6247
6234
  }