@momo-kits/native-kits 0.157.1-skill.1 → 0.157.1-skill.3-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 (220) hide show
  1. package/.claude/momo-native-kits-skill/SKILL.md +51 -0
  2. package/.claude/momo-native-kits-skill/evals/evals.json +95 -0
  3. package/.claude/momo-native-kits-skill/references/badge.md +52 -0
  4. package/.claude/momo-native-kits-skill/references/button.md +182 -0
  5. package/.claude/momo-native-kits-skill/references/card.md +48 -0
  6. package/.claude/momo-native-kits-skill/references/checkbox.md +51 -0
  7. package/.claude/momo-native-kits-skill/references/chip.md +48 -0
  8. package/.claude/momo-native-kits-skill/references/constants.md +260 -0
  9. package/.claude/momo-native-kits-skill/references/divider.md +26 -0
  10. package/.claude/momo-native-kits-skill/references/input.md +408 -0
  11. package/.claude/momo-native-kits-skill/references/navigation.md +475 -0
  12. package/.claude/momo-native-kits-skill/references/popup.md +97 -0
  13. package/.claude/momo-native-kits-skill/references/radio.md +60 -0
  14. package/.claude/momo-native-kits-skill/references/skeleton.md +40 -0
  15. package/.claude/momo-native-kits-skill/references/snackbar.md +54 -0
  16. package/.claude/momo-native-kits-skill/references/switch.md +62 -0
  17. package/.claude/momo-native-kits-skill/references/text.md +195 -0
  18. package/.claude/momo-native-kits-skill/references/tooltip.md +34 -0
  19. package/.claude/momo-native-kits-skill/references/trustbanner.md +61 -0
  20. package/.claude/momo-native-kits-skill/workspace/iteration-1/benchmark.json +20 -0
  21. package/.claude/momo-native-kits-skill/workspace/iteration-1/benchmark.md +13 -0
  22. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/eval_metadata.json +6 -0
  23. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/with_skill/outputs/ButtonExample.kt +55 -0
  24. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-0-button/without_skill/outputs/ButtonExample.kt +45 -0
  25. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/eval_metadata.json +6 -0
  26. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/with_skill/outputs/InputPhoneExample.kt +40 -0
  27. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-1-input/without_skill/outputs/InputPhoneExample.kt +42 -0
  28. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/eval_metadata.json +6 -0
  29. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/with_skill/outputs/BottomTabExample.kt +236 -0
  30. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-2-bottomtab/without_skill/outputs/BottomTabExample.kt +152 -0
  31. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/eval_metadata.json +6 -0
  32. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/with_skill/outputs/CheckBoxExample.kt +49 -0
  33. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-3-checkbox/without_skill/outputs/CheckBoxExample.kt +123 -0
  34. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/eval_metadata.json +6 -0
  35. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/with_skill/outputs/DateTimePickerExample.kt +318 -0
  36. package/.claude/momo-native-kits-skill/workspace/iteration-1/eval-4-datetimepicker/without_skill/outputs/DateTimePickerExample.kt +330 -0
  37. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-card/with_skill/outputs/CardExample.kt +124 -0
  38. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-card/without_skill/outputs/CardExample.kt +71 -0
  39. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-loginform/with_skill/outputs/LoginFormExample.kt +134 -0
  40. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-loginform/without_skill/outputs/LoginFormExample.kt +199 -0
  41. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-navcontainer/with_skill/outputs/NavigationContainerExample.kt +224 -0
  42. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-navcontainer/without_skill/outputs/NavigationContainerExample.kt +225 -0
  43. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-popup/with_skill/outputs/PopupExample.kt +79 -0
  44. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-popup/without_skill/outputs/PopupExample.kt +169 -0
  45. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/eval_metadata.json +6 -0
  46. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/with_skill/outputs/SetOptionsExample.kt +255 -0
  47. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-setoptions/without_skill/outputs/SetOptionsExample.kt +212 -0
  48. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-skeleton/with_skill/outputs/SkeletonExample.kt +199 -0
  49. package/.claude/momo-native-kits-skill/workspace/iteration-2/eval-skeleton/without_skill/outputs/SkeletonExample.kt +229 -0
  50. package/.claude/momo-native-kits-skill/workspace/iteration-3/benchmark.json +20 -0
  51. package/.claude/momo-native-kits-skill/workspace/iteration-3/benchmark.md +13 -0
  52. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/eval_metadata.json +22 -0
  53. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/with_skill/outputs/PrimaryButtonExample.kt +38 -0
  54. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/with_skill/timing.json +5 -0
  55. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/without_skill/outputs/PrimaryButtonExample.kt +83 -0
  56. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-button/without_skill/timing.json +5 -0
  57. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/eval_metadata.json +22 -0
  58. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/with_skill/outputs/NavigationContainerExample.kt +547 -0
  59. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/with_skill/timing.json +5 -0
  60. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/without_skill/outputs/MoMoNavigationContainer.kt +519 -0
  61. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-navcontainer/without_skill/timing.json +5 -0
  62. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/eval_metadata.json +27 -0
  63. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/with_skill/outputs/SetOptionsExample.kt +429 -0
  64. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/with_skill/timing.json +5 -0
  65. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/without_skill/outputs/SetOptionsExample.kt +353 -0
  66. package/.claude/momo-native-kits-skill/workspace/iteration-3/eval-setoptions/without_skill/timing.json +5 -0
  67. package/.claude/settings.local.json +35 -7
  68. package/build.gradle.kts +11 -0
  69. package/compose/build.gradle.kts +180 -0
  70. package/compose/build.gradle.kts.backup +180 -0
  71. package/compose/compose.podspec +54 -0
  72. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +110 -0
  73. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  74. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  75. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  76. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  77. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  78. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  79. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  80. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  81. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  82. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  83. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  84. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  85. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  86. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +107 -0
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +720 -0
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +85 -0
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +198 -0
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +357 -0
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +448 -0
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +255 -0
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +233 -0
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
  123. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
  124. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
  125. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
  126. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
  127. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
  128. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
  129. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
  130. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
  131. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
  132. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
  133. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
  134. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
  135. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +590 -0
  136. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
  137. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
  138. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
  139. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
  140. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
  141. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
  142. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  143. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  144. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +185 -0
  145. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
  146. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  147. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
  148. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  149. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +59 -0
  150. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
  151. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
  152. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
  153. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  154. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
  155. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +239 -0
  156. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +119 -0
  157. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +98 -0
  158. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +161 -0
  159. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +331 -0
  160. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +497 -0
  161. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
  162. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +243 -0
  163. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
  164. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
  165. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +279 -0
  166. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
  167. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
  168. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +32 -0
  169. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
  170. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
  171. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +42 -0
  172. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
  173. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
  174. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +15 -0
  175. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
  176. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +149 -0
  177. package/gradle/libs.versions.toml +57 -0
  178. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  179. package/gradle/wrapper/gradle-wrapper.properties +8 -0
  180. package/gradle.properties +26 -0
  181. package/gradlew +252 -0
  182. package/gradlew.bat +94 -0
  183. package/ios/Input/Input.swift +112 -50
  184. package/local.properties +8 -0
  185. package/package.json +1 -1
  186. package/settings.gradle.kts +52 -0
  187. package/.claude/momo-native-kits/SKILL.md +0 -87
  188. package/.claude/momo-native-kits/references/Badge.md +0 -39
  189. package/.claude/momo-native-kits/references/BadgeDot.md +0 -37
  190. package/.claude/momo-native-kits/references/BottomSheet.md +0 -51
  191. package/.claude/momo-native-kits/references/BottomTab.md +0 -65
  192. package/.claude/momo-native-kits/references/Button.md +0 -197
  193. package/.claude/momo-native-kits/references/CheckBox.md +0 -51
  194. package/.claude/momo-native-kits/references/Chip.md +0 -47
  195. package/.claude/momo-native-kits/references/Divider.md +0 -29
  196. package/.claude/momo-native-kits/references/HeaderTitle.md +0 -45
  197. package/.claude/momo-native-kits/references/HeaderType.md +0 -47
  198. package/.claude/momo-native-kits/references/Icon.md +0 -32
  199. package/.claude/momo-native-kits/references/Image.md +0 -38
  200. package/.claude/momo-native-kits/references/Information.md +0 -36
  201. package/.claude/momo-native-kits/references/Input.md +0 -334
  202. package/.claude/momo-native-kits/references/InputDropDown.md +0 -47
  203. package/.claude/momo-native-kits/references/InputMoney.md +0 -241
  204. package/.claude/momo-native-kits/references/InputOTP.md +0 -52
  205. package/.claude/momo-native-kits/references/InputPhoneNumber.md +0 -175
  206. package/.claude/momo-native-kits/references/InputSearch.md +0 -57
  207. package/.claude/momo-native-kits/references/InputTextArea.md +0 -46
  208. package/.claude/momo-native-kits/references/NavigationContainer.md +0 -51
  209. package/.claude/momo-native-kits/references/Navigator.md +0 -287
  210. package/.claude/momo-native-kits/references/PaginationDot.md +0 -28
  211. package/.claude/momo-native-kits/references/PaginationNumber.md +0 -28
  212. package/.claude/momo-native-kits/references/PopupNotify.md +0 -47
  213. package/.claude/momo-native-kits/references/Radio.md +0 -44
  214. package/.claude/momo-native-kits/references/Skeleton.md +0 -32
  215. package/.claude/momo-native-kits/references/Switch.md +0 -36
  216. package/.claude/momo-native-kits/references/Tag.md +0 -40
  217. package/.claude/momo-native-kits/references/Text.md +0 -37
  218. package/.claude/momo-native-kits/references/Title.md +0 -43
  219. package/.claude/momo-native-kits/references/Tooltip.md +0 -30
  220. package/building-skill-for-claude.md +0 -1190
