@momo-kits/native-kits 0.157.1-skill.3 → 0.157.1-skill.6-debug

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 (222) hide show
  1. package/.claude/skills/momo-native-kits-skills/README.md +52 -0
  2. package/.claude/skills/momo-native-kits-skills/SKILL.md +32 -0
  3. package/.claude/skills/momo-native-kits-skills/data-display/SKILL.md +42 -0
  4. package/.claude/skills/momo-native-kits-skills/feedback/SKILL.md +43 -0
  5. package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/feedback}/references/popup.md +3 -10
  6. package/.claude/skills/momo-native-kits-skills/form-controls/SKILL.md +42 -0
  7. package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/form-controls}/references/button.md +2 -3
  8. package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/form-controls}/references/input.md +3 -7
  9. package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/form-controls}/references/radio.md +9 -9
  10. package/.claude/skills/momo-native-kits-skills/layout/SKILL.md +39 -0
  11. package/.claude/skills/momo-native-kits-skills/navigation/SKILL.md +38 -0
  12. package/.claude/skills/momo-native-kits-skills/output/test-report.json +12 -0
  13. package/.claude/skills/momo-native-kits-skills/output/validation-result.json +108 -0
  14. package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills}/references/constants.md +81 -6
  15. package/.claude/skills/momo-native-kits-skills/references/design-guidelines.md +130 -0
  16. package/.claude/skills/momo-native-kits-skills/references/developer/android-compose.md +29 -0
  17. package/.claude/skills/momo-native-kits-skills/references/developer/code-convention.md +118 -0
  18. package/.claude/skills/momo-native-kits-skills/references/developer/compose-multiplatform.md +29 -0
  19. package/.claude/skills/momo-native-kits-skills/scripts/logger.js +63 -0
  20. package/.claude/skills/momo-native-kits-skills/scripts/rules/badge.js +32 -0
  21. package/.claude/skills/momo-native-kits-skills/scripts/rules/bottomtab.js +19 -0
  22. package/.claude/skills/momo-native-kits-skills/scripts/rules/button.js +32 -0
  23. package/.claude/skills/momo-native-kits-skills/scripts/rules/card.js +32 -0
  24. package/.claude/skills/momo-native-kits-skills/scripts/rules/checkbox.js +32 -0
  25. package/.claude/skills/momo-native-kits-skills/scripts/rules/chip.js +59 -0
  26. package/.claude/skills/momo-native-kits-skills/scripts/rules/divider.js +19 -0
  27. package/.claude/skills/momo-native-kits-skills/scripts/rules/global.js +61 -0
  28. package/.claude/skills/momo-native-kits-skills/scripts/rules/index.js +54 -0
  29. package/.claude/skills/momo-native-kits-skills/scripts/rules/input.js +32 -0
  30. package/.claude/skills/momo-native-kits-skills/scripts/rules/navigation.js +48 -0
  31. package/.claude/skills/momo-native-kits-skills/scripts/rules/popup.js +45 -0
  32. package/.claude/skills/momo-native-kits-skills/scripts/rules/radio.js +105 -0
  33. package/.claude/skills/momo-native-kits-skills/scripts/rules/skeleton.js +20 -0
  34. package/.claude/skills/momo-native-kits-skills/scripts/rules/snackbar.js +32 -0
  35. package/.claude/skills/momo-native-kits-skills/scripts/rules/state.js +21 -0
  36. package/.claude/skills/momo-native-kits-skills/scripts/rules/switch.js +45 -0
  37. package/.claude/skills/momo-native-kits-skills/scripts/rules/text.js +19 -0
  38. package/.claude/skills/momo-native-kits-skills/scripts/rules/tooltip.js +45 -0
  39. package/.claude/skills/momo-native-kits-skills/scripts/rules/trustbanner.js +22 -0
  40. package/.claude/skills/momo-native-kits-skills/scripts/test-on-device.sh +117 -0
  41. package/.claude/skills/momo-native-kits-skills/scripts/test-runner.js +167 -0
  42. package/.claude/skills/momo-native-kits-skills/scripts/validate-kits.js +131 -0
  43. package/.momo-agent.json +13 -0
  44. package/build.gradle.kts +11 -0
  45. package/compose/build.gradle.kts +180 -0
  46. package/compose/build.gradle.kts.backup +180 -0
  47. package/compose/compose.podspec +54 -0
  48. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +110 -0
  49. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  50. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  51. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  52. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  53. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  54. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  55. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  56. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  57. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  58. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  59. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  60. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  61. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  62. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +107 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +720 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +85 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +198 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +357 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +448 -0
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +255 -0
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +233 -0
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +590 -0
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +185 -0
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  123. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
  124. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  125. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +59 -0
  126. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
  127. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
  128. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
  129. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  130. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
  131. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +239 -0
  132. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +119 -0
  133. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +98 -0
  134. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +161 -0
  135. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +331 -0
  136. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +497 -0
  137. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
  138. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +243 -0
  139. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
  140. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
  141. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +279 -0
  142. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
  143. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
  144. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +32 -0
  145. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
  146. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
  147. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +42 -0
  148. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
  149. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
  150. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +15 -0
  151. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
  152. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +149 -0
  153. package/gradle/libs.versions.toml +57 -0
  154. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  155. package/gradle/wrapper/gradle-wrapper.properties +8 -0
  156. package/gradle.properties +26 -0
  157. package/gradlew +252 -0
  158. package/gradlew.bat +94 -0
  159. package/package.json +1 -1
  160. package/settings.gradle.kts +52 -0
  161. package/.claude/momo-native-kits-skill/SKILL.md +0 -51
  162. package/.claude/momo-native-kits-skill/evals/evals.json +0 -95
  163. package/.claude/momo-native-kits-skill/workspace/iteration-1/benchmark.json +0 -20
  164. package/.claude/momo-native-kits-skill/workspace/iteration-1/benchmark.md +0 -13
  165. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/eval_metadata.json +0 -6
  166. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/with_skill/outputs/ButtonExample.kt +0 -55
  167. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/without_skill/outputs/ButtonExample.kt +0 -45
  168. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/eval_metadata.json +0 -6
  169. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/with_skill/outputs/InputPhoneExample.kt +0 -40
  170. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/without_skill/outputs/InputPhoneExample.kt +0 -42
  171. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/eval_metadata.json +0 -6
  172. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/with_skill/outputs/BottomTabExample.kt +0 -236
  173. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/without_skill/outputs/BottomTabExample.kt +0 -152
  174. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/eval_metadata.json +0 -6
  175. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/with_skill/outputs/CheckBoxExample.kt +0 -49
  176. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/without_skill/outputs/CheckBoxExample.kt +0 -123
  177. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/eval_metadata.json +0 -6
  178. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/with_skill/outputs/DateTimePickerExample.kt +0 -318
  179. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/without_skill/outputs/DateTimePickerExample.kt +0 -330
  180. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-card/with_skill/outputs/CardExample.kt +0 -124
  181. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-card/without_skill/outputs/CardExample.kt +0 -71
  182. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-loginform/with_skill/outputs/LoginFormExample.kt +0 -134
  183. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-loginform/without_skill/outputs/LoginFormExample.kt +0 -199
  184. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-navcontainer/with_skill/outputs/NavigationContainerExample.kt +0 -224
  185. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-navcontainer/without_skill/outputs/NavigationContainerExample.kt +0 -225
  186. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-popup/with_skill/outputs/PopupExample.kt +0 -79
  187. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-popup/without_skill/outputs/PopupExample.kt +0 -169
  188. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/eval_metadata.json +0 -6
  189. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/with_skill/outputs/SetOptionsExample.kt +0 -255
  190. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/without_skill/outputs/SetOptionsExample.kt +0 -212
  191. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-skeleton/with_skill/outputs/SkeletonExample.kt +0 -199
  192. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-skeleton/without_skill/outputs/SkeletonExample.kt +0 -229
  193. package/.claude/momo-native-kits-skill/workspace/iteration-3/benchmark.json +0 -20
  194. package/.claude/momo-native-kits-skill/workspace/iteration-3/benchmark.md +0 -13
  195. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/eval_metadata.json +0 -22
  196. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/with_skill/outputs/PrimaryButtonExample.kt +0 -38
  197. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/with_skill/timing.json +0 -5
  198. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/without_skill/outputs/PrimaryButtonExample.kt +0 -83
  199. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/without_skill/timing.json +0 -5
  200. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/eval_metadata.json +0 -22
  201. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/with_skill/outputs/NavigationContainerExample.kt +0 -547
  202. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/with_skill/timing.json +0 -5
  203. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/without_skill/outputs/MoMoNavigationContainer.kt +0 -519
  204. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/without_skill/timing.json +0 -5
  205. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/eval_metadata.json +0 -27
  206. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/with_skill/outputs/SetOptionsExample.kt +0 -429
  207. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/with_skill/timing.json +0 -5
  208. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/without_skill/outputs/SetOptionsExample.kt +0 -353
  209. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/without_skill/timing.json +0 -5
  210. package/.claude/settings.local.json +0 -41
  211. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/data-display}/references/badge.md +0 -0
  212. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/data-display}/references/chip.md +0 -0
  213. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/data-display}/references/skeleton.md +0 -0
  214. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/data-display}/references/text.md +0 -0
  215. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/feedback}/references/snackbar.md +0 -0
  216. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/feedback}/references/tooltip.md +0 -0
  217. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/feedback}/references/trustbanner.md +0 -0
  218. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/form-controls}/references/checkbox.md +0 -0
  219. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/form-controls}/references/switch.md +0 -0
  220. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/layout}/references/card.md +0 -0
  221. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/layout}/references/divider.md +0 -0
  222. /package/.claude/{momo-native-kits-skill → skills/momo-native-kits-skills/navigation}/references/navigation.md +0 -0
package/gradlew.bat ADDED
@@ -0,0 +1,94 @@
1
+ @rem
2
+ @rem Copyright 2015 the original author or authors.
3
+ @rem
4
+ @rem Licensed under the Apache License, Version 2.0 (the "License");
5
+ @rem you may not use this file except in compliance with the License.
6
+ @rem You may obtain a copy of the License at
7
+ @rem
8
+ @rem https://www.apache.org/licenses/LICENSE-2.0
9
+ @rem
10
+ @rem Unless required by applicable law or agreed to in writing, software
11
+ @rem distributed under the License is distributed on an "AS IS" BASIS,
12
+ @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ @rem See the License for the specific language governing permissions and
14
+ @rem limitations under the License.
15
+ @rem
16
+ @rem SPDX-License-Identifier: Apache-2.0
17
+ @rem
18
+
19
+ @if "%DEBUG%"=="" @echo off
20
+ @rem ##########################################################################
21
+ @rem
22
+ @rem Gradle startup script for Windows
23
+ @rem
24
+ @rem ##########################################################################
25
+
26
+ @rem Set local scope for the variables with windows NT shell
27
+ if "%OS%"=="Windows_NT" setlocal
28
+
29
+ set DIRNAME=%~dp0
30
+ if "%DIRNAME%"=="" set DIRNAME=.
31
+ @rem This is normally unused
32
+ set APP_BASE_NAME=%~n0
33
+ set APP_HOME=%DIRNAME%
34
+
35
+ @rem Resolve any "." and ".." in APP_HOME to make it shorter.
36
+ for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
37
+
38
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
39
+ set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
40
+
41
+ @rem Find java.exe
42
+ if defined JAVA_HOME goto findJavaFromJavaHome
43
+
44
+ set JAVA_EXE=java.exe
45
+ %JAVA_EXE% -version >NUL 2>&1
46
+ if %ERRORLEVEL% equ 0 goto execute
47
+
48
+ echo. 1>&2
49
+ echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50
+ echo. 1>&2
51
+ echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52
+ echo location of your Java installation. 1>&2
53
+
54
+ goto fail
55
+
56
+ :findJavaFromJavaHome
57
+ set JAVA_HOME=%JAVA_HOME:"=%
58
+ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
59
+
60
+ if exist "%JAVA_EXE%" goto execute
61
+
62
+ echo. 1>&2
63
+ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64
+ echo. 1>&2
65
+ echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66
+ echo location of your Java installation. 1>&2
67
+
68
+ goto fail
69
+
70
+ :execute
71
+ @rem Setup the command line
72
+
73
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74
+
75
+
76
+ @rem Execute Gradle
77
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
78
+
79
+ :end
80
+ @rem End local scope for the variables with windows NT shell
81
+ if %ERRORLEVEL% equ 0 goto mainEnd
82
+
83
+ :fail
84
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
85
+ rem the _cmd.exe /c_ return code!
86
+ set EXIT_CODE=%ERRORLEVEL%
87
+ if %EXIT_CODE% equ 0 set EXIT_CODE=1
88
+ if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
89
+ exit /b %EXIT_CODE%
90
+
91
+ :mainEnd
92
+ if "%OS%"=="Windows_NT" endlocal
93
+
94
+ :omega
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@momo-kits/native-kits",
3
- "version": "0.157.1-skill.3",
3
+ "version": "0.157.1-skill.6-debug",
4
4
  "private": false,
5
5
  "dependencies": {},
6
6
  "devDependencies": {},
@@ -0,0 +1,52 @@
1
+ import org.gradle.kotlin.dsl.maven
2
+
3
+ rootProject.name = "momo-native-kits"
4
+ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
5
+
6
+ pluginManagement {
7
+ repositories {
8
+ google {
9
+ mavenContent {
10
+ includeGroupAndSubgroups("androidx")
11
+ includeGroupAndSubgroups("com.android")
12
+ includeGroupAndSubgroups("com.google")
13
+ }
14
+ }
15
+ mavenCentral()
16
+ gradlePluginPortal()
17
+ maven {
18
+ url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
19
+ credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
20
+ }
21
+ maven {
22
+ url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
23
+ isAllowInsecureProtocol = true
24
+ }
25
+ }
26
+ }
27
+
28
+ dependencyResolutionManagement {
29
+ repositories {
30
+ google {
31
+ mavenContent {
32
+ includeGroupAndSubgroups("androidx")
33
+ includeGroupAndSubgroups("com.android")
34
+ includeGroupAndSubgroups("com.google")
35
+ }
36
+ }
37
+ mavenCentral()
38
+ maven {
39
+ url = uri("https://gitlab.mservice.com.vn/api/v4/projects/5400/packages/maven")
40
+ credentials {username = "download_packages"; password = "gldt-bjDqLpU_sPcHDuXau2ws" }
41
+ }
42
+ maven {
43
+ url = uri("http://nexus.mservice.com.vn:8081/repository/maven-public/")
44
+ isAllowInsecureProtocol = true
45
+ }
46
+ }
47
+ }
48
+
49
+ include(":compose")
50
+
51
+ include(":sample:androidApp")
52
+ include(":sample:shared")
@@ -1,51 +0,0 @@
1
- ---
2
- name: momo-native-kits-skills
3
- description: |
4
- MoMo Native Kits UI Component Rendering - Generate correct, production-ready Kotlin/Compose code for MoMo UI Kit components.
5
-
6
- Use when:
7
- - User says "tạo button", "tạo nút bấm", "button component", "primary button"
8
- - User says "tạo input", "tạo ô nhập liệu", "text field", "form input", "nhập số điện thoại"
9
- - User says "tạo search", "ô tìm kiếm", "input search", "tìm kiếm"
10
- - User says "tạo checkbox", "ô tick", "checkbox"
11
- - User says "tạo radio", "nút chọn", "radio button"
12
- - User says "tạo switch", "nút gạt", "toggle", "bật/tắt"
13
- - User says "tạo chip", "chip", "label"
14
- - User says "tạo card", "thẻ", "khung"
15
- - User says "tạo divider", "đường kẻ", "phân cách", "line"
16
- - User says "tạo skeleton", "loading view"
17
- - User says "tạo badge", "thông báo", "nhãn", "nhãn hiệu"
18
- - User says "tạo popup", "thông báo", "alert", "xác nhận"
19
- - User says "tạo snackbar", "toast", "thông báo ngắn", "message"
20
- - User says "tạo tooltip", "gợi ý", "help", "hướng dẫn"
21
- - User says "tạo trustbanner", "bảo mật", "trust"
22
- - User says "tạo navigation", "điều hướng", "Bottom Tab", "BottomNavigation", "tab bar"
23
- - User says "NavigationContainer", "setOptions", "navigator.push", "pop", "present"
24
- - User says "Header", "tiêu đề", "app bar", "header type"
25
- - User says "Text", "Title", "typography", "font", "chữ"
26
- - User says "màu sắc", "colors", "Spacing", "Radius", "theme"
27
- ---
28
-
29
- # MoMo Native Kits UI Components
30
-
31
- ## Reference Files
32
-
33
- | File | Description |
34
- |------|-------------|
35
- | [button.md](references/button.md) | Button - nút bấm |
36
- | [input.md](references/input.md) | Input - các loại input |
37
- | [text.md](references/text.md) | Text, Title, Typography |
38
- | [checkbox.md](references/checkbox.md) | CheckBox - ô tick |
39
- | [radio.md](references/radio.md) | Radio - nút chọn |
40
- | [switch.md](references/switch.md) | Switch - nút gạt |
41
- | [chip.md](references/chip.md) | Chip - tag, label |
42
- | [card.md](references/card.md) | Card - thẻ, khung |
43
- | [divider.md](references/divider.md) | Divider - đường kẻ |
44
- | [skeleton.md](references/skeleton.md) | Skeleton - loading |
45
- | [badge.md](references/badge.md) | Badge, BadgeDot |
46
- | [trustbanner.md](references/trustbanner.md) | TrustBanner, Information |
47
- | [popup.md](references/popup.md) | PopupNotify, PopupPromotion |
48
- | [snackbar.md](references/snackbar.md) | SnackBar |
49
- | [tooltip.md](references/tooltip.md) | Tooltip |
50
- | [navigation.md](references/navigation.md) | Navigation, BottomTab, Header |
51
- | [constants.md](references/constants.md) | Colors, Radius, Spacing, Typography |
@@ -1,95 +0,0 @@
1
- {
2
- "skill_name": "momo-native-kits-skills",
3
- "evals": [
4
- {
5
- "id": 1,
6
- "prompt": "Show me how to create a primary button with text 'Đăng nhập' in MoMo Native Kits",
7
- "expected_output": "Kotlin code for Button component with ButtonType.PRIMARY, title='Đăng nhập', proper imports from vn.momo.kits.components",
8
- "files": []
9
- },
10
- {
11
- "id": 2,
12
- "prompt": "I need an input field for phone number with label 'Số điện thoại' and placeholder 'Nhập số điện thoại'",
13
- "expected_output": "Kotlin code for Input component with label, placeholder, and keyboard type for phone",
14
- "files": []
15
- },
16
- {
17
- "id": 3,
18
- "prompt": "How do I implement a bottom tab navigation with 4 tabs: Home, Wallet, History, Profile in MoMo app?",
19
- "expected_output": "Kotlin code for BottomTab with BottomTabItem list, proper navigation setup",
20
- "files": []
21
- },
22
- {
23
- "id": 4,
24
- "prompt": "Create a checkbox component for terms and conditions agreement",
25
- "expected_output": "Kotlin code for CheckBox with label 'Tôi đồng ý với điều khoản'",
26
- "files": []
27
- },
28
- {
29
- "id": 5,
30
- "prompt": "Show me how to use the DateTimePicker component for date selection",
31
- "expected_output": "Kotlin code for DateTimePicker with selectedDate, onDateSelected parameters",
32
- "files": []
33
- },
34
- {
35
- "id": 6,
36
- "prompt": "I need a search input field like the one in MoMo app",
37
- "expected_output": "Kotlin code for InputSearch component with placeholder 'Tìm kiếm...'",
38
- "files": []
39
- },
40
- {
41
- "id": 7,
42
- "prompt": "How to create a modal screen in MoMo Native Kits?",
43
- "expected_output": "Kotlin code for ModalScreen with onDismiss handler",
44
- "files": []
45
- },
46
- {
47
- "id": 8,
48
- "prompt": "Create a switch component for toggling dark mode",
49
- "expected_output": "Kotlin code for Switch component with checked state and onCheckedChange callback",
50
- "files": []
51
- },
52
- {
53
- "id": 9,
54
- "prompt": "How to use setOptions in MoMo navigation? Show me how to change header title dynamically",
55
- "expected_output": "Kotlin code showing setOptions in LaunchedEffect(Unit) with LocalNavigation.current",
56
- "files": []
57
- },
58
- {
59
- "id": 10,
60
- "prompt": "Create a login form with phone input and password input in MoMo Native Kits",
61
- "expected_output": "Kotlin code with InputPhoneNumber, Input (password), and Button components",
62
- "files": []
63
- },
64
- {
65
- "id": 11,
66
- "prompt": "How to implement NavigationContainer in MoMo app? Show me the correct pattern",
67
- "expected_output": "Kotlin code with single NavigationContainer, initialScreen, and NavigationOptions",
68
- "files": []
69
- },
70
- {
71
- "id": 12,
72
- "prompt": "Create a card component to display a list item with image and title",
73
- "expected_output": "Kotlin code for Card with Image and Title inside",
74
- "files": []
75
- },
76
- {
77
- "id": 13,
78
- "prompt": "Show me how to use Navigator to push and pop screens in MoMo",
79
- "expected_output": "Kotlin code showing navigator.push(), navigator.pop(), navigator.present()",
80
- "files": []
81
- },
82
- {
83
- "id": 14,
84
- "prompt": "Create a loading skeleton for a card component",
85
- "expected_output": "Kotlin code with Skeleton components showing loading state",
86
- "files": []
87
- },
88
- {
89
- "id": 15,
90
- "prompt": "How to show a popup notification for success message in MoMo?",
91
- "expected_output": "Kotlin code with PopupNotify and PopupNotifyProps",
92
- "files": []
93
- }
94
- ]
95
- }
@@ -1,20 +0,0 @@
1
- {
2
- "metadata": {
3
- "skill_name": "momo-native-kits-skills",
4
- "skill_path": "<path/to/skill>",
5
- "executor_model": "<model-name>",
6
- "analyzer_model": "<model-name>",
7
- "timestamp": "2026-03-16T07:03:41Z",
8
- "evals_run": [],
9
- "runs_per_configuration": 3
10
- },
11
- "runs": [],
12
- "run_summary": {
13
- "delta": {
14
- "pass_rate": "+0.00",
15
- "time_seconds": "+0.0",
16
- "tokens": "+0"
17
- }
18
- },
19
- "notes": []
20
- }
@@ -1,13 +0,0 @@
1
- # Skill Benchmark: momo-native-kits-skills
2
-
3
- **Model**: <model-name>
4
- **Date**: 2026-03-16T07:03:41Z
5
- **Evals**: (3 runs each per configuration)
6
-
7
- ## Summary
8
-
9
- | Metric | Config A | Config B | Delta |
10
- |--------|------------|---------------|-------|
11
- | Pass Rate | 0% ± 0% | 0% ± 0% | +0.00 |
12
- | Time | 0.0s ± 0.0s | 0.0s ± 0.0s | +0.0s |
13
- | Tokens | 0 ± 0 | 0 ± 0 | +0 |
@@ -1,6 +0,0 @@
1
- {
2
- "eval_id": 0,
3
- "eval_name": "button-primary",
4
- "prompt": "Show me how to create a primary button with text 'Đăng nhập' in MoMo Native Kits",
5
- "assertions": []
6
- }
@@ -1,55 +0,0 @@
1
- package com.example
2
-
3
- import androidx.compose.foundation.layout.fillMaxWidth
4
- import androidx.compose.foundation.layout.padding
5
- import androidx.compose.runtime.Composable
6
- import androidx.compose.ui.Modifier
7
- import androidx.compose.ui.unit.dp
8
- import vn.momo.kits.components.Button
9
- import vn.momo.kits.components.ButtonType
10
- import vn.momo.kits.components.Size
11
-
12
- /**
13
- * Example: Primary Button with text 'Đăng nhập'
14
- *
15
- * This demonstrates how to create a primary button in MoMo Native Kits
16
- * with the Vietnamese text "Đăng nhập" (Login).
17
- */
18
- @Composable
19
- fun LoginButtonExample() {
20
- Button(
21
- onClick = {
22
- // Handle login action
23
- },
24
- title = "Đăng nhập",
25
- type = ButtonType.PRIMARY,
26
- size = Size.LARGE,
27
- isFull = true,
28
- modifier = Modifier
29
- .fillMaxWidth()
30
- .padding(horizontal = 16.dp)
31
- )
32
- }
33
-
34
- /**
35
- * Alternative example: Primary button with additional customization
36
- */
37
- @Composable
38
- fun LoginButtonWithIconsExample() {
39
- Button(
40
- onClick = {
41
- // Handle login action
42
- },
43
- title = "Đăng nhập",
44
- type = ButtonType.PRIMARY,
45
- size = Size.LARGE,
46
- iconLeft = "user", // Optional: Add icon on the left
47
- iconRight = "arrow_right", // Optional: Add icon on the right
48
- loading = false, // Set to true when processing login
49
- isFull = true,
50
- useTintColor = true,
51
- modifier = Modifier
52
- .fillMaxWidth()
53
- .padding(horizontal = 16.dp)
54
- )
55
- }
@@ -1,45 +0,0 @@
1
- package com.momo.example
2
-
3
- import androidx.compose.foundation.layout.fillWidth
4
- import androidx.compose.foundation.layout.height
5
- import androidx.compose.foundation.shape.RoundedCornerShape
6
- import androidx.compose.material3.Button
7
- import androidx.compose.material3.ButtonDefaults
8
- import androidx.compose.material3.Text
9
- import androidx.compose.runtime.Composable
10
- import androidx.compose.ui.Modifier
11
- import androidx.compose.ui.graphics.Color
12
- import androidx.compose.ui.text.font.FontWeight
13
- import androidx.compose.ui.unit.dp
14
- import androidx.compose.ui.unit.sp
15
-
16
- /**
17
- * Primary button with Vietnamese text "Đăng nhập" (Login)
18
- */
19
- @Composable
20
- fun PrimaryLoginButton(
21
- onClick: () -> Unit,
22
- modifier: Modifier = Modifier
23
- ) {
24
- Button(
25
- onClick = onClick,
26
- modifier = modifier
27
- .fillWidth()
28
- .height(48.dp),
29
- shape = RoundedCornerShape(8.dp),
30
- colors = ButtonDefaults.buttonColors(
31
- containerColor = Color(0xFFAD0000), // MoMo's primary red color
32
- contentColor = Color.White
33
- ),
34
- elevation = ButtonDefaults.buttonElevation(
35
- defaultElevation = 2.dp,
36
- pressedElevation = 4.dp
37
- )
38
- ) {
39
- Text(
40
- text = "Đăng nhập",
41
- fontSize = 16.sp,
42
- fontWeight = FontWeight.SemiBold
43
- )
44
- }
45
- }
@@ -1,6 +0,0 @@
1
- {
2
- "eval_id": 1,
3
- "eval_name": "input-phone",
4
- "prompt": "I need an input field for phone number with label 'Số điện thoại' and placeholder 'Nhập số điện thoại'",
5
- "assertions": []
6
- }
@@ -1,40 +0,0 @@
1
- package com.example
2
-
3
- import androidx.compose.foundation.layout.Column
4
- import androidx.compose.foundation.layout.fillMaxWidth
5
- import androidx.compose.foundation.layout.padding
6
- import androidx.compose.foundation.text.KeyboardOptions
7
- import androidx.compose.runtime.Composable
8
- import androidx.compose.runtime.getValue
9
- import androidx.compose.runtime.mutableStateOf
10
- import androidx.compose.runtime.remember
11
- import androidx.compose.runtime.setValue
12
- import androidx.compose.ui.Modifier
13
- import androidx.compose.ui.text.input.KeyboardType
14
- import androidx.compose.ui.unit.dp
15
- import vn.momo.kits.components.Input
16
-
17
- @Composable
18
- fun InputPhoneExample() {
19
- var phoneNumber by remember { mutableStateOf("") }
20
-
21
- Column(
22
- modifier = Modifier
23
- .fillMaxWidth()
24
- .padding(16.dp)
25
- ) {
26
- Input(
27
- value = phoneNumber,
28
- onValueChange = { newValue ->
29
- // Filter to only allow digits
30
- phoneNumber = newValue.filter { it.isDigit() }
31
- },
32
- modifier = Modifier.fillMaxWidth(),
33
- inputSize = vn.momo.kits.components.InputSize.LARGE,
34
- label = "Số điện thoại",
35
- placeholder = "Nhập số điện thoại",
36
- keyboardType = KeyboardType.Phone,
37
- maxLength = 10
38
- )
39
- }
40
- }
@@ -1,42 +0,0 @@
1
- package com.example.input
2
-
3
- import androidx.compose.foundation.layout.Column
4
- import androidx.compose.foundation.layout.fillMaxWidth
5
- import androidx.compose.foundation.layout.padding
6
- import androidx.compose.foundation.text.KeyboardOptions
7
- import androidx.compose.material.OutlinedTextField
8
- import androidx.compose.material.Text
9
- import androidx.compose.runtime.Composable
10
- import androidx.compose.runtime.getValue
11
- import androidx.compose.runtime.mutableStateOf
12
- import androidx.compose.runtime.remember
13
- import androidx.compose.runtime.setValue
14
- import androidx.compose.ui.Modifier
15
- import androidx.compose.ui.text.input.KeyboardType
16
- import androidx.compose.ui.unit.dp
17
-
18
- @Composable
19
- fun InputPhoneExample() {
20
- var phoneNumber by remember { mutableStateOf("") }
21
-
22
- Column(
23
- modifier = Modifier
24
- .fillMaxWidth()
25
- .padding(16.dp)
26
- ) {
27
- OutlinedTextField(
28
- value = phoneNumber,
29
- onValueChange = { newValue ->
30
- // Filter to only allow numeric characters
31
- phoneNumber = newValue.filter { it.isDigit() }
32
- },
33
- label = { Text("Số điện thoại") },
34
- placeholder = { Text("Nhập số điện thoại") },
35
- keyboardOptions = KeyboardOptions(
36
- keyboardType = KeyboardType.Phone
37
- ),
38
- singleLine = true,
39
- modifier = Modifier.fillMaxWidth()
40
- )
41
- }
42
- }
@@ -1,6 +0,0 @@
1
- {
2
- "eval_id": 2,
3
- "eval_name": "bottom-tab",
4
- "prompt": "How do I implement a bottom tab navigation with 4 tabs: Home, Wallet, History, Profile in MoMo app?",
5
- "assertions": []
6
- }