mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-02 19:43:20 +08:00
feat: add generic type test
This commit is contained in:
4
types/react-swipeable/index.d.ts
vendored
4
types/react-swipeable/index.d.ts
vendored
@@ -8,7 +8,7 @@
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
declare class ReactSwipeable extends React.Component<ReactSwipeable.SwipeableProps> {}
|
||||
declare class ReactSwipeable<T extends Element = HTMLElement> extends React.Component<ReactSwipeable.SwipeableProps<T>> {}
|
||||
|
||||
declare namespace ReactSwipeable {
|
||||
type OnSwipingCallback<T extends Element = HTMLElement> = (event: React.TouchEvent<T>, deltaX: number, deltaY: number, absX: number, absY: number, velocity: number) => void;
|
||||
@@ -17,7 +17,7 @@ declare namespace ReactSwipeable {
|
||||
type OnSwipingDirectionCallback<T extends Element = HTMLElement> = (event: React.TouchEvent<T>, delta: number) => void;
|
||||
type OnTapCallback<T extends Element = HTMLElement> = (event: React.TouchEvent<T>) => void;
|
||||
|
||||
interface SwipeableProps<T extends Element = HTMLElement> extends React.ClassAttributes<ReactSwipeable>, React.HTMLAttributes<T> {
|
||||
interface SwipeableProps<T extends Element = HTMLElement> extends React.ClassAttributes<ReactSwipeable<T>>, React.HTMLAttributes<T> {
|
||||
onSwiped?: OnSwipedCallback<T>;
|
||||
onSwiping?: OnSwipingCallback<T>;
|
||||
onSwipingUp?: OnSwipingDirectionCallback<T>;
|
||||
|
||||
@@ -46,3 +46,16 @@ class SampleComponent extends React.PureComponent<Swipeable.SwipeableProps> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class DivSwipeable extends Swipeable<HTMLDivElement> {}
|
||||
const TestComponent: React.StatelessComponent<{}> = (_) => {
|
||||
const handleSwiped = (event: React.TouchEvent<HTMLDivElement>) => {};
|
||||
return (
|
||||
<DivSwipeable
|
||||
nodeName="div"
|
||||
onSwiped={handleSwiped}
|
||||
>
|
||||
<div>this is sample code.</div>
|
||||
</DivSwipeable>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user