import { always, cond, equals } from 'ramda'; import LoadingSkeleton from '../../LoadingSkeleton'; import { type InputProps, InputType } from './models'; const getSkeleton = cond, JSX.Element>([ [ equals(InputType.Switch) as (b: InputType) => boolean, always() ], [ equals(InputType.Radio) as (b: InputType) => boolean, always() ], [ equals(InputType.Text) as (b: InputType) => boolean, always() ], [ equals(InputType.SingleAutocomplete) as (b: InputType) => boolean, always() ], [ equals(InputType.MultiAutocomplete) as (b: InputType) => boolean, always() ], [ equals(InputType.Password) as (b: InputType) => boolean, always() ], [ equals(InputType.MultiConnectedAutocomplete) as (b: InputType) => boolean, always() ], [ equals(InputType.SingleConnectedAutocomplete) as (b: InputType) => boolean, always() ], [ equals(InputType.FieldsTable) as (b: InputType) => boolean, always() ], [ equals(InputType.Grid) as (b: InputType) => boolean, always() ], [ equals(InputType.Custom) as (b: InputType) => boolean, always() ] ]); interface Props { input: InputProps; } const LoadingSkeletonInput = ({ input }: Props): JSX.Element => { return
{getSkeleton(input.type)}
; }; export default LoadingSkeletonInput;