Actions
Components that initiate an action: buttons and modal dialogs. One primary action per screen region. Secondary actions sit next to the primary, never alone. Destructive actions are reserved for genuinely irreversible operations and always open a confirm modal.
Button
DaisyUI's btn primitive — primary / outline / ghost variants. Sizing scales by
surface: stock .btn on most surfaces, .btn-lg for museum-grade
primary actions (landing hero search submit, citation copy button).
Default sizing
Large sizing
More generous padding for prominent CTAs. Landing hero search submit, citation copy button, other museum-grade primary actions.
Destructive
For genuinely irreversible operations only. Always opens a confirm modal. --error accent, muted not shouting. Never icon-only.
Icon-only
For common, recognisable affordances. Mandatory aria-label and tooltip on
hover/focus.
Modal
Native HTML <dialog> element, opened with .showModal().
Reserved for confirmation of a consequential action (publish, delete) or for short, focused
input that interrupts the page flow. Don't use modals as a replacement for a dedicated page.
PrePublishModal in the workspace is a usage of this pattern.