@testing-library/react-native 12.2.1 → 12.3.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 (395) hide show
  1. package/build/config.d.ts +1 -0
  2. package/build/config.js.map +1 -1
  3. package/build/fireEvent.js +2 -1
  4. package/build/fireEvent.js.map +1 -1
  5. package/build/helpers/accessiblity.d.ts +7 -0
  6. package/build/helpers/accessiblity.js +73 -2
  7. package/build/helpers/accessiblity.js.map +1 -1
  8. package/build/helpers/component-tree.d.ts +7 -0
  9. package/build/helpers/component-tree.js +18 -0
  10. package/build/helpers/component-tree.js.map +1 -1
  11. package/build/helpers/format-default.d.ts +1 -2
  12. package/build/helpers/format-default.js +22 -13
  13. package/build/helpers/format-default.js.map +1 -1
  14. package/build/helpers/format.js +1 -4
  15. package/build/helpers/format.js.map +1 -1
  16. package/build/helpers/host-component-names.d.ts +5 -0
  17. package/build/helpers/host-component-names.js +13 -1
  18. package/build/helpers/host-component-names.js.map +1 -1
  19. package/build/helpers/matchers/accessibilityState.js +3 -3
  20. package/build/helpers/matchers/accessibilityState.js.map +1 -1
  21. package/build/helpers/matchers/accessibilityValue.js +3 -2
  22. package/build/helpers/matchers/accessibilityValue.js.map +1 -1
  23. package/build/helpers/matchers/matchLabelText.d.ts +1 -1
  24. package/build/helpers/matchers/matchLabelText.js +5 -8
  25. package/build/helpers/matchers/matchLabelText.js.map +1 -1
  26. package/build/helpers/matchers/matchTextContent.js +2 -2
  27. package/build/helpers/matchers/matchTextContent.js.map +1 -1
  28. package/build/helpers/{getTextContent.js → text-content.js} +1 -1
  29. package/build/helpers/text-content.js.map +1 -0
  30. package/build/helpers/text-input.d.ts +3 -0
  31. package/build/helpers/text-input.js +21 -0
  32. package/build/helpers/text-input.js.map +1 -0
  33. package/build/matchers/extend-expect.d.js +2 -0
  34. package/build/matchers/extend-expect.d.js.map +1 -0
  35. package/build/matchers/extend-expect.d.ts +2 -0
  36. package/build/matchers/extend-expect.js +26 -0
  37. package/build/matchers/extend-expect.js.map +1 -0
  38. package/build/matchers/index.d.ts +9 -0
  39. package/build/matchers/index.js +75 -0
  40. package/build/matchers/index.js.map +1 -0
  41. package/build/matchers/to-be-checked.d.ts +6 -0
  42. package/build/matchers/to-be-checked.js +31 -0
  43. package/build/matchers/to-be-checked.js.map +1 -0
  44. package/build/matchers/to-be-disabled.d.ts +10 -0
  45. package/build/matchers/to-be-disabled.js +52 -0
  46. package/build/matchers/to-be-disabled.js.map +1 -0
  47. package/build/matchers/to-be-empty-element.d.ts +6 -0
  48. package/build/matchers/to-be-empty-element.js +20 -0
  49. package/build/matchers/to-be-empty-element.js.map +1 -0
  50. package/build/matchers/to-be-on-the-screen.d.ts +6 -0
  51. package/build/matchers/to-be-on-the-screen.js +29 -0
  52. package/build/matchers/to-be-on-the-screen.js.map +1 -0
  53. package/build/matchers/to-be-partially-checked.d.ts +6 -0
  54. package/build/matchers/to-be-partially-checked.js +28 -0
  55. package/build/matchers/to-be-partially-checked.js.map +1 -0
  56. package/build/matchers/to-be-visible.d.ts +6 -0
  57. package/build/matchers/to-be-visible.js +56 -0
  58. package/build/matchers/to-be-visible.js.map +1 -0
  59. package/build/matchers/to-have-display-value.d.ts +7 -0
  60. package/build/matchers/to-have-display-value.js +26 -0
  61. package/build/matchers/to-have-display-value.js.map +1 -0
  62. package/build/matchers/to-have-prop.d.ts +6 -0
  63. package/build/matchers/to-have-prop.js +35 -0
  64. package/build/matchers/to-have-prop.js.map +1 -0
  65. package/build/matchers/to-have-text-content.d.ts +7 -0
  66. package/build/matchers/to-have-text-content.js +21 -0
  67. package/build/matchers/to-have-text-content.js.map +1 -0
  68. package/build/matchers/utils.d.ts +18 -0
  69. package/build/matchers/utils.js +90 -0
  70. package/build/matchers/utils.js.map +1 -0
  71. package/build/matches.d.ts +1 -1
  72. package/build/matches.js.map +1 -1
  73. package/build/queries/displayValue.js +4 -3
  74. package/build/queries/displayValue.js.map +1 -1
  75. package/build/queries/labelText.js +2 -2
  76. package/build/queries/labelText.js.map +1 -1
  77. package/build/queries/role.js +1 -1
  78. package/build/queries/role.js.map +1 -1
  79. package/build/render.d.ts +12 -48
  80. package/build/user-event/clear.js +2 -1
  81. package/build/user-event/clear.js.map +1 -1
  82. package/build/user-event/press/press.js +2 -1
  83. package/build/user-event/press/press.js.map +1 -1
  84. package/build/user-event/type/type.js +2 -1
  85. package/build/user-event/type/type.js.map +1 -1
  86. package/build/user-event/utils/index.d.ts +0 -1
  87. package/build/user-event/utils/index.js +0 -11
  88. package/build/user-event/utils/index.js.map +1 -1
  89. package/package.json +6 -23
  90. package/.DS_Store +0 -0
  91. package/.codecov.yml +0 -9
  92. package/.eslintcache +0 -1
  93. package/.eslintignore +0 -3
  94. package/.eslintrc +0 -19
  95. package/.flowconfig +0 -63
  96. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  97. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
  98. package/.github/ISSUE_TEMPLATE/question.md +0 -9
  99. package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
  100. package/.github/actions/setup-deps/action.yml +0 -22
  101. package/.github/actions/setup-website-deps/action.yml +0 -22
  102. package/.github/dependabot.yml +0 -10
  103. package/.github/workflows/deploy-website.yml +0 -36
  104. package/.github/workflows/example-apps.yml +0 -25
  105. package/.github/workflows/main.yml +0 -103
  106. package/.gitignore +0 -11
  107. package/.prettierrc.js +0 -5
  108. package/CODE_OF_CONDUCT.md +0 -73
  109. package/CONTRIBUTING.md +0 -64
  110. package/babel.config.js +0 -22
  111. package/build/helpers/getTextContent.js.map +0 -1
  112. package/build/user-event/utils/host-components.d.ts +0 -2
  113. package/build/user-event/utils/host-components.js +0 -11
  114. package/build/user-event/utils/host-components.js.map +0 -1
  115. package/examples/basic/.expo/README.md +0 -15
  116. package/examples/basic/.expo/packager-info.json +0 -4
  117. package/examples/basic/.expo/settings.json +0 -10
  118. package/examples/basic/.expo-shared/assets.json +0 -4
  119. package/examples/basic/.gitignore +0 -14
  120. package/examples/basic/App.tsx +0 -20
  121. package/examples/basic/README.md +0 -11
  122. package/examples/basic/__tests__/App.test.tsx +0 -137
  123. package/examples/basic/app.json +0 -31
  124. package/examples/basic/assets/adaptive-icon.png +0 -0
  125. package/examples/basic/assets/favicon.png +0 -0
  126. package/examples/basic/assets/icon.png +0 -0
  127. package/examples/basic/assets/splash.png +0 -0
  128. package/examples/basic/babel.config.js +0 -6
  129. package/examples/basic/components/Home.tsx +0 -28
  130. package/examples/basic/components/LoginForm.tsx +0 -138
  131. package/examples/basic/jest-setup.ts +0 -7
  132. package/examples/basic/jest.config.js +0 -5
  133. package/examples/basic/package.json +0 -30
  134. package/examples/basic/tsconfig.json +0 -7
  135. package/examples/basic/yarn.lock +0 -7499
  136. package/examples/react-navigation/README.md +0 -16
  137. package/examples/react-navigation/babel.config.js +0 -4
  138. package/examples/react-navigation/jest-setup.js +0 -11
  139. package/examples/react-navigation/jest.config.js +0 -10
  140. package/examples/react-navigation/package.json +0 -31
  141. package/examples/react-navigation/src/App.js +0 -21
  142. package/examples/react-navigation/src/DrawerNavigator.js +0 -15
  143. package/examples/react-navigation/src/DrawerNavigator.test.js +0 -42
  144. package/examples/react-navigation/src/NativeStackNavigator.js +0 -15
  145. package/examples/react-navigation/src/NativeStackNavigator.test.js +0 -34
  146. package/examples/react-navigation/src/StackNavigator.js +0 -15
  147. package/examples/react-navigation/src/StackNavigator.test.js +0 -34
  148. package/examples/react-navigation/src/TabNavigator.js +0 -15
  149. package/examples/react-navigation/src/TabNavigator.test.js +0 -21
  150. package/examples/react-navigation/src/screens/DetailsScreen.js +0 -43
  151. package/examples/react-navigation/src/screens/DetailsScreen.test.js +0 -27
  152. package/examples/react-navigation/src/screens/DrawerHomeScreen.js +0 -26
  153. package/examples/react-navigation/src/screens/HomeScreen.js +0 -48
  154. package/examples/react-navigation/src/screens/SettingsScreen.js +0 -20
  155. package/examples/react-navigation/src/test-utils.js +0 -12
  156. package/examples/react-navigation/yarn.lock +0 -5018
  157. package/examples/redux/App.js +0 -27
  158. package/examples/redux/README.md +0 -5
  159. package/examples/redux/actions/todoActions.js +0 -25
  160. package/examples/redux/babel.config.js +0 -6
  161. package/examples/redux/components/AddTodo.js +0 -73
  162. package/examples/redux/components/AddTodo.test.js +0 -27
  163. package/examples/redux/components/TodoElem.js +0 -25
  164. package/examples/redux/components/TodoList.js +0 -29
  165. package/examples/redux/components/TodoList.test.js +0 -34
  166. package/examples/redux/index.js +0 -8
  167. package/examples/redux/jest-setup.js +0 -2
  168. package/examples/redux/jest.config.js +0 -4
  169. package/examples/redux/package.json +0 -23
  170. package/examples/redux/reducers/index.js +0 -6
  171. package/examples/redux/reducers/todoReducer.js +0 -27
  172. package/examples/redux/store.js +0 -10
  173. package/examples/redux/test-utils.js +0 -11
  174. package/examples/redux/yarn.lock +0 -4819
  175. package/experiments-app/.expo/README.md +0 -15
  176. package/experiments-app/.expo/devices.json +0 -3
  177. package/experiments-app/.expo/packager-info.json +0 -9
  178. package/experiments-app/.expo/settings.json +0 -9
  179. package/experiments-app/.gitignore +0 -17
  180. package/experiments-app/.prettierrc.js +0 -5
  181. package/experiments-app/app.json +0 -30
  182. package/experiments-app/assets/adaptive-icon.png +0 -0
  183. package/experiments-app/assets/favicon.png +0 -0
  184. package/experiments-app/assets/icon.png +0 -0
  185. package/experiments-app/assets/splash.png +0 -0
  186. package/experiments-app/babel.config.js +0 -6
  187. package/experiments-app/index.js +0 -4
  188. package/experiments-app/package.json +0 -29
  189. package/experiments-app/src/App.tsx +0 -31
  190. package/experiments-app/src/MainScreen.tsx +0 -52
  191. package/experiments-app/src/experiments.ts +0 -35
  192. package/experiments-app/src/screens/FlatListEvents.tsx +0 -57
  193. package/experiments-app/src/screens/ScrollViewEvents.tsx +0 -65
  194. package/experiments-app/src/screens/SectionListEvents.tsx +0 -91
  195. package/experiments-app/src/screens/TextInputEventPropagation.tsx +0 -42
  196. package/experiments-app/src/screens/TextInputEvents.tsx +0 -48
  197. package/experiments-app/src/utils/helpers.ts +0 -18
  198. package/experiments-app/tsconfig.json +0 -6
  199. package/experiments-app/yarn.lock +0 -6709
  200. package/experiments-rtl/.babelrc +0 -8
  201. package/experiments-rtl/.eslintrc.json +0 -3
  202. package/experiments-rtl/.gitignore +0 -35
  203. package/experiments-rtl/README.md +0 -34
  204. package/experiments-rtl/jest-setup.js +0 -1
  205. package/experiments-rtl/jest.config.js +0 -4
  206. package/experiments-rtl/next.config.js +0 -4
  207. package/experiments-rtl/package.json +0 -38
  208. package/experiments-rtl/postcss.config.js +0 -6
  209. package/experiments-rtl/public/next.svg +0 -1
  210. package/experiments-rtl/public/vercel.svg +0 -1
  211. package/experiments-rtl/src/app/__tests__/click.test.tsx +0 -31
  212. package/experiments-rtl/src/app/__tests__/managed-text-input.test.tsx +0 -51
  213. package/experiments-rtl/src/app/globals.css +0 -27
  214. package/experiments-rtl/src/app/layout.tsx +0 -22
  215. package/experiments-rtl/src/app/page.tsx +0 -113
  216. package/experiments-rtl/tailwind.config.ts +0 -20
  217. package/experiments-rtl/tsconfig.json +0 -28
  218. package/experiments-rtl/yarn.lock +0 -5418
  219. package/flow-typed/npm/jest_v26.x.x.js +0 -1218
  220. package/flow-typed/npm/react-test-renderer_v16.x.x.js +0 -81
  221. package/jest-setup.ts +0 -10
  222. package/renovate.json +0 -19
  223. package/scripts/test_react_17 +0 -12
  224. package/src/__tests__/__snapshots__/render-debug.test.tsx.snap +0 -548
  225. package/src/__tests__/__snapshots__/render.test.tsx.snap +0 -39
  226. package/src/__tests__/act.test.tsx +0 -56
  227. package/src/__tests__/auto-cleanup-skip.test.tsx +0 -39
  228. package/src/__tests__/auto-cleanup.test.tsx +0 -50
  229. package/src/__tests__/cleanup.test.tsx +0 -26
  230. package/src/__tests__/config.test.ts +0 -55
  231. package/src/__tests__/fireEvent-textInput.test.tsx +0 -154
  232. package/src/__tests__/fireEvent.test.tsx +0 -485
  233. package/src/__tests__/host-component-names.test.tsx +0 -109
  234. package/src/__tests__/host-text-nesting.test.tsx +0 -90
  235. package/src/__tests__/jest-native.test.tsx +0 -84
  236. package/src/__tests__/questionsBoard.test.tsx +0 -62
  237. package/src/__tests__/react-native-api.test.tsx +0 -126
  238. package/src/__tests__/render-debug.test.tsx +0 -207
  239. package/src/__tests__/render-stringValidation.test.tsx +0 -157
  240. package/src/__tests__/render.test.tsx +0 -256
  241. package/src/__tests__/renderHook.test.tsx +0 -114
  242. package/src/__tests__/screen.test.tsx +0 -66
  243. package/src/__tests__/timerUtils.ts +0 -7
  244. package/src/__tests__/timers.test.ts +0 -27
  245. package/src/__tests__/waitFor.test.tsx +0 -327
  246. package/src/__tests__/waitForElementToBeRemoved.test.tsx +0 -151
  247. package/src/__tests__/within.test.tsx +0 -96
  248. package/src/act.ts +0 -86
  249. package/src/cleanup.ts +0 -15
  250. package/src/config.ts +0 -72
  251. package/src/fireEvent.ts +0 -159
  252. package/src/flush-micro-tasks.ts +0 -30
  253. package/src/helpers/__tests__/accessiblity.test.tsx +0 -373
  254. package/src/helpers/__tests__/component-tree.test.tsx +0 -226
  255. package/src/helpers/__tests__/format-default.tsx +0 -114
  256. package/src/helpers/__tests__/getTextContent.test.tsx +0 -49
  257. package/src/helpers/__tests__/includeHiddenElements.test.tsx +0 -39
  258. package/src/helpers/__tests__/query-name.test.ts +0 -10
  259. package/src/helpers/__tests__/timers.test.ts +0 -8
  260. package/src/helpers/accessiblity.ts +0 -108
  261. package/src/helpers/component-tree.ts +0 -94
  262. package/src/helpers/debugDeep.ts +0 -27
  263. package/src/helpers/debugShallow.ts +0 -22
  264. package/src/helpers/deprecation.ts +0 -53
  265. package/src/helpers/errors.ts +0 -66
  266. package/src/helpers/findAll.ts +0 -70
  267. package/src/helpers/format-default.ts +0 -72
  268. package/src/helpers/format.ts +0 -47
  269. package/src/helpers/getTextContent.ts +0 -20
  270. package/src/helpers/host-component-names.tsx +0 -88
  271. package/src/helpers/matchers/__tests__/matchArrayValue.test.ts +0 -34
  272. package/src/helpers/matchers/__tests__/matchObject.test.ts +0 -37
  273. package/src/helpers/matchers/__tests__/matchStringValue.test.ts +0 -15
  274. package/src/helpers/matchers/accessibilityState.ts +0 -48
  275. package/src/helpers/matchers/accessibilityValue.ts +0 -24
  276. package/src/helpers/matchers/matchArrayProp.ts +0 -21
  277. package/src/helpers/matchers/matchLabelText.ts +0 -50
  278. package/src/helpers/matchers/matchObjectProp.ts +0 -25
  279. package/src/helpers/matchers/matchStringProp.ts +0 -23
  280. package/src/helpers/matchers/matchTextContent.ts +0 -20
  281. package/src/helpers/pointer-events.ts +0 -27
  282. package/src/helpers/query-name.ts +0 -4
  283. package/src/helpers/stringValidation.ts +0 -36
  284. package/src/helpers/timers.ts +0 -98
  285. package/src/index.ts +0 -33
  286. package/src/matches.ts +0 -49
  287. package/src/pure.ts +0 -27
  288. package/src/queries/__tests__/a11yState.test.tsx +0 -439
  289. package/src/queries/__tests__/a11yValue.test.tsx +0 -309
  290. package/src/queries/__tests__/displayValue.test.tsx +0 -221
  291. package/src/queries/__tests__/hintText.test.tsx +0 -177
  292. package/src/queries/__tests__/labelText.test.tsx +0 -242
  293. package/src/queries/__tests__/makeQueries.test.tsx +0 -235
  294. package/src/queries/__tests__/placeholderText.test.tsx +0 -136
  295. package/src/queries/__tests__/role-value.test.tsx +0 -176
  296. package/src/queries/__tests__/role.test.tsx +0 -824
  297. package/src/queries/__tests__/testId.test.tsx +0 -200
  298. package/src/queries/__tests__/text.test.tsx +0 -556
  299. package/src/queries/a11yState.ts +0 -127
  300. package/src/queries/a11yValue.ts +0 -127
  301. package/src/queries/displayValue.ts +0 -71
  302. package/src/queries/hintText.ts +0 -107
  303. package/src/queries/labelText.ts +0 -57
  304. package/src/queries/makeQueries.ts +0 -255
  305. package/src/queries/options.ts +0 -14
  306. package/src/queries/placeholderText.ts +0 -72
  307. package/src/queries/role.ts +0 -131
  308. package/src/queries/testId.ts +0 -66
  309. package/src/queries/text.ts +0 -63
  310. package/src/queries/unsafeProps.ts +0 -76
  311. package/src/queries/unsafeType.ts +0 -73
  312. package/src/react-versions.ts +0 -11
  313. package/src/render-act.ts +0 -19
  314. package/src/render.tsx +0 -183
  315. package/src/renderHook.tsx +0 -56
  316. package/src/screen.ts +0 -123
  317. package/src/shallow.ts +0 -18
  318. package/src/test-utils/events.ts +0 -24
  319. package/src/test-utils/index.ts +0 -1
  320. package/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +0 -269
  321. package/src/user-event/__tests__/clear.test.tsx +0 -217
  322. package/src/user-event/clear.ts +0 -59
  323. package/src/user-event/event-builder/common.ts +0 -66
  324. package/src/user-event/event-builder/index.ts +0 -7
  325. package/src/user-event/event-builder/text-input.ts +0 -86
  326. package/src/user-event/index.ts +0 -18
  327. package/src/user-event/press/__tests__/longPress.real-timers.test.tsx +0 -117
  328. package/src/user-event/press/__tests__/longPress.test.tsx +0 -157
  329. package/src/user-event/press/__tests__/press.real-timers.test.tsx +0 -320
  330. package/src/user-event/press/__tests__/press.test.tsx +0 -457
  331. package/src/user-event/press/constants.ts +0 -7
  332. package/src/user-event/press/index.ts +0 -1
  333. package/src/user-event/press/press.ts +0 -163
  334. package/src/user-event/setup/index.ts +0 -2
  335. package/src/user-event/setup/setup.ts +0 -142
  336. package/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +0 -339
  337. package/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +0 -668
  338. package/src/user-event/type/__tests__/parseKeys.test.ts +0 -23
  339. package/src/user-event/type/__tests__/type-managed.test.tsx +0 -120
  340. package/src/user-event/type/__tests__/type.test.tsx +0 -335
  341. package/src/user-event/type/index.ts +0 -1
  342. package/src/user-event/type/parseKeys.ts +0 -41
  343. package/src/user-event/type/type.ts +0 -138
  344. package/src/user-event/utils/__tests__/dispatch-event.test.tsx +0 -41
  345. package/src/user-event/utils/__tests__/wait.test.ts +0 -62
  346. package/src/user-event/utils/content-size.ts +0 -25
  347. package/src/user-event/utils/dispatch-event.ts +0 -38
  348. package/src/user-event/utils/host-components.ts +0 -6
  349. package/src/user-event/utils/index.ts +0 -6
  350. package/src/user-event/utils/text-range.ts +0 -4
  351. package/src/user-event/utils/wait.ts +0 -15
  352. package/src/user-event/utils/warn-about-real-timers.ts +0 -13
  353. package/src/waitFor.ts +0 -228
  354. package/src/waitForElementToBeRemoved.ts +0 -42
  355. package/src/within.ts +0 -30
  356. package/tsconfig.json +0 -17
  357. package/tsconfig.release.json +0 -8
  358. package/website/.gitignore +0 -20
  359. package/website/README.md +0 -33
  360. package/website/docker/.dockerignore +0 -3
  361. package/website/docker/Dockerfile +0 -9
  362. package/website/docker/docker-compose.yml +0 -11
  363. package/website/docs/API.md +0 -940
  364. package/website/docs/EslintPLluginTestingLibrary.md +0 -28
  365. package/website/docs/FAQ.md +0 -44
  366. package/website/docs/GettingStarted.md +0 -100
  367. package/website/docs/HowShouldIQuery.md +0 -21
  368. package/website/docs/MigrationV11.md +0 -64
  369. package/website/docs/MigrationV12.md +0 -67
  370. package/website/docs/MigrationV2.md +0 -126
  371. package/website/docs/MigrationV7.md +0 -119
  372. package/website/docs/MigrationV9.md +0 -67
  373. package/website/docs/Queries.md +0 -572
  374. package/website/docs/ReactNavigation.md +0 -371
  375. package/website/docs/ReduxIntegration.md +0 -137
  376. package/website/docs/TestingEnvironment.md +0 -154
  377. package/website/docs/Troubleshooting.md +0 -44
  378. package/website/docs/UnderstandingAct.md +0 -227
  379. package/website/docs/UserEvent.md +0 -191
  380. package/website/docusaurus.config.js +0 -114
  381. package/website/package.json +0 -31
  382. package/website/sidebars.js +0 -20
  383. package/website/src/components/Feature.js +0 -31
  384. package/website/src/css/custom.css +0 -13
  385. package/website/src/css/index.module.css +0 -77
  386. package/website/src/pages/index.js +0 -82
  387. package/website/static/.nojekyll +0 -0
  388. package/website/static/css/custom.css +0 -28
  389. package/website/static/img/hit.png +0 -0
  390. package/website/static/img/locomotive.png +0 -0
  391. package/website/static/img/owl.png +0 -0
  392. package/website/static/img/tools.png +0 -0
  393. package/website/yarn.lock +0 -7669
  394. package/yarn.lock +0 -7765
  395. /package/build/helpers/{getTextContent.d.ts → text-content.d.ts} +0 -0
