@react-spectrum/s2
Version:
Spectrum 2 UI components in React
1,001 lines (977 loc) • 37.2 kB
JavaScript
require("./Menu.css");
var $af04e099a53d3e85$exports = require("./Checkbox.cjs");
var $e991cbcdf82ced71$exports = require("./CenterBaseline.cjs");
var $dba2b18fc5727f9b$exports = require("./Checkmark.cjs");
var $1df9f1c9262ce5df$exports = require("./Chevron.cjs");
var $2d04acb918636de0$exports = require("./Divider.cjs");
var $6367bc87eb7d24ad$exports = require("./Content.cjs");
var $bde97c91243ed164$exports = require("../icons/Icon.cjs");
var $053b76ed3d29e13b$exports = require("./Image.cjs");
var $377d9a1b51957cfd$exports = require("./LinkOut.cjs");
var $308b180f49d82d28$exports = require("../icons/runtime.cjs");
var $493371ef39bf7a55$exports = require("./Popover.cjs");
var $2061c83559b50a66$exports = require("./pressScale.cjs");
var $ac757a4c2bd72aee$exports = require("../icons/useSpectrumContextProps.cjs");
var $4tP7K$reactjsxruntime = require("react/jsx-runtime");
var $4tP7K$reactariacomponents = require("react-aria-components");
var $4tP7K$react = require("react");
var $4tP7K$reactaria = require("react-aria");
var $4tP7K$reactariainteractions = require("@react-aria/interactions");
var $4tP7K$reactariautils = require("@react-aria/utils");
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
$parcel$export(module.exports, "MenuContext", () => $e741ea6b88ce4866$export$c7e742effb1c51e2);
$parcel$export(module.exports, "sectionHeader", () => $e741ea6b88ce4866$export$562e61a0817eb32e);
$parcel$export(module.exports, "sectionHeading", () => $e741ea6b88ce4866$export$300ac6f106ef584d);
$parcel$export(module.exports, "menuitem", () => $e741ea6b88ce4866$export$f68e44d881264486);
$parcel$export(module.exports, "checkmark", () => $e741ea6b88ce4866$export$292abbf31ed842a);
$parcel$export(module.exports, "icon", () => $e741ea6b88ce4866$export$1ca1ec8b29a4ce27);
$parcel$export(module.exports, "iconCenterWrapper", () => $e741ea6b88ce4866$export$31d1842a0fd736e6);
$parcel$export(module.exports, "label", () => $e741ea6b88ce4866$export$1237798dc640739a);
$parcel$export(module.exports, "description", () => $e741ea6b88ce4866$export$6d59db4903f20f7d);
$parcel$export(module.exports, "Menu", () => $e741ea6b88ce4866$export$d9b273488cd8ce6f);
$parcel$export(module.exports, "MenuSection", () => $e741ea6b88ce4866$export$4b1545b4f2016d26);
$parcel$export(module.exports, "MenuItem", () => $e741ea6b88ce4866$export$2ce376c2cc3355c8);
$parcel$export(module.exports, "MenuTrigger", () => $e741ea6b88ce4866$export$27d2ad3c5815583e);
$parcel$export(module.exports, "SubmenuTrigger", () => $e741ea6b88ce4866$export$ecabc99eeffab7ca);
/*
* 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 $e741ea6b88ce4866$export$c7e742effb1c51e2 = /*#__PURE__*/ (0, $4tP7K$react.createContext)(null);
const $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$export$300ac6f106ef584d = " ug91 uch91 udi91 uea91 ugb91 uhd91 uje91 uic91 vd91 vsf91 wd91 xd91 _xa91 _Fa91 _Ffb91 pt91 Jy91 Gy91 Iy91 Hy91";
let $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$var$checkbox = " z2CW8rb91 y2CW8rb91 B2CW8rb91 A2CW8rb91 Hw91";
let $e741ea6b88ce4866$export$1ca1ec8b29a4ce27 = " sb91 ZuUmpre91 FuUmpre91 Ht91 Hsu91 -_8sjo0b-t5ZbAob91";
let $e741ea6b88ce4866$export$31d1842a0fd736e6 = " sd91 z2U5Crc91 y2U5Crc91 B2U5Crc91 A2U5Crc91";
let $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$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 $e741ea6b88ce4866$var$value = " z8bmXs91 y8bmXs91 B8bmXs91 A8bmXs91 Iv91";
let $e741ea6b88ce4866$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 $e741ea6b88ce4866$var$descriptor = " z0cdLvd91 y0cdLvd91 B0cdLvd91 A0cdLvd91 Iv91 -_8sjo0b-t5ZbAob91";
let $e741ea6b88ce4866$var$InternalMenuContext = /*#__PURE__*/ (0, $4tP7K$react.createContext)({
size: 'M',
isSubmenu: false,
hideLinkOutIcon: false
});
let $e741ea6b88ce4866$var$InternalMenuTriggerContext = /*#__PURE__*/ (0, $4tP7K$react.createContext)(null);
const $e741ea6b88ce4866$export$d9b273488cd8ce6f = /*#__PURE__*/ (0, $4tP7K$react.forwardRef)(function Menu(props, ref) {
[props, ref] = (0, $ac757a4c2bd72aee$exports.useSpectrumContextProps)(props, ref, $e741ea6b88ce4866$export$c7e742effb1c51e2);
let { isSubmenu: isSubmenu, size: ctxSize } = (0, $4tP7K$react.useContext)($e741ea6b88ce4866$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, $4tP7K$react.useContext)($e741ea6b88ce4866$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, $4tP7K$reactjsxruntime.jsx)($e741ea6b88ce4866$var$InternalMenuContext.Provider, {
value: {
size: size,
isSubmenu: true,
hideLinkOutIcon: hideLinkOutIcon
},
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.Provider), {
values: [
[
(0, $6367bc87eb7d24ad$exports.HeaderContext),
{
styles: $e741ea6b88ce4866$export$562e61a0817eb32e({
size: size
})
}
],
[
(0, $6367bc87eb7d24ad$exports.HeadingContext),
{
// @ts-ignore
role: 'presentation',
styles: $e741ea6b88ce4866$export$300ac6f106ef584d
}
],
[
(0, $6367bc87eb7d24ad$exports.TextContext),
{
slots: {
'description': {
styles: $e741ea6b88ce4866$export$6d59db4903f20f7d({
size: size
})
}
}
}
]
],
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.Menu), {
...props,
className: $e741ea6b88ce4866$export$b1e5508a851be14d({
size: size,
isPopover: !!ctx || isSubmenu
}, ctx ? null : styles),
children: children
})
})
});
if (ctx || isSubmenu) return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $493371ef39bf7a55$exports.PopoverBase), {
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 $e741ea6b88ce4866$export$2e0a83ec2e27ecbb(props) {
return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.Separator), {
...props,
className: (0, $308b180f49d82d28$exports.mergeStyles)((0, $2d04acb918636de0$exports.divider)({
size: 'M',
orientation: 'horizontal',
isStaticColor: false
}), " se91 skk91 z3mU91 yAZKy91 JydxGIe91 GydxGIe91")
});
}
function $e741ea6b88ce4866$export$4b1545b4f2016d26(props) {
// remember, context doesn't work if it's around Section nor inside
let { size: size } = (0, $4tP7K$react.useContext)($e741ea6b88ce4866$var$InternalMenuContext);
return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsxs)((0, $4tP7K$reactjsxruntime.Fragment), {
children: [
/*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.MenuSection), {
...props,
className: $e741ea6b88ce4866$export$fe2e36411d703b3d({
size: size
}),
children: props.children
}),
/*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)($e741ea6b88ce4866$export$2e0a83ec2e27ecbb, {})
]
});
}
const $e741ea6b88ce4866$var$checkmarkIconSize = {
S: 'XS',
M: 'M',
L: 'L',
XL: 'XL'
};
const $e741ea6b88ce4866$var$linkIconSize = {
S: 'M',
M: 'L',
L: 'XL',
XL: 'XL'
};
function $e741ea6b88ce4866$export$2ce376c2cc3355c8(props1) {
let ref = (0, $4tP7K$react.useRef)(null);
let isLink = props1.href != null;
let isLinkOut = isLink && props1.target === '_blank';
let { size: size, hideLinkOutIcon: hideLinkOutIcon } = (0, $4tP7K$react.useContext)($e741ea6b88ce4866$var$InternalMenuContext);
let textValue = props1.textValue || (typeof props1.children === 'string' ? props1.children : undefined);
let { direction: direction } = (0, $4tP7K$reactaria.useLocale)();
return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.MenuItem), {
...props1,
textValue: textValue,
ref: ref,
style: (0, $2061c83559b50a66$exports.pressScale)(ref, props1.UNSAFE_style),
className: (renderProps)=>(props1.UNSAFE_className || '') + $e741ea6b88ce4866$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, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactjsxruntime.Fragment), {
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsxs)((0, $4tP7K$reactariacomponents.Provider), {
values: [
[
(0, $bde97c91243ed164$exports.IconContext),
{
slots: {
icon: {
render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
slot: 'icon',
styles: $e741ea6b88ce4866$export$31d1842a0fd736e6
}),
styles: $e741ea6b88ce4866$export$1ca1ec8b29a4ce27
},
descriptor: {
render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
slot: 'descriptor',
styles: $e741ea6b88ce4866$var$descriptor
})
} // TODO: remove once we have default?
}
}
],
[
(0, $6367bc87eb7d24ad$exports.TextContext),
{
slots: {
[(0, $4tP7K$reactariacomponents.DEFAULT_SLOT)]: {
styles: $e741ea6b88ce4866$export$1237798dc640739a({
size: size
})
},
label: {
styles: $e741ea6b88ce4866$export$1237798dc640739a({
size: size
})
},
description: {
styles: $e741ea6b88ce4866$export$6d59db4903f20f7d({
...renderProps,
size: size
})
},
value: {
styles: $e741ea6b88ce4866$var$value
}
}
}
],
[
(0, $6367bc87eb7d24ad$exports.KeyboardContext),
{
styles: $e741ea6b88ce4866$var$keyboard({
size: size,
isDisabled: renderProps.isDisabled
})
}
],
[
(0, $053b76ed3d29e13b$exports.ImageContext),
{
styles: $e741ea6b88ce4866$var$image({
size: size
})
}
]
],
children: [
renderProps.selectionMode === 'single' && !renderProps.hasSubmenu && /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $dba2b18fc5727f9b$exports.default), {
size: $e741ea6b88ce4866$var$checkmarkIconSize[size],
className: $e741ea6b88ce4866$export$292abbf31ed842a({
...renderProps,
size: size
})
}),
renderProps.selectionMode === 'multiple' && !renderProps.hasSubmenu && /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)("div", {
className: (0, $308b180f49d82d28$exports.mergeStyles)($e741ea6b88ce4866$var$checkbox, (0, $af04e099a53d3e85$exports.box)(checkboxRenderProps)),
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $dba2b18fc5727f9b$exports.default), {
size: size,
className: (0, $af04e099a53d3e85$exports.iconStyles)
})
}),
typeof children === 'string' ? /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $6367bc87eb7d24ad$exports.Text), {
slot: "label",
children: children
}) : children,
isLinkOut && !hideLinkOutIcon && /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)("div", {
slot: "descriptor",
className: $e741ea6b88ce4866$var$descriptor,
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $377d9a1b51957cfd$exports.default), {
size: $e741ea6b88ce4866$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, $4tP7K$reactjsxruntime.jsx)("div", {
slot: "descriptor",
className: $e741ea6b88ce4866$var$descriptor,
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $1df9f1c9262ce5df$exports.default), {
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 $e741ea6b88ce4866$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, $4tP7K$react.useState)(false);
let { addGlobalListener: addGlobalListener } = (0, $4tP7K$reactariautils.useGlobalListeners)();
let onPressStart = (e)=>{
if (e.pointerType !== 'mouse') return;
setPressed(true);
addGlobalListener(document, 'pointerup', ()=>{
setPressed(false);
}, {
once: true,
capture: true
});
};
return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)($e741ea6b88ce4866$var$InternalMenuTriggerContext.Provider, {
value: {
align: props.align,
direction: props.direction,
shouldFlip: props.shouldFlip
},
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariacomponents.MenuTrigger), {
...props,
children: /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)((0, $4tP7K$reactariainteractions.PressResponder), {
onPressStart: onPressStart,
isPressed: isPressed,
children: props.children
})
})
});
}
const $e741ea6b88ce4866$export$ecabc99eeffab7ca = (0, $4tP7K$reactariacomponents.SubmenuTrigger);
function $e741ea6b88ce4866$export$aebfca372ec4a7db(props) {
return /*#__PURE__*/ (0, $4tP7K$reactjsxruntime.jsx)("div", {});
}
//# sourceMappingURL=Menu.cjs.map