UNPKG

@react-spectrum/s2

Version:
444 lines (425 loc) 16.1 kB
require("./ActionButton.css"); var $7a26131f6144af2b$exports = require("./ActionButtonGroup.cjs"); var $38071d9ce246d4cf$exports = require("./Avatar.cjs"); var $e991cbcdf82ced71$exports = require("./CenterBaseline.cjs"); var $bde97c91243ed164$exports = require("../icons/Icon.cjs"); var $cd7301fb33ba8690$exports = require("./NotificationBadge.cjs"); var $2061c83559b50a66$exports = require("./pressScale.cjs"); var $5eb75e0c130e0669$exports = require("../icons/Skeleton.cjs"); var $6367bc87eb7d24ad$exports = require("./Content.cjs"); var $bfa4962d90c8af48$exports = require("./Form.cjs"); var $ac757a4c2bd72aee$exports = require("../icons/useSpectrumContextProps.cjs"); var $9ZEgK$reactjsxruntime = require("react/jsx-runtime"); var $9ZEgK$reactariacomponents = require("react-aria-components"); var $9ZEgK$react = require("react"); var $9ZEgK$reactspectrumutils = require("@react-spectrum/utils"); function $parcel$export(e, n, v, s) { Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true}); } $parcel$export(module.exports, "btnStyles", () => $6e265ff388155b91$export$446543cff2a0f496); $parcel$export(module.exports, "ActionButtonContext", () => $6e265ff388155b91$export$2ff682723a46d413); $parcel$export(module.exports, "ActionButton", () => $6e265ff388155b91$export$cfc7921d29ef7b80); /* * 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. */ // These styles handle both ActionButton and ToggleButton const $6e265ff388155b91$var$iconOnly = ':has([slot=icon], [slot=avatar]):not(:has([data-rsp-slot=text]))'; const $6e265ff388155b91$var$textOnly = ':has([data-rsp-slot=text]):not(:has([slot=icon], [slot=avatar]))'; const $6e265ff388155b91$var$controlStyle = { font: { "default": "ui", size: { XS: "ui-xs", S: "ui-sm", L: "ui-lg", XL: "ui-xl" } }, display: "flex", alignItems: "center", boxSizing: "border-box", paddingX: { "default": "edge-to-text", ":has([slot=icon]):not(:has([data-rsp-slot=text]))": 0 }, minWidth: { "default": 32, size: { XS: 20, S: 24, L: 40, XL: 48 } }, "--size": { type: "order", value: { "default": 1, size: { XS: 0.7901234567901234, S: 0.8888888888888888, L: 1.125, XL: 1.265625 } } }, "--radius": { type: "borderTopStartRadius", value: "default" }, borderRadius: "round(var(--radius) * var(--size), 1px)", columnGap: "text-to-visual", "--iconMargin": { type: "marginStart", value: { "default": "[-0.14285714285714285em]", ":has([slot=icon]):not(:has([data-rsp-slot=text]))": 0 } }, height: { "default": 32, size: { XS: 20, S: 24, L: 40, XL: 48 } } }; const $6e265ff388155b91$export$446543cff2a0f496 = function anonymous(props, overrides) { let rules = " "; let minWidth = false; let flexShrink = false; let flexGrow = false; let flexBasis = false; let zIndex = 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] === "_v") flexShrink = true; if (p[1] === "_u") flexGrow = true; if (p[1] === "_s") flexBasis = true; if (p[1] === "_9") zIndex = true; rules += p[0]; } if (props.isFocusVisible) rules += ' _Lf91'; else rules += ' _Le91'; if (props.isStaticColor) rules += ' Oe91'; else rules += ' Oh91'; rules += ' Olc91'; rules += ' _Mc91'; rules += ' _Kd91'; if (props.staticColor === "white") rules += ' -Ovbhqd-gcwrnr91'; else if (props.staticColor === "black") rules += ' -Ovbhqd-g4hn3s91'; 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'; } if (props.isStaticColor) { if (props.isDisabled) rules += ' pi91'; else if (props.isSelected) rules += ' ph91'; else { if (props.isPressed) rules += ' pk91'; else if (props.isFocusVisible) rules += ' pk91'; else if (props.isHovered) rules += ' pk91'; else rules += ' pj91'; } } else if (props.isDisabled) rules += ' pp91'; else if (props.isSelected) { if (props.isEmphasized) rules += ' px91'; else rules += ' pr91'; } else { if (props.isPressed) rules += ' po91'; else if (props.isFocusVisible) rules += ' po91'; else if (props.isHovered) rules += ' po91'; else rules += ' pt91'; } if (props.isDisabled) rules += ' plc91'; else if (props.isSelected) rules += ' ple91'; else rules += ' plb91'; rules += ' sd91'; rules += ' eb91'; rules += ' _oa91'; rules += ' SMBFGYc91'; rules += ' Rv91'; rules += ' RgLWx3bd91'; if (!minWidth) rules += ' N7yFGYc91'; 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'; if (props.density === "compact") { rules += ' od91'; rules += ' obj91'; } else rules += ' oj91'; if (props.density === "compact") { if (props.orientation === "vertical") rules += ' nbj91'; else if (props.orientation === "horizontal") rules += ' nkj91'; else rules += ' nd91'; } else rules += ' nj91'; if (props.density === "compact") { if (props.orientation === "vertical") rules += ' kkj91'; else if (props.orientation === "horizontal") rules += ' kbj91'; else rules += ' kd91'; } else rules += ' kj91'; if (props.density === "compact") { rules += ' jd91'; rules += ' jkj91'; } else rules += ' jj91'; rules += ' qc91'; rules += ' qsd91'; rules += ' -Qg41Lb-IAxCW0c91'; rules += ' -Qg41Lb-gLWx3bIy91'; rules += ' FRuFGYc91'; rules += ' _Ca91'; if (props.isInGroup) { if (!flexShrink) rules += ' _va91'; } else if (!flexShrink) rules += ' _vb91'; if (props.isJustified) { if (!flexGrow) rules += ' _ub91'; } if (props.isJustified) { if (!flexBasis) rules += ' _sb91'; } rules += ' _4c91'; rules += ' Yd91'; rules += ' Xb91'; rules += ' _2b91'; rules += ' _yb91'; rules += ' gqMFGYc91'; rules += ' -_8sjo0b-t5ZbAob91'; rules += ' _je91'; if (props.isFocusVisible) { if (!zIndex) rules += ' _9d91'; } rules += ' __ca91'; rules += ' -B5H9Ae-WXN7eQb91'; rules += ' -B5H9Ae-wAP22cWr91'; rules += ' -SqFa4c-ZuUmpre91'; rules += ' -dcAs1c-ZaYffXd91'; rules += ' -dcAs1c-y5UFLdZt9HF591'; rules += ' -dcAs1c-wAP22cZa91'; if (props.size === "XL") rules += ' -F_-Fz91'; else if (props.size === "L") rules += ' -F_-Fv91'; else if (props.size === "S") rules += ' -F_-Fp91'; else if (props.size === "XS") rules += ' -F_-Fn91'; else rules += ' -F_-Fx91'; if (props.isStaticColor) { if (props.isSelected) { if (props.isDisabled) { if (props.isQuiet) rules += ' -g_-g991'; else rules += ' -g_-gf91'; } else { if (props.isPressed) rules += ' -g_-gj91'; else if (props.isFocusVisible) rules += ' -g_-gj91'; else if (props.isHovered) rules += ' -g_-gj91'; else rules += ' -g_-gi91'; } } else if (props.isPressed) rules += ' -g_-gg91'; else if (props.isFocusVisible) rules += ' -g_-gg91'; else if (props.isHovered) rules += ' -g_-gg91'; else if (props.isQuiet) rules += ' -g_-g991'; else rules += ' -g_-gf91'; } else if (props.isSelected) { if (props.isDisabled) { if (props.isQuiet) rules += ' -g_-g991'; else rules += ' -g_-gH91'; } else if (props.isEmphasized) { if (props.isFocusVisible) rules += ' -g_-gUgARdd91'; else if (props.isPressed) rules += ' -g_-gUgARdd91'; else if (props.isHovered) rules += ' -g_-gUgARdd91'; else rules += ' -g_-g5qAiPc91'; } else { if (props.isPressed) rules += ' -g_-gu91'; else if (props.isFocusVisible) rules += ' -g_-gu91'; else if (props.isHovered) rules += ' -g_-gu91'; else rules += ' -g_-g091'; } } else { if (props.isPressed) rules += ' -g_-gF91'; else if (props.isFocusVisible) rules += ' -g_-gF91'; else if (props.isHovered) rules += ' -g_-gF91'; else if (props.isQuiet) rules += ' -g_-g991'; else rules += ' -g_-gH91'; } if (props.isSelected) { if (props.isDisabled) rules += ' -g_-lgb91'; else rules += ' -g_-lge91'; } else rules += ' -g_-lgb91'; rules += ' -S_-Sv91'; rules += ' -S_-gLWx3bSd91'; if (props.size === "XL") rules += ' -N_-Nl91'; else if (props.size === "L") rules += ' -N_-Nj91'; else if (props.size === "S") rules += ' -N_-Nf91'; else if (props.size === "XS") rules += ' -N_-Ne91'; else rules += ' -N_-Nk91'; return rules; }; // Matching icon sizes. TBD. const $6e265ff388155b91$var$avatarSize = { XS: 14, S: 16, M: 20, L: 22, X: 26 }; const $6e265ff388155b91$export$2ff682723a46d413 = /*#__PURE__*/ (0, $9ZEgK$react.createContext)(null); const $6e265ff388155b91$export$cfc7921d29ef7b80 = /*#__PURE__*/ (0, $9ZEgK$react.forwardRef)(function ActionButton(props, ref) { [props, ref] = (0, $ac757a4c2bd72aee$exports.useSpectrumContextProps)(props, ref, $6e265ff388155b91$export$2ff682723a46d413); props = (0, $bfa4962d90c8af48$exports.useFormProps)(props); let domRef = (0, $9ZEgK$reactspectrumutils.useFocusableRef)(ref); let overlayTriggerState = (0, $9ZEgK$react.useContext)((0, $9ZEgK$reactariacomponents.OverlayTriggerStateContext)); let ctx = (0, $9ZEgK$reactariacomponents.useSlottedContext)((0, $7a26131f6144af2b$exports.ActionButtonGroupContext)); let isInGroup = !!ctx; let { density: density = 'regular', isJustified: isJustified, orientation: orientation = 'horizontal', staticColor: staticColor = props.staticColor, isQuiet: isQuiet = props.isQuiet, size: size = props.size || 'M', isDisabled: isDisabled = props.isDisabled } = ctx || {}; return /*#__PURE__*/ (0, $9ZEgK$reactjsxruntime.jsx)((0, $9ZEgK$reactariacomponents.Button), { ...props, isDisabled: isDisabled, ref: domRef, style: (0, $2061c83559b50a66$exports.pressScale)(domRef, props.UNSAFE_style), className: (renderProps)=>(props.UNSAFE_className || '') + $6e265ff388155b91$export$446543cff2a0f496({ ...renderProps, // Retain hover styles when an overlay is open. isHovered: renderProps.isHovered || overlayTriggerState?.isOpen || false, staticColor: staticColor, isStaticColor: !!staticColor, size: size, isQuiet: isQuiet, density: density, isJustified: isJustified, orientation: orientation, isInGroup: isInGroup }, props.styles), children: /*#__PURE__*/ (0, $9ZEgK$reactjsxruntime.jsx)((0, $9ZEgK$reactariacomponents.Provider), { values: [ [ (0, $5eb75e0c130e0669$exports.SkeletonContext), null ], [ (0, $6367bc87eb7d24ad$exports.TextContext), { styles: " _Jb91 _Nc91 Pc91 _Yb91 _7c91" } ], [ (0, $bde97c91243ed164$exports.IconContext), { render: (0, $e991cbcdf82ced71$exports.centerBaseline)({ slot: 'icon', styles: " _Ja91" }), styles: " ZuUmpre91 FuUmpre91 I67logd91 _va91" } ], [ (0, $38071d9ce246d4cf$exports.AvatarContext), { size: $6e265ff388155b91$var$avatarSize[size], styles: " I67logd91 _va91 _Ja91" } ], [ (0, $cd7301fb33ba8690$exports.NotificationBadgeContext), { staticColor: staticColor, size: props.size === 'XS' ? undefined : props.size, isDisabled: props.isDisabled, styles: " _Pa91 WtedXZc91 _A1IiWH91 JlZStSb91 IlZStSb91" } ] ], children: typeof props.children === 'string' ? /*#__PURE__*/ (0, $9ZEgK$reactjsxruntime.jsx)((0, $6367bc87eb7d24ad$exports.Text), { children: props.children }) : props.children }) }); }); //# sourceMappingURL=ActionButton.cjs.map