@rogieking/figui3 10.0.8 → 10.0.10

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/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [10.0.10]
6
+
7
+ ### Changed
8
+
9
+ - Unified thin scrollbar colors and styling across the base stylesheet and playground.
10
+
11
+ ### Fixed
12
+
13
+ - Prevented delayed chooser media loads from overriding the user’s scroll position.
14
+
15
+ ## [10.0.9]
16
+
17
+ ### Changed
18
+
19
+ - Restored standard inline spacing for single-tab tab lists.
20
+
21
+ ### Fixed
22
+
23
+ - Fixed one-sided overflow-fade masks so inactive and opposite edges remain fully visible.
24
+ - Ensured end-edge fades disappear when no overflow remains.
25
+
5
26
  ## [10.0.8]
6
27
 
7
28
  ### Added
package/base.css CHANGED
@@ -88,16 +88,23 @@ iframe{
88
88
  background-color: var(--figma-color-text-selection);
89
89
  }
90
90
 
91
- /* helper classes/defaults */
91
+ /* Scrollbars */
92
+ * {
93
+ scrollbar-width: thin;
94
+ scrollbar-color: var(--figma-color-border) transparent;
95
+ }
96
+
92
97
  ::-webkit-scrollbar {
93
98
  width: var(--spacer-1);
94
- /* Width of the vertical scrollbar */
95
99
  height: var(--spacer-1);
96
- /* Height of the horizontal scrollbar */
100
+ }
101
+
102
+ ::-webkit-scrollbar-track {
103
+ background: transparent;
97
104
  }
98
105
 
99
106
  ::-webkit-scrollbar-thumb {
100
- background-color: var(--figma-color-bg-tertiary);
107
+ background-color: var(--figma-color-border);
101
108
  border-radius: calc(var(--spacer-1) / 2);
102
109
  }
103
110
 
@@ -105,13 +112,7 @@ iframe{
105
112
  background-color: var(--figma-color-bg-secondary);
106
113
  }
107
114
 
108
- /* For Firefox */
109
- * {
110
- scrollbar-width: thin;
111
- scrollbar-color: var(--figma-color-bg-tertiary)
112
- var(--figma-color-bg-secondary);
113
- }
114
-
115
+ /* helper classes/defaults */
115
116
  .subtle {
116
117
  color: var(--figma-color-text-tertiary);
117
118
  }
package/components.css CHANGED
@@ -1375,8 +1375,6 @@ fig-tabs,
1375
1375
  /* Single tab */
1376
1376
  &:first-of-type:last-of-type{
1377
1377
  background-color: transparent;
1378
- padding-inline: 0;
1379
- margin-inline: 0;
1380
1378
  }
1381
1379
 
1382
1380
  & + fig-tab {
@@ -5398,9 +5396,55 @@ fig-skeleton {
5398
5396
  initial-value: 0px;
5399
5397
  }
5400
5398
 
5399
+ @property --fig-overflow-fade-top-opacity {
5400
+ syntax: "<number>";
5401
+ inherits: false;
5402
+ initial-value: 1;
5403
+ }
5404
+
5405
+ @property --fig-overflow-fade-bottom-opacity {
5406
+ syntax: "<number>";
5407
+ inherits: false;
5408
+ initial-value: 1;
5409
+ }
5410
+
5411
+ @property --fig-overflow-fade-left-opacity {
5412
+ syntax: "<number>";
5413
+ inherits: false;
5414
+ initial-value: 1;
5415
+ }
5416
+
5417
+ @property --fig-overflow-fade-right-opacity {
5418
+ syntax: "<number>";
5419
+ inherits: false;
5420
+ initial-value: 1;
5421
+ }
5422
+
5401
5423
  .fig-overflow-fade {
5402
5424
  --fig-overflow-fade-size: var(--spacer-5);
5403
5425
  --fig-overflow-fade-clear-top: 0px;
5426
+ --fig-overflow-fade-edge-opacity: 0;
5427
+ --fig-overflow-fade-edge-alpha-04: calc(
5428
+ 0.04 + var(--fig-overflow-fade-edge-opacity) * 0.96
5429
+ );
5430
+ --fig-overflow-fade-edge-alpha-16: calc(
5431
+ 0.16 + var(--fig-overflow-fade-edge-opacity) * 0.84
5432
+ );
5433
+ --fig-overflow-fade-edge-alpha-32: calc(
5434
+ 0.32 + var(--fig-overflow-fade-edge-opacity) * 0.68
5435
+ );
5436
+ --fig-overflow-fade-edge-alpha-50: calc(
5437
+ 0.5 + var(--fig-overflow-fade-edge-opacity) * 0.5
5438
+ );
5439
+ --fig-overflow-fade-edge-alpha-68: calc(
5440
+ 0.68 + var(--fig-overflow-fade-edge-opacity) * 0.32
5441
+ );
5442
+ --fig-overflow-fade-edge-alpha-84: calc(
5443
+ 0.84 + var(--fig-overflow-fade-edge-opacity) * 0.16
5444
+ );
5445
+ --fig-overflow-fade-edge-alpha-96: calc(
5446
+ 0.96 + var(--fig-overflow-fade-edge-opacity) * 0.04
5447
+ );
5404
5448
 
5405
5449
  overflow-y: auto;
5406
5450
  }
@@ -5885,6 +5929,56 @@ fig-toolbelt {
5885
5929
  .fig-overflow-fade-right
5886
5930
  )
5887
5931
  ) {
5932
+ --fig-overflow-fade-edge-opacity: var(--fig-overflow-fade-top-opacity);
5933
+ --fig-overflow-fade-single-edge-mask: linear-gradient(
5934
+ to bottom,
5935
+ black 0,
5936
+ black var(--fig-overflow-fade-clear-top),
5937
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-opacity))
5938
+ var(--fig-overflow-fade-clear-top),
5939
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-04))
5940
+ calc(
5941
+ var(--fig-overflow-fade-clear-top) +
5942
+ var(--fig-overflow-fade-top) * 0.125
5943
+ ),
5944
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-16))
5945
+ calc(
5946
+ var(--fig-overflow-fade-clear-top) +
5947
+ var(--fig-overflow-fade-top) * 0.25
5948
+ ),
5949
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-32))
5950
+ calc(
5951
+ var(--fig-overflow-fade-clear-top) +
5952
+ var(--fig-overflow-fade-top) * 0.375
5953
+ ),
5954
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-50))
5955
+ calc(
5956
+ var(--fig-overflow-fade-clear-top) +
5957
+ var(--fig-overflow-fade-top) * 0.5
5958
+ ),
5959
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-68))
5960
+ calc(
5961
+ var(--fig-overflow-fade-clear-top) +
5962
+ var(--fig-overflow-fade-top) * 0.625
5963
+ ),
5964
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-84))
5965
+ calc(
5966
+ var(--fig-overflow-fade-clear-top) +
5967
+ var(--fig-overflow-fade-top) * 0.75
5968
+ ),
5969
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-96))
5970
+ calc(
5971
+ var(--fig-overflow-fade-clear-top) +
5972
+ var(--fig-overflow-fade-top) * 0.875
5973
+ ),
5974
+ black calc(
5975
+ var(--fig-overflow-fade-clear-top) +
5976
+ var(--fig-overflow-fade-top)
5977
+ ),
5978
+ black 100%
5979
+ );
5980
+ mask-image: var(--fig-overflow-fade-single-edge-mask);
5981
+ -webkit-mask-image: var(--fig-overflow-fade-single-edge-mask);
5888
5982
  animation: fig-overflow-fade-in-top 1ms linear both;
5889
5983
  animation-timeline: scroll(self block);
5890
5984
  animation-range: 0 var(--fig-overflow-fade-size);
@@ -5899,6 +5993,29 @@ fig-toolbelt {
5899
5993
  .fig-overflow-fade-right
5900
5994
  )
5901
5995
  ) {
5996
+ --fig-overflow-fade-edge-opacity: var(--fig-overflow-fade-bottom-opacity);
5997
+ --fig-overflow-fade-single-edge-mask: linear-gradient(
5998
+ to bottom,
5999
+ black 0,
6000
+ black calc(100% - var(--fig-overflow-fade-bottom)),
6001
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-96))
6002
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.875),
6003
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-84))
6004
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.75),
6005
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-68))
6006
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.625),
6007
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-50))
6008
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.5),
6009
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-32))
6010
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.375),
6011
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-16))
6012
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.25),
6013
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-04))
6014
+ calc(100% - var(--fig-overflow-fade-bottom) * 0.125),
6015
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-opacity)) 100%
6016
+ );
6017
+ mask-image: var(--fig-overflow-fade-single-edge-mask);
6018
+ -webkit-mask-image: var(--fig-overflow-fade-single-edge-mask);
5902
6019
  animation: fig-overflow-fade-out-bottom 1ms linear both;
