feat(controllers): add new input and button components

* Introduced ButtonCtrl, IconButtonCtrl, NativeSelectCtrl, PasswordInputCtrl, SwitchCtrl, TextAreaCtrl, TextInputCtrl
* Updated FormerControllers.types.ts to include SpecialIDProps
* Enhanced lib.ts to export new components
This commit is contained in:
2026-01-14 22:42:17 +02:00
parent e777e1fa3a
commit 9df2f3b504
13 changed files with 287 additions and 3 deletions

View File

@@ -0,0 +1,30 @@
import { TextInput, type TextInputProps, Tooltip } from '@mantine/core';
import { Controller } from 'react-hook-form';
import type { FormerControllersProps, SpecialIDProps } from '../FormerControllers.types';
const TextInputCtrl = (props: FormerControllersProps & SpecialIDProps & TextInputProps) => {
const { control, name, sid, tooltip, ...textProps } = props;
return (
<Controller
control={control}
name={name}
render={({ field, formState }) => (
<Tooltip label={tooltip ?? ''} withArrow>
<TextInput
{...textProps}
{...field}
disabled={formState.disabled}
id={`field_${name}_${sid ?? ''}`}
key={`field_${name}_${sid ?? ''}`}
>
{props.children}
</TextInput>
</Tooltip>
)}
/>
);
};
export { TextInputCtrl };
export default TextInputCtrl;