Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
jss-compose
Advanced tools
This plugin allows you to use CSS frameworks and legacy code together with JSS as well as reuse Rules more granularly.
Make sure you read how to use plugins in general.
To combine JSS with CSS framework like Material Design Lite or Bootstrap and others.
const styles = {
button: {
composes: 'btn',
color: 'red'
}
buttonActive: {
// Using an array!
composes: ['btn', 'btn-primary'],
color: 'blue'
}
}
Compiles to:
.button-123456 {
color: red;
}
.buttonActive-123456 {
color: blue;
}
When you use it:
<button className={classes.button}>Button</button>
<button className={classes.buttonActive}>Active Button</button>
It renders to:
<button class="button-123456 btn">Button</button>
<button class="button-123456 btn btn-primary">Active Button</button>
Manage element states without rules duplication.
To reference a local rule, prefix the rule name with $
symbol.
const styles = {
button: {
color: 'black'
},
// You can chain compositions
buttonActive: {
composes: '$button',
color: 'red'
},
buttonActiveDisabled: {
composes: '$buttonActive',
opacity: 0.5
},
// Or use arrays
disabled: {
opacity: 0.5
},
active: {
color: 'red'
},
buttonDisabled: {
composes: ['$button', '$active', '$disabled']
}
}
Compiles to:
.button-123456 {
color: black;
}
.buttonActive-123456 {
color: red;
}
.buttonActiveDisabled-123456 {
opacity: 0.5;
}
.disabled-123456 {
opacity: 0.5;
}
.active-123456 {
color: red;
}
/* Rule `buttonDisabled` is not compiled to CSS, because it has no own properties. */
When you use it:
<button className={classes.buttonActiveDisabled}>Active Disabled Button</button>
<button className={classes.buttonDisabled}>Disabled Button with active state</button>
It renders to:
<button class="button-123456 buttonActive-123456">Active Disabled Button</button>
<button class="buttonDisabled-123456 button-123456 active-123456 disabled-123456">Disabled Button with active state</button>
You can compose both local and global classes at the same time.
const styles = {
active: {
color: 'red'
},
button: {
composes: ['$active', 'btn', 'btn-primary'],
color: 'blue'
}
}
Compiles to:
.active-123456 {
color: red;
}
.button-123456 {
color: blue;
}
When you use it:
<button className={classes.button}>Button</button>
It renders to:
<button class="button-123456 active-123456 btn btn-primary">Button</button>
File a bug against cssinjs/jss prefixed with [jss-compose].
npm i
npm test
MIT
FAQs
JSS plugin for classes composition
The npm package jss-compose receives a total of 12,090 weekly downloads. As such, jss-compose popularity was classified as popular.
We found that jss-compose 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.