@launchpad-ui/form 0.6.9 → 0.6.10
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.
- package/dist/FormGroup.d.ts +1 -1
- package/dist/FormGroup.d.ts.map +1 -1
- package/dist/index.es.js +29 -29
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +29 -29
- package/dist/index.js.map +1 -1
- package/dist/style.css +74 -72
- package/package.json +2 -2
    
        package/dist/FormGroup.d.ts
    CHANGED
    
    
    
        package/dist/FormGroup.d.ts.map
    CHANGED
    
    | @@ -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, | 
| 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 = " | 
| 7 | 
            -
            const formIncreasedErrorMargin = " | 
| 8 | 
            -
            const formInline = " | 
| 9 | 
            -
            const form = " | 
| 10 | 
            -
            const inlineForm = " | 
| 11 | 
            -
            const label = " | 
| 12 | 
            -
            const labelDisabled = " | 
| 13 | 
            -
            const labelOptional = " | 
| 14 | 
            -
            const compactTextField = " | 
| 15 | 
            -
            const fieldError = " | 
| 16 | 
            -
            const iconField = " | 
| 17 | 
            -
            const formInput = " | 
| 18 | 
            -
            const isInvalid = " | 
| 19 | 
            -
            const hint = " | 
| 20 | 
            -
            const field = " | 
| 21 | 
            -
            const fieldErrorMessage = " | 
| 22 | 
            -
            const isDisabled = " | 
| 23 | 
            -
            const isFocused = " | 
| 24 | 
            -
            const checkbox = " | 
| 25 | 
            -
            const radio = " | 
| 26 | 
            -
            const number = " | 
| 27 | 
            -
            const suffixContainer = " | 
| 28 | 
            -
            const suffix = " | 
| 29 | 
            -
            const iconFieldIcon = " | 
| 30 | 
            -
            const formInputTiny = " | 
| 31 | 
            -
            const requiredAsterisk = " | 
| 32 | 
            -
            const fieldSet = " | 
| 33 | 
            -
            const isActive = " | 
