react-native-ui-lib 8.1.1 → 8.1.5

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 (515) hide show
  1. package/lib/android/build.gradle +32 -0
  2. package/lib/android/src/main/AndroidManifest.xml +4 -0
  3. package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +28 -0
  4. package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontModule.java +139 -0
  5. package/lib/android/src/main/java/com/wix/reactnativeuilib/dynamicfont/DynamicFontPackage.java +28 -0
  6. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightFrame.java +33 -0
  7. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.java +50 -0
  8. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterView.java +167 -0
  9. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +131 -0
  10. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.java +28 -0
  11. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/UiUtils.java +50 -0
  12. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.java +52 -0
  13. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java +213 -0
  14. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java +39 -0
  15. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.java +29 -0
  16. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.java +29 -0
  17. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.java +34 -0
  18. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.java +49 -0
  19. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.java +16 -0
  20. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.java +83 -0
  21. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.java +163 -0
  22. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.java +5 -0
  23. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +33 -0
  24. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.java +65 -0
  25. package/lib/android/src/main/java/com/wix/reactnativeuilib/utils/LogForwarder.java +45 -0
  26. package/lib/android/src/main/res/layout/wheel_picker.xml +9 -0
  27. package/lib/android/src/main/res/values/colors.xml +9 -0
  28. package/lib/android/src/main/res/values/styles.xml +9 -0
  29. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/keyboardRegistry.api.json +50 -0
  30. package/lib/components/Keyboard/KeyboardAccessoryView/keyboardAccessoryView.api.json +58 -0
  31. package/lib/components/Keyboard/KeyboardAwareInsetsView/keyboardAwareInsetsView.api.json +14 -0
  32. package/lib/components/Keyboard/KeyboardTrackingView/keyboardTrackingView.api.json +86 -0
  33. package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.h +9 -0
  34. package/lib/ios/reactnativeuilib/dynamicfont/DynamicFont.m +115 -0
  35. package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.h +19 -0
  36. package/lib/ios/reactnativeuilib/highlighterview/HighlighterView.m +216 -0
  37. package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.h +6 -0
  38. package/lib/ios/reactnativeuilib/highlighterview/HighlighterViewManager.m +28 -0
  39. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.h +39 -0
  40. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/Color+Interpolation.m +160 -0
  41. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.h +36 -0
  42. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNAnimatorTemp.m +121 -0
  43. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.h +48 -0
  44. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolable.m +27 -0
  45. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/LNInterpolation.h +16 -0
  46. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.h +19 -0
  47. package/lib/ios/reactnativeuilib/keyboardinput/lninterpolation/NSValue+Interpolation.mm +155 -0
  48. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.h +16 -0
  49. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +450 -0
  50. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +18 -0
  51. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +99 -0
  52. package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.h +14 -0
  53. package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +827 -0
  54. package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.h +44 -0
  55. package/lib/ios/reactnativeuilib/keyboardtrackingview/ObservingInputAccessoryViewTemp.m +171 -0
  56. package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.h +6 -0
  57. package/lib/ios/reactnativeuilib/keyboardtrackingview/UIResponder+FirstResponderTemp.m +17 -0
  58. package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.h +6 -0
  59. package/lib/ios/reactnativeuilib/safearea/SafeAreaManager.m +105 -0
  60. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.h +5 -0
  61. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerShadowView.m +20 -0
  62. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.h +7 -0
  63. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerView.m +76 -0
  64. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.h +9 -0
  65. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewLocalData.m +14 -0
  66. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.h +5 -0
  67. package/lib/ios/reactnativeuilib/safearea/SafeAreaSpacerViewManager.m +26 -0
  68. package/lib/specs/HighlighterViewNativeComponent.ts +78 -0
  69. package/lib/specs/KeyboardTrackingViewNativeComponent.ts +74 -0
  70. package/package.json +2 -25
  71. package/src/assets/Assets.d.ts +5 -0
  72. package/src/assets/emojis/index.d.ts +1343 -0
  73. package/src/assets/index.d.ts +3 -0
  74. package/src/assets/internal/index.d.ts +4 -0
  75. package/src/commons/Config.d.ts +24 -0
  76. package/src/commons/Constants.d.ts +54 -0
  77. package/src/commons/UIComponent.d.ts +4 -0
  78. package/src/commons/asBaseComponent.d.ts +15 -0
  79. package/src/commons/baseComponent.d.ts +2 -0
  80. package/src/commons/forwardRef.d.ts +8 -0
  81. package/src/commons/modifiers.d.ts +118 -0
  82. package/src/commons/new.d.ts +8 -0
  83. package/src/commons/withScrollEnabler.d.ts +13 -0
  84. package/src/commons/withScrollReached.d.ts +35 -0
  85. package/src/components/WheelPicker/Item.d.ts +28 -0
  86. package/src/components/WheelPicker/WheelPicker.driver.d.ts +18 -0
  87. package/src/components/WheelPicker/WheelPickerItem.driver.d.ts +8 -0
  88. package/src/components/WheelPicker/helpers/useListMiddleIndex.d.ts +6 -0
  89. package/src/components/WheelPicker/index.d.ts +88 -0
  90. package/src/components/WheelPicker/types.d.ts +6 -0
  91. package/src/components/WheelPicker/usePresenter.d.ts +21 -0
  92. package/src/components/actionBar/index.d.ts +35 -0
  93. package/src/components/actionSheet/index.d.ts +80 -0
  94. package/src/components/animatedImage/index.d.ts +28 -0
  95. package/src/components/avatar/index.d.ts +382 -0
  96. package/src/components/badge/index.d.ts +879 -0
  97. package/src/components/baseInput/Validators.d.ts +8 -0
  98. package/src/components/baseInput/index.d.ts +29 -0
  99. package/src/components/button/Button.driver.new.d.ts +34 -0
  100. package/src/components/button/ButtonConstants.d.ts +26 -0
  101. package/src/components/button/index.d.ts +573 -0
  102. package/src/components/button/types.d.ts +157 -0
  103. package/src/components/card/CardContext.d.ts +3 -0
  104. package/src/components/card/CardImage.d.ts +20 -0
  105. package/src/components/card/CardPresenter.d.ts +12 -0
  106. package/src/components/card/CardSection.d.ts +79 -0
  107. package/src/components/card/asCardChild.d.ts +6 -0
  108. package/src/components/card/index.d.ts +120 -0
  109. package/src/components/carousel/Carousel.driver.new.d.ts +9 -0
  110. package/src/components/carousel/CarouselPresenter.d.ts +9 -0
  111. package/src/components/carousel/index.d.ts +73 -0
  112. package/src/components/carousel/types.d.ts +107 -0
  113. package/src/components/checkbox/Checkbox.driver.d.ts +15 -0
  114. package/src/components/checkbox/index.d.ts +129 -0
  115. package/src/components/chip/chip.driver.d.ts +33 -0
  116. package/src/components/chip/index.d.ts +209 -0
  117. package/src/components/chipsInput/index.d.ts +55 -0
  118. package/src/components/colorPalette/index.d.ts +116 -0
  119. package/src/components/colorPicker/ColorPickerDialog.d.ts +39 -0
  120. package/src/components/colorPicker/ColorPickerDialogHeader.d.ts +9 -0
  121. package/src/components/colorPicker/ColorPickerDialogSliders.d.ts +10 -0
  122. package/src/components/colorPicker/ColorPickerPresenter.d.ts +16 -0
  123. package/src/components/colorPicker/ColorPickerPreview.d.ts +12 -0
  124. package/src/components/colorPicker/index.d.ts +45 -0
  125. package/src/components/colorSwatch/index.d.ts +50 -0
  126. package/src/components/connectionStatusBar/index.d.ts +33 -0
  127. package/src/components/connectionStatusBar/types.d.ts +28 -0
  128. package/src/components/dash/index.d.ts +19 -0
  129. package/src/components/dateTimePicker/DateTimePicker.driver.d.ts +7 -0
  130. package/src/components/dateTimePicker/index.d.ts +288 -0
  131. package/src/components/dateTimePicker/useOldApi.d.ts +27 -0
  132. package/src/components/dialog/Dialog.driver.new.d.ts +6 -0
  133. package/src/components/dialog/DialogHeader.d.ts +4 -0
  134. package/src/components/dialog/index.d.ts +15 -0
  135. package/src/components/dialog/types.d.ts +138 -0
  136. package/src/components/dialog/useDialogContent.d.ts +13 -0
  137. package/src/components/drawer/Swipeable.d.ts +94 -0
  138. package/src/components/drawer/index.d.ts +161 -0
  139. package/src/components/expandableSection/index.d.ts +40 -0
  140. package/src/components/fadedScrollView/index.d.ts +59 -0
  141. package/src/components/fader/index.d.ts +37 -0
  142. package/src/components/featureHighlight/index.d.ts +147 -0
  143. package/src/components/floatingButton/index.d.ts +89 -0
  144. package/src/components/gradient/index.d.ts +19 -0
  145. package/src/components/gridList/index.d.ts +5 -0
  146. package/src/components/gridList/types.d.ts +29 -0
  147. package/src/components/gridList/useGridLayout.d.ts +15 -0
  148. package/src/components/gridListItem/index.d.ts +132 -0
  149. package/src/components/gridView/index.d.ts +80 -0
  150. package/src/components/hint/Hint.driver.d.ts +6 -0
  151. package/src/components/hint/Hint.driver.new.d.ts +19 -0
  152. package/src/components/hint/HintAnchor.d.ts +13 -0
  153. package/src/components/hint/HintBubble.d.ts +12 -0
  154. package/src/components/hint/HintMockChildren.d.ts +8 -0
  155. package/src/components/hint/HintOld.d.ts +196 -0
  156. package/src/components/hint/hooks/useHintAccessibility.d.ts +10 -0
  157. package/src/components/hint/hooks/useHintLayout.d.ts +13 -0
  158. package/src/components/hint/hooks/useHintPosition.d.ts +29 -0
  159. package/src/components/hint/hooks/useHintVisibility.d.ts +6 -0
  160. package/src/components/hint/index.d.ts +14 -0
  161. package/src/components/hint/types.d.ts +106 -0
  162. package/src/components/icon/index.d.ts +97 -0
  163. package/src/components/image/Image.driver.d.ts +4 -0
  164. package/src/components/image/Image.driver.new.d.ts +2 -0
  165. package/src/components/image/index.d.ts +192 -0
  166. package/src/components/listItem/ListItemPart.d.ts +15 -0
  167. package/src/components/listItem/index.d.ts +52 -0
  168. package/src/components/listItem/types.d.ts +60 -0
  169. package/src/components/loaderScreen/index.d.ts +13 -0
  170. package/src/components/loaderScreen/types.d.ts +32 -0
  171. package/src/components/marquee/index.d.ts +5 -0
  172. package/src/components/marquee/types.d.ts +35 -0
  173. package/src/components/maskedInput/index.d.ts +5 -0
  174. package/src/components/maskedInput/new.d.ts +22 -0
  175. package/src/components/modal/Modal.driver.new.d.ts +8 -0
  176. package/src/components/modal/TopBar.d.ts +89 -0
  177. package/src/components/modal/index.d.ts +64 -0
  178. package/src/components/numberInput/NumberInput.driver.d.ts +6 -0
  179. package/src/components/numberInput/Presenter.d.ts +21 -0
  180. package/src/components/numberInput/index.d.ts +57 -0
  181. package/src/components/overlay/index.d.ts +68 -0
  182. package/src/components/pageControl/index.d.ts +56 -0
  183. package/src/components/panView/index.d.ts +21 -0
  184. package/src/components/panView/panningUtil.d.ts +38 -0
  185. package/src/components/panView/usePanGesture.d.ts +49 -0
  186. package/src/components/picker/Picker.driver.new.d.ts +44 -0
  187. package/src/components/picker/PickerContext.d.ts +4 -0
  188. package/src/components/picker/PickerItem.d.ts +11 -0
  189. package/src/components/picker/PickerItemsList.d.ts +4 -0
  190. package/src/components/picker/PickerPresenter.d.ts +7 -0
  191. package/src/components/picker/PickerSelectionStatusBar.d.ts +3 -0
  192. package/src/components/picker/helpers/useFieldType.d.ts +373 -0
  193. package/src/components/picker/helpers/useImperativePickerHandle.d.ts +5 -0
  194. package/src/components/picker/helpers/useNewPickerProps.d.ts +3 -0
  195. package/src/components/picker/helpers/usePickerLabel.d.ts +17 -0
  196. package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +4 -0
  197. package/src/components/picker/helpers/usePickerSearch.d.ts +9 -0
  198. package/src/components/picker/helpers/usePickerSelection.d.ts +16 -0
  199. package/src/components/picker/index.d.ts +15 -0
  200. package/src/components/picker/types.d.ts +321 -0
  201. package/src/components/pieChart/PieSegment.d.ts +34 -0
  202. package/src/components/pieChart/index.d.ts +15 -0
  203. package/src/components/progressBar/index.d.ts +65 -0
  204. package/src/components/progressiveImage/index.d.ts +23 -0
  205. package/src/components/radioButton/RadioButton.driver.d.ts +9 -0
  206. package/src/components/radioButton/index.d.ts +121 -0
  207. package/src/components/radioGroup/RadioGroup.driver.d.ts +13 -0
  208. package/src/components/radioGroup/RadioGroupContext.d.ts +14 -0
  209. package/src/components/radioGroup/asRadioGroupChild.d.ts +2 -0
  210. package/src/components/radioGroup/index.d.ts +47 -0
  211. package/src/components/scrollBar/index.d.ts +88 -0
  212. package/src/components/searchInput/index.d.ts +37 -0
  213. package/src/components/searchInput/types.d.ts +66 -0
  214. package/src/components/sectionsWheelPicker/SectionsWheelPicker.driver.d.ts +25 -0
  215. package/src/components/sectionsWheelPicker/index.d.ts +43 -0
  216. package/src/components/segmentedControl/index.d.ts +90 -0
  217. package/src/components/segmentedControl/segment.d.ts +111 -0
  218. package/src/components/segmentedControl/useSegmentedControlPreset.d.ts +10 -0
  219. package/src/components/skeletonView/index.d.ts +163 -0
  220. package/src/components/slider/ColorSliderGroup.d.ts +13 -0
  221. package/src/components/slider/GradientSlider.d.ts +20 -0
  222. package/src/components/slider/SliderContext.d.ts +8 -0
  223. package/src/components/slider/Thumb.d.ts +32 -0
  224. package/src/components/slider/index.d.ts +31 -0
  225. package/src/components/slider/slider.driver.d.ts +5 -0
  226. package/src/components/slider/types.d.ts +197 -0
  227. package/src/components/sortableGridList/SortableItem.d.ts +6 -0
  228. package/src/components/sortableGridList/index.d.ts +5 -0
  229. package/src/components/sortableGridList/types.d.ts +34 -0
  230. package/src/components/sortableGridList/usePresenter.d.ts +21 -0
  231. package/src/components/sortableList/SortableList.driver.new.d.ts +2 -0
  232. package/src/components/sortableList/SortableListContext.d.ts +19 -0
  233. package/src/components/sortableList/SortableListItem.d.ts +8 -0
  234. package/src/components/sortableList/SortableListItem.driver.new.d.ts +11 -0
  235. package/src/components/sortableList/index.d.ts +5 -0
  236. package/src/components/sortableList/types.d.ts +48 -0
  237. package/src/components/sortableList/usePresenter.d.ts +12 -0
  238. package/src/components/stackAggregator/index.d.ts +89 -0
  239. package/src/components/stateScreen/index.d.ts +5 -0
  240. package/src/components/stateScreen/types.d.ts +30 -0
  241. package/src/components/stepper/index.d.ts +47 -0
  242. package/src/components/svgImage/index.d.ts +14 -0
  243. package/src/components/svgImage/index.web.d.ts +18 -0
  244. package/src/components/switch/index.d.ts +102 -0
  245. package/src/components/switch/switch.driver.d.ts +18 -0
  246. package/src/components/tabController/PageCarousel.d.ts +9 -0
  247. package/src/components/tabController/TabBar.d.ts +97 -0
  248. package/src/components/tabController/TabBarContext.d.ts +18 -0
  249. package/src/components/tabController/TabBarItem.d.ts +105 -0
  250. package/src/components/tabController/TabPage.d.ts +33 -0
  251. package/src/components/tabController/index.d.ts +48 -0
  252. package/src/components/tabController/useImperativeTabControllerHandle.d.ts +6 -0
  253. package/src/components/tabController/useScrollToItem.d.ts +79 -0
  254. package/src/components/text/Text.driver.d.ts +7 -0
  255. package/src/components/text/Text.driver.new.d.ts +17 -0
  256. package/src/components/text/index.d.ts +195 -0
  257. package/src/components/textField/CharCounter.d.ts +7 -0
  258. package/src/components/textField/ClearButton.d.ts +4 -0
  259. package/src/components/textField/FieldContext.d.ts +4 -0
  260. package/src/components/textField/FloatingPlaceholder.d.ts +7 -0
  261. package/src/components/textField/Input.d.ts +8 -0
  262. package/src/components/textField/Label.d.ts +7 -0
  263. package/src/components/textField/Presenter.d.ts +7 -0
  264. package/src/components/textField/TextField.driver.new.d.ts +129 -0
  265. package/src/components/textField/ValidationMessage.d.ts +7 -0
  266. package/src/components/textField/index.d.ts +114 -0
  267. package/src/components/textField/presets/outline.d.ts +737 -0
  268. package/src/components/textField/presets/underline.d.ts +735 -0
  269. package/src/components/textField/textInput/index.d.ts +1 -0
  270. package/src/components/textField/textInput/index.web.d.ts +3 -0
  271. package/src/components/textField/types.d.ts +287 -0
  272. package/src/components/textField/useFieldState.d.ts +16 -0
  273. package/src/components/textField/useImperativeInputHandle.d.ts +4 -0
  274. package/src/components/textField/usePreset.d.ts +1696 -0
  275. package/src/components/textField/validators.d.ts +9 -0
  276. package/src/components/textFieldOld/index.d.ts +71 -0
  277. package/src/components/timeline/Line.d.ts +10 -0
  278. package/src/components/timeline/Point.d.ts +9 -0
  279. package/src/components/timeline/index.d.ts +11 -0
  280. package/src/components/timeline/line.driver.d.ts +10 -0
  281. package/src/components/timeline/point.driver.d.ts +8 -0
  282. package/src/components/timeline/timeline.driver.d.ts +25 -0
  283. package/src/components/timeline/types.d.ts +50 -0
  284. package/src/components/touchableOpacity/index.d.ts +50 -0
  285. package/src/components/view/View.driver.new.d.ts +7 -0
  286. package/src/components/view/index.d.ts +46 -0
  287. package/src/components/wizard/WizardStates.d.ts +2 -0
  288. package/src/components/wizard/WizardStep.d.ts +4 -0
  289. package/src/components/wizard/index.d.ts +31 -0
  290. package/src/components/wizard/types.d.ts +90 -0
  291. package/src/helpers/AvatarHelper.d.ts +9 -0
  292. package/src/helpers/FormattingPresenter.d.ts +6 -0
  293. package/src/helpers/Profiler.d.ts +22 -0
  294. package/src/helpers/index.d.ts +3 -0
  295. package/src/hooks/index.d.ts +14 -0
  296. package/src/hooks/useCombinedRefs/index.d.ts +3 -0
  297. package/src/hooks/useDebounce/index.d.ts +5 -0
  298. package/src/hooks/useDidUpdate/index.d.ts +6 -0
  299. package/src/hooks/useHiddenLocation/index.d.ts +13 -0
  300. package/src/hooks/useHiddenLocation/index.web.d.ts +13 -0
  301. package/src/hooks/useKeyboardHeight/index.d.ts +5 -0
  302. package/src/hooks/useMeasure/index.d.ts +15 -0
  303. package/src/hooks/useModifiers/index.d.ts +3 -0
  304. package/src/hooks/useOrientation/index.d.ts +7 -0
  305. package/src/hooks/useScrollEnabler/index.d.ts +23 -0
  306. package/src/hooks/useScrollReached/index.d.ts +28 -0
  307. package/src/hooks/useScrollTo/index.d.ts +37 -0
  308. package/src/hooks/useScrollToItem/index.d.ts +65 -0
  309. package/src/hooks/useThemeProps/index.d.ts +2 -0
  310. package/src/hooks/useToggleValue/index.d.ts +2 -0
  311. package/src/incubator/TouchableOpacity.d.ts +52 -0
  312. package/src/incubator/calendar/Agenda.d.ts +4 -0
  313. package/src/incubator/calendar/CalendarContext.d.ts +4 -0
  314. package/src/incubator/calendar/CalendarItem.d.ts +5 -0
  315. package/src/incubator/calendar/Day.d.ts +4 -0
  316. package/src/incubator/calendar/Day_OLD.d.ts +4 -0
  317. package/src/incubator/calendar/Header.d.ts +4 -0
  318. package/src/incubator/calendar/Month.d.ts +4 -0
  319. package/src/incubator/calendar/TodayButton.d.ts +4 -0
  320. package/src/incubator/calendar/Week.d.ts +4 -0
  321. package/src/incubator/calendar/WeekDaysNames.d.ts +4 -0
  322. package/src/incubator/calendar/helpers/CalendarProcessor.d.ts +2 -0
  323. package/src/incubator/calendar/helpers/DataProcessor.d.ts +2 -0
  324. package/src/incubator/calendar/helpers/DateUtils.d.ts +23 -0
  325. package/src/incubator/calendar/index.d.ts +7 -0
  326. package/src/incubator/calendar/types.d.ts +118 -0
  327. package/src/incubator/expandableOverlay/ExpandableOverlay.driver.d.ts +7 -0
  328. package/src/incubator/expandableOverlay/index.d.ts +83 -0
  329. package/src/incubator/gradient/BorderGradient.d.ts +4 -0
  330. package/src/incubator/gradient/CircleGradient.d.ts +4 -0
  331. package/src/incubator/gradient/RectangleGradient.d.ts +4 -0
  332. package/src/incubator/gradient/index.d.ts +5 -0
  333. package/src/incubator/gradient/types.d.ts +26 -0
  334. package/src/incubator/gradient/useAngleTransform.d.ts +27 -0
  335. package/src/incubator/index.d.ts +9 -0
  336. package/src/incubator/slider/Slider.driver.d.ts +5 -0
  337. package/src/incubator/slider/SliderPresenter.d.ts +6 -0
  338. package/src/incubator/slider/Thumb.d.ts +24 -0
  339. package/src/incubator/slider/Track.d.ts +13 -0
  340. package/src/incubator/slider/index.d.ts +139 -0
  341. package/src/incubator/toast/Toast.driver.new.d.ts +54 -0
  342. package/src/incubator/toast/helpers/useToastAnimation.d.ts +22 -0
  343. package/src/incubator/toast/helpers/useToastPresets.d.ts +8 -0
  344. package/src/incubator/toast/helpers/useToastTimer.d.ts +6 -0
  345. package/src/incubator/toast/index.d.ts +9 -0
  346. package/src/incubator/toast/index.js +4 -1
  347. package/src/incubator/toast/types.d.ts +111 -0
  348. package/src/index.d.ts +92 -0
  349. package/src/optionalDependencies/BlurViewPackage.d.ts +2 -0
  350. package/src/optionalDependencies/BlurViewPackage.web.d.ts +2 -0
  351. package/src/optionalDependencies/DateTimePickerPackage.d.ts +2 -0
  352. package/src/optionalDependencies/FlashListPackage.d.ts +2 -0
  353. package/src/optionalDependencies/HapticFeedbackPackage.d.ts +2 -0
  354. package/src/optionalDependencies/LinearGradientPackage.d.ts +2 -0
  355. package/src/optionalDependencies/MomentPackage.d.ts +2 -0
  356. package/src/optionalDependencies/NetInfoPackage.d.ts +2 -0
  357. package/src/optionalDependencies/PostCssPackage.d.ts +5 -0
  358. package/src/optionalDependencies/ShimmerPackage.d.ts +2 -0
  359. package/src/optionalDependencies/SvgPackage.d.ts +3 -0
  360. package/src/optionalDependencies/index.d.ts +9 -0
  361. package/src/optionalDependencies/index.web.d.ts +7 -0
  362. package/src/services/HapticService.d.ts +15 -0
  363. package/src/services/LogService.d.ts +35 -0
  364. package/src/services/index.d.ts +2 -0
  365. package/src/style/borderRadiuses.d.ts +30 -0
  366. package/src/style/colorName.d.ts +8 -0
  367. package/src/style/colorNameMap.d.ts +2 -0
  368. package/src/style/colors.d.ts +274 -0
  369. package/src/style/colorsPalette.d.ts +101 -0
  370. package/src/style/components.d.ts +15 -0
  371. package/src/style/componentsColors.d.ts +5 -0
  372. package/src/style/designTokens.d.ts +69 -0
  373. package/src/style/designTokensDM.d.ts +69 -0
  374. package/src/style/dividers.d.ts +11 -0
  375. package/src/style/index.d.ts +13 -0
  376. package/src/style/scheme.d.ts +57 -0
  377. package/src/style/shadows.d.ts +223 -0
  378. package/src/style/spacings.d.ts +32 -0
  379. package/src/style/themeManager.d.ts +22 -0
  380. package/src/style/typography.d.ts +26 -0
  381. package/src/style/typographyPresets.d.ts +7 -0
  382. package/src/testkit/Component.driver.d.ts +30 -0
  383. package/src/testkit/DriverException.d.ts +12 -0
  384. package/src/testkit/UniDriver.d.ts +29 -0
  385. package/src/testkit/drivers/TestingLibraryDriver.d.ts +26 -0
  386. package/src/testkit/index.d.ts +25 -0
  387. package/src/testkit/new/Component.driver.d.ts +16 -0
  388. package/src/testkit/new/useDraggable.driver.d.ts +15 -0
  389. package/src/testkit/new/usePressable.driver.d.ts +14 -0
  390. package/src/testkit/new/useScrollable.driver.d.ts +13 -0
  391. package/src/typings/assets.d.ts +52 -0
  392. package/src/typings/common.d.ts +12 -0
  393. package/src/typings/module.d.ts +13 -0
  394. package/src/typings/recorderTypes.d.ts +13 -0
  395. package/src/uilib-test-renderer/helper.d.ts +8 -0
  396. package/src/uilib-test-renderer/index.d.ts +4 -0
  397. package/src/uilib-test-renderer/scrollViewHelper.d.ts +9 -0
  398. package/src/utils/dateUtils.d.ts +2 -0
  399. package/src/utils/imageUtils.d.ts +5 -0
  400. package/src/utils/index.d.ts +4 -0
  401. package/src/utils/styleUtils.d.ts +7 -0
  402. package/src/utils/textUtils.d.ts +8 -0
  403. package/jestSetup/jest-setup.js +0 -154
  404. package/lib/components/DynamicFonts/FontDownloader.d.js +0 -1
  405. package/lib/components/DynamicFonts/FontLoader.d.js +0 -1
  406. package/lib/components/DynamicFonts/NoPermissionsAcquirer.d.js +0 -1
  407. package/lib/components/DynamicFonts/PermissionsAcquirer.android.d.js +0 -1
  408. package/lib/components/DynamicFonts/PermissionsAcquirer.ios.d.js +0 -2
  409. package/lib/components/DynamicFonts/PermissionsAcquirer.web.d.js +0 -2
  410. package/lib/components/DynamicFonts/RNFSPackage.d.js +0 -1
  411. package/lib/components/DynamicFonts/index.d.js +0 -3
  412. package/lib/components/HighlighterOverlayView/index.d.js +0 -1
  413. package/lib/components/HighlighterOverlayView/index.web.d.js +0 -1
  414. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.d.js +0 -2
  415. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.d.js +0 -2
  416. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.d.js +0 -2
  417. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.d.js +0 -1
  418. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.d.js +0 -1
  419. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.js +0 -1
  420. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.d.js +0 -5
  421. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.js +0 -1
  422. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.d.js +0 -1
  423. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.js +0 -1
  424. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.d.js +0 -1
  425. package/lib/components/Keyboard/KeyboardAccessoryView/index.d.js +0 -7
  426. package/lib/components/Keyboard/KeyboardAwareInsetsView/index.d.js +0 -1
  427. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.d.js +0 -1
  428. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.d.js +0 -10
  429. package/lib/components/Keyboard/KeyboardTrackingView/index.d.js +0 -1
  430. package/lib/components/Keyboard/KeyboardTrackingView/index.web.d.js +0 -1
  431. package/lib/components/Keyboard/index.d.js +0 -4
  432. package/lib/components/SafeArea/SafeAreaInsetsManager.d.js +0 -1
  433. package/lib/components/SafeArea/SafeAreaSpacerView.d.js +0 -1
  434. package/lib/components/SafeArea/SafeAreaSpacerView.web.d.js +0 -1
  435. package/lib/components/SafeArea/index.d.js +0 -1
  436. package/lib/components/index.d.js +0 -6
  437. package/lib/scripts/releaseNative.js +0 -72
  438. package/lib/specs/HighlighterViewNativeComponent.d.js +0 -1
  439. package/lib/specs/HighlighterViewNativeComponent.js +0 -8
  440. package/lib/specs/KeyboardTrackingViewNativeComponent.d.js +0 -1
  441. package/lib/specs/KeyboardTrackingViewNativeComponent.js +0 -8
  442. package/scripts/build/.babelrc.exports.js +0 -6
  443. package/scripts/build/build.js +0 -35
  444. package/scripts/build/buildPackages/buildComponentsPackages.js +0 -18
  445. package/scripts/build/buildPackages/buildCustomPackages.js +0 -106
  446. package/scripts/build/buildPackages/index.js +0 -6
  447. package/scripts/createCalendarMockData.js +0 -37
  448. package/scripts/docs/buildDocs.js +0 -1
  449. package/scripts/prepush.js +0 -71
  450. package/scripts/release/prReleaseNotes.js +0 -6
  451. package/scripts/release/release.js +0 -99
  452. package/scripts/updateWebAssets.js +0 -88
  453. package/scripts/utils.js +0 -21
  454. package/src/assets/__tests__/Assets.spec.js +0 -110
  455. package/src/commons/__tests__/baseComponent.spec.js +0 -36
  456. package/src/commons/__tests__/constants.spec.js +0 -202
  457. package/src/commons/__tests__/modifiers.spec.js +0 -453
  458. package/src/components/WheelPicker/__tests__/index.spec.js +0 -121
  459. package/src/components/WheelPicker/__tests__/useListMiddleIndex.spec.js +0 -40
  460. package/src/components/WheelPicker/__tests__/usePresenter.spec.js +0 -87
  461. package/src/components/avatar/__tests__/index.spec.js +0 -25
  462. package/src/components/badge/__tests__/index.spec.js +0 -84
  463. package/src/components/button/__tests__/index.driver.spec.js +0 -209
  464. package/src/components/button/__tests__/index.spec.js +0 -287
  465. package/src/components/card/__tests__/CardPresenter.spec.js +0 -35
  466. package/src/components/carousel/__tests__/CarouselPresenter.spec.js +0 -52
  467. package/src/components/carousel/__tests__/index.spec.js +0 -89
  468. package/src/components/checkbox/__tests__/index.spec.js +0 -357
  469. package/src/components/chip/__tests__/index.spec.js +0 -63
  470. package/src/components/connectionStatusBar/__tests__/index.spec.js +0 -41
  471. package/src/components/dateTimePicker/__tests__/index.spec.js +0 -44
  472. package/src/components/dialog/__tests__/index.new.spec.js +0 -118
  473. package/src/components/featureHighlight/__tests__/index.spec.js +0 -76
  474. package/src/components/floatingButton/__tests__/index.spec.js +0 -229
  475. package/src/components/hint/__tests__/index.spec.js +0 -108
  476. package/src/components/image/__tests__/index.spec.js +0 -56
  477. package/src/components/maskedInput/__tests__/maskedInput.new.spec.js +0 -19
  478. package/src/components/maskedInput/__tests__/maskedInput.old.spec.js +0 -20
  479. package/src/components/modal/__tests__/index.spec.js +0 -58
  480. package/src/components/numberInput/__tests__/Presenter.spec.js +0 -374
  481. package/src/components/numberInput/__tests__/index.spec.js +0 -38
  482. package/src/components/panView/__tests__/panningUtil.spec.js +0 -693
  483. package/src/components/picker/__tests__/PickerPresenter.spec.js +0 -15
  484. package/src/components/picker/__tests__/index.spec.js +0 -364
  485. package/src/components/picker/helpers/__tests__/usePickerLabel.spec.js +0 -96
  486. package/src/components/radioButton/__tests__/index.spec.js +0 -43
  487. package/src/components/radioGroup/__tests__/index.spec.js +0 -96
  488. package/src/components/sectionsWheelPicker/__tests__/index.spec.js +0 -35
  489. package/src/components/sectionsWheelPicker/__tests__/mockSections.js +0 -28
  490. package/src/components/segmentedControl/__tests__/index.spec.js +0 -25
  491. package/src/components/slider/__tests__/index.spec.js +0 -35
  492. package/src/components/sortableGridList/__tests__/index.spec.js +0 -51
  493. package/src/components/sortableGridList/__tests__/usePresenter.spec.js +0 -231
  494. package/src/components/sortableList/__tests__/index.spec.js +0 -105
  495. package/src/components/switch/__tests__/index.spec.js +0 -96
  496. package/src/components/text/__tests__/index.driver.spec.js +0 -124
  497. package/src/components/text/__tests__/index.spec.js +0 -245
  498. package/src/components/textField/__tests__/Presenter.spec.js +0 -240
  499. package/src/components/textField/__tests__/index.driver.spec.js +0 -639
  500. package/src/components/timeline/__tests__/driver.index.spec.js +0 -133
  501. package/src/helpers/__tests__/AvatarHelper.spec.js +0 -170
  502. package/src/hooks/useDidUpdate/__tests__/useDidUpdate.spec.js +0 -80
  503. package/src/hooks/useOrientation/__tests__/useOrientation.spec.js +0 -70
  504. package/src/hooks/useToggleValue/__tests__/useToggleValue.spec.js +0 -89
  505. package/src/incubator/calendar/__tests__/DateUtils.spec.js +0 -367
  506. package/src/incubator/expandableOverlay/__tests__/index.spec.js +0 -114
  507. package/src/incubator/gradient/__tests__/useAngleTransform.spec.js +0 -126
  508. package/src/incubator/slider/__tests__/SliderPresenter.spec.js +0 -43
  509. package/src/incubator/slider/__tests__/index.spec.js +0 -34
  510. package/src/incubator/toast/__tests__/index.spec.js +0 -64
  511. package/src/style/__tests__/colors.spec.js +0 -313
  512. package/src/style/__tests__/scheme.spec.js +0 -119
  513. package/src/utils/__tests__/Playground.perf.js +0 -14
  514. package/src/utils/__tests__/imageUtils.spec.js +0 -54
  515. package/src/utils/__tests__/textUtils.spec.js +0 -446
