diff --git a/notNeededPackages.json b/notNeededPackages.json index 302eebd335..f81984b338 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -1206,6 +1206,12 @@ "sourceRepoURL": "https://github.com/react-ga/react-ga", "asOfVersion": "2.3.0" }, + { + "libraryName": "react-i18next", + "typingsPackageName": "react-i18next", + "sourceRepoURL": "https://github.com/i18next/react-i18next", + "asOfVersion": "8.1.0" + }, { "libraryName": "react-monaco-editor", "typingsPackageName": "react-monaco-editor", diff --git a/types/react-i18next/index.d.ts b/types/react-i18next/index.d.ts deleted file mode 100644 index 979c648f50..0000000000 --- a/types/react-i18next/index.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -// Type definitions for react-i18next 7.8 -// Project: https://github.com/i18next/react-i18next -// Definitions by: Giedrius Grabauskas -// Simon Baumann -// Benedict Etzel -// Wu Haotian -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.8 - -import { TranslationFunction } from "i18next"; - -import { - setDefaults, - getDefaults, - setI18n, - getI18n, - ReactI18NextOptions, - reactI18nextModule -} from "./src/context"; -import I18n from "./src/I18n"; -import I18nextProvider from "./src/I18nextProvider"; -import Interpolate from "./src/interpolate"; -import loadNamespaces from "./src/loadNamespaces"; -import Trans from "./src/trans"; -import translate from "./src/translate"; - -export { - setDefaults, - getDefaults, - setI18n, - getI18n, - ReactI18NextOptions, - reactI18nextModule, - I18n, - I18nextProvider, - Interpolate, - loadNamespaces, - Trans, - translate, - TranslationFunction -}; - -export { InjectedI18nProps, InjectedTranslateProps } from "./src/props"; - -export as namespace reactI18Next; diff --git a/types/react-i18next/src/I18n.d.ts b/types/react-i18next/src/I18n.d.ts deleted file mode 100644 index 91de868caf..0000000000 --- a/types/react-i18next/src/I18n.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from "react"; -import { i18n, TranslationFunction } from "i18next"; - -export interface Options { - i18n: i18n; - t: TranslationFunction; -} - -export interface i18nProps { - wait?: boolean; - ns?: string | string[]; - nsMode?: string; - bindI18n?: string; - bindStore?: string; - i18n?: i18n; - initialI18nStore?: any; - initialLanguage?: string; - children: (t: TranslationFunction, options: Options) => React.ReactNode; -} - -export default class I18n extends React.Component { } diff --git a/types/react-i18next/src/I18nextProvider.d.ts b/types/react-i18next/src/I18nextProvider.d.ts deleted file mode 100644 index 2db5d0361b..0000000000 --- a/types/react-i18next/src/I18nextProvider.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from "react"; -import { i18n } from "i18next"; - -// tslint:disable-next-line:interface-name -export interface I18nextProviderProps { - i18n: i18n; - initialI18nStore?: any; - initialLanguage?: string; - children: React.ReactNode; -} - -export default class I18nextProvider extends React.Component { } diff --git a/types/react-i18next/src/context.d.ts b/types/react-i18next/src/context.d.ts deleted file mode 100644 index f772e8c1da..0000000000 --- a/types/react-i18next/src/context.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { i18n } from "i18next"; - -export interface ReactI18NextOptions { - wait?: boolean; - withRef?: boolean; - bindI18n?: string; - bindStore?: string; - translateFuncName?: string; - nsMode?: string; -} - -export function setDefaults(options: ReactI18NextOptions): void; - -export function getDefaults(): ReactI18NextOptions; - -export function setI18n(instance: i18n): void; - -export function getI18n(): i18n; - -export interface i18NextModule { - type: string; - - init: (instance: i18n) => void; -} - -export const reactI18nextModule: i18NextModule; diff --git a/types/react-i18next/src/interpolate.d.ts b/types/react-i18next/src/interpolate.d.ts deleted file mode 100644 index d6a4e64420..0000000000 --- a/types/react-i18next/src/interpolate.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as React from "react"; -import { i18n, InterpolationOptions, TranslationFunction } from "i18next"; - -export type InterpolateValue = string | JSX.Element; - -export interface InterpolatePropsBase { - parent?: string; - regexp?: RegExp; - useDangerouslySetInnerHTML?: boolean; - dangerouslySetInnerHTMLPartElement?: string; - options?: InterpolationOptions; - i18nKey?: string; - className?: string; - style?: React.CSSProperties; - i18n?: i18n; - t?: TranslationFunction; -} - -export interface OtherInterpolateProps { - [regexKey: string]: InterpolateValue | RegExp | InterpolationOptions | boolean | undefined; -} - -export type InterpolateProps = InterpolatePropsBase & OtherInterpolateProps; - -export default class Interpolate extends React.PureComponent { } diff --git a/types/react-i18next/src/loadNamespaces.d.ts b/types/react-i18next/src/loadNamespaces.d.ts deleted file mode 100644 index d0e0b372f5..0000000000 --- a/types/react-i18next/src/loadNamespaces.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as React from "react"; -import { i18n } from "i18next"; - -export interface LoadNamespacesArguments { - components: Array | React.StatelessComponent>; - i18n: i18n; -} - -export default function loadNamespaces(args: LoadNamespacesArguments): Promise; diff --git a/types/react-i18next/src/props.d.ts b/types/react-i18next/src/props.d.ts deleted file mode 100644 index 8435a7cc45..0000000000 --- a/types/react-i18next/src/props.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { i18n as I18n, TranslationFunction } from "i18next"; - -/** - * Extend your component's Prop interface with this one to get access to `this.props.t` - * - * Please note that if you use the `translateFuncName` option, you should create - * your own interface just like this one, but with your name of the translation function. - * - * interface MyComponentProps extends ReactI18next.InjectedTranslateProps {} - * - * Then specify the name of the translate function as generic argument - * - * const translated = translate("view", { translateFuncName: "_" })(YourComponent); - */ -export interface InjectedTranslateProps { - t: TranslationFunction; -} - -/** - * Extend your component's Prop interface with this one to get access to `this.props.i18n` - */ -export interface InjectedI18nProps { - i18n: I18n; -} diff --git a/types/react-i18next/src/trans.d.ts b/types/react-i18next/src/trans.d.ts deleted file mode 100644 index 2b0e8e7738..0000000000 --- a/types/react-i18next/src/trans.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as React from "react"; -import { i18n, TranslationFunction } from "i18next"; - -export interface TOptions { - [key: string]: any; -} - -export interface Values { - [key: string]: any; -} - -export interface TransProps { - i18nKey?: string; - count?: number; - parent?: React.ReactNode | (() => React.ReactNode); - i18n?: i18n; - t?: TranslationFunction; - tOptions?: TOptions; - defaults?: string; - values?: Values; - components?: React.ReactNode[]; - ns?: string; -} - -export default class Trans extends React.Component { } diff --git a/types/react-i18next/src/translate.d.ts b/types/react-i18next/src/translate.d.ts deleted file mode 100644 index 0383ee1ead..0000000000 --- a/types/react-i18next/src/translate.d.ts +++ /dev/null @@ -1,63 +0,0 @@ -import * as React from "react"; -import { i18n as I18n, TranslationFunction } from "i18next"; -import { InjectedTranslateProps, InjectedI18nProps } from "./props"; -import { setDefaults, setI18n } from "./context"; - -export interface TranslateOptions { - withRef?: boolean; - bindI18n?: string; - bindStore?: string; - translateFuncName?: TTranslateFuncName; - wait?: boolean; - nsMode?: string; - i18n?: I18n; -} - -export interface TranslateHocProps { - i18n?: I18n; - initialI18nStore?: object; - initialLanguage?: string; -} - -// Diff / Omit taken from https://github.com/Microsoft/TypeScript/issues/12215#issuecomment-311923766 -type Omit = Pick; - -type InjectedProps = InjectedI18nProps & InjectedTranslateProps; - -export interface WrapperComponentClass

extends React.ComponentClass

{ - new (props: P, context?: any): React.Component

& { getWrappedInstance(): React.Component }; -} - -// Injects props and removes them from the prop requirements. -// Adds the new properties t (or whatever the translation function is called) and i18n if needed. -export type InferableComponentEnhancerWithProps = -

(component: React.ComponentClass

| React.StatelessComponent

) => - React.ComponentClass & TranslateHocProps>; - -export type InferableComponentEnhancerWithPropsAndRef = -

(component: React.ComponentClass

| React.StatelessComponent

) => - WrapperComponentClass, P>; - -export interface Translate { - - (namespaces?: TNamespace | TNamespace[], options?: Omit & { withRef?: false }): - InferableComponentEnhancerWithProps<"t">; - - - (namespaces?: TNamespace | TNamespace[], options?: Omit & { withRef: true }): - InferableComponentEnhancerWithPropsAndRef<"t">; - - - (namespaces?: TNamespace | TNamespace[], options?: TranslateOptions & { withRef?: false }): - InferableComponentEnhancerWithProps; - - - (namespaces?: TNamespace | TNamespace[], options?: TranslateOptions & { withRef: true }): - InferableComponentEnhancerWithPropsAndRef; - - setDefaults: typeof setDefaults; - setI18n: typeof setI18n; -} - -declare const translate: Translate; -export default translate; diff --git a/types/react-i18next/test/react-i18next-tests.tsx b/types/react-i18next/test/react-i18next-tests.tsx deleted file mode 100644 index 30b95ece24..0000000000 --- a/types/react-i18next/test/react-i18next-tests.tsx +++ /dev/null @@ -1,201 +0,0 @@ -import * as React from 'react'; -import * as i18n from 'i18next'; -import { - setDefaults, - reactI18nextModule, - translate, - I18nextProvider, - Interpolate, - InjectedTranslateProps, - TranslationFunction, - loadNamespaces, - Trans, - I18n, - ReactI18NextOptions -} from 'react-i18next'; -import { InjectedI18nProps } from 'react-i18next/src/props'; - -interface InnerAnotherComponentProps { - _: TranslationFunction; -} - -class InnerAnotherComponent extends React.Component { - render() { - const _ = this.props._; - return

{_('content.text', {/* options t options */})}

; - } -} - -const AnotherComponent = translate('view', {wait: true, translateFuncName: '_'})(InnerAnotherComponent); -const instanceWithoutRef = new AnotherComponent({}); -instanceWithoutRef.componentWillReceiveProps!({ - i18n, - initialI18nStore: { context: { text: "a message" } }, - initialLanguage: "en" -}, {}); - -translate.setDefaults({ wait: false }); -translate.setI18n(i18n); - -const AnotherComponentWithRef = translate("view" as Key, { translateFuncName: "_", withRef: true })(InnerAnotherComponent); -const instanceWithRef = new AnotherComponentWithRef({}); -const ref = instanceWithRef.getWrappedInstance(); -instanceWithRef.componentWillReceiveProps!({ - i18n, - initialI18nStore: { context: { text: "a message" } }, - initialLanguage: "en" -}, {}); - -class InnerYetAnotherComponent extends React.Component { - render() { - const t = this.props.t; - return

{t('usingDefaultNS', {/* options t options */})}

; - } -} - -const YetAnotherComponent = translate()(InnerYetAnotherComponent); - -const YetAnotherComponentWithRef = translate(undefined, { withRef: true })(InnerYetAnotherComponent); -new YetAnotherComponentWithRef({}).getWrappedInstance(); -class TranslatableView extends React.Component { - render() { - const t = this.props.t; - const interpolateComponent = "a interpolated component"; - const options: i18n.InterpolationOptions = {}; - return ( -
-

{t('common:appName')}

- - - - - {t('nav:link1')} -
- ); - } -} - -const TranslatedView = translate(["view", "nav"] as Key[], { wait: true })(TranslatableView); - -class App extends React.Component { - render() { - return ( -
-
- -
-
- ); - } -} - - - -; - - - 123 -; - -loadNamespaces({components: [App], i18n}).then(() => { -}).catch(error => { -}); - -; -; -; -}/>; -
}/>; -; -; - - -; -; -placeholder - ]} - values={{ - universe: "World" - }} -/>; - -type Key = "view" | "nav"; - -class GenericsTest extends React.Component { - render() { - return null; - } -} - -const TranslatedGenericsTest = translate(["view", "nav"] as Key[])(GenericsTest); -; - -class GenericsTest2 extends React.Component { - render() { - return null; - } -} - -const TranslatedGenericsTest2 = translate("view" as Key)(GenericsTest2); -; - -class ComponentWithInjectedI18n extends React.Component { - render() { return null; } -} - -const TranslatedComponentWithInjectedI18n = translate()(ComponentWithInjectedI18n); -; - -function StatlessComponent(props: InjectedTranslateProps) { - return

{props.t("hy")}

; -} - -const TranslatedStatlessComponent = translate()(StatlessComponent); -; - -interface CustomTranslateFunctionProps { - _: TranslationFunction; -} - - - { - (t, {i18n}) => ( -
-

{t('keyFromDefault')}

-

{t('anotherNamespace:key.from.another.namespace', {/* options t options */})}

-
- ) - } -
; - - - {t => '123'} -; - -const defaults: ReactI18NextOptions = { - wait: true, - withRef: true, - bindI18n: 'string', - bindStore: 'string' -}; -setDefaults(defaults); - -reactI18nextModule.init(i18n.init()); diff --git a/types/react-i18next/tsconfig.json b/types/react-i18next/tsconfig.json deleted file mode 100644 index f90b5c3ff0..0000000000 --- a/types/react-i18next/tsconfig.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "jsx": "react", - "experimentalDecorators": true - }, - "files": [ - "index.d.ts", - "test/react-i18next-tests.tsx", - "src/context.d.ts", - "src/I18n.d.ts", - "src/I18nextProvider.d.ts", - "src/interpolate.d.ts", - "src/loadNamespaces.d.ts", - "src/trans.d.ts", - "src/translate.d.ts" - ] -} \ No newline at end of file diff --git a/types/react-i18next/tslint.json b/types/react-i18next/tslint.json deleted file mode 100644 index 3db14f85ea..0000000000 --- a/types/react-i18next/tslint.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": "dtslint/dt.json" } diff --git a/types/react-i18next/v1/index.d.ts b/types/react-i18next/v1/index.d.ts deleted file mode 100644 index 0296da861c..0000000000 --- a/types/react-i18next/v1/index.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -// Type definitions for react-i18next 1.7.0 -// Project: https://github.com/i18next/react-i18next -// Definitions by: Kostya Esmukov -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.8 - -import * as I18next from "i18next"; -import * as React from "react"; - -export type TranslationFunction = I18next.TranslationFunction; - -// Extend your component's Prop interface with this one to get access to `this.props.t` -// -// Please note that if you use the `translateFuncName` option, you should create -// your own interface just like this one, but with your name of the translation function. -// -// interface MyComponentProps extends ReactI18next.InjectedTranslateProps {} -export interface InjectedTranslateProps { - t?: TranslationFunction; -} - -interface I18nextProviderProps { - i18n: I18next.I18n; - children?: React.ReactElement; -} - -export class I18nextProvider extends React.Component { } - - -type InterpolateValue = string | JSX.Element; - -interface InterpolateProps { - i18nKey: string; - - parent?: string; - regexp?: RegExp; - options?: I18next.TranslationOptions; - - useDangerouslySetInnerHTML?: boolean; - dangerouslySetInnerHTMLPartElement?: string; - - [regexKey: string]: InterpolateValue | RegExp | I18next.TranslationOptions | boolean | undefined; -} - -export class Interpolate extends React.Component { } - -interface TranslateOptions { - withRef?: boolean; - wait?: boolean; - translateFuncName?: string; -} - -export function translate(namespaces?: string[] | string, options?: TranslateOptions): (WrappedComponent: C) => C; - -export function loadNamespaces({ components, i18n }: { components: (React.ComponentClass | React.StatelessComponent)[], i18n: I18next.I18n }): Promise; - -export as namespace ReactI18Next; diff --git a/types/react-i18next/v1/react-i18next-tests.tsx b/types/react-i18next/v1/react-i18next-tests.tsx deleted file mode 100644 index 950e29d293..0000000000 --- a/types/react-i18next/v1/react-i18next-tests.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import * as ReactDOM from 'react-dom'; -import * as React from 'react'; -import * as i18n from 'i18next'; -import { translate, I18nextProvider, Interpolate, InjectedTranslateProps, TranslationFunction } from 'react-i18next'; - - -i18n - .init({ - fallbackLng: 'en', - - // have a common namespace used around the full app - ns: ['common'], - defaultNS: 'common', - - debug: true, - - interpolation: { - escapeValue: false // not needed for react!! - } - }); - - -interface InnerAnotherComponentProps { - _?: TranslationFunction; -} - -class InnerAnotherComponent extends React.Component { - render() { - const _ = this.props._!; - - return