@@ -1,15 +0,0 @@
1
- > Why do I have a folder named ".expo" in my project?
2
-
3
- The ".expo" folder is created when an Expo project is started using "expo start" command.
4
-
5
- > What do the files contain?
6
-
7
- - "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
8
- - "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
9
- - "settings.json": contains the server configuration that is used to serve the application manifest.
10
-
11
- > Should I commit the ".expo" folder?
12
-
13
- No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
14
-
15
- Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
@@ -1,3 +0,0 @@
1
- {
2
- "devices": []
3
- }
@@ -1,9 +0,0 @@
1
- {
2
- "expoServerPort": null,
3
- "packagerPort": null,
4
- "packagerPid": null,
5
- "expoServerNgrokUrl": null,
6
- "packagerNgrokUrl": null,
7
- "ngrokPid": null,
8
- "webpackServerPort": null
9
- }
@@ -1,9 +0,0 @@
1
- {
2
- "hostType": "lan",
3
- "lanType": "ip",
4
- "dev": true,
5
- "minify": false,
6
- "urlRandomness": null,
7
- "https": false,
8
- "scheme": null
9
- }
@@ -1,17 +0,0 @@
1
- node_modules/
2
- .expo/
3
- dist/
4
- npm-debug.*
5
- *.jks
6
- *.p8
7
- *.p12
8
- *.key
9
- *.mobileprovision
10
- *.orig.*
11
- web-build/
12
-
13
- # macOS
14
- .DS_Store
15
-
16
- # Temporary files created by Metro to check the health of the file watcher
17
- .metro-health-check*
@@ -1,5 +0,0 @@
1
- // added for Jest inline snapshots to not use default Prettier config
2
- module.exports = {
3
- singleQuote: true,
4
- trailingComma: "es5"
5
- }
@@ -1,30 +0,0 @@
1
- {
2
- "expo": {
3
- "name": "experiments-app",
4
- "slug": "experiments-app",
5
- "version": "1.0.0",
6
- "orientation": "portrait",
7
- "icon": "./assets/icon.png",
8
- "userInterfaceStyle": "light",
9
- "splash": {
10
- "image": "./assets/splash.png",
11
- "resizeMode": "contain",
12
- "backgroundColor": "#ffffff"
13
- },
14
- "assetBundlePatterns": [
15
- "**/*"
16
- ],
17
- "ios": {
18
- "supportsTablet": true
19
- },
20
- "android": {
21
- "adaptiveIcon": {
22
- "foregroundImage": "./assets/adaptive-icon.png",
23
- "backgroundColor": "#ffffff"
24
- }
25
- },
26
- "web": {
27
- "favicon": "./assets/favicon.png"
28
- }
29
- }
30
- }
Binary file
Binary file
Binary file
@@ -1,6 +0,0 @@
1
- module.exports = function(api) {
2
- api.cache(true);
3
- return {
4
- presets: ['babel-preset-expo'],
5
- };
6
- };
@@ -1,4 +0,0 @@
1
- import registerRootComponent from 'expo/build/launch/registerRootComponent';
2
- import App from './src/App';
3
-
4
- registerRootComponent(App);
@@ -1,29 +0,0 @@
1
- {
2
- "name": "experiments-app",
3
- "private": true,
4
- "description": "Expo app for conducting experiments of React Native behaviour.",
5
- "version": "1.0.0",
6
- "main": "index.js",
7
- "scripts": {
8
- "typecheck": "tsc -noEmit",
9
- "start": "expo start",
10
- "android": "expo start --android",
11
- "ios": "expo start --ios",
12
- "web": "expo start --web"
13
- },
14
- "dependencies": {
15
- "@react-navigation/native": "^6.1.6",
16
- "@react-navigation/native-stack": "^6.9.12",
17
- "expo": "^49.0.0",
18
- "expo-status-bar": "~1.6.0",
19
- "react": "18.2.0",
20
- "react-native": "0.72.3",
21
- "react-native-safe-area-context": "4.6.3",
22
- "react-native-screens": "~3.22.0"
23
- },
24
- "devDependencies": {
25
- "@babel/core": "^7.20.0",
26
- "@types/react": "~18.2.14",
27
- "typescript": "^5.1.3"
28
- }
29
- }
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
- import { StatusBar } from 'expo-status-bar';
3
- import { NavigationContainer } from '@react-navigation/native';
4
- import { createNativeStackNavigator } from '@react-navigation/native-stack';
5
- import { MainScreen } from './MainScreen';
6
- import { experiments } from './experiments';
7
-
8
- const Stack = createNativeStackNavigator();
9
-
10
- export default function App() {
11
- return (
12
- <NavigationContainer>
13
- <Stack.Navigator>
14
- <Stack.Screen
15
- name="main"
16
- component={MainScreen}
17
- options={{ title: 'Experiments' }}
18
- />
19
- {experiments.map((exp) => (
20
- <Stack.Screen
21
- key={exp.key}
22
- name={exp.key}
23
- component={exp.component}
24
- options={{ title: exp.title }}
25
- />
26
- ))}
27
- </Stack.Navigator>
28
- <StatusBar style="auto" />
29
- </NavigationContainer>
30
- );
31
- }
@@ -1,52 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- StyleSheet,
4
- SafeAreaView,
5
- Text,
6
- FlatList,
7
- Pressable,
8
- } from 'react-native';
9
- import { useNavigation } from '@react-navigation/native';
10
- import { Experiment, experiments } from './experiments';
11
-
12
- export function MainScreen() {
13
- return (
14
- <SafeAreaView style={styles.container}>
15
- <FlatList
16
- data={experiments}
17
- renderItem={({ item }) => <ListItem item={item} />}
18
- />
19
- </SafeAreaView>
20
- );
21
- }
22
-
23
- interface ListItemProps {
24
- item: Experiment;
25
- }
26
-
27
- function ListItem({ item }: ListItemProps) {
28
- const navigation = useNavigation();
29
-
30
- const handlePress = () => {
31
- // @ts-expect-error missing navigation typing
32
- navigation.navigate(item.key);
33
- };
34
-
35
- return (
36
- <Pressable style={styles.item} onPress={handlePress}>
37
- <Text style={styles.itemTitle}>{item.title}</Text>
38
- </Pressable>
39
- );
40
- }
41
-
42
- const styles = StyleSheet.create({
43
- container: {
44
- flex: 1,
45
- },
46
- item: {
47
- padding: 20,
48
- },
49
- itemTitle: {
50
- fontSize: 20,
51
- },
52
- });
@@ -1,35 +0,0 @@
1
- import { TextInputEventPropagation } from './screens/TextInputEventPropagation';
2
- import { TextInputEvents } from './screens/TextInputEvents';
3
- import { ScrollViewEvents } from './screens/ScrollViewEvents';
4
- import { FlatListEvents } from './screens/FlatListEvents';
5
- import { SectionListEvents } from './screens/SectionListEvents';
6
-
7
- export type Experiment = (typeof experiments)[number];
8
-
9
- export const experiments = [
10
- {
11
- key: 'TextInputEvents',
12
- title: 'TextInput Events',
13
- component: TextInputEvents,
14
- },
15
- {
16
- key: 'TextInputEventPropagation',
17
- title: 'TextInput Event Propagation',
18
- component: TextInputEventPropagation,
19
- },
20
- {
21
- key: 'ScrollViewEvents',
22
- title: 'ScrollView Events',
23
- component: ScrollViewEvents,
24
- },
25
- {
26
- key: 'FlatListEvents',
27
- title: 'FlatList Events',
28
- component: FlatListEvents,
29
- },
30
- {
31
- key: 'SectionListEvents',
32
- title: 'SectionList Events',
33
- component: SectionListEvents,
34
- },
35
- ];
@@ -1,57 +0,0 @@
1
- import * as React from 'react';
2
- import { FlatList, StyleSheet, Text, View } from 'react-native';
3
- import { customEventLogger, nativeEventLogger } from '../utils/helpers';
4
-
5
- interface ItemData {
6
- id: string;
7
- title: string;
8
- }
9
-
10
- const data: ItemData[] = [...new Array(25)].map((_, index) => ({
11
- id: `${index + 1}`,
12
- title: `Item ${index + 1}`,
13
- }));
14
-
15
- export function FlatListEvents() {
16
- const renderItem = ({ item }: { item: ItemData }) => {
17
- return <Item item={item} />;
18
- };
19
-
20
- return (
21
- <FlatList
22
- data={data}
23
- renderItem={renderItem}
24
- keyExtractor={(item) => item.id}
25
- contentInsetAdjustmentBehavior="scrollableAxes"
26
- scrollEventThrottle={150}
27
- onScroll={nativeEventLogger('scroll')}
28
- onScrollBeginDrag={nativeEventLogger('scrollBeginDrag')}
29
- onScrollEndDrag={nativeEventLogger('scrollEndDrag')}
30
- onMomentumScrollBegin={nativeEventLogger('momentumScrollBegin')}
31
- onMomentumScrollEnd={nativeEventLogger('momentumScrollEnd')}
32
- onScrollToTop={nativeEventLogger('scrollToTop')}
33
- onEndReached={customEventLogger('endReached')}
34
- onContentSizeChange={customEventLogger('contentSizeChange')}
35
- />
36
- );
37
- }
38
-
39
- interface ItemProps {
40
- item: ItemData;
41
- }
42
-
43
- const Item = ({ item }: ItemProps) => (
44
- <View style={styles.item}>
45
- <Text style={styles.title}>{item.title}</Text>
46
- </View>
47
- );
48
-
49
- const styles = StyleSheet.create({
50
- item: {
51
- paddingVertical: 16,
52
- paddingHorizontal: 20,
53
- },
54
- title: {
55
- fontSize: 20,
56
- },
57
- });
@@ -1,65 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, Text, ScrollView } from 'react-native';
3
- import { customEventLogger, nativeEventLogger } from '../utils/helpers';
4
-
5
- export function ScrollViewEvents() {
6
- return (
7
- <ScrollView
8
- contentInsetAdjustmentBehavior="scrollableAxes"
9
- scrollEventThrottle={150}
10
- onScroll={nativeEventLogger('scroll')}
11
- onScrollBeginDrag={nativeEventLogger('scrollBeginDrag')}
12
- onScrollEndDrag={nativeEventLogger('scrollEndDrag')}
13
- onMomentumScrollBegin={nativeEventLogger('momentumScrollBegin')}
14
- onMomentumScrollEnd={nativeEventLogger('momentumScrollEnd')}
15
- onScrollToTop={nativeEventLogger('scrollToTop')}
16
- onContentSizeChange={customEventLogger('contentSizeChange')}
17
- >
18
- <Text style={styles.text}>
19
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
20
- tempor incididunt ut labore et dolore magna aliqua. Gravida neque
21
- convallis a cras semper auctor neque. Ultrices in iaculis nunc sed augue
22
- lacus. Vulputate ut pharetra sit amet aliquam id. Eget sit amet tellus
23
- cras adipiscing enim. Velit aliquet sagittis id consectetur purus ut
24
- faucibus pulvinar.
25
- </Text>
26
- <Text style={styles.text}>
27
- Eget gravida cum sociis natoque penatibus. Nunc sed blandit libero
28
- volutpat sed cras. Aliquet bibendum enim facilisis gravida neque
29
- convallis a cras. Euismod nisi porta lorem mollis aliquam. Consequat
30
- mauris nunc congue nisi vitae suscipit tellus. Mauris pellentesque
31
- pulvinar pellentesque habitant morbi tristique. Nulla aliquet enim
32
- tortor at auctor.
33
- </Text>
34
- <Text style={styles.text}>
35
- A condimentum vitae sapien pellentesque. Quis eleifend quam adipiscing
36
- vitae. Elit ut aliquam purus sit amet luctus venenatis. Id faucibus nisl
37
- tincidunt eget nullam non nisi est. Nunc non blandit massa enim nec dui
38
- nunc. Urna nec tincidunt praesent semper feugiat nibh. Malesuada fames
39
- ac turpis egestas maecenas. Viverra nibh cras pulvinar mattis nunc sed
40
- blandit.
41
- </Text>
42
- <Text style={styles.text}>
43
- Molestie nunc non blandit massa enim nec dui nunc. Velit laoreet id
44
- donec ultrices tincidunt arcu. Imperdiet nulla malesuada pellentesque
45
- elit eget. Id neque aliquam vestibulum morbi blandit cursus. Ut
46
- tristique et egestas quis. Nisl nunc mi ipsum faucibus vitae aliquet nec
47
- ullamcorper sit. Cursus mattis molestie a iaculis at erat.
48
- </Text>
49
- <Text style={styles.text}>
50
- Tincidunt arcu non sodales neque sodales ut etiam. Ultrices dui sapien
51
- eget mi proin sed. Metus vulputate eu scelerisque felis. In pellentesque
52
- massa placerat duis ultricies lacus sed turpis. Id leo in vitae turpis
53
- massa sed elementum.
54
- </Text>
55
- </ScrollView>
56
- );
57
- }
58
-
59
- const styles = StyleSheet.create({
60
- text: {
61
- paddingHorizontal: 20,
62
- paddingTop: 20,
63
- fontSize: 24,
64
- },
65
- });
@@ -1,91 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, Text, View, SectionList } from 'react-native';
3
- import { customEventLogger, nativeEventLogger } from '../utils/helpers';
4
-
5
- interface SectionData {
6
- title: string;
7
- data: string[];
8
- }
9
-
10
- const sections: SectionData[] = [
11
- {
12
- title: 'Main dishes',
13
- data: [
14
- 'Pizza',
15
- 'Burger',
16
- 'Risotto',
17
- 'Pasta',
18
- 'Fish',
19
- 'Chicken',
20
- 'Beef',
21
- 'Dumplings',
22
- ],
23
- },
24
- {
25
- title: 'Sides',
26
- data: [
27
- 'French Fries',
28
- 'Onion Rings',
29
- 'Fried Shrimps',
30
- 'Potatoes',
31
- 'Salad',
32
- 'Garlic Bread',
33
- ],
34
- },
35
- {
36
- title: 'Drinks',
37
- data: ['Water', 'Coke', 'Beer', 'Tea', 'Coffee', 'Soda', 'Matcha'],
38
- },
39
- {
40
- title: 'Desserts',
41
- data: ['Cheese Cake', 'Ice Cream', 'Chocolate', 'Cookies', 'Fruits'],
42
- },
43
- ];
44
-
45
- export function SectionListEvents() {
46
- const renderSectionHeader = ({ section }: { section: SectionData }) => (
47
- <Text style={styles.header}>{section.title}</Text>
48
- );
49
-
50
- const renderItem = ({ item }: { item: string }) => (
51
- <View style={styles.item}>
52
- <Text style={styles.title}>{item}</Text>
53
- </View>
54
- );
55
-
56
- return (
57
- <SectionList
58
- sections={sections}
59
- keyExtractor={(item, index) => item + index}
60
- renderSectionHeader={renderSectionHeader}
61
- renderItem={renderItem}
62
- contentInsetAdjustmentBehavior="scrollableAxes"
63
- scrollEventThrottle={150}
64
- onScroll={nativeEventLogger('scroll')}
65
- onScrollBeginDrag={nativeEventLogger('scrollBeginDrag')}
66
- onScrollEndDrag={nativeEventLogger('scrollEndDrag')}
67
- onMomentumScrollBegin={nativeEventLogger('momentumScrollBegin')}
68
- onMomentumScrollEnd={nativeEventLogger('momentumScrollEnd')}
69
- onScrollToTop={nativeEventLogger('scrollToTop')}
70
- onEndReached={customEventLogger('endReached')}
71
- onContentSizeChange={customEventLogger('contentSizeChange')}
72
- />
73
- );
74
- }
75
-
76
- const styles = StyleSheet.create({
77
- header: {
78
- paddingVertical: 8,
79
- paddingHorizontal: 16,
80
- backgroundColor: 'white',
81
- fontSize: 24,
82
- },
83
- item: {
84
- paddingVertical: 16,
85
- paddingHorizontal: 16,
86
- },
87
-
88
- title: {
89
- fontSize: 20,
90
- },
91
- });
@@ -1,42 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, SafeAreaView, TextInput, Pressable } from 'react-native';
3
- import { nativeEventLogger } from '../utils/helpers';
4
-
5
- export function TextInputEventPropagation() {
6
- const [value, setValue] = React.useState('');
7
-
8
- const handleChangeText = (value: string) => {
9
- setValue(value);
10
- console.log(`Event: changeText`, value);
11
- };
12
-
13
- return (
14
- <SafeAreaView style={styles.container}>
15
- <Pressable onPress={nativeEventLogger('Pressable.press')}>
16
- <TextInput
17
- style={styles.textInput}
18
- value={value}
19
- editable={true}
20
- onChangeText={handleChangeText}
21
- onChange={nativeEventLogger('TextInput.change')}
22
- onPressIn={nativeEventLogger('TextInput.pressIn')}
23
- onPressOut={nativeEventLogger('TextInput.pressOut')}
24
- />
25
- </Pressable>
26
- </SafeAreaView>
27
- );
28
- }
29
-
30
- const styles = StyleSheet.create({
31
- container: {
32
- flex: 1,
33
- },
34
- textInput: {
35
- backgroundColor: 'white',
36
- margin: 20,
37
- padding: 8,
38
- fontSize: 18,
39
- borderWidth: 1,
40
- borderColor: 'grey',
41
- },
42
- });
@@ -1,48 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, SafeAreaView, TextInput } from 'react-native';
3
- import { nativeEventLogger, logEvent } from '../utils/helpers';
4
-
5
- export function TextInputEvents() {
6
- const [value, setValue] = React.useState('');
7
-
8
- const handleChangeText = (value: string) => {
9
- setValue(value);
10
- logEvent('changeText', value);
11
- };
12
-
13
- return (
14
- <SafeAreaView style={styles.container}>
15
- <TextInput
16
- style={styles.textInput}
17
- value={value}
18
- editable={true}
19
- onChangeText={handleChangeText}
20
- onChange={nativeEventLogger('change')}
21
- onKeyPress={nativeEventLogger('keyPress')}
22
- onEndEditing={nativeEventLogger('endEditing')}
23
- onSubmitEditing={nativeEventLogger('submitEditing')}
24
- onTextInput={nativeEventLogger('textInput')}
25
- onSelectionChange={nativeEventLogger('selectionChange')}
26
- onContentSizeChange={nativeEventLogger('contentSizeChange')}
27
- onFocus={nativeEventLogger('focus')}
28
- onBlur={nativeEventLogger('blur')}
29
- onPressIn={nativeEventLogger('pressIn')}
30
- onPressOut={nativeEventLogger('pressOut')}
31
- />
32
- </SafeAreaView>
33
- );
34
- }
35
-
36
- const styles = StyleSheet.create({
37
- container: {
38
- flex: 1,
39
- },
40
- textInput: {
41
- backgroundColor: 'white',
42
- margin: 20,
43
- padding: 8,
44
- fontSize: 18,
45
- borderWidth: 1,
46
- borderColor: 'grey',
47
- },
48
- });
@@ -1,18 +0,0 @@
1
- import { NativeSyntheticEvent } from 'react-native/types';
2
-
3
- export function nativeEventLogger(name: string) {
4
- return (event: NativeSyntheticEvent<unknown>) => {
5
- logEvent(name, event?.nativeEvent);
6
- };
7
- }
8
-
9
- export function customEventLogger(name: string) {
10
- return (...args: unknown[]) => {
11
- logEvent(name, ...args);
12
- };
13
- }
14
-
15
- export function logEvent(name: string, ...args: unknown[]) {
16
- // eslint-disable-next-line no-console
17
- console.log(`Event: ${name}`, ...args);
18
- }
@@ -1,6 +0,0 @@
1
- {
2
- "extends": "expo/tsconfig.base",
3
- "compilerOptions": {
4
- "strict": true
5
- }
6
- }