Merged in fix/BOOK-323-enter-details-scroll-error (pull request #2986)
Fix/BOOK-323 enter details scroll error * fix(BOOK-323): scroll to invalid element on submit on enter details * fix(BOOK-323): update error message design * fix(BOOK-323): clean up * fix(BOOK-323): scroll to fields in room in right order * fix(BOOK-323): add id to translations * fix(BOOK-323): remove undefined * fix(BOOK-323): fix submitting state * fix(BOOK-323): use ref in multiroom for scrolling to right element, add membershipNo * fix(BOOK-323): fix invalid border country * fix(BOOK-323): use error message component * fix(BOOK-323): fix invalid focused styling on mobile * fix(BOOK-323): remove redundant dependency in callback Approved-by: Erik Tiekstra
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import { cva } from 'class-variance-authority'
|
||||
import styles from './messageBanner.module.css'
|
||||
import { Typography } from '../Typography'
|
||||
import { MaterialIcon } from '../Icons/MaterialIcon'
|
||||
|
||||
type MessageBannerType = 'default' | 'error' | 'info'
|
||||
type TextColor = 'default' | 'error'
|
||||
|
||||
const textVariants = cva('', {
|
||||
variants: {
|
||||
textColor: {
|
||||
default: styles.textDefault,
|
||||
error: styles.textError,
|
||||
},
|
||||
},
|
||||
defaultVariants: {
|
||||
textColor: 'default',
|
||||
},
|
||||
})
|
||||
|
||||
type MessageBannerProps = {
|
||||
type?: MessageBannerType
|
||||
textColor?: TextColor
|
||||
text: string
|
||||
}
|
||||
|
||||
export function MessageBanner({
|
||||
type = 'default',
|
||||
textColor = 'default',
|
||||
text,
|
||||
}: MessageBannerProps) {
|
||||
const textClass = textVariants({ textColor })
|
||||
|
||||
const iconName = type === 'error' ? 'error' : 'info'
|
||||
const iconColor =
|
||||
type === 'error'
|
||||
? 'Icon/Feedback/Error'
|
||||
: type === 'info'
|
||||
? 'Icon/Feedback/Information'
|
||||
: 'Icon/Default'
|
||||
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<Typography
|
||||
className={textClass}
|
||||
variant="Body/Supporting text (caption)/smRegular"
|
||||
>
|
||||
<span className={styles.content}>
|
||||
<MaterialIcon size={20} icon={iconName} color={iconColor} isFilled />
|
||||
{text}
|
||||
</span>
|
||||
</Typography>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user