@hero-design/rn 7.3.1 → 7.5.0

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 (302) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/assets/fonts/hero-icons.ttf +0 -0
  3. package/es/index.js +5630 -4565
  4. package/lib/assets/fonts/hero-icons.ttf +0 -0
  5. package/lib/index.js +5636 -4564
  6. package/package.json +11 -9
  7. package/playground/.detoxrc.json +49 -0
  8. package/playground/.prettierrc.json +8 -0
  9. package/playground/app.json +9 -0
  10. package/playground/babel.config.js +63 -0
  11. package/playground/e2e/config.json +9 -0
  12. package/playground/e2e/environment.js +23 -0
  13. package/playground/e2e/firstTest.e2e.js +16 -0
  14. package/{expoEntry.js → playground/expoEntry.js} +1 -1
  15. package/playground/fonts/be-vietnam-pro-light.ttf +0 -0
  16. package/playground/fonts/be-vietnam-pro-regular.ttf +0 -0
  17. package/playground/fonts/be-vietnam-pro-semibold.ttf +0 -0
  18. package/playground/fonts/hero-icons.ttf +0 -0
  19. package/playground/index.js +7 -0
  20. package/playground/ios/MobileHeroDesignPlayground/AppDelegate.h +9 -0
  21. package/playground/ios/MobileHeroDesignPlayground/AppDelegate.m +75 -0
  22. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/AppIcon.appiconset/Contents.json +38 -0
  23. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/Contents.json +6 -0
  24. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/SplashScreenBackground.imageset/Contents.json +21 -0
  25. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/SplashScreenBackground.imageset/image.png +0 -0
  26. package/playground/ios/MobileHeroDesignPlayground/Info.plist +85 -0
  27. package/playground/ios/MobileHeroDesignPlayground/MobileHeroDesignPlayground-Bridging-Header.h +3 -0
  28. package/playground/ios/MobileHeroDesignPlayground/MobileHeroDesignPlayground.entitlements +8 -0
  29. package/playground/ios/MobileHeroDesignPlayground/SplashScreen.storyboard +40 -0
  30. package/playground/ios/MobileHeroDesignPlayground/Supporting/Expo.plist +16 -0
  31. package/playground/ios/MobileHeroDesignPlayground/main.m +10 -0
  32. package/playground/ios/MobileHeroDesignPlayground/noop-file.swift +4 -0
  33. package/playground/ios/MobileHeroDesignPlayground.xcodeproj/project.pbxproj +515 -0
  34. package/playground/ios/MobileHeroDesignPlayground.xcodeproj/xcshareddata/xcschemes/MobileHeroDesignPlayground.xcscheme +88 -0
  35. package/playground/ios/MobileHeroDesignPlayground.xcworkspace/contents.xcworkspacedata +10 -0
  36. package/playground/ios/MobileHeroDesignPlayground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  37. package/playground/ios/Podfile +49 -0
  38. package/playground/ios/Podfile.lock +478 -0
  39. package/playground/ios/Podfile.properties.json +3 -0
  40. package/{metro.config.js → playground/metro.config.js} +10 -2
  41. package/playground/package.json +63 -0
  42. package/playground/src/Alert.tsx +80 -0
  43. package/playground/{index.tsx → src/App.tsx} +63 -29
  44. package/playground/{components → src}/Avatar.tsx +1 -1
  45. package/playground/{components → src}/Badge.tsx +1 -1
  46. package/playground/{components → src}/BottomNavigation.tsx +1 -1
  47. package/playground/src/BottomSheet.tsx +43 -0
  48. package/playground/{components → src}/Button.tsx +1 -1
  49. package/playground/{components → src}/Card.tsx +1 -1
  50. package/playground/{components → src}/Collapse.tsx +1 -1
  51. package/playground/src/ContentNavigator.tsx +65 -0
  52. package/playground/{components → src}/Divider.tsx +1 -1
  53. package/playground/{components → src}/Drawer.tsx +1 -1
  54. package/playground/{components → src}/FAB.tsx +1 -1
  55. package/playground/{components → src}/Icon.tsx +7 -3
  56. package/playground/{components → src}/IconButton.tsx +12 -1
  57. package/playground/src/MultipleThemes.tsx +34 -0
  58. package/playground/{components → src}/Progress.tsx +1 -1
  59. package/playground/src/Radio.tsx +25 -0
  60. package/playground/src/SectionHeading.tsx +68 -0
  61. package/playground/src/Spinner.tsx +19 -0
  62. package/playground/{components → src}/Tabs.tsx +1 -1
  63. package/playground/{components → src}/Tag.tsx +1 -1
  64. package/playground/src/TextInput.tsx +14 -0
  65. package/playground/{components → src}/Typography.tsx +1 -1
  66. package/playground/src/emotion.d.ts +7 -0
  67. package/playground/tsconfig.json +21 -0
  68. package/src/components/Alert/StyledAlert.tsx +48 -0
  69. package/src/components/Alert/__tests__/__snapshots__/index.spec.tsx.snap +686 -0
  70. package/src/components/Alert/__tests__/index.spec.tsx +83 -0
  71. package/src/components/Alert/index.tsx +109 -0
  72. package/src/components/BottomSheet/Footer.tsx +19 -0
  73. package/src/components/BottomSheet/Header.tsx +49 -0
  74. package/src/components/BottomSheet/StyledBottomSheet.tsx +75 -0
  75. package/src/components/BottomSheet/__tests__/__snapshots__/index.spec.tsx.snap +531 -0
  76. package/src/components/BottomSheet/__tests__/index.spec.tsx +107 -0
  77. package/src/components/BottomSheet/index.tsx +171 -0
  78. package/src/components/Button/IconButton.tsx +11 -1
  79. package/src/components/Card/index.tsx +1 -1
  80. package/src/components/Collapse/StyledCollapse.tsx +11 -2
  81. package/src/components/Collapse/__tests__/__snapshots__/index.spec.tsx.snap +36 -31
  82. package/src/components/Collapse/__tests__/index.spec.tsx +1 -13
  83. package/src/components/Collapse/index.tsx +20 -50
  84. package/src/components/ContentNavigator/StyledContentNavigator.tsx +15 -0
  85. package/src/components/ContentNavigator/__tests__/StyledContentNavigator.spec.tsx +19 -0
  86. package/src/components/ContentNavigator/__tests__/__snapshots__/StyledContentNavigator.spec.tsx.snap +43 -0
  87. package/src/components/ContentNavigator/__tests__/__snapshots__/index.spec.tsx.snap +217 -0
  88. package/src/components/ContentNavigator/__tests__/index.spec.tsx +74 -0
  89. package/src/components/ContentNavigator/index.tsx +65 -0
  90. package/src/components/Icon/HeroIcon/index.tsx +13 -2
  91. package/src/components/Icon/HeroIcon/selection.json +1 -1
  92. package/src/components/Icon/IconList.ts +8 -0
  93. package/src/components/Icon/index.tsx +8 -1
  94. package/src/components/Radio/Radio.tsx +51 -0
  95. package/src/components/Radio/RadioGroup.tsx +50 -0
  96. package/src/components/Radio/StyledRadio.tsx +42 -0
  97. package/src/components/Radio/__tests__/Radio.spec.tsx +38 -0
  98. package/src/components/Radio/__tests__/RadioGroup.spec.tsx +36 -0
  99. package/src/components/Radio/__tests__/StyledRadio.spec.tsx +43 -0
  100. package/src/components/Radio/__tests__/__snapshots__/Radio.spec.tsx.snap +160 -0
  101. package/src/components/Radio/__tests__/__snapshots__/RadioGroup.spec.tsx.snap +248 -0
  102. package/src/components/Radio/__tests__/__snapshots__/StyledRadio.spec.tsx.snap +124 -0
  103. package/src/components/Radio/index.tsx +5 -0
  104. package/src/components/SectionHeading/StyledHeading.tsx +24 -0
  105. package/src/components/SectionHeading/__tests__/StyledHeading.tsx +28 -0
  106. package/src/components/SectionHeading/__tests__/__snapshots__/StyledHeading.tsx.snap +48 -0
  107. package/src/components/SectionHeading/__tests__/__snapshots__/index.spec.tsx.snap +208 -0
  108. package/src/components/SectionHeading/__tests__/index.spec.tsx +39 -0
  109. package/src/components/SectionHeading/index.tsx +93 -0
  110. package/src/components/Spinner/AnimatedSpinner.tsx +55 -0
  111. package/src/components/Spinner/StyledSpinner.tsx +59 -0
  112. package/src/components/Spinner/__tests__/AnimatedSpinner.spec.tsx +11 -0
  113. package/src/components/Spinner/__tests__/StyledSpinner.spec.tsx +56 -0
  114. package/src/components/Spinner/__tests__/__snapshots__/AnimatedSpinner.spec.tsx.snap +118 -0
  115. package/src/components/Spinner/__tests__/__snapshots__/StyledSpinner.spec.tsx.snap +235 -0
  116. package/src/components/Spinner/__tests__/__snapshots__/index.spec.tsx.snap +141 -0
  117. package/src/components/Spinner/__tests__/index.spec.tsx +12 -0
  118. package/src/components/Spinner/index.tsx +22 -0
  119. package/src/components/TextInput/StyledTextInput.tsx +34 -0
  120. package/src/components/TextInput/__tests__/StyledTextInput.spec.tsx +33 -0
  121. package/src/components/TextInput/__tests__/__snapshots__/StyledTextInput.spec.tsx.snap +88 -0
  122. package/src/components/TextInput/__tests__/index.spec.tsx +16 -0
  123. package/src/components/TextInput/index.tsx +61 -0
  124. package/src/index.ts +14 -0
  125. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +117 -0
  126. package/src/theme/components/alert.ts +32 -0
  127. package/src/theme/components/bottomSheet.ts +34 -0
  128. package/src/theme/components/contentNavigator.ts +11 -0
  129. package/src/theme/components/icon.ts +1 -0
  130. package/src/theme/components/radio.ts +34 -0
  131. package/src/theme/components/spinner.ts +21 -0
  132. package/src/theme/components/textInput.ts +32 -0
  133. package/src/theme/global/borders.ts +6 -0
  134. package/src/theme/global/colors.ts +2 -0
  135. package/src/theme/index.ts +25 -7
  136. package/tsconfig.json +11 -3
  137. package/types/components/Alert/StyledAlert.d.ts +37 -0
  138. package/types/{src/components/Avatar → components/Alert}/__tests__/index.spec.d.ts +0 -0
  139. package/types/components/Alert/index.d.ts +42 -0
  140. package/types/{src/components → components}/Avatar/StyledAvatar.d.ts +0 -1
  141. package/types/{src/components → components}/Avatar/__tests__/StyledAvatar.spec.d.ts +0 -0
  142. package/types/{src/components/BottomNavigation → components/Avatar}/__tests__/index.spec.d.ts +0 -0
  143. package/types/{src/components → components}/Avatar/index.d.ts +0 -0
  144. package/types/{src/components → components}/Badge/Status.d.ts +0 -0
  145. package/types/{src/components → components}/Badge/StyledBadge.d.ts +0 -1
  146. package/types/{src/components → components}/Badge/__tests__/Badge.spec.d.ts +0 -0
  147. package/types/{src/components → components}/Badge/__tests__/Status.spec.d.ts +0 -0
  148. package/types/{src/components → components}/Badge/index.d.ts +0 -0
  149. package/types/{src/components → components}/BottomNavigation/StyledBottomNavigation.d.ts +0 -1
  150. package/types/{src/components/Button/LoadingIndicator → components/BottomNavigation}/__tests__/index.spec.d.ts +0 -0
  151. package/types/{src/components → components}/BottomNavigation/index.d.ts +0 -0
  152. package/types/components/BottomSheet/Footer.d.ts +6 -0
  153. package/types/components/BottomSheet/Header.d.ts +8 -0
  154. package/types/components/BottomSheet/StyledBottomSheet.d.ts +46 -0
  155. package/types/{src/components/Button → components/BottomSheet}/__tests__/index.spec.d.ts +0 -0
  156. package/types/components/BottomSheet/index.d.ts +51 -0
  157. package/types/{src/components → components}/Button/Button.d.ts +0 -0
  158. package/types/{src/components → components}/Button/IconButton.d.ts +5 -1
  159. package/types/{src/components → components}/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +0 -1
  160. package/types/{src/components → components}/Button/LoadingIndicator/__tests__/StyledLoadingIndicator.spec.d.ts +0 -0
  161. package/types/{src/components/Card → components/Button/LoadingIndicator}/__tests__/index.spec.d.ts +0 -0
  162. package/types/{src/components → components}/Button/LoadingIndicator/index.d.ts +0 -0
  163. package/types/{src/components → components}/Button/StyledButton.d.ts +0 -1
  164. package/types/{src/components → components}/Button/__tests__/Button.spec.d.ts +0 -0
  165. package/types/{src/components → components}/Button/__tests__/IconButton.spec.d.ts +0 -0
  166. package/types/{src/components → components}/Button/__tests__/StyledButton.spec.d.ts +0 -0
  167. package/types/{src/components → components}/Button/index.d.ts +0 -0
  168. package/types/{src/components → components}/Card/StyledCard.d.ts +0 -1
  169. package/types/{src/components → components}/Card/__tests__/StyledCard.spec.d.ts +0 -0
  170. package/types/{src/components/Collapse → components/Card}/__tests__/index.spec.d.ts +0 -0
  171. package/types/{src/components → components}/Card/index.d.ts +0 -0
  172. package/types/{src/components → components}/Collapse/StyledCollapse.d.ts +12 -2
  173. package/types/{src/components → components}/Collapse/__tests__/StyledCollapse.spec.d.ts +0 -0
  174. package/types/{src/components/Drawer → components/Collapse}/__tests__/index.spec.d.ts +0 -0
  175. package/types/{src/components → components}/Collapse/index.d.ts +1 -5
  176. package/types/components/ContentNavigator/StyledContentNavigator.d.ts +12 -0
  177. package/types/{src/components/Divider/__tests__/StyledDivider.spec.d.ts → components/ContentNavigator/__tests__/StyledContentNavigator.spec.d.ts} +0 -0
  178. package/types/{src/components/FAB → components/ContentNavigator}/__tests__/index.spec.d.ts +0 -0
  179. package/types/components/ContentNavigator/index.d.ts +33 -0
  180. package/types/{src/components → components}/Divider/StyledDivider.d.ts +0 -1
  181. package/types/{src/components/FAB/__tests__/AnimatedFABIcon.spec.d.ts → components/Divider/__tests__/StyledDivider.spec.d.ts} +0 -0
  182. package/types/{src/components → components}/Divider/index.d.ts +0 -0
  183. package/types/{src/components → components}/Drawer/StyledDrawer.d.ts +0 -1
  184. package/types/{src/components/Icon → components/Drawer}/__tests__/index.spec.d.ts +0 -0
  185. package/types/{src/components → components}/Drawer/index.d.ts +0 -0
  186. package/types/{src/components → components}/FAB/ActionGroup/ActionItem.d.ts +0 -0
  187. package/types/{src/components → components}/FAB/ActionGroup/StyledActionGroup.d.ts +0 -1
  188. package/types/{src/components → components}/FAB/ActionGroup/StyledActionItem.d.ts +0 -1
  189. package/types/{src/components → components}/FAB/ActionGroup/__tests__/index.spec.d.ts +0 -0
  190. package/types/{src/components → components}/FAB/ActionGroup/index.d.ts +0 -0
  191. package/types/{src/components → components}/FAB/AnimatedFABIcon.d.ts +0 -0
  192. package/types/{src/components → components}/FAB/FAB.d.ts +0 -0
  193. package/types/{src/components → components}/FAB/StyledFAB.d.ts +0 -1
  194. package/types/{src/components/FAB/__tests__/StyledFAB.spec.d.ts → components/FAB/__tests__/AnimatedFABIcon.spec.d.ts} +0 -0
  195. package/types/{src/components/Progress/__tests__/index.spec.d.ts → components/FAB/__tests__/StyledFAB.spec.d.ts} +0 -0
  196. package/types/{src/components/Tabs → components/FAB}/__tests__/index.spec.d.ts +0 -0
  197. package/types/{src/components → components}/FAB/index.d.ts +0 -0
  198. package/types/{src/components → components}/Icon/HeroIcon/index.d.ts +1 -2
  199. package/types/components/Icon/IconList.d.ts +2 -0
  200. package/types/{src/components/Typography/Text → components/Icon}/__tests__/index.spec.d.ts +0 -0
  201. package/types/{src/components → components}/Icon/index.d.ts +1 -1
  202. package/types/components/Icon/utils.d.ts +2 -0
  203. package/types/{src/components → components}/Progress/ProgressBar.d.ts +0 -0
  204. package/types/{src/components → components}/Progress/ProgressCircle.d.ts +0 -0
  205. package/types/{src/components → components}/Progress/StyledProgressBar.d.ts +0 -1
  206. package/types/{src/components → components}/Progress/StyledProgressCircle.d.ts +0 -1
  207. package/types/{src/theme → components/Progress}/__tests__/index.spec.d.ts +0 -0
  208. package/types/{src/components → components}/Progress/index.d.ts +0 -0
  209. package/types/{src/components → components}/Progress/types.d.ts +0 -0
  210. package/types/components/Radio/Radio.d.ts +26 -0
  211. package/types/components/Radio/RadioGroup.d.ts +29 -0
  212. package/types/components/Radio/StyledRadio.d.ts +30 -0
  213. package/types/{src/components/Tabs/__tests__/ScrollableTabs.spec.d.ts → components/Radio/__tests__/Radio.spec.d.ts} +0 -0
  214. package/types/{src/components/Tag/__tests__/Tag.spec.d.ts → components/Radio/__tests__/RadioGroup.spec.d.ts} +0 -0
  215. package/types/{src/components/Typography/Text/__tests__/StyledText.spec.d.ts → components/Radio/__tests__/StyledRadio.spec.d.ts} +0 -0
  216. package/types/components/Radio/index.d.ts +4 -0
  217. package/types/components/SectionHeading/StyledHeading.d.ts +20 -0
  218. package/types/{src/utils/__tests__/scale.spec.d.ts → components/SectionHeading/__tests__/StyledHeading.d.ts} +0 -0
  219. package/types/components/SectionHeading/__tests__/index.spec.d.ts +1 -0
  220. package/types/components/SectionHeading/index.d.ts +39 -0
  221. package/types/components/Spinner/AnimatedSpinner.d.ts +2 -0
  222. package/types/components/Spinner/StyledSpinner.d.ts +30 -0
  223. package/types/components/Spinner/__tests__/AnimatedSpinner.spec.d.ts +1 -0
  224. package/types/components/Spinner/__tests__/StyledSpinner.spec.d.ts +1 -0
  225. package/types/components/Spinner/__tests__/index.spec.d.ts +1 -0
  226. package/types/components/Spinner/index.d.ts +10 -0
  227. package/types/{src/components → components}/Tabs/ActiveTabIndicator.d.ts +0 -0
  228. package/types/{src/components → components}/Tabs/ScrollableTabs.d.ts +0 -0
  229. package/types/{src/components → components}/Tabs/StyledScrollableTabs.d.ts +0 -1
  230. package/types/{src/components → components}/Tabs/StyledTabs.d.ts +0 -1
  231. package/types/components/Tabs/__tests__/ScrollableTabs.spec.d.ts +1 -0
  232. package/types/components/Tabs/__tests__/index.spec.d.ts +1 -0
  233. package/types/{src/components → components}/Tabs/index.d.ts +0 -0
  234. package/types/{src/components → components}/Tabs/utils.d.ts +0 -0
  235. package/types/{src/components → components}/Tag/StyledTag.d.ts +0 -1
  236. package/types/components/Tag/__tests__/Tag.spec.d.ts +1 -0
  237. package/types/{src/components → components}/Tag/index.d.ts +0 -0
  238. package/types/components/TextInput/StyledTextInput.d.ts +22 -0
  239. package/types/components/TextInput/__tests__/StyledTextInput.spec.d.ts +1 -0
  240. package/types/components/TextInput/__tests__/index.spec.d.ts +1 -0
  241. package/types/components/TextInput/index.d.ts +26 -0
  242. package/types/{src/components → components}/Typography/Text/StyledText.d.ts +0 -1
  243. package/types/components/Typography/Text/__tests__/StyledText.spec.d.ts +1 -0
  244. package/types/components/Typography/Text/__tests__/index.spec.d.ts +1 -0
  245. package/types/{src/components → components}/Typography/Text/index.d.ts +0 -0
  246. package/types/{src/components → components}/Typography/index.d.ts +0 -0
  247. package/types/{src/index.d.ts → index.d.ts} +8 -1
  248. package/types/{src/testHelpers → testHelpers}/renderWithTheme.d.ts +0 -0
  249. package/types/theme/__tests__/index.spec.d.ts +1 -0
  250. package/types/theme/components/alert.d.ts +23 -0
  251. package/types/{src/theme → theme}/components/avatar.d.ts +0 -0
  252. package/types/{src/theme → theme}/components/badge.d.ts +0 -0
  253. package/types/{src/theme → theme}/components/bottomNavigation.d.ts +0 -0
  254. package/types/theme/components/bottomSheet.d.ts +29 -0
  255. package/types/{src/theme → theme}/components/button.d.ts +0 -0
  256. package/types/{src/theme → theme}/components/card.d.ts +0 -0
  257. package/types/theme/components/contentNavigator.d.ts +7 -0
  258. package/types/{src/theme → theme}/components/divider.d.ts +0 -0
  259. package/types/{src/theme → theme}/components/drawer.d.ts +0 -0
  260. package/types/{src/theme → theme}/components/fab.d.ts +0 -0
  261. package/types/{src/theme → theme}/components/icon.d.ts +1 -0
  262. package/types/{src/theme → theme}/components/progress.d.ts +0 -0
  263. package/types/theme/components/radio.d.ts +25 -0
  264. package/types/theme/components/spinner.d.ts +15 -0
  265. package/types/{src/theme → theme}/components/tabs.d.ts +0 -0
  266. package/types/{src/theme → theme}/components/tag.d.ts +0 -0
  267. package/types/theme/components/textInput.d.ts +24 -0
  268. package/types/{src/theme → theme}/components/typography.d.ts +0 -0
  269. package/types/{src/theme → theme}/global/borders.d.ts +3 -0
  270. package/types/{src/theme → theme}/global/colors.d.ts +2 -0
  271. package/types/{src/theme → theme}/global/index.d.ts +2 -0
  272. package/types/{src/theme → theme}/global/scale.d.ts +0 -0
  273. package/types/{src/theme → theme}/global/space.d.ts +0 -0
  274. package/types/{src/theme → theme}/global/typography.d.ts +0 -0
  275. package/types/{src/theme → theme}/index.d.ts +17 -5
  276. package/types/{src/types.d.ts → types.d.ts} +0 -0
  277. package/types/utils/__tests__/scale.spec.d.ts +1 -0
  278. package/types/{src/utils → utils}/helpers.d.ts +0 -0
  279. package/types/{src/utils → utils}/hooks.d.ts +0 -0
  280. package/types/{src/utils → utils}/scale.d.ts +0 -0
  281. package/.turbo/turbo-build:types.log +0 -2
  282. package/.turbo/turbo-test.log +0 -131
  283. package/.turbo/turbo-type-check.log +0 -7
  284. package/app.json +0 -8
  285. package/types/playground/components/Avatar.d.ts +0 -2
  286. package/types/playground/components/Badge.d.ts +0 -2
  287. package/types/playground/components/BottomNavigation.d.ts +0 -2
  288. package/types/playground/components/Button.d.ts +0 -2
  289. package/types/playground/components/Card.d.ts +0 -2
  290. package/types/playground/components/Collapse.d.ts +0 -2
  291. package/types/playground/components/Divider.d.ts +0 -2
  292. package/types/playground/components/Drawer.d.ts +0 -2
  293. package/types/playground/components/FAB.d.ts +0 -2
  294. package/types/playground/components/Icon.d.ts +0 -2
  295. package/types/playground/components/IconButton.d.ts +0 -2
  296. package/types/playground/components/Progress.d.ts +0 -2
  297. package/types/playground/components/Tabs.d.ts +0 -2
  298. package/types/playground/components/Tag.d.ts +0 -2
  299. package/types/playground/components/Typography.d.ts +0 -2
  300. package/types/playground/index.d.ts +0 -2
  301. package/types/src/components/Icon/IconList.d.ts +0 -2
  302. package/types/src/components/Icon/utils.d.ts +0 -2
@@ -5,7 +5,7 @@ import {
5
5
  createNativeStackNavigator,
6
6
  NativeStackScreenProps,
7
7
  } from '@react-navigation/native-stack';
8
- import { useFonts } from 'expo-font';
8
+ import { loadAsync } from 'expo-font';
9
9
  import { SafeAreaView, FlatList, View, TouchableOpacity } from 'react-native';
10
10
  import {
11
11
  ThemeProvider,
@@ -14,35 +14,47 @@ import {
14
14
  Typography,
15
15
  Icon,
16
16
  Divider,
17
- } from '../src/index';
18
- import AvatarPlayground from './components/Avatar';
19
- import BadgePlayground from './components/Badge';
20
- import BottomNavigation from './components/BottomNavigation';
21
- import Button from './components/Button';
22
- import CardPlayground from './components/Card';
23
- import CollapsePlayground from './components/Collapse';
24
- import DividerPlayground from './components/Divider';
25
- import DrawerPlayground from './components/Drawer';
26
- import FABPlayground from './components/FAB';
27
- import IconPlayground from './components/Icon';
28
- import IconButtonPlayground from './components/IconButton';
29
- import ProgressPlayground from './components/Progress';
30
- import TabsPlayground from './components/Tabs';
31
- import TagPlayground from './components/Tag';
32
- import TypographyPlayground from './components/Typography';
17
+ } from '@hero-design/rn';
33
18
 
34
- const heroIconFontPath = require('../assets/fonts/hero-icons.ttf');
35
- const beVietnamProLightFont = require('../assets/fonts/be-vietnam-pro-light.ttf');
36
- const beVietnamProRegularFont = require('../assets/fonts/be-vietnam-pro-regular.ttf');
37
- const beVietnamProSemiBoldFont = require('../assets/fonts/be-vietnam-pro-semibold.ttf');
19
+ import AlertPlayground from './Alert';
20
+ import AvatarPlayground from './Avatar';
21
+ import BadgePlayground from './Badge';
22
+ import BottomNavigation from './BottomNavigation';
23
+ import BottomSheet from './BottomSheet';
24
+ import Button from './Button';
25
+ import CardPlayground from './Card';
26
+ import CollapsePlayground from './Collapse';
27
+ import ContentNavigatorPlayground from './ContentNavigator';
28
+ import DividerPlayground from './Divider';
29
+ import DrawerPlayground from './Drawer';
30
+ import FABPlayground from './FAB';
31
+ import IconPlayground from './Icon';
32
+ import IconButtonPlayground from './IconButton';
33
+ import ProgressPlayground from './Progress';
34
+ import SpinnerPlayground from './Spinner';
35
+ import SectionHeadingPlayground from './SectionHeading';
36
+ import RadioPlayground from './Radio';
37
+ import TabsPlayground from './Tabs';
38
+ import TagPlayground from './Tag';
39
+ import TextInputPlayground from './TextInput';
40
+ import TypographyPlayground from './Typography';
41
+ import MultipleThemesPlayground from './MultipleThemes';
42
+
43
+ const heroIconFontPath = require('@hero-design/rn/assets/fonts/hero-icons.ttf');
44
+ const beVietnamProLightFont = require('@hero-design/rn/assets/fonts/be-vietnam-pro-light.ttf');
45
+ const beVietnamProRegularFont = require('@hero-design/rn/assets/fonts/be-vietnam-pro-regular.ttf');
46
+ const beVietnamProSemiBoldFont = require('@hero-design/rn/assets/fonts/be-vietnam-pro-semibold.ttf');
38
47
 
39
48
  type RootStackParamList = {
49
+ Alert: undefined;
40
50
  Avatar: undefined;
41
51
  Badge: undefined;
42
52
  BottomNavigation: undefined;
53
+ BottomSheet: undefined;
43
54
  Button: undefined;
44
55
  Card: undefined;
45
56
  Collapse: undefined;
57
+ ContentNavigator: undefined;
46
58
  Divider: undefined;
47
59
  Drawer: undefined;
48
60
  FAB: undefined;
@@ -50,9 +62,14 @@ type RootStackParamList = {
50
62
  Icon: undefined;
51
63
  IconButton: undefined;
52
64
  Progress: undefined;
65
+ Spinner: undefined;
66
+ Radio: undefined;
67
+ SectionHeading: undefined;
53
68
  Tabs: undefined;
54
69
  Tag: undefined;
70
+ TextInput: undefined;
55
71
  Typography: undefined;
72
+ MultipleThemes: undefined;
56
73
  };
57
74
 
58
75
  type Navigation = NativeStackScreenProps<RootStackParamList>;
@@ -60,25 +77,34 @@ type Navigation = NativeStackScreenProps<RootStackParamList>;
60
77
  const Stack = createNativeStackNavigator<RootStackParamList>();
61
78
 
62
79
  const components = [
80
+ { name: 'Alert', component: AlertPlayground },
63
81
  { name: 'Avatar', component: AvatarPlayground },
64
82
  { name: 'Badge', component: BadgePlayground },
65
83
  { name: 'BottomNavigation', component: BottomNavigation },
84
+ { name: 'BottomSheet', component: BottomSheet },
66
85
  { name: 'Button', component: Button },
67
86
  { name: 'Card', component: CardPlayground },
68
87
  { name: 'Collapse', component: CollapsePlayground },
88
+ { name: 'ContentNavigator', component: ContentNavigatorPlayground },
69
89
  { name: 'Divider', component: DividerPlayground },
70
90
  { name: 'Drawer', component: DrawerPlayground },
71
91
  { name: 'FAB', component: FABPlayground },
72
92
  { name: 'Icon', component: IconPlayground },
73
93
  { name: 'IconButton', component: IconButtonPlayground },
74
94
  { name: 'Progress', component: ProgressPlayground },
95
+ { name: 'Spinner', component: SpinnerPlayground },
96
+ { name: 'Radio', component: RadioPlayground },
97
+ { name: 'SectionHeading', component: SectionHeadingPlayground },
75
98
  { name: 'Tabs', component: TabsPlayground },
76
99
  { name: 'Tag', component: TagPlayground },
100
+ { name: 'TextInput', component: TextInputPlayground },
77
101
  { name: 'Typography', component: TypographyPlayground },
102
+ { name: 'MultipleThemes', component: MultipleThemesPlayground },
78
103
  ] as const;
79
104
 
80
- const ComponentItem = ({ name }: { name: string }) => {
105
+ const ComponentItem = ({ name }: { name: string }): JSX.Element => {
81
106
  const hdTheme = useTheme();
107
+
82
108
  return (
83
109
  <View
84
110
  style={{
@@ -125,18 +151,26 @@ const App = () => {
125
151
  background: theme.colors.platformBackground,
126
152
  },
127
153
  };
154
+ const [fontsLoaded, setFontsLoaded] = React.useState(false);
155
+
156
+ React.useEffect(() => {
157
+ async function loadFonts() {
158
+ await loadAsync({
159
+ 'hero-icons': heroIconFontPath,
160
+ 'BeVietnamPro-Light': beVietnamProLightFont,
161
+ 'BeVietnamPro-Regular': beVietnamProRegularFont,
162
+ 'BeVietnamPro-SemiBold': beVietnamProSemiBoldFont,
163
+ }).catch(console.error);
128
164
 
129
- const [fontsLoaded] = useFonts({
130
- 'hero-icons': heroIconFontPath,
131
- 'BeVietnamPro-Light': beVietnamProLightFont,
132
- 'BeVietnamPro-Regular': beVietnamProRegularFont,
133
- 'BeVietnamPro-SemiBold': beVietnamProSemiBoldFont,
134
- });
165
+ setFontsLoaded(true);
166
+ }
167
+
168
+ loadFonts();
169
+ }, []);
135
170
 
136
171
  if (!fontsLoaded) {
137
172
  return null;
138
173
  }
139
-
140
174
  return (
141
175
  <ThemeProvider theme={theme}>
142
176
  <NavigationContainer theme={CustomNavigationTheme}>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Alert, View } from 'react-native';
3
- import { Avatar, Typography, useTheme } from '../../src/index';
3
+ import { Avatar, Typography, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const AvatarPlayground = () => {
6
6
  const theme = useTheme();
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Button, View } from 'react-native';
3
- import { Badge, Icon, Typography, useTheme } from '../../src/index';
3
+ import { Badge, Icon, Typography, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const BadgePlayground = () => {
6
6
  const theme = useTheme();
@@ -4,7 +4,7 @@ import {
4
4
  BottomNavigation,
5
5
  Typography,
6
6
  BottomNavigationTabType,
7
- } from '../../src/index';
7
+ } from '@hero-design/rn';
8
8
 
9
9
  const HomeScreen = () => (
10
10
  <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
@@ -0,0 +1,43 @@
1
+ import React, { useState } from 'react';
2
+ import { View, Button } from 'react-native';
3
+
4
+ import { BottomSheet, Typography, useTheme } from '@hero-design/rn';
5
+
6
+ const Content = () => {
7
+ const theme = useTheme();
8
+
9
+ return (
10
+ <View style={{ padding: theme.space.medium }}>
11
+ <Typography.Text>Sheet Content</Typography.Text>
12
+ <Typography.Text>Sheet Content</Typography.Text>
13
+ <Typography.Text>Sheet Content</Typography.Text>
14
+ <Typography.Text>Sheet Content</Typography.Text>
15
+ <Typography.Text>Sheet Content</Typography.Text>
16
+ <Typography.Text>Sheet Content</Typography.Text>
17
+ <Typography.Text>Sheet Content</Typography.Text>
18
+ <Typography.Text>Sheet Content</Typography.Text>
19
+ <Typography.Text>Sheet Content</Typography.Text>
20
+ <Typography.Text>Sheet Content</Typography.Text>
21
+ </View>
22
+ );
23
+ };
24
+
25
+ const BottomSheetPlayground = (): JSX.Element => {
26
+ const [visible, setVisiblity] = useState(false);
27
+
28
+ return (
29
+ <View style={{ flex: 1, alignItems: 'center' }}>
30
+ <Button title="Toggle Bottom Sheet" onPress={() => setVisiblity(true)} />
31
+ <BottomSheet
32
+ open={visible}
33
+ header="Title"
34
+ footer={<Button title="Close" onPress={() => setVisiblity(false)} />}
35
+ onRequestClose={() => setVisiblity(false)}
36
+ >
37
+ <Content />
38
+ </BottomSheet>
39
+ </View>
40
+ );
41
+ };
42
+
43
+ export default BottomSheetPlayground;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ScrollView, View } from 'react-native';
3
3
 
4
- import { Button, Typography, useTheme } from '../../src/index';
4
+ import { Button, Typography, useTheme } from '@hero-design/rn';
5
5
 
6
6
  const ButtonPlayground = (): JSX.Element => {
7
7
  const theme = useTheme();
@@ -14,7 +14,7 @@ import {
14
14
  Icon,
15
15
  Divider,
16
16
  useTheme,
17
- } from '../../src/index';
17
+ } from '@hero-design/rn';
18
18
 
19
19
  type DashboardCardProps = ViewProps & {
20
20
  icon: ComponentProps<typeof Icon>['icon'];
@@ -8,7 +8,7 @@ import {
8
8
  Button,
9
9
  Card,
10
10
  Collapse,
11
- } from '../../src/index';
11
+ } from '@hero-design/rn';
12
12
 
13
13
  const CollapsePlayground = () => {
14
14
  const theme = useTheme();
@@ -0,0 +1,65 @@
1
+ import React, { useState } from 'react';
2
+ import { View } from 'react-native';
3
+ import { ContentNavigator, Typography, useTheme } from '@hero-design/rn';
4
+
5
+ function addDays(date: Date, numDays: number) {
6
+ const milliseconds = numDays * 24 * 60 * 60 * 1000;
7
+ return new Date(date.valueOf() + milliseconds);
8
+ }
9
+
10
+ function getMondayAndSunday(date: Date) {
11
+ const daysFromMonday = (date.getDay() || 7) - 1;
12
+ const monday = addDays(date, -daysFromMonday);
13
+ const sunday = addDays(monday, 6);
14
+
15
+ return { monday, sunday };
16
+ }
17
+
18
+ function formatDate(date: Date) {
19
+ return date.toLocaleDateString('en-US', {
20
+ year: 'numeric',
21
+ month: 'short',
22
+ day: 'numeric',
23
+ });
24
+ }
25
+
26
+ const ContentNavigatorPlayground = (): JSX.Element => {
27
+ const {
28
+ space: { medium },
29
+ } = useTheme();
30
+ const [age, setAge] = useState(20);
31
+ const [date, setDate] = useState(new Date());
32
+ const { monday, sunday } = getMondayAndSunday(date);
33
+
34
+ return (
35
+ <View
36
+ style={{
37
+ marginVertical: medium,
38
+ marginHorizontal: medium,
39
+ }}
40
+ >
41
+ <View style={{ flexDirection: 'row' }}>
42
+ <Typography.Text style={{ paddingRight: medium }}>
43
+ Age (18 to 25):
44
+ </Typography.Text>
45
+ <ContentNavigator
46
+ value={age}
47
+ onPreviousPress={() => setAge(age - 1)}
48
+ onNextPress={() => setAge(age + 1)}
49
+ previousDisabled={age <= 18}
50
+ nextDisabled={age >= 25}
51
+ />
52
+ </View>
53
+ <Typography.Text>Week calendar:</Typography.Text>
54
+ <View style={{ flexDirection: 'row' }}>
55
+ <ContentNavigator
56
+ value={`${formatDate(monday)} - ${formatDate(sunday)}`}
57
+ onPreviousPress={() => setDate(addDays(date, -7))}
58
+ onNextPress={() => setDate(addDays(date, 7))}
59
+ />
60
+ </View>
61
+ </View>
62
+ );
63
+ };
64
+
65
+ export default ContentNavigatorPlayground;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
- import { Divider } from '../../src/index';
3
+ import { Divider } from '@hero-design/rn';
4
4
 
5
5
  const DividerPlayground = () => (
6
6
  <View>
@@ -1,7 +1,7 @@
1
1
  import { Button, SafeAreaView, Text, View } from 'react-native';
2
2
  import React, { useState } from 'react';
3
3
 
4
- import { Drawer } from '../../src/index';
4
+ import { Drawer } from '@hero-design/rn';
5
5
 
6
6
  const DrawerContent = () => (
7
7
  <View style={{ padding: 30 }}>
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
2
2
  import { TouchableHighlight } from 'react-native';
3
3
  /* eslint-disable import/no-extraneous-dependencies */
4
4
  import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
5
- import { FAB, Typography, useTheme } from '../../src/index';
5
+ import { FAB, Typography, useTheme } from '@hero-design/rn';
6
6
 
7
7
  const FABPlayground = (): JSX.Element => {
8
8
  const [active, setActive] = useState(false);
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ScrollView, View } from 'react-native';
3
- import { Typography, Icon, useTheme } from '../../src/index';
3
+ import { Typography, Icon, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const IconPlayground = () => {
6
6
  const theme = useTheme();
@@ -94,9 +94,13 @@ const IconPlayground = () => {
94
94
  intent="success"
95
95
  style={{ marginEnd: theme.space.medium }}
96
96
  />
97
- <Icon icon="speaker" intent="warning" />
97
+ <Icon
98
+ icon="speaker"
99
+ intent="warning"
100
+ style={{ marginEnd: theme.space.medium }}
101
+ />
102
+ <Icon icon="arrow-right" intent="disabled-text" />
98
103
  </View>
99
-
100
104
  <Typography.Text style={{ marginBottom: theme.space.xsmall }}>
101
105
  Icon with different sizes
102
106
  </Typography.Text>
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
3
 
4
- import { Button, Typography, useTheme } from '../../src/index';
4
+ import { Button, Typography, useTheme } from '@hero-design/rn';
5
5
 
6
6
  const IconButtonPlayground = (): JSX.Element => {
7
7
  const theme = useTheme();
@@ -59,7 +59,18 @@ const IconButtonPlayground = (): JSX.Element => {
59
59
  onPress={() => {}}
60
60
  style={{ marginEnd: theme.space.medium }}
61
61
  />
62
+ <Button.Icon
63
+ icon="circle-add-outlined"
64
+ intent="disabled-text"
65
+ size="xlarge"
66
+ onPress={() => {}}
67
+ style={{ marginEnd: theme.space.medium }}
68
+ />
62
69
  </View>
70
+ <Typography.Text style={{ marginBottom: theme.space.xsmall }}>
71
+ Disabled state
72
+ </Typography.Text>
73
+ <Button.Icon icon="circle-add-outlined" disabled onPress={() => {}} />
63
74
  </View>
64
75
  );
65
76
  };
@@ -0,0 +1,34 @@
1
+ import { ThemeProvider, theme, Button } from '@hero-design/rn';
2
+
3
+ import React from 'react';
4
+ import { Alert } from 'react-native';
5
+
6
+ const CustomizedTheme = {
7
+ ...theme,
8
+ __hd__: {
9
+ ...theme.__hd__,
10
+ button: {
11
+ ...theme.__hd__.button,
12
+ colors: {
13
+ ...theme.__hd__.button.colors,
14
+ primary: '#000000',
15
+ },
16
+ },
17
+ },
18
+ };
19
+ const MutipleThemesPlayground = () => (
20
+ <>
21
+ <Button
22
+ text="Button with Origin theme"
23
+ onPress={() => Alert.alert('Button')}
24
+ />
25
+ <ThemeProvider theme={CustomizedTheme}>
26
+ <Button
27
+ text="Button with Customized theme"
28
+ onPress={() => Alert.alert('Button')}
29
+ />
30
+ </ThemeProvider>
31
+ </>
32
+ );
33
+
34
+ export default MutipleThemesPlayground;
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from 'react';
2
2
  import { View, Button } from 'react-native';
3
- import { Progress, Typography, useTheme } from '../../src/index';
3
+ import { Progress, Typography, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const ProgressPlayground = () => {
6
6
  const [progress, setProgress] = useState(0);
@@ -0,0 +1,25 @@
1
+ import React, { useState } from 'react';
2
+ import { View } from 'react-native';
3
+ import { Radio, Typography, useTheme } from '@hero-design/rn';
4
+
5
+ const RadioPlayground = () => {
6
+ const theme = useTheme();
7
+ const [value, setValue] = useState('everything');
8
+
9
+ return (
10
+ <View style={{ padding: theme.space.medium }}>
11
+ <Typography.Text fontSize="xlarge">Radio.Group</Typography.Text>
12
+ <Radio.Group
13
+ options={[
14
+ { text: 'Everything', value: 'everything' },
15
+ { text: 'Direct mentions only', value: 'direct_mentions' },
16
+ { text: 'Nothing', value: 'nothing' },
17
+ ]}
18
+ value={value}
19
+ onPress={setValue}
20
+ />
21
+ </View>
22
+ );
23
+ };
24
+
25
+ export default RadioPlayground;
@@ -0,0 +1,68 @@
1
+ import React from 'react';
2
+ import { SectionList, Text, TouchableOpacity, View } from 'react-native';
3
+
4
+ import { SectionHeading, Typography, useTheme } from '@hero-design/rn';
5
+
6
+ const SectionHeadingPlayground = () => {
7
+ const theme = useTheme();
8
+
9
+ const sampleSections = [
10
+ {
11
+ title: 'Main dishes',
12
+ data: ['Pizza', 'Burger', 'Risotto'],
13
+ cta: () => {},
14
+ },
15
+ {
16
+ title: 'Sides',
17
+ data: ['French Fries', 'Onion Rings', 'Fried Shrimps'],
18
+ haveIcon: true,
19
+ },
20
+ ];
21
+
22
+ return (
23
+ <View
24
+ style={{
25
+ margin: theme.space.medium,
26
+ }}
27
+ >
28
+ <Typography.Text style={{ marginBottom: theme.space.xsmall }}>
29
+ Default section heading
30
+ </Typography.Text>
31
+ <SectionList
32
+ sections={sampleSections}
33
+ keyExtractor={(item, index) => item + index}
34
+ renderItem={({ item }) => (
35
+ <View
36
+ style={{
37
+ borderRadius: theme.radii.base,
38
+ borderWidth: theme.borderWidths.base,
39
+ borderColor: theme.colors.outline,
40
+ paddingVertical: theme.space.small,
41
+ paddingHorizontal: theme.space.medium,
42
+ marginBottom: theme.space.medium,
43
+ }}
44
+ >
45
+ <Text>{item}</Text>
46
+ </View>
47
+ )}
48
+ renderSectionHeader={({ section: { title, cta, haveIcon } }) => (
49
+ <SectionHeading
50
+ text={title}
51
+ icon={haveIcon ? 'document' : undefined}
52
+ rightChildren={
53
+ cta && (
54
+ <TouchableOpacity onPress={cta}>
55
+ <Typography.Text intent="primary" fontWeight="semi-bold">
56
+ Edit
57
+ </Typography.Text>
58
+ </TouchableOpacity>
59
+ )
60
+ }
61
+ />
62
+ )}
63
+ />
64
+ </View>
65
+ );
66
+ };
67
+
68
+ export default SectionHeadingPlayground;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { Spinner, useTheme } from '@hero-design/rn';
4
+
5
+ const SpinnerPlayground = (): JSX.Element => {
6
+ const theme = useTheme();
7
+ return (
8
+ <View
9
+ style={{
10
+ marginVertical: theme.space.medium,
11
+ marginHorizontal: theme.space.medium,
12
+ }}
13
+ >
14
+ <Spinner />
15
+ </View>
16
+ );
17
+ };
18
+
19
+ export default SpinnerPlayground;
@@ -7,7 +7,7 @@ import {
7
7
  Icon,
8
8
  useTheme,
9
9
  IconName,
10
- } from '../../src/index';
10
+ } from '@hero-design/rn';
11
11
 
12
12
  const CustomScreen = ({ title }: { title: string }) => (
13
13
  <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
- import { Tag, useTheme } from '../../src/index';
3
+ import { Tag, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const TagPlayground = () => {
6
6
  const theme = useTheme();
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { TextInput, useTheme } from '@hero-design/rn';
4
+
5
+ const TextInputPlayground = () => {
6
+ const theme = useTheme();
7
+ return (
8
+ <View style={{ padding: theme.space.medium }}>
9
+ <TextInput label="Amount (AUD)" prefix="dollar-sign" />
10
+ </View>
11
+ );
12
+ };
13
+
14
+ export default TextInputPlayground;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
- import { Typography, useTheme } from '../../src/index';
3
+ import { Typography, useTheme } from '@hero-design/rn';
4
4
 
5
5
  const TypographyPlayground = () => {
6
6
  const theme = useTheme();
@@ -0,0 +1,7 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+ import '@emotion/react';
3
+ import { Theme as HeroTheme } from '@hero-design/rn';
4
+
5
+ declare module '@emotion/react' {
6
+ export interface Theme extends HeroTheme {}
7
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "esnext",
4
+ "declaration": true,
5
+ "outDir": "types",
6
+ "moduleResolution": "node",
7
+ "esModuleInterop": true,
8
+ "jsx": "react-native",
9
+ "strict": true,
10
+ "allowUnreachableCode": false,
11
+ "noImplicitReturns": true,
12
+ "noImplicitThis": true,
13
+ "noUnusedLocals": true,
14
+ "skipLibCheck": true,
15
+ "types": ["jest"],
16
+ "typeRoots": ["./src"]
17
+ },
18
+ "include": ["src"],
19
+ "exclude": ["node_modules"],
20
+ "extends": "expo/tsconfig.base"
21
+ }