
Security News
NIST Officially Stops Enriching Most CVEs as Vulnerability Volume Skyrockets
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.
@geraldcloudnine/styled-transition-group
Advanced tools
Write react-transition-group animations with styled-components
Inspired by issue #1036 of styled-components, this package exports a styled object for generating animations with react-transition-group's CSSTransition.
Add styled-transition-group and it's peer dependencies to your package:
styled-transition-group@1 is compatible with styled-components v2 - v3.
styled-transition-group@2 is compatible with styled-components v4.
yarn add styled-components react-transition-group
yarn add styled-transition-group
The transition object has the same interface as styled-component's styled object, except it wraps the target component in a CSSTransition component and passes down it's props.
To style a transition state use an &:{state} selector. See react-transition-group's docs for available transition states (State names are hyphenated).
import transition from "styled-transition-group";
const Fade = transition.div`
&:enter { opacity: 0.01; }
&:enter-active {
opacity: 1;
transition: opacity 1000ms ease-in;
}
&:exit { opacity: 1; }
&:exit-active {
opacity: 0.01;
transition: opacity 800ms ease-in;
}
`;
Styled component's attrs() method can be used to attach transition props to a component. Props unrelated to CSSTransition are passed to the child component.
import transition from "styled-transition-group";
const Fade = transition.div.attrs({
unmountOnExit: true,
timeout: 1000
})`
&:enter { opacity: 0.01; }
&:enter-active {
opacity: 1;
transition: opacity 1000ms ease-in;
}
&:exit { opacity: 1; }
&:exit-active {
opacity: 0.01;
transition: opacity 800ms ease-in;
}
`;
Styled transitions can be used with TransitionGroup
Using styled-transition-group's css helper, selectors can target the transition it's included in (&) or other transition components. It replaces the selectors with the actual styled-transition-group component's class names.
Warning: Nesting doesn't work here. & targets the top level component regardless of nesting.
import styled from "styled-components";
import transition, { css } from "styled-transition-group";
const Fade = transition.div` /* ... */ `;
const style = css`
${Fade}:enter & {
color: green;
}
${Fade}:exit & {
color: red;
}
`;
const Button = styled.div`
${style} /* ... */
`;
FAQs
Write react-transition-group animations with styled-components
We found that @geraldcloudnine/styled-transition-group demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.