Neeto UI

screenshot of Neeto UI
express
react
scss
tailwind
ant-design

A component library from BigBinary.

Overview

The neetoUI library is used to drive the user experience in all neeto products built at BigBinary. This article provides installation instructions, information about dependencies, and usage examples for neetoUI and neetoUI formik components.

Features

  • Separate Stylesheet: Starting from version 3.0.x, the neetoUI stylesheet has been separated from the bundle.
  • Peer Dependencies: neetoUI has peer dependencies like react-toastify and formik, which are required to use neetoUI properly.
  • Component Imports: neetoUI exports all its components as named exports, allowing for individual component imports.

Dependencies

neetoUI has the following peer dependencies that need to be installed separately:

  • react-toastify: neetoUI depends on react-toastify for Toasters. Make sure to import the styles for toaster and include <ToastContainer /> in your application's main SCSS entry point.
  • formik: neetoUI provides Formik binding with neetoUI components for easier form handling. Make sure to refer to the official Formik documentation.

Usage

To use neetoUI components, you can individually import the necessary components or do a wildcard import to access an object that contains references to all the components.

For neetoUI formik components, follow the same import approach. The available components in neetoUI formik include Input, RadioButton, Form ActionBlock, Select, Switch, Textarea, CheckBoxBlock, and Navigation.

To use neetoUI formik components, wrap your form with the Form component. The Form component accepts several props including formikProps, children, className, formProps, and scrollToErrorField.

Development

To install all the dependencies, use the command:

npm install

You can create new components in the src/components folder and export them from src/index.js. Running yarn storybook starts a storybook app to test out changes and see how your component behaves. Running yarn test checks the associated tests for components, yarn bundle builds and bundles neetoUI, and yarn build builds the storybook.

Building and Releasing

The @bigbinary/neetoui package gets published to NPM when a PR with patch, minor, or major label is merged into the main branch.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

ant-design
Ant Design

Ant Design is a React UI library that provides a set of pre-designed components and design resources for building high-quality, responsive web applications.

ui-kit
UI Kits & Components

A UI kit provides developers with a set of reusable components that can be easily integrated into a website or application. These components are pre-designed with consistent styling and functionality, allowing developers to save time and effort in the design and development process. UI kits can be either custom-built or third-party, and often include components for buttons, forms, typography, icons, and more.

Dark Mode

Dark mode is a user interface option that uses a dark color scheme instead of light. It reduces eye strain and improves visibility in low-light conditions. Implementing dark mode in a website or application involves updating the styles and color palette to support both light and dark modes.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

formik
Formik

Formik is a popular form library for React that helps with form state management, validation, and submission handling. It provides a declarative approach to building forms with support for complex validation scenarios and easy integration with validation libraries like Yup.

framer-motion
Framer Motion

Alpine.js is a lightweight JavaScript framework that simplifies the process of creating dynamic, reactive user interfaces on the web. It uses a declarative syntax that offers a higher level of abstraction compared to vanilla JavaScript, while being more performant and easier to use than jQuery.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

rollup
Rollup

RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.

Yup

Yup is a schema builder for runtime value parsing and validation. It provides a declarative way to define validation schemas with support for complex nested objects, array validation, and custom validation rules. Often used with Formik for form validation.