Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avan1235/compose-extensions
Compose Extensions bring some useful extensions to Compose Multiplatform, making it easier to provide certain functionalities
https://github.com/avan1235/compose-extensions
android camera camera-permission camera-qr compose compose-multiplatform compose-util desktop ios ios-simulator jvm linux macos multiplatform util windows
Last synced: about 2 months ago
JSON representation
Compose Extensions bring some useful extensions to Compose Multiplatform, making it easier to provide certain functionalities
- Host: GitHub
- URL: https://github.com/avan1235/compose-extensions
- Owner: avan1235
- License: mit
- Created: 2023-10-15T16:38:30.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-04-14T04:48:07.000Z (8 months ago)
- Last Synced: 2024-04-14T10:57:16.359Z (8 months ago)
- Topics: android, camera, camera-permission, camera-qr, compose, compose-multiplatform, compose-util, desktop, ios, ios-simulator, jvm, linux, macos, multiplatform, util, windows
- Language: Kotlin
- Homepage:
- Size: 310 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![Platforms](https://img.shields.io/badge/mobile-Android%20%7C%20iOS-blue)](https://github.com/avan1235/compose-extensions/releases)
[![Platforms](https://img.shields.io/badge/desktop-Windows%20%7C%20macOS%20%7C%20Linux-blue)](https://github.com/avan1235/compose-extensions/releases)[![Kotlin](https://img.shields.io/badge/Kotlin-2.0.0-RC2-green.svg?logo=kotlin)](https://github.com/JetBrains/kotlin)
[![Compose](https://img.shields.io/badge/Compose%20Multiplatform-1.6.10-green.svg?logo=jetpack-compose)](https://github.com/JetBrains/compose-multiplatform)
[![Maven Central](https://img.shields.io/maven-central/v/in.procyk.compose/camera-qr?label=Maven%20Central&color=green)](https://central.sonatype.com/namespace/in.procyk.compose)
[![Latest Release](https://img.shields.io/github/v/release/avan1235/compose-extensions?label=Release&color=green)](https://github.com/avan1235/compose-extensions/releases)
[![Build](https://img.shields.io/github/actions/workflow/status/avan1235/compose-extensions/release.yml?label=Build&color=green)](https://github.com/avan1235/compose-extensions/actions/workflows/release.yml)[![License: MIT](https://img.shields.io/badge/License-MIT-red.svg)](./LICENSE.md)
[![GitHub Repo stars](https://img.shields.io/github/stars/avan1235/compose-extensions?style=social)](https://github.com/avan1235/compose-extensions/stargazers)
[![Fork OpenOTP](https://img.shields.io/github/forks/avan1235/compose-extensions?logo=github&style=social)](https://github.com/avan1235/compose-extensions/fork)# Compose Multiplatform Extensions
This repository aims to bring some useful extensions for compose-multiplatform projects, which
are self-contained and allow to deploy compose applications to Android, iOS and Desktop platforms.## How to use?
Select the extension that you find useful in your project and put
```kotlin
implementation("in.procyk.compose:extension-name:1.6.10.1")
```into your `commonMain` source set's dependencies block, where `extension-name` should be replaced with the
proper name from the list of available extensions.See some example in [examples](./examples) project, where every extension is added in [build.gradle.kts](./examples/build.gradle.kts).
## Extensions
- `calendar` - calendar compose implementation migrated to Kotlin Multiplatform from [ComposeCalendar](https://github.com/boguszpawlowski/ComposeCalendar). See sample usage [here](./examples/src/commonMain/kotlin/in/procyk/compose/examples/Calendars.kt).
```kotlin
implementation("in.procyk.compose:calendar:1.6.10.1")
```- `camera-qr` - detecting QR codes camera view. See sample usage [here](./examples/src/commonMain/kotlin/in/procyk/compose/examples/CameraQR.kt).
```kotlin
implementation("in.procyk.compose:camera-qr:1.6.10.1")
```
- for Android Application add to [AndroidManifest.xml](./examples/src/androidMain/AndroidManifest.xml)
```xml
```- for iOS Application add `Privacy - Camera Usage Description` entry to [Info.plist](./examples/xcode/iosApp/Info.plist)
```xml
NSCameraUsageDescription
```
- for Desktop Application add to [build.gradle.kts](./examples/build.gradle.kts)
```kotlin
runtimeEntitlementsFile.set(project.file("runtime-entitlements.plist"))
infoPlist {
extraKeysRawXml = """
NSCameraUsageDescription
""".trimIndent()
}
```
to your `macOS { ... }` block and include
[runtime-entitlements.plist](./examples/runtime-entitlements.plist) in your project source files- `camera-permission` - ask for camera permission. See sample usage [here](./examples/src/commonMain/kotlin/in/procyk/compose/examples/CameraPermission.kt).
```kotlin
implementation("in.procyk.compose:camera-permission:1.6.10.1")
```- `util` - handy functions to work with compose. Explore the [directory](./util/src/commonMain/kotlin/in/procyk/compose/util) to see what cool features are available.
```kotlin
implementation("in.procyk.compose:util:1.6.10.1")
```