JSPM

  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q60319F
  • License MIT

Package Exports

  • tastycss
  • tastycss/dist/index.js
  • tastycss/dist/index.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tastycss) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

TastyCSS

CSS-in-JS solution modules that include state-to-style bindings, SSR, and next-level developer experience.

NPM Version Discord

Installation

# with npm
npm install tastycss

# with yarn
yarn add tastycss

Usage of Tasty API

Let's look at styled API:

import { tasty } from 'tastycss';

const Element = tasty({
  /** The tag name of the element. */
  as: 'span',
  /** Default styles of the element. */
  styles: {
    // tokens
    '@local-padding': ['2x', '1x'], // responsive styles
    '@text-color': 'rgba(255, 0, 0)',
    // styles
    padding: '@local-padding',
    color: {
      // the default color
      '': '#text',
      // the color if `blue` mod is specified
      blue: 'blue',
    }, // use color token
  },
  /** Default attributes (example) */
  role: 'article',
  /** The list of styles that can be provided by props */
  styleProps: ['align'],
});

Now you can use this element inside your React App:

export default function Component({ title, children }) {
  return (
    <>
      <Heading>{title}</Heading>
      <Element>{children}</Element>
    </>
  );
}

Extend base options

You can use tasty() function to extend styling of the existing component.

const CustomElement = tasty(Element, {
  /** Change tag name */
  as: 'input',
  /** Extend or rewrite styles */
  styles: {
    color: '#purple',
  },
  /** Add more default properties/attributes */
  role: 'article',
});

Documentation is work in progress.

Contributing

Please follow our contributing guidelines.

Authors

License

TastyCSS is a project by Outpost.

Released under the MIT License.