@momo-kits/native-kits 0.110.1-rc.9 → 0.110.1-sp.2

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.
@@ -0,0 +1 @@
1
+ Components.kt
@@ -0,0 +1,329 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DeviceStreaming">
4
+ <option name="deviceSelectionList">
5
+ <list>
6
+ <PersistentDeviceSelectionData>
7
+ <option name="api" value="27" />
8
+ <option name="brand" value="DOCOMO" />
9
+ <option name="codename" value="F01L" />
10
+ <option name="id" value="F01L" />
11
+ <option name="manufacturer" value="FUJITSU" />
12
+ <option name="name" value="F-01L" />
13
+ <option name="screenDensity" value="360" />
14
+ <option name="screenX" value="720" />
15
+ <option name="screenY" value="1280" />
16
+ </PersistentDeviceSelectionData>
17
+ <PersistentDeviceSelectionData>
18
+ <option name="api" value="28" />
19
+ <option name="brand" value="DOCOMO" />
20
+ <option name="codename" value="SH-01L" />
21
+ <option name="id" value="SH-01L" />
22
+ <option name="manufacturer" value="SHARP" />
23
+ <option name="name" value="AQUOS sense2 SH-01L" />
24
+ <option name="screenDensity" value="480" />
25
+ <option name="screenX" value="1080" />
26
+ <option name="screenY" value="2160" />
27
+ </PersistentDeviceSelectionData>
28
+ <PersistentDeviceSelectionData>
29
+ <option name="api" value="34" />
30
+ <option name="brand" value="Lenovo" />
31
+ <option name="codename" value="TB370FU" />
32
+ <option name="id" value="TB370FU" />
33
+ <option name="manufacturer" value="Lenovo" />
34
+ <option name="name" value="Tab P12" />
35
+ <option name="screenDensity" value="340" />
36
+ <option name="screenX" value="1840" />
37
+ <option name="screenY" value="2944" />
38
+ </PersistentDeviceSelectionData>
39
+ <PersistentDeviceSelectionData>
40
+ <option name="api" value="31" />
41
+ <option name="brand" value="samsung" />
42
+ <option name="codename" value="a51" />
43
+ <option name="id" value="a51" />
44
+ <option name="manufacturer" value="Samsung" />
45
+ <option name="name" value="Galaxy A51" />
46
+ <option name="screenDensity" value="420" />
47
+ <option name="screenX" value="1080" />
48
+ <option name="screenY" value="2400" />
49
+ </PersistentDeviceSelectionData>
50
+ <PersistentDeviceSelectionData>
51
+ <option name="api" value="34" />
52
+ <option name="brand" value="google" />
53
+ <option name="codename" value="akita" />
54
+ <option name="id" value="akita" />
55
+ <option name="manufacturer" value="Google" />
56
+ <option name="name" value="Pixel 8a" />
57
+ <option name="screenDensity" value="420" />
58
+ <option name="screenX" value="1080" />
59
+ <option name="screenY" value="2400" />
60
+ </PersistentDeviceSelectionData>
61
+ <PersistentDeviceSelectionData>
62
+ <option name="api" value="33" />
63
+ <option name="brand" value="samsung" />
64
+ <option name="codename" value="b0q" />
65
+ <option name="id" value="b0q" />
66
+ <option name="manufacturer" value="Samsung" />
67
+ <option name="name" value="Galaxy S22 Ultra" />
68
+ <option name="screenDensity" value="600" />
69
+ <option name="screenX" value="1440" />
70
+ <option name="screenY" value="3088" />
71
+ </PersistentDeviceSelectionData>
72
+ <PersistentDeviceSelectionData>
73
+ <option name="api" value="32" />
74
+ <option name="brand" value="google" />
75
+ <option name="codename" value="bluejay" />
76
+ <option name="id" value="bluejay" />
77
+ <option name="manufacturer" value="Google" />
78
+ <option name="name" value="Pixel 6a" />
79
+ <option name="screenDensity" value="420" />
80
+ <option name="screenX" value="1080" />
81
+ <option name="screenY" value="2400" />
82
+ </PersistentDeviceSelectionData>
83
+ <PersistentDeviceSelectionData>
84
+ <option name="api" value="34" />
85
+ <option name="brand" value="google" />
86
+ <option name="codename" value="caiman" />
87
+ <option name="id" value="caiman" />
88
+ <option name="manufacturer" value="Google" />
89
+ <option name="name" value="Pixel 9 Pro" />
90
+ <option name="screenDensity" value="360" />
91
+ <option name="screenX" value="960" />
92
+ <option name="screenY" value="2142" />
93
+ </PersistentDeviceSelectionData>
94
+ <PersistentDeviceSelectionData>
95
+ <option name="api" value="34" />
96
+ <option name="brand" value="google" />
97
+ <option name="codename" value="comet" />
98
+ <option name="id" value="comet" />
99
+ <option name="manufacturer" value="Google" />
100
+ <option name="name" value="Pixel 9 Pro Fold" />
101
+ <option name="screenDensity" value="390" />
102
+ <option name="screenX" value="2076" />
103
+ <option name="screenY" value="2152" />
104
+ </PersistentDeviceSelectionData>
105
+ <PersistentDeviceSelectionData>
106
+ <option name="api" value="29" />
107
+ <option name="brand" value="samsung" />
108
+ <option name="codename" value="crownqlteue" />
109
+ <option name="id" value="crownqlteue" />
110
+ <option name="manufacturer" value="Samsung" />
111
+ <option name="name" value="Galaxy Note9" />
112
+ <option name="screenDensity" value="420" />
113
+ <option name="screenX" value="2220" />
114
+ <option name="screenY" value="1080" />
115
+ </PersistentDeviceSelectionData>
116
+ <PersistentDeviceSelectionData>
117
+ <option name="api" value="34" />
118
+ <option name="brand" value="samsung" />
119
+ <option name="codename" value="dm3q" />
120
+ <option name="id" value="dm3q" />
121
+ <option name="manufacturer" value="Samsung" />
122
+ <option name="name" value="Galaxy S23 Ultra" />
123
+ <option name="screenDensity" value="600" />
124
+ <option name="screenX" value="1440" />
125
+ <option name="screenY" value="3088" />
126
+ </PersistentDeviceSelectionData>
127
+ <PersistentDeviceSelectionData>
128
+ <option name="api" value="34" />
129
+ <option name="brand" value="samsung" />
130
+ <option name="codename" value="e1q" />
131
+ <option name="id" value="e1q" />
132
+ <option name="manufacturer" value="Samsung" />
133
+ <option name="name" value="Galaxy S24" />
134
+ <option name="screenDensity" value="480" />
135
+ <option name="screenX" value="1080" />
136
+ <option name="screenY" value="2340" />
137
+ </PersistentDeviceSelectionData>
138
+ <PersistentDeviceSelectionData>
139
+ <option name="api" value="33" />
140
+ <option name="brand" value="google" />
141
+ <option name="codename" value="felix" />
142
+ <option name="id" value="felix" />
143
+ <option name="manufacturer" value="Google" />
144
+ <option name="name" value="Pixel Fold" />
145
+ <option name="screenDensity" value="420" />
146
+ <option name="screenX" value="2208" />
147
+ <option name="screenY" value="1840" />
148
+ </PersistentDeviceSelectionData>
149
+ <PersistentDeviceSelectionData>
150
+ <option name="api" value="34" />
151
+ <option name="brand" value="google" />
152
+ <option name="codename" value="felix" />
153
+ <option name="id" value="felix" />
154
+ <option name="manufacturer" value="Google" />
155
+ <option name="name" value="Pixel Fold" />
156
+ <option name="screenDensity" value="420" />
157
+ <option name="screenX" value="2208" />
158
+ <option name="screenY" value="1840" />
159
+ </PersistentDeviceSelectionData>
160
+ <PersistentDeviceSelectionData>
161
+ <option name="api" value="33" />
162
+ <option name="brand" value="google" />
163
+ <option name="codename" value="felix_camera" />
164
+ <option name="id" value="felix_camera" />
165
+ <option name="manufacturer" value="Google" />
166
+ <option name="name" value="Pixel Fold (Camera-enabled)" />
167
+ <option name="screenDensity" value="420" />
168
+ <option name="screenX" value="2208" />
169
+ <option name="screenY" value="1840" />
170
+ </PersistentDeviceSelectionData>
171
+ <PersistentDeviceSelectionData>
172
+ <option name="api" value="33" />
173
+ <option name="brand" value="samsung" />
174
+ <option name="codename" value="gts8uwifi" />
175
+ <option name="id" value="gts8uwifi" />
176
+ <option name="manufacturer" value="Samsung" />
177
+ <option name="name" value="Galaxy Tab S8 Ultra" />
178
+ <option name="screenDensity" value="320" />
179
+ <option name="screenX" value="1848" />
180
+ <option name="screenY" value="2960" />
181
+ </PersistentDeviceSelectionData>
182
+ <PersistentDeviceSelectionData>
183
+ <option name="api" value="34" />
184
+ <option name="brand" value="google" />
185
+ <option name="codename" value="husky" />
186
+ <option name="id" value="husky" />
187
+ <option name="manufacturer" value="Google" />
188
+ <option name="name" value="Pixel 8 Pro" />
189
+ <option name="screenDensity" value="390" />
190
+ <option name="screenX" value="1008" />
191
+ <option name="screenY" value="2244" />
192
+ </PersistentDeviceSelectionData>
193
+ <PersistentDeviceSelectionData>
194
+ <option name="api" value="30" />
195
+ <option name="brand" value="motorola" />
196
+ <option name="codename" value="java" />
197
+ <option name="id" value="java" />
198
+ <option name="manufacturer" value="Motorola" />
199
+ <option name="name" value="G20" />
200
+ <option name="screenDensity" value="280" />
201
+ <option name="screenX" value="720" />
202
+ <option name="screenY" value="1600" />
203
+ </PersistentDeviceSelectionData>
204
+ <PersistentDeviceSelectionData>
205
+ <option name="api" value="34" />
206
+ <option name="brand" value="google" />
207
+ <option name="codename" value="komodo" />
208
+ <option name="id" value="komodo" />
209
+ <option name="manufacturer" value="Google" />
210
+ <option name="name" value="Pixel 9 Pro XL" />
211
+ <option name="screenDensity" value="360" />
212
+ <option name="screenX" value="1008" />
213
+ <option name="screenY" value="2244" />
214
+ </PersistentDeviceSelectionData>
215
+ <PersistentDeviceSelectionData>
216
+ <option name="api" value="33" />
217
+ <option name="brand" value="google" />
218
+ <option name="codename" value="lynx" />
219
+ <option name="id" value="lynx" />
220
+ <option name="manufacturer" value="Google" />
221
+ <option name="name" value="Pixel 7a" />
222
+ <option name="screenDensity" value="420" />
223
+ <option name="screenX" value="1080" />
224
+ <option name="screenY" value="2400" />
225
+ </PersistentDeviceSelectionData>
226
+ <PersistentDeviceSelectionData>
227
+ <option name="api" value="31" />
228
+ <option name="brand" value="google" />
229
+ <option name="codename" value="oriole" />
230
+ <option name="id" value="oriole" />
231
+ <option name="manufacturer" value="Google" />
232
+ <option name="name" value="Pixel 6" />
233
+ <option name="screenDensity" value="420" />
234
+ <option name="screenX" value="1080" />
235
+ <option name="screenY" value="2400" />
236
+ </PersistentDeviceSelectionData>
237
+ <PersistentDeviceSelectionData>
238
+ <option name="api" value="33" />
239
+ <option name="brand" value="google" />
240
+ <option name="codename" value="panther" />
241
+ <option name="id" value="panther" />
242
+ <option name="manufacturer" value="Google" />
243
+ <option name="name" value="Pixel 7" />
244
+ <option name="screenDensity" value="420" />
245
+ <option name="screenX" value="1080" />
246
+ <option name="screenY" value="2400" />
247
+ </PersistentDeviceSelectionData>
248
+ <PersistentDeviceSelectionData>
249
+ <option name="api" value="34" />
250
+ <option name="brand" value="samsung" />
251
+ <option name="codename" value="q5q" />
252
+ <option name="id" value="q5q" />
253
+ <option name="manufacturer" value="Samsung" />
254
+ <option name="name" value="Galaxy Z Fold5" />
255
+ <option name="screenDensity" value="420" />
256
+ <option name="screenX" value="1812" />
257
+ <option name="screenY" value="2176" />
258
+ </PersistentDeviceSelectionData>
259
+ <PersistentDeviceSelectionData>
260
+ <option name="api" value="34" />
261
+ <option name="brand" value="samsung" />
262
+ <option name="codename" value="q6q" />
263
+ <option name="id" value="q6q" />
264
+ <option name="manufacturer" value="Samsung" />
265
+ <option name="name" value="Galaxy Z Fold6" />
266
+ <option name="screenDensity" value="420" />
267
+ <option name="screenX" value="1856" />
268
+ <option name="screenY" value="2160" />
269
+ </PersistentDeviceSelectionData>
270
+ <PersistentDeviceSelectionData>
271
+ <option name="api" value="30" />
272
+ <option name="brand" value="google" />
273
+ <option name="codename" value="r11" />
274
+ <option name="id" value="r11" />
275
+ <option name="manufacturer" value="Google" />
276
+ <option name="name" value="Pixel Watch" />
277
+ <option name="screenDensity" value="320" />
278
+ <option name="screenX" value="384" />
279
+ <option name="screenY" value="384" />
280
+ <option name="type" value="WEAR_OS" />
281
+ </PersistentDeviceSelectionData>
282
+ <PersistentDeviceSelectionData>
283
+ <option name="api" value="30" />
284
+ <option name="brand" value="google" />
285
+ <option name="codename" value="redfin" />
286
+ <option name="id" value="redfin" />
287
+ <option name="manufacturer" value="Google" />
288
+ <option name="name" value="Pixel 5" />
289
+ <option name="screenDensity" value="440" />
290
+ <option name="screenX" value="1080" />
291
+ <option name="screenY" value="2340" />
292
+ </PersistentDeviceSelectionData>
293
+ <PersistentDeviceSelectionData>
294
+ <option name="api" value="34" />
295
+ <option name="brand" value="google" />
296
+ <option name="codename" value="shiba" />
297
+ <option name="id" value="shiba" />
298
+ <option name="manufacturer" value="Google" />
299
+ <option name="name" value="Pixel 8" />
300
+ <option name="screenDensity" value="420" />
301
+ <option name="screenX" value="1080" />
302
+ <option name="screenY" value="2400" />
303
+ </PersistentDeviceSelectionData>
304
+ <PersistentDeviceSelectionData>
305
+ <option name="api" value="33" />
306
+ <option name="brand" value="google" />
307
+ <option name="codename" value="tangorpro" />
308
+ <option name="id" value="tangorpro" />
309
+ <option name="manufacturer" value="Google" />
310
+ <option name="name" value="Pixel Tablet" />
311
+ <option name="screenDensity" value="320" />
312
+ <option name="screenX" value="1600" />
313
+ <option name="screenY" value="2560" />
314
+ </PersistentDeviceSelectionData>
315
+ <PersistentDeviceSelectionData>
316
+ <option name="api" value="34" />
317
+ <option name="brand" value="google" />
318
+ <option name="codename" value="tokay" />
319
+ <option name="id" value="tokay" />
320
+ <option name="manufacturer" value="Google" />
321
+ <option name="name" value="Pixel 9" />
322
+ <option name="screenDensity" value="420" />
323
+ <option name="screenX" value="1080" />
324
+ <option name="screenY" value="2424" />
325
+ </PersistentDeviceSelectionData>
326
+ </list>
327
+ </option>
328
+ </component>
329
+ </project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="GradleMigrationSettings" migrationVersion="1" />
4
+ <component name="GradleSettings">
5
+ <option name="linkedExternalProjectsSettings">
6
+ <GradleProjectSettings>
7
+ <option name="testRunner" value="CHOOSE_PER_TEST" />
8
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />
9
+ <option name="gradleJvm" value="#JAVA_HOME" />
10
+ </GradleProjectSettings>
11
+ </option>
12
+ </component>
13
+ </project>
@@ -0,0 +1,3 @@
1
+ <project version="4">
2
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
3
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/compose.iml" filepath="$PROJECT_DIR$/.idea/compose.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="RunConfigurationProducerService">
4
+ <option name="ignoredProducers">
5
+ <set>
6
+ <option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
7
+ <option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
8
+ <option value="com.intellij.execution.junit.PatternConfigurationProducer" />
9
+ <option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
10
+ <option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
11
+ <option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
12
+ <option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
13
+ <option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
14
+ </set>
15
+ </option>
16
+ </component>
17
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
+ </component>
6
+ </project>
@@ -22,6 +22,43 @@ import vn.momo.kits.const.defaultTheme
22
22
  import vn.momo.kits.platform.disableOverscroll
