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,357 @@
1
+ import React, { useState, useCallback } from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import Checkbox from "../index";
4
+ import { CheckboxDriver } from "../Checkbox.driver";
5
+ const testID = 'checkbox';
6
+ const checkboxRef = React.createRef();
7
+ const onValueChange = jest.fn();
8
+ const onChangeValidity = jest.fn();
9
+ function TestCase(props) {
10
+ const {
11
+ value,
12
+ onValueChange,
13
+ ...others
14
+ } = props;
15
+ const [_value, _setValue] = useState(value);
16
+ const _onValueChange = useCallback(newValue => {
17
+ _setValue(newValue);
18
+ onValueChange?.(newValue);
19
+ }, [_setValue, onValueChange]);
20
+ return <Checkbox {...others} onValueChange={_onValueChange} value={_value} testID={testID} ref={checkboxRef} />;
21
+ }
22
+ describe('Checkbox renderer test', () => {
23
+ beforeEach(() => {
24
+ jest.clearAllMocks();
25
+ });
26
+ describe('Value', () => {
27
+ it('Default value is false', async () => {
28
+ const props = {
29
+ onValueChange
30
+ };
31
+ const renderTree = render(<TestCase {...props} />);
32
+ const driver = CheckboxDriver({
33
+ renderTree,
34
+ testID
35
+ });
36
+ await driver.press();
37
+ expect(onValueChange).toHaveBeenCalledTimes(1);
38
+ expect(onValueChange).toHaveBeenCalledWith(true);
39
+ });
40
+ it.each`
41
+ checkboxInitialValue | checkboxExpectedValue
42
+ ${false} | ${true}
43
+ ${true} | ${false}
44
+ `('Send value ($checkboxInitialValue)', async ({
45
+ checkboxInitialValue,
46
+ checkboxExpectedValue
47
+ }) => {
48
+ const props = {
49
+ onValueChange,
50
+ value: checkboxInitialValue
51
+ };
52
+ const renderTree = render(<TestCase {...props} />);
53
+ const driver = CheckboxDriver({
54
+ renderTree,
55
+ testID
56
+ });
57
+ await driver.press();
58
+ expect(onValueChange).toHaveBeenCalledTimes(1);
59
+ expect(onValueChange).toHaveBeenCalledWith(checkboxExpectedValue);
60
+ });
61
+ });
62
+ describe('Press', () => {
63
+ it('Multiple clicks', async () => {
64
+ const props = {
65
+ onValueChange
66
+ };
67
+ const renderTree = render(<TestCase {...props} />);
68
+ const driver = CheckboxDriver({
69
+ renderTree,
70
+ testID
71
+ });
72
+ await driver.press();
73
+ expect(onValueChange).toHaveBeenCalledTimes(1);
74
+ expect(onValueChange).toHaveBeenCalledWith(true);
75
+ await driver.press();
76
+ expect(onValueChange.mock.calls).toEqual([[true], [false]]);
77
+ await driver.press();
78
+ expect(onValueChange.mock.calls).toEqual([[true], [false], [true]]);
79
+ });
80
+ it.each`
81
+ checkboxInitialValue
82
+ ${false}
83
+ ${true}
84
+ `('Disabled (value = $checkboxInitialValue)', async ({
85
+ checkboxInitialValue
86
+ }) => {
87
+ const props = {
88
+ onValueChange,
89
+ value: checkboxInitialValue,
90
+ disabled: true
91
+ };
92
+ const renderTree = render(<TestCase {...props} />);
93
+ const driver = CheckboxDriver({
94
+ renderTree,
95
+ testID
96
+ });
97
+ await driver.press();
98
+ expect(onValueChange).not.toHaveBeenCalled();
99
+ });
100
+ });
101
+ describe('Validation', () => {
102
+ describe('onChangeValidity', () => {
103
+ it('should not been called', async () => {
104
+ const props = {
105
+ onChangeValidity
106
+ };
107
+ const renderTree = render(<TestCase {...props} />);
108
+ const driver = CheckboxDriver({
109
+ renderTree,
110
+ testID
111
+ });
112
+ await driver.press();
113
+ expect(onChangeValidity).not.toHaveBeenCalled();
114
+ });
115
+ it('should been called with required prop', async () => {
116
+ const props = {
117
+ onChangeValidity,
118
+ required: true
119
+ };
120
+ const renderTree = render(<TestCase {...props} />);
121
+ const driver = CheckboxDriver({
122
+ renderTree,
123
+ testID
124
+ });
125
+ await driver.press();
126
+ expect(onChangeValidity).toHaveBeenCalled();
127
+ expect(onChangeValidity).toHaveBeenCalledWith(true);
128
+ });
129
+ it('should not been called after invoking validate()', async () => {
130
+ const props = {
131
+ required: true,
132
+ onChangeValidity
133
+ };
134
+ const renderTree = render(<TestCase {...props} />);
135
+ //eslint-disable-next-line
136
+ CheckboxDriver({
137
+ renderTree,
138
+ testID
139
+ });
140
+
141
+ //@ts-ignore
142
+ checkboxRef.current.validate();
143
+ expect(onChangeValidity).not.toHaveBeenCalled();
144
+ });
145
+ it('should not been called after invoking validate() and value changed to true if required is false', async () => {
146
+ const props = {
147
+ onChangeValidity
148
+ };
149
+ const renderTree = render(<TestCase {...props} />);
150
+ const driver = CheckboxDriver({
151
+ renderTree,
152
+ testID
153
+ });
154
+ checkboxRef.current?.validate();
155
+ await driver.press();
156
+ expect(onChangeValidity).not.toHaveBeenCalled();
157
+ });
158
+ it('should been called after invoking validate() and value changed to true', async () => {
159
+ const props = {
160
+ required: true,
161
+ onChangeValidity
162
+ };
163
+ const renderTree = render(<TestCase {...props} />);
164
+ const driver = CheckboxDriver({
165
+ renderTree,
166
+ testID
167
+ });
168
+ checkboxRef.current?.validate();
169
+ await driver.press();
170
+ expect(onChangeValidity).toHaveBeenCalledWith(true);
171
+ });
172
+ it('should been called after invoking validate() and value changed to true and then false', async () => {
173
+ const props = {
174
+ required: true,
175
+ onChangeValidity
176
+ };
177
+ const renderTree = render(<TestCase {...props} />);
178
+ const driver = CheckboxDriver({
179
+ renderTree,
180
+ testID
181
+ });
182
+ checkboxRef.current?.validate();
183
+ await driver.press();
184
+ await driver.press();
185
+ expect(onChangeValidity).toHaveBeenCalledWith(false);
186
+ });
187
+ it.each([false, true])('should return validity from validate function - initial %s', async initialValue => {
188
+ const props = {
189
+ required: true,
190
+ onChangeValidity,
191
+ value: initialValue
192
+ };
193
+ const renderTree = render(<TestCase {...props} />);
194
+ const driver = CheckboxDriver({
195
+ renderTree,
196
+ testID
197
+ });
198
+ expect(checkboxRef.current?.validate()).toBe(initialValue);
199
+ await driver.press();
200
+ expect(checkboxRef.current?.validate()).toBe(!initialValue);
201
+ });
202
+ });
203
+ describe('isValid', () => {
204
+ it('should be valid if initial value is false', async () => {
205
+ const props = {};
206
+ const renderTree = render(<TestCase {...props} />);
207
+ //eslint-disable-next-line
208
+ CheckboxDriver({
209
+ renderTree,
210
+ testID
211
+ });
212
+ const isValid = checkboxRef.current?.isValid();
213
+ expect(isValid).toBe(true);
214
+ });
215
+ it('should be valid if initial value is true', async () => {
216
+ const props = {
217
+ value: true
218
+ };
219
+ const renderTree = render(<TestCase {...props} />);
220
+ //eslint-disable-next-line
221
+ CheckboxDriver({
222
+ renderTree,
223
+ testID
224
+ });
225
+ const isValid = checkboxRef.current?.isValid();
226
+ expect(isValid).toBe(true);
227
+ });
228
+ it('should be valid if initial value is true and is required', async () => {
229
+ const props = {
230
+ value: true,
231
+ required: true
232
+ };
233
+ const renderTree = render(<TestCase {...props} />);
234
+ //eslint-disable-next-line
235
+ CheckboxDriver({
236
+ renderTree,
237
+ testID
238
+ });
239
+ const isValid = checkboxRef.current?.isValid();
240
+ expect(isValid).toBe(true);
241
+ });
242
+ it('should be invalid if initial value is false and is required', async () => {
243
+ const props = {
244
+ required: true
245
+ };
246
+ const renderTree = render(<TestCase {...props} />);
247
+ //eslint-disable-next-line
248
+ CheckboxDriver({
249
+ renderTree,
250
+ testID
251
+ });
252
+ const isValid = checkboxRef.current?.isValid();
253
+ expect(isValid).toBe(false);
254
+ });
255
+ it('should be invalid after validate when initial value is false', async () => {
256
+ const props = {
257
+ required: true
258
+ };
259
+ const renderTree = render(<TestCase {...props} />);
260
+ //eslint-disable-next-line
261
+ CheckboxDriver({
262
+ renderTree,
263
+ testID
264
+ });
265
+ let isValid = checkboxRef.current?.isValid();
266
+ expect(isValid).toBe(false);
267
+ checkboxRef.current?.validate();
268
+ isValid = checkboxRef.current?.isValid();
269
+ expect(isValid).toBe(false);
270
+ });
271
+ it('should be valid after validate when initial value is true', async () => {
272
+ const props = {
273
+ value: true,
274
+ required: true
275
+ };
276
+ const renderTree = render(<TestCase {...props} />);
277
+ //eslint-disable-next-line
278
+ CheckboxDriver({
279
+ renderTree,
280
+ testID
281
+ });
282
+ let isValid = checkboxRef.current?.isValid();
283
+ expect(isValid).toBe(true);
284
+ checkboxRef.current?.validate();
285
+ isValid = checkboxRef.current?.isValid();
286
+ expect(isValid).toBe(true);
287
+ });
288
+ it('should be valid after validate and value changed to true', async () => {
289
+ const props = {
290
+ required: true
291
+ };
292
+ const renderTree = render(<TestCase {...props} />);
293
+ const driver = CheckboxDriver({
294
+ renderTree,
295
+ testID
296
+ });
297
+ let isValid = checkboxRef.current?.isValid();
298
+ expect(isValid).toBe(false);
299
+ checkboxRef.current?.validate();
300
+ await driver.press();
301
+ isValid = checkboxRef.current?.isValid();
302
+ expect(isValid).toBe(true);
303
+ });
304
+ it('should be invalid after validate and value changed to false', async () => {
305
+ const props = {
306
+ value: true,
307
+ required: true
308
+ };
309
+ const renderTree = render(<TestCase {...props} />);
310
+ const driver = CheckboxDriver({
311
+ renderTree,
312
+ testID
313
+ });
314
+ let isValid = checkboxRef.current?.isValid();
315
+ expect(isValid).toBe(true);
316
+ checkboxRef.current?.validate();
317
+ await driver.press();
318
+ isValid = checkboxRef.current?.isValid();
319
+ expect(isValid).toBe(false);
320
+ });
321
+ it('should be invalid after validate and value changed to true and then false', async () => {
322
+ const props = {
323
+ required: true
324
+ };
325
+ const renderTree = render(<TestCase {...props} />);
326
+ const driver = CheckboxDriver({
327
+ renderTree,
328
+ testID
329
+ });
330
+ let isValid = checkboxRef.current?.isValid();
331
+ expect(isValid).toBe(false);
332
+ checkboxRef.current?.validate();
333
+ await driver.press();
334
+ isValid = checkboxRef.current?.isValid();
335
+ expect(isValid).toBe(true);
336
+ await driver.press();
337
+ isValid = checkboxRef.current?.isValid();
338
+ expect(isValid).toBe(false);
339
+ });
340
+ });
341
+ describe('label', () => {
342
+ it('should have passed label', async () => {
343
+ const text = 'Blue';
344
+ const props = {
345
+ label: text
346
+ };
347
+ const renderTree = render(<TestCase {...props} />);
348
+ const driver = CheckboxDriver({
349
+ renderTree,
350
+ testID
351
+ });
352
+ const label = driver.getLabel();
353
+ expect(label).toEqual(text);
354
+ });
355
+ });
356
+ });
357
+ });
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import { ChipDriver } from "../chip.driver";
4
+ import Chip from "../index";
5
+ import Assets from "../../../assets";
6
+ import { Colors } from "../../../style";
7
+ const testID = 'test-chip';
8
+ const getDriver = props => {
9
+ const renderTree = render(<Chip testID={testID} {...props} />);
10
+ return ChipDriver({
11
+ renderTree,
12
+ testID
13
+ });
14
+ };
15
+ describe('Chip', () => {
16
+ describe('sanity', () => {
17
+ it('should render Chip', () => {
18
+ const driver = getDriver();
19
+ expect(driver.exists()).toBeTruthy();
20
+ expect(driver.getIcon().exists()).toBeFalsy();
21
+ expect(driver.getLabel().exists()).toBeFalsy();
22
+ expect(driver.getDismissIcon().exists()).toBeFalsy();
23
+ });
24
+ });
25
+ describe('Label', () => {
26
+ it('should render label', () => {
27
+ const driver = getDriver({
28
+ label: 'test'
29
+ });
30
+ expect(driver.getLabel().exists()).toBeTruthy();
31
+ expect(driver.getLabel().getText()).toEqual('test');
32
+ expect(driver.getLabel().getStyle().color).toEqual(Colors.$textDefault);
33
+ });
34
+ });
35
+ describe('Dismiss Icon', () => {
36
+ it('should render dismiss icon', () => {
37
+ const driver = getDriver({
38
+ onDismiss: () => {}
39
+ });
40
+ expect(driver.getDismissIcon().exists()).toBeTruthy();
41
+ expect(driver.getDismissIcon().getStyle().tintColor).toEqual(Colors.$iconDefault);
42
+ });
43
+ });
44
+ describe('Icon', () => {
45
+ it('should render icon', () => {
46
+ const driver = getDriver({
47
+ iconSource: Assets.internal.icons.check
48
+ });
49
+ expect(driver.getIcon().exists()).toBeTruthy();
50
+ expect(driver.getIcon().getStyle().tintColor).toEqual(Colors.$iconDefault);
51
+ });
52
+ });
53
+ it('should render with label, icon and dismiss icon', () => {
54
+ const driver = getDriver({
55
+ label: 'test',
56
+ iconSource: Assets.internal.icons.check,
57
+ onDismiss: () => {}
58
+ });
59
+ expect(driver.getLabel().exists()).toBeTruthy();
60
+ expect(driver.getIcon().exists()).toBeTruthy();
61
+ expect(driver.getDismissIcon().exists()).toBeTruthy();
62
+ });
63
+ });
@@ -188,7 +188,7 @@ function createStyles({
188
188
  container: {
189
189
  backgroundColor: color,
190
190
  borderWidth: Colors.isTransparent(color) ? undefined : 1,
191
- borderColor: Colors.rgba(Colors.$outlineDisabledHeavy, 0.2),
191
+ borderColor: Colors.rgba(Colors.$outlineNeutralHeavy, 1),
192
192
  margin: SWATCH_MARGIN,
193
193
  overflow: 'hidden'
194
194
  },
@@ -0,0 +1,41 @@
1
+ import _ from 'lodash';
2
+ import {ConnectionStatusBar} from '../index';
3
+
4
+ describe('ConnectionStatusBar', () => {
5
+ let uut;
6
+ beforeEach(() => {
7
+ uut = new ConnectionStatusBar({});
8
+ ConnectionStatusBar.unregisterGlobalOnConnectionLost();
9
+ });
10
+
11
+ describe('registerGlobalOnConnectionLost', () => {
12
+ it('should register a callback for when connection is lost', () => {
13
+ const callback = jest.fn();
14
+ expect(ConnectionStatusBar.onConnectionLost).toBe(undefined);
15
+ ConnectionStatusBar.registerGlobalOnConnectionLost(callback);
16
+ expect(ConnectionStatusBar.onConnectionLost).toBe(callback);
17
+ ConnectionStatusBar.unregisterGlobalOnConnectionLost();
18
+ expect(ConnectionStatusBar.onConnectionLost).toBe(undefined);
19
+ });
20
+
21
+ it('should call onConnectionLost callback when connection state changed from connected to disconnected', () => {
22
+ const callback = jest.fn();
23
+ ConnectionStatusBar.registerGlobalOnConnectionLost(callback);
24
+ _.set(uut, 'state.isConnected', true);
25
+
26
+ uut.onConnectionChange({type: 'none'});
27
+
28
+ expect(callback).toHaveBeenCalled();
29
+ });
30
+
31
+ it('should not call onConnectionLost callback when connection state changed from disconnected to connected', () => {
32
+ const callback = jest.fn();
33
+ ConnectionStatusBar.registerGlobalOnConnectionLost(callback);
34
+ _.set(uut, 'state.isConnected', false);
35
+
36
+ uut.onConnectionChange({type: 'wifi'});
37
+
38
+ expect(callback).not.toHaveBeenCalled();
39
+ });
40
+ });
41
+ });
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react-native';
3
+ import DateTimePicker from "../index";
4
+ import { DateTimePickerDriver } from "../DateTimePicker.driver";
5
+ const testID = 'dateTimePicker';
6
+ const someDate = new Date('2021-04-04T00:00:00Z');
7
+ const someDateNextDay = new Date(someDate.getTime() + 24 * 60 * 60 * 1000);
8
+ const someDateNextHour = new Date(someDate.getTime() + 60 * 60 * 1000);
9
+ const TestCase = props => {
10
+ const defaultProps = {
11
+ value: someDate,
12
+ testID
13
+ };
14
+ return <DateTimePicker {...defaultProps} {...props} />;
15
+ };
16
+ describe('DateTimePicker', () => {
17
+ test.each(['time', 'date'])('should invoke onChange when value is changed - mode %s', mode => {
18
+ const onChange = jest.fn();
19
+ const renderTree = render(<TestCase onChange={onChange} mode={mode} value={someDate} />);
20
+ expect(onChange).not.toHaveBeenCalled();
21
+ const driver = DateTimePickerDriver({
22
+ renderTree,
23
+ testID
24
+ });
25
+ driver.open();
26
+ const dateToChangeTo = mode === 'time' ? someDateNextHour : someDateNextDay;
27
+ driver.changeDateTo(dateToChangeTo);
28
+ expect(onChange).not.toHaveBeenCalled();
29
+ driver.select();
30
+ expect(onChange).toHaveBeenCalledWith(dateToChangeTo);
31
+ });
32
+ test.each(['time', 'date'])('should not invoke onChange when value is not changed - mode %s', mode => {
33
+ const onChange = jest.fn();
34
+ const renderTree = render(<TestCase onChange={onChange} mode={mode} />);
35
+ expect(onChange).not.toHaveBeenCalled();
36
+ const driver = DateTimePickerDriver({
37
+ renderTree,
38
+ testID
39
+ });
40
+ driver.open();
41
+ driver.select();
42
+ expect(onChange).not.toHaveBeenCalled();
43
+ });
44
+ });
@@ -0,0 +1,118 @@
1
+ import React, { useRef, useState, useEffect, useCallback } from 'react';
2
+ import { render, act } from '@testing-library/react-native';
3
+ import Dialog from "../index";
4
+ import { DialogDriver } from "../Dialog.driver.new";
5
+ import View from "../../../components/view";
6
+ import Button from "../../../components/button";
7
+ import { ButtonDriver } from "../../../components/button/Button.driver.new";
8
+ const testID = 'dialog';
9
+ const TestCase1 = props => {
10
+ return <Dialog testID={testID} {...props} />;
11
+ };
12
+ const onDismiss = () => {};
13
+ const defaultProps = {
14
+ testID: 'dialog',
15
+ useSafeArea: true,
16
+ onDismiss,
17
+ bottom: true,
18
+ centerH: true
19
+ };
20
+ const TestCase2 = props => {
21
+ const [visible, setVisible] = useState(props.visible);
22
+ useEffect(() => {
23
+ setVisible(props.visible);
24
+ }, [props.visible]);
25
+ const openDialog = useCallback(() => {
26
+ setVisible(true);
27
+ }, []);
28
+ const closeDialog = useCallback(() => {
29
+ setVisible(false);
30
+ }, []);
31
+ return <View>
32
+ <Dialog {...defaultProps} {...props} visible={visible}>
33
+ <View height={300}>
34
+ <Button testID={'closeButton'} flex onPress={closeDialog} />
35
+ </View>
36
+ </Dialog>
37
+ <Button testID={'openButton'} flex onPress={openDialog} />
38
+ </View>;
39
+ };
40
+ const getDriver = Element => {
41
+ const renderTree = render(Element);
42
+ const dialogDriver = DialogDriver({
43
+ renderTree,
44
+ testID
45
+ });
46
+ return {
47
+ renderTree,
48
+ dialogDriver
49
+ };
50
+ };
51
+ describe('Dialog sanity checks', () => {
52
+ it('Should show dialog', () => {
53
+ const {
54
+ dialogDriver
55
+ } = getDriver(<TestCase1 visible />);
56
+ expect(dialogDriver.isVisible()).toBeTruthy();
57
+ });
58
+ it('Should dismiss dialog on background press', () => {
59
+ const dismissFn = jest.fn();
60
+ const {
61
+ dialogDriver
62
+ } = getDriver(<TestCase1 visible onDismiss={dismissFn} />);
63
+ expect(dismissFn).not.toHaveBeenCalled();
64
+ expect(dialogDriver.isVisible()).toBeTruthy();
65
+ dialogDriver.pressOnBackground();
66
+ expect(dialogDriver.isVisible()).toBeFalsy();
67
+ expect(dismissFn).toHaveBeenCalledTimes(1);
68
+ });
69
+ it('Should dismiss dialog on dismiss call', () => {
70
+ let dialogRef;
71
+ const RefTestCase = () => {
72
+ dialogRef = useRef(null);
73
+ return <Dialog testID={testID} visible ref={dialogRef} />;
74
+ };
75
+ const {
76
+ dialogDriver
77
+ } = getDriver(<RefTestCase />);
78
+ expect(dialogDriver.isVisible()).toBeTruthy();
79
+ act(() => {
80
+ dialogRef.current?.dismiss();
81
+ });
82
+ expect(dialogDriver.isVisible()).toBeFalsy();
83
+ });
84
+ it('Should exist only if visible', () => {
85
+ const onDismiss = jest.fn();
86
+ const component = <TestCase2 onDismiss={onDismiss} />;
87
+ const {
88
+ dialogDriver,
89
+ renderTree
90
+ } = getDriver(component);
91
+ expect(dialogDriver.isVisible()).toBeFalsy();
92
+ const openButtonDriver = ButtonDriver({
93
+ renderTree,
94
+ testID: 'openButton'
95
+ });
96
+ openButtonDriver.press();
97
+ expect(dialogDriver.isVisible()).toBeTruthy();
98
+ expect(onDismiss).toHaveBeenCalledTimes(0);
99
+ const closeButtonDriver = ButtonDriver({
100
+ renderTree,
101
+ testID: 'closeButton'
102
+ });
103
+ closeButtonDriver.press();
104
+ expect(dialogDriver.isVisible()).toBeFalsy();
105
+ expect(onDismiss).toHaveBeenCalledTimes(1);
106
+ });
107
+
108
+ // Note: since RN73 modals do not render when not visible
109
+ it('Modal should not exists even when not visible (WOAUILIB-3606)', () => {
110
+ const onDismiss = jest.fn();
111
+ const component = <TestCase2 onDismiss={onDismiss} />;
112
+ const {
113
+ dialogDriver
114
+ } = getDriver(component);
115
+ expect(dialogDriver.exists()).toBeFalsy();
116
+ expect(dialogDriver.isVisible()).toBeFalsy();
117
+ });
118
+ });