@react-spectrum/s2
Version:
Spectrum 2 UI components in React
139 lines (127 loc) • 5.38 kB
JavaScript
require("./Link.css");
var $5eb75e0c130e0669$exports = require("../icons/Skeleton.cjs");
var $ac757a4c2bd72aee$exports = require("../icons/useSpectrumContextProps.cjs");
var $7PkpH$reactjsxruntime = require("react/jsx-runtime");
var $7PkpH$reactariacomponents = require("react-aria-components");
var $7PkpH$react = require("react");
var $7PkpH$reactspectrumutils = require("@react-spectrum/utils");
var $7PkpH$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, "LinkContext", () => $064658f378a85eef$export$e2509388b49734e7);
$parcel$export(module.exports, "Link", () => $064658f378a85eef$export$a6c7ac8248d6e38a);
/*
* 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 $064658f378a85eef$export$e2509388b49734e7 = /*#__PURE__*/ (0, $7PkpH$react.createContext)(null);
const $064658f378a85eef$var$link = function anonymous(props, overrides) {
let rules = " ";
rules += ((overrides || '').match(/(?:^|\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) || []).join('');
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';
rules += ' oa91';
rules += ' na91';
rules += ' ka91';
rules += ' ja91';
if (props.isStandalone) {
rules += ' ug91';
rules += ' uch91';
rules += ' udi91';
rules += ' uea91';
rules += ' ugb91';
rules += ' uhd91';
rules += ' uje91';
rules += ' uic91';
}
if (props.isStandalone) {
rules += ' vd91';
rules += ' vsf91';
}
if (props.isStandalone) {
rules += ' wc91';
rules += ' xc91';
rules += ' _xa91';
}
if (props.isStandalone) {
rules += ' _Fa91';
rules += ' _Ffb91';
}
if (props.isStaticColor) rules += ' pl91';
else if (props.variant === "secondary") {
if (props.isPressed) rules += ' po91';
else if (props.isFocusVisible) rules += ' po91';
else if (props.isHovered) rules += ' po91';
else rules += ' pt91';
} else if (props.variant === "primary") {
if (props.isPressed) rules += ' ps91';
else if (props.isFocusVisible) rules += ' ps91';
else if (props.isHovered) rules += ' ps91';
else rules += ' pu91';
}
rules += ' plf91';
rules += ' Yd91';
rules += ' Xb91';
rules += ' _2b91';
if (props.isStandalone) {
if (props.isQuiet) {
if (props.isFocusVisible) {
rules += ' _Xb91';
rules += ' __Va91';
} else if (props.isHovered) {
rules += ' _Xb91';
rules += ' __Va91';
} else rules += ' _Xa91';
}
} else {
rules += ' _Xb91';
rules += ' __Va91';
}
rules += ' __ca91';
return rules;
};
const $064658f378a85eef$export$a6c7ac8248d6e38a = /*#__PURE__*/ (0, $7PkpH$react.forwardRef)(function Link(props, ref) {
[props, ref] = (0, $ac757a4c2bd72aee$exports.useSpectrumContextProps)(props, ref, $064658f378a85eef$export$e2509388b49734e7);
let { variant: variant = 'primary', staticColor: staticColor, isQuiet: isQuiet, isStandalone: isStandalone, UNSAFE_style: UNSAFE_style, UNSAFE_className: UNSAFE_className = '', styles: styles, children: children } = props;
let domRef = (0, $7PkpH$reactspectrumutils.useFocusableRef)(ref);
let isSkeleton = (0, $7PkpH$react.useContext)((0, $5eb75e0c130e0669$exports.SkeletonContext)) || false;
[children, UNSAFE_style] = (0, $5eb75e0c130e0669$exports.useSkeletonText)(children, UNSAFE_style);
(0, $7PkpH$reactariautils.useLayoutEffect)(()=>{
if (domRef.current) // TODO: should RAC Link pass through inert?
domRef.current.inert = isSkeleton;
}, [
domRef,
isSkeleton
]);
return /*#__PURE__*/ (0, $7PkpH$reactjsxruntime.jsx)((0, $7PkpH$reactariacomponents.Link), {
...props,
ref: domRef,
style: UNSAFE_style,
className: (renderProps)=>UNSAFE_className + $064658f378a85eef$var$link({
...renderProps,
variant: variant,
staticColor: staticColor,
isStaticColor: !!staticColor,
isQuiet: isQuiet,
isStandalone: isStandalone,
isSkeleton: isSkeleton
}, styles),
children: children
});
});
//# sourceMappingURL=Link.cjs.map