diff --git a/src/components/ui/empty-state.tsx b/src/components/ui/empty-state.tsx index 7e5e1e187..cdaad1d3a 100644 --- a/src/components/ui/empty-state.tsx +++ b/src/components/ui/empty-state.tsx @@ -36,6 +36,16 @@ export interface EmptyStateProps extends Omit< * Compact density for use inside tiles or table-row empty rows. */ size?: "default" | "compact"; + /** + * v1.4.27 MB7 / CF-36 — size hint for the inner action wrapper. + * + * `"default"` keeps the legacy inline-tight CTA. `"lg"` adds a + * `[&_button]:min-h-11 [&_a]:min-h-11` selector so the inner button + * or `asChild` link meets the 44 px floor on mobile, and lifts the + * wrapper to `w-full sm:w-auto` so the CTA fills the column at + * narrow viewports and centres at `sm+`. + */ + ctaSize?: "default" | "lg"; } function EmptyState({ @@ -45,6 +55,7 @@ function EmptyState({ action, variant = "card", size = "default", + ctaSize = "default", className, ...props }: EmptyStateProps) { @@ -81,7 +92,23 @@ function EmptyState({

) : null} - {action ?
{action}
: null} + {action ? ( +
` / `asChild` `` to the 44 px tap floor. + // The selectors target the wrapper's immediate child so + // existing CTAs that pass a plain `
+ ) : null} );