diff --git a/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.module.scss b/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.module.scss new file mode 100644 index 00000000000..014fbb777fd --- /dev/null +++ b/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.module.scss @@ -0,0 +1,7 @@ +.grid { + display: grid; + grid-template-columns: repeat(4, max-content); + grid-auto-rows: max-content; + grid-gap: 1rem; + margin-bottom: 1rem; +} diff --git a/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.tsx b/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.tsx new file mode 100644 index 00000000000..f1f92f92176 --- /dev/null +++ b/client/branded/src/global-styles/GlobalStylesStory/FormFieldVariants.tsx @@ -0,0 +1,106 @@ +/* eslint-disable react/jsx-no-bind */ +import classNames from 'classnames' +import React from 'react' +import 'storybook-addon-designs' + +import styles from './FormFieldVariants.module.scss' + +type FieldVariants = 'standard' | 'invalid' | 'valid' | 'disabled' + +interface WithVariantsProps { + field: React.ComponentType<{ + className?: string + disabled?: boolean + message?: JSX.Element + variant: FieldVariants + }> +} + +const FieldMessage: React.FunctionComponent<{ className?: string }> = ({ className }) => ( + Helper text +) + +const WithVariants: React.FunctionComponent = ({ field: Field }) => ( + <> + } /> + } /> + } /> + } /> + +) + +export const FormFieldVariants: React.FunctionComponent = () => ( +
+ ( +
+ + {message} +
+ )} + /> + ( +
+ + {message} +
+ )} + /> + ( +
+