classcraft
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

classcraft

Seamlessly craft and conditionally concatenate class names for your web elements.

Installation

npm install classcraft --save

or

yarn add classcraft

Usage

import classcraft from "classcraft";

const classes = classcraft("foo", { bar: true, baz: false });
console.log(classes); // Outputs: "foo bar"

Examples

Simple Usage

import React from "react";
import classcraft from "classcraft";

function Button({ primary, disabled, children }) {
  return (
    <button
      className={classcraft(
        "button",
        { "button--primary": primary },
        { "button--disabled": disabled }
      )}
    >
      {children}
    </button>
  );
}

export default Button;

Advanced Usage

import React from "react";
import classcraft from "classcraft";

function Card({ featured, highlighted, darkMode, extraClass, children }) {
  return (
    <div
      className={classcraft(
        "card",
        { "card--featured": featured },
        { "card--highlighted": highlighted },
        { "card--dark": darkMode },
        extraClass // this could be a string or an object
      )}
    >
      {children}
    </div>
  );
}

export default Card;

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Author

Martik Avagyan

License

MIT

Dependents (0)

Package Sidebar

Install

npm i classcraft

Weekly Downloads

9

Version

1.0.1

License

MIT

Unpacked Size

7.42 kB

Total Files

9

Last publish

Collaborators

  • m-avagyan