@@ -1,197 +0,0 @@
1
- ---
2
- name: button
3
- description: Button component for user actions. Use when user needs to trigger an action (confirm, cancel, submit, delete).
4
- ---
5
-
6
- # Button
7
-
8
- Button component for user actions with various styles and states.
9
-
10
- ## API
11
-
12
- ```kotlin
13
- @Composable
14
- fun Button(
15
- onClick: () -> Unit,
16
- type: ButtonType = ButtonType.PRIMARY,
17
- size: Size = Size.LARGE,
18
- iconRight: String = "",
19
- iconLeft: String = "",
20
- title: String = "Button",
21
- loading: Boolean = false,
22
- useTintColor: Boolean = true,
23
- isFull: Boolean = true,
24
- modifier: Modifier = Modifier,
25
- )
26
- ```
27
-
28
- ## Props
29
-
30
- | Prop | Type | Default | Description |
31
- |------|------|---------|-------------|
32
- | `onClick` | `() -> Unit` | **Required** | Callback when button is clicked |
33
- | `type` | `ButtonType` | `PRIMARY` | Button style variant |
34
- | `size` | `Size` | `LARGE` | Button size (height) |
35
- | `iconRight` | `String` | `""` | Icon name to show on right side |
36
- | `iconLeft` | `String` | `""` | Icon name to show on left side |
37
- | `title` | `String` | `"Button"` | Button text |
38
- | `loading` | `Boolean` | `false` | Show loading spinner |
39
- | `useTintColor` | `Boolean` | `true` | Apply tint color to icon |
40
- | `isFull` | `Boolean` | `true` | Full width button |
41
- | `modifier` | `Modifier` | `Modifier` | Compose modifier |
42
-
43
- ## ButtonType
44
-
45
- | Type | Description | Background | Border |
46
- |------|-------------|------------|--------|
47
- | `PRIMARY` | Main action button | Primary color | None |
48
- | `SECONDARY` | Secondary action | Surface color | 1dp border |
49
- | `TONAL` | Tonal background | Tonal color | None |
50
- | `OUTLINE` | Border only | Surface color | 1dp primary |
51
- | `DANGER` | Warning/Delete | Error color | None |
52
- | `TEXT` | Text only | Transparent | None |
53
- | `DISABLED` | Disabled state | Disable color | None |
54
-
55
- ## Size
56
-
57
- | Size | Height | Text Style | Icon Size |
58
- |------|--------|------------|-----------|
59
- | `LARGE` | 48dp | actionDefaultBold | 24dp |
60
- | `MEDIUM` | 36dp | actionSBold | 16dp |
61
- | `SMALL` | 28dp | actionXsBold | 16dp |
62
-
63
- ## States
64
-
65
- - **Default**: Normal button state
66
- - **Pressed**: 2dp padding shrink + 0.5f alpha animation
67
- - **Loading**: 0.75f alpha, spinner replaces icon or title
68
- - **Disabled**: `type = ButtonType.DISABLED` or `type = ButtonType.TEXT`
69
-
70
- ## Examples
71
-
72
- ### Basic Usage
73
-
74
- ```kotlin
75
- // Primary button (default)
76
- Button(onClick = { /* action */ }, title = "Confirm")
77
-
78
- // Secondary button
79
- Button(onClick = { /* action */ }, title = "Cancel", type = ButtonType.SECONDARY)
80
-
81
- // Danger button
82
- Button(onClick = { /* action */ }, title = "Delete", type = ButtonType.DANGER)
83
- ```
84
-
85
- ### With Icons
86
-
87
- ```kotlin
88
- // Icon on left
89
- Button(
90
- onClick = { },
91
- title = "Confirm",
92
- iconLeft = "check"
93
- )
94
-
95
- // Icon on right
96
- Button(
97
- onClick = { },
98
- title = "Next",
99
- iconRight = "arrow_forward"
100
- )
101
-
102
- // Both icons
103
- Button(
104
- onClick = { },
105
- title = "Send",
106
- iconLeft = "send",
107
- iconRight = "chevron_right"
108
- )
109
- ```
110
-
111
- ### Loading State
112
-
113
- ```kotlin
114
- // Loading with spinner
115
- Button(
116
- onClick = { },
117
- title = "Loading",
118
- loading = true
119
- )
120
-
121
- // Loading with icon (spinner replaces icon)
122
- Button(
123
- onClick = { },
124
- title = "Submit",
125
- iconLeft = "save",
126
- loading = true
127
- )
128
- ```
129
-
130
- ### Sizes
131
-
132
- ```kotlin
133
- // Large button (default - 48dp)
134
- Button(onClick = { }, title = "Large", size = Size.LARGE)
135
-
136
- // Medium button (36dp)
137
- Button(onClick = { }, title = "Medium", size = Size.MEDIUM)
138
-
139
- // Small button (28dp)
140
- Button(onClick = { }, title = "Small", size = Size.SMALL)
141
- ```
142
-
143
- ### Full Width vs Auto Width
144
-
145
- ```kotlin
146
- // Full width (default)
147
- Button(onClick = { }, title = "Full Width", isFull = true)
148
-
149
- // Auto width
150
- Button(onClick = { }, title = "Auto", isFull = false)
151
- ```
152
-
153
- ### Outline Button
154
-
155
- ```kotlin
156
- Button(
157
- onClick = { },
158
- title = "Outline",
159
- type = ButtonType.OUTLINE
160
- )
161
- ```
162
-
163
- ### Text Button
164
-
165
- ```kotlin
166
- Button(
167
- onClick = { },
168
- title = "Text Only",
169
- type = ButtonType.TEXT
170
- )
171
- ```
172
-
173
- ### Disabled Button
174
-
175
- ```kotlin
176
- // Using DISABLED type
177
- Button(
178
- onClick = { },
179
- title = "Disabled",
180
- type = ButtonType.DISABLED
181
- )
182
-
183
- // Or just don't provide onClick handler
184
- Button(
185
- onClick = { }, // Empty or no action
186
- title = "No Action"
187
- )
188
- ```
189
-
190
- ## Icon Names
191
-
192
- Common icons available:
193
- - `check`, `close`, `arrow_back`, `arrow_forward`, `chevron_right`, `chevron_left`
194
- - `add`, `remove`, `delete`, `edit`, `save`, `send`
195
- - `home`, `settings`, `search`, `menu`, `more_vert`
196
-
197
- Use icon names from MoMo's icon library.
@@ -1,51 +0,0 @@
1
- ---
2
- name: checkbox
3
- description: Checkbox component for boolean selection. Use when user needs to select one or more options, agree to terms, or toggle boolean values.
4
- ---
5
-
6
- # CheckBox
7
-
8
- Checkbox component for boolean selection.
9
-
10
- ## Keywords
11
-
12
- checkbox, tick, tích chọn, check
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun CheckBox(
19
- checked: Boolean = false,
20
- onCheckedChange: (Boolean) -> Unit,
21
- title: String = "",
22
- indeterminate: Boolean = false,
23
- disabled: Boolean = false,
24
- )
25
- ```
26
-
27
- ## States
28
-
29
- - Unchecked
30
- - Checked
31
- - Indeterminate
32
- - Disabled
33
-
34
- ## Examples
35
-
36
- ```kotlin
37
- var isChecked by remember { mutableStateOf(false) }
38
-
39
- CheckBox(
40
- checked = isChecked,
41
- onCheckedChange = { isChecked = it },
42
- title = "I agree"
43
- )
44
-
45
- // Indeterminate
46
- CheckBox(
47
- checked = isChecked,
48
- indeterminate = true,
49
- onCheckedChange = { isChecked = it }
50
- )
51
- ```
@@ -1,47 +0,0 @@
1
- ---
2
- name: chip
3
- description: Selectable chip component. Use when displaying filter options, tags, or selectable categories.
4
- ---
5
-
6
- # Chip
7
-
8
- Selectable chip component.
9
-
10
- ## Keywords
11
-
12
- chip, filter, selectable, tag chọn
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun Chip(
19
- label: String? = "Label",
20
- iconLeft: String? = null,
21
- iconRight: String? = null,
22
- selected: Boolean = false,
23
- onClick: () -> Unit = {},
24
- size: ChipSize = ChipSize.LARGE,
25
- )
26
-
27
- enum class ChipSize { SMALL, LARGE }
28
- ```
29
-
30
- ## Features
31
-
32
- - Selected state with border
33
- - Icon support (left/right)
34
- - Two sizes
35
-
36
- ## Examples
37
-
38
- ```kotlin
39
- // Unselected chip
40
- Chip(label = "Tag", onClick = { })
41
-
42
- // Selected chip
43
- Chip(label = "Selected", selected = true, onClick = { })
44
-
45
- // Chip with icon
46
- Chip(label = "Filter", iconLeft = "filter", selected = true, onClick = { })
47
- ```
@@ -1,29 +0,0 @@
1
- ---
2
- name: divider
3
- description: Divider component for separating content. Use when needing to visually separate sections in a layout.
4
- ---
5
-
6
- # Divider
7
-
8
- Divider component for separating content.
9
-
10
- ## Keywords
11
-
12
- divider, line, đường kẻ, separator
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun Divider()
19
- ```
20
-
21
- ## Examples
22
-
23
- ```kotlin
24
- Column {
25
- Text("Content 1")
26
- Divider()
27
- Text("Content 2")
28
- }
29
- ```
@@ -1,45 +0,0 @@
1
- ---
2
- name: header-title
3
- description: Header title component for navigation header. Use when setting screen title in navigation bar.
4
- ---
5
-
6
- # HeaderTitle
7
-
8
- Header title component for navigation header.
9
-
10
- ## Keywords
11
-
12
- header title, tiêu đề header
13
-
14
- ## Types
15
-
16
- ```kotlin
17
- // Simple title
18
- HeaderTitle.Default("Title")
19
-
20
- // With subtitle
21
- HeaderTitle.SubTitle(title = "Title", subTitle = "Subtitle")
22
-
23
- // User header
24
- HeaderTitle.User(
25
- title: String,
26
- subTitle: String? = null,
27
- image: List<String>? = null,
28
- onPress: (() -> Unit)? = null
29
- )
30
- ```
31
-
32
- ## Examples
33
-
34
- ```kotlin
35
- navigation.setOptions(
36
- headerTitle = HeaderTitle.Default("Home")
37
- )
38
-
39
- navigation.setOptions(
40
- headerTitle = HeaderTitle.SubTitle(
41
- title = "Profile",
42
- subTitle = "Personal"
43
- )
44
- )
45
- ```
@@ -1,47 +0,0 @@
1
- ---
2
- name: header-type
3
- description: Header type configuration for navigation. Use when customizing header appearance (transparent, default, none, or extended with search/buttons).
4
- ---
5
-
6
- # HeaderType
7
-
8
- Header type configuration for navigation.
9
-
10
- ## Keywords
11
-
12
- header, transparent, header type
13
-
14
- ## Types
15
-
16
- ```kotlin
17
- // Default header
18
- HeaderType.Default()
19
-
20
- // Extended header
21
- HeaderType.Extended(
22
- floatingButton: FloatingButtonProps? = null,
23
- inputSearchProps: InputSearchProps? = null
24
- )
25
-
26
- // Transparent header
27
- HeaderType.Transparent()
28
-
29
- // No header
30
- HeaderType.None()
31
- ```
32
-
33
- ## Examples
34
-
35
- ```kotlin
36
- navigation.setOptions(
37
- headerType = HeaderType.Default()
38
- )
39
-
40
- navigation.setOptions(
41
- headerType = HeaderType.Transparent()
42
- )
43
-
44
- navigation.setOptions(
45
- headerType = HeaderType.None()
46
- )
47
- ```
@@ -1,32 +0,0 @@
1
- ---
2
- name: icon
3
- description: Icon component for displaying icons. Use when adding visual icons to UI elements.
4
- ---
5
-
6
- # Icon
7
-
8
- Icon component for displaying icons.
9
-
10
- ## Keywords
11
-
12
- icon, biểu tượng
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun Icon(
19
- source: String, // Icon name or URL
20
- size: Dp = 24.dp,
21
- color: Color? = AppTheme.current.colors.text.default,
22
- modifier: Modifier = Modifier,
23
- )
24
- ```
25
-
26
- ## Examples
27
-
28
- ```kotlin
29
- Icon(source = "home", size = 24.dp)
30
-
31
- Icon(source = "settings", color = AppTheme.current.colors.primary)
32
- ```
@@ -1,38 +0,0 @@
1
- ---
2
- name: image
3
- description: Image component for displaying images. Use when adding image content to screens.
4
- ---
5
-
6
- # Image
7
-
8
- Image component for displaying images.
9
-
10
- ## Keywords
11
-
12
- image, hình ảnh, picture
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun Image(
19
- source: Any, // URL or resource
20
- modifier: Modifier = Modifier,
21
- options: Options? = null,
22
- loading: Boolean = true,
23
- )
24
-
25
- data class Options(
26
- val alignment: Alignment = Alignment.TopStart,
27
- val contentScale: ContentScale = ContentScale.Crop,
28
- )
29
- ```
30
-
31
- ## Examples
32
-
33
- ```kotlin
34
- Image(
35
- source = "https://example.com/image.jpg",
36
- modifier = Modifier.fillMaxWidth().height(200.dp)
37
- )
38
- ```
@@ -1,36 +0,0 @@
1
- ---
2
- name: information
3
- description: Info banner component. Use when displaying informational messages, warnings, or success notifications.
4
- ---
5
-
6
- # Information
7
-
8
- Info banner component.
9
-
10
- ## Keywords
11
-
12
- info, information, thông báo, banner
13
-
14
- ## API
15
-
16
- ```kotlin
17
- @Composable
18
- fun Information(
19
- title: String,
20
- content: String? = null,
21
- icon: String? = null,
22
- type: InformationType = InformationType.INFO
23
- )
24
-
25
- enum class InformationType { INFO, WARNING, ERROR, SUCCESS }
26
- ```
27
-
28
- ## Examples
29
-
30
- ```kotlin
31
- Information(
32
- title = "Info",
33
- content = "Information here",
34
- type = InformationType.INFO
35
- )
36
- ```