Skip to content

Iconsax icon library for Jetpack Compose, supporting multiple styles (Linear, Outline, TwoTone, Bulk, Filled, AutoMirrored).

License

Notifications You must be signed in to change notification settings

RabehX/iconsax-compose

Repository files navigation

Iconsax Compose

A Compose Multiplatform library that provides easy access to the Iconsax icon set (over 1,000 scalable vector icons created by Vuesax) in multiple styles — Linear, Bulk, Outline, TwoTone, and Filled. Designed for easy integration, it enables consistent and modern UI development with minimal implementation effort.

Maven Central Version GitHub license Channel Stars

Installation

Ensure you have mavenCentral() in your project's settings.gradle.kts file:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral() // Add this line if not present
    }
}

Then, add the dependency to your app's build.gradle.kts file:

dependencies {
    // Replace LATEST_VERSION with the actual latest version number
    implementation("io.github.rabehx:iconsax-compose:LATEST_VERSION")
}

Usage

Import the standard Icon composable and the Iconsax object. Then, pass the desired Iconsax ImageVector to the Icon composable.

import androidx.compose.material3.Icon // Or from androidx.compose.material.Icon
import androidx.compose.runtime.Composable
import io.github.rabehx.iconsax.Iconsax // Import the Iconsax object

@Composable
fun IconExample() {
    Icon(
        imageVector = Iconsax.Filled.Notification, // Pass the ImageVector
        contentDescription = "Notification Icon"
    )
}

Icon Styles

The Iconsax object provides access to all icons, organized by style. Each style is a nested object containing the ImageVector properties for the icons within that style.

You access an icon using the pattern: Iconsax.<Style>.<IconName>

Available Styles:

  • Iconsax.Outline: Contains icons defined by their borders without fills.

    Icon(imageVector = Iconsax.Outline.Setting, ...)
  • Iconsax.Filled: Contains icons with a heavier stroke weight for emphasis.

    Icon(imageVector = Iconsax.Bold.Notification, ...)
  • Iconsax.AutoMirrored: Contains icons that automatically mirror in Right-to-Left (RTL) layouts. This is useful for icons like arrows that should change direction based on text direction.

    Icon(imageVector = Iconsax.AutoMirrored.Filled.ArrowLeft, ...)

Remember to replace <IconName> with the specific icon you want to use (e.g., Home, Notification, Image, Setting).

License

This library is distributed under the terms of the GNU General Public License v3.0 (GPLv3).

You can find the full license text in the LICENSE file included with this repository.

About

Iconsax icon library for Jetpack Compose, supporting multiple styles (Linear, Outline, TwoTone, Bulk, Filled, AutoMirrored).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages