dokar3 / compose-sonner Goto Github PK
View Code? Open in Web Editor NEWAn opinionated toast component for Compose Multiplatform.
Home Page: https://dokar3.github.io/compose-sonner/
License: Apache License 2.0
An opinionated toast component for Compose Multiplatform.
Home Page: https://dokar3.github.io/compose-sonner/
License: Apache License 2.0
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
com.android.library
, com.android.application
)org.jetbrains.kotlin.plugin.compose
, org.jetbrains.kotlin.android
, org.jetbrains.kotlin.multiplatform
, org.jetbrains.kotlin:kotlin-test
).github/workflows/build.yaml
actions/checkout v4
actions/setup-java v4
gradle/gradle-build-action v3.5.0
.github/workflows/publish-library.yaml
actions/checkout v4
actions/setup-java v4
gradle/gradle-build-action v3.5.0
macos 14
.github/workflows/publish-wasmjs-demo.yaml
actions/checkout v4
actions/setup-java v4
gradle/gradle-build-action v3.5.0
actions/upload-pages-artifact v3
actions/deploy-pages v4
gradle.properties
settings.gradle.kts
build.gradle.kts
gradle/libs.versions.toml
org.jetbrains.kotlin:kotlin-test 2.0.0
androidx.activity:activity-compose 1.9.0
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.1
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.1
com.android.application 8.5.1
com.android.library 8.5.1
org.jetbrains.compose 1.6.11
org.jetbrains.kotlin.multiplatform 2.0.0
org.jetbrains.kotlin.android 2.0.0
org.jetbrains.kotlin.plugin.compose 2.0.0
com.vanniktech.maven.publish 0.29.0
sample/build.gradle.kts
sonner/gradle.properties
sonner/build.gradle.kts
gradle/wrapper/gradle-wrapper.properties
gradle 8.9
val someResourceFile = ... // can be also a task that generates resources.
kotlin {
// declared targets
sourceSets {
yourTargetsMain {
resources.srcDir(someResourceFile)
}
}
}
/**
* Workaround for https://youtrack.jetbrains.com/issue/KT-65315
* Please remove after upgrade to Kotlin 2.0
*/
tasks.withType(MetadataDependencyTransformationTask::class).configureEach {
if (kotlinToolingVersion >= KotlinToolingVersion("2.0.0-RC1")) error("Please remove workaround for KT-65315")
fun File.isValidDependency(): Boolean {
if (extension != "klib") return true
val klibManifestEntry = ZipFile(this).getEntry("default/manifest")
return klibManifestEntry != null
}
val transformedLibrariesGetter = MetadataDependencyTransformationTask::class.java
.getDeclaredMethod("getTransformedLibrariesIndexFile")
transformedLibrariesGetter.isAccessible = true
doLast {
val transformedLibrariesFileProperty = transformedLibrariesGetter.invoke(this) as RegularFileProperty
val transformedLibrariesFile = transformedLibrariesFileProperty.get().asFile
val validTransformedLibraries = transformedLibrariesFile
.readLines()
.map(::File)
.filter { it.isValidDependency() }
transformedLibrariesFile.writeText(
validTransformedLibraries.joinToString("\n") { it.absolutePath }
)
}
}
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/dokar/sonner/ToasterStateKt has been compiled by a more recent version of the Java Runtime (class file version 64.0), this version of the Java Runtime only recognizes class file versions up to 61.0
I'm trying to use this in a project that uses Java 17. I'm not ready to update because some of the tooling breaks with 21.
Could you switch from Java 20 to 17?
toastState.listenMany(
errorMessages.map { entries ->
entries.map { entry ->
Toast(
id = entry.key,
message = entry.value.toString(),
duration = ToasterDefaults.DurationLong,
action = TextToastAction(
text = "Dismiss",
onClick = { toastState.dismiss(it.id) }
)
)
}
}
)
The toast is not equal to itself, because the TextToastAction
is created each time. The updateOrShow
has a problem in this case. I think showing a toast with the same id
should leave it in place. That is, don't check if it's at the end and just always update it in place.
I suppose I could handle this myself, but I think any users would appreciate the change.
My suggestion is that the duration for a toast should start when it is the top toast on the stack, instead of when it's created.
First of all, great library! Thank you!
I'm using it to move an android app to kmp and replacing Android's toasts.
It seems to have an issue with compose 1.7.0-alpha01 on iOS specifically. When I try to toast I get this:
Uncaught Kotlin exception: kotlin.native.internal.IrLinkageError: Function 'clickable' can not be called: No function found for symbol 'androidx.compose.foundation/clickable|[email protected](androidx.compose.foundation.interaction.MutableInteractionSource;androidx.compose.foundation.Indication?;kotlin.Boolean;kotlin.String?;androidx.compose.ui.semantics.Role?;kotlin.Function0<kotlin.Unit>){}[0]'
at 0 ComposeDestinationsPlayground 0x100fb7733 kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119
at 1 ComposeDestinationsPlayground 0x100fb0b07 kfun:kotlin.Error#<init>(kotlin.String?){} + 115
at 2 ComposeDestinationsPlayground 0x100fe99cf kfun:kotlin.native.internal.IrLinkageError#<init>(kotlin.String?){} + 115
at 3 ComposeDestinationsPlayground 0x100fe9a87 kfun:kotlin.native.internal#ThrowIrLinkageError(kotlin.String?){}kotlin.Nothing + 163
at 4 ComposeDestinationsPlayground 0x1021ca75b kfun:com.dokar.sonner.ToastItem#internal + 13771
at 5 ComposeDestinationsPlayground 0x1021d056b kfun:com.dokar.sonner.Toaster$lambda$27$lambda$26$lambda$25$lambda$24#internal + 3499
at 6 ComposeDestinationsPlayground 0x1021da6fb kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$lambda$25$lambda$24$FUNCTION_REFERENCE$35.invoke#internal + 311
at 7 ComposeDestinationsPlayground 0x1021dac87 kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$lambda$25$lambda$24$FUNCTION_REFERENCE$35.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159
at 8 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 9 ComposeDestinationsPlayground 0x10143645f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603
at 10 ComposeDestinationsPlayground 0x101444957 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163
at 11 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 12 ComposeDestinationsPlayground 0x1021cb89b kfun:com.dokar.sonner.ComposableSingletons$ToasterKt.<init>$lambda$3#internal + 599
at 13 ComposeDestinationsPlayground 0x1021cbe1b kfun:com.dokar.sonner.ComposableSingletons$ToasterKt.$<init>$lambda$3$FUNCTION_REFERENCE$27.invoke#internal + 151
at 14 ComposeDestinationsPlayground 0x1021cbf17 kfun:com.dokar.sonner.ComposableSingletons$ToasterKt.$<init>$lambda$3$FUNCTION_REFERENCE$27.$<bridge-UNNNNNB>invoke(com.dokar.sonner.Toast;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 231
at 15 ComposeDestinationsPlayground 0x1010f1b4b kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131
at 16 ComposeDestinationsPlayground 0x101436b5f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 679
at 17 ComposeDestinationsPlayground 0x101444b73 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNNNB>invoke(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 235
at 18 ComposeDestinationsPlayground 0x1010f1b4b kfun:kotlin.Function4#invoke(1:0;1:1;1:2;1:3){}1:4-trampoline + 131
at 19 ComposeDestinationsPlayground 0x1021d0bdf kfun:com.dokar.sonner.Toaster$lambda$27$lambda$26$lambda$25#internal + 1555
at 20 ComposeDestinationsPlayground 0x1021daf6b kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$lambda$25$FUNCTION_REFERENCE$37.invoke#internal + 319
at 21 ComposeDestinationsPlayground 0x1021db527 kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$lambda$25$FUNCTION_REFERENCE$37.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159
at 22 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 23 ComposeDestinationsPlayground 0x10143645f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603
at 24 ComposeDestinationsPlayground 0x101444957 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163
at 25 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 26 ComposeDestinationsPlayground 0x101336dc3 kfun:androidx.compose.runtime#CompositionLocalProvider(kotlin.Array<out|androidx.compose.runtime.ProvidedValue<*>>...;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 595
at 27 ComposeDestinationsPlayground 0x1021d1be3 kfun:com.dokar.sonner.Toaster$lambda$27$lambda$26#internal + 4003
at 28 ComposeDestinationsPlayground 0x1021dc027 kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$FUNCTION_REFERENCE$44.invoke#internal + 323
at 29 ComposeDestinationsPlayground 0x1021dc5c3 kfun:com.dokar.sonner.$Toaster$lambda$27$lambda$26$FUNCTION_REFERENCE$44.$<bridge-UNNBNB>invoke(kotlin.Int;androidx.compose.runtime.Composer;kotlin.Int){}#internal + 203
at 30 ComposeDestinationsPlayground 0x1010e5207 kfun:kotlin.Function3#invoke(1:0;1:1;1:2){}1:3-trampoline + 123
at 31 ComposeDestinationsPlayground 0x1014367bb kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 635
at 32 ComposeDestinationsPlayground 0x101444a53 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNNB>invoke(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(kotlin.Any?;androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 199
at 33 ComposeDestinationsPlayground 0x1010e5207 kfun:kotlin.Function3#invoke(1:0;1:1;1:2){}1:3-trampoline + 123
at 34 ComposeDestinationsPlayground 0x1021bd7f3 kfun:com.dokar.sonner.ToasterItemProvider.Item#internal + 883
at 35 ComposeDestinationsPlayground 0x10209680b kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemProvider#Item(kotlin.Int;kotlin.Any;androidx.compose.runtime.Composer?;kotlin.Int){}-trampoline + 123
at 36 ComposeDestinationsPlayground 0x10202416b kfun:androidx.compose.foundation.lazy.layout.SkippableItem$lambda$0#internal + 535
at 37 ComposeDestinationsPlayground 0x10202436f kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.invoke#internal + 123
at 38 ComposeDestinationsPlayground 0x1020244db kfun:androidx.compose.foundation.lazy.layout.$SkippableItem$lambda$0$FUNCTION_REFERENCE$2.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159
at 39 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 40 ComposeDestinationsPlayground 0x10143645f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603
at 41 ComposeDestinationsPlayground 0x101444957 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163
at 42 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 43 ComposeDestinationsPlayground 0x101337137 kfun:androidx.compose.runtime#CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<*>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){} + 595
at 44 ComposeDestinationsPlayground 0x101bb767b kfun:androidx.compose.runtime.saveable.SaveableStateHolderImpl.SaveableStateProvider#internal + 2251
at 45 ComposeDestinationsPlayground 0x101bbbf6f kfun:androidx.compose.runtime.saveable.SaveableStateHolder#SaveableStateProvider(kotlin.Any;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){}-trampoline + 123
at 46 ComposeDestinationsPlayground 0x1020296af kfun:androidx.compose.foundation.lazy.layout.LazySaveableStateHolder.SaveableStateProvider#internal + 823
at 47 ComposeDestinationsPlayground 0x101bbbf6f kfun:androidx.compose.runtime.saveable.SaveableStateHolder#SaveableStateProvider(kotlin.Any;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int){}-trampoline + 123
at 48 ComposeDestinationsPlayground 0x102023e0f kfun:androidx.compose.foundation.lazy.layout.SkippableItem#internal + 1463
at 49 ComposeDestinationsPlayground 0x10202325f kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.createContentLambda$lambda$1#internal + 2059
at 50 ComposeDestinationsPlayground 0x10202350b kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.invoke#internal + 119
at 51 ComposeDestinationsPlayground 0x10202365f kfun:androidx.compose.foundation.lazy.layout.LazyLayoutItemContentFactory.CachedItemContent.$createContentLambda$lambda$1$FUNCTION_REFERENCE$0.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159
at 52 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 53 ComposeDestinationsPlayground 0x10143645f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603
at 54 ComposeDestinationsPlayground 0x101444957 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163
at 55 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 56 ComposeDestinationsPlayground 0x101d18f3f kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose$lambda$0#internal + 827
at 57 ComposeDestinationsPlayground 0x101d1ada7 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$0$FUNCTION_REFERENCE$6.invoke#internal + 119
at 58 ComposeDestinationsPlayground 0x101d1aefb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.$subcompose$lambda$0$FUNCTION_REFERENCE$6.$<bridge-UNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}#internal + 159
at 59 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 60 ComposeDestinationsPlayground 0x10143645f kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any? + 603
at 61 ComposeDestinationsPlayground 0x101444957 kfun:androidx.compose.runtime.internal.ComposableLambdaImpl#$<bridge-NNNNB>invoke(androidx.compose.runtime.Composer;kotlin.Int){}kotlin.Any?(androidx.compose.runtime.Composer;kotlin.Any?){}kotlin.Any? + 163
at 62 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 63 ComposeDestinationsPlayground 0x101448ccf kfun:androidx.compose.runtime#invokeComposable(androidx.compose.runtime.Composer;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 215
at 64 ComposeDestinationsPlayground 0x1013176d7 kfun:androidx.compose.runtime.ComposerImpl.doCompose#internal + 2407
at 65 ComposeDestinationsPlayground 0x101316937 kfun:androidx.compose.runtime.ComposerImpl#composeContent(androidx.compose.runtime.collection.ScopeMap<androidx.compose.runtime.RecomposeScopeImpl,kotlin.Any>;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 275
at 66 ComposeDestinationsPlayground 0x10132523b kfun:androidx.compose.runtime.CompositionImpl#composeContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 851
at 67 ComposeDestinationsPlayground 0x10144df0f kfun:androidx.compose.runtime.ControlledComposition#composeContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}-trampoline + 99
at 68 ComposeDestinationsPlayground 0x10134e6cf kfun:androidx.compose.runtime.Recomposer#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 767
at 69 ComposeDestinationsPlayground 0x10144d26b kfun:androidx.compose.runtime.CompositionContext#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}-trampoline + 67
at 70 ComposeDestinationsPlayground 0x101319deb kfun:androidx.compose.runtime.ComposerImpl.CompositionContextImpl.composeInitial#internal + 195
at 71 ComposeDestinationsPlayground 0x10144d26b kfun:androidx.compose.runtime.CompositionContext#composeInitial(androidx.compose.runtime.ControlledComposition;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}-trampoline + 67
at 72 ComposeDestinationsPlayground 0x101324637 kfun:androidx.compose.runtime.CompositionImpl.composeInitial#internal + 315
at 73 ComposeDestinationsPlayground 0x1013243e3 kfun:androidx.compose.runtime.CompositionImpl#setContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){} + 95
at 74 ComposeDestinationsPlayground 0x10144dd8b kfun:androidx.compose.runtime.ReusableComposition#setContent(kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}-trampoline + 99
at 75 ComposeDestinationsPlayground 0x101d129eb kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcomposeInto#internal + 419
at 76 ComposeDestinationsPlayground 0x101d1271f kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal.34 + 1159
at 77 ComposeDestinationsPlayground 0x101d12257 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose#internal + 935
at 78 ComposeDestinationsPlayground 0x101d11d8b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState#subcompose(kotlin.Any?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}kotlin.collections.List<androidx.compose.ui.layout.Measurable> + 2335
at 79 ComposeDestinationsPlayground 0x101d16e2b kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.Scope.subcompose#internal + 135
at 80 ComposeDestinationsPlayground 0x101ed4123 kfun:androidx.compose.ui.layout.SubcomposeMeasureScope#subcompose(kotlin.Any?;kotlin.Function2<androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>){}kotlin.collections.List<androidx.compose.ui.layout.Measurable>-trampoline + 115
at 81 ComposeDestinationsPlayground 0x1020254eb kfun:androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl#measure(kotlin.Int;androidx.compose.ui.unit.Constraints){}kotlin.collections.List<androidx.compose.ui.layout.Placeable> + 775
at 82 ComposeDestinationsPlayground 0x1020949a3 kfun:androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope#measure(kotlin.Int;androidx.compose.ui.unit.Constraints){}kotlin.collections.List<androidx.compose.ui.layout.Placeable>-trampoline + 115
at 83 ComposeDestinationsPlayground 0x1021bf263 kfun:com.dokar.sonner.LazyToasterBox$lambda$4#internal + 1471
at 84 ComposeDestinationsPlayground 0x1021bfe0b kfun:com.dokar.sonner.$LazyToasterBox$lambda$4$FUNCTION_REFERENCE$3.invoke#internal + 151
at 85 ComposeDestinationsPlayground 0x1021c0027 kfun:com.dokar.sonner.$LazyToasterBox$lambda$4$FUNCTION_REFERENCE$3.$<bridge-NNNNB>invoke(androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult#internal + 163
at 86 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 87 ComposeDestinationsPlayground 0x10201d70f kfun:androidx.compose.foundation.lazy.layout.LazyLayout$lambda$5$lambda$4#internal + 359
at 88 ComposeDestinationsPlayground 0x10201f113 kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$5$lambda$4$FUNCTION_REFERENCE$6.invoke#internal + 127
at 89 ComposeDestinationsPlayground 0x10201f28b kfun:androidx.compose.foundation.lazy.layout.$LazyLayout$lambda$5$lambda$4$FUNCTION_REFERENCE$6.$<bridge-NNNNB>invoke(androidx.compose.ui.layout.SubcomposeMeasureScope;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult#internal + 163
at 90 ComposeDestinationsPlayground 0x1010e5113 kfun:kotlin.Function2#invoke(1:0;1:1){}1:2-trampoline + 115
at 91 ComposeDestinationsPlayground 0x101d19773 kfun:androidx.compose.ui.layout.LayoutNodeSubcompositionsState.object-1.measure#internal + 1067
at 92 ComposeDestinationsPlayground 0x101ed23d3 kfun:androidx.compose.ui.layout.MeasurePolicy#measure__at__androidx.compose.ui.layout.MeasureScope(kotlin.collections.List<androidx.compose.ui.layout.Measurable>;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult-trampoline + 123
at 93 ComposeDestinationsPlayground 0x101d32d83 kfun:androidx.compose.ui.node.InnerNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1043
at 94 ComposeDestinationsPlayground 0x101eda96f kfun:androidx.compose.ui.node.NodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable-trampoline + 67
at 95 ComposeDestinationsPlayground 0x101d6d843 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.<init>$lambda$0#internal + 175
at 96 ComposeDestinationsPlayground 0x101d6d9cf kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$<init>$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 71
at 97 ComposeDestinationsPlayground 0x101d6da9f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$<init>$lambda$0$FUNCTION_REFERENCE$0.$<bridge-UNN>invoke(){}#internal + 71
at 98 ComposeDestinationsPlayground 0x1010e14ab kfun:kotlin.Function0#invoke(){}1:0-trampoline + 99
at 99 ComposeDestinationsPlayground 0x1013f5a27 kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1023
at 100 ComposeDestinationsPlayground 0x10142d34b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 819
at 101 ComposeDestinationsPlayground 0x10142a7ff kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<kotlin.Any>} + 1255
at 102 ComposeDestinationsPlayground 0x101da58b3 kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<androidx.compose.ui.node.OwnerScope>} + 227
at 103 ComposeDestinationsPlayground 0x101da55cb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeMeasureSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0<kotlin.Unit>){} + 411
at 104 ComposeDestinationsPlayground 0x101d6cbe3 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure#internal + 567
at 105 ComposeDestinationsPlayground 0x101d5fc23 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#remeasure(androidx.compose.ui.unit.Constraints){}kotlin.Boolean + 1023
at 106 ComposeDestinationsPlayground 0x101d5f7db kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 711
at 107 ComposeDestinationsPlayground 0x101ec4be7 kfun:androidx.compose.ui.layout.Measurable#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable-trampoline + 107
at 108 ComposeDestinationsPlayground 0x101e389ff kfun:androidx.compose.ui.window.RootMeasurePolicy$lambda$1#internal + 1003
at 109 ComposeDestinationsPlayground 0x101e391c7 kfun:androidx.compose.ui.window.$RootMeasurePolicy$lambda$1$FUNCTION_REFERENCE$0.measure#internal + 231
at 110 ComposeDestinationsPlayground 0x101e393a7 kfun:androidx.compose.ui.window.$RootMeasurePolicy$lambda$1$FUNCTION_REFERENCE$0.$<bridge-NNNNU>[email protected](androidx.compose.ui.layout.MeasureScope;kotlin.collections.List<androidx.compose.ui.layout.Measurable>){}androidx.compose.ui.layout.MeasureResult#internal + 239
at 111 ComposeDestinationsPlayground 0x101ed23d3 kfun:androidx.compose.ui.layout.MeasurePolicy#measure__at__androidx.compose.ui.layout.MeasureScope(kotlin.collections.List<androidx.compose.ui.layout.Measurable>;androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.MeasureResult-trampoline + 123
at 112 ComposeDestinationsPlayground 0x101d32d83 kfun:androidx.compose.ui.node.InnerNodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 1043
at 113 ComposeDestinationsPlayground 0x101eda96f kfun:androidx.compose.ui.node.NodeCoordinator#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable-trampoline + 67
at 114 ComposeDestinationsPlayground 0x101d6d843 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.<init>$lambda$0#internal + 175
at 115 ComposeDestinationsPlayground 0x101d6d9cf kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$<init>$lambda$0$FUNCTION_REFERENCE$0.invoke#internal + 71
at 116 ComposeDestinationsPlayground 0x101d6da9f kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.$<init>$lambda$0$FUNCTION_REFERENCE$0.$<bridge-UNN>invoke(){}#internal + 71
at 117 ComposeDestinationsPlayground 0x1010e14ab kfun:kotlin.Function0#invoke(){}1:0-trampoline + 99
at 118 ComposeDestinationsPlayground 0x1013f5a27 kfun:androidx.compose.runtime.snapshots.Snapshot.Companion#observe(kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function1<kotlin.Any,kotlin.Unit>?;kotlin.Function0<0:0>){0§<kotlin.Any?>}0:0 + 1023
at 119 ComposeDestinationsPlayground 0x10142d34b kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver.ObservedScopeMap.observe#internal + 819
at 120 ComposeDestinationsPlayground 0x10142a7ff kfun:androidx.compose.runtime.snapshots.SnapshotStateObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<kotlin.Any>} + 1255
at 121 ComposeDestinationsPlayground 0x101da58b3 kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeReads(0:0;kotlin.Function1<0:0,kotlin.Unit>;kotlin.Function0<kotlin.Unit>){0§<androidx.compose.ui.node.OwnerScope>} + 227
at 122 ComposeDestinationsPlayground 0x101da55cb kfun:androidx.compose.ui.node.OwnerSnapshotObserver#observeMeasureSnapshotReads(androidx.compose.ui.node.LayoutNode;kotlin.Boolean;kotlin.Function0<kotlin.Unit>){} + 411
at 123 ComposeDestinationsPlayground 0x101d6cbe3 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.performMeasure#internal + 567
at 124 ComposeDestinationsPlayground 0x101d5fc23 kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#remeasure(androidx.compose.ui.unit.Constraints){}kotlin.Boolean + 1023
at 125 ComposeDestinationsPlayground 0x101d5f7db kfun:androidx.compose.ui.node.LayoutNodeLayoutDelegate.MeasurePassDelegate#measure(androidx.compose.ui.unit.Constraints){}androidx.compose.ui.layout.Placeable + 711
I assume if you update to that compose version, you'll see this error also when you toast on iOS version. Or maybe it won't even let you compile, coz it seems like something is broken at bytecode level.
Maybe the fix would require you to support two versions, one for compose 1.7 and one for 1.6 😛
In readme.md
Under "Button" section
// Enable close buttons
Toaster(
state = toaster,
closeButton = true,
)
this should be
// Enable close buttons
Toaster(
state = toaster,
showCloseButton = true,
)
as closeButton
does not accept a boolean while showCloseButton
does.
Hey @dokar3, it's a cool library you've got going on here 👏
As you mentioned in your comment (iOS target. Waiting for contributors because I don't have any Apple devices to run
), I can try to help you out here as I have a Macbook. We can test the iOS implementation on an iOS simulator.
Would you like to create a new feature branch containing the iOS implementation that I can test out and give you any kind of feedback you'd like?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.