Skip to content
This repository was archived by the owner on Apr 8, 2020. It is now read-only.

Commit 5849137

Browse files
committed
Support style attr
1 parent cbe74a0 commit 5849137

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/csstransition.tsx

+11-7
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ export interface CSSTransitionAttributes {
2323
activeStyle?: React.CSSProperties;
2424
enterStyle?: React.CSSProperties;
2525
leaveStyle?: React.CSSProperties;
26+
// TODO: test style attr.
27+
style?: React.CSSProperties;
2628
// TODO:
2729
// prepareForTransition?: boolean;
2830
// enterInitStyle?: React.CSSProperties;
@@ -51,6 +53,7 @@ function getRest(props: CSSTransitionProps): any {
5153
delete rest.activeStyle;
5254
delete rest.enterStyle;
5355
delete rest.leaveStyle;
56+
delete rest.style;
5457
delete rest.vendorPrefixer;
5558
return rest;
5659
}
@@ -62,6 +65,7 @@ export class CSSTransition extends React.Component<CSSTransitionProps, CSSTransi
6265
activeStyle: undefined,
6366
enterStyle: undefined,
6467
leaveStyle: undefined,
68+
style: {},
6569
};
6670

6771
private appearTimer: NodeJS.Timer;
@@ -203,35 +207,35 @@ enum Action {
203207

204208
const activeState = (props: CSSTransitionProps) => ({
205209
id: State.Active,
206-
style: props.activeStyle,
210+
style: objectAssign({}, props.style, props.activeStyle),
207211
});
208212

209213
const defaultState = (props: CSSTransitionProps) => ({
210214
id: State.Default,
211-
style: props.defaultStyle,
215+
style: objectAssign({}, props.style, props.defaultStyle),
212216
});
213217

214218
const transitToActiveAppearingState = (props: CSSTransitionProps) => ({
215219
id: State.TransitToActiveAppearing,
216-
style: props.defaultStyle,
220+
style: objectAssign({}, props.style, props.defaultStyle),
217221
});
218222

219223
const transitToActiveRunningState = (props: CSSTransitionProps) => ({
220224
id: State.TransitToActiveRunning,
221-
style: props.enterStyle,
225+
style: objectAssign({}, props.style, props.enterStyle),
222226
});
223227

224228
const transitToActiveStartedState = (props: CSSTransitionProps) => ({
225229
id: State.TransitToActiveStarted,
226-
style: props.enterStyle,
230+
style: objectAssign({}, props.style, props.enterStyle),
227231
});
228232

229233
const transitToDefaultRunningState = (props: CSSTransitionProps) => ({
230234
id: State.TransitToDefaultRunning,
231-
style: props.leaveStyle,
235+
style: objectAssign({}, props.style, props.leaveStyle),
232236
});
233237

234238
const transitToDefaultStartedState = (props: CSSTransitionProps) => ({
235239
id: State.TransitToDefaultStarted,
236-
style: props.leaveStyle,
240+
style: objectAssign({}, props.style, props.leaveStyle),
237241
});

0 commit comments

Comments
 (0)