;; Blog header components (defcomp ~blog-oob-header (&key parent-id child-id row-html) (div :id parent-id :hx-swap-oob "outerHTML" :class "w-full" (div :class "w-full" (raw! row-html) (div :id child-id)))) (defcomp ~blog-header-label () (div)) (defcomp ~blog-post-label (&key feature-image title) (<> (when feature-image (img :src feature-image :class "h-8 w-8 rounded-full object-cover border border-stone-300 flex-shrink-0")) (span title))) (defcomp ~blog-post-cart-link (&key href count) (a :href href :class "relative inline-flex items-center gap-1.5 px-3 py-1.5 text-sm rounded-full border border-emerald-300 bg-emerald-50 text-emerald-800 hover:bg-emerald-100 transition" (i :class "fa fa-shopping-cart" :aria-hidden "true") (span count))) (defcomp ~blog-container-nav (&key container-nav-html) (div :class "flex flex-col sm:flex-row sm:items-center gap-2 border-r border-stone-200 mr-2 sm:max-w-2xl" :id "entries-calendars-nav-wrapper" (raw! container-nav-html))) (defcomp ~blog-admin-label () (<> (i :class "fa fa-shield-halved" :aria-hidden "true") " admin")) (defcomp ~blog-admin-nav-item (&key href nav-btn-class label) (div :class "relative nav-group" (a :href href :class nav-btn-class label))) (defcomp ~blog-sub-settings-label (&key icon label) (<> (i :class icon :aria-hidden "true") " " label)) (defcomp ~blog-sub-admin-label (&key icon label) (<> (i :class icon :aria-hidden "true") (div label)))