{_('content.text', { /* options t options */ })}

; - } -} - -const AnotherComponent = translate('view', { wait: true, translateFuncName: '_' })(InnerAnotherComponent); - - - -interface InnerYetAnotherComponentProps extends InjectedTranslateProps { -} - -class InnerYetAnotherComponent extends React.Component { - render() { - const t = this.props.t!; - - return

{t('usingDefaultNS', { /* options t options */ })}

; - } -} -const YetAnotherComponent = translate()(InnerYetAnotherComponent); - - -interface TranslatableViewProps extends InjectedTranslateProps { -} - -@translate(['view', 'nav'], { wait: true }) -class TranslatableView extends React.Component { - render() { - const t = this.props.t!; - - let interpolateComponent = "a interpolated component"; - - return ( -
-

{t('common:appName')}

- - - - - {t('nav:link1')} -
- ) - } -} - -class App extends React.Component { - render() { - return ( -
-
- -
-
- ); - } -} - - -ReactDOM.render( - , - document.getElementById('app') -); diff --git a/types/react-i18next/v1/tsconfig.json b/types/react-i18next/v1/tsconfig.json deleted file mode 100644 index b16cb92b25..0000000000 --- a/types/react-i18next/v1/tsconfig.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../../", - "typeRoots": [ - "../../" - ], - "paths": { - "react-i18next": [ - "react-i18next/v1" - ], - "i18next": [ - "i18next/v2" - ] - }, - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "jsx": "react", - "experimentalDecorators": true - }, - "files": [ - "index.d.ts", - "react-i18next-tests.tsx" - ] -} \ No newline at end of file diff --git a/types/react-i18next/v1/tslint.json b/types/react-i18next/v1/tslint.json deleted file mode 100644 index a41bf5d19a..0000000000 --- a/types/react-i18next/v1/tslint.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "adjacent-overload-signatures": false, - "array-type": false, - "arrow-return-shorthand": false, - "ban-types": false, - "callable-types": false, - "comment-format": false, - "dt-header": false, - "eofline": false, - "export-just-namespace": false, - "import-spacing": false, - "interface-name": false, - "interface-over-type-literal": false, - "jsdoc-format": false, - "max-line-length": false, - "member-access": false, - "new-parens": false, - "no-any-union": false, - "no-boolean-literal-compare": false, - "no-conditional-assignment": false, - "no-consecutive-blank-lines": false, - "no-construct": false, - "no-declare-current-package": false, - "no-duplicate-imports": false, - "no-duplicate-variable": false, - "no-empty-interface": false, - "no-for-in-array": false, - "no-inferrable-types": false, - "no-internal-module": false, - "no-irregular-whitespace": false, - "no-mergeable-namespace": false, - "no-misused-new": false, - "no-namespace": false, - "no-object-literal-type-assertion": false, - "no-padding": false, - "no-redundant-jsdoc": false, - "no-redundant-jsdoc-2": false, - "no-redundant-undefined": false, - "no-reference-import": false, - "no-relative-import-in-test": false, - "no-self-import": false, - "no-single-declare-module": false, - "no-string-throw": false, - "no-unnecessary-callback-wrapper": false, - "no-unnecessary-class": false, - "no-unnecessary-generics": false, - "no-unnecessary-qualifier": false, - "no-unnecessary-type-assertion": false, - "no-useless-files": false, - "no-var-keyword": false, - "no-var-requires": false, - "no-void-expression": false, - "no-trailing-whitespace": false, - "object-literal-key-quotes": false, - "object-literal-shorthand": false, - "one-line": false, - "one-variable-per-declaration": false, - "only-arrow-functions": false, - "prefer-conditional-expression": false, - "prefer-const": false, - "prefer-declare-function": false, - "prefer-for-of": false, - "prefer-method-signature": false, - "prefer-template": false, - "radix": false, - "semicolon": false, - "space-before-function-paren": false, - "space-within-parens": false, - "strict-export-declare-modifiers": false, - "trim-file": false, - "triple-equals": false, - "typedef-whitespace": false, - "unified-signatures": false, - "void-return": false, - "whitespace": false - } -} diff --git a/types/react-i18next/v4/I18nextProvider.d.ts b/types/react-i18next/v4/I18nextProvider.d.ts deleted file mode 100644 index 2ecb87f4a1..0000000000 --- a/types/react-i18next/v4/I18nextProvider.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from "react"; -import { i18n } from "i18next"; - -// tslint:disable-next-line:interface-name -export interface I18nextProviderProps { - i18n: i18n; - children: React.ReactElement; - initialI18nStore?: any; - initialLanguage?: string; -} - -export default class I18nextProvider extends React.Component { } diff --git a/types/react-i18next/v4/index.d.ts b/types/react-i18next/v4/index.d.ts deleted file mode 100644 index 758a00edef..0000000000 --- a/types/react-i18next/v4/index.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Type definitions for react-i18next 4.6 -// Project: https://github.com/i18next/react-i18next -// Definitions by: Giedrius Grabauskas -// Netanel Gilad -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.8 - -import { TranslationFunction } from "i18next"; - -import I18nextProvider from "./I18nextProvider"; -import Interpolate from "./interpolate"; -import loadNamespaces from "./loadNamespaces"; -import Trans from "./trans"; -import translate from "./translate"; - -export { - I18nextProvider, - Interpolate, - loadNamespaces, - Trans, - translate, - // Exports for TypeScript only - TranslationFunction -}; - -/** - * Extend your component's Prop interface with this one to get access to `this.props.t` - * - * Please note that if you use the `translateFuncName` option, you should create - * your own interface just like this one, but with your name of the translation function. - * - * interface MyComponentProps extends ReactI18next.InjectedTranslateProps {} - */ -export interface InjectedTranslateProps { - t: TranslationFunction; -} - -export as namespace reactI18Next; diff --git a/types/react-i18next/v4/interpolate.d.ts b/types/react-i18next/v4/interpolate.d.ts deleted file mode 100644 index e6f07893ed..0000000000 --- a/types/react-i18next/v4/interpolate.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as React from "react"; -import { InterpolationOptions } from "i18next"; - -export type InterpolateValue = string | JSX.Element; - -export interface InterpolatePropsBase { - parent?: string; - regexp?: RegExp; - useDangerouslySetInnerHTML?: boolean; - dangerouslySetInnerHTMLPartElement?: string; - options?: InterpolationOptions; - i18nKey?: string; - className?: string; - style?: React.CSSProperties; -} - -export interface OtherInterpolateProps { - [regexKey: string]: InterpolateValue | RegExp | InterpolationOptions | boolean | undefined; -} - -export type InterpolateProps = InterpolatePropsBase & OtherInterpolateProps; - -export default class Interpolate extends React.Component { } diff --git a/types/react-i18next/v4/loadNamespaces.d.ts b/types/react-i18next/v4/loadNamespaces.d.ts deleted file mode 100644 index d0e0b372f5..0000000000 --- a/types/react-i18next/v4/loadNamespaces.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as React from "react"; -import { i18n } from "i18next"; - -export interface LoadNamespacesArguments { - components: Array | React.StatelessComponent>; - i18n: i18n; -} - -export default function loadNamespaces(args: LoadNamespacesArguments): Promise; diff --git a/types/react-i18next/v4/react-i18next-tests.tsx b/types/react-i18next/v4/react-i18next-tests.tsx deleted file mode 100644 index 3e57dd091b..0000000000 --- a/types/react-i18next/v4/react-i18next-tests.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import * as React from 'react'; -import * as i18n from 'i18next'; -import { translate, I18nextProvider, Interpolate, InjectedTranslateProps, TranslationFunction, loadNamespaces, Trans } from 'react-i18next'; - -interface InnerAnotherComponentProps { - _?: TranslationFunction; -} - -class InnerAnotherComponent extends React.Component { - render() { - const _ = this.props._!; - return

