(defcomp ~relation-attach (&key create-url label icon) (a :href create-url :hx-get create-url :hx-target "#main-panel" :hx-swap "outerHTML" :hx-push-url "true" :class "flex items-center gap-2 text-sm p-2 rounded hover:bg-stone-100 text-stone-500 hover:text-stone-700 transition-colors" (when icon (i :class icon)) (span (or label "Add")))) (defcomp ~relation-detach (&key detach-url name) (button :hx-delete detach-url :hx-confirm (str "Remove " (or name "this item") "?") :class "text-red-500 hover:text-red-700 text-sm p-1 rounded hover:bg-red-50 transition-colors" (i :class "fa fa-times" :aria-hidden "true")))