Files
decky-frontend-lib/src/deck-components/TextField.tsx
2022-09-09 16:16:15 -04:00

29 lines
836 B
TypeScript

import { ChangeEventHandler, HTMLAttributes, ReactNode, VFC } from 'react';
import { CommonUIModule, Module } from '../webpack';
export interface TextFieldProps extends HTMLAttributes<HTMLInputElement> {
label?: ReactNode;
requiredLabel?: ReactNode;
description?: ReactNode;
disabled?: boolean;
bShowCopyAction?: boolean;
bShowClearAction?: boolean;
bAlwaysShowClearAction?: boolean;
bIsPassword?: boolean;
rangeMin?: number;
rangeMax?: number;
mustBeNumeric?: boolean;
mustBeURL?: boolean;
mustBeEmail?: boolean;
focusOnMount?: boolean;
tooltip?: string;
inlineControls?: ReactNode;
onChange?: ChangeEventHandler<HTMLInputElement>;
value?: string;
}
export const TextField = Object.values(CommonUIModule).find(
(mod: Module) => mod?.validateUrl && mod?.validateEmail,
) as VFC<TextFieldProps>;