npm package: @project-lary/react-material-symbols
Description: Latest React icon components for Material Symbols
Latest version: 0.36.0

# [@project-lary/react-material-symbols](https://github.com/project-lary/lary-material-symbols)

Latest React icon components for Material Symbols.

> This package is automatically updated, so it will always have the latest icons from Google.

- [Installation](#installation)
- [Usage](#usage)
- [Available Icons](#available-icons)

## Installation

Install the [latest version][releases] using:

```sh
npm install @project-lary/react-material-symbols
```

Material Symbols are available in 7 weights - `100`, `200`, `300`, `400`, `500`, `600`, `700` and in three styles — `outlined`, `rounded`, and `sharp`. The package `@project-lary/react-material-symbols` includes only React icon components with weight `400` and type `sharp`. To use a different weight and type, replace `400-sharp` in the package name with the desired weight and type.

<details>
<summary><strong>Show all packages</strong></summary><br>

| Package                                                                                | Description |
| :------------------------------------------------------------------------------------- | :----- |
| [`@project-lary/react-material-symbols`](https://www.npmjs.com/package/@project-lary/react-material-symbols) | Default icon package |
| [`@project-lary/react-material-symbols-100-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-100-outlined) | Outlined icons with weight 100 |
| [`@project-lary/react-material-symbols-100-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-100-rounded) | Rounded icons with weight 100 |
| [`@project-lary/react-material-symbols-100-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-100-sharp) | Sharp icons with weight 100 |
| [`@project-lary/react-material-symbols-200-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-200-outlined) | Outlined icons with weight 200 |
| [`@project-lary/react-material-symbols-200-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-200-rounded) | Rounded icons with weight 200 |
| [`@project-lary/react-material-symbols-200-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-200-sharp) | Sharp icons with weight 200 |
| [`@project-lary/react-material-symbols-300-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-300-outlined) | Outlined icons with weight 300 |
| [`@project-lary/react-material-symbols-300-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-300-rounded) | Rounded icons with weight 300 |
| [`@project-lary/react-material-symbols-300-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-300-sharp) | Sharp icons with weight 300 |
| [`@project-lary/react-material-symbols-400-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-400-outlined) | Outlined icons with weight 400 |
| [`@project-lary/react-material-symbols-400-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-400-rounded) | Rounded icons with weight 400 |
| [`@project-lary/react-material-symbols-400-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-400-sharp) | Sharp icons with weight 400 |
| [`@project-lary/react-material-symbols-500-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-500-outlined) | Outlined icons with weight 500 |
| [`@project-lary/react-material-symbols-500-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-500-rounded) | Rounded icons with weight 500 |
| [`@project-lary/react-material-symbols-500-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-500-sharp) | Sharp icons with weight 500 |
| [`@project-lary/react-material-symbols-600-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-600-outlined) | Outlined icons with weight 600 |
| [`@project-lary/react-material-symbols-600-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-600-rounded) | Rounded icons with weight 600 |
| [`@project-lary/react-material-symbols-600-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-600-sharp) | Sharp icons with weight 600 |
| [`@project-lary/react-material-symbols-700-outlined`](https://www.npmjs.com/package/@project-lary/react-material-symbols-700-outlined) | Outlined icons with weight 700 |
| [`@project-lary/react-material-symbols-700-rounded`](https://www.npmjs.com/package/@project-lary/react-material-symbols-700-rounded) | Rounded icons with weight 700 |
| [`@project-lary/react-material-symbols-700-sharp`](https://www.npmjs.com/package/@project-lary/react-material-symbols-700-sharp) | Sharp icons with weight 700 |

</details>

## Usage

React components are available for both unfilled (`FILL 0`) and filled (`FILL 1`) states with grade (`GRAD`) 0 and size (`opsz`) 48px. Other variations of grade and size are not included to keep the package size small.

### React


```jsx
import { Raven } from '@project-lary/react-material-symbols';
// import { RavenFilled } from '@project-lary/react-material-symbols'; filled icon

// Raven is a React component that renders the SVG

function App() {
  return (
    <div className="App">
      <Raven />
    </div>
  );
}
```

### Styling

The font-size is by default 16px which is the HTML default. If you set font-size for svg in your main CSS file then this will become the default style for icons. If the parent element has a font-size attribute then this will take presedence. 

```css
@layer base {
    svg {
        font-size: 24px;
        color: red;
    }
}
```

Components can be styled using className attribute.

### Tailwind CSS

```html
<Raven className="size-6" /> // Using size -which is combination of width and height- to change the size of the icon
<Raven className="text-black" /> // To change the color of the icon
<Raven className="text-lg" /> // Using text-lg -which is font-size- to change the size of the icon
```
### CSS

```css
/* CSS file */
.lary-material-symbol-size {
  font-size: 24px; /* This sets the font size for the class */
}
```

```html
<Raven className="lary-material-symbol-size" /> 
```

### Note

Since React component names cannot begin with or be only numbers, the icons with names that begin with or are only numbers are prefixed with an underscore. For example, the icon named `3d` is available as `_3d`.

```jsx
import { _3d } from '@project-lary/react-material-symbols';
// import { _360 } from '@project-lary/react-material-symbols'; another example

function App() {
  return (
    <div className="App">
      <_3d />
    </div>
  );
}
```


## Available Icons

See all available icons [here].

## License

Material Symbols are created by [Google](https://github.com/google/material-design-icons#license).

Insparation by [Marella](https://github.com/marella/material-symbols/tree/main).

> We have made these icons available for you to incorporate into your products under the [Apache License Version 2.0][license]. Feel free to remix and re-share these icons and documentation in your products.
We'd love attribution in your app's *about* screen, but it's not required.

[releases]: https://github.com/project-lary/lary-material-symbols/releases
[license]: https://github.com/marella/material-symbols/blob/main/LICENSE
[here]: https://fonts.google.com/icons