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

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