package com.example.libary.theme

import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import com.example.libary.R

data class UiKitTypography(
    val title1Semibold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 24.sp,
        fontWeight = FontWeight.W600
    ),
    val title1ExtraBold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 24.sp,
        fontWeight = FontWeight.W800
    ),
    val title2Regular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 20.sp,
        fontWeight = FontWeight.W400
    ),
    val title2Semibold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 20.sp,
        fontWeight = FontWeight.W600
    ),
    val title2ExtraBold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 20.sp,
        fontWeight = FontWeight.W800
    ),
    val title3Regular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 17.sp,
        fontWeight = FontWeight.W400
    ),
    val title3Medium: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 17.sp,
        fontWeight = FontWeight.W500
    ),
    val title3Semibold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 17.sp,
        fontWeight = FontWeight.W600
    ),
    val headlineRegular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 16.sp,
        fontWeight = FontWeight.W400
    ),
    val headlineMedium: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 16.sp,
        fontWeight = FontWeight.W500
    ),
    val textRegular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 15.sp,
        fontWeight = FontWeight.W400
    ),
    val textMedium: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 15.sp,
        fontWeight = FontWeight.W400
    ),
    val captionRegular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 14.sp,
        fontWeight = FontWeight.W400
    ),
    val captionSemibold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 14.sp,
        fontWeight = FontWeight.W600
    ),
    val caption2Regular: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 12.sp,
        fontWeight = FontWeight.W400
    ),
    val caption2Bold: TextStyle = TextStyle(
        color = Color.Black,
        fontFamily = FontFamily(Font(R.font.main)),
        fontSize = 12.sp,
        fontWeight = FontWeight.W700
    )
)

val LocalUiKitTypography = staticCompositionLocalOf<UiKitTypography> {
    error("UiKitTypography not found")
}