I made a new library, https://github.com/TimoPtr/mdi-icons, to replace Android-Iconics in the Home Assistant Android app. Iconics is in maintenance mode, and its community-material typeface is stuck on an MDI release from 2022 and only Android.

It's my first Compose Multiplatform library, and I'm quite happy with how it turned out:

  • The full MDI catalog (7,447 icons) as Compose `ImageVector`s, on Android, iOS, desktop, JS and wasm
  • Compile-time accessors like Mdi.HomeAssistant, plus lookup by name at runtime (Mdi.fromMdiName("lightbulb-on")), which follows MDI's aliases and historical renames
  • Mirroring for directional icons in right-to-left languages, and an Android toBitmap() for notifications, widgets and quick settings tiles
  • Kept up to date by code generation: the catalog is generated from the pinned `@mdi/svg` release from npm. Renovate bumps the version and CI regenerates the icons.

It's on Maven Central as io.github.timoptr:mdi-icons.

You can browse the catalog in your browser at https://timoptr.github.io/mdi-icons/ . I'd love your feedback, especially on the API and the multiplatform setup!

submitted by /u/timoptr
[link] [comments]