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,35 @@
1
+ const childProcess = require('child_process');
2
+ const fs = require('fs');
3
+
4
+ const BABEL_OPTIONS = `--config-file ./scripts/build/.babelrc.json --extensions '.ts,.tsx' --ignore "src/**/*.d.ts"`;
5
+ const BABEL_INDEX_EXPORTS_OPTIONS = `--config-file ./scripts/build/.babelrc.exports.js`;
6
+
7
+ console.info('## Start RNUILib Build ##');
8
+ console.info('## Copy files from root ##');
9
+ childProcess.execSync('cp -r ../../lib ./lib'); // TODO: pretty sure we don't need this - needs to be tested
10
+ childProcess.execSync('cp -r ../../scripts .');
11
+ childProcess.execSync('cp ../../README.md ./README.md');
12
+ childProcess.execSync('cp ../../LICENSE ./LICENSE');
13
+
14
+ console.info('## Build Typescript ##');
15
+ childProcess.execSync('cd ../../ && tsc --p tsconfig.build.json');
16
+
17
+ console.info('## Build src files - convert TS to JS files ##');
18
+ childProcess.execSync(`../../node_modules/.bin/babel src --out-dir src ${BABEL_OPTIONS}`);
19
+
20
+ // TODO: pretty sure we don't need this - needs to be tested | if we remove lib then make sure to remove packages/react-native-ui-lib/lib/**/* from tsconfig.json
21
+ console.info('## Build lib (native component) files - convert TS to JS files ##');
22
+ childProcess.execSync(`../../node_modules/.bin/babel lib --out-dir lib ${BABEL_OPTIONS}`);
23
+
24
+ console.info('## Build main index file - for lazy load exports ##');
25
+ childProcess.execSync(`../../node_modules/.bin/babel ./src/index.js -o ./src/index.js ${BABEL_INDEX_EXPORTS_OPTIONS}`);
26
+
27
+ console.info('## Build standalone components packages ##');
28
+ require('./buildPackages');
29
+
30
+ console.info('## Override package.json main entry to use src/index.js file ##');
31
+ const package = JSON.parse(fs.readFileSync('./package.json'));
32
+ package.main = 'src/index.js';
33
+ fs.writeFileSync('./package.json', JSON.stringify(package, null, 2), {encoding: 'utf8'});
34
+
35
+ console.info('## Complete RNUILib Build ##');
@@ -0,0 +1,18 @@
1
+ const fs = require('fs');
2
+ const _ = require('lodash');
3
+
4
+ /* Write all components as separate packages */
5
+ const path = './src/components';
6
+ fs.readdir(path, (err, files) => {
7
+ if (!err) {
8
+ files
9
+ .filter((f) => f !== 'index.js')
10
+ .forEach((file) => {
11
+ fs.writeFileSync(`${file}.js`,
12
+ `module.exports = require('${path}/${file}').default;\n`);
13
+ const componentName = _.upperFirst(file);
14
+ fs.writeFileSync(`${file}.d.ts`,
15
+ `import {${componentName}} from './src';\nexport default ${componentName};\n`);
16
+ });
17
+ }
18
+ });
@@ -0,0 +1,106 @@
1
+ const fs = require('fs');
2
+ const _ = require('lodash');
3
+
4
+ const packages = [
5
+ {
6
+ filename: 'keyboard.js',
7
+ content: `module.exports = require('uilib-native').Keyboard;\n`
8
+ },
9
+ {
10
+ filename: 'assets.js',
11
+ content: `module.exports = require('./src/assets').default;\n`
12
+ },
13
+ {
14
+ filename: 'config.js',
15
+ content: `module.exports = require('./src/commons/Config').default;\n`
16
+ },
17
+ {
18
+ filename: 'constants.js',
19
+ content: `module.exports = require('./src/commons/Constants').default;\n`
20
+ },
21
+ {
22
+ filename: 'core.js',
23
+ components: ['View', 'Text', 'Image', 'TouchableOpacity', 'Button'],
24
+ styleComponents: [
25
+ 'Colors',
26
+ 'Typography',
27
+ 'Spacings',
28
+ 'BorderRadiuses',
29
+ 'Shadows',
30
+ 'ThemeManager',
31
+ 'Scheme'
32
+ ]
33
+ },
34
+ {
35
+ filename: 'incubator.js',
36
+ incubatorComponents: ['ExpandableOverlay', 'Slider', 'Toast']
37
+ },
38
+ {
39
+ filename: 'style.js',
40
+ styleComponents: [
41
+ 'Colors',
42
+ 'Typography',
43
+ 'BorderRadiuses',
44
+ 'Shadows',
45
+ 'Spacings',
46
+ 'ThemeManager',
47
+ 'Scheme'
48
+ ]
49
+ }
50
+ ];
51
+
52
+ /* Write custom packages */
53
+ function addTyping(typings, component) {
54
+ if (_.isEmpty(typings)) {
55
+ typings += `{${component}`;
56
+ } else {
57
+ typings += `, ${component}`;
58
+ }
59
+
60
+ return typings;
61
+ }
62
+
63
+ packages.forEach((package) => {
64
+ let content = package.content || '';
65
+ let typings = '';
66
+
67
+ if (package.components || package.styleComponents) {
68
+ content += 'module.exports = {\n';
69
+ _.forEach(package.components, (component) => {
70
+ content += `get ${component}() {\n`;
71
+ content += `return require('./src/components/${_.camelCase(component)}').default;`;
72
+ content += `},\n`;
73
+
74
+ typings = addTyping(typings, component);
75
+ });
76
+
77
+ _.forEach(package.styleComponents, (component) => {
78
+ content += `get ${component}() {\n`;
79
+ content += `return require('./src/style/${_.camelCase(component)}').default;`;
80
+ content += `},\n`;
81
+
82
+ typings = addTyping(typings, component);
83
+ });
84
+ content += '};\n';
85
+ typings += '}';
86
+ typings = `import ${typings} from './src';\nexport ${typings};\n`;
87
+ } else if (package.incubatorComponents) {
88
+ content = 'module.exports = {\n';
89
+ _.forEach(package.incubatorComponents, (component) => {
90
+ content += `get ${component}() {\n`;
91
+ content += `return require('./src/incubator/${_.camelCase(component)}').default;`;
92
+ content += `},\n`;
93
+ });
94
+
95
+ content += '};\n';
96
+
97
+ typings = `import {ExpandableOverlay, Slider, Toast} from './src/incubator';\n`;
98
+ typings += `export {ExpandableOverlay, Slider, Toast};\n`;
99
+ }
100
+
101
+ fs.writeFileSync(package.filename, content);
102
+ if (!_.isEmpty(typings)) {
103
+ const filename = `${package.filename.substring(0, package.filename.indexOf('.js'))}.d.ts`;
104
+ fs.writeFileSync(filename, typings);
105
+ }
106
+ });
@@ -0,0 +1,6 @@
1
+ const childProcess = require('child_process');
2
+
3
+ const path = 'scripts/build/buildPackages';
4
+
5
+ childProcess.execSync(`node ${path}/buildComponentsPackages`);
6
+ childProcess.execSync(`node ${path}/buildCustomPackages`);
@@ -0,0 +1,37 @@
1
+ const fs = require('fs');
2
+ const HOUR_IN_MS = 60 * 60 * 1000;
3
+ const ID_LENGTH = 10;
4
+
5
+ function generateId() {
6
+ let result = '';
7
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
8
+ const charactersLength = characters.length;
9
+ for (let i = 0; i < ID_LENGTH; i++) {
10
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
11
+ }
12
+ return result;
13
+ }
14
+
15
+ const data = [];
16
+
17
+ for (let year = 2018; year <= 2028; ++year) {
18
+ for (let month = 0; month <= 11; ++month) {
19
+ for (let day = 1; day <= 31; day += Math.random() > 0.5 ? 2 : 1) {
20
+ for (let hour = 9; hour <= 19; hour += Math.random() > 0.5 ? 4 : 3) {
21
+ const startDate = new Date(year, month, day, hour, 0);
22
+ if (startDate.getDay() >= 2 && startDate.getDay() <= 5) {
23
+ const start = startDate.getTime();
24
+ const end = start + HOUR_IN_MS * (Math.random() > 0.5 ? 0.5 : 1);
25
+ const id = generateId();
26
+ data.push({id, start, end});
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ console.log(`${data.length} events were created`);
34
+
35
+ fs.writeFileSync('demo/src/screens/incubatorScreens/IncubatorCalendarScreen/MockData.ts',
36
+ `// Note: to generate new data run calendar:createMocks and update createCalendarMockData script \n` +
37
+ `export const data = ${JSON.stringify(data)};`);
@@ -0,0 +1 @@
1
+ require('./buildDocsCommon').buildDocs('./packages/react-native-ui-lib/src ./lib/components');
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env node
2
+
3
+ const semver = require('semver');
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+
7
+ const nodeVersion = fs.readFileSync(path.resolve(process.cwd(), '.nvmrc'), 'utf-8').trim();
8
+ if (!semver.gte(process.version.substring(1), nodeVersion)) {
9
+ throw new Error(`Node version must be at least ${nodeVersion}`);
10
+ }
11
+
12
+ const cp = require('child_process');
13
+ const {logGreen, logError} = require('./utils');
14
+ const {Spinner} = require('@topcli/spinner');
15
+
16
+ const ARGS = process.argv.slice(2);
17
+ const TEST_ARG = 'test';
18
+ const TEST_COMMAND = 'yarn test';
19
+
20
+ const PRE_PUSH_COMMANDS = [
21
+ 'yarn constraints',
22
+ 'yarn dedupe --check',
23
+ 'yarn lint --quiet',
24
+ 'yarn build:dev >/dev/null'
25
+ ];
26
+
27
+ async function run() {
28
+ logGreen('Running pre-push checks...');
29
+ const commands = [...PRE_PUSH_COMMANDS];
30
+ if (ARGS.includes(TEST_ARG)) {
31
+ commands.push(TEST_COMMAND);
32
+ }
33
+ const promises = commands.map(execute);
34
+ const results = await Promise.allSettled(promises);
35
+ const failed = results.filter(result => result.status === 'rejected');
36
+ if (failed.length > 0) {
37
+ logError('Pre-push checks failed!');
38
+ failed.forEach(result => logFailedCommand(result.reason));
39
+ process.exit(1);
40
+ }
41
+ process.exit(0);
42
+ }
43
+
44
+ function logFailedCommand({command, stdout, stderr}) {
45
+ logError(`${command}:`);
46
+ if (stdout) {
47
+ logError('STDOUT:');
48
+ logError(stdout);
49
+ }
50
+ if (stderr) {
51
+ logError('STDERR:');
52
+ logError(stderr);
53
+ }
54
+ }
55
+
56
+ async function execute(command) {
57
+ const spinner = new Spinner();
58
+ return new Promise((resolve, reject) => {
59
+ spinner.start(command);
60
+ cp.exec(command, {encoding: 'utf-8'}, (error, stdout, stderr) => {
61
+ if (error) {
62
+ spinner.failed();
63
+ reject({command, error, stdout, stderr});
64
+ }
65
+ spinner.succeed();
66
+ resolve();
67
+ });
68
+ });
69
+ }
70
+
71
+ run();
@@ -0,0 +1,6 @@
1
+ const LATEST_VERSION = '7.10.0';
2
+ const NEW_VERSION = '7.11.0';
3
+ const FILE_PREFIX = 'uilib';
4
+ const REPO = 'wix/react-native-ui-lib';
5
+
6
+ require('./prReleaseNotesCommon').generateReleaseNotes(LATEST_VERSION, NEW_VERSION, FILE_PREFIX, REPO);
@@ -0,0 +1,99 @@
1
+ const exec = require('shell-utils').exec;
2
+ const cp = require('child_process');
3
+ const semver = require('semver');
4
+ const _ = require('lodash');
5
+
6
+ // Workaround JS
7
+
8
+ // Export buildkite variables for Release build
9
+ // We cast toString() because function returns 'object'
10
+ const isRelease = process.env.BUILDKITE_MESSAGE?.match?.(/^release$/i);
11
+ let VERSION;
12
+ if (isRelease) {
13
+ VERSION = cp.execSync(`buildkite-agent meta-data get version`).toString();
14
+ }
15
+
16
+ const VERSION_TAG = isRelease ? 'latest' : 'snapshot';
17
+ const VERSION_INC = 'patch';
18
+ function run() {
19
+ console.log('Release UI Lib');
20
+ if (!validateEnv()) {
21
+ console.log('Not a valid environment to release in!');
22
+ return;
23
+ }
24
+
25
+ console.log('Valid environment - releasing...');
26
+ setupGit();
27
+ configureNpmToken();
28
+ versionTagAndPublish();
29
+ }
30
+
31
+ function validateEnv() {
32
+ if (!process.env.CI) {
33
+ throw new Error('releasing is only available from CI');
34
+ }
35
+ return (
36
+ process.env.BUILDKITE_BRANCH === 'master' ||
37
+ process.env.BUILDKITE_BRANCH === 'release' ||
38
+ process.env.BUILDKITE_MESSAGE === 'snapshot'
39
+ );
40
+ }
41
+
42
+ function setupGit() {
43
+ exec.execSyncSilent('git config --global push.default simple');
44
+ exec.execSyncSilent(`git config --global user.email "${process.env.GIT_EMAIL}"`);
45
+ exec.execSyncSilent(`git config --global user.name "${process.env.GIT_USER}"`);
46
+ const remoteUrl = new RegExp('https?://(\\S+)').exec(exec.execSyncRead('git remote -v'))[1];
47
+ exec.execSyncSilent(`git remote add deploy "https://${process.env.GIT_USER}:${process.env.GIT_TOKEN}@${remoteUrl}"`);
48
+ // exec.execSync(`git checkout ${ONLY_ON_BRANCH}`);
49
+ }
50
+
51
+ function configureNpmToken() {
52
+ exec.execSync(`yarn config set npmAuthToken "${process.env.NPM_TOKEN}"`);
53
+ }
54
+
55
+ function versionTagAndPublish() {
56
+ const currentPublished = findCurrentPublishedVersion();
57
+ console.log(`current published version: ${currentPublished}`);
58
+
59
+ const version = isRelease ? VERSION : `${currentPublished}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}`;
60
+ console.log(`Publishing version: ${version}`);
61
+
62
+ tryPublishAndTag(version);
63
+ }
64
+
65
+ function findCurrentPublishedVersion() {
66
+ const result = exec.execSyncRead(`yarn npm info ${process.env.npm_package_name} --fields dist-tags --json`);
67
+ const parsed = JSON.parse(result);
68
+ return parsed['dist-tags'].latest;
69
+ }
70
+
71
+ function tryPublishAndTag(version) {
72
+ let theCandidate = version;
73
+ for (let retry = 0; retry < 5; retry++) {
74
+ try {
75
+ tagAndPublish(theCandidate);
76
+ console.log(`Released ${theCandidate}`);
77
+ return;
78
+ } catch (err) {
79
+ const alreadyPublished = _.includes(err.toString(), 'You cannot publish over the previously published version');
80
+ if (!alreadyPublished) {
81
+ throw err;
82
+ }
83
+ console.log(`previously published. retrying with increased ${VERSION_INC}...`);
84
+ theCandidate = semver.inc(theCandidate, VERSION_INC);
85
+ }
86
+ }
87
+ }
88
+
89
+ function tagAndPublish(newVersion) {
90
+ console.log(`trying to publish ${newVersion}...`);
91
+ exec.execSync(`yarn version ${newVersion}`);
92
+ exec.execSync(`yarn npm publish --tag ${VERSION_TAG}`);
93
+ if (isRelease) {
94
+ exec.execSync(`git tag -a ${newVersion} -m "${newVersion}"`);
95
+ }
96
+ exec.execSyncSilent(`git push deploy ${newVersion} || true`);
97
+ }
98
+
99
+ run();
@@ -0,0 +1,88 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const mime = require('mime-types');
4
+ const {imageSize: sizeOf} = require('image-size');
5
+
6
+ // Base paths
7
+ const ICONS_PATH = path.resolve(__dirname, '../packages/react-native-ui-lib/src/assets/internal/icons');
8
+ const IMAGES_PATH = path.resolve(__dirname, '../packages/react-native-ui-lib/src/assets/internal/images');
9
+
10
+ // Function to check if file is an image
11
+ function isImageFile(filePath) {
12
+ const mimeType = mime.lookup(filePath);
13
+ return !!mimeType && mimeType.includes('image');
14
+ }
15
+
16
+ // Function to get dimensions of an image
17
+ function getDimensions(imagePath) {
18
+ try {
19
+ if (!isImageFile(imagePath)) {
20
+ console.warn(`File is not an image: ${imagePath}`);
21
+ return {width: 0, height: 0};
22
+ }
23
+
24
+ try {
25
+ const buffer = fs.readFileSync(imagePath);
26
+ const dimensions = sizeOf(buffer);
27
+ return {
28
+ width: dimensions.width,
29
+ height: dimensions.height
30
+ };
31
+ } catch (sizeError) {
32
+ // eslint-disable-next-line no-restricted-syntax
33
+ console.error(`Error getting dimensions for ${imagePath}:`, sizeError);
34
+ // Default dimensions if sizeOf fails
35
+ return {width: 24, height: 24};
36
+ }
37
+ } catch (error) {
38
+ // eslint-disable-next-line no-restricted-syntax
39
+ console.error(`Error getting dimensions for ${imagePath}:`, error);
40
+ return {width: 0, height: 0};
41
+ }
42
+ }
43
+
44
+ // Function to create index files with dimensions
45
+ function createIndexFile(sourcePath, targetPath, fileType) {
46
+ const files = fs.readdirSync(sourcePath).filter(file => !file.includes('@'));
47
+
48
+ let content = '';
49
+
50
+ if (fileType === 'icons') {
51
+ content = 'export const icons = {\n';
52
+ } else if (fileType === 'images') {
53
+ content = 'export const images = {\n';
54
+ }
55
+
56
+ files.forEach((file, index) => {
57
+ const filePath = path.join(sourcePath, file);
58
+ const mimeType = mime.lookup(filePath);
59
+ const isImage = !!mimeType && mimeType.includes('image');
60
+
61
+ if (!isImage) {
62
+ console.warn(`Skipping non-image file: ${filePath}`);
63
+ return;
64
+ }
65
+
66
+ const name = path.basename(file, path.extname(file));
67
+ const dimensions = getDimensions(filePath);
68
+
69
+ // Handle hyphenated filenames by converting to camelCase
70
+ const propertyName = name.replace(/-([a-z])/g, (_match, letter) => letter.toUpperCase());
71
+
72
+ content += ` get ${propertyName}() {\n`;
73
+ // eslint-disable-next-line max-len
74
+ content += ` return {uri: require('./${file}'), width: ${dimensions.width}, height: ${dimensions.height}};\n`;
75
+ content += index === files.length - 1 ? ` }\n` : ` },\n`; // Conditional check for the last file
76
+ });
77
+
78
+ content += '};\n';
79
+
80
+ fs.writeFileSync(targetPath, content);
81
+ console.log(`Created ${targetPath}`);
82
+ }
83
+
84
+ // Create index files
85
+ createIndexFile(ICONS_PATH, path.join(ICONS_PATH, 'index.web.js'), 'icons');
86
+ createIndexFile(IMAGES_PATH, path.join(IMAGES_PATH, 'index.web.js'), 'images');
87
+
88
+ console.log('Index files created successfully!');
@@ -0,0 +1,21 @@
1
+ const chalk = require('chalk');
2
+
3
+ function logDebug() {
4
+ console.log(chalk.gray(...arguments));
5
+ }
6
+
7
+ function logGreen() {
8
+ console.log(chalk.green(...arguments));
9
+ }
10
+
11
+ function logError() {
12
+ // eslint-disable-next-line no-restricted-syntax
13
+ console.error(chalk.red(...arguments));
14
+ }
15
+
16
+
17
+ module.exports = {
18
+ logDebug,
19
+ logGreen,
20
+ logError
21
+ };
@@ -0,0 +1,110 @@
1
+ import {Assets} from '../Assets';
2
+
3
+ describe('Assets', () => {
4
+ let assets;
5
+
6
+ beforeEach(() => {
7
+ assets = new Assets();
8
+ });
9
+
10
+ describe('.loadAssetsGroup(groupName, assets)', () => {
11
+ it('should return the assets object itself', () => {
12
+ expect(assets.loadAssetsGroup('emojis', {})).toBe(assets);
13
+ });
14
+
15
+ it('should create nested groups', () => {
16
+ assets.loadAssetsGroup('emojis.ascii', {smile: ':)'});
17
+ expect(assets.emojis.ascii.smile).toBe(':)');
18
+ });
19
+
20
+ describe('edge cases', () => {
21
+ it('should throw if group name is not a string', () => {
22
+ expect(() => assets.loadAssetsGroup(42, {})).toThrowErrorMatchingSnapshot();
23
+ });
24
+
25
+ it('should throw if assets are not a plain object', () => {
26
+ expect(() => assets.loadAssetsGroup('assets', new class {}())).toThrowErrorMatchingSnapshot();
27
+ });
28
+ });
29
+
30
+ describe('when called with empty group name', () => {
31
+ describe('and plain object of assets', () => {
32
+ it('should create root asset groups', () => {
33
+ const emojis = {};
34
+ const icons = {};
35
+ assets.loadAssetsGroup('', {emojis, icons});
36
+
37
+ expect(assets.emojis).toBe(emojis);
38
+ expect(assets.icons).toBe(icons);
39
+ });
40
+ });
41
+
42
+ describe('and an object with assets getters', () => {
43
+ it('should create lazy root asset groups', () => {
44
+ const emojis = {};
45
+ const heavyIconsModule = {};
46
+ const requireHeavyIcons = jest.fn().mockReturnValue(heavyIconsModule);
47
+
48
+ assets.loadAssetsGroup('', {
49
+ emojis,
50
+ get icons() {
51
+ return requireHeavyIcons();
52
+ }
53
+ });
54
+
55
+ expect(assets.emojis).toBe(emojis);
56
+
57
+ expect(requireHeavyIcons).not.toHaveBeenCalled();
58
+ expect(assets.icons).toBe(heavyIconsModule);
59
+ expect(requireHeavyIcons).toHaveBeenCalled();
60
+ });
61
+ });
62
+ });
63
+
64
+ describe('when has a lazy group', () => {
65
+ let iconsModule;
66
+
67
+ beforeEach(() => {
68
+ iconsModule = {
69
+ get apply() {
70
+ return './apply.png';
71
+ },
72
+ get back() {
73
+ return './back.png';
74
+ }
75
+ };
76
+
77
+ assets.loadAssetsGroup('', {
78
+ get icons() {
79
+ return iconsModule;
80
+ }
81
+ });
82
+ });
83
+
84
+ describe('and called with the same group name', () => {
85
+ beforeEach(() => {
86
+ assets.loadAssetsGroup('icons', {
87
+ get back() {
88
+ return './back-dark.png';
89
+ },
90
+ get forward() {
91
+ return './forward-dark.png';
92
+ }
93
+ });
94
+ });
95
+
96
+ it('should preserve existing assets upon load', () => {
97
+ expect(assets.icons.apply).toBe('./apply.png');
98
+ });
99
+
100
+ it('should overwrite existing assets if they have the same names', () => {
101
+ expect(assets.icons.back).toBe('./back-dark.png');
102
+ });
103
+
104
+ it('should append extra assets to the group', () => {
105
+ expect(assets.icons.forward).toBe('./forward-dark.png');
106
+ });
107
+ });
108
+ });
109
+ });
110
+ });
@@ -0,0 +1,36 @@
1
+ import baseComponent from '../baseComponent';
2
+ import {Colors} from '../../style';
3
+
4
+ const BaseComponent = baseComponent(false);
5
+
6
+ describe('BaseComponent', () => {
7
+
8
+ describe('updateModifiers', () => {
9
+ it('should update state with new modifiers values if modifiers props have changed', () => {
10
+ const uut = new BaseComponent({});
11
+ jest.spyOn(uut, 'setState');
12
+
13
+ uut.updateModifiers({someProp: true, 'bg-grey20': true}, {someProp: true, 'bg-grey30': true});
14
+ expect(uut.setState).toHaveBeenCalledWith({backgroundColor: Colors.grey30});
15
+
16
+ uut.updateModifiers({someProp: 'text'}, {'bg-red50': true, 'padding-20': true});
17
+ expect(uut.setState).toHaveBeenCalledWith({backgroundColor: Colors.red50, paddings: {padding: 20}});
18
+ });
19
+
20
+ it('should not update state if modifiers prop have not changed', () => {
21
+ const uut = new BaseComponent({});
22
+ jest.spyOn(uut, 'setState');
23
+
24
+ uut.updateModifiers({someProp: true, 'bg-grey20': true}, {someProp: false, 'bg-grey20': true});
25
+ expect(uut.setState).not.toHaveBeenCalled();
26
+ });
27
+
28
+ it('should not update state if any prop value has changed', () => {
29
+ const uut = new BaseComponent({});
30
+ jest.spyOn(uut, 'setState');
31
+
32
+ uut.updateModifiers({someProp: true, 'bg-grey20': true}, {someProp: true, 'bg-grey20': true});
33
+ expect(uut.setState).not.toHaveBeenCalled();
34
+ });
35
+ });
36
+ });