PrimeBrickPrimeBrick
  • Docs
  • Contact
  • MIT License
  • Documentation
  • MCP Server
  • API Catalog
  • Services
  • Libraries
PrimeBrickPrimeBrick

© 2026 PrimeBrick. MIT License. v3.11.2

github
Backend
Frontend
    Developer Guide
      OverviewGetting startedUI stackApp shell & sidebarAuthentication & sessionsSystem settingsUI componentsUI patternsIcon ConventionsInput AnatomyField Hints & TooltipsButton Style StandardsEntity metadatai18n — Translations on the FrontendThe AI Tool Loop (caller-driven)Error HandlingComposables (use* hooks)
      Components
      API Reference
Microservices
powered by Zudoku
Developer Guide

Icon Conventions

Primebrick assigns one canonical Lucide icon per semantic action. Always check this map before importing an icon — if the action is listed, use its icon (or the component that owns it).

Canonical map

ActionIconNotes
Refresh / reloadRefreshCwVia the RefreshButton component — never hand-rolled
Clear / resetEraserClear an input value, reset filters — not close
Close / dismiss / removeXSheet close, chip remove — not clear
Restore deletedRotateCcwUndo soft-delete
DeleteTrash2
EditPencil
Add / createPlus
SearchSearch
FiltersFunnel
Show / hide secretEye / EyeOff
CopyCopy
True / falseCircleCheck / CircleXNever CheckCircle / XCircle
Warning / emptyTriangleAlertNever the AlertTriangle alias
LoadingHourglassWatermark empty-state pattern
In-flight spinnerLoaderCircleWith animate-spin
Dropdown caretChevronDown
AI capabilityBrainCircuit

RefreshButton

src/lib/components/ui/refresh-button/

The single canonical refresh CTA. Ghost sm button, RefreshCw icon that spins while loading, label Refresh hidden below lg.

PropTypeDefaultDescription
onclick() => voidrequiredRefresh action
loadingbooleanfalseSpins the icon and disables the button
disabledbooleanfalseExtra disable condition
compactbooleanfalseSmaller, muted, uppercase-label chrome — for refresh CTAs pinned inside card wrappers (e.g. a section card's top-right corner)
labelstring"Refresh"Override accessible label
testidstring—data-testid
Code
<script> import { RefreshButton } from '$lib/components/ui/refresh-button'; </script> <!-- toolbar context --> <RefreshButton onclick={reload} loading={reloading} /> <!-- inside a card wrapper, pinned top-right --> <div class="relative rounded-lg border p-3"> <RefreshButton compact onclick={reload} loading={reloading} /> …card content… </div>

Toolbar also exposes a refresh prop that renders this same atom — pass refresh={{ onclick, loading }} rather than rendering it yourself.

Last modified on October 28, 2026
UI patternsInput Anatomy
On this page
  • Canonical map
  • RefreshButton