Files
MattrixwvReactComponents/lib/types/Input.d.ts

70 lines
1.5 KiB
TypeScript

import type React from "react";
import type { ChangeEventHandler } from "react";
export interface TextInputProps {
id?: string;
className?: string;
inputClassName?: string;
labelClassName?: string;
maxLength?: number;
spellCheck?: boolean;
placeholder?: string;
defaultValue?: string;
value?: string;
onChange?: ChangeEventHandler<HTMLInputElement>;
disabled?: boolean;
}
export interface TextAreaProps extends TextInputProps{
rows?: number;
cols?: number;
onChange?: ChangeEventHandler<HTMLTextAreaElement>;
}
export interface SelectInputProps {
label: React.ReactNode;
value?: string;
onChange?: (newValue: string) => void;
children: React.ReactNode;
}
export interface OptionInputProps {
id?: string;
className?: string;
value: string;
children: React.ReactNode;
}
export type MattrixwvSwitchSize = "none" | "xs" | "sm" | "md" | "lg" | "xl";
export interface MattrixwvSwitchProps {
id?: string;
className?: string;
knobClassName?: string;
size?: MattrixwvSwitchSize;
wide?: boolean;
name?: string;
value?: string;
defaultChecked?: boolean;
checked?: boolean;
onChange?: (newChecked: boolean) => void;
disabled?: boolean;
children?: React.ReactNode;
offText?: React.ReactNode;
onText?: React.ReactNode;
}
export interface MattrixwvButtonSwitchProps {
id?: string;
className?: string;
name?: string;
value?: string;
defaultChecked?: boolean;
checked?: boolean;
onChange?: (newChecked: boolean) => void;
disabled?: boolean;
onNode: React.ReactNode;
offNode: React.ReactNode;
}