UNPKG

@jay-js/ui

Version:

A library of UI components for Jay JS with Tailwind CSS and daisyUI.

124 lines (92 loc) 3.73 kB
# @jay-js/ui A comprehensive collection of reusable UI components for Jay-JS framework. This package serves as a component registry that can be consumed via the **Jay-JS CLI** to add individual components to your projects, similar to how shadcn/ui works. ## 📦 About This Package This package contains **60+ UI components** built with: - **@jay-js/elements** - Core element creation library - **Tailwind CSS** - Utility-first CSS framework - **daisyUI** - Component library for Tailwind CSS - **TypeScript** - Full type safety ## 🚀 Installation via CLI Instead of installing this package directly, use the **Jay-JS CLI** to add specific components to your project: ```bash # Install the Jay-JS CLI globally npm install -g @jay-js/cli # Add individual components to your project jayjs ui add alert jayjs ui add card jayjs ui add button modal # Components will be downloaded to src/components/ui/ ``` ## 📁 How It Works 1. **Component Registry**: This package acts as a centralized registry of all available UI components 2. **CLI Integration**: The `@jay-js/cli` downloads components directly from the GitHub repository 3. **Local Installation**: Components are copied to your `src/components/ui/` directory 4. **Full Control**: You own the components and can customize them as needed ## 📚 Available Components ### Layout & Structure - **Card** (+ card-actions, card-body, card-description, card-figure, card-title) - **Divider** - **Footer** - **Join** - **Stack** ### Navigation - **Breadcrumbs** - **Bottom Navigation** (+ bottom-navigation-item) - **Navbar** (+ navbar-component) - **Menu** (+ menu-item, menu-title) - **Tabs** (+ tab-item) - **Steps** (+ step-item) ### Data Display - **Alert** - **Avatar** - **Badge** - **Tooltip** - **Timeline** (+ timeline-item, timeline-items) - **Rating** - **Radial Progress** - **Loading** ### Feedback - **Toast** (+ toast-container) - **Modal** (+ modal-action, modal-backdrop, modal-box) - **Drawer** (+ drawer-content, drawer-overlay) ### Form Controls - **Text Input** - **Toggle** - **Kbd** (Keyboard shortcuts display) ### Utilities - **Dropdown** (+ dropdown-content, dropdown-label) - **Collapse** (+ collapse-content, collapse-title) - **Swap** (+ swap-item) - **Chat** (+ chat-component) - **Diff** (+ diff-item, diff-resizer) - **Indicator** (+ indicator-item) - **Resizable Splitter** ## 🎯 Component Usage Example After adding a component via CLI: ```javascript import { Alert } from './src/components/ui/alert'; const alertElement = Alert({ severity: 'alert-info', content: 'This is an info alert!' }); document.body.appendChild(alertElement); ``` ## 🧠 Built-in Hooks The package also includes useful React-like hooks for vanilla JavaScript: - `useToast` - Toast notification management - `useModal` - Modal state management - `useDrawer` - Drawer state management - `useRef` - Element reference management - `useListener` - Event listener management ## 🎨 Styling All components use: - **Tailwind CSS classes** for styling - **daisyUI components** for consistent design - **Customizable CSS classes** via `className` prop - **Tailwind Merge** for intelligent class merging ## Contributing We welcome contributions from the community. If you find a bug, have a feature request, or want to contribute to the project, please feel free to open an issue or submit a pull request on the project's GitHub repository. ## License Jay-JS UI is licensed under the MIT License. For more information, please refer to the [LICENSE](LICENSE) file. --- We hope you enjoy using Jay-JS UI to build stunning web applications. If you have any questions, suggestions, or feedback, please feel free to reach out to us. Happy coding!