class Ariadne::UI::Avatar::Component
def badge_position_classes
def badge_position_classes position_classes = { top_right: "ariadne:-top-1 ariadne:-right-1", top_left: "ariadne:-top-1 ariadne:-left-1", bottom_right: "ariadne:-bottom-1 ariadne:-right-1", bottom_left: "ariadne:-bottom-1 ariadne:-left-1", } # Apply size-specific adjustments with class-based approach for badge sizing size_classes = case size when :xs, :sm "ariadne:h-3 ariadne:w-3 ariadne:text-[8px]" when :md "ariadne:h-4 ariadne:w-4 ariadne:text-[10px]" when :lg, :xl "ariadne:h-5 ariadne:w-5 ariadne:text-xs" else "ariadne:h-4 ariadne:w-4 ariadne:text-[10px]" end # Add border to make badge stand out against avatar "#{position_classes[badge_position]} #{size_classes} ariadne:ring-1 ariadne:ring-white ariadne:dark:ring-gray-800 ariadne:rounded-full ariadne:flex ariadne:items-center ariadne:justify-center ariadne:overflow-hidden" end