Skip to content

Commit 732b52a

Browse files
authored
Merge pull request #175 from dokar3/kotlin-2.3.0
Kotlin 2.3.0, Compose 1.10.0, and more
2 parents a656149 + fc761c0 commit 732b52a

File tree

36 files changed

+1264
-915
lines changed

36 files changed

+1264
-915
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Publish library
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
# Took it from https://github.com/chrisbanes/haze/blob/main/.github/workflows/build.yml
8+
deploy:
9+
runs-on: macos-15
10+
timeout-minutes: 30
11+
12+
steps:
13+
- uses: actions/checkout@v6
14+
15+
- name: Setup JDK
16+
uses: actions/setup-java@v5
17+
with:
18+
distribution: 'zulu'
19+
java-version: 20
20+
21+
- uses: gradle/gradle-build-action@v3.5.0
22+
23+
- name: Deploy to Sonatype
24+
run: ./gradlew publish --no-configuration-cache
25+
env:
26+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
27+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
28+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_KEY }}
29+
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.GPG_KEY_ID }}
30+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.GPG_KEY_PASSWORD }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ChipTextField
22

3-
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.dokar3/chiptextfield/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.github.dokar3/chiptextfield)
3+
![Maven Central](https://img.shields.io/maven-central/v/io.github.dokar3/chiptextfield?style=flat-square&color=%23ea197e)
44

55
Editable and customizable chips for Compose Multiplatform. Available on these platforms:
66

build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
buildscript {
3-
val composeBomVersion: String by extra("2024.06.00")
3+
val composeBomVersion: String by extra("2026.01.00")
44
}
55

66
plugins {
77
alias(libs.plugins.android.application) apply false
88
alias(libs.plugins.android.library) apply false
9+
alias(libs.plugins.android.kotlin.multiplatform) apply false
10+
alias(libs.plugins.kotlinMultiplatform) apply false
911
alias(libs.plugins.kotlin.android) apply false
1012
alias(libs.plugins.compose.multiplatform) apply false
1113
alias(libs.plugins.compose.compiler) apply false

chiptextfield-core/build.gradle

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
11
plugins {
2-
id("com.android.library")
3-
id("kotlin-multiplatform")
4-
id('com.vanniktech.maven.publish')
5-
id("org.jetbrains.compose")
2+
alias(libs.plugins.android.kotlin.multiplatform)
3+
alias(libs.plugins.kotlinMultiplatform)
4+
alias(libs.plugins.compose.multiplatform)
5+
alias(libs.plugins.mavenpublish)
66
alias(libs.plugins.compose.compiler)
77
}
88

9-
android {
10-
namespace 'com.dokar.chiptextfield.core'
11-
12-
compileSdk libs.versions.androidCompileSdk.get().toInteger()
13-
14-
defaultConfig {
15-
minSdk 21
16-
targetSdkVersion libs.versions.androidTargetSdk.get().toInteger()
17-
18-
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
19-
consumerProguardFiles "consumer-rules.pro"
20-
}
21-
22-
buildTypes {
23-
release {
24-
minifyEnabled false
25-
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
26-
}
27-
}
28-
}
29-
309
kotlin {
3110
jvmToolchain(11)
3211

12+
androidLibrary {
13+
namespace = "com.dokar.chiptextfield.core"
14+
compileSdk = libs.versions.androidCompileSdk.get().toInteger()
15+
minSdk = libs.versions.androidMinSdk.get().toInteger()
16+
}
17+
3318
jvm()
3419
// iosX64()
3520
// macosX64()
36-
js(IR) {
37-
browser()
38-
}
3921
wasmJs {
40-
binaries.executable()
22+
compilerOptions {
23+
outputModuleName.set("chiptextfield-core")
24+
}
25+
browser {
26+
commonWebpackConfig {
27+
outputFileName = "chiptextfield-core.js"
28+
}
29+
testTask {
30+
// Tests are broken now: Module not found: Error: Can't resolve './skiko.mjs'
31+
enabled = false
32+
}
33+
}
4134
binaries.library()
4235
}
43-
44-
androidTarget {
45-
publishLibraryVariants("release")
36+
js(IR) {
37+
compilerOptions {
38+
outputModuleName.set("chiptextfield-core-jscanvas")
39+
}
40+
browser {
41+
commonWebpackConfig {
42+
outputFileName = "chiptextfield-core-jscanvas.js"
43+
}
44+
}
45+
binaries.library()
4646
}
4747

4848
sourceSets {
4949
commonMain {
5050
dependencies {
51-
api(compose.ui)
52-
api(compose.foundation)
51+
api(libs.jetbrains.compose.ui)
52+
api(libs.jetbrains.compose.foundation)
5353
}
5454
}
5555
}
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package com.dokar.chiptextfield
22

3+
import androidx.compose.ui.text.PlatformTextStyle
4+
35
actual suspend fun awaitFrame() {
46
kotlinx.coroutines.android.awaitFrame()
5-
}
7+
}
8+
9+
internal actual val DefaultPlatformTextStyle: PlatformTextStyle
10+
get() = PlatformTextStyle()

chiptextfield-core/src/commonMain/kotlin/com/dokar/chiptextfield/BasicChipTextFieldDefaults.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,13 @@ import androidx.compose.foundation.shape.CircleShape
44
import androidx.compose.runtime.Composable
55
import androidx.compose.ui.graphics.Color
66
import androidx.compose.ui.graphics.Shape
7-
import androidx.compose.ui.text.PlatformParagraphStyle
8-
import androidx.compose.ui.text.PlatformSpanStyle
9-
import androidx.compose.ui.text.PlatformTextStyle
107
import androidx.compose.ui.text.TextStyle
118
import androidx.compose.ui.unit.Dp
129
import androidx.compose.ui.unit.dp
1310

1411
object BasicChipTextFieldDefaults {
1512
private const val DISABLED_CONTENT_ALPHA = 0.38f
1613

17-
private val DefaultPlatformTextStyle = PlatformTextStyle(
18-
spanStyle = PlatformSpanStyle.Default,
19-
paragraphStyle = PlatformParagraphStyle.Default,
20-
)
2114
private val DefaultTextStyle = TextStyle.Default.copy(platformStyle = DefaultPlatformTextStyle)
2215

2316
val textStyle: TextStyle = DefaultTextStyle
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
package com.dokar.chiptextfield
22

3-
expect suspend fun awaitFrame()
3+
import androidx.compose.ui.text.PlatformTextStyle
4+
5+
expect suspend fun awaitFrame()
6+
7+
internal expect val DefaultPlatformTextStyle: PlatformTextStyle
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
package com.dokar.chiptextfield
22

3+
import androidx.compose.ui.text.PlatformParagraphStyle
4+
import androidx.compose.ui.text.PlatformSpanStyle
5+
import androidx.compose.ui.text.PlatformTextStyle
36
import kotlinx.browser.window
47
import kotlinx.coroutines.awaitAnimationFrame
58

69
actual suspend fun awaitFrame() {
710
// May not be needed?
811
window.awaitAnimationFrame()
9-
}
12+
}
13+
14+
internal actual val DefaultPlatformTextStyle: PlatformTextStyle
15+
get() = PlatformTextStyle(
16+
spanStyle = PlatformSpanStyle.Default,
17+
paragraphStyle = PlatformParagraphStyle.Default,
18+
)
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
package com.dokar.chiptextfield
22

3+
import androidx.compose.ui.text.PlatformParagraphStyle
4+
import androidx.compose.ui.text.PlatformSpanStyle
5+
import androidx.compose.ui.text.PlatformTextStyle
6+
37
actual suspend fun awaitFrame() {
48
// Do nothing
5-
}
9+
}
10+
11+
internal actual val DefaultPlatformTextStyle: PlatformTextStyle
12+
get() = PlatformTextStyle(
13+
spanStyle = PlatformSpanStyle.Default,
14+
paragraphStyle = PlatformParagraphStyle.Default,
15+
)
Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
package com.dokar.chiptextfield
22

3+
import androidx.compose.ui.text.PlatformParagraphStyle
4+
import androidx.compose.ui.text.PlatformSpanStyle
5+
import androidx.compose.ui.text.PlatformTextStyle
6+
37
actual suspend fun awaitFrame() {
48
// Do nothing
5-
}
9+
}
10+
11+
internal actual val DefaultPlatformTextStyle: PlatformTextStyle
12+
get() = PlatformTextStyle(
13+
spanStyle = PlatformSpanStyle.Default,
14+
paragraphStyle = PlatformParagraphStyle.Default,
15+
)

0 commit comments

Comments
 (0)