Skip to content

Commit 2b5837f

Browse files
authored
feat: add borderStroke attribute to revealable() modifier (#198)
1 parent 8acfdec commit 2b5837f

File tree

11 files changed

+183
-115
lines changed

11 files changed

+183
-115
lines changed

Diff for: android-tests/src/main/kotlin/com/svenjacobs/reveal/android/tests/presentation/MainScreen.kt

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.svenjacobs.reveal.android.tests.presentation
22

3+
import androidx.compose.foundation.BorderStroke
34
import androidx.compose.foundation.layout.Column
45
import androidx.compose.foundation.layout.fillMaxSize
56
import androidx.compose.foundation.layout.padding
@@ -17,6 +18,7 @@ import androidx.compose.runtime.LaunchedEffect
1718
import androidx.compose.runtime.rememberCoroutineScope
1819
import androidx.compose.ui.Alignment
1920
import androidx.compose.ui.Modifier
21+
import androidx.compose.ui.graphics.Color
2022
import androidx.compose.ui.text.style.TextAlign
2123
import androidx.compose.ui.unit.dp
2224
import com.svenjacobs.reveal.Key
@@ -65,6 +67,7 @@ fun MainScreen(revealCanvasState: RevealCanvasState, modifier: Modifier = Modifi
6567
modifier = Modifier.revealable(
6668
key = Keys.Fab,
6769
shape = RevealShape.RoundRect(16.dp),
70+
borderStroke = BorderStroke(2.dp, Color.DarkGray),
6871
onClick = {
6972
scope.launch { revealState.reveal(Keys.Explanation) }
7073
},
@@ -92,6 +95,7 @@ fun MainScreen(revealCanvasState: RevealCanvasState, modifier: Modifier = Modifi
9295
.padding(top = 16.dp)
9396
.revealable(
9497
key = Keys.Explanation,
98+
borderStroke = BorderStroke(2.dp, Color.DarkGray),
9599
onClick = {
96100
scope.launch { revealState.hide() }
97101
},

Diff for: demo-app/.run/Demo (Android).run.xml

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="Demo (Android)" type="AndroidRunConfigurationType"
33
factoryName="Android App" activateToolWindowBeforeRun="false">
4+
<module name="RevealDemo.androidApp" />
45
<option name="ANDROID_RUN_CONFIGURATION_SCHEMA_VERSION" value="1" />
56
<option name="DEPLOY" value="true" />
67
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />

Diff for: demo-app/shared/src/commonMain/kotlin/com/svenjacobs/reveal/demo/presentation/MainScreen.kt

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.svenjacobs.reveal.demo.presentation
22

3+
import androidx.compose.foundation.BorderStroke
34
import androidx.compose.foundation.layout.Column
45
import androidx.compose.foundation.layout.fillMaxSize
56
import androidx.compose.foundation.layout.padding
@@ -17,6 +18,7 @@ import androidx.compose.runtime.LaunchedEffect
1718
import androidx.compose.runtime.rememberCoroutineScope
1819
import androidx.compose.ui.Alignment
1920
import androidx.compose.ui.Modifier
21+
import androidx.compose.ui.graphics.Color
2022
import androidx.compose.ui.text.style.TextAlign
2123
import androidx.compose.ui.unit.dp
2224
import com.svenjacobs.reveal.Key
@@ -65,6 +67,7 @@ fun MainScreen(revealCanvasState: RevealCanvasState, modifier: Modifier = Modifi
6567
modifier = Modifier.revealable(
6668
key = Keys.Fab,
6769
shape = RevealShape.RoundRect(16.dp),
70+
borderStroke = BorderStroke(2.dp, Color.DarkGray),
6871
onClick = {
6972
scope.launch { revealState.reveal(Keys.Explanation) }
7073
},
@@ -92,6 +95,7 @@ fun MainScreen(revealCanvasState: RevealCanvasState, modifier: Modifier = Modifi
9295
.padding(top = 16.dp)
9396
.revealable(
9497
key = Keys.Explanation,
98+
borderStroke = BorderStroke(2.dp, Color.DarkGray),
9599
onClick = {
96100
scope.launch { revealState.hide() }
97101
},

Diff for: reveal-core/api/android/reveal-core.api

+26-22
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
public final class com/svenjacobs/reveal/ActualRevealable {
22
public static final field $stable I
3-
public fun <init> (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;)V
3+
public fun <init> (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;)V
44
public final fun component1 ()Ljava/lang/Object;
55
public final fun component2 ()Lcom/svenjacobs/reveal/RevealShape;
66
public final fun component3 ()Landroidx/compose/foundation/layout/PaddingValues;
7-
public final fun component4 ()Landroidx/compose/ui/geometry/Rect;
8-
public final fun component5 ()Lkotlin/jvm/functions/Function1;
9-
public final fun copy (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;)Lcom/svenjacobs/reveal/ActualRevealable;
10-
public static synthetic fun copy$default (Lcom/svenjacobs/reveal/ActualRevealable;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/svenjacobs/reveal/ActualRevealable;
7+
public final fun component4 ()Landroidx/compose/foundation/BorderStroke;
8+
public final fun component5 ()Landroidx/compose/ui/geometry/Rect;
9+
public final fun component6 ()Lkotlin/jvm/functions/Function1;
10+
public final fun copy (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;)Lcom/svenjacobs/reveal/ActualRevealable;
11+
public static synthetic fun copy$default (Lcom/svenjacobs/reveal/ActualRevealable;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Landroidx/compose/ui/geometry/Rect;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/svenjacobs/reveal/ActualRevealable;
1112
public fun equals (Ljava/lang/Object;)Z
1213
public final fun getArea ()Landroidx/compose/ui/geometry/Rect;
14+
public final fun getBorderStroke ()Landroidx/compose/foundation/BorderStroke;
1315
public final fun getKey ()Ljava/lang/Object;
1416
public final fun getOnClick ()Lkotlin/jvm/functions/Function1;
1517
public final fun getPadding ()Landroidx/compose/foundation/layout/PaddingValues;
@@ -25,12 +27,12 @@ public final class com/svenjacobs/reveal/ComposableSingletons$RevealKt {
2527
}
2628

2729
public final class com/svenjacobs/reveal/ModifiersKt {
28-
public static final fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
29-
public static final fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
30-
public static final fun revealable (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
31-
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
32-
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
33-
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
30+
public static final fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
31+
public static final fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
32+
public static final fun revealable (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
33+
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
34+
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
35+
public static synthetic fun revealable$default (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealState;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
3436
}
3537

3638
public final class com/svenjacobs/reveal/RevealCanvasKt {
@@ -116,15 +118,15 @@ public final class com/svenjacobs/reveal/RevealOverlayScope$DefaultImpls {
116118
}
117119

118120
public abstract interface class com/svenjacobs/reveal/RevealScope {
119-
public abstract fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
120-
public abstract fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
121-
public abstract fun revealable (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
121+
public abstract fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
122+
public abstract fun revealable (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
123+
public abstract fun revealable (Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;)Landroidx/compose/ui/Modifier;
122124
}
123125

124126
public final class com/svenjacobs/reveal/RevealScope$DefaultImpls {
125-
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
126-
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
127-
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
127+
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;Ljava/lang/Iterable;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
128+
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
129+
public static synthetic fun revealable$default (Lcom/svenjacobs/reveal/RevealScope;Landroidx/compose/ui/Modifier;[Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/ui/Modifier;
128130
}
129131

130132
public abstract interface class com/svenjacobs/reveal/RevealShape {
@@ -192,15 +194,17 @@ public final class com/svenjacobs/reveal/RevealStateKt {
192194

193195
public final class com/svenjacobs/reveal/Revealable {
194196
public static final field $stable I
195-
public fun <init> (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;)V
197+
public fun <init> (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;)V
196198
public final fun component1 ()Ljava/lang/Object;
197199
public final fun component2 ()Lcom/svenjacobs/reveal/RevealShape;
198200
public final fun component3 ()Landroidx/compose/foundation/layout/PaddingValues;
199-
public final fun component4 ()Lcom/svenjacobs/reveal/Revealable$Layout;
200-
public final fun component5 ()Lkotlin/jvm/functions/Function1;
201-
public final fun copy (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;)Lcom/svenjacobs/reveal/Revealable;
202-
public static synthetic fun copy$default (Lcom/svenjacobs/reveal/Revealable;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/svenjacobs/reveal/Revealable;
201+
public final fun component4 ()Landroidx/compose/foundation/BorderStroke;
202+
public final fun component5 ()Lcom/svenjacobs/reveal/Revealable$Layout;
203+
public final fun component6 ()Lkotlin/jvm/functions/Function1;
204+
public final fun copy (Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;)Lcom/svenjacobs/reveal/Revealable;
205+
public static synthetic fun copy$default (Lcom/svenjacobs/reveal/Revealable;Ljava/lang/Object;Lcom/svenjacobs/reveal/RevealShape;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/BorderStroke;Lcom/svenjacobs/reveal/Revealable$Layout;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lcom/svenjacobs/reveal/Revealable;
203206
public fun equals (Ljava/lang/Object;)Z
207+
public final fun getBorderStroke ()Landroidx/compose/foundation/BorderStroke;
204208
public final fun getKey ()Ljava/lang/Object;
205209
public final fun getLayout ()Lcom/svenjacobs/reveal/Revealable$Layout;
206210
public final fun getOnClick ()Lkotlin/jvm/functions/Function1;

0 commit comments

Comments
 (0)