Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
a lightweight wrapper for adding micro-animations to React components
A small demo is here.
npm install --save react-zest
or
yarn add react-zest
Import the Zest
component and wrap the element you'd like to animate.
A number of props can be passed to the Zest
component to configure the animation. Where available, default settings are recommended.
Prop | Type | Default | Accepted Values |
---|---|---|---|
animationName | string | none | beacon , pulse , wiggle |
animationTrigger | string or boolean | click | click , hover , a boolean (see example below) |
animationDuration (optional) | number | animation-specific | # of milliseconds, i.e. 300 |
animationCount (optional) | string | animation-specific | # of animation cycles, i.e. '1' |
color (optional) | string | animation-specific | hex, color name, or rgba, i.e. '#C33917' |
borderColor (optional) | string | animation-specific | hex, color name, or rgba, i.e. '#C33917' |
Animation Name | Default Duration | Additional Default Properties |
---|---|---|
beacon | 300 (ms) | animationCount: '1' |
pulse | 3000 (ms) | animationCount: 'infinite' color: '#C33917' borderColor: '#C33917' (dark red) ( borderColor will default to color or '#C33917' if not specified) |
wiggle | 1000 (ms) | animationCount: '1' |
import React from 'react';
import Zest from 'react-zest';
const SomeComponent = props => {
return (
<Zest
animationName="wiggle"
animationTrigger="hover"
animationDuration={700}
>
<button>Click here!</button>
</Zest>
);
};
export default SomeComponent;
The pulse
animation is ideal for animating an invalid input field. This example takes a boolean value as the animationTrigger
.
import React from 'react';
import Zest from 'react-zest';
const SomeComponent = props => {
constructor(props) {
super(props);
this.state = {
input: '',
valid: true
};
}
checkValidity() {
if (this.state.input.length < 3) { return this.setState({ valid: false }); }
return this.setState({ valid: true });
}
return (
<Zest
animationName="pulse"
animationTrigger={!this.state.valid}
>
<input
type="text"
value={this.state.input}
onChange={e => this.setState({ input: e.target.value })}
onBlur={this.checkValidity} />
</Zest>
);
};
export default SomeComponent;
display
value of inline-block
or block
to have all animations applied.Contributors are expected to follow our Code of Conduct guidelines listed here.
To contribute:
git checkout -b my-new-feature
).lib
or css
directories, along with associated tests.npm test
) and the linter (npm run lint
).git commit -am 'Added some feature'
).git push origin my-new-feature
).To run the test suite: npm test
To run the linter: npm run lint
Still in a live talk!
FAQs
a lightweight wrapper for adding micro-animations to React components
The npm package react-zest receives a total of 2 weekly downloads. As such, react-zest popularity was classified as not popular.
We found that react-zest demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.