System Ikon CSS
System ikon używa czystego CSS z maskami SVG, co zapewnia lepszą wydajność niż importowanie tysięcy komponentów Svelte.
Ikony są renderowane jako elementy span
z odpowiednimi klasami CSS.
Dostępne ikony
cart
check
close
code-branch
desktop
fire
heart
heart-outline
language
mail
menu
minus
mobile
notification
plus
search
settings
tablet
user
user-profile
Strzałki
Ikony strzałek (arrow) z grotem, które wskazują kierunek:
arrow-down
arrow-left
arrow-right
arrow-up
Chevron (Caret)
Ikony chevron (znane również jako caret) - proste, klinowe wskaźniki kierunku, często używane w interfejsach nawigacyjnych:
chevron-down
chevron-left
chevron-right
chevron-up
Flagi
Ikony flag zachowują swoje oryginalne kolory dzięki użyciu bezpośrednich obrazów SVG. Ikony flag mają proporcje 3:2 (szerokość:wysokość), typowe dla większości flag państwowych, oraz delikatny efekt cienia, co zwiększa ich realizm.
flag-pl
flag-uk
Oznaczenia językowe
Ikony reprezentujące języki:
lang-en
lang-pl
Sposób użycia
Komponent Icon
Zalecane jest korzystanie z komponentu Icon
:
<script>
import Icon from '$lib/components/Icon.svelte';
</script>
<Icon name="cart" />
<Icon name="heart" size="lg" />
<Icon name="arrow-right" size="sm" className="text-brand-primary" />
Poprzez klasy CSS
Możesz również używać klas CSS bezpośrednio:
<span class="icon icon-cart icon-md"></span>
<span class="icon icon-heart icon-lg text-danger"></span>
Dostępne rozmiary
xs
(w-3 h-3)sm
(w-4 h-4)md (domyślny)
(w-5 h-5)lg
(w-6 h-6)xl
(w-7 h-7)2xl
(w-8 h-8)massive (4em)
(w-16 h-16)Kolory brandowe
Domyślnie ikony używają koloru text-primary
. Możesz jednak użyć dowolnej klasy koloru lub właściwości CSS color.
Poniżej przykłady użycia naszych kolorów brandowych:
domyślny (text-primary)
text-brand-secondary
text-brand-primary-dark
text-brand-secondary-dark
Kolory systemowe
Możesz również korzystać z kolorów systemowych zdefiniowanych w CSS:
text-success
text-danger
text-warning
text-info
Efekty specjalne
Możesz łączyć ikony z różnymi efektami z naszego systemu CSS:
Ikona z gradientem (SVG)
tech-glow
animate-blob
Wszystkie ikony w tej dokumentacji mają również efekt powiększania przy najechaniu myszką:
<style>
.icon-wrapper {
display: inline-flex;
justify-content: center;
align-items: center;
transition: transform 0.25s ease-in-out;
}
.icon-hover-zoom:hover .icon-wrapper {
transform: scale(1.3);
}
</style>
<div class="icon-hover-zoom">
<div class="icon-wrapper">
<Icon name="heart" size="xl" />
</div>
</div>
Przykład użycia 'massive'
Rozmiar 'massive' jest idealny dla wyróżniających się elementów:
Dodawanie nowych ikon
Aby dodać nową ikonę:
- Dodaj definicję klasy w
src/lib/icons/icons.css
- Konwertuj SVG na URL-encoded format używany w masce CSS
- Dodaj nazwę ikony do odpowiedniej kategorii w
iconCategories
w plikusrc/lib/icons/index.ts
Podsumowanie komponentu
Dostępne ikony ogólne (20): cart, check, close, code-branch, desktop, fire, heart, heart-outline, language, mail, menu, minus, mobile, notification, plus, search, settings, tablet, user, user-profile
Strzałki (4): arrow-down, arrow-left, arrow-right, arrow-up
Chevron/Caret (4): chevron-down, chevron-left, chevron-right, chevron-up
Flagi (2): flag-pl, flag-uk
Oznaczenia językowe (2): lang-en, lang-pl
Dostępne rozmiary (7): xs (w-3 h-3), sm (w-4 h-4), md (w-5 h-5), lg (w-6 h-6), xl (w-7 h-7), 2xl (w-8 h-8), massive (w-16 h-16)