Compact horizontal tile for CRUD entry points. Features icon-to-left layout with title and subtitle. Approximately 50% height of dashboard feature tiles. Use for "Add New", "Show All", and other quick-action links in CRUD sections.
Context = Physical placement in the layout (standard page vs. glassy overlay/hero).
Theme = Site-wide user preference (light/dark mode toggle 🌙).
Below previews show tiles in both contexts. Use the 🌙 toggle (top-right) to test how tiles look in both themes. Tiles should work correctly in all 4 combinations: Light+Standard, Light+Glassy, Dark+Standard, Dark+Glassy.
Action Tile (Compact) is designed for CRUD entry points and quick actions.
Not the same as Dashboard Tile: Dashboard tiles are vertical, full-height launchers for major dashboard sections. Action tiles are compact, horizontal, for quick CRUD operations.
Standard compact action tile with horizontal layout. Icon appears on the left with title and subtitle stacked to the right. Responds to hover, focus, and active states. Works in both standard and glassy contexts.
For use on normal app pages and content areas
<!-- Add new; Currency -->
<a href="/pl/admin/dictionaries/currencies/add" class="action-tile">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Add new</div>
<div class="action-tile-subtitle">Currency</div>
</div>
</a>
<!-- Show all; Reservations -->
<a href="/pl/admin/reservations" class="action-tile">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Show all</div>
<div class="action-tile-subtitle">Reservations</div>
</div>
</a>
Use on dark overlays and glass panels (app shell signed-in)
<!-- Add new; Currency -->
<a href="/pl/admin/dictionaries/currencies/add" class="action-tile is-glassy">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Add new</div>
<div class="action-tile-subtitle">Currency</div>
</div>
</a>
<!-- Show all; Reservations -->
<a href="/pl/admin/reservations" class="action-tile is-glassy">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Show all</div>
<div class="action-tile-subtitle">Reservations</div>
</div>
</a>
Disabled state for actions that are unavailable or require additional permissions.
Uses is-disabled modifier class.
Disabled tiles are visually muted and non-interactive
<!-- Disabled action tile -->
<a href="#" class="action-tile is-disabled">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Add new</div>
<div class="action-tile-subtitle">Restricted access</div>
</div>
</a>
<!-- Disabled glassy action tile -->
<a href="#" class="action-tile is-glassy is-disabled">
<div class="action-tile-icon">
<svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Add new</div>
<div class="action-tile-subtitle">Currency</div>
</div>
</a>
<a> for navigation)is-glassy in glassy containersis-disabled for unavailable actions
Action Tile (Compact) styles live in
/assets/css/action-tile-compact.css.
Do not re-style action tiles locally. If you need new behavior or variants,
extend the Design System component instead of overriding in page CSS.
All action tile (compact) styles are defined in:
/assets/css/action-tile-compact.css
Imported by: /assets/css/ui-system.css
Includes: Base tile layout, horizontal icon+text structure, hover/focus/active/disabled states, glassy context colors, and responsive adjustments.