JobyKit.DaisyCatalogue (JobyKit v0.2.0)

Copy Markdown View Source

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.

Summary

Functions

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

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

Returns the daisyUI documentation URL for a primitive name.

Returns the catalogue with host overrides applied.

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

Functions

categories()

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

demo(assigns)

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(name)

Returns the daisyUI documentation URL for a primitive name.

merged(manifest_module)

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(name)

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