From a1efd84097837d24c4a5095a0c1c21e9430715d2 Mon Sep 17 00:00:00 2001 From: Wing <44992537+wingio@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:20:16 -0400 Subject: [PATCH] Remove compose stable markers --- syntakts-core/build.gradle.kts | 1 - .../kotlin/xyz/wingio/syntakts/Syntakts.kt | 4 --- .../xyz/wingio/syntakts/markdown/Markdown.kt | 1 - .../xyz/wingio/syntakts/node/ClickableNode.kt | 2 -- .../kotlin/xyz/wingio/syntakts/node/Node.kt | 2 -- .../xyz/wingio/syntakts/node/StyleNode.kt | 2 -- .../xyz/wingio/syntakts/node/TextNode.kt | 2 -- .../xyz/wingio/syntakts/parser/ParseSpec.kt | 2 -- .../kotlin/xyz/wingio/syntakts/parser/Rule.kt | 3 --- .../kotlin/xyz/wingio/syntakts/style/Color.kt | 4 --- .../xyz/wingio/syntakts/style/FontWeight.kt | 25 +------------------ .../kotlin/xyz/wingio/syntakts/style/Style.kt | 3 --- .../syntakts/style/StyledTextBuilder.kt | 3 --- .../wingio/syntakts/style/TextDecoration.kt | 2 -- .../xyz/wingio/syntakts/style/TextUnit.kt | 6 ----- 15 files changed, 1 insertion(+), 61 deletions(-) diff --git a/syntakts-core/build.gradle.kts b/syntakts-core/build.gradle.kts index f2a4531..dfda988 100644 --- a/syntakts-core/build.gradle.kts +++ b/syntakts-core/build.gradle.kts @@ -31,7 +31,6 @@ kotlin { sourceSets { commonMain { dependencies { - compileOnly(libs.compose.stable.marker) implementation(libs.kotlin.coroutines.core) } } diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/Syntakts.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/Syntakts.kt index 719fbee..3d16dcc 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/Syntakts.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/Syntakts.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.node.Node import xyz.wingio.syntakts.node.node import xyz.wingio.syntakts.parser.ParseRule @@ -19,7 +18,6 @@ import kotlin.time.measureTime * * @param C The context passed to a [Node] when its getting rendered, can be any class */ -@Stable public class Syntakts internal constructor( private val rules: List>, @Deprecated("Use debugOptions instead") @@ -34,7 +32,6 @@ public class Syntakts internal constructor( * @param logger Used to log rule matches and parsing time * @param storeMetadata Whether to store some metadata in each node */ - @Stable public data class DebugOptions( var enableLogging: Boolean = false, var logger: Logger? = null, @@ -46,7 +43,6 @@ public class Syntakts internal constructor( * * @param C The context passed to a [Node] when its getting rendered, can be any class */ - @Stable public class Builder { /** diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/markdown/Markdown.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/markdown/Markdown.kt index d05675a..377dbe3 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/markdown/Markdown.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/markdown/Markdown.kt @@ -3,7 +3,6 @@ package xyz.wingio.syntakts.markdown import xyz.wingio.syntakts.Syntakts import xyz.wingio.syntakts.node.Node import xyz.wingio.syntakts.node.styleNode -import xyz.wingio.syntakts.node.textNode import xyz.wingio.syntakts.parser.ParseSpec import xyz.wingio.syntakts.style.FontStyle import xyz.wingio.syntakts.style.FontWeight diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/ClickableNode.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/ClickableNode.kt index 515c002..d5f3d7c 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/ClickableNode.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/ClickableNode.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.node -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.parser.ParseSpec import xyz.wingio.syntakts.style.StyledTextBuilder @@ -10,7 +9,6 @@ import xyz.wingio.syntakts.style.StyledTextBuilder * @param onClick Callback for when the child nodes are clicked * @param onLongClick Callback for when the child nodes are long clicked */ -@Stable public class ClickableNode( public val onClick: () -> Unit, public val onLongClick: (() -> Unit)? = null diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/Node.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/Node.kt index 9b8cedc..8b0a6bb 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/Node.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/Node.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.node -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.style.StyledTextBuilder /** @@ -10,7 +9,6 @@ import xyz.wingio.syntakts.style.StyledTextBuilder * @param _metadata Metadata associated with this node, only present when the storeMetadata [debug option][xyz.wingio.syntakts.Syntakts.DebugOptions] is enabled * @param C (Context) Extra information to be used when rendering */ -@Stable public open class Node( private var _children: MutableCollection>? = null, private var _metadata: MetaData? = null diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/StyleNode.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/StyleNode.kt index 9da85c0..7f095f9 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/StyleNode.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/StyleNode.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.node -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.parser.ParseSpec import xyz.wingio.syntakts.style.Style import xyz.wingio.syntakts.style.StyledTextBuilder @@ -10,7 +9,6 @@ import xyz.wingio.syntakts.style.StyledTextBuilder * * @param style The style to apply */ -@Stable public open class StyleNode( public val style: Style ): Node.Parent() { diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/TextNode.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/TextNode.kt index 75fc28c..23af02a 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/TextNode.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/node/TextNode.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.node -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.parser.ParseSpec import xyz.wingio.syntakts.style.StyledTextBuilder @@ -9,7 +8,6 @@ import xyz.wingio.syntakts.style.StyledTextBuilder * * @param content The text to append */ -@Stable public open class TextNode( public val content: CharSequence ): Node() { diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/ParseSpec.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/ParseSpec.kt index 3c6bf4b..ad4c45d 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/ParseSpec.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/ParseSpec.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.parser -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.node.Node /** @@ -16,7 +15,6 @@ import xyz.wingio.syntakts.node.Node * * @param C The context used to pass additional information to a [Node] when rendering */ -@Stable public class ParseSpec { public val root: Node diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/Rule.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/Rule.kt index 02ff2b1..313135e 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/Rule.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/parser/Rule.kt @@ -1,11 +1,9 @@ package xyz.wingio.syntakts.parser -import androidx.compose.runtime.Stable import xyz.wingio.syntakts.Syntakts import xyz.wingio.syntakts.node.node import xyz.wingio.syntakts.node.textNode -@Stable public open class Rule( public val regex: Regex, public val name: String, @@ -23,7 +21,6 @@ public open class Rule( /** * Uses the result of the match to generate a [ParseSpec], usually done using [node] */ -@Stable public fun interface ParseRule { /** diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Color.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Color.kt index 50652d8..dcee465 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Color.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Color.kt @@ -1,7 +1,5 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Immutable -import androidx.compose.runtime.Stable import kotlin.math.roundToInt /** @@ -13,8 +11,6 @@ import kotlin.math.roundToInt * @param alpha Number representing how much opacity this color has (0-255) * @param ignore Whether or not to ignore this color */ -@Stable -@Immutable public data class Color( /* @IntRange(0, 255) */ val red: Int, diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/FontWeight.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/FontWeight.kt index 781e4a1..7a79f4c 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/FontWeight.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/FontWeight.kt @@ -1,15 +1,10 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Immutable -import androidx.compose.runtime.Stable - /** * Multiplatform representation of font weight * * @param weight Thickness of the glyphs, between 1 and 1000 */ -@Stable -@Immutable public data class FontWeight( public val weight: Int ) { @@ -18,112 +13,94 @@ public data class FontWeight( /** * [Thin] */ - @Stable public val W100: FontWeight = FontWeight(100) /** * [ExtraLight] */ - @Stable public val W200: FontWeight = FontWeight(200) /** * [Light] */ - @Stable public val W300: FontWeight = FontWeight(300) /** * [Normal], regular, default */ - @Stable public val W400: FontWeight = FontWeight(400) /** * [Medium] */ - @Stable public val W500: FontWeight = FontWeight(500) /** * [SemiBold] */ - @Stable public val W600: FontWeight = FontWeight(600) /** * [Bold] */ - @Stable public val W700: FontWeight = FontWeight(700) /** * [ExtraBold] */ - @Stable public val W800: FontWeight = FontWeight(800) /** * [Black] */ - @Stable public val W900: FontWeight = FontWeight(900) /** * Alias for [W100] */ - @Stable public val Thin: FontWeight = W100 /** * Alias for [W200] */ - @Stable public val ExtraLight: FontWeight = W200 /** * Alias for [W300] */ - @Stable public val Light: FontWeight = W300 /** * Alias for [W400] */ - @Stable public val Normal: FontWeight = W400 /** * Alias for [W500] */ - @Stable public val Medium: FontWeight = W500 /** * Alias for [W600] */ - @Stable public val SemiBold: FontWeight = W600 /** * Alias for [W700] */ - @Stable public val Bold: FontWeight = W700 /** * Alias for [W800] */ - @Stable public val ExtraBold: FontWeight = W800 /** * Alias for [W900] */ - @Stable public val Black: FontWeight = W900 - @Stable + public val values: List = listOf(W100, W200, W300, W400, W500, W600, W700, W800, W900) } diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Style.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Style.kt index bfc7151..a178a55 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Style.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/Style.kt @@ -1,6 +1,5 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Stable /** * Collection of properties that can be used to style text @@ -14,7 +13,6 @@ import androidx.compose.runtime.Stable * @param paragraphStyle Set of styles for blocks of text, applying could separate the text as if a line feed was added * @param font The font or font family for the text, see [Fonts] for default values */ -@Stable public data class Style( var color: Color? = null, var background: Color? = null, @@ -44,7 +42,6 @@ public data class Style( * * @param lineHeight Line height for a paragraph in either [sp][Sp] or [em][Em] */ -@Stable public data class ParagraphStyle( var lineHeight: TextUnit = TextUnit.Unspecified ) \ No newline at end of file diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/StyledTextBuilder.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/StyledTextBuilder.kt index 67515c2..9b700c2 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/StyledTextBuilder.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/StyledTextBuilder.kt @@ -1,13 +1,10 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Stable - /** * Used to build styled text across various UI frameworks * * @param S The type that this builder uses when building, usually framework dependant */ -@Stable public interface StyledTextBuilder { /** diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextDecoration.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextDecoration.kt index 5582621..5d1688c 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextDecoration.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextDecoration.kt @@ -1,7 +1,5 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Immutable - /** * Defines a line to be drawn through the text */ diff --git a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextUnit.kt b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextUnit.kt index dc81c45..de6b2d2 100644 --- a/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextUnit.kt +++ b/syntakts-core/src/commonMain/kotlin/xyz/wingio/syntakts/style/TextUnit.kt @@ -1,26 +1,20 @@ package xyz.wingio.syntakts.style -import androidx.compose.runtime.Immutable -import androidx.compose.runtime.Stable /** * Framework independent representation of a text unit (sp and em) * @see sp * @see em */ -@Immutable public open class TextUnit(public open val value: Float, public val unit: String) { /** * Represents an unspecified text unit, typically used to pass through to a fallback */ - @Immutable public object Unspecified : TextUnit(0f, "") } -@Immutable public class Sp(value: Float): TextUnit(value, "sp") -@Immutable public class Em(value: Float): TextUnit(value, "em") public val Int.sp: Sp