Package-level declarations

Types

Link copied to clipboard

An enum indicating how Silk will register color mode aware styles.

Link copied to clipboard
Link copied to clipboard
sealed interface CssKind

A base interface for all CssStyle types.

Link copied to clipboard
annotation class CssLayer(val name: String)

An annotation that can be applied to a CssStyle property to override its default layer.

Link copied to clipboard
annotation class CssName(val name: String)

An annotation that can be applied to a CssStyle or CssStyleVariant property to override its default name.

Link copied to clipboard
annotation class CssPrefix(val prefix: String)

An annotation that can be applied to a CssStyle or CssStyleVariant property to add a prefix to the generated CSS class name.

Link copied to clipboard
sealed class CssRule

A class which can be used to create type-safe CSS rules that can be applied to a StyleScope instance.

Link copied to clipboard
abstract class CssStyle<K : CssKind>

A class which allows a user to define styles that will be added into the site's CSS stylesheet.

Link copied to clipboard

A simplified subset of CssStyleScope.

Link copied to clipboard

An extension to StyleScope which adds extra information only relevant to CssStyle blocks.

Link copied to clipboard

Properties that all css style scope implementations promise to support.

Link copied to clipboard
abstract class CssStyleVariant<K : ComponentKind>
Link copied to clipboard
sealed interface GeneralKind : CssKind
Link copied to clipboard
sealed interface RestrictedKind : CssKind
Link copied to clipboard
abstract class StyleScope

Class used as the receiver to a callback, allowing the user to define various state-dependent styles (defined via Modifiers).

Properties

Link copied to clipboard

Indicates whether color mode aware styles should be registered using the CSS @scope rule.

Link copied to clipboard

Indicates whether color mode aware styles should be registered using _light and _dark suffixes.

Functions

Link copied to clipboard
fun <K : ComponentKind> CssStyle<K>.addVariant(extraModifier: Modifier = Modifier, init: CssStyleScope.() -> Unit): CssStyleVariant<K>
fun <K : ComponentKind> CssStyle<K>.addVariant(extraModifier: @Composable () -> Modifier, init: CssStyleScope.() -> Unit): CssStyleVariant<K>
Link copied to clipboard
fun <K : ComponentKind> CssStyle<K>.addVariantBase(extraModifier: Modifier = Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyleVariant<K>
fun <K : ComponentKind> CssStyle<K>.addVariantBase(extraModifier: @Composable () -> Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyleVariant<K>

Convenience method when you only care about registering the base style, which can help avoid a few extra lines.

Link copied to clipboard
fun CssStyle.Companion.base(extraModifier: Modifier = Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyle<GeneralKind>
fun <K : ComponentKind> CssStyle.Companion.base(extraModifier: Modifier = Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyle<K>
fun CssStyle.Companion.base(extraModifier: @Composable () -> Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyle<GeneralKind>
fun <K : ComponentKind> CssStyle.Companion.base(extraModifier: @Composable () -> Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyle<K>
Link copied to clipboard
fun StyleScope.between(lower: Breakpoint, upper: Breakpoint, createModifier: () -> Modifier)

Declare a style that applies between a lower breakpoint (inclusive) and an upper breakpoint (exclusive).

Link copied to clipboard

A convenience method for folding a list of component variants into one single one that represents all of them.

Link copied to clipboard
fun StyleScope.cssRule(breakpoint: Breakpoint, suffix: String?, createModifier: () -> Modifier)

Convenience method for tying a general CSS rule to a breakpoint.

fun StyleScope.cssRule(breakpointRange: Breakpoint.Range, suffix: String?, createModifier: () -> Modifier)

Convenience method for tying a general CSS rule to a breakpoint range.

Link copied to clipboard
fun StyleScope.cssRules(vararg rules: CssRule, createModifier: () -> Modifier)

A way you can define multiple rules which all result in the same style.

Link copied to clipboard
fun CssStyle(extraModifier: Modifier = Modifier, init: CssStyleScope.() -> Unit): CssStyle<GeneralKind>
fun <K : ComponentKind> CssStyle(extraModifier: Modifier = Modifier, init: CssStyleScope.() -> Unit): CssStyle<K>
fun CssStyle(extraModifier: @Composable () -> Modifier, init: CssStyleScope.() -> Unit): CssStyle<GeneralKind>
fun <K : ComponentKind> CssStyle(extraModifier: @Composable () -> Modifier, init: CssStyleScope.() -> Unit): CssStyle<K>
Link copied to clipboard
fun <K : ComponentKind> CssStyleVariant<K>.extendedBy(extraModifier: Modifier = Modifier, init: CssStyleScope.() -> Unit): CssStyleVariant<K>
fun <K : ComponentKind> CssStyleVariant<K>.extendedBy(extraModifier: @Composable () -> Modifier, init: CssStyleScope.() -> Unit): CssStyleVariant<K>
fun CssStyle<GeneralKind>.extendedBy(extraModifier: Modifier = Modifier, init: CssStyleScope.() -> Unit): CssStyle<GeneralKind>
fun CssStyle<GeneralKind>.extendedBy(extraModifier: @Composable () -> Modifier, init: CssStyleScope.() -> Unit): CssStyle<GeneralKind>
Link copied to clipboard
fun <K : ComponentKind> CssStyleVariant<K>.extendedByBase(extraModifier: @Composable () -> Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyleVariant<K>
fun CssStyle<GeneralKind>.extendedByBase(extraModifier: @Composable () -> Modifier, init: CssStyleBaseScope.() -> Modifier): CssStyle<GeneralKind>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Composable
fun <A : AttrsScope<*>> CssStyle<GeneralKind>.toAttrs(finalHandler: A.() -> Unit? = null): A.() -> Unit
@Composable
fun <A : AttrsScope<*>> Iterable<CssStyle<GeneralKind>>.toAttrs(finalHandler: A.() -> Unit? = null): A.() -> Unit
Link copied to clipboard
Link copied to clipboard
fun StyleScope.until(breakpoint: Breakpoint, createModifier: () -> Modifier)

Declare a style that applies up until the current breakpoint.