react-native-ui-lib 8.0.1 → 8.1.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 (537) hide show
  1. package/jestSetup/jest-setup.js +154 -0
  2. package/lib/components/DynamicFonts/FontDownloader.d.js +1 -0
  3. package/lib/components/DynamicFonts/FontLoader.d.js +1 -0
  4. package/lib/components/DynamicFonts/NoPermissionsAcquirer.d.js +1 -0
  5. package/lib/components/DynamicFonts/PermissionsAcquirer.android.d.js +1 -0
  6. package/lib/components/DynamicFonts/PermissionsAcquirer.ios.d.js +2 -0
  7. package/lib/components/DynamicFonts/PermissionsAcquirer.web.d.js +2 -0
  8. package/lib/components/DynamicFonts/RNFSPackage.d.js +1 -0
  9. package/lib/components/DynamicFonts/index.d.js +3 -0
  10. package/lib/components/HighlighterOverlayView/index.d.js +1 -0
  11. package/lib/components/HighlighterOverlayView/index.web.d.js +1 -0
  12. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.d.js +2 -0
  13. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.d.js +2 -0
  14. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.d.js +2 -0
  15. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.d.js +1 -0
  16. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.d.js +1 -0
  17. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.js +1 -0
  18. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.d.js +5 -0
  19. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.js +1 -0
  20. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.d.js +1 -0
  21. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.js +1 -0
  22. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.d.js +1 -0
  23. package/lib/components/Keyboard/KeyboardAccessoryView/index.d.js +7 -0
  24. package/lib/components/Keyboard/KeyboardAwareInsetsView/index.d.js +1 -0
  25. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.d.js +1 -0
  26. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.d.js +10 -0
  27. package/lib/components/Keyboard/KeyboardTrackingView/index.d.js +1 -0
  28. package/lib/components/Keyboard/KeyboardTrackingView/index.web.d.js +1 -0
  29. package/lib/components/Keyboard/index.d.js +4 -0
  30. package/lib/components/SafeArea/SafeAreaInsetsManager.d.js +1 -0
  31. package/lib/components/SafeArea/SafeAreaSpacerView.d.js +1 -0
  32. package/lib/components/SafeArea/SafeAreaSpacerView.web.d.js +1 -0
  33. package/lib/components/SafeArea/index.d.js +1 -0
  34. package/lib/components/index.d.js +6 -0
  35. package/lib/scripts/releaseNative.js +72 -0
  36. package/lib/specs/HighlighterViewNativeComponent.d.js +1 -0
  37. package/lib/specs/HighlighterViewNativeComponent.d.ts +61 -0
  38. package/lib/specs/HighlighterViewNativeComponent.js +8 -0
  39. package/lib/specs/KeyboardTrackingViewNativeComponent.d.js +1 -0
  40. package/lib/specs/KeyboardTrackingViewNativeComponent.d.ts +58 -0
  41. package/lib/specs/KeyboardTrackingViewNativeComponent.js +8 -0
  42. package/package.json +7 -31
  43. package/scripts/build/build.js +35 -0
  44. package/scripts/build/buildPackages/buildComponentsPackages.js +18 -0
  45. package/scripts/build/buildPackages/buildCustomPackages.js +106 -0
  46. package/scripts/build/buildPackages/index.js +6 -0
  47. package/scripts/createCalendarMockData.js +37 -0
  48. package/scripts/docs/buildDocs.js +1 -0
  49. package/scripts/prepush.js +71 -0
  50. package/scripts/release/prReleaseNotes.js +6 -0
  51. package/scripts/release/release.js +99 -0
  52. package/scripts/updateWebAssets.js +88 -0
  53. package/scripts/utils.js +21 -0
  54. package/src/assets/__tests__/Assets.spec.js +110 -0
  55. package/src/commons/__tests__/baseComponent.spec.js +36 -0
  56. package/src/commons/__tests__/constants.spec.js +202 -0
  57. package/src/commons/__tests__/modifiers.spec.js +453 -0
  58. package/src/components/WheelPicker/__tests__/index.spec.js +121 -0
  59. package/src/components/WheelPicker/__tests__/useListMiddleIndex.spec.js +40 -0
  60. package/src/components/WheelPicker/__tests__/usePresenter.spec.js +87 -0
  61. package/src/components/avatar/__tests__/index.spec.js +25 -0
  62. package/src/components/badge/__tests__/index.spec.js +84 -0
  63. package/src/components/button/__tests__/index.driver.spec.js +209 -0
  64. package/src/components/button/__tests__/index.spec.js +287 -0
  65. package/src/components/button/index.js +30 -8
  66. package/src/components/card/__tests__/CardPresenter.spec.js +35 -0
  67. package/src/components/carousel/__tests__/CarouselPresenter.spec.js +52 -0
  68. package/src/components/carousel/__tests__/index.spec.js +89 -0
  69. package/src/components/carousel/index.js +2 -1
  70. package/src/components/checkbox/__tests__/index.spec.js +357 -0
  71. package/src/components/chip/__tests__/index.spec.js +63 -0
  72. package/src/components/colorSwatch/index.js +1 -1
  73. package/src/components/connectionStatusBar/__tests__/index.spec.js +41 -0
  74. package/src/components/dateTimePicker/__tests__/index.spec.js +44 -0
  75. package/src/components/dialog/__tests__/index.new.spec.js +118 -0
  76. package/src/components/featureHighlight/__tests__/index.spec.js +76 -0
  77. package/src/components/floatingButton/__tests__/index.spec.js +229 -0
  78. package/src/components/floatingButton/index.js +66 -35
  79. package/src/components/hint/__tests__/index.spec.js +108 -0
  80. package/src/components/image/__tests__/index.spec.js +56 -0
  81. package/src/components/image/image.api.json +193 -1
  82. package/src/components/maskedInput/__tests__/maskedInput.new.spec.js +19 -0
  83. package/src/components/maskedInput/__tests__/maskedInput.old.spec.js +20 -0
  84. package/src/components/modal/__tests__/index.spec.js +58 -0
  85. package/src/components/numberInput/__tests__/Presenter.spec.js +374 -0
  86. package/src/components/numberInput/__tests__/index.spec.js +38 -0
  87. package/src/components/numberInput/numberInput.api.json +131 -6
  88. package/src/components/overlay/index.js +2 -1
  89. package/src/components/pageControl/pageControl.api.json +175 -1
  90. package/src/components/panView/__tests__/panningUtil.spec.js +693 -0
  91. package/src/components/picker/__tests__/PickerPresenter.spec.js +15 -0
  92. package/src/components/picker/__tests__/index.spec.js +364 -0
  93. package/src/components/picker/helpers/__tests__/usePickerLabel.spec.js +96 -0
  94. package/src/components/radioButton/__tests__/index.spec.js +43 -0
  95. package/src/components/radioGroup/__tests__/index.spec.js +96 -0
  96. package/src/components/sectionsWheelPicker/__tests__/index.spec.js +35 -0
  97. package/src/components/sectionsWheelPicker/__tests__/mockSections.js +28 -0
  98. package/src/components/segmentedControl/__tests__/index.spec.js +25 -0
  99. package/src/components/slider/__tests__/index.spec.js +35 -0
  100. package/src/components/slider/index.js +12 -1
  101. package/src/components/slider/slider.api.json +11 -0
  102. package/src/components/sortableGridList/__tests__/index.spec.js +51 -0
  103. package/src/components/sortableGridList/__tests__/usePresenter.spec.js +231 -0
  104. package/src/components/sortableGridList/sortableGridList.api.json +44 -1
  105. package/src/components/sortableList/SortableList.api.json +51 -3
  106. package/src/components/sortableList/__tests__/index.spec.js +105 -0
  107. package/src/components/stackAggregator/assets/arrow-down.png +0 -0
  108. package/src/components/stackAggregator/assets/arrow-down@2x.png +0 -0
  109. package/src/components/stackAggregator/assets/arrow-down@3x.png +0 -0
  110. package/src/components/switch/__tests__/index.spec.js +96 -0
  111. package/src/components/text/__tests__/index.driver.spec.js +124 -0
  112. package/src/components/text/__tests__/index.spec.js +245 -0
  113. package/src/components/textField/__tests__/Presenter.spec.js +240 -0
  114. package/src/components/textField/__tests__/index.driver.spec.js +639 -0
  115. package/src/components/timeline/__tests__/driver.index.spec.js +133 -0
  116. package/src/helpers/__tests__/AvatarHelper.spec.js +170 -0
  117. package/src/hooks/useDidUpdate/__tests__/useDidUpdate.spec.js +80 -0
  118. package/src/hooks/useOrientation/__tests__/useOrientation.spec.js +70 -0
  119. package/src/hooks/useToggleValue/__tests__/useToggleValue.spec.js +89 -0
  120. package/src/incubator/calendar/__tests__/DateUtils.spec.js +367 -0
  121. package/src/incubator/expandableOverlay/__tests__/index.spec.js +114 -0
  122. package/src/incubator/gradient/__tests__/useAngleTransform.spec.js +126 -0
  123. package/src/incubator/slider/__tests__/SliderPresenter.spec.js +43 -0
  124. package/src/incubator/slider/__tests__/index.spec.js +34 -0
  125. package/src/incubator/slider/slider.api.json +11 -0
  126. package/src/incubator/toast/__tests__/index.spec.js +64 -0
  127. package/src/style/__tests__/colors.spec.js +313 -0
  128. package/src/style/__tests__/scheme.spec.js +119 -0
  129. package/src/style/typographyPresets.js +26 -23
  130. package/src/utils/__tests__/Playground.perf.js +14 -0
  131. package/src/utils/__tests__/imageUtils.spec.js +54 -0
  132. package/src/utils/__tests__/textUtils.spec.js +446 -0
  133. package/.eslintrc.js +0 -56
  134. package/babel.config.js +0 -35
  135. package/index.js +0 -10
  136. package/lib/android/build.gradle +0 -32
  137. package/lib/android/src/main/AndroidManifest.xml +0 -4
  138. package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +0 -28
  139. package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java +0 -139
  140. package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java +0 -28
  141. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java +0 -33
  142. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java +0 -50
  143. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java +0 -167
  144. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +0 -131
  145. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java +0 -28
  146. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java +0 -50
  147. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java +0 -52
  148. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java +0 -213
  149. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java +0 -39
  150. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java +0 -29
  151. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java +0 -29
  152. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java +0 -34
  153. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java +0 -49
  154. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java +0 -16
  155. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java +0 -83
  156. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java +0 -163
  157. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java +0 -5
  158. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +0 -33
  159. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java +0 -65
  160. package/lib/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java +0 -45
  161. package/lib/android/src/main/res/layout/wheel_picker.xml +0 -9
  162. package/lib/android/src/main/res/values/colors.xml +0 -9
  163. package/lib/android/src/main/res/values/styles.xml +0 -9
  164. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json +0 -50
  165. package/lib/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json +0 -58
  166. package/lib/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json +0 -14
  167. package/lib/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json +0 -86
  168. package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.h +0 -9
  169. package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.m +0 -115
  170. package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.h +0 -19
  171. package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.m +0 -216
  172. package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h +0 -6
  173. package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m +0 -28
  174. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h +0 -39
  175. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m +0 -160
  176. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h +0 -36
  177. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m +0 -121
  178. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h +0 -48
  179. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m +0 -27
  180. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h +0 -16
  181. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h +0 -19
  182. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm +0 -155
  183. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h +0 -16
  184. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +0 -450
  185. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +0 -18
  186. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +0 -99
  187. package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h +0 -14
  188. package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +0 -827
  189. package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h +0 -44
  190. package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m +0 -171
  191. package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h +0 -6
  192. package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m +0 -17
  193. package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.h +0 -6
  194. package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.m +0 -105
  195. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h +0 -5
  196. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m +0 -20
  197. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h +0 -7
  198. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m +0 -76
  199. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h +0 -9
  200. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m +0 -14
  201. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h +0 -5
  202. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m +0 -26
  203. package/lib/ios/reactnativeuilib.xcodeproj/project.pbxproj +0 -435
  204. package/metro.config.js +0 -23
  205. package/src/.babelrc.json +0 -23
  206. package/src/assets/Assets.d.ts +0 -5
  207. package/src/assets/emojis/index.d.ts +0 -1343
  208. package/src/assets/index.d.ts +0 -3
  209. package/src/assets/internal/index.d.ts +0 -4
  210. package/src/commons/Config.d.ts +0 -24
  211. package/src/commons/Constants.d.ts +0 -54
  212. package/src/commons/UIComponent.d.ts +0 -4
  213. package/src/commons/asBaseComponent.d.ts +0 -15
  214. package/src/commons/baseComponent.d.ts +0 -2
  215. package/src/commons/forwardRef.d.ts +0 -8
  216. package/src/commons/modifiers.d.ts +0 -118
  217. package/src/commons/new.d.ts +0 -8
  218. package/src/commons/withScrollEnabler.d.ts +0 -13
  219. package/src/commons/withScrollReached.d.ts +0 -35
  220. package/src/components/WheelPicker/Item.d.ts +0 -28
  221. package/src/components/WheelPicker/WheelPicker.driver.d.ts +0 -18
  222. package/src/components/WheelPicker/WheelPickerItem.driver.d.ts +0 -8
  223. package/src/components/WheelPicker/helpers/useListMiddleIndex.d.ts +0 -6
  224. package/src/components/WheelPicker/index.d.ts +0 -88
  225. package/src/components/WheelPicker/types.d.ts +0 -6
  226. package/src/components/WheelPicker/usePresenter.d.ts +0 -21
  227. package/src/components/actionBar/index.d.ts +0 -35
  228. package/src/components/actionSheet/index.d.ts +0 -80
  229. package/src/components/animatedImage/index.d.ts +0 -28
  230. package/src/components/avatar/index.d.ts +0 -382
  231. package/src/components/badge/index.d.ts +0 -879
  232. package/src/components/baseInput/Validators.d.ts +0 -8
  233. package/src/components/baseInput/index.d.ts +0 -29
  234. package/src/components/button/Button.driver.new.d.ts +0 -34
  235. package/src/components/button/ButtonConstants.d.ts +0 -26
  236. package/src/components/button/index.d.ts +0 -572
  237. package/src/components/button/types.d.ts +0 -153
  238. package/src/components/card/CardContext.d.ts +0 -3
  239. package/src/components/card/CardImage.d.ts +0 -20
  240. package/src/components/card/CardPresenter.d.ts +0 -12
  241. package/src/components/card/CardSection.d.ts +0 -79
  242. package/src/components/card/asCardChild.d.ts +0 -6
  243. package/src/components/card/index.d.ts +0 -120
  244. package/src/components/carousel/Carousel.driver.new.d.ts +0 -9
  245. package/src/components/carousel/CarouselPresenter.d.ts +0 -9
  246. package/src/components/carousel/index.d.ts +0 -73
  247. package/src/components/carousel/types.d.ts +0 -107
  248. package/src/components/checkbox/Checkbox.driver.d.ts +0 -15
  249. package/src/components/checkbox/index.d.ts +0 -129
  250. package/src/components/chip/chip.driver.d.ts +0 -33
  251. package/src/components/chip/index.d.ts +0 -209
  252. package/src/components/chipsInput/index.d.ts +0 -55
  253. package/src/components/colorPalette/index.d.ts +0 -116
  254. package/src/components/colorPicker/ColorPickerDialog.d.ts +0 -39
  255. package/src/components/colorPicker/ColorPickerDialogHeader.d.ts +0 -9
  256. package/src/components/colorPicker/ColorPickerDialogSliders.d.ts +0 -10
  257. package/src/components/colorPicker/ColorPickerPresenter.d.ts +0 -16
  258. package/src/components/colorPicker/ColorPickerPreview.d.ts +0 -12
  259. package/src/components/colorPicker/index.d.ts +0 -45
  260. package/src/components/colorSwatch/index.d.ts +0 -50
  261. package/src/components/connectionStatusBar/index.d.ts +0 -33
  262. package/src/components/connectionStatusBar/types.d.ts +0 -28
  263. package/src/components/dash/index.d.ts +0 -19
  264. package/src/components/dateTimePicker/DateTimePicker.driver.d.ts +0 -7
  265. package/src/components/dateTimePicker/index.d.ts +0 -288
  266. package/src/components/dateTimePicker/useOldApi.d.ts +0 -27
  267. package/src/components/dialog/Dialog.driver.new.d.ts +0 -6
  268. package/src/components/dialog/DialogHeader.d.ts +0 -4
  269. package/src/components/dialog/index.d.ts +0 -15
  270. package/src/components/dialog/types.d.ts +0 -138
  271. package/src/components/dialog/useDialogContent.d.ts +0 -13
  272. package/src/components/drawer/Swipeable.d.ts +0 -94
  273. package/src/components/drawer/index.d.ts +0 -161
  274. package/src/components/expandableSection/index.d.ts +0 -40
  275. package/src/components/fadedScrollView/index.d.ts +0 -59
  276. package/src/components/fader/index.d.ts +0 -37
  277. package/src/components/featureHighlight/index.d.ts +0 -147
  278. package/src/components/floatingButton/index.d.ts +0 -85
  279. package/src/components/gradient/index.d.ts +0 -19
  280. package/src/components/gridList/index.d.ts +0 -5
  281. package/src/components/gridList/types.d.ts +0 -29
  282. package/src/components/gridList/useGridLayout.d.ts +0 -15
  283. package/src/components/gridListItem/index.d.ts +0 -132
  284. package/src/components/gridView/index.d.ts +0 -80
  285. package/src/components/hint/Hint.driver.d.ts +0 -6
  286. package/src/components/hint/Hint.driver.new.d.ts +0 -19
  287. package/src/components/hint/HintAnchor.d.ts +0 -13
  288. package/src/components/hint/HintBubble.d.ts +0 -12
  289. package/src/components/hint/HintMockChildren.d.ts +0 -8
  290. package/src/components/hint/HintOld.d.ts +0 -196
  291. package/src/components/hint/hooks/useHintAccessibility.d.ts +0 -10
  292. package/src/components/hint/hooks/useHintLayout.d.ts +0 -13
  293. package/src/components/hint/hooks/useHintPosition.d.ts +0 -29
  294. package/src/components/hint/hooks/useHintVisibility.d.ts +0 -6
  295. package/src/components/hint/index.d.ts +0 -14
  296. package/src/components/hint/types.d.ts +0 -106
  297. package/src/components/icon/index.d.ts +0 -97
  298. package/src/components/image/Image.driver.d.ts +0 -4
  299. package/src/components/image/Image.driver.new.d.ts +0 -2
  300. package/src/components/image/index.d.ts +0 -192
  301. package/src/components/listItem/ListItemPart.d.ts +0 -15
  302. package/src/components/listItem/index.d.ts +0 -52
  303. package/src/components/listItem/types.d.ts +0 -60
  304. package/src/components/loaderScreen/index.d.ts +0 -13
  305. package/src/components/loaderScreen/types.d.ts +0 -32
  306. package/src/components/marquee/index.d.ts +0 -5
  307. package/src/components/marquee/types.d.ts +0 -35
  308. package/src/components/maskedInput/index.d.ts +0 -5
  309. package/src/components/maskedInput/new.d.ts +0 -22
  310. package/src/components/modal/Modal.driver.new.d.ts +0 -8
  311. package/src/components/modal/TopBar.d.ts +0 -89
  312. package/src/components/modal/index.d.ts +0 -64
  313. package/src/components/numberInput/NumberInput.driver.d.ts +0 -6
  314. package/src/components/numberInput/Presenter.d.ts +0 -21
  315. package/src/components/numberInput/index.d.ts +0 -57
  316. package/src/components/overlay/index.d.ts +0 -68
  317. package/src/components/pageControl/index.d.ts +0 -56
  318. package/src/components/panView/index.d.ts +0 -21
  319. package/src/components/panView/panningUtil.d.ts +0 -38
  320. package/src/components/panView/usePanGesture.d.ts +0 -49
  321. package/src/components/picker/Picker.driver.new.d.ts +0 -44
  322. package/src/components/picker/PickerContext.d.ts +0 -4
  323. package/src/components/picker/PickerItem.d.ts +0 -11
  324. package/src/components/picker/PickerItemsList.d.ts +0 -4
  325. package/src/components/picker/PickerPresenter.d.ts +0 -7
  326. package/src/components/picker/PickerSelectionStatusBar.d.ts +0 -3
  327. package/src/components/picker/helpers/useFieldType.d.ts +0 -373
  328. package/src/components/picker/helpers/useImperativePickerHandle.d.ts +0 -5
  329. package/src/components/picker/helpers/useNewPickerProps.d.ts +0 -3
  330. package/src/components/picker/helpers/usePickerLabel.d.ts +0 -17
  331. package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +0 -4
  332. package/src/components/picker/helpers/usePickerSearch.d.ts +0 -9
  333. package/src/components/picker/helpers/usePickerSelection.d.ts +0 -16
  334. package/src/components/picker/index.d.ts +0 -15
  335. package/src/components/picker/types.d.ts +0 -321
  336. package/src/components/pieChart/PieSegment.d.ts +0 -34
  337. package/src/components/pieChart/index.d.ts +0 -15
  338. package/src/components/progressBar/index.d.ts +0 -65
  339. package/src/components/progressiveImage/index.d.ts +0 -23
  340. package/src/components/radioButton/RadioButton.driver.d.ts +0 -9
  341. package/src/components/radioButton/index.d.ts +0 -121
  342. package/src/components/radioGroup/RadioGroup.driver.d.ts +0 -13
  343. package/src/components/radioGroup/RadioGroupContext.d.ts +0 -14
  344. package/src/components/radioGroup/asRadioGroupChild.d.ts +0 -2
  345. package/src/components/radioGroup/index.d.ts +0 -47
  346. package/src/components/scrollBar/index.d.ts +0 -88
  347. package/src/components/searchInput/index.d.ts +0 -37
  348. package/src/components/searchInput/types.d.ts +0 -66
  349. package/src/components/sectionsWheelPicker/SectionsWheelPicker.driver.d.ts +0 -25
  350. package/src/components/sectionsWheelPicker/index.d.ts +0 -43
  351. package/src/components/segmentedControl/index.d.ts +0 -90
  352. package/src/components/segmentedControl/segment.d.ts +0 -111
  353. package/src/components/segmentedControl/useSegmentedControlPreset.d.ts +0 -10
  354. package/src/components/skeletonView/index.d.ts +0 -163
  355. package/src/components/slider/ColorSliderGroup.d.ts +0 -13
  356. package/src/components/slider/GradientSlider.d.ts +0 -20
  357. package/src/components/slider/SliderContext.d.ts +0 -8
  358. package/src/components/slider/Thumb.d.ts +0 -32
  359. package/src/components/slider/index.d.ts +0 -31
  360. package/src/components/slider/slider.driver.d.ts +0 -5
  361. package/src/components/slider/types.d.ts +0 -197
  362. package/src/components/sortableGridList/SortableItem.d.ts +0 -6
  363. package/src/components/sortableGridList/index.d.ts +0 -5
  364. package/src/components/sortableGridList/types.d.ts +0 -34
  365. package/src/components/sortableGridList/usePresenter.d.ts +0 -21
  366. package/src/components/sortableList/SortableList.driver.new.d.ts +0 -2
  367. package/src/components/sortableList/SortableListContext.d.ts +0 -19
  368. package/src/components/sortableList/SortableListItem.d.ts +0 -8
  369. package/src/components/sortableList/SortableListItem.driver.new.d.ts +0 -11
  370. package/src/components/sortableList/index.d.ts +0 -5
  371. package/src/components/sortableList/types.d.ts +0 -48
  372. package/src/components/sortableList/usePresenter.d.ts +0 -12
  373. package/src/components/stackAggregator/index.d.ts +0 -89
  374. package/src/components/stateScreen/index.d.ts +0 -5
  375. package/src/components/stateScreen/types.d.ts +0 -30
  376. package/src/components/stepper/index.d.ts +0 -47
  377. package/src/components/svgImage/index.d.ts +0 -14
  378. package/src/components/svgImage/index.web.d.ts +0 -18
  379. package/src/components/switch/index.d.ts +0 -102
  380. package/src/components/switch/switch.driver.d.ts +0 -18
  381. package/src/components/tabController/PageCarousel.d.ts +0 -9
  382. package/src/components/tabController/TabBar.d.ts +0 -97
  383. package/src/components/tabController/TabBarContext.d.ts +0 -18
  384. package/src/components/tabController/TabBarItem.d.ts +0 -105
  385. package/src/components/tabController/TabPage.d.ts +0 -33
  386. package/src/components/tabController/index.d.ts +0 -48
  387. package/src/components/tabController/useImperativeTabControllerHandle.d.ts +0 -6
  388. package/src/components/tabController/useScrollToItem.d.ts +0 -79
  389. package/src/components/text/Text.driver.d.ts +0 -7
  390. package/src/components/text/Text.driver.new.d.ts +0 -17
  391. package/src/components/text/index.d.ts +0 -195
  392. package/src/components/textField/CharCounter.d.ts +0 -7
  393. package/src/components/textField/ClearButton.d.ts +0 -4
  394. package/src/components/textField/FieldContext.d.ts +0 -4
  395. package/src/components/textField/FloatingPlaceholder.d.ts +0 -7
  396. package/src/components/textField/Input.d.ts +0 -8
  397. package/src/components/textField/Label.d.ts +0 -7
  398. package/src/components/textField/Presenter.d.ts +0 -7
  399. package/src/components/textField/TextField.driver.new.d.ts +0 -129
  400. package/src/components/textField/ValidationMessage.d.ts +0 -7
  401. package/src/components/textField/index.d.ts +0 -114
  402. package/src/components/textField/presets/outline.d.ts +0 -737
  403. package/src/components/textField/presets/underline.d.ts +0 -735
  404. package/src/components/textField/textInput/index.d.ts +0 -1
  405. package/src/components/textField/textInput/index.web.d.ts +0 -3
  406. package/src/components/textField/types.d.ts +0 -287
  407. package/src/components/textField/useFieldState.d.ts +0 -16
  408. package/src/components/textField/useImperativeInputHandle.d.ts +0 -4
  409. package/src/components/textField/usePreset.d.ts +0 -1696
  410. package/src/components/textField/validators.d.ts +0 -9
  411. package/src/components/textFieldOld/index.d.ts +0 -71
  412. package/src/components/timeline/Line.d.ts +0 -10
  413. package/src/components/timeline/Point.d.ts +0 -9
  414. package/src/components/timeline/index.d.ts +0 -11
  415. package/src/components/timeline/line.driver.d.ts +0 -10
  416. package/src/components/timeline/point.driver.d.ts +0 -8
  417. package/src/components/timeline/timeline.driver.d.ts +0 -25
  418. package/src/components/timeline/types.d.ts +0 -50
  419. package/src/components/touchableOpacity/index.d.ts +0 -50
  420. package/src/components/view/View.driver.new.d.ts +0 -7
  421. package/src/components/view/index.d.ts +0 -46
  422. package/src/components/wizard/WizardStates.d.ts +0 -2
  423. package/src/components/wizard/WizardStep.d.ts +0 -4
  424. package/src/components/wizard/index.d.ts +0 -31
  425. package/src/components/wizard/types.d.ts +0 -90
  426. package/src/helpers/AvatarHelper.d.ts +0 -9
  427. package/src/helpers/FormattingPresenter.d.ts +0 -6
  428. package/src/helpers/Profiler.d.ts +0 -22
  429. package/src/helpers/index.d.ts +0 -3
  430. package/src/hooks/index.d.ts +0 -14
  431. package/src/hooks/useCombinedRefs/index.d.ts +0 -3
  432. package/src/hooks/useDebounce/index.d.ts +0 -5
  433. package/src/hooks/useDidUpdate/index.d.ts +0 -6
  434. package/src/hooks/useHiddenLocation/index.d.ts +0 -13
  435. package/src/hooks/useHiddenLocation/index.web.d.ts +0 -13
  436. package/src/hooks/useKeyboardHeight/index.d.ts +0 -5
  437. package/src/hooks/useMeasure/index.d.ts +0 -15
  438. package/src/hooks/useModifiers/index.d.ts +0 -3
  439. package/src/hooks/useOrientation/index.d.ts +0 -7
  440. package/src/hooks/useScrollEnabler/index.d.ts +0 -23
  441. package/src/hooks/useScrollReached/index.d.ts +0 -28
  442. package/src/hooks/useScrollTo/index.d.ts +0 -37
  443. package/src/hooks/useScrollToItem/index.d.ts +0 -65
  444. package/src/hooks/useThemeProps/index.d.ts +0 -2
  445. package/src/hooks/useToggleValue/index.d.ts +0 -2
  446. package/src/incubator/TouchableOpacity.d.ts +0 -52
  447. package/src/incubator/calendar/Agenda.d.ts +0 -4
  448. package/src/incubator/calendar/CalendarContext.d.ts +0 -4
  449. package/src/incubator/calendar/CalendarItem.d.ts +0 -5
  450. package/src/incubator/calendar/Day.d.ts +0 -4
  451. package/src/incubator/calendar/Day_OLD.d.ts +0 -4
  452. package/src/incubator/calendar/Header.d.ts +0 -4
  453. package/src/incubator/calendar/Month.d.ts +0 -4
  454. package/src/incubator/calendar/TodayButton.d.ts +0 -4
  455. package/src/incubator/calendar/Week.d.ts +0 -4
  456. package/src/incubator/calendar/WeekDaysNames.d.ts +0 -4
  457. package/src/incubator/calendar/helpers/CalendarProcessor.d.ts +0 -2
  458. package/src/incubator/calendar/helpers/DataProcessor.d.ts +0 -2
  459. package/src/incubator/calendar/helpers/DateUtils.d.ts +0 -23
  460. package/src/incubator/calendar/index.d.ts +0 -7
  461. package/src/incubator/calendar/types.d.ts +0 -118
  462. package/src/incubator/expandableOverlay/ExpandableOverlay.driver.d.ts +0 -7
  463. package/src/incubator/expandableOverlay/index.d.ts +0 -83
  464. package/src/incubator/gradient/BorderGradient.d.ts +0 -4
  465. package/src/incubator/gradient/CircleGradient.d.ts +0 -4
  466. package/src/incubator/gradient/RectangleGradient.d.ts +0 -4
  467. package/src/incubator/gradient/index.d.ts +0 -5
  468. package/src/incubator/gradient/types.d.ts +0 -26
  469. package/src/incubator/gradient/useAngleTransform.d.ts +0 -27
  470. package/src/incubator/index.d.ts +0 -9
  471. package/src/incubator/slider/Slider.driver.d.ts +0 -5
  472. package/src/incubator/slider/SliderPresenter.d.ts +0 -6
  473. package/src/incubator/slider/Thumb.d.ts +0 -24
  474. package/src/incubator/slider/Track.d.ts +0 -13
  475. package/src/incubator/slider/index.d.ts +0 -139
  476. package/src/incubator/toast/Toast.driver.new.d.ts +0 -54
  477. package/src/incubator/toast/helpers/useToastAnimation.d.ts +0 -22
  478. package/src/incubator/toast/helpers/useToastPresets.d.ts +0 -8
  479. package/src/incubator/toast/helpers/useToastTimer.d.ts +0 -6
  480. package/src/incubator/toast/index.d.ts +0 -9
  481. package/src/incubator/toast/types.d.ts +0 -111
  482. package/src/index.d.ts +0 -92
  483. package/src/optionalDependencies/BlurViewPackage.d.ts +0 -2
  484. package/src/optionalDependencies/BlurViewPackage.web.d.ts +0 -2
  485. package/src/optionalDependencies/DateTimePickerPackage.d.ts +0 -2
  486. package/src/optionalDependencies/FlashListPackage.d.ts +0 -2
  487. package/src/optionalDependencies/HapticFeedbackPackage.d.ts +0 -2
  488. package/src/optionalDependencies/LinearGradientPackage.d.ts +0 -2
  489. package/src/optionalDependencies/MomentPackage.d.ts +0 -2
  490. package/src/optionalDependencies/NetInfoPackage.d.ts +0 -2
  491. package/src/optionalDependencies/PostCssPackage.d.ts +0 -5
  492. package/src/optionalDependencies/ShimmerPackage.d.ts +0 -2
  493. package/src/optionalDependencies/SvgPackage.d.ts +0 -3
  494. package/src/optionalDependencies/index.d.ts +0 -9
  495. package/src/optionalDependencies/index.web.d.ts +0 -7
  496. package/src/services/HapticService.d.ts +0 -15
  497. package/src/services/LogService.d.ts +0 -35
  498. package/src/services/index.d.ts +0 -2
  499. package/src/style/borderRadiuses.d.ts +0 -30
  500. package/src/style/colorName.d.ts +0 -8
  501. package/src/style/colorNameMap.d.ts +0 -2
  502. package/src/style/colors.d.ts +0 -274
  503. package/src/style/colorsPalette.d.ts +0 -101
  504. package/src/style/components.d.ts +0 -15
  505. package/src/style/componentsColors.d.ts +0 -5
  506. package/src/style/designTokens.d.ts +0 -69
  507. package/src/style/designTokensDM.d.ts +0 -69
  508. package/src/style/dividers.d.ts +0 -11
  509. package/src/style/index.d.ts +0 -13
  510. package/src/style/scheme.d.ts +0 -57
  511. package/src/style/shadows.d.ts +0 -223
  512. package/src/style/spacings.d.ts +0 -32
  513. package/src/style/themeManager.d.ts +0 -22
  514. package/src/style/typography.d.ts +0 -26
  515. package/src/style/typographyPresets.d.ts +0 -7
  516. package/src/testkit/Component.driver.d.ts +0 -30
  517. package/src/testkit/DriverException.d.ts +0 -12
  518. package/src/testkit/UniDriver.d.ts +0 -29
  519. package/src/testkit/drivers/TestingLibraryDriver.d.ts +0 -26
  520. package/src/testkit/index.d.ts +0 -25
  521. package/src/testkit/new/Component.driver.d.ts +0 -16
  522. package/src/testkit/new/useDraggable.driver.d.ts +0 -15
  523. package/src/testkit/new/usePressable.driver.d.ts +0 -14
  524. package/src/testkit/new/useScrollable.driver.d.ts +0 -13
  525. package/src/typings/assets.d.ts +0 -52
  526. package/src/typings/common.d.ts +0 -12
  527. package/src/typings/module.d.ts +0 -13
  528. package/src/typings/recorderTypes.d.ts +0 -13
  529. package/src/uilib-test-renderer/helper.d.ts +0 -8
  530. package/src/uilib-test-renderer/index.d.ts +0 -4
  531. package/src/uilib-test-renderer/scrollViewHelper.d.ts +0 -9
  532. package/src/utils/dateUtils.d.ts +0 -2
  533. package/src/utils/imageUtils.d.ts +0 -5
  534. package/src/utils/index.d.ts +0 -4
  535. package/src/utils/styleUtils.d.ts +0 -7
  536. package/src/utils/textUtils.d.ts +0 -8
  537. /package/{src → scripts/build}/.babelrc.exports.js +0 -0
