@momo-kits/native-kits 0.158.1-beta.1 → 0.158.1-beta.2-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 (260) hide show
  1. package/build.gradle.kts +11 -0
  2. package/compose/build.gradle.kts +180 -0
  3. package/compose/build.gradle.kts.backup +180 -0
  4. package/compose/compose.podspec +54 -0
  5. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +117 -0
  6. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  7. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  8. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  9. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  10. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  11. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  12. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  13. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  14. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  15. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  16. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  17. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  18. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  19. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  20. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
  21. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +107 -0
  22. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
  23. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
  24. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +720 -0
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +157 -0
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +85 -0
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +198 -0
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +357 -0
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +123 -0
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +224 -0
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +448 -0
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +255 -0
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +233 -0
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +108 -0
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +338 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +87 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +348 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +256 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +494 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +131 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +215 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +531 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +590 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +192 -0
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +16 -0
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +188 -0
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +50 -0
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +253 -0
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +133 -0
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +99 -0
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +164 -0
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +333 -0
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +552 -0
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +243 -0
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +279 -0
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +32 -0
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/tracking/ScreenTracker.kt +167 -0
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +46 -0
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +15 -0
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
  123. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +161 -0
  124. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Example.xcscheme +32 -0
  125. package/example/ios/Example.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  126. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  127. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/WorkspaceSettings.xcsettings +16 -0
  128. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +6 -0
  129. package/example/ios/Example.xcworkspace/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +5 -0
  130. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +58 -0
  131. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/Pods-Example.xcscheme +58 -0
  132. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImage.xcscheme +58 -0
  133. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +58 -0
  134. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/SkeletonUI.xcscheme +58 -0
  135. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +58 -0
  136. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/lottie-ios.xcscheme +58 -0
  137. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sonnguyen.xcuserdatad/xcschemes/xcschememanagement.plist +60 -0
  138. package/gradle/libs.versions.toml +57 -0
  139. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  140. package/gradle/wrapper/gradle-wrapper.properties +8 -0
  141. package/gradle.properties +26 -0
  142. package/gradlew +252 -0
  143. package/gradlew.bat +94 -0
  144. package/local.properties +8 -0
  145. package/package.json +1 -1
  146. package/settings.gradle.kts +52 -0
  147. package/.claude/settings.local.json +0 -11
  148. package/.claude/skills/design-system/SKILL.md +0 -88
  149. package/.claude/skills/design-system/references/components/avatar.md +0 -134
  150. package/.claude/skills/design-system/references/components/badge.md +0 -127
  151. package/.claude/skills/design-system/references/components/bottom-tab.md +0 -177
  152. package/.claude/skills/design-system/references/components/bottomsheet.md +0 -170
  153. package/.claude/skills/design-system/references/components/button.md +0 -206
  154. package/.claude/skills/design-system/references/components/carousel.md +0 -117
  155. package/.claude/skills/design-system/references/components/checkbox.md +0 -98
  156. package/.claude/skills/design-system/references/components/chip.md +0 -146
  157. package/.claude/skills/design-system/references/components/collapse.md +0 -120
  158. package/.claude/skills/design-system/references/components/date-picker.md +0 -119
  159. package/.claude/skills/design-system/references/components/divider.md +0 -84
  160. package/.claude/skills/design-system/references/components/icon.md +0 -130
  161. package/.claude/skills/design-system/references/components/image.md +0 -81
  162. package/.claude/skills/design-system/references/components/information.md +0 -107
  163. package/.claude/skills/design-system/references/components/input-dropdown.md +0 -138
  164. package/.claude/skills/design-system/references/components/input-money.md +0 -157
  165. package/.claude/skills/design-system/references/components/input-otp.md +0 -132
  166. package/.claude/skills/design-system/references/components/input-phone-number.md +0 -140
  167. package/.claude/skills/design-system/references/components/input-search.md +0 -124
  168. package/.claude/skills/design-system/references/components/input-text-area.md +0 -133
  169. package/.claude/skills/design-system/references/components/input.md +0 -152
  170. package/.claude/skills/design-system/references/components/loader.md +0 -87
  171. package/.claude/skills/design-system/references/components/pagination.md +0 -105
  172. package/.claude/skills/design-system/references/components/popup-notify.md +0 -128
  173. package/.claude/skills/design-system/references/components/progress-info.md +0 -114
  174. package/.claude/skills/design-system/references/components/radio.md +0 -86
  175. package/.claude/skills/design-system/references/components/rating.md +0 -126
  176. package/.claude/skills/design-system/references/components/skeleton.md +0 -120
  177. package/.claude/skills/design-system/references/components/slider.md +0 -141
  178. package/.claude/skills/design-system/references/components/snackbar.md +0 -97
  179. package/.claude/skills/design-system/references/components/stepper.md +0 -100
  180. package/.claude/skills/design-system/references/components/steps.md +0 -91
  181. package/.claude/skills/design-system/references/components/suggest-action.md +0 -95
  182. package/.claude/skills/design-system/references/components/swipe.md +0 -121
  183. package/.claude/skills/design-system/references/components/switch.md +0 -98
  184. package/.claude/skills/design-system/references/components/tab-view.md +0 -120
  185. package/.claude/skills/design-system/references/components/tag.md +0 -118
  186. package/.claude/skills/design-system/references/components/text.md +0 -151
  187. package/.claude/skills/design-system/references/components/toast.md +0 -99
  188. package/.claude/skills/design-system/references/components/tooltip.md +0 -138
  189. package/.claude/skills/design-system/references/components/top-nav-miniapp.md +0 -94
  190. package/.claude/skills/design-system/references/components/top-nav.md +0 -226
  191. package/.claude/skills/design-system/references/components/uploader.md +0 -115
  192. package/.claude/skills/design-system/references/navigation/bottom-tab.md +0 -131
  193. package/.claude/skills/design-system/references/navigation/bottomsheet.md +0 -161
  194. package/.claude/skills/design-system/references/navigation/modal.md +0 -133
  195. package/.claude/skills/design-system/references/navigation/navigation-options.md +0 -225
  196. package/.claude/skills/design-system/references/navigation/navigator.md +0 -111
  197. package/.claude/skills/design-system/references/navigation/setup.md +0 -134
  198. package/.claude/skills/design-system/references/navigation/stack.md +0 -128
  199. package/.claude/skills/design-system/references/spec-convention.md +0 -80
  200. package/.claude/skills/design-system/references/tokens/colors.md +0 -131
  201. package/.claude/skills/design-system/references/tokens/spacing-radius.md +0 -144
  202. package/.claude/skills/design-system/references/tokens/theme.md +0 -125
  203. package/.claude/skills/design-system/references/tokens/typography.md +0 -135
  204. package/.claude/skills/design-system-kits/SKILL.md +0 -102
  205. package/.claude/skills/design-system-kits/references/code-convention.md +0 -118
  206. package/.claude/skills/design-system-kits/references/components/avatar.md +0 -45
  207. package/.claude/skills/design-system-kits/references/components/badge.md +0 -27
  208. package/.claude/skills/design-system-kits/references/components/button.md +0 -65
  209. package/.claude/skills/design-system-kits/references/components/carousel.md +0 -51
  210. package/.claude/skills/design-system-kits/references/components/checkbox.md +0 -39
  211. package/.claude/skills/design-system-kits/references/components/chip.md +0 -54
  212. package/.claude/skills/design-system-kits/references/components/collapse.md +0 -63
  213. package/.claude/skills/design-system-kits/references/components/date-picker.md +0 -36
  214. package/.claude/skills/design-system-kits/references/components/divider.md +0 -21
  215. package/.claude/skills/design-system-kits/references/components/icon.md +0 -382
  216. package/.claude/skills/design-system-kits/references/components/image.md +0 -62
  217. package/.claude/skills/design-system-kits/references/components/information.md +0 -61
  218. package/.claude/skills/design-system-kits/references/components/input-dropdown.md +0 -92
  219. package/.claude/skills/design-system-kits/references/components/input-money.md +0 -128
  220. package/.claude/skills/design-system-kits/references/components/input-otp.md +0 -85
  221. package/.claude/skills/design-system-kits/references/components/input-phone-number.md +0 -96
  222. package/.claude/skills/design-system-kits/references/components/input-search.md +0 -127
  223. package/.claude/skills/design-system-kits/references/components/input-text-area.md +0 -100
  224. package/.claude/skills/design-system-kits/references/components/input.md +0 -126
  225. package/.claude/skills/design-system-kits/references/components/loader.md +0 -41
  226. package/.claude/skills/design-system-kits/references/components/pagination.md +0 -47
  227. package/.claude/skills/design-system-kits/references/components/popup-notify.md +0 -69
  228. package/.claude/skills/design-system-kits/references/components/popup-promotion.md +0 -35
  229. package/.claude/skills/design-system-kits/references/components/progress-info.md +0 -55
  230. package/.claude/skills/design-system-kits/references/components/radio.md +0 -42
  231. package/.claude/skills/design-system-kits/references/components/rating.md +0 -36
  232. package/.claude/skills/design-system-kits/references/components/skeleton.md +0 -25
  233. package/.claude/skills/design-system-kits/references/components/slider.md +0 -53
  234. package/.claude/skills/design-system-kits/references/components/snackbar.md +0 -52
  235. package/.claude/skills/design-system-kits/references/components/stepper.md +0 -46
  236. package/.claude/skills/design-system-kits/references/components/steps.md +0 -57
  237. package/.claude/skills/design-system-kits/references/components/suggest-action.md +0 -44
  238. package/.claude/skills/design-system-kits/references/components/swipe.md +0 -44
  239. package/.claude/skills/design-system-kits/references/components/switch.md +0 -43
  240. package/.claude/skills/design-system-kits/references/components/tab-view.md +0 -56
  241. package/.claude/skills/design-system-kits/references/components/tag.md +0 -50
  242. package/.claude/skills/design-system-kits/references/components/text.md +0 -56
  243. package/.claude/skills/design-system-kits/references/components/toast.md +0 -51
  244. package/.claude/skills/design-system-kits/references/components/tooltip.md +0 -95
  245. package/.claude/skills/design-system-kits/references/components/uploader.md +0 -48
  246. package/.claude/skills/design-system-kits/references/design-spec-structure.md +0 -356
  247. package/.claude/skills/design-system-kits/references/design-spec-to-code.md +0 -596
  248. package/.claude/skills/design-system-kits/references/navigation/bottom-tab.md +0 -155
  249. package/.claude/skills/design-system-kits/references/navigation/bottomsheet.md +0 -94
  250. package/.claude/skills/design-system-kits/references/navigation/modal.md +0 -125
  251. package/.claude/skills/design-system-kits/references/navigation/navigation-options.md +0 -430
  252. package/.claude/skills/design-system-kits/references/navigation/navigator.md +0 -177
  253. package/.claude/skills/design-system-kits/references/navigation/setup.md +0 -94
  254. package/.claude/skills/design-system-kits/references/navigation/stack.md +0 -152
  255. package/.claude/skills/design-system-kits/references/screen-layout-rule.md +0 -125
  256. package/.claude/skills/design-system-kits/references/tokens/colors.md +0 -183
  257. package/.claude/skills/design-system-kits/references/tokens/spacing-radius.md +0 -45
  258. package/.claude/skills/design-system-kits/references/tokens/theme.md +0 -97
  259. package/.claude/skills/design-system-kits/references/tokens/typography.md +0 -105
  260. package/.claude/skills/vibe-design/SKILL.md +0 -306
@@ -1,155 +0,0 @@
1
- # Bottom Tab Navigation
2
-
3
- ## React Native — BottomTab
4
-
5
- The `BottomTab` component from `@momo-kits/foundation` wraps `@react-navigation/bottom-tabs` with KitX styling.
6
-
7
- ```tsx
8
- import { BottomTab } from '@momo-kits/foundation';
9
-
10
- <BottomTab
11
- navigation={navigation}
12
- initialRouteName="Home"
13
- tabs={[
14
- {
15
- name: 'Home',
16
- label: 'Home',
17
- icon: 'ic_home',
18
- screen: HomeScreen,
19
- options: { headerTitle: 'Home' },
20
- },
21
- {
22
- name: 'Search',
23
- label: 'Search',
24
- icon: 'ic_search',
25
- screen: SearchScreen,
26
- options: { headerTitle: 'Search' },
27
- },
28
- {
29
- name: 'Profile',
30
- label: 'Profile',
31
- icon: 'ic_profile',
32
- badgeLabel: '3',
33
- screen: ProfileScreen,
34
- options: { headerTitle: 'Profile' },
35
- },
36
- ]}
37
- floatingButton={{
38
- icon: 'ic_plus',
39
- label: 'New',
40
- onPress: () => handleNewAction(),
41
- }}
42
- />
43
- ```
44
-
45
- ### BottomTab Props
46
-
47
- | Prop | Type | Default | Description |
48
- |------|------|---------|-------------|
49
- | `tabs` | `BottomTabItemProps[]` | required | Array of tab configurations |
50
- | `navigation` | `NavigationProps` | required | Navigation object from parent |
51
- | `initialRouteName` | `string` | — | Initially focused tab name |
52
- | `nested` | `boolean` | — | Whether tabs use shared parent stack or independent NavigationContainer |
53
- | `listeners` | `{ tabPress?, focus?, blur? }` | — | Event listeners for tab events |
54
- | `floatingButton` | `FloatingButtonProps` | — | Center floating action button |
55
-
56
- ### BottomTabItemProps
57
-
58
- | Prop | Type | Default | Description |
59
- |------|------|---------|-------------|
60
- | `name` | `string` | required | Tab route identifier |
61
- | `label` | `string` | required | Tab bar display label |
62
- | `icon` | `string` | required | Icon source string |
63
- | `screen` | `React.ComponentType` | required | Tab content component |
64
- | `options` | `NavigationOptions` | required | Navigation options for this tab |
65
- | `badgeLabel` | `string \| number` | — | Badge: `""` = dot, `"3"` = count, `0` = hidden |
66
- | `showDot` | `boolean` | — | Legacy prop (dot behavior is controlled by `badgeLabel=""`) |
67
- | `initialParams` | `any` | — | Initial params passed to the tab screen |
68
-
69
- ### FloatingButtonProps
70
-
71
- | Prop | Type | Description |
72
- |------|------|-------------|
73
- | `icon` | `string \| ReactNode` | FAB icon (required) |
74
- | `label` | `string` | FAB label (required) |
75
- | `onPress` | `() => void` | Click handler (required) |
76
- | `container` | `ReactNode` | Custom container component |
77
-
78
- ### Tab Bar Details
79
-
80
- - Icon size: 28px
81
- - Animated indicator pill: 44px wide, centered in selected tab
82
- - Tab transitions: fade + scale (200ms)
83
- - Supports badges (dot via `badgeLabel=""` and count via `badgeLabel="3"`)
84
-
85
- ---
86
-
87
- ## Compose
88
-
89
- ```kotlin
90
- import vn.momo.kits.navigation.bottomtab.BottomTab
91
- import vn.momo.kits.navigation.bottomtab.BottomTabItem
92
- import vn.momo.kits.navigation.bottomtab.BottomTabFloatingButton
93
-
94
- BottomTab(
95
- items = listOf(
96
- BottomTabItem(
97
- name = "home",
98
- label = "Home",
99
- icon = "ic_home",
100
- screen = { HomeScreen() },
101
- options = NavigationOptions(
102
- headerTitle = HeaderTitle.Default("Home"),
103
- ),
104
- ),
105
- BottomTabItem(
106
- name = "search",
107
- label = "Search",
108
- icon = "ic_search",
109
- screen = { SearchScreen() },
110
- ),
111
- BottomTabItem(
112
- name = "profile",
113
- label = "Profile",
114
- icon = "ic_profile",
115
- showDot = true,
116
- badgeLabel = "3",
117
- screen = { ProfileScreen() },
118
- ),
119
- ),
120
- floatingButton = BottomTabFloatingButton(
121
- icon = "ic_plus",
122
- label = "New",
123
- onPress = { handleNewAction() },
124
- ),
125
- )
126
- ```
127
-
128
- ### BottomTabItem
129
-
130
- | Prop | Type | Description |
131
- |------|------|-------------|
132
- | `name` | String | Tab identifier |
133
- | `label` | String | Tab bar label |
134
- | `icon` | String | Icon source string |
135
- | `showDot` | Boolean | Show notification dot (default: false) |
136
- | `badgeLabel` | String? | Badge text (null = no badge, "0" = hidden) |
137
- | `screen` | @Composable () -> Unit | Tab content |
138
- | `options` | NavigationOptions? | Navigation config for this tab |
139
-
140
- ### BottomTabFloatingButton
141
-
142
- | Prop | Type | Description |
143
- |------|------|-------------|
144
- | `icon` | String | FAB icon |
145
- | `label` | String | FAB label |
146
- | `onPress` | () -> Unit | Click handler |
147
-
148
- The floating button appears centered between tabs with a curved container.
149
-
150
- ### Tab Bar Details
151
-
152
- - Height: 64dp
153
- - Animated indicator bar follows selected tab
154
- - Supports badges (dot and count)
155
- - Tab transitions: fade + scale (200ms)
@@ -1,94 +0,0 @@
1
- # Bottom Sheet
2
-
3
- ## React Native — showBottomSheet
4
-
5
- Bottom sheets are displayed via `navigator.showBottomSheet()` from `ApplicationContext`.
6
-
7
- ```tsx
8
- const { navigator } = useContext(ApplicationContext);
9
-
10
- navigator.showBottomSheet({
11
- screen: SheetContent,
12
- options: { title: 'Sheet Title' },
13
- surface: true,
14
- draggable: true,
15
- barrierDismissible: false,
16
- onDismiss: (type) => console.log('dismissed by', type),
17
- });
18
- ```
19
-
20
- Dismiss from inside:
21
-
22
- ```tsx
23
- navigator.pop();
24
- // or from content component via injected prop:
25
- props.onRequestClose?.(() => {
26
- // callback after dismiss animation
27
- });
28
- ```
29
-
30
- ### BottomSheetParams
31
-
32
- | Prop | Type | Default | Description |
33
- |------|------|---------|-------------|
34
- | `screen` | `React.ComponentType` | required | Content component rendered inside the sheet |
35
- | `options.title` | `string` | — | Title shown in the header |
36
- | `options.header` | `ReactNode` | — | Custom header node (replaces title) |
37
- | `surface` | `boolean` | — | Use `background.surface` color instead of `background.default` |
38
- | `onDismiss` | `(type?: string) => void` | — | Callback on dismiss; `type` is `'touch'`, `'gesture'`, or `'icon_close'` |
39
- | `barrierDismissible` | `boolean` | `false` | Allow backdrop tap to dismiss |
40
- | `draggable` | `boolean` | `true` | Enable drag-to-dismiss gesture |
41
- | `useBottomInset` | `boolean` | `true` | Add safe area bottom inset padding |
42
- | `useKeyboardAvoidingView` | `boolean` | `true` | Wrap content in KeyboardAvoidingView |
43
- | `keyboardVerticalOffset` | `number` | auto | Override keyboard avoiding offset |
44
- | `useDivider` | `boolean` | `true` | Show bottom border under the header |
45
- | `footerComponent` | `ReactNode` | — | Sticky footer below content |
46
- | `useNativeModal` | `boolean` | `false` | Use native RN Modal (auto-enabled in widget mode) |
47
- | `leftOptions.iconLeft` | `string` | `'ic_back'` | Left header button icon |
48
- | `leftOptions.onPressIconLeft` | `() => void` | — | Left header button handler (adds a back button) |
49
-
50
- Additional params are spread as props to the content `screen` component.
51
-
52
- ### Left Options (Back Navigation in Sheet)
53
-
54
- For stacked bottom sheets with back navigation:
55
-
56
- ```tsx
57
- navigator.showBottomSheet({
58
- screen: SecondSheet,
59
- options: { title: 'Step 2' },
60
- leftOptions: {
61
- iconLeft: 'ic_back_ios',
62
- onPressIconLeft: () => navigator.pop(),
63
- },
64
- });
65
- ```
66
-
67
- ### Footer Component
68
-
69
- ```tsx
70
- navigator.showBottomSheet({
71
- screen: SheetContent,
72
- options: { title: 'Selection' },
73
- footerComponent: <Button title="Confirm" onPress={handleConfirm} />,
74
- });
75
- ```
76
-
77
- ---
78
-
79
- ## Compose
80
-
81
- ```kotlin
82
- navigator.showBottomSheet(
83
- content = { SheetContent() },
84
- isSurface = false,
85
- barrierDismissible = true,
86
- onDismiss = { },
87
- )
88
- ```
89
-
90
- Dismiss from inside:
91
-
92
- ```kotlin
93
- navigator.pop()
94
- ```
@@ -1,125 +0,0 @@
1
- # Modal
2
-
3
- ## React Native — showModal
4
-
5
- Modal overlays are displayed via `navigator.showModal()` from `ApplicationContext`.
6
-
7
- ```tsx
8
- const { navigator } = useContext(ApplicationContext);
9
-
10
- navigator.showModal(
11
- {
12
- screen: MyModalContent,
13
- barrierDismissible: true,
14
- onDismiss: () => console.log('dismissed'),
15
- },
16
- (error) => console.log(error), // optional onError callback
17
- );
18
- ```
19
-
20
- Dismiss from inside:
21
-
22
- ```tsx
23
- navigator.pop();
24
- // or from content component via injected prop:
25
- props.onRequestClose?.(() => {
26
- // callback after dismiss animation
27
- });
28
- ```
29
-
30
- ### ModalParams
31
-
32
- | Prop | Type | Default | Description |
33
- |------|------|---------|-------------|
34
- | `screen` | `React.ComponentType` | required | Content component to render inside the modal |
35
- | `barrierDismissible` | `boolean` | — | Allow backdrop tap to dismiss |
36
- | `onDismiss` | `() => void` | — | Callback when modal is dismissed |
37
- | `modalStyle` | `ViewStyle` | — | Custom style for the modal container |
38
- | `useNativeModal` | `boolean` | `false` | Use native RN Modal (auto-enabled in widget mode) |
39
-
40
- Additional params are spread as props to the content `screen` component.
41
-
42
- ### PopupNotify in Modal
43
-
44
- Show a confirmation dialog by passing `PopupNotify` as the modal content:
45
-
46
- ```tsx
47
- navigator.showModal({
48
- screen: ({ onRequestClose }) => (
49
- <PopupNotify
50
- title="Confirm?"
51
- description="Are you sure you want to proceed?"
52
- primary={{ title: 'OK', onPress: () => onRequestClose?.() }}
53
- secondary={{ title: 'Cancel', onPress: () => onRequestClose?.() }}
54
- onRequestClose={onRequestClose}
55
- />
56
- ),
57
- barrierDismissible: true,
58
- });
59
- ```
60
-
61
- ### PopupNotify Props
62
-
63
- | Prop | Type | Description |
64
- |------|------|-------------|
65
- | `title` | `string` | Title text (required) |
66
- | `primary` | `{ title, onPress }` | Primary action button (required) |
67
- | `description` | `string \| ReactNode` | Description text |
68
- | `image` | `string` | Image URL/path |
69
- | `error` | `string` | Error message text |
70
- | `secondary` | `{ title, onPress }` | Secondary action button |
71
- | `buttonDirection` | `'row' \| 'column' \| 'auto'` | Button layout (`'auto'` switches based on title length > 12 chars) |
72
- | `onIconClose` | `() => void` | Close icon press handler |
73
- | `onRequestClose` | `(callback?) => void` | Dismiss modal — accepts optional callback that runs after dismiss animation |
74
- | `id` | `string` | Tracking component ID |
75
-
76
- ### PopupPromotion
77
-
78
- Full-screen promotional modal with an image.
79
-
80
- ```tsx
81
- navigator.showModal({
82
- screen: ({ onRequestClose }) => (
83
- <PopupPromotion
84
- image="https://promo-image.png"
85
- onActionClick={() => handlePromo()}
86
- onIconClose={() => onRequestClose?.()}
87
- onRequestClose={onRequestClose}
88
- />
89
- ),
90
- });
91
- ```
92
-
93
- | Prop | Type | Description |
94
- |------|------|-------------|
95
- | `image` | `string` | Promotion image (required) |
96
- | `onActionClick` | `() => void` | Action click handler |
97
- | `onIconClose` | `() => void` | Close icon handler |
98
- | `onRequestClose` | `(callback?) => void` | Dismiss modal |
99
- | `id` | `string` | Tracking component ID |
100
-
101
- ---
102
-
103
- ## Compose — Modal Overlay
104
-
105
- ```kotlin
106
- navigator.showModal(
107
- content = { ModalContent() },
108
- barrierDismissible = true,
109
- onDismiss = { },
110
- )
111
- ```
112
-
113
- Dismiss from inside:
114
-
115
- ```kotlin
116
- navigator.pop()
117
- ```
118
-
119
- ## Compose — Present (Full-screen Modal)
120
-
121
- ```kotlin
122
- navigator.present(content = { FullScreenModal() })
123
- ```
124
-
125
- Use `present` for full-screen modals, `showModal` for overlay dialogs.