@tailwindcssinjs/class-composer
TypeScript icon, indicating that this package has built-in type declarations

0.17.0 • Public • Published

@tailwindcssinjs/class-composer

NPM version License

Simple utilities to compose tailwindcss classes.

Install

# with npm
npm install @tailwindcssinjs/class-composer

# with Yarn
yarn add @tailwindcssinjs/class-composer

API

composer function parameters

tw(string | string[] | string[][], ...)

Valid composer function parameters are:

  • Classes string
  • Array of classes strings
  • Nested Arrays containing class strings (nesting has no depth limit)

Note: It will return the composed classes in the same order as the input parameters, from left to right.

Variant array syntax

"variant[class1 class2]" => "variant:class1 variant:class2"
Support for custom variant array syntax. The variant in front of the angle brackets gets applied to the classes inside.

Note: Nesting of variant arrays is not allowed.

Example

import { twClassesSerializer } from "@tailwindcssinjs/class-composer";

const tw = twClassesSerializer(":");

tw("text-red-100 hover:bg-red-200 hover:m-4 sm:hover:bg-red-300");

tw("text-red-100", "hover:bg-red-200 hover:m-4", "sm:hover:bg-red-300");

tw("text-red-100", ["hover:bg-red-200", "hover:m-4", ["sm:hover:bg-red-300"]]);

tw("text-red-100 hover[bg-red-200 m-4] sm[hover:bg-red-300]");

//Same Result: "text-red-100 hover:bg-red-200 hover:m-4 sm:hover:bg-red-300"

1. twClassesComposer

twClassesComposer(string): function

Takes a separator string (e.g. ":") as parameter and returns a composer function. The composer function will return a Array of tailwind classes.

Example

import { twClassesComposer } from "@tailwindcssinjs/class-composer";

const tw = twClassesComposer(":");

tw("text-red-100 hover:bg-red-200 sm:active:bg-red-300");

//Result: [ "text-red-100", "hover:bg-red-200", "sm:active:bg-red-300" ]

2. twClassesParser

twClassesComposer(string): function

Takes a separator string (e.g. ":") as parameter and returns a composer function. The composer function will return an array of class and variants tuples.

Example

import { twClassesParser } from "@tailwindcssinjs/class-composer";

const tw = twClassesParser(":");

tw("text-red-100 hover:bg-red-200 sm:active:bg-red-300");

//Result: [
//   ["text-red-100", []],
//   ["bg-red-200", ["hover"]],
//   ["bg-red-300", ["active", "sm"]]
// ]

3. twClassesSerializer

twClassesSerializer(string): function

Takes a separator string (e.g. ":") as parameter and returns a composer function. The composer function will return a tailwind classes string.

Example

import { twClassesSerializer } from "@tailwindcssinjs/class-composer";

const tw = twClassesSerializer(":");

tw("text-red-100 hover:bg-red-200 sm:active:bg-red-300");

//Result: "text-red-100 hover:bg-red-200 sm:active:bg-red-300"

License

MIT. Copyright (c) 2020 Arthur Petrie.

Readme

Keywords

none

Package Sidebar

Install

npm i @tailwindcssinjs/class-composer

Weekly Downloads

50

Version

0.17.0

License

MIT

Unpacked Size

14.5 kB

Total Files

6

Last publish

Collaborators

  • arthie