@rogieking/figui3 10.0.7 → 10.0.9

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.9]
6
+
7
+ ### Changed
8
+
9
+ - Restored standard inline spacing for single-tab tab lists.
10
+
11
+ ### Fixed
12
+
13
+ - Fixed one-sided overflow-fade masks so inactive and opposite edges remain fully visible.
14
+ - Ensured end-edge fades disappear when no overflow remains.
15
+
16
+ ## [10.0.8]
17
+
18
+ ### Added
19
+
20
+ - Added single-edge top, bottom, left, and right modifiers to the overflow-fade utility.
21
+
22
+ ### Changed
23
+
24
+ - Added edge controls to the vertical and horizontal overflow-fade playground examples.
25
+
5
26
  ## [10.0.7]
6
27
 
7
28
  ### Added
package/README.md CHANGED
@@ -1167,7 +1167,10 @@ For `point-point`, both handles support direct drag (with a dynamic directional
1167
1167
  A progressively enhanced scroll utility that fades its edges when more content
1168
1168
  is available in that direction. Apply the class to a height-constrained
1169
1169
  container for vertical scrolling. Add `.fig-overflow-fade-horizontal` for
1170
- horizontal scrolling.
1170
+ horizontal scrolling. Add `.fig-overflow-fade-top` or
1171
+ `.fig-overflow-fade-bottom` to limit a vertical fade to one edge. Use
1172
+ `.fig-overflow-fade-left` or `.fig-overflow-fade-right` for a single horizontal
1173
+ edge; these modifiers imply horizontal scrolling.
1171
1174
 
1172
1175
  | Custom property | Default | Description |
1173
1176
  |---|---|---|---|
@@ -1194,6 +1197,16 @@ timelines. Unsupported browsers retain ordinary scrolling without a fade.
1194
1197
  </div>
1195
1198
  ```
1196
1199
 
1200
+ ```html
1201
+ <div class="fig-overflow-fade fig-overflow-fade-bottom">
1202
+ <!-- Long content that fades only at the bottom -->
1203
+ </div>
1204
+
1205
+ <div class="fig-overflow-fade fig-overflow-fade-right">
1206
+ <!-- Wide content that fades only at the right -->
1207
+ </div>
1208
+ ```
1209
+
1197
1210
  ---
1198
1211
 
1199
1212
  #### Stack
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,14 +5396,64 @@ 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
  }
5407
5451
 
5408
- .fig-overflow-fade.fig-overflow-fade-horizontal {
5452
+ .fig-overflow-fade:is(
5453
+ .fig-overflow-fade-horizontal,
5454
+ .fig-overflow-fade-left,
5455
+ .fig-overflow-fade-right
5456
+ ) {
5409
5457
  --fig-overflow-fade-clear-left: 0px;
5410
5458
 
5411
5459
  overflow-x: auto;
@@ -5734,7 +5782,13 @@ fig-toolbelt {
5734
5782
  }
5735
5783
 
5736
5784
  @supports (animation-timeline: scroll(self block)) {
5737
- .fig-overflow-fade:not(.fig-overflow-fade-horizontal),
5785
+ .fig-overflow-fade:not(
5786
+ :is(
5787
+ .fig-overflow-fade-horizontal,
5788
+ .fig-overflow-fade-left,
5789
+ .fig-overflow-fade-right
5790
+ )
5791
+ ),
5738
5792
  fig-toolbelt[layout="vertical"]::part(viewport) {
5739
5793
  mask-image: linear-gradient(
5740
5794
  to bottom,
@@ -5866,10 +5920,114 @@ fig-toolbelt {
5866
5920
  calc(100% - var(--fig-overflow-fade-size)) 100%;
5867
5921
  }
5868
5922
 
5923
+ .fig-overflow-fade.fig-overflow-fade-top:not(
5924
+ .fig-overflow-fade-bottom
5925
+ ):not(
5926
+ :is(
5927
+ .fig-overflow-fade-horizontal,
5928
+ .fig-overflow-fade-left,
5929
+ .fig-overflow-fade-right
5930
+ )
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);
5982
+ animation: fig-overflow-fade-in-top 1ms linear both;
5983
+ animation-timeline: scroll(self block);
5984
+ animation-range: 0 var(--fig-overflow-fade-size);
5985
+ }
5986
+
5987
+ .fig-overflow-fade.fig-overflow-fade-bottom:not(
5988
+ .fig-overflow-fade-top
5989
+ ):not(
5990
+ :is(
5991
+ .fig-overflow-fade-horizontal,
5992
+ .fig-overflow-fade-left,
5993
+ .fig-overflow-fade-right
5994
+ )
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);
6019
+ animation: fig-overflow-fade-out-bottom 1ms linear both;
6020
+ animation-timeline: scroll(self block);
6021
+ animation-range: calc(100% - var(--fig-overflow-fade-size)) 100%;
6022
+ }
5869
6023
  }
5870
6024
 
5871
6025
  @supports (animation-timeline: scroll(self inline)) {
5872
- .fig-overflow-fade.fig-overflow-fade-horizontal,
6026
+ .fig-overflow-fade:is(
6027
+ .fig-overflow-fade-horizontal,
6028
+ .fig-overflow-fade-left,
6029
+ .fig-overflow-fade-right
6030
+ ),
5873
6031
  fig-toolbelt:not([layout="vertical"])::part(viewport) {
5874
6032
  mask-image: linear-gradient(
5875
6033
  to right,
@@ -6000,41 +6158,134 @@ fig-toolbelt {
6000
6158
  0 var(--fig-overflow-fade-size),
6001
6159
  calc(100% - var(--fig-overflow-fade-size)) 100%;
6002
6160
  }
6161
+
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);
6213
+ animation: fig-overflow-fade-in-left 1ms linear both;
6214
+ animation-timeline: scroll(self inline);
6215
+ animation-range: 0 var(--fig-overflow-fade-size);
6216
+ }
6217
+
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);
6242
+ animation: fig-overflow-fade-out-right 1ms linear both;
6243
+ animation-timeline: scroll(self inline);
6244
+ animation-range: calc(100% - var(--fig-overflow-fade-size)) 100%;
6245
+ }
6003
6246
  }
6004
6247
 
6005
6248
  @keyframes fig-overflow-fade-in-top {
6006
6249
  from {
6007
6250
  --fig-overflow-fade-top: 0px;
6251
+ --fig-overflow-fade-top-opacity: 1;
6008
6252
  }
6009
6253
  to {
6010
6254
  --fig-overflow-fade-top: var(--fig-overflow-fade-size);
6255
+ --fig-overflow-fade-top-opacity: 0;
6011
6256
  }
6012
6257
  }
6013
6258
 
6014
6259
  @keyframes fig-overflow-fade-out-bottom {
6015
6260
  from {
6016
6261
  --fig-overflow-fade-bottom: var(--fig-overflow-fade-size);
6262
+ --fig-overflow-fade-bottom-opacity: 0;
6017
6263
  }
6018
6264
  to {
6019
6265
  --fig-overflow-fade-bottom: 0px;
6266
+ --fig-overflow-fade-bottom-opacity: 1;
6020
6267
  }
6021
6268
  }
6022
6269
 
6023
6270
  @keyframes fig-overflow-fade-in-left {
6024
6271
  from {
6025
6272
  --fig-overflow-fade-left: 0px;
6273
+ --fig-overflow-fade-left-opacity: 1;
6026
6274
  }
6027
6275
  to {
6028
6276
  --fig-overflow-fade-left: var(--fig-overflow-fade-size);
6277
+ --fig-overflow-fade-left-opacity: 0;
6029
6278
  }
6030
6279
  }
6031
6280
 
6032
6281
  @keyframes fig-overflow-fade-out-right {
6033
6282
  from {
6034
6283
  --fig-overflow-fade-right: var(--fig-overflow-fade-size);
6284
+ --fig-overflow-fade-right-opacity: 0;
6035
6285
  }
6036
6286
  to {
6037
6287
  --fig-overflow-fade-right: 0px;
6288
+ --fig-overflow-fade-right-opacity: 1;
6038
6289
  }
6039
6290
  }
6040
6291