5903
6020
  animation-timeline: scroll(self block);
5904
6021
  animation-range: calc(100% - var(--fig-overflow-fade-size)) 100%;
@@ -6043,12 +6160,85 @@ fig-toolbelt {
6043
6160
  }
6044
6161
 
6045
6162
  .fig-overflow-fade.fig-overflow-fade-left:not(.fig-overflow-fade-right) {
6163
+ --fig-overflow-fade-edge-opacity: var(--fig-overflow-fade-left-opacity);
6164
+ --fig-overflow-fade-single-edge-mask: linear-gradient(
6165
+ to right,
6166
+ black 0,
6167
+ black var(--fig-overflow-fade-clear-left),
6168
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-opacity))
6169
+ var(--fig-overflow-fade-clear-left),
6170
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-04))
6171
+ calc(
6172
+ var(--fig-overflow-fade-clear-left) +
6173
+ var(--fig-overflow-fade-left) * 0.125
6174
+ ),
6175
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-16))
6176
+ calc(
6177
+ var(--fig-overflow-fade-clear-left) +
6178
+ var(--fig-overflow-fade-left) * 0.25
6179
+ ),
6180
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-32))
6181
+ calc(
6182
+ var(--fig-overflow-fade-clear-left) +
6183
+ var(--fig-overflow-fade-left) * 0.375
6184
+ ),
6185
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-50))
6186
+ calc(
6187
+ var(--fig-overflow-fade-clear-left) +
6188
+ var(--fig-overflow-fade-left) * 0.5
6189
+ ),
6190
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-68))
6191
+ calc(
6192
+ var(--fig-overflow-fade-clear-left) +
6193
+ var(--fig-overflow-fade-left) * 0.625
6194
+ ),
6195
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-84))
6196
+ calc(
6197
+ var(--fig-overflow-fade-clear-left) +
6198
+ var(--fig-overflow-fade-left) * 0.75
6199
+ ),
6200
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-96))
6201
+ calc(
6202
+ var(--fig-overflow-fade-clear-left) +
6203
+ var(--fig-overflow-fade-left) * 0.875
6204
+ ),
6205
+ black calc(
6206
+ var(--fig-overflow-fade-clear-left) +
6207
+ var(--fig-overflow-fade-left)
6208
+ ),
6209
+ black 100%
6210
+ );
6211
+ mask-image: var(--fig-overflow-fade-single-edge-mask);
6212
+ -webkit-mask-image: var(--fig-overflow-fade-single-edge-mask);
6046
6213
  animation: fig-overflow-fade-in-left 1ms linear both;
6047
6214
  animation-timeline: scroll(self inline);
6048
6215
  animation-range: 0 var(--fig-overflow-fade-size);
6049
6216
  }
6050
6217
 
6051
6218
  .fig-overflow-fade.fig-overflow-fade-right:not(.fig-overflow-fade-left) {
6219
+ --fig-overflow-fade-edge-opacity: var(--fig-overflow-fade-right-opacity);
6220
+ --fig-overflow-fade-single-edge-mask: linear-gradient(
6221
+ to right,
6222
+ black 0,
6223
+ black calc(100% - var(--fig-overflow-fade-right)),
6224
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-96))
6225
+ calc(100% - var(--fig-overflow-fade-right) * 0.875),
6226
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-84))
6227
+ calc(100% - var(--fig-overflow-fade-right) * 0.75),
6228
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-68))
6229
+ calc(100% - var(--fig-overflow-fade-right) * 0.625),
6230
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-50))
6231
+ calc(100% - var(--fig-overflow-fade-right) * 0.5),
6232
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-32))
6233
+ calc(100% - var(--fig-overflow-fade-right) * 0.375),
6234
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-16))
6235
+ calc(100% - var(--fig-overflow-fade-right) * 0.25),
6236
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-alpha-04))
6237
+ calc(100% - var(--fig-overflow-fade-right) * 0.125),
6238
+ rgba(0, 0, 0, var(--fig-overflow-fade-edge-opacity)) 100%
6239
+ );
6240
+ mask-image: var(--fig-overflow-fade-single-edge-mask);
6241
+ -webkit-mask-image: var(--fig-overflow-fade-single-edge-mask);
6052
6242
  animation: fig-overflow-fade-out-right 1ms linear both;
