Files
aragrp/docs/design-system/icons.md
T
ar.badieiandCursor c2376b3b9e
Build & Push Docker Image / build (push) Has been cancelled
feat: redesign landing page with brand system and section blocks
Refresh the homepage around new hero/services/roadmap sections, shared design tokens, and updated brand assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 17:00:55 +03:30

56 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Icons
## Libraries
| Library | Use |
| --- | --- |
| `lucide-react` | Default UI icons (nav, actions, social) |
| `@iconify/react` | Occasional extended sets when Lucide lacks a glyph |
Do not mix many icon libraries in one view. Prefer Lucide for consistency.
## Sizing
| Context | Size |
| --- | --- |
| Inline with `text-sm` | `size-4` (16px) |
| Buttons (default) | Controlled by `--btn-icon-size` (0.875–1.25rem) |
| Icon buttons | Match button box; glyph ~20px (`size-5`) for menu |
| Cards / features | `size-5` / `size-6` |
| Decorative empty states | `size-8`–`size-10` max |
Use Tailwind `size-*` from the spacing scale. Avoid arbitrary `w-[18px]`.
## Color
- Inherit from parent text (`currentColor`) whenever possible.
- Semantic: `text-muted-foreground`, `text-primary`, `text-destructive`.
- Never hardcode icon hex fills in JSX.
## Alignment
- Pair icons with labels using flex + `gap-2` / button gaps.
- Decorative icons: `aria-hidden`.
- Standalone icon buttons: mandatory `aria-label` (or visible text).
```tsx
<Button variant="ghost" size="icon" aria-label="باز کردن منو">
<Menu aria-hidden className="size-5" />
</Button>
```
## Stroke
Lucide defaults are fine. Do not globally remount icons with custom stroke widths that fight the set.
## Forbidden
- Emoji as UI icons.
- PNG icons for simple glyphs.
- Different visual weights in the same toolbar.
## Related
- [buttons.md](./buttons.md)
- [accessibility.md](./accessibility.md)