Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@odczynflnpm/inventore-sapiente-repudiandae

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@odczynflnpm/inventore-sapiente-repudiandae

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

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-80%
Maintainers
1
Weekly downloads
 
Created
Source

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 @odczynflnpm/inventore-sapiente-repudiandae

# with yarn
yarn add @odczynflnpm/inventore-sapiente-repudiandae

# with pnpm
pnpm add @odczynflnpm/inventore-sapiente-repudiandae

Usage of Tasty API

Let's look at styled API:

import { tasty } from '@odczynflnpm/inventore-sapiente-repudiandae';

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',
});
Define global styles

Use tasty() to define global styles for elements:

import { tasty } from '@odczynflnpm/inventore-sapiente-repudiandae';

const GlobalStyledHeading = tasty('.myButton', {
  display: 'inline-block',
  padding: '1x 2x',
  preset: 't2',
  border: true,
  radius: true,
});
Style variants

You can reduce the amount of CSS for your component by splitting it into variants.

import { tasty } from '@odczynflnpm/inventore-sapiente-repudiandae';

const StyledButton = tasty(Button, {
  styles: {
    /* default styles */
  },
  variants: {
    // define themes using variants
    default: {
      // default (fallback) variant
      // define new styles for `default` variant or override default styles.
    },
    danger: {
      // define new styles for `danger` variant or override default styles.
    },
  },
});

Usage example:

<StyledButton variant="danger">Danger Button</StyledButton>

If the variant prop is not provided then the default variant will be used.

IMPORTANT: It's preferred that the component will not receive any change in variant prop to avoid style replacement. But this case is supported.

Documentation is work in progress.

Contributing

Please follow our contributing guidelines.

License

TastyCSS is a project by Outpost.

Released under the MIT License.

Keywords

FAQs

Package last updated on 05 May 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc