@rogieking/figui3 2.24.0 → 2.26.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.
Files changed (4) hide show
  1. package/components.css +94 -8
  2. package/fig.js +894 -119
  3. package/index.html +369 -3
  4. package/package.json +1 -1
package/components.css CHANGED
@@ -601,6 +601,7 @@ fig-dropdown,
601
601
  display: flex;
602
602
  align-items: center;
603
603
  flex: 1;
604
+ width: 100%;
604
605
  }
605
606
 
606
607
  /* Chevron icon using mask-image for light-dark support */
@@ -721,6 +722,7 @@ fig-button {
721
722
 
722
723
  &:active {
723
724
  background-color: var(--figma-color-bg-secondary);
725
+ color: var(--figma-color-text);
724
726
  }
725
727
 
726
728
  &:focus-visible {
@@ -1150,7 +1152,7 @@ fig-chit {
1150
1152
  background: var(--chit-background);
1151
1153
  background-size: var(--chit-bg-size);
1152
1154
  background-position: var(--chit-bg-position);
1153
- background-repeat: repeat;
1155
+ background-repeat: no-repeat;
1154
1156
  border-radius: 0.125rem;
1155
1157
  box-shadow: inset 0 0 0 1px var(--figma-color-bordertranslucent);
1156
1158
  }
@@ -1197,16 +1199,21 @@ fig-chit {
1197
1199
  /* Fig Image */
1198
1200
  fig-image {
1199
1201
  --image-size: 2rem;
1202
+ --fit: cover;
1203
+ --image-width: var(--image-size);
1204
+ --image-height: var(--image-size);
1205
+ --aspect-ratio: 1 / 1;
1200
1206
  display: inline-grid;
1201
1207
  place-items: center;
1202
- width: var(--image-size);
1203
- height: var(--image-size);
1204
- aspect-ratio: 1 / 1;
1208
+ width: var(--image-width);
1209
+ height: var(--image-height);
1210
+ aspect-ratio: var(--aspect-ratio);
1205
1211
  > * {
1206
1212
  grid-area: 1/1;
1207
1213
  }
1208
1214
  fig-chit {
1209
- --size: var(--image-size) !important;
1215
+ --size: 100% !important;
1216
+ --chit-bg-size: var(--fit);
1210
1217
  &[disabled] {
1211
1218
  opacity: 1;
1212
1219
  }
@@ -1222,10 +1229,16 @@ fig-image {
1222
1229
  &[size="large"] {
1223
1230
  --image-size: 8rem;
1224
1231
  }
1225
- &[aspect-ratio="auto"] {
1226
- aspect-ratio: var(--aspect-ratio);
1232
+ &[size="auto"] {
1233
+ --image-size: 6rem;
1234
+ &[full]:not([full="false"]) {
1235
+ --image-width: 100%;
1236
+ }
1237
+ }
1238
+ &[aspect-ratio] {
1227
1239
  height: auto;
1228
1240
  fig-chit {
1241
+ --size: 100% !important;
1229
1242
  height: auto !important;
1230
1243
  aspect-ratio: var(--aspect-ratio) !important;
1231
1244
  }
@@ -1251,6 +1264,75 @@ fig-image {
1251
1264
  }
1252
1265
  }
1253
1266
 
1267
+ /* Easing Curve */
1268
+ fig-easing-curve {
1269
+ display: flex;
1270
+ flex-direction: column;
1271
+ gap: var(--spacer-2);
1272
+ --stroke-width: 1.25;
1273
+
1274
+ width: 100%;
1275
+ .fig-easing-curve-svg {
1276
+ width: 100%;
1277
+ aspect-ratio: 1 / 1;
1278
+ overflow: visible;
1279
+ }
1280
+ .fig-easing-curve-svg-container {
1281
+ border-radius: var(--radius-medium);
1282
+ background: var(--figma-color-bg-secondary);
1283
+ }
1284
+ .fig-easing-curve-diagonal,
1285
+ .fig-easing-curve-bounds,
1286
+ .fig-easing-curve-arm,
1287
+ .fig-easing-curve-path,
1288
+ .fig-easing-curve-target {
1289
+ pointer-events: none;
1290
+ }
1291
+ .fig-easing-curve-diagonal {
1292
+ stroke: var(--figma-color-bordertranslucent);
1293
+ stroke-width: var(--stroke-width);
1294
+ }
1295
+ .fig-easing-curve-bounds {
1296
+ fill: transparent;
1297
+ }
1298
+ .fig-easing-curve-arm {
1299
+ stroke: var(--figma-color-border-strong);
1300
+ stroke-width: var(--stroke-width);
1301
+ }
1302
+ .fig-easing-curve-path {
1303
+ fill: none;
1304
+ stroke: var(--figma-color-text);
1305
+ stroke-width: var(--stroke-width);
1306
+ }
1307
+ .fig-easing-curve-target {
1308
+ stroke: var(--figma-color-bordertranslucent);
1309
+ stroke-width: var(--stroke-width);
1310
+ }
1311
+ .fig-easing-curve-handle {
1312
+ fill: var(--figma-color-border-strong);
1313
+ cursor: grab;
1314
+ pointer-events: all;
1315
+ stroke: var(--figma-color-bg-secondary);
1316
+ stroke-width: var(--stroke-width);
1317
+ &:active {
1318
+ cursor: grabbing;
1319
+ fill: var(--figma-color-bg-brand);
1320
+ }
1321
+ }
1322
+ .fig-easing-curve-duration-bar {
1323
+ fill: var(--figma-color-border-strong);
1324
+ stroke: var(--figma-color-bg-secondary);
1325
+ stroke-width: var(--stroke-width);
1326
+ cursor: ew-resize;
1327
+ pointer-events: all;
1328
+ }
1329
+ .fig-easing-curve-dropdown {
1330
+ option svg {
1331
+ vertical-align: middle;
1332
+ }
1333
+ }
1334
+ }
1335
+
1254
1336
  /* Combo input */
1255
1337
  .input-combo {
1256
1338
  display: inline-flex;
@@ -2495,7 +2577,7 @@ fig-input-fill {
2495
2577
 
2496
2578
  fig-input-number {
2497
2579
  flex: 0;
2498
- flex-basis: 3.25rem;
2580
+ flex-basis: 3rem;
2499
2581
  }
2500
2582
 
2501
2583
  &[disabled]:not([disabled="false"]) {
@@ -2985,6 +3067,10 @@ fig-shimmer:not([playing="false"]) > * {
2985
3067
  /* Fill Picker */
2986
3068
  fig-fill-picker {
2987
3069
  display: contents;
3070
+
3071
+ > [slot^="mode-"] {
3072
+ display: none;
3073
+ }
2988
3074
  }
2989
3075
 
2990
3076
  .fig-fill-picker-dialog {