@momo-kits/native-kits 0.162.1-beta.1-debug → 0.162.1-beta.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 (135) hide show
  1. package/package.json +1 -1
  2. package/build.gradle.kts +0 -11
  3. package/compose/build.gradle.kts +0 -189
  4. package/compose/build.gradle.kts.backup +0 -189
  5. package/compose/compose.podspec +0 -47
  6. package/compose/src/androidMain/kotlin/vn/momo/kits/navigation/ScrollToTop.android.kt +0 -6
  7. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +0 -123
  8. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  9. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  10. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  11. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  12. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  13. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  14. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  15. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  16. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  17. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  18. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  19. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  20. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  21. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  22. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +0 -52
  23. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +0 -109
  24. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +0 -183
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +0 -207
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +0 -39
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +0 -86
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +0 -76
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +0 -76
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +0 -294
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +0 -33
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +0 -826
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +0 -109
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +0 -378
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +0 -69
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +0 -157
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +0 -80
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +0 -32
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +0 -338
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +0 -175
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +0 -354
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +0 -113
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +0 -89
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +0 -128
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +0 -209
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +0 -543
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +0 -23
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +0 -76
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +0 -140
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +0 -188
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +0 -112
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +0 -477
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +0 -114
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +0 -214
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +0 -240
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +0 -216
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +0 -259
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +0 -180
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +0 -343
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +0 -108
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +0 -56
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +0 -41
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +0 -84
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +0 -40
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +0 -331
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +0 -97
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +0 -310
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +0 -59
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +0 -87
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +0 -90
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +0 -323
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +0 -217
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +0 -473
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +0 -122
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +0 -199
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +0 -91
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +0 -470
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +0 -88
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +0 -131
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +0 -203
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +0 -498
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +0 -177
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +0 -182
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +0 -193
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +0 -29
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +0 -234
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +0 -188
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +0 -306
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +0 -12
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +0 -16
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +0 -188
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +0 -270
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +0 -2
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +0 -35
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +0 -2
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +0 -52
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +0 -66
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +0 -11
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +0 -48
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +0 -51
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +0 -253
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +0 -129
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -93
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +0 -145
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +0 -346
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ScrollToTop.kt +0 -8
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +0 -556
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +0 -155
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +0 -223
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +0 -86
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +0 -169
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +0 -319
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +0 -81
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +0 -309
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +0 -34
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +0 -360
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +0 -132
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +0 -128
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/ComposeLottieAnimation.kt +0 -70
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +0 -58
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Deprecated.kt +0 -107
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +0 -1329
  123. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +0 -65
  124. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +0 -15
  125. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +0 -105
  126. package/compose/src/iosMain/kotlin/vn/momo/kits/navigation/ScrollToTop.ios.kt +0 -32
  127. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +0 -184
  128. package/gradle/libs.versions.toml +0 -67
  129. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  130. package/gradle/wrapper/gradle-wrapper.properties +0 -8
  131. package/gradle.properties +0 -26
  132. package/gradlew +0 -252
  133. package/gradlew.bat +0 -94
  134. package/local.properties +0 -8
  135. package/settings.gradle.kts +0 -64
