Skip to content

Repository files navigation

🎨 Compose Mock Preview

A Kotlin library to automatically generate mock data in Jetpack Compose @Previews using KSP.


🚀 Feature

  • Automatic generation PreviewParameterProvider
  • Nested data class support
  • Custom annotations: @LongMessagePreview, @ShortMessagePreview, etc.
  • Centralized configuration via ComposePreviewMockConfig
  • Compatible with KSP + KotlinPoet

📦 Installation ( In progress )

add KSP plugin in your build.gradle.kts :

plugins {
id("com.google.devtools.ksp") version "1.9.22-1.0.16"// update with your kotlin version
}

and add to dependencies :

dependencies {
ksp("com.recisio.compose-mock-preview:1.0.0")
implementation("com.recisio.compose-mock-preview:1.0.0")
}

🛠️ Using

1. Data class Annotation:

@ComposeMockPreviewProvider
data classTestComposable(
valtitle:String,
@LongMessagePreview valdescription:String,
valimageRes:Int,
valnested:NestedData
)

2. Add a configuration :

@ComposeMockPreviewConfiguration
classAppMockConfiguration : ComposeMockPreviewConfig {
overrideval longMessageList:List<String> =listOf("Very very long message")
overrideval shortMessageList:List<String> =listOf("short message")
overrideval resMessageList:List<Int> =listOf(R.string.app_name)
overrideval resDrawableList:List<Int> =listOf(R.drawable.ic_launcher_background)
overrideval resColorList:List<Int> =listOf(R.color.purple_700)
}

👀 Preview example

@PreviewLightDark
@Composable
funTestComposablePreview(@PreviewParameter(TestComposablePreviewProvider::class) parameter:TestComposable) {
TestCompose(parameter)
}

🧩 Module

ModuleDescription
com.recisio.compose-mock-previewAnnotations KSP (@ComposeMockPreviewProvider) + KSP PreviewParameterProvider auto generate file

📝 Licence

MIT © Recisio

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages