# Icon

`@edsis/component/icon` menyediakan primitive icon berbasis Material Symbols untuk library UI ini.

```ts
import { IconComponent } from '@edsis/component/icon';
import { provideUiTheme } from '@edsis/theme/styles';
```

```html
<Icon name="dashboard" [size]="20" class="text-primary" />
```

## API Notes

- `name` menerima nama glyph Material Symbols, misalnya `dashboard` atau `left_panel_close`.
- `size` mengatur `font-size` dan `line-height` host dalam pixel.
- `fill`, `weight`, `grade`, dan `opticalSize` diteruskan ke `font-variation-settings`.
- `class` menerima utilitas Tailwind tambahan pada host.

## Font Loading

- `IconComponent` akan memastikan stylesheet Material Symbols tersedia saat icon pertama dirender.
- `provideUiTheme()` juga mem-bootstrap stylesheet yang sama lebih awal pada level aplikasi.
- Gunakan `provideUiTheme({ icons: { materialSymbols: false } })` bila consumer ingin menonaktifkan preload global.
