@react-spectrum/textfield 3.1.7 → 3.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./node_modules/@adobe/spectrum-css-temp/components/fieldlabel/vars.css","./node_modules/@adobe/spectrum-css-temp/components/textfield/vars.css","./packages/@react-spectrum/textfield/src/TextFieldBase.tsx","./packages/@react-spectrum/textfield/src/TextArea.tsx","./packages/@react-spectrum/textfield/src/TextField.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport AlertMedium from '@spectrum-icons/ui/AlertMedium';\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {\n classNames,\n createFocusableRef,\n useStyleProps\n} from '@react-spectrum/utils';\nimport {FocusRing} from '@react-aria/focus';\nimport {Label} from '@react-spectrum/label';\nimport {LabelPosition, PressEvents} from '@react-types/shared';\nimport labelStyles from '@adobe/spectrum-css-temp/components/fieldlabel/vars.css';\nimport {mergeProps} from '@react-aria/utils';\nimport React, {cloneElement, forwardRef, InputHTMLAttributes, LabelHTMLAttributes, ReactElement, Ref, RefObject, TextareaHTMLAttributes, useImperativeHandle, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport styles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\nimport {useFormProps} from '@react-spectrum/form';\nimport {useHover} from '@react-aria/interactions';\nimport {useProviderProps} from '@react-spectrum/provider';\n\ninterface TextFieldBaseProps extends SpectrumTextFieldProps, PressEvents {\n wrapperChildren?: ReactElement | ReactElement[],\n inputClassName?: string,\n validationIconClassName?: string,\n multiLine?: boolean,\n labelProps?: LabelHTMLAttributes<HTMLLabelElement>,\n inputProps: InputHTMLAttributes<HTMLInputElement> | TextareaHTMLAttributes<HTMLTextAreaElement>,\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>,\n loadingIndicator?: ReactElement,\n isLoading?: boolean\n}\n\nfunction TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {\n props = useProviderProps(props);\n props = useFormProps(props);\n let {\n label,\n labelPosition = 'top' as LabelPosition,\n labelAlign,\n isRequired,\n necessityIndicator,\n validationState,\n icon,\n isQuiet = false,\n isDisabled,\n multiLine,\n autoFocus,\n inputClassName,\n wrapperChildren,\n labelProps,\n inputProps,\n inputRef,\n isLoading,\n loadingIndicator,\n validationIconClassName,\n ...otherProps\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let domRef = useRef<HTMLDivElement>(null);\n let defaultInputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n inputRef = inputRef || defaultInputRef;\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef.current;\n }\n }));\n\n let {styleProps} = useStyleProps(otherProps);\n let ElementType: React.ElementType = multiLine ? 'textarea' : 'input';\n let isInvalid = validationState === 'invalid';\n\n if (icon) {\n let UNSAFE_className = classNames(\n styles,\n icon.props && icon.props.UNSAFE_className,\n 'spectrum-Textfield-icon'\n );\n\n icon = cloneElement(icon, {\n UNSAFE_className,\n size: 'S'\n });\n }\n\n let validationIcon = isInvalid ? <AlertMedium /> : <CheckmarkMedium />;\n let validation = cloneElement(validationIcon, {\n UNSAFE_className: classNames(\n styles,\n 'spectrum-Textfield-validationIcon',\n validationIconClassName\n )\n });\n\n let textField = (\n <div\n className={\n classNames(\n styles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--loadable': loadingIndicator,\n 'spectrum-Textfield--quiet': isQuiet,\n 'spectrum-Textfield--multiline': multiLine\n }\n )\n }>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} isTextInput autoFocus={autoFocus}>\n <ElementType\n {...mergeProps(inputProps, hoverProps)}\n ref={inputRef as any}\n rows={multiLine ? 1 : undefined}\n className={\n classNames(\n styles,\n 'spectrum-Textfield-input',\n {\n 'spectrum-Textfield-inputIcon': icon,\n 'is-hovered': isHovered\n },\n inputClassName\n )\n } />\n </FocusRing>\n {icon}\n {validationState && !isLoading ? validation : null}\n {isLoading && loadingIndicator}\n {wrapperChildren}\n </div>\n );\n\n if (label) {\n let labelWrapperClass = classNames(\n labelStyles,\n 'spectrum-Field',\n {\n 'spectrum-Field--positionTop': labelPosition === 'top',\n 'spectrum-Field--positionSide': labelPosition === 'side'\n },\n styleProps.className\n );\n\n textField = React.cloneElement(textField, mergeProps(textField.props, {\n className: classNames(\n labelStyles,\n 'spectrum-Field-field',\n {\n 'spectrum-Field-field--multiline': multiLine\n }\n )\n }));\n\n return (\n <div\n {...styleProps}\n ref={domRef}\n className={labelWrapperClass}>\n <Label\n {...labelProps}\n labelPosition={labelPosition}\n labelAlign={labelAlign}\n isRequired={isRequired}\n necessityIndicator={necessityIndicator}>\n {label}\n </Label>\n {textField}\n </div>\n );\n }\n\n return React.cloneElement(textField, mergeProps(textField.props, {\n ...styleProps,\n ref: domRef\n }));\n}\n\nconst _TextFieldBase = forwardRef(TextFieldBase);\nexport {_TextFieldBase as TextFieldBase};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {chain, useLayoutEffect} from '@react-aria/utils';\nimport React, {RefObject, useCallback, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport {TextFieldBase} from './TextFieldBase';\nimport {useControlledState} from '@react-stately/utils';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTextField} from '@react-aria/textfield';\n\nfunction TextArea(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {\n props = useProviderProps(props);\n let {\n isDisabled = false,\n isQuiet = false,\n isReadOnly = false,\n isRequired = false,\n onChange,\n ...otherProps\n } = props;\n\n // not in stately because this is so we know when to re-measure, which is a spectrum design\n let [inputValue, setInputValue] = useControlledState(props.value, props.defaultValue, () => {});\n\n let inputRef = useRef<HTMLTextAreaElement>();\n\n let onHeightChange = useCallback(() => {\n if (isQuiet) {\n let input = inputRef.current;\n let prevAlignment = input.style.alignSelf;\n input.style.alignSelf = 'start';\n input.style.height = 'auto';\n input.style.height = `${input.scrollHeight}px`;\n input.style.alignSelf = prevAlignment;\n }\n }, [isQuiet, inputRef]);\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n onHeightChange();\n }\n }, [onHeightChange, inputValue, inputRef]);\n\n\n let {labelProps, inputProps} = useTextField({\n ...props,\n onChange: chain(onChange, setInputValue),\n inputElementType: 'textarea'\n }, inputRef);\n\n return (\n <TextFieldBase\n {...otherProps}\n ref={ref}\n inputRef={inputRef}\n labelProps={labelProps}\n inputProps={inputProps}\n multiLine\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />\n );\n}\n\n/**\n * TextAreas are multiline text inputs, useful for cases where users have\n * a sizable amount of text to enter. They allow for all customizations that\n * are available to text fields.\n */\nlet _TextArea = React.forwardRef(TextArea);\nexport {_TextArea as TextArea};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {forwardRef, RefObject, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport {TextFieldBase} from './TextFieldBase';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTextField} from '@react-aria/textfield';\n\nfunction TextField(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {\n props = useProviderProps(props);\n\n let inputRef = useRef<HTMLInputElement>();\n let {labelProps, inputProps} = useTextField(props, inputRef);\n return (\n <TextFieldBase\n {...props}\n labelProps={labelProps}\n inputProps={inputProps}\n ref={ref}\n inputRef={inputRef} />\n );\n}\n\n/**\n * TextFields are text inputs that allow users to input custom text entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\nconst _TextField = forwardRef(TextField);\nexport {_TextField as TextField};\n"],"names":["$parcel$interopDefault","a","__esModule","default","TextFieldBase","props","ref","useProviderProps","useFormProps","label","labelPosition","labelAlign","isRequired","necessityIndicator","validationState","icon","isQuiet","isDisabled","multiLine","autoFocus","inputClassName","wrapperChildren","labelProps","inputProps","inputRef","isLoading","loadingIndicator","validationIconClassName","otherProps","hoverProps","isHovered","useHover","domRef","useRef","defaultInputRef","useImperativeHandle","createFocusableRef","select","current","getInputElement","styleProps","useStyleProps","ElementType","isInvalid","UNSAFE_className","classNames","cloneElement","size","validationIcon","validation","textField","mergeProps","undefined","labelWrapperClass","className","React","_TextFieldBase","forwardRef","TextArea","isReadOnly","onChange","inputValue","setInputValue","useControlledState","value","defaultValue","onHeightChange","useCallback","input","prevAlignment","style","alignSelf","height","scrollHeight","useLayoutEffect","useTextField","chain","inputElementType","_TextArea","TextField","_TextField"],"version":3,"file":"module.js.map"}
1
+ {"mappings":"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","sources":["packages/@react-spectrum/textfield/src/index.ts","packages/@react-spectrum/textfield/src/TextArea.tsx","packages/@react-spectrum/textfield/src/TextFieldBase.tsx","packages/@adobe/spectrum-css-temp/components/textfield/vars.css","packages/@react-spectrum/textfield/src/TextField.tsx"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport * from './TextArea';\nexport * from './TextField';\nexport * from './TextFieldBase';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {chain, useLayoutEffect} from '@react-aria/utils';\nimport React, {RefObject, useCallback, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport {TextFieldBase} from './TextFieldBase';\nimport {useControlledState} from '@react-stately/utils';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTextField} from '@react-aria/textfield';\n\nfunction TextArea(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {\n props = useProviderProps(props);\n let {\n isDisabled = false,\n isQuiet = false,\n isReadOnly = false,\n isRequired = false,\n onChange,\n ...otherProps\n } = props;\n\n // not in stately because this is so we know when to re-measure, which is a spectrum design\n let [inputValue, setInputValue] = useControlledState(props.value, props.defaultValue, () => {});\n\n let inputRef = useRef<HTMLTextAreaElement>();\n\n let onHeightChange = useCallback(() => {\n if (isQuiet) {\n let input = inputRef.current;\n let prevAlignment = input.style.alignSelf;\n input.style.alignSelf = 'start';\n input.style.height = 'auto';\n input.style.height = `${input.scrollHeight}px`;\n input.style.alignSelf = prevAlignment;\n }\n }, [isQuiet, inputRef]);\n\n useLayoutEffect(() => {\n if (inputRef.current) {\n onHeightChange();\n }\n }, [onHeightChange, inputValue, inputRef]);\n\n\n let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField({\n ...props,\n onChange: chain(onChange, setInputValue),\n inputElementType: 'textarea'\n }, inputRef);\n\n return (\n <TextFieldBase\n {...otherProps}\n ref={ref}\n inputRef={inputRef}\n labelProps={labelProps}\n inputProps={inputProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n multiLine\n isDisabled={isDisabled}\n isQuiet={isQuiet}\n isReadOnly={isReadOnly}\n isRequired={isRequired} />\n );\n}\n\n/**\n * TextAreas are multiline text inputs, useful for cases where users have\n * a sizable amount of text to enter. They allow for all customizations that\n * are available to text fields.\n */\nlet _TextArea = React.forwardRef(TextArea);\nexport {_TextArea as TextArea};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport AlertMedium from '@spectrum-icons/ui/AlertMedium';\nimport CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';\nimport {classNames, createFocusableRef} from '@react-spectrum/utils';\nimport {Field} from '@react-spectrum/label';\nimport {FocusRing} from '@react-aria/focus';\nimport {mergeProps} from '@react-aria/utils';\nimport {PressEvents} from '@react-types/shared';\nimport React, {cloneElement, forwardRef, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, ReactElement, Ref, RefObject, TextareaHTMLAttributes, useImperativeHandle, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport styles from '@adobe/spectrum-css-temp/components/textfield/vars.css';\nimport {useHover} from '@react-aria/interactions';\n\ninterface TextFieldBaseProps extends Omit<SpectrumTextFieldProps, 'onChange'>, PressEvents {\n wrapperChildren?: ReactElement | ReactElement[],\n inputClassName?: string,\n validationIconClassName?: string,\n multiLine?: boolean,\n labelProps?: LabelHTMLAttributes<HTMLLabelElement>,\n inputProps: InputHTMLAttributes<HTMLInputElement> | TextareaHTMLAttributes<HTMLTextAreaElement>,\n descriptionProps?: HTMLAttributes<HTMLElement>,\n errorMessageProps?: HTMLAttributes<HTMLElement>,\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>,\n loadingIndicator?: ReactElement,\n isLoading?: boolean\n}\n\nfunction TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {\n let {\n label,\n validationState,\n icon,\n isQuiet = false,\n isDisabled,\n multiLine,\n autoFocus,\n inputClassName,\n wrapperChildren,\n labelProps,\n inputProps,\n descriptionProps,\n errorMessageProps,\n inputRef,\n isLoading,\n loadingIndicator,\n validationIconClassName\n } = props;\n let {hoverProps, isHovered} = useHover({isDisabled});\n let domRef = useRef<HTMLDivElement>(null);\n let defaultInputRef = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n inputRef = inputRef || defaultInputRef;\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef.current;\n }\n }));\n\n let ElementType: React.ElementType = multiLine ? 'textarea' : 'input';\n let isInvalid = validationState === 'invalid';\n\n if (icon) {\n let UNSAFE_className = classNames(\n styles,\n icon.props && icon.props.UNSAFE_className,\n 'spectrum-Textfield-icon'\n );\n\n icon = cloneElement(icon, {\n UNSAFE_className,\n size: 'S'\n });\n }\n\n let validationIcon = isInvalid ? <AlertMedium /> : <CheckmarkMedium />;\n let validation = cloneElement(validationIcon, {\n UNSAFE_className: classNames(\n styles,\n 'spectrum-Textfield-validationIcon',\n validationIconClassName\n )\n });\n\n let textField = (\n <div\n className={\n classNames(\n styles,\n 'spectrum-Textfield',\n {\n 'spectrum-Textfield--invalid': isInvalid,\n 'spectrum-Textfield--valid': validationState === 'valid',\n 'spectrum-Textfield--loadable': loadingIndicator,\n 'spectrum-Textfield--quiet': isQuiet,\n 'spectrum-Textfield--multiline': multiLine\n }\n )\n }>\n <FocusRing focusRingClass={classNames(styles, 'focus-ring')} isTextInput autoFocus={autoFocus}>\n <ElementType\n {...mergeProps(inputProps, hoverProps)}\n ref={inputRef as any}\n rows={multiLine ? 1 : undefined}\n className={\n classNames(\n styles,\n 'spectrum-Textfield-input',\n {\n 'spectrum-Textfield-inputIcon': icon,\n 'is-hovered': isHovered\n },\n inputClassName\n )\n } />\n </FocusRing>\n {icon}\n {validationState && !isLoading ? validation : null}\n {isLoading && loadingIndicator}\n {wrapperChildren}\n </div>\n );\n\n if (label) {\n textField = React.cloneElement(textField, mergeProps(textField.props, {\n className: multiLine ? 'spectrum-Field-field--multiline' : ''\n }));\n }\n\n return (\n <Field\n {...props}\n labelProps={labelProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n showErrorIcon={false}\n ref={domRef}>\n {textField}\n </Field>\n );\n}\n\nconst _TextFieldBase = forwardRef(TextFieldBase);\nexport {_TextFieldBase as TextFieldBase};\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport React, {forwardRef, RefObject, useRef} from 'react';\nimport {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';\nimport {TextFieldBase} from './TextFieldBase';\nimport {useProviderProps} from '@react-spectrum/provider';\nimport {useTextField} from '@react-aria/textfield';\n\nfunction TextField(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {\n props = useProviderProps(props);\n\n let inputRef = useRef<HTMLInputElement>();\n let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField(props, inputRef);\n return (\n <TextFieldBase\n {...props}\n labelProps={labelProps}\n inputProps={inputProps}\n descriptionProps={descriptionProps}\n errorMessageProps={errorMessageProps}\n ref={ref}\n inputRef={inputRef} />\n );\n}\n\n/**\n * TextFields are text inputs that allow users to input custom text entries\n * with a keyboard. Various decorations can be displayed around the field to\n * communicate the entry requirements.\n */\nconst _TextField = forwardRef(TextField);\nexport {_TextField as TextField};\n"],"names":[],"version":3,"file":"module.js.map"}
package/dist/types.d.ts CHANGED
@@ -1,13 +1,15 @@
1
1
  import { PressEvents } from "@react-types/shared";
2
- import React, { InputHTMLAttributes, LabelHTMLAttributes, ReactElement, RefObject, TextareaHTMLAttributes } from "react";
2
+ import React, { HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, ReactElement, RefObject, TextareaHTMLAttributes } from "react";
3
3
  import { SpectrumTextFieldProps, TextFieldRef } from "@react-types/textfield";
4
- interface TextFieldBaseProps extends SpectrumTextFieldProps, PressEvents {
4
+ interface TextFieldBaseProps extends Omit<SpectrumTextFieldProps, 'onChange'>, PressEvents {
5
5
  wrapperChildren?: ReactElement | ReactElement[];
6
6
  inputClassName?: string;
7
7
  validationIconClassName?: string;
8
8
  multiLine?: boolean;
9
9
  labelProps?: LabelHTMLAttributes<HTMLLabelElement>;
10
10
  inputProps: InputHTMLAttributes<HTMLInputElement> | TextareaHTMLAttributes<HTMLTextAreaElement>;
11
+ descriptionProps?: HTMLAttributes<HTMLElement>;
12
+ errorMessageProps?: HTMLAttributes<HTMLElement>;
11
13
  inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>;
12
14
  loadingIndicator?: ReactElement;
13
15
  isLoading?: boolean;
@@ -1 +1 @@
1
- {"mappings":"A;A;A;AA+BA,4BAA6B,SAAQ,sBAAsB,EAAE,WAAW;IACtE,eAAe,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,oBAAoB,gBAAgB,CAAC,CAAC;IACnD,UAAU,EAAE,oBAAoB,gBAAgB,CAAC,GAAG,uBAAuB,mBAAmB,CAAC,CAAC;IAChG,QAAQ,CAAC,EAAE,UAAU,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AA2JD,OAAA,MAAM,sGAA0C,CAAC;ACzHjD;A;A;A;GAIG;AACH,OAAA,IAAI,qGAAsC,CAAC;AC/C3C;A;A;A;GAIG;AACH,OAAA,MAAM,sGAAkC,CAAC","sources":["./packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextFieldBase.tsx","./packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextArea.tsx","./packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextField.tsx","./packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/index.ts"],"sourcesContent":[null,null,null,null],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":";;;AAwBA,4BAA6B,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,EAAE,WAAW;IACxF,eAAe,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,oBAAoB,gBAAgB,CAAC,CAAC;IACnD,UAAU,EAAE,oBAAoB,gBAAgB,CAAC,GAAG,uBAAuB,mBAAmB,CAAC,CAAC;IAChG,gBAAgB,CAAC,EAAE,eAAe,WAAW,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,eAAe,WAAW,CAAC,CAAC;IAChD,QAAQ,CAAC,EAAE,UAAU,gBAAgB,GAAG,mBAAmB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AA2HD,OAAA,MAAM,sGAA0C,CAAC;AClFjD;;;;GAIG;AACH,OAAA,IAAI,qGAAsC,CAAC;AC/C3C;;;;GAIG;AACH,OAAA,MAAM,sGAAkC,CAAC","sources":["packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextFieldBase.tsx","packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextArea.tsx","packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/TextField.tsx","packages/@react-spectrum/textfield/src/packages/@react-spectrum/textfield/src/index.ts","packages/@react-spectrum/textfield/src/index.ts"],"sourcesContent":[null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport * from './TextArea';\nexport * from './TextField';\nexport * from './TextFieldBase';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-spectrum/textfield",
3
- "version": "3.1.7",
3
+ "version": "3.3.2",
4
4
  "description": "Spectrum UI components in React",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
@@ -32,18 +32,17 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.6.2",
35
- "@react-aria/focus": "^3.4.1",
36
- "@react-aria/i18n": "^3.3.2",
37
- "@react-aria/interactions": "^3.5.1",
38
- "@react-aria/textfield": "^3.3.1",
39
- "@react-aria/utils": "^3.8.2",
40
- "@react-spectrum/form": "^3.2.3",
41
- "@react-spectrum/label": "^3.3.4",
42
- "@react-spectrum/utils": "^3.6.2",
43
- "@react-stately/utils": "^3.2.2",
44
- "@react-types/shared": "^3.8.0",
45
- "@react-types/textfield": "^3.2.3",
46
- "@spectrum-icons/ui": "^3.2.1"
35
+ "@react-aria/focus": "^3.5.2",
36
+ "@react-aria/i18n": "^3.3.6",
37
+ "@react-aria/interactions": "^3.8.1",
38
+ "@react-aria/textfield": "^3.5.2",
39
+ "@react-aria/utils": "^3.11.2",
40
+ "@react-spectrum/label": "^3.4.3",
41
+ "@react-spectrum/utils": "^3.6.5",
42
+ "@react-stately/utils": "^3.4.1",
43
+ "@react-types/shared": "^3.11.1",
44
+ "@react-types/textfield": "^3.3.2",
45
+ "@spectrum-icons/ui": "^3.2.3"
47
46
  },
48
47
  "devDependencies": {
49
48
  "@adobe/spectrum-css-temp": "3.0.0-alpha.1",
@@ -56,5 +55,5 @@
56
55
  "publishConfig": {
57
56
  "access": "public"
58
57
  },
59
- "gitHead": "9204e1b8cb61dac767e91087fb16203611dc67c5"
58
+ "gitHead": "404d41859b7d6f56201d7fc01bd9f22ae3512937"
60
59
  }
package/src/TextArea.tsx CHANGED
@@ -52,7 +52,7 @@ function TextArea(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {
52
52
  }, [onHeightChange, inputValue, inputRef]);
53
53
 
54
54
 
55
- let {labelProps, inputProps} = useTextField({
55
+ let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField({
56
56
  ...props,
57
57
  onChange: chain(onChange, setInputValue),
58
58
  inputElementType: 'textarea'
@@ -65,6 +65,8 @@ function TextArea(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>) {
65
65
  inputRef={inputRef}
66
66
  labelProps={labelProps}
67
67
  inputProps={inputProps}
68
+ descriptionProps={descriptionProps}
69
+ errorMessageProps={errorMessageProps}
68
70
  multiLine
69
71
  isDisabled={isDisabled}
70
72
  isQuiet={isQuiet}
package/src/TextField.tsx CHANGED
@@ -20,12 +20,14 @@ function TextField(props: SpectrumTextFieldProps, ref: RefObject<TextFieldRef>)
20
20
  props = useProviderProps(props);
21
21
 
22
22
  let inputRef = useRef<HTMLInputElement>();
23
- let {labelProps, inputProps} = useTextField(props, inputRef);
23
+ let {labelProps, inputProps, descriptionProps, errorMessageProps} = useTextField(props, inputRef);
24
24
  return (
25
25
  <TextFieldBase
26
26
  {...props}
27
27
  labelProps={labelProps}
28
28
  inputProps={inputProps}
29
+ descriptionProps={descriptionProps}
30
+ errorMessageProps={errorMessageProps}
29
31
  ref={ref}
30
32
  inputRef={inputRef} />
31
33
  );
@@ -12,44 +12,33 @@
12
12
 
13
13
  import AlertMedium from '@spectrum-icons/ui/AlertMedium';
14
14
  import CheckmarkMedium from '@spectrum-icons/ui/CheckmarkMedium';
15
- import {
16
- classNames,
17
- createFocusableRef,
18
- useStyleProps
19
- } from '@react-spectrum/utils';
15
+ import {classNames, createFocusableRef} from '@react-spectrum/utils';
16
+ import {Field} from '@react-spectrum/label';
20
17
  import {FocusRing} from '@react-aria/focus';
21
- import {Label} from '@react-spectrum/label';
22
- import {LabelPosition, PressEvents} from '@react-types/shared';
23
- import labelStyles from '@adobe/spectrum-css-temp/components/fieldlabel/vars.css';
24
18
  import {mergeProps} from '@react-aria/utils';
25
- import React, {cloneElement, forwardRef, InputHTMLAttributes, LabelHTMLAttributes, ReactElement, Ref, RefObject, TextareaHTMLAttributes, useImperativeHandle, useRef} from 'react';
19
+ import {PressEvents} from '@react-types/shared';
20
+ import React, {cloneElement, forwardRef, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, ReactElement, Ref, RefObject, TextareaHTMLAttributes, useImperativeHandle, useRef} from 'react';
26
21
  import {SpectrumTextFieldProps, TextFieldRef} from '@react-types/textfield';
27
22
  import styles from '@adobe/spectrum-css-temp/components/textfield/vars.css';
28
- import {useFormProps} from '@react-spectrum/form';
29
23
  import {useHover} from '@react-aria/interactions';
30
- import {useProviderProps} from '@react-spectrum/provider';
31
24
 
32
- interface TextFieldBaseProps extends SpectrumTextFieldProps, PressEvents {
25
+ interface TextFieldBaseProps extends Omit<SpectrumTextFieldProps, 'onChange'>, PressEvents {
33
26
  wrapperChildren?: ReactElement | ReactElement[],
34
27
  inputClassName?: string,
35
28
  validationIconClassName?: string,
36
29
  multiLine?: boolean,
37
30
  labelProps?: LabelHTMLAttributes<HTMLLabelElement>,
38
31
  inputProps: InputHTMLAttributes<HTMLInputElement> | TextareaHTMLAttributes<HTMLTextAreaElement>,
32
+ descriptionProps?: HTMLAttributes<HTMLElement>,
33
+ errorMessageProps?: HTMLAttributes<HTMLElement>,
39
34
  inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>,
40
35
  loadingIndicator?: ReactElement,
41
36
  isLoading?: boolean
42
37
  }
43
38
 
44
39
  function TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {
45
- props = useProviderProps(props);
46
- props = useFormProps(props);
47
40
  let {
48
41
  label,
49
- labelPosition = 'top' as LabelPosition,
50
- labelAlign,
51
- isRequired,
52
- necessityIndicator,
53
42
  validationState,
54
43
  icon,
55
44
  isQuiet = false,
@@ -60,11 +49,12 @@ function TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {
60
49
  wrapperChildren,
61
50
  labelProps,
62
51
  inputProps,
52
+ descriptionProps,
53
+ errorMessageProps,
63
54
  inputRef,
64
55
  isLoading,
65
56
  loadingIndicator,
66
- validationIconClassName,
67
- ...otherProps
57
+ validationIconClassName
68
58
  } = props;
69
59
  let {hoverProps, isHovered} = useHover({isDisabled});
70
60
  let domRef = useRef<HTMLDivElement>(null);
@@ -84,7 +74,6 @@ function TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {
84
74
  }
85
75
  }));
86
76
 
87
- let {styleProps} = useStyleProps(otherProps);
88
77
  let ElementType: React.ElementType = multiLine ? 'textarea' : 'input';
89
78
  let isInvalid = validationState === 'invalid';
90
79
 
@@ -150,48 +139,22 @@ function TextFieldBase(props: TextFieldBaseProps, ref: Ref<TextFieldRef>) {
150
139
  );
151
140
 
152
141
  if (label) {
153
- let labelWrapperClass = classNames(
154
- labelStyles,
155
- 'spectrum-Field',
156
- {
157
- 'spectrum-Field--positionTop': labelPosition === 'top',
158
- 'spectrum-Field--positionSide': labelPosition === 'side'
159
- },
160
- styleProps.className
161
- );
162
-
163
142
  textField = React.cloneElement(textField, mergeProps(textField.props, {
164
- className: classNames(
165
- labelStyles,
166
- 'spectrum-Field-field',
167
- {
168
- 'spectrum-Field-field--multiline': multiLine
169
- }
170
- )
143
+ className: multiLine ? 'spectrum-Field-field--multiline' : ''
171
144
  }));
172
-
173
- return (
174
- <div
175
- {...styleProps}
176
- ref={domRef}
177
- className={labelWrapperClass}>
178
- <Label
179
- {...labelProps}
180
- labelPosition={labelPosition}
181
- labelAlign={labelAlign}
182
- isRequired={isRequired}
183
- necessityIndicator={necessityIndicator}>
184
- {label}
185
- </Label>
186
- {textField}
187
- </div>
188
- );
189
145
  }
190
146
 
191
- return React.cloneElement(textField, mergeProps(textField.props, {
192
- ...styleProps,
193
- ref: domRef
194
- }));
147
+ return (
148
+ <Field
149
+ {...props}
150
+ labelProps={labelProps}
151
+ descriptionProps={descriptionProps}
152
+ errorMessageProps={errorMessageProps}
153
+ showErrorIcon={false}
154
+ ref={domRef}>
155
+ {textField}
156
+ </Field>
157
+ );
195
158
  }
196
159
 
197
160
  const _TextFieldBase = forwardRef(TextFieldBase);
package/dist/main.css.map DELETED
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["./node_modules/@adobe/spectrum-css-temp/components/fieldlabel/index.css","./node_modules/@adobe/spectrum-css-temp/components/fieldlabel/skin.css","./node_modules/@adobe/spectrum-css-temp/components/textfield/index.css","./node_modules/@adobe/spectrum-css-temp/components/textfield/skin.css"],"sourcesContent":["/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n\n:root {\n --spectrum-tableform-border-spacing: 0 var(--spectrum-global-dimension-size-300);\n --spectrum-tableform-margin: calc(var(--spectrum-global-dimension-size-250) * -1) 0;\n --spectrum-fieldlabel-margin: var(--spectrum-global-dimension-size-100);\n}\n\n.spectrum-FieldLabel {\n display: flex;\n flex: 0 0 auto;\n\n box-sizing: border-box;\n\n padding: var(--spectrum-fieldlabel-padding-top) 0 var(--spectrum-fieldlabel-padding-bottom);\n\n font-size: var(--spectrum-fieldlabel-text-size);\n font-weight: var(--spectrum-fieldlabel-text-font-weight);\n line-height: var(--spectrum-fieldlabel-text-line-height);\n\n vertical-align: top;\n\n -webkit-font-smoothing: subpixel-antialiased;\n -moz-osx-font-smoothing: auto;\n font-smoothing: subpixel-antialiased;\n text-align: start;\n\n cursor: default; /* match native labels even if not using a <label> element */\n}\n\n.spectrum-FieldLabel--positionSide {\n display: inline-flex;\n padding-top: var(--spectrum-fieldlabel-side-padding-top);\n padding-inline-end: var(--spectrum-fieldlabel-side-padding-x);\n}\n\n.spectrum-FieldLabel-requiredIcon {\n margin-top: var(--spectrum-fieldlabel-asterisk-margin-y);\n margin-inline-end: 0;\n margin-bottom: 0;\n margin-inline-start: var(--spectrum-fieldlabel-asterisk-gap);\n}\n\n.spectrum-FieldLabel--alignEnd {\n justify-content: flex-end; /* labelPosition=top case */\n text-align: end; /* labelPosition=side case */\n}\n\n/* A Field is a wrapper for a FieldLabel and a field component (e.g. textfield).\n * By default, labels are placed above the field. Fields have a default width, and the\n * label will wrap within this width. The width of the whole field can be overridden by the user,\n * and this causes both the label and inner field to resize as well. */\n.spectrum-Field {\n --spectrum-field-default-width: var(--spectrum-component-single-line-width);\n\n &.spectrum-Field--positionTop {\n display: inline-flex;\n flex-direction: column;\n width: var(--spectrum-field-default-width);\n\n .spectrum-Field-field {\n /* If the user overrides the width of the field, propagate to the inner component */\n width: 100%;\n }\n\n .spectrum-Field-field--multiline {\n flex: 1 1 auto;\n }\n }\n\n /* The side label variant of Field is inline, and fills as much space as needed\n * by default. If an explicit width is set, then the field flexes to fill available space. */\n &.spectrum-Field--positionSide {\n display: inline-flex;\n align-items: flex-start;\n\n .spectrum-Field-field {\n flex: 1;\n /* Setting `flex: 1;` is equivalent to `flex: 1 1 0;`, which means we expect to be able to shrink\n * To be able to shrink, we must have a min-width that isn't 'auto' */\n min-width: 0;\n }\n\n .spectrum-Field-field--multiline {\n height: 100%;\n }\n }\n}\n\n/* topdoc\n{{ form/index.yml }}\n*/\n\n.spectrum-Form {\n /* With labelPosition=side, we override field layout to use a CSS table\n * so that all the labels and fields line up automatically. */\n &.spectrum-Form--positionSide {\n display: table;\n border-collapse: separate;\n border-spacing: var(--spectrum-tableform-border-spacing);\n margin: var(--spectrum-tableform-margin);\n text-align: start;\n\n .spectrum-Field {\n display: table-row;\n width: 100%;\n }\n\n .spectrum-FieldLabel {\n display: table-cell;\n }\n\n .spectrum-Field-field {\n display: table-cell;\n width: auto;\n min-width: var(--spectrum-component-single-line-width);\n }\n }\n\n /* With labelPosition=top, we use a normal flex stack */\n &.spectrum-Form--positionTop {\n display: flex;\n flex-direction: column;\n margin: 0;\n min-width: var(--spectrum-component-single-line-width);\n\n /* Users may want to make multiple fields appear next to each other.\n * We want to ensure that all items inside the form get the proper\n * margin and widths applied, even if wrapped in extra divs for example. */\n > * {\n margin-top: var(--spectrum-fieldlabel-margin);\n width: 100%;\n }\n }\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n.spectrum-FieldLabel,\n.spectrum-Form-itemLabel {\n color: var(--spectrum-fieldlabel-text-color);\n\n &.is-disabled {\n color: var(--spectrum-fieldlabel-text-color-disabled);\n\n .spectrum-FieldLabel-requiredIcon {\n color: var(--spectrum-fieldlabel-asterisk-color-disabled);\n }\n }\n}\n.spectrum-FieldLabel-requiredIcon {\n color: var(--spectrum-fieldlabel-asterisk-color);\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n\n:root {\n --spectrum-textfield-padding-top: 3px;\n --spectrum-textfield-padding-bottom: 5px;\n\n /* Todo fix in DNA */\n --spectrum-textfield-quiet-border-radius: 0;\n\n --spectrum-textfield-quiet-invalid-background-position: 100% 50%;\n\n --spectrum-textfield-multiline-height: auto;\n --spectrum-textfield-multiline-min-height: var(--spectrum-global-dimension-size-700);\n\n --spectrum-textfield-multiline-padding-x: var(--spectrum-textfield-padding-x);\n --spectrum-textfield-multiline-padding-top: var(--spectrum-textfield-padding-top);\n --spectrum-textfield-multiline-padding-bottom: var(--spectrum-textfield-padding-bottom);\n\n /* Todo: DNA uses incorrect font family \"Adobe Clean\" */;\n --spectrum-textfield-text-font-family-fixed: var(--spectrum-font-family-base);\n}\n\n.spectrum-Textfield {\n display: inline-flex;\n position: relative;\n min-width: var(--spectrum-textfield-min-width);\n width: var(--spectrum-component-single-line-width);\n\n &.spectrum-Textfield--quiet.spectrum-Textfield--multiline .spectrum-Textfield-input {\n height: var(--spectrum-textfield-height);\n min-height: var(--spectrum-textfield-height);\n overflow-x: hidden;\n }\n}\n\n.spectrum-Textfield-input {\n /* box */\n box-sizing: border-box;\n border: var(--spectrum-textfield-border-size) solid;\n border-radius: var(--spectrum-textfield-border-radius);\n\n /* Apply padding by default to center text, giving consistency between input and textfield */\n padding: var(--spectrum-textfield-padding-top) var(--spectrum-textfield-padding-x) var(--spectrum-textfield-padding-bottom) calc(var(--spectrum-textfield-padding-x) - 1px);\n /* Use padding instead of text-indent because text-indent does not left align the text in Edge browser */\n text-indent: 0;\n\n width: 100%;\n height: var(--spectrum-textfield-height);\n\n vertical-align: top; /* used to align them correctly in forms. */\n\n /* Remove the margin for input in Firefox and Safari. */\n margin: 0;\n\n /* Show the overflow for input in Edge. */\n overflow: visible;\n\n /* Change the input font styles in all browsers */\n font-family: var(--spectrum-textfield-text-font-family-fixed);\n font-size: var(--spectrum-textfield-text-size);\n line-height: var(--spectrum-textfield-text-line-height);\n text-overflow: ellipsis;\n\n transition: border-color var(--spectrum-global-animation-duration-100) ease-in-out,\n box-shadow var(--spectrum-global-animation-duration-100) ease-in-out;\n\n outline: none;\n\n -webkit-appearance: none;\n /*\n Removes the native spin buttons in Firefox; -moz-appearance: none results in spinners.\n This has to come after -webkit-appearance or it gets overridden (#214)\n Details: http://stackoverflow.com/questions/23372903/hide-spinner-in-input-number-firefox-29\n\n Sets the opacity to 1 as normalize.css sets an opacity to placeholders\n Details: https://github.com/csstools/normalize.css/blob/master/normalize.css#L297\n */\n -moz-appearance: textfield;\n\n &::placeholder,\n &.is-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n font-style: var(--spectrum-textfield-placeholder-text-font-style);\n font-synthesis: none;\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n opacity: 1;\n }\n\n /* added to work with Edge, note, it needs double ::\n * not single : which is what autoprefixer will add\n */\n &::-ms-input-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n font-style: var(--spectrum-textfield-placeholder-text-font-style);\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n opacity: 1;\n }\n\n /* placeholder gets clipped for synthetic italics, we rely on font-synthesis once\n * chrome supports it https://bugs.chromium.org/p/chromium/issues/detail?id=509989\n */\n &:lang(ja), &:lang(zh), &:lang(ko), &:lang(ar), &:lang(he) {\n &::placeholder,\n &.is-placeholder {\n font-style: normal;\n }\n &::-ms-input-placeholder { /* added to work with Edge, same as above */\n font-style: normal;\n }\n }\n\n &:hover {\n &::placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n }\n }\n\n &:disabled {\n /* Disable the resize functionality when disabled */\n resize: none;\n\n /* The opacity must be set to 1 */\n opacity: 1;\n &::placeholder,\n &.is-placeholder {\n font-weight: var(--spectrum-textfield-placeholder-text-font-weight);\n }\n }\n\n /* Remove the native clear button in IE */\n /* http://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs */\n &::-ms-clear {\n width: 0;\n height: 0;\n }\n\n /* removes the native spin buttons */\n /* http://stackoverflow.com/questions/23372903/hide-spinner-in-input-number-firefox-29 */\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* removes the red border that appears in Firefox */\n &:-moz-ui-invalid {\n box-shadow: none;\n }\n\n .spectrum-Textfield--multiline & {\n height: var(--spectrum-textfield-multiline-height);\n min-height: var(--spectrum-textfield-multiline-min-height);\n padding: var(--spectrum-textfield-multiline-padding-top) var(--spectrum-textfield-multiline-padding-x) var(--spectrum-textfield-multiline-padding-bottom) calc(var(--spectrum-textfield-multiline-padding-x) - 1px);\n\n /* Remove the default vertical scrollbar for textarea in IE. */\n overflow: auto;\n }\n\n .spectrum-Textfield--quiet & {\n border-radius: var(--spectrum-textfield-quiet-border-radius);\n border-width: 0 0 var(--spectrum-textfield-quiet-border-size) 0;\n\n /* removes the side padding to align the text properly */\n padding-inline-start: var(--spectrum-textfield-quiet-padding-x);\n padding-inline-end: var(--spectrum-textfield-quiet-padding-x);\n\n /* Treat all quiet inputs and textareas the same */\n resize: none;\n overflow-y: hidden;\n }\n\n .spectrum-Textfield--valid & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-checkmark-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n\n .spectrum-Textfield--invalid & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n\n .spectrum-Textfield--loadable & {\n padding-inline-end: calc(var(--spectrum-textfield-padding-x) + var(--spectrum-icon-alert-medium-width) + var(--spectrum-textfield-icon-margin-left));\n }\n}\n\n.spectrum-Textfield-validationIcon {\n /* TODO: Confirm if this is ok for the validation icon sizing\n Note that the sizes are a bit different when compared with old background icons(more noticable for checkmark)\n */\n position: absolute;\n padding-inline-end: calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) / 2);\n pointer-events: all;\n transition: color var(--spectrum-global-animation-duration-100) ease-in-out;\n\n .spectrum-Textfield--quiet & {\n padding-inline-end: 0;\n }\n}\n\n.spectrum-Textfield--invalid .spectrum-Textfield-validationIcon {\n width: var(--spectrum-icon-alert-medium-width);\n height: var(--spectrum-icon-alert-medium-height);\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-height) / 2));\n inset-inline-end: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-width) / 2));\n}\n.spectrum-Textfield--valid .spectrum-Textfield-validationIcon {\n width: var(--spectrum-icon-checkmark-medium-width);\n height: var(--spectrum-icon-checkmark-medium-height);\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-checkmark-medium-height) / 2));\n inset-inline-end: var(--spectrum-global-dimension-size-150);\n}\n\n/* styles the left icon for textfield, assumes usage of workflow icon sizing (18px by 18px) */\n.spectrum-Textfield-icon {\n display: block;\n position: absolute;\n height: var(--spectrum-icon-info-medium-height);\n width: var(--spectrum-icon-info-medium-width);\n /* This has a named variable in a future update of spectrum-css. */\n inset-inline-start: var(--spectrum-global-dimension-size-150);\n top: var(--spectrum-global-dimension-size-85);\n transition: fill var(--spectrum-global-animation-duration-100) ease-in-out;\n}\n\n/* styles the textfield properly if the left icon is provided */\n.spectrum-Textfield-inputIcon {\n /* Use padding instead of text-indent so long strings don't overlap the icon */\n /* These values have real names in a spectrum-css update, when we update, use those. */\n padding-inline-start: calc(\n var(--spectrum-global-dimension-size-150) +\n var(--spectrum-global-dimension-size-225) +\n var(--spectrum-global-dimension-size-65)\n );\n\n .spectrum-Textfield--quiet & {\n padding-inline-start: calc(var(--spectrum-global-dimension-size-100) + var(--spectrum-icon-info-medium-width));\n\n /* Since quiet button has no left padding, push the icon all the way to the left */\n & ~ .spectrum-Textfield-icon {\n inset-inline-start: 0;\n }\n }\n\n &.spectrum-Textfield--multiline {\n height: var(--spectrum-textfield-height);\n min-height: var(--spectrum-textfield-height);\n }\n}\n\n\n/* same positioning as invalid icon */\n.spectrum-Textfield--loadable .spectrum-Textfield-circleLoader {\n position: absolute;\n top: calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-loader-circle-small-width) / 2));\n /* can't use padding right since it breaks the circle loader so add here */\n inset-inline-end: calc(calc(calc(var(--spectrum-textfield-icon-frame) / 2) - calc(var(--spectrum-icon-alert-medium-width) / 2)) + calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) / 2));\n\n .spectrum-Textfield--quiet& {\n padding-inline-end: 0;\n }\n}\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n.spectrum-Textfield-input {\n background-color: var(--spectrum-textfield-background-color);\n border-color: var(--spectrum-textfield-border-color);\n color: var(--spectrum-textfield-text-color);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color);\n }\n\n &:hover {\n border-color: var(--spectrum-textfield-border-color-hover);\n box-shadow: none;\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-hover);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-hover);\n }\n }\n\n &:active {\n background-color: var(--spectrum-textfield-background-color-down);\n border-color: var(--spectrum-textfield-border-color-down);\n color: var(--spectrum-textfield-text-color-down);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-down);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-down);\n }\n }\n\n &:focus,\n &.is-focused {\n border-color: var(--spectrum-textfield-border-color-down);\n }\n\n &:focus-ring {\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-key-focus);\n }\n }\n\n &[disabled],\n &.is-disabled {\n background-color: var(--spectrum-textfield-background-color-disabled);\n border-color: var(--spectrum-textfield-border-color-disabled);\n color: var(--spectrum-textfield-text-color-disabled);\n\n /* For safari mobile browser */\n -webkit-text-fill-color: var(--spectrum-textfield-text-color-disabled);\n\n &::placeholder,\n &.is-placeholder {\n color: var(--spectrum-textfield-placeholder-text-color-disabled);\n }\n\n & ~ .spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color-disabled);\n }\n }\n\n &:invalid,\n &.spectrum-Textfield--invalid {\n border-color: var(--spectrum-textfield-border-color-error);\n\n &:hover {\n border-color: var(--spectrum-textfield-border-color-error-hover);\n }\n\n &:active {\n border-color: var(--spectrum-textfield-border-color-error-down);\n }\n\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n .spectrum-Textfield--quiet & {\n background-color: var(--spectrum-textfield-quiet-background-color);\n border-color: var(--spectrum-textfield-quiet-border-color);\n\n &:hover {\n border-color: var(--spectrum-textfield-quiet-border-color-hover);\n }\n\n &:active {\n border-color: var(--spectrum-textfield-quiet-border-color-down);\n }\n\n &:focus,\n &.is-focused {\n border-color: var(--spectrum-textfield-quiet-border-color-key-focus);\n }\n\n &:focus-ring {\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-key-focus);\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-key-focus);\n }\n }\n\n &:disabled,\n &.is-disabled {\n background-color: var(--spectrum-textfield-quiet-background-color-disabled);\n border-color: var(--spectrum-textfield-quiet-border-color-disabled);\n }\n\n &:invalid {\n border-color: var(--spectrum-textfield-border-color-error);\n\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-error);\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error);\n }\n }\n }\n }\n\n .spectrum-Textfield.spectrum-Textfield--invalid & {\n border-color: var(--spectrum-textfield-border-color-error);\n\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n border-color: var(--spectrum-textfield-border-color-error);\n box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n .spectrum-Textfield--quiet.spectrum-Textfield--invalid & {\n &:focus-ring { /* might break things due to pre-defined focus-ring */\n &:not(:active) {\n box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error);\n }\n }\n }\n\n}\n\n.spectrum-Textfield-icon {\n fill: var(--spectrum-textfield-icon-color);\n}\n\n.spectrum-Textfield-validationIcon {\n .spectrum-Textfield--valid & {\n fill: var(--spectrum-alert-success-icon-color);\n }\n\n .spectrum-Textfield--invalid & {\n fill: var(--spectrum-alert-error-icon-color);\n }\n}\n"],"names":[],"version":3,"file":"main.css.map"}