@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
@@ -1,229 +0,0 @@
1
- package com.example.skeleton
2
-
3
- import androidx.compose.animation.core.FastOutSlowInEasing
4
- import androidx.compose.animation.core.RepeatMode
5
- import androidx.compose.animation.core.animateFloat
6
- import androidx.compose.animation.core.infiniteRepeatable
7
- import androidx.compose.animation.core.rememberInfiniteTransition
8
- import androidx.compose.animation.core.tween
9
- import androidx.compose.foundation.background
10
- import androidx.compose.foundation.layout.Arrangement
11
- import androidx.compose.foundation.layout.Box
12
- import androidx.compose.foundation.layout.Column
13
- import androidx.compose.foundation.layout.Row
14
- import androidx.compose.foundation.layout.Spacer
15
- import androidx.compose.foundation.layout.fillMaxWidth
16
- import androidx.compose.foundation.layout.height
17
- import androidx.compose.foundation.layout.padding
18
- import androidx.compose.foundation.layout.size
19
- import androidx.compose.foundation.layout.width
20
- import androidx.compose.foundation.shape.CircleShape
21
- import androidx.compose.foundation.shape.RoundedCornerShape
22
- import androidx.compose.material3.Card
23
- import androidx.compose.material3.CardDefaults
24
- import androidx.compose.runtime.Composable
25
- import androidx.compose.runtime.getValue
26
- import androidx.compose.ui.Alignment
27
- import androidx.compose.ui.Modifier
28
- import androidx.compose.ui.draw.clip
29
- import androidx.compose.ui.geometry.Offset
30
- import androidx.compose.ui.graphics.Brush
31
- import androidx.compose.ui.graphics.Color
32
- import androidx.compose.ui.unit.dp
33
-
34
- /**
35
- * A loading skeleton component that displays a shimmer effect
36
- * while content is loading.
37
- */
38
- @Composable
39
- fun ShimmerSkeleton(
40
- modifier: Modifier = Modifier,
41
- content: @Composable (Brush) -> Unit
42
- ) {
43
- val shimmerColors = listOf(
44
- Color.LightGray.copy(alpha = 0.6f),
45
- Color.LightGray.copy(alpha = 0.2f),
46
- Color.LightGray.copy(alpha = 0.6f)
47
- )
48
-
49
- val transition = rememberInfiniteTransition(label = "shimmer")
50
- val translateAnimation by transition.animateFloat(
51
- initialValue = 0f,
52
- targetValue = 1000f,
53
- animationSpec = infiniteRepeatable(
54
- animation = tween(
55
- durationMillis = 1200,
56
- easing = FastOutSlowInEasing
57
- ),
58
- repeatMode = RepeatMode.Restart
59
- ),
60
- label = "shimmer_translate"
61
- )
62
-
63
- val brush = Brush.linearGradient(
64
- colors = shimmerColors,
65
- start = Offset(translateAnimation - 500f, translateAnimation - 500f),
66
- end = Offset(translateAnimation, translateAnimation)
67
- )
68
-
69
- content(brush)
70
- }
71
-
72
- /**
73
- * A card skeleton that displays a shimmer effect to indicate loading state.
74
- * This mimics a typical card with an image placeholder, title, subtitle, and action button.
75
- */
76
- @Composable
77
- fun CardSkeleton(
78
- modifier: Modifier = Modifier
79
- ) {
80
- ShimmerSkeleton(modifier = modifier) { brush ->
81
- Card(
82
- modifier = modifier
83
- .fillMaxWidth()
84
- .padding(16.dp),
85
- elevation = CardDefaults.cardElevation(defaultElevation = 4.dp),
86
- shape = RoundedCornerShape(12.dp)
87
- ) {
88
- Column(
89
- modifier = Modifier.padding(16.dp)
90
- ) {
91
- // Image placeholder
92
- Box(
93
- modifier = Modifier
94
- .fillMaxWidth()
95
- .height(160.dp)
96
- .clip(RoundedCornerShape(8.dp))
97
- .background(brush)
98
- )
99
-
100
- Spacer(modifier = Modifier.height(16.dp))
101
-
102
- // Title placeholder (2 lines)
103
- Box(
104
- modifier = Modifier
105
- .fillMaxWidth(0.7f)
106
- .height(20.dp)
107
- .clip(RoundedCornerShape(4.dp))
108
- .background(brush)
109
- )
110
-
111
- Spacer(modifier = Modifier.height(8.dp))
112
-
113
- Box(
114
- modifier = Modifier
115
- .fillMaxWidth(0.5f)
116
- .height(20.dp)
117
- .clip(RoundedCornerShape(4.dp))
118
- .background(brush)
119
- )
120
-
121
- Spacer(modifier = Modifier.height(12.dp))
122
-
123
- // Description placeholder (3 lines)
124
- repeat(3) { index ->
125
- Box(
126
- modifier = Modifier
127
- .fillMaxWidth(if (index == 2) 0.6f else 1f)
128
- .height(14.dp)
129
- .clip(RoundedCornerShape(4.dp))
130
- .background(brush)
131
- )
132
- if (index < 2) {
133
- Spacer(modifier = Modifier.height(6.dp))
134
- }
135
- }
136
-
137
- Spacer(modifier = Modifier.height(16.dp))
138
-
139
- // Action button and avatar row
140
- Row(
141
- modifier = Modifier.fillMaxWidth(),
142
- horizontalArrangement = Arrangement.SpaceBetween,
143
- verticalAlignment = Alignment.CenterVertically
144
- ) {
145
- // Action button placeholder
146
- Box(
147
- modifier = Modifier
148
- .width(100.dp)
149
- .height(36.dp)
150
- .clip(RoundedCornerShape(18.dp))
151
- .background(brush)
152
- )
153
-
154
- // Avatar placeholder
155
- Box(
156
- modifier = Modifier
157
- .size(40.dp)
158
- .clip(CircleShape)
159
- .background(brush)
160
- )
161
- }
162
- }
163
- }
164
- }
165
- }
166
-
167
- /**
168
- * A simpler card skeleton with just title and description.
169
- */
170
- @Composable
171
- fun SimpleCardSkeleton(
172
- modifier: Modifier = Modifier
173
- ) {
174
- ShimmerSkeleton(modifier = modifier) { brush ->
175
- Card(
176
- modifier = modifier
177
- .fillMaxWidth()
178
- .padding(16.dp),
179
- elevation = CardDefaults.cardElevation(defaultElevation = 2.dp),
180
- shape = RoundedCornerShape(8.dp)
181
- ) {
182
- Column(
183
- modifier = Modifier.padding(12.dp)
184
- ) {
185
- // Title
186
- Box(
187
- modifier = Modifier
188
- .fillMaxWidth(0.6f)
189
- .height(18.dp)
190
- .clip(RoundedCornerShape(4.dp))
191
- .background(brush)
192
- )
193
-
194
- Spacer(modifier = Modifier.height(8.dp))
195
-
196
- // Description
197
- Box(
198
- modifier = Modifier
199
- .fillMaxWidth(0.9f)
200
- .height(14.dp)
201
- .clip(RoundedCornerShape(4.dp))
202
- .background(brush)
203
- )
204
-
205
- Spacer(modifier = Modifier.height(4.dp))
206
-
207
- Box(
208
- modifier = Modifier
209
- .fillMaxWidth(0.7f)
210
- .height(14.dp)
211
- .clip(RoundedCornerShape(4.dp))
212
- .background(brush)
213
- )
214
- }
215
- }
216
- }
217
- }
218
-
219
- /**
220
- * Preview Composable for CardSkeleton
221
- */
222
- @Composable
223
- fun CardSkeletonPreview() {
224
- Column {
225
- CardSkeleton()
226
- Spacer(modifier = Modifier.height(16.dp))
227
- SimpleCardSkeleton()
228
- }
229
- }
@@ -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-16T09:27:06Z",
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-16T09:27:06Z
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,22 +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
- {
7
- "text": "Uses Button from vn.momo.kits.components",
8
- "passed": true,
9
- "evidence": "Import vn.momo.kits.components.Button"
10
- },
11
- {
12
- "text": "Uses ButtonType.PRIMARY",
13
- "passed": true,
14
- "evidence": "type = ButtonType.PRIMARY"
15
- },
16
- {
17
- "text": "Title is 'Đăng nhập'",
18
- "passed": true,
19
- "evidence": "title = 'Đăng nhập'"
20
- }
21
- ]
22
- }
@@ -1,38 +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
- * Primary Button with text 'Đăng nhập'
14
- *
15
- * This example demonstrates how to create a primary button in MoMo Native Kits
16
- * with the Vietnamese text "Đăng nhập" (Login).
17
- *
18
- * Key components used:
19
- * - Button from vn.momo.kits.components
20
- * - ButtonType.PRIMARY for the primary action style
21
- * - Size.LARGE for appropriate touch target size
22
- */
23
- @Composable
24
- fun PrimaryButtonExample() {
25
- Button(
26
- onClick = {
27
- // Handle login action
28
- // Example: Perform authentication
29
- },
30
- title = "Đăng nhập",
31
- type = ButtonType.PRIMARY,
32
- size = Size.LARGE,
33
- isFull = true,
34
- modifier = Modifier
35
- .fillMaxWidth()
36
- .padding(horizontal = 16.dp)
37
- )
38
- }
@@ -1,5 +0,0 @@
1
- {
2
- "total_tokens": 18678,
3
- "duration_ms": 758970,
4
- "total_duration_seconds": 759.0
5
- }
@@ -1,83 +0,0 @@
1
- package vn.momo.kits.example
2
-
3
- import androidx.compose.foundation.layout.fillMaxWidth
4
- import androidx.compose.foundation.layout.padding
5
- import androidx.compose.material3.MaterialTheme
6
- import androidx.compose.material3.Surface
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.unit.dp
14
- import vn.momo.kits.components.Button
15
- import vn.momo.kits.components.ButtonType
16
- import vn.momo.kits.components.Size
17
- import vn.momo.kits.const.AppTheme
18
-
19
- /**
20
- * Example demonstrating how to create a primary button with Vietnamese text 'Đăng nhập'
21
- * (meaning "Login" in Vietnamese) using MoMo Native Kits.
22
- *
23
- * The Button component supports:
24
- * - Multiple button types: PRIMARY, SECONDARY, TONAL, OUTLINE, DANGER, TEXT, DISABLED
25
- * - Multiple sizes: LARGE, MEDIUM, SMALL
26
- * - Optional icons on left or right
27
- * - Loading state
28
- * - Full-width or auto-width variants
29
- */
30
- @Composable
31
- fun PrimaryButtonLoginExample() {
32
- // Track click state for demonstration
33
- var clickCount by remember { mutableStateOf(0) }
34
-
35
- // Primary button with Vietnamese text 'Đăng nhập' (Login)
36
- // Uses default ButtonType.PRIMARY which has the primary color background
37
- Button(
38
- onClick = { clickCount++ },
39
- title = "Đăng nhập", // Vietnamese for "Login"
40
- type = ButtonType.PRIMARY,
41
- size = Size.LARGE,
42
- isFull = true,
43
- modifier = Modifier
44
- .fillMaxWidth()
45
- .padding(horizontal = 16.dp)
46
- )
47
- }
48
-
49
- /**
50
- * Alternative example showing full usage with all parameters
51
- */
52
- @Composable
53
- fun PrimaryButtonFullExample() {
54
- var isLoading by remember { mutableStateOf(false) }
55
-
56
- Button(
57
- onClick = { /* Handle login action */ },
58
- title = "Đăng nhập",
59
- type = ButtonType.PRIMARY, // Primary button style (colored background)
60
- size = Size.LARGE, // Large size (48dp height)
61
- iconLeft = "ic_login", // Optional left icon
62
- iconRight = "", // No right icon
63
- loading = isLoading, // Loading state
64
- useTintColor = true, // Apply text color to icon
65
- isFull = true, // Full width button
66
- modifier = Modifier
67
- .fillMaxWidth()
68
- .padding(16.dp)
69
- )
70
- }
71
-
72
- /**
73
- * Minimal example - only required parameters
74
- */
75
- @Composable
76
- fun PrimaryButtonMinimalExample() {
77
- // Using only the required parameters
78
- // type defaults to ButtonType.PRIMARY
79
- Button(
80
- onClick = { /* Handle click */ },
81
- title = "Đăng nhập"
82
- )
83
- }
@@ -1,5 +0,0 @@
1
- {
2
- "total_tokens": 21228,
3
- "duration_ms": 60387,
4
- "total_duration_seconds": 60.4
5
- }
@@ -1,22 +0,0 @@
1
- {
2
- "eval_id": 2,
3
- "eval_name": "navigation-container",
4
- "prompt": "How to implement NavigationContainer in MoMo app? Show me the correct pattern",
5
- "assertions": [
6
- {
7
- "text": "Uses NavigationContainer from vn.momo.kits.navigation",
8
- "passed": true,
9
- "evidence": "import vn.momo.kits.navigation.NavigationContainer"
10
- },
11
- {
12
- "text": "Uses initialScreen parameter",
13
- "passed": true,
14
- "evidence": "initialScreen = { ... }"
15
- },
16
- {
17
- "text": "Uses NavigationOptions",
18
- "passed": true,
19
- "evidence": "options = NavigationOptions(...)"
20
- }
21
- ]
22
- }