Metadata-Version: 2.4
Name: crispy-hummingbird
Version: 0.1.0
Summary: Hummingbird UI template pack for django-crispy-forms
Author: David Smith
License-Expression: MIT
Project-URL: CI, https://github.com/BenA-SA/crispy-hummingbird/actions
Project-URL: Changelog, https://github.com/BenA-SA/crispy-hummingbird/releases
Project-URL: Homepage, https://github.com/BenA-SA/crispy-hummingbird
Project-URL: Issues, https://github.com/BenA-SA/crispy-hummingbird/issues
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django>=4.2
Requires-Dist: django-crispy-forms>=2.3
Dynamic: license-file

# crispy-hummingbird

A [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) template pack
for [**Hummingbird UI**](https://hbui.dev) — the Tailwind CSS v4 component system (used by the
Falcon-Tailwind theme).

> **Status: work in progress (v0.1.0).** Core form rendering works; full layout-object coverage,
> regenerated test fixtures, and docs are in progress.

## Why

Hummingbird reuses Bootstrap 5's form class names (`form-control`, `form-select`, `form-label`,
`form-check`, `is-invalid`, `input-group`, …), so this pack is a small, faithful adaptation of
[`crispy-bootstrap5`](https://github.com/django-crispy-forms/crispy-bootstrap5) — it emits the class
names Hummingbird styles, with a handful of Hummingbird-specific divergences (field wrapper
`form-field`, a `form-check-input-wrapper` around checkbox/radio inputs, and Hummingbird's
non-responsive `col` grid).

## Installation

```bash
pip install crispy-hummingbird   # not yet published — install from source for now
```

Add to your Django settings:

```python
INSTALLED_APPS = [
    # ...
    "crispy_forms",
    "crispy_hummingbird",
]

CRISPY_ALLOWED_TEMPLATE_PACKS = "hummingbird"
CRISPY_TEMPLATE_PACK = "hummingbird"
```

You also need Hummingbird's CSS in your build (e.g. `@import "@hummingbirdui/hummingbird";` in your
Tailwind entry). This pack only emits class names; Hummingbird provides the styling.

## Usage

Use django-crispy-forms exactly as normal — `{% crispy %}`, the `|crispy` filter, `FormHelper`, and
`Layout` objects all work. To opt a single form into Hummingbird while another pack is the project
default:

```python
helper = FormHelper()
helper.template_pack = "hummingbird"
```

## Credits

Forked from [`crispy-bootstrap5`](https://github.com/django-crispy-forms/crispy-bootstrap5) by
David Smith and the django-crispy-forms team (MIT). See `LICENSE`.

## License

MIT.
