@launchpad-ui/form 0.6.9 → 0.6.11

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,5 +1,5 @@
1
1
  import type { HTMLAttributes } from 'react';
2
- declare type FormGroupProps = HTMLAttributes<HTMLDivElement> & {
2
+ declare type FormGroupProps = HTMLAttributes<HTMLFieldSetElement> & {
3
3
  name?: string | string[];
4
4
  ignoreValidation?: boolean;
5
5
  isInvalid?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FormGroup.d.ts","sourceRoot":"","sources":["../src/FormGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,aAAK,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,SAAS,UAAW,cAAc,gBAsBvC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"FormGroup.d.ts","sourceRoot":"","sources":["../src/FormGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM5C,aAAK,cAAc,GAAG,cAAc,CAAC,mBAAmB,CAAC,GAAG;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,SAAS,UAAW,cAAc,gBAsBvC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
package/dist/index.es.js CHANGED
@@ -3,34 +3,34 @@ import { forwardRef, useState, useRef, Children, isValidElement, cloneElement }
3
3
  import { cx } from "classix";
4
4
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
5
5
  import { VisuallyHidden } from "@react-aria/visually-hidden";
6
- const formGroup = "_formGroup_1dqfg_1";
7
- const formIncreasedErrorMargin = "_formIncreasedErrorMargin_1dqfg_7";
8
- const formInline = "_formInline_1dqfg_11";
9
- const form = "_form_1dqfg_1";
10
- const inlineForm = "_inlineForm_1dqfg_25";
11
- const label = "_label_1dqfg_30";
12
- const labelDisabled = "_labelDisabled_1dqfg_36";
13
- const labelOptional = "_labelOptional_1dqfg_40";
14
- const compactTextField = "_compactTextField_1dqfg_46";
15
- const fieldError = "_fieldError_1dqfg_70";
16
- const iconField = "_iconField_1dqfg_96";
17
- const formInput = "_formInput_1dqfg_96";
18
- const isInvalid = "_isInvalid_1dqfg_100";
19
- const hint = "_hint_1dqfg_122";
20
- const field = "_field_1dqfg_70";
21
- const fieldErrorMessage = "_fieldErrorMessage_1dqfg_142";
22
- const isDisabled = "_isDisabled_1dqfg_177";
23
- const isFocused = "_isFocused_1dqfg_231";
24
- const checkbox = "_checkbox_1dqfg_245";
25
- const radio = "_radio_1dqfg_252";
26
- const number = "_number_1dqfg_266";
27
- const suffixContainer = "_suffixContainer_1dqfg_270";
28
- const suffix = "_suffix_1dqfg_270";
29
- const iconFieldIcon = "_iconFieldIcon_1dqfg_315";
30
- const formInputTiny = "_formInputTiny_1dqfg_323";
31
- const requiredAsterisk = "_requiredAsterisk_1dqfg_332";
32
- const fieldSet = "_fieldSet_1dqfg_336";
33
- const isActive = "_isActive_1dqfg_347";
6
+ const formGroup = "_formGroup_1w090_1";
7
+ const formIncreasedErrorMargin = "_formIncreasedErrorMargin_1w090_9";
8
+ const formInline = "_formInline_1w090_13";
9
+ const form = "_form_1w090_1";
10
+ const inlineForm = "_inlineForm_1w090_27";
11
+ const label = "_label_1w090_32";
12
+ const labelDisabled = "_labelDisabled_1w090_38";
13
+ const labelOptional = "_labelOptional_1w090_42";
14
+ const compactTextField = "_compactTextField_1w090_48";
15
+ const fieldError = "_fieldError_1w090_72";
16
+ const iconField = "_iconField_1w090_98";
17
+ const formInput = "_formInput_1w090_98";
18
+ const isInvalid = "_isInvalid_1w090_102";
19
+ const hint = "_hint_1w090_124";
20
+ const field = "_field_1w090_72";
21
+ const fieldErrorMessage = "_fieldErrorMessage_1w090_144";
22
+ const isDisabled = "_isDisabled_1w090_179";
23
+ const isFocused = "_isFocused_1w090_233";
24
+ const checkbox = "_checkbox_1w090_247";
25
+ const radio = "_radio_1w090_254";
26
+ const number = "_number_1w090_268";
27
+ const suffixContainer = "_suffixContainer_1w090_272";
28
+ const suffix = "_suffix_1w090_272";
29
+ const iconFieldIcon = "_iconFieldIcon_1w090_317";
30
+ const formInputTiny = "_formInputTiny_1w090_325";
31
+ const requiredAsterisk = "_requiredAsterisk_1w090_334";
32
+ const fieldSet = "_fieldSet_1w090_338";
33
+ const isActive = "_isActive_1w090_349";
34
34
  const styles = {
35
35
  formGroup,
36
36
  formIncreasedErrorMargin,
@@ -281,7 +281,7 @@ const FormGroup = (props) => {
281
281
  ...rest
282
282
  } = props;
283
283
  const classes = cx(styles.formGroup, className, !ignoreValidation && isInvalid2 && styles.isInvalid);
284
- return /* @__PURE__ */ jsx("div", {
284
+ return /* @__PURE__ */ jsx("fieldset", {
285
285
  className: classes,
286
286
  "data-test-id": testId,
287
287
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/RequiredAsterisk.tsx","../src/Label.tsx","../src/Checkbox.tsx","../src/utils/index.ts","../src/TextField.tsx","../src/CompactTextField.tsx","../src/FieldError.tsx","../src/FieldSet.tsx","../src/Form.tsx","../src/FormGroup.tsx","../src/FormHint.tsx","../src/FormField.tsx","../src/IconField.tsx","../src/Radio.tsx","../src/RadioGroup.tsx","../src/Select.tsx","../src/TextArea.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype RequiredAsteriskProps = HTMLAttributes<HTMLSpanElement> & {\n 'data-test-id'?: string;\n};\n\nconst RequiredAsterisk = ({\n className,\n 'data-test-id': testId = 'required-asterisk',\n ...rest\n}: RequiredAsteriskProps) => {\n const classes = cx(styles.requiredAsterisk, className);\n\n return (\n <span {...rest} data-test-id={testId} className={classes}>\n *\n </span>\n );\n};\n\nexport { RequiredAsterisk };\nexport type { RequiredAsteriskProps };\n","import type { LabelHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype LabelProps = LabelHTMLAttributes<HTMLLabelElement> & {\n required?: boolean;\n optional?: boolean;\n disabled?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Label = ({\n disabled,\n className,\n children,\n required = false,\n optional = false,\n 'data-test-id': testId = 'label',\n ...rest\n}: LabelProps) => {\n const classes = cx(styles.label, className, disabled && styles.labelDisabled);\n\n return (\n <label {...rest} data-test-id={testId} className={classes}>\n {children}\n {optional && !required && <small className={styles.labelOptional}>(optional)</small>}\n {required && !optional && <RequiredAsterisk />}\n </label>\n );\n};\n\nexport { Label };\nexport type { LabelProps };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype CheckboxProps = InputHTMLAttributes<HTMLInputElement> & {\n /**\n * The className to pass into the Checkbox's Label component\n */\n labelClassName?: string;\n 'data-test-id'?: string;\n};\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n disabled,\n checked,\n labelClassName,\n 'data-test-id': testId = 'checkbox',\n ...rest\n },\n ref\n ) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <Label className={labelClassName}>\n <input\n {...rest}\n ref={ref}\n checked={checked}\n aria-checked={checked ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={styles.checkbox}\n disabled={disabled}\n type=\"checkbox\"\n data-test-id={testId}\n />{' '}\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\nexport type { CheckboxProps };\n","type FieldPath = string | string[];\n\nconst createFieldErrorId = (fieldIdentifier?: FieldPath) =>\n fieldIdentifier ? `${[...fieldIdentifier].join('')}-err` : undefined;\n\nexport { createFieldErrorId };\nexport type { FieldPath };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextFieldProps = InputHTMLAttributes<HTMLInputElement> & {\n suffix?: string;\n tiny?: boolean;\n overrideWidth?: string;\n 'data-test-id'?: string;\n};\n\nconst TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n type = 'text',\n tiny = false,\n readOnly,\n tabIndex = 0,\n suffix,\n overrideWidth,\n 'data-test-id': testId = 'text-field',\n ...rest\n },\n ref\n ) => {\n const classes = overrideWidth\n ? className\n : cx(styles.formInput, tiny && styles.formInputTiny, className);\n\n if (suffix) {\n return (\n <div className={styles.suffixContainer}>\n <input\n {...rest}\n type={type}\n data-test-id={testId}\n className={classes}\n readOnly={readOnly}\n ref={ref}\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n <label className={styles.suffix} htmlFor={rest.id}>\n {suffix}\n </label>\n </div>\n );\n }\n\n return (\n <input\n {...rest}\n type={type}\n className={classes}\n readOnly={readOnly}\n tabIndex={tabIndex}\n ref={ref}\n data-test-id={testId}\n style={\n overrideWidth\n ? {\n width: overrideWidth,\n }\n : undefined\n }\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport { TextField };\nexport type { TextFieldProps };\n","import type { TextFieldProps } from './TextField';\nimport type { FocusEvent } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef, useState } from 'react';\n\nimport { Label } from './Label';\nimport { TextField } from './TextField';\nimport styles from './styles/Form.module.css';\n\ntype CompactTextFieldProps = TextFieldProps & {\n label: string;\n needsErrorFeedback?: boolean;\n};\n\nconst CompactTextField = forwardRef<HTMLInputElement, CompactTextFieldProps>(\n (\n {\n className,\n id,\n label,\n needsErrorFeedback,\n value,\n onFocus,\n onBlur,\n 'data-test-id': testId = 'compact-text-field',\n ...rest\n },\n ref\n ) => {\n const [isActive, setIsActive] = useState(\n (typeof value === 'boolean' || value ? value.toString() : '').trim().length !== 0\n );\n\n const isActiveState = isActive || needsErrorFeedback;\n\n const classes = cx(styles.compactTextField, className, isActiveState && styles.isActive);\n\n const placeholder = isActiveState ? '' : label;\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setIsActive(true);\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const value = event.target.value || '';\n setIsActive(value.trim().length !== 0);\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div className={classes} data-test-id={testId}>\n <Label htmlFor={id}>{label}</Label>\n <TextField\n {...rest}\n id={id}\n placeholder={placeholder}\n value={value}\n ref={ref}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </div>\n );\n }\n);\n\nCompactTextField.displayName = 'CompactTextField';\n\nexport { CompactTextField };\nexport type { CompactTextFieldProps };\n","import type { FieldPath } from './utils';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype FieldErrorProps = HTMLAttributes<HTMLSpanElement> & {\n name: FieldPath;\n errorMessage?: string;\n 'data-test-id'?: string;\n};\n\nconst FieldError = ({\n name,\n errorMessage,\n className,\n 'data-test-id': testId = 'field-error',\n ...rest\n}: FieldErrorProps) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n <span\n {...rest}\n className={cx(styles.fieldError, className)}\n aria-live=\"polite\"\n data-test-id={testId}\n id={createFieldErrorId(name)}\n >\n {`Error - ${errorMessage}`}\n </span>\n );\n};\n\nexport { FieldError };\nexport type { FieldErrorProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FieldSetProps = HTMLAttributes<HTMLFieldSetElement> & {\n 'data-test-id'?: string;\n};\n\nconst FieldSet = ({\n children,\n className,\n 'data-test-id': testId = 'field-set',\n ...rest\n}: FieldSetProps) => {\n const classes = cx(styles.fieldSet, className);\n\n return (\n <fieldset data-test-id={testId} className={classes} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FieldSet };\nexport type { FieldSetProps };\n","import type { FormHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormProps = FormHTMLAttributes<HTMLFormElement> & {\n inline?: boolean;\n // Increases margin between form fields to make room for error messages.\n // This prevents the form from shifting when rendering a field error.\n // This may be desired when the form contains external links that will\n // shift while clicking if the form shifts from validation.\n hasIncreasedErrorMargin?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Form = (props: FormProps) => {\n const {\n className,\n inline,\n children,\n hasIncreasedErrorMargin,\n 'data-test-id': testId = 'form',\n ...rest\n } = props;\n\n const classes = cx(\n styles.form,\n className,\n inline && styles.formInline,\n !!hasIncreasedErrorMargin && styles.formIncreasedErrorMargin\n );\n\n return (\n <form {...rest} data-test-id={testId} className={classes}>\n {children}\n </form>\n );\n};\n\nexport { Form };\nexport type { FormProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormGroupProps = HTMLAttributes<HTMLDivElement> & {\n name?: string | string[];\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n 'data-test-id'?: string;\n};\n\nconst FormGroup = (props: FormGroupProps) => {\n const {\n className,\n name,\n ignoreValidation,\n isInvalid,\n children,\n 'data-test-id': testId = 'form-group',\n ...rest\n } = props;\n\n const classes = cx(\n styles.formGroup,\n className,\n !ignoreValidation && isInvalid && styles.isInvalid\n );\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n </div>\n );\n};\n\nexport { FormGroup };\nexport type { FormGroupProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormHintProps = HTMLAttributes<HTMLDivElement> & {\n 'data-test-id'?: string;\n};\n\nconst FormHint = ({\n className,\n children,\n 'data-test-id': testId = 'form-hint',\n ...rest\n}: FormHintProps) => {\n const classes = cx(styles.hint, className);\n\n return (\n <div {...rest} data-test-id={testId} className={classes}>\n {children}\n </div>\n );\n};\n\nexport { FormHint };\nexport type { FormHintProps };\n","import { cx } from 'classix';\n\nimport { FieldError } from './FieldError';\nimport { FormGroup } from './FormGroup';\nimport { FormHint } from './FormHint';\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype FormFieldProps = {\n isRequired: boolean;\n label?: string;\n name: string;\n htmlFor: string;\n hint?: string;\n errorMessage?: string;\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n children: JSX.Element;\n className?: string;\n onBlur?: (field: string) => void;\n 'data-test-id'?: string;\n};\n\nconst FormField = ({\n isRequired,\n label,\n name,\n htmlFor,\n hint,\n errorMessage,\n ignoreValidation,\n isInvalid,\n children,\n className,\n onBlur,\n 'data-test-id': testId = 'form-field',\n}: FormFieldProps) => {\n const handleBlur = () => {\n onBlur && onBlur(name);\n };\n\n return (\n <FormGroup\n className={cx(styles.field, className)}\n name={name}\n ignoreValidation={ignoreValidation}\n isInvalid={isInvalid}\n onBlur={handleBlur}\n data-test-id={testId}\n >\n {label && (\n <label htmlFor={htmlFor}>\n {label}\n {isRequired && <RequiredAsterisk />}\n </label>\n )}\n {hint && <FormHint className={styles.hint}>{hint}</FormHint>}\n {children}\n <FieldError className={styles.fieldErrorMessage} name={name} errorMessage={errorMessage} />\n </FormGroup>\n );\n};\n\nexport type { FormFieldProps };\nexport { FormField };\n","import type { IconProps } from '@launchpad-ui/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype IconFieldProps = HTMLAttributes<HTMLDivElement> & {\n icon(args: IconProps): JSX.Element;\n children: JSX.Element | JSX.Element[];\n 'data-test-id'?: string;\n};\n\nconst IconField = ({\n icon,\n children,\n className,\n 'data-test-id': testId = 'icon-field',\n ...rest\n}: IconFieldProps) => {\n const Icon = icon;\n\n const classes = cx(styles.iconField, className);\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n <Icon size=\"small\" className={styles.iconFieldIcon} />\n </div>\n );\n};\n\nexport { IconField };\nexport type { IconFieldProps };\n","import type { CSSProperties, InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype RadioProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {\n labelClassName?: string;\n labelStyle?: CSSProperties;\n 'data-test-id'?: string;\n};\n\nconst Radio = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n checked = false,\n children,\n className,\n disabled = false,\n id,\n labelClassName,\n labelStyle,\n 'data-test-id': testId = 'radio',\n ...rest\n}: RadioProps) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <>\n <input\n {...rest}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.radio, className)}\n checked={checked}\n disabled={disabled}\n id={id}\n data-test-id={testId}\n type=\"radio\"\n />\n <Label className={labelClassName} htmlFor={id} style={labelStyle}>\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n </>\n );\n};\n\nexport { Radio };\nexport type { RadioProps };\n","import type { ChangeEvent, FormEvent, ReactElement, ReactNode } from 'react';\n\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport { Children, cloneElement, isValidElement, useRef } from 'react';\n\nimport { Label } from './Label';\nimport { Radio } from './Radio';\n\ntype RadioGroupProps = {\n /**\n * The legend that describes this groups of radio buttons. The legend\n * is important for screen reader users.\n */\n legend?: string;\n /**\n * The children passed into the RadioGroup.\n */\n children?: ReactNode;\n /**\n * Custom classname(s) passed to the fieldset inner div.\n */\n className?: string;\n /**\n * Set the underlying Radio to disabled if the Radio's disabled prop is undefined.\n */\n disabled?: boolean;\n /**\n * The RadioGroup's id.\n */\n id?: string;\n /**\n * Name to apply to the underlying Radio. The same name value is passed to each Radio when grouping in a RadioGroup for screen reader support.\n */\n name: string;\n /**\n * This function is passed into each Radio onChange synthetic event handler.\n */\n onChange?(e: ChangeEvent | FormEvent<HTMLInputElement>): void;\n /**\n * The value to compare against the Radio's value to determine if the Radio will be checked.\n */\n value: string;\n\n 'data-test-id'?: string;\n};\n\nconst RadioGroup = (props: RadioGroupProps) => {\n const {\n name,\n value,\n onChange,\n children,\n disabled,\n legend,\n 'data-test-id': testId = 'radio-group',\n ...rest\n } = props;\n const fieldsetRef = useRef<HTMLFieldSetElement>(null);\n\n function updateRadioElems(elem: ReactNode): ReactNode {\n if (!isValidElement(elem)) {\n return elem;\n }\n\n const item = elem as ReactElement;\n\n if (item?.type && item.type === Radio) {\n return cloneElement(item, {\n ...item.props,\n name,\n checked: item.props.value === value,\n onChange,\n disabled: typeof item.props?.disabled !== 'undefined' ? item.props.disabled : disabled,\n });\n }\n\n if (item?.type && item.type === Label) {\n return cloneElement(item, {\n ...item.props,\n onChange,\n disabled,\n });\n }\n\n const elemChildren = item?.props?.children;\n if (elemChildren) {\n if (Array.isArray(elemChildren)) {\n return cloneElement(item, {\n children: Children.map(elemChildren, (elemChild) => updateRadioElems(elemChild)),\n });\n }\n return cloneElement(item, {\n children: updateRadioElems(elemChildren),\n });\n }\n\n if (item?.type && item.type !== Radio && item.type !== Label) {\n return item;\n }\n\n return null;\n }\n\n const radios = Children.map(children, (child) => updateRadioElems(child));\n return (\n <fieldset data-test-id={testId} ref={fieldsetRef}>\n {legend && (\n <legend>\n <VisuallyHidden>{legend}</VisuallyHidden>\n </legend>\n )}\n <div {...rest}>{radios}</div>\n </fieldset>\n );\n};\n\nexport { RadioGroup };\nexport type { RadioGroupProps };\n","import type { SelectHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement> & {\n 'data-test-id'?: string;\n};\n\nconst Select = ({\n className,\n children,\n 'data-test-id': testId = 'select',\n ...rest\n}: SelectProps) => {\n const classes = cx(styles.formInput, className);\n\n return (\n <select {...rest} data-test-id={testId} className={classes}>\n {children}\n </select>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n","import type { KeyboardEvent, TextareaHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {\n 'data-test-id'?: string;\n};\n\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, 'data-test-id': testId = 'text-area', ...props }, ref) => {\n const onKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (\n e.key === 'ArrowRight' ||\n e.key === 'ArrowDown' ||\n e.key === 'ArrowUp' ||\n e.key === 'ArrowLeft'\n ) {\n e.stopPropagation();\n }\n if (e.key === 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n }\n };\n\n return (\n <textarea\n {...props}\n className={cx(styles.formInput, className)}\n ref={ref}\n data-test-id={testId}\n aria-describedby={props['aria-describedby'] || createFieldErrorId(props.id)}\n onKeyDown={onKeyDown}\n />\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\nexport type { TextAreaProps };\n"],"names":["RequiredAsterisk","className","testId","rest","classes","cx","styles","requiredAsterisk","Label","disabled","children","required","optional","label","labelDisabled","labelOptional","_jsx","Checkbox","forwardRef","ariaLabel","ariaLabelledby","checked","labelClassName","ref","hasAriaLabel","undefined","console","warn","checkbox","displayName","TextField","type","tiny","readOnly","tabIndex","suffix","overrideWidth","formInput","formInputTiny","suffixContainer","createFieldErrorId","id","width","CompactTextField","needsErrorFeedback","value","onFocus","onBlur","isActive","setIsActive","useState","toString","trim","length","isActiveState","compactTextField","placeholder","handleFocus","event","handleBlur","target","FieldError","name","errorMessage","fieldError","FieldSet","fieldSet","Form","props","inline","hasIncreasedErrorMargin","form","formInline","formIncreasedErrorMargin","FormGroup","ignoreValidation","isInvalid","formGroup","FormHint","hint","FormField","isRequired","htmlFor","field","_jsxs","fieldErrorMessage","IconField","icon","Icon","iconField","iconFieldIcon","Radio","labelStyle","_Fragment","radio","RadioGroup","onChange","legend","fieldsetRef","useRef","updateRadioElems","elem","isValidElement","item","cloneElement","elemChildren","Array","isArray","Children","map","elemChild","radios","child","Select","TextArea","onKeyDown","e","key","stopPropagation","nativeEvent","stopImmediatePropagation"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/RequiredAsterisk.tsx","../src/Label.tsx","../src/Checkbox.tsx","../src/utils/index.ts","../src/TextField.tsx","../src/CompactTextField.tsx","../src/FieldError.tsx","../src/FieldSet.tsx","../src/Form.tsx","../src/FormGroup.tsx","../src/FormHint.tsx","../src/FormField.tsx","../src/IconField.tsx","../src/Radio.tsx","../src/RadioGroup.tsx","../src/Select.tsx","../src/TextArea.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype RequiredAsteriskProps = HTMLAttributes<HTMLSpanElement> & {\n 'data-test-id'?: string;\n};\n\nconst RequiredAsterisk = ({\n className,\n 'data-test-id': testId = 'required-asterisk',\n ...rest\n}: RequiredAsteriskProps) => {\n const classes = cx(styles.requiredAsterisk, className);\n\n return (\n <span {...rest} data-test-id={testId} className={classes}>\n *\n </span>\n );\n};\n\nexport { RequiredAsterisk };\nexport type { RequiredAsteriskProps };\n","import type { LabelHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype LabelProps = LabelHTMLAttributes<HTMLLabelElement> & {\n required?: boolean;\n optional?: boolean;\n disabled?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Label = ({\n disabled,\n className,\n children,\n required = false,\n optional = false,\n 'data-test-id': testId = 'label',\n ...rest\n}: LabelProps) => {\n const classes = cx(styles.label, className, disabled && styles.labelDisabled);\n\n return (\n <label {...rest} data-test-id={testId} className={classes}>\n {children}\n {optional && !required && <small className={styles.labelOptional}>(optional)</small>}\n {required && !optional && <RequiredAsterisk />}\n </label>\n );\n};\n\nexport { Label };\nexport type { LabelProps };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype CheckboxProps = InputHTMLAttributes<HTMLInputElement> & {\n /**\n * The className to pass into the Checkbox's Label component\n */\n labelClassName?: string;\n 'data-test-id'?: string;\n};\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n disabled,\n checked,\n labelClassName,\n 'data-test-id': testId = 'checkbox',\n ...rest\n },\n ref\n ) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <Label className={labelClassName}>\n <input\n {...rest}\n ref={ref}\n checked={checked}\n aria-checked={checked ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={styles.checkbox}\n disabled={disabled}\n type=\"checkbox\"\n data-test-id={testId}\n />{' '}\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\nexport type { CheckboxProps };\n","type FieldPath = string | string[];\n\nconst createFieldErrorId = (fieldIdentifier?: FieldPath) =>\n fieldIdentifier ? `${[...fieldIdentifier].join('')}-err` : undefined;\n\nexport { createFieldErrorId };\nexport type { FieldPath };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextFieldProps = InputHTMLAttributes<HTMLInputElement> & {\n suffix?: string;\n tiny?: boolean;\n overrideWidth?: string;\n 'data-test-id'?: string;\n};\n\nconst TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n type = 'text',\n tiny = false,\n readOnly,\n tabIndex = 0,\n suffix,\n overrideWidth,\n 'data-test-id': testId = 'text-field',\n ...rest\n },\n ref\n ) => {\n const classes = overrideWidth\n ? className\n : cx(styles.formInput, tiny && styles.formInputTiny, className);\n\n if (suffix) {\n return (\n <div className={styles.suffixContainer}>\n <input\n {...rest}\n type={type}\n data-test-id={testId}\n className={classes}\n readOnly={readOnly}\n ref={ref}\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n <label className={styles.suffix} htmlFor={rest.id}>\n {suffix}\n </label>\n </div>\n );\n }\n\n return (\n <input\n {...rest}\n type={type}\n className={classes}\n readOnly={readOnly}\n tabIndex={tabIndex}\n ref={ref}\n data-test-id={testId}\n style={\n overrideWidth\n ? {\n width: overrideWidth,\n }\n : undefined\n }\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport { TextField };\nexport type { TextFieldProps };\n","import type { TextFieldProps } from './TextField';\nimport type { FocusEvent } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef, useState } from 'react';\n\nimport { Label } from './Label';\nimport { TextField } from './TextField';\nimport styles from './styles/Form.module.css';\n\ntype CompactTextFieldProps = TextFieldProps & {\n label: string;\n needsErrorFeedback?: boolean;\n};\n\nconst CompactTextField = forwardRef<HTMLInputElement, CompactTextFieldProps>(\n (\n {\n className,\n id,\n label,\n needsErrorFeedback,\n value,\n onFocus,\n onBlur,\n 'data-test-id': testId = 'compact-text-field',\n ...rest\n },\n ref\n ) => {\n const [isActive, setIsActive] = useState(\n (typeof value === 'boolean' || value ? value.toString() : '').trim().length !== 0\n );\n\n const isActiveState = isActive || needsErrorFeedback;\n\n const classes = cx(styles.compactTextField, className, isActiveState && styles.isActive);\n\n const placeholder = isActiveState ? '' : label;\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setIsActive(true);\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const value = event.target.value || '';\n setIsActive(value.trim().length !== 0);\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div className={classes} data-test-id={testId}>\n <Label htmlFor={id}>{label}</Label>\n <TextField\n {...rest}\n id={id}\n placeholder={placeholder}\n value={value}\n ref={ref}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </div>\n );\n }\n);\n\nCompactTextField.displayName = 'CompactTextField';\n\nexport { CompactTextField };\nexport type { CompactTextFieldProps };\n","import type { FieldPath } from './utils';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype FieldErrorProps = HTMLAttributes<HTMLSpanElement> & {\n name: FieldPath;\n errorMessage?: string;\n 'data-test-id'?: string;\n};\n\nconst FieldError = ({\n name,\n errorMessage,\n className,\n 'data-test-id': testId = 'field-error',\n ...rest\n}: FieldErrorProps) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n <span\n {...rest}\n className={cx(styles.fieldError, className)}\n aria-live=\"polite\"\n data-test-id={testId}\n id={createFieldErrorId(name)}\n >\n {`Error - ${errorMessage}`}\n </span>\n );\n};\n\nexport { FieldError };\nexport type { FieldErrorProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FieldSetProps = HTMLAttributes<HTMLFieldSetElement> & {\n 'data-test-id'?: string;\n};\n\nconst FieldSet = ({\n children,\n className,\n 'data-test-id': testId = 'field-set',\n ...rest\n}: FieldSetProps) => {\n const classes = cx(styles.fieldSet, className);\n\n return (\n <fieldset data-test-id={testId} className={classes} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FieldSet };\nexport type { FieldSetProps };\n","import type { FormHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormProps = FormHTMLAttributes<HTMLFormElement> & {\n inline?: boolean;\n // Increases margin between form fields to make room for error messages.\n // This prevents the form from shifting when rendering a field error.\n // This may be desired when the form contains external links that will\n // shift while clicking if the form shifts from validation.\n hasIncreasedErrorMargin?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Form = (props: FormProps) => {\n const {\n className,\n inline,\n children,\n hasIncreasedErrorMargin,\n 'data-test-id': testId = 'form',\n ...rest\n } = props;\n\n const classes = cx(\n styles.form,\n className,\n inline && styles.formInline,\n !!hasIncreasedErrorMargin && styles.formIncreasedErrorMargin\n );\n\n return (\n <form {...rest} data-test-id={testId} className={classes}>\n {children}\n </form>\n );\n};\n\nexport { Form };\nexport type { FormProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormGroupProps = HTMLAttributes<HTMLFieldSetElement> & {\n name?: string | string[];\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n 'data-test-id'?: string;\n};\n\nconst FormGroup = (props: FormGroupProps) => {\n const {\n className,\n name,\n ignoreValidation,\n isInvalid,\n children,\n 'data-test-id': testId = 'form-group',\n ...rest\n } = props;\n\n const classes = cx(\n styles.formGroup,\n className,\n !ignoreValidation && isInvalid && styles.isInvalid\n );\n\n return (\n <fieldset className={classes} data-test-id={testId} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FormGroup };\nexport type { FormGroupProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormHintProps = HTMLAttributes<HTMLDivElement> & {\n 'data-test-id'?: string;\n};\n\nconst FormHint = ({\n className,\n children,\n 'data-test-id': testId = 'form-hint',\n ...rest\n}: FormHintProps) => {\n const classes = cx(styles.hint, className);\n\n return (\n <div {...rest} data-test-id={testId} className={classes}>\n {children}\n </div>\n );\n};\n\nexport { FormHint };\nexport type { FormHintProps };\n","import { cx } from 'classix';\n\nimport { FieldError } from './FieldError';\nimport { FormGroup } from './FormGroup';\nimport { FormHint } from './FormHint';\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype FormFieldProps = {\n isRequired: boolean;\n label?: string;\n name: string;\n htmlFor: string;\n hint?: string;\n errorMessage?: string;\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n children: JSX.Element;\n className?: string;\n onBlur?: (field: string) => void;\n 'data-test-id'?: string;\n};\n\nconst FormField = ({\n isRequired,\n label,\n name,\n htmlFor,\n hint,\n errorMessage,\n ignoreValidation,\n isInvalid,\n children,\n className,\n onBlur,\n 'data-test-id': testId = 'form-field',\n}: FormFieldProps) => {\n const handleBlur = () => {\n onBlur && onBlur(name);\n };\n\n return (\n <FormGroup\n className={cx(styles.field, className)}\n name={name}\n ignoreValidation={ignoreValidation}\n isInvalid={isInvalid}\n onBlur={handleBlur}\n data-test-id={testId}\n >\n {label && (\n <label htmlFor={htmlFor}>\n {label}\n {isRequired && <RequiredAsterisk />}\n </label>\n )}\n {hint && <FormHint className={styles.hint}>{hint}</FormHint>}\n {children}\n <FieldError className={styles.fieldErrorMessage} name={name} errorMessage={errorMessage} />\n </FormGroup>\n );\n};\n\nexport type { FormFieldProps };\nexport { FormField };\n","import type { IconProps } from '@launchpad-ui/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype IconFieldProps = HTMLAttributes<HTMLDivElement> & {\n icon(args: IconProps): JSX.Element;\n children: JSX.Element | JSX.Element[];\n 'data-test-id'?: string;\n};\n\nconst IconField = ({\n icon,\n children,\n className,\n 'data-test-id': testId = 'icon-field',\n ...rest\n}: IconFieldProps) => {\n const Icon = icon;\n\n const classes = cx(styles.iconField, className);\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n <Icon size=\"small\" className={styles.iconFieldIcon} />\n </div>\n );\n};\n\nexport { IconField };\nexport type { IconFieldProps };\n","import type { CSSProperties, InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype RadioProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {\n labelClassName?: string;\n labelStyle?: CSSProperties;\n 'data-test-id'?: string;\n};\n\nconst Radio = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n checked = false,\n children,\n className,\n disabled = false,\n id,\n labelClassName,\n labelStyle,\n 'data-test-id': testId = 'radio',\n ...rest\n}: RadioProps) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <>\n <input\n {...rest}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.radio, className)}\n checked={checked}\n disabled={disabled}\n id={id}\n data-test-id={testId}\n type=\"radio\"\n />\n <Label className={labelClassName} htmlFor={id} style={labelStyle}>\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n </>\n );\n};\n\nexport { Radio };\nexport type { RadioProps };\n","import type { ChangeEvent, FormEvent, ReactElement, ReactNode } from 'react';\n\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport { Children, cloneElement, isValidElement, useRef } from 'react';\n\nimport { Label } from './Label';\nimport { Radio } from './Radio';\n\ntype RadioGroupProps = {\n /**\n * The legend that describes this groups of radio buttons. The legend\n * is important for screen reader users.\n */\n legend?: string;\n /**\n * The children passed into the RadioGroup.\n */\n children?: ReactNode;\n /**\n * Custom classname(s) passed to the fieldset inner div.\n */\n className?: string;\n /**\n * Set the underlying Radio to disabled if the Radio's disabled prop is undefined.\n */\n disabled?: boolean;\n /**\n * The RadioGroup's id.\n */\n id?: string;\n /**\n * Name to apply to the underlying Radio. The same name value is passed to each Radio when grouping in a RadioGroup for screen reader support.\n */\n name: string;\n /**\n * This function is passed into each Radio onChange synthetic event handler.\n */\n onChange?(e: ChangeEvent | FormEvent<HTMLInputElement>): void;\n /**\n * The value to compare against the Radio's value to determine if the Radio will be checked.\n */\n value: string;\n\n 'data-test-id'?: string;\n};\n\nconst RadioGroup = (props: RadioGroupProps) => {\n const {\n name,\n value,\n onChange,\n children,\n disabled,\n legend,\n 'data-test-id': testId = 'radio-group',\n ...rest\n } = props;\n const fieldsetRef = useRef<HTMLFieldSetElement>(null);\n\n function updateRadioElems(elem: ReactNode): ReactNode {\n if (!isValidElement(elem)) {\n return elem;\n }\n\n const item = elem as ReactElement;\n\n if (item?.type && item.type === Radio) {\n return cloneElement(item, {\n ...item.props,\n name,\n checked: item.props.value === value,\n onChange,\n disabled: typeof item.props?.disabled !== 'undefined' ? item.props.disabled : disabled,\n });\n }\n\n if (item?.type && item.type === Label) {\n return cloneElement(item, {\n ...item.props,\n onChange,\n disabled,\n });\n }\n\n const elemChildren = item?.props?.children;\n if (elemChildren) {\n if (Array.isArray(elemChildren)) {\n return cloneElement(item, {\n children: Children.map(elemChildren, (elemChild) => updateRadioElems(elemChild)),\n });\n }\n return cloneElement(item, {\n children: updateRadioElems(elemChildren),\n });\n }\n\n if (item?.type && item.type !== Radio && item.type !== Label) {\n return item;\n }\n\n return null;\n }\n\n const radios = Children.map(children, (child) => updateRadioElems(child));\n return (\n <fieldset data-test-id={testId} ref={fieldsetRef}>\n {legend && (\n <legend>\n <VisuallyHidden>{legend}</VisuallyHidden>\n </legend>\n )}\n <div {...rest}>{radios}</div>\n </fieldset>\n );\n};\n\nexport { RadioGroup };\nexport type { RadioGroupProps };\n","import type { SelectHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement> & {\n 'data-test-id'?: string;\n};\n\nconst Select = ({\n className,\n children,\n 'data-test-id': testId = 'select',\n ...rest\n}: SelectProps) => {\n const classes = cx(styles.formInput, className);\n\n return (\n <select {...rest} data-test-id={testId} className={classes}>\n {children}\n </select>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n","import type { KeyboardEvent, TextareaHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {\n 'data-test-id'?: string;\n};\n\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, 'data-test-id': testId = 'text-area', ...props }, ref) => {\n const onKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (\n e.key === 'ArrowRight' ||\n e.key === 'ArrowDown' ||\n e.key === 'ArrowUp' ||\n e.key === 'ArrowLeft'\n ) {\n e.stopPropagation();\n }\n if (e.key === 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n }\n };\n\n return (\n <textarea\n {...props}\n className={cx(styles.formInput, className)}\n ref={ref}\n data-test-id={testId}\n aria-describedby={props['aria-describedby'] || createFieldErrorId(props.id)}\n onKeyDown={onKeyDown}\n />\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\nexport type { TextAreaProps };\n"],"names":["RequiredAsterisk","className","testId","rest","classes","cx","styles","requiredAsterisk","Label","disabled","children","required","optional","label","labelDisabled","labelOptional","_jsx","Checkbox","forwardRef","ariaLabel","ariaLabelledby","checked","labelClassName","ref","hasAriaLabel","undefined","console","warn","checkbox","displayName","TextField","type","tiny","readOnly","tabIndex","suffix","overrideWidth","formInput","formInputTiny","suffixContainer","createFieldErrorId","id","width","CompactTextField","needsErrorFeedback","value","onFocus","onBlur","isActive","setIsActive","useState","toString","trim","length","isActiveState","compactTextField","placeholder","handleFocus","event","handleBlur","target","FieldError","name","errorMessage","fieldError","FieldSet","fieldSet","Form","props","inline","hasIncreasedErrorMargin","form","formInline","formIncreasedErrorMargin","FormGroup","ignoreValidation","isInvalid","formGroup","FormHint","hint","FormField","isRequired","htmlFor","field","_jsxs","fieldErrorMessage","IconField","icon","Icon","iconField","iconFieldIcon","Radio","labelStyle","_Fragment","radio","RadioGroup","onChange","legend","fieldsetRef","useRef","updateRadioElems","elem","isValidElement","item","cloneElement","elemChildren","Array","isArray","Children","map","elemChild","radios","child","Select","TextArea","onKeyDown","e","key","stopPropagation","nativeEvent","stopImmediatePropagation"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,34 +5,34 @@ const react = require("react");
5
5
  const classix = require("classix");
6
6
  const jsxRuntime = require("react/jsx-runtime");
7
7
  const visuallyHidden = require("@react-aria/visually-hidden");
8
- const formGroup = "_formGroup_1dqfg_1";
9
- const formIncreasedErrorMargin = "_formIncreasedErrorMargin_1dqfg_7";
10
- const formInline = "_formInline_1dqfg_11";
11
- const form = "_form_1dqfg_1";
12
- const inlineForm = "_inlineForm_1dqfg_25";
13
- const label = "_label_1dqfg_30";
14
- const labelDisabled = "_labelDisabled_1dqfg_36";
15
- const labelOptional = "_labelOptional_1dqfg_40";
16
- const compactTextField = "_compactTextField_1dqfg_46";
17
- const fieldError = "_fieldError_1dqfg_70";
18
- const iconField = "_iconField_1dqfg_96";
19
- const formInput = "_formInput_1dqfg_96";
20
- const isInvalid = "_isInvalid_1dqfg_100";
21
- const hint = "_hint_1dqfg_122";
22
- const field = "_field_1dqfg_70";
23
- const fieldErrorMessage = "_fieldErrorMessage_1dqfg_142";
24
- const isDisabled = "_isDisabled_1dqfg_177";
25
- const isFocused = "_isFocused_1dqfg_231";
26
- const checkbox = "_checkbox_1dqfg_245";
27
- const radio = "_radio_1dqfg_252";
28
- const number = "_number_1dqfg_266";
29
- const suffixContainer = "_suffixContainer_1dqfg_270";
30
- const suffix = "_suffix_1dqfg_270";
31
- const iconFieldIcon = "_iconFieldIcon_1dqfg_315";
32
- const formInputTiny = "_formInputTiny_1dqfg_323";
33
- const requiredAsterisk = "_requiredAsterisk_1dqfg_332";
34
- const fieldSet = "_fieldSet_1dqfg_336";
35
- const isActive = "_isActive_1dqfg_347";
8
+ const formGroup = "_formGroup_1w090_1";
9
+ const formIncreasedErrorMargin = "_formIncreasedErrorMargin_1w090_9";
10
+ const formInline = "_formInline_1w090_13";
11
+ const form = "_form_1w090_1";
12
+ const inlineForm = "_inlineForm_1w090_27";
13
+ const label = "_label_1w090_32";
14
+ const labelDisabled = "_labelDisabled_1w090_38";
15
+ const labelOptional = "_labelOptional_1w090_42";
16
+ const compactTextField = "_compactTextField_1w090_48";
17
+ const fieldError = "_fieldError_1w090_72";
18
+ const iconField = "_iconField_1w090_98";
19
+ const formInput = "_formInput_1w090_98";
20
+ const isInvalid = "_isInvalid_1w090_102";
21
+ const hint = "_hint_1w090_124";
22
+ const field = "_field_1w090_72";
23
+ const fieldErrorMessage = "_fieldErrorMessage_1w090_144";
24
+ const isDisabled = "_isDisabled_1w090_179";
25
+ const isFocused = "_isFocused_1w090_233";
26
+ const checkbox = "_checkbox_1w090_247";
27
+ const radio = "_radio_1w090_254";
28
+ const number = "_number_1w090_268";
29
+ const suffixContainer = "_suffixContainer_1w090_272";
30
+ const suffix = "_suffix_1w090_272";
31
+ const iconFieldIcon = "_iconFieldIcon_1w090_317";
32
+ const formInputTiny = "_formInputTiny_1w090_325";
33
+ const requiredAsterisk = "_requiredAsterisk_1w090_334";
34
+ const fieldSet = "_fieldSet_1w090_338";
35
+ const isActive = "_isActive_1w090_349";
36
36
  const styles = {
37
37
  formGroup,
38
38
  formIncreasedErrorMargin,
@@ -283,7 +283,7 @@ const FormGroup = (props) => {
283
283
  ...rest
284
284
  } = props;
285
285
  const classes = classix.cx(styles.formGroup, className, !ignoreValidation && isInvalid2 && styles.isInvalid);
286
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
286
+ return /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
287
287
  className: classes,
288
288
  "data-test-id": testId,
289
289
  ...rest,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/RequiredAsterisk.tsx","../src/Label.tsx","../src/Checkbox.tsx","../src/utils/index.ts","../src/TextField.tsx","../src/CompactTextField.tsx","../src/FieldError.tsx","../src/FieldSet.tsx","../src/Form.tsx","../src/FormGroup.tsx","../src/FormHint.tsx","../src/FormField.tsx","../src/IconField.tsx","../src/Radio.tsx","../src/RadioGroup.tsx","../src/Select.tsx","../src/TextArea.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype RequiredAsteriskProps = HTMLAttributes<HTMLSpanElement> & {\n 'data-test-id'?: string;\n};\n\nconst RequiredAsterisk = ({\n className,\n 'data-test-id': testId = 'required-asterisk',\n ...rest\n}: RequiredAsteriskProps) => {\n const classes = cx(styles.requiredAsterisk, className);\n\n return (\n <span {...rest} data-test-id={testId} className={classes}>\n *\n </span>\n );\n};\n\nexport { RequiredAsterisk };\nexport type { RequiredAsteriskProps };\n","import type { LabelHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype LabelProps = LabelHTMLAttributes<HTMLLabelElement> & {\n required?: boolean;\n optional?: boolean;\n disabled?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Label = ({\n disabled,\n className,\n children,\n required = false,\n optional = false,\n 'data-test-id': testId = 'label',\n ...rest\n}: LabelProps) => {\n const classes = cx(styles.label, className, disabled && styles.labelDisabled);\n\n return (\n <label {...rest} data-test-id={testId} className={classes}>\n {children}\n {optional && !required && <small className={styles.labelOptional}>(optional)</small>}\n {required && !optional && <RequiredAsterisk />}\n </label>\n );\n};\n\nexport { Label };\nexport type { LabelProps };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype CheckboxProps = InputHTMLAttributes<HTMLInputElement> & {\n /**\n * The className to pass into the Checkbox's Label component\n */\n labelClassName?: string;\n 'data-test-id'?: string;\n};\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n disabled,\n checked,\n labelClassName,\n 'data-test-id': testId = 'checkbox',\n ...rest\n },\n ref\n ) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <Label className={labelClassName}>\n <input\n {...rest}\n ref={ref}\n checked={checked}\n aria-checked={checked ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={styles.checkbox}\n disabled={disabled}\n type=\"checkbox\"\n data-test-id={testId}\n />{' '}\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\nexport type { CheckboxProps };\n","type FieldPath = string | string[];\n\nconst createFieldErrorId = (fieldIdentifier?: FieldPath) =>\n fieldIdentifier ? `${[...fieldIdentifier].join('')}-err` : undefined;\n\nexport { createFieldErrorId };\nexport type { FieldPath };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextFieldProps = InputHTMLAttributes<HTMLInputElement> & {\n suffix?: string;\n tiny?: boolean;\n overrideWidth?: string;\n 'data-test-id'?: string;\n};\n\nconst TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n type = 'text',\n tiny = false,\n readOnly,\n tabIndex = 0,\n suffix,\n overrideWidth,\n 'data-test-id': testId = 'text-field',\n ...rest\n },\n ref\n ) => {\n const classes = overrideWidth\n ? className\n : cx(styles.formInput, tiny && styles.formInputTiny, className);\n\n if (suffix) {\n return (\n <div className={styles.suffixContainer}>\n <input\n {...rest}\n type={type}\n data-test-id={testId}\n className={classes}\n readOnly={readOnly}\n ref={ref}\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n <label className={styles.suffix} htmlFor={rest.id}>\n {suffix}\n </label>\n </div>\n );\n }\n\n return (\n <input\n {...rest}\n type={type}\n className={classes}\n readOnly={readOnly}\n tabIndex={tabIndex}\n ref={ref}\n data-test-id={testId}\n style={\n overrideWidth\n ? {\n width: overrideWidth,\n }\n : undefined\n }\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport { TextField };\nexport type { TextFieldProps };\n","import type { TextFieldProps } from './TextField';\nimport type { FocusEvent } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef, useState } from 'react';\n\nimport { Label } from './Label';\nimport { TextField } from './TextField';\nimport styles from './styles/Form.module.css';\n\ntype CompactTextFieldProps = TextFieldProps & {\n label: string;\n needsErrorFeedback?: boolean;\n};\n\nconst CompactTextField = forwardRef<HTMLInputElement, CompactTextFieldProps>(\n (\n {\n className,\n id,\n label,\n needsErrorFeedback,\n value,\n onFocus,\n onBlur,\n 'data-test-id': testId = 'compact-text-field',\n ...rest\n },\n ref\n ) => {\n const [isActive, setIsActive] = useState(\n (typeof value === 'boolean' || value ? value.toString() : '').trim().length !== 0\n );\n\n const isActiveState = isActive || needsErrorFeedback;\n\n const classes = cx(styles.compactTextField, className, isActiveState && styles.isActive);\n\n const placeholder = isActiveState ? '' : label;\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setIsActive(true);\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const value = event.target.value || '';\n setIsActive(value.trim().length !== 0);\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div className={classes} data-test-id={testId}>\n <Label htmlFor={id}>{label}</Label>\n <TextField\n {...rest}\n id={id}\n placeholder={placeholder}\n value={value}\n ref={ref}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </div>\n );\n }\n);\n\nCompactTextField.displayName = 'CompactTextField';\n\nexport { CompactTextField };\nexport type { CompactTextFieldProps };\n","import type { FieldPath } from './utils';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype FieldErrorProps = HTMLAttributes<HTMLSpanElement> & {\n name: FieldPath;\n errorMessage?: string;\n 'data-test-id'?: string;\n};\n\nconst FieldError = ({\n name,\n errorMessage,\n className,\n 'data-test-id': testId = 'field-error',\n ...rest\n}: FieldErrorProps) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n <span\n {...rest}\n className={cx(styles.fieldError, className)}\n aria-live=\"polite\"\n data-test-id={testId}\n id={createFieldErrorId(name)}\n >\n {`Error - ${errorMessage}`}\n </span>\n );\n};\n\nexport { FieldError };\nexport type { FieldErrorProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FieldSetProps = HTMLAttributes<HTMLFieldSetElement> & {\n 'data-test-id'?: string;\n};\n\nconst FieldSet = ({\n children,\n className,\n 'data-test-id': testId = 'field-set',\n ...rest\n}: FieldSetProps) => {\n const classes = cx(styles.fieldSet, className);\n\n return (\n <fieldset data-test-id={testId} className={classes} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FieldSet };\nexport type { FieldSetProps };\n","import type { FormHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormProps = FormHTMLAttributes<HTMLFormElement> & {\n inline?: boolean;\n // Increases margin between form fields to make room for error messages.\n // This prevents the form from shifting when rendering a field error.\n // This may be desired when the form contains external links that will\n // shift while clicking if the form shifts from validation.\n hasIncreasedErrorMargin?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Form = (props: FormProps) => {\n const {\n className,\n inline,\n children,\n hasIncreasedErrorMargin,\n 'data-test-id': testId = 'form',\n ...rest\n } = props;\n\n const classes = cx(\n styles.form,\n className,\n inline && styles.formInline,\n !!hasIncreasedErrorMargin && styles.formIncreasedErrorMargin\n );\n\n return (\n <form {...rest} data-test-id={testId} className={classes}>\n {children}\n </form>\n );\n};\n\nexport { Form };\nexport type { FormProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormGroupProps = HTMLAttributes<HTMLDivElement> & {\n name?: string | string[];\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n 'data-test-id'?: string;\n};\n\nconst FormGroup = (props: FormGroupProps) => {\n const {\n className,\n name,\n ignoreValidation,\n isInvalid,\n children,\n 'data-test-id': testId = 'form-group',\n ...rest\n } = props;\n\n const classes = cx(\n styles.formGroup,\n className,\n !ignoreValidation && isInvalid && styles.isInvalid\n );\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n </div>\n );\n};\n\nexport { FormGroup };\nexport type { FormGroupProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormHintProps = HTMLAttributes<HTMLDivElement> & {\n 'data-test-id'?: string;\n};\n\nconst FormHint = ({\n className,\n children,\n 'data-test-id': testId = 'form-hint',\n ...rest\n}: FormHintProps) => {\n const classes = cx(styles.hint, className);\n\n return (\n <div {...rest} data-test-id={testId} className={classes}>\n {children}\n </div>\n );\n};\n\nexport { FormHint };\nexport type { FormHintProps };\n","import { cx } from 'classix';\n\nimport { FieldError } from './FieldError';\nimport { FormGroup } from './FormGroup';\nimport { FormHint } from './FormHint';\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype FormFieldProps = {\n isRequired: boolean;\n label?: string;\n name: string;\n htmlFor: string;\n hint?: string;\n errorMessage?: string;\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n children: JSX.Element;\n className?: string;\n onBlur?: (field: string) => void;\n 'data-test-id'?: string;\n};\n\nconst FormField = ({\n isRequired,\n label,\n name,\n htmlFor,\n hint,\n errorMessage,\n ignoreValidation,\n isInvalid,\n children,\n className,\n onBlur,\n 'data-test-id': testId = 'form-field',\n}: FormFieldProps) => {\n const handleBlur = () => {\n onBlur && onBlur(name);\n };\n\n return (\n <FormGroup\n className={cx(styles.field, className)}\n name={name}\n ignoreValidation={ignoreValidation}\n isInvalid={isInvalid}\n onBlur={handleBlur}\n data-test-id={testId}\n >\n {label && (\n <label htmlFor={htmlFor}>\n {label}\n {isRequired && <RequiredAsterisk />}\n </label>\n )}\n {hint && <FormHint className={styles.hint}>{hint}</FormHint>}\n {children}\n <FieldError className={styles.fieldErrorMessage} name={name} errorMessage={errorMessage} />\n </FormGroup>\n );\n};\n\nexport type { FormFieldProps };\nexport { FormField };\n","import type { IconProps } from '@launchpad-ui/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype IconFieldProps = HTMLAttributes<HTMLDivElement> & {\n icon(args: IconProps): JSX.Element;\n children: JSX.Element | JSX.Element[];\n 'data-test-id'?: string;\n};\n\nconst IconField = ({\n icon,\n children,\n className,\n 'data-test-id': testId = 'icon-field',\n ...rest\n}: IconFieldProps) => {\n const Icon = icon;\n\n const classes = cx(styles.iconField, className);\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n <Icon size=\"small\" className={styles.iconFieldIcon} />\n </div>\n );\n};\n\nexport { IconField };\nexport type { IconFieldProps };\n","import type { CSSProperties, InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype RadioProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {\n labelClassName?: string;\n labelStyle?: CSSProperties;\n 'data-test-id'?: string;\n};\n\nconst Radio = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n checked = false,\n children,\n className,\n disabled = false,\n id,\n labelClassName,\n labelStyle,\n 'data-test-id': testId = 'radio',\n ...rest\n}: RadioProps) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <>\n <input\n {...rest}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.radio, className)}\n checked={checked}\n disabled={disabled}\n id={id}\n data-test-id={testId}\n type=\"radio\"\n />\n <Label className={labelClassName} htmlFor={id} style={labelStyle}>\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n </>\n );\n};\n\nexport { Radio };\nexport type { RadioProps };\n","import type { ChangeEvent, FormEvent, ReactElement, ReactNode } from 'react';\n\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport { Children, cloneElement, isValidElement, useRef } from 'react';\n\nimport { Label } from './Label';\nimport { Radio } from './Radio';\n\ntype RadioGroupProps = {\n /**\n * The legend that describes this groups of radio buttons. The legend\n * is important for screen reader users.\n */\n legend?: string;\n /**\n * The children passed into the RadioGroup.\n */\n children?: ReactNode;\n /**\n * Custom classname(s) passed to the fieldset inner div.\n */\n className?: string;\n /**\n * Set the underlying Radio to disabled if the Radio's disabled prop is undefined.\n */\n disabled?: boolean;\n /**\n * The RadioGroup's id.\n */\n id?: string;\n /**\n * Name to apply to the underlying Radio. The same name value is passed to each Radio when grouping in a RadioGroup for screen reader support.\n */\n name: string;\n /**\n * This function is passed into each Radio onChange synthetic event handler.\n */\n onChange?(e: ChangeEvent | FormEvent<HTMLInputElement>): void;\n /**\n * The value to compare against the Radio's value to determine if the Radio will be checked.\n */\n value: string;\n\n 'data-test-id'?: string;\n};\n\nconst RadioGroup = (props: RadioGroupProps) => {\n const {\n name,\n value,\n onChange,\n children,\n disabled,\n legend,\n 'data-test-id': testId = 'radio-group',\n ...rest\n } = props;\n const fieldsetRef = useRef<HTMLFieldSetElement>(null);\n\n function updateRadioElems(elem: ReactNode): ReactNode {\n if (!isValidElement(elem)) {\n return elem;\n }\n\n const item = elem as ReactElement;\n\n if (item?.type && item.type === Radio) {\n return cloneElement(item, {\n ...item.props,\n name,\n checked: item.props.value === value,\n onChange,\n disabled: typeof item.props?.disabled !== 'undefined' ? item.props.disabled : disabled,\n });\n }\n\n if (item?.type && item.type === Label) {\n return cloneElement(item, {\n ...item.props,\n onChange,\n disabled,\n });\n }\n\n const elemChildren = item?.props?.children;\n if (elemChildren) {\n if (Array.isArray(elemChildren)) {\n return cloneElement(item, {\n children: Children.map(elemChildren, (elemChild) => updateRadioElems(elemChild)),\n });\n }\n return cloneElement(item, {\n children: updateRadioElems(elemChildren),\n });\n }\n\n if (item?.type && item.type !== Radio && item.type !== Label) {\n return item;\n }\n\n return null;\n }\n\n const radios = Children.map(children, (child) => updateRadioElems(child));\n return (\n <fieldset data-test-id={testId} ref={fieldsetRef}>\n {legend && (\n <legend>\n <VisuallyHidden>{legend}</VisuallyHidden>\n </legend>\n )}\n <div {...rest}>{radios}</div>\n </fieldset>\n );\n};\n\nexport { RadioGroup };\nexport type { RadioGroupProps };\n","import type { SelectHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement> & {\n 'data-test-id'?: string;\n};\n\nconst Select = ({\n className,\n children,\n 'data-test-id': testId = 'select',\n ...rest\n}: SelectProps) => {\n const classes = cx(styles.formInput, className);\n\n return (\n <select {...rest} data-test-id={testId} className={classes}>\n {children}\n </select>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n","import type { KeyboardEvent, TextareaHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {\n 'data-test-id'?: string;\n};\n\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, 'data-test-id': testId = 'text-area', ...props }, ref) => {\n const onKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (\n e.key === 'ArrowRight' ||\n e.key === 'ArrowDown' ||\n e.key === 'ArrowUp' ||\n e.key === 'ArrowLeft'\n ) {\n e.stopPropagation();\n }\n if (e.key === 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n }\n };\n\n return (\n <textarea\n {...props}\n className={cx(styles.formInput, className)}\n ref={ref}\n data-test-id={testId}\n aria-describedby={props['aria-describedby'] || createFieldErrorId(props.id)}\n onKeyDown={onKeyDown}\n />\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\nexport type { TextAreaProps };\n"],"names":["RequiredAsterisk","className","testId","rest","classes","cx","styles","requiredAsterisk","Label","disabled","children","required","optional","label","labelDisabled","labelOptional","_jsx","Checkbox","forwardRef","ariaLabel","ariaLabelledby","checked","labelClassName","ref","hasAriaLabel","undefined","console","warn","checkbox","displayName","TextField","type","tiny","readOnly","tabIndex","suffix","overrideWidth","formInput","formInputTiny","suffixContainer","createFieldErrorId","id","width","CompactTextField","needsErrorFeedback","value","onFocus","onBlur","isActive","setIsActive","useState","toString","trim","length","isActiveState","compactTextField","placeholder","handleFocus","event","handleBlur","target","FieldError","name","errorMessage","fieldError","FieldSet","fieldSet","Form","props","inline","hasIncreasedErrorMargin","form","formInline","formIncreasedErrorMargin","FormGroup","ignoreValidation","isInvalid","formGroup","FormHint","hint","FormField","isRequired","htmlFor","field","_jsxs","fieldErrorMessage","IconField","icon","Icon","iconField","iconFieldIcon","Radio","labelStyle","_Fragment","radio","RadioGroup","onChange","legend","fieldsetRef","useRef","updateRadioElems","elem","isValidElement","item","cloneElement","elemChildren","Array","isArray","Children","map","elemChild","radios","child","VisuallyHidden","Select","TextArea","onKeyDown","e","key","stopPropagation","nativeEvent","stopImmediatePropagation"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/RequiredAsterisk.tsx","../src/Label.tsx","../src/Checkbox.tsx","../src/utils/index.ts","../src/TextField.tsx","../src/CompactTextField.tsx","../src/FieldError.tsx","../src/FieldSet.tsx","../src/Form.tsx","../src/FormGroup.tsx","../src/FormHint.tsx","../src/FormField.tsx","../src/IconField.tsx","../src/Radio.tsx","../src/RadioGroup.tsx","../src/Select.tsx","../src/TextArea.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype RequiredAsteriskProps = HTMLAttributes<HTMLSpanElement> & {\n 'data-test-id'?: string;\n};\n\nconst RequiredAsterisk = ({\n className,\n 'data-test-id': testId = 'required-asterisk',\n ...rest\n}: RequiredAsteriskProps) => {\n const classes = cx(styles.requiredAsterisk, className);\n\n return (\n <span {...rest} data-test-id={testId} className={classes}>\n *\n </span>\n );\n};\n\nexport { RequiredAsterisk };\nexport type { RequiredAsteriskProps };\n","import type { LabelHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype LabelProps = LabelHTMLAttributes<HTMLLabelElement> & {\n required?: boolean;\n optional?: boolean;\n disabled?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Label = ({\n disabled,\n className,\n children,\n required = false,\n optional = false,\n 'data-test-id': testId = 'label',\n ...rest\n}: LabelProps) => {\n const classes = cx(styles.label, className, disabled && styles.labelDisabled);\n\n return (\n <label {...rest} data-test-id={testId} className={classes}>\n {children}\n {optional && !required && <small className={styles.labelOptional}>(optional)</small>}\n {required && !optional && <RequiredAsterisk />}\n </label>\n );\n};\n\nexport { Label };\nexport type { LabelProps };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { forwardRef } from 'react';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype CheckboxProps = InputHTMLAttributes<HTMLInputElement> & {\n /**\n * The className to pass into the Checkbox's Label component\n */\n labelClassName?: string;\n 'data-test-id'?: string;\n};\n\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n disabled,\n checked,\n labelClassName,\n 'data-test-id': testId = 'checkbox',\n ...rest\n },\n ref\n ) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <Label className={labelClassName}>\n <input\n {...rest}\n ref={ref}\n checked={checked}\n aria-checked={checked ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={styles.checkbox}\n disabled={disabled}\n type=\"checkbox\"\n data-test-id={testId}\n />{' '}\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport { Checkbox };\nexport type { CheckboxProps };\n","type FieldPath = string | string[];\n\nconst createFieldErrorId = (fieldIdentifier?: FieldPath) =>\n fieldIdentifier ? `${[...fieldIdentifier].join('')}-err` : undefined;\n\nexport { createFieldErrorId };\nexport type { FieldPath };\n","import type { InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextFieldProps = InputHTMLAttributes<HTMLInputElement> & {\n suffix?: string;\n tiny?: boolean;\n overrideWidth?: string;\n 'data-test-id'?: string;\n};\n\nconst TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n className,\n type = 'text',\n tiny = false,\n readOnly,\n tabIndex = 0,\n suffix,\n overrideWidth,\n 'data-test-id': testId = 'text-field',\n ...rest\n },\n ref\n ) => {\n const classes = overrideWidth\n ? className\n : cx(styles.formInput, tiny && styles.formInputTiny, className);\n\n if (suffix) {\n return (\n <div className={styles.suffixContainer}>\n <input\n {...rest}\n type={type}\n data-test-id={testId}\n className={classes}\n readOnly={readOnly}\n ref={ref}\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n <label className={styles.suffix} htmlFor={rest.id}>\n {suffix}\n </label>\n </div>\n );\n }\n\n return (\n <input\n {...rest}\n type={type}\n className={classes}\n readOnly={readOnly}\n tabIndex={tabIndex}\n ref={ref}\n data-test-id={testId}\n style={\n overrideWidth\n ? {\n width: overrideWidth,\n }\n : undefined\n }\n aria-describedby={rest['aria-describedby'] || createFieldErrorId(rest.id)}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport { TextField };\nexport type { TextFieldProps };\n","import type { TextFieldProps } from './TextField';\nimport type { FocusEvent } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef, useState } from 'react';\n\nimport { Label } from './Label';\nimport { TextField } from './TextField';\nimport styles from './styles/Form.module.css';\n\ntype CompactTextFieldProps = TextFieldProps & {\n label: string;\n needsErrorFeedback?: boolean;\n};\n\nconst CompactTextField = forwardRef<HTMLInputElement, CompactTextFieldProps>(\n (\n {\n className,\n id,\n label,\n needsErrorFeedback,\n value,\n onFocus,\n onBlur,\n 'data-test-id': testId = 'compact-text-field',\n ...rest\n },\n ref\n ) => {\n const [isActive, setIsActive] = useState(\n (typeof value === 'boolean' || value ? value.toString() : '').trim().length !== 0\n );\n\n const isActiveState = isActive || needsErrorFeedback;\n\n const classes = cx(styles.compactTextField, className, isActiveState && styles.isActive);\n\n const placeholder = isActiveState ? '' : label;\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n setIsActive(true);\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const value = event.target.value || '';\n setIsActive(value.trim().length !== 0);\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div className={classes} data-test-id={testId}>\n <Label htmlFor={id}>{label}</Label>\n <TextField\n {...rest}\n id={id}\n placeholder={placeholder}\n value={value}\n ref={ref}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </div>\n );\n }\n);\n\nCompactTextField.displayName = 'CompactTextField';\n\nexport { CompactTextField };\nexport type { CompactTextFieldProps };\n","import type { FieldPath } from './utils';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype FieldErrorProps = HTMLAttributes<HTMLSpanElement> & {\n name: FieldPath;\n errorMessage?: string;\n 'data-test-id'?: string;\n};\n\nconst FieldError = ({\n name,\n errorMessage,\n className,\n 'data-test-id': testId = 'field-error',\n ...rest\n}: FieldErrorProps) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n <span\n {...rest}\n className={cx(styles.fieldError, className)}\n aria-live=\"polite\"\n data-test-id={testId}\n id={createFieldErrorId(name)}\n >\n {`Error - ${errorMessage}`}\n </span>\n );\n};\n\nexport { FieldError };\nexport type { FieldErrorProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FieldSetProps = HTMLAttributes<HTMLFieldSetElement> & {\n 'data-test-id'?: string;\n};\n\nconst FieldSet = ({\n children,\n className,\n 'data-test-id': testId = 'field-set',\n ...rest\n}: FieldSetProps) => {\n const classes = cx(styles.fieldSet, className);\n\n return (\n <fieldset data-test-id={testId} className={classes} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FieldSet };\nexport type { FieldSetProps };\n","import type { FormHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormProps = FormHTMLAttributes<HTMLFormElement> & {\n inline?: boolean;\n // Increases margin between form fields to make room for error messages.\n // This prevents the form from shifting when rendering a field error.\n // This may be desired when the form contains external links that will\n // shift while clicking if the form shifts from validation.\n hasIncreasedErrorMargin?: boolean;\n 'data-test-id'?: string;\n};\n\nconst Form = (props: FormProps) => {\n const {\n className,\n inline,\n children,\n hasIncreasedErrorMargin,\n 'data-test-id': testId = 'form',\n ...rest\n } = props;\n\n const classes = cx(\n styles.form,\n className,\n inline && styles.formInline,\n !!hasIncreasedErrorMargin && styles.formIncreasedErrorMargin\n );\n\n return (\n <form {...rest} data-test-id={testId} className={classes}>\n {children}\n </form>\n );\n};\n\nexport { Form };\nexport type { FormProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormGroupProps = HTMLAttributes<HTMLFieldSetElement> & {\n name?: string | string[];\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n 'data-test-id'?: string;\n};\n\nconst FormGroup = (props: FormGroupProps) => {\n const {\n className,\n name,\n ignoreValidation,\n isInvalid,\n children,\n 'data-test-id': testId = 'form-group',\n ...rest\n } = props;\n\n const classes = cx(\n styles.formGroup,\n className,\n !ignoreValidation && isInvalid && styles.isInvalid\n );\n\n return (\n <fieldset className={classes} data-test-id={testId} {...rest}>\n {children}\n </fieldset>\n );\n};\n\nexport { FormGroup };\nexport type { FormGroupProps };\n","import type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype FormHintProps = HTMLAttributes<HTMLDivElement> & {\n 'data-test-id'?: string;\n};\n\nconst FormHint = ({\n className,\n children,\n 'data-test-id': testId = 'form-hint',\n ...rest\n}: FormHintProps) => {\n const classes = cx(styles.hint, className);\n\n return (\n <div {...rest} data-test-id={testId} className={classes}>\n {children}\n </div>\n );\n};\n\nexport { FormHint };\nexport type { FormHintProps };\n","import { cx } from 'classix';\n\nimport { FieldError } from './FieldError';\nimport { FormGroup } from './FormGroup';\nimport { FormHint } from './FormHint';\nimport { RequiredAsterisk } from './RequiredAsterisk';\nimport styles from './styles/Form.module.css';\n\ntype FormFieldProps = {\n isRequired: boolean;\n label?: string;\n name: string;\n htmlFor: string;\n hint?: string;\n errorMessage?: string;\n ignoreValidation?: boolean;\n isInvalid?: boolean;\n children: JSX.Element;\n className?: string;\n onBlur?: (field: string) => void;\n 'data-test-id'?: string;\n};\n\nconst FormField = ({\n isRequired,\n label,\n name,\n htmlFor,\n hint,\n errorMessage,\n ignoreValidation,\n isInvalid,\n children,\n className,\n onBlur,\n 'data-test-id': testId = 'form-field',\n}: FormFieldProps) => {\n const handleBlur = () => {\n onBlur && onBlur(name);\n };\n\n return (\n <FormGroup\n className={cx(styles.field, className)}\n name={name}\n ignoreValidation={ignoreValidation}\n isInvalid={isInvalid}\n onBlur={handleBlur}\n data-test-id={testId}\n >\n {label && (\n <label htmlFor={htmlFor}>\n {label}\n {isRequired && <RequiredAsterisk />}\n </label>\n )}\n {hint && <FormHint className={styles.hint}>{hint}</FormHint>}\n {children}\n <FieldError className={styles.fieldErrorMessage} name={name} errorMessage={errorMessage} />\n </FormGroup>\n );\n};\n\nexport type { FormFieldProps };\nexport { FormField };\n","import type { IconProps } from '@launchpad-ui/icons';\nimport type { HTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype IconFieldProps = HTMLAttributes<HTMLDivElement> & {\n icon(args: IconProps): JSX.Element;\n children: JSX.Element | JSX.Element[];\n 'data-test-id'?: string;\n};\n\nconst IconField = ({\n icon,\n children,\n className,\n 'data-test-id': testId = 'icon-field',\n ...rest\n}: IconFieldProps) => {\n const Icon = icon;\n\n const classes = cx(styles.iconField, className);\n\n return (\n <div className={classes} data-test-id={testId} {...rest}>\n {children}\n <Icon size=\"small\" className={styles.iconFieldIcon} />\n </div>\n );\n};\n\nexport { IconField };\nexport type { IconFieldProps };\n","import type { CSSProperties, InputHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport { Label } from './Label';\nimport styles from './styles/Form.module.css';\n\ntype RadioProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {\n labelClassName?: string;\n labelStyle?: CSSProperties;\n 'data-test-id'?: string;\n};\n\nconst Radio = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n checked = false,\n children,\n className,\n disabled = false,\n id,\n labelClassName,\n labelStyle,\n 'data-test-id': testId = 'radio',\n ...rest\n}: RadioProps) => {\n const hasAriaLabel = ariaLabel !== undefined || ariaLabelledby !== undefined;\n\n if (!children && !hasAriaLabel) {\n console.warn(\n 'If you do not provide children, you must specify an aria-label for accessibility'\n );\n }\n\n return (\n <>\n <input\n {...rest}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.radio, className)}\n checked={checked}\n disabled={disabled}\n id={id}\n data-test-id={testId}\n type=\"radio\"\n />\n <Label className={labelClassName} htmlFor={id} style={labelStyle}>\n {disabled ? <span className={styles.labelDisabled}>{children}</span> : children}\n </Label>\n </>\n );\n};\n\nexport { Radio };\nexport type { RadioProps };\n","import type { ChangeEvent, FormEvent, ReactElement, ReactNode } from 'react';\n\nimport { VisuallyHidden } from '@react-aria/visually-hidden';\nimport { Children, cloneElement, isValidElement, useRef } from 'react';\n\nimport { Label } from './Label';\nimport { Radio } from './Radio';\n\ntype RadioGroupProps = {\n /**\n * The legend that describes this groups of radio buttons. The legend\n * is important for screen reader users.\n */\n legend?: string;\n /**\n * The children passed into the RadioGroup.\n */\n children?: ReactNode;\n /**\n * Custom classname(s) passed to the fieldset inner div.\n */\n className?: string;\n /**\n * Set the underlying Radio to disabled if the Radio's disabled prop is undefined.\n */\n disabled?: boolean;\n /**\n * The RadioGroup's id.\n */\n id?: string;\n /**\n * Name to apply to the underlying Radio. The same name value is passed to each Radio when grouping in a RadioGroup for screen reader support.\n */\n name: string;\n /**\n * This function is passed into each Radio onChange synthetic event handler.\n */\n onChange?(e: ChangeEvent | FormEvent<HTMLInputElement>): void;\n /**\n * The value to compare against the Radio's value to determine if the Radio will be checked.\n */\n value: string;\n\n 'data-test-id'?: string;\n};\n\nconst RadioGroup = (props: RadioGroupProps) => {\n const {\n name,\n value,\n onChange,\n children,\n disabled,\n legend,\n 'data-test-id': testId = 'radio-group',\n ...rest\n } = props;\n const fieldsetRef = useRef<HTMLFieldSetElement>(null);\n\n function updateRadioElems(elem: ReactNode): ReactNode {\n if (!isValidElement(elem)) {\n return elem;\n }\n\n const item = elem as ReactElement;\n\n if (item?.type && item.type === Radio) {\n return cloneElement(item, {\n ...item.props,\n name,\n checked: item.props.value === value,\n onChange,\n disabled: typeof item.props?.disabled !== 'undefined' ? item.props.disabled : disabled,\n });\n }\n\n if (item?.type && item.type === Label) {\n return cloneElement(item, {\n ...item.props,\n onChange,\n disabled,\n });\n }\n\n const elemChildren = item?.props?.children;\n if (elemChildren) {\n if (Array.isArray(elemChildren)) {\n return cloneElement(item, {\n children: Children.map(elemChildren, (elemChild) => updateRadioElems(elemChild)),\n });\n }\n return cloneElement(item, {\n children: updateRadioElems(elemChildren),\n });\n }\n\n if (item?.type && item.type !== Radio && item.type !== Label) {\n return item;\n }\n\n return null;\n }\n\n const radios = Children.map(children, (child) => updateRadioElems(child));\n return (\n <fieldset data-test-id={testId} ref={fieldsetRef}>\n {legend && (\n <legend>\n <VisuallyHidden>{legend}</VisuallyHidden>\n </legend>\n )}\n <div {...rest}>{radios}</div>\n </fieldset>\n );\n};\n\nexport { RadioGroup };\nexport type { RadioGroupProps };\n","import type { SelectHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\n\nimport styles from './styles/Form.module.css';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement> & {\n 'data-test-id'?: string;\n};\n\nconst Select = ({\n className,\n children,\n 'data-test-id': testId = 'select',\n ...rest\n}: SelectProps) => {\n const classes = cx(styles.formInput, className);\n\n return (\n <select {...rest} data-test-id={testId} className={classes}>\n {children}\n </select>\n );\n};\n\nexport { Select };\nexport type { SelectProps };\n","import type { KeyboardEvent, TextareaHTMLAttributes } from 'react';\n\nimport { cx } from 'classix';\nimport { forwardRef } from 'react';\n\nimport styles from './styles/Form.module.css';\nimport { createFieldErrorId } from './utils';\n\ntype TextAreaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {\n 'data-test-id'?: string;\n};\n\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\n ({ className, 'data-test-id': testId = 'text-area', ...props }, ref) => {\n const onKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n if (\n e.key === 'ArrowRight' ||\n e.key === 'ArrowDown' ||\n e.key === 'ArrowUp' ||\n e.key === 'ArrowLeft'\n ) {\n e.stopPropagation();\n }\n if (e.key === 'Escape') {\n e.nativeEvent.stopImmediatePropagation();\n }\n };\n\n return (\n <textarea\n {...props}\n className={cx(styles.formInput, className)}\n ref={ref}\n data-test-id={testId}\n aria-describedby={props['aria-describedby'] || createFieldErrorId(props.id)}\n onKeyDown={onKeyDown}\n />\n );\n }\n);\n\nTextArea.displayName = 'TextArea';\n\nexport { TextArea };\nexport type { TextAreaProps };\n"],"names":["RequiredAsterisk","className","testId","rest","classes","cx","styles","requiredAsterisk","Label","disabled","children","required","optional","label","labelDisabled","labelOptional","_jsx","Checkbox","forwardRef","ariaLabel","ariaLabelledby","checked","labelClassName","ref","hasAriaLabel","undefined","console","warn","checkbox","displayName","TextField","type","tiny","readOnly","tabIndex","suffix","overrideWidth","formInput","formInputTiny","suffixContainer","createFieldErrorId","id","width","CompactTextField","needsErrorFeedback","value","onFocus","onBlur","isActive","setIsActive","useState","toString","trim","length","isActiveState","compactTextField","placeholder","handleFocus","event","handleBlur","target","FieldError","name","errorMessage","fieldError","FieldSet","fieldSet","Form","props","inline","hasIncreasedErrorMargin","form","formInline","formIncreasedErrorMargin","FormGroup","ignoreValidation","isInvalid","formGroup","FormHint","hint","FormField","isRequired","htmlFor","field","_jsxs","fieldErrorMessage","IconField","icon","Icon","iconField","iconFieldIcon","Radio","labelStyle","_Fragment","radio","RadioGroup","onChange","legend","fieldsetRef","useRef","updateRadioElems","elem","isValidElement","item","cloneElement","elemChildren","Array","isArray","Children","map","elemChild","radios","child","VisuallyHidden","Select","TextArea","onKeyDown","e","key","stopPropagation","nativeEvent","stopImmediatePropagation"],"mappings":"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"}
package/dist/style.css CHANGED
@@ -1,50 +1,52 @@
1
- ._formGroup_1dqfg_1 {
1
+ ._formGroup_1w090_1 {
2
2
  margin: 2rem 0;
3
+ padding: 0;
4
+ border: none;
3
5
  }
4
6
 
5
7
  /* The margin for .formGroup and the min-height of .form-fieldError
6
8
  should be equal to avoid content shift when errors are shown */
7
9
 
8
- ._formIncreasedErrorMargin_1dqfg_7 ._formGroup_1dqfg_1 {
10
+ ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1 {
9
11
  margin: 2.8rem 0;
10
12
  }
11
13
 
12
- ._formInline_1dqfg_11 ._formGroup_1dqfg_1 {
14
+ ._formInline_1w090_13 ._formGroup_1w090_1 {
13
15
  display: inline-block;
14
16
  vertical-align: middle;
15
17
  margin: 0;
16
18
  }
17
19
 
18
- ._form_1dqfg_1 ._formGroup_1dqfg_1:first-child {
20
+ ._form_1w090_1 ._formGroup_1w090_1:first-child {
19
21
  margin-top: 0;
20
22
  }
21
23
 
22
- ._form_1dqfg_1 ._formGroup_1dqfg_1:last-child {
24
+ ._form_1w090_1 ._formGroup_1w090_1:last-child {
23
25
  margin-bottom: 0;
24
26
  }
25
27
 
26
- ._inlineForm_1dqfg_25 ._formGroup_1dqfg_1 + ._formGroup_1dqfg_1,
27
- ._inlineForm_1dqfg_25 ._formGroup_1dqfg_1 + .Button {
28
+ ._inlineForm_1w090_27 ._formGroup_1w090_1 + ._formGroup_1w090_1,
29
+ ._inlineForm_1w090_27 ._formGroup_1w090_1 + .Button {
28
30
  margin-left: 1rem;
29
31
  }
30
32
 
31
- ._label_1dqfg_30 {
33
+ ._label_1w090_32 {
32
34
  font-size: 1.3rem;
33
35
  font-family: var(--font-family-base);
34
36
  word-break: break-word;
35
37
  }
36
38
 
37
- ._labelDisabled_1dqfg_36 {
39
+ ._labelDisabled_1w090_38 {
38
40
  color: var(--color-gray-800);
39
41
  }
40
42
 
41
- ._labelOptional_1dqfg_40 {
43
+ ._labelOptional_1w090_42 {
42
44
  margin-left: 0.4em;
43
45
  color: var(--color-text-subtle-primary);
44
46
  fill: var(--color-text-subtle-primary);
45
47
  }
46
48
 
47
- ._compactTextField_1dqfg_46 ._label_1dqfg_30 {
49
+ ._compactTextField_1w090_48 ._label_1w090_32 {
48
50
  position: absolute;
49
51
  top: -2px;
50
52
  left: 10px;
@@ -58,17 +60,17 @@
58
60
  z-index: 1; /* Fixes layout issue in Firefox */
59
61
  }
60
62
 
61
- ._formGroup_1dqfg_1 ._label_1dqfg_30 {
63
+ ._formGroup_1w090_1 ._label_1w090_32 {
62
64
  display: flex;
63
65
  align-items: center;
64
66
  margin-bottom: 0.2rem;
65
67
  }
66
68
 
67
- ._formGroup_1dqfg_1 ._label_1dqfg_30 + ._label_1dqfg_30 {
69
+ ._formGroup_1w090_1 ._label_1w090_32 + ._label_1w090_32 {
68
70
  margin-top: 0.5rem;
69
71
  }
70
72
 
71
- ._fieldError_1dqfg_70 {
73
+ ._fieldError_1w090_72 {
72
74
  color: var(--color-system-red-600);
73
75
  font-size: 1.3rem;
74
76
  }
@@ -76,30 +78,30 @@
76
78
  /* The margin for .formGroup and the min-height of .form-fieldError
77
79
  should be equal to avoid content shift when errors are shown */
78
80
 
79
- ._formIncreasedErrorMargin_1dqfg_7 ._fieldError_1dqfg_70 {
81
+ ._formIncreasedErrorMargin_1w090_9 ._fieldError_1w090_72 {
80
82
  min-height: 2.8rem;
81
83
  }
82
84
 
83
- ._label_1dqfg_30 ._fieldError_1dqfg_70 {
85
+ ._label_1w090_32 ._fieldError_1w090_72 {
84
86
  float: right;
85
87
  }
86
88
 
87
- ._form_1dqfg_1:not(._inlineForm_1dqfg_25) ._fieldError_1dqfg_70 {
89
+ ._form_1w090_1:not(._inlineForm_1w090_27) ._fieldError_1w090_72 {
88
90
  display: block;
89
91
  padding-top: 0.5rem;
90
92
  text-align: left;
91
93
  }
92
94
 
93
- ._formIncreasedErrorMargin_1dqfg_7:not(._inlineForm_1dqfg_25) ._fieldError_1dqfg_70 {
95
+ ._formIncreasedErrorMargin_1w090_9:not(._inlineForm_1w090_27) ._fieldError_1w090_72 {
94
96
  padding-top: 0.1rem;
95
97
  padding-bottom: 0.5rem;
96
98
  }
97
99
 
98
- ._iconField_1dqfg_96 ._formInput_1dqfg_96 {
100
+ ._iconField_1w090_98 ._formInput_1w090_98 {
99
101
  padding-left: 3rem;
100
102
  }
101
103
 
102
- ._form_1dqfg_1 ._isInvalid_1dqfg_100 ._label_1dqfg_30 {
104
+ ._form_1w090_1 ._isInvalid_1w090_102 ._label_1w090_32 {
103
105
  color: var(--color-system-red-600);
104
106
  }
105
107
 
@@ -111,21 +113,21 @@
111
113
  color: var(--color-gray-600);
112
114
  }
113
115
 
114
- ._form_1dqfg_1 ._isInvalid_1dqfg_100 .Select-control,
115
- ._form_1dqfg_1 ._isInvalid_1dqfg_100 .CustomSelect > div,
116
- ._form_1dqfg_1 ._isInvalid_1dqfg_100 ._formInput_1dqfg_96 {
116
+ ._form_1w090_1 ._isInvalid_1w090_102 .Select-control,
117
+ ._form_1w090_1 ._isInvalid_1w090_102 .CustomSelect > div,
118
+ ._form_1w090_1 ._isInvalid_1w090_102 ._formInput_1w090_98 {
117
119
  border-color: var(--color-system-red-600);
118
120
  }
119
121
 
120
- ._formIncreasedErrorMargin_1dqfg_7 ._formGroup_1dqfg_1._isInvalid_1dqfg_100 {
122
+ ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1._isInvalid_1w090_102 {
121
123
  margin-bottom: 0;
122
124
  }
123
125
 
124
- ._formIncreasedErrorMargin_1dqfg_7 ._formGroup_1dqfg_1._isInvalid_1dqfg_100 + ._formGroup_1dqfg_1 {
126
+ ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1._isInvalid_1w090_102 + ._formGroup_1w090_1 {
125
127
  margin-top: 0;
126
128
  }
127
129
 
128
- ._hint_1dqfg_122 {
130
+ ._hint_1w090_124 {
129
131
  display: block;
130
132
  margin-top: 0.3rem;
131
133
  font-size: 1.3rem;
@@ -133,34 +135,34 @@
133
135
  color: var(--color-text-subtle-primary);
134
136
  }
135
137
 
136
- ._field_1dqfg_70 ._hint_1dqfg_122 {
138
+ ._field_1w090_72 ._hint_1w090_124 {
137
139
  margin: 0;
138
140
  font-size: 1.3rem;
139
141
  color: var(--color-text-subtle-primary);
140
142
  fill: var(--color-text-subtle-primary);
141
143
  }
142
144
 
143
- ._form_1dqfg_1 ._field_1dqfg_70 label,
144
- ._form_1dqfg_1 ._field_1dqfg_70 ._isInvalid_1dqfg_100 label {
145
+ ._form_1w090_1 ._field_1w090_72 label,
146
+ ._form_1w090_1 ._field_1w090_72 ._isInvalid_1w090_102 label {
145
147
  color: var(--color-text);
146
148
  }
147
149
 
148
- ._fieldErrorMessage_1dqfg_142 {
150
+ ._fieldErrorMessage_1w090_144 {
149
151
  color: var(--color-system-red-600);
150
152
  font-size: 1.3rem;
151
153
  }
152
154
 
153
- ._field_1dqfg_70._formGroup_1dqfg_1 {
155
+ ._field_1w090_72._formGroup_1w090_1 {
154
156
  margin: 1rem 0;
155
157
  }
156
158
 
157
- ._field_1dqfg_70._formGroup_1dqfg_1:first-child {
159
+ ._field_1w090_72._formGroup_1w090_1:first-child {
158
160
  margin-top: 0;
159
161
  }
160
162
 
161
163
  /* stylelint-disable no-descending-specificity */
162
164
 
163
- ._formInput_1dqfg_96 {
165
+ ._formInput_1w090_98 {
164
166
  display: block;
165
167
  width: 100%;
166
168
  padding: 0.6rem 1rem;
@@ -175,48 +177,48 @@
175
177
  height: 3.2rem;
176
178
  }
177
179
 
178
- ._formInput_1dqfg_96:-moz-placeholder-shown {
180
+ ._formInput_1w090_98:-moz-placeholder-shown {
179
181
  overflow: hidden;
180
182
  text-overflow: ellipsis;
181
183
  }
182
184
 
183
- ._formInput_1dqfg_96:placeholder-shown {
185
+ ._formInput_1w090_98:placeholder-shown {
184
186
  overflow: hidden;
185
187
  text-overflow: ellipsis;
186
188
  }
187
189
 
188
- input._formInput_1dqfg_96:-moz-read-only {
190
+ input._formInput_1w090_98:-moz-read-only {
189
191
  background-color: var(--color-white-100);
190
192
  }
191
193
 
192
- ._formInput_1dqfg_96._isDisabled_1dqfg_177,
193
- input._formInput_1dqfg_96:disabled,
194
- select._formInput_1dqfg_96:disabled,
195
- input._formInput_1dqfg_96:read-only {
194
+ ._formInput_1w090_98._isDisabled_1w090_179,
195
+ input._formInput_1w090_98:disabled,
196
+ select._formInput_1w090_98:disabled,
197
+ input._formInput_1w090_98:read-only {
196
198
  background-color: var(--color-white-100);
197
199
  }
198
200
 
199
- ._formInput_1dqfg_96._isDisabled_1dqfg_177:hover,
200
- ._formInput_1dqfg_96:disabled:hover {
201
+ ._formInput_1w090_98._isDisabled_1w090_179:hover,
202
+ ._formInput_1w090_98:disabled:hover {
201
203
  cursor: not-allowed;
202
204
  }
203
205
 
204
- textarea._formInput_1dqfg_96 {
206
+ textarea._formInput_1w090_98 {
205
207
  min-height: 2.5em;
206
208
  height: auto;
207
209
  resize: none;
208
210
  }
209
211
 
210
- textarea._formInput_1dqfg_96:-moz-read-only {
212
+ textarea._formInput_1w090_98:-moz-read-only {
211
213
  background-color: var(--color-white-100);
212
214
  }
213
215
 
214
- textarea._formInput_1dqfg_96:disabled,
215
- textarea._formInput_1dqfg_96:read-only {
216
+ textarea._formInput_1w090_98:disabled,
217
+ textarea._formInput_1w090_98:read-only {
216
218
  background-color: var(--color-white-100);
217
219
  }
218
220
 
219
- input._formInput_1dqfg_96::-webkit-autofill {
221
+ input._formInput_1w090_98::-webkit-autofill {
220
222
  box-shadow: 0 0 0 50px var(--color-background-field) inset;
221
223
  }
222
224
 
@@ -249,32 +251,32 @@ input[type='checkbox']:disabled {
249
251
  pointer-events: none;
250
252
  }
251
253
 
252
- ._formInput_1dqfg_96._isFocused_1dqfg_231,
253
- ._formInput_1dqfg_96:focus {
254
+ ._formInput_1w090_98._isFocused_1w090_233,
255
+ ._formInput_1w090_98:focus {
254
256
  outline: 0;
255
257
  border-color: var(--color-focus);
256
258
  box-shadow: 0 0 0 3px hsla(231.5, 100%, 62.5%, 0.1);
257
259
  }
258
260
 
259
- ._formInput_1dqfg_96[readonly],
260
- ._formInput_1dqfg_96[readonly]:focus {
261
+ ._formInput_1w090_98[readonly],
262
+ ._formInput_1w090_98[readonly]:focus {
261
263
  color: var(--color-text-subtle-primary);
262
264
  border-color: var(--color-gray-500);
263
265
  box-shadow: none;
264
266
  }
265
267
 
266
- ._checkbox_1dqfg_245 {
268
+ ._checkbox_1w090_247 {
267
269
  align-self: flex-start; /* Default for .label is center, but this looks bad on multi-line checkbox labels */
268
270
  flex-shrink: 0; /* Make sure the input itself doesn't shrink in flex layouts */
269
271
  margin-right: 0.5rem;
270
272
  margin-top: 0.4rem;
271
273
  }
272
274
 
273
- ._radio_1dqfg_252 {
275
+ ._radio_1w090_254 {
274
276
  margin-right: 0.5rem;
275
277
  }
276
278
 
277
- select._formInput_1dqfg_96 {
279
+ select._formInput_1w090_98 {
278
280
  -webkit-appearance: none;
279
281
  -moz-appearance: none;
280
282
  appearance: none;
@@ -286,11 +288,11 @@ select._formInput_1dqfg_96 {
286
288
  padding-right: 2rem;
287
289
  }
288
290
 
289
- ._number_1dqfg_266 {
291
+ ._number_1w090_268 {
290
292
  min-width: 4.5rem;
291
293
  }
292
294
 
293
- ._suffixContainer_1dqfg_270 {
295
+ ._suffixContainer_1w090_272 {
294
296
  display: inline-flex;
295
297
  border: 1px solid var(--color-gray-500);
296
298
  border-radius: var(--border-radius);
@@ -298,31 +300,31 @@ select._formInput_1dqfg_96 {
298
300
  transition: all 0.1s linear;
299
301
  }
300
302
 
301
- ._suffixContainer_1dqfg_270[focus-within] {
303
+ ._suffixContainer_1w090_272[focus-within] {
302
304
  border-color: var(--color-focus);
303
305
  box-shadow: 0 0 0 3px hsla(231.5, 100%, 62.5%, 0.1);
304
306
  }
305
307
 
306
- ._suffixContainer_1dqfg_270[focus-within] {
308
+ ._suffixContainer_1w090_272[focus-within] {
307
309
  border-color: var(--color-focus);
308
310
  box-shadow: 0 0 0 3px hsla(231.5, 100%, 62.5%, 0.1);
309
311
  }
310
312
 
311
- ._suffixContainer_1dqfg_270:focus-within {
313
+ ._suffixContainer_1w090_272:focus-within {
312
314
  border-color: var(--color-focus);
313
315
  box-shadow: 0 0 0 3px hsla(231.5, 100%, 62.5%, 0.1);
314
316
  }
315
317
 
316
- ._suffixContainer_1dqfg_270 ._formInput_1dqfg_96 {
318
+ ._suffixContainer_1w090_272 ._formInput_1w090_98 {
317
319
  border: none;
318
320
  border-radius: var(--border-radius) 0 0 var(--border-radius);
319
321
  }
320
322
 
321
- ._suffixContainer_1dqfg_270 ._formInput_1dqfg_96:focus {
323
+ ._suffixContainer_1w090_272 ._formInput_1w090_98:focus {
322
324
  box-shadow: none;
323
325
  }
324
326
 
325
- ._suffixContainer_1dqfg_270 ._suffix_1dqfg_270 {
327
+ ._suffixContainer_1w090_272 ._suffix_1w090_272 {
326
328
  padding: 0 2px;
327
329
  background-color: var(--color-gray-100);
328
330
  color: var(--color-gray-500);
@@ -333,8 +335,8 @@ select._formInput_1dqfg_96 {
333
335
  position: initial;
334
336
  }
335
337
 
336
- ._suffix_1dqfg_270::-webkit-outer-spin-button,
337
- ._suffix_1dqfg_270::-webkit-inner-spin-button {
338
+ ._suffix_1w090_272::-webkit-outer-spin-button,
339
+ ._suffix_1w090_272::-webkit-inner-spin-button {
338
340
  -webkit-appearance: none;
339
341
  appearance: none;
340
342
  margin: 0;
@@ -342,7 +344,7 @@ select._formInput_1dqfg_96 {
342
344
 
343
345
  /* Firefox */
344
346
 
345
- ._suffix_1dqfg_270[type='number'] {
347
+ ._suffix_1w090_272[type='number'] {
346
348
  -webkit-appearance: textfield;
347
349
  -moz-appearance: textfield;
348
350
  appearance: textfield;
@@ -350,7 +352,7 @@ select._formInput_1dqfg_96 {
350
352
 
351
353
  /* stylelint-enable no-descending-specificity */
352
354
 
353
- ._iconFieldIcon_1dqfg_315 {
355
+ ._iconFieldIcon_1w090_317 {
354
356
  position: absolute;
355
357
  fill: var(--color-gray-600);
356
358
  top: 50%;
@@ -358,31 +360,31 @@ select._formInput_1dqfg_96 {
358
360
  left: 1rem;
359
361
  }
360
362
 
361
- ._formInputTiny_1dqfg_323 {
363
+ ._formInputTiny_1w090_325 {
362
364
  padding: 0.1rem 0.6rem;
363
365
  height: 2.4rem;
364
366
  }
365
367
 
366
- ._iconField_1dqfg_96 {
368
+ ._iconField_1w090_98 {
367
369
  position: relative;
368
370
  }
369
371
 
370
- ._requiredAsterisk_1dqfg_332 {
372
+ ._requiredAsterisk_1w090_334 {
371
373
  color: var(--color-system-red-700);
372
374
  }
373
375
 
374
- ._fieldSet_1dqfg_336 {
376
+ ._fieldSet_1w090_338 {
375
377
  border: none;
376
378
  margin: 2rem 0;
377
379
  padding: 0;
378
380
  }
379
381
 
380
- ._compactTextField_1dqfg_46 {
382
+ ._compactTextField_1w090_48 {
381
383
  position: relative;
382
384
  width: 100%;
383
385
  }
384
386
 
385
- ._compactTextField_1dqfg_46._isActive_1dqfg_347 ._label_1dqfg_30 {
387
+ ._compactTextField_1w090_48._isActive_1w090_349 ._label_1w090_32 {
386
388
  border-radius: var(--border-radius);
387
389
  opacity: 1;
388
390
  pointer-events: auto;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchpad-ui/form",
3
- "version": "0.6.9",
3
+ "version": "0.6.11",
4
4
  "status": "beta",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -28,7 +28,7 @@
28
28
  "dependencies": {
29
29
  "@launchpad-ui/icons": "~0.5.7",
30
30
  "@launchpad-ui/tokens": "~0.1.5",
31
- "@react-aria/visually-hidden": "^3.4.0",
31
+ "@react-aria/visually-hidden": "^3.5.0",
32
32
  "classix": "^2.1.13"
33
33
  },
34
34
  "peerDependencies": {