@rogieking/figui3 6.23.4 → 6.24.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 +18 -4
- package/components.css +38 -23
- package/dist/components.css +1 -1
- package/dist/fig-editor.css +1 -1
- package/dist/fig-editor.js +1 -1
- package/dist/fig-lab.css +1 -1
- package/dist/fig-lab.js +3 -3
- package/dist/fig.css +1 -1
- package/dist/fig.js +3 -3
- package/fig-editor.js +1 -1
- package/fig-lab.css +103 -0
- package/fig-lab.js +8 -0
- package/fig.js +10 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -119,6 +119,7 @@ Minimal example:
|
|
|
119
119
|
| [Popup](#popup) | `<fig-popup>` | Anchored floating surface |
|
|
120
120
|
| [Toast](#toast) | `<fig-toast>` | Toast notification |
|
|
121
121
|
| [Tooltip](#tooltip) | `<fig-tooltip>` | Hover/click tooltip |
|
|
122
|
+
| [Separator](#separator) | `<fig-separator>` | Visual divider with an optional label |
|
|
122
123
|
| [Menu](#menu) | `<fig-menu>` | Triggered menu with keyboard navigation |
|
|
123
124
|
| [Header](#header) | `<fig-header>` | Section header |
|
|
124
125
|
| [Layer](#layer) | `<fig-layer>` | Collapsible layer list item from `fig-layer.js` |
|
|
@@ -1151,9 +1152,22 @@ Escape dismisses an open tooltip and returns focus to its trigger.
|
|
|
1151
1152
|
|
|
1152
1153
|
---
|
|
1153
1154
|
|
|
1155
|
+
#### Separator
|
|
1156
|
+
|
|
1157
|
+
`<fig-separator>` — [demo](https://rog.ie/figui3/#separator)
|
|
1158
|
+
|
|
1159
|
+
A visual divider between content groups. The optional `label` attribute adds a group label and accessible name.
|
|
1160
|
+
|
|
1161
|
+
```html
|
|
1162
|
+
<fig-separator></fig-separator>
|
|
1163
|
+
<fig-separator label="More"></fig-separator>
|
|
1164
|
+
```
|
|
1165
|
+
|
|
1166
|
+
---
|
|
1167
|
+
|
|
1154
1168
|
#### Menu
|
|
1155
1169
|
|
|
1156
|
-
`<fig-menu>` / `<fig-menu-item>` / `<fig-
|
|
1170
|
+
`<fig-menu>` / `<fig-menu-item>` / `<fig-separator>` — [demo](https://rog.ie/figui3/#menu)
|
|
1157
1171
|
|
|
1158
1172
|
Triggered menu with native keyboard patterns. The trigger gets `aria-haspopup="menu"`, `aria-expanded`, and `aria-controls`; menu items use `role="menuitem"` and disabled items are skipped by keyboard navigation.
|
|
1159
1173
|
|
|
@@ -1175,14 +1189,14 @@ Triggered menu with native keyboard patterns. The trigger gets `aria-haspopup="m
|
|
|
1175
1189
|
<fig-button fig-menu-trigger>Actions</fig-button>
|
|
1176
1190
|
<fig-menu-item value="copy">Copy</fig-menu-item>
|
|
1177
1191
|
<fig-menu-item value="paste">Paste</fig-menu-item>
|
|
1178
|
-
<fig-
|
|
1192
|
+
<fig-separator></fig-separator>
|
|
1179
1193
|
<fig-menu-item value="delete" disabled>Delete</fig-menu-item>
|
|
1180
|
-
<fig-
|
|
1194
|
+
<fig-separator label="More"></fig-separator>
|
|
1181
1195
|
<fig-menu-item value="settings">Settings</fig-menu-item>
|
|
1182
1196
|
</fig-menu>
|
|
1183
1197
|
```
|
|
1184
1198
|
|
|
1185
|
-
`fig-
|
|
1199
|
+
`fig-separator` accepts optional `label` — renders the rule, then secondary group text underneath.
|
|
1186
1200
|
|
|
1187
1201
|
---
|
|
1188
1202
|
|
package/components.css
CHANGED
|
@@ -1245,6 +1245,7 @@ fig-avatar,
|
|
|
1245
1245
|
}
|
|
1246
1246
|
&::after {
|
|
1247
1247
|
content: attr(initials);
|
|
1248
|
+
font-size: var(--body-medium-fontSize);
|
|
1248
1249
|
}
|
|
1249
1250
|
&[size="large"] {
|
|
1250
1251
|
--size: 3rem;
|
|
@@ -4598,6 +4599,7 @@ fig-joystick {
|
|
|
4598
4599
|
/* Shimmer */
|
|
4599
4600
|
fig-shimmer {
|
|
4600
4601
|
display: contents;
|
|
4602
|
+
color: var(--figma-color-text-secondary);
|
|
4601
4603
|
--fig-shimmer-angle: 90deg;
|
|
4602
4604
|
--fig-shimmer-bright-fill-color: var(--figma-color-bg-tertiary);
|
|
4603
4605
|
--fig-shimmer-bright-text-color: var(--figma-color-text);
|
|
@@ -5400,7 +5402,7 @@ fig-menu {
|
|
|
5400
5402
|
display: contents;
|
|
5401
5403
|
|
|
5402
5404
|
& > fig-menu-item,
|
|
5403
|
-
& > fig-
|
|
5405
|
+
& > fig-separator {
|
|
5404
5406
|
display: none;
|
|
5405
5407
|
}
|
|
5406
5408
|
}
|
|
@@ -5571,11 +5573,10 @@ fig-select-options,
|
|
|
5571
5573
|
|
|
5572
5574
|
}
|
|
5573
5575
|
|
|
5574
|
-
fig-select-options > fig-
|
|
5576
|
+
fig-select-options > fig-separator {
|
|
5575
5577
|
/* Align labels with select option text after the checkmark column. */
|
|
5576
5578
|
&[label]:not([label=""]) {
|
|
5577
|
-
padding
|
|
5578
|
-
padding-right: var(--spacer-2);
|
|
5579
|
+
--fig-menu-inline-padding: 0 var(--spacer-2) 0 var(--spacer-5);
|
|
5579
5580
|
|
|
5580
5581
|
&::before {
|
|
5581
5582
|
margin-inline: unset;
|
|
@@ -5708,27 +5709,24 @@ fig-menu-item {
|
|
|
5708
5709
|
}
|
|
5709
5710
|
}
|
|
5710
5711
|
|
|
5711
|
-
fig-
|
|
5712
|
-
--fig-
|
|
5713
|
-
--fig-
|
|
5712
|
+
fig-separator {
|
|
5713
|
+
--fig-separator-color: var(--figma-color-border);
|
|
5714
|
+
--fig-separator-label-color: var(--figma-color-text-secondary);
|
|
5715
|
+
--fig-menu-inline-padding: 0 var(--spacer-3);
|
|
5714
5716
|
|
|
5715
5717
|
display: block;
|
|
5718
|
+
box-sizing: border-box;
|
|
5719
|
+
width: 100%;
|
|
5716
5720
|
height: 1px;
|
|
5717
5721
|
margin: var(--spacer-2) 0;
|
|
5718
5722
|
padding: 0;
|
|
5719
5723
|
border: 0;
|
|
5720
|
-
background: var(--fig-
|
|
5721
|
-
color: var(--fig-
|
|
5724
|
+
background: var(--fig-separator-color);
|
|
5725
|
+
color: var(--fig-separator-label-color);
|
|
5722
5726
|
font-weight: var(--body-medium-fontWeight);
|
|
5723
5727
|
pointer-events: none;
|
|
5724
5728
|
user-select: none;
|
|
5725
5729
|
|
|
5726
|
-
&:first-of-type{
|
|
5727
|
-
&[label]:not([label=""])::before {
|
|
5728
|
-
display: none;
|
|
5729
|
-
}
|
|
5730
|
-
}
|
|
5731
|
-
|
|
5732
5730
|
/* Labeled: rule, then secondary group label (same pattern as menu optgroups). */
|
|
5733
5731
|
&[label]:not([label=""]) {
|
|
5734
5732
|
display: flex;
|
|
@@ -5737,29 +5735,46 @@ fig-menu-separator {
|
|
|
5737
5735
|
height: auto;
|
|
5738
5736
|
margin: var(--spacer-2) 0;
|
|
5739
5737
|
margin-bottom: var(--spacer-1);
|
|
5740
|
-
padding:
|
|
5738
|
+
padding: var(--fig-menu-inline-padding);
|
|
5741
5739
|
background: transparent;
|
|
5742
5740
|
|
|
5743
5741
|
&::before {
|
|
5744
5742
|
content: "";
|
|
5745
5743
|
display: block;
|
|
5746
5744
|
height: 1px;
|
|
5747
|
-
margin-inline: calc(-1 * var(--
|
|
5748
|
-
background: var(--fig-
|
|
5745
|
+
margin-inline: calc(-1 * var(--spacer-3));
|
|
5746
|
+
background: var(--fig-separator-color);
|
|
5749
5747
|
}
|
|
5750
5748
|
|
|
5751
5749
|
&::after {
|
|
5752
5750
|
content: attr(label);
|
|
5753
5751
|
display: block;
|
|
5754
|
-
color: var(--fig-
|
|
5752
|
+
color: var(--fig-separator-label-color);
|
|
5755
5753
|
line-height: var(--spacer-4);
|
|
5756
5754
|
min-height: var(--spacer-4);
|
|
5757
5755
|
}
|
|
5758
5756
|
}
|
|
5759
5757
|
}
|
|
5760
5758
|
|
|
5761
|
-
dialog[is="fig-popup"][theme="menu"]
|
|
5762
|
-
fig-
|
|
5763
|
-
|
|
5764
|
-
|
|
5759
|
+
dialog[is="fig-popup"][theme="menu"]
|
|
5760
|
+
fig-separator:first-child[label]:not([label=""])::before,
|
|
5761
|
+
fig-select-options > fig-separator:first-child[label]:not([label=""])::before {
|
|
5762
|
+
display: none;
|
|
5763
|
+
}
|
|
5764
|
+
|
|
5765
|
+
dialog[is="fig-popup"][theme="menu"] fig-separator,
|
|
5766
|
+
fig-select-options > fig-separator {
|
|
5767
|
+
--fig-separator-color: var(--figma-color-border-menu);
|
|
5768
|
+
--fig-separator-label-color: var(--figma-color-text-menu-secondary);
|
|
5769
|
+
}
|
|
5770
|
+
|
|
5771
|
+
dialog[is="fig-popup"][theme="menu"] fig-separator {
|
|
5772
|
+
--fig-menu-inline-padding: 0
|
|
5773
|
+
var(--fig-menu-item-padding, var(--spacer-4));
|
|
5774
|
+
|
|
5775
|
+
&[label]:not([label=""])::before {
|
|
5776
|
+
margin-inline: calc(
|
|
5777
|
+
-1 * var(--fig-menu-item-padding, var(--spacer-4))
|
|
5778
|
+
);
|
|
5779
|
+
}
|
|
5765
5780
|
}
|