| 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(" | 
| 284 | 
            +
              return /* @__PURE__ */ jsx("fieldset", {
         | 
| 285 285 | 
             
                className: classes,
         | 
| 286 286 | 
             
                "data-test-id": testId,
         | 
| 287 287 | 
             
                ...rest,
         | 
    
        package/dist/index.es.js.map
    CHANGED
    
    | @@ -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 = " | 
| 9 | 
            -
            const formIncreasedErrorMargin = " | 
| 10 | 
            -
            const formInline = " | 
| 11 | 
            -
            const form = " | 
| 12 | 
            -
            const inlineForm = " | 
| 13 | 
            -
            const label = " | 
| 14 | 
            -
            const labelDisabled = " | 
| 15 | 
            -
            const labelOptional = " | 
| 16 | 
            -
            const compactTextField = " | 
| 17 | 
            -
            const fieldError = " | 
| 18 | 
            -
            const iconField = " | 
| 19 | 
            -
            const formInput = " | 
| 20 | 
            -
            const isInvalid = " | 
| 21 | 
            -
            const hint = " | 
| 22 | 
            -
            const field = " | 
| 23 | 
            -
            const fieldErrorMessage = " | 
| 24 | 
            -
            const isDisabled = " | 
| 25 | 
            -
            const isFocused = " | 
| 26 | 
            -
            const checkbox = " | 
| 27 | 
            -
            const radio = " | 
| 28 | 
            -
            const number = " | 
| 29 | 
            -
            const suffixContainer = " | 
| 30 | 
            -
            const suffix = " | 
| 31 | 
            -
            const iconFieldIcon = " | 
| 32 | 
            -
            const formInputTiny = " | 
| 33 | 
            -
            const requiredAsterisk = " | 
| 34 | 
            -
            const fieldSet = " | 
| 35 | 
            -
            const isActive = " | 
| 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(" | 
| 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,mBAAmB,CAAC;AAAA,EACxBC;AAAAA,EACA,gBAAgBC,SAAS;AAAA,KACtBC;AAHqB,MAIG;AAC3B,QAAMC,UAAUC,QAAAA,GAAGC,OAAOC,kBAAkBN,SAA1B;AAElB;OACYE;AAAAA,IAAM,gBAAcD;AAAAA,IAAQ,WAAWE;AAAAA,IAAjD,UAAA;AAAA,EAAA,CADF;AAKD;ACRD,MAAMI,QAAQ,CAAC;AAAA,EACbC;AAAAA,EACAR;AAAAA,EACAS;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACX,gBAAgBV,SAAS;AAAA,KACtBC;AAPU,MAQG;AAChB,QAAMC,UAAUC,QAAGC,GAAAA,OAAOO,OAAOZ,WAAWQ,YAAYH,OAAOQ,aAA7C;AAElB;OACaX;AAAAA,IAAM,gBAAcD;AAAAA,IAAQ,WAAWE;AAAAA,IAAlD,UAAA,CACGM,UACAE,YAAY,CAACD,2CAAY,SAAA;AAAA,MAAO,WAAWL,OAAOS;AAAAA,MAAzB,UAAA;AAAA,IAAA,CAF5B,GAGGJ,YAAY,CAACC,YAAaI,2BAAAA,IAAA,kBAH7B,CAAA,CAAA,CAAA;AAAA,EAAA,CADF;AAOD;ACjBKC,MAAAA,WAAWC,iBACf,CACE;AAAA,EACE,cAAcC;AAAAA,EACd,mBAAmBC;AAAAA,EACnBV;AAAAA,EACAD;AAAAA,EACAY;AAAAA,EACAC;AAAAA,EACA,gBAAgBpB,SAAS;AAAA,KACtBC;AARL,GAUAoB,QACG;AACGC,QAAAA,eAAeL,cAAcM,UAAaL,mBAAmBK;AAC/D,MAAA,CAACf,YAAY,CAACc,cAAc;AAC9BE,YAAQC,KACN,kFADF;AAAA,EAGD;AAED,yCACG,OAAD;AAAA,IAAO,WAAWL;AAAAA,IAAlB,UAAA,CACEN,2BAAA;SACMb;AAAAA,MACJ;AAAA,MACA;AAAA,MACA,gBAAckB,UAAU,SAAS;AAAA,MACjC,cAAYF;AAAAA,MACZ,mBAAiBC;AAAAA,MACjB,WAAWd,OAAOsB;AAAAA,MAClB;AAAA,MACA,MAAK;AAAA,MACL,gBAAc1B;AAAAA,IAVhB,CAAA,GAWG,KACFO,0CAAW,QAAA;AAAA,MAAM,WAAWH,OAAOQ;AAAAA,MAAxB;AAAA,IAAA,CAAA,IAA2DJ,QAbzE;AAAA,EAAA,CADF;AAiBD,CAtCwB;AAyC3BO,SAASY,cAAc;ACtDvB,MAAM,qBAAqB,CAAC,oBAC1B,kBAAkB,GAAG,CAAC,GAAG,eAAe,EAAE,KAAK,EAAE,UAAU;ACYvDC,MAAAA,YAAYZ,iBAChB,CACE;AAAA,EACEjB;AAAAA,EACA8B,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC;AAAAA,EACAC,WAAW;AAAA,EACXC,QAAAA;AAAAA,EACAC;AAAAA,EACA,gBAAgBlC,SAAS;AAAA,KACtBC;AATL,GAWAoB,QACG;AACGnB,QAAAA,UAAUgC,gBACZnC,YACAI,WAAGC,OAAO+B,WAAWL,QAAQ1B,OAAOgC,eAAerC,SAAjD;AAEN,MAAIkC,SAAQ;AACV,2CACE,OAAA;AAAA,MAAK,WAAW7B,OAAOiC;AAAAA,MAAvB,UAAA,CACEvB,2BAAA;WACMb;AAAAA,QACJ;AAAA,QACA,gBAAcD;AAAAA,QACd,WAAWE;AAAAA,QACX;AAAA,QACA;AAAA,QACA,oBAAkBD,KAAK,uBAAuBqC,mBAAmBrC,KAAKsC,EAAN;AAAA,MAAA,CAPlE,GASAzB,2BAAA,IAAA,SAAA;AAAA,QAAO,WAAWV,OAAO6B;AAAAA,QAAQ,SAAShC,KAAKsC;AAAAA,QAA/C,UACGN;AAAAA,MAAAA,CAXL,CAAA;AAAA,IAAA,CADF;AAAA,EAgBD;AAED;OAEQhC;AAAAA,IACJ;AAAA,IACA,WAAWC;AAAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAcF;AAAAA,IACd,OACEkC,gBACI;AAAA,MACEM,OAAON;AAAAA,IAETX,IAAAA;AAAAA,IAEN,oBAAkBtB,KAAK,uBAAuBqC,mBAAmBrC,KAAKsC,EAAN;AAAA,EAAA,CAhBpE;AAmBD,CAzDyB;AA4D5BX,UAAUD,cAAc;AC5DlBc,MAAAA,mBAAmBzB,iBACvB,CACE;AAAA,EACEjB;AAAAA,EACAwC;AAAAA,EACA5B,OAAAA;AAAAA,EACA+B;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,gBAAgB7C,SAAS;AAAA,KACtBC;AATL,GAWAoB,QACG;AACH,QAAM,CAACyB,WAAUC,WAAX,IAA0BC,MAAAA,UAC7B,OAAOL,UAAU,aAAaA,QAAQA,MAAMM,aAAa,IAAIC,KAAOC,EAAAA,WAAW,CAD1C;AAIxC,QAAMC,gBAAgBN,aAAYJ;AAElC,QAAMxC,UAAUC,QAAGC,GAAAA,OAAOiD,kBAAkBtD,WAAWqD,iBAAiBhD,OAAO0C,QAA7D;AAEZQ,QAAAA,cAAcF,gBAAgB,KAAKzC;AAEnC4C,QAAAA,cAAc,CAACC,UAAwC;AAC3DT,gBAAY,IAAD;AACX,QAAIH,SAAS;AACXA,cAAQY,KAAD;AAAA,IACR;AAAA,EAAA;AAGGC,QAAAA,aAAa,CAACD,UAAwC;AACpDb,UAAAA,SAAQa,MAAME,OAAOf,SAAS;AACpCI,gBAAYJ,OAAMO,KAAOC,EAAAA,WAAW,CAAzB;AACX,QAAIN,QAAQ;AACVA,aAAOW,KAAD;AAAA,IACP;AAAA,EAAA;AAGH,yCACE,OAAA;AAAA,IAAK,WAAWtD;AAAAA,IAAS,gBAAcF;AAAAA,IAAvC,UAAA,CACEc,2BAAA,IAAC,OAAD;AAAA,MAAO,SAASyB;AAAAA,MAAhB,UAAqB5B;AAAAA,IAAAA,CAArB,GACAG,2BAAA,IAAC,WAAD;AAAA,MAAA,GACMb;AAAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAASsD;AAAAA,MACT,QAAQE;AAAAA,IAAAA,CATZ,CAAA;AAAA,EAAA,CADF;AAcD,CAtDgC;AAyDnChB,iBAAiBd,cAAc;AC1D/B,MAAMgC,aAAa,CAAC;AAAA,EAClBC;AAAAA,EACAC;AAAAA,EACA9D;AAAAA,EACA,gBAAgBC,SAAS;AAAA,KACtBC;AALe,MAMG;AACrB,MAAI,CAAC4D,cAAc;AACV,WAAA;AAAA,EACR;AAED;OAEQ5D;AAAAA,IACJ,WAAWE,QAAAA,GAAGC,OAAO0D,YAAY/D,SAApB;AAAA,IACb,aAAU;AAAA,IACV,gBAAcC;AAAAA,IACd,IAAIsC,mBAAmBsB,IAAD;AAAA,IALxB,UAOI,WAAUC;AAAAA,EAAAA,CARhB;AAWD;AC1BD,MAAME,WAAW,CAAC;AAAA,EAChBvD;AAAAA,EACAT;AAAAA,EACA,gBAAgBC,SAAS;AAAA,KACtBC;AAJa,MAKG;AACnB,QAAMC,UAAUC,QAAAA,GAAGC,OAAO4D,UAAUjE,SAAlB;AAElB,wCACE,YAAA;AAAA,IAAU,gBAAcC;AAAAA,IAAQ,WAAWE;AAAAA,IAA3C,GAAwDD;AAAAA,IAAxD;AAAA,EAAA,CADF;AAKD;ACPKgE,MAAAA,OAAO,CAACC,UAAqB;AAC3B,QAAA;AAAA,IACJnE;AAAAA,IACAoE;AAAAA,IACA3D;AAAAA,IACA4D;AAAAA,IACA,gBAAgBpE,SAAS;AAAA,OACtBC;AAAAA,EACDiE,IAAAA;AAEJ,QAAMhE,UAAUC,QAAAA,GACdC,OAAOiE,MACPtE,WACAoE,UAAU/D,OAAOkE,YACjB,CAAC,CAACF,2BAA2BhE,OAAOmE,wBAJpB;AAOlB;OACYtE;AAAAA,IAAM,gBAAcD;AAAAA,IAAQ,WAAWE;AAAAA,IAAjD;AAAA,EAAA,CADF;AAKD;ACzBKsE,MAAAA,YAAY,CAACN,UAA0B;AACrC,QAAA;AAAA,IACJnE;AAAAA,IACA6D;AAAAA,IACAa;AAAAA,IACAC,WAAAA;AAAAA,IACAlE;AAAAA,IACA,gBAAgBR,SAAS;AAAA,OACtBC;AAAAA,EACDiE,IAAAA;AAEEhE,QAAAA,UAAUC,QAAAA,GACdC,OAAOuE,WACP5E,WACA,CAAC0E,oBAAoBC,cAAatE,OAAOsE,SAHzB;AAMlB,wCACE,OAAA;AAAA,IAAK,WAAWxE;AAAAA,IAAS,gBAAcF;AAAAA,IAAvC,GAAmDC;AAAAA,IAAnD;AAAA,EAAA,CADF;AAKD;ACzBD,MAAM2E,WAAW,CAAC;AAAA,EAChB7E;AAAAA,EACAS;AAAAA,EACA,gBAAgBR,SAAS;AAAA,KACtBC;AAJa,MAKG;AACnB,QAAMC,UAAUC,QAAAA,GAAGC,OAAOyE,MAAM9E,SAAd;AAElB;OACWE;AAAAA,IAAM,gBAAcD;AAAAA,IAAQ,WAAWE;AAAAA,IAAhD;AAAA,EAAA,CADF;AAKD;ACAD,MAAM4E,YAAY,CAAC;AAAA,EACjBC;AAAAA,EACApE,OAAAA;AAAAA,EACAiD;AAAAA,EACAoB;AAAAA,EACAH,MAAAA;AAAAA,EACAhB;AAAAA,EACAY;AAAAA,EACAC,WAAAA;AAAAA,EACAlE;AAAAA,EACAT;AAAAA,EACA8C;AAAAA,EACA,gBAAgB7C,SAAS;AAZR,MAaG;AACpB,QAAMyD,aAAa,MAAM;AACvBZ,cAAUA,OAAOe,IAAD;AAAA,EAAA;AAGlB,yCACG,WAAD;AAAA,IACE,WAAWzD,QAAAA,GAAGC,OAAO6E,OAAOlF,SAAf;AAAA,IACb;AAAA,IACA;AAAA,IACA,WAAA2E;AAAA,IACA,QAAQjB;AAAAA,IACR,gBAAczD;AAAAA,IANhB,UAAA,CAQGW,UACCuE,2BAAA,KAAA,SAAA;AAAA,MAAO;AAAA,MAAP,UAAA,CACGvE,QACAoE,6CAAe,kBAFlB,CAAA,CAAA,CAAA;AAAA,IAAA,CAAA,GAKDF,SAAQ/D,2BAAA,IAAC,UAAD;AAAA,MAAU,WAAWV,OAAOyE;AAAAA,MAA5B,UAAmCA;AAAAA,IAAAA,CAAnC,GACRrE,UACDM,2BAAA,IAAC,YAAD;AAAA,MAAY,WAAWV,OAAO+E;AAAAA,MAAmB;AAAA,MAAY;AAAA,IAAA,CAhB/D,CAAA;AAAA,EAAA,CADF;AAoBD;AChDD,MAAMC,YAAY,CAAC;AAAA,EACjBC;AAAAA,EACA7E;AAAAA,EACAT;AAAAA,EACA,gBAAgBC,SAAS;AAAA,KACtBC;AALc,MAMG;AACpB,QAAMqF,OAAOD;AAEb,QAAMnF,UAAUC,QAAAA,GAAGC,OAAOmF,WAAWxF,SAAnB;AAElB,yCACE,OAAA;AAAA,IAAK,WAAWG;AAAAA,IAAS,gBAAcF;AAAAA,IAAvC,GAAmDC;AAAAA,IAAnD,UACGO,CAAAA,UACDM,2BAAA,IAAC,MAAD;AAAA,MAAM,MAAK;AAAA,MAAQ,WAAWV,OAAOoF;AAAAA,IAAAA,CAFvC,CAAA;AAAA,EAAA,CADF;AAMD;ACjBD,MAAMC,QAAQ,CAAC;AAAA,EACb,cAAcxE;AAAAA,EACd,mBAAmBC;AAAAA,EACnBC,UAAU;AAAA,EACVX;AAAAA,EACAT;AAAAA,EACAQ,WAAW;AAAA,EACXgC;AAAAA,EACAnB;AAAAA,EACAsE;AAAAA,EACA,gBAAgB1F,SAAS;AAAA,KACtBC;AAXU,MAYG;AACVqB,QAAAA,eAAeL,cAAcM,UAAaL,mBAAmBK;AAE/D,MAAA,CAACf,YAAY,CAACc,cAAc;AAC9BE,YAAQC,KACN,kFADF;AAAA,EAGD;AAED,yCACEkE,WAAAA,UAAA;AAAA,IAAA,UAAA,CACE7E,2BAAA;SACMb;AAAAA,MACJ,cAAYgB;AAAAA,MACZ,mBAAiBC;AAAAA,MACjB,WAAWf,QAAAA,GAAGC,OAAOwF,OAAO7F,SAAf;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAcC;AAAAA,MACd,MAAK;AAAA,IAAA,CAVT,GAYEc,2BAAA,IAAC,OAAD;AAAA,MAAO,WAAWM;AAAAA,MAAgB,SAASmB;AAAAA,MAAI,OAAOmD;AAAAA,MAAtD,UACGnF,WAAWO,2BAAA,IAAA,QAAA;AAAA,QAAM,WAAWV,OAAOQ;AAAAA,QAAxB;AAAA,MAAA,CAAA,IAA2DJ;AAAAA,IAAAA,CAb3E,CAAA;AAAA,EAAA,CADF;AAkBD;ACNKqF,MAAAA,aAAa,CAAC3B,UAA2B;AACvC,QAAA;AAAA,IACJN;AAAAA,IACAjB;AAAAA,IACAmD;AAAAA,IACAtF;AAAAA,IACAD;AAAAA,IACAwF;AAAAA,IACA,gBAAgB/F,SAAS;AAAA,OACtBC;AAAAA,EACDiE,IAAAA;AACE8B,QAAAA,cAAcC,aAA4B,IAAtB;AAE1B,WAASC,iBAAiBC,MAA4B;;AAChD,QAAA,CAACC,MAAAA,eAAeD,IAAD,GAAQ;AAClBA,aAAAA;AAAAA,IACR;AAED,UAAME,OAAOF;AAEb,SAAIE,6BAAMxE,SAAQwE,KAAKxE,SAAS4D,OAAO;AACrC,aAAOa,MAAAA,aAAaD,MAAM;AAAA,QACxB,GAAGA,KAAKnC;AAAAA,QACRN;AAAAA,QACAzC,SAASkF,KAAKnC,MAAMvB,UAAUA;AAAAA,QAC9BmD;AAAAA,QACAvF,UAAU,SAAO8F,UAAKnC,UAALmC,mBAAY9F,cAAa,cAAc8F,KAAKnC,MAAM3D,WAAWA;AAAAA,MAAAA,CAL7D;AAAA,IAOpB;AAED,SAAI8F,6BAAMxE,SAAQwE,KAAKxE,SAASvB,OAAO;AACrC,aAAOgG,MAAAA,aAAaD,MAAM;AAAA,QACxB,GAAGA,KAAKnC;AAAAA,QACR4B;AAAAA,QACAvF;AAAAA,MAAAA,CAHiB;AAAA,IAKpB;AAEKgG,UAAAA,gBAAeF,kCAAMnC,UAANmC,mBAAa7F;AAClC,QAAI+F,cAAc;AACZC,UAAAA,MAAMC,QAAQF,YAAd,GAA6B;AAC/B,eAAOD,MAAAA,aAAaD,MAAM;AAAA,UACxB7F,UAAUkG,MAASC,SAAAA,IAAIJ,cAAeK,CAAcV,cAAAA,iBAAiBU,SAAD,CAA1D;AAAA,QAAA,CADO;AAAA,MAGpB;AACD,aAAON,MAAAA,aAAaD,MAAM;AAAA,QACxB7F,UAAU0F,iBAAiBK,YAAD;AAAA,MAAA,CADT;AAAA,IAGpB;AAED,SAAIF,6BAAMxE,SAAQwE,KAAKxE,SAAS4D,SAASY,KAAKxE,SAASvB,OAAO;AACrD+F,aAAAA;AAAAA,IACR;AAEM,WAAA;AAAA,EACR;AAED,QAAMQ,SAASH,MAASC,SAAAA,IAAInG,UAAWsG,CAAUZ,UAAAA,iBAAiBY,KAAD,CAAlD;AACf,yCACE,YAAA;AAAA,IAAU,gBAAc9G;AAAAA,IAAQ,KAAKgG;AAAAA,IAArC,UAAA,CACGD,UACCjF,2BAAA,IAAA,UAAA;AAAA,MAAA,yCACGiG,+BAAD;AAAA,QAAA,UAAiBhB;AAAAA,MAAAA,CAAjB;AAAA,IAAA,CAHN,GAMEjF,2BAAA;SAASb;AAAAA,MAAT,UAAgB4G;AAAAA,IAAAA,CANlB,CAAA;AAAA,EAAA,CADF;AAUD;ACxGD,MAAMG,SAAS,CAAC;AAAA,EACdjH;AAAAA,EACAS;AAAAA,EACA,gBAAgBR,SAAS;AAAA,KACtBC;AAJW,MAKG;AACjB,QAAMC,UAAUC,QAAAA,GAAGC,OAAO+B,WAAWpC,SAAnB;AAElB;OACcE;AAAAA,IAAM,gBAAcD;AAAAA,IAAQ,WAAWE;AAAAA,IAAnD;AAAA,EAAA,CADF;AAKD;ACXK+G,MAAAA,WAAWjG,iBACf,CAAC;AAAA,EAAEjB;AAAAA,EAAW,gBAAgBC,SAAS;AAAA,KAAgBkE;AAAtD,GAA+D7C,QAAQ;AAChE6F,QAAAA,YAAY,CAACC,MAA0C;AAEzDA,QAAAA,EAAEC,QAAQ,gBACVD,EAAEC,QAAQ,eACVD,EAAEC,QAAQ,aACVD,EAAEC,QAAQ,aACV;AACAD,QAAEE,gBAAF;AAAA,IACD;AACGF,QAAAA,EAAEC,QAAQ,UAAU;AACtBD,QAAEG,YAAYC;IACf;AAAA,EAAA;AAGH;OAEQrD;AAAAA,IACJ,WAAW/D,QAAAA,GAAGC,OAAO+B,WAAWpC,SAAnB;AAAA,IACb;AAAA,IACA,gBAAcC;AAAAA,IACd,oBAAkBkE,MAAM,uBAAuB5B,mBAAmB4B,MAAM3B,EAAP;AAAA,IACjE;AAAA,EAAA,CAPJ;AAUD,CA1BwB;AA6B3B0E,SAAStF,cAAc;;;;;;;;;;;;;;;;;"}
         | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 10 | 
            +
            ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1 {
         | 
| 9 11 | 
             
              margin: 2.8rem 0;
         | 
| 10 12 | 
             
            }
         | 
| 11 13 |  | 
| 12 | 
            -
            . | 
| 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 | 
            -
            . | 
| 20 | 
            +
            ._form_1w090_1 ._formGroup_1w090_1:first-child {
         | 
| 19 21 | 
             
              margin-top: 0;
         | 
| 20 22 | 
             
            }
         | 
| 21 23 |  | 
| 22 | 
            -
            . | 
| 24 | 
            +
            ._form_1w090_1 ._formGroup_1w090_1:last-child {
         | 
| 23 25 | 
             
              margin-bottom: 0;
         | 
| 24 26 | 
             
            }
         | 
| 25 27 |  | 
| 26 | 
            -
            . | 
| 27 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 39 | 
            +
            ._labelDisabled_1w090_38 {
         | 
| 38 40 | 
             
              color: var(--color-gray-800);
         | 
| 39 41 | 
             
            }
         | 
| 40 42 |  | 
| 41 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 69 | 
            +
            ._formGroup_1w090_1 ._label_1w090_32 + ._label_1w090_32 {
         | 
| 68 70 | 
             
              margin-top: 0.5rem;
         | 
| 69 71 | 
             
            }
         | 
| 70 72 |  | 
| 71 | 
            -
            . | 
| 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 | 
            -
            . | 
| 81 | 
            +
            ._formIncreasedErrorMargin_1w090_9 ._fieldError_1w090_72 {
         | 
| 80 82 | 
             
              min-height: 2.8rem;
         | 
| 81 83 | 
             
            }
         | 
| 82 84 |  | 
| 83 | 
            -
            . | 
| 85 | 
            +
            ._label_1w090_32 ._fieldError_1w090_72 {
         | 
| 84 86 | 
             
              float: right;
         | 
| 85 87 | 
             
            }
         | 
| 86 88 |  | 
| 87 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 100 | 
            +
            ._iconField_1w090_98 ._formInput_1w090_98 {
         | 
| 99 101 | 
             
              padding-left: 3rem;
         | 
| 100 102 | 
             
            }
         | 
| 101 103 |  | 
| 102 | 
            -
            . | 
| 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 | 
            -
            . | 
| 115 | 
            -
            . | 
| 116 | 
            -
            . | 
| 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 | 
            -
            . | 
| 122 | 
            +
            ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1._isInvalid_1w090_102 {
         | 
| 121 123 | 
             
              margin-bottom: 0;
         | 
| 122 124 | 
             
            }
         | 
| 123 125 |  | 
| 124 | 
            -
            . | 
| 126 | 
            +
            ._formIncreasedErrorMargin_1w090_9 ._formGroup_1w090_1._isInvalid_1w090_102 + ._formGroup_1w090_1 {
         | 
| 125 127 | 
             
              margin-top: 0;
         | 
| 126 128 | 
             
            }
         | 
| 127 129 |  | 
| 128 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 144 | 
            -
            . | 
| 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 | 
            -
            . | 
| 150 | 
            +
            ._fieldErrorMessage_1w090_144 {
         | 
| 149 151 | 
             
              color: var(--color-system-red-600);
         | 
| 150 152 | 
             
              font-size: 1.3rem;
         | 
| 151 153 | 
             
            }
         | 
| 152 154 |  | 
| 153 | 
            -
            . | 
| 155 | 
            +
            ._field_1w090_72._formGroup_1w090_1 {
         | 
| 154 156 | 
             
              margin: 1rem 0;
         | 
| 155 157 | 
             
            }
         | 
| 156 158 |  | 
| 157 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 180 | 
            +
            ._formInput_1w090_98:-moz-placeholder-shown {
         | 
| 179 181 | 
             
              overflow: hidden;
         | 
| 180 182 | 
             
              text-overflow: ellipsis;
         | 
| 181 183 | 
             
            }
         | 
| 182 184 |  | 
| 183 | 
            -
            . | 
| 185 | 
            +
            ._formInput_1w090_98:placeholder-shown {
         | 
| 184 186 | 
             
              overflow: hidden;
         | 
| 185 187 | 
             
              text-overflow: ellipsis;
         | 
| 186 188 | 
             
            }
         | 
| 187 189 |  | 
| 188 | 
            -
            input. | 
| 190 | 
            +
            input._formInput_1w090_98:-moz-read-only {
         | 
| 189 191 | 
             
              background-color: var(--color-white-100);
         | 
| 190 192 | 
             
            }
         | 
| 191 193 |  | 
| 192 | 
            -
            . | 
| 193 | 
            -
            input. | 
| 194 | 
            -
            select. | 
| 195 | 
            -
            input. | 
| 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 | 
            -
            . | 
| 200 | 
            -
            . | 
| 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. | 
| 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. | 
| 212 | 
            +
            textarea._formInput_1w090_98:-moz-read-only {
         | 
| 211 213 | 
             
              background-color: var(--color-white-100);
         | 
| 212 214 | 
             
            }
         | 
| 213 215 |  | 
| 214 | 
            -
            textarea. | 
| 215 | 
            -
            textarea. | 
| 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. | 
| 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 | 
            -
            . | 
| 253 | 
            -
            . | 
| 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 | 
            -
            . | 
| 260 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 275 | 
            +
            ._radio_1w090_254 {
         | 
| 274 276 | 
             
              margin-right: 0.5rem;
         | 
| 275 277 | 
             
            }
         | 
| 276 278 |  | 
| 277 | 
            -
            select. | 
| 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 | 
            -
            . | 
| 291 | 
            +
            ._number_1w090_268 {
         | 
| 290 292 | 
             
              min-width: 4.5rem;
         | 
| 291 293 | 
             
            }
         | 
| 292 294 |  | 
| 293 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 323 | 
            +
            ._suffixContainer_1w090_272 ._formInput_1w090_98:focus {
         | 
| 322 324 | 
             
              box-shadow: none;
         | 
| 323 325 | 
             
            }
         | 
| 324 326 |  | 
| 325 | 
            -
            . | 
| 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 | 
            -
            . | 
| 337 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 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 | 
            -
            . | 
| 363 | 
            +
            ._formInputTiny_1w090_325 {
         | 
| 362 364 | 
             
              padding: 0.1rem 0.6rem;
         | 
| 363 365 | 
             
              height: 2.4rem;
         | 
| 364 366 | 
             
            }
         | 
| 365 367 |  | 
| 366 | 
            -
            . | 
| 368 | 
            +
            ._iconField_1w090_98 {
         | 
| 367 369 | 
             
              position: relative;
         | 
| 368 370 | 
             
            }
         | 
| 369 371 |  | 
| 370 | 
            -
            . | 
| 372 | 
            +
            ._requiredAsterisk_1w090_334 {
         | 
| 371 373 | 
             
              color: var(--color-system-red-700);
         | 
| 372 374 | 
             
            }
         | 
| 373 375 |  | 
| 374 | 
            -
            . | 
| 376 | 
            +
            ._fieldSet_1w090_338 {
         | 
| 375 377 | 
             
              border: none;
         | 
| 376 378 | 
             
              margin: 2rem 0;
         | 
| 377 379 | 
             
              padding: 0;
         | 
| 378 380 | 
             
            }
         | 
| 379 381 |  | 
| 380 | 
            -
            . | 
| 382 | 
            +
            ._compactTextField_1w090_48 {
         | 
| 381 383 | 
             
              position: relative;
         | 
| 382 384 | 
             
              width: 100%;
         | 
| 383 385 | 
             
            }
         | 
| 384 386 |  | 
| 385 | 
            -
            . | 
| 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. | 
| 3 | 
            +
              "version": "0.6.10",
         | 
| 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. | 
| 31 | 
            +
                "@react-aria/visually-hidden": "^3.5.0",
         | 
| 32 32 | 
             
                "classix": "^2.1.13"
         | 
| 33 33 | 
             
              },
         | 
| 34 34 | 
             
              "peerDependencies": {
         |