@momo-kits/native-kits 0.157.1-beta.9-debug → 0.157.1-com.1-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 (369) hide show
  1. package/compose/build.gradle.kts +1 -1
  2. package/compose/compose.podspec +1 -1
  3. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +157 -0
  4. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +123 -0
  5. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +224 -0
  6. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +108 -0
  7. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +350 -0
  8. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +87 -0
  9. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +360 -0
  10. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +256 -0
  11. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +494 -0
  12. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +131 -0
  13. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +215 -0
  14. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +449 -0
  15. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +21 -7
  16. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +192 -0
  17. package/gradle.properties +1 -1
  18. package/ios/Input/Input.swift +4 -0
  19. package/local.properties +2 -2
  20. package/package.json +1 -1
  21. package/src/doctor/README.md +73 -0
  22. package/src/doctor/package-lock.json +885 -0
  23. package/src/doctor/package.json +44 -0
  24. package/src/doctor/publish.sh +27 -0
  25. package/src/doctor/src/Users.json +112 -0
  26. package/src/doctor/src/Whitelist.json +6 -0
  27. package/src/doctor/src/commands/check.ts +81 -0
  28. package/src/doctor/src/commands/doctor.ts +193 -0
  29. package/src/doctor/src/index.ts +35 -0
  30. package/src/doctor/src/logger.ts +84 -0
  31. package/src/doctor/src/task/native.ts +21 -0
  32. package/src/doctor/src/task/utils.ts +20 -0
  33. package/src/doctor/src/utils/checkCoreDependencies.ts +138 -0
  34. package/src/doctor/src/utils/checkDeletedPackage.ts +53 -0
  35. package/src/doctor/src/utils/checkDeprecatedPackages.ts +168 -0
  36. package/src/doctor/src/utils/checkDeprecatedVersion.ts +60 -0
  37. package/src/doctor/src/utils/checkShareDependencies.ts +251 -0
  38. package/src/doctor/src/utils/checkWrongVersionCommunityPackage.ts +64 -0
  39. package/src/doctor/src/utils/getErrorMessage.ts +84 -0
  40. package/src/doctor/src/utils/scanComponentUsage.ts +206 -0
  41. package/src/doctor/src/utils/scanFoundationImports.ts +169 -0
  42. package/src/doctor/src/utils/scanMaxApiUsage.ts +86 -0
  43. package/src/doctor/src/utils/scanNativeModulesUsage.ts +78 -0
  44. package/src/doctor/src/utils/sendMessage.ts +28 -0
  45. package/src/doctor/tsconfig.json +14 -0
  46. package/src/doctor/yarn.lock +492 -0
  47. package/src/foundations/Application/BottomSheet.tsx +358 -0
  48. package/src/foundations/Application/BottomTab/BottomTabBar.tsx +320 -0
  49. package/src/foundations/Application/BottomTab/CustomBottomTabItem.tsx +155 -0
  50. package/src/foundations/Application/BottomTab/TabBarIcon.tsx +113 -0
  51. package/src/foundations/Application/BottomTab/index.tsx +449 -0
  52. package/src/foundations/Application/Components/BackgroundImageView.tsx +126 -0
  53. package/src/foundations/Application/Components/HeaderAnimated.tsx +69 -0
  54. package/src/foundations/Application/Components/HeaderBackground.tsx +83 -0
  55. package/src/foundations/Application/Components/HeaderExtendHeader.tsx +225 -0
  56. package/src/foundations/Application/Components/HeaderLeft.tsx +93 -0
  57. package/src/foundations/Application/Components/HeaderRight.tsx +444 -0
  58. package/src/foundations/Application/Components/HeaderTitle.tsx +596 -0
  59. package/src/foundations/Application/Components/NavigationButton.tsx +76 -0
  60. package/src/foundations/Application/Components/SearchHeader.tsx +127 -0
  61. package/src/foundations/Application/Localize.ts +44 -0
  62. package/src/foundations/Application/ModalScreen.tsx +148 -0
  63. package/src/foundations/Application/Navigation.ts +63 -0
  64. package/src/foundations/Application/NavigationContainer.tsx +245 -0
  65. package/src/foundations/Application/Navigator.ts +171 -0
  66. package/src/foundations/Application/ScaleSizeProvider.tsx +16 -0
  67. package/src/foundations/Application/StackScreen.tsx +420 -0
  68. package/src/foundations/Application/TooltipPortal.tsx +127 -0
  69. package/src/foundations/Application/WidgetContainer.tsx +162 -0
  70. package/src/foundations/Application/index.ts +34 -0
  71. package/src/foundations/Application/types.ts +350 -0
  72. package/src/foundations/Application/utils.tsx +239 -0
  73. package/src/foundations/Assets/DotAnimation.json +256 -0
  74. package/src/foundations/Assets/SpinnerAnimation.json +1027 -0
  75. package/src/foundations/Assets/icon.json +4052 -0
  76. package/src/foundations/Assets/icon_bank.json +506 -0
  77. package/src/foundations/Assets/language.json +208 -0
  78. package/src/foundations/Assets/lottie_circle_loader.json +1 -0
  79. package/src/foundations/Assets/pinAnimation.json +1 -0
  80. package/src/foundations/Assets/unpinAnimation.json +1 -0
  81. package/src/foundations/Badge/Badge.tsx +104 -0
  82. package/src/foundations/Badge/BadgeDot.tsx +35 -0
  83. package/src/foundations/Badge/BadgeDotAnimation.tsx +95 -0
  84. package/src/foundations/Badge/BadgeRibbon.tsx +112 -0
  85. package/src/foundations/Badge/Shape.tsx +29 -0
  86. package/src/foundations/Badge/index.tsx +8 -0
  87. package/src/foundations/Badge/styles.ts +125 -0
  88. package/src/foundations/Badge/types.ts +68 -0
  89. package/src/foundations/Button/index.tsx +371 -0
  90. package/src/foundations/Button/styles.ts +65 -0
  91. package/src/foundations/CheckBox/index.tsx +104 -0
  92. package/src/foundations/CheckBox/styles.ts +17 -0
  93. package/src/foundations/CheckBox/types.ts +37 -0
  94. package/src/foundations/Consts/colors+spacing+radius.ts +232 -0
  95. package/src/foundations/Consts/index.ts +4 -0
  96. package/src/foundations/Consts/styles.ts +52 -0
  97. package/src/foundations/Consts/theme.ts +121 -0
  98. package/src/foundations/Context/index.ts +27 -0
  99. package/src/foundations/Divider/DashDivider.tsx +46 -0
  100. package/src/foundations/Divider/index.tsx +45 -0
  101. package/src/foundations/FoundationList/index.tsx +12 -0
  102. package/src/foundations/FoundationList/types.ts +7 -0
  103. package/src/foundations/Icon/index.tsx +57 -0
  104. package/src/foundations/Icon/types.ts +32 -0
  105. package/src/foundations/IconButton/index.tsx +144 -0
  106. package/src/foundations/IconButton/styles.ts +20 -0
  107. package/src/foundations/Image/index.tsx +115 -0
  108. package/src/foundations/Image/styles.ts +7 -0
  109. package/src/foundations/Image/types.ts +7 -0
  110. package/src/foundations/Input/Input.tsx +280 -0
  111. package/src/foundations/Input/InputDropDown.tsx +161 -0
  112. package/src/foundations/Input/InputMoney.tsx +325 -0
  113. package/src/foundations/Input/InputOTP.tsx +299 -0
  114. package/src/foundations/Input/InputPhoneNumber.tsx +287 -0
  115. package/src/foundations/Input/InputSearch.tsx +351 -0
  116. package/src/foundations/Input/InputTextArea.tsx +218 -0
  117. package/src/foundations/Input/SystemTextInput.tsx +44 -0
  118. package/src/foundations/Input/TextTyping.tsx +115 -0
  119. package/src/foundations/Input/common.tsx +243 -0
  120. package/src/foundations/Input/index.tsx +373 -0
  121. package/src/foundations/Input/styles.ts +226 -0
  122. package/src/foundations/Input/utils.ts +97 -0
  123. package/src/foundations/Layout/Card.tsx +108 -0
  124. package/src/foundations/Layout/FloatingButton.tsx +179 -0
  125. package/src/foundations/Layout/GridSystem.tsx +137 -0
  126. package/src/foundations/Layout/Item.tsx +59 -0
  127. package/src/foundations/Layout/ItemList.tsx +66 -0
  128. package/src/foundations/Layout/ItemSectionList.tsx +40 -0
  129. package/src/foundations/Layout/Screen.tsx +644 -0
  130. package/src/foundations/Layout/Section.tsx +103 -0
  131. package/src/foundations/Layout/TrackingScope.tsx +18 -0
  132. package/src/foundations/Layout/index.ts +34 -0
  133. package/src/foundations/Layout/styles.ts +95 -0
  134. package/src/foundations/Layout/types.ts +40 -0
  135. package/src/foundations/Layout/utils.ts +47 -0
  136. package/src/foundations/Loader/DotLoader.tsx +37 -0
  137. package/src/foundations/Loader/Loader.tsx +13 -0
  138. package/src/foundations/Loader/ProgressBar.tsx +45 -0
  139. package/src/foundations/Loader/Spinner.tsx +29 -0
  140. package/src/foundations/Loader/index.tsx +6 -0
  141. package/src/foundations/Loader/styles.ts +10 -0
  142. package/src/foundations/Loader/types.ts +35 -0
  143. package/src/foundations/Loader/utils.ts +25 -0
  144. package/src/foundations/Pagination/Dot.tsx +19 -0
  145. package/src/foundations/Pagination/PaginationDot.tsx +44 -0
  146. package/src/foundations/Pagination/PaginationNumber.tsx +31 -0
  147. package/src/foundations/Pagination/PaginationScroll.tsx +99 -0
  148. package/src/foundations/Pagination/PaginationWhiteDot.tsx +43 -0
  149. package/src/foundations/Pagination/index.tsx +25 -0
  150. package/src/foundations/Pagination/styles.ts +51 -0
  151. package/src/foundations/Pagination/types.ts +40 -0
  152. package/src/foundations/Popup/PopupNotify.tsx +276 -0
  153. package/src/foundations/Popup/PopupPromotion.tsx +118 -0
  154. package/src/foundations/Popup/index.tsx +4 -0
  155. package/src/foundations/Popup/types.ts +96 -0
  156. package/src/foundations/Radio/index.tsx +108 -0
  157. package/src/foundations/Radio/styles.ts +15 -0
  158. package/src/foundations/Radio/types.ts +31 -0
  159. package/src/foundations/Skeleton/index.tsx +118 -0
  160. package/src/foundations/Skeleton/styles.ts +5 -0
  161. package/src/foundations/Skeleton/types.ts +6 -0
  162. package/src/foundations/Switch/index.tsx +68 -0
  163. package/src/foundations/Switch/styles.ts +25 -0
  164. package/src/foundations/Switch/types.ts +19 -0
  165. package/src/foundations/Tag/index.tsx +128 -0
  166. package/src/foundations/Tag/types.ts +41 -0
  167. package/src/foundations/Text/index.tsx +241 -0
  168. package/src/foundations/Text/styles.ts +78 -0
  169. package/src/foundations/Text/types.ts +53 -0
  170. package/src/foundations/Text/utils.ts +63 -0
  171. package/src/foundations/Title/index.tsx +285 -0
  172. package/src/foundations/Title/styles.ts +55 -0
  173. package/src/foundations/Title/types.ts +21 -0
  174. package/src/foundations/index.ts +50 -0
  175. package/src/foundations/package.json +35 -0
  176. package/src/foundations/publish.sh +17 -0
  177. package/src/libs/AutoComplete/index.tsx +88 -0
  178. package/src/libs/AutoComplete/package.json +16 -0
  179. package/src/libs/AutoComplete/publish.sh +16 -0
  180. package/src/libs/AutoComplete/styles.ts +15 -0
  181. package/src/libs/AutoComplete/types.ts +60 -0
  182. package/src/libs/Avatar/index.tsx +146 -0
  183. package/src/libs/Avatar/package.json +16 -0
  184. package/src/libs/Avatar/publish.sh +20 -0
  185. package/src/libs/Avatar/styles.ts +18 -0
  186. package/src/libs/Avatar/types.ts +57 -0
  187. package/src/libs/Badge/Badge.tsx +70 -0
  188. package/src/libs/Badge/BadgeDot.tsx +11 -0
  189. package/src/libs/Badge/BadgeRibbon.tsx +122 -0
  190. package/src/libs/Badge/Shape.tsx +29 -0
  191. package/src/libs/Badge/index.tsx +7 -0
  192. package/src/libs/Badge/package.json +16 -0
  193. package/src/libs/Badge/publish.sh +18 -0
  194. package/src/libs/Badge/styles.ts +55 -0
  195. package/src/libs/Badge/types.ts +63 -0
  196. package/src/libs/Calendar/CalendarPro.tsx +307 -0
  197. package/src/libs/Calendar/Day.tsx +150 -0
  198. package/src/libs/Calendar/HeaderControl.tsx +55 -0
  199. package/src/libs/Calendar/LunarDateConverter.ts +228 -0
  200. package/src/libs/Calendar/LunarService.ts +206 -0
  201. package/src/libs/Calendar/Month.tsx +118 -0
  202. package/src/libs/Calendar/MonthList.tsx +226 -0
  203. package/src/libs/Calendar/TabHeader.tsx +91 -0
  204. package/src/libs/Calendar/Util.ts +288 -0
  205. package/src/libs/Calendar/holidayData.ts +118 -0
  206. package/src/libs/Calendar/index.tsx +383 -0
  207. package/src/libs/Calendar/package.json +18 -0
  208. package/src/libs/Calendar/publish.sh +18 -0
  209. package/src/libs/Calendar/styles.ts +122 -0
  210. package/src/libs/Calendar/types.ts +212 -0
  211. package/src/libs/Carousel/animation.ts +62 -0
  212. package/src/libs/Carousel/index.tsx +517 -0
  213. package/src/libs/Carousel/package.json +18 -0
  214. package/src/libs/Carousel/publish.sh +16 -0
  215. package/src/libs/Carousel/types.ts +71 -0
  216. package/src/libs/Chip/index.tsx +164 -0
  217. package/src/libs/Chip/package.json +16 -0
  218. package/src/libs/Chip/publish.sh +16 -0
  219. package/src/libs/Chip/styles.ts +20 -0
  220. package/src/libs/Chip/types.ts +72 -0
  221. package/src/libs/Collapse/index.tsx +305 -0
  222. package/src/libs/Collapse/package.json +16 -0
  223. package/src/libs/Collapse/publish.sh +18 -0
  224. package/src/libs/Collapse/styles.ts +37 -0
  225. package/src/libs/Collapse/types.ts +84 -0
  226. package/src/libs/DateTimePicker/WheelPicker.tsx +163 -0
  227. package/src/libs/DateTimePicker/WheelPickerItem.tsx +58 -0
  228. package/src/libs/DateTimePicker/index.tsx +188 -0
  229. package/src/libs/DateTimePicker/package.json +16 -0
  230. package/src/libs/DateTimePicker/publish.sh +17 -0
  231. package/src/libs/DateTimePicker/styles.ts +31 -0
  232. package/src/libs/DateTimePicker/types.ts +102 -0
  233. package/src/libs/DateTimePicker/utils.ts +114 -0
  234. package/src/libs/Information/index.tsx +129 -0
  235. package/src/libs/Information/package.json +16 -0
  236. package/src/libs/Information/publish.sh +18 -0
  237. package/src/libs/Information/styles.ts +34 -0
  238. package/src/libs/Information/types.ts +79 -0
  239. package/src/libs/Logo/index.tsx +39 -0
  240. package/src/libs/Logo/package.json +17 -0
  241. package/src/libs/Logo/publish.sh +16 -0
  242. package/src/libs/Logo/styles.ts +25 -0
  243. package/src/libs/Logo/types.ts +13 -0
  244. package/src/libs/ProgressInfo/ProgressInfoHorizontal.tsx +128 -0
  245. package/src/libs/ProgressInfo/ProgressInfoIcon.tsx +88 -0
  246. package/src/libs/ProgressInfo/ProgressInfoVertical.tsx +85 -0
  247. package/src/libs/ProgressInfo/index.tsx +22 -0
  248. package/src/libs/ProgressInfo/package.json +16 -0
  249. package/src/libs/ProgressInfo/publish.sh +16 -0
  250. package/src/libs/ProgressInfo/styles.ts +46 -0
  251. package/src/libs/ProgressInfo/types.ts +60 -0
  252. package/src/libs/ProgressInfo/yarn.lock +8 -0
  253. package/src/libs/Rating/index.tsx +74 -0
  254. package/src/libs/Rating/package.json +16 -0
  255. package/src/libs/Rating/publish.sh +18 -0
  256. package/src/libs/Rating/type.ts +25 -0
  257. package/src/libs/Slider/Label.tsx +33 -0
  258. package/src/libs/Slider/helpers.ts +35 -0
  259. package/src/libs/Slider/hooks.tsx +218 -0
  260. package/src/libs/Slider/index.tsx +453 -0
  261. package/src/libs/Slider/package.json +16 -0
  262. package/src/libs/Slider/publish.sh +18 -0
  263. package/src/libs/Slider/styles.ts +36 -0
  264. package/src/libs/Stepper/NumberView.tsx +64 -0
  265. package/src/libs/Stepper/StepperButton.tsx +37 -0
  266. package/src/libs/Stepper/index.tsx +139 -0
  267. package/src/libs/Stepper/package.json +16 -0
  268. package/src/libs/Stepper/publish.sh +17 -0
  269. package/src/libs/Stepper/styles.ts +44 -0
  270. package/src/libs/Stepper/types.ts +154 -0
  271. package/src/libs/Steps/StepIcon.tsx +86 -0
  272. package/src/libs/Steps/StepsHorizontal.tsx +189 -0
  273. package/src/libs/Steps/StepsVertical.tsx +133 -0
  274. package/src/libs/Steps/index.tsx +20 -0
  275. package/src/libs/Steps/package.json +16 -0
  276. package/src/libs/Steps/publish.sh +16 -0
  277. package/src/libs/Steps/styles.ts +46 -0
  278. package/src/libs/Steps/types.ts +159 -0
  279. package/src/libs/Steps/utils.ts +175 -0
  280. package/src/libs/SuggestAction/SuggestActionView.tsx +124 -0
  281. package/src/libs/SuggestAction/index.tsx +3 -0
  282. package/src/libs/SuggestAction/package.json +16 -0
  283. package/src/libs/SuggestAction/publish.sh +16 -0
  284. package/src/libs/SuggestAction/styles.ts +30 -0
  285. package/src/libs/SuggestAction/types.ts +36 -0
  286. package/src/libs/Swipe/SwipeView.tsx +151 -0
  287. package/src/libs/Swipe/index.tsx +5 -0
  288. package/src/libs/Swipe/package.json +16 -0
  289. package/src/libs/Swipe/publish.sh +16 -0
  290. package/src/libs/Swipe/styles.ts +16 -0
  291. package/src/libs/Swipe/types.ts +109 -0
  292. package/src/libs/TabView/assets/Path.tsx +29 -0
  293. package/src/libs/TabView/index.tsx +184 -0
  294. package/src/libs/TabView/package.json +16 -0
  295. package/src/libs/TabView/publish.sh +16 -0
  296. package/src/libs/TabView/styles.ts +96 -0
  297. package/src/libs/TabView/tabBar/CardTabBar.tsx +137 -0
  298. package/src/libs/TabView/tabBar/SrollableTabBar.tsx +218 -0
  299. package/src/libs/TabView/tabBar/TabBar.tsx +67 -0
  300. package/src/libs/TabView/tabItem/CardTabItem.tsx +118 -0
  301. package/src/libs/TabView/tabItem/TabItem.tsx +180 -0
  302. package/src/libs/TabView/types.ts +166 -0
  303. package/src/libs/Template/HeaderSliderBanner/index.tsx +86 -0
  304. package/src/libs/Template/HeaderSliderBanner/types.ts +16 -0
  305. package/src/libs/Template/TrustBanner/CustomAvatar.tsx +39 -0
  306. package/src/libs/Template/TrustBanner/index.tsx +161 -0
  307. package/src/libs/Template/TrustBanner/styles.ts +48 -0
  308. package/src/libs/Template/TrustBanner/types.ts +50 -0
  309. package/src/libs/Template/index.tsx +4 -0
  310. package/src/libs/Template/package.json +18 -0
  311. package/src/libs/Template/publish.sh +17 -0
  312. package/src/libs/Title/index.tsx +284 -0
  313. package/src/libs/Title/package.json +17 -0
  314. package/src/libs/Title/publish.sh +16 -0
  315. package/src/libs/Title/styles.ts +54 -0
  316. package/src/libs/Title/types.ts +21 -0
  317. package/src/libs/Tooltip/TooltipButtons.tsx +54 -0
  318. package/src/libs/Tooltip/index.tsx +608 -0
  319. package/src/libs/Tooltip/package.json +16 -0
  320. package/src/libs/Tooltip/publish.sh +18 -0
  321. package/src/libs/Tooltip/styles.ts +70 -0
  322. package/src/libs/Tooltip/types.ts +61 -0
  323. package/src/libs/Uploader/index.tsx +87 -0
  324. package/src/libs/Uploader/package.json +17 -0
  325. package/src/libs/Uploader/publish.sh +18 -0
  326. package/src/libs/Uploader/styles.ts +30 -0
  327. package/src/libs/Uploader/types.ts +69 -0
  328. package/src/native/MoMoNative.podspec +18 -0
  329. package/src/native/calculator/android/build.gradle +61 -0
  330. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  331. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  332. package/src/native/calculator/android/gradlew +172 -0
  333. package/src/native/calculator/android/gradlew.bat +84 -0
  334. package/src/native/calculator/android/src/main/AndroidManifest.xml +5 -0
  335. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewModule.java +22 -0
  336. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewPackage.java +35 -0
  337. package/src/native/calculator/android/src/main/java/com/calculator/modules/CalculatorKeyboardModule.java +157 -0
  338. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/CalculatorEditText.java +36 -0
  339. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/FixedRelativeLayout.java +45 -0
  340. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/MomoTextInputCalculatorManager.java +173 -0
  341. package/src/native/calculator/android/src/main/java/com/calculator/views/customkeyboard/RNCustomKeyboardModule.java +417 -0
  342. package/src/native/calculator/ios/Helper/MomoHelper.swift +16 -0
  343. package/src/native/calculator/ios/KeyboardView-Bridging-Header.h +60 -0
  344. package/src/native/calculator/ios/KeyboardView.h +19 -0
  345. package/src/native/calculator/ios/KeyboardView.m +56 -0
  346. package/src/native/calculator/ios/MomoTextInputCalculator.swift +144 -0
  347. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.h +6 -0
  348. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.m +143 -0
  349. package/src/native/package.json +14 -0
  350. package/src/native/publish.sh +29 -0
  351. package/src/native/resource/android/build.gradle +57 -0
  352. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  353. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  354. package/src/native/resource/android/src/main/AndroidManifest.xml +6 -0
  355. package/src/native/resource/android/src/main/java/com/resource/RNResourceModule.java +90 -0
  356. package/src/native/resource/android/src/main/java/com/resource/RNResourcePackage.java +22 -0
  357. package/src/native/resource/ios/RNResouce.m +71 -0
  358. package/src/native/resource/ios/RNResource.h +5 -0
  359. package/example/ios/Example.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  360. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  361. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  362. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  363. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  364. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  365. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  366. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  367. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +0 -58
  368. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios.xcscheme +0 -58
  369. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
@@ -0,0 +1,36 @@
1
+ import {I18nManager, StyleSheet} from 'react-native';
2
+ import {Colors, Radius, Spacing} from '@momo-kits/foundation';
3
+
4
+ export default StyleSheet.create({
5
+ controlsContainer: {
6
+ flexDirection: 'row',
7
+ justifyContent: I18nManager.isRTL ? 'flex-end' : 'flex-start',
8
+ alignItems: 'center',
9
+ },
10
+ highThumbContainer: {
11
+ position: 'absolute',
12
+ },
13
+ railsContainer: {
14
+ ...StyleSheet.absoluteFillObject,
15
+ flexDirection: 'row',
16
+ alignItems: 'center',
17
+ },
18
+ labelFixedContainer: {
19
+ alignItems: I18nManager.isRTL ? 'flex-end' : 'flex-start',
20
+ },
21
+ labelFloatingContainer: {
22
+ position: 'absolute',
23
+ left: 0,
24
+ right: 0,
25
+ alignItems: I18nManager.isRTL ? 'flex-end' : 'flex-start',
26
+ },
27
+ touchableArea: {
28
+ ...StyleSheet.absoluteFillObject,
29
+ },
30
+ label: {
31
+ backgroundColor: Colors.black_01,
32
+ paddingVertical: Spacing.XXS,
33
+ paddingHorizontal: Spacing.XS,
34
+ borderRadius: Radius.XS,
35
+ },
36
+ });
@@ -0,0 +1,64 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import { TextInput, View } from 'react-native';
3
+ import { StepperValueProps } from './types';
4
+ import { ApplicationContext, useScaleSize } from '@momo-kits/foundation';
5
+ import styles from './styles';
6
+
7
+ const NumberView: FC<StepperValueProps> = ({
8
+ value = 0,
9
+ size = 'large',
10
+ editable = false,
11
+ onValueChange,
12
+ disabled,
13
+ componentId,
14
+ }) => {
15
+ const { theme } = useContext(ApplicationContext);
16
+ const scaledHeight28 = useScaleSize(28);
17
+ const scaledHeight24 = useScaleSize(24);
18
+ const scaledFontSize = useScaleSize(12);
19
+
20
+ const formattedNumber = (value: number) => {
21
+ if (isNaN(value)) {
22
+ return '0';
23
+ } else {
24
+ return value.toString();
25
+ }
26
+ };
27
+
28
+ const textColor = disabled
29
+ ? theme.colors.text.disable
30
+ : theme.colors.text.default;
31
+
32
+ const borderColor = disabled
33
+ ? theme.colors.border.disable
34
+ : theme.colors.border.default;
35
+ return (
36
+ <View
37
+ style={[
38
+ styles.numberViewBase,
39
+ size === 'large'
40
+ ? { minWidth: 32, height: scaledHeight28 }
41
+ : { minWidth: 28, height: scaledHeight24 },
42
+ { borderColor },
43
+ ]}
44
+ >
45
+ <TextInput
46
+ allowFontScaling={false}
47
+ editable={editable}
48
+ style={[
49
+ styles.numberViewInput,
50
+ { fontSize: scaledFontSize },
51
+ { color: textColor },
52
+ ]}
53
+ value={formattedNumber(value)}
54
+ onChangeText={onValueChange}
55
+ keyboardType={'number-pad'}
56
+ selectionColor={theme.colors.primary}
57
+ accessibilityLabel={`${componentId}|input`}
58
+ accessibilityState={{ disabled }}
59
+ />
60
+ </View>
61
+ );
62
+ };
63
+
64
+ export default NumberView;
@@ -0,0 +1,37 @@
1
+ import React, {FC, useContext} from 'react';
2
+ import {TouchableOpacity} from 'react-native';
3
+ import styles from './styles';
4
+ import {StepperButtonProps} from './types';
5
+ import {ApplicationContext, Icon} from '@momo-kits/foundation';
6
+
7
+ const StepperButton: FC<StepperButtonProps> = ({
8
+ disabled = false,
9
+ sign = '+',
10
+ size = 'large',
11
+ onPress,
12
+ componentId,
13
+ }) => {
14
+ const {theme} = useContext(ApplicationContext);
15
+
16
+ const sizeStyle = size === 'large' ? styles.button : styles.smallButton;
17
+ const buttonIcon =
18
+ sign === '-' ? '24_navigation_minus_circle' : '24_navigation_plus_circle';
19
+ const buttonColor = disabled
20
+ ? theme.colors.text.disable
21
+ : theme.colors.primary;
22
+
23
+ return (
24
+ <TouchableOpacity
25
+ disabled={disabled}
26
+ onPress={onPress}
27
+ style={[sizeStyle]}
28
+ accessibilityState={{disabled}}
29
+ accessibilityLabel={`${componentId}|${
30
+ sign === '+' ? 'plus' : 'minus'
31
+ }-touch`}>
32
+ <Icon size={22} color={buttonColor} source={buttonIcon} />
33
+ </TouchableOpacity>
34
+ );
35
+ };
36
+
37
+ export default StepperButton;
@@ -0,0 +1,139 @@
1
+ import React, {
2
+ forwardRef,
3
+ useContext,
4
+ useEffect,
5
+ useImperativeHandle,
6
+ useMemo,
7
+ useState,
8
+ } from 'react';
9
+ import {View} from 'react-native';
10
+ import StepperButton from './StepperButton';
11
+ import {DisabledStatus, StepperProps} from './types';
12
+ import styles from './styles';
13
+ import NumberView from './NumberView';
14
+ import {MiniAppContext, ScreenContext} from '@momo-kits/foundation';
15
+
16
+ const Stepper = forwardRef(
17
+ (
18
+ {
19
+ size = 'large',
20
+ defaultValue = 0,
21
+ min = 0,
22
+ max = 100,
23
+ disabled = false,
24
+ step = 1,
25
+ editable = false,
26
+ onValueChange,
27
+ accessibilityLabel,
28
+ }: StepperProps,
29
+ ref
30
+ ) => {
31
+ const [value, setValue] = useState(defaultValue);
32
+
33
+ const app = useContext<any>(MiniAppContext);
34
+ const screen = useContext<any>(ScreenContext);
35
+ const componentName = 'Stepper';
36
+
37
+ const componentId = useMemo(() => {
38
+ if (accessibilityLabel) {
39
+ return accessibilityLabel;
40
+ }
41
+ let id = `${app.appId}/${app.code}/${screen.screenName}/${componentName}`;
42
+ return id;
43
+ }, [componentName, accessibilityLabel, app, screen]);
44
+
45
+ useImperativeHandle(ref, () => ({
46
+ setStepValue: (value: React.SetStateAction<number>) => {
47
+ setValue(value);
48
+ _onValueChange(value.toString());
49
+ },
50
+ }));
51
+
52
+ useEffect(() => {
53
+ setValue(defaultValue);
54
+ }, [defaultValue]);
55
+
56
+ const onPlus = () => {
57
+ let newValue = value + step;
58
+ _onValueChange(newValue.toString());
59
+ };
60
+ const onMinus = () => {
61
+ let newValue = value - step;
62
+ _onValueChange(newValue.toString());
63
+ };
64
+ const _onValueChange = (num: string) => {
65
+ let newValue = parseInt(num);
66
+
67
+ if (isNaN(newValue)) {
68
+ newValue = 0;
69
+ }
70
+
71
+ if (newValue > max) {
72
+ newValue = max;
73
+ }
74
+
75
+ if (newValue < min) {
76
+ newValue = min;
77
+ }
78
+
79
+ setValue(newValue);
80
+ onValueChange?.(newValue);
81
+ };
82
+ const getViewDisabledStatus = () => {
83
+ let disabledStatus: DisabledStatus;
84
+
85
+ if (Array.isArray(disabled)) {
86
+ disabledStatus = {
87
+ plus: disabled[1],
88
+ minus: disabled[0],
89
+ number: disabled[0] && disabled[1],
90
+ };
91
+ } else {
92
+ disabledStatus = {
93
+ plus: disabled,
94
+ minus: disabled,
95
+ number: disabled,
96
+ };
97
+ }
98
+
99
+ if (value === min) {
100
+ disabledStatus.minus = true;
101
+ }
102
+ if (value === max) {
103
+ disabledStatus.plus = true;
104
+ }
105
+ return disabledStatus;
106
+ };
107
+
108
+ const viewStatus = getViewDisabledStatus();
109
+
110
+ return (
111
+ <View style={styles.stepper} accessibilityLabel={componentId}>
112
+ <StepperButton
113
+ onPress={onMinus}
114
+ sign={'-'}
115
+ size={size}
116
+ disabled={viewStatus.minus}
117
+ componentId={componentId}
118
+ />
119
+ <NumberView
120
+ onValueChange={_onValueChange}
121
+ size={size}
122
+ value={value}
123
+ disabled={viewStatus.number}
124
+ editable={editable}
125
+ componentId={componentId}
126
+ />
127
+ <StepperButton
128
+ onPress={onPlus}
129
+ size={size}
130
+ disabled={viewStatus.plus}
131
+ componentId={componentId}
132
+ />
133
+ </View>
134
+ );
135
+ }
136
+ );
137
+
138
+ export {Stepper};
139
+ export type {StepperProps};
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "@momo-kits/stepper",
3
+ "version": "0.157.1-beta.4",
4
+ "private": false,
5
+ "main": "index.tsx",
6
+ "peerDependencies": {
7
+ "@momo-kits/foundation": "latest",
8
+ "react": "*",
9
+ "react-native": "*"
10
+ },
11
+ "license": "MoMo",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "dependencies": {}
16
+ }
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ if [ "$1" == "stable" ]; then
4
+ npm version $(npm view @momo-kits/foundation@stable version)
5
+ npm version patch
6
+ npm publish --tag stable --access=public
7
+ elif [ "$1" == "latest" ]; then
8
+ npm publish --tag latest --access=public
9
+ elif [ "$1" == "beta" ]; then
10
+ npm publish --tag beta --access=public
11
+ else
12
+ npm publish --tag alpha --access=public
13
+ fi
14
+
15
+ PACKAGE_NAME=$(npm pkg get name)
16
+ NEW_PACKAGE_VERSION=$(npm pkg get version)
17
+
@@ -0,0 +1,44 @@
1
+ import {StyleSheet} from 'react-native';
2
+ import {Colors, Radius, Spacing} from '@momo-kits/foundation';
3
+
4
+ export default StyleSheet.create({
5
+ button: {
6
+ width: 36,
7
+ height: 36,
8
+ borderRadius: Radius.XL,
9
+ backgroundColor: Colors.black_03,
10
+ justifyContent: 'center',
11
+ alignItems: 'center',
12
+ },
13
+ smallButton: {
14
+ width: 28,
15
+ height: 28,
16
+ borderRadius: Radius.L,
17
+ backgroundColor: Colors.black_03,
18
+ justifyContent: 'center',
19
+ alignItems: 'center',
20
+ },
21
+ iconWrapper: {
22
+ width: 22,
23
+ height: 22,
24
+ borderWidth: 2,
25
+ borderRadius: Radius.M,
26
+ justifyContent: 'center',
27
+ alignItems: 'center',
28
+ },
29
+ stepper: {
30
+ flexDirection: 'row',
31
+ alignItems: 'center',
32
+ },
33
+ numberViewBase: {
34
+ borderWidth: 1,
35
+ borderRadius: Radius.S,
36
+ justifyContent: 'center',
37
+ alignItems: 'center',
38
+ marginHorizontal: Spacing.S,
39
+ },
40
+ numberViewInput: {
41
+ paddingVertical: 0,
42
+ textAlign: 'center',
43
+ },
44
+ });
@@ -0,0 +1,154 @@
1
+ import {ViewStyle} from 'react-native';
2
+
3
+ /**
4
+ * Properties for the StepperButton component, which represents the individual
5
+ * increment and decrement buttons in a stepper control.
6
+ */
7
+ export type StepperButtonProps = {
8
+ /**
9
+ * Optional. If `true`, the button is disabled and not interactive.
10
+ * Defaults to `false` if not provided.
11
+ */
12
+ disabled?: boolean;
13
+
14
+ /**
15
+ * Determines the button's function in the stepper, either increment ('+') or decrement ('-').
16
+ */
17
+ sign?: '+' | '-';
18
+
19
+ /**
20
+ * Optional. Specifies the size of the button. If not provided, a default size is used.
21
+ */
22
+ size?: 'large' | 'small';
23
+
24
+ /**
25
+ * A callback function that is triggered when the button is pressed.
26
+ */
27
+ onPress: () => void;
28
+
29
+ /**
30
+ * Optional. Assign accessibility label to the button for automated testing.
31
+ */
32
+ componentId: string;
33
+ };
34
+
35
+ /**
36
+ * Properties for the StepperValue component, which displays the current value
37
+ * within a stepper control and allows for direct input.
38
+ */
39
+ export type StepperValueProps = {
40
+ /**
41
+ * The current numeric value displayed by the stepper.
42
+ */
43
+ value: number;
44
+
45
+ /**
46
+ * Optional. If `true`, the value display is disabled and not interactive.
47
+ * Defaults to `false` if not provided.
48
+ */
49
+ disabled?: boolean;
50
+
51
+ /**
52
+ * Optional. Specifies the size of the value display. If not provided, a default size is used.
53
+ */
54
+ size?: 'large' | 'small';
55
+
56
+ /**
57
+ * Optional. If `true`, the value display is editable, and users can input values directly.
58
+ * Defaults to `false` if not provided.
59
+ */
60
+ editable?: boolean;
61
+
62
+ /**
63
+ * Optional. A callback function that is triggered when the value changes, receiving the new value as a parameter.
64
+ */
65
+ onValueChange?: (value: string) => void;
66
+
67
+ /**
68
+ * Optional. Assign accessibility label to the button for automated testing.
69
+ */
70
+ componentId: string;
71
+ };
72
+
73
+ /**
74
+ * General properties for the Stepper component, which combines the buttons and value display
75
+ * to provide a full feature numeric stepper control.
76
+ */
77
+ export type StepperProps = {
78
+ /**
79
+ * The initial value when the stepper is first rendered.
80
+ */
81
+ defaultValue: number;
82
+
83
+ /**
84
+ * Optional. The minimum allowable value for the stepper. If not provided, there is no minimum.
85
+ */
86
+ min?: number;
87
+
88
+ /**
89
+ * Optional. The maximum allowable value for the stepper. If not provided, there is no maximum.
90
+ */
91
+ max?: number;
92
+
93
+ /**
94
+ * Optional. Specifies whether the entire stepper control or specific parts are disabled.
95
+ * Can be a single boolean (to disable all) or an array of booleans (to control individual components).
96
+ */
97
+ disabled?: boolean | boolean[];
98
+
99
+ /**
100
+ * Optional. The step increment used for each button press. Defaults to 1 if not provided.
101
+ */
102
+ step?: number;
103
+
104
+ /**
105
+ * Optional. Specifies the size of the stepper components. If not provided, a default size is used.
106
+ */
107
+ size?: 'large' | 'small';
108
+
109
+ /**
110
+ * Optional. If `true`, the value display is editable, and users can input values directly.
111
+ * Defaults to `false` if not provided.
112
+ */
113
+ editable?: boolean;
114
+
115
+ /**
116
+ * Optional. A callback function that is triggered when the stepper's value changes, receiving the new value as a parameter.
117
+ */
118
+ onValueChange?: (value: number) => void;
119
+
120
+ /**
121
+ * Optional. Custom styles to apply to the Stepper component. Can be used to adjust the visual presentation or layout.
122
+ */
123
+ style?: ViewStyle | ViewStyle[];
124
+
125
+ /**
126
+ * Optional. Assign accessibility label to the button for automated testing.
127
+ */
128
+ accessibilityLabel?: string;
129
+ };
130
+
131
+ /**
132
+ * Specifies the disabled state for each part of the Stepper component, allowing
133
+ * individual parts to be disabled as needed.
134
+ */
135
+ export type DisabledStatus = {
136
+ /**
137
+ * If `true`, the increment (plus) button is disabled.
138
+ */
139
+ plus: boolean;
140
+
141
+ /**
142
+ * If `true`, the decrement (minus) button is disabled.
143
+ */
144
+ minus: boolean;
145
+
146
+ /**
147
+ * If `true`, the value display (number) is disabled, preventing direct input.
148
+ */
149
+ number: boolean;
150
+ };
151
+
152
+ export type StepperRef = {
153
+ setStepValue: (value: number) => void;
154
+ };
@@ -0,0 +1,86 @@
1
+ import {Colors, Icon, Text, useScaleSize, Radius} from '@momo-kits/foundation';
2
+ import React, {FC} from 'react';
3
+ import {StyleProp, View, ViewStyle} from 'react-native';
4
+ import styles from './styles';
5
+ import {StepIconProps} from './types';
6
+
7
+ const StepIcon: FC<StepIconProps> = ({
8
+ size = 'large',
9
+ backgroundColor,
10
+ borderColor,
11
+ error,
12
+ style,
13
+ useNumber,
14
+ index,
15
+ isActive,
16
+ customIcon,
17
+ }) => {
18
+ const scaledSize = useScaleSize(16);
19
+ const scaledRadiusM = useScaleSize(Radius.M);
20
+
21
+ let iconStyle: StyleProp<ViewStyle> = styles.stepIcon;
22
+ let checkIconSize = 16;
23
+ let contentIconSize = 8;
24
+
25
+ if (size === 'small') {
26
+ iconStyle = [
27
+ styles.stepIcon,
28
+ {
29
+ width: scaledSize,
30
+ height: scaledSize,
31
+ borderWidth: 2,
32
+ borderRadius: scaledRadiusM,
33
+ },
34
+ ];
35
+ checkIconSize = 12;
36
+ contentIconSize = 6;
37
+ }
38
+
39
+ let iconSource = error ? 'navigation_close' : 'notifications_check';
40
+
41
+ const renderIcon = () => {
42
+ // useNumber is true, render number
43
+ if (useNumber) {
44
+ return (
45
+ <Text
46
+ style={{position: 'absolute'}}
47
+ typography={'header_xs_semibold'}
48
+ color={Colors.black_01}>
49
+ {index + 1}
50
+ </Text>
51
+ );
52
+ }
53
+
54
+ if (isActive) {
55
+ // customIcon is true, render customIcon
56
+ if (customIcon) {
57
+ return (
58
+ <Icon
59
+ size={checkIconSize}
60
+ color={Colors.black_01}
61
+ source={customIcon}
62
+ />
63
+ );
64
+ }
65
+ // render default Icon
66
+ return (
67
+ <View
68
+ style={[styles.currIcon, {width: contentIconSize, aspectRatio: 1}]}
69
+ />
70
+ );
71
+ }
72
+
73
+ return (
74
+ <Icon size={checkIconSize} color={Colors.black_01} source={iconSource} />
75
+ );
76
+ };
77
+
78
+ return (
79
+ <View
80
+ style={[iconStyle, styles.center, {backgroundColor, borderColor}, style]}>
81
+ {renderIcon()}
82
+ </View>
83
+ );
84
+ };
85
+
86
+ export default StepIcon;