/**
 * This file was created using the `create_project.py` script located in the
 * `<AndroidX root>/development/project-creator` directory.
 *
 * Please use that script when creating a new project, rather than copying an existing project and
 * modifying its settings.
 */
import androidx.build.LibraryType

plugins {
    id("AndroidXComposePlugin")
    id("AndroidXPlugin")
    id("org.jetbrains.kotlin.android")
    id("com.android.library")
}

dependencies {
    implementation(libs.kotlinStdlib)
    api("androidx.annotation:annotation:1.4.0")
    api("androidx.compose.runtime:runtime:1.1.1")
    api(project(":glance:glance"))
    implementation("androidx.compose.material3:material3:1.0.0")
    implementation("androidx.core:core:1.12.0")
}

android {
    defaultConfig {
        minSdkVersion 21
    }
    namespace "androidx.glance.material3"
}

androidx {
    name = "Glance Material"
    type = LibraryType.PUBLISHED_KOTLIN_ONLY_LIBRARY
    inceptionYear = "2022"
    description = "Glance Material integration library." +
            " This library provides interop APIs with Material 3."
    metalavaK2UastEnabled = true
}

