From c1c7d60a6941ed4e2ec584adf51ab0ff84e1e0f3 Mon Sep 17 00:00:00 2001 From: Sam Pettersson Date: Wed, 5 Sep 2018 16:19:47 +0200 Subject: [PATCH 1/2] Export `TransitionStatus` from `react-transition-group` You can currently not access TransitionStatus which means it's impossible to create functions that accept this type as arguments, for example: ```javascript const getTransform = (status: TransitionStatus) => { switch (status) { case ENTERED: return {}; case ENTERING: return {}; default: return {}; } }; ``` --- types/react-transition-group/Transition.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-transition-group/Transition.d.ts b/types/react-transition-group/Transition.d.ts index f8722a41d8..b6de6e9991 100644 --- a/types/react-transition-group/Transition.d.ts +++ b/types/react-transition-group/Transition.d.ts @@ -16,7 +16,7 @@ export interface TransitionActions { exit?: boolean; } -type TransitionStatus = +export type TransitionStatus = typeof ENTERING | typeof ENTERED | typeof EXITING | From 63569b2bf5e65505bf06519b861dd6a858fbe1cc Mon Sep 17 00:00:00 2001 From: Sam Pettersson Date: Wed, 5 Sep 2018 16:31:17 +0200 Subject: [PATCH 2/2] Add status as argument to `react-transition-group` test --- .../react-transition-group-tests.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/types/react-transition-group/react-transition-group-tests.tsx b/types/react-transition-group/react-transition-group-tests.tsx index 172d91ce54..cda468f9b5 100644 --- a/types/react-transition-group/react-transition-group-tests.tsx +++ b/types/react-transition-group/react-transition-group-tests.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import CSSTransition = require("react-transition-group/CSSTransition"); -import Transition, { UNMOUNTED, EXITED, ENTERING, ENTERED, EXITING } from "react-transition-group/Transition"; +import Transition, { UNMOUNTED, EXITED, ENTERING, ENTERED, EXITING, TransitionStatus } from "react-transition-group/Transition"; import TransitionGroup = require("react-transition-group/TransitionGroup"); import Components = require("react-transition-group"); @@ -26,6 +26,17 @@ const Test: React.StatelessComponent = () => { node.addEventListener("transitionend", done, false); } + function statusAsArgument(status: TransitionStatus) { + switch (status) { + case ENTERING: + case ENTERED: + case EXITING: + case EXITED: + case UNMOUNTED: + return
{status}
; + } + } + return ( { }} + + {statusAsArgument} + +