package dev.ulfrx.recipe.ui.theme

import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp

/**
 * Spacing scale (UI-SPEC § Spacing rev 1: 4 / 8 / 16 / 24 / 32 / 48).
 * `xxl` and `xxxl` map to UI-SPEC's `2xl` / `3xl` because Kotlin identifiers
 * cannot start with a digit. Tokens are referenced by these property names
 * in screen code; UI-SPEC token names (`2xl`/`3xl`) are the documented contract.
 */
public data class RecipeSpacing(
    val xs: Dp,
    val sm: Dp,
    val lg: Dp,
    val xl: Dp,
    val xxl: Dp,
    val xxxl: Dp,
)

public val DefaultRecipeSpacing: RecipeSpacing =
    RecipeSpacing(
        xs = 4.dp,
        sm = 8.dp,
        lg = 16.dp,
        xl = 24.dp,
        xxl = 32.dp,
        xxxl = 48.dp,
    )