23
23
  import vn.momo.kits.platform.getStatusBarHeight
24
24
 
25
+
26
+ val AppNavigator = staticCompositionLocalOf<Navigator> {
27
+ error("no navigator provided!")
28
+ }
29
+
30
+ class Navigator {
31
+ fun push(content: @Composable () -> Unit) {
32
+ }
33
+
34
+ fun present(content: @Composable () -> Unit) {
35
+
36
+ }
37
+
38
+ fun reset(content: @Composable () -> Unit) {
39
+
40
+ }
41
+
42
+ fun pop() {
43
+ }
44
+
45
+ fun replace(content: @Composable () -> Unit) {
46
+ }
47
+
48
+ fun popToTop() {
49
+ }
50
+
51
+ fun showModal(
52
+ onClose: () -> Unit = {},
53
+ canBackgroundClose: Boolean = true,
54
+ content: @Composable () -> Unit,
55
+ ) {
56
+ }
57
+
58
+ fun showBottomSheet(content: @Composable () -> Unit) {
59
+ }
60
+ }
61
+
25
62
  val PlatformApi = staticCompositionLocalOf<Any?> { null }
26
63
 
27
64
  interface ComposeApi {
@@ -71,6 +108,7 @@ fun ApplicationContainer(
71
108
  CompositionLocalProvider(
72
109
  AppTheme provides appTheme,
73
110
  PlatformApi provides composeApi,
111
+ AppNavigator provides Navigator(),
74
112
  AppStatusBar provides statusBarHeight,
75
113
  ) {
76
114
  content()
@@ -5,16 +5,20 @@ import androidx.compose.ui.Modifier
5
5
  import androidx.compose.ui.graphics.Color
6
6
  import androidx.compose.ui.semantics.contentDescription
7
7
  import androidx.compose.ui.semantics.semantics
8
+ import androidx.compose.ui.semantics.testTag
8
9
  import androidx.compose.ui.text.TextLayoutResult
9
10
  import androidx.compose.ui.text.TextStyle
10
11
  import androidx.compose.ui.text.style.TextAlign
11
12
  import androidx.compose.ui.text.style.TextDecoration
12
13
  import androidx.compose.ui.text.style.TextOverflow
13
14
  import androidx.compose.ui.unit.sp
15
+ import vn.momo.kits.application.PlatformApi
14
16
  import vn.momo.kits.const.AppTheme
15
17
  import vn.momo.kits.const.Typography
16
18
  import vn.momo.kits.const.getFontFamily
17
19
  import vn.momo.kits.const.scaleSize
20
+ import vn.momo.kits.modifier.setAutomationId
21
+ import vn.momo.kits.platform.getPlatformName
18
22
 
19
23
  @Composable
20
24
  fun Text(
@@ -27,13 +31,14 @@ fun Text(
27
31
  overflow: TextOverflow = TextOverflow.Clip,
28
32
  textDecoration: TextDecoration? = null,
29
33
  onTextLayout: ((TextLayoutResult) -> Unit)? = null,
30
- fontFamily: String = "SFProText"
34
+ fontFamily: String = "SFProText",
35
+ accessibilityId: String? = null
31
36
  ) {
32
37
  val fontSize = scaleSize(style.fontSize.value).sp
33
38
  val font = getFontFamily(fontFamily, style.fontWeight)
34
39
 
35
40
  androidx.compose.material3.Text(
36
- modifier = modifier.semantics { contentDescription = text },
41
+ modifier = modifier.setAutomationId(accessibilityId?:text),
37
42
  text = text,
38
43
  color = color ?: AppTheme.current.colors.text.default,
39
44
  style = style,
@@ -0,0 +1,24 @@
1
+ package vn.momo.kits.modifier
2
+
3
+ import androidx.compose.foundation.clickable
4
+ import androidx.compose.foundation.interaction.MutableInteractionSource
5
+ import androidx.compose.runtime.remember
6
+ import androidx.compose.ui.Modifier
7
+ import androidx.compose.ui.composed
8
+ import androidx.compose.ui.semantics.Role
9
+ import androidx.compose.ui.semantics.contentDescription
10
+ import androidx.compose.ui.semantics.semantics
11
+ import androidx.compose.ui.semantics.testTag
12
+ import vn.momo.kits.platform.getPlatformName
13
+
14
+ fun Modifier.setAutomationId(accessibilityId : String) : Modifier {
15
+ return if (getPlatformName() == "Android") {
16
+ semantics {
17
+ contentDescription = accessibilityId
18
+ }
19
+ } else {
20
+ semantics {
21
+ testTag = accessibilityId
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,329 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DeviceStreaming">
4
+ <option name="deviceSelectionList">
5
+ <list>
6
+ <PersistentDeviceSelectionData>
7
+ <option name="api" value="27" />
8
+ <option name="brand" value="DOCOMO" />
9
+ <option name="codename" value="F01L" />
10
+ <option name="id" value="F01L" />
11
+ <option name="manufacturer" value="FUJITSU" />
12
+ <option name="name" value="F-01L" />
13
+ <option name="screenDensity" value="360" />
14
+ <option name="screenX" value="720" />
15
+ <option name="screenY" value="1280" />
16
+ </PersistentDeviceSelectionData>
17
+ <PersistentDeviceSelectionData>
18
+ <option name="api" value="28" />
19
+ <option name="brand" value="DOCOMO" />
20
+ <option name="codename" value="SH-01L" />
21
+ <option name="id" value="SH-01L" />
22
+ <option name="manufacturer" value="SHARP" />
23
+ <option name="name" value="AQUOS sense2 SH-01L" />
24
+ <option name="screenDensity" value="480" />
25
+ <option name="screenX" value="1080" />
26
+ <option name="screenY" value="2160" />
27
+ </PersistentDeviceSelectionData>
28
+ <PersistentDeviceSelectionData>
29
+ <option name="api" value="34" />
30
+ <option name="brand" value="Lenovo" />
31
+ <option name="codename" value="TB370FU" />
32
+ <option name="id" value="TB370FU" />
33
+ <option name="manufacturer" value="Lenovo" />
34
+ <option name="name" value="Tab P12" />
35
+ <option name="screenDensity" value="340" />
36
+ <option name="screenX" value="1840" />
37
+ <option name="screenY" value="2944" />
38
+ </PersistentDeviceSelectionData>
39
+ <PersistentDeviceSelectionData>
40
+ <option name="api" value="31" />
41
+ <option name="brand" value="samsung" />
42
+ <option name="codename" value="a51" />
43
+ <option name="id" value="a51" />
44
+ <option name="manufacturer" value="Samsung" />
45
+ <option name="name" value="Galaxy A51" />
46
+ <option name="screenDensity" value="420" />
47
+ <option name="screenX" value="1080" />
48
+ <option name="screenY" value="2400" />
49
+ </PersistentDeviceSelectionData>
50
+ <PersistentDeviceSelectionData>
51
+ <option name="api" value="34" />
52
+ <option name="brand" value="google" />
53
+ <option name="codename" value="akita" />
54
+ <option name="id" value="akita" />
55
+ <option name="manufacturer" value="Google" />
56
+ <option name="name" value="Pixel 8a" />
57
+ <option name="screenDensity" value="420" />
58
+ <option name="screenX" value="1080" />
59
+ <option name="screenY" value="2400" />
60
+ </PersistentDeviceSelectionData>
61
+ <PersistentDeviceSelectionData>
62
+ <option name="api" value="33" />
63
+ <option name="brand" value="samsung" />
64
+ <option name="codename" value="b0q" />
65
+ <option name="id" value="b0q" />
66
+ <option name="manufacturer" value="Samsung" />
67
+ <option name="name" value="Galaxy S22 Ultra" />
68
+ <option name="screenDensity" value="600" />
69
+ <option name="screenX" value="1440" />
70
+ <option name="screenY" value="3088" />
71
+ </PersistentDeviceSelectionData>
72
+ <PersistentDeviceSelectionData>
73
+ <option name="api" value="32" />
74
+ <option name="brand" value="google" />
75
+ <option name="codename" value="bluejay" />
76
+ <option name="id" value="bluejay" />
77
+ <option name="manufacturer" value="Google" />
78
+ <option name="name" value="Pixel 6a" />
79
+ <option name="screenDensity" value="420" />
80
+ <option name="screenX" value="1080" />
81
+ <option name="screenY" value="2400" />
82
+ </PersistentDeviceSelectionData>
83
+ <PersistentDeviceSelectionData>
84
+ <option name="api" value="34" />
85
+ <option name="brand" value="google" />
86
+ <option name="codename" value="caiman" />
87
+ <option name="id" value="caiman" />
88
+ <option name="manufacturer" value="Google" />
89
+ <option name="name" value="Pixel 9 Pro" />
90
+ <option name="screenDensity" value="360" />
91
+ <option name="screenX" value="960" />
92
+ <option name="screenY" value="2142" />
93
+ </PersistentDeviceSelectionData>
94
+ <PersistentDeviceSelectionData>
95
+ <option name="api" value="34" />
96
+ <option name="brand" value="google" />
97
+ <option name="codename" value="comet" />
98
+ <option name="id" value="comet" />
99
+ <option name="manufacturer" value="Google" />
100
+ <option name="name" value="Pixel 9 Pro Fold" />
101
+ <option name="screenDensity" value="390" />
102
+ <option name="screenX" value="2076" />
103
+ <option name="screenY" value="2152" />
104
+ </PersistentDeviceSelectionData>
105
+ <PersistentDeviceSelectionData>
106
+ <option name="api" value="29" />
107
+ <option name="brand" value="samsung" />
108
+ <option name="codename" value="crownqlteue" />
109
+ <option name="id" value="crownqlteue" />
110
+ <option name="manufacturer" value="Samsung" />
111
+ <option name="name" value="Galaxy Note9" />
112
+ <option name="screenDensity" value="420" />
113
+ <option name="screenX" value="2220" />
114
+ <option name="screenY" value="1080" />
115
+ </PersistentDeviceSelectionData>
116
+ <PersistentDeviceSelectionData>
117
+ <option name="api" value="34" />
118
+ <option name="brand" value="samsung" />
119
+ <option name="codename" value="dm3q" />
120
+ <option name="id" value="dm3q" />
121
+ <option name="manufacturer" value="Samsung" />
122
+ <option name="name" value="Galaxy S23 Ultra" />
123
+ <option name="screenDensity" value="600" />
124
+ <option name="screenX" value="1440" />
125
+ <option name="screenY" value="3088" />
126
+ </PersistentDeviceSelectionData>
127
+ <PersistentDeviceSelectionData>
128
+ <option name="api" value="34" />
129
+ <option name="brand" value="samsung" />
130
+ <option name="codename" value="e1q" />
131
+ <option name="id" value="e1q" />
132
+ <option name="manufacturer" value="Samsung" />
133
+ <option name="name" value="Galaxy S24" />
134
+ <option name="screenDensity" value="480" />
135
+ <option name="screenX" value="1080" />
136
+ <option name="screenY" value="2340" />
137
+ </PersistentDeviceSelectionData>
138
+ <PersistentDeviceSelectionData>
139
+ <option name="api" value="33" />
140
+ <option name="brand" value="google" />
141
+ <option name="codename" value="felix" />
142
+ <option name="id" value="felix" />
143
+ <option name="manufacturer" value="Google" />
144
+ <option name="name" value="Pixel Fold" />
145
+ <option name="screenDensity" value="420" />
146
+ <option name="screenX" value="2208" />
147
+ <option name="screenY" value="1840" />
148
+ </PersistentDeviceSelectionData>
149
+ <PersistentDeviceSelectionData>
150
+ <option name="api" value="34" />
151
+ <option name="brand" value="google" />
152
+ <option name="codename" value="felix" />
153
+ <option name="id" value="felix" />
154
+ <option name="manufacturer" value="Google" />
155
+ <option name="name" value="Pixel Fold" />
156
+ <option name="screenDensity" value="420" />
157
+ <option name="screenX" value="2208" />
158
+ <option name="screenY" value="1840" />
159
+ </PersistentDeviceSelectionData>
160
+ <PersistentDeviceSelectionData>
161
+ <option name="api" value="33" />
162
+ <option name="brand" value="google" />
163
+ <option name="codename" value="felix_camera" />
164
+ <option name="id" value="felix_camera" />
165
+ <option name="manufacturer" value="Google" />
166
+ <option name="name" value="Pixel Fold (Camera-enabled)" />
167
+ <option name="screenDensity" value="420" />
168
+ <option name="screenX" value="2208" />
169
+ <option name="screenY" value="1840" />
170
+ </PersistentDeviceSelectionData>
171
+ <PersistentDeviceSelectionData>
172
+ <option name="api" value="33" />
173
+ <option name="brand" value="samsung" />
174
+ <option name="codename" value="gts8uwifi" />
175
+ <option name="id" value="gts8uwifi" />
176
+ <option name="manufacturer" value="Samsung" />
177
+ <option name="name" value="Galaxy Tab S8 Ultra" />
178
+ <option name="screenDensity" value="320" />
179
+ <option name="screenX" value="1848" />
180
+ <option name="screenY" value="2960" />
181
+ </PersistentDeviceSelectionData>
182
+ <PersistentDeviceSelectionData>
183
+ <option name="api" value="34" />
184
+ <option name="brand" value="google" />
185
+ <option name="codename" value="husky" />
186
+ <option name="id" value="husky" />
187
+ <option name="manufacturer" value="Google" />
188
+ <option name="name" value="Pixel 8 Pro" />
189
+ <option name="screenDensity" value="390" />
190
+ <option name="screenX" value="1008" />
191
+ <option name="screenY" value="2244" />
192
+ </PersistentDeviceSelectionData>
193
+ <PersistentDeviceSelectionData>
194
+ <option name="api" value="30" />
195
+ <option name="brand" value="motorola" />
196
+ <option name="codename" value="java" />
197
+ <option name="id" value="java" />
198
+ <option name="manufacturer" value="Motorola" />
199
+ <option name="name" value="G20" />
200
+ <option name="screenDensity" value="280" />
201
+ <option name="screenX" value="720" />
202
+ <option name="screenY" value="1600" />
203
+ </PersistentDeviceSelectionData>
204
+ <PersistentDeviceSelectionData>
205
+ <option name="api" value="34" />
206
+ <option name="brand" value="google" />
207
+ <option name="codename" value="komodo" />
208
+ <option name="id" value="komodo" />
209
+ <option name="manufacturer" value="Google" />
210
+ <option name="name" value="Pixel 9 Pro XL" />
211
+ <option name="screenDensity" value="360" />
212
+ <option name="screenX" value="1008" />
213
+ <option name="screenY" value="2244" />
214
+ </PersistentDeviceSelectionData>
215
+ <PersistentDeviceSelectionData>
216
+ <option name="api" value="33" />
217
+ <option name="brand" value="google" />
218
+ <option name="codename" value="lynx" />
219
+ <option name="id" value="lynx" />
220
+ <option name="manufacturer" value="Google" />
221
+ <option name="name" value="Pixel 7a" />
222
+ <option name="screenDensity" value="420" />
223
+ <option name="screenX" value="1080" />
224
+ <option name="screenY" value="2400" />
225
+ </PersistentDeviceSelectionData>
226
+ <PersistentDeviceSelectionData>
227
+ <option name="api" value="31" />
228
+ <option name="brand" value="google" />
229
+ <option name="codename" value="oriole" />
230
+ <option name="id" value="oriole" />
231
+ <option name="manufacturer" value="Google" />
232
+ <option name="name" value="Pixel 6" />
233
+ <option name="screenDensity" value="420" />
234
+ <option name="screenX" value="1080" />
235
+ <option name="screenY" value="2400" />
236
+ </PersistentDeviceSelectionData>
237
+ <PersistentDeviceSelectionData>
238
+ <option name="api" value="33" />
239
+ <option name="brand" value="google" />
240
+ <option name="codename" value="panther" />
241
+ <option name="id" value="panther" />
242
+ <option name="manufacturer" value="Google" />
243
+ <option name="name" value="Pixel 7" />
244
+ <option name="screenDensity" value="420" />
245
+ <option name="screenX" value="1080" />
246
+ <option name="screenY" value="2400" />
247
+ </PersistentDeviceSelectionData>
248
+ <PersistentDeviceSelectionData>
249
+ <option name="api" value="34" />
250
+ <option name="brand" value="samsung" />
251
+ <option name="codename" value="q5q" />
252
+ <option name="id" value="q5q" />
253
+ <option name="manufacturer" value="Samsung" />
254
+ <option name="name" value="Galaxy Z Fold5" />
255
+ <option name="screenDensity" value="420" />
256
+ <option name="screenX" value="1812" />
257
+ <option name="screenY" value="2176" />
258
+ </PersistentDeviceSelectionData>
259
+ <PersistentDeviceSelectionData>
260
+ <option name="api" value="34" />
261
+ <option name="brand" value="samsung" />
262
+ <option name="codename" value="q6q" />
263
+ <option name="id" value="q6q" />
264
+ <option name="manufacturer" value="Samsung" />
265
+ <option name="name" value="Galaxy Z Fold6" />
266
+ <option name="screenDensity" value="420" />
267
+ <option name="screenX" value="1856" />
268
+ <option name="screenY" value="2160" />
269
+ </PersistentDeviceSelectionData>
270
+ <PersistentDeviceSelectionData>
271
+ <option name="api" value="30" />
272
+ <option name="brand" value="google" />
273
+ <option name="codename" value="r11" />
274
+ <option name="id" value="r11" />
275
+ <option name="manufacturer" value="Google" />
276
+ <option name="name" value="Pixel Watch" />
277
+ <option name="screenDensity" value="320" />
278
+ <option name="screenX" value="384" />
279
+ <option name="screenY" value="384" />
280
+ <option name="type" value="WEAR_OS" />
281
+ </PersistentDeviceSelectionData>
282
+ <PersistentDeviceSelectionData>
283
+ <option name="api" value="30" />
284
+ <option name="brand" value="google" />
285
+ <option name="codename" value="redfin" />
286
+ <option name="id" value="redfin" />
287
+ <option name="manufacturer" value="Google" />
288
+ <option name="name" value="Pixel 5" />
289
+ <option name="screenDensity" value="440" />
290
+ <option name="screenX" value="1080" />
291
+ <option name="screenY" value="2340" />
292
+ </PersistentDeviceSelectionData>
293
+ <PersistentDeviceSelectionData>
294
+ <option name="api" value="34" />
295
+ <option name="brand" value="google" />
296
+ <option name="codename" value="shiba" />
297
+ <option name="id" value="shiba" />
298
+ <option name="manufacturer" value="Google" />
299
+ <option name="name" value="Pixel 8" />
300
+ <option name="screenDensity" value="420" />
301
+ <option name="screenX" value="1080" />
302
+ <option name="screenY" value="2400" />
303
+ </PersistentDeviceSelectionData>
304
+ <PersistentDeviceSelectionData>
305
+ <option name="api" value="33" />
306
+ <option name="brand" value="google" />
307
+ <option name="codename" value="tangorpro" />
308
+ <option name="id" value="tangorpro" />
309
+ <option name="manufacturer" value="Google" />
310
+ <option name="name" value="Pixel Tablet" />
311
+ <option name="screenDensity" value="320" />
312
+ <option name="screenX" value="1600" />
313
+ <option name="screenY" value="2560" />
314
+ </PersistentDeviceSelectionData>
315
+ <PersistentDeviceSelectionData>
316
+ <option name="api" value="34" />
317
+ <option name="brand" value="google" />
318
+ <option name="codename" value="tokay" />
319
+ <option name="id" value="tokay" />
320
+ <option name="manufacturer" value="Google" />
321
+ <option name="name" value="Pixel 9" />
322
+ <option name="screenDensity" value="420" />
323
+ <option name="screenX" value="1080" />
324
+ <option name="screenY" value="2424" />
325
+ </PersistentDeviceSelectionData>
326
+ </list>
327
+ </option>
328
+ </component>
329
+ </project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
4
+ <output url="file://$PROJECT_DIR$/out" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/ios.iml" filepath="$PROJECT_DIR$/.idea/ios.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
+ </component>
6
+ </project>
@@ -12,33 +12,33 @@ public struct Switch: View{
12
12
  self.onChange = onChange
13
13
  }
14
14
 
15
-
16
- public var body: some View {
17
- SwiftUI.Button(action: {
18
- withAnimation{
19
- value.toggle()
20
- onChange?(value)
21
- }
22
- }){
23
- HStack{
24
- HStack {
15
+ public var body: some View {
16
+ SwiftUI.Button(action: {
17
+ withAnimation{
18
+ onChange?(value)
19
+ value.toggle()
20
+ }
21
+ }){
22
+ HStack{
23
+ HStack {
24
+ }
25
+ .frame(width: 6, height: 6)
26
+ .background(value ? Colors.green03 : Colors.black07)
27
+ .clipShape(Circle())
28
+ .opacity(disabled ? 0.4 : 1)
25
29
  }
26
- .frame(width: 6, height: 6)
27
- .background(value ? Colors.pink03 : Colors.black07)
30
+ .frame(width: 14, height: 14)
31
+ .background(Colors.black01)
28
32
  .clipShape(Circle())
29
- .opacity(disabled ? 0.4 : 1)
33
+ .padding(.leading,5)
34
+ .padding(.trailing,5)
35
+
30
36
  }
31
- .frame(width: 14, height: 14)
32
- .background(Colors.black01)
33
- .clipShape(Circle())
34
- .padding(.leading,5)
35
- .padding(.trailing,5)
36
-
37
- }
38
- .disabled(disabled)
39
- .frame(width: 40, height: 24, alignment: value == true ? .trailing : .leading)
40
- .background(value ? Colors.pink03 : Colors.black07)
41
- .clipShape(Capsule())
42
- .opacity(disabled ? 0.4 : 1)
43
- }
37
+ .disabled(disabled)
38
+ .frame(width: 40, height: 24, alignment: value == true ? .trailing : .leading)
39
+ .background(value ? Colors.green03 : Colors.black05)
40
+ .clipShape(Capsule())
41
+ .opacity(disabled ? 0.4 : 1)
42
+ }
43
+
44
44
  }
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Mon Nov 25 09:05:11 ICT 2024
8
+ sdk.dir=/Users/dung.pham2/Library/Android/sdk
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/native-kits",
3
- "version": "0.110.1-rc.9",
3
+ "version": "0.110.1-sp.02",
4
4
  "private": false,
5
5
  "dependencies": {},
6
6
  "devDependencies": {},