commonMain.io.github.lyxnx.compose.pine.PineShapes.kt Maven / Gradle / Ivy
package io.github.lyxnx.compose.pine
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.shape.CornerBasedShape
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.unit.dp
internal val LocalShapes = staticCompositionLocalOf { PineShapesImpl() }
/**
* Represents the shapes used within the Pine theme
*/
public interface PineShapes {
public val small: CornerBasedShape
public val medium: CornerBasedShape
public val large: CornerBasedShape
public val extraLarge: CornerBasedShape
public val full: CornerBasedShape
}
internal data class PineShapesImpl(
override val small: CornerBasedShape = RoundedCornerShape(4.dp),
override val medium: CornerBasedShape = RoundedCornerShape(8.dp),
override val large: CornerBasedShape = RoundedCornerShape(12.dp),
override val extraLarge: CornerBasedShape = RoundedCornerShape(16.dp),
override val full: CornerBasedShape = CircleShape
) : PineShapes