npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-hexa-dev

v0.2.19

Published

**React Hexa UI** is a modern, flexible, and lightweight React component library built with Vite and styled with Tailwind CSS. It offers a wide range of customizable and reusable components that simplify UI development for your React applications.

Downloads

2,550

Readme

React Hexa UI

React Hexa UI is a modern, flexible, and lightweight React component library built with Vite and styled with Tailwind CSS. It offers a wide range of customizable and reusable components that simplify UI development for your React applications.

Features

  • 🚀 Fast and Lightweight: Developed with Vite, ensuring high performance and fast builds.
  • 🎨 Tailwind CSS Integration: Styled with Tailwind CSS for utility-first, responsive design out of the box.
  • ⚙️ Highly Customizable: Modify styles easily with Tailwind classes, extend themes, or use component-specific variants and themes.
  • 📚 Developer Friendly: Intuitive API, comprehensive documentation, and live examples.
  • 🛠️ Built for Scalability: Suited for projects of any size—from small apps to large-scale applications.

Installation

Step 1: Install React Hexa UI via NPM:

To get started with React Hexa UI, install the library via npm:

npm install react-hexa@latest

Step 2: Install Tailwind CSS

React Hexa UI comes with built-in Tailwind CSS styles. However, if you want to use Tailwind classes or extend its configuration, you need to set up Tailwind in your project. Here's how to install Tailwind CSS with Vite and React:

  1. Install Tailwind CSS and its peer dependencies:
npm install -D tailwindcss postcss autoprefixer
  1. Initialize Tailwind by creating the default configuration files:
npx tailwindcss init -p
  1. Configure tailwind.config.js to include all of your React files and components by adding this content:
module.exports = {
  content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
  theme: {
    extend: {},
  },
  plugins: [],
};
  1. Add the Tailwind directives to your CSS file (e.g., src/main.css):
@tailwind base;
@tailwind components;
@tailwind utilities;

Step 3: Wrap Your App with HexaUI Provider and Import Hexa UI's CSS

To use React Hexa UI, you must import Hexa UI's CSS and wrap your app with the HexaUI provider. This is required to set up the necessary context for the components.

In your main application file (e.g., src/main.jsx or src/main.tsx), add the following:

import { HexaUI } from "react-hexa";
import "react-hexa/css";

function Main() {
  return (
    <HexaUI>
      <App />
    </HexaUI>
  );
}

export default Main;

Optional: Customize the HexaUI Provider

You can pass optional colors and gradients to the HexaUI provider to override theme variant/s:

<HexaUI
  colors={{ primary: "blue-500" } as TColorPalette}
  gradients={{ success: "from-blue-400 via-green-500 to-blue-700" } as TGradientPalette}
>
  <App />
</HexaUI>

These props are optional, but the provider must always wrap your app for Hexa UI to function properly.

Usage

Once installed, you can start using the components by importing them into your project. Here's a quick example of how to use the Button component:

import { Flex, Button } from "react-hexa";

function App() {
  return (
    <Flex className="gap-4">
      <Button options={{ bgVariant: "success" }}>Ok</Button>
      <Button options={{ bgVariant: "failure" }}>Cancel</Button>
    </Flex>
  );
}

export default App;

Customization

React Hexa UI components are built with Tailwind CSS at their core, offering extensive customization options to match your project’s needs:

  • Utility Classes: Override component styles on the fly by passing in your own Tailwind utility classes.
  • Theme Extension: Customize your entire application by extending Tailwind's configuration to introduce your own design tokens.
  • Variants: Use built-in component variants to apply predefined styles consistently across your app.
  • Component Themes: For more advanced styling, override the default component themes to enforce a cohesive design language throughout your project.

Here’s an example of extending themes with the List component:

import { useTheme, List, ListStyleTypes, Sizes } from "react-hexa";

function App() {
  const { colors } = useTheme();

  const listOptions = {
    items: ["item 1", "item 2", "item 3"],
    textVariant: colors.Primary,
    listStyle: ListStyleTypes.Decimal,
    fontSize: Sizes.Sm,
    gap: 1,
  };

  return <List options={listOptions} />;
}

export default App;

Documentation

For detailed documentation, usage examples, and a complete list of components, please visit the React Hexa UI Documentation Website.

Author

Yehonatan Moravia - [email protected]

Collaborators

Moshe Shoker - [email protected]

License

React Hexa UI is licensed under the MIT License. See the LICENSE file for more information.