# `JobyKit.DaisyCatalogue`
[🔗](https://github.com/jobycorp/joby_kit/blob/v0.2.0/lib/joby_kit/daisy_catalogue.ex#L1)

The canonical daisyUI primitive catalogue — every component daisy ships,
organized by daisy's own categories.

This is host-agnostic reference data. Each entry has a stable atom `:id`,
the daisy class string, a default status (`:available` for normal
primitives or `:reference` for ones that are listed for awareness only),
and an optional note.

Hosts that have wrapped a primitive declare it via `daisy_overrides/0` on
their manifest module:

    def daisy_overrides, do: %{
      button: %{wrapper: "<.button>", anchor: "#design-button"},
      badge:  %{wrapper: "<.badge>",  anchor: "#design-badge"}
    }

The `merged/1` function applies those overrides to flip the matching
entries to `:wrapped` and attach the wrapper label + anchor link.

# `categories`

Static catalogue with default statuses; no host-specific overrides applied.

# `demo`

Renders the small live-demo for a daisy primitive, dispatched on its `:id`.

Used inside each catalogue card so consumers see a working example beside
the class string.

## Attributes

* `id` (`:atom`) (required)

# `docs_url`

Returns the daisyUI documentation URL for a primitive name.

# `merged`

Returns the catalogue with host overrides applied.

Walks the manifest module's `daisy_overrides/0` map (a `%{id => %{wrapper, anchor}}`
mapping) and flips matching entries from `default_status` to `:wrapped`,
attaching the wrapper label and anchor for cross-linking.

# `slug`

Slug helper: turns a category or component name into a stable URL fragment.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
