@rogieking/figui3 10.0.1 → 10.0.2
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/.cursor/skills/figui3/components.md +4 -1
- package/CHANGELOG.md +11 -0
- package/README.md +8 -0
- package/components.css +48 -0
- package/dist/components.css +1 -1
- package/dist/fig.css +1 -1
- package/dist/fig.js +4 -4
- package/fig.js +16 -0
- package/package.json +1 -1
|
@@ -641,7 +641,10 @@ toastRef.current?.showToast();
|
|
|
641
641
|
/>
|
|
642
642
|
```
|
|
643
643
|
|
|
644
|
-
- Attrs: `src`, `label`, `sublabel`, `selected`, `disabled`, `full`, `size`, `aspect-ratio`, `fit`, `label-line-clamp`
|
|
644
|
+
- Attrs: `src`, `label`, `sublabel`, `selected`, `disabled`, `full`, `size`, `direction`, `aspect-ratio`, `fit`, `label-line-clamp`, `label-overflow`
|
|
645
|
+
- `direction="horizontal"` uses a 40px media preview on the left (`56px` with `size="large"`) and stacks label/sublabel content on the right.
|
|
646
|
+
- `label-overflow="fade"` adds `fig-overflow-fade fig-overflow-fade-horizontal` to both labels; the default is `ellipsis`.
|
|
647
|
+
- Thumbnail vars: `--fig-card-thumbnail-width` (`2.5rem`, or `3.5rem` when large), `--fig-card-thumbnail-height` (`auto`).
|
|
645
648
|
|
|
646
649
|
### `fig-media-controls`
|
|
647
650
|
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [10.0.2]
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `direction="horizontal"` list layouts to `fig-card` with size-aware thumbnails and configurable thumbnail dimensions.
|
|
10
|
+
- Added `label-overflow="fade"` for horizontal label and sublabel fades.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Horizontal cards use 40px thumbnails by default, 56px thumbnails when large, and extra trailing padding at the default size.
|
|
15
|
+
|
|
5
16
|
## [10.0.1]
|
|
6
17
|
|
|
7
18
|
### Changed
|
package/README.md
CHANGED
|
@@ -1623,12 +1623,18 @@ A media card with a truncated label and attribute-only selection chrome. With `s
|
|
|
1623
1623
|
| `disabled` | boolean | `false` | Dim + non-interactive |
|
|
1624
1624
|
| `full` | boolean | `false` | Stretch to the available width (cards are already `width: 100%` by default) |
|
|
1625
1625
|
| `size` | string | default | Set to `"large"` for `--spacer-2` card padding and `--spacer-1` label spacing |
|
|
1626
|
+
| `direction` | string | `"vertical"` | Set to `"horizontal"` for a list layout with 40px media on the left (56px with `size="large"`) and stacked labels on the right |
|
|
1626
1627
|
| `aspect-ratio` | string | `"1/1"` | Forwarded to generated `fig-image` |
|
|
1627
1628
|
| `fit` | string | `"contain"` | Forwarded to generated `fig-image` |
|
|
1628
1629
|
| `label-line-clamp` | string | `"1"` | `"1"` or `"2"` line clamp for the label |
|
|
1630
|
+
| `label-overflow` | string | `"ellipsis"` | Set to `"fade"` to apply horizontal overflow fades to the label and sublabel |
|
|
1631
|
+
|
|
1632
|
+
Horizontal thumbnail sizing uses `--fig-card-thumbnail-width` (`2.5rem` by default, `3.5rem` with `size="large"`) and `--fig-card-thumbnail-height` (`auto` by default). Leaving height at `auto` preserves the media `aspect-ratio`.
|
|
1629
1633
|
|
|
1630
1634
|
```html
|
|
1631
1635
|
<fig-card src="photo.jpg" label="Autumn field"></fig-card>
|
|
1636
|
+
<fig-card src="photo.jpg" label="Autumn field" sublabel="Landscape photography" direction="horizontal"></fig-card>
|
|
1637
|
+
<fig-card src="photo.jpg" label="A long card label" sublabel="A long card sublabel" direction="horizontal" label-overflow="fade"></fig-card>
|
|
1632
1638
|
<fig-card src="photo.jpg" label="Large card" size="large"></fig-card>
|
|
1633
1639
|
<fig-card src="photo.jpg" label="Shader pill" sublabel="Generative tools/effects" selected></fig-card>
|
|
1634
1640
|
<fig-card src="photo.jpg" label="Wide card" aspect-ratio="16/9" full></fig-card>
|
|
@@ -1641,6 +1647,8 @@ A media card with a truncated label and attribute-only selection chrome. With `s
|
|
|
1641
1647
|
</fig-card>
|
|
1642
1648
|
```
|
|
1643
1649
|
|
|
1650
|
+
`label-overflow="fade"` adds both `fig-overflow-fade` and `fig-overflow-fade-horizontal` to generated or authored `.fig-card-label` and `.fig-card-sublabel` elements. Any other value uses the default ellipsis behavior.
|
|
1651
|
+
|
|
1644
1652
|
When `src` is omitted, authored direct children such as `fig-image`, `fig-media`, or `fig-preview` remain direct children of the card. An authored `fig-footer` is preserved; when no `label`, `text`, or `sublabel` attributes are present, the card does not generate another footer.
|
|
1645
1653
|
|
|
1646
1654
|
Place cards in a CSS grid for multi-column layouts — there is no built-in columns attribute. Prefer `full` in fluid layouts for consistency with other FigUI controls.
|
package/components.css
CHANGED
|
@@ -6295,6 +6295,8 @@ fig-card {
|
|
|
6295
6295
|
--fig-card-label-line-clamp: 1;
|
|
6296
6296
|
--fig-card-media-radius: var(--radius-medium);
|
|
6297
6297
|
--fig-card-padding: var(--spacer-1);
|
|
6298
|
+
--fig-card-thumbnail-width: 2.5rem;
|
|
6299
|
+
--fig-card-thumbnail-height: auto;
|
|
6298
6300
|
display: flex;
|
|
6299
6301
|
flex-direction: column;
|
|
6300
6302
|
gap: var(--spacer-1);
|
|
@@ -6310,6 +6312,7 @@ fig-card {
|
|
|
6310
6312
|
|
|
6311
6313
|
&[size="large"] {
|
|
6312
6314
|
--fig-card-padding: var(--spacer-2);
|
|
6315
|
+
--fig-card-thumbnail-width: 3.5rem;
|
|
6313
6316
|
|
|
6314
6317
|
> fig-footer {
|
|
6315
6318
|
margin-top: var(--spacer-1);
|
|
@@ -6321,6 +6324,40 @@ fig-card {
|
|
|
6321
6324
|
}
|
|
6322
6325
|
}
|
|
6323
6326
|
|
|
6327
|
+
&[direction="horizontal"] {
|
|
6328
|
+
flex-direction: row;
|
|
6329
|
+
align-items: center;
|
|
6330
|
+
gap: var(--spacer-2);
|
|
6331
|
+
|
|
6332
|
+
> :is(fig-image, fig-media, fig-preview) {
|
|
6333
|
+
flex: 0 0 var(--fig-card-thumbnail-width);
|
|
6334
|
+
width: var(--fig-card-thumbnail-width);
|
|
6335
|
+
max-width: var(--fig-card-thumbnail-width);
|
|
6336
|
+
height: var(--fig-card-thumbnail-height);
|
|
6337
|
+
}
|
|
6338
|
+
|
|
6339
|
+
> :is(fig-image, fig-media) > fig-preview,
|
|
6340
|
+
> fig-preview {
|
|
6341
|
+
height: var(--fig-card-thumbnail-height);
|
|
6342
|
+
}
|
|
6343
|
+
|
|
6344
|
+
> fig-footer {
|
|
6345
|
+
flex: 1 1 0;
|
|
6346
|
+
width: auto;
|
|
6347
|
+
margin-top: 0;
|
|
6348
|
+
}
|
|
6349
|
+
|
|
6350
|
+
.fig-card-label,
|
|
6351
|
+
.fig-card-sublabel {
|
|
6352
|
+
padding-inline: 0;
|
|
6353
|
+
}
|
|
6354
|
+
}
|
|
6355
|
+
|
|
6356
|
+
&[direction="horizontal"]:not([size]),
|
|
6357
|
+
&[direction="horizontal"][size=""] {
|
|
6358
|
+
padding-right: var(--spacer-2);
|
|
6359
|
+
}
|
|
6360
|
+
|
|
6324
6361
|
> fig-image,
|
|
6325
6362
|
> fig-media,
|
|
6326
6363
|
> fig-preview {
|
|
@@ -6401,6 +6438,17 @@ fig-card {
|
|
|
6401
6438
|
display: none;
|
|
6402
6439
|
}
|
|
6403
6440
|
|
|
6441
|
+
:is(.fig-card-label, .fig-card-sublabel).fig-overflow-fade-horizontal {
|
|
6442
|
+
display: block;
|
|
6443
|
+
-webkit-line-clamp: unset;
|
|
6444
|
+
line-clamp: unset;
|
|
6445
|
+
white-space: nowrap;
|
|
6446
|
+
overflow-x: auto;
|
|
6447
|
+
overflow-y: hidden;
|
|
6448
|
+
text-overflow: clip;
|
|
6449
|
+
word-break: normal;
|
|
6450
|
+
}
|
|
6451
|
+
|
|
6404
6452
|
&:hover:not(
|
|
6405
6453
|
[selected]:not([selected="false"])
|
|
6406
6454
|
):not([disabled]:not([disabled="false"])):not([aria-disabled="true"]) {
|