diff --git a/ui-core/src/components/inputs/FieldWrapper.tsx b/ui-core/src/components/inputs/FieldWrapper.tsx index 5efe1199f..d011a728e 100644 --- a/ui-core/src/components/inputs/FieldWrapper.tsx +++ b/ui-core/src/components/inputs/FieldWrapper.tsx @@ -15,6 +15,11 @@ export type FieldWrapperProps = { disabled?: boolean; statusWithMessage?: StatusWithMessage; statusIconPosition?: 'next-to-field' | 'before-status-message'; + /** + * Input without any wrapper padding. + * Should not be used with required or statusWithMessage with no tooltip. + */ + narrow?: boolean; small?: boolean; children?: React.ReactNode; className?: string; @@ -29,15 +34,21 @@ const FieldWrapper = ({ disabled, statusWithMessage, statusIconPosition = 'next-to-field', + narrow = false, small = false, className, children, onCloseStatusMessage, }: FieldWrapperProps) => { const statusClassname = statusWithMessage ? { [statusWithMessage.status]: true } : {}; + const defaultTooltip: StatusWithMessage['tooltip'] = narrow ? 'left' : undefined; + + if (narrow && required) { + throw new Error('narrow should not be used with required for now. This breaks the input UI.'); + } return ( -