Fixed-width, left-aligned grid layout for CRUD Action Tiles. No outer padding/margins — grid sits flush with its container. Each tile maintains uniform width (220px) regardless of count. Tiles never stretch or distribute extra spacing — gaps remain constant. Maximum 5 tiles per CRUD page. Use this pattern inside App Content Containers for organized, accessible action navigation.
Context = Physical placement in the layout (standard page vs. glassy overlay/hero).
Theme = Site-wide user preference (light/dark mode toggle 🌙).
Below previews show grids in both contexts. Use the 🌙 toggle (top-right) to test how grids look in both themes. Grids should work correctly in all 4 combinations: Light+Standard, Light+Glassy, Dark+Standard, Dark+Glassy.
Actions Navigation Grid ensures compact, organized CRUD action layout with fixed tile sizing.
Single action layout. Use when a CRUD page has one primary action (e.g., "Add new Currency" on a dictionary page). The grid ensures the tile remains compact-sized rather than stretching to fill the container.
For use on normal app pages and content areas
<div class="actions-navigation-grid">
<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>
</div>
Use on dark overlays and glass panels (app shell signed-in)
<div class="actions-navigation-grid is-glassy">
<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>
</div>
Three-tile layout. Typical CRUD page layout with Add, Show All, and one additional action (e.g., manage, archive). Tiles wrap responsively on smaller screens (2 + 1 on tablets, 1 column on mobile).
For use on normal app pages and content areas
<div class="actions-navigation-grid">
<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>
<a href="/pl/admin/dictionaries/currencies" 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">Currencies</div>
</div>
</a>
<a href="/pl/admin/dictionaries/currencies/import" 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="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" />
</svg>
</div>
<div class="action-tile-content">
<div class="action-tile-title">Import</div>
<div class="action-tile-subtitle">From file</div>
</div>
</a>
</div>
Use on dark overlays and glass panels (app shell signed-in)
<div class="actions-navigation-grid is-glassy">
<a href="/pl/admin/dictionaries/currencies/add" class="action-tile is-glassy">
<!-- ... icon + content ... -->
</a>
<a href="/pl/admin/dictionaries/currencies" class="action-tile is-glassy">
<!-- ... icon + content ... -->
</a>
<a href="/pl/admin/dictionaries/currencies/import" class="action-tile is-glassy">
<!-- ... icon + content ... -->
</a>
</div>
Five-tile layout. Maximum recommended per CRUD page. Provides all major CRUD operations at a glance. Beyond 5 tiles, consider splitting into multiple sections or using a different navigation pattern.
For use on normal app pages and content areas
<div class="actions-navigation-grid">
<!-- Tile 1: Add new -->
<a href="/path/to/add" class="action-tile">
<div class="action-tile-icon">...</div>
<div class="action-tile-content">
<div class="action-tile-title">Add new</div>
<div class="action-tile-subtitle">Currency</div>
</div>
</a>
<!-- Tile 2: Show all -->
<a href="/path/to/list" class="action-tile">...</a>
<!-- Tile 3: Import -->
<a href="/path/to/import" class="action-tile">...</a>
<!-- Tile 4: Export -->
<a href="/path/to/export" class="action-tile">...</a>
<!-- Tile 5: Manage (Max) -->
<a href="/path/to/settings" class="action-tile">...</a>
</div>
Use on dark overlays and glass panels (app shell signed-in)
<div class="actions-navigation-grid is-glassy">
<!-- Tile 1: Add new -->
<a href="/path/to/add" class="action-tile is-glassy">...</a>
<!-- Tile 2: Show all -->
<a href="/path/to/list" class="action-tile is-glassy">...</a>
<!-- Tile 3: Import -->
<a href="/path/to/import" class="action-tile is-glassy">...</a>
<!-- Tile 4: Export -->
<a href="/path/to/export" class="action-tile is-glassy">...</a>
<!-- Tile 5: Manage (Max) -->
<a href="/path/to/settings" class="action-tile is-glassy">...</a>
</div>
actions-navigation-gridis-glassy to both grid and tiles in glassy context
Grid layout lives in
/assets/css/actions-navigation-grid.css.
Individual tile styling lives in
/assets/css/action-tile-compact.css.
Do not override grid layouts or tile styles in page CSS. Extend in the Design System instead.
Grid layout styles are defined in:
/assets/css/actions-navigation-grid.css
Imported by: /assets/css/ui-system.css
Includes: Responsive grid with minmax column sizing, consistent gaps/padding, glassy context support, and mobile optimizations.
Companion:
/assets/css/action-tile-compact.css — Individual tile styling