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

Create a dedicated file such as utilities.css for reusable theme utilities. Keep these utilities separate from component files to avoid duplicated style logic.

Import utility definitions after theme tokens so utility classes can consume final variable values.

Variants

Utility variants mirror the same semantic intent system used across themed components. Choose a variant family, then apply the intent classes that match your use case.

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 Utility

ui-card applies shared card spacing and radius using theme variables. Use it as a base utility when you want cards to follow token-driven sizing.

Prop Description
ui-card
Applies padding and radius from --card-padding and --card-radius .

How it works:

  • Uses p-(--card-padding) for internal spacing
  • Uses rounded-(--card-radius) for outer radius
  • Can be overridden per component when needed

Customization:

  • Override --card-padding for compact or spacious layouts
  • Override --card-radius for roundness style changes
  • Keep variable names stable so utility class usage stays unchanged

Inner Radius Utility

inner-radius keeps inner elements aligned with the card's inner curve. It subtracts card padding from the outer radius to avoid visual overflow.

Prop Description
inner-radius
Computes calc(var(--card-radius) - var(--card-padding)) for inner content blocks.

Why it's useful:

  • Prevents inner surfaces from clipping beyond the card shape
  • Keeps nested UI visually aligned with outer radius
  • Works well for media blocks, nested actions, and inset containers

Usage example:

inner-radius-example.blade.php
<!-- Card with custom padding and radius -->
<x-ui.card class="[--ui-padding:--spacing(6)] [--ui-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>