@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,103 @@
1
+ import React, { useContext } from 'react';
2
+ import { Dimensions, View, ViewProps } from 'react-native';
3
+ import { useGridSystem } from './utils';
4
+ import { GridContextProps } from './types';
5
+ import { GridContext } from './index';
6
+ import { ApplicationContext, MiniAppContext } from '../Context';
7
+ import styles from './styles';
8
+ import { Image } from '../Image';
9
+ import { Spacing } from '../Consts';
10
+
11
+ export interface SectionProps extends ViewProps {
12
+ /**
13
+ * Optional. If `true`, the Section component will be displayed in an expanded state.
14
+ * Defaults to `false` if not provided.
15
+ */
16
+ expanded?: boolean;
17
+
18
+ /**
19
+ * Optional. If `true`, margin will be applied to the Section component.
20
+ * Defaults to `false` if not provided.
21
+ */
22
+ useMargin?: boolean;
23
+
24
+ /**
25
+ * Optional. Background image for the Section component.
26
+ */
27
+ backgroundImage?: string;
28
+ }
29
+
30
+ const Section: React.FC<SectionProps> = ({
31
+ children,
32
+ useMargin = true,
33
+ backgroundImage,
34
+ style,
35
+ ...props
36
+ }) => {
37
+ const { showGrid } = useContext(ApplicationContext);
38
+ const { numberOfColumns } = useGridSystem();
39
+
40
+ const gutterSize = 12;
41
+ let margin = 0;
42
+ if (useMargin) {
43
+ margin = 12;
44
+ }
45
+ let widthSection = Dimensions.get('window').width;
46
+ if (useMargin) {
47
+ widthSection = widthSection - margin * 2;
48
+ }
49
+
50
+ const sizePerSpan =
51
+ (widthSection - gutterSize * (numberOfColumns - 1)) / numberOfColumns -
52
+ 1 / numberOfColumns;
53
+
54
+ const gridContext: GridContextProps = {
55
+ numberOfColumns,
56
+ gutterSize: Spacing.M,
57
+ sizePerSpan,
58
+ getSizeSpan: span => {
59
+ return span * sizePerSpan + gutterSize * (span - 1);
60
+ },
61
+ };
62
+
63
+ /**
64
+ * render overlay only dev mode
65
+ */
66
+ const renderOverlay = () => {
67
+ return <View pointerEvents={'none'} style={styles.boxGridSection} />;
68
+ };
69
+
70
+ return (
71
+ <GridContext.Provider value={gridContext}>
72
+ <View
73
+ {...props}
74
+ onLayout={undefined}
75
+ style={[
76
+ style,
77
+ styles.protectedStyle,
78
+ {
79
+ width: widthSection,
80
+ marginHorizontal: margin,
81
+ flexDirection: 'row',
82
+ flexWrap: 'wrap',
83
+ gap: gutterSize,
84
+ },
85
+ ]}
86
+ >
87
+ {!!backgroundImage && (
88
+ <Image
89
+ source={{ uri: backgroundImage }}
90
+ style={styles.imageBackground}
91
+ />
92
+ )}
93
+ {/* Render only allowed children as valid React elements */}
94
+ {children}
95
+ {showGrid && renderOverlay()}
96
+ </View>
97
+ </GridContext.Provider>
98
+ );
99
+ };
100
+
101
+ Section.displayName = 'Section';
102
+
103
+ export default Section;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { TrackingScopeContext } from '../Context';
3
+
4
+ const TrackingScope = ({
5
+ scopeName,
6
+ children,
7
+ }: {
8
+ scopeName: string;
9
+ children: any;
10
+ }) => {
11
+ return (
12
+ <TrackingScopeContext.Provider value={{ scopeName }}>
13
+ {children}
14
+ </TrackingScopeContext.Provider>
15
+ );
16
+ };
17
+
18
+ export { TrackingScope };
@@ -0,0 +1,34 @@
1
+ import Card from './Card';
2
+ import Section from './Section';
3
+ import GridSystem from './GridSystem';
4
+ import { validateChildren } from './utils';
5
+ import { createContext } from 'react';
6
+ import { GridContextProps } from './types';
7
+ import Item from './Item';
8
+ import ItemList from './ItemList';
9
+ import ItemSectionList from './ItemSectionList';
10
+ import Screen from './Screen';
11
+ import { TrackingScope } from './TrackingScope';
12
+ import { ScreenProps } from './Screen';
13
+
14
+ const GridContext = createContext<GridContextProps>({
15
+ numberOfColumns: 12,
16
+ gutterSize: 12,
17
+ sizePerSpan: 0,
18
+ getSizeSpan: () => 0,
19
+ });
20
+
21
+ export type { ScreenProps };
22
+
23
+ export {
24
+ GridContext,
25
+ Card,
26
+ Section,
27
+ GridSystem,
28
+ validateChildren,
29
+ Item,
30
+ ItemList,
31
+ ItemSectionList,
32
+ Screen,
33
+ TrackingScope,
34
+ };
@@ -0,0 +1,95 @@
1
+ import { Platform, StyleSheet } from 'react-native';
2
+ import { Colors, Radius, Spacing } from '../Consts';
3
+
4
+ export default StyleSheet.create({
5
+ screenBanner: {
6
+ width: '100%',
7
+ },
8
+ boxGrid: {
9
+ position: 'absolute',
10
+ top: 0,
11
+ bottom: 0,
12
+ left: 0,
13
+ right: 0,
14
+ borderColor: 'red',
15
+ borderWidth: 1,
16
+ zIndex: 99,
17
+ },
18
+ boxGridSection: {
19
+ position: 'absolute',
20
+ top: 0,
21
+ bottom: 0,
22
+ left: 0,
23
+ right: 0,
24
+ borderColor: 'blue',
25
+ borderWidth: 2,
26
+ zIndex: 100,
27
+ },
28
+ boxGridCard: {
29
+ position: 'absolute',
30
+ top: 0,
31
+ bottom: 0,
32
+ left: 0,
33
+ right: 0,
34
+ borderColor: 'green',
35
+ borderWidth: 2,
36
+ zIndex: 100,
37
+ },
38
+ card: {
39
+ flexDirection: 'row',
40
+ flexWrap: 'wrap',
41
+ borderRadius: Radius.M,
42
+ padding: 12,
43
+ },
44
+ item: {
45
+ margin: undefined,
46
+ marginTop: undefined,
47
+ marginBottom: undefined,
48
+ marginLeft: undefined,
49
+ marginRight: undefined,
50
+ marginVertical: undefined,
51
+ marginHorizontal: undefined,
52
+ },
53
+ imageBackground: {
54
+ position: 'absolute',
55
+ top: 0,
56
+ bottom: 0,
57
+ left: 0,
58
+ right: 0,
59
+ },
60
+ protectedStyle: {
61
+ marginTop: undefined,
62
+ marginBottom: undefined,
63
+ marginLeft: undefined,
64
+ marginRight: undefined,
65
+ paddingTop: undefined,
66
+ paddingBottom: undefined,
67
+ paddingLeft: undefined,
68
+ paddingRight: undefined,
69
+ padding: undefined,
70
+ margin: undefined,
71
+ marginHorizontal: undefined,
72
+ marginVertical: undefined,
73
+ paddingHorizontal: undefined,
74
+ paddingVertical: undefined,
75
+ },
76
+ shadow: {
77
+ paddingTop: Spacing.S,
78
+ ...Platform.select({
79
+ ios: {
80
+ shadowColor: Colors.black_17,
81
+ shadowOffset: {
82
+ width: 2,
83
+ height: 2,
84
+ },
85
+ shadowOpacity: 0.25,
86
+ shadowRadius: 10,
87
+ },
88
+ android: {
89
+ shadowColor: Colors.black_20,
90
+ elevation: 24,
91
+ },
92
+ }),
93
+ },
94
+ debugBaseLine: { borderWidth: 1, borderColor: Colors.green_06 },
95
+ });
@@ -0,0 +1,40 @@
1
+ import { NavigationOptions, SearchHeaderProps } from '../Application/types';
2
+
3
+ export type HeaderType = 'default' | 'extended' | 'none';
4
+
5
+ export type ScreenRef = {
6
+ /**
7
+ * Set options for screen
8
+ * @param params
9
+ */
10
+ setOptions: (params: NavigationOptions) => void;
11
+
12
+ /**
13
+ * Show search header
14
+ * @param params
15
+ */
16
+ setSearchHeader: (params: SearchHeaderProps) => void;
17
+ };
18
+ export type SpanNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
19
+
20
+ export type GridContextProps = {
21
+ /**
22
+ * Represents the number of columns in the grid.
23
+ */
24
+ numberOfColumns: number;
25
+
26
+ /**
27
+ * Represents the size of the gutter between grid items.
28
+ */
29
+ gutterSize: number;
30
+
31
+ /**
32
+ * Represents the size (width or height) per span number.
33
+ */
34
+ sizePerSpan: number;
35
+
36
+ /**
37
+ * A function that receives a span number and returns the calculated size for that span.
38
+ */
39
+ getSizeSpan: (span: number) => number;
40
+ };
@@ -0,0 +1,47 @@
1
+ import React, { Fragment, ReactElement } from 'react';
2
+ import { useWindowDimensions } from 'react-native';
3
+
4
+ /**
5
+ * validate children type
6
+ * @param children
7
+ * @param childrenTypes
8
+ */
9
+ const validateChildren = (
10
+ children: React.ReactNode | React.ReactNode[],
11
+ childrenTypes: Array<React.ReactNode>,
12
+ ) => {
13
+ const validateType = (child: React.ReactElement) => {
14
+ const valid = childrenTypes.some(
15
+ childrenType => child?.type === childrenType || child?.type === Fragment,
16
+ );
17
+ if (!valid) {
18
+ console.warn(
19
+ `Wrong children type for this component, expected are ${childrenTypes
20
+ .map(item => item)
21
+ .join(', ')}.`,
22
+ );
23
+ }
24
+ };
25
+ if (Array.isArray(children)) {
26
+ const flattenChildren = React.Children.toArray(children).filter(
27
+ (child): child is ReactElement => React.isValidElement(child),
28
+ );
29
+ for (const child of flattenChildren) {
30
+ validateType(child);
31
+ }
32
+ return flattenChildren;
33
+ } else {
34
+ if (React.isValidElement(children)) {
35
+ validateType(children as ReactElement);
36
+ }
37
+ return children;
38
+ }
39
+ };
40
+
41
+ const useGridSystem = () => {
42
+ const windowSize = useWindowDimensions();
43
+ const numberOfColumns = windowSize.width > 600 ? 24 : 12;
44
+ return { numberOfColumns };
45
+ };
46
+
47
+ export { useGridSystem, validateChildren };
@@ -0,0 +1,37 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import AnimatedLottieView from 'lottie-react-native';
3
+ import animation from '../Assets/DotAnimation.json';
4
+ import { ApplicationContext } from '../Context';
5
+ import { hexToRGBA } from './utils';
6
+ import { LoaderProps } from './types';
7
+
8
+ const DotLoader: FC<LoaderProps> = ({ color, style }) => {
9
+ const { theme } = useContext(ApplicationContext);
10
+
11
+ const arrayColor = [
12
+ color ?? theme.colors.primary,
13
+ theme.colors.background.surface,
14
+ color ?? theme.colors.primary,
15
+ ];
16
+
17
+ let source: any = animation;
18
+ source.assets[0].layers[0].shapes[0].it.forEach((item: any) => {
19
+ if (item.ty === 'fl' && item.c) {
20
+ item.c.k.forEach((fillItem: any, index: number) => {
21
+ if (typeof fillItem !== 'number') {
22
+ fillItem.s = hexToRGBA(arrayColor[index] as string);
23
+ }
24
+ });
25
+ }
26
+ });
27
+
28
+ return (
29
+ <AnimatedLottieView
30
+ source={source}
31
+ style={[{ width: 52, height: 18 }, style]}
32
+ autoPlay
33
+ />
34
+ );
35
+ };
36
+
37
+ export default DotLoader;
@@ -0,0 +1,13 @@
1
+ import React, {FC} from 'react';
2
+ import {LoaderProps} from './types';
3
+ import DotLoader from './DotLoader';
4
+ import Spinner from './Spinner';
5
+
6
+ const Loader: FC<LoaderProps> = ({type = 'dot', ...props}) => {
7
+ if (type === 'spinner') {
8
+ return <Spinner {...props} key={props.color} />;
9
+ }
10
+ return <DotLoader {...props} key={props.color} />;
11
+ };
12
+
13
+ export default Loader;
@@ -0,0 +1,45 @@
1
+ import React, { FC, useContext, useEffect, useRef } from 'react';
2
+ import { Animated, View } from 'react-native';
3
+ import styles from './styles';
4
+ import { ProgressBarProps } from './types';
5
+ import { ApplicationContext } from '../Context';
6
+ import { Radius } from '../Consts';
7
+
8
+ const ProgressBar: FC<ProgressBarProps> = ({ percent = 0, style }) => {
9
+ const { theme } = useContext(ApplicationContext);
10
+ const animation = useRef(new Animated.Value(0)).current;
11
+
12
+ useEffect(() => {
13
+ Animated.timing(animation, {
14
+ toValue: percent,
15
+ duration: 200,
16
+ useNativeDriver: false,
17
+ }).start();
18
+ }, [percent, animation]);
19
+
20
+ const width = animation.interpolate({
21
+ inputRange: [0, 100],
22
+ outputRange: ['0%', '100%'],
23
+ });
24
+
25
+ return (
26
+ <View
27
+ style={[
28
+ style,
29
+ styles.progressContainer,
30
+ { backgroundColor: theme.colors.background.default },
31
+ ]}
32
+ >
33
+ <Animated.View
34
+ style={{
35
+ height: 4,
36
+ borderRadius: Radius.XXS,
37
+ width,
38
+ backgroundColor: theme.colors.primary,
39
+ }}
40
+ />
41
+ </View>
42
+ );
43
+ };
44
+
45
+ export default ProgressBar;
@@ -0,0 +1,29 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import AnimatedLottieView from 'lottie-react-native';
3
+ import animation from '../Assets/SpinnerAnimation.json';
4
+ import { hexToRGBA } from './utils';
5
+ import { ApplicationContext } from '../Context';
6
+ import { LoaderProps } from './types';
7
+
8
+ const Spinner: FC<LoaderProps> = ({ color, style }) => {
9
+ const { theme } = useContext(ApplicationContext);
10
+
11
+ let source: any = animation;
12
+ source.assets[0].layers.forEach((layer: any) => {
13
+ layer.shapes[0].it.forEach((item: any) => {
14
+ if (item.ty === 'fl' && item.c) {
15
+ item.c.k = hexToRGBA(color ?? theme.colors.primary);
16
+ }
17
+ });
18
+ });
19
+
20
+ return (
21
+ <AnimatedLottieView
22
+ source={source}
23
+ style={[{ width: 24, height: 24 }, style]}
24
+ autoPlay
25
+ />
26
+ );
27
+ };
28
+
29
+ export default Spinner;
@@ -0,0 +1,6 @@
1
+ import Loader from './Loader';
2
+ import ProgressBar from './ProgressBar';
3
+ import {LoaderProps, ProgressBarProps} from './types';
4
+
5
+ export {Loader, ProgressBar};
6
+ export type {LoaderProps, ProgressBarProps};
@@ -0,0 +1,10 @@
1
+ import {StyleSheet} from 'react-native';
2
+ import {Radius} from '../Consts';
3
+
4
+ export default StyleSheet.create({
5
+ progressContainer: {
6
+ width: '100%',
7
+ height: 4,
8
+ borderRadius: Radius.XXS,
9
+ },
10
+ });
@@ -0,0 +1,35 @@
1
+ import {ViewStyle} from 'react-native';
2
+
3
+ export type LoaderProps = {
4
+ /**
5
+ * Optional. Type of loader, can be 'dot' or 'spinner'.
6
+ */
7
+ type?: 'dot' | 'spinner';
8
+
9
+ /**
10
+ * Optional. Color for the loader.
11
+ */
12
+ color?: string;
13
+
14
+ /**
15
+ * Optional. Style or styles for the loader component.
16
+ */
17
+ style?: ViewStyle | ViewStyle[];
18
+ };
19
+
20
+ export type ProgressBarProps = {
21
+ /**
22
+ * Required. Percentage value to display on the progress bar.
23
+ */
24
+ percent: number;
25
+
26
+ /**
27
+ * Optional. Color for the progress bar.
28
+ */
29
+ color?: string;
30
+
31
+ /**
32
+ * Optional. Style or styles for the progress bar component.
33
+ */
34
+ style?: ViewStyle | ViewStyle[];
35
+ };
@@ -0,0 +1,25 @@
1
+ export const hexToRGBA = (hex: string) => {
2
+ const normalizedHex = hex.startsWith('#') ? hex.slice(1) : hex;
3
+
4
+ if (!/^([0-9A-Fa-f]{3}){1,2}$/.test(normalizedHex)) {
5
+ throw new Error('Invalid HEX color.');
6
+ }
7
+
8
+ const expandedHex =
9
+ normalizedHex.length === 3
10
+ ? normalizedHex
11
+ .split('')
12
+ .map(val => val + val)
13
+ .join('')
14
+ : normalizedHex;
15
+
16
+ const hexMatch = expandedHex.match(/.{2}/g);
17
+
18
+ if (!hexMatch) {
19
+ throw new Error('HEX parsing failed.');
20
+ }
21
+
22
+ return hexMatch
23
+ .map(val => parseInt(val, 16))
24
+ .map(val => Math.round((val / 255) * 1000) / 1000);
25
+ };
@@ -0,0 +1,19 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import { Animated } from 'react-native';
3
+ import styles from './styles';
4
+ import { DotProps } from './types';
5
+ import { ApplicationContext } from '../Context';
6
+
7
+ const Dot: FC<DotProps> = ({ active, style }) => {
8
+ const { theme } = useContext(ApplicationContext);
9
+ const dotStyle = active
10
+ ? [styles.activeDot]
11
+ : [
12
+ styles.inactiveDot,
13
+ { backgroundColor: theme.colors.background.pressed },
14
+ ];
15
+
16
+ return <Animated.View style={[style, dotStyle]} />;
17
+ };
18
+
19
+ export default Dot;
@@ -0,0 +1,44 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import { View } from 'react-native';
3
+ import { ChildPaginationProps } from './types';
4
+ import Dot from './Dot';
5
+ import styles from './styles';
6
+ import { Spacing } from '../Consts';
7
+ import { ApplicationContext, MiniAppContext } from '../Context';
8
+
9
+ const PaginationDot: FC<ChildPaginationProps> = ({
10
+ dataLength = 2,
11
+ activeIndex = 0,
12
+ style,
13
+ }) => {
14
+ const { theme } = useContext(ApplicationContext);
15
+ const context = useContext<any>(MiniAppContext);
16
+
17
+ const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
18
+
19
+ const renderDots = () => {
20
+ const dots: React.ReactElement[] = [];
21
+ for (let i = 0; i < dataLength; i++) {
22
+ dots.push(
23
+ <Dot
24
+ key={`Dot${i}`}
25
+ style={[
26
+ i !== dataLength - 1 ? { marginRight: Spacing.XS } : {},
27
+ { backgroundColor: theme.colors.primary },
28
+ ]}
29
+ active={activeIndex === i}
30
+ />,
31
+ );
32
+ }
33
+ return dots;
34
+ };
35
+ return (
36
+ <View
37
+ style={[style, styles.row, showBaseLineDebug && styles.debugBaseLine]}
38
+ >
39
+ <View style={styles.paginationPinkContainer}>{renderDots()}</View>
40
+ </View>
41
+ );
42
+ };
43
+
44
+ export default PaginationDot;
@@ -0,0 +1,31 @@
1
+ import React, { FC, useContext } from 'react';
2
+ import { View } from 'react-native';
3
+ import { ChildPaginationProps } from './types';
4
+ import styles from './styles';
5
+ import { Text } from '../Text';
6
+ import { Colors } from '../Consts';
7
+ import { MiniAppContext } from '../Context';
8
+
9
+ const PaginationNumber: FC<ChildPaginationProps> = ({
10
+ activeIndex = 0,
11
+ dataLength = 2,
12
+ style,
13
+ }) => {
14
+ const context = useContext<any>(MiniAppContext);
15
+
16
+ const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
17
+
18
+ return (
19
+ <View
20
+ style={[style, styles.row, showBaseLineDebug && styles.debugBaseLine]}
21
+ >
22
+ <View style={styles.paginationNumberContainer}>
23
+ <Text color={Colors.black_01} typography={'label_default_medium'}>{`${
24
+ activeIndex + 1
25
+ }/${dataLength}`}</Text>
26
+ </View>
27
+ </View>
28
+ );
29
+ };
30
+
31
+ export default PaginationNumber;