package com.tangem.core.ui.res

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

@Suppress("ConstructorParameterNaming", "MagicNumber")
@Immutable
data class TangemDimens internal constructor(
    // region Elevation
    val elevation0: Dp = 0.dp,
    val elevation1: Dp = 1.dp,
    val elevation2: Dp = 2.dp,
    val elevation3: Dp = 3.dp,
    val elevation4: Dp = 4.dp,
    val elevation6: Dp = 6.dp,
    val elevation8: Dp = 8.dp,
    val elevation12: Dp = 12.dp,
    val elevation16: Dp = 16.dp,
    val elevation24: Dp = 24.dp,
    // endregion Elevation
    // region Radius
    val radius0: Dp = 0.dp,
    val radius2: Dp = 2.dp,
    val radius3: Dp = 3.dp,
    val radius4: Dp = 4.dp,
    val radius6: Dp = 6.dp,
    val radius8: Dp = 8.dp,
    val radius10: Dp = 10.dp,
    val radius12: Dp = 12.dp,
    val radius14: Dp = 14.dp,
    val radius16: Dp = 16.dp,
    val radius18: Dp = 18.dp,
    val radius20: Dp = 20.dp,
    val radius24: Dp = 24.dp,
    val radius26: Dp = 26.dp,
    val radius28: Dp = 28.dp,
    val radius36: Dp = 36.dp,
    val radius40: Dp = 40.dp,
    // endregion Radius
    // region Size
    val size0: Dp = 0.dp,
    val size0_5: Dp = 0.5.dp,
    val size1: Dp = 1.dp,
    val size1_5: Dp = 1.5.dp,
    val size2: Dp = 2.dp,
    val size4: Dp = 4.dp,
    val size5: Dp = 5.dp,
    val size6: Dp = 6.dp,
    val size7: Dp = 7.dp,
    val size8: Dp = 8.dp,
    val size9: Dp = 9.dp,
    val size10: Dp = 10.dp,
    val size11: Dp = 11.dp,
    val size12: Dp = 12.dp,
    val size14: Dp = 14.dp,
    val size15: Dp = 15.dp,
    val size16: Dp = 16.dp,
    val size18: Dp = 18.dp,
    val size20: Dp = 20.dp,
    val size22: Dp = 22.dp,
    val size24: Dp = 24.dp,
    val size28: Dp = 28.dp,
    val size30: Dp = 30.dp,
    val size32: Dp = 32.dp,
    val size34: Dp = 34.dp,
    val size36: Dp = 36.dp,
    val size40: Dp = 40.dp,
    val size42: Dp = 42.dp,
    val size44: Dp = 44.dp,
    val size46: Dp = 46.dp,
    val size48: Dp = 48.dp,
    val size50: Dp = 50.dp,
    val size52: Dp = 52.dp,
    val size56: Dp = 56.dp,
    val size60: Dp = 60.dp,
    val size62: Dp = 62.dp,
    val size63: Dp = 63.dp,
    val size64: Dp = 64.dp,
    val size68: Dp = 68.dp,
    val size70: Dp = 70.dp,
    val size72: Dp = 72.dp,
    val size80: Dp = 80.dp,
    val size84: Dp = 84.dp,
    val size86: Dp = 86.dp,
    val size90: Dp = 90.dp,
    val size93: Dp = 93.dp,
    val size96: Dp = 96.dp,
    val size100: Dp = 100.dp,
    val size102: Dp = 102.dp,
    val size108: Dp = 108.dp,
    val size110: Dp = 110.dp,
    val size116: Dp = 116.dp,
    val size120: Dp = 120.dp,
    val size142: Dp = 142.dp,
    val size158: Dp = 158.dp,
    val size164: Dp = 164.dp,
    val size200: Dp = 200.dp,
    val size248: Dp = 248.dp,
    val size350: Dp = 350.dp,
    // endregion Size
    // region Spacing
    val spacing0: Dp = 0.dp,
    val spacing0_5: Dp = 0.5.dp,
    val spacing1: Dp = 1.dp,
    val spacing2: Dp = 2.dp,
    val spacing3: Dp = 3.dp,
    val spacing4: Dp = 4.dp,
    val spacing5: Dp = 5.dp,
    val spacing6: Dp = 6.dp,
    val spacing8: Dp = 8.dp,
    val spacing10: Dp = 10.dp,
    val spacing11: Dp = 11.dp,
    val spacing12: Dp = 12.dp,
    val spacing14: Dp = 14.dp,
    val spacing15: Dp = 15.dp,
    val spacing16: Dp = 16.dp,
    val spacing18: Dp = 18.dp,
    val spacing20: Dp = 20.dp,
    val spacing22: Dp = 22.dp,
    val spacing24: Dp = 24.dp,
    val spacing26: Dp = 26.dp,
    val spacing28: Dp = 28.dp,
    val spacing30: Dp = 30.dp,
    val spacing32: Dp = 32.dp,
    val spacing34: Dp = 34.dp,
    val spacing36: Dp = 36.dp,
    val spacing38: Dp = 38.dp,
    val spacing40: Dp = 40.dp,
    val spacing44: Dp = 44.dp,
    val spacing46: Dp = 46.dp,
    val spacing48: Dp = 48.dp,
    val spacing50: Dp = 50.dp,
    val spacing52: Dp = 52.dp,
    val spacing54: Dp = 54.dp,
    val spacing56: Dp = 56.dp,
    val spacing60: Dp = 60.dp,
    val spacing70: Dp = 70.dp,
    val spacing72: Dp = 72.dp,
    val spacing76: Dp = 76.dp,
    val spacing80: Dp = 80.dp,
    val spacing92: Dp = 92.dp,
    val spacing94: Dp = 94.dp,
    val spacing96: Dp = 96.dp,
    val spacing108: Dp = 108.dp,
    val spacing154: Dp = 154.dp,
    // endregion Spacing
)