@momo-kits/native-kits 0.162.2-debug → 0.162.2-lottie.1

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.
Files changed (154) hide show
  1. package/.claude/settings.local.json +14 -0
  2. package/CLAUDE.md +78 -0
  3. package/ios/Application/Components.swift +1 -0
  4. package/ios/Application/FloatingButton.swift +1 -0
  5. package/ios/Badge/Badge.swift +1 -0
  6. package/ios/Badge/BadgeRibbon.swift +2 -0
  7. package/ios/Button/Button.swift +1 -1
  8. package/ios/Checkbox/Checkbox.swift +1 -0
  9. package/ios/Information/Information.swift +151 -0
  10. package/ios/Input/Input.swift +1 -0
  11. package/ios/Input/InputPhoneNumber.swift +1 -0
  12. package/ios/Input/InputSearch.swift +3 -0
  13. package/ios/Input/InputTextArea.swift +1 -0
  14. package/ios/OTPKeyboard/KeyboardButton.swift +1 -1
  15. package/ios/Popup/PopupDisplay.swift +6 -0
  16. package/ios/Popup/PopupInput.swift +2 -0
  17. package/ios/Template/TrustBanner/TrustBanner.swift +2 -0
  18. package/ios/Typography/Text.swift +1 -0
  19. package/ios/Typography/Typography.swift +14 -5
  20. package/package.json +1 -1
  21. package/build.gradle.kts +0 -11
  22. package/compose/build.gradle.kts +0 -186
  23. package/compose/build.gradle.kts.backup +0 -186
  24. package/compose/compose.podspec +0 -47
  25. package/compose/src/androidMain/kotlin/vn/momo/kits/navigation/ScrollToTop.android.kt +0 -6
  26. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +0 -123
  27. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  28. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  29. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  30. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  31. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  32. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  33. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  34. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  35. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  36. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  37. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  38. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  39. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  40. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +0 -57
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +0 -109
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +0 -201
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +0 -222
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +0 -48
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +0 -86
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +0 -76
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +0 -76
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +0 -305
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +0 -33
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +0 -921
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +0 -121
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +0 -403
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +0 -69
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +0 -157
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +0 -85
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +0 -32
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +0 -340
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +0 -198
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +0 -357
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +0 -123
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +0 -94
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +0 -136
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +0 -224
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +0 -543
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +0 -23
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +0 -76
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +0 -148
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +0 -188
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +0 -116
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +0 -452
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +0 -172
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +0 -255
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +0 -235
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +0 -233
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +0 -259
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +0 -241
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +0 -364
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +0 -108
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +0 -56
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +0 -41
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +0 -92
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +0 -40
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +0 -352
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +0 -103
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +0 -338
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +0 -70
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +0 -87
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +0 -17
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +0 -96
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +0 -348
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +0 -256
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +0 -494
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +0 -131
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +0 -215
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +0 -96
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +0 -531
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +0 -92
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +0 -135
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +0 -214
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +0 -590
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +0 -177
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +0 -192
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +0 -205
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +0 -29
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +0 -239
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +0 -191
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +0 -306
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +0 -12
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +0 -16
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +0 -188
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +0 -285
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +0 -2
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +0 -35
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +0 -2
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +0 -57
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +0 -68
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +0 -11
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +0 -14
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +0 -50
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +0 -51
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +0 -253
  123. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +0 -133
  124. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -104
  125. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +0 -145
  126. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +0 -345
  127. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ScrollToTop.kt +0 -8
  128. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +0 -556
  129. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +0 -161
  130. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +0 -243
  131. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +0 -86
  132. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +0 -187
  133. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +0 -315
  134. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +0 -80
  135. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +0 -306
  136. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +0 -34
  137. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +0 -370
  138. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +0 -131
  139. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +0 -167
  140. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/ComposeLottieAnimation.kt +0 -72
  141. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +0 -66
  142. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +0 -1329
  143. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +0 -70
  144. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +0 -15
  145. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +0 -105
  146. package/compose/src/iosMain/kotlin/vn/momo/kits/navigation/ScrollToTop.ios.kt +0 -33
  147. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +0 -186
  148. package/gradle/libs.versions.toml +0 -67
  149. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  150. package/gradle/wrapper/gradle-wrapper.properties +0 -8
  151. package/gradle.properties +0 -26
  152. package/gradlew +0 -252
  153. package/gradlew.bat +0 -94
  154. package/settings.gradle.kts +0 -64
