diff --git a/.gitignore b/.gitignore
index 28b51a7e..6240924b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,3 +39,4 @@ bin/
### Mac OS ###
.DS_Store
.kotlin
+local.properties
diff --git a/.idea/icon.svg b/.idea/icon.svg
deleted file mode 100644
index 14346149..00000000
--- a/.idea/icon.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 0557abf8..81aa2092 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,6 +1,8 @@
import com.diffplug.gradle.spotless.SpotlessExtension
plugins {
+ alias(libs.plugins.android.application) apply false
+ alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.compose) apply false
alias(libs.plugins.jetbrains.compose) apply false
diff --git a/gradle.properties b/gradle.properties
index e21c15bf..a858c455 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -7,6 +7,7 @@ org.gradle.parallel=true
kotlin.stdlib.default.dependency=false
kotlin.code.style=official
+android.useAndroidX=true
GROUP=io.github.composegears
VERSION_NAME=0.6.0-SNAPSHOT
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index c6cf5ee6..30396583 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,6 +2,7 @@
kotlin = "2.0.0"
[libraries]
+androidx-activity-compose = "androidx.activity:activity-compose:1.9.1"
android-build-tools = "com.android.tools:sdk-common:31.5.1"
koin-compose = "io.insert-koin:koin-compose:4.0.0-RC1"
@@ -23,8 +24,10 @@ ktlint = "com.pinterest.ktlint:ktlint-cli:1.3.1"
composeRules = "io.nlopez.compose.rules:ktlint:0.4.8"
[plugins]
-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+android-application = { id = "com.android.application", version = "8.2.0" }
+kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
+kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
jetbrains-compose = { id = "org.jetbrains.compose", version = "1.6.11" }
jetbrains-intellij = "org.jetbrains.intellij.platform:2.0.0"
spotless = "com.diffplug.spotless:7.0.0.BETA1"
diff --git a/gradlew.bat b/gradlew.bat
index 9b42019c..9d21a218 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,94 +1,94 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/playground/app/build.gradle.kts b/playground/app/build.gradle.kts
new file mode 100644
index 00000000..f57db363
--- /dev/null
+++ b/playground/app/build.gradle.kts
@@ -0,0 +1,49 @@
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.compose)
+ alias(libs.plugins.jetbrains.compose)
+}
+
+android {
+ namespace = "io.github.composegears.valkyrie.playground"
+ compileSdk = 34
+
+ defaultConfig {
+ applicationId = "io.github.composegears.valkyrie.playground"
+ minSdk = 24
+ targetSdk = 34
+ versionCode = 1
+ versionName = "1.0"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = true
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+ packaging {
+ resources {
+ excludes += "/META-INF/{AL2.0,LGPL2.1}"
+ }
+ }
+}
+
+dependencies {
+ implementation(libs.androidx.activity.compose)
+
+ implementation(compose.runtime)
+ implementation(compose.foundation)
+ implementation(compose.material3)
+}
diff --git a/playground/app/src/main/AndroidManifest.xml b/playground/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..592f6dcc
--- /dev/null
+++ b/playground/app/src/main/AndroidManifest.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/MainActivity.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/MainActivity.kt
new file mode 100644
index 00000000..1bb85c83
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/MainActivity.kt
@@ -0,0 +1,139 @@
+package io.github.composegears.valkyrie.playground
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.systemBarsPadding
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.items
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.runtime.remember
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import io.github.composegears.valkyrie.playground.icons.backing.colored.Videocam
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Add
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Appearance
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Arrow
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.ArrowLeft
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.ArrowRight
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Brightness
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Car
+import io.github.composegears.valkyrie.playground.icons.backing.outlined.Changelog
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import io.github.composegears.valkyrie.playground.icons.lazy.colored.Videocam
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Add
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Appearance
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Arrow
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.ArrowLeft
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.ArrowRight
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Brightness
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Car
+import io.github.composegears.valkyrie.playground.icons.lazy.outlined.Changelog
+import io.github.composegears.valkyrie.playground.ui.theme.PlaygroundTheme
+
+class MainActivity : ComponentActivity() {
+
+ @OptIn(ExperimentalFoundationApi::class)
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+
+ setContent {
+ PlaygroundTheme {
+ val iconsSet = remember {
+ listOf(
+ IconsSet(
+ name = "Backing field",
+ icons = listOf(
+ BackingIcons.Colored.Videocam,
+ BackingIcons.Outlined.Add,
+ BackingIcons.Outlined.Appearance,
+ BackingIcons.Outlined.Arrow,
+ BackingIcons.Outlined.ArrowLeft,
+ BackingIcons.Outlined.ArrowRight,
+ BackingIcons.Outlined.Brightness,
+ BackingIcons.Outlined.Car,
+ BackingIcons.Outlined.Changelog,
+ ),
+ ),
+ IconsSet(
+ name = "Lazy field",
+ icons = listOf(
+ LazyIcons.Colored.Videocam,
+ LazyIcons.Outlined.Add,
+ LazyIcons.Outlined.Appearance,
+ LazyIcons.Outlined.Arrow,
+ LazyIcons.Outlined.ArrowLeft,
+ LazyIcons.Outlined.ArrowRight,
+ LazyIcons.Outlined.Brightness,
+ LazyIcons.Outlined.Car,
+ LazyIcons.Outlined.Changelog,
+ ),
+ ),
+ )
+ }
+ Surface(modifier = Modifier.systemBarsPadding()) {
+ LazyColumn(
+ modifier = Modifier.fillMaxSize(),
+ verticalArrangement = Arrangement.spacedBy(8.dp),
+ ) {
+ iconsSet.forEach { (name, icons) ->
+ stickyHeader {
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ .background(MaterialTheme.colorScheme.primary)
+ .padding(vertical = 4.dp),
+ ) {
+ Text(
+ modifier = Modifier.padding(horizontal = 8.dp),
+ text = name,
+ color = MaterialTheme.colorScheme.onPrimary,
+ )
+ }
+ }
+ items(icons) { icon ->
+ Row(
+ modifier = Modifier.padding(
+ horizontal = 16.dp,
+ vertical = 8.dp,
+ ),
+ horizontalArrangement = Arrangement.spacedBy(8.dp),
+ verticalAlignment = Alignment.CenterVertically,
+ ) {
+ Image(
+ imageVector = icon,
+ contentDescription = null,
+ )
+ Text(
+ text = icon.name,
+ style = MaterialTheme.typography.bodySmall,
+ )
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+data class IconsSet(
+ val name: String,
+ val icons: List,
+)
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/BackingIcons.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/BackingIcons.kt
new file mode 100644
index 00000000..782777fe
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/BackingIcons.kt
@@ -0,0 +1,7 @@
+package io.github.composegears.valkyrie.playground.icons.backing
+
+object BackingIcons {
+ object Outlined
+
+ object Colored
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/colored/Videocam.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/colored/Videocam.kt
new file mode 100644
index 00000000..8645ade9
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/colored/Videocam.kt
@@ -0,0 +1,50 @@
+package io.github.composegears.valkyrie.playground.icons.backing.colored
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Colored.Videocam: ImageVector
+ get() {
+ if (_Videocam != null) {
+ return _Videocam!!
+ }
+ _Videocam = ImageVector.Builder(
+ name = "Colored.Videocam",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF2CA5D1))) {
+ moveTo(15f, 8f)
+ verticalLineToRelative(8f)
+ horizontalLineTo(5f)
+ verticalLineTo(8f)
+ horizontalLineToRelative(10f)
+ moveToRelative(1f, -2f)
+ horizontalLineTo(4f)
+ curveToRelative(-0.55f, 0f, -1f, 0.45f, -1f, 1f)
+ verticalLineToRelative(10f)
+ curveToRelative(0f, 0.55f, 0.45f, 1f, 1f, 1f)
+ horizontalLineToRelative(12f)
+ curveToRelative(0.55f, 0f, 1f, -0.45f, 1f, -1f)
+ verticalLineToRelative(-3.5f)
+ lineToRelative(4f, 4f)
+ verticalLineToRelative(-11f)
+ lineToRelative(-4f, 4f)
+ verticalLineTo(7f)
+ curveToRelative(0f, -0.55f, -0.45f, -1f, -1f, -1f)
+ close()
+ }
+ }.build()
+
+ return _Videocam!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Videocam: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Add.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Add.kt
new file mode 100644
index 00000000..416100f7
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Add.kt
@@ -0,0 +1,45 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Add: ImageVector
+ get() {
+ if (_Add != null) {
+ return _Add!!
+ }
+ _Add = ImageVector.Builder(
+ name = "Outlined.Add",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(19f, 13f)
+ lineTo(13f, 13f)
+ lineTo(13f, 19f)
+ lineTo(11f, 19f)
+ lineTo(11f, 13f)
+ lineTo(5f, 13f)
+ lineTo(5f, 11f)
+ lineTo(11f, 11f)
+ lineTo(11f, 5f)
+ lineTo(13f, 5f)
+ lineTo(13f, 11f)
+ lineTo(19f, 11f)
+ lineTo(19f, 13f)
+ close()
+ }
+ }.build()
+
+ return _Add!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Add: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Appearance.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Appearance.kt
new file mode 100644
index 00000000..25722212
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Appearance.kt
@@ -0,0 +1,63 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Appearance: ImageVector
+ get() {
+ if (_Appearance != null) {
+ return _Appearance!!
+ }
+ _Appearance = ImageVector.Builder(
+ name = "Outlined.Appearance",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(11.625f, 16.406f)
+ lineTo(1.125f, 10.406f)
+ curveTo(1.01f, 10.341f, 0.914f, 10.246f, 0.848f, 10.132f)
+ curveTo(0.781f, 10.017f, 0.746f, 9.887f, 0.746f, 9.755f)
+ curveTo(0.746f, 9.622f, 0.781f, 9.492f, 0.848f, 9.378f)
+ curveTo(0.914f, 9.264f, 1.01f, 9.169f, 1.125f, 9.103f)
+ lineTo(11.625f, 3.103f)
+ curveTo(11.738f, 3.038f, 11.866f, 3.004f, 11.997f, 3.004f)
+ curveTo(12.128f, 3.004f, 12.256f, 3.038f, 12.369f, 3.103f)
+ lineTo(22.869f, 9.103f)
+ curveTo(22.984f, 9.169f, 23.08f, 9.264f, 23.146f, 9.378f)
+ curveTo(23.213f, 9.492f, 23.248f, 9.622f, 23.248f, 9.755f)
+ curveTo(23.248f, 9.887f, 23.213f, 10.017f, 23.146f, 10.132f)
+ curveTo(23.08f, 10.246f, 22.984f, 10.341f, 22.869f, 10.406f)
+ lineTo(12.369f, 16.406f)
+ curveTo(12.256f, 16.471f, 12.128f, 16.505f, 11.997f, 16.505f)
+ curveTo(11.866f, 16.505f, 11.738f, 16.471f, 11.625f, 16.406f)
+ close()
+ }
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(12f, 18.637f)
+ lineTo(22.125f, 12.849f)
+ verticalLineTo(12.854f)
+ curveTo(22.48f, 12.651f, 22.946f, 12.778f, 23.149f, 13.133f)
+ curveTo(23.352f, 13.488f, 23.224f, 13.954f, 22.869f, 14.157f)
+ lineTo(12.37f, 20.157f)
+ curveTo(12.143f, 20.287f, 11.852f, 20.287f, 11.625f, 20.157f)
+ lineTo(1.125f, 14.157f)
+ curveTo(0.769f, 13.953f, 0.642f, 13.484f, 0.846f, 13.128f)
+ curveTo(1.05f, 12.772f, 1.519f, 12.645f, 1.875f, 12.849f)
+ lineTo(12f, 18.637f)
+ close()
+ }
+ }.build()
+
+ return _Appearance!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Appearance: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Arrow.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Arrow.kt
new file mode 100644
index 00000000..bef4a88f
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Arrow.kt
@@ -0,0 +1,40 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Arrow: ImageVector
+ get() {
+ if (_Arrow != null) {
+ return _Arrow!!
+ }
+ _Arrow = ImageVector.Builder(
+ name = "Outlined.Arrow",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(12.413f, 3.565f)
+ curveTo(11.97f, 2.675f, 10.647f, 2.704f, 10.243f, 3.613f)
+ lineTo(3.411f, 18.958f)
+ curveTo(2.959f, 19.974f, 4.01f, 21.005f, 5.016f, 20.533f)
+ curveTo(6.869f, 19.664f, 10.429f, 17.88f, 11.614f, 17.618f)
+ curveTo(12.942f, 17.767f, 16.565f, 19.644f, 18.494f, 20.503f)
+ curveTo(19.522f, 20.961f, 20.559f, 19.878f, 20.056f, 18.871f)
+ lineTo(12.413f, 3.565f)
+ close()
+ }
+ }.build()
+
+ return _Arrow!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Arrow: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowLeft.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowLeft.kt
new file mode 100644
index 00000000..0964bd6a
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowLeft.kt
@@ -0,0 +1,48 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.ArrowLeft: ImageVector
+ get() {
+ if (_ArrowLeft != null) {
+ return _ArrowLeft!!
+ }
+ _ArrowLeft = ImageVector.Builder(
+ name = "Outlined.ArrowLeft",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(21f, 12.313f)
+ curveTo(21f, 11.76f, 20.552f, 11.313f, 20f, 11.313f)
+ horizontalLineTo(6.548f)
+ lineTo(12.477f, 5.384f)
+ curveTo(12.868f, 4.992f, 12.867f, 4.357f, 12.474f, 3.967f)
+ lineTo(12.207f, 3.702f)
+ curveTo(11.816f, 3.314f, 11.185f, 3.315f, 10.795f, 3.705f)
+ lineTo(2f, 12.5f)
+ lineTo(10.793f, 21.293f)
+ curveTo(11.183f, 21.683f, 11.817f, 21.683f, 12.207f, 21.293f)
+ lineTo(12.468f, 21.032f)
+ curveTo(12.858f, 20.642f, 12.858f, 20.009f, 12.469f, 19.618f)
+ lineTo(6.548f, 13.688f)
+ horizontalLineTo(20f)
+ curveTo(20.552f, 13.688f, 21f, 13.24f, 21f, 12.688f)
+ verticalLineTo(12.313f)
+ close()
+ }
+ }.build()
+
+ return _ArrowLeft!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _ArrowLeft: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowRight.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowRight.kt
new file mode 100644
index 00000000..124872b7
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/ArrowRight.kt
@@ -0,0 +1,48 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.ArrowRight: ImageVector
+ get() {
+ if (_ArrowRight != null) {
+ return _ArrowRight!!
+ }
+ _ArrowRight = ImageVector.Builder(
+ name = "Outlined.ArrowRight",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(3f, 12.688f)
+ curveTo(3f, 13.24f, 3.448f, 13.688f, 4f, 13.688f)
+ lineTo(17.452f, 13.688f)
+ lineTo(11.513f, 19.531f)
+ curveTo(11.125f, 19.913f, 11.114f, 20.535f, 11.488f, 20.931f)
+ lineTo(11.793f, 21.254f)
+ curveTo(12.181f, 21.663f, 12.829f, 21.671f, 13.227f, 21.273f)
+ lineTo(22f, 12.5f)
+ lineTo(13.207f, 3.707f)
+ curveTo(12.817f, 3.317f, 12.183f, 3.317f, 11.793f, 3.707f)
+ lineTo(11.532f, 3.968f)
+ curveTo(11.142f, 4.358f, 11.142f, 4.991f, 11.531f, 5.381f)
+ lineTo(17.452f, 11.313f)
+ lineTo(4f, 11.313f)
+ curveTo(3.448f, 11.313f, 3f, 11.76f, 3f, 12.313f)
+ verticalLineTo(12.688f)
+ close()
+ }
+ }.build()
+
+ return _ArrowRight!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _ArrowRight: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Brightness.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Brightness.kt
new file mode 100644
index 00000000..fb1ca28f
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Brightness.kt
@@ -0,0 +1,61 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Brightness: ImageVector
+ get() {
+ if (_Brightness != null) {
+ return _Brightness!!
+ }
+ _Brightness = ImageVector.Builder(
+ name = "Outlined.Brightness",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(20f, 8.69f)
+ lineTo(20f, 4f)
+ lineTo(15.31f, 4f)
+ lineTo(12f, 0.69f)
+ lineTo(8.69f, 4f)
+ lineTo(4f, 4f)
+ lineTo(4f, 8.69f)
+ lineTo(0.69f, 12f)
+ lineTo(4f, 15.31f)
+ lineTo(4f, 20f)
+ lineTo(8.69f, 20f)
+ lineTo(12f, 23.31f)
+ lineTo(15.31f, 20f)
+ lineTo(20f, 20f)
+ lineTo(20f, 15.31f)
+ lineTo(23.31f, 12f)
+ lineTo(20f, 8.69f)
+ close()
+ moveTo(12f, 18f)
+ curveTo(8.69f, 18f, 6f, 15.31f, 6f, 12f)
+ curveTo(6f, 8.69f, 8.69f, 6f, 12f, 6f)
+ curveTo(15.31f, 6f, 18f, 8.69f, 18f, 12f)
+ curveTo(18f, 15.31f, 15.31f, 18f, 12f, 18f)
+ close()
+ moveTo(12f, 8f)
+ curveTo(9.79f, 8f, 8f, 9.79f, 8f, 12f)
+ curveTo(8f, 14.21f, 9.79f, 16f, 12f, 16f)
+ curveTo(14.21f, 16f, 16f, 14.21f, 16f, 12f)
+ curveTo(16f, 9.79f, 14.21f, 8f, 12f, 8f)
+ close()
+ }
+ }.build()
+
+ return _Brightness!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Brightness: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Car.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Car.kt
new file mode 100644
index 00000000..33d2e0db
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Car.kt
@@ -0,0 +1,91 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Car: ImageVector
+ get() {
+ if (_Car != null) {
+ return _Car!!
+ }
+ _Car = ImageVector.Builder(
+ name = "Outlined.Car",
+ defaultWidth = 24.dp,
+ defaultHeight = 14.dp,
+ viewportWidth = 24f,
+ viewportHeight = 14f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(22.5f, 4.5f)
+ lineTo(19.81f, 4.5f)
+ lineTo(15.75f, 0.44f)
+ curveTo(15.611f, 0.3f, 15.446f, 0.189f, 15.264f, 0.113f)
+ curveTo(15.082f, 0.038f, 14.887f, -0.001f, 14.69f, 0f)
+ lineTo(4.151f, 0f)
+ curveTo(3.905f, 0f, 3.662f, 0.062f, 3.445f, 0.178f)
+ curveTo(3.228f, 0.294f, 3.043f, 0.463f, 2.906f, 0.668f)
+ lineTo(0.126f, 4.834f)
+ curveTo(0.044f, 4.957f, 0f, 5.102f, 0f, 5.25f)
+ lineTo(0f, 9.75f)
+ curveTo(0f, 10.148f, 0.158f, 10.529f, 0.439f, 10.811f)
+ curveTo(0.721f, 11.092f, 1.102f, 11.25f, 1.5f, 11.25f)
+ lineTo(3.094f, 11.25f)
+ curveTo(3.259f, 11.895f, 3.634f, 12.467f, 4.16f, 12.876f)
+ curveTo(4.687f, 13.284f, 5.334f, 13.506f, 6f, 13.506f)
+ curveTo(6.666f, 13.506f, 7.313f, 13.284f, 7.84f, 12.876f)
+ curveTo(8.366f, 12.467f, 8.741f, 11.895f, 8.906f, 11.25f)
+ lineTo(15.094f, 11.25f)
+ curveTo(15.259f, 11.895f, 15.634f, 12.467f, 16.16f, 12.876f)
+ curveTo(16.687f, 13.284f, 17.334f, 13.506f, 18f, 13.506f)
+ curveTo(18.666f, 13.506f, 19.313f, 13.284f, 19.84f, 12.876f)
+ curveTo(20.366f, 12.467f, 20.741f, 11.895f, 20.906f, 11.25f)
+ lineTo(22.5f, 11.25f)
+ curveTo(22.898f, 11.25f, 23.279f, 11.092f, 23.561f, 10.811f)
+ curveTo(23.842f, 10.529f, 24f, 10.148f, 24f, 9.75f)
+ lineTo(24f, 6f)
+ curveTo(24f, 5.602f, 23.842f, 5.221f, 23.561f, 4.939f)
+ curveTo(23.279f, 4.658f, 22.898f, 4.5f, 22.5f, 4.5f)
+ close()
+ moveTo(4.151f, 1.5f)
+ lineTo(14.69f, 1.5f)
+ lineTo(17.69f, 4.5f)
+ lineTo(2.156f, 4.5f)
+ lineTo(4.151f, 1.5f)
+ close()
+ moveTo(6f, 12f)
+ curveTo(5.703f, 12f, 5.413f, 11.912f, 5.167f, 11.747f)
+ curveTo(4.92f, 11.582f, 4.728f, 11.348f, 4.614f, 11.074f)
+ curveTo(4.501f, 10.8f, 4.471f, 10.498f, 4.529f, 10.207f)
+ curveTo(4.587f, 9.916f, 4.73f, 9.649f, 4.939f, 9.439f)
+ curveTo(5.149f, 9.23f, 5.416f, 9.087f, 5.707f, 9.029f)
+ curveTo(5.998f, 8.971f, 6.3f, 9.001f, 6.574f, 9.114f)
+ curveTo(6.848f, 9.228f, 7.082f, 9.42f, 7.247f, 9.667f)
+ curveTo(7.412f, 9.913f, 7.5f, 10.203f, 7.5f, 10.5f)
+ curveTo(7.5f, 10.898f, 7.342f, 11.279f, 7.061f, 11.561f)
+ curveTo(6.779f, 11.842f, 6.398f, 12f, 6f, 12f)
+ close()
+ moveTo(18f, 12f)
+ curveTo(17.703f, 12f, 17.413f, 11.912f, 17.167f, 11.747f)
+ curveTo(16.92f, 11.582f, 16.728f, 11.348f, 16.614f, 11.074f)
+ curveTo(16.501f, 10.8f, 16.471f, 10.498f, 16.529f, 10.207f)
+ curveTo(16.587f, 9.916f, 16.73f, 9.649f, 16.939f, 9.439f)
+ curveTo(17.149f, 9.23f, 17.416f, 9.087f, 17.707f, 9.029f)
+ curveTo(17.998f, 8.971f, 18.3f, 9.001f, 18.574f, 9.114f)
+ curveTo(18.848f, 9.228f, 19.082f, 9.42f, 19.247f, 9.667f)
+ curveTo(19.412f, 9.913f, 19.5f, 10.203f, 19.5f, 10.5f)
+ curveTo(19.5f, 10.898f, 19.342f, 11.279f, 19.061f, 11.561f)
+ curveTo(18.779f, 11.842f, 18.398f, 12f, 18f, 12f)
+ close()
+ }
+ }.build()
+
+ return _Car!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Car: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Changelog.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Changelog.kt
new file mode 100644
index 00000000..6fde5c69
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/backing/outlined/Changelog.kt
@@ -0,0 +1,63 @@
+package io.github.composegears.valkyrie.playground.icons.backing.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.backing.BackingIcons
+import kotlin.Suppress
+
+val BackingIcons.Outlined.Changelog: ImageVector
+ get() {
+ if (_Changelog != null) {
+ return _Changelog!!
+ }
+ _Changelog = ImageVector.Builder(
+ name = "Outlined.Changelog",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(20.317f, 8.555f)
+ curveTo(19.777f, 7.255f, 20.569f, 5.719f, 19.425f, 4.575f)
+ curveTo(18.281f, 3.431f, 16.745f, 4.223f, 15.445f, 3.682f)
+ curveTo(14.152f, 3.148f, 13.591f, 1.5f, 12f, 1.5f)
+ curveTo(10.409f, 1.5f, 9.849f, 3.15f, 8.555f, 3.682f)
+ curveTo(7.256f, 4.226f, 5.72f, 3.43f, 4.575f, 4.575f)
+ curveTo(3.433f, 5.717f, 4.223f, 7.256f, 3.682f, 8.555f)
+ curveTo(3.148f, 9.848f, 1.5f, 10.409f, 1.5f, 12f)
+ curveTo(1.5f, 13.591f, 3.15f, 14.151f, 3.682f, 15.445f)
+ curveTo(4.223f, 16.745f, 3.431f, 18.281f, 4.575f, 19.425f)
+ curveTo(5.719f, 20.569f, 7.255f, 19.777f, 8.555f, 20.317f)
+ curveTo(9.848f, 20.851f, 10.409f, 22.5f, 12f, 22.5f)
+ curveTo(13.591f, 22.5f, 14.151f, 20.85f, 15.445f, 20.317f)
+ curveTo(16.745f, 19.777f, 18.281f, 20.569f, 19.425f, 19.425f)
+ curveTo(20.569f, 18.281f, 19.777f, 16.745f, 20.317f, 15.445f)
+ curveTo(20.851f, 14.152f, 22.5f, 13.591f, 22.5f, 12f)
+ curveTo(22.5f, 10.409f, 20.85f, 9.849f, 20.317f, 8.555f)
+ close()
+ moveTo(11.25f, 7.5f)
+ curveTo(11.25f, 7.091f, 11.592f, 6.75f, 12f, 6.75f)
+ curveTo(12.408f, 6.75f, 12.75f, 7.091f, 12.75f, 7.5f)
+ verticalLineTo(12.75f)
+ curveTo(12.75f, 13.158f, 12.408f, 13.5f, 12f, 13.5f)
+ curveTo(11.592f, 13.5f, 11.25f, 13.158f, 11.25f, 12.75f)
+ verticalLineTo(7.5f)
+ close()
+ moveTo(12f, 17.25f)
+ curveTo(11.555f, 17.25f, 11.131f, 16.967f, 10.961f, 16.556f)
+ curveTo(10.696f, 15.918f, 11.095f, 15.158f, 11.781f, 15.022f)
+ curveTo(12.466f, 14.885f, 13.125f, 15.435f, 13.125f, 16.125f)
+ curveTo(13.125f, 16.738f, 12.613f, 17.25f, 12f, 17.25f)
+ close()
+ }
+ }.build()
+
+ return _Changelog!!
+ }
+
+@Suppress("ObjectPropertyName")
+private var _Changelog: ImageVector? = null
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/LazyIcons.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/LazyIcons.kt
new file mode 100644
index 00000000..cae82f14
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/LazyIcons.kt
@@ -0,0 +1,7 @@
+package io.github.composegears.valkyrie.playground.icons.lazy
+
+object LazyIcons {
+ object Outlined
+
+ object Colored
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/colored/Videocam.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/colored/Videocam.kt
new file mode 100644
index 00000000..8e3189be
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/colored/Videocam.kt
@@ -0,0 +1,41 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.colored
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Colored.Videocam: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Colored.Videocam",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF2CA5D1))) {
+ moveTo(15f, 8f)
+ verticalLineToRelative(8f)
+ horizontalLineTo(5f)
+ verticalLineTo(8f)
+ horizontalLineToRelative(10f)
+ moveToRelative(1f, -2f)
+ horizontalLineTo(4f)
+ curveToRelative(-0.55f, 0f, -1f, 0.45f, -1f, 1f)
+ verticalLineToRelative(10f)
+ curveToRelative(0f, 0.55f, 0.45f, 1f, 1f, 1f)
+ horizontalLineToRelative(12f)
+ curveToRelative(0.55f, 0f, 1f, -0.45f, 1f, -1f)
+ verticalLineToRelative(-3.5f)
+ lineToRelative(4f, 4f)
+ verticalLineToRelative(-11f)
+ lineToRelative(-4f, 4f)
+ verticalLineTo(7f)
+ curveToRelative(0f, -0.55f, -0.45f, -1f, -1f, -1f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Add.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Add.kt
new file mode 100644
index 00000000..d1feaf55
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Add.kt
@@ -0,0 +1,36 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Add: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Add",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(19f, 13f)
+ lineTo(13f, 13f)
+ lineTo(13f, 19f)
+ lineTo(11f, 19f)
+ lineTo(11f, 13f)
+ lineTo(5f, 13f)
+ lineTo(5f, 11f)
+ lineTo(11f, 11f)
+ lineTo(11f, 5f)
+ lineTo(13f, 5f)
+ lineTo(13f, 11f)
+ lineTo(19f, 11f)
+ lineTo(19f, 13f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Appearance.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Appearance.kt
new file mode 100644
index 00000000..72fbf2ff
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Appearance.kt
@@ -0,0 +1,54 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Appearance: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Appearance",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(11.625f, 16.406f)
+ lineTo(1.125f, 10.406f)
+ curveTo(1.01f, 10.341f, 0.914f, 10.246f, 0.848f, 10.132f)
+ curveTo(0.781f, 10.017f, 0.746f, 9.887f, 0.746f, 9.755f)
+ curveTo(0.746f, 9.622f, 0.781f, 9.492f, 0.848f, 9.378f)
+ curveTo(0.914f, 9.264f, 1.01f, 9.169f, 1.125f, 9.103f)
+ lineTo(11.625f, 3.103f)
+ curveTo(11.738f, 3.038f, 11.866f, 3.004f, 11.997f, 3.004f)
+ curveTo(12.128f, 3.004f, 12.256f, 3.038f, 12.369f, 3.103f)
+ lineTo(22.869f, 9.103f)
+ curveTo(22.984f, 9.169f, 23.08f, 9.264f, 23.146f, 9.378f)
+ curveTo(23.213f, 9.492f, 23.248f, 9.622f, 23.248f, 9.755f)
+ curveTo(23.248f, 9.887f, 23.213f, 10.017f, 23.146f, 10.132f)
+ curveTo(23.08f, 10.246f, 22.984f, 10.341f, 22.869f, 10.406f)
+ lineTo(12.369f, 16.406f)
+ curveTo(12.256f, 16.471f, 12.128f, 16.505f, 11.997f, 16.505f)
+ curveTo(11.866f, 16.505f, 11.738f, 16.471f, 11.625f, 16.406f)
+ close()
+ }
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(12f, 18.637f)
+ lineTo(22.125f, 12.849f)
+ verticalLineTo(12.854f)
+ curveTo(22.48f, 12.651f, 22.946f, 12.778f, 23.149f, 13.133f)
+ curveTo(23.352f, 13.488f, 23.224f, 13.954f, 22.869f, 14.157f)
+ lineTo(12.37f, 20.157f)
+ curveTo(12.143f, 20.287f, 11.852f, 20.287f, 11.625f, 20.157f)
+ lineTo(1.125f, 14.157f)
+ curveTo(0.769f, 13.953f, 0.642f, 13.484f, 0.846f, 13.128f)
+ curveTo(1.05f, 12.772f, 1.519f, 12.645f, 1.875f, 12.849f)
+ lineTo(12f, 18.637f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Arrow.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Arrow.kt
new file mode 100644
index 00000000..3d9a9937
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Arrow.kt
@@ -0,0 +1,31 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Arrow: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Arrow",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(12.413f, 3.565f)
+ curveTo(11.97f, 2.675f, 10.647f, 2.704f, 10.243f, 3.613f)
+ lineTo(3.411f, 18.958f)
+ curveTo(2.959f, 19.974f, 4.01f, 21.005f, 5.016f, 20.533f)
+ curveTo(6.869f, 19.664f, 10.429f, 17.88f, 11.614f, 17.618f)
+ curveTo(12.942f, 17.767f, 16.565f, 19.644f, 18.494f, 20.503f)
+ curveTo(19.522f, 20.961f, 20.559f, 19.878f, 20.056f, 18.871f)
+ lineTo(12.413f, 3.565f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowLeft.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowLeft.kt
new file mode 100644
index 00000000..e7040e4d
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowLeft.kt
@@ -0,0 +1,39 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.ArrowLeft: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.ArrowLeft",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(21f, 12.313f)
+ curveTo(21f, 11.76f, 20.552f, 11.313f, 20f, 11.313f)
+ horizontalLineTo(6.548f)
+ lineTo(12.477f, 5.384f)
+ curveTo(12.868f, 4.992f, 12.867f, 4.357f, 12.474f, 3.967f)
+ lineTo(12.207f, 3.702f)
+ curveTo(11.816f, 3.314f, 11.185f, 3.315f, 10.795f, 3.705f)
+ lineTo(2f, 12.5f)
+ lineTo(10.793f, 21.293f)
+ curveTo(11.183f, 21.683f, 11.817f, 21.683f, 12.207f, 21.293f)
+ lineTo(12.468f, 21.032f)
+ curveTo(12.858f, 20.642f, 12.858f, 20.009f, 12.469f, 19.618f)
+ lineTo(6.548f, 13.688f)
+ horizontalLineTo(20f)
+ curveTo(20.552f, 13.688f, 21f, 13.24f, 21f, 12.688f)
+ verticalLineTo(12.313f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowRight.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowRight.kt
new file mode 100644
index 00000000..d4d65337
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/ArrowRight.kt
@@ -0,0 +1,39 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.ArrowRight: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.ArrowRight",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(3f, 12.688f)
+ curveTo(3f, 13.24f, 3.448f, 13.688f, 4f, 13.688f)
+ lineTo(17.452f, 13.688f)
+ lineTo(11.513f, 19.531f)
+ curveTo(11.125f, 19.913f, 11.114f, 20.535f, 11.488f, 20.931f)
+ lineTo(11.793f, 21.254f)
+ curveTo(12.181f, 21.663f, 12.829f, 21.671f, 13.227f, 21.273f)
+ lineTo(22f, 12.5f)
+ lineTo(13.207f, 3.707f)
+ curveTo(12.817f, 3.317f, 12.183f, 3.317f, 11.793f, 3.707f)
+ lineTo(11.532f, 3.968f)
+ curveTo(11.142f, 4.358f, 11.142f, 4.991f, 11.531f, 5.381f)
+ lineTo(17.452f, 11.313f)
+ lineTo(4f, 11.313f)
+ curveTo(3.448f, 11.313f, 3f, 11.76f, 3f, 12.313f)
+ verticalLineTo(12.688f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Brightness.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Brightness.kt
new file mode 100644
index 00000000..5db6be83
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Brightness.kt
@@ -0,0 +1,52 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Brightness: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Brightness",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(20f, 8.69f)
+ lineTo(20f, 4f)
+ lineTo(15.31f, 4f)
+ lineTo(12f, 0.69f)
+ lineTo(8.69f, 4f)
+ lineTo(4f, 4f)
+ lineTo(4f, 8.69f)
+ lineTo(0.69f, 12f)
+ lineTo(4f, 15.31f)
+ lineTo(4f, 20f)
+ lineTo(8.69f, 20f)
+ lineTo(12f, 23.31f)
+ lineTo(15.31f, 20f)
+ lineTo(20f, 20f)
+ lineTo(20f, 15.31f)
+ lineTo(23.31f, 12f)
+ lineTo(20f, 8.69f)
+ close()
+ moveTo(12f, 18f)
+ curveTo(8.69f, 18f, 6f, 15.31f, 6f, 12f)
+ curveTo(6f, 8.69f, 8.69f, 6f, 12f, 6f)
+ curveTo(15.31f, 6f, 18f, 8.69f, 18f, 12f)
+ curveTo(18f, 15.31f, 15.31f, 18f, 12f, 18f)
+ close()
+ moveTo(12f, 8f)
+ curveTo(9.79f, 8f, 8f, 9.79f, 8f, 12f)
+ curveTo(8f, 14.21f, 9.79f, 16f, 12f, 16f)
+ curveTo(14.21f, 16f, 16f, 14.21f, 16f, 12f)
+ curveTo(16f, 9.79f, 14.21f, 8f, 12f, 8f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Car.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Car.kt
new file mode 100644
index 00000000..a253b957
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Car.kt
@@ -0,0 +1,82 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Car: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Car",
+ defaultWidth = 24.dp,
+ defaultHeight = 14.dp,
+ viewportWidth = 24f,
+ viewportHeight = 14f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(22.5f, 4.5f)
+ lineTo(19.81f, 4.5f)
+ lineTo(15.75f, 0.44f)
+ curveTo(15.611f, 0.3f, 15.446f, 0.189f, 15.264f, 0.113f)
+ curveTo(15.082f, 0.038f, 14.887f, -0.001f, 14.69f, 0f)
+ lineTo(4.151f, 0f)
+ curveTo(3.905f, 0f, 3.662f, 0.062f, 3.445f, 0.178f)
+ curveTo(3.228f, 0.294f, 3.043f, 0.463f, 2.906f, 0.668f)
+ lineTo(0.126f, 4.834f)
+ curveTo(0.044f, 4.957f, 0f, 5.102f, 0f, 5.25f)
+ lineTo(0f, 9.75f)
+ curveTo(0f, 10.148f, 0.158f, 10.529f, 0.439f, 10.811f)
+ curveTo(0.721f, 11.092f, 1.102f, 11.25f, 1.5f, 11.25f)
+ lineTo(3.094f, 11.25f)
+ curveTo(3.259f, 11.895f, 3.634f, 12.467f, 4.16f, 12.876f)
+ curveTo(4.687f, 13.284f, 5.334f, 13.506f, 6f, 13.506f)
+ curveTo(6.666f, 13.506f, 7.313f, 13.284f, 7.84f, 12.876f)
+ curveTo(8.366f, 12.467f, 8.741f, 11.895f, 8.906f, 11.25f)
+ lineTo(15.094f, 11.25f)
+ curveTo(15.259f, 11.895f, 15.634f, 12.467f, 16.16f, 12.876f)
+ curveTo(16.687f, 13.284f, 17.334f, 13.506f, 18f, 13.506f)
+ curveTo(18.666f, 13.506f, 19.313f, 13.284f, 19.84f, 12.876f)
+ curveTo(20.366f, 12.467f, 20.741f, 11.895f, 20.906f, 11.25f)
+ lineTo(22.5f, 11.25f)
+ curveTo(22.898f, 11.25f, 23.279f, 11.092f, 23.561f, 10.811f)
+ curveTo(23.842f, 10.529f, 24f, 10.148f, 24f, 9.75f)
+ lineTo(24f, 6f)
+ curveTo(24f, 5.602f, 23.842f, 5.221f, 23.561f, 4.939f)
+ curveTo(23.279f, 4.658f, 22.898f, 4.5f, 22.5f, 4.5f)
+ close()
+ moveTo(4.151f, 1.5f)
+ lineTo(14.69f, 1.5f)
+ lineTo(17.69f, 4.5f)
+ lineTo(2.156f, 4.5f)
+ lineTo(4.151f, 1.5f)
+ close()
+ moveTo(6f, 12f)
+ curveTo(5.703f, 12f, 5.413f, 11.912f, 5.167f, 11.747f)
+ curveTo(4.92f, 11.582f, 4.728f, 11.348f, 4.614f, 11.074f)
+ curveTo(4.501f, 10.8f, 4.471f, 10.498f, 4.529f, 10.207f)
+ curveTo(4.587f, 9.916f, 4.73f, 9.649f, 4.939f, 9.439f)
+ curveTo(5.149f, 9.23f, 5.416f, 9.087f, 5.707f, 9.029f)
+ curveTo(5.998f, 8.971f, 6.3f, 9.001f, 6.574f, 9.114f)
+ curveTo(6.848f, 9.228f, 7.082f, 9.42f, 7.247f, 9.667f)
+ curveTo(7.412f, 9.913f, 7.5f, 10.203f, 7.5f, 10.5f)
+ curveTo(7.5f, 10.898f, 7.342f, 11.279f, 7.061f, 11.561f)
+ curveTo(6.779f, 11.842f, 6.398f, 12f, 6f, 12f)
+ close()
+ moveTo(18f, 12f)
+ curveTo(17.703f, 12f, 17.413f, 11.912f, 17.167f, 11.747f)
+ curveTo(16.92f, 11.582f, 16.728f, 11.348f, 16.614f, 11.074f)
+ curveTo(16.501f, 10.8f, 16.471f, 10.498f, 16.529f, 10.207f)
+ curveTo(16.587f, 9.916f, 16.73f, 9.649f, 16.939f, 9.439f)
+ curveTo(17.149f, 9.23f, 17.416f, 9.087f, 17.707f, 9.029f)
+ curveTo(17.998f, 8.971f, 18.3f, 9.001f, 18.574f, 9.114f)
+ curveTo(18.848f, 9.228f, 19.082f, 9.42f, 19.247f, 9.667f)
+ curveTo(19.412f, 9.913f, 19.5f, 10.203f, 19.5f, 10.5f)
+ curveTo(19.5f, 10.898f, 19.342f, 11.279f, 19.061f, 11.561f)
+ curveTo(18.779f, 11.842f, 18.398f, 12f, 18f, 12f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Changelog.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Changelog.kt
new file mode 100644
index 00000000..1ef2e69d
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/icons/lazy/outlined/Changelog.kt
@@ -0,0 +1,54 @@
+package io.github.composegears.valkyrie.playground.icons.lazy.outlined
+
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.SolidColor
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.graphics.vector.path
+import androidx.compose.ui.unit.dp
+import io.github.composegears.valkyrie.playground.icons.lazy.LazyIcons
+import kotlin.LazyThreadSafetyMode
+
+val LazyIcons.Outlined.Changelog: ImageVector by lazy(LazyThreadSafetyMode.NONE) {
+ ImageVector.Builder(
+ name = "Outlined.Changelog",
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
+ viewportWidth = 24f,
+ viewportHeight = 24f
+ ).apply {
+ path(fill = SolidColor(Color(0xFF232F34))) {
+ moveTo(20.317f, 8.555f)
+ curveTo(19.777f, 7.255f, 20.569f, 5.719f, 19.425f, 4.575f)
+ curveTo(18.281f, 3.431f, 16.745f, 4.223f, 15.445f, 3.682f)
+ curveTo(14.152f, 3.148f, 13.591f, 1.5f, 12f, 1.5f)
+ curveTo(10.409f, 1.5f, 9.849f, 3.15f, 8.555f, 3.682f)
+ curveTo(7.256f, 4.226f, 5.72f, 3.43f, 4.575f, 4.575f)
+ curveTo(3.433f, 5.717f, 4.223f, 7.256f, 3.682f, 8.555f)
+ curveTo(3.148f, 9.848f, 1.5f, 10.409f, 1.5f, 12f)
+ curveTo(1.5f, 13.591f, 3.15f, 14.151f, 3.682f, 15.445f)
+ curveTo(4.223f, 16.745f, 3.431f, 18.281f, 4.575f, 19.425f)
+ curveTo(5.719f, 20.569f, 7.255f, 19.777f, 8.555f, 20.317f)
+ curveTo(9.848f, 20.851f, 10.409f, 22.5f, 12f, 22.5f)
+ curveTo(13.591f, 22.5f, 14.151f, 20.85f, 15.445f, 20.317f)
+ curveTo(16.745f, 19.777f, 18.281f, 20.569f, 19.425f, 19.425f)
+ curveTo(20.569f, 18.281f, 19.777f, 16.745f, 20.317f, 15.445f)
+ curveTo(20.851f, 14.152f, 22.5f, 13.591f, 22.5f, 12f)
+ curveTo(22.5f, 10.409f, 20.85f, 9.849f, 20.317f, 8.555f)
+ close()
+ moveTo(11.25f, 7.5f)
+ curveTo(11.25f, 7.091f, 11.592f, 6.75f, 12f, 6.75f)
+ curveTo(12.408f, 6.75f, 12.75f, 7.091f, 12.75f, 7.5f)
+ verticalLineTo(12.75f)
+ curveTo(12.75f, 13.158f, 12.408f, 13.5f, 12f, 13.5f)
+ curveTo(11.592f, 13.5f, 11.25f, 13.158f, 11.25f, 12.75f)
+ verticalLineTo(7.5f)
+ close()
+ moveTo(12f, 17.25f)
+ curveTo(11.555f, 17.25f, 11.131f, 16.967f, 10.961f, 16.556f)
+ curveTo(10.696f, 15.918f, 11.095f, 15.158f, 11.781f, 15.022f)
+ curveTo(12.466f, 14.885f, 13.125f, 15.435f, 13.125f, 16.125f)
+ curveTo(13.125f, 16.738f, 12.613f, 17.25f, 12f, 17.25f)
+ close()
+ }
+ }.build()
+}
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Color.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Color.kt
new file mode 100644
index 00000000..8c02d85b
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package io.github.composegears.valkyrie.playground.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Theme.kt b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Theme.kt
new file mode 100644
index 00000000..f4c28105
--- /dev/null
+++ b/playground/app/src/main/kotlin/io/github/composegears/valkyrie/playground/ui/theme/Theme.kt
@@ -0,0 +1,46 @@
+package io.github.composegears.valkyrie.playground.ui.theme
+
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80,
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40,
+)
+
+@Composable
+fun PlaygroundTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit,
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ content = content,
+ )
+}
diff --git a/playground/app/src/main/res/drawable/ic_launcher_foreground.xml b/playground/app/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 00000000..4914da33
--- /dev/null
+++ b/playground/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 00000000..7353dbd1
--- /dev/null
+++ b/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 00000000..7353dbd1
--- /dev/null
+++ b/playground/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/playground/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/playground/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 00000000..60663cf8
Binary files /dev/null and b/playground/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/playground/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/playground/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..60663cf8
Binary files /dev/null and b/playground/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/playground/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/playground/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 00000000..dcd4f58f
Binary files /dev/null and b/playground/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/playground/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/playground/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..dcd4f58f
Binary files /dev/null and b/playground/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/playground/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/playground/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 00000000..67905296
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/playground/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/playground/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..67905296
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..f59f1d8b
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..f59f1d8b
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..1a5a9558
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..1a5a9558
Binary files /dev/null and b/playground/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/playground/app/src/main/res/values/colors.xml b/playground/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..f42ada65
--- /dev/null
+++ b/playground/app/src/main/res/values/colors.xml
@@ -0,0 +1,4 @@
+
+
+ #FFFFFF
+
diff --git a/playground/app/src/main/res/values/strings.xml b/playground/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..1b655105
--- /dev/null
+++ b/playground/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Playground
+
\ No newline at end of file
diff --git a/playground/app/src/main/res/values/themes.xml b/playground/app/src/main/res/values/themes.xml
new file mode 100644
index 00000000..91cbfdd0
--- /dev/null
+++ b/playground/app/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/playground/raw_icons/broken.svg b/playground/raw_icons/broken.svg
new file mode 100644
index 00000000..c65b92be
--- /dev/null
+++ b/playground/raw_icons/broken.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/raw_icons/ic_add.xml b/playground/raw_icons/ic_add.xml
new file mode 100644
index 00000000..2ec83ac8
--- /dev/null
+++ b/playground/raw_icons/ic_add.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_appearance.xml b/playground/raw_icons/ic_appearance.xml
new file mode 100644
index 00000000..2a14e7bf
--- /dev/null
+++ b/playground/raw_icons/ic_appearance.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/playground/raw_icons/ic_arrow.xml b/playground/raw_icons/ic_arrow.xml
new file mode 100644
index 00000000..96a286e6
--- /dev/null
+++ b/playground/raw_icons/ic_arrow.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_arrow_left.xml b/playground/raw_icons/ic_arrow_left.xml
new file mode 100644
index 00000000..1e275d05
--- /dev/null
+++ b/playground/raw_icons/ic_arrow_left.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_arrow_right.xml b/playground/raw_icons/ic_arrow_right.xml
new file mode 100644
index 00000000..95612db8
--- /dev/null
+++ b/playground/raw_icons/ic_arrow_right.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_brightness.xml b/playground/raw_icons/ic_brightness.xml
new file mode 100644
index 00000000..3421f517
--- /dev/null
+++ b/playground/raw_icons/ic_brightness.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_car.xml b/playground/raw_icons/ic_car.xml
new file mode 100644
index 00000000..f297e8cd
--- /dev/null
+++ b/playground/raw_icons/ic_car.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/ic_changelog.xml b/playground/raw_icons/ic_changelog.xml
new file mode 100644
index 00000000..25fdee64
--- /dev/null
+++ b/playground/raw_icons/ic_changelog.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/playground/raw_icons/videocam.svg b/playground/raw_icons/videocam.svg
new file mode 100644
index 00000000..4eda299b
--- /dev/null
+++ b/playground/raw_icons/videocam.svg
@@ -0,0 +1 @@
+
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 99368075..8d8558fd 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -3,6 +3,13 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
+ google {
+ content {
+ includeGroupByRegex("com\\.android.*")
+ includeGroupByRegex("com\\.google.*")
+ includeGroupByRegex("androidx.*")
+ }
+ }
mavenCentral()
gradlePluginPortal()
}
@@ -45,3 +52,4 @@ include("components:generator:common")
include("components:generator:iconpack")
include("components:generator:imagevector")
include("components:parser")
+include("playground:app")