@rogieking/figui3 6.9.4 → 6.9.6
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 +34 -0
- package/components.css +24 -9
- package/dist/components.css +1 -1
- package/dist/fig-lab.css +1 -1
- package/dist/fig-lab.js +41 -5
- package/dist/fig.css +1 -1
- package/dist/fig.js +11 -11
- package/fig-lab.css +161 -9
- package/fig-lab.js +821 -0
- package/fig.js +13 -5
- package/package.json +1 -1
package/fig-lab.css
CHANGED
|
@@ -113,6 +113,13 @@ fig-field-slider {
|
|
|
113
113
|
0px
|
|
114
114
|
);
|
|
115
115
|
--slider-thumb-travel-offset: var(--slider-thumb-edge-offset);
|
|
116
|
+
--fig-field-slider-progress-offset: calc(
|
|
117
|
+
min(var(--slider-complete), calc(1 - var(--slider-complete))) *
|
|
118
|
+
var(--spacer-2)
|
|
119
|
+
);
|
|
120
|
+
--fig-field-slider-progress-percent: calc(
|
|
121
|
+
var(--slider-percent) + var(--fig-field-slider-progress-offset)
|
|
122
|
+
);
|
|
116
123
|
--slider-handle-shadow:
|
|
117
124
|
inset 0 0 0 var(--slider-thumb-height) var(--slider-thumb-color),
|
|
118
125
|
var(--handle-shadow) !important;
|
|
@@ -127,9 +134,8 @@ fig-field-slider {
|
|
|
127
134
|
calc(var(--slider-percent) - var(--start-percent)),
|
|
128
135
|
calc(var(--start-percent) - var(--slider-percent))
|
|
129
136
|
);
|
|
130
|
-
--slider-delta-right-inset: max(var(--slider-delta-direction, 1), 0);
|
|
131
137
|
--slider-thumb-travel-offset: calc(
|
|
132
|
-
var(--slider-
|
|
138
|
+
(var(--slider-complete) - 1) * var(--spacer-2)
|
|
133
139
|
);
|
|
134
140
|
}
|
|
135
141
|
|
|
@@ -181,7 +187,7 @@ fig-field-slider {
|
|
|
181
187
|
}
|
|
182
188
|
|
|
183
189
|
&:not([type="delta"]) .fig-slider-input-container::before {
|
|
184
|
-
width: var(--slider-percent) !important;
|
|
190
|
+
width: var(--fig-field-slider-progress-percent) !important;
|
|
185
191
|
}
|
|
186
192
|
|
|
187
193
|
&[type="delta"] .fig-slider-input-container::before {
|
|
@@ -240,17 +246,17 @@ fig-field-slider {
|
|
|
240
246
|
mask-image: linear-gradient(
|
|
241
247
|
to right,
|
|
242
248
|
transparent 0%,
|
|
243
|
-
rgba(0, 0, 0, 0.16) calc(var(--slider-percent) - var(--fig-field-slider-hue-fade-size)),
|
|
244
|
-
black var(--slider-percent),
|
|
245
|
-
rgba(0, 0, 0, 0.16) calc(var(--slider-percent) + var(--fig-field-slider-hue-fade-size)),
|
|
249
|
+
rgba(0, 0, 0, 0.16) calc(var(--fig-field-slider-progress-percent) - var(--fig-field-slider-hue-fade-size)),
|
|
250
|
+
black var(--fig-field-slider-progress-percent),
|
|
251
|
+
rgba(0, 0, 0, 0.16) calc(var(--fig-field-slider-progress-percent) + var(--fig-field-slider-hue-fade-size)),
|
|
246
252
|
transparent 100%
|
|
247
253
|
);
|
|
248
254
|
-webkit-mask-image: linear-gradient(
|
|
249
255
|
to right,
|
|
250
256
|
transparent 0%,
|
|
251
|
-
rgba(0, 0, 0, 0.16) calc(var(--slider-percent) - var(--fig-field-slider-hue-fade-size)),
|
|
252
|
-
black var(--slider-percent),
|
|
253
|
-
rgba(0, 0, 0, 0.16) calc(var(--slider-percent) + var(--fig-field-slider-hue-fade-size)),
|
|
257
|
+
rgba(0, 0, 0, 0.16) calc(var(--fig-field-slider-progress-percent) - var(--fig-field-slider-hue-fade-size)),
|
|
258
|
+
black var(--fig-field-slider-progress-percent),
|
|
259
|
+
rgba(0, 0, 0, 0.16) calc(var(--fig-field-slider-progress-percent) + var(--fig-field-slider-hue-fade-size)),
|
|
254
260
|
transparent 100%
|
|
255
261
|
);
|
|
256
262
|
}
|
|
@@ -523,3 +529,149 @@ fig-input-angle {
|
|
|
523
529
|
}
|
|
524
530
|
}
|
|
525
531
|
|
|
532
|
+
/* Oscillator Input */
|
|
533
|
+
fig-input-oscillator {
|
|
534
|
+
display: flex;
|
|
535
|
+
flex-direction: column;
|
|
536
|
+
width: 100%;
|
|
537
|
+
--aspect-ratio: 2 / 1;
|
|
538
|
+
--oscillator-stroke-width: 1;
|
|
539
|
+
--fig-input-oscillator-playhead-radius: 4px;
|
|
540
|
+
|
|
541
|
+
.fig-input-oscillator-svg-container {
|
|
542
|
+
border-radius: var(--radius-medium);
|
|
543
|
+
background: var(--figma-color-bg-secondary);
|
|
544
|
+
padding: var(--spacer-3) var(--spacer-2);
|
|
545
|
+
margin-bottom: var(--spacer-2);
|
|
546
|
+
overflow: hidden;
|
|
547
|
+
|
|
548
|
+
&:is(:hover, :active, :focus, :focus-visible, :focus-within) {
|
|
549
|
+
overflow: visible;
|
|
550
|
+
}
|
|
551
|
+
path{
|
|
552
|
+
stroke: var(--figma-color-border-strong);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.fig-input-oscillator-svg {
|
|
557
|
+
display: block;
|
|
558
|
+
width: 100%;
|
|
559
|
+
aspect-ratio: var(--aspect-ratio);
|
|
560
|
+
overflow: visible;
|
|
561
|
+
|
|
562
|
+
.fig-input-oscillator-handle{
|
|
563
|
+
opacity: 0;
|
|
564
|
+
}
|
|
565
|
+
&:hover,
|
|
566
|
+
&:focus-within,
|
|
567
|
+
&.dragging{
|
|
568
|
+
.fig-input-oscillator-handle{
|
|
569
|
+
opacity: 1;
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.fig-input-oscillator-bounds {
|
|
575
|
+
fill: transparent;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.fig-input-oscillator-baseline {
|
|
579
|
+
pointer-events: none;
|
|
580
|
+
stroke: var(--figma-color-bordertranslucent);
|
|
581
|
+
stroke-width: var(--oscillator-stroke-width);
|
|
582
|
+
stroke-linecap: round;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
.fig-input-oscillator-path {
|
|
586
|
+
pointer-events: none;
|
|
587
|
+
fill: none;
|
|
588
|
+
stroke: var(--figma-color-text);
|
|
589
|
+
stroke-width: var(--oscillator-stroke-width);
|
|
590
|
+
stroke-linejoin: round;
|
|
591
|
+
stroke-linecap: round;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
.fig-input-oscillator-playhead {
|
|
595
|
+
pointer-events: none;
|
|
596
|
+
r: var(--fig-input-oscillator-playhead-radius);
|
|
597
|
+
fill: var(--handle-color);
|
|
598
|
+
stroke: var(--figma-color-bg);
|
|
599
|
+
stroke-width: 1px;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
.fig-input-oscillator-handle {
|
|
603
|
+
overflow: visible;
|
|
604
|
+
pointer-events: all;
|
|
605
|
+
cursor: default;
|
|
606
|
+
|
|
607
|
+
.fig-input-oscillator-handle-inner {
|
|
608
|
+
display: grid;
|
|
609
|
+
place-items: center;
|
|
610
|
+
width: 100%;
|
|
611
|
+
height: 100%;
|
|
612
|
+
overflow: visible;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
.fig-input-oscillator-waves {
|
|
617
|
+
display: flex;
|
|
618
|
+
flex-direction: column;
|
|
619
|
+
gap: var(--spacer-2);
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
.fig-input-oscillator-wave {
|
|
623
|
+
padding: 0;
|
|
624
|
+
|
|
625
|
+
> .fig-input-oscillator-wave-summary {
|
|
626
|
+
min-height: var(--control-height);
|
|
627
|
+
padding: 0;
|
|
628
|
+
|
|
629
|
+
> label {
|
|
630
|
+
display: inline-flex;
|
|
631
|
+
align-items: center;
|
|
632
|
+
gap: var(--spacer-1);
|
|
633
|
+
min-width: 0;
|
|
634
|
+
|
|
635
|
+
> svg {
|
|
636
|
+
flex: 0 0 auto;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
> .fig-input-oscillator-remove-button {
|
|
641
|
+
margin-left: auto;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
.fig-input-oscillator-field {
|
|
647
|
+
--fig-field-left-padding: 0;
|
|
648
|
+
--fig-field-right-padding: 0;
|
|
649
|
+
|
|
650
|
+
> fig-slider {
|
|
651
|
+
min-width: 0;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
.fig-input-oscillator-add-wave {
|
|
656
|
+
display: grid;
|
|
657
|
+
grid-template-columns: auto;
|
|
658
|
+
justify-content: end;
|
|
659
|
+
width: 100%;
|
|
660
|
+
|
|
661
|
+
> fig-button[type="select"] {
|
|
662
|
+
> fig-dropdown,
|
|
663
|
+
> fig-dropdown > select {
|
|
664
|
+
width: 100%;
|
|
665
|
+
height: 100%;
|
|
666
|
+
min-width: 100%;
|
|
667
|
+
padding: 0;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
&[disabled]:not([disabled="false"]) {
|
|
673
|
+
pointer-events: none;
|
|
674
|
+
opacity: 0.6;
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
|