Skip to content

Latest commit

Β 

History

317 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘œ Empty Libs

JitPack License Android Jetpack Compose

Empty Libs is a modular collection of modern, lightweight, and purpose-built Jetpack Compose libraries for Android. Designed to simplify common UI patterns, state management, and media processing with a clean and intuitive API.


πŸš€ Key Features

  • Modular Architecture: Each library is independent. Import only what you need.
  • Pure Compose: Built from the ground up with Jetpack Compose for seamless integration.
  • Robust State Management: Predictable and easy-to-use states for complex components.
  • Developer Friendly: Comprehensive documentation and usage examples.

πŸ“š Libraries

Module Status Description
✨ Animations JitPack Music visualizers and fluid wave effects.
✍️ Canvas Slate JitPack Powerful drawing pad with path editing and export.
πŸ› οΈ Compose Utils JitPack Serializable/Parcelable data classes for core types.
🧩 Compose Widgets JitPack Functional analog and digital clocks for Compose.
βš™οΈ Datastore UI JitPack Pre-built settings components for Jetpack DataStore.
πŸ“ Formatter JitPack Decimal rounding and date/time formatting utilities.
πŸ‘† Gesture UI JitPack Advanced gesture detection (e.g., video player controls).
🎨 Image Edit JitPack Full-screen image editor with drawing, text, and shapes.
🌈 Image Kolor JitPack Image filtering and manual color adjustment sliders.
βœ‚οΈ Image Krop JitPack Advanced cropping with aspect ratios and custom shapes.
✨ Image Utils JitPack Shape and bitmap utility library.
πŸ–ΌοΈ Image View JitPack Zoomable, pannable, and swipeable image gallery (Coil 3).
πŸ“± Image Wallpaper JitPack Android wallpaper cropper and setter.
πŸ’Ž Jetpack UI JitPack Adaptive layouts, nav bars, and custom pickers.
🎨 Kolor Picker JitPack HSL panel, image dropper, and color dialogs.
πŸ“ Layouts JitPack Adaptive two-pane, collapsible, and zoomable layouts.
πŸ“¦ LRU-Cache Manager JitPack Type-safe in-memory caching wrapper.
πŸ“ PDF Template JitPack State-driven PDF generation with pagination.
πŸ“œ PDF Viewer JitPack Lightweight PDF rendering and viewing components.
πŸ“œ Serialization XML JitPack Lightweight XML serialization for Kotlin.
πŸ“‚ Storage JitPack Coroutine-based file browsing and storage management.

πŸ“¦ Installation

Add the JitPack repository to your root settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven("https://jitpack.io")
    }
}

Then define the desired libraries to your libs.versions.toml:

[versions]
empty-libs = "VERSION"

[libraries]
emptylibs-animations = { group = "com.github.bashpsk.emptylibs", name = "animations", version.ref = "empty-libs" }
emptylibs-canvas-slate = { group = "com.github.bashpsk.emptylibs", name = "canvas-slate", version.ref = "empty-libs" }
emptylibs-compose-utils = { group = "com.github.bashpsk.emptylibs", name = "compose-utils", version.ref = "empty-libs" }
emptylibs-compose-widgets = { group = "com.github.bashpsk.emptylibs", name = "compose-widgets", version.ref = "empty-libs" }
emptylibs-datastore-ui = { group = "com.github.bashpsk.emptylibs", name = "datastore-ui", version.ref = "empty-libs" }
emptylibs-formatter = { group = "com.github.bashpsk.emptylibs", name = "formatter", version.ref = "empty-libs" }
emptylibs-gesture-ui = { group = "com.github.bashpsk.emptylibs", name = "gesture-ui", version.ref = "empty-libs" }
emptylibs-image-edit = { group = "com.github.bashpsk.emptylibs", name = "image-edit", version.ref = "empty-libs" }
emptylibs-image-kolor = { group = "com.github.bashpsk.emptylibs", name = "image-kolor", version.ref = "empty-libs" }
emptylibs-image-krop = { group = "com.github.bashpsk.emptylibs", name = "image-krop", version.ref = "empty-libs" }
emptylibs-image-utils = { group = "com.github.bashpsk.emptylibs", name = "image-utils", version.ref = "empty-libs" }
emptylibs-image-view = { group = "com.github.bashpsk.emptylibs", name = "image-view", version.ref = "empty-libs" }
emptylibs-image-wallpaper = { group = "com.github.bashpsk.emptylibs", name = "image-wallpaper", version.ref = "empty-libs" }
emptylibs-jetpack-ui = { group = "com.github.bashpsk.emptylibs", name = "jetpack-ui", version.ref = "empty-libs" }
emptylibs-kolor-picker = { group = "com.github.bashpsk.emptylibs", name = "kolor-picker", version.ref = "empty-libs" }
emptylibs-layouts = { group = "com.github.bashpsk.emptylibs", name = "layouts", version.ref = "empty-libs" }
emptylibs-lrucache-manager = { group = "com.github.bashpsk.emptylibs", name = "lrucache-manager", version.ref = "empty-libs" }
emptylibs-pdf-template = { group = "com.github.bashpsk.emptylibs", name = "pdf-template", version.ref = "empty-libs" }
emptylibs-pdf-viewer = { group = "com.github.bashpsk.emptylibs", name = "pdf-viewer", version.ref = "empty-libs" }
emptylibs-serialization-xml = { group = "com.github.bashpsk.emptylibs", name = "serialization-xml", version.ref = "empty-libs" }
emptylibs-storage = { group = "com.github.bashpsk.emptylibs", name = "storage", version.ref = "empty-libs" }

Then add the desired library to your module-level build.gradle.kts:

dependencies {
    implementation(libs.emptylibs.animations)
    implementation(libs.emptylibs.canvas.slate)
    implementation(libs.emptylibs.compose.utils)
    implementation(libs.emptylibs.compose.widgets)
    implementation(libs.emptylibs.datastore.ui)
    implementation(libs.emptylibs.formatter)
    implementation(libs.emptylibs.gesture.ui)
    implementation(libs.emptylibs.image.edit)
    implementation(libs.emptylibs.image.kolor)
    implementation(libs.emptylibs.image.krop)
    implementation(libs.emptylibs.image.utils)
    implementation(libs.emptylibs.image.view)
    implementation(libs.emptylibs.image.wallpaper)
    implementation(libs.emptylibs.jetpack.ui)
    implementation(libs.emptylibs.kolor.picker)
    implementation(libs.emptylibs.layouts)
    implementation(libs.emptylibs.lrucache.manager)
    implementation(libs.emptylibs.pdf.template)
    implementation(libs.emptylibs.pdf.viewer)
    implementation(libs.emptylibs.serialization.xml)
    implementation(libs.emptylibs.storage)
}

🀝 Contributing

Contributions are welcome! If you have a library idea or a bug fix, feel free to open an issue or submit a pull request.


πŸ“œ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


About

A Jetpack Compose library for Kotlin packed with UI and media utilities: drawing pad, datastore UI, formatters, image editing, color filters, cropper, and more.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages