## Jingrow UI
Jingrow UI provides a set of components and utilities for rapid UI development. Components are built using Vue 3 and Tailwind.
Along with generic components like Button, Link, Dialog, etc., it also contains utilities for handling server-side data fetching, directives and utilities.
### Motivation
In 2019, I began building [Jingrow Books](https://github.com/jingrow/books) which had a new design. This led to the creation of small reusable components like Button, Dialog, and Card. Moving on to [Jingrow Cloud](https://github.com/jingrow/press) in 2020, I reused and evolved these components in the Jingrow Cloud UI. In 2022, while starting a new project, I decided to extract these components into a standalone package to avoid repeating the copy-paste process. This package is now being developed alongside the [Gameplan](https://github.com/jingrow/gameplan), continually adding generic components and utilities for frontend development.
### Under the Hood
- [TailwindCSS](https://github.com/tailwindlabs/tailwindcss): Utility first CSS Framework to build design system based UI.
- [Headless UI](https://github.com/tailwindlabs/headlessui): Unstyled and accessible UI components.
- [TipTap](https://github.com/ueberdosis/tiptap): ProseMirror based rich-text editor with a Vue API.
- [dayjs](https://github.com/iamkun/dayjs): Minimal javascript library for working with dates.
## Links
- [Documentation](https://jingrowui.com)
- [Jingrow UI Starter Boilerplate](https://github.com/netchampfaris/jingrow-ui-starter)
- [Community](https://github.com/jingrow/jingrow-ui/discussions)
## Usage
```sh
npm install jingrow-ui
# or
yarn add jingrow-ui
```
Now, import the JingrowUI plugin and components in your Vue app's `main.js`:
```js
import { createApp } from 'vue'
import { JingrowUI } from 'jingrow-ui'
import App from './App.vue'
import './index.css'
let app = createApp(App)
app.use(JingrowUI)
app.mount('#app')
```
In your `tailwind.config.js` file, include the jingrow-ui preset:
```js
module.exports = {
presets: [
require('jingrow-ui/src/utils/tailwind.config')
],
...
}
```
Now, you can import needed components and start using it:
```html