@@ -0,0 +1,450 @@
1
+ //
2
+ // RCTCustomInputControllerTemp.m
3
+ //
4
+ // Created by Leo Natan (Wix) on 13/12/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import "RCTCustomInputControllerTemp.h"
9
+ #import "RCTCustomKeyboardViewControllerTemp.h"
10
+
11
+ #import <React/RCTUIManager.h>
12
+ #import <objc/runtime.h>
13
+
14
+ #import "LNAnimatorTemp.h"
15
+
16
+ #if __has_include(<React-RCTAppDelegate/RCTAppDelegate.h>)
17
+ #import <React-RCTAppDelegate/RCTAppDelegate.h>
18
+ #elif __has_include(<React_RCTAppDelegate/RCTAppDelegate.h>)
19
+ #import <React_RCTAppDelegate/RCTAppDelegate.h>
20
+ #endif
21
+
22
+ #define kHlperViewTag 0x1f1f1f
23
+
24
+ NSString *const RCTCustomInputControllerKeyboardResigendEventTemp = @"kbdResigned";
25
+
26
+ @protocol _WXInputHelperViewDelegateTemp <NSObject>
27
+ -(void)_WXInputHelperViewResignFirstResponder:(UIView*)wxInputHelperView;
28
+ @end
29
+
30
+ @interface _WXInputHelperViewTemp : UIView
31
+
32
+ @property (nullable, nonatomic, readwrite, strong) UIInputViewController *inputViewController;
33
+ @property (nonatomic, weak) id<_WXInputHelperViewDelegateTemp> delegate;
34
+ @property (nullable, readwrite, strong) UIView *inputAccessoryView;
35
+ @property (nonatomic) BOOL keepInSuperviewOnResign;
36
+
37
+ @end
38
+
39
+ @implementation _WXInputHelperViewTemp
40
+
41
+ - (BOOL)canBecomeFirstResponder
42
+ {
43
+ return YES;
44
+ }
45
+
46
+ - (BOOL)resignFirstResponder
47
+ {
48
+ BOOL rv = [super resignFirstResponder];
49
+
50
+ if (!_keepInSuperviewOnResign)
51
+ {
52
+ [self removeFromSuperview];
53
+
54
+ if(self.delegate && [self.delegate respondsToSelector:@selector(_WXInputHelperViewResignFirstResponder:)])
55
+ {
56
+ [self.delegate _WXInputHelperViewResignFirstResponder:self];
57
+ }
58
+ }
59
+
60
+ return rv;
61
+ }
62
+
63
+ @end
64
+
65
+
66
+ @interface RCTCustomInputControllerTemp () <_WXInputHelperViewDelegateTemp> {
67
+ UIWindow *_fullScreenWindow;
68
+ BOOL _performingExpandTransition;
69
+ }
70
+
71
+ @property(nonatomic) BOOL customInputComponentPresented;
72
+
73
+ @end
74
+
75
+ @implementation RCTCustomInputControllerTemp
76
+
77
+ + (BOOL)requiresMainQueueSetup
78
+ {
79
+ return YES;
80
+ }
81
+
82
+ - (dispatch_queue_t)methodQueue
83
+ {
84
+ return dispatch_get_main_queue();
85
+ }
86
+
87
+ - (NSArray<NSString *> *)supportedEvents
88
+ {
89
+ return @[RCTCustomInputControllerKeyboardResigendEventTemp];
90
+ }
91
+
92
+ RCT_EXPORT_MODULE(CustomInputControllerTemp)
93
+
94
+ - (instancetype)init
95
+ {
96
+ self = [super init];
97
+ if (self)
98
+ {
99
+ self.customInputComponentPresented = NO;
100
+ }
101
+ return self;
102
+ }
103
+
104
+ -(UIView*)getFirstResponder:(UIView*)view
105
+ {
106
+ if (view == nil || [view isFirstResponder])
107
+ {
108
+ return view;
109
+ }
110
+
111
+ for (UIView *subview in view.subviews)
112
+ {
113
+ UIView *firstResponder = [self getFirstResponder:subview];
114
+ if(firstResponder != nil)
115
+ {
116
+ return firstResponder;
117
+ }
118
+ }
119
+ return nil;
120
+ }
121
+
122
+ - (BOOL)shouldUseSafeAreaFrom:(NSDictionary *)params {
123
+ return [params[@"useSafeArea"] isEqual:@(1)];
124
+ }
125
+
126
+ - (UITextField*)getTextFieldFromTextInputComponentView:(id)inputField {
127
+ UITextField *textField = nil;
128
+
129
+ if ([inputField isKindOfClass:NSClassFromString(@"RCTTextInputComponentView")])
130
+ {
131
+ Ivar textFieldIvar = class_getInstanceVariable([inputField class], "_backedTextInputView");
132
+ if (textFieldIvar != NULL)
133
+ {
134
+ textField = [inputField valueForKey:@"_backedTextInputView"];
135
+ }
136
+ }
137
+
138
+ return textField;
139
+ }
140
+
141
+ RCT_EXPORT_METHOD(presentCustomInputComponent:(nonnull NSNumber*)inputFieldTag params:(nonnull NSDictionary*)params)
142
+ {
143
+ RCTBridge* bridge = [self.bridge valueForKey:@"parentBridge"];
144
+ if(bridge == nil)
145
+ {
146
+ bridge = self.bridge;
147
+ }
148
+
149
+ UIView* inputField = [self.bridge.uiManager viewForReactTag:inputFieldTag];
150
+ NSDictionary *initialProps = params[@"initialProps"];
151
+
152
+ RCTAppDelegate* appDelegate = (RCTAppDelegate*)[UIApplication sharedApplication].delegate;
153
+ UIView *rv = [appDelegate.rootViewFactory viewWithModuleName:params[@"component"]
154
+ initialProperties:initialProps];
155
+
156
+ if(initialProps != nil && initialProps[@"backgroundColor"] != nil)
157
+ {
158
+ UIColor *backgroundColor = [RCTConvert UIColor:initialProps[@"backgroundColor"]];
159
+ if(backgroundColor != nil)
160
+ {
161
+ rv.backgroundColor = backgroundColor;
162
+ }
163
+ }
164
+
165
+ self.customInputComponentPresented = NO;
166
+
167
+ BOOL useSafeArea = [self shouldUseSafeAreaFrom:params];
168
+ RCTCustomKeyboardViewControllerTemp* customKeyboardController = [[RCTCustomKeyboardViewControllerTemp alloc] initWithUsingSafeArea:useSafeArea];
169
+ customKeyboardController.rootView = rv;
170
+
171
+ _WXInputHelperViewTemp* helperView = [[_WXInputHelperViewTemp alloc] initWithFrame:CGRectZero];
172
+ helperView.tag = kHlperViewTag;
173
+ helperView.delegate = self;
174
+
175
+
176
+
177
+ if ([inputField isKindOfClass:NSClassFromString(@"RCTTextInputComponentView")])
178
+ {
179
+ UITextField *textField = [self getTextFieldFromTextInputComponentView:inputField];
180
+ if (textField != nil)
181
+ {
182
+ helperView.inputAccessoryView = textField.inputAccessoryView;
183
+ }
184
+ }
185
+ else if ([inputField isKindOfClass:NSClassFromString(@"RCTTextView")])
186
+ {
187
+ UITextView *textView = nil;
188
+ Ivar backedTextInputIvar = class_getInstanceVariable([inputField class], "_backedTextInput");
189
+ if (backedTextInputIvar != NULL)
190
+ {
191
+ textView = [inputField valueForKey:@"_backedTextInput"];
192
+ }
193
+ else if([inputField isKindOfClass:[UITextView class]])
194
+ {
195
+ textView = (UITextView*)inputField;
196
+ }
197
+
198
+ if (textView != nil)
199
+ {
200
+ helperView.inputAccessoryView = textView.inputAccessoryView;
201
+ }
202
+ }
203
+ else if ([inputField isKindOfClass:NSClassFromString(@"RCTUITextView")] && [inputField isKindOfClass:[UITextView class]])
204
+ {
205
+ UITextView *textView = (UITextView*)inputField;
206
+ helperView.inputAccessoryView = textView.inputAccessoryView;
207
+ }
208
+ else if([inputField isKindOfClass:NSClassFromString(@"RCTMultilineTextInputView")])
209
+ {
210
+ Ivar backedTextInputIvar = class_getInstanceVariable([inputField class], "_backedTextInputView");
211
+ if (backedTextInputIvar != NULL)
212
+ {
213
+ id textViewObj = [inputField valueForKey:@"_backedTextInputView"];
214
+ if ([textViewObj isKindOfClass:[UITextView class]])
215
+ {
216
+ UITextView *textView = (UITextView*)textViewObj;
217
+ helperView.inputAccessoryView = textView.inputAccessoryView;
218
+ }
219
+ }
220
+ }
221
+ else
222
+ {
223
+ UIView *firstResponder = [self getFirstResponder:inputField];
224
+ helperView.inputAccessoryView = firstResponder.inputAccessoryView;
225
+ }
226
+
227
+ [helperView reloadInputViews];
228
+
229
+ helperView.backgroundColor = [UIColor clearColor];
230
+ [inputField.superview addSubview:helperView];
231
+ [inputField.superview sendSubviewToBack:helperView];
232
+
233
+ helperView.inputViewController = customKeyboardController;
234
+ [helperView reloadInputViews];
235
+ [helperView becomeFirstResponder];
236
+
237
+ self.customInputComponentPresented = YES;
238
+ }
239
+
240
+ RCT_EXPORT_METHOD(resetInput:(nonnull NSNumber*)inputFieldTag)
241
+ {
242
+ self.customInputComponentPresented = NO;
243
+
244
+ UIView* inputField = [self.bridge.uiManager viewForReactTag:inputFieldTag];
245
+ if(inputField != nil)
246
+ {
247
+ _WXInputHelperViewTemp* helperView = [inputField.superview viewWithTag:kHlperViewTag];
248
+ if(helperView != nil && [helperView isFirstResponder])
249
+ {//restore the first responder only if it was already the first responder to prevent the keyboard from opening again if not necessary
250
+ if ([inputField isKindOfClass:NSClassFromString(@"RCTTextInputComponentView")])
251
+ {
252
+ UITextField *textField = [self getTextFieldFromTextInputComponentView:inputField];
253
+ if (textField != nil)
254
+ {
255
+ [textField reactFocus];
256
+ }
257
+
258
+ } else {
259
+ [inputField reactFocus];
260
+ }
261
+ }
262
+ }
263
+ }
264
+
265
+ RCT_EXPORT_METHOD(dismissKeyboard)
266
+ {
267
+ UIView *firstResponder = [self getFirstResponder:[UIApplication sharedApplication].delegate.window];
268
+ if(firstResponder != nil)
269
+ {
270
+ [firstResponder resignFirstResponder];
271
+ }
272
+ }
273
+
274
+ -(void)changeKeyboardHeightForInput:(nonnull NSNumber*)inputFieldTag newHeight:(CGFloat)newHeight
275
+ {
276
+ UIView* inputField = [self.bridge.uiManager viewForReactTag:inputFieldTag];
277
+ if(inputField != nil)
278
+ {
279
+ _WXInputHelperViewTemp* helperView = [inputField.superview viewWithTag:kHlperViewTag];
280
+ if(helperView != nil)
281
+ {
282
+ [((RCTCustomKeyboardViewControllerTemp*)helperView.inputViewController) setAllowsSelfSizing:YES];
283
+ ((RCTCustomKeyboardViewControllerTemp*)helperView.inputViewController).heightConstraint.constant = newHeight;
284
+
285
+ UIInputView *inputView = helperView.inputViewController.inputView;
286
+ [inputView setNeedsUpdateConstraints];
287
+ [UIView animateWithDuration:0.55
288
+ delay:0
289
+ usingSpringWithDamping:500.0
290
+ initialSpringVelocity:0
291
+ options:UIViewAnimationOptionCurveEaseOut
292
+ animations:^{ [inputView layoutIfNeeded]; }
293
+ completion:nil];
294
+ }
295
+ }
296
+ }
297
+
298
+ -(UIColor*)reactViewAvgColor:(UIView*)rootView
299
+ {
300
+ if (rootView.frame.size.width == 0 || rootView.frame.size.height == 0)
301
+ {
302
+ return [UIColor clearColor];
303
+ }
304
+
305
+ UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), YES, 0);
306
+ CGContextTranslateCTM(UIGraphicsGetCurrentContext(), 0, -(rootView.frame.size.height - 1));
307
+ [rootView.layer renderInContext:UIGraphicsGetCurrentContext()];
308
+ UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
309
+ UIGraphicsEndImageContext();
310
+
311
+ CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));
312
+ const UInt8* data = CFDataGetBytePtr(pixelData);
313
+ CFRelease(pixelData);
314
+
315
+ //after scale defaults to bgr
316
+ CGFloat red = data[2] / 255.0f,
317
+ green = data[1] / 255.0f,
318
+ blue = data[0] / 255.0f,
319
+ alpha = data[3] / 255.0f;
320
+
321
+ UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
322
+ return color;
323
+ }
324
+
325
+ RCT_EXPORT_METHOD(expandFullScreenForInput:(nonnull NSNumber*)inputFieldTag)
326
+ {
327
+ if (_fullScreenWindow != nil || _performingExpandTransition)
328
+ {
329
+ return;
330
+ }
331
+
332
+ UIView* inputField = [self.bridge.uiManager viewForReactTag:inputFieldTag];
333
+ if(inputField != nil)
334
+ {
335
+ _WXInputHelperViewTemp* helperView = [inputField.superview viewWithTag:kHlperViewTag];
336
+ if(helperView != nil)
337
+ {
338
+ _performingExpandTransition = YES;
339
+
340
+ helperView.keepInSuperviewOnResign = YES;
341
+
342
+ RCTCustomKeyboardViewControllerTemp *customKeyboardViewController = (RCTCustomKeyboardViewControllerTemp*)helperView.inputViewController;
343
+ UIView *rv = customKeyboardViewController.rootView;
344
+ UIInputView *inputView = helperView.inputViewController.inputView;
345
+
346
+ _fullScreenWindow = [[UIWindow alloc] initWithFrame:[inputView.window convertRect:inputView.bounds fromView:inputView]];
347
+ UIColor *originalBackgroundColor = rv.backgroundColor;
348
+ rv.backgroundColor = [self reactViewAvgColor:rv];
349
+
350
+ customKeyboardViewController.rootView = nil;
351
+
352
+ UIViewController *vc = [UIViewController new];
353
+ vc.view = rv;
354
+
355
+ inputView.window.hidden = YES;
356
+
357
+ [UIView performWithoutAnimation:^{
358
+ _fullScreenWindow.hidden = NO;
359
+ _fullScreenWindow.rootViewController = vc;
360
+
361
+ [_fullScreenWindow layoutIfNeeded];
362
+ }];
363
+
364
+ [[LNAnimatorTemp animatorWithDuration:0.5
365
+ animations:@[[LNViewAnimationTemp animationWithView:_fullScreenWindow keyPath:@"frame" toValue:[NSValue valueWithCGRect:[UIScreen mainScreen].bounds]]]
366
+ completionHandler:^(BOOL completed)
367
+ {
368
+ [UIView performWithoutAnimation:^{
369
+ inputView.window.hidden = NO;
370
+ [helperView resignFirstResponder];
371
+ [_fullScreenWindow makeKeyAndVisible];
372
+
373
+ rv.backgroundColor = originalBackgroundColor;
374
+ }];
375
+ _performingExpandTransition = NO;
376
+ }] start];
377
+ }
378
+ }
379
+ }
380
+
381
+ RCT_EXPORT_METHOD(resetSizeForInput:(nonnull NSNumber*)inputFieldTag)
382
+ {
383
+ if (_fullScreenWindow == nil || _performingExpandTransition)
384
+ {
385
+ return;
386
+ }
387
+
388
+ UIView* inputField = [self.bridge.uiManager viewForReactTag:inputFieldTag];
389
+ if(inputField != nil)
390
+ {
391
+ _WXInputHelperViewTemp* helperView = [inputField.superview viewWithTag:kHlperViewTag];
392
+ if(helperView != nil)
393
+ {
394
+ _performingExpandTransition = YES;
395
+
396
+ __block CGRect keyboardTargetFrame;
397
+ UIInputView *inputView = helperView.inputViewController.inputView;
398
+
399
+ [UIView performWithoutAnimation:^{
400
+ [helperView.window makeKeyWindow];
401
+ [helperView becomeFirstResponder];
402
+ [helperView layoutIfNeeded];
403
+
404
+ keyboardTargetFrame = [inputView.window convertRect:inputView.bounds fromView:inputView];
405
+ }];
406
+
407
+ _fullScreenWindow.windowLevel = inputView.window.windowLevel + 1;
408
+
409
+ [_fullScreenWindow layoutIfNeeded];
410
+ [_fullScreenWindow endEditing:YES];
411
+
412
+ [[LNAnimatorTemp animatorWithDuration:0.5
413
+ animations:@[[LNViewAnimationTemp animationWithView:_fullScreenWindow keyPath:@"frame" toValue:[NSValue valueWithCGRect:keyboardTargetFrame]]]
414
+ completionHandler:^(BOOL completed)
415
+ {
416
+ RCTCustomKeyboardViewControllerTemp *customKeyboardViewController = (RCTCustomKeyboardViewControllerTemp*)helperView.inputViewController;
417
+ UIView *rv = _fullScreenWindow.rootViewController.view;
418
+
419
+ [UIView performWithoutAnimation:^{
420
+
421
+ _fullScreenWindow.rootViewController.view = [UIView new];
422
+ customKeyboardViewController.rootView = rv;
423
+
424
+ _fullScreenWindow.hidden = YES;
425
+ _fullScreenWindow = nil;
426
+ }];
427
+
428
+ helperView.keepInSuperviewOnResign = NO;
429
+ _performingExpandTransition = NO;
430
+ }] start];
431
+ }
432
+ }
433
+ }
434
+
435
+
436
+
437
+ #pragma mark - _WXInputHelperViewDelegateTemp methods
438
+
439
+ -(void)_WXInputHelperViewResignFirstResponder:(UIView*)wxInputHelperView
440
+ {
441
+ if(self.customInputComponentPresented)
442
+ {
443
+ [self sendEventWithName:RCTCustomInputControllerKeyboardResigendEventTemp body:nil];
444
+ }
445
+ self.customInputComponentPresented = NO;
446
+
447
+
448
+ }
449
+
450
+ @end
@@ -0,0 +1,18 @@
1
+ //
2
+ // RCTCustomKeyboardViewControllerTemp.h
3
+ //
4
+ // Created by Leo Natan (Wix) on 12/12/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import <UIKit/UIKit.h>
9
+
10
+ @interface RCTCustomKeyboardViewControllerTemp : UIInputViewController
11
+
12
+ - (void) setAllowsSelfSizing:(BOOL)allowsSelfSizing;
13
+ - (instancetype)initWithUsingSafeArea:(BOOL)useSafeArea;
14
+
15
+ @property (nonatomic, strong) NSLayoutConstraint *heightConstraint;
16
+ @property (nonatomic, strong) UIView *rootView;
17
+
18
+ @end
@@ -0,0 +1,99 @@
1
+ //
2
+ // RCTCustomKeyboardViewControllerTemp.m
3
+ //
4
+ // Created by Leo Natan (Wix) on 12/12/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import "RCTCustomKeyboardViewControllerTemp.h"
9
+
10
+ #if __has_include(<KeyboardTrackingView/ObservingInputAccessoryViewTemp.h>)
11
+ #import <KeyboardTrackingView/ObservingInputAccessoryViewTemp.h>
12
+ #define ObservingInputAccessoryViewTemp_IsAvailable true
13
+ #endif
14
+
15
+ @interface RCTCustomKeyboardViewControllerTemp ()
16
+ @property (nonatomic, assign, getter=isUsingSafeArea) BOOL useSafeArea;
17
+ @end
18
+
19
+ @implementation RCTCustomKeyboardViewControllerTemp
20
+
21
+ - (instancetype)initWithUsingSafeArea:(BOOL)useSafeArea
22
+ {
23
+ self = [super init];
24
+
25
+ if(self)
26
+ {
27
+ self.inputView = [[UIInputView alloc] initWithFrame:CGRectZero inputViewStyle:UIInputViewStyleKeyboard];
28
+
29
+ self.heightConstraint = [self.inputView.heightAnchor constraintEqualToConstant:0];
30
+ self.useSafeArea = useSafeArea;
31
+
32
+ #ifdef ObservingInputAccessoryViewTemp_IsAvailable
33
+ ObservingInputAccessoryViewTemp *activeObservingInputAccessoryViewTemp = [ObservingInputAccessoryViewTempManager sharedInstance].activeObservingInputAccessoryViewTemp;
34
+ if (activeObservingInputAccessoryViewTemp != nil)
35
+ {
36
+ CGFloat keyboardHeight = activeObservingInputAccessoryViewTemp.keyboardHeight;
37
+ if (keyboardHeight > 0)
38
+ {
39
+ self.heightConstraint.constant = keyboardHeight;
40
+ [self setAllowsSelfSizing:YES];
41
+ }
42
+ }
43
+ #endif
44
+ //!!!
45
+ self.view.translatesAutoresizingMaskIntoConstraints = NO;
46
+ }
47
+
48
+ return self;
49
+ }
50
+
51
+ - (void) setAllowsSelfSizing:(BOOL)allowsSelfSizing
52
+ {
53
+ if(self.inputView.allowsSelfSizing != allowsSelfSizing)
54
+ {
55
+ self.inputView.allowsSelfSizing = allowsSelfSizing;
56
+ self.heightConstraint.active = allowsSelfSizing;
57
+ }
58
+ }
59
+
60
+ -(void)setRootView:(UIView*)rootView
61
+ {
62
+ if(_rootView != nil)
63
+ {
64
+ [_rootView removeFromSuperview];
65
+ }
66
+
67
+ _rootView = rootView;
68
+ _rootView.translatesAutoresizingMaskIntoConstraints = NO;
69
+ [self.inputView addSubview:_rootView];
70
+
71
+ [self updateRootViewConstraints];
72
+ [self.inputView setNeedsLayout];
73
+ }
74
+
75
+ - (void)updateRootViewConstraints {
76
+ [_rootView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor].active = YES;
77
+ [_rootView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor].active = YES;
78
+ [_rootView.topAnchor constraintEqualToAnchor:self.view.topAnchor].active = YES;
79
+
80
+ NSLayoutYAxisAnchor *yAxisAnchor = [self bottomLayoutAnchorUsingSafeArea:self.isUsingSafeArea];
81
+ [_rootView.bottomAnchor constraintEqualToAnchor:yAxisAnchor].active = YES;
82
+ }
83
+
84
+ - (NSLayoutYAxisAnchor *)bottomLayoutAnchorUsingSafeArea:(BOOL)useSafeArea {
85
+ NSLayoutYAxisAnchor *yAxisAnchor = self.view.bottomAnchor;
86
+
87
+ if (!useSafeArea) {
88
+ return yAxisAnchor;
89
+ }
90
+
91
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_10_3
92
+ if (@available(iOS 11.0, *)) {
93
+ yAxisAnchor = self.view.safeAreaLayoutGuide.bottomAnchor;
94
+ }
95
+ #endif
96
+ return yAxisAnchor;
97
+ }
98
+
99
+ @end
@@ -0,0 +1,14 @@
1
+ //
2
+ // KeyboardTrackingViewTempManager.h
3
+ // ReactNativeChat
4
+ //
5
+ // Created by Artal Druk on 19/04/2016.
6
+ // Copyright © 2016 Wix.com All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import <React/RCTViewManager.h>
11
+ #import <React/RCTBridgeModule.h>
12
+
13
+ @interface KeyboardTrackingViewTempManager : RCTViewManager
14
+ @end