callstack / callstack/react-native-paper
Add support or recommendation for Material Symbols icons
- Dominant language
- TypeScript
- Stars
- 14.5k
- Forks
- 2.2k
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 12
Description
**Is your feature request related to a problem? Please describe.**
Icons play a crucial role in truly polished experiences. The current support for MD icons is based on the legacy Material Icons collection (through [MaterialCommunityIcons](https://materialdesignicons.com/)). While this is great to start with, the legacy icons collection tends to fall short as soon one needs to tap into the additional level of customisation that the new [Material Symbols](https://fonts.google.com/icons) collection provide:
* style (i.e. sharp, rounded, outlined)
* weight
* grade
* optical size
**Describe the solution you'd like**
1. Ideally, it would be amazing if the default icons could be based on Material Symbols rather than the old Material Icons.
2. Alternatively, it would be great to extend the [icons doc](https://callstack.github.io/react-native-paper/docs/guides/icons/) to provide a recommendation for existing libraries or workarounds to leverage the new Material Symbols.
**Describe alternatives you've considered**
Searched for React Native libraries with Material Symbols support, very few results with poor maintenance level.
**Additional context**
From [fonts.google.com](https://fonts.google.com/download?family=Material+Symbols+Outlined|Material+Symbols+Rounded|Material+Symbols+Sharp) it is possibile to download the icons in the the three style (i.e. sharp, rounded, outlined), each of which will come with:
* one TTF file containing the variable font with size 12MB
* 56 TTF files containing the static fonts with various combinations of size (28, 36, 48), fill (0, 1), weight (thin, extra light, light, regular, medium, semi bold, bold). Each one of those has size between 1MB and 1.5MB
Using [createIconSet](https://docs.expo.dev/guides/icons/#createiconset) from Expo with one of the static files above (actually two since it is very likely that filled and not filled icons are both needed) and the corresponding [codepoints](https://github.com/google/material-design-icons/tree/master/variablefont), it is possible to make things work.
Contributor guide
Assessment
This issue has not been assessed yet.