From de61b430d9412858d73b9eaa7d703f45cc827ace Mon Sep 17 00:00:00 2001 From: Stoyan Delev Date: Wed, 7 Sep 2022 15:22:04 +0300 Subject: [PATCH 01/12] feat(PPDSC-2244): create text-area component --- .storybook/preview.js | 1 + src/form/form-input.tsx | 34 +++ src/test/storybook-comps.tsx | 70 ++++++ src/text-area/__tests__/text-area.stories.tsx | 232 ++++++++++++++++++ src/text-area/defaults.ts | 49 ++++ src/text-area/index.tsx | 2 + src/text-area/styled.tsx | 49 ++++ src/text-area/text-area.tsx | 45 ++++ src/text-area/types.ts | 22 ++ 9 files changed, 504 insertions(+) create mode 100644 src/text-area/__tests__/text-area.stories.tsx create mode 100644 src/text-area/defaults.ts create mode 100644 src/text-area/index.tsx create mode 100644 src/text-area/styled.tsx create mode 100644 src/text-area/text-area.tsx create mode 100644 src/text-area/types.ts diff --git a/.storybook/preview.js b/.storybook/preview.js index 751d2fce8a..9b1c6c8607 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -17,6 +17,7 @@ const unlimitedScenarios = [ 'theme-checker', 'popover', 'audio-player-composable', + 'text-area', ]; const BackgroundColor = styled.div` diff --git a/src/form/form-input.tsx b/src/form/form-input.tsx index 3ce30b1a55..bd34a1edf5 100644 --- a/src/form/form-input.tsx +++ b/src/form/form-input.tsx @@ -23,6 +23,7 @@ import {withOwnTheme} from '../utils/with-own-theme'; import textFieldDefaults from '../text-field/defaults'; import assistiveTextDefaults from '../assistive-text/defaults'; import {RadioButton} from '../radio-button'; +import {TextArea, TextAreaProps} from '../text-area'; const useFormFieldContext = () => useContext(FormInputContext); @@ -308,3 +309,36 @@ export const FormInputRadioButton = React.forwardRef< /> ); }); + +export const FormInputTextArea = React.forwardRef< + HTMLTextAreaElement, + TextAreaProps +>(({children, onChange, onBlur, ...props}, elementRef) => { + const { + size, + name, + state, + onChange: onChangeContext, + onBlur: onBlurContext, + ref, + id, + assistiveTextId, + isRequired, + } = useFormFieldContext(); + + return ( +