@momo-kits/native-kits 0.167.1-duo.21-debug → 0.167.1-duo.22

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 (149) hide show
  1. package/ios/Application/MaxApi.swift +20 -2
  2. package/ios/Input/InputSearch.swift +5 -2
  3. package/ios/Navigation/BottomSheet.swift +58 -37
  4. package/ios/Navigation/BottomTab/BottomTab.swift +165 -18
  5. package/ios/Navigation/BottomTab/BottomTabBar.swift +3 -0
  6. package/ios/Navigation/Component/FloatingButton.swift +29 -51
  7. package/ios/Navigation/Component/Header.swift +19 -5
  8. package/ios/Navigation/Component/HeaderRight.swift +48 -19
  9. package/ios/Navigation/Component/SnackBar.swift +3 -2
  10. package/ios/Navigation/ModalScreen.swift +2 -1
  11. package/ios/Navigation/NavigationContainer.swift +3 -2
  12. package/ios/Navigation/Navigator.swift +30 -16
  13. package/ios/Navigation/StackScreen.swift +151 -37
  14. package/package.json +1 -1
  15. package/build.gradle.kts +0 -11
  16. package/compose/build.gradle.kts +0 -204
  17. package/compose/build.gradle.kts.backup +0 -204
  18. package/compose/compose.podspec +0 -47
  19. package/compose/src/androidMain/kotlin/vn/momo/kits/const/HostFont.android.kt +0 -19
  20. package/compose/src/androidMain/kotlin/vn/momo/kits/navigation/ScrollToTop.android.kt +0 -6
  21. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/BackGesture.android.kt +0 -12
  22. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/OsFontScale.android.kt +0 -7
  23. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +0 -153
  24. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/ReservedRegions.android.kt +0 -6
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +0 -124
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +0 -951
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Localize.kt +0 -269
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/WidgetContainer.kt +0 -56
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +0 -157
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +0 -81
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +0 -32
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +0 -338
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +0 -175
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +0 -357
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +0 -115
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +0 -89
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +0 -128
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +0 -209
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +0 -542
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +0 -49
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +0 -86
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +0 -125
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +0 -231
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +0 -189
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +0 -478
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +0 -114
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +0 -265
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +0 -235
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +0 -223
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +0 -265
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +0 -185
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +0 -343
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +0 -108
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +0 -56
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +0 -41
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +0 -84
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +0 -40
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +0 -361
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +0 -108
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +0 -308
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +0 -59
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +0 -87
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +0 -21
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +0 -90
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +0 -330
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +0 -220
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +0 -473
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +0 -122
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +0 -207
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +0 -92
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +0 -560
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +0 -86
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +0 -125
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +0 -207
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +0 -501
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +0 -176
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +0 -182
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +0 -193
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +0 -29
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +0 -236
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +0 -180
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +0 -325
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/const/HostFont.kt +0 -20
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/const/KitDesignSystem.kt +0 -18
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/const/KitFontScale.kt +0 -22
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +0 -12
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +0 -16
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +0 -194
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +0 -283
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +0 -54
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +0 -50
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/ScreenLayout.kt +0 -309
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +0 -41
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +0 -52
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +0 -66
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +0 -11
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +0 -104
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +0 -48
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +0 -51
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +0 -338
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/HostBackGestureBridge.kt +0 -58
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +0 -137
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -116
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +0 -205
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +0 -393
  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 -727
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackTransition.kt +0 -148
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/SwipeBackHaptic.kt +0 -35
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +0 -218
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +0 -231
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +0 -86
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/DuoBarCompression.kt +0 -98
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/DuoTabBar.kt +0 -312
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +0 -169
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +0 -455
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +0 -103
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderJourney.kt +0 -106
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderLocation.kt +0 -74
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +0 -399
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +0 -39
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +0 -363
  123. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SideBar.kt +0 -192
  124. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +0 -133
  125. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +0 -127
  126. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/BackGesture.kt +0 -12
  127. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/ComposeLottieAnimation.kt +0 -91
  128. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/OsFontScale.kt +0 -9
  129. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +0 -74
  130. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/ReservedRegions.kt +0 -13
  131. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +0 -1329
  132. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +0 -55
  133. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +0 -15
  134. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +0 -118
  135. package/compose/src/iosMain/kotlin/vn/momo/kits/const/HostFont.ios.kt +0 -78
  136. package/compose/src/iosMain/kotlin/vn/momo/kits/navigation/HostBackGesture.ios.kt +0 -45
  137. package/compose/src/iosMain/kotlin/vn/momo/kits/navigation/ScrollToTop.ios.kt +0 -32
  138. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/BackGesture.ios.kt +0 -38
  139. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/OsFontScale.ios.kt +0 -66
  140. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +0 -217
  141. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/ReservedRegions.ios.kt +0 -94
  142. package/gradle/libs.versions.toml +0 -69
  143. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  144. package/gradle/wrapper/gradle-wrapper.properties +0 -8
  145. package/gradle.properties +0 -26
  146. package/gradlew +0 -252
  147. package/gradlew.bat +0 -94
  148. package/ios-demo/README.md +0 -120
  149. package/settings.gradle.kts +0 -64
