# hoi-poi-ui

Latest version **2.1.6** (published 2025-06-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install hoi-poi-ui
pnpm add hoi-poi-ui
yarn add hoi-poi-ui
bun add hoi-poi-ui
```

## Health

**Score 30/100 (F)** — status: maintenance-mode.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.1.6 |
| Published | 2025-06-10 |
| First published | 2019-01-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 32 |
| Unpacked size | 4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Sage SSM (https://github.com/Sage/hoi-poi-ui) |
| Maintainers | xbonell, dbalasfm, jorgan, edtrias |
| Keywords | library, react, javascript, components, ui |

## Links

- npm: https://www.npmjs.com/package/hoi-poi-ui
- Repository: https://github.com/Sage/hoi-poi-ui
- Issues: https://github.com/Sage/hoi-poi-ui/issues
- npm.io page: https://npm.io/package/hoi-poi-ui

## Dependencies (32)

- [jss](https://npm.io/package/jss.md) ^10.10.0
- [uuid](https://npm.io/package/uuid.md) ^11.1.0
- [core-js](https://npm.io/package/core-js.md) ^3.42.0
- [rc-menu](https://npm.io/package/rc-menu.md) 8.9.0
- [rc-tabs](https://npm.io/package/rc-tabs.md) 10.1.1
- [rc-steps](https://npm.io/package/rc-steps.md) 4.1.4
- [tippy.js](https://npm.io/package/tippy.js.md) ^6.3.7
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.3.1
- [rc-slider](https://npm.io/package/rc-slider.md) 9.7.4
- [react-ace](https://npm.io/package/react-ace.md) ^14.0.1
- [react-dnd](https://npm.io/package/react-dnd.md) ^16.0.1
- [react-jss](https://npm.io/package/react-jss.md) ^10.10.0
- [ace-builds](https://npm.io/package/ace-builds.md) ^1.41.0
- [classnames](https://npm.io/package/classnames.md) ^2.5.1
- [prop-types](https://npm.io/package/prop-types.md) ^15.8.1
- [rc-tooltip](https://npm.io/package/rc-tooltip.md) 6.4.0
- [react-modal](https://npm.io/package/react-modal.md) ^3.16.3
- [react-select](https://npm.io/package/react-select.md) 5.10.1
- [react-switch](https://npm.io/package/react-switch.md) ^7.1.0
- [react-window](https://npm.io/package/react-window.md) ^1.8.11
- [react-collapse](https://npm.io/package/react-collapse.md) ^5.1.1
- [react-dropzone](https://npm.io/package/react-dropzone.md) ^14.3.8
- [react-markdown](https://npm.io/package/react-markdown.md) 10.1.0
- [react-toastify](https://npm.io/package/react-toastify.md) ^11.0.5
- [react-flatpickr](https://npm.io/package/react-flatpickr.md) 4.0.10
- [react-treebeard](https://npm.io/package/react-treebeard.md) ^3.2.4
- [react-image-crop](https://npm.io/package/react-image-crop.md) ^11.0.10
- [react-image-gallery](https://npm.io/package/react-image-gallery.md) ^1.3.0
- [react-animate-height](https://npm.io/package/react-animate-height.md) ^3.2.3
- [react-transition-group](https://npm.io/package/react-transition-group.md) ^4.4.5
- [react-dnd-html5-backend](https://npm.io/package/react-dnd-html5-backend.md) ^16.0.1
- [react-textarea-autosize](https://npm.io/package/react-textarea-autosize.md) ^8.5.9

## Alternatives

- [@progress/kendo-ooxml](https://npm.io/package/@progress/kendo-ooxml.md) — 152.1K weekly downloads
- [@progress/kendo-react-ripple](https://npm.io/package/@progress/kendo-react-ripple.md) — 8.0K weekly downloads
- [@progress/kendo-react-orgchart](https://npm.io/package/@progress/kendo-react-orgchart.md) — 4.3K weekly downloads
- [@praxisui/dynamic-fields](https://npm.io/package/@praxisui/dynamic-fields.md) — 2.4K weekly downloads
- [@mesalvo/react-ui](https://npm.io/package/@mesalvo/react-ui.md) — 1.7K weekly downloads

## Recent versions

- 2.1.6 (latest) — 2025-06-10
- 1.5.24 (next) — 2025-01-28
- 2.1.5 — 2025-06-06
- 2.1.4 — 2025-06-05
- 2.1.3 — 2025-05-21
- 2.1.2 — 2025-05-20
- 2.1.1 — 2025-05-15
- 2.1.0 — 2025-05-13
- 2.1.0-alpha — 2025-05-13
- 2.0.25 — 2025-05-07
- 2.0.24 — 2025-05-07
- 2.0.23 — 2025-04-14
- 2.0.22 — 2025-04-03
- 2.0.21 — 2025-04-02
- 2.0.20 — 2025-04-02
- … 694 more at https://npm.io/package/hoi-poi-ui/versions

## README

<div align="center">
  <h1>HoiPoi UI</h1>
  <blockquote>A flexible and customizable react component library.</blockquote>
  <img src="https://img.shields.io/npm/l/hoi-poi-ui.svg?style=flat-square" /> <img src="https://img.shields.io/npm/v/hoi-poi-ui.svg?style=flat-square" />

</div>

## ⭐️ Features

- High customizable components.
- Theming with JSS.
- React Styleguidist

## 📦 Installation

```
// with npm
npm install hoi-poi-ui

// with yarn
yarn add hoi-poi-ui
```

## ⚙️ Usage

```
import React from 'react';
import { createRoot } from 'react-dom/client';
import { HoiPoiProvider, Button } from 'hoi-poi-ui';

function App() {
  return (
    <HoiPoiProvider>
      <Button type="big" color="primary">
        Hello World
      </Button>
    </HoiPoiProvider>
  );
}

const root = createRoot(document.querySelector('#app'))
root.render(<App />);
```

[![Edit Button](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/9kz3q68qw)

## 💎 Customization

### Theme

We need to use `createHoiPoiTheme` for customize current theme. It will do a deep merge without concatening arrays.
You can see the default theme [here](https://github.com/Sage/hoi-poi-ui/blob/master/src/utils/styles/defaultTheme.js).

```
import React from 'react';
import { createRoot } from 'react-dom/client';
import { HoiPoiProvider, createHoiPoiTheme, Button } from 'hoi-poi-ui';

const theme = createHoiPoiTheme({
  colors: {
    primary: '#ed8b00',
  },
});

function App() {
  return (
    <HoiPoiProvider theme={theme}>
      <Button type="big" color="primary">
        Hello World
      </Button>
    </HoiPoiProvider>
  );
}

const root = createRoot(document.querySelector('#app'))
root.render(<App />);
```

### Classes

When the className property isn't enough, you can use `classes` props for inject CSS in any deeper element.
The list of elements for each component is documented below the respective examples.

```
const classes = {
  Loader: 'button__custom-class'
}

return (
  <Button type="big" color="primary" classes={classes}>
    Hello World
  </Button>
)
```

### Overrides

HoiPoi maximizes customization and that is why it has a system to overwrite any component properties and components used by this. Like classes you need to use the component name but in this case you can nest the prop `overrides`.

```
const overrides = {
  Loader: {
    size: 'small'
  }
}

return (
  <Button type="big" color="primary" overrides={overrides}>
    Hello World
  </Button>
)
```

## 📜 Documentation and examples

Check out our [styleguidist](https://github.com/Sage/hoi-poi-ui/).

## 🌐 Browser support

| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| IE11, Edge                                                                                                                                                                                                      | >= 52                                                                                                                                                                                                             | >= 49                                                                                                                                                                                                         | >= 10                                                                                                                                                                                                         |

## 🙌 Contributing

To learn how to setup a development environment and for contribution guidelines, see [CONTRIBUTING.md](/CONTRIBUTING.md).

## 📜 Changelog

We use [GitHub releases](https://github.com/Sage/hoi-poi-ui/releases).

## 🌮 Thanks

[@hodgef/js-library-boilerplate](https://github.com/hodgef/js-library-boilerplate) for the initial boilerplate.

## 🔐 Security

To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security).

## 📄 License

This project is licensed under the terms of the
[MIT license](/LICENSE).

---
_Source: https://npm.io/package/hoi-poi-ui · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
