UNPKG

@react-spectrum/s2

Version:
622 lines (605 loc) 24.8 kB
import "./Field.css"; import $e17a4836f4b6cc28$export$2e2bcd8739ae039 from "../icons/AlertTriangle.mjs"; import $8373af657584cab2$export$2e2bcd8739ae039 from "./Asterisk.mjs"; import {centerBaseline as $1f4b04be3f24aae3$export$9d7e2342a7e53afa, CenterBaseline as $1f4b04be3f24aae3$export$768dac55bb57081d, centerBaselineBefore as $1f4b04be3f24aae3$export$179e9489a09b14ac} from "./CenterBaseline.mjs"; import {ContextualHelpContext as $8e176595bc49ca3f$export$41b9afaaba473494} from "./ContextualHelp.mjs"; import {IconContext as $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed} from "../icons/Icon.mjs"; import $7A6HT$intlStringsmjs from "./intlStrings.mjs"; import {mergeStyles as $feb886035e0d4633$export$e618dc39ac9ad607} from "../icons/runtime.mjs"; import {jsxs as $7A6HT$jsxs, jsx as $7A6HT$jsx, Fragment as $7A6HT$Fragment} from "react/jsx-runtime"; import {Label as $7A6HT$Label, Group as $7A6HT$Group, Input as $7A6HT$Input, Text as $7A6HT$Text, FieldError as $7A6HT$FieldError, composeRenderProps as $7A6HT$composeRenderProps, Provider as $7A6HT$Provider} from "react-aria-components"; import {forwardRef as $7A6HT$forwardRef} from "react"; import {useDOMRef as $7A6HT$useDOMRef} from "@react-spectrum/utils"; import {useId as $7A6HT$useId} from "@react-aria/utils"; import {useLocalizedStringFormatter as $7A6HT$useLocalizedStringFormatter} from "@react-aria/i18n"; function $parcel$interopDefault(a) { return a && a.__esModule ? a.default : a; } /* * 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 $9afd80978c252040$export$1acdcf5a973a8414 = /*#__PURE__*/ (0, $7A6HT$forwardRef)(function FieldLabel(props, ref) { let stringFormatter = (0, $7A6HT$useLocalizedStringFormatter)((0, ($parcel$interopDefault($7A6HT$intlStringsmjs))), '@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, $7A6HT$useDOMRef)(ref); let contextualHelpId = (0, $7A6HT$useId)(); let fallbackLabelPropsId = (0, $7A6HT$useId)(); if (contextualHelp && !labelProps.id) labelProps.id = fallbackLabelPropsId; if (!props.children) return null; return /*#__PURE__*/ (0, $7A6HT$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, $7A6HT$jsxs)((0, $7A6HT$Label), { ...labelProps, ref: domRef, style: UNSAFE_style, className: UNSAFE_className + (0, $feb886035e0d4633$export$e618dc39ac9ad607)(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, $7A6HT$jsxs)("span", { className: " _7c91", children: [ "\xa0", necessityIndicator === 'icon' && /*#__PURE__*/ (0, $7A6HT$jsx)((0, $8373af657584cab2$export$2e2bcd8739ae039), { 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, $7A6HT$jsx)("span", { "aria-hidden": !includeNecessityIndicatorInAccessibilityName ? isRequired : undefined, children: isRequired ? stringFormatter.format('label.(required)') : stringFormatter.format('label.(optional)') }) ] }) ] }), contextualHelp && /*#__PURE__*/ (0, $7A6HT$jsxs)("span", { className: " _7c91", children: [ "\xa0", /*#__PURE__*/ (0, $7A6HT$jsx)((0, $1f4b04be3f24aae3$export$768dac55bb57081d), { styles: " sh91 Fa91", children: /*#__PURE__*/ (0, $7A6HT$jsx)((0, $8e176595bc49ca3f$export$41b9afaaba473494).Provider, { value: { id: contextualHelpId, 'aria-labelledby': labelProps?.id ? `${labelProps.id} ${contextualHelpId}` : undefined, size: size === 'L' || size === 'XL' ? 'S' : 'XS' }, children: contextualHelp }) }) ] }) ] }); }); const $9afd80978c252040$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 $9afd80978c252040$export$f0fe469072bc6950 = /*#__PURE__*/ (0, $7A6HT$forwardRef)(function FieldGroup(props, ref) { return /*#__PURE__*/ (0, $7A6HT$jsx)((0, $7A6HT$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, $1f4b04be3f24aae3$export$179e9489a09b14ac) + (0, $feb886035e0d4633$export$e618dc39ac9ad607)($9afd80978c252040$var$fieldGroupStyles({ ...renderProps, size: props.size || 'M' }), props.styles) }); }); const $9afd80978c252040$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, $7A6HT$forwardRef)(function Input(props, ref) { let { UNSAFE_className: UNSAFE_className = '', UNSAFE_style: UNSAFE_style, styles: styles, ...otherProps } = props; return /*#__PURE__*/ (0, $7A6HT$jsx)((0, $7A6HT$Input), { ...otherProps, ref: ref, style: UNSAFE_style, className: UNSAFE_className + (0, $feb886035e0d4633$export$e618dc39ac9ad607)(" Td91 Qd91 Sd91 Rd91 g991 p40ub4c91 u40ub4c91 v40ub4c91 w40ub4c91 x40ub4c91 _xa91 _ub91 _vb91 Na91 Za91 _Le91 _je91 _Nc91 Pc91 _Yb91 _7c91", styles) }); }); const $9afd80978c252040$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 $9afd80978c252040$export$a67c0bc59081311a(props) { let domDescriptionRef = (0, $7A6HT$useDOMRef)(props.descriptionRef || null); let domErrorRef = (0, $7A6HT$useDOMRef)(props.errorRef || null); if (!props.isInvalid && props.description) return /*#__PURE__*/ (0, $7A6HT$jsx)((0, $7A6HT$Text), { slot: "description", ref: domDescriptionRef, className: $9afd80978c252040$export$13b1fd5431595bf6({ size: props.size || 'M', isDisabled: props.isDisabled }), children: props.description }); return /*#__PURE__*/ (0, $7A6HT$jsx)((0, $7A6HT$FieldError), { ...props, ref: domErrorRef, className: (renderProps)=>$9afd80978c252040$export$13b1fd5431595bf6({ ...renderProps, size: props.size || 'M', isDisabled: props.isDisabled }), children: (0, $7A6HT$composeRenderProps)(props.children, (children, { validationErrors: validationErrors })=>/*#__PURE__*/ (0, $7A6HT$jsxs)((0, $7A6HT$Fragment), { children: [ props.showErrorIcon && /*#__PURE__*/ (0, $7A6HT$jsx)((0, $1f4b04be3f24aae3$export$768dac55bb57081d), { children: /*#__PURE__*/ (0, $7A6HT$jsx)((0, $e17a4836f4b6cc28$export$2e2bcd8739ae039), {}) }), /*#__PURE__*/ (0, $7A6HT$jsx)("span", { children: children || validationErrors.join(' ') }) ] })) }); } function $9afd80978c252040$export$bda0d075e0e342c9(props) { return /*#__PURE__*/ (0, $7A6HT$jsx)((0, $7A6HT$Provider), { values: [ [ (0, $ac8c32e6775ddd1f$export$a49f528ae1a4d0ed), { render: (0, $1f4b04be3f24aae3$export$9d7e2342a7e53afa)({ slot: 'icon', styles: " _Ja91 _va91 -_8sjo0b-tq91 -_8sjo0b-ltUG8Hlc91" }), styles: " ZuUmpre91 FuUmpre91 It91 Isu91 HAxCW0c91 _va91" } ] ], children: !props.isDisabled && /*#__PURE__*/ (0, $7A6HT$jsx)((0, $e17a4836f4b6cc28$export$2e2bcd8739ae039), {}) }); } export {$9afd80978c252040$export$1acdcf5a973a8414 as FieldLabel, $9afd80978c252040$export$f0fe469072bc6950 as FieldGroup, $9afd80978c252040$export$f5b8910cec6cf069 as Input, $9afd80978c252040$export$13b1fd5431595bf6 as helpTextStyles, $9afd80978c252040$export$a67c0bc59081311a as HelpText, $9afd80978c252040$export$bda0d075e0e342c9 as FieldErrorIcon}; //# sourceMappingURL=Field.mjs.map