@@ -1,186 +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(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.162.2-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.compose.ui.backhandler)
67
- implementation(libs.ktor.client.core)
68
- implementation(libs.jetbrains.coroutines.core)
69
- implementation(libs.navigation.multiplatform)
70
- implementation(libs.coil.multiplatform.compose)
71
- implementation(libs.coil.multiplatform.core)
72
- implementation(libs.coil.multiplatform.network.ktor)
73
- implementation(libs.jetbrains.serialization.json)
74
- implementation(libs.kotlinx.datetime)
75
- api(libs.native.max.api)
76
- implementation(libs.compottie)
77
- }
78
- androidMain.dependencies {
79
- implementation(libs.ktor.client.okhttp)
80
- implementation(libs.airbnb.lottie)
81
- }
82
- iosMain.dependencies {
83
- implementation(libs.ktor.client.darwin)
84
- }
85
- }
86
- }
87
-
88
- android {
89
- namespace = "vn.momo.kits.kits"
90
- compileSdk = 35
91
- compileOptions {
92
- sourceCompatibility = JavaVersion.VERSION_17
93
- targetCompatibility = JavaVersion.VERSION_17
94
- }
95
- defaultConfig {
96
- minSdk = 24
97
- }
98
- }
99
-
100
- dependencies {
101
- }
102
-
103
- repositories {
104
- google {
105
- mavenContent {
106
- includeGroupAndSubgroups("androidx")
107
- includeGroupAndSubgroups("com.android")
108
- includeGroupAndSubgroups("com.google")
109
- }
110
- }
111
- mavenCentral()
112
- maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
113
- maven {
114
- url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
115
- credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
116
- }
117
- maven {
118
- url = uri("https://artifacts.mservice.com.vn/repository/maven-momo-app/")
119
- credentials {
120
- username = "viewer"
121
- password = "viewer"
122
- }
123
- isAllowInsecureProtocol = true
124
- }
125
- }
126
-
127
- compose {
128
- resources {
129
- publicResClass = true
130
- packageOfResClass = "vn.momo.uikits.resources"
131
- generateResClass = always
132
- }
133
- }
134
-
135
- // publishing {
136
- // repositories {
137
- // maven {
138
- // name = "${gitlabRepo}Packages"
139
- // credentials {
140
- // username = gitlabUser
141
- // password = gitlabKey
142
- // }
143
- // url = uri("$gitlabUrl")
144
- // }
145
- // }
146
- // }
147
-
148
- // mavenPublishing {
149
- // configure(
150
- // KotlinMultiplatform(
151
- // javadocJar = JavadocJar.Empty(),
152
- // sourcesJar = true,
153
- // androidVariantsToPublish = listOf("release")
154
- // )
155
- // )
156
- //
157
- // repositories {
158
- // maven {
159
- // name = "${gitlabRepo}Packages"
160
- // credentials { username = gitlabUser; password = gitlabKey }
161
- // url = uri("$gitlabUrl")
162
- // }
163
- // }
164
- //
165
- // coordinates(gitlabGroup.toString(), gitlabArtifactId, gitlabVersion.toString())
166
- //
167
- // pom {
168
- // name = "$gitlabName Klib"
169
- // description = "$gitlabName"
170
- // url = "https://gitlab.mservice.com.vn"
171
- // licenses {
172
- // license {
173
- // name = "The Apache License, Version 2.0"
174
- // url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
175
- // distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
176
- // }
177
- // }
178
- // developers {
179
- // developer {
180
- // id = "kotlin-hands-on"
181
- // name = "Kotlin Developer Advocate"
182
- // url = "https://github.com/kotlin-hands-on/"
183
- // }
184
- // }
185
- // }
186
- // }
@@ -1,186 +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(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.compose.ui.backhandler)
67
- implementation(libs.ktor.client.core)
68
- implementation(libs.jetbrains.coroutines.core)
69
- implementation(libs.navigation.multiplatform)
70
- implementation(libs.coil.multiplatform.compose)
71
- implementation(libs.coil.multiplatform.core)
72
- implementation(libs.coil.multiplatform.network.ktor)
73
- implementation(libs.jetbrains.serialization.json)
74
- implementation(libs.kotlinx.datetime)
75
- api(libs.native.max.api)
76
- implementation(libs.compottie)
77
- }
78
- androidMain.dependencies {
79
- implementation(libs.ktor.client.okhttp)
80
- implementation(libs.airbnb.lottie)
81
- }
82
- iosMain.dependencies {
83
- implementation(libs.ktor.client.darwin)
84
- }
85
- }
86
- }
87
-
88
- android {
89
- namespace = "$gitlabGroup.$gitlabArtifactId"
90
- compileSdk = libs.versions.android.compileSdk.get().toInt()
91
- compileOptions {
92
- sourceCompatibility = JavaVersion.VERSION_17
93
- targetCompatibility = JavaVersion.VERSION_17
94
- }
95
- defaultConfig {
96
- minSdk = libs.versions.android.minSdk.get().toInt()
97
- }
98
- }
99
-
100
- dependencies {
101
- }
102
-
103
- repositories {
104
- google {
105
- mavenContent {
106
- includeGroupAndSubgroups("androidx")
107
- includeGroupAndSubgroups("com.android")
108
- includeGroupAndSubgroups("com.google")
109
- }
110
- }
111
- mavenCentral()
112
- maven { url = uri("https://maven.pkg.jetbrains.space/public/p/compose/dev") }
113
- maven {
114
- url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
115
- credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
116
- }
117
- maven {
118
- url = uri("https://artifacts.mservice.com.vn/repository/maven-momo-app/")
119
- credentials {
120
- username = "viewer"
121
- password = "viewer"
122
- }
123
- isAllowInsecureProtocol = true
124
- }
125
- }
126
-
127
- compose {
128
- resources {
129
- publicResClass = true
130
- packageOfResClass = "vn.momo.uikits.resources"
131
- generateResClass = always
132
- }
133
- }
134
-
135
- publishing {
136
- repositories {
137
- maven {
138
- name = "${gitlabRepo}Packages"
139
- credentials {
140
- username = gitlabUser
141
- password = gitlabKey
142
- }
143
- url = uri("$gitlabUrl")
144
- }
145
- }
146
- }
147
-
148
- mavenPublishing {
149
- configure(
150
- KotlinMultiplatform(
151
- javadocJar = JavadocJar.Empty(),
152
- sourcesJar = true,
153
- androidVariantsToPublish = listOf("release")
154
- )
155
- )
156
-
157
- repositories {
158
- maven {
159
- name = "${gitlabRepo}Packages"
160
- credentials { username = gitlabUser; password = gitlabKey }
161
- url = uri("$gitlabUrl")
162
- }
163
- }
164
-
165
- coordinates(gitlabGroup.toString(), gitlabArtifactId, gitlabVersion.toString())
166
-
167
- pom {
168
- name = "$gitlabName Klib"
169
- description = "$gitlabName"
170
- url = "https://gitlab.mservice.com.vn"
171
- licenses {
172
- license {
173
- name = "The Apache License, Version 2.0"
174
- url = "https://www.apache.org/licenses/LICENSE-2.0.txt"
175
- distribution = "https://www.apache.org/licenses/LICENSE-2.0.txt"
176
- }
177
- }
178
- developers {
179
- developer {
180
- id = "kotlin-hands-on"
181
- name = "Kotlin Developer Advocate"
182
- url = "https://github.com/kotlin-hands-on/"
183
- }
184
- }
185
- }
186
- }
@@ -1,47 +0,0 @@
1
- Pod::Spec.new do |spec|
2
- spec.name = 'compose'
3
- spec.version = '0.161.2-beta.15'
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
- if !Dir.exist?('build/cocoapods/framework/kits.framework') || Dir.empty?('build/cocoapods/framework/kits.framework')
14
- raise "
15
- Kotlin framework 'kits' doesn't exist yet, so a proper Xcode project can't be generated.
16
- 'pod install' should be executed after running ':generateDummyFramework' Gradle task:
17
- ./gradlew :compose:generateDummyFramework
18
- Alternatively, proper pod installation is performed during Gradle sync in the IDE (if Podfile location is set)"
19
- end
20
- spec.xcconfig = {
21
- 'ENABLE_USER_SCRIPT_SANDBOXING' => 'NO',
22
- }
23
- spec.pod_target_xcconfig = {
24
- 'KOTLIN_PROJECT_PATH' => ':compose',
25
- 'PRODUCT_MODULE_NAME' => 'kits',
26
- }
27
- spec.script_phases = [
28
- {
29
- :name => 'Build compose',
30
- :execution_position => :before_compile,
31
- :shell_path => '/bin/sh',
32
- :script => <<-SCRIPT
33
- if [ "YES" = "$OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED" ]; then
34
- echo "Skipping Gradle build task invocation due to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED environment variable set to \"YES\""
35
- exit 0
36
- fi
37
- set -ev
38
- REPO_ROOT="$PODS_TARGET_SRCROOT"
39
- "$REPO_ROOT/../gradlew" -p "$REPO_ROOT" $KOTLIN_PROJECT_PATH:syncFramework \
40
- -Pkotlin.native.cocoapods.platform=$PLATFORM_NAME \
41
- -Pkotlin.native.cocoapods.archs="$ARCHS" \
42
- -Pkotlin.native.cocoapods.configuration="$CONFIGURATION"
43
- SCRIPT
44
- }
45
- ]
46
- spec.resources = ['build/compose/cocoapods/compose-resources']
47
- end
@@ -1,6 +0,0 @@
1
- package vn.momo.kits.navigation
2
-
3
- import androidx.compose.runtime.Composable
4
-
5
- @Composable
6
- internal actual fun RegisterScrollToTop(callback: (() -> Unit)?) = Unit
@@ -1,123 +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.graphics.Color
14
- import androidx.compose.ui.graphics.NativePaint
15
- import androidx.compose.ui.graphics.toArgb
16
- import androidx.compose.ui.platform.LocalConfiguration
17
- import androidx.compose.ui.semantics.contentDescription
18
- import androidx.compose.ui.semantics.semantics
19
- import androidx.compose.ui.unit.Dp
20
- import androidx.compose.ui.unit.dp
21
- import com.airbnb.lottie.LottieProperty
22
- import com.airbnb.lottie.compose.LottieAnimation
23
- import com.airbnb.lottie.compose.LottieCompositionSpec
24
- import com.airbnb.lottie.compose.LottieConstants
25
- import com.airbnb.lottie.compose.rememberLottieComposition
26
- import com.airbnb.lottie.compose.rememberLottieDynamicProperties
27
- import com.airbnb.lottie.compose.rememberLottieDynamicProperty
28
- import vn.momo.kits.const.AppNavigationBar
29
- import vn.momo.kits.const.AppStatusBar
30
- import vn.momo.kits.utils.readJson
31
- import androidx.activity.compose.BackHandler as AndroidBackHandler
32
-
33
- actual fun getPlatformName(): String = "Android"
34
-
35
- @Composable
36
- actual fun getScreenDimensions(): ScreenDimension {
37
- val config = LocalConfiguration.current
38
- return ScreenDimension(
39
- config.screenWidthDp, config.screenHeightDp
40
- )
41
- }
42
-
43
- actual fun NativePaint.setMaskFilter(blurRadius: Float) {
44
- this.maskFilter = BlurMaskFilter(blurRadius, BlurMaskFilter.Blur.NORMAL)
45
- }
46
-
47
- @SuppressLint("InternalInsetResource")
48
- @Composable
49
- actual fun getStatusBarHeight(): Dp {
50
- val resourceId = Resources.getSystem().getIdentifier(
51
- "status_bar_height",
52
- "dimen",
53
- "android"
54
- )
55
- return if(resourceId > 0) Resources.getSystem().getDimensionPixelSize(resourceId).dp else 0.dp
56
- }
57
-
58
- @Composable
59
- actual fun BackHandler(enabled: Boolean, onBack: () -> Unit) {
60
- AndroidBackHandler(enabled = enabled, onBack = onBack)
61
- }
62
-
63
- @Composable
64
- actual fun ProvideNavigationEventDispatcherOwner(content: @Composable () -> Unit) {
65
- content()
66
- }
67
-
68
- @Composable
69
- actual fun getScreenHeight(): Dp {
70
- return getScreenDimensions().height.dp + if (getOSVersion() >= 35) 0.dp else AppStatusBar.current + AppNavigationBar.current
71
- }
72
-
73
- actual fun getOSVersion(): OSVersion = OSVersion.Android(sdk = Build.VERSION.SDK_INT)
74
-
75
- @Composable
76
- actual fun LottieAnimation(
77
- path: String,
78
- tintColor: Color?,
79
- bgColor: Color?,
80
- placedAsOverlay: Boolean,
81
- modifier: Modifier,
82
- useCompose: Boolean
83
- ) {
84
- if (useCompose) {
85
- ComposeLottieAnimation(path, tintColor, bgColor, modifier)
86
- return
87
- }
88
-
89
- val json = readJson(path)
90
-
91
- if (json.isEmpty()) {
92
- Box(modifier)
93
- return
94
- }
95
-
96
- val composition by rememberLottieComposition(
97
- LottieCompositionSpec.JsonString(json)
98
- )
99
-
100
- val colorFilter = PorterDuffColorFilter(
101
- tintColor?.toArgb() ?: Color.White.toArgb(),
102
- PorterDuff.Mode.SRC_ATOP
103
- )
104
-
105
- val dynamicProperties = rememberLottieDynamicProperties(
106
- rememberLottieDynamicProperty(
107
- property = LottieProperty.COLOR_FILTER,
108
- value = colorFilter,
109
- keyPath = arrayOf("**")
110
- )
111
- )
112
-
113
- LottieAnimation(
114
- composition = composition,
115
- iterations = LottieConstants.IterateForever,
116
- dynamicProperties = if (tintColor != null) dynamicProperties else null,
117
- modifier = modifier
118
- )
119
- }
120
-
121
- actual fun NativePaint.setColor(color: Color){
122
- this.color = color.toArgb()
123
- }
@@ -1,57 +0,0 @@
1
- package vn.momo.kits.application
2
-
3
- import androidx.compose.foundation.background
4
- import androidx.compose.foundation.layout.Box
5
- import androidx.compose.foundation.layout.fillMaxWidth
6
- import androidx.compose.foundation.layout.height
7
- import androidx.compose.foundation.layout.offset
8
- import androidx.compose.foundation.layout.padding
9
- import androidx.compose.foundation.layout.width
10
- import androidx.compose.foundation.shape.RoundedCornerShape
11
- import androidx.compose.runtime.Composable
12
- import androidx.compose.ui.Modifier
13
- import androidx.compose.ui.graphics.Color
14
- import androidx.compose.ui.unit.dp
15
- import androidx.compose.ui.zIndex
16
- import vn.momo.kits.components.InputSearch
17
- import vn.momo.kits.components.InputSearchProps
18
- import vn.momo.kits.const.Radius
19
- import vn.momo.kits.const.Spacing
20
-
21
- @Composable
22
- fun AnimationSearchInput(
23
- animations: HeaderAnimations,
24
- inputSearchProps: InputSearchProps
25
- ) {
26
- Box(
27
- modifier = Modifier
28
- .fillMaxWidth()
29
- .offset(
30
- x = animations.translateX.dp,
31
- y = animations.translateY.dp
32
- )
33
- ) {
34
- Box(
35
- modifier = Modifier
36
- .height(HEADER_HEIGHT.dp)
37
- .padding(vertical = Spacing.S)
38
- .zIndex(1f)
39
- ) {
40
- Box(
41
- modifier = Modifier
42
- .width(animations.width.dp)
43
- .background(
44
- color = animations.backgroundSearch,
45
- shape = RoundedCornerShape(Radius.XL)
46
- )
47
- ) {
48
- InputSearch(
49
- inputSearchProps = inputSearchProps.copy(
50
- showButtonText = false,
51
- backgroundColor = Color.Transparent
52
- )
53
- )
54
- }
55
- }
56
- }
57
- }