@@ -1,70 +0,0 @@
1
- package vn.momo.kits.platform
2
-
3
- import androidx.compose.foundation.Image
4
- import androidx.compose.foundation.background
5
- import androidx.compose.foundation.layout.Box
6
- import androidx.compose.foundation.layout.fillMaxSize
7
- import androidx.compose.runtime.Composable
8
- import androidx.compose.runtime.getValue
9
- import androidx.compose.ui.Modifier
10
- import androidx.compose.ui.graphics.Color
11
- import io.github.alexzhirkevich.compottie.Compottie
12
- import io.github.alexzhirkevich.compottie.ExperimentalCompottieApi
13
- import io.github.alexzhirkevich.compottie.LottieCompositionSpec
14
- import io.github.alexzhirkevich.compottie.animateLottieCompositionAsState
15
- import io.github.alexzhirkevich.compottie.dynamic.rememberLottieDynamicProperties
16
- import io.github.alexzhirkevich.compottie.rememberLottieComposition
17
- import io.github.alexzhirkevich.compottie.rememberLottiePainter
18
- import vn.momo.kits.utils.readJson
19
-
20
- @OptIn(ExperimentalCompottieApi::class)
21
- @Composable
22
- internal fun ComposeLottieAnimation(
23
- path: String,
24
- tintColor: Color?,
25
- bgColor: Color?,
26
- modifier: Modifier,
27
- ) {
28
- val json = readJson(path)
29
-
30
- if (json.isEmpty()) {
31
- Box(modifier.background(bgColor ?: Color.Transparent))
32
- return
33
- }
34
-
35
- val composition by rememberLottieComposition(json) {
36
- LottieCompositionSpec.JsonString(json)
37
- }
38
-
39
- val dynamicProperties = if (tintColor != null) {
40
- rememberLottieDynamicProperties(tintColor) {
41
- shapeLayer("**") {
42
- fill("**") { color { tintColor } }
43
- stroke("**") { color { tintColor } }
44
- }
45
- }
46
- } else {
47
- null
48
- }
49
-
50
- val lottieState = animateLottieCompositionAsState(
51
- composition = composition,
52
- iterations = Compottie.IterateForever,
53
- )
54
-
55
- Box(modifier.background(bgColor ?: Color.Transparent)) {
56
- Image(
57
- painter = rememberLottiePainter(
58
- composition = composition,
59
- progress = lottieState::value,
60
- dynamicProperties = dynamicProperties,
61
- enableExpressions = false,
62
- expressionEngineFactory = { _, _ ->
63
- error("Lottie JS expressions are disabled in MoMo kits")
64
- },
65
- ),
66
- contentDescription = null,
67
- modifier = Modifier.fillMaxSize(),
68
- )
69
- }
70
- }
@@ -1,58 +0,0 @@
1
- package vn.momo.kits.platform
2
-
3
- import androidx.compose.runtime.Composable
4
- import androidx.compose.ui.Modifier
5
- import androidx.compose.ui.graphics.Color
6
- import androidx.compose.ui.graphics.NativePaint
7
- import androidx.compose.ui.unit.Dp
8
-
9
- data class ScreenDimension(
10
- val width: Int,
11
- val height: Int,
12
- )
13
-
14
- expect fun getPlatformName(): String
15
-
16
- @Composable
17
- expect fun getScreenDimensions(): ScreenDimension
18
-
19
- expect fun NativePaint.setMaskFilter(blurRadius: Float)
20
-
21
- @Composable
22
- expect fun getStatusBarHeight(): Dp
23
-
24
- @Composable
25
- expect fun BackHandler(enabled: Boolean, onBack: () -> Unit)
26
-
27
- @Composable
28
- expect fun ProvideNavigationEventDispatcherOwner(content: @Composable () -> Unit)
29
-
30
- @Composable
31
- expect fun getScreenHeight(): Dp
32
-
33
- sealed interface OSVersion {
34
- val value: Int
35
- data class Android(val sdk: Int) : OSVersion { override val value: Int get() = sdk }
36
- data class IOS(val major: Int) : OSVersion { override val value: Int get() = major }
37
-
38
- operator fun compareTo(other: Int): Int = value.compareTo(other)
39
- }
40
- expect fun getOSVersion(): OSVersion
41
-
42
- fun supportsImePadding(): Boolean = when (val v = getOSVersion()) {
43
- is OSVersion.Android -> v.sdk > 29
44
- is OSVersion.IOS -> true
45
- }
46
- @Composable
47
- expect fun LottieAnimation(
48
- path: String,
49
- tintColor: Color? = null,
50
- bgColor: Color? = null,
51
- placedAsOverlay: Boolean = false,
52
- modifier: Modifier = Modifier,
53
- useCompose: Boolean = false
54
- )
55
-
56
- expect fun NativePaint.setColor(
57
- color: Color = Color.Black
58
- )
@@ -1,107 +0,0 @@
1
- package vn.momo.kits.utils
2
-
3
- import androidx.compose.animation.core.LinearEasing
4
- import androidx.compose.animation.core.RepeatMode
5
- import androidx.compose.animation.core.animateFloat
6
- import androidx.compose.animation.core.infiniteRepeatable
7
- import androidx.compose.animation.core.rememberInfiniteTransition
8
- import androidx.compose.animation.core.tween
9
- import androidx.compose.runtime.Composable
10
- import androidx.compose.runtime.getValue
11
- import androidx.compose.ui.Modifier
12
- import androidx.compose.ui.draw.drawWithContent
13
- import androidx.compose.ui.geometry.Offset
14
- import androidx.compose.ui.graphics.Color
15
- import androidx.compose.ui.graphics.drawscope.clipRect
16
- import androidx.compose.ui.text.TextStyle
17
- import androidx.compose.ui.text.drawText
18
- import androidx.compose.ui.text.font.FontWeight
19
- import androidx.compose.ui.text.rememberTextMeasurer
20
- import androidx.compose.ui.unit.sp
21
- import vn.momo.kits.application.IsShowBaseLineDebug
22
- import vn.momo.kits.const.Colors
23
-
24
- object Deprecated {
25
-
26
- @Suppress("ExperimentalAnnotationRetention")
27
- @RequiresOptIn(
28
- message = "This is internal API of native-kits, become internal in next sprint",
29
- level = RequiresOptIn.Level.WARNING,
30
- )
31
- @Retention(AnnotationRetention.BINARY)
32
- @Target(
33
- AnnotationTarget.CLASS,
34
- AnnotationTarget.FUNCTION,
35
- AnnotationTarget.PROPERTY,
36
- )
37
- annotation class InternalApi
38
-
39
- @Composable
40
- fun deprecatedModifier(text: String = "Deprecated component"): Modifier = debugMarker(
41
- label = text,
42
- background = Colors.red_04.copy(alpha = 0.7f),
43
- textColor = Colors.red_01,
44
- animationLabel = "deprecatedMarquee",
45
- )
46
-
47
- @Composable
48
- private fun debugMarker(
49
- label: String,
50
- background: Color,
51
- textColor: Color,
52
- animationLabel: String,
53
- ): Modifier {
54
- if (!IsShowBaseLineDebug) return Modifier
55
-
56
- val textMeasurer = rememberTextMeasurer()
57
- val marquee = rememberInfiniteTransition(label = animationLabel)
58
- val progress by marquee.animateFloat(
59
- initialValue = 0f,
60
- targetValue = 1f,
61
- animationSpec = infiniteRepeatable(
62
- animation = tween(durationMillis = 4000, easing = LinearEasing),
63
- repeatMode = RepeatMode.Restart,
64
- ),
65
- label = "${animationLabel}Progress",
66
- )
67
-
68
- return Modifier.drawWithContent {
69
- drawContent()
70
- drawRect(color = background)
71
-
72
- if (size.width <= 0f || size.height <= 0f) return@drawWithContent
73
-
74
- val fontPx = (size.width * 0.1f).coerceIn(12.sp.toPx(), 20.sp.toPx())
75
- val style = TextStyle(
76
- color = textColor,
77
- fontSize = fontPx.toSp(),
78
- fontWeight = FontWeight.Bold,
79
- )
80
-
81
- val intrinsic = textMeasurer.measure(
82
- text = label,
83
- style = style,
84
- maxLines = 1,
85
- softWrap = false,
86
- )
87
- val textW = intrinsic.size.width
88
- val textH = intrinsic.size.height
89
- val y = (size.height - textH) / 2f
90
-
91
- if (textW <= size.width) {
92
- drawText(
93
- textLayoutResult = intrinsic,
94
- topLeft = Offset((size.width - textW) / 2f, y),
95
- )
96
- } else {
97
- clipRect(right = size.width, bottom = size.height) {
98
- val gap = textW * 0.5f
99
- val travel = textW + gap
100
- val x = -progress * travel
101
- drawText(textLayoutResult = intrinsic, topLeft = Offset(x, y))
102
- drawText(textLayoutResult = intrinsic, topLeft = Offset(x + travel, y))
103
- }
104
- }
105
- }
106
- }
107
- }