0.5.5 • Published 3 years ago
candy-atomic v0.5.5
candy-atomic
Atomic CSS-in-JS solution
Install
npm install candy-atomic
Or:
yarn add candy-atomic
Usage
candy-atomic works with any framework, support both object styles and string syntax.
Basic Usage
import { css } from "candy-atomic";
const className = css`
padding: 32px;
background-color: tomato;
`;
/*
const className = css({
padding: "32px",
backgroundColor: "tomato"
});
*/
render(<div className={className}>Box</div>);
Pseudoclasses
import { css } from "candy-atomic";
const className = css`
padding: 32px;
background-color: tomato;
&:hover {
color: white;
}
`;
/*
const className = css({
padding: "32px",
backgroundColor: "tomato",
"&:hover": {
color: "white",
}
});
*/
render(<div className={className}>Box</div>);
Media Queries
import { css } from "candy-atomic";
const className = css`
padding: 32px;
background-color: tomato;
&:hover {
color: white;
}
@media (min-width: 1024px) {
background-color: pink;
}
`;
/*
const className = css({
padding: "32px",
backgroundColor: "tomato",
"&:hover": {
color: "white",
},
"@media (min-width: 1024px)": {
backgroundColor: "pink"
}
});
*/
render(<div className={className}>Box</div>);
Child Selectors
import { css } from "candy-atomic";
const className = css`
padding: 32px;
background-color: tomato;
&:hover {
color: white;
}
@media (min-width: 1024px) {
background-color: pink;
}
& > * + * {
margin-left: 16px;
}
`;
/*
const className = css({
padding: "32px",
backgroundColor: "tomato",
"&:hover": {
color: "white",
},
"@media (min-width: 1024px)": {
backgroundColor: "pink"
},
"& > * + *": {
marginLeft: "16px",
}
});
*/
render(<div className={className}>Box</div>);
Static/Server-Side Rendering
For SSR, use the sheet.extractCss() method to return the static CSS string after rendering a view.
import { sheet } from "candy-atomic"
import React from "react"
import ReactDOMServer from "react-dom/server"
import App from "./App"
const html = ReactDOMServer.renderToString(<App />)
const doc = `<!DOCTYPE html>
<style id="__candy">${sheet.extractCss()}</style>
${html}
`
0.5.5
3 years ago
0.5.4
3 years ago
0.5.3
3 years ago
0.5.2
3 years ago
0.5.0
3 years ago
0.5.1
3 years ago
0.4.0
3 years ago
0.3.0
3 years ago
0.2.9
3 years ago
0.2.7
3 years ago
0.2.6
3 years ago
0.2.8
3 years ago
0.2.5
3 years ago
0.2.4
3 years ago
0.2.3
3 years ago
0.2.1
3 years ago
0.2.0
3 years ago
0.1.17
3 years ago
0.1.18
3 years ago
0.2.2
3 years ago
0.1.16
3 years ago
0.1.15
3 years ago
0.1.14
3 years ago
0.1.13
3 years ago
0.1.12
3 years ago