@@ -1,180 +0,0 @@
1
- package vn.momo.kits.components.datetimepicker
2
-
3
- import androidx.compose.foundation.background
4
- import androidx.compose.foundation.border
5
- import androidx.compose.foundation.gestures.animateScrollBy
6
- import androidx.compose.foundation.layout.Box
7
- import androidx.compose.foundation.layout.fillMaxWidth
8
- import androidx.compose.foundation.layout.height
9
- import androidx.compose.foundation.lazy.LazyColumn
10
- import androidx.compose.foundation.lazy.LazyListState
11
- import androidx.compose.foundation.lazy.rememberLazyListState
12
- import androidx.compose.foundation.shape.RoundedCornerShape
13
- import androidx.compose.runtime.*
14
- import androidx.compose.ui.Alignment
15
- import androidx.compose.ui.Modifier
16
- import androidx.compose.ui.draw.alpha
17
- import androidx.compose.ui.graphics.graphicsLayer
18
- import androidx.compose.ui.platform.LocalDensity
19
- import androidx.compose.ui.unit.Dp
20
- import androidx.compose.ui.unit.dp
21
- import androidx.compose.ui.zIndex
22
- import kotlinx.coroutines.FlowPreview
23
- import kotlinx.coroutines.delay
24
- import kotlinx.coroutines.flow.collect
25
- import kotlinx.coroutines.flow.debounce
26
- import kotlinx.coroutines.flow.distinctUntilChanged
27
- import kotlinx.coroutines.flow.onEach
28
- import vn.momo.kits.components.Text
29
- import vn.momo.kits.const.AppTheme
30
- import vn.momo.kits.const.Colors
31
- import vn.momo.kits.const.Radius
32
- import vn.momo.kits.const.Typography
33
- import kotlin.math.abs
34
- import kotlin.time.Duration.Companion.milliseconds
35
-
36
- private val wheelItemHeight = 42.dp
37
- private val wheelPickerBorderWidth = 1.dp
38
-
39
- @OptIn(FlowPreview::class)
40
- @Composable
41
- internal fun WheelPicker(
42
- name: String,
43
- data: List<String>,
44
- selectedData: String,
45
- onChange: (String, String) -> Unit,
46
- modifier: Modifier = Modifier
47
- ) {
48
- val listState = rememberLazyListState()
49
- val itemHeightPx = with(LocalDensity.current) { wheelItemHeight.toPx() }
50
-
51
- val paddedData = remember(data) {
52
- listOf("", "") + data + listOf("", "")
53
- }
54
-
55
- val initialIndex = remember(selectedData, paddedData) {
56
- paddedData.indexOf(selectedData).coerceAtLeast(2)
57
- }
58
-
59
- LaunchedEffect(initialIndex) {
60
- listState.scrollToItem(initialIndex - 2)
61
- }
62
-
63
- var selectedIndex by remember { mutableStateOf(0) }
64
-
65
- LaunchedEffect(paddedData) {
66
- snapshotFlow { selectedIndex }
67
- .distinctUntilChanged()
68
- .debounce(50.milliseconds)
69
- .onEach {
70
- val value = paddedData.getOrNull(it)
71
- if (!value.isNullOrEmpty()) {
72
- onChange(name, value)
73
- }
74
- }
75
- .collect()
76
- }
77
-
78
- LaunchedEffect(paddedData) {
79
- snapshotFlow { listState.isScrollInProgress }
80
- .onEach {
81
- if (it) return@onEach
82
- val firstItem = listState.layoutInfo.visibleItemsInfo.firstOrNull() ?: return@onEach
83
- val firstItemIdx = firstItem.index
84
- val firstItemOffset = firstItem.offset
85
- if (firstItemOffset == 0) {
86
- selectedIndex = firstItemIdx + 2
87
- return@onEach
88
- }
89
- val isScrollUp = abs(firstItemOffset) > itemHeightPx / 2
90
- val offset = if (isScrollUp) {
91
- itemHeightPx - abs(firstItemOffset)
92
- } else {
93
- -abs(firstItemOffset)
94
- }
95
- delay(50.milliseconds)
96
- listState.animateScrollBy(offset.toFloat())
97
- val centeredIndex = firstItemIdx + (if (isScrollUp) 1 else 0) + 2
98
- if (centeredIndex in 2 until paddedData.size - 2) {
99
- selectedIndex = centeredIndex
100
- }
101
- }
102
- .collect()
103
- }
104
-
105
- Box(
106
- modifier = modifier
107
- .border(
108
- width = wheelPickerBorderWidth,
109
- color = AppTheme.current.colors.border.default,
110
- shape = RoundedCornerShape(Radius.S)
111
- )
112
- .background(
113
- color = AppTheme.current.colors.background.surface,
114
- )
115
- ) {
116
- LazyColumn(
117
- state = listState,
118
- modifier = Modifier
119
- .fillMaxWidth()
120
- ) {
121
- items(paddedData.size) { index ->
122
- WheelPickerItem(
123
- text = paddedData[index],
124
- isSelected = index == selectedIndex,
125
- index = index,
126
- listState = listState,
127
- itemHeight = wheelItemHeight
128
- )
129
- }
130
- }
131
-
132
- Box(
133
- modifier = Modifier
134
- .fillMaxWidth()
135
- .height(wheelItemHeight)
136
- .background(Colors.blue_10)
137
- .align(Alignment.Center)
138
- .alpha(0.2f)
139
- .zIndex(-2f)
140
- )
141
- }
142
- }
143
-
144
- @Composable
145
- internal fun WheelPickerItem(
146
- text: String,
147
- isSelected: Boolean,
148
- index: Int,
149
- listState: LazyListState,
150
- itemHeight: Dp
151
- ) {
152
- Box(
153
- modifier = Modifier
154
- .fillMaxWidth()
155
- .height(itemHeight)
156
- .graphicsLayer {
157
- // Rows away from the centre slot (two below the first visible row); RN fades 1 → 0.8 → 0.4.
158
- val distance = abs(
159
- index - listState.firstVisibleItemIndex -
160
- listState.firstVisibleItemScrollOffset / itemHeight.toPx() - 2
161
- )
162
- alpha = when {
163
- distance <= 1f -> 1f - 0.2f * distance
164
- distance <= 2f -> 0.8f - 0.4f * (distance - 1f)
165
- else -> 0.4f
166
- }
167
- },
168
- contentAlignment = Alignment.Center
169
- ) {
170
- Text(
171
- text = text,
172
- style = Typography.actionSBold,
173
- modifier = Modifier.graphicsLayer {
174
- val scale = if (isSelected) 1f else 0.87f
175
- scaleX = scale
176
- scaleY = scale
177
- }
178
- )
179
- }
180
- }
@@ -1,325 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.ui.graphics.Color
4
-
5
- object Colors {
6
- val black_01 = Color(0xFFFFFFFF)
7
- val black_02 = Color(0xFFF9F9F9)
8
- val black_03 = Color(0xFFF0F0F0)
9
- val black_04 = Color(0xFFE8E8E8)
10
- val black_05 = Color(0xFFE5E5E5)
11
- val black_06 = Color(0xFFD8D8D8)
12
- val black_07 = Color(0xFFCCCCCC)
13
- val black_08 = Color(0xFFC6C6C6)
14
- val black_09 = Color(0xFFB9B9B9)
15
- val black_10 = Color(0xFFA0A0A0)
16
- val black_11 = Color(0xFF878787)
17
- val black_12 = Color(0xFF727272)
18
- val black_13 = Color(0xFF646464)
19
- val black_14 = Color(0xFF565656)
20
- val black_15 = Color(0xFF484848)
21
- val black_16 = Color(0xFF404040)
22
- val black_17 = Color(0xFF303233)
23
- val black_18 = Color(0xFF242424)
24
- val black_19 = Color(0xFF18191A)
25
- val black_20 = Color(0xFF000000)
26
- val pink_01 = Color(0xFFBC2678)
27
- val pink_02 = Color(0xFFD42A87)
28
- val pink_03 = Color(0xFFEB2F96)
29
- val pink_04 = Color(0xFFED43A0)
30
- val pink_05 = Color(0xFFEF59AB)
31
- val pink_06 = Color(0xFFF382C0)
32
- val pink_07 = Color(0xFFF7ACD5)
33
- val pink_08 = Color(0xFFFBD5EA)
34
- val pink_09 = Color(0xFFFDEAF4)
35
- val pink_10 = Color(0xFFFEF4FA)
36
- val pink_11 = Color(0xFFFEF8FC)
37
- val pink_MoMo_Branding = Color(0xFFA50064)
38
- val violet_01 = Color(0xFF7822C0)
39
- val violet_02 = Color(0xFF8726D8)
40
- val violet_03 = Color(0xFF962AF0)
41
- val violet_04 = Color(0xFFA03FF1)
42
- val violet_05 = Color(0xFFAB55F3)
43
- val violet_06 = Color(0xFFC07FF6)
44
- val violet_07 = Color(0xFFD5AAF9)
45
- val violet_08 = Color(0xFFEAD4FC)
46
- val violet_09 = Color(0xFFF4E9FD)
47
- val violet_10 = Color(0xFFFAF4FE)
48
- val violet_11 = Color(0xFFFCF8FE)
49
- val violet_11_stroke = Color(0xFFDFE1E5)
50
- val indigo_01 = Color(0xFF3E3CCC)
51
- val indigo_02 = Color(0xFF4644E6)
52
- val indigo_03 = Color(0xFF4E4BFF)
53
- val indigo_04 = Color(0xFF5F5DFF)
54
- val indigo_05 = Color(0xFF716FFF)
55
- val indigo_06 = Color(0xFF9593FF)
56
- val indigo_07 = Color(0xFFB8B7FF)
57
- val indigo_08 = Color(0xFFDCDBFF)
58
- val indigo_09 = Color(0xFFEDEDFF)
59
- val indigo_10 = Color(0xFFF6F6FF)
60
- val indigo_11 = Color(0xFFF9F9FF)
61
- val blue_01 = Color(0xFF0062CC)
62
- val blue_02 = Color(0xFF006EE6)
63
- val blue_03 = Color(0xFF007AFF)
64
- val blue_04 = Color(0xFF1987FF)
65
- val blue_05 = Color(0xFF3395FF)
66
- val blue_06 = Color(0xFF66AFFF)
67
- val blue_07 = Color(0xFF99CAFF)
68
- val blue_08 = Color(0xFFCCE4FF)
69
- val blue_09 = Color(0xFFE5F1FF)
70
- val blue_10 = Color(0xFFF2F8FF)
71
- val blue_11 = Color(0xFFF7FBFF)
72
- val mint_01 = Color(0xFF0F9B9B)
73
- val mint_02 = Color(0xFF11AFAF)
74
- val mint_03 = Color(0xFF13C2C2)
75
- val mint_04 = Color(0xFF2AC8C8)
76
- val mint_05 = Color(0xFF42CECE)
77
- val mint_06 = Color(0xFF71DADA)
78
- val mint_07 = Color(0xFFA1E7E7)
79
- val mint_08 = Color(0xFFD0F3F3)
80
- val mint_09 = Color(0xFFE7F8F8)
81
- val mint_10 = Color(0xFFF3FCFC)
82
- val mint_11 = Color(0xFFF8FDFD)
83
- val green_01 = Color(0xFF2A9F47)
84
- val green_02 = Color(0xFF2FB350)
85
- val green_03 = Color(0xFF34C759)
86
- val green_04 = Color(0xFF48CC69)
87
- val green_05 = Color(0xFF5DD27A)
88
- val green_06 = Color(0xFF85DD9B)
89
- val green_07 = Color(0xFFAEE9BD)
90
- val green_08 = Color(0xFFD6F4DE)
91
- val green_09 = Color(0xFFEAF9EE)
92
- val green_10 = Color(0xFFF5FCF6)
93
- val green_11 = Color(0xFFF9FDFA)
94
- val lime_01 = Color(0xFF80AE0E)
95
- val lime_02 = Color(0xFF90C30F)
96
- val lime_03 = Color(0xFFA0D911)
97
- val lime_04 = Color(0xFFA9DC28)
98
- val lime_05 = Color(0xFFB3E141)
99
- val lime_06 = Color(0xFFC6E870)
100
- val lime_07 = Color(0xFFD9F0A0)
101
- val lime_08 = Color(0xFFECF7CF)
102
- val lime_09 = Color(0xFFF5FBE7)
103
- val lime_10 = Color(0xFFFAFDF3)
104
- val lime_11 = Color(0xFFFCFEF8)
105
- val yellow_01 = Color(0xFFCCA300)
106
- val yellow_02 = Color(0xFFE6B800)
107
- val yellow_03 = Color(0xFFFFCC00)
108
- val yellow_04 = Color(0xFFFFD119)
109
- val yellow_05 = Color(0xFFFFD633)
110
- val yellow_06 = Color(0xFFFFE066)
111
- val yellow_07 = Color(0xFFFFEB99)
112
- val yellow_08 = Color(0xFFFFF5CC)
113
- val yellow_09 = Color(0xFFFFF9E5)
114
- val yellow_10 = Color(0xFFFFFCF2)
115
- val yellow_11 = Color(0xFFFFFDF7)
116
- val gold_01 = Color(0xFFC87012)
117
- val gold_02 = Color(0xFFE17E14)
118
- val gold_03 = Color(0xFFFA8C16)
119
- val gold_04 = Color(0xFFFA972D)
120
- val gold_05 = Color(0xFFFBA345)
121
- val gold_06 = Color(0xFFFCBA73)
122
- val gold_07 = Color(0xFFFDD1A2)
123
- val gold_08 = Color(0xFFFEE8D0)
124
- val gold_09 = Color(0xFFFEF3E7)
125
- val gold_10 = Color(0xFFFFF9F3)
126
- val gold_11 = Color(0xFFFEFBF8)
127
- val orange_01 = Color(0xFFC84316)
128
- val orange_02 = Color(0xFFE14C19)
129
- val orange_03 = Color(0xFFFA541C)
130
- val orange_04 = Color(0xFFFA6532)
131
- val orange_05 = Color(0xFFFB7649)
132
- val orange_06 = Color(0xFFFC9877)
133
- val orange_07 = Color(0xFFFDBBA4)
134
- val orange_08 = Color(0xFFFEDDD2)
135
- val orange_09 = Color(0xFFFEEDe8)
136
- val orange_10 = Color(0xFFFFF6F3)
137
- val orange_11 = Color(0xFFFEFAF8)
138
- val red_01 = Color(0xFFC41B24)
139
- val red_02 = Color(0xFFDD1F29)
140
- val red_03 = Color(0xFFF5222D)
141
- val red_04 = Color(0xFFF63842)
142
- val red_05 = Color(0xFFF74E57)
143
- val red_06 = Color(0xFFF97A81)
144
- val red_07 = Color(0xFFFBA7AB)
145
- val red_08 = Color(0xFFFDD3D5)
146
- val red_09 = Color(0xFFFEe8EA)
147
- val red_10 = Color(0xFFFEF4F4)
148
- val red_11 = Color(0xFFFEF8F8)
149
-
150
- // Translucent overlays, ported from the React kit's Consts (the reference
151
- // palette). React spells them `#RRGGBBAA`; Compose's Color takes `0xAARRGGBB`.
152
- val opacity_black_20 = Color(0x33000000)
153
- val opacity_black_40 = Color(0x66000000)
154
- val opacity_black_60 = Color(0x99000000)
155
- val opacity_black_80 = Color(0xCC000000)
156
- val opacity_white_20 = Color(0x33FFFFFF)
157
- val opacity_white_40 = Color(0x66FFFFFF)
158
- val opacity_white_60 = Color(0x99FFFFFF)
159
- val opacity_white_80 = Color(0xCCFFFFFF)
160
-
161
- val colorList: Map<String, Color> = mapOf(
162
- "black_01" to black_01,
163
- "black_02" to black_02,
164
- "black_03" to black_03,
165
- "black_04" to black_04,
166
- "black_05" to black_05,
167
- "black_06" to black_06,
168
- "black_07" to black_07,
169
- "black_08" to black_08,
170
- "black_09" to black_09,
171
- "black_10" to black_10,
172
- "black_11" to black_11,
173
- "black_12" to black_12,
174
- "black_13" to black_13,
175
- "black_14" to black_14,
176
- "black_15" to black_15,
177
- "black_16" to black_16,
178
- "black_17" to black_17,
179
- "black_18" to black_18,
180
- "black_19" to black_19,
181
- "black_20" to black_20,
182
-
183
- "pink_01" to pink_01,
184
- "pink_02" to pink_02,
185
- "pink_03" to pink_03,
186
- "pink_04" to pink_04,
187
- "pink_05" to pink_05,
188
- "pink_06" to pink_06,
189
- "pink_07" to pink_07,
190
- "pink_08" to pink_08,
191
- "pink_09" to pink_09,
192
- "pink_10" to pink_10,
193
- "pink_11" to pink_11,
194
- "pink_MoMo_Branding" to pink_MoMo_Branding,
195
-
196
- "violet_01" to violet_01,
197
- "violet_02" to violet_02,
198
- "violet_03" to violet_03,
199
- "violet_04" to violet_04,
200
- "violet_05" to violet_05,
201
- "violet_06" to violet_06,
202
- "violet_07" to violet_07,
203
- "violet_08" to violet_08,
204
- "violet_09" to violet_09,
205
- "violet_10" to violet_10,
206
- "violet_11" to violet_11,
207
- "violet_11_stroke" to violet_11_stroke,
208
-
209
- "indigo_01" to indigo_01,
210
- "indigo_02" to indigo_02,
211
- "indigo_03" to indigo_03,
212
- "indigo_04" to indigo_04,
213
- "indigo_05" to indigo_05,
214
- "indigo_06" to indigo_06,
215
- "indigo_07" to indigo_07,
216
- "indigo_08" to indigo_08,
217
- "indigo_09" to indigo_09,
218
- "indigo_10" to indigo_10,
219
- "indigo_11" to indigo_11,
220
-
221
- "blue_01" to blue_01,
222
- "blue_02" to blue_02,
223
- "blue_03" to blue_03,
224
- "blue_04" to blue_04,
225
- "blue_05" to blue_05,
226
- "blue_06" to blue_06,
227
- "blue_07" to blue_07,
228
- "blue_08" to blue_08,
229
- "blue_09" to blue_09,
230
- "blue_10" to blue_10,
231
- "blue_11" to blue_11,
232
-
233
- "mint_01" to mint_01,
234
- "mint_02" to mint_02,
235
- "mint_03" to mint_03,
236
- "mint_04" to mint_04,
237
- "mint_05" to mint_05,
238
- "mint_06" to mint_06,
239
- "mint_07" to mint_07,
240
- "mint_08" to mint_08,
241
- "mint_09" to mint_09,
242
- "mint_10" to mint_10,
243
- "mint_11" to mint_11,
244
-
245
- "green_01" to green_01,
246
- "green_02" to green_02,
247
- "green_03" to green_03,
248
- "green_04" to green_04,
249
- "green_05" to green_05,
250
- "green_06" to green_06,
251
- "green_07" to green_07,
252
- "green_08" to green_08,
253
- "green_09" to green_09,
254
- "green_10" to green_10,
255
- "green_11" to green_11,
256
-
257
- "lime_01" to lime_01,
258
- "lime_02" to lime_02,
259
- "lime_03" to lime_03,
260
- "lime_04" to lime_04,
261
- "lime_05" to lime_05,
262
- "lime_06" to lime_06,
263
- "lime_07" to lime_07,
264
- "lime_08" to lime_08,
265
- "lime_09" to lime_09,
266
- "lime_10" to lime_10,
267
- "lime_11" to lime_11,
268
-
269
- "yellow_01" to yellow_01,
270
- "yellow_02" to yellow_02,
271
- "yellow_03" to yellow_03,
272
- "yellow_04" to yellow_04,
273
- "yellow_05" to yellow_05,
274
- "yellow_06" to yellow_06,
275
- "yellow_07" to yellow_07,
276
- "yellow_08" to yellow_08,
277
- "yellow_09" to yellow_09,
278
- "yellow_10" to yellow_10,
279
- "yellow_11" to yellow_11,
280
-
281
- "gold_01" to gold_01,
282
- "gold_02" to gold_02,
283
- "gold_03" to gold_03,
284
- "gold_04" to gold_04,
285
- "gold_05" to gold_05,
286
- "gold_06" to gold_06,
287
- "gold_07" to gold_07,
288
- "gold_08" to gold_08,
289
- "gold_09" to gold_09,
290
- "gold_10" to gold_10,
291
- "gold_11" to gold_11,
292
-
293
- "orange_01" to orange_01,
294
- "orange_02" to orange_02,
295
- "orange_03" to orange_03,
296
- "orange_04" to orange_04,
297
- "orange_05" to orange_05,
298
- "orange_06" to orange_06,
299
- "orange_07" to orange_07,
300
- "orange_08" to orange_08,
301
- "orange_09" to orange_09,
302
- "orange_10" to orange_10,
303
- "orange_11" to orange_11,
304
-
305
- "red_01" to red_01,
306
- "red_02" to red_02,
307
- "red_03" to red_03,
308
- "red_04" to red_04,
309
- "red_05" to red_05,
310
- "red_06" to red_06,
311
- "red_07" to red_07,
312
- "red_08" to red_08,
313
- "red_09" to red_09,
314
- "red_10" to red_10,
315
- "red_11" to red_11,
316
- "opacity_black_20" to opacity_black_20,
317
- "opacity_black_40" to opacity_black_40,
318
- "opacity_black_60" to opacity_black_60,
319
- "opacity_black_80" to opacity_black_80,
320
- "opacity_white_20" to opacity_white_20,
321
- "opacity_white_40" to opacity_white_40,
322
- "opacity_white_60" to opacity_white_60,
323
- "opacity_white_80" to opacity_white_80,
324
- )
325
- }
@@ -1,20 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.runtime.Composable
4
- import androidx.compose.ui.text.font.FontFamily
5
-
6
- /**
7
- * Nạp font từ tài nguyên native của app host thay vì đóng gói bản copy riêng trong SDK.
8
- *
9
- * App host (MoMo Platform) đã bundle sẵn toàn bộ font từ `font-source`:
10
- * - Android: `assets/fonts/<fileName>` (gradle task `syncMomoFonts`)
11
- * - iOS: file rời ở bundle root (pbxproj fileRef được `post_install.rb` trỏ về font-source)
12
- *
13
- * AI-GENERATED START: note SF Pro -> iOS system font (ITMS-91182)
14
- * Ngoại lệ: SF Pro trên iOS dùng system font (chính là SF Pro) — Apple cấm app nhúng font của Apple.
15
- * AI-GENERATED END: note SF Pro -> iOS system font (ITMS-91182)
16
- *
17
- * Trả về `null` nếu host không có font đó — caller tự fallback [FontFamily.Default].
18
- */
19
- @Composable
20
- internal expect fun hostFontFamily(fileName: String): FontFamily?
@@ -1,18 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.runtime.getValue
4
- import androidx.compose.runtime.mutableStateOf
5
- import androidx.compose.runtime.setValue
6
-
7
- // Design-system rollout holder, same shape as KitFontScale: the kit is sandboxed and can't read the
8
- // host config, so the host seeds this once at startup from DesignSystemConfig. getFontFamily() reads
9
- // it to decide whether the new default font applies, so every screen follows the flag with no prop
10
- // threading. Backed by snapshot state: writes recompose text automatically.
11
- object KitDesignSystem {
12
- var isWhiteList by mutableStateOf(false)
13
- private set
14
-
15
- fun update(isWhiteList: Boolean) {
16
- this.isWhiteList = isWhiteList
17
- }
18
- }
@@ -1,22 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.runtime.getValue
4
- import androidx.compose.runtime.mutableStateOf
5
- import androidx.compose.runtime.setValue
6
-
7
- // App-wide font-scale holder. The kit is sandboxed and can't read the host cache directly, so the
8
- // host (which sees both core and this kit) seeds this once at startup and pushes runtime updates into
9
- // it. scaleSize() reads it as the fallback, so every screen — including direct NavigationContainer
10
- // screens with no host-pushed MiniAppContext — scales with no per-render prop and no async flicker.
11
- // Backed by snapshot state: writes recompose text automatically.
12
- object KitFontScale {
13
- var userScaleRate by mutableStateOf(1f)
14
- private set
15
- var useOSScaleRate by mutableStateOf(true)
16
- private set
17
-
18
- fun update(userScaleRate: Float, useOSScaleRate: Boolean) {
19
- this.userScaleRate = userScaleRate
20
- this.useOSScaleRate = useOSScaleRate
21
- }
22
- }
@@ -1,12 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.ui.unit.dp
4
-
5
- object Radius {
6
- val XXS = 2.dp
7
- val XS = 4.dp
8
- val S = 8.dp
9
- val M = 12.dp
10
- val L = 16.dp
11
- val XL = 24.dp
12
- }
@@ -1,16 +0,0 @@
1
- package vn.momo.kits.const
2
-
3
- import androidx.compose.ui.unit.dp
4
-
5
- object Spacing {
6
- val XXS = 2.dp
7
- val XS = 4.dp
8
- val S = 8.dp
9
- val M = 12.dp
10
- val L = 16.dp
11
- val XL = 24.dp
12
- val XXL = 32.dp
13
- val Size3XL = 48.dp
14
- val Size4XL = 56.dp
15
- val Size5XL = 64.dp
16
- }