react-native-ui-lib 8.1.1 → 8.1.7-snapshot.7597

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 (520) 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/ios/reactnativeuilib.xcodeproj/project.pbxproj +435 -0
  69. package/package.json +2 -3
  70. package/src/assets/Assets.d.ts +5 -0
  71. package/src/assets/emojis/index.d.ts +1343 -0
  72. package/src/assets/index.d.ts +3 -0
  73. package/src/assets/internal/index.d.ts +4 -0
  74. package/src/commons/Config.d.ts +24 -0
  75. package/src/commons/Constants.d.ts +54 -0
  76. package/src/commons/UIComponent.d.ts +4 -0
  77. package/src/commons/asBaseComponent.d.ts +15 -0
  78. package/src/commons/baseComponent.d.ts +2 -0
  79. package/src/commons/forwardRef.d.ts +8 -0
  80. package/src/commons/modifiers.d.ts +118 -0
  81. package/src/commons/new.d.ts +8 -0
  82. package/src/commons/withScrollEnabler.d.ts +13 -0
  83. package/src/commons/withScrollReached.d.ts +35 -0
  84. package/src/components/WheelPicker/Item.d.ts +28 -0
  85. package/src/components/WheelPicker/WheelPicker.driver.d.ts +18 -0
  86. package/src/components/WheelPicker/WheelPickerItem.driver.d.ts +8 -0
  87. package/src/components/WheelPicker/helpers/useListMiddleIndex.d.ts +6 -0
  88. package/src/components/WheelPicker/index.d.ts +88 -0
  89. package/src/components/WheelPicker/types.d.ts +6 -0
  90. package/src/components/WheelPicker/usePresenter.d.ts +21 -0
  91. package/src/components/actionBar/index.d.ts +35 -0
  92. package/src/components/actionSheet/index.d.ts +80 -0
  93. package/src/components/animatedImage/index.d.ts +28 -0
  94. package/src/components/avatar/index.d.ts +382 -0
  95. package/src/components/badge/index.d.ts +879 -0
  96. package/src/components/baseInput/Validators.d.ts +8 -0
  97. package/src/components/baseInput/index.d.ts +29 -0
  98. package/src/components/button/Button.driver.new.d.ts +34 -0
  99. package/src/components/button/ButtonConstants.d.ts +26 -0
  100. package/src/components/button/index.d.ts +573 -0
  101. package/src/components/button/types.d.ts +157 -0
  102. package/src/components/card/CardContext.d.ts +3 -0
  103. package/src/components/card/CardImage.d.ts +20 -0
  104. package/src/components/card/CardPresenter.d.ts +12 -0
  105. package/src/components/card/CardSection.d.ts +79 -0
  106. package/src/components/card/asCardChild.d.ts +6 -0
  107. package/src/components/card/index.d.ts +120 -0
  108. package/src/components/carousel/Carousel.driver.new.d.ts +9 -0
  109. package/src/components/carousel/CarouselPresenter.d.ts +9 -0
  110. package/src/components/carousel/index.d.ts +73 -0
  111. package/src/components/carousel/types.d.ts +107 -0
  112. package/src/components/checkbox/Checkbox.driver.d.ts +15 -0
  113. package/src/components/checkbox/index.d.ts +129 -0
  114. package/src/components/chip/chip.driver.d.ts +33 -0
  115. package/src/components/chip/index.d.ts +209 -0
  116. package/src/components/chipsInput/index.d.ts +55 -0
  117. package/src/components/colorPalette/index.d.ts +116 -0
  118. package/src/components/colorPicker/ColorPickerDialog.d.ts +39 -0
  119. package/src/components/colorPicker/ColorPickerDialogHeader.d.ts +9 -0
  120. package/src/components/colorPicker/ColorPickerDialogSliders.d.ts +10 -0
  121. package/src/components/colorPicker/ColorPickerPresenter.d.ts +16 -0
  122. package/src/components/colorPicker/ColorPickerPreview.d.ts +12 -0
  123. package/src/components/colorPicker/index.d.ts +45 -0
  124. package/src/components/colorSwatch/index.d.ts +50 -0
  125. package/src/components/connectionStatusBar/index.d.ts +33 -0
  126. package/src/components/connectionStatusBar/types.d.ts +28 -0
  127. package/src/components/dash/index.d.ts +19 -0
  128. package/src/components/dateTimePicker/DateTimePicker.driver.d.ts +7 -0
  129. package/src/components/dateTimePicker/index.d.ts +288 -0
  130. package/src/components/dateTimePicker/useOldApi.d.ts +27 -0
  131. package/src/components/dialog/Dialog.driver.new.d.ts +6 -0
  132. package/src/components/dialog/DialogHeader.d.ts +4 -0
  133. package/src/components/dialog/index.d.ts +15 -0
  134. package/src/components/dialog/types.d.ts +138 -0
  135. package/src/components/dialog/useDialogContent.d.ts +13 -0
  136. package/src/components/drawer/Swipeable.d.ts +94 -0
  137. package/src/components/drawer/index.d.ts +161 -0
  138. package/src/components/expandableSection/index.d.ts +40 -0
  139. package/src/components/fadedScrollView/index.d.ts +59 -0
  140. package/src/components/fader/index.d.ts +37 -0
  141. package/src/components/featureHighlight/index.d.ts +147 -0
  142. package/src/components/floatingButton/index.d.ts +89 -0
  143. package/src/components/gradient/index.d.ts +19 -0
  144. package/src/components/gridList/index.d.ts +5 -0
  145. package/src/components/gridList/types.d.ts +29 -0
  146. package/src/components/gridList/useGridLayout.d.ts +15 -0
  147. package/src/components/gridListItem/index.d.ts +132 -0
  148. package/src/components/gridView/index.d.ts +80 -0
  149. package/src/components/hint/Hint.driver.d.ts +6 -0
  150. package/src/components/hint/Hint.driver.new.d.ts +19 -0
  151. package/src/components/hint/HintAnchor.d.ts +13 -0
  152. package/src/components/hint/HintBubble.d.ts +12 -0
  153. package/src/components/hint/HintMockChildren.d.ts +8 -0
  154. package/src/components/hint/HintOld.d.ts +196 -0
  155. package/src/components/hint/hooks/useHintAccessibility.d.ts +10 -0
  156. package/src/components/hint/hooks/useHintLayout.d.ts +13 -0
  157. package/src/components/hint/hooks/useHintPosition.d.ts +29 -0
  158. package/src/components/hint/hooks/useHintVisibility.d.ts +6 -0
  159. package/src/components/hint/index.d.ts +14 -0
  160. package/src/components/hint/types.d.ts +106 -0
  161. package/src/components/icon/index.d.ts +97 -0
  162. package/src/components/image/Image.driver.d.ts +4 -0
  163. package/src/components/image/Image.driver.new.d.ts +2 -0
  164. package/src/components/image/index.d.ts +192 -0
  165. package/src/components/listItem/ListItemPart.d.ts +15 -0
  166. package/src/components/listItem/index.d.ts +52 -0
  167. package/src/components/listItem/types.d.ts +60 -0
  168. package/src/components/loaderScreen/index.d.ts +13 -0
  169. package/src/components/loaderScreen/types.d.ts +32 -0
  170. package/src/components/marquee/index.d.ts +5 -0
  171. package/src/components/marquee/types.d.ts +35 -0
  172. package/src/components/maskedInput/index.d.ts +5 -0
  173. package/src/components/maskedInput/new.d.ts +22 -0
  174. package/src/components/modal/Modal.driver.new.d.ts +8 -0
  175. package/src/components/modal/TopBar.d.ts +89 -0
  176. package/src/components/modal/index.d.ts +64 -0
  177. package/src/components/numberInput/NumberInput.driver.d.ts +6 -0
  178. package/src/components/numberInput/Presenter.d.ts +21 -0
  179. package/src/components/numberInput/index.d.ts +57 -0
  180. package/src/components/overlay/index.d.ts +68 -0
  181. package/src/components/pageControl/index.d.ts +56 -0
  182. package/src/components/panView/index.d.ts +21 -0
  183. package/src/components/panView/panningUtil.d.ts +38 -0
  184. package/src/components/panView/usePanGesture.d.ts +49 -0
  185. package/src/components/picker/Picker.driver.new.d.ts +44 -0
  186. package/src/components/picker/PickerContext.d.ts +4 -0
  187. package/src/components/picker/PickerItem.d.ts +11 -0
  188. package/src/components/picker/PickerItemsList.d.ts +4 -0
  189. package/src/components/picker/PickerPresenter.d.ts +7 -0
  190. package/src/components/picker/PickerSelectionStatusBar.d.ts +3 -0
  191. package/src/components/picker/helpers/useFieldType.d.ts +373 -0
  192. package/src/components/picker/helpers/useImperativePickerHandle.d.ts +5 -0
  193. package/src/components/picker/helpers/useNewPickerProps.d.ts +3 -0
  194. package/src/components/picker/helpers/usePickerLabel.d.ts +17 -0
  195. package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +4 -0
  196. package/src/components/picker/helpers/usePickerSearch.d.ts +9 -0
  197. package/src/components/picker/helpers/usePickerSelection.d.ts +16 -0
  198. package/src/components/picker/index.d.ts +15 -0
  199. package/src/components/picker/types.d.ts +321 -0
  200. package/src/components/pieChart/PieSegment.d.ts +34 -0
  201. package/src/components/pieChart/index.d.ts +15 -0
  202. package/src/components/progressBar/index.d.ts +65 -0
  203. package/src/components/progressiveImage/index.d.ts +23 -0
  204. package/src/components/radioButton/RadioButton.driver.d.ts +9 -0
  205. package/src/components/radioButton/index.d.ts +121 -0
  206. package/src/components/radioGroup/RadioGroup.driver.d.ts +13 -0
  207. package/src/components/radioGroup/RadioGroupContext.d.ts +14 -0
  208. package/src/components/radioGroup/asRadioGroupChild.d.ts +2 -0
  209. package/src/components/radioGroup/index.d.ts +47 -0
  210. package/src/components/scrollBar/index.d.ts +88 -0
  211. package/src/components/searchInput/index.d.ts +37 -0
  212. package/src/components/searchInput/types.d.ts +66 -0
  213. package/src/components/sectionsWheelPicker/SectionsWheelPicker.driver.d.ts +25 -0
  214. package/src/components/sectionsWheelPicker/index.d.ts +43 -0
  215. package/src/components/segmentedControl/index.d.ts +90 -0
  216. package/src/components/segmentedControl/segment.d.ts +111 -0
  217. package/src/components/segmentedControl/useSegmentedControlPreset.d.ts +10 -0
  218. package/src/components/skeletonView/index.d.ts +163 -0
  219. package/src/components/slider/ColorSliderGroup.d.ts +13 -0
  220. package/src/components/slider/GradientSlider.d.ts +20 -0
  221. package/src/components/slider/SliderContext.d.ts +8 -0
  222. package/src/components/slider/Thumb.d.ts +32 -0
  223. package/src/components/slider/index.d.ts +31 -0
  224. package/src/components/slider/slider.driver.d.ts +5 -0
  225. package/src/components/slider/types.d.ts +197 -0
  226. package/src/components/sortableGridList/SortableItem.d.ts +6 -0
  227. package/src/components/sortableGridList/index.d.ts +5 -0
  228. package/src/components/sortableGridList/types.d.ts +34 -0
  229. package/src/components/sortableGridList/usePresenter.d.ts +21 -0
  230. package/src/components/sortableList/SortableList.driver.new.d.ts +2 -0
  231. package/src/components/sortableList/SortableListContext.d.ts +19 -0
  232. package/src/components/sortableList/SortableListItem.d.ts +8 -0
  233. package/src/components/sortableList/SortableListItem.driver.new.d.ts +11 -0
  234. package/src/components/sortableList/index.d.ts +5 -0
  235. package/src/components/sortableList/types.d.ts +48 -0
  236. package/src/components/sortableList/usePresenter.d.ts +12 -0
  237. package/src/components/stackAggregator/assets/arrow-down.png +0 -0
  238. package/src/components/stackAggregator/assets/arrow-down@2x.png +0 -0
  239. package/src/components/stackAggregator/assets/arrow-down@3x.png +0 -0
  240. package/src/components/stackAggregator/index.d.ts +89 -0
  241. package/src/components/stateScreen/index.d.ts +5 -0
  242. package/src/components/stateScreen/types.d.ts +30 -0
  243. package/src/components/stepper/index.d.ts +47 -0
  244. package/src/components/svgImage/index.d.ts +14 -0
  245. package/src/components/svgImage/index.web.d.ts +18 -0
  246. package/src/components/switch/index.d.ts +102 -0
  247. package/src/components/switch/switch.driver.d.ts +18 -0
  248. package/src/components/tabController/PageCarousel.d.ts +9 -0
  249. package/src/components/tabController/TabBar.d.ts +97 -0
  250. package/src/components/tabController/TabBarContext.d.ts +18 -0
  251. package/src/components/tabController/TabBarItem.d.ts +105 -0
  252. package/src/components/tabController/TabPage.d.ts +33 -0
  253. package/src/components/tabController/index.d.ts +48 -0
  254. package/src/components/tabController/useImperativeTabControllerHandle.d.ts +6 -0
  255. package/src/components/tabController/useScrollToItem.d.ts +79 -0
  256. package/src/components/text/Text.driver.d.ts +7 -0
  257. package/src/components/text/Text.driver.new.d.ts +17 -0
  258. package/src/components/text/index.d.ts +195 -0
  259. package/src/components/textField/CharCounter.d.ts +7 -0
  260. package/src/components/textField/ClearButton.d.ts +4 -0
  261. package/src/components/textField/FieldContext.d.ts +4 -0
  262. package/src/components/textField/FloatingPlaceholder.d.ts +7 -0
  263. package/src/components/textField/Input.d.ts +8 -0
  264. package/src/components/textField/Label.d.ts +7 -0
  265. package/src/components/textField/Presenter.d.ts +7 -0
  266. package/src/components/textField/TextField.driver.new.d.ts +129 -0
  267. package/src/components/textField/ValidationMessage.d.ts +7 -0
  268. package/src/components/textField/index.d.ts +114 -0
  269. package/src/components/textField/presets/outline.d.ts +737 -0
  270. package/src/components/textField/presets/underline.d.ts +735 -0
  271. package/src/components/textField/textInput/index.d.ts +1 -0
  272. package/src/components/textField/textInput/index.web.d.ts +3 -0
  273. package/src/components/textField/types.d.ts +287 -0
  274. package/src/components/textField/useFieldState.d.ts +16 -0
  275. package/src/components/textField/useImperativeInputHandle.d.ts +4 -0
  276. package/src/components/textField/usePreset.d.ts +1696 -0
  277. package/src/components/textField/validators.d.ts +9 -0
  278. package/src/components/textFieldOld/index.d.ts +71 -0
  279. package/src/components/timeline/Line.d.ts +10 -0
  280. package/src/components/timeline/Point.d.ts +9 -0
  281. package/src/components/timeline/index.d.ts +11 -0
  282. package/src/components/timeline/line.driver.d.ts +10 -0
  283. package/src/components/timeline/point.driver.d.ts +8 -0
  284. package/src/components/timeline/timeline.driver.d.ts +25 -0
  285. package/src/components/timeline/types.d.ts +50 -0
  286. package/src/components/touchableOpacity/index.d.ts +50 -0
  287. package/src/components/view/View.driver.new.d.ts +7 -0
  288. package/src/components/view/index.d.ts +46 -0
  289. package/src/components/wizard/WizardStates.d.ts +2 -0
  290. package/src/components/wizard/WizardStep.d.ts +4 -0
  291. package/src/components/wizard/index.d.ts +31 -0
  292. package/src/components/wizard/types.d.ts +90 -0
  293. package/src/helpers/AvatarHelper.d.ts +9 -0
  294. package/src/helpers/FormattingPresenter.d.ts +6 -0
  295. package/src/helpers/Profiler.d.ts +22 -0
  296. package/src/helpers/index.d.ts +3 -0
  297. package/src/hooks/index.d.ts +14 -0
  298. package/src/hooks/useCombinedRefs/index.d.ts +3 -0
  299. package/src/hooks/useDebounce/index.d.ts +5 -0
  300. package/src/hooks/useDidUpdate/index.d.ts +6 -0
  301. package/src/hooks/useHiddenLocation/index.d.ts +13 -0
  302. package/src/hooks/useHiddenLocation/index.web.d.ts +13 -0
  303. package/src/hooks/useKeyboardHeight/index.d.ts +5 -0
  304. package/src/hooks/useMeasure/index.d.ts +15 -0
  305. package/src/hooks/useModifiers/index.d.ts +3 -0
  306. package/src/hooks/useOrientation/index.d.ts +7 -0
  307. package/src/hooks/useScrollEnabler/index.d.ts +23 -0
  308. package/src/hooks/useScrollReached/index.d.ts +28 -0
  309. package/src/hooks/useScrollTo/index.d.ts +37 -0
  310. package/src/hooks/useScrollToItem/index.d.ts +65 -0
  311. package/src/hooks/useThemeProps/index.d.ts +2 -0
  312. package/src/hooks/useToggleValue/index.d.ts +2 -0
  313. package/src/incubator/TouchableOpacity.d.ts +52 -0
  314. package/src/incubator/calendar/Agenda.d.ts +4 -0
  315. package/src/incubator/calendar/CalendarContext.d.ts +4 -0
  316. package/src/incubator/calendar/CalendarItem.d.ts +5 -0
  317. package/src/incubator/calendar/Day.d.ts +4 -0
  318. package/src/incubator/calendar/Day_OLD.d.ts +4 -0
  319. package/src/incubator/calendar/Header.d.ts +4 -0
  320. package/src/incubator/calendar/Month.d.ts +4 -0
  321. package/src/incubator/calendar/TodayButton.d.ts +4 -0
  322. package/src/incubator/calendar/Week.d.ts +4 -0
  323. package/src/incubator/calendar/WeekDaysNames.d.ts +4 -0
  324. package/src/incubator/calendar/helpers/CalendarProcessor.d.ts +2 -0
  325. package/src/incubator/calendar/helpers/DataProcessor.d.ts +2 -0
  326. package/src/incubator/calendar/helpers/DateUtils.d.ts +23 -0
  327. package/src/incubator/calendar/index.d.ts +7 -0
  328. package/src/incubator/calendar/types.d.ts +118 -0
  329. package/src/incubator/expandableOverlay/ExpandableOverlay.driver.d.ts +7 -0
  330. package/src/incubator/expandableOverlay/index.d.ts +83 -0
  331. package/src/incubator/gradient/BorderGradient.d.ts +4 -0
  332. package/src/incubator/gradient/CircleGradient.d.ts +4 -0
  333. package/src/incubator/gradient/RectangleGradient.d.ts +4 -0
  334. package/src/incubator/gradient/index.d.ts +5 -0
  335. package/src/incubator/gradient/types.d.ts +26 -0
  336. package/src/incubator/gradient/useAngleTransform.d.ts +27 -0
  337. package/src/incubator/index.d.ts +9 -0
  338. package/src/incubator/slider/Slider.driver.d.ts +5 -0
  339. package/src/incubator/slider/SliderPresenter.d.ts +6 -0
  340. package/src/incubator/slider/Thumb.d.ts +24 -0
  341. package/src/incubator/slider/Track.d.ts +13 -0
  342. package/src/incubator/slider/index.d.ts +139 -0
  343. package/src/incubator/toast/Toast.driver.new.d.ts +54 -0
  344. package/src/incubator/toast/helpers/useToastAnimation.d.ts +22 -0
  345. package/src/incubator/toast/helpers/useToastPresets.d.ts +8 -0
  346. package/src/incubator/toast/helpers/useToastTimer.d.ts +6 -0
  347. package/src/incubator/toast/index.d.ts +9 -0
  348. package/src/incubator/toast/index.js +4 -1
  349. package/src/incubator/toast/types.d.ts +111 -0
  350. package/src/index.d.ts +92 -0
  351. package/src/optionalDependencies/BlurViewPackage.d.ts +2 -0
  352. package/src/optionalDependencies/BlurViewPackage.web.d.ts +2 -0
  353. package/src/optionalDependencies/DateTimePickerPackage.d.ts +2 -0
  354. package/src/optionalDependencies/FlashListPackage.d.ts +2 -0
  355. package/src/optionalDependencies/HapticFeedbackPackage.d.ts +2 -0
  356. package/src/optionalDependencies/LinearGradientPackage.d.ts +2 -0
  357. package/src/optionalDependencies/MomentPackage.d.ts +2 -0
  358. package/src/optionalDependencies/NetInfoPackage.d.ts +2 -0
  359. package/src/optionalDependencies/PostCssPackage.d.ts +5 -0
  360. package/src/optionalDependencies/ShimmerPackage.d.ts +2 -0
  361. package/src/optionalDependencies/SvgPackage.d.ts +3 -0
  362. package/src/optionalDependencies/index.d.ts +9 -0
  363. package/src/optionalDependencies/index.web.d.ts +7 -0
  364. package/src/services/HapticService.d.ts +15 -0
  365. package/src/services/LogService.d.ts +35 -0
  366. package/src/services/index.d.ts +2 -0
  367. package/src/style/borderRadiuses.d.ts +30 -0
  368. package/src/style/colorName.d.ts +8 -0
  369. package/src/style/colorNameMap.d.ts +2 -0
  370. package/src/style/colors.d.ts +274 -0
  371. package/src/style/colorsPalette.d.ts +101 -0
  372. package/src/style/components.d.ts +15 -0
  373. package/src/style/componentsColors.d.ts +5 -0
  374. package/src/style/designTokens.d.ts +69 -0
  375. package/src/style/designTokensDM.d.ts +69 -0
  376. package/src/style/dividers.d.ts +11 -0
  377. package/src/style/index.d.ts +13 -0
  378. package/src/style/scheme.d.ts +57 -0
  379. package/src/style/shadows.d.ts +223 -0
  380. package/src/style/spacings.d.ts +32 -0
  381. package/src/style/themeManager.d.ts +22 -0
  382. package/src/style/typography.d.ts +26 -0
  383. package/src/style/typographyPresets.d.ts +7 -0
  384. package/src/testkit/Component.driver.d.ts +30 -0
  385. package/src/testkit/DriverException.d.ts +12 -0
  386. package/src/testkit/UniDriver.d.ts +29 -0
  387. package/src/testkit/drivers/TestingLibraryDriver.d.ts +26 -0
  388. package/src/testkit/drivers/TestingLibraryDriver.js +1 -2
  389. package/src/testkit/index.d.ts +25 -0
  390. package/src/testkit/new/Component.driver.d.ts +16 -0
  391. package/src/testkit/new/useDraggable.driver.d.ts +15 -0
  392. package/src/testkit/new/usePressable.driver.d.ts +14 -0
  393. package/src/testkit/new/useScrollable.driver.d.ts +13 -0
  394. package/src/typings/assets.d.ts +52 -0
  395. package/src/typings/common.d.ts +12 -0
  396. package/src/typings/module.d.ts +13 -0
  397. package/src/typings/recorderTypes.d.ts +13 -0
  398. package/src/uilib-test-renderer/helper.d.ts +8 -0
  399. package/src/uilib-test-renderer/index.d.ts +4 -0
  400. package/src/uilib-test-renderer/scrollViewHelper.d.ts +9 -0
  401. package/src/utils/dateUtils.d.ts +2 -0
  402. package/src/utils/imageUtils.d.ts +5 -0
  403. package/src/utils/index.d.ts +4 -0
  404. package/src/utils/styleUtils.d.ts +7 -0
  405. package/src/utils/textUtils.d.ts +8 -0
  406. package/jestSetup/jest-setup.js +0 -154
  407. package/lib/components/DynamicFonts/FontDownloader.d.js +0 -1
  408. package/lib/components/DynamicFonts/FontLoader.d.js +0 -1
  409. package/lib/components/DynamicFonts/NoPermissionsAcquirer.d.js +0 -1
  410. package/lib/components/DynamicFonts/PermissionsAcquirer.android.d.js +0 -1
  411. package/lib/components/DynamicFonts/PermissionsAcquirer.ios.d.js +0 -2
  412. package/lib/components/DynamicFonts/PermissionsAcquirer.web.d.js +0 -2
  413. package/lib/components/DynamicFonts/RNFSPackage.d.js +0 -1
  414. package/lib/components/DynamicFonts/index.d.js +0 -3
  415. package/lib/components/HighlighterOverlayView/index.d.js +0 -1
  416. package/lib/components/HighlighterOverlayView/index.web.d.js +0 -1
  417. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.d.js +0 -2
  418. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.d.js +0 -2
  419. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.d.js +0 -2
  420. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.d.js +0 -1
  421. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.d.js +0 -1
  422. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.js +0 -1
  423. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.d.js +0 -5
  424. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.js +0 -1
  425. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.d.js +0 -1
  426. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.js +0 -1
  427. package/lib/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.d.js +0 -1
  428. package/lib/components/Keyboard/KeyboardAccessoryView/index.d.js +0 -7
  429. package/lib/components/Keyboard/KeyboardAwareInsetsView/index.d.js +0 -1
  430. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.d.js +0 -1
  431. package/lib/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.d.js +0 -10
  432. package/lib/components/Keyboard/KeyboardTrackingView/index.d.js +0 -1
  433. package/lib/components/Keyboard/KeyboardTrackingView/index.web.d.js +0 -1
  434. package/lib/components/Keyboard/index.d.js +0 -4
  435. package/lib/components/SafeArea/SafeAreaInsetsManager.d.js +0 -1
  436. package/lib/components/SafeArea/SafeAreaSpacerView.d.js +0 -1
  437. package/lib/components/SafeArea/SafeAreaSpacerView.web.d.js +0 -1
  438. package/lib/components/SafeArea/index.d.js +0 -1
  439. package/lib/components/index.d.js +0 -6
  440. package/lib/scripts/releaseNative.js +0 -72
  441. package/lib/specs/HighlighterViewNativeComponent.d.js +0 -1
  442. package/lib/specs/HighlighterViewNativeComponent.d.ts +0 -61
  443. package/lib/specs/HighlighterViewNativeComponent.js +0 -8
  444. package/lib/specs/KeyboardTrackingViewNativeComponent.d.js +0 -1
  445. package/lib/specs/KeyboardTrackingViewNativeComponent.d.ts +0 -58
  446. package/lib/specs/KeyboardTrackingViewNativeComponent.js +0 -8
  447. package/scripts/build/.babelrc.exports.js +0 -6
  448. package/scripts/build/build.js +0 -35
  449. package/scripts/build/buildPackages/buildComponentsPackages.js +0 -18
  450. package/scripts/build/buildPackages/buildCustomPackages.js +0 -106
  451. package/scripts/build/buildPackages/index.js +0 -6
  452. package/scripts/createCalendarMockData.js +0 -37
  453. package/scripts/docs/buildDocs.js +0 -1
  454. package/scripts/prepush.js +0 -71
  455. package/scripts/release/prReleaseNotes.js +0 -6
  456. package/scripts/release/release.js +0 -99
  457. package/scripts/updateWebAssets.js +0 -88
  458. package/scripts/utils.js +0 -21
  459. package/src/assets/__tests__/Assets.spec.js +0 -110
  460. package/src/commons/__tests__/baseComponent.spec.js +0 -36
  461. package/src/commons/__tests__/constants.spec.js +0 -202
  462. package/src/commons/__tests__/modifiers.spec.js +0 -453
  463. package/src/components/WheelPicker/__tests__/index.spec.js +0 -121
  464. package/src/components/WheelPicker/__tests__/useListMiddleIndex.spec.js +0 -40
  465. package/src/components/WheelPicker/__tests__/usePresenter.spec.js +0 -87
  466. package/src/components/avatar/__tests__/index.spec.js +0 -25
  467. package/src/components/badge/__tests__/index.spec.js +0 -84
  468. package/src/components/button/__tests__/index.driver.spec.js +0 -209
  469. package/src/components/button/__tests__/index.spec.js +0 -287
  470. package/src/components/card/__tests__/CardPresenter.spec.js +0 -35
  471. package/src/components/carousel/__tests__/CarouselPresenter.spec.js +0 -52
  472. package/src/components/carousel/__tests__/index.spec.js +0 -89
  473. package/src/components/checkbox/__tests__/index.spec.js +0 -357
  474. package/src/components/chip/__tests__/index.spec.js +0 -63
  475. package/src/components/connectionStatusBar/__tests__/index.spec.js +0 -41
  476. package/src/components/dateTimePicker/__tests__/index.spec.js +0 -44
  477. package/src/components/dialog/__tests__/index.new.spec.js +0 -118
  478. package/src/components/featureHighlight/__tests__/index.spec.js +0 -76
  479. package/src/components/floatingButton/__tests__/index.spec.js +0 -229
  480. package/src/components/hint/__tests__/index.spec.js +0 -108
  481. package/src/components/image/__tests__/index.spec.js +0 -56
  482. package/src/components/maskedInput/__tests__/maskedInput.new.spec.js +0 -19
  483. package/src/components/maskedInput/__tests__/maskedInput.old.spec.js +0 -20
  484. package/src/components/modal/__tests__/index.spec.js +0 -58
  485. package/src/components/numberInput/__tests__/Presenter.spec.js +0 -374
  486. package/src/components/numberInput/__tests__/index.spec.js +0 -38
  487. package/src/components/panView/__tests__/panningUtil.spec.js +0 -693
  488. package/src/components/picker/__tests__/PickerPresenter.spec.js +0 -15
  489. package/src/components/picker/__tests__/index.spec.js +0 -364
  490. package/src/components/picker/helpers/__tests__/usePickerLabel.spec.js +0 -96
  491. package/src/components/radioButton/__tests__/index.spec.js +0 -43
  492. package/src/components/radioGroup/__tests__/index.spec.js +0 -96
  493. package/src/components/sectionsWheelPicker/__tests__/index.spec.js +0 -35
  494. package/src/components/sectionsWheelPicker/__tests__/mockSections.js +0 -28
  495. package/src/components/segmentedControl/__tests__/index.spec.js +0 -25
  496. package/src/components/slider/__tests__/index.spec.js +0 -35
  497. package/src/components/sortableGridList/__tests__/index.spec.js +0 -51
  498. package/src/components/sortableGridList/__tests__/usePresenter.spec.js +0 -231
  499. package/src/components/sortableList/__tests__/index.spec.js +0 -105
  500. package/src/components/switch/__tests__/index.spec.js +0 -96
  501. package/src/components/text/__tests__/index.driver.spec.js +0 -124
  502. package/src/components/text/__tests__/index.spec.js +0 -245
  503. package/src/components/textField/__tests__/Presenter.spec.js +0 -240
  504. package/src/components/textField/__tests__/index.driver.spec.js +0 -639
  505. package/src/components/timeline/__tests__/driver.index.spec.js +0 -133
  506. package/src/helpers/__tests__/AvatarHelper.spec.js +0 -170
  507. package/src/hooks/useDidUpdate/__tests__/useDidUpdate.spec.js +0 -80
  508. package/src/hooks/useOrientation/__tests__/useOrientation.spec.js +0 -70
  509. package/src/hooks/useToggleValue/__tests__/useToggleValue.spec.js +0 -89
  510. package/src/incubator/calendar/__tests__/DateUtils.spec.js +0 -367
  511. package/src/incubator/expandableOverlay/__tests__/index.spec.js +0 -114
  512. package/src/incubator/gradient/__tests__/useAngleTransform.spec.js +0 -126
  513. package/src/incubator/slider/__tests__/SliderPresenter.spec.js +0 -43
  514. package/src/incubator/slider/__tests__/index.spec.js +0 -34
  515. package/src/incubator/toast/__tests__/index.spec.js +0 -64
  516. package/src/style/__tests__/colors.spec.js +0 -313
  517. package/src/style/__tests__/scheme.spec.js +0 -119
  518. package/src/utils/__tests__/Playground.perf.js +0 -14
  519. package/src/utils/__tests__/imageUtils.spec.js +0 -54
  520. package/src/utils/__tests__/textUtils.spec.js +0 -446