{_('content.text', { /* options t options */ })}

; - } -} - -const AnotherComponent = translate('view', { wait: true, translateFuncName: '_' })(InnerAnotherComponent); - -class InnerYetAnotherComponent extends React.Component { - render() { - const t = this.props.t; - return

{t('usingDefaultNS', { /* options t options */ })}

; - } -} - -const YetAnotherComponent = translate()(InnerYetAnotherComponent); - -class TranslatableView extends React.Component { - render() { - const t = this.props.t; - const interpolateComponent = "a interpolated component"; - - return ( -
-

{t('common:appName')}

- - - - - {t('nav:link1')} -
- ); - } -} - -const WrappedTranslatableView = translate(['view', 'nav'], { wait: true })(TranslatableView); - -class App extends React.Component { - render() { - return ( -
-
- -
-
- ); - } -} - - - -; - -loadNamespaces({ components: [App], i18n }).then(() => { }).catch(error => { }); - -; -; - - -; - -type Key = "view" | "nav"; - -class GenericsTest extends React.Component { - render() { return null; } -} - -translate(['view', 'nav'])(GenericsTest); - -class GenericsTest2 extends React.Component { - render() { return null; } -} - -translate('view')(GenericsTest2); diff --git a/types/react-i18next/v4/trans.d.ts b/types/react-i18next/v4/trans.d.ts deleted file mode 100644 index 384e1605f9..0000000000 --- a/types/react-i18next/v4/trans.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as React from "react"; - -export interface TransProps { - i18nKey?: string; - [name: string]: any; -} - -export default class Trans extends React.Component { } diff --git a/types/react-i18next/v4/translate.d.ts b/types/react-i18next/v4/translate.d.ts deleted file mode 100644 index 9a4fb6ddc2..0000000000 --- a/types/react-i18next/v4/translate.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as React from "react"; -import { i18n } from "i18next"; -import { InjectedTranslateProps } from "react-i18next"; - -export interface TranslateOptions { - withRef?: boolean; - bindI18n?: string; - bindStore?: string; - translateFuncName?: string; - wait?: boolean; - nsMode?: string; - i18n?: i18n; -} - -// Diff / Omit taken from https://github.com/Microsoft/TypeScript/issues/12215#issuecomment-311923766 -export type Omit = Pick; - -// Injects props and removes them from the prop requirements. -// Adds the new properties t (or whatever the translation function is called) and i18n if needed. -export type InferableComponentEnhancerWithProps = -

(component: React.ComponentClass

| React.StatelessComponent

) => - React.ComponentClass>; - -// tslint:disable-next-line:ban-types -export default function translate(namespaces?: TKey[] | TKey, options?: TranslateOptions): InferableComponentEnhancerWithProps<"t">; diff --git a/types/react-i18next/v4/tsconfig.json b/types/react-i18next/v4/tsconfig.json deleted file mode 100644 index b2c29f0bea..0000000000 --- a/types/react-i18next/v4/tsconfig.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../../", - "typeRoots": [ - "../../" - ], - "paths": { - "react-i18next": [ - "react-i18next/v4" - ] - }, - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "jsx": "react", - "experimentalDecorators": true - }, - "files": [ - "index.d.ts", - "react-i18next-tests.tsx", - "I18nextProvider.d.ts", - "interpolate.d.ts", - "loadNamespaces.d.ts", - "trans.d.ts", - "translate.d.ts" - ] -} \ No newline at end of file diff --git a/types/react-i18next/v4/tslint.json b/types/react-i18next/v4/tslint.json deleted file mode 100644 index 3db14f85ea..0000000000 --- a/types/react-i18next/v4/tslint.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": "dtslint/dt.json" }