@react-spectrum/s2
Version:
Spectrum 2 UI components in React
983 lines (961 loc) • 37.3 kB
JavaScript
import "./Menu.css";
import {box as $9b405e0f8095dce0$export$827f4ee28efc37, iconStyles as $9b405e0f8095dce0$export$2c99b98b77550cb4} from "./Checkbox.mjs";
import {centerBaseline as $1f4b04be3f24aae3$export$9d7e2342a7e53afa} from "./CenterBaseline.mjs";
import $81cf3d4588736e7d$export$2e2bcd8739ae039 from "./Checkmark.mjs";
import $4b69f02ec06b9226$export$2e2bcd8739ae039 from "./Chevron.mjs";
import {divider as $bdf52657dac0f070$export$e8c9778bf415dd08} from "./Divider.mjs";
import {HeaderContext as $8e847109a6ab556d$export$e0e4026c12a8bdbb, HeadingContext as $8e847109a6ab556d$export$d688439359537581, KeyboardContext as $8e847109a6ab556d$export$744d98a3b8a94e1c, Text as $8e847109a6ab556d$export$5f1af8db9871e1d6, TextContext as $8e847109a6ab556d$export$9afb8bc826b033ea} from "./Content.mjs";
import {IconContext as $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed} from "../icons/Icon.mjs";
import {ImageContext as $dbd6f0b2503b938c$export$8151eb379fcf2442} from "./Image.mjs";
import $d9f847a2895a93dc$export$2e2bcd8739ae039 from "./LinkOut.mjs";
import {mergeStyles as $feb886035e0d4633$export$e618dc39ac9ad607} from "../icons/runtime.mjs";
import {PopoverBase as $88b746eba92c8d0d$export$fde1b04c590741a3} from "./Popover.mjs";
import {pressScale as $10ea7662e51a285b$export$56e8cba416805d8d} from "./pressScale.mjs";
import {useSpectrumContextProps as $5ce63c423902f47d$export$764f6146fadd77f7} from "../icons/useSpectrumContextProps.mjs";
import {jsx as $g2Qzl$jsx, jsxs as $g2Qzl$jsxs, Fragment as $g2Qzl$Fragment} from "react/jsx-runtime";
import {Provider as $g2Qzl$Provider, Menu as $g2Qzl$Menu, Separator as $g2Qzl$Separator, MenuSection as $g2Qzl$MenuSection, MenuItem as $g2Qzl$MenuItem, DEFAULT_SLOT as $g2Qzl$DEFAULT_SLOT, MenuTrigger as $g2Qzl$MenuTrigger, SubmenuTrigger as $g2Qzl$SubmenuTrigger} from "react-aria-components";
import {createContext as $g2Qzl$createContext, forwardRef as $g2Qzl$forwardRef, useContext as $g2Qzl$useContext, useRef as $g2Qzl$useRef, useState as $g2Qzl$useState} from "react";
import {useLocale as $g2Qzl$useLocale} from "react-aria";
import {PressResponder as $g2Qzl$PressResponder} from "@react-aria/interactions";
import {useGlobalListeners as $g2Qzl$useGlobalListeners} from "@react-aria/utils";
/*
* Copyright 2024 Adobe. All rights reserved.
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
* OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
const $13afb0ea5f0ed767$export$c7e742effb1c51e2 = /*#__PURE__*/ (0, $g2Qzl$createContext)(null);
const $13afb0ea5f0ed767$var$menuItemGrid = {
size: {
S: [
"calc(1.5rem * 3 / 8)",
'auto',
'auto',
'minmax(0, 1fr)',
'auto',
'auto',
'auto',
"calc(1.5rem * 3 / 8)"
],
M: [
"calc(2rem * 3 / 8)",
'auto',
'auto',
'minmax(0, 1fr)',
'auto',
'auto',
'auto',
"calc(2rem * 3 / 8)"
],
L: [
"calc(2.5rem * 3 / 8)",
'auto',
'auto',
'minmax(0, 1fr)',
'auto',
'auto',
'auto',
"calc(2.5rem * 3 / 8)"
],
XL: [
"calc(3rem * 3 / 8)",
'auto',
'auto',
'minmax(0, 1fr)',
'auto',
'auto',
'auto',
"calc(3rem * 3 / 8)"
]
}
};
let $13afb0ea5f0ed767$export$b1e5508a851be14d = function anonymous(props, overrides) {
let rules = " ";
let width = false;
let maxWidth = false;
let matches = (overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|Z|N|L)[^\s]+/g);
for (let p of matches){
if (p[1] === "Z") width = true;
if (p[1] === "L") maxWidth = true;
rules += p[0];
}
rules += ' _Le91';
rules += ' se91';
if (props.size === "XL") rules += ' Dk92HIe91';
else if (props.size === "L") rules += ' DyaX9Fb91';
else if (props.size === "M") rules += ' Deb5jcb91';
else if (props.size === "S") rules += ' DGTLJAe91';
rules += ' _oa91';
rules += ' K40ub4c91';
if (!width) rules += ' Za91';
if (props.isPopover) rules += ' _Na91';
if (props.isPopover) rules += ' Pa91';
if (props.isPopover) {
if (!maxWidth) rules += ' Lh91';
}
if (props.isPopover) rules += ' Tt91';
if (props.isPopover) rules += ' Qt91';
if (props.isPopover) rules += ' St91';
if (props.isPopover) rules += ' Rt91';
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
if (props.size === "XL") {
rules += ' vg91';
rules += ' vsj91';
} else if (props.size === "L") {
rules += ' vp91';
rules += ' vsh91';
} else if (props.size === "S") {
rules += ' vb91';
rules += ' vse91';
} else if (props.size === "XS") {
rules += ' va91';
rules += ' vsc91';
} else {
rules += ' vd91';
rules += ' vsf91';
}
rules += ' __ya91';
return rules;
};
let $13afb0ea5f0ed767$export$fe2e36411d703b3d = function anonymous(props) {
let rules = " ";
rules += ' z2mU91';
rules += ' yzZKy91';
rules += ' eb91';
rules += ' se91';
rules += ' CcAc39c91';
if (props.size === "XL") rules += ' Dk92HIe91';
else if (props.size === "L") rules += ' DyaX9Fb91';
else if (props.size === "M") rules += ' Deb5jcb91';
else if (props.size === "S") rules += ' DGTLJAe91';
return rules;
};
let $13afb0ea5f0ed767$export$562e61a0817eb32e = function anonymous(props) {
let rules = " ";
rules += ' pt91';
rules += ' z3mU91';
rules += ' yAZKy91';
rules += ' _oa91';
rules += ' MAyFGYc91';
rules += ' Tu7Fubd91';
rules += ' Qu7Fubd91';
if (props.size === "XL") rules += ' -M_-Mk91';
else if (props.size === "L") rules += ' -M_-Mh91';
else if (props.size === "S") rules += ' -M_-Mg91';
else if (props.size === "XS") rules += ' -M_-Mf91';
else rules += ' -M_-Mi91';
return rules;
};
let $13afb0ea5f0ed767$export$300ac6f106ef584d = " ug91 uch91 udi91 uea91 ugb91 uhd91 uje91 uic91 vd91 vsf91 wd91 xd91 _xa91 _Fa91 _Ffb91 pt91 Jy91 Gy91 Iy91 Hy91";
let $13afb0ea5f0ed767$export$f68e44d881264486 = function anonymous(props, overrides) {
let rules = " ";
let minWidth = false;
let position = false;
let gridColumnStart = false;
let gridColumnEnd = false;
let matches = (overrides || '').matchAll(/(?:^|\s)(J|G|I|H|_u|_v|_s|__A|_d|_J|z|y|B|A|_P|_9|W|_l|_A|_z|Z|N|L)[^\s]+/g);
for (let p of matches){
if (p[1] === "N") minWidth = true;
if (p[1] === "_P") position = true;
if (p[1] === "z") gridColumnStart = true;
if (p[1] === "y") gridColumnEnd = true;
rules += p[0];
}
if (props.isFocusVisible) rules += ' _Lf91';
else rules += ' _Le91';
rules += ' Oh91';
rules += ' _Mc91';
rules += ' _Kd91';
if (props.size === "XL") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "L") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "S") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "XS") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
}
if (props.size === "XL") {
rules += ' vg91';
rules += ' vsj91';
} else if (props.size === "L") {
rules += ' vp91';
rules += ' vsh91';
} else if (props.size === "S") {
rules += ' vb91';
rules += ' vse91';
} else if (props.size === "XS") {
rules += ' va91';
rules += ' vsc91';
} else {
rules += ' vd91';
rules += ' vsf91';
}
if (props.size === "XL") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "L") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "S") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "XS") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
}
if (props.size === "XL") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "L") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "S") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "XS") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else {
rules += ' _Fa91';
rules += ' _Ffb91';
}
if (props.isDisabled) {
rules += ' pp91';
rules += ' plc91';
} else {
if (props.isPressed) rules += ' po91';
else if (props.isFocusVisible) rules += ' po91';
else if (props.isHovered) rules += ' po91';
else rules += ' pt91';
}
rules += ' se91';
rules += ' ea91';
rules += ' egLWx3bb91';
rules += ' _oa91';
rules += ' Sd91';
rules += ' Rd91';
if (props.size === "XL") {
if (!minWidth) rules += ' Nl91';
} else if (props.size === "L") {
if (!minWidth) rules += ' Nj91';
} else if (props.size === "S") {
if (!minWidth) rules += ' Nf91';
} else if (props.size === "XS") {
if (!minWidth) rules += ' Ne91';
} else if (!minWidth) rules += ' Nk91';
if (props.size === "XL") rules += ' -SFnbic-_JaP8ec91';
else if (props.size === "L") rules += ' -SFnbic-_J0K2hn91';
else if (props.size === "S") rules += ' -SFnbic-_JJOW22b91';
else if (props.size === "XS") rules += ' -SFnbic-_JICefdd91';
else rules += ' -SFnbic-_Jb91';
rules += ' -Bu7z1c-ob91';
rules += ' oj91';
rules += ' nj91';
rules += ' kj91';
rules += ' jj91';
rules += ' qh91';
rules += ' -Qg41Lb-IAxCW0c91';
rules += ' -Qg41Lb-gLWx3bIy91';
rules += ' MAyFGYc91';
rules += ' Td91';
rules += ' QAzEcG91';
rules += ' -aRvJDd-Tu7Fubd91';
if (props.isFocused) rules += ' gF91';
else rules += ' g991';
if (!position) rules += ' _Pc91';
if (!gridColumnStart) rules += ' z2mU91';
if (!gridColumnEnd) rules += ' yzZKy91';
rules += ' CcAc39c91';
rules += ' DLwlgod91';
rules += ' EpvfBwb91';
rules += ' EDNKd2dZQmDFe91';
rules += ' UDNKd2dai5a091';
rules += ' FF91';
rules += ' _Xa91';
if (props.isLink) rules += ' ry91';
else rules += ' ri91';
rules += ' Yd91';
rules += ' Xb91';
rules += ' _2b91';
if (props.size === "XL") rules += ' -M_-Mk91';
else if (props.size === "L") rules += ' -M_-Mh91';
else if (props.size === "S") rules += ' -M_-Mg91';
else if (props.size === "XS") rules += ' -M_-Mf91';
else rules += ' -M_-Mi91';
return rules;
};
let $13afb0ea5f0ed767$export$292abbf31ed842a = function anonymous(props) {
let rules = " ";
if (props.isSelected) rules += ' _6c91';
else rules += ' _6b91';
rules += ' z2CW8rb91';
rules += ' y2CW8rb91';
rules += ' B2CW8rb91';
rules += ' A2CW8rb91';
if (props.isPressed) rules += ' ps91';
else if (props.isFocusVisible) rules += ' ps91';
else if (props.isHovered) rules += ' ps91';
else rules += ' pu91';
rules += ' -_8sjo0b-t5ZbAob91';
rules += ' -_8sjo0b-lta91';
rules += ' Hw91';
rules += ' fa91';
return rules;
};
let $13afb0ea5f0ed767$var$checkbox = " z2CW8rb91 y2CW8rb91 B2CW8rb91 A2CW8rb91 Hw91";
let $13afb0ea5f0ed767$export$1ca1ec8b29a4ce27 = " sb91 ZuUmpre91 FuUmpre91 Ht91 Hsu91 -_8sjo0b-t5ZbAob91";
let $13afb0ea5f0ed767$export$31d1842a0fd736e6 = " sd91 z2U5Crc91 y2U5Crc91 B2U5Crc91 A2U5Crc91";
let $13afb0ea5f0ed767$var$image = function anonymous(props) {
let rules = " ";
rules += ' z2U5Crc91';
rules += ' y2U5Crc91';
rules += ' B2U5Crc91';
rules += ' AvoofG91';
rules += ' Ht91';
rules += ' Hsu91';
rules += ' Jt91';
rules += ' _dc91';
rules += ' oa91';
rules += ' na91';
rules += ' ka91';
rules += ' ja91';
if (props.size === "XL") rules += ' ZF91';
else if (props.size === "L") rules += ' Zx91';
else if (props.size === "M") rules += ' Zw91';
else if (props.size === "S") rules += ' ZC91';
else rules += ' Zw91';
if (props.size === "XL") rules += ' Fz91';
else if (props.size === "L") rules += ' Fw91';
else if (props.size === "M") rules += ' Fv91';
else if (props.size === "S") rules += ' Fx91';
else rules += ' Fv91';
rules += ' fa91';
rules += ' _Ha91';
return rules;
};
let $13afb0ea5f0ed767$export$1237798dc640739a = function anonymous(props) {
let rules = " ";
rules += ' zv6x9r91';
rules += ' yv6x9r91';
rules += ' Bv6x9r91';
rules += ' Av6x9r91';
if (props.size === "XL") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "L") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "S") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "XS") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
}
if (props.size === "XL") {
rules += ' vg91';
rules += ' vsj91';
} else if (props.size === "L") {
rules += ' vp91';
rules += ' vsh91';
} else if (props.size === "S") {
rules += ' vb91';
rules += ' vse91';
} else if (props.size === "XS") {
rules += ' va91';
rules += ' vsc91';
} else {
rules += ' vd91';
rules += ' vsf91';
}
rules += ' wc91';
rules += ' xc91';
rules += ' _xa91';
if (props.size === "XL") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "L") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "S") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "XS") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else {
rules += ' _Fa91';
rules += ' _Ffb91';
}
rules += ' p40ub4c91';
rules += ' JAzEcG91';
return rules;
};
let $13afb0ea5f0ed767$export$6d59db4903f20f7d = function anonymous(props) {
let rules = " ";
rules += ' z9u7zPc91';
rules += ' y9u7zPc91';
rules += ' B9u7zPc91';
rules += ' A9u7zPc91';
if (props.size === "XL") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "L") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "M") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else if (props.size === "S") {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
} else {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
}
if (props.size === "XL") {
rules += ' vp91';
rules += ' vsh91';
} else if (props.size === "L") {
rules += ' vd91';
rules += ' vsf91';
} else if (props.size === "M") {
rules += ' vb91';
rules += ' vse91';
} else if (props.size === "S") {
rules += ' va91';
rules += ' vsc91';
} else {
rules += ' vb91';
rules += ' vse91';
}
if (props.size === "XL") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "L") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "M") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else if (props.size === "S") {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
} else {
rules += ' wb91';
rules += ' xb91';
rules += ' _xa91';
}
if (props.size === "XL") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "L") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "M") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else if (props.size === "S") {
rules += ' _Fa91';
rules += ' _Ffb91';
} else {
rules += ' _Fa91';
rules += ' _Ffb91';
}
if (props.isDisabled) rules += ' pp91';
else if (props.isFocused) rules += ' pt91';
else {
if (props.isPressed) rules += ' pt91';
else if (props.isFocusVisible) rules += ' pt91';
else if (props.isHovered) rules += ' pt91';
else rules += ' pv91';
}
rules += ' Yd91';
rules += ' Xb91';
rules += ' _2b91';
return rules;
};
let $13afb0ea5f0ed767$var$value = " z8bmXs91 y8bmXs91 B8bmXs91 A8bmXs91 Iv91";
let $13afb0ea5f0ed767$var$keyboard = function anonymous(props) {
let rules = " ";
rules += ' z45MTAd91';
rules += ' y45MTAd91';
rules += ' B45MTAd91';
rules += ' A45MTAd91';
rules += ' Iv91';
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
rules += ' vd91';
rules += ' vsf91';
rules += ' wa91';
rules += ' xa91';
rules += ' _xa91';
rules += ' _Fa91';
rules += ' _Ffb91';
if (props.isDisabled) rules += ' pp91';
else rules += ' pn91';
if (props.isDisabled) rules += ' plc91';
rules += ' _3f91';
return rules;
};
let $13afb0ea5f0ed767$var$descriptor = " z0cdLvd91 y0cdLvd91 B0cdLvd91 A0cdLvd91 Iv91 -_8sjo0b-t5ZbAob91";
let $13afb0ea5f0ed767$var$InternalMenuContext = /*#__PURE__*/ (0, $g2Qzl$createContext)({
size: 'M',
isSubmenu: false,
hideLinkOutIcon: false
});
let $13afb0ea5f0ed767$var$InternalMenuTriggerContext = /*#__PURE__*/ (0, $g2Qzl$createContext)(null);
const $13afb0ea5f0ed767$export$d9b273488cd8ce6f = /*#__PURE__*/ (0, $g2Qzl$forwardRef)(function Menu(props, ref) {
[props, ref] = (0, $5ce63c423902f47d$export$764f6146fadd77f7)(props, ref, $13afb0ea5f0ed767$export$c7e742effb1c51e2);
let { isSubmenu: isSubmenu, size: ctxSize } = (0, $g2Qzl$useContext)($13afb0ea5f0ed767$var$InternalMenuContext);
let { children: children, size: size = ctxSize, UNSAFE_style: UNSAFE_style, UNSAFE_className: UNSAFE_className, styles: styles, hideLinkOutIcon: hideLinkOutIcon = false } = props;
let ctx = (0, $g2Qzl$useContext)($13afb0ea5f0ed767$var$InternalMenuTriggerContext);
let { align: align = 'start', direction: direction = 'bottom', shouldFlip: shouldFlip } = ctx ?? {};
// TODO: change offset/crossoffset based on size? scale?
// actual values?
let initialPlacement;
switch(direction){
case 'left':
case 'right':
case 'start':
case 'end':
initialPlacement = `${direction} ${align === 'end' ? 'bottom' : 'top'}`;
break;
case 'bottom':
case 'top':
default:
initialPlacement = `${direction} ${align}`;
}
if (isSubmenu) initialPlacement = 'end top';
let content = /*#__PURE__*/ (0, $g2Qzl$jsx)($13afb0ea5f0ed767$var$InternalMenuContext.Provider, {
value: {
size: size,
isSubmenu: true,
hideLinkOutIcon: hideLinkOutIcon
},
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$Provider), {
values: [
[
(0, $8e847109a6ab556d$export$e0e4026c12a8bdbb),
{
styles: $13afb0ea5f0ed767$export$562e61a0817eb32e({
size: size
})
}
],
[
(0, $8e847109a6ab556d$export$d688439359537581),
{
// @ts-ignore
role: 'presentation',
styles: $13afb0ea5f0ed767$export$300ac6f106ef584d
}
],
[
(0, $8e847109a6ab556d$export$9afb8bc826b033ea),
{
slots: {
'description': {
styles: $13afb0ea5f0ed767$export$6d59db4903f20f7d({
size: size
})
}
}
}
]
],
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$Menu), {
...props,
className: $13afb0ea5f0ed767$export$b1e5508a851be14d({
size: size,
isPopover: !!ctx || isSubmenu
}, ctx ? null : styles),
children: children
})
})
});
if (ctx || isSubmenu) return /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $88b746eba92c8d0d$export$fde1b04c590741a3), {
ref: ref,
hideArrow: true,
placement: initialPlacement,
shouldFlip: shouldFlip,
// For submenus, the offset from the edge of the popover should be 10px.
// Subtract 8px for the padding around the parent menu.
offset: isSubmenu ? -2 : 8,
// Offset by padding + border so that the first item in a submenu lines up with the parent menu item.
crossOffset: isSubmenu ? -9 : 0,
UNSAFE_style: UNSAFE_style,
UNSAFE_className: UNSAFE_className,
styles: styles,
children: content
});
return content;
});
function $13afb0ea5f0ed767$export$2e0a83ec2e27ecbb(props) {
return /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$Separator), {
...props,
className: (0, $feb886035e0d4633$export$e618dc39ac9ad607)((0, $bdf52657dac0f070$export$e8c9778bf415dd08)({
size: 'M',
orientation: 'horizontal',
isStaticColor: false
}), " se91 skk91 z3mU91 yAZKy91 JydxGIe91 GydxGIe91")
});
}
function $13afb0ea5f0ed767$export$4b1545b4f2016d26(props) {
// remember, context doesn't work if it's around Section nor inside
let { size: size } = (0, $g2Qzl$useContext)($13afb0ea5f0ed767$var$InternalMenuContext);
return /*#__PURE__*/ (0, $g2Qzl$jsxs)((0, $g2Qzl$Fragment), {
children: [
/*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$MenuSection), {
...props,
className: $13afb0ea5f0ed767$export$fe2e36411d703b3d({
size: size
}),
children: props.children
}),
/*#__PURE__*/ (0, $g2Qzl$jsx)($13afb0ea5f0ed767$export$2e0a83ec2e27ecbb, {})
]
});
}
const $13afb0ea5f0ed767$var$checkmarkIconSize = {
S: 'XS',
M: 'M',
L: 'L',
XL: 'XL'
};
const $13afb0ea5f0ed767$var$linkIconSize = {
S: 'M',
M: 'L',
L: 'XL',
XL: 'XL'
};
function $13afb0ea5f0ed767$export$2ce376c2cc3355c8(props1) {
let ref = (0, $g2Qzl$useRef)(null);
let isLink = props1.href != null;
let isLinkOut = isLink && props1.target === '_blank';
let { size: size, hideLinkOutIcon: hideLinkOutIcon } = (0, $g2Qzl$useContext)($13afb0ea5f0ed767$var$InternalMenuContext);
let textValue = props1.textValue || (typeof props1.children === 'string' ? props1.children : undefined);
let { direction: direction } = (0, $g2Qzl$useLocale)();
return /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$MenuItem), {
...props1,
textValue: textValue,
ref: ref,
style: (0, $10ea7662e51a285b$export$56e8cba416805d8d)(ref, props1.UNSAFE_style),
className: (renderProps)=>(props1.UNSAFE_className || '') + $13afb0ea5f0ed767$export$f68e44d881264486({
...renderProps,
isFocused: renderProps.hasSubmenu && renderProps.isOpen || renderProps.isFocused,
size: size,
isLink: isLink
}, props1.styles),
children: (renderProps)=>{
let { children: children } = props1;
let checkboxRenderProps = {
...renderProps,
size: size,
isFocused: false,
isFocusVisible: false,
isIndeterminate: false,
isReadOnly: false,
isInvalid: false,
isRequired: false
};
return /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$Fragment), {
children: /*#__PURE__*/ (0, $g2Qzl$jsxs)((0, $g2Qzl$Provider), {
values: [
[
(0, $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed),
{
slots: {
icon: {
render: (0, $1f4b04be3f24aae3$export$9d7e2342a7e53afa)({
slot: 'icon',
styles: $13afb0ea5f0ed767$export$31d1842a0fd736e6
}),
styles: $13afb0ea5f0ed767$export$1ca1ec8b29a4ce27
},
descriptor: {
render: (0, $1f4b04be3f24aae3$export$9d7e2342a7e53afa)({
slot: 'descriptor',
styles: $13afb0ea5f0ed767$var$descriptor
})
} // TODO: remove once we have default?
}
}
],
[
(0, $8e847109a6ab556d$export$9afb8bc826b033ea),
{
slots: {
[(0, $g2Qzl$DEFAULT_SLOT)]: {
styles: $13afb0ea5f0ed767$export$1237798dc640739a({
size: size
})
},
label: {
styles: $13afb0ea5f0ed767$export$1237798dc640739a({
size: size
})
},
description: {
styles: $13afb0ea5f0ed767$export$6d59db4903f20f7d({
...renderProps,
size: size
})
},
value: {
styles: $13afb0ea5f0ed767$var$value
}
}
}
],
[
(0, $8e847109a6ab556d$export$744d98a3b8a94e1c),
{
styles: $13afb0ea5f0ed767$var$keyboard({
size: size,
isDisabled: renderProps.isDisabled
})
}
],
[
(0, $dbd6f0b2503b938c$export$8151eb379fcf2442),
{
styles: $13afb0ea5f0ed767$var$image({
size: size
})
}
]
],
children: [
renderProps.selectionMode === 'single' && !renderProps.hasSubmenu && /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $81cf3d4588736e7d$export$2e2bcd8739ae039), {
size: $13afb0ea5f0ed767$var$checkmarkIconSize[size],
className: $13afb0ea5f0ed767$export$292abbf31ed842a({
...renderProps,
size: size
})
}),
renderProps.selectionMode === 'multiple' && !renderProps.hasSubmenu && /*#__PURE__*/ (0, $g2Qzl$jsx)("div", {
className: (0, $feb886035e0d4633$export$e618dc39ac9ad607)($13afb0ea5f0ed767$var$checkbox, (0, $9b405e0f8095dce0$export$827f4ee28efc37)(checkboxRenderProps)),
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $81cf3d4588736e7d$export$2e2bcd8739ae039), {
size: size,
className: (0, $9b405e0f8095dce0$export$2c99b98b77550cb4)
})
}),
typeof children === 'string' ? /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $8e847109a6ab556d$export$5f1af8db9871e1d6), {
slot: "label",
children: children
}) : children,
isLinkOut && !hideLinkOutIcon && /*#__PURE__*/ (0, $g2Qzl$jsx)("div", {
slot: "descriptor",
className: $13afb0ea5f0ed767$var$descriptor,
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $d9f847a2895a93dc$export$2e2bcd8739ae039), {
size: $13afb0ea5f0ed767$var$linkIconSize[size],
className: function anonymous(props) {
let rules = " ";
if (props.direction === "rtl") {
rules += ' -Z4Pn4c-a91';
rules += ' __Ha91';
}
return rules;
}({
direction: direction
})
})
}),
renderProps.hasSubmenu && /*#__PURE__*/ (0, $g2Qzl$jsx)("div", {
slot: "descriptor",
className: $13afb0ea5f0ed767$var$descriptor,
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $4b69f02ec06b9226$export$2e2bcd8739ae039), {
size: size,
className: function anonymous(props) {
let rules = " ";
if (props.direction === "rtl") {
rules += ' -Z4Pn4c-a91';
rules += ' __Ha91';
}
return rules;
}({
direction: direction
})
})
})
]
})
});
}
});
}
/**
* The MenuTrigger serves as a wrapper around a Menu and its associated trigger,
* linking the Menu's open state with the trigger's press state.
*/ function $13afb0ea5f0ed767$export$27d2ad3c5815583e(props) {
// RAC sets isPressed via PressResponder when the menu is open.
// We don't want press scaling to appear to get "stuck", so override this.
// For mouse interactions, menus open on press start. When the popover underlay appears
// it covers the trigger button, causing onPressEnd to fire immediately and no press scaling
// to occur. We override this by listening for pointerup on the document ourselves.
let [isPressed, setPressed] = (0, $g2Qzl$useState)(false);
let { addGlobalListener: addGlobalListener } = (0, $g2Qzl$useGlobalListeners)();
let onPressStart = (e)=>{
if (e.pointerType !== 'mouse') return;
setPressed(true);
addGlobalListener(document, 'pointerup', ()=>{
setPressed(false);
}, {
once: true,
capture: true
});
};
return /*#__PURE__*/ (0, $g2Qzl$jsx)($13afb0ea5f0ed767$var$InternalMenuTriggerContext.Provider, {
value: {
align: props.align,
direction: props.direction,
shouldFlip: props.shouldFlip
},
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$MenuTrigger), {
...props,
children: /*#__PURE__*/ (0, $g2Qzl$jsx)((0, $g2Qzl$PressResponder), {
onPressStart: onPressStart,
isPressed: isPressed,
children: props.children
})
})
});
}
const $13afb0ea5f0ed767$export$ecabc99eeffab7ca = (0, $g2Qzl$SubmenuTrigger);
function $13afb0ea5f0ed767$export$aebfca372ec4a7db(props) {
return /*#__PURE__*/ (0, $g2Qzl$jsx)("div", {});
}
export {$13afb0ea5f0ed767$export$c7e742effb1c51e2 as MenuContext, $13afb0ea5f0ed767$export$b1e5508a851be14d as menu, $13afb0ea5f0ed767$export$fe2e36411d703b3d as section, $13afb0ea5f0ed767$export$562e61a0817eb32e as sectionHeader, $13afb0ea5f0ed767$export$300ac6f106ef584d as sectionHeading, $13afb0ea5f0ed767$export$f68e44d881264486 as menuitem, $13afb0ea5f0ed767$export$292abbf31ed842a as checkmark, $13afb0ea5f0ed767$export$1ca1ec8b29a4ce27 as icon, $13afb0ea5f0ed767$export$31d1842a0fd736e6 as iconCenterWrapper, $13afb0ea5f0ed767$export$1237798dc640739a as label, $13afb0ea5f0ed767$export$6d59db4903f20f7d as description, $13afb0ea5f0ed767$export$d9b273488cd8ce6f as Menu, $13afb0ea5f0ed767$export$2e0a83ec2e27ecbb as Divider, $13afb0ea5f0ed767$export$4b1545b4f2016d26 as MenuSection, $13afb0ea5f0ed767$export$2ce376c2cc3355c8 as MenuItem, $13afb0ea5f0ed767$export$27d2ad3c5815583e as MenuTrigger, $13afb0ea5f0ed767$export$ecabc99eeffab7ca as SubmenuTrigger, $13afb0ea5f0ed767$export$aebfca372ec4a7db as CombinedMenu};
//# sourceMappingURL=Menu.mjs.map