From 39cd6ddc0057805ce8a8af6977728db3ef841b07 Mon Sep 17 00:00:00 2001 From: Shayne Marc Enzo Ahchoon <32307964+shayneahchoon@users.noreply.github.com> Date: Mon, 13 May 2024 10:42:00 +0100 Subject: [PATCH] WSTEAM1-969: Add Checkbox (#11610) * WSTEAM1-969: Add Checkbox * WSTEAM1-969: Merge conflicts * WSTEAM1-969: Refactor * WSTEAM1-969: Update snapshots * WSTEAM1-969: Update margin --- .../send/[id]/FormField/Checkbox.tsx | 32 +++-- .../send/[id]/FormField/EmailInput.tsx | 27 +++-- .../send/[id]/FormField/FieldLabel.tsx | 5 +- .../[service]/send/[id]/FormField/File.tsx | 29 +++-- .../send/[id]/FormField/Telephone.tsx | 27 +++-- .../send/[id]/FormField/TextArea.tsx | 27 +++-- .../send/[id]/FormField/TextInput.tsx | 27 +++-- .../__snapshots__/index.test.tsx.snap | 114 +++++++++++++----- .../[service]/send/[id]/FormField/index.tsx | 3 +- .../[service]/send/[id]/FormField/styles.ts | 41 ++++++- .../pages/[service]/send/[id]/types.ts | 1 + 11 files changed, 231 insertions(+), 102 deletions(-) diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/Checkbox.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/Checkbox.tsx index 2abf38d6307..d97326a7961 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/Checkbox.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/Checkbox.tsx @@ -1,5 +1,8 @@ -import React from 'react'; +/** @jsx jsx */ +import { jsx } from '@emotion/react'; import { InputProps } from '../types'; +import Label from './FieldLabel'; +import styles from './styles'; export default ({ id, @@ -7,18 +10,25 @@ export default ({ handleChange, inputState, describedBy, + label, }: InputProps) => { const { isValid, value = false, required } = inputState; return ( - handleChange(e.target.name, e.target.checked)} - aria-invalid={!isValid} - aria-required={required} - aria-describedby={describedBy} - /> +
+ handleChange(e.target.name, e.target.checked)} + aria-invalid={!isValid} + aria-required={required} + aria-describedby={describedBy} + /> + +
); }; diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/EmailInput.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/EmailInput.tsx index c1d75dfe47d..4acda5fd14c 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/EmailInput.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/EmailInput.tsx @@ -1,6 +1,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/react'; import { InputProps } from '../types'; +import Label from './FieldLabel'; import styles from './styles'; export default ({ @@ -9,19 +10,23 @@ export default ({ handleChange, inputState, describedBy, + label, }: InputProps) => { const { isValid, value = '', required } = inputState; return ( - handleChange(e.target.name, e.target.value)} - aria-invalid={!isValid} - aria-required={required} - aria-describedby={describedBy} - /> + <> + + handleChange(e.target.name, e.target.value)} + aria-invalid={!isValid} + aria-required={required} + aria-describedby={describedBy} + /> + ); }; diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/FieldLabel.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/FieldLabel.tsx index ac5851d22ad..ce145023305 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/FieldLabel.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/FieldLabel.tsx @@ -8,8 +8,9 @@ import styles from './styles'; export default ({ id, children, -}: PropsWithChildren<{ id: InputProps['id'] }>) => ( - + className, +}: PropsWithChildren<{ id: InputProps['id']; className?: string }>) => ( + {children} ); diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/File.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/File.tsx index 8d0bd3ddac0..7589b31cfcd 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/File.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/File.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { InputProps } from '../types'; +import Label from './FieldLabel'; export default ({ id, @@ -7,20 +8,24 @@ export default ({ handleChange, inputState, describedBy, + label, }: InputProps) => { const { isValid, required } = inputState; return ( - - e.target.files && handleChange(e.target.name, e.target.files) - } - multiple - aria-invalid={!isValid} - aria-required={required} - aria-describedby={describedBy} - /> + <> + + + e.target.files && handleChange(e.target.name, e.target.files) + } + multiple + aria-invalid={!isValid} + aria-required={required} + aria-describedby={describedBy} + /> + ); }; diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/Telephone.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/Telephone.tsx index 7b6a3eacd83..fe68739a956 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/Telephone.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/Telephone.tsx @@ -1,6 +1,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/react'; import { InputProps } from '../types'; +import Label from './FieldLabel'; import styles from './styles'; export default ({ @@ -9,19 +10,23 @@ export default ({ handleChange, inputState, describedBy, + label, }: InputProps) => { const { isValid, value = '', required } = inputState; return ( - handleChange(e.target.name, e.target.value)} - aria-invalid={!isValid} - aria-required={required} - aria-describedby={describedBy} - /> + <> + + handleChange(e.target.name, e.target.value)} + aria-invalid={!isValid} + aria-required={required} + aria-describedby={describedBy} + /> + ); }; diff --git a/ws-nextjs-app/pages/[service]/send/[id]/FormField/TextArea.tsx b/ws-nextjs-app/pages/[service]/send/[id]/FormField/TextArea.tsx index 7a39a0da190..b889ca1e885 100644 --- a/ws-nextjs-app/pages/[service]/send/[id]/FormField/TextArea.tsx +++ b/ws-nextjs-app/pages/[service]/send/[id]/FormField/TextArea.tsx @@ -1,6 +1,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/react'; import { InputProps } from '../types'; +import Label from './FieldLabel'; import styles from './styles'; export default ({ @@ -9,20 +10,24 @@ export default ({ handleChange, inputState, describedBy, + label, }: InputProps) => { const { isValid, value = '', required } = inputState; return ( -