6053
6243
  animation-timeline: scroll(self inline);
6054
6244
  animation-range: calc(100% - var(--fig-overflow-fade-size)) 100%;
@@ -6058,36 +6248,44 @@ fig-toolbelt {
6058
6248
  @keyframes fig-overflow-fade-in-top {
6059
6249
  from {
6060
6250
  --fig-overflow-fade-top: 0px;
6251
+ --fig-overflow-fade-top-opacity: 1;
6061
6252
  }
6062
6253
  to {
6063
6254
  --fig-overflow-fade-top: var(--fig-overflow-fade-size);
6255
+ --fig-overflow-fade-top-opacity: 0;
6064
6256
  }
6065
6257
  }
6066
6258
 
6067
6259
  @keyframes fig-overflow-fade-out-bottom {
6068
6260
  from {
6069
6261
  --fig-overflow-fade-bottom: var(--fig-overflow-fade-size);
6262
+ --fig-overflow-fade-bottom-opacity: 0;
6070
6263
  }
6071
6264
  to {
6072
6265
  --fig-overflow-fade-bottom: 0px;
6266
+ --fig-overflow-fade-bottom-opacity: 1;
6073
6267
  }
6074
6268
  }
6075
6269
 
6076
6270
  @keyframes fig-overflow-fade-in-left {
6077
6271
  from {
6078
6272
  --fig-overflow-fade-left: 0px;
6273
+ --fig-overflow-fade-left-opacity: 1;
6079
6274
  }
6080
6275
  to {
6081
6276
  --fig-overflow-fade-left: var(--fig-overflow-fade-size);
6277
+ --fig-overflow-fade-left-opacity: 0;
6082
6278
  }
6083
6279
  }
6084
6280
 
6085
6281
  @keyframes fig-overflow-fade-out-right {
6086
6282
  from {
6087
6283
  --fig-overflow-fade-right: var(--fig-overflow-fade-size);
6284
+ --fig-overflow-fade-right-opacity: 0;
6088
6285
  }
6089
6286
  to {
6090
6287
  --fig-overflow-fade-right: 0px;
6288
+ --fig-overflow-fade-right-opacity: 1;
6091
6289
  }
6092
6290
  }
6093
6291
 
@@ -6170,9 +6368,12 @@ fig-chooser {
6170
6368
  var(--fig-choice-selection-ring-gutter)
6171
6369
  );
6172
6370
  scroll-behavior: smooth;
6173
- scrollbar-width: none;
6174
6371
  width: calc(100% - var(--fig-chooser-inline-margin) * 2);
6175
6372
 
6373
+ &:not([overflow="scrollbar"]) {
6374
+ scrollbar-width: none;
6375
+ }
6376
+
6176
6377
  &[scroll-behavior="auto"] {
6177
6378
  scroll-behavior: auto;
6178
6379
  }
@@ -6226,11 +6427,6 @@ fig-chooser {
6226
6427
  }
6227
6428
  }
6228
6429
 
