@rogieking/figui3 4.1.1 → 4.1.3
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/components.css +61 -10
- package/fig.js +331 -0
- package/package.json +1 -1
package/components.css
CHANGED
|
@@ -639,7 +639,7 @@ input[type="text"][list] {
|
|
|
639
639
|
padding-left: 0;
|
|
640
640
|
}
|
|
641
641
|
& > button {
|
|
642
|
-
display:
|
|
642
|
+
display: inline-block;
|
|
643
643
|
align-items: center;
|
|
644
644
|
gap: var(--spacer-1);
|
|
645
645
|
width: 100%;
|
|
@@ -944,7 +944,7 @@ fig-button {
|
|
|
944
944
|
box-shadow: inset 0 0 0 1px var(--figma-color-border-selected);
|
|
945
945
|
}
|
|
946
946
|
svg {
|
|
947
|
-
*[fill] {
|
|
947
|
+
*[fill]:not([fill="none"]) {
|
|
948
948
|
fill: currentColor;
|
|
949
949
|
}
|
|
950
950
|
*[stroke]:not([stroke="none"]) {
|
|
@@ -2728,6 +2728,9 @@ dialog[is="fig-popup"] {
|
|
|
2728
2728
|
background-color: var(--figma-color-bg-menu);
|
|
2729
2729
|
color: var(--figma-color-text-menu);
|
|
2730
2730
|
color-scheme: dark;
|
|
2731
|
+
padding: var(--spacer-2) 0;
|
|
2732
|
+
min-width: 6rem;
|
|
2733
|
+
box-shadow: var(--figma-elevation-100);
|
|
2731
2734
|
}
|
|
2732
2735
|
|
|
2733
2736
|
&[variant="popover"] {
|
|
@@ -3899,7 +3902,7 @@ fig-layer {
|
|
|
3899
3902
|
position: relative;
|
|
3900
3903
|
user-select: none;
|
|
3901
3904
|
width: 100%;
|
|
3902
|
-
padding: 0 var(--spacer-
|
|
3905
|
+
padding: 0 var(--spacer-3);
|
|
3903
3906
|
border-radius: var(--radius-medium);
|
|
3904
3907
|
|
|
3905
3908
|
/* When layer has children */
|
|
@@ -3916,7 +3919,6 @@ fig-layer {
|
|
|
3916
3919
|
align-items: center;
|
|
3917
3920
|
gap: var(--spacer-1);
|
|
3918
3921
|
padding: var(--spacer-1) var(--spacer-2);
|
|
3919
|
-
margin-left: var(--spacer-1);
|
|
3920
3922
|
height: var(--spacer-4);
|
|
3921
3923
|
border-radius: var(--radius-medium);
|
|
3922
3924
|
position: relative;
|
|
@@ -3935,7 +3937,7 @@ fig-layer {
|
|
|
3935
3937
|
flex-shrink: 0;
|
|
3936
3938
|
transition: transform 0.15s;
|
|
3937
3939
|
position: absolute;
|
|
3938
|
-
left: calc(var(--spacer-
|
|
3940
|
+
left: calc(var(--spacer-3) * -1);
|
|
3939
3941
|
top: var(--spacer-1);
|
|
3940
3942
|
rotate: -90deg;
|
|
3941
3943
|
}
|
|
@@ -4541,10 +4543,11 @@ fig-preview {
|
|
|
4541
4543
|
/* Chooser */
|
|
4542
4544
|
fig-chooser {
|
|
4543
4545
|
--chooser-fade-size: var(--spacer-4);
|
|
4546
|
+
--fig-chooser-gap: var(--spacer-2);
|
|
4544
4547
|
|
|
4545
4548
|
display: flex;
|
|
4546
4549
|
flex-direction: column;
|
|
4547
|
-
gap:
|
|
4550
|
+
gap: var(--fig-chooser-gap);
|
|
4548
4551
|
overflow: visible auto;
|
|
4549
4552
|
scrollbar-width: none;
|
|
4550
4553
|
scroll-snap-type: y mandatory;
|
|
@@ -4554,7 +4557,7 @@ fig-chooser {
|
|
|
4554
4557
|
}
|
|
4555
4558
|
|
|
4556
4559
|
&[padding="false"] {
|
|
4557
|
-
gap: var(--
|
|
4560
|
+
gap: var(--fig-chooser-gap);
|
|
4558
4561
|
fig-choice {
|
|
4559
4562
|
--fig-choice-padding: 0px;
|
|
4560
4563
|
}
|
|
@@ -4726,8 +4729,8 @@ fig-chooser {
|
|
|
4726
4729
|
}
|
|
4727
4730
|
|
|
4728
4731
|
fig-choice {
|
|
4729
|
-
--fig-choice-selection-ring-width: 1.
|
|
4730
|
-
--fig-choice-padding:
|
|
4732
|
+
--fig-choice-selection-ring-width: 1.5px;
|
|
4733
|
+
--fig-choice-padding: 0px;
|
|
4731
4734
|
--fig-choice-border-radius: calc(
|
|
4732
4735
|
var(--radius-medium) + var(--fig-choice-padding)
|
|
4733
4736
|
);
|
|
@@ -4737,7 +4740,6 @@ fig-choice {
|
|
|
4737
4740
|
border-radius: var(--fig-choice-border-radius);
|
|
4738
4741
|
gap: var(--spacer-2);
|
|
4739
4742
|
outline: none;
|
|
4740
|
-
border: 1px solid transparent;
|
|
4741
4743
|
cursor: default;
|
|
4742
4744
|
|
|
4743
4745
|
padding: var(--fig-choice-padding);
|
|
@@ -4953,3 +4955,52 @@ fig-color-tip {
|
|
|
4953
4955
|
}
|
|
4954
4956
|
}
|
|
4955
4957
|
}
|
|
4958
|
+
|
|
4959
|
+
/* Menu */
|
|
4960
|
+
fig-menu {
|
|
4961
|
+
display: contents;
|
|
4962
|
+
}
|
|
4963
|
+
|
|
4964
|
+
fig-menu-item {
|
|
4965
|
+
--fig-menu-item-padding: var(--spacer-3);
|
|
4966
|
+
display: flex;
|
|
4967
|
+
align-items: center;
|
|
4968
|
+
gap: var(--spacer-2);
|
|
4969
|
+
padding: 0 var(--fig-menu-item-padding);
|
|
4970
|
+
height: var(--spacer-4);
|
|
4971
|
+
cursor: default;
|
|
4972
|
+
border-radius: var(--radius-medium);
|
|
4973
|
+
color: var(--figma-color-text-menu);
|
|
4974
|
+
font-weight: var(--body-medium-fontWeight);
|
|
4975
|
+
position: relative;
|
|
4976
|
+
|
|
4977
|
+
&::before {
|
|
4978
|
+
content: "";
|
|
4979
|
+
display: block;
|
|
4980
|
+
position: absolute;
|
|
4981
|
+
inset: 0 var(--spacer-2);
|
|
4982
|
+
border-radius: var(--radius-medium);
|
|
4983
|
+
z-index: -1;
|
|
4984
|
+
background-color: transparent;
|
|
4985
|
+
}
|
|
4986
|
+
|
|
4987
|
+
&:hover,
|
|
4988
|
+
&:focus-visible {
|
|
4989
|
+
outline: none;
|
|
4990
|
+
&::before {
|
|
4991
|
+
background-color: var(--figma-color-bg-menu-hover);
|
|
4992
|
+
}
|
|
4993
|
+
}
|
|
4994
|
+
|
|
4995
|
+
&[disabled]:not([disabled="false"]) {
|
|
4996
|
+
opacity: 0.4;
|
|
4997
|
+
pointer-events: none;
|
|
4998
|
+
}
|
|
4999
|
+
}
|
|
5000
|
+
|
|
5001
|
+
fig-menu-separator {
|
|
5002
|
+
display: block;
|
|
5003
|
+
height: 1px;
|
|
5004
|
+
background: var(--figma-color-border);
|
|
5005
|
+
margin: var(--spacer-2) 0;
|
|
5006
|
+
}
|
package/fig.js
CHANGED
|
@@ -14237,3 +14237,334 @@ class FigHandle extends HTMLElement {
|
|
|
14237
14237
|
}
|
|
14238
14238
|
}
|
|
14239
14239
|
customElements.define("fig-handle", FigHandle);
|
|
14240
|
+
|
|
14241
|
+
// ─── Menu ────────────────────────────────────────────────────────────────────
|
|
14242
|
+
|
|
14243
|
+
class FigMenuItem extends HTMLElement {
|
|
14244
|
+
static get observedAttributes() {
|
|
14245
|
+
return ["value", "disabled"];
|
|
14246
|
+
}
|
|
14247
|
+
|
|
14248
|
+
get value() {
|
|
14249
|
+
return this.getAttribute("value") || "";
|
|
14250
|
+
}
|
|
14251
|
+
|
|
14252
|
+
set value(val) {
|
|
14253
|
+
this.setAttribute("value", val ?? "");
|
|
14254
|
+
}
|
|
14255
|
+
|
|
14256
|
+
connectedCallback() {
|
|
14257
|
+
if (!this.hasAttribute("role")) {
|
|
14258
|
+
this.setAttribute("role", "menuitem");
|
|
14259
|
+
}
|
|
14260
|
+
if (!this.hasAttribute("tabindex")) {
|
|
14261
|
+
this.setAttribute("tabindex", "-1");
|
|
14262
|
+
}
|
|
14263
|
+
}
|
|
14264
|
+
|
|
14265
|
+
attributeChangedCallback() {}
|
|
14266
|
+
}
|
|
14267
|
+
customElements.define("fig-menu-item", FigMenuItem);
|
|
14268
|
+
|
|
14269
|
+
class FigMenuSeparator extends HTMLElement {
|
|
14270
|
+
connectedCallback() {
|
|
14271
|
+
if (!this.hasAttribute("role")) {
|
|
14272
|
+
this.setAttribute("role", "separator");
|
|
14273
|
+
}
|
|
14274
|
+
}
|
|
14275
|
+
}
|
|
14276
|
+
customElements.define("fig-menu-separator", FigMenuSeparator);
|
|
14277
|
+
|
|
14278
|
+
class FigMenu extends HTMLElement {
|
|
14279
|
+
#popup = null;
|
|
14280
|
+
#trigger = null;
|
|
14281
|
+
#observer = null;
|
|
14282
|
+
#boundTriggerClick;
|
|
14283
|
+
#boundPopupClick;
|
|
14284
|
+
#boundPopupKeydown;
|
|
14285
|
+
#boundPopupClose;
|
|
14286
|
+
#focusedIndex = -1;
|
|
14287
|
+
|
|
14288
|
+
static get observedAttributes() {
|
|
14289
|
+
return ["position", "offset", "closedby", "disabled", "open"];
|
|
14290
|
+
}
|
|
14291
|
+
|
|
14292
|
+
constructor() {
|
|
14293
|
+
super();
|
|
14294
|
+
this.#boundTriggerClick = this.#handleTriggerClick.bind(this);
|
|
14295
|
+
this.#boundPopupClick = this.#handlePopupClick.bind(this);
|
|
14296
|
+
this.#boundPopupKeydown = this.#handlePopupKeydown.bind(this);
|
|
14297
|
+
this.#boundPopupClose = this.#handlePopupClose.bind(this);
|
|
14298
|
+
}
|
|
14299
|
+
|
|
14300
|
+
get value() {
|
|
14301
|
+
return this.getAttribute("value") || "";
|
|
14302
|
+
}
|
|
14303
|
+
|
|
14304
|
+
set value(val) {
|
|
14305
|
+
this.setAttribute("value", val ?? "");
|
|
14306
|
+
}
|
|
14307
|
+
|
|
14308
|
+
get open() {
|
|
14309
|
+
return this.hasAttribute("open") && this.getAttribute("open") !== "false";
|
|
14310
|
+
}
|
|
14311
|
+
|
|
14312
|
+
set open(val) {
|
|
14313
|
+
if (val) {
|
|
14314
|
+
this.setAttribute("open", "");
|
|
14315
|
+
} else {
|
|
14316
|
+
this.removeAttribute("open");
|
|
14317
|
+
}
|
|
14318
|
+
}
|
|
14319
|
+
|
|
14320
|
+
connectedCallback() {
|
|
14321
|
+
this.style.display = "contents";
|
|
14322
|
+
|
|
14323
|
+
this.#detectTrigger();
|
|
14324
|
+
this.#createPopup();
|
|
14325
|
+
this.#moveItemsToPopup();
|
|
14326
|
+
this.#setupListeners();
|
|
14327
|
+
this.#setupObserver();
|
|
14328
|
+
this.#syncDisabled();
|
|
14329
|
+
|
|
14330
|
+
if (this.open) {
|
|
14331
|
+
this.#openMenu();
|
|
14332
|
+
}
|
|
14333
|
+
}
|
|
14334
|
+
|
|
14335
|
+
disconnectedCallback() {
|
|
14336
|
+
this.#teardownListeners();
|
|
14337
|
+
if (this.#observer) {
|
|
14338
|
+
this.#observer.disconnect();
|
|
14339
|
+
this.#observer = null;
|
|
14340
|
+
}
|
|
14341
|
+
if (this.#popup) {
|
|
14342
|
+
this.#popup.removeEventListener("close", this.#boundPopupClose);
|
|
14343
|
+
this.#popup.remove();
|
|
14344
|
+
this.#popup = null;
|
|
14345
|
+
}
|
|
14346
|
+
}
|
|
14347
|
+
|
|
14348
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
14349
|
+
if (oldValue === newValue) return;
|
|
14350
|
+
|
|
14351
|
+
if (name === "open") {
|
|
14352
|
+
if (newValue === null || newValue === "false") {
|
|
14353
|
+
this.#closeMenu();
|
|
14354
|
+
} else {
|
|
14355
|
+
this.#openMenu();
|
|
14356
|
+
}
|
|
14357
|
+
return;
|
|
14358
|
+
}
|
|
14359
|
+
|
|
14360
|
+
if (name === "disabled") {
|
|
14361
|
+
if (this.#trigger) {
|
|
14362
|
+
if (newValue !== null && newValue !== "false") {
|
|
14363
|
+
this.#trigger.setAttribute("disabled", "");
|
|
14364
|
+
} else {
|
|
14365
|
+
this.#trigger.removeAttribute("disabled");
|
|
14366
|
+
}
|
|
14367
|
+
}
|
|
14368
|
+
return;
|
|
14369
|
+
}
|
|
14370
|
+
|
|
14371
|
+
if (this.#popup && (name === "position" || name === "offset" || name === "closedby")) {
|
|
14372
|
+
if (newValue !== null) {
|
|
14373
|
+
this.#popup.setAttribute(name, newValue);
|
|
14374
|
+
} else {
|
|
14375
|
+
this.#popup.removeAttribute(name);
|
|
14376
|
+
}
|
|
14377
|
+
}
|
|
14378
|
+
}
|
|
14379
|
+
|
|
14380
|
+
#detectTrigger() {
|
|
14381
|
+
this.#trigger =
|
|
14382
|
+
this.querySelector("[fig-menu-trigger]") ||
|
|
14383
|
+
this.querySelector(":scope > :not(fig-menu-item):not(fig-menu-separator)");
|
|
14384
|
+
}
|
|
14385
|
+
|
|
14386
|
+
#createPopup() {
|
|
14387
|
+
this.#popup = document.createElement("dialog", { is: "fig-popup" });
|
|
14388
|
+
this.#popup.setAttribute("is", "fig-popup");
|
|
14389
|
+
this.#popup.setAttribute("theme", "menu");
|
|
14390
|
+
this.#popup.setAttribute("role", "menu");
|
|
14391
|
+
|
|
14392
|
+
const position = this.getAttribute("position") || "bottom left";
|
|
14393
|
+
this.#popup.setAttribute("position", position);
|
|
14394
|
+
|
|
14395
|
+
const offset = this.getAttribute("offset");
|
|
14396
|
+
if (offset) this.#popup.setAttribute("offset", offset);
|
|
14397
|
+
|
|
14398
|
+
const closedby = this.getAttribute("closedby");
|
|
14399
|
+
if (closedby) this.#popup.setAttribute("closedby", closedby);
|
|
14400
|
+
|
|
14401
|
+
if (this.#trigger) {
|
|
14402
|
+
this.#popup.anchor = this.#trigger;
|
|
14403
|
+
}
|
|
14404
|
+
|
|
14405
|
+
this.#popup.addEventListener("close", this.#boundPopupClose);
|
|
14406
|
+
this.appendChild(this.#popup);
|
|
14407
|
+
}
|
|
14408
|
+
|
|
14409
|
+
#moveItemsToPopup() {
|
|
14410
|
+
const items = Array.from(this.querySelectorAll(
|
|
14411
|
+
":scope > fig-menu-item, :scope > fig-menu-separator"
|
|
14412
|
+
));
|
|
14413
|
+
for (const item of items) {
|
|
14414
|
+
this.#popup.appendChild(item);
|
|
14415
|
+
}
|
|
14416
|
+
}
|
|
14417
|
+
|
|
14418
|
+
#setupListeners() {
|
|
14419
|
+
if (this.#trigger) {
|
|
14420
|
+
this.#trigger.addEventListener("click", this.#boundTriggerClick);
|
|
14421
|
+
this.#trigger.setAttribute("aria-haspopup", "menu");
|
|
14422
|
+
this.#trigger.setAttribute("aria-expanded", "false");
|
|
14423
|
+
}
|
|
14424
|
+
if (this.#popup) {
|
|
14425
|
+
this.#popup.addEventListener("click", this.#boundPopupClick);
|
|
14426
|
+
this.#popup.addEventListener("keydown", this.#boundPopupKeydown);
|
|
14427
|
+
}
|
|
14428
|
+
}
|
|
14429
|
+
|
|
14430
|
+
#teardownListeners() {
|
|
14431
|
+
if (this.#trigger) {
|
|
14432
|
+
this.#trigger.removeEventListener("click", this.#boundTriggerClick);
|
|
14433
|
+
}
|
|
14434
|
+
if (this.#popup) {
|
|
14435
|
+
this.#popup.removeEventListener("click", this.#boundPopupClick);
|
|
14436
|
+
this.#popup.removeEventListener("keydown", this.#boundPopupKeydown);
|
|
14437
|
+
}
|
|
14438
|
+
}
|
|
14439
|
+
|
|
14440
|
+
#setupObserver() {
|
|
14441
|
+
this.#observer = new MutationObserver((mutations) => {
|
|
14442
|
+
for (const mutation of mutations) {
|
|
14443
|
+
for (const node of mutation.addedNodes) {
|
|
14444
|
+
if (
|
|
14445
|
+
node.nodeType === 1 &&
|
|
14446
|
+
(node.tagName === "FIG-MENU-ITEM" || node.tagName === "FIG-MENU-SEPARATOR") &&
|
|
14447
|
+
node.parentElement === this
|
|
14448
|
+
) {
|
|
14449
|
+
this.#popup.appendChild(node);
|
|
14450
|
+
}
|
|
14451
|
+
}
|
|
14452
|
+
}
|
|
14453
|
+
});
|
|
14454
|
+
this.#observer.observe(this, { childList: true });
|
|
14455
|
+
}
|
|
14456
|
+
|
|
14457
|
+
#getItems() {
|
|
14458
|
+
if (!this.#popup) return [];
|
|
14459
|
+
return Array.from(this.#popup.querySelectorAll("fig-menu-item:not([disabled]):not([disabled='true'])"));
|
|
14460
|
+
}
|
|
14461
|
+
|
|
14462
|
+
#syncDisabled() {
|
|
14463
|
+
if (!this.#trigger) return;
|
|
14464
|
+
const disabled = this.hasAttribute("disabled") && this.getAttribute("disabled") !== "false";
|
|
14465
|
+
if (disabled) {
|
|
14466
|
+
this.#trigger.setAttribute("disabled", "");
|
|
14467
|
+
} else {
|
|
14468
|
+
this.#trigger.removeAttribute("disabled");
|
|
14469
|
+
}
|
|
14470
|
+
}
|
|
14471
|
+
|
|
14472
|
+
#handleTriggerClick(e) {
|
|
14473
|
+
if (this.hasAttribute("disabled") && this.getAttribute("disabled") !== "false") return;
|
|
14474
|
+
e.stopPropagation();
|
|
14475
|
+
if (this.open) {
|
|
14476
|
+
this.open = false;
|
|
14477
|
+
} else {
|
|
14478
|
+
this.open = true;
|
|
14479
|
+
}
|
|
14480
|
+
}
|
|
14481
|
+
|
|
14482
|
+
#handlePopupClick(e) {
|
|
14483
|
+
const item = e.target.closest("fig-menu-item");
|
|
14484
|
+
if (!item) return;
|
|
14485
|
+
if (item.hasAttribute("disabled") && item.getAttribute("disabled") !== "false") return;
|
|
14486
|
+
|
|
14487
|
+
this.#selectItem(item);
|
|
14488
|
+
}
|
|
14489
|
+
|
|
14490
|
+
#handlePopupKeydown(e) {
|
|
14491
|
+
const items = this.#getItems();
|
|
14492
|
+
if (!items.length) return;
|
|
14493
|
+
|
|
14494
|
+
switch (e.key) {
|
|
14495
|
+
case "ArrowDown": {
|
|
14496
|
+
e.preventDefault();
|
|
14497
|
+
this.#focusedIndex = Math.min(this.#focusedIndex + 1, items.length - 1);
|
|
14498
|
+
items[this.#focusedIndex]?.focus();
|
|
14499
|
+
break;
|
|
14500
|
+
}
|
|
14501
|
+
case "ArrowUp": {
|
|
14502
|
+
e.preventDefault();
|
|
14503
|
+
this.#focusedIndex = Math.max(this.#focusedIndex - 1, 0);
|
|
14504
|
+
items[this.#focusedIndex]?.focus();
|
|
14505
|
+
break;
|
|
14506
|
+
}
|
|
14507
|
+
case "Home": {
|
|
14508
|
+
e.preventDefault();
|
|
14509
|
+
this.#focusedIndex = 0;
|
|
14510
|
+
items[0]?.focus();
|
|
14511
|
+
break;
|
|
14512
|
+
}
|
|
14513
|
+
case "End": {
|
|
14514
|
+
e.preventDefault();
|
|
14515
|
+
this.#focusedIndex = items.length - 1;
|
|
14516
|
+
items[this.#focusedIndex]?.focus();
|
|
14517
|
+
break;
|
|
14518
|
+
}
|
|
14519
|
+
case "Enter":
|
|
14520
|
+
case " ": {
|
|
14521
|
+
e.preventDefault();
|
|
14522
|
+
const focused = items[this.#focusedIndex];
|
|
14523
|
+
if (focused) this.#selectItem(focused);
|
|
14524
|
+
break;
|
|
14525
|
+
}
|
|
14526
|
+
}
|
|
14527
|
+
}
|
|
14528
|
+
|
|
14529
|
+
#handlePopupClose() {
|
|
14530
|
+
if (this.hasAttribute("open")) {
|
|
14531
|
+
this.removeAttribute("open");
|
|
14532
|
+
}
|
|
14533
|
+
if (this.#trigger) {
|
|
14534
|
+
this.#trigger.setAttribute("aria-expanded", "false");
|
|
14535
|
+
this.#trigger.focus();
|
|
14536
|
+
}
|
|
14537
|
+
this.#focusedIndex = -1;
|
|
14538
|
+
}
|
|
14539
|
+
|
|
14540
|
+
#selectItem(item) {
|
|
14541
|
+
const value = item.getAttribute("value") || item.textContent.trim();
|
|
14542
|
+
this.setAttribute("value", value);
|
|
14543
|
+
this.dispatchEvent(
|
|
14544
|
+
new CustomEvent("change", {
|
|
14545
|
+
detail: { value, item },
|
|
14546
|
+
bubbles: true,
|
|
14547
|
+
})
|
|
14548
|
+
);
|
|
14549
|
+
this.open = false;
|
|
14550
|
+
}
|
|
14551
|
+
|
|
14552
|
+
#openMenu() {
|
|
14553
|
+
if (!this.#popup) return;
|
|
14554
|
+
this.#popup.open = true;
|
|
14555
|
+
if (this.#trigger) {
|
|
14556
|
+
this.#trigger.setAttribute("aria-expanded", "true");
|
|
14557
|
+
}
|
|
14558
|
+
this.#focusedIndex = 0;
|
|
14559
|
+
requestAnimationFrame(() => {
|
|
14560
|
+
const items = this.#getItems();
|
|
14561
|
+
if (items.length) items[0].focus();
|
|
14562
|
+
});
|
|
14563
|
+
}
|
|
14564
|
+
|
|
14565
|
+
#closeMenu() {
|
|
14566
|
+
if (!this.#popup) return;
|
|
14567
|
+
this.#popup.open = false;
|
|
14568
|
+
}
|
|
14569
|
+
}
|
|
14570
|
+
customElements.define("fig-menu", FigMenu);
|
package/package.json
CHANGED