···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/color-field/basic'
99+import { Validation } from '../../examples/color-field/validation'
1010+import { ValidationWarning } from '../../examples/color-field/validation-warning'
1111+import { ValidationSuccess } from '../../examples/color-field/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria ColorField](https://react-spectrum.adobe.com/react-aria/ColorField.html).
23262427<PropDocs components={["ColorField"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+20
apps/docs/src/docs/components/combobox.mdx
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/combobox/basic'
99+import { Validation } from '../../examples/combobox/validation'
1010+import { ValidationWarning } from '../../examples/combobox/validation-warning'
1111+import { ValidationSuccess } from '../../examples/combobox/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria ComboBox](https://react-spectrum.adobe.com/react-aria/ComboBox.html).
23262427<PropDocs components={["ComboBox", "ComboBoxItem", "ComboBoxSection", "ComboBoxSectionHeader", "ComboBoxSeparator"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+20
apps/docs/src/docs/components/date-field.mdx
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/date-field/basic'
99+import { Validation } from '../../examples/date-field/validation'
1010+import { ValidationWarning } from '../../examples/date-field/validation-warning'
1111+import { ValidationSuccess } from '../../examples/date-field/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria DateField](https://react-spectrum.adobe.com/react-aria/DateField.html).
23262427<PropDocs components={["DateField"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+20
apps/docs/src/docs/components/date-picker.mdx
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/date-picker/basic'
99+import { Validation } from '../../examples/date-picker/validation'
1010+import { ValidationWarning } from '../../examples/date-picker/validation-warning'
1111+import { ValidationSuccess } from '../../examples/date-picker/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria DatePicker](https://react-spectrum.adobe.com/react-aria/DatePicker.html).
23262427<PropDocs components={["DatePicker"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/date-range-picker/basic'
99+import { Validation } from '../../examples/date-range-picker/validation'
1010+import { ValidationWarning } from '../../examples/date-range-picker/validation-warning'
1111+import { ValidationSuccess } from '../../examples/date-range-picker/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria DateRangePicker](https://react-spectrum.adobe.com/react-aria/DateRangePicker.html).
23262427<PropDocs components={["DateRangePicker"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+20
apps/docs/src/docs/components/number-field.mdx
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/number-field/basic'
99+import { Validation } from '../../examples/number-field/validation'
1010+import { ValidationWarning } from '../../examples/number-field/validation-warning'
1111+import { ValidationSuccess } from '../../examples/number-field/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria NumberField](https://react-spectrum.adobe.com/react-aria/NumberField.html).
23262427<PropDocs components={["NumberField"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+20
apps/docs/src/docs/components/search-field.mdx
···66import { PropDocs } from '../../lib/PropDocs'
77import { Example } from '../../lib/Example'
88import { Basic } from '../../examples/search-field/basic'
99+import { Validation } from '../../examples/search-field/validation'
1010+import { ValidationWarning } from '../../examples/search-field/validation-warning'
1111+import { ValidationSuccess } from '../../examples/search-field/validation-success'
9121013<Example src={Basic} />
1114···2225This component is built using the [React Aria SearchField](https://react-spectrum.adobe.com/react-aria/SearchField.html).
23262427<PropDocs components={["SearchField"]} />
2828+2929+## Features
3030+3131+### Validation
3232+3333+Use the `validationState` prop to indicate when a field has validation errors.
3434+Set `validationState="invalid"` along with an `errorMessage` to display error states.
3535+3636+<Example src={Validation} />
3737+3838+Set `validationState="warning"` to show a warning state with a description.
3939+4040+<Example src={ValidationWarning} />
4141+4242+Set `validationState="valid"` to show a success state with a description.
4343+4444+<Example src={ValidationSuccess} />
25452646## Related Components
2747
+18
apps/docs/src/docs/components/select.mdx
···88import { Basic } from '../../examples/select/basic'
99import { SelectWithDescription } from '../../examples/select/with-description'
1010import { SelectSizes } from '../../examples/select/sizes'
1111+import { Validation } from '../../examples/select/validation'
1212+import { ValidationWarning } from '../../examples/select/validation-warning'
1313+import { ValidationSuccess } from '../../examples/select/validation-success'
11141215<Example src={Basic} />
1316···3841Select components support different sizes for various use cases.
39424043<Example src={SelectSizes} />
4444+4545+### Validation
4646+4747+Use the `validationState` prop to indicate when a field has validation errors.
4848+Set `validationState="invalid"` along with an `errorMessage` to display error states.
4949+5050+<Example src={Validation} />
5151+5252+Set `validationState="warning"` to show a warning state with a description.
5353+5454+<Example src={ValidationWarning} />
5555+5656+Set `validationState="valid"` to show a success state with a description.
5757+5858+<Example src={ValidationSuccess} />
41594260## Related Components
4361
+18
apps/docs/src/docs/components/text-field.mdx
···1010import { TextFieldSizes } from '../../examples/text-field/sizes'
1111import { PasswordField } from '../../examples/text-field/password'
1212import { PrefixAndSuffix } from '../../examples/text-field/prefix-and-suffix'
1313+import { Validation } from '../../examples/text-field/validation'
1414+import { ValidationWarning } from '../../examples/text-field/validation-warning'
1515+import { ValidationSuccess } from '../../examples/text-field/validation-success'
13161417<Example src={Basic} />
1518···5255Text fields automatically include password visibility toggle when type is set to "password".
53565457<Example src={PasswordField} />
5858+5959+### Validation
6060+6161+Use the `validationState` prop to indicate when a field has validation errors.
6262+Set `validationState="invalid"` along with an `errorMessage` to display error states.
6363+6464+<Example src={Validation} />
6565+6666+Set `validationState="warning"` to show a warning state with a description.
6767+6868+<Example src={ValidationWarning} />
6969+7070+Set `validationState="valid"` to show a success state with a description.
7171+7272+<Example src={ValidationSuccess} />
55735674## Related Components
5775
+18
apps/docs/src/docs/components/time-field.mdx
···1010import { Variants } from '../../examples/time-field/variants'
1111import { Description } from '../../examples/time-field/description'
1212import { PrefixAndSuffix } from '../../examples/time-field/prefix-and-suffix'
1313+import { Validation } from '../../examples/time-field/validation'
1414+import { ValidationWarning } from '../../examples/time-field/validation-warning'
1515+import { ValidationSuccess } from '../../examples/time-field/validation-success'
13161417<Example src={Basic} />
1518···4649The time field component supports a description.
47504851<Example src={Description} />
5252+5353+### Validation
5454+5555+Use the `validationState` prop to indicate when a field has validation errors.
5656+Set `validationState="invalid"` along with an `errorMessage` to display error states.
5757+5858+<Example src={Validation} />
5959+6060+Set `validationState="warning"` to show a warning state with a description.
6161+6262+<Example src={ValidationWarning} />
6363+6464+Set `validationState="valid"` to show a success state with a description.
6565+6666+<Example src={ValidationSuccess} />
49675068## Props
5169
···11+import { Flex } from "@/components/flex";
22+import { ColorField } from "@/components/color-field";
33+44+export function ValidationWarning() {
55+ return (
66+ <Flex gap="4" direction="column">
77+ <ColorField
88+ label="Background Color"
99+ defaultValue="#FF0000"
1010+ validationState="warning"
1111+ variant="primary"
1212+ description="This color may be too bright for text readability"
1313+ />
1414+ <ColorField
1515+ label="Background Color"
1616+ defaultValue="#FF0000"
1717+ validationState="warning"
1818+ variant="secondary"
1919+ description="This color may be too bright for text readability"
2020+ />
2121+ <ColorField
2222+ label="Background Color"
2323+ defaultValue="#FF0000"
2424+ validationState="warning"
2525+ variant="tertiary"
2626+ description="This color may be too bright for text readability"
2727+ />
2828+ </Flex>
2929+ );
3030+}
3131+
+31
apps/docs/src/examples/color-field/validation.tsx
···11+import { Flex } from "@/components/flex";
22+import { ColorField } from "@/components/color-field";
33+44+export function Validation() {
55+ return (
66+ <Flex gap="4" direction="column">
77+ <ColorField
88+ label="Background Color"
99+ defaultValue="#invalid"
1010+ validationState="invalid"
1111+ variant="primary"
1212+ errorMessage="Please enter a valid hex color code"
1313+ />
1414+ <ColorField
1515+ label="Background Color"
1616+ defaultValue="#invalid"
1717+ validationState="invalid"
1818+ variant="secondary"
1919+ errorMessage="Please enter a valid hex color code"
2020+ />
2121+ <ColorField
2222+ label="Background Color"
2323+ defaultValue="#invalid"
2424+ validationState="invalid"
2525+ variant="tertiary"
2626+ errorMessage="Please enter a valid hex color code"
2727+ />
2828+ </Flex>
2929+ );
3030+}
3131+