6229
- &[overflow="scrollbar"] {
6230
- scrollbar-width: thin;
6231
- scrollbar-color: var(--figma-color-border) transparent;
6232
- }
6233
-
6234
6430
  &[layout="horizontal"] {
6235
6431
  flex-direction: row;
6236
6432
  overflow: auto hidden;
package/dist/base.css CHANGED
@@ -1 +1 @@
1
- html,:host{width:100%;height:100%;color:var(--figma-color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family);font-size:16px;font-weight:var(--body-medium-fontWeight);letter-spacing:var(--body-letter-spacing);background-color:var(--figma-color-bg);margin:0;padding:0;line-height:1rem}body,:host{font-size:var(--body-medium-fontSize);letter-spacing:var(--body-letter-spacing);line-height:1.4545em}h1,h2{font-weight:var(--body-large-strong-fontWeight);font-size:var(--body-large-fontSize);text-wrap:pretty}h3{font-weight:var(--body-medium-strong-fontWeight);font-size:var(--body-medium-fontSize)}strong{font-weight:var(--body-medium-strong-fontWeight)}section{padding:var(--spacer-1) var(--spacer-3);margin-bottom:var(--spacer-2);&:last-child{margin-bottom:0}}fieldset{padding:var(--spacer-1) var(--spacer-3)}hr{background-color:var(--figma-color-border);width:100%;height:1px;margin:var(--spacer-2) 0;border:none;&[vertical]{width:1px;height:100%;margin:0 var(--spacer-2)}}iframe{background-color:#0000;border:0;flex:auto;width:100%;max-width:100%;height:max-content;min-height:0;max-height:100%;margin:0;display:block}*,:before,:after{box-sizing:border-box}::selection{background-color:var(--figma-color-text-selection)}::selection{background-color:var(--figma-color-text-selection)}::-webkit-scrollbar{width:var(--spacer-1);height:var(--spacer-1)}::-webkit-scrollbar-thumb{background-color:var(--figma-color-bg-tertiary);border-radius:calc(var(--spacer-1) / 2)}::-webkit-scrollbar-thumb:hover{background-color:var(--figma-color-bg-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--figma-color-bg-tertiary) var(--figma-color-bg-secondary)}.subtle{color:var(--figma-color-text-tertiary)}p{text-wrap:pretty;margin-block:1em}p:first-child{margin-block-start:0}p:last-child{margin-block-end:0}label,p,li,figcaption{color:var(--figma-color-text-secondary);text-wrap:pretty}h2{font-weight:var(--body-medium-strong-fontWeight);margin:var(--spacer-2) 0;text-wrap:pretty}a{color:var(--figma-color-text-brand);text-decoration:none;&:hover{text-decoration:underline}}
1
+ html,:host{width:100%;height:100%;color:var(--figma-color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family);font-size:16px;font-weight:var(--body-medium-fontWeight);letter-spacing:var(--body-letter-spacing);background-color:var(--figma-color-bg);margin:0;padding:0;line-height:1rem}body,:host{font-size:var(--body-medium-fontSize);letter-spacing:var(--body-letter-spacing);line-height:1.4545em}h1,h2{font-weight:var(--body-large-strong-fontWeight);font-size:var(--body-large-fontSize);text-wrap:pretty}h3{font-weight:var(--body-medium-strong-fontWeight);font-size:var(--body-medium-fontSize)}strong{font-weight:var(--body-medium-strong-fontWeight)}section{padding:var(--spacer-1) var(--spacer-3);margin-bottom:var(--spacer-2);&:last-child{margin-bottom:0}}fieldset{padding:var(--spacer-1) var(--spacer-3)}hr{background-color:var(--figma-color-border);width:100%;height:1px;margin:var(--spacer-2) 0;border:none;&[vertical]{width:1px;height:100%;margin:0 var(--spacer-2)}}iframe{background-color:#0000;border:0;flex:auto;width:100%;max-width:100%;height:max-content;min-height:0;max-height:100%;margin:0;display:block}*,:before,:after{box-sizing:border-box}::selection{background-color:var(--figma-color-text-selection)}::selection{background-color:var(--figma-color-text-selection)}*{scrollbar-width:thin;scrollbar-color:var(--figma-color-border) transparent}::-webkit-scrollbar{width:var(--spacer-1);height:var(--spacer-1)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--figma-color-border);border-radius:calc(var(--spacer-1) / 2)}::-webkit-scrollbar-thumb:hover{background-color:var(--figma-color-bg-secondary)}.subtle{color:var(--figma-color-text-tertiary)}p{text-wrap:pretty;margin-block:1em}p:first-child{margin-block-start:0}p:last-child{margin-block-end:0}label,p,li,figcaption{color:var(--figma-color-text-secondary);text-wrap:pretty}h2{font-weight:var(--body-medium-strong-fontWeight);margin:var(--spacer-2) 0;text-wrap:pretty}a{color:var(--figma-color-text-brand);text-decoration:none;&:hover{text-decoration:underline}}