@rogieking/figui3 6.21.0 → 6.21.1
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/dist/fig-editor.js +58 -183
- package/dist/fig-lab.js +5 -5
- package/dist/fig.js +24 -24
- package/dist/propskit.js +1 -591
- package/fig-editor.js +7 -1
- package/fig-lab.js +20 -14
- package/fig.js +59 -53
- package/package.json +2 -2
package/fig-editor.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import "./fig.js";
|
|
2
2
|
import "./fig-lab.js";
|
|
3
3
|
|
|
4
|
+
function figEditorDefineElement(name, constructor) {
|
|
5
|
+
if (!customElements.get(name)) {
|
|
6
|
+
customElements.define(name, constructor);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
4
10
|
function figEditorEscapeAttribute(value) {
|
|
5
11
|
return String(value ?? "")
|
|
6
12
|
.replace(/&/g, "&")
|
|
@@ -2813,4 +2819,4 @@ class FigFillPicker extends HTMLElement {
|
|
|
2813
2819
|
}
|
|
2814
2820
|
}
|
|
2815
2821
|
}
|
|
2816
|
-
|
|
2822
|
+
figEditorDefineElement("fig-fill-picker", FigFillPicker);
|
package/fig-lab.js
CHANGED
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
* <script src="fig-lab.js"></script>
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
function figLabDefineElement(name, constructor) {
|
|
12
|
+
if (!customElements.get(name)) {
|
|
13
|
+
customElements.define(name, constructor);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
function figLabBooleanAttribute(element, name) {
|
|
12
18
|
return element.hasAttribute(name) && element.getAttribute(name) !== "false";
|
|
13
19
|
}
|
|
@@ -230,7 +236,7 @@ class PropskitSwitch extends HTMLElement {
|
|
|
230
236
|
selected?.focus(options);
|
|
231
237
|
}
|
|
232
238
|
}
|
|
233
|
-
|
|
239
|
+
figLabDefineElement("propskit-switch", PropskitSwitch);
|
|
234
240
|
|
|
235
241
|
/* Field + Color wrapper */
|
|
236
242
|
class PropskitColor extends HTMLElement {
|
|
@@ -516,7 +522,7 @@ class PropskitColor extends HTMLElement {
|
|
|
516
522
|
this.#input?.querySelector("input:not([tabindex='-1'])")?.focus(options);
|
|
517
523
|
}
|
|
518
524
|
}
|
|
519
|
-
|
|
525
|
+
figLabDefineElement("propskit-color", PropskitColor);
|
|
520
526
|
|
|
521
527
|
/* Field + Select wrapper */
|
|
522
528
|
class PropskitSelect extends HTMLElement {
|
|
@@ -771,7 +777,7 @@ class PropskitSelect extends HTMLElement {
|
|
|
771
777
|
this.#select?.focus(options);
|
|
772
778
|
}
|
|
773
779
|
}
|
|
774
|
-
|
|
780
|
+
figLabDefineElement("propskit-select", PropskitSelect);
|
|
775
781
|
|
|
776
782
|
/* Field + Text wrapper */
|
|
777
783
|
class PropskitText extends HTMLElement {
|
|
@@ -981,7 +987,7 @@ class PropskitText extends HTMLElement {
|
|
|
981
987
|
this.#input?.focus(options);
|
|
982
988
|
}
|
|
983
989
|
}
|
|
984
|
-
|
|
990
|
+
figLabDefineElement("propskit-text", PropskitText);
|
|
985
991
|
|
|
986
992
|
/* Field + Number wrapper */
|
|
987
993
|
class PropskitNumber extends HTMLElement {
|
|
@@ -1181,7 +1187,7 @@ class PropskitNumber extends HTMLElement {
|
|
|
1181
1187
|
this.#input?.focus(options);
|
|
1182
1188
|
}
|
|
1183
1189
|
}
|
|
1184
|
-
|
|
1190
|
+
figLabDefineElement("propskit-number", PropskitNumber);
|
|
1185
1191
|
|
|
1186
1192
|
/* Collapsible property group — always collapsible (no collapsible attr). */
|
|
1187
1193
|
class PropskitGroup extends HTMLElement {
|
|
@@ -1572,7 +1578,7 @@ class PropskitGroup extends HTMLElement {
|
|
|
1572
1578
|
}
|
|
1573
1579
|
}
|
|
1574
1580
|
}
|
|
1575
|
-
|
|
1581
|
+
figLabDefineElement("propskit-group", PropskitGroup);
|
|
1576
1582
|
|
|
1577
1583
|
/* Field + Slider wrapper */
|
|
1578
1584
|
class PropskitSlider extends HTMLElement {
|
|
@@ -2192,7 +2198,7 @@ class PropskitSlider extends HTMLElement {
|
|
|
2192
2198
|
this.#resetToDefault();
|
|
2193
2199
|
}
|
|
2194
2200
|
}
|
|
2195
|
-
|
|
2201
|
+
figLabDefineElement("propskit-slider", PropskitSlider);
|
|
2196
2202
|
|
|
2197
2203
|
/* Canvas Control */
|
|
2198
2204
|
class FigCanvasControl extends HTMLElement {
|
|
@@ -3489,7 +3495,7 @@ class FigCanvasControl extends HTMLElement {
|
|
|
3489
3495
|
}
|
|
3490
3496
|
}
|
|
3491
3497
|
}
|
|
3492
|
-
|
|
3498
|
+
figLabDefineElement("fig-canvas-control", FigCanvasControl);
|
|
3493
3499
|
|
|
3494
3500
|
/* Oscillator Input */
|
|
3495
3501
|
/**
|
|
@@ -4391,7 +4397,7 @@ class PropskitOscillator extends HTMLElement {
|
|
|
4391
4397
|
);
|
|
4392
4398
|
}
|
|
4393
4399
|
}
|
|
4394
|
-
|
|
4400
|
+
figLabDefineElement("propskit-oscillator", PropskitOscillator);
|
|
4395
4401
|
|
|
4396
4402
|
/* Angle Input */
|
|
4397
4403
|
/**
|
|
@@ -4909,7 +4915,7 @@ class FigInputAngle extends HTMLElement {
|
|
|
4909
4915
|
}
|
|
4910
4916
|
}
|
|
4911
4917
|
}
|
|
4912
|
-
|
|
4918
|
+
figLabDefineElement("fig-input-angle", FigInputAngle);
|
|
4913
4919
|
|
|
4914
4920
|
/* Reorder wrapper */
|
|
4915
4921
|
class FigReorder extends HTMLElement {
|
|
@@ -5344,7 +5350,7 @@ class FigReorder extends HTMLElement {
|
|
|
5344
5350
|
}
|
|
5345
5351
|
}
|
|
5346
5352
|
|
|
5347
|
-
|
|
5353
|
+
figLabDefineElement("fig-reorder", FigReorder);
|
|
5348
5354
|
|
|
5349
5355
|
/* Select — dropdown-styled trigger + fig-popup listbox */
|
|
5350
5356
|
let figLabSelectId = 0;
|
|
@@ -5454,7 +5460,7 @@ class FigSelectOption extends HTMLElement {
|
|
|
5454
5460
|
}
|
|
5455
5461
|
}
|
|
5456
5462
|
}
|
|
5457
|
-
|
|
5463
|
+
figLabDefineElement("fig-select-option", FigSelectOption);
|
|
5458
5464
|
|
|
5459
5465
|
function figLabSyncOverflowState(host, scrollEl, threshold = 2) {
|
|
5460
5466
|
if (!host || !scrollEl) return false;
|
|
@@ -5597,7 +5603,7 @@ class FigSelectOptions extends HTMLElement {
|
|
|
5597
5603
|
this.classList.remove("overflow-start", "overflow-end");
|
|
5598
5604
|
}
|
|
5599
5605
|
}
|
|
5600
|
-
|
|
5606
|
+
figLabDefineElement("fig-select-options", FigSelectOptions);
|
|
5601
5607
|
|
|
5602
5608
|
class FigSelect extends HTMLElement {
|
|
5603
5609
|
#button = null;
|
|
@@ -6527,4 +6533,4 @@ class FigSelect extends HTMLElement {
|
|
|
6527
6533
|
this.#button?.setAttribute("aria-expanded", "false");
|
|
6528
6534
|
}
|
|
6529
6535
|
}
|
|
6530
|
-
|
|
6536
|
+
figLabDefineElement("fig-select", FigSelect);
|
package/fig.js
CHANGED
|
@@ -223,6 +223,12 @@ function figDefineCustomizedBuiltIn(name, constructor, options) {
|
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
function figDefineElement(name, constructor) {
|
|
227
|
+
if (!customElements.get(name)) {
|
|
228
|
+
customElements.define(name, constructor);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
226
232
|
function figUniqueId() {
|
|
227
233
|
return Date.now().toString(36) + Math.random().toString(36).substring(2);
|
|
228
234
|
}
|
|
@@ -551,7 +557,7 @@ class FigButton extends HTMLElement {
|
|
|
551
557
|
this.removeEventListener("keydown", this.#boundHandleControlKeydown);
|
|
552
558
|
}
|
|
553
559
|
}
|
|
554
|
-
|
|
560
|
+
figDefineElement("fig-button", FigButton);
|
|
555
561
|
|
|
556
562
|
/**
|
|
557
563
|
* A custom dropdown/select element.
|
|
@@ -854,7 +860,7 @@ class FigDropdown extends HTMLElement {
|
|
|
854
860
|
}
|
|
855
861
|
}
|
|
856
862
|
|
|
857
|
-
|
|
863
|
+
figDefineElement("fig-dropdown", FigDropdown);
|
|
858
864
|
|
|
859
865
|
/* Tooltip */
|
|
860
866
|
/**
|
|
@@ -1495,7 +1501,7 @@ class FigTooltip extends HTMLElement {
|
|
|
1495
1501
|
}
|
|
1496
1502
|
}
|
|
1497
1503
|
|
|
1498
|
-
|
|
1504
|
+
figDefineElement("fig-tooltip", FigTooltip);
|
|
1499
1505
|
|
|
1500
1506
|
/* Text Truncation */
|
|
1501
1507
|
class FigTruncate extends HTMLElement {
|
|
@@ -1574,7 +1580,7 @@ class FigTruncate extends HTMLElement {
|
|
|
1574
1580
|
FigTooltip.hide(this);
|
|
1575
1581
|
}
|
|
1576
1582
|
}
|
|
1577
|
-
|
|
1583
|
+
figDefineElement("fig-truncate", FigTruncate);
|
|
1578
1584
|
|
|
1579
1585
|
/* Dialog */
|
|
1580
1586
|
/**
|
|
@@ -3868,7 +3874,7 @@ class FigTab extends HTMLElement {
|
|
|
3868
3874
|
}
|
|
3869
3875
|
}
|
|
3870
3876
|
}
|
|
3871
|
-
|
|
3877
|
+
figDefineElement("fig-tab", FigTab);
|
|
3872
3878
|
|
|
3873
3879
|
/**
|
|
3874
3880
|
* A custom tabs container element.
|
|
@@ -4198,7 +4204,7 @@ class FigTabs extends HTMLElement {
|
|
|
4198
4204
|
}
|
|
4199
4205
|
}
|
|
4200
4206
|
}
|
|
4201
|
-
|
|
4207
|
+
figDefineElement("fig-tabs", FigTabs);
|
|
4202
4208
|
|
|
4203
4209
|
/* Segmented Control */
|
|
4204
4210
|
/**
|
|
@@ -4286,7 +4292,7 @@ class FigSegment extends HTMLElement {
|
|
|
4286
4292
|
}
|
|
4287
4293
|
}
|
|
4288
4294
|
}
|
|
4289
|
-
|
|
4295
|
+
figDefineElement("fig-segment", FigSegment);
|
|
4290
4296
|
|
|
4291
4297
|
/**
|
|
4292
4298
|
* A custom segmented control container element.
|
|
@@ -4770,7 +4776,7 @@ class FigSegmentedControl extends HTMLElement {
|
|
|
4770
4776
|
}
|
|
4771
4777
|
}
|
|
4772
4778
|
}
|
|
4773
|
-
|
|
4779
|
+
figDefineElement("fig-segmented-control", FigSegmentedControl);
|
|
4774
4780
|
|
|
4775
4781
|
/* Options */
|
|
4776
4782
|
/**
|
|
@@ -5115,7 +5121,7 @@ class FigOptions extends HTMLElement {
|
|
|
5115
5121
|
}
|
|
5116
5122
|
}
|
|
5117
5123
|
}
|
|
5118
|
-
|
|
5124
|
+
figDefineElement("fig-options", FigOptions);
|
|
5119
5125
|
|
|
5120
5126
|
/* Slider */
|
|
5121
5127
|
/**
|
|
@@ -5800,7 +5806,7 @@ class FigSlider extends HTMLElement {
|
|
|
5800
5806
|
}
|
|
5801
5807
|
}
|
|
5802
5808
|
}
|
|
5803
|
-
|
|
5809
|
+
figDefineElement("fig-slider", FigSlider);
|
|
5804
5810
|
|
|
5805
5811
|
/**
|
|
5806
5812
|
* A custom text input element.
|
|
@@ -6404,7 +6410,7 @@ class FigInputText extends HTMLElement {
|
|
|
6404
6410
|
}
|
|
6405
6411
|
}
|
|
6406
6412
|
}
|
|
6407
|
-
|
|
6413
|
+
figDefineElement("fig-input-text", FigInputText);
|
|
6408
6414
|
|
|
6409
6415
|
/**
|
|
6410
6416
|
* A custom numeric input element that uses type="text" with inputmode="decimal".
|
|
@@ -7109,7 +7115,7 @@ class FigInputNumber extends HTMLElement {
|
|
|
7109
7115
|
}
|
|
7110
7116
|
}
|
|
7111
7117
|
}
|
|
7112
|
-
|
|
7118
|
+
figDefineElement("fig-input-number", FigInputNumber);
|
|
7113
7119
|
|
|
7114
7120
|
/* Avatar */
|
|
7115
7121
|
class FigAvatar extends HTMLElement {
|
|
@@ -7161,7 +7167,7 @@ class FigAvatar extends HTMLElement {
|
|
|
7161
7167
|
}
|
|
7162
7168
|
}
|
|
7163
7169
|
}
|
|
7164
|
-
|
|
7170
|
+
figDefineElement("fig-avatar", FigAvatar);
|
|
7165
7171
|
|
|
7166
7172
|
/* Form Field */
|
|
7167
7173
|
class FigField extends HTMLElement {
|
|
@@ -7360,7 +7366,7 @@ class FigField extends HTMLElement {
|
|
|
7360
7366
|
}
|
|
7361
7367
|
}
|
|
7362
7368
|
}
|
|
7363
|
-
|
|
7369
|
+
figDefineElement("fig-field", FigField);
|
|
7364
7370
|
|
|
7365
7371
|
/* Color swatch */
|
|
7366
7372
|
class FigInputColor extends HTMLElement {
|
|
@@ -8056,7 +8062,7 @@ class FigInputColor extends HTMLElement {
|
|
|
8056
8062
|
return { r, g, b, a };
|
|
8057
8063
|
}
|
|
8058
8064
|
}
|
|
8059
|
-
|
|
8065
|
+
figDefineElement("fig-input-color", FigInputColor);
|
|
8060
8066
|
|
|
8061
8067
|
/* Input Fill */
|
|
8062
8068
|
const GRADIENT_INTERPOLATION_SPACES = [
|
|
@@ -9157,7 +9163,7 @@ class FigInputFill extends HTMLElement {
|
|
|
9157
9163
|
}
|
|
9158
9164
|
}
|
|
9159
9165
|
}
|
|
9160
|
-
|
|
9166
|
+
figDefineElement("fig-input-fill", FigInputFill);
|
|
9161
9167
|
|
|
9162
9168
|
/* Input Palette */
|
|
9163
9169
|
/**
|
|
@@ -9617,7 +9623,7 @@ class FigInputPalette extends HTMLElement {
|
|
|
9617
9623
|
);
|
|
9618
9624
|
}
|
|
9619
9625
|
}
|
|
9620
|
-
|
|
9626
|
+
figDefineElement("fig-input-palette", FigInputPalette);
|
|
9621
9627
|
|
|
9622
9628
|
/* Input Gradient */
|
|
9623
9629
|
/**
|
|
@@ -10529,7 +10535,7 @@ class FigInputGradient extends HTMLElement {
|
|
|
10529
10535
|
}
|
|
10530
10536
|
}
|
|
10531
10537
|
}
|
|
10532
|
-
|
|
10538
|
+
figDefineElement("fig-input-gradient", FigInputGradient);
|
|
10533
10539
|
|
|
10534
10540
|
/* Checkbox */
|
|
10535
10541
|
/**
|
|
@@ -10767,7 +10773,7 @@ class FigCheckbox extends HTMLElement {
|
|
|
10767
10773
|
);
|
|
10768
10774
|
}
|
|
10769
10775
|
}
|
|
10770
|
-
|
|
10776
|
+
figDefineElement("fig-checkbox", FigCheckbox);
|
|
10771
10777
|
|
|
10772
10778
|
/* Radio */
|
|
10773
10779
|
/**
|
|
@@ -10787,7 +10793,7 @@ class FigRadio extends FigCheckbox {
|
|
|
10787
10793
|
else this.input.removeAttribute("name");
|
|
10788
10794
|
}
|
|
10789
10795
|
}
|
|
10790
|
-
|
|
10796
|
+
figDefineElement("fig-radio", FigRadio);
|
|
10791
10797
|
|
|
10792
10798
|
/* Switch */
|
|
10793
10799
|
/**
|
|
@@ -10804,7 +10810,7 @@ class FigSwitch extends FigCheckbox {
|
|
|
10804
10810
|
this.input.setAttribute("role", "switch");
|
|
10805
10811
|
}
|
|
10806
10812
|
}
|
|
10807
|
-
|
|
10813
|
+
figDefineElement("fig-switch", FigSwitch);
|
|
10808
10814
|
|
|
10809
10815
|
/* Combo Input */
|
|
10810
10816
|
/**
|
|
@@ -11099,7 +11105,7 @@ class FigComboInput extends HTMLElement {
|
|
|
11099
11105
|
}
|
|
11100
11106
|
}
|
|
11101
11107
|
}
|
|
11102
|
-
|
|
11108
|
+
figDefineElement("fig-combo-input", FigComboInput);
|
|
11103
11109
|
|
|
11104
11110
|
/* Swatch */
|
|
11105
11111
|
/**
|
|
@@ -11315,7 +11321,7 @@ class FigSwatch extends HTMLElement {
|
|
|
11315
11321
|
}
|
|
11316
11322
|
}
|
|
11317
11323
|
}
|
|
11318
|
-
|
|
11324
|
+
figDefineElement("fig-swatch", FigSwatch);
|
|
11319
11325
|
|
|
11320
11326
|
/* Media */
|
|
11321
11327
|
/**
|
|
@@ -12071,21 +12077,21 @@ class FigMedia extends HTMLElement {
|
|
|
12071
12077
|
}
|
|
12072
12078
|
}
|
|
12073
12079
|
|
|
12074
|
-
|
|
12080
|
+
figDefineElement("fig-media", FigMedia);
|
|
12075
12081
|
|
|
12076
12082
|
class FigImage extends FigMedia {
|
|
12077
12083
|
get mediaKind() {
|
|
12078
12084
|
return "image";
|
|
12079
12085
|
}
|
|
12080
12086
|
}
|
|
12081
|
-
|
|
12087
|
+
figDefineElement("fig-image", FigImage);
|
|
12082
12088
|
|
|
12083
12089
|
class FigVideo extends FigMedia {
|
|
12084
12090
|
get mediaKind() {
|
|
12085
12091
|
return "video";
|
|
12086
12092
|
}
|
|
12087
12093
|
}
|
|
12088
|
-
|
|
12094
|
+
figDefineElement("fig-video", FigVideo);
|
|
12089
12095
|
|
|
12090
12096
|
/**
|
|
12091
12097
|
* <fig-card> — Media card with optional link, selection chrome, and truncated label.
|
|
@@ -12358,7 +12364,7 @@ class FigCard extends HTMLElement {
|
|
|
12358
12364
|
}
|
|
12359
12365
|
}
|
|
12360
12366
|
}
|
|
12361
|
-
|
|
12367
|
+
figDefineElement("fig-card", FigCard);
|
|
12362
12368
|
|
|
12363
12369
|
/**
|
|
12364
12370
|
* <fig-media-controls> — Standalone playback controls UI.
|
|
@@ -12601,7 +12607,7 @@ class FigMediaControls extends HTMLElement {
|
|
|
12601
12607
|
this.toggle();
|
|
12602
12608
|
}
|
|
12603
12609
|
}
|
|
12604
|
-
|
|
12610
|
+
figDefineElement("fig-media-controls", FigMediaControls);
|
|
12605
12611
|
|
|
12606
12612
|
/* File Upload Input */
|
|
12607
12613
|
class FigInputFile extends HTMLElement {
|
|
@@ -12865,7 +12871,7 @@ class FigInputFile extends HTMLElement {
|
|
|
12865
12871
|
}
|
|
12866
12872
|
}
|
|
12867
12873
|
}
|
|
12868
|
-
|
|
12874
|
+
figDefineElement("fig-input-file", FigInputFile);
|
|
12869
12875
|
|
|
12870
12876
|
/**
|
|
12871
12877
|
* A bezier / spring easing curve editor with draggable control points.
|
|
@@ -14002,7 +14008,7 @@ class FigEasingCurve extends HTMLElement {
|
|
|
14002
14008
|
document.addEventListener("pointerup", onUp);
|
|
14003
14009
|
}
|
|
14004
14010
|
}
|
|
14005
|
-
|
|
14011
|
+
figDefineElement("fig-easing-curve", FigEasingCurve);
|
|
14006
14012
|
|
|
14007
14013
|
/**
|
|
14008
14014
|
* A 3D rotation control with an interactive cube preview.
|
|
@@ -14372,7 +14378,7 @@ class Fig3DRotate extends HTMLElement {
|
|
|
14372
14378
|
this.#container.addEventListener("lostpointercapture", onEnd);
|
|
14373
14379
|
}
|
|
14374
14380
|
}
|
|
14375
|
-
|
|
14381
|
+
figDefineElement("fig-3d-rotate", Fig3DRotate);
|
|
14376
14382
|
|
|
14377
14383
|
/**
|
|
14378
14384
|
* A transform-origin grid control with draggable handle.
|
|
@@ -14922,7 +14928,7 @@ class FigOriginGrid extends HTMLElement {
|
|
|
14922
14928
|
bindValueInput(this.#yInput, "y");
|
|
14923
14929
|
}
|
|
14924
14930
|
}
|
|
14925
|
-
|
|
14931
|
+
figDefineElement("fig-origin-grid", FigOriginGrid);
|
|
14926
14932
|
|
|
14927
14933
|
/**
|
|
14928
14934
|
* A custom joystick input element.
|
|
@@ -15347,7 +15353,7 @@ class FigInputJoystick extends HTMLElement {
|
|
|
15347
15353
|
}
|
|
15348
15354
|
}
|
|
15349
15355
|
|
|
15350
|
-
|
|
15356
|
+
figDefineElement("fig-joystick", FigInputJoystick);
|
|
15351
15357
|
|
|
15352
15358
|
|
|
15353
15359
|
// FigInputAngle moved to fig-lab.js
|
|
@@ -15404,7 +15410,7 @@ class FigShimmer extends HTMLElement {
|
|
|
15404
15410
|
}
|
|
15405
15411
|
}
|
|
15406
15412
|
}
|
|
15407
|
-
|
|
15413
|
+
figDefineElement("fig-shimmer", FigShimmer);
|
|
15408
15414
|
|
|
15409
15415
|
// FigSkeleton
|
|
15410
15416
|
class FigSkeleton extends FigShimmer {
|
|
@@ -15414,7 +15420,7 @@ class FigSkeleton extends FigShimmer {
|
|
|
15414
15420
|
this.setAttribute("inert", "");
|
|
15415
15421
|
}
|
|
15416
15422
|
}
|
|
15417
|
-
|
|
15423
|
+
figDefineElement("fig-skeleton", FigSkeleton);
|
|
15418
15424
|
|
|
15419
15425
|
// FigGroup
|
|
15420
15426
|
class FigGroup extends HTMLElement {
|
|
@@ -15560,7 +15566,7 @@ class FigGroup extends HTMLElement {
|
|
|
15560
15566
|
}
|
|
15561
15567
|
}
|
|
15562
15568
|
}
|
|
15563
|
-
|
|
15569
|
+
figDefineElement("fig-group", FigGroup);
|
|
15564
15570
|
|
|
15565
15571
|
/**
|
|
15566
15572
|
* A presentational header element used inside fig-dialog, fig-group, and other containers.
|
|
@@ -15570,7 +15576,7 @@ customElements.define("fig-group", FigGroup);
|
|
|
15570
15576
|
* @attr {boolean} dialog-header - Marks this as a dialog header (auto-generated by fig-dialog)
|
|
15571
15577
|
*/
|
|
15572
15578
|
class FigHeader extends HTMLElement {}
|
|
15573
|
-
|
|
15579
|
+
figDefineElement("fig-header", FigHeader);
|
|
15574
15580
|
|
|
15575
15581
|
/**
|
|
15576
15582
|
* fig-footer
|
|
@@ -15579,7 +15585,7 @@ customElements.define("fig-header", FigHeader);
|
|
|
15579
15585
|
* @attr {boolean} sticky - Pins the footer to the bottom of its scroll container
|
|
15580
15586
|
*/
|
|
15581
15587
|
class FigFooter extends HTMLElement {}
|
|
15582
|
-
|
|
15588
|
+
figDefineElement("fig-footer", FigFooter);
|
|
15583
15589
|
|
|
15584
15590
|
/* Presentational elements (CSS-only, no behavior) */
|
|
15585
15591
|
class FigSpinner extends HTMLElement {
|
|
@@ -15590,7 +15596,7 @@ class FigSpinner extends HTMLElement {
|
|
|
15590
15596
|
}
|
|
15591
15597
|
}
|
|
15592
15598
|
}
|
|
15593
|
-
|
|
15599
|
+
figDefineElement("fig-spinner", FigSpinner);
|
|
15594
15600
|
|
|
15595
15601
|
/**
|
|
15596
15602
|
* A styled visual preview layer for arbitrary content such as images, canvas,
|
|
@@ -15620,7 +15626,7 @@ class FigPreview extends HTMLElement {
|
|
|
15620
15626
|
}
|
|
15621
15627
|
}
|
|
15622
15628
|
}
|
|
15623
|
-
|
|
15629
|
+
figDefineElement("fig-preview", FigPreview);
|
|
15624
15630
|
|
|
15625
15631
|
/**
|
|
15626
15632
|
* Compact swatch previewing gradient color-space interpolation.
|
|
@@ -15928,7 +15934,7 @@ class FigInterpolationSwatch extends HTMLElement {
|
|
|
15928
15934
|
this.#fillEl.style.background = this.#previewBackground();
|
|
15929
15935
|
}
|
|
15930
15936
|
}
|
|
15931
|
-
|
|
15937
|
+
figDefineElement("fig-interpolation-swatch", FigInterpolationSwatch);
|
|
15932
15938
|
|
|
15933
15939
|
/** @type {Record<string, string | { medium: string, small: string }>} */
|
|
15934
15940
|
const FIG_ICON_TOKENS = {
|
|
@@ -16015,19 +16021,19 @@ class FigIcon extends HTMLElement {
|
|
|
16015
16021
|
}
|
|
16016
16022
|
}
|
|
16017
16023
|
}
|
|
16018
|
-
|
|
16024
|
+
figDefineElement("fig-icon", FigIcon);
|
|
16019
16025
|
|
|
16020
16026
|
class FigContent extends HTMLElement {}
|
|
16021
|
-
|
|
16027
|
+
figDefineElement("fig-content", FigContent);
|
|
16022
16028
|
|
|
16023
16029
|
class FigTabContent extends HTMLElement {}
|
|
16024
|
-
|
|
16030
|
+
figDefineElement("fig-tab-content", FigTabContent);
|
|
16025
16031
|
|
|
16026
16032
|
class FigButtonCombo extends HTMLElement {}
|
|
16027
|
-
|
|
16033
|
+
figDefineElement("fig-button-combo", FigButtonCombo);
|
|
16028
16034
|
|
|
16029
16035
|
class FigInputCombo extends HTMLElement {}
|
|
16030
|
-
|
|
16036
|
+
figDefineElement("fig-input-combo", FigInputCombo);
|
|
16031
16037
|
|
|
16032
16038
|
|
|
16033
16039
|
|
|
@@ -16405,7 +16411,7 @@ class FigColorTip extends HTMLElement {
|
|
|
16405
16411
|
this.toggleAttribute("disabled", Boolean(value));
|
|
16406
16412
|
}
|
|
16407
16413
|
}
|
|
16408
|
-
|
|
16414
|
+
figDefineElement("fig-color-tip", FigColorTip);
|
|
16409
16415
|
|
|
16410
16416
|
/* Choice */
|
|
16411
16417
|
/**
|
|
@@ -16454,7 +16460,7 @@ class FigChoice extends HTMLElement {
|
|
|
16454
16460
|
}
|
|
16455
16461
|
}
|
|
16456
16462
|
}
|
|
16457
|
-
|
|
16463
|
+
figDefineElement("fig-choice", FigChoice);
|
|
16458
16464
|
|
|
16459
16465
|
/* Chooser */
|
|
16460
16466
|
/**
|
|
@@ -17059,7 +17065,7 @@ class FigChooser extends HTMLElement {
|
|
|
17059
17065
|
this.#mutationObserver.observe(this, { childList: true, subtree: false });
|
|
17060
17066
|
}
|
|
17061
17067
|
}
|
|
17062
|
-
|
|
17068
|
+
figDefineElement("fig-chooser", FigChooser);
|
|
17063
17069
|
|
|
17064
17070
|
/* Handle */
|
|
17065
17071
|
class FigHandle extends HTMLElement {
|
|
@@ -17981,7 +17987,7 @@ class FigHandle extends HTMLElement {
|
|
|
17981
17987
|
return { x, y, px, py };
|
|
17982
17988
|
}
|
|
17983
17989
|
}
|
|
17984
|
-
|
|
17990
|
+
figDefineElement("fig-handle", FigHandle);
|
|
17985
17991
|
|
|
17986
17992
|
// ─── Menu ────────────────────────────────────────────────────────────────────
|
|
17987
17993
|
|
|
@@ -18029,7 +18035,7 @@ class FigMenuItem extends HTMLElement {
|
|
|
18029
18035
|
}
|
|
18030
18036
|
}
|
|
18031
18037
|
}
|
|
18032
|
-
|
|
18038
|
+
figDefineElement("fig-menu-item", FigMenuItem);
|
|
18033
18039
|
|
|
18034
18040
|
/**
|
|
18035
18041
|
* Visual divider between menu item groups.
|
|
@@ -18067,7 +18073,7 @@ class FigMenuSeparator extends HTMLElement {
|
|
|
18067
18073
|
else this.removeAttribute("aria-label");
|
|
18068
18074
|
}
|
|
18069
18075
|
}
|
|
18070
|
-
|
|
18076
|
+
figDefineElement("fig-menu-separator", FigMenuSeparator);
|
|
18071
18077
|
|
|
18072
18078
|
class FigMenu extends HTMLElement {
|
|
18073
18079
|
#popup = null;
|
|
@@ -18510,4 +18516,4 @@ class FigMenu extends HTMLElement {
|
|
|
18510
18516
|
this.#trigger?.setAttribute("aria-expanded", "false");
|
|
18511
18517
|
}
|
|
18512
18518
|
}
|
|
18513
|
-
|
|
18519
|
+
figDefineElement("fig-menu", FigMenu);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rogieking/figui3",
|
|
3
|
-
"version": "6.21.
|
|
3
|
+
"version": "6.21.1",
|
|
4
4
|
"description": "A lightweight web components library for building Figma plugin and widget UIs with native look and feel",
|
|
5
5
|
"author": "Rogie King",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
],
|
|
70
70
|
"scripts": {
|
|
71
71
|
"dev": "bun --hot server.ts",
|
|
72
|
-
"build": "bun build fig.js --minify --outdir dist && bun build fig-layer.js --minify --outdir dist && bun build fig-editor.js --minify --outdir dist --external ./fig.js && bun build fig-lab.js --minify --outdir dist --external ./fig.js --external ./fig-editor.js && bun build propskit.js --minify --outdir dist && npm run build:css && npm run build:propskit-css",
|
|
72
|
+
"build": "bun build fig.js --minify --outdir dist && bun build fig-layer.js --minify --outdir dist && bun build fig-editor.js --minify --outdir dist --external ./fig.js --external ./fig-lab.js && bun build fig-lab.js --minify --outdir dist --external ./fig.js --external ./fig-editor.js && bun build propskit.js --minify --outdir dist --external ./fig.js --external ./fig-lab.js --external ./fig-editor.js && npm run build:css && npm run build:propskit-css",
|
|
73
73
|
"build:css": "node scripts/build-css.mjs",
|
|
74
74
|
"build:propskit-css": "node scripts/build-propskit-css.mjs",
|
|
75
75
|
"dev:playground": "node playground/dev.mjs",
|