diff --git a/types/react-material-ui-form-validator/index.d.ts b/types/react-material-ui-form-validator/index.d.ts new file mode 100644 index 0000000000..7654ab0d8c --- /dev/null +++ b/types/react-material-ui-form-validator/index.d.ts @@ -0,0 +1,32 @@ +// Type definitions for react-material-ui-form-validator v2.0.3 +// Project: https://github.com/NewOldMax/react-material-ui-form-validator +// Definitions by: Frank Brullo +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 3.1.3 + +import * as React from "react"; +import { TextFieldProps } from "material-ui"; + +export interface ValidatorFormProps { + className?: string; + onSubmit: (event: React.FormEventHandler) => void; + instantValidate?: boolean; + onError?: (errors: any[]) => {}; + debounceTime?: number; +} +export class ValidatorForm extends React.Component { + public static addValidationRule(name: string, callback: (value: any) => boolean): void; + public isFormValid(dryRun: boolean): boolean; + public resetValidations(): void; +} + +export interface ValidatorComponentProps { + errorMessages?: any[] | string; + validators?: any[]; + name: string; + value: any; + validatorListener?: (isValid: boolean) => void; + withRequiredValidator?: boolean; +} +export class ValidatorComponent extends React.Component {} +export class TextValidator extends ValidatorComponent {} \ No newline at end of file diff --git a/types/react-material-ui-form-validator/package.json b/types/react-material-ui-form-validator/package.json new file mode 100644 index 0000000000..6dcb525368 --- /dev/null +++ b/types/react-material-ui-form-validator/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "dependencies": { + "@material-ui/core": "3.9.0" + } +} diff --git a/types/react-material-ui-form-validator/react-material-ui-form-validator-tests.tsx b/types/react-material-ui-form-validator/react-material-ui-form-validator-tests.tsx new file mode 100644 index 0000000000..6c9d58fdf9 --- /dev/null +++ b/types/react-material-ui-form-validator/react-material-ui-form-validator-tests.tsx @@ -0,0 +1,47 @@ +import * as React from 'react'; +import { + TextValidator, + ValidatorComponent, + ValidatorForm +} from 'react-material-ui-form-validator'; + +class Test extends React.Component { + onSubmitted = (event: React.FormEventHandler) => {}; + onError = (errors: any[]) => {}; + onValidate = (isValid: boolean) => {}; + onTextFieldChanged = (event: React.ChangeEventHandler) => {}; + render() { + return ( + + + + + ); + } +} diff --git a/types/react-material-ui-form-validator/tsconfig.json b/types/react-material-ui-form-validator/tsconfig.json new file mode 100644 index 0000000000..563f236451 --- /dev/null +++ b/types/react-material-ui-form-validator/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "jsx": "react", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "./react-material-ui-form-validator-tests.tsx" + ] +} diff --git a/types/react-material-ui-form-validator/tslint.json b/types/react-material-ui-form-validator/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-material-ui-form-validator/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }