0.5.5 • Published 5 years ago
candy-atomic v0.5.5
candy-atomic
Atomic CSS-in-JS solution
Install
npm install candy-atomicOr:
yarn add candy-atomicUsage
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
5 years ago
0.5.4
5 years ago
0.5.3
5 years ago
0.5.2
5 years ago
0.5.0
5 years ago
0.5.1
5 years ago
0.4.0
5 years ago
0.3.0
5 years ago
0.2.9
5 years ago
0.2.7
5 years ago
0.2.6
5 years ago
0.2.8
5 years ago
0.2.5
5 years ago
0.2.4
5 years ago
0.2.3
5 years ago
0.2.1
5 years ago
0.2.0
5 years ago
0.1.17
5 years ago
0.1.18
5 years ago
0.2.2
5 years ago
0.1.16
5 years ago
0.1.15
5 years ago
0.1.14
5 years ago
0.1.13
5 years ago
0.1.12
5 years ago