'use client'; import classnames from 'classnames'; import React, { useId } from 'react'; export interface MdToggleProps extends React.InputHTMLAttributes { label?: string; error?: boolean; errorText?: string | undefined; wrapperClass?: string; } export const MdToggle: React.FunctionComponent = ({ checked = true, label, id, disabled = false, error = false, errorText = undefined, wrapperClass = '', ...otherProps }: MdToggleProps) => { const uuid = useId(); const toggleId = id && id !== '' ? id : uuid; const classNames = classnames('md-toggle__label', { 'md-toggle__label--error': !!error, 'md-toggle__label--checked': !!checked, 'md-toggle__label--disabled': !!disabled, }); const labelWrapperClassNames = classnames('md-toggle__label-wrapper', { 'md-toggle__label-wrapper--disabled': !!disabled, }); const outerWrapperClassNames = classnames('md-toggle__wrapper', wrapperClass); return (
{error && errorText && errorText !== '' &&
{errorText}
}
); }; export default MdToggle;