@@ -0,0 +1,121 @@
1
+ import _times from "lodash/times";
2
+ import React from 'react';
3
+ import { render /* , act, waitFor */ } from '@testing-library/react-native';
4
+ import { Colors } from "../../../style";
5
+ import WheelPicker from "../index";
6
+ import { WheelPickerDriver } from "../WheelPicker.driver";
7
+ import { WheelPickerItemDriver } from "../WheelPickerItem.driver";
8
+ const ITEM_HEIGHT = 50;
9
+ const NUM_OF_ROWS = 10;
10
+ const testID = 'wheel';
11
+ const onChange = jest.fn();
12
+ const TestCase = props => {
13
+ return <WheelPicker testID={testID} items={_times(60, i => i).map(item => ({
14
+ label: `item #${item}`,
15
+ value: item,
16
+ testID: `${item}`
17
+ }))} initialValue={0} onChange={onChange} numberOfVisibleRows={NUM_OF_ROWS} itemHeight={ITEM_HEIGHT} activeTextColor={Colors.red30} inactiveTextColor={Colors.blue30} {...props} />;
18
+ };
19
+ describe('WheelPicker', () => {
20
+ beforeEach(() => {
21
+ onChange.mockClear();
22
+ });
23
+ describe('FlatList', () => {
24
+ it('should present $NUM_OF_ROWS rows', () => {
25
+ const renderTree = render(<TestCase />);
26
+ const driver = WheelPickerDriver({
27
+ renderTree,
28
+ testID
29
+ });
30
+ expect(driver.getListHeight()).toBe(NUM_OF_ROWS * ITEM_HEIGHT);
31
+ });
32
+ it('should call onChange after scrolling ends with default itemHeight and numberOfRows', () => {
33
+ const props = {
34
+ itemHeight: undefined,
35
+ numberOfVisibleRows: undefined
36
+ };
37
+ const renderTree = render(<TestCase {...props} />);
38
+ const driver = WheelPickerDriver({
39
+ renderTree,
40
+ testID
41
+ });
42
+ driver.moveToItem(4);
43
+ expect(onChange).toHaveBeenCalledWith(4, 4);
44
+ driver.moveToItem(7);
45
+ expect(onChange).toHaveBeenCalledWith(7, 7);
46
+ });
47
+ it('should call onChange after scrolling ends', () => {
48
+ const renderTree = render(<TestCase />);
49
+ const driver = WheelPickerDriver({
50
+ renderTree,
51
+ testID
52
+ });
53
+ driver.moveToItem(4, ITEM_HEIGHT);
54
+ expect(onChange).toHaveBeenCalledWith(4, 4);
55
+ driver.moveToItem(7, ITEM_HEIGHT);
56
+ expect(onChange).toHaveBeenCalledWith(7, 7);
57
+ });
58
+ });
59
+ describe('initialValue', () => {
60
+ it('should not call onChange when initialValue is updated', () => {
61
+ const renderTree = render(<TestCase />);
62
+ renderTree.rerender(<TestCase initialValue={2} />);
63
+ expect(onChange).not.toHaveBeenCalled();
64
+ });
65
+ });
66
+ describe('label', () => {
67
+ it('should return label', () => {
68
+ const label = 'Hours';
69
+ const renderTree = render(<TestCase label={label} />);
70
+ const driver = WheelPickerDriver({
71
+ renderTree,
72
+ testID
73
+ });
74
+ expect(driver.getLabel()).toEqual(label);
75
+ });
76
+ });
77
+ describe('PickerItem', () => {
78
+ it('should get first item\'s label', () => {
79
+ const renderTree = render(<TestCase />);
80
+ const index = 0;
81
+ const driver = WheelPickerItemDriver({
82
+ renderTree,
83
+ testID: `${index}`
84
+ });
85
+ expect(driver.getLabel()).toEqual('item #0');
86
+ });
87
+ it('should get first item\'s text style when no active/inactive colors', () => {
88
+ const renderTree = render(<TestCase textStyle={{
89
+ color: Colors.green30
90
+ }} />);
91
+ const index = 0;
92
+ const driver = WheelPickerItemDriver({
93
+ renderTree,
94
+ testID: `${index}`
95
+ });
96
+ expect(driver.getLabelStyle()?.color).toEqual(Colors.green30);
97
+ });
98
+
99
+ //TODO: Fix these test's using AnimatedStyle mocking
100
+ // it('should call onChange after second item is pressed', async () => {
101
+ // const renderTree = render(<TestCase/>);
102
+ // const index = 1;
103
+ // const driver = WheelPickerItemDriver({renderTree, testID: `${index}`});
104
+
105
+ // driver.press();
106
+
107
+ // expect(await onChange).toHaveBeenCalledTimes(1);
108
+ // expect(onChange).toHaveBeenCalledWith(1);
109
+ // });
110
+
111
+ // it('should not call onChange after first item is pressed', async () => {
112
+ // const renderTree = render(<TestCase/>);
113
+ // const index = 0;
114
+ // const driver = WheelPickerItemDriver({renderTree, testID: `${index}`});
115
+
116
+ // driver.press();
117
+
118
+ // expect(onChange).not.toHaveBeenCalledTimes(1);
119
+ // });
120
+ });
121
+ });
@@ -0,0 +1,40 @@
1
+ import useMiddleIndex from '../helpers/useListMiddleIndex';
2
+
3
+ describe('Finds list\'s middle index', () => {
4
+
5
+ it('When list is at offset 0, it should return the index of the first item', () => {
6
+ const sut = useMiddleIndex({itemHeight: 50, listSize: 10});
7
+ const offset = 0;
8
+ expect(sut(offset)).toEqual(0);
9
+ });
10
+
11
+ it('When list is at offset 100, it means we are at passed on 2 items', () => {
12
+ const sut = useMiddleIndex({itemHeight: 50, listSize: 10});
13
+ const offset = 100;
14
+ expect(sut(offset)).toEqual(2);
15
+ });
16
+
17
+ it('Make sure calculation changes on the middle of the item height', () => {
18
+ const sut = useMiddleIndex({itemHeight: 50, listSize: 10});
19
+ let offset = 24;
20
+ expect(sut(offset)).toEqual(0);
21
+
22
+ offset = 26;
23
+ expect(sut(offset)).toEqual(1);
24
+ });
25
+
26
+ it('Make sure calculation does not exceeds the number of items', () => {
27
+ const sut = useMiddleIndex({itemHeight: 50, listSize: 10});
28
+ let offset = 501;
29
+ expect(sut(offset)).toEqual(9);
30
+
31
+ offset = 600;
32
+ expect(sut(offset)).toEqual(9);
33
+ });
34
+
35
+ it('Make sure calculation does not less then 0', () => {
36
+ const sut = useMiddleIndex({itemHeight: 50, listSize: 10});
37
+ const offset = -100;
38
+ expect(sut(offset)).toEqual(0);
39
+ });
40
+ });
@@ -0,0 +1,87 @@
1
+ import usePresenter from '../usePresenter';
2
+ import {renderHook} from '@testing-library/react-hooks';
3
+
4
+ describe('WheelPicker presenter tests', () => {
5
+ jest.spyOn(global.console, 'warn');
6
+
7
+ const makeSUT = ({items = makeItems(9), children, initialValue, itemHeight = 10, preferredNumVisibleRows = 20}) => {
8
+ return renderHook(() =>
9
+ usePresenter({
10
+ items,
11
+ children,
12
+ initialValue,
13
+ itemHeight,
14
+ preferredNumVisibleRows
15
+ }));
16
+ };
17
+
18
+ const makeItems = (count, stringValue) => {
19
+ const items = [];
20
+ while (count >= items.length) {
21
+ const someData = stringValue ? stringValue + items.length : items.length;
22
+ const item = {value: someData, label: someData};
23
+ items.push(item);
24
+ }
25
+ return items;
26
+ };
27
+
28
+ it('expect height of the content-view to be itemHeight * preferredNumVisibleRows', () => {
29
+ let sut = makeSUT({items: makeItems(44), itemHeight: 10, preferredNumVisibleRows: 5});
30
+ expect(sut.result.current.height).toEqual(50);
31
+
32
+ sut = makeSUT({items: makeItems(10), itemHeight: 20, preferredNumVisibleRows: 3});
33
+ expect(sut.result.current.height).toEqual(60);
34
+
35
+ sut = makeSUT({items: makeItems(10), itemHeight: 0, preferredNumVisibleRows: 0});
36
+ expect(sut.result.current.height).toEqual(0);
37
+ });
38
+
39
+ it('Expect to find items by their string types', () => {
40
+ let sut = makeSUT({items: makeItems(15, 'a'), initialValue: 'a2'});
41
+ expect(sut.result.current.index).toEqual(2);
42
+
43
+ sut = makeSUT({items: makeItems(100, 'bbb'), initialValue: 'bbb71'});
44
+ expect(sut.result.current.index).toEqual(71);
45
+
46
+ // no data found
47
+ sut = makeSUT({items: makeItems(10, 'b'), initialValue: '$$$'});
48
+ expect(sut.result.current.index).toEqual(-1);
49
+ });
50
+
51
+ it('Expect to find items by their number types', () => {
52
+ let sut = makeSUT({items: makeItems(11), initialValue: 0});
53
+ expect(sut.result.current.index).toEqual(0);
54
+
55
+ sut = makeSUT({items: makeItems(8), initialValue: 4});
56
+ expect(sut.result.current.index).toEqual(4);
57
+
58
+ sut = makeSUT({items: makeItems(18), initialValue: 18});
59
+ expect(sut.result.current.index).toEqual(18);
60
+
61
+ sut = makeSUT({items: makeItems(18), initialValue: 99});
62
+ expect(sut.result.current.index).toEqual(-1);
63
+
64
+ sut = makeSUT({items: makeItems(0), initialValue: 99});
65
+ expect(sut.result.current.index).toEqual(-1);
66
+
67
+ sut = makeSUT({items: makeItems(0), initialValue: 0});
68
+ expect(sut.result.current.index).toEqual(0);
69
+ });
70
+
71
+ it('Expect to find items by their object of {value, label} types', () => {
72
+ const {result} = makeSUT({items: makeItems(15, 'b'), initialValue: {value: 'b6', label: 'abc'}});
73
+ expect(result.current.index).toEqual(6);
74
+ expect(console.warn).toHaveBeenCalledWith('UILib WheelPicker will stop supporting initialValue prop type as an object (ItemProps). Please pass string or number only');
75
+ });
76
+
77
+ it('Expect getRowItemAtOffset to return the right row for offset', () => {
78
+ let sut = makeSUT({initialValue: 2, itemHeight: 100});
79
+
80
+ let offset = 300;
81
+ expect(sut.result.current.getRowItemAtOffset(offset).value).toEqual(3);
82
+
83
+ sut = makeSUT({initialValue: 0, itemHeight: 100});
84
+ offset = 0;
85
+ expect(sut.result.current.getRowItemAtOffset(offset).value).toEqual(0);
86
+ });
87
+ });
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import {StyleSheet} from 'react-native';
3
+ import {render} from '@testing-library/react-native';
4
+ import {Avatar} from '../index';
5
+
6
+ function verifyBadgeSize(renderTree, expectedSize) {
7
+ const badge = renderTree.getByTestId('avatar.onlineBadge');
8
+ const style = StyleSheet.flatten(badge.props.style);
9
+ expect(style.width).toEqual(expectedSize);
10
+ expect(style.height).toEqual(expectedSize);
11
+ }
12
+
13
+ describe('Avatar Badge', () => {
14
+ describe('badgeProps.size supports number', () => {
15
+ it('should return 99 as the size number given', () => {
16
+ const renderTree = render(<Avatar testID={'avatar'} badgeProps={{size: 99}}/>);
17
+ verifyBadgeSize(renderTree, 99);
18
+ });
19
+
20
+ it('should return default when passing 0 as size', () => {
21
+ const renderTree = render(<Avatar testID={'avatar'} badgeProps={{size: 0}}/>);
22
+ verifyBadgeSize(renderTree, 10);
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,84 @@
1
+ import {Badge} from '../index';
2
+
3
+ describe('Badge', () => {
4
+ describe('Badge Label', () => {
5
+ it('Should return the label sent (unformatted)', () => {
6
+ const uut = new Badge({label: '10'});
7
+ expect(uut.getFormattedLabel()).toEqual('10');
8
+ });
9
+ it('Should return original label if it is NaN (string) ', () => {
10
+ const uut = new Badge({label: 'a'});
11
+ expect(uut.getFormattedLabel()).toEqual('a');
12
+ });
13
+ it('Should return original label if it is NaN (number with +) ', () => {
14
+ const uut = new Badge({label: '99+'});
15
+ expect(uut.getFormattedLabel()).toEqual('99+');
16
+ });
17
+ it('Should return formatted label according to given labelFormatterLimit prop (1) ', () => {
18
+ const uut = new Badge({label: '10000', labelFormatterLimit: 1});
19
+ expect(uut.getFormattedLabel()).toEqual('9+');
20
+ });
21
+ it('Should return formatted label according to given labelFormatterLimit prop (2) ', () => {
22
+ const uut = new Badge({label: '10000', labelFormatterLimit: 2});
23
+ expect(uut.getFormattedLabel()).toEqual('99+');
24
+ });
25
+ it('Should return formatted label according to given labelFormatterLimit prop (3) ', () => {
26
+ const uut = new Badge({label: '10000', labelFormatterLimit: 3});
27
+ expect(uut.getFormattedLabel()).toEqual('999+');
28
+ });
29
+ it('Should return formatted label according to given labelFormatterLimit prop (4) ', () => {
30
+ const uut = new Badge({label: '10000', labelFormatterLimit: 4});
31
+ expect(uut.getFormattedLabel()).toEqual('9999+');
32
+ });
33
+ it('Should not format label if it is not larger than maxLabelNumber', () => {
34
+ const uut = new Badge({label: '999', labelFormatterLimit: 3});
35
+ expect(uut.getFormattedLabel()).toEqual('999');
36
+ });
37
+ it('Should return original label when labelFormatterLimit prop is not included in LABEL_FORMATTER_VALUES array', () => {
38
+ const uut = new Badge({label: '9', labelFormatterLimit: 'a'});
39
+ expect(uut.getFormattedLabel()).toEqual('9');
40
+ });
41
+ it('Should return original label when label is NaN and labelFormatterLimit prop is valid ', () => {
42
+ const uut = new Badge({label: 'a', labelFormatterLimit: 3});
43
+ expect(uut.getFormattedLabel()).toEqual('a');
44
+ });
45
+ it('Should return original label when labelFormatterLimit prop is undefined', () => {
46
+ const uut = new Badge({label: '9', labelFormatterLimit: undefined});
47
+ expect(uut.getFormattedLabel()).toEqual('9');
48
+ });
49
+ it('Should return original label when labelFormatterLimit prop is not included in LABEL_FORMATTER_VALUES array', () => {
50
+ const uut = new Badge({label: '9', labelFormatterLimit: 5});
51
+ expect(uut.getFormattedLabel()).toEqual('9');
52
+ });
53
+ it('Should return original label when labelFormatterLimit prop is not included in LABEL_FORMATTER_VALUES array', () => {
54
+ const uut = new Badge({label: '9', labelFormatterLimit: 0});
55
+ expect(uut.getFormattedLabel()).toEqual('9');
56
+ });
57
+ });
58
+
59
+ describe('Badge Size', () => {
60
+ it('Should return pimple badge when no size and no label passed', () => {
61
+ const uut = new Badge({});
62
+ console.log(`uut.size`, uut.size);
63
+ expect(uut.size).toEqual(10);
64
+ });
65
+
66
+ it('Should return pimple badge when no label and size undefined', () => {
67
+ const uut = new Badge({label: undefined, size: undefined});
68
+ console.log(`uut.size`, uut.size);
69
+ expect(uut.size).toEqual(10);
70
+ });
71
+
72
+ it('Shouldn\'t return pimple badge when label is undefined and size passed', () => {
73
+ const uut = new Badge({label: undefined, size: 20});
74
+ console.log(`uut.size`, uut.size);
75
+ expect(uut.size).toEqual(20);
76
+ });
77
+
78
+ it('Should return size when label is empty string', () => {
79
+ const uut = new Badge({label: '', size: 20});
80
+ console.log(`uut.size`, uut.size);
81
+ expect(uut.size).toEqual(20);
82
+ });
83
+ });
84
+ });
@@ -0,0 +1,209 @@
1
+ import React, { useState } from 'react';
2
+ import { waitFor, render } from '@testing-library/react-native';
3
+ import View from "../../view";
4
+ import Text from "../../text";
5
+ import { TextDriver } from "../../text/Text.driver.new";
6
+ import { ButtonDriver } from "../Button.driver.new";
7
+ import Button from "../index";
8
+ const BUTTON_ID = 'button_test_id';
9
+ const CHILDREN_TEXT_ID = 'children_test_id';
10
+ const CHILDREN_TEXT = 'custom button text';
11
+
12
+ // TODO: This tests are flaky and only fail on CI - we should investigate why
13
+ describe('Button', () => {
14
+ it('should render a button', async () => {
15
+ const renderTree = render(<WrapperScreenWithButton />);
16
+ const buttonDriver = ButtonDriver({
17
+ renderTree,
18
+ testID: 'button_test_id'
19
+ });
20
+ expect(await buttonDriver.exists()).toBeTruthy();
21
+ });
22
+ describe('style', () => {
23
+ it('should render a button with custom style', async () => {
24
+ const style = {
25
+ borderWidth: 2,
26
+ borderColor: 'green'
27
+ };
28
+ const renderTree = render(<WrapperScreenWithButton style={style} />);
29
+ const buttonDriver = ButtonDriver({
30
+ renderTree,
31
+ testID: 'button_test_id'
32
+ });
33
+ expect(buttonDriver.exists()).toBeTruthy();
34
+ expect(await buttonDriver.getStyle().borderWidth).toEqual(style.borderWidth);
35
+ expect(await buttonDriver.getStyle().borderColor).toEqual(style.borderColor);
36
+ });
37
+ });
38
+ describe('custom button', () => {
39
+ it('should render a custom button', async () => {
40
+ const renderTree = render(<WrapperScreenWithCustomButton />);
41
+ const buttonDriver = ButtonDriver({
42
+ renderTree,
43
+ testID: 'button_test_id'
44
+ });
45
+ expect(buttonDriver.exists()).toBeTruthy();
46
+ });
47
+ it('should render the children with correct text', async () => {
48
+ const renderTree = render(<WrapperScreenWithCustomButton />);
49
+ const buttonDriver = ButtonDriver({
50
+ renderTree,
51
+ testID: 'button_test_id'
52
+ });
53
+ expect(buttonDriver.exists()).toBeTruthy();
54
+ const childrenTextDriver = TextDriver({
55
+ renderTree,
56
+ testID: CHILDREN_TEXT_ID
57
+ });
58
+ expect(await childrenTextDriver.getText()).toEqual(CHILDREN_TEXT);
59
+ });
60
+ });
61
+ describe('onPress', () => {
62
+ let onPressCallback;
63
+ beforeEach(() => onPressCallback = jest.fn());
64
+ afterEach(() => onPressCallback.mockClear());
65
+ it('should trigger onPress callback', async () => {
66
+ const props = {
67
+ onPress: onPressCallback
68
+ };
69
+ const renderTree = render(<WrapperScreenWithButton {...props} />);
70
+ const buttonDriver = ButtonDriver({
71
+ renderTree,
72
+ testID: 'button_test_id'
73
+ });
74
+ buttonDriver.press();
75
+ await waitFor(() => expect(onPressCallback).toHaveBeenCalledTimes(1));
76
+ });
77
+ it('should not trigger onPress callback if button disabled', async () => {
78
+ const props = {
79
+ disabled: true,
80
+ onPress: onPressCallback
81
+ };
82
+ const renderTree = render(<WrapperScreenWithButton {...props} />);
83
+ const buttonDriver = ButtonDriver({
84
+ renderTree,
85
+ testID: 'button_test_id'
86
+ });
87
+ buttonDriver.press();
88
+ await waitFor(() => expect(onPressCallback).toHaveBeenCalledTimes(0));
89
+ });
90
+ it.each([true, false])(`button should be disabled when disabled is %s`, disabled => {
91
+ const renderTree = render(<WrapperScreenWithButton disabled={disabled} />);
92
+ const buttonDriver = ButtonDriver({
93
+ renderTree,
94
+ testID: 'button_test_id'
95
+ });
96
+ expect(buttonDriver.isDisabled()).toBe(disabled);
97
+ });
98
+ });
99
+ describe('label', () => {
100
+ const LABEL = 'mock label';
101
+ it('should render a button with correct content', async () => {
102
+ const props = {
103
+ label: LABEL
104
+ };
105
+ const renderTree = render(<WrapperScreenWithButton {...props} />);
106
+ const buttonDriver = ButtonDriver({
107
+ renderTree,
108
+ testID: 'button_test_id'
109
+ });
110
+ expect(await buttonDriver.getLabel().getText()).toEqual(LABEL);
111
+ });
112
+ it('should render a button with correct label content. ', async () => {
113
+ const props = {
114
+ label: LABEL
115
+ };
116
+ const renderTree = render(<WrapperScreenWithButton {...props} />);
117
+ const buttonDriver = ButtonDriver({
118
+ renderTree,
119
+ testID: 'button_test_id'
120
+ });
121
+ expect(await buttonDriver.getLabel().getText()).toEqual(LABEL);
122
+ });
123
+ it('should render a button without label. ', async () => {
124
+ const renderTree = render(<WrapperScreenWithButton />);
125
+ const buttonDriver = ButtonDriver({
126
+ renderTree,
127
+ testID: 'button_test_id'
128
+ });
129
+ expect(await buttonDriver.getLabel().exists()).toBeFalsy();
130
+ });
131
+ });
132
+ describe('icon', () => {
133
+ it('should render a button without an icon. ', async () => {
134
+ const renderTree = render(<WrapperScreenWithButton />);
135
+ const buttonDriver = ButtonDriver({
136
+ renderTree,
137
+ testID: 'button_test_id'
138
+ });
139
+ expect(await buttonDriver.getIcon().exists()).toBeFalsy();
140
+ });
141
+ it('should render a button with icon. ', async () => {
142
+ const ICON = 12;
143
+ const props = {
144
+ iconSource: ICON
145
+ };
146
+ const renderTree = render(<WrapperScreenWithButton {...props} />);
147
+ const buttonDriver = ButtonDriver({
148
+ renderTree,
149
+ testID: 'button_test_id'
150
+ });
151
+ expect(await buttonDriver.getIcon().exists()).toBeTruthy();
152
+ });
153
+ });
154
+ describe('more complicated screen', () => {
155
+ //todo take it out of this file. to the demo screens maybe
156
+ it('should change text values according to state changes from buttons pressing', async () => {
157
+ const renderTree = render(StatefulScreen());
158
+ const text1Driver = TextDriver({
159
+ testID: `text_1`,
160
+ renderTree
161
+ });
162
+ const text2Driver = TextDriver({
163
+ testID: `text_2`,
164
+ renderTree
165
+ });
166
+ const button2Driver = ButtonDriver({
167
+ testID: `${BUTTON_ID}2`,
168
+ renderTree
169
+ });
170
+ const button1Driver = ButtonDriver({
171
+ testID: `${BUTTON_ID}1`,
172
+ renderTree
173
+ });
174
+ expect(await text1Driver.getText()).toBe('button 1 pressed 0 times');
175
+ expect(await text2Driver.getText()).toBe('button 2 pressed 0 times');
176
+ await button1Driver.press();
177
+ await button1Driver.press();
178
+ await button2Driver.press();
179
+ await waitFor(async () => expect(await text1Driver.getText()).toBe('button 1 pressed 2 times'));
180
+ await waitFor(async () => expect(await text2Driver.getText()).toBe('button 2 pressed 1 times'));
181
+ });
182
+ });
183
+ });
184
+ function WrapperScreenWithButton(buttonProps = {}) {
185
+ return <View testID={'wrapper_screen_test_id'}>
186
+ <Button {...buttonProps} testID={BUTTON_ID} />
187
+ </View>;
188
+ }
189
+ function WrapperScreenWithCustomButton(buttonProps = {}) {
190
+ const {
191
+ onPress
192
+ } = buttonProps;
193
+ return <View testID={'wrapper_screen_test_id'}>
194
+ <Button testID={BUTTON_ID} onPress={onPress}>
195
+ <Text testID={CHILDREN_TEXT_ID}>{CHILDREN_TEXT}</Text>
196
+ </Button>
197
+ </View>;
198
+ }
199
+ const StatefulScreen = () => <StatefulScreenWithTextsAndButtons />;
200
+ const StatefulScreenWithTextsAndButtons = () => {
201
+ const [count1, setCount1] = useState(0);
202
+ const [count2, setCount2] = useState(0);
203
+ return <View testID={'stateful_wrapper_screen_test_id'}>
204
+ <Text testID={'text_1'}>{`button 1 pressed ${count1} times`}</Text>
205
+ <Text testID={'text_2'}>{`button 2 pressed ${count2} times`}</Text>
206
+ <Button testID={`${BUTTON_ID}1`} onPress={() => setCount1(count1 + 1)} />
207
+ <Button testID={`${BUTTON_ID}2`} onPress={() => setCount2(count2 + 1)} />
208
+ </View>;
209
+ };