Metadata-Version: 2.4
Name: pjx-ui
Version: 0.1.0
Summary: Component library for PJX — buttons, forms, modals, tables, and more
Project-URL: Homepage, https://github.com/oornnery/pjx
Project-URL: Repository, https://github.com/oornnery/pjx
Project-URL: Issues, https://github.com/oornnery/pjx/issues
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: pjx[all]>=0.3.0

# PJX UI

Component library for PJX — 78 Tailwind + Stimulus components across 7 categories.

## Installation

```bash
pip install pjx-ui
```

Registers automatically via the `pjx.extensions` entry point.

## Categories

| Category | Count | Components |
|----------|-------|------------|
| **base** | 5 | Button, ButtonGroup, FloatButton, Icon, Typography |
| **layout** | 8 | Container, Divider, Flex, Grid, Layout, Sidebar, Space, Splitter |
| **nav** | 8 | Anchor, Breadcrumb, Dropdown, Menu, Navbar, Pagination, Steps, Tabs |
| **form** | 16 | AutoComplete, Checkbox, ColorPicker, DatePicker, Field, Form, Input, InputGroup, InputNumber, Radio, Select, Slider, Switch, Textarea, TimePicker, Upload |
| **display** | 21 | Avatar, Badge, Calendar, Card, Carousel, Collapse, Descriptions, Empty, Image, Item, List, Popover, QRCode, Segmented, Statistic, Table, Tag, Timeline, Tooltip, Transfer, Tree |
| **feedback** | 11 | Alert, Drawer, Message, Modal, Notification, Popconfirm, Progress, Result, Skeleton, Spinner, Toast |
| **sections** | 9 | CTA, Feature, Footer, Gallery, Header, Hero, Pricing, Team, Testimonial |

## Usage

```html
---
from pjx_ui.base import Button, Icon
from pjx_ui.layout import Flex
from pjx_ui.feedback import Modal
---

<Button variant="primary" data-action="click->ui-modal#open">
  <Icon name="plus" size="16" /> New Item
</Button>

<Modal title="Create Item">
  <p>Modal content here</p>
  <Flex gap="2" justify="end">
    <Button data-action="click->ui-modal#close">Cancel</Button>
    <Button variant="primary">Save</Button>
  </Flex>
</Modal>
```

## Demo

```bash
pjx demo --ui       # runs the component showcase on :8001
pjx demo --all      # runs both demos
```

## Stimulus Controllers

Components include 15+ Stimulus controllers for interactivity:
ui-tabs, ui-modal, ui-drawer, ui-dropdown, ui-collapse, ui-toast,
ui-carousel, ui-sidebar, ui-calendar, ui-popconfirm, ui-field,
ui-switch, ui-pagination, ui-tree, ui-popover.

All overlay components (Modal, Drawer, Dropdown, Popconfirm) support
Escape key to close.

## Requirements

- Python >= 3.12
- pjx[all] >= 0.2.3
