Package-level declarations

Types

Link copied to clipboard
class AndroidViewBlock<Presentation : View, Data : Any>(factory: (Context) -> Presentation, update: suspend (Presentation, Data) -> Unit) : ViewBlock<Data>

A ViewBlock implementation for Android views.

Link copied to clipboard
data class ComposeInsets(val left: Dp = 0.dp, val top: Dp = 0.dp, val right: Dp = 0.dp, val bottom: Dp = 0.dp, drivingSide: LayoutDirection)

When used as paddings, you can either use absolutePadding with left and right insets or drivingSidePadding with start and end insets

Link copied to clipboard
class ComposeViewBlock<Data : Any>(block: @Composable (data: Data) -> Unit) : ViewBlock<Data>

A ViewBlock implementation for Compose UI components.

Link copied to clipboard

These alignment options work similar to existing values in Alignment, but they will be mirrored according to the layout direction provided by LocalDrivingSide

Link copied to clipboard

These arrangement options work similar to existing values in Arrangement, but they will be mirrored according to the layout direction provided by LocalDrivingSide

Link copied to clipboard
interface Layout<L : Layout<L>>
Link copied to clipboard

A builder interface for the Layout.

Link copied to clipboard
class LayoutFlow<L : Layout<L>, Builder : Layout.Builder<L>>(val layoutBuilderFactory: () -> Builder, val block: suspend LayoutBuilderCollector<L, Builder>.() -> Unit) : AbstractFlow<L>
Link copied to clipboard
abstract class ViewBlock<T>

Abstract base class for all view blocks.

Properties

Functions

Link copied to clipboard
fun Modifier.drivingSidePadding(start: Dp = 0.dp, top: Dp = 0.dp, end: Dp = 0.dp, bottom: Dp = 0.dp): Modifier

Works similar to padding, but the values will be mirrored according to the layout direction provided by LocalDrivingSide

Link copied to clipboard
inline fun <T> get(qualifier: Qualifier? = null, scope: Scope = requireNotNull(LocalViewTreeScopeOwner.current), noinline parameters: ParametersDefinition? = null): T
Link copied to clipboard
inline fun <T> getOrNull(qualifier: Qualifier? = null, scope: Scope = requireNotNull(LocalViewTreeScopeOwner.current), noinline parameters: ParametersDefinition? = null): T?
Link copied to clipboard
fun ComposeView.initWithContent(insetMask: Int = WindowInsetsCompat.Type.systemBars(), content: @Composable () -> Unit)
Link copied to clipboard
Link copied to clipboard
inline fun <VM : ViewModel> koinViewModel(storeOwner: ViewModelStoreOwner = requireNotNull(LocalViewModelStoreOwner.current), viewTreeScopeOwner: Scope = requireNotNull(LocalViewTreeScopeOwner.current), noinline parameters: ParametersDefinition? = null): VM
Link copied to clipboard
fun Modifier.noIndicationClickable(onClick: () -> Unit = {}): Modifier
Link copied to clipboard
Link copied to clipboard
fun Modifier.roundOutlineButton(borderColor: Color, onClick: () -> Unit, enabled: Boolean = true): Modifier
Link copied to clipboard
fun Modifier.shadow(blur: Dp = 8.dp, offsetX: Dp = 0.dp, offsetY: Dp = 4.dp, alpha: Float = MAX_SHADOW_ALPHA, shape: Shape = RectangleShape): Modifier

Unlike androidx.compose.ui.draw.shadow, this modifier does not draw behind transparent surfaces, has predictable direction and allows for more customization

Link copied to clipboard
Link copied to clipboard
fun SystemBarColors(colorMode: ColorMode = ColorMode.ThemeBased, statusColorMode: ColorMode = colorMode, navigationColorMode: ColorMode = colorMode, @IntRange(from = 0, to = 255) systemBarAlpha: Int = SEMI_TRANSPARENT_ALPHA, @IntRange(from = 0, to = 255) statusBarAlpha: Int = systemBarAlpha, @IntRange(from = 0, to = 255) navigationBarAlpha: Int = systemBarAlpha, fullScreen: Boolean = false)
Link copied to clipboard
inline fun <Data : Any> ViewBlockComposer(data: Data, viewBlock: ViewBlock<Data>, defaultBlock: @Composable () -> Unit = {})
inline fun <Data : Any> ViewBlockComposer(data: Data, viewBlock: ViewBlock<Data>, defaultBlock: @Composable () -> Unit, loadingViewBlock: @Composable () -> Unit)