Skip to content
This repository was archived by the owner on Mar 6, 2024. It is now read-only.

Commit 0fb1c09

Browse files
committed
Add Parcelize
1 parent 9e3cb1c commit 0fb1c09

File tree

14 files changed

+41
-1
lines changed

14 files changed

+41
-1
lines changed

componentbox/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ plugins {
1414
id("org.jetbrains.kotlin.native.cocoapods")
1515
id("com.rickclephas.kmp.nativecoroutines")
1616
id("com.chromaticnoise.multiplatform-swiftpackage") version "2.0.3"
17+
id("kotlin-android-extensions")
1718
}
1819

1920
multiplatformSwiftPackage {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package com.dropbox.componentbox.foundation
2+
3+
actual typealias Parcelize = kotlinx.android.parcel.Parcelize

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/BorderStroke.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
data class BorderStroke(
78
val width: Int,

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/ButtonVariant.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.dropbox.componentbox.foundation
22

3+
import kotlinx.serialization.Serializable
34

4-
@kotlinx.serialization.Serializable
5+
@Parcelize
6+
@Serializable
57
enum class ButtonVariant: Parcelable {
68
Contained,
79
Text,

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/Component.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
sealed class Component: Parcelable {
78

9+
@Parcelize
810
@Serializable
911
data class Box(
1012
val id: String,
@@ -15,6 +17,7 @@ sealed class Component: Parcelable {
1517
var action: String? = null,
1618
) : Component(), Parcelable
1719

20+
@Parcelize
1821
@Serializable
1922
data class Row(
2023
val id: String,
@@ -26,6 +29,7 @@ sealed class Component: Parcelable {
2629
var isLazy: Boolean? = null
2730
) : Component(), Parcelable
2831

32+
@Parcelize
2933
@Serializable
3034
data class Column(
3135
val id: String,
@@ -38,6 +42,7 @@ sealed class Component: Parcelable {
3842
var action: String? = null
3943
) : Component(), Parcelable
4044

45+
@Parcelize
4146
@Serializable
4247
data class Text(
4348
val id: String,
@@ -47,6 +52,7 @@ sealed class Component: Parcelable {
4752
var textStyle: String? = null
4853
) : Component(), Parcelable
4954

55+
@Parcelize
5056
@Serializable
5157
data class Button(
5258
val id: String,
@@ -57,6 +63,7 @@ sealed class Component: Parcelable {
5763
var variant: String? = null,
5864
) : Component(), Parcelable
5965

66+
@Parcelize
6067
@Serializable
6168
data class Switch(
6269
val id: String,
@@ -65,6 +72,7 @@ sealed class Component: Parcelable {
6572
var action: String? = null,
6673
) : Component(), Parcelable
6774

75+
@Parcelize
6876
@Serializable
6977
data class Drawable(
7078
val id: String,
@@ -76,6 +84,7 @@ sealed class Component: Parcelable {
7684
var contentScale: ContentScale? = null
7785
) : Component(), Parcelable
7886

87+
@Parcelize
7988
@Serializable
8089
data class Vector(
8190
val id: String,
@@ -86,6 +95,7 @@ sealed class Component: Parcelable {
8695
var color: Color? = null
8796
) : Component(), Parcelable
8897

98+
@Parcelize
8999
@Serializable
90100
data class Surface(
91101
val id: String,

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/ComponentBox.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
sealed class ComponentBox: Parcelable {
8+
@Parcelize
79
@Serializable
810
data class Screen(
911
val title: String?,
@@ -12,13 +14,15 @@ sealed class ComponentBox: Parcelable {
1214
val components: List<Component>
1315
) : ComponentBox(), Parcelable
1416

17+
@Parcelize
1518
@Serializable
1619
data class Modal(
1720
val verticalArrangement: Arrangement,
1821
val horizontalAlignment: Alignment,
1922
val components: List<Component>
2023
) : ComponentBox(), Parcelable
2124

25+
@Parcelize
2226
@Serializable
2327
data class Banner(
2428
val verticalArrangement: Arrangement,

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/ComponentBoxType.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
enum class ComponentBoxType: Parcelable {
78
Screen,

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/ComponentType.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
enum class ComponentType: Parcelable {
78
Box,
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.dropbox.componentbox.foundation
2+
3+
@OptIn(ExperimentalMultiplatform::class)
4+
@OptionalExpectation
5+
@Target(AnnotationTarget.CLASS)
6+
@Retention(AnnotationRetention.BINARY)
7+
expect annotation class Parcelize()

componentbox/src/commonMain/kotlin/com/dropbox/componentbox/foundation/Shape.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.dropbox.componentbox.foundation
22

33
import kotlinx.serialization.Serializable
44

5+
@Parcelize
56
@Serializable
67
enum class Shape: Parcelable {
78
RectangleShape,

0 commit comments

Comments
 (0)