@@ -0,0 +1,44 @@
1
+ //
2
+ // ObservingInputAccessoryViewTemp.h
3
+ // ReactNativeChat
4
+ //
5
+ // Created by Artal Druk on 11/04/2016.
6
+ // Copyright © 2016 Wix.com All rights reserved.
7
+ //
8
+
9
+ #import <UIKit/UIKit.h>
10
+
11
+ typedef NS_ENUM(NSUInteger, KeyboardState) {
12
+ KeyboardStateHidden,
13
+ KeyboardStateWillShow,
14
+ KeyboardStateShown,
15
+ KeyboardStateWillHide
16
+ };
17
+
18
+ @class ObservingInputAccessoryViewTemp;
19
+
20
+ @interface ObservingInputAccessoryViewTempManager : NSObject;
21
+ +(ObservingInputAccessoryViewTempManager*)sharedInstance;
22
+ @property (nonatomic, weak) ObservingInputAccessoryViewTemp *activeObservingInputAccessoryViewTemp;
23
+ @end
24
+
25
+ @protocol ObservingInputAccessoryViewTempDelegate <NSObject>
26
+
27
+ - (void)ObservingInputAccessoryViewTempDidChangeFrame:(ObservingInputAccessoryViewTemp*)ObservingInputAccessoryViewTemp;
28
+
29
+ @optional
30
+
31
+ - (void)ObservingInputAccessoryViewTempKeyboardWillAppear:(ObservingInputAccessoryViewTemp*)ObservingInputAccessoryViewTemp keyboardDelta:(CGFloat)delta;
32
+ - (void)ObservingInputAccessoryViewTempKeyboardWillDisappear:(ObservingInputAccessoryViewTemp*)ObservingInputAccessoryViewTemp;
33
+
34
+ @end
35
+
36
+ @interface ObservingInputAccessoryViewTemp : UIView
37
+
38
+ @property (nonatomic, weak) id<ObservingInputAccessoryViewTempDelegate> delegate;
39
+
40
+ @property (nonatomic) CGFloat height;
41
+ @property (nonatomic, readonly) CGFloat keyboardHeight;
42
+ @property (nonatomic, readonly) KeyboardState keyboardState;
43
+
44
+ @end
@@ -0,0 +1,171 @@
1
+ //
2
+ // ObservingInputAccessoryViewTemp.m
3
+ // ReactNativeChat
4
+ //
5
+ // Created by Artal Druk on 11/04/2016.
6
+ // Copyright © 2016 Wix.com All rights reserved.
7
+ //
8
+
9
+ #import "ObservingInputAccessoryViewTemp.h"
10
+
11
+ @implementation ObservingInputAccessoryViewTempManager
12
+
13
+ +(ObservingInputAccessoryViewTempManager*)sharedInstance
14
+ {
15
+ static ObservingInputAccessoryViewTempManager *instance = nil;
16
+ static dispatch_once_t ObservingInputAccessoryViewTempManagerOnceToken = 0;
17
+
18
+ dispatch_once(&ObservingInputAccessoryViewTempManagerOnceToken,^
19
+ {
20
+ if (instance == nil)
21
+ {
22
+ instance = [ObservingInputAccessoryViewTempManager new];
23
+ }
24
+ });
25
+
26
+ return instance;
27
+ }
28
+
29
+ @end
30
+
31
+ @implementation ObservingInputAccessoryViewTemp
32
+ {
33
+ CGFloat _previousKeyboardHeight;
34
+ }
35
+
36
+ - (instancetype)init
37
+ {
38
+ self = [super init];
39
+
40
+ if(self)
41
+ {
42
+ self.userInteractionEnabled = NO;
43
+ self.translatesAutoresizingMaskIntoConstraints = NO;
44
+ self.autoresizingMask = UIViewAutoresizingFlexibleHeight;
45
+
46
+ [self registerForKeyboardNotifications];
47
+ }
48
+
49
+ return self;
50
+ }
51
+
52
+ - (void) registerForKeyboardNotifications
53
+ {
54
+ NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
55
+ [notificationCenter addObserver:self selector:@selector(_keyboardWillShowNotification:) name:UIKeyboardWillShowNotification object:nil];
56
+ [notificationCenter addObserver:self selector:@selector(_keyboardDidShowNotification:) name:UIKeyboardDidShowNotification object:nil];
57
+ [notificationCenter addObserver:self selector:@selector(_keyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];
58
+ [notificationCenter addObserver:self selector:@selector(_keyboardDidHideNotification:) name:UIKeyboardDidHideNotification object:nil];
59
+ [notificationCenter addObserver:self selector:@selector(_keyboardWillChangeFrameNotification:) name:UIKeyboardWillChangeFrameNotification object:nil];
60
+ }
61
+
62
+ - (void)willMoveToSuperview:(UIView *)newSuperview
63
+ {
64
+ if (self.superview)
65
+ {
66
+ [self.superview removeObserver:self forKeyPath:@"center"];
67
+ }
68
+
69
+ if (newSuperview != nil)
70
+ {
71
+ [newSuperview addObserver:self forKeyPath:@"center" options:NSKeyValueObservingOptionNew context:nil];
72
+ }
73
+
74
+ [super willMoveToSuperview:newSuperview];
75
+ }
76
+
77
+ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
78
+ {
79
+ if ((object == self.superview) && ([keyPath isEqualToString:@"center"]))
80
+ {
81
+ CGFloat centerY = self.superview.center.y;
82
+
83
+ if([keyPath isEqualToString:@"center"])
84
+ {
85
+ centerY = [change[NSKeyValueChangeNewKey] CGPointValue].y;
86
+ }
87
+
88
+ CGFloat boundsH = self.superview.bounds.size.height;
89
+
90
+ _previousKeyboardHeight = _keyboardHeight;
91
+ _keyboardHeight = MAX(0, self.window.bounds.size.height - (centerY - boundsH / 2) - self.intrinsicContentSize.height);
92
+
93
+ [_delegate ObservingInputAccessoryViewTempDidChangeFrame:self];
94
+ }
95
+ }
96
+
97
+ -(void)dealloc
98
+ {
99
+ [self.superview removeObserver:self forKeyPath:@"center"];
100
+
101
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
102
+ }
103
+
104
+ - (CGSize)intrinsicContentSize
105
+ {
106
+ return CGSizeMake(self.bounds.size.width, _keyboardState == KeyboardStateWillShow || _keyboardState == KeyboardStateWillHide ? 0 : _height);
107
+ }
108
+
109
+ - (void)setHeight:(CGFloat)height
110
+ {
111
+ _height = height;
112
+
113
+ [self invalidateIntrinsicContentSize];
114
+ }
115
+
116
+ - (void)_keyboardWillShowNotification:(NSNotification*)notification
117
+ {
118
+ _keyboardState = KeyboardStateWillShow;
119
+
120
+ [self invalidateIntrinsicContentSize];
121
+
122
+ if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillAppear:keyboardDelta:)])
123
+ {
124
+ [_delegate ObservingInputAccessoryViewTempKeyboardWillAppear:self keyboardDelta:_keyboardHeight - _previousKeyboardHeight];
125
+ }
126
+ }
127
+
128
+ - (void)_keyboardDidShowNotification:(NSNotification*)notification
129
+ {
130
+ _keyboardState = KeyboardStateShown;
131
+
132
+ if (_keyboardHeight > 0) { //prevent triggering observeValueForKeyPath if an external keyboard is in use
133
+ [self invalidateIntrinsicContentSize];
134
+ }
135
+ }
136
+
137
+ - (void)_keyboardWillHideNotification:(NSNotification*)notification
138
+ {
139
+ _keyboardState = KeyboardStateWillHide;
140
+
141
+ [self invalidateIntrinsicContentSize];
142
+
143
+ if([_delegate respondsToSelector:@selector(ObservingInputAccessoryViewTempKeyboardWillDisappear:)])
144
+ {
145
+ [_delegate ObservingInputAccessoryViewTempKeyboardWillDisappear:self];
146
+ }
147
+ }
148
+
149
+ - (void)_keyboardDidHideNotification:(NSNotification*)notification
150
+ {
151
+ _keyboardState = KeyboardStateHidden;
152
+
153
+ [self invalidateIntrinsicContentSize];
154
+ }
155
+
156
+ - (void)_keyboardWillChangeFrameNotification:(NSNotification*)notification
157
+ {
158
+ if(self.window)
159
+ {
160
+ return;
161
+ }
162
+
163
+ CGRect endFrame = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
164
+ _keyboardHeight = [UIScreen mainScreen].bounds.size.height - endFrame.origin.y;
165
+
166
+ [_delegate ObservingInputAccessoryViewTempDidChangeFrame:self];
167
+
168
+ [self invalidateIntrinsicContentSize];
169
+ }
170
+
171
+ @end
@@ -0,0 +1,6 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import <UIKit/UIKit.h>
3
+
4
+ @interface UIResponder (CurrentResponder)
5
+ +(id)currentFirstResponder;
6
+ @end
@@ -0,0 +1,17 @@
1
+ #import "UIResponder+FirstResponderTemp.h"
2
+
3
+ static __weak id currentFirstResponder;
4
+
5
+ @implementation UIResponder (FirstResponder)
6
+
7
+ +(id)currentFirstResponder {
8
+ currentFirstResponder = nil;
9
+ [[UIApplication sharedApplication] sendAction:@selector(findFirstResponder:) to:nil from:nil forEvent:nil];
10
+ return currentFirstResponder;
11
+ }
12
+
13
+ -(void)findFirstResponder:(id)sender {
14
+ currentFirstResponder = self;
15
+ }
16
+
17
+ @end
@@ -0,0 +1,6 @@
1
+ #import <Foundation/Foundation.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface SafeAreaManager : RCTEventEmitter
5
+
6
+ @end
@@ -0,0 +1,105 @@
1
+ #import "SafeAreaManager.h"
2
+ #import <UIKit/UIKit.h>
3
+ #import <objc/runtime.h>
4
+
5
+ static NSString *const UIWindowSafeAreaInsetsDidChangeNotification = @"SafeAreaManager.UIWindowSafeAreaInsetsDidChangeNotification";
6
+ static NSString *const SafeAreaInsetsDidChangeEvent = @"SafeAreaInsetsDidChangeEvent";
7
+ static id (*_swz_safeAreaInsetsDidChange_orig)(id self, SEL _cmd);
8
+
9
+ @interface SafeAreaManager () {
10
+ UIEdgeInsets _cachedSafeAreaInsets;
11
+ }
12
+ @end
13
+
14
+ @implementation SafeAreaManager
15
+
16
+ RCT_EXPORT_MODULE()
17
+
18
+ + (BOOL)requiresMainQueueSetup
19
+ {
20
+ return YES;
21
+ }
22
+
23
+ - (dispatch_queue_t)methodQueue {
24
+ return dispatch_get_main_queue();
25
+ }
26
+
27
+ - (NSArray<NSString *> *)supportedEvents {
28
+ return @[SafeAreaInsetsDidChangeEvent];
29
+ }
30
+
31
+ - (instancetype)init {
32
+ self = [super init];
33
+ if (self) {
34
+ _cachedSafeAreaInsets = [self getCurrentSafeAreaInsets];
35
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowSafeAreaDidChange) name:UIWindowSafeAreaInsetsDidChangeNotification object:nil];
36
+ [self applySizzles];
37
+ }
38
+ return self;
39
+ }
40
+
41
+ -(void)dealloc {
42
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
43
+ }
44
+
45
+ - (void)windowSafeAreaDidChange {
46
+ UIEdgeInsets currentSafeAreaInsets = [self getCurrentSafeAreaInsets];
47
+ if (!UIEdgeInsetsEqualToEdgeInsets(currentSafeAreaInsets, _cachedSafeAreaInsets)) {
48
+ _cachedSafeAreaInsets = currentSafeAreaInsets;
49
+
50
+ NSUInteger listenerCount = [[self valueForKey:@"_listenerCount"] unsignedIntegerValue];
51
+ if (listenerCount > 0) {
52
+ [self sendEventWithName:SafeAreaInsetsDidChangeEvent body:[self getResultDicFromSafeArea:_cachedSafeAreaInsets]];
53
+ }
54
+ }
55
+ }
56
+
57
+ -(UIEdgeInsets)getCurrentSafeAreaInsets {
58
+ UIEdgeInsets safeAreaInsets = UIEdgeInsetsZero;
59
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_10_3
60
+ if (@available(iOS 11.0, *)) {
61
+ safeAreaInsets = [UIApplication sharedApplication].keyWindow.safeAreaInsets;
62
+ }
63
+ #endif
64
+ return safeAreaInsets;
65
+ }
66
+
67
+ #pragma mark - swizzles
68
+
69
+ - (void)applySizzles {
70
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_10_3
71
+ if (@available(iOS 11.0, *)) {
72
+ static dispatch_once_t onceToken;
73
+ dispatch_once(&onceToken, ^{
74
+ Method originalMethod = class_getInstanceMethod([UIWindow class], @selector(safeAreaInsetsDidChange));
75
+ Method replacementMethod = class_getInstanceMethod([SafeAreaManager class], @selector(_swz_safeAreaInsetsDidChange));
76
+ _swz_safeAreaInsetsDidChange_orig = (void*)method_getImplementation(originalMethod);
77
+ method_exchangeImplementations(originalMethod, replacementMethod);
78
+ });
79
+ }
80
+ #endif
81
+ }
82
+
83
+ - (void)_swz_safeAreaInsetsDidChange {
84
+ _swz_safeAreaInsetsDidChange_orig(self, _cmd);
85
+ [[NSNotificationCenter defaultCenter] postNotificationName:UIWindowSafeAreaInsetsDidChangeNotification object:nil];
86
+ }
87
+
88
+ #pragma mark - helper methods
89
+
90
+ - (NSDictionary*)getResultDicFromSafeArea:(UIEdgeInsets)safeAreaInsets {
91
+ return @{@"top": @(safeAreaInsets.top),
92
+ @"left": @(safeAreaInsets.left),
93
+ @"bottom": @(safeAreaInsets.bottom),
94
+ @"right": @(safeAreaInsets.right)
95
+ };
96
+ }
97
+
98
+ #pragma mark - public API
99
+
100
+ RCT_EXPORT_METHOD(getSafeAreaInsets:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
101
+ UIEdgeInsets safeAreaInsets = [self getCurrentSafeAreaInsets];
102
+ resolve([self getResultDicFromSafeArea:safeAreaInsets]);
103
+ }
104
+
105
+ @end
@@ -0,0 +1,5 @@
1
+ #import <React/RCTShadowView.h>
2
+
3
+ @interface SafeAreaSpacerShadowView : RCTShadowView
4
+
5
+ @end
@@ -0,0 +1,20 @@
1
+ #import "SafeAreaSpacerShadowView.h"
2
+ #import "SafeAreaSpacerViewLocalData.h"
3
+
4
+ @implementation SafeAreaSpacerShadowView
5
+
6
+ - (void)setLocalData:(SafeAreaSpacerViewLocalData *)localData
7
+ {
8
+ UIEdgeInsets insets = localData.insets;
9
+
10
+ super.height = (YGValue){insets.bottom + insets.top, YGUnitPoint};
11
+ [self didSetProps:@[@"height"]];
12
+ }
13
+
14
+ /**
15
+ * Removing support for setting height from any outside code
16
+ * to prevent interferring this with local data.
17
+ */
18
+ - (void)setHeight:(YGValue)height {}
19
+
20
+ @end
@@ -0,0 +1,7 @@
1
+ #import <React/RCTView.h>
2
+
3
+ @class RCTBridge;
4
+
5
+ @interface SafeAreaSpacerView : RCTView
6
+ - (instancetype)initWithBridge:(RCTBridge *)bridge;
7
+ @end
@@ -0,0 +1,76 @@
1
+ #import "SafeAreaSpacerView.h"
2
+ #import "SafeAreaSpacerViewLocalData.h"
3
+ #import <React/RCTBridge.h>
4
+ #import <React/RCTUIManager.h>
5
+
6
+ @implementation SafeAreaSpacerView
7
+ {
8
+ __weak RCTBridge *_bridge;
9
+ UIEdgeInsets _currentSafeAreaInsets;
10
+ //these flags are used to prevent an endless cycle of safe area insets update. setting the view height changes it's frame, and in some cases `reactSetFrame` causes more and more updates with varying sizes
11
+ BOOL _ignoreNextInsetUpdate;
12
+ BOOL _insetsWereUpdated;
13
+ }
14
+
15
+ - (instancetype)initWithBridge:(RCTBridge *)bridge
16
+ {
17
+ if (self = [super initWithFrame:CGRectZero])
18
+ {
19
+ _bridge = bridge;
20
+ _ignoreNextInsetUpdate = NO;
21
+ _insetsWereUpdated = NO;
22
+ }
23
+ return self;
24
+ }
25
+
26
+ - (void)reactSetFrame:(CGRect)frame
27
+ {
28
+ if (self.window != nil && _insetsWereUpdated)
29
+ {
30
+ _ignoreNextInsetUpdate = YES;
31
+ dispatch_async(dispatch_get_main_queue(), ^{
32
+ _ignoreNextInsetUpdate = NO;
33
+ });
34
+ }
35
+
36
+ [super reactSetFrame:frame];
37
+ }
38
+
39
+ #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
40
+
41
+ static BOOL UIEdgeInsetsEqualToEdgeInsetsWithThreshold(UIEdgeInsets insets1, UIEdgeInsets insets2, CGFloat threshold)
42
+ {
43
+ return
44
+ ABS(insets1.left - insets2.left) <= threshold &&
45
+ ABS(insets1.right - insets2.right) <= threshold &&
46
+ ABS(insets1.top - insets2.top) <= threshold &&
47
+ ABS(insets1.bottom - insets2.bottom) <= threshold;
48
+ }
49
+
50
+ - (void)safeAreaInsetsDidChange
51
+ {
52
+ if (![self respondsToSelector:@selector(safeAreaInsets)] || _ignoreNextInsetUpdate)
53
+ {
54
+ _ignoreNextInsetUpdate = NO;
55
+ _insetsWereUpdated = NO;
56
+ return;
57
+ }
58
+
59
+ UIEdgeInsets safeAreaInsets = self.safeAreaInsets;
60
+
61
+ if (UIEdgeInsetsEqualToEdgeInsetsWithThreshold(safeAreaInsets, _currentSafeAreaInsets, 1.0 / RCTScreenScale()))
62
+ {
63
+ return;
64
+ }
65
+
66
+ _currentSafeAreaInsets = safeAreaInsets;
67
+ _insetsWereUpdated = YES;
68
+
69
+ SafeAreaSpacerViewLocalData *localData = [[SafeAreaSpacerViewLocalData alloc] initWithInsets:safeAreaInsets];
70
+ [_bridge.uiManager setLocalData:localData forView:self];
71
+ }
72
+
73
+ #endif
74
+
75
+ @end
76
+
@@ -0,0 +1,9 @@
1
+ #import <UIKit/UIKit.h>
2
+
3
+ @interface SafeAreaSpacerViewLocalData : NSObject
4
+
5
+ - (instancetype)initWithInsets:(UIEdgeInsets)insets;
6
+
7
+ @property (atomic, readonly) UIEdgeInsets insets;
8
+
9
+ @end
@@ -0,0 +1,14 @@
1
+ #import "SafeAreaSpacerViewLocalData.h"
2
+
3
+ @implementation SafeAreaSpacerViewLocalData
4
+
5
+ - (instancetype)initWithInsets:(UIEdgeInsets)insets
6
+ {
7
+ if (self = [super init]) {
8
+ _insets = insets;
9
+ }
10
+
11
+ return self;
12
+ }
13
+
14
+ @end
@@ -0,0 +1,5 @@
1
+ #import <React/RCTViewManager.h>
2
+
3
+ @interface SafeAreaSpacerViewManager : RCTViewManager
4
+
5
+ @end
@@ -0,0 +1,26 @@
1
+ #import "SafeAreaSpacerViewManager.h"
2
+
3
+ #import "SafeAreaSpacerShadowView.h"
4
+ #import "SafeAreaSpacerView.h"
5
+ #import <React/RCTUIManager.h>
6
+
7
+ @implementation SafeAreaSpacerViewManager
8
+
9
+ RCT_EXPORT_MODULE()
10
+
11
+ - (dispatch_queue_t)methodQueue
12
+ {
13
+ return dispatch_get_main_queue();
14
+ }
15
+
16
+ - (UIView *)view
17
+ {
18
+ return [[SafeAreaSpacerView alloc] initWithBridge:self.bridge];
19
+ }
20
+
21
+ - (SafeAreaSpacerShadowView *)shadowView
22
+ {
23
+ return [SafeAreaSpacerShadowView new];
24
+ }
25
+
26
+ @end