1.2.8 • Published 2 years ago

atyled v1.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

atyled

inspired by atomic css + styled-components

This library inspired by atomic css and styled-components, plus:

  • It generate atomic classes
  • Final stylesheet is very optimized and small
  • It's tiny and less than 2KB
  • SSR support
  • Faster than styled-components
  • No overwrite rules

Example

Edit on Codesandbox

import atyled from 'atyled';

const Button = atyled.button`
  --background: transparent;
  --color: #FF0000;
  background: var(--background);
  color: var(--color);

  &:hover {
    color: orange;
  }

  &::before {
    content: ' ★ ';
  }
`;

const PrimaryButton = atyled(Button)`
  --background: #FF0000;
  --color: white;

  &::before {
    content: ' ☀︎ ';
  }
`;

const Container = atyled.div`
  text-align: center;
`;

function App() {
  return (
    <Container>
      <Button>Normal Button</Button>
      <PrimaryButton>Primary Button</PrimaryButton>
    </Container>
  );
}

Result

HTML:

<div class="p0v0">
  <button class="p1v1 p2v2 p3v3 p4v4 p5v5 p6v6">Normal Button</button>
  <button class="p3v3 p4v4 p1v2 p2v7 p5v5 p6v8">Primary Button</button>
</div>

StyleSheet:

.p0v0 { text-align: center; }
.p1v1 { --background: transparent; }
.p2v2 { --color: #FF0000; }
.p3v3 { background: var(--background); }
.p4v4 { color: var(--color); }
.p5v5:hover { color: orange; }
.p6v6::before { content: " ★ "; }
.p1v2 { --background: #FF0000; }
.p2v7 { --color: white; }
.p6v8::before { content: " ☀︎ "; }

SSR (Server Side Rendering)

import { createStyleCollector } from 'atyled';

const { jsx, getStyleSheet, getStyleTags } = createStyleCollector(<App />);
const html = React.renderToString(jsx);

getStyleSheet() // return all style rules
// or
getStyleTags()  // return all style rules + tag <style>...</style>

Examples

atyled

atyled + nodejs

atyled + express

atyled + nextjs

atyled + remix

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.3-0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.0

2 years ago

1.0.0-24

2 years ago

1.0.0-23

2 years ago

1.0.0-22

2 years ago

1.0.0-21

2 years ago

1.0.0-20

2 years ago

1.0.0-19

2 years ago

1.0.0-18

2 years ago

1.0.0-17

2 years ago

1.0.0-16

2 years ago

1.0.0-15

2 years ago

1.0.0-14

2 years ago

1.0.0-13

2 years ago

1.0.0-12

2 years ago

1.0.0-10

2 years ago

1.0.0-9

2 years ago

1.0.0-8

2 years ago

1.0.0-7

2 years ago

1.0.0-6

2 years ago

1.0.0-5

2 years ago

1.0.0-3

2 years ago

1.0.0-2

2 years ago

1.0.0-1

2 years ago