@momo-kits/native-kits 0.156.1-test.10-debug → 0.156.1-test.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/publish.sh +16 -9
- package/build.gradle.kts +0 -11
- package/compose/build.gradle.kts +0 -180
- package/compose/build.gradle.kts.backup +0 -180
- package/compose/compose.podspec +0 -54
- package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +0 -113
- package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
- package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
- package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +0 -57
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +0 -95
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +0 -201
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +0 -222
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +0 -48
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +0 -86
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +0 -76
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +0 -76
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +0 -305
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +0 -33
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +0 -715
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +0 -121
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +0 -405
- package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +0 -69
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +0 -83
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +0 -32
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +0 -340
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +0 -348
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +0 -94
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +0 -136
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +0 -543
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +0 -23
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +0 -76
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +0 -148
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +0 -188
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +0 -116
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +0 -447
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +0 -172
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +0 -244
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +0 -231
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +0 -234
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +0 -254
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +0 -241
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +0 -364
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +0 -56
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +0 -41
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +0 -92
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +0 -40
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +0 -352
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +0 -103
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +0 -70
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +0 -17
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +0 -96
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +0 -96
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +0 -92
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +0 -130
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +0 -214
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +0 -177
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +0 -205
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +0 -29
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +0 -239
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +0 -191
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +0 -306
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +0 -12
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +0 -13
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +0 -189
- package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +0 -285
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +0 -2
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +0 -35
- package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +0 -2
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +0 -59
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +0 -68
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +0 -11
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +0 -14
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +0 -50
- package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +0 -51
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +0 -239
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +0 -119
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -98
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +0 -163
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +0 -331
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +0 -497
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +0 -162
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +0 -226
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +0 -86
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +0 -187
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +0 -274
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +0 -80
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +0 -306
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +0 -31
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +0 -370
- package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +0 -132
- package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +0 -42
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +0 -1329
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +0 -62
- package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +0 -88
- package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +0 -152
- package/gradle/libs.versions.toml +0 -57
- package/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/gradle/wrapper/gradle-wrapper.properties +0 -8
- package/gradle.properties +0 -26
- package/gradlew +0 -252
- package/gradlew.bat +0 -94
- package/local.properties +0 -8
- package/publish_beta.sh +0 -275
- package/publish_release.sh +0 -334
- package/settings.gradle.kts +0 -52
package/package.json
CHANGED
package/publish.sh
CHANGED
|
@@ -213,13 +213,9 @@ phase_publish_npm() {
|
|
|
213
213
|
|
|
214
214
|
./gradlew clean
|
|
215
215
|
|
|
216
|
-
#
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
echo "✅ Normal version published successfully!"
|
|
221
|
-
|
|
222
|
-
# Second publish: debug version with compose kits included
|
|
216
|
+
# ============================================================
|
|
217
|
+
# FIRST PUBLISH: DEBUG VERSION (with compose kits included)
|
|
218
|
+
# ============================================================
|
|
223
219
|
echo ""
|
|
224
220
|
echo "🔧 Preparing debug version with compose kits..."
|
|
225
221
|
|
|
@@ -302,6 +298,8 @@ EOF
|
|
|
302
298
|
echo "📤 Publishing debug version (with compose)..."
|
|
303
299
|
npm publish --tag $NPM_TAG --access=public
|
|
304
300
|
|
|
301
|
+
echo "✅ Debug version published successfully!"
|
|
302
|
+
|
|
305
303
|
# Restore .npmignore
|
|
306
304
|
mv .npmignore.backup .npmignore
|
|
307
305
|
echo "✅ .npmignore restored"
|
|
@@ -321,10 +319,19 @@ EOF
|
|
|
321
319
|
|
|
322
320
|
echo "✅ package.json version restored"
|
|
323
321
|
|
|
322
|
+
# ============================================================
|
|
323
|
+
# SECOND PUBLISH: NORMAL VERSION (without compose)
|
|
324
|
+
# ============================================================
|
|
325
|
+
echo ""
|
|
326
|
+
echo "📤 Publishing normal version (without compose)..."
|
|
327
|
+
npm publish --tag $NPM_TAG --access=public
|
|
328
|
+
|
|
329
|
+
echo "✅ Normal version published successfully!"
|
|
330
|
+
|
|
324
331
|
echo ""
|
|
325
332
|
echo "✅ PHASE 2 COMPLETED"
|
|
326
|
-
echo "
|
|
327
|
-
echo "
|
|
333
|
+
echo " 🐛 Debug version: $DEBUG_VERSION (with compose) - Published first"
|
|
334
|
+
echo " 📦 Normal version: $VERSION (without compose) - Published second"
|
|
328
335
|
echo " 🏷️ NPM Tag: $NPM_TAG"
|
|
329
336
|
echo ""
|
|
330
337
|
}
|
package/build.gradle.kts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
plugins {
|
|
2
|
-
// this is necessary to avoid the plugins to be loaded multiple times
|
|
3
|
-
// in each subproject's classloader
|
|
4
|
-
alias(libs.plugins.android.application) apply false
|
|
5
|
-
alias(libs.plugins.android.library) apply false
|
|
6
|
-
alias(libs.plugins.compose) apply false
|
|
7
|
-
alias(libs.plugins.kotlin.compose.compiler) apply false
|
|
8
|
-
alias(libs.plugins.jetbrains.kotlin.multiplatform) apply false
|
|
9
|
-
alias(libs.plugins.jetbrains.kotlin.serialization) apply false
|
|
10
|
-
alias(libs.plugins.vanniktech.mavenPublish) apply false
|
|
11
|
-
}
|
package/compose/build.gradle.kts
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
// import com.vanniktech.maven.publish.JavadocJar
|
|
2
|
-
// import com.vanniktech.maven.publish.KotlinMultiplatform
|
|
3
|
-
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
4
|
-
|
|
5
|
-
plugins {
|
|
6
|
-
alias(libs.plugins.jetbrains.kotlin.multiplatform)
|
|
7
|
-
alias(libs.plugins.android.library)
|
|
8
|
-
alias(libs.plugins.compose)
|
|
9
|
-
alias(libs.plugins.kotlin.compose.compiler)
|
|
10
|
-
// alias(libs.plugins.vanniktech.mavenPublish)
|
|
11
|
-
id(libs.plugins.jetbrains.kotlin.cocoapods.get().pluginId)
|
|
12
|
-
kotlin("plugin.serialization")
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
val gitlabName: String? = findProperty("name") as String? ?: ""
|
|
16
|
-
val gitlabRepo: String? = findProperty("repo") as String? ?: ""
|
|
17
|
-
val gitlabUrl: String? = findProperty("url") as String? ?: ""
|
|
18
|
-
val gitlabGroup: String? = findProperty("group") as String? ?: ""
|
|
19
|
-
val gitlabArtifactId: String = findProperty("artifact.id") as String? ?: ""
|
|
20
|
-
val gitlabVersion: String? = findProperty("version") as String? ?: ""
|
|
21
|
-
val gitlabUser: String? = findProperty("gitlab.user") as String? ?: ""
|
|
22
|
-
val gitlabKey: String? = findProperty("gitlab.password") as String? ?: ""
|
|
23
|
-
|
|
24
|
-
kotlin {
|
|
25
|
-
androidTarget {
|
|
26
|
-
compilerOptions {
|
|
27
|
-
jvmTarget.set(JvmTarget.JVM_17)
|
|
28
|
-
}
|
|
29
|
-
publishLibraryVariants("release")
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
val fwName = gitlabArtifactId
|
|
33
|
-
val iosTargets = listOf(iosX64(), iosArm64(), iosSimulatorArm64())
|
|
34
|
-
iosTargets.forEach {
|
|
35
|
-
it.binaries.framework {
|
|
36
|
-
baseName = fwName
|
|
37
|
-
binaryOption("bundleId", "$gitlabGroup.$fwName")
|
|
38
|
-
isStatic = true
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
cocoapods {
|
|
43
|
-
version = "0.156.1-test.10-debug"
|
|
44
|
-
summary = "IOS Shared module"
|
|
45
|
-
homepage = "https://momo.vn"
|
|
46
|
-
ios.deploymentTarget = "15.0"
|
|
47
|
-
|
|
48
|
-
framework {
|
|
49
|
-
baseName = fwName
|
|
50
|
-
isStatic = true
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
pod("lottie-ios") {
|
|
54
|
-
moduleName = "Lottie"
|
|
55
|
-
version = "4.4.3"
|
|
56
|
-
extraOpts += listOf("-compiler-option", "-fmodules")
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
sourceSets {
|
|
61
|
-
commonMain.dependencies {
|
|
62
|
-
implementation(compose.runtime)
|
|
63
|
-
implementation(compose.material)
|
|
64
|
-
implementation(compose.material3)
|
|
65
|
-
implementation(compose.components.resources)
|
|
66
|
-
implementation(libs.ktor.client.core)
|
|
67
|
-
implementation(libs.jetbrains.coroutines.core)
|
|
68
|
-
implementation(libs.navigation.multiplatform)
|
|
69
|
-
implementation(libs.coil.multiplatform.compose)
|
|
70
|
-
implementation(libs.coil.multiplatform.core)
|
|
71
|
-
implementation(libs.coil.multiplatform.network.ktor)
|
|
72
|
-
implementation(libs.jetbrains.serialization.json)
|
|
73
|
-
implementation(libs.kotlinx.datetime)
|
|
74
|
-
api(libs.native.max.api)
|
|
75
|
-
}
|
|
76
|
-
androidMain.dependencies {
|
|
77
|
-
implementation(libs.ktor.client.okhttp)
|
|
78
|
-
implementation(libs.airbnb.lottie)
|
|
79
|
-
}
|
|
80
|
-
iosMain.dependencies {
|
|
81
|
-
implementation(libs.ktor.client.darwin)
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
android {
|
|
87
|
-
namespace = "vn.momo.kits.kits"
|
|
88
|
-
compileSdk = 35
|
|
89
|
-
compileOptions {
|
|
90
|
-
sourceCompatibility = JavaVersion.VERSION_17
|
|
91
|
-
targetCompatibility = JavaVersion.VERSION_17
|
|
92
|
-
}
|
|
93
|
-
defaultConfig {
|
|
94
|
-
minSdk = 24
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
dependencies {
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
repositories {
|
|
102
|
-
google {
|
|
103
|
-
mavenContent {
|
|
104
|
-
includeGroupAndSubgroups("androidx")
|
|
105
|
-
includeGroupAndSubgroups("com.android")
|
|
106
|
-
includeGroupAndSubgroups("com.google")
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
mavenCentral()
|
|
110
|
-
maven {
|
|
111
|
-
url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
|
|
112
|
-
credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
|
|
113
|
-
}
|
|
114
|
-
maven {
|
|
115
|
-
url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
|
|
116
|
-
isAllowInsecureProtocol = true
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
compose {
|
|
121
|
-
resources {
|
|
122
|
-
publicResClass = true
|
|
123
|
-
packageOfResClass = "vn.momo.uikits.resources"
|
|
124
|
-
generateResClass = always
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// publishing {
|
|
129
|
-
// repositories {
|
|
130
|
-
// maven {
|
|
131
|
-
// name = "${gitlabRepo}Packages"
|
|
132
|
-
// credentials {
|
|
133
|
-
// username = gitlabUser
|
|
134
|
-
// password = gitlabKey
|
|
135
|
-
// }
|
|
136
|
-
// url = uri("$gitlabUrl")
|
|
137
|
-
// }
|
|
138
|
-
// }
|
|
139
|
-
// }
|
|
140
|
-
|
|
141
|
-
// mavenPublishing {
|
|
142
|
-
// configure(
|
|
143
|
-
// KotlinMultiplatform(
|
|
144
|
-
// javadocJar = JavadocJar.Empty(),
|
|
145
|
-
// sourcesJar = true,
|
|
146
|
-
// androidVariantsToPublish = listOf("release")
|
|
147
|
-
// )
|
|
148
|
-
// )
|
|
149
|
-
//
|
|
150
|
-
// repositories {
|
|
151
|
-
// maven {
|
|
152
|
-
// name = "${gitlabRepo}Packages"
|
|
153
|
-
// credentials { username = gitlabUser; password = gitlabKey }
|
|
154
|
-
// url = uri("$gitlabUrl")
|
|
155
|
-
// }
|
|
156
|
-
// }
|
|
157
|
-
//
|
|
158
|
-
// coordinates(gitlabGroup.toString(), gitlabArtifactId, gitlabVersion.toString())
|
|
159
|
-
//
|
|
160
|
-
// pom {
|
|
161
|
-
// name = "$gitlabName Klib"
|
|
162
|
-
// description = "$gitlabName"
|
|
163
|
-
// url = "https://gitlab.mservice.com.vn"
|
|
164
|
-
// licenses {
|
|
165
|
-
// license {
|
|
166
|
-
// name = "The Apache License, Version 2.0"
|
|
167
|
-
// url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
168
|
-
// distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
169
|
-
// }
|
|
170
|
-
// }
|
|
171
|
-
// developers {
|
|
172
|
-
// developer {
|
|
173
|
-
// id = "kotlin-hands-on"
|
|
174
|
-
// name = "Kotlin Developer Advocate"
|
|
175
|
-
// url = "https://github.com/kotlin-hands-on/"
|
|
176
|
-
// }
|
|
177
|
-
// }
|
|
178
|
-
// }
|
|
179
|
-
// }
|
|
180
|
-
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import com.vanniktech.maven.publish.JavadocJar
|
|
2
|
-
import com.vanniktech.maven.publish.KotlinMultiplatform
|
|
3
|
-
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
4
|
-
|
|
5
|
-
plugins {
|
|
6
|
-
alias(libs.plugins.jetbrains.kotlin.multiplatform)
|
|
7
|
-
alias(libs.plugins.android.library)
|
|
8
|
-
alias(libs.plugins.compose)
|
|
9
|
-
alias(libs.plugins.kotlin.compose.compiler)
|
|
10
|
-
alias(libs.plugins.vanniktech.mavenPublish)
|
|
11
|
-
id(libs.plugins.jetbrains.kotlin.cocoapods.get().pluginId)
|
|
12
|
-
kotlin("plugin.serialization")
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
val gitlabName: String? = findProperty("name") as String? ?: ""
|
|
16
|
-
val gitlabRepo: String? = findProperty("repo") as String? ?: ""
|
|
17
|
-
val gitlabUrl: String? = findProperty("url") as String? ?: ""
|
|
18
|
-
val gitlabGroup: String? = findProperty("group") as String? ?: ""
|
|
19
|
-
val gitlabArtifactId: String = findProperty("artifact.id") as String? ?: ""
|
|
20
|
-
val gitlabVersion: String? = findProperty("version") as String? ?: ""
|
|
21
|
-
val gitlabUser: String? = findProperty("gitlab.user") as String? ?: ""
|
|
22
|
-
val gitlabKey: String? = findProperty("gitlab.password") as String? ?: ""
|
|
23
|
-
|
|
24
|
-
kotlin {
|
|
25
|
-
androidTarget {
|
|
26
|
-
compilerOptions {
|
|
27
|
-
jvmTarget.set(JvmTarget.JVM_17)
|
|
28
|
-
}
|
|
29
|
-
publishLibraryVariants("release")
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
val fwName = gitlabArtifactId
|
|
33
|
-
val iosTargets = listOf(iosX64(), iosArm64(), iosSimulatorArm64())
|
|
34
|
-
iosTargets.forEach {
|
|
35
|
-
it.binaries.framework {
|
|
36
|
-
baseName = fwName
|
|
37
|
-
binaryOption("bundleId", "$gitlabGroup.$fwName")
|
|
38
|
-
isStatic = true
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
cocoapods {
|
|
43
|
-
version = gitlabVersion
|
|
44
|
-
summary = "IOS Shared module"
|
|
45
|
-
homepage = "https://momo.vn"
|
|
46
|
-
ios.deploymentTarget = "15.0"
|
|
47
|
-
|
|
48
|
-
framework {
|
|
49
|
-
baseName = fwName
|
|
50
|
-
isStatic = true
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
pod("lottie-ios") {
|
|
54
|
-
moduleName = "Lottie"
|
|
55
|
-
version = "4.4.3"
|
|
56
|
-
extraOpts += listOf("-compiler-option", "-fmodules")
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
sourceSets {
|
|
61
|
-
commonMain.dependencies {
|
|
62
|
-
implementation(compose.runtime)
|
|
63
|
-
implementation(compose.material)
|
|
64
|
-
implementation(compose.material3)
|
|
65
|
-
implementation(compose.components.resources)
|
|
66
|
-
implementation(libs.ktor.client.core)
|
|
67
|
-
implementation(libs.jetbrains.coroutines.core)
|
|
68
|
-
implementation(libs.navigation.multiplatform)
|
|
69
|
-
implementation(libs.coil.multiplatform.compose)
|
|
70
|
-
implementation(libs.coil.multiplatform.core)
|
|
71
|
-
implementation(libs.coil.multiplatform.network.ktor)
|
|
72
|
-
implementation(libs.jetbrains.serialization.json)
|
|
73
|
-
implementation(libs.kotlinx.datetime)
|
|
74
|
-
api(libs.native.max.api)
|
|
75
|
-
}
|
|
76
|
-
androidMain.dependencies {
|
|
77
|
-
implementation(libs.ktor.client.okhttp)
|
|
78
|
-
implementation(libs.airbnb.lottie)
|
|
79
|
-
}
|
|
80
|
-
iosMain.dependencies {
|
|
81
|
-
implementation(libs.ktor.client.darwin)
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
android {
|
|
87
|
-
namespace = "$gitlabGroup.$gitlabArtifactId"
|
|
88
|
-
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
|
89
|
-
compileOptions {
|
|
90
|
-
sourceCompatibility = JavaVersion.VERSION_17
|
|
91
|
-
targetCompatibility = JavaVersion.VERSION_17
|
|
92
|
-
}
|
|
93
|
-
defaultConfig {
|
|
94
|
-
minSdk = libs.versions.android.minSdk.get().toInt()
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
dependencies {
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
repositories {
|
|
102
|
-
google {
|
|
103
|
-
mavenContent {
|
|
104
|
-
includeGroupAndSubgroups("androidx")
|
|
105
|
-
includeGroupAndSubgroups("com.android")
|
|
106
|
-
includeGroupAndSubgroups("com.google")
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
mavenCentral()
|
|
110
|
-
maven {
|
|
111
|
-
url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
|
|
112
|
-
credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
|
|
113
|
-
}
|
|
114
|
-
maven {
|
|
115
|
-
url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
|
|
116
|
-
isAllowInsecureProtocol = true
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
compose {
|
|
121
|
-
resources {
|
|
122
|
-
publicResClass = true
|
|
123
|
-
packageOfResClass = "vn.momo.uikits.resources"
|
|
124
|
-
generateResClass = always
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
publishing {
|
|
129
|
-
repositories {
|
|
130
|
-
maven {
|
|
131
|
-
name = "${gitlabRepo}Packages"
|
|
132
|
-
credentials {
|
|
133
|
-
username = gitlabUser
|
|
134
|
-
password = gitlabKey
|
|
135
|
-
}
|
|
136
|
-
url = uri("$gitlabUrl")
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
mavenPublishing {
|
|
142
|
-
configure(
|
|
143
|
-
KotlinMultiplatform(
|
|
144
|
-
javadocJar = JavadocJar.Empty(),
|
|
145
|
-
sourcesJar = true,
|
|
146
|
-
androidVariantsToPublish = listOf("release")
|
|
147
|
-
)
|
|
148
|
-
)
|
|
149
|
-
|
|
150
|
-
repositories {
|
|
151
|
-
maven {
|
|
152
|
-
name = "${gitlabRepo}Packages"
|
|
153
|
-
credentials { username = gitlabUser; password = gitlabKey }
|
|
154
|
-
url = uri("$gitlabUrl")
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
coordinates(gitlabGroup.toString(), gitlabArtifactId, gitlabVersion.toString())
|
|
159
|
-
|
|
160
|
-
pom {
|
|
161
|
-
name = "$gitlabName Klib"
|
|
162
|
-
description = "$gitlabName"
|
|
163
|
-
url = "https://gitlab.mservice.com.vn"
|
|
164
|
-
licenses {
|
|
165
|
-
license {
|
|
166
|
-
name = "The Apache License, Version 2.0"
|
|
167
|
-
url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
168
|
-
distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
developers {
|
|
172
|
-
developer {
|
|
173
|
-
id = "kotlin-hands-on"
|
|
174
|
-
name = "Kotlin Developer Advocate"
|
|
175
|
-
url = "https://github.com/kotlin-hands-on/"
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
package/compose/compose.podspec
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
Pod::Spec.new do |spec|
|
|
2
|
-
spec.name = 'compose'
|
|
3
|
-
spec.version = '0.156.1-beta.2'
|
|
4
|
-
spec.homepage = 'https://momo.vn'
|
|
5
|
-
spec.source = { :http=> ''}
|
|
6
|
-
spec.authors = ''
|
|
7
|
-
spec.license = ''
|
|
8
|
-
spec.summary = 'IOS Shared module'
|
|
9
|
-
spec.vendored_frameworks = 'build/cocoapods/framework/kits.framework'
|
|
10
|
-
spec.libraries = 'c++'
|
|
11
|
-
spec.ios.deployment_target = '15.0'
|
|
12
|
-
spec.dependency 'lottie-ios', '4.4.3'
|
|
13
|
-
|
|
14
|
-
if !Dir.exist?('build/cocoapods/framework/kits.framework') || Dir.empty?('build/cocoapods/framework/kits.framework')
|
|
15
|
-
raise "
|
|
16
|
-
|
|
17
|
-
Kotlin framework 'kits' doesn't exist yet, so a proper Xcode project can't be generated.
|
|
18
|
-
'pod install' should be executed after running ':generateDummyFramework' Gradle task:
|
|
19
|
-
|
|
20
|
-
./gradlew :compose:generateDummyFramework
|
|
21
|
-
|
|
22
|
-
Alternatively, proper pod installation is performed during Gradle sync in the IDE (if Podfile location is set)"
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
spec.xcconfig = {
|
|
26
|
-
'ENABLE_USER_SCRIPT_SANDBOXING' => 'NO',
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
spec.pod_target_xcconfig = {
|
|
30
|
-
'KOTLIN_PROJECT_PATH' => ':compose',
|
|
31
|
-
'PRODUCT_MODULE_NAME' => 'kits',
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
spec.script_phases = [
|
|
35
|
-
{
|
|
36
|
-
:name => 'Build compose',
|
|
37
|
-
:execution_position => :before_compile,
|
|
38
|
-
:shell_path => '/bin/sh',
|
|
39
|
-
:script => <<-SCRIPT
|
|
40
|
-
if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then
|
|
41
|
-
echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\""
|
|
42
|
-
exit 0
|
|
43
|
-
fi
|
|
44
|
-
set -ev
|
|
45
|
-
REPO_ROOT="$PODS_TARGET_SRCROOT"
|
|
46
|
-
"$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \
|
|
47
|
-
-Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \
|
|
48
|
-
-Pkotlin.native.cocoapods.archs="$ARCHS" \
|
|
49
|
-
-Pkotlin.native.cocoapods.configuration="$CONFIGURATION"
|
|
50
|
-
SCRIPT
|
|
51
|
-
}
|
|
52
|
-
]
|
|
53
|
-
spec.resources = ['build/compose/cocoapods/compose-resources']
|
|
54
|
-
end
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
package vn.momo.kits.platform
|
|
2
|
-
|
|
3
|
-
import android.annotation.SuppressLint
|
|
4
|
-
import android.content.res.Resources
|
|
5
|
-
import android.graphics.BlurMaskFilter
|
|
6
|
-
import android.graphics.PorterDuff
|
|
7
|
-
import android.graphics.PorterDuffColorFilter
|
|
8
|
-
import android.os.Build
|
|
9
|
-
import androidx.compose.foundation.layout.Box
|
|
10
|
-
import androidx.compose.runtime.Composable
|
|
11
|
-
import androidx.compose.runtime.getValue
|
|
12
|
-
import androidx.compose.ui.Modifier
|
|
13
|
-
import androidx.compose.ui.draw.drawBehind
|
|
14
|
-
import androidx.compose.ui.graphics.Color
|
|
15
|
-
import androidx.compose.ui.graphics.NativePaint
|
|
16
|
-
import androidx.compose.ui.graphics.Paint
|
|
17
|
-
import androidx.compose.ui.graphics.drawscope.drawIntoCanvas
|
|
18
|
-
import androidx.compose.ui.graphics.toArgb
|
|
19
|
-
import androidx.compose.ui.platform.LocalConfiguration
|
|
20
|
-
import androidx.compose.ui.unit.Dp
|
|
21
|
-
import androidx.compose.ui.unit.dp
|
|
22
|
-
import com.airbnb.lottie.LottieProperty
|
|
23
|
-
import com.airbnb.lottie.compose.LottieAnimation
|
|
24
|
-
import com.airbnb.lottie.compose.LottieCompositionSpec
|
|
25
|
-
import com.airbnb.lottie.compose.LottieConstants
|
|
26
|
-
import com.airbnb.lottie.compose.rememberLottieComposition
|
|
27
|
-
import com.airbnb.lottie.compose.rememberLottieDynamicProperties
|
|
28
|
-
import com.airbnb.lottie.compose.rememberLottieDynamicProperty
|
|
29
|
-
import vn.momo.kits.const.AppNavigationBar
|
|
30
|
-
import vn.momo.kits.const.AppStatusBar
|
|
31
|
-
import vn.momo.kits.utils.readJson
|
|
32
|
-
import androidx.activity.compose.BackHandler as AndroidBackHandler
|
|
33
|
-
|
|
34
|
-
actual fun getPlatformName(): String = "Android"
|
|
35
|
-
|
|
36
|
-
@Composable
|
|
37
|
-
actual fun getScreenDimensions(): ScreenDimension {
|
|
38
|
-
val config = LocalConfiguration.current
|
|
39
|
-
return ScreenDimension(
|
|
40
|
-
config.screenWidthDp, config.screenHeightDp
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
actual fun NativePaint.setMaskFilter(blurRadius: Float) {
|
|
45
|
-
this.maskFilter = BlurMaskFilter(blurRadius, BlurMaskFilter.Blur.NORMAL)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@SuppressLint("InternalInsetResource")
|
|
49
|
-
@Composable
|
|
50
|
-
actual fun getStatusBarHeight(): Dp {
|
|
51
|
-
val resourceId = Resources.getSystem().getIdentifier(
|
|
52
|
-
"status_bar_height",
|
|
53
|
-
"dimen",
|
|
54
|
-
"android"
|
|
55
|
-
)
|
|
56
|
-
return if(resourceId > 0) Resources.getSystem().getDimensionPixelSize(resourceId).dp else 0.dp
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
@Composable
|
|
60
|
-
actual fun BackHandler(enabled: Boolean, onBack: () -> Unit) {
|
|
61
|
-
AndroidBackHandler(enabled = enabled, onBack = onBack)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@Composable
|
|
65
|
-
actual fun getScreenHeight(): Dp {
|
|
66
|
-
return getScreenDimensions().height.dp + if (getAndroidBuildVersion() >= 35) 0.dp else AppStatusBar.current + AppNavigationBar.current
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
actual fun getAndroidBuildVersion(): Int = Build.VERSION.SDK_INT
|
|
70
|
-
|
|
71
|
-
@Composable
|
|
72
|
-
actual fun LottieAnimation(
|
|
73
|
-
path: String,
|
|
74
|
-
tintColor: Color?,
|
|
75
|
-
bgColor: Color?,
|
|
76
|
-
modifier: Modifier
|
|
77
|
-
) {
|
|
78
|
-
val json = readJson(path)
|
|
79
|
-
|
|
80
|
-
if (json.isEmpty()) {
|
|
81
|
-
Box(modifier)
|
|
82
|
-
return
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
val composition by rememberLottieComposition(
|
|
86
|
-
LottieCompositionSpec.JsonString(json)
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
val colorFilter = PorterDuffColorFilter(
|
|
90
|
-
tintColor?.toArgb() ?: Color.White.toArgb(),
|
|
91
|
-
PorterDuff.Mode.SRC_ATOP
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
val dynamicProperties = rememberLottieDynamicProperties(
|
|
95
|
-
rememberLottieDynamicProperty(
|
|
96
|
-
property = LottieProperty.COLOR_FILTER,
|
|
97
|
-
value = colorFilter,
|
|
98
|
-
keyPath = arrayOf("**")
|
|
99
|
-
)
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
LottieAnimation(
|
|
103
|
-
composition = composition,
|
|
104
|
-
iterations = LottieConstants.IterateForever,
|
|
105
|
-
dynamicProperties = if (tintColor != null) dynamicProperties else null,
|
|
106
|
-
modifier = modifier
|
|
107
|
-
)
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
actual fun NativePaint.setColor(color: Color){
|
|
111
|
-
this.color = color.toArgb()
|
|
112
|
-
}
|
|
113
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|