@react-spectrum/s2
Version:
Spectrum 2 UI components in React
632 lines (613 loc) • 25.1 kB
JavaScript
require("./Field.css");
var $7e7cdbd2b8ae2467$exports = require("../icons/AlertTriangle.cjs");
var $5d3efbee7071458b$exports = require("./Asterisk.cjs");
var $e991cbcdf82ced71$exports = require("./CenterBaseline.cjs");
var $bab829476f85a155$exports = require("./ContextualHelp.cjs");
var $bde97c91243ed164$exports = require("../icons/Icon.cjs");
var $4526404114e78c80$exports = require("./intlStrings.cjs");
var $308b180f49d82d28$exports = require("../icons/runtime.cjs");
var $4hgIp$reactjsxruntime = require("react/jsx-runtime");
var $4hgIp$reactariacomponents = require("react-aria-components");
var $4hgIp$react = require("react");
var $4hgIp$reactspectrumutils = require("@react-spectrum/utils");
var $4hgIp$reactariautils = require("@react-aria/utils");
var $4hgIp$reactariai18n = require("@react-aria/i18n");
function $parcel$interopDefault(a) {
return a && a.__esModule ? a.default : a;
}
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
$parcel$export(module.exports, "FieldLabel", () => $a0b996a550bb0891$export$1acdcf5a973a8414);
$parcel$export(module.exports, "FieldGroup", () => $a0b996a550bb0891$export$f0fe469072bc6950);
$parcel$export(module.exports, "Input", () => $a0b996a550bb0891$export$f5b8910cec6cf069);
$parcel$export(module.exports, "helpTextStyles", () => $a0b996a550bb0891$export$13b1fd5431595bf6);
$parcel$export(module.exports, "HelpText", () => $a0b996a550bb0891$export$a67c0bc59081311a);
$parcel$export(module.exports, "FieldErrorIcon", () => $a0b996a550bb0891$export$bda0d075e0e342c9);
/*
* 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 $a0b996a550bb0891$export$1acdcf5a973a8414 = /*#__PURE__*/ (0, $4hgIp$react.forwardRef)(function FieldLabel(props, ref) {
let stringFormatter = (0, $4hgIp$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($4526404114e78c80$exports))), '@react-spectrum/s2');
let { isDisabled: isDisabled, isRequired: isRequired, size: size = 'M', necessityIndicator: necessityIndicator = 'icon', includeNecessityIndicatorInAccessibilityName: includeNecessityIndicatorInAccessibilityName = false, labelAlign: labelAlign, labelPosition: labelPosition, staticColor: staticColor, contextualHelp: contextualHelp, isQuiet: isQuiet, UNSAFE_style: UNSAFE_style, UNSAFE_className: UNSAFE_className = '', ...labelProps } = props;
let domRef = (0, $4hgIp$reactspectrumutils.useDOMRef)(ref);
let contextualHelpId = (0, $4hgIp$reactariautils.useId)();
let fallbackLabelPropsId = (0, $4hgIp$reactariautils.useId)();
if (contextualHelp && !labelProps.id) labelProps.id = fallbackLabelPropsId;
if (!props.children) return null;
return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsxs)("div", {
className: function anonymous(props) {
let rules = " ";
rules += ' zv6x9r91';
rules += ' yv6x9r91';
rules += ' Bv6x9r91';
rules += ' Av6x9r91';
rules += ' sf91';
if (props.labelAlign === "end") rules += ' _Wb91';
else if (props.labelAlign === "start") rules += ' _Wd91';
if (props.labelPosition === "top") rules += ' QgOnRt91';
if (props.isQuiet) rules += ' _qd91';
else if (props.labelPosition === "top") rules += ' _qb91';
return rules;
}({
labelAlign: labelAlign,
labelPosition: labelPosition,
isQuiet: isQuiet
}),
children: [
/*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsxs)((0, $4hgIp$reactariacomponents.Label), {
...labelProps,
ref: domRef,
style: UNSAFE_style,
className: UNSAFE_className + (0, $308b180f49d82d28$exports.mergeStyles)(function anonymous(props) {
let rules = " ";
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.isStaticColor) rules += ' pl91';
else if (props.isDisabled) rules += ' pp91';
else rules += ' pv91';
rules += ' plb91';
rules += ' ri91';
return rules;
}({
labelPosition: labelPosition,
isDisabled: isDisabled,
size: size,
isStaticColor: !!staticColor
}), props.styles),
children: [
props.children,
(isRequired || necessityIndicator === 'label') && /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsxs)("span", {
className: " _7c91",
children: [
"\xa0",
necessityIndicator === 'icon' && /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $5d3efbee7071458b$exports.default), {
size: size === 'S' ? 'M' : size,
className: " -_8sjo0b-t5ZbAob91",
"aria-label": includeNecessityIndicatorInAccessibilityName ? stringFormatter.format('label.(required)') : undefined
}),
necessityIndicator === 'label' && /* The necessity label is hidden to screen readers if the field is required because
* aria-required is set on the field in that case. That will already be announced,
* so no need to duplicate it here. If optional, we do want it to be announced here.
*/ /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)("span", {
"aria-hidden": !includeNecessityIndicatorInAccessibilityName ? isRequired : undefined,
children: isRequired ? stringFormatter.format('label.(required)') : stringFormatter.format('label.(optional)')
})
]
})
]
}),
contextualHelp && /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsxs)("span", {
className: " _7c91",
children: [
"\xa0",
/*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $e991cbcdf82ced71$exports.CenterBaseline), {
styles: " sh91 Fa91",
children: /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $bab829476f85a155$exports.ContextualHelpContext).Provider, {
value: {
id: contextualHelpId,
'aria-labelledby': labelProps?.id ? `${labelProps.id} ${contextualHelpId}` : undefined,
size: size === 'L' || size === 'XL' ? 'S' : 'XS'
},
children: contextualHelp
})
})
]
})
]
});
});
const $a0b996a550bb0891$var$fieldGroupStyles = function anonymous(props) {
let rules = " ";
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';
else {
if (props.isPressed) rules += ' po91';
else if (props.isFocusVisible) rules += ' po91';
else if (props.isHovered) rules += ' po91';
else rules += ' pt91';
}
rules += ' sd91';
rules += ' eb91';
rules += ' _oa91';
rules += ' SMBFGYc91';
rules += ' RfBFGYc91';
if (props.size === "XL") rules += ' Nl91';
else if (props.size === "L") rules += ' Nj91';
else if (props.size === "S") rules += ' Nf91';
else if (props.size === "XS") rules += ' Ne91';
else 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 += ' FRuFGYc91';
rules += ' zXcEWr91';
rules += ' yXcEWr91';
rules += ' BXcEWr91';
rules += ' AXcEWr91';
if (props.isQuiet) rules += ' _qd91';
else rules += ' _qtb91';
if (props.size === "XL") rules += ' -Anxdcc-Zt91';
else if (props.size === "L") rules += ' -Anxdcc-ZStdtne91';
else if (props.size === "S") rules += ' -Anxdcc-Zr91';
else rules += ' -Anxdcc-Z3fn9H91';
rules += ' __v6TNLWb91';
rules += ' _kc91';
rules += ' hc91';
rules += ' mCPFGYc91';
rules += ' l5OFGYc91';
rules += ' _jf91';
rules += ' Yd91';
rules += ' Xb91';
rules += ' _2b91';
if (props.isDisabled) {
rules += ' iq91';
rules += ' ilc91';
} else if (props.isFocusWithin) {
if (props.isInvalid) rules += ' im91';
else rules += ' in91';
rules += ' ild91';
} else if (props.isInvalid) {
if (props.isPressed) rules += ' im91';
else if (props.isFocusVisible) rules += ' im91';
else if (props.isHovered) rules += ' im91';
else rules += ' ip91';
} else {
if (props.isPressed) rules += ' io91';
else if (props.isFocusVisible) rules += ' io91';
else if (props.isHovered) rules += ' io91';
else rules += ' iq91';
}
rules += ' gX91';
if (props.isDisabled) rules += ' ri91';
else rules += ' rD91';
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';
rules += ' -S_-Sv91';
rules += ' -R_-Rv91';
rules += ' -m_-mc91';
rules += ' -l_-lc91';
return rules;
};
const $a0b996a550bb0891$export$f0fe469072bc6950 = /*#__PURE__*/ (0, $4hgIp$react.forwardRef)(function FieldGroup(props, ref) {
return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $4hgIp$reactariacomponents.Group), {
ref: ref,
...props,
onPointerDown: (e)=>{
// Forward focus to input element when clicking on a non-interactive child (e.g. icon or padding)
if (e.pointerType === 'mouse' && !e.target.closest('button,input,textarea')) {
e.preventDefault();
e.currentTarget.querySelector('input')?.focus();
}
},
onPointerUp: (e)=>{
if (e.pointerType !== 'mouse' && !e.target.closest('button,input,textarea')) {
e.preventDefault();
e.currentTarget.querySelector('input')?.focus();
}
},
style: props.UNSAFE_style,
className: (renderProps)=>(props.UNSAFE_className || '') + ' ' + (0, $e991cbcdf82ced71$exports.centerBaselineBefore) + (0, $308b180f49d82d28$exports.mergeStyles)($a0b996a550bb0891$var$fieldGroupStyles({
...renderProps,
size: props.size || 'M'
}), props.styles)
});
});
const $a0b996a550bb0891$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, $4hgIp$react.forwardRef)(function Input(props, ref) {
let { UNSAFE_className: UNSAFE_className = '', UNSAFE_style: UNSAFE_style, styles: styles, ...otherProps } = props;
return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $4hgIp$reactariacomponents.Input), {
...otherProps,
ref: ref,
style: UNSAFE_style,
className: UNSAFE_className + (0, $308b180f49d82d28$exports.mergeStyles)(" Td91 Qd91 Sd91 Rd91 g991 p40ub4c91 u40ub4c91 v40ub4c91 w40ub4c91 x40ub4c91 _xa91 _ub91 _vb91 Na91 Za91 _Le91 _je91 _Nc91 Pc91 _Yb91 _7c91", styles)
});
});
const $a0b996a550bb0891$export$13b1fd5431595bf6 = function anonymous(props) {
let rules = " ";
rules += ' zzBWQ8d91';
rules += ' yzBWQ8d91';
rules += ' BzBWQ8d91';
rules += ' AzBWQ8d91';
rules += ' sd91';
rules += ' ea91';
rules += ' Uc91';
rules += ' Usd91';
rules += ' qc91';
rules += ' qsd91';
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';
else if (props.isInvalid) rules += ' pq91';
else rules += ' pv91';
rules += ' -_8sjo0b-t5ZbAob91';
rules += ' _qb91';
rules += ' TgOnRt91';
if (props.isDisabled) rules += ' ri91';
else rules += ' rD91';
return rules;
};
function $a0b996a550bb0891$export$a67c0bc59081311a(props) {
let domDescriptionRef = (0, $4hgIp$reactspectrumutils.useDOMRef)(props.descriptionRef || null);
let domErrorRef = (0, $4hgIp$reactspectrumutils.useDOMRef)(props.errorRef || null);
if (!props.isInvalid && props.description) return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $4hgIp$reactariacomponents.Text), {
slot: "description",
ref: domDescriptionRef,
className: $a0b996a550bb0891$export$13b1fd5431595bf6({
size: props.size || 'M',
isDisabled: props.isDisabled
}),
children: props.description
});
return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $4hgIp$reactariacomponents.FieldError), {
...props,
ref: domErrorRef,
className: (renderProps)=>$a0b996a550bb0891$export$13b1fd5431595bf6({
...renderProps,
size: props.size || 'M',
isDisabled: props.isDisabled
}),
children: (0, $4hgIp$reactariacomponents.composeRenderProps)(props.children, (children, { validationErrors: validationErrors })=>/*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsxs)((0, $4hgIp$reactjsxruntime.Fragment), {
children: [
props.showErrorIcon && /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $e991cbcdf82ced71$exports.CenterBaseline), {
children: /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $7e7cdbd2b8ae2467$exports.default), {})
}),
/*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)("span", {
children: children || validationErrors.join(' ')
})
]
}))
});
}
function $a0b996a550bb0891$export$bda0d075e0e342c9(props) {
return /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $4hgIp$reactariacomponents.Provider), {
values: [
[
(0, $bde97c91243ed164$exports.IconContext),
{
render: (0, $e991cbcdf82ced71$exports.centerBaseline)({
slot: 'icon',
styles: " _Ja91 _va91 -_8sjo0b-tq91 -_8sjo0b-ltUG8Hlc91"
}),
styles: " ZuUmpre91 FuUmpre91 It91 Isu91 HAxCW0c91 _va91"
}
]
],
children: !props.isDisabled && /*#__PURE__*/ (0, $4hgIp$reactjsxruntime.jsx)((0, $7e7cdbd2b8ae2467$exports.default), {})
});
}
//# sourceMappingURL=Field.cjs.map