1. Docs
  2. utilities

UI Utilities & Variants

High-level UI helpers and variants such as ui-solid, ui-soft, ui-subtle, ui-card, and other composable utilities.

Prerequisites

You must have a dedicated file name utilities.css where to put all your utilities.

Variants

There's 4 variants, and each variant has its intents, you can customize each one as you want.

Solid variants

12% 50% You're reaching out your limit

Outline variants

12% 50% You're reaching out your limit

Soft variants

12% 50% You're reaching out your limit

Subtle variants

12% 50% You're reaching out your limit

Utilities

Card Utilities

The ui-card utility provides base styling for card components using CSS variables.

Prop Description
ui-card
Applies padding and border radius to card elements using --card-padding and --card-radius variables.

How it works:

  • Uses p-(--card-padding) for padding
  • Uses rounded-(--card-radius) for border radius
  • Both variables are inherited from the card component's props or can be overridden

Customization:

  • Override --card-padding to change padding size
  • Override --card-radius to change border radius
  • Use CSS custom properties for fine-tuned control

Inner Radius Utility

The inner-radius utility calculates border radius for elements inside cards, accounting for the card's padding.

Prop Description
inner-radius
Calculates border radius as calc(var(--card-radius) - var(--card-padding)) for elements that need to fit perfectly inside card boundaries.

Why it's needed:

  • Ensures inner elements don't overflow card boundaries
  • Creates perfect visual alignment with card border radius
  • Prevents visual gaps between card content and border
  • Useful for buttons, images, or other components inside cards

Usage example:

inner-radius-example.blade.php
<!-- Card with custom padding and radius -->
<x-ui.card class="[--card-padding:--spacing(6)] [--card-radius:1rem]">
    <!-- Inner element with calculated radius -->
    <div class="inner-radius bg-primary text-white p-4">
        Content that fits perfectly
    </div>
</x-ui.card>