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,121 @@
1
+ //
2
+ // LNFrameAnimator.m
3
+ // KeyboardTransitionDemo
4
+ //
5
+ // Created by Leo Natan (Wix) on 11/05/2017.
6
+ // Copyright © 2017 Wix. All rights reserved.
7
+ //
8
+
9
+ #import "LNAnimatorTemp.h"
10
+
11
+ #import "LNInterpolation.h"
12
+
13
+ @implementation LNViewAnimationTemp
14
+ {
15
+ id _fromValue;
16
+ }
17
+
18
+ @synthesize progress = _progress;
19
+
20
+ - (instancetype)init
21
+ {
22
+ [NSException raise:NSInvalidArgumentException format:@"Use animationWithView:keyPath:toValue: to create LNViewAnimationTemp objects."];
23
+ return nil;
24
+ }
25
+
26
+ - (instancetype)_init
27
+ {
28
+ return [super init];
29
+ }
30
+
31
+ + (instancetype)animationWithView:(UIView*)view keyPath:(NSString*)keyPath toValue:(id)toValue
32
+ {
33
+ LNViewAnimationTemp* rv = [[LNViewAnimationTemp alloc] _init];
34
+
35
+ if(rv)
36
+ {
37
+ rv->_view = view;
38
+ rv->_keyPath = keyPath;
39
+ rv->_toValue = toValue;
40
+ rv->_fromValue = [view valueForKeyPath:keyPath];
41
+ }
42
+
43
+ return rv;
44
+ }
45
+
46
+ - (void)setProgress:(CGFloat)progress
47
+ {
48
+ _progress = progress;
49
+ [_view setValue:[_fromValue interpolateToValue:_toValue progress:progress] forKeyPath:_keyPath];
50
+ [_view layoutIfNeeded];
51
+ }
52
+
53
+ @end
54
+
55
+ @implementation LNAnimatorTemp
56
+ {
57
+ void (^_completionHandler)(BOOL);
58
+ CADisplayLink* _displayLink;
59
+ CFTimeInterval _previousFrameTimestamp;
60
+ CFTimeInterval _elapsedTime;
61
+ }
62
+
63
+ - (instancetype)init
64
+ {
65
+ [NSException raise:NSInvalidArgumentException format:@"Use animationWithView:keyPath:toValue: to create LNViewAnimationTemp objects."];
66
+ return nil;
67
+ }
68
+
69
+ - (instancetype)_init
70
+ {
71
+ return [super init];
72
+ }
73
+
74
+ + (instancetype)animatorWithDuration:(NSTimeInterval)duration animations:(NSArray<id<LNAnimationTemp>>*)animations completionHandler:(void(^)(BOOL completed))completionHandler
75
+ {
76
+ LNAnimatorTemp* rv = [[LNAnimatorTemp alloc] _init];
77
+ if(rv)
78
+ {
79
+ rv->_duration = duration;
80
+
81
+ NSAssert(animations.count > 0, @"At least one animation must be provided.");
82
+
83
+ rv->_animations = animations;
84
+ rv->_completionHandler = completionHandler;
85
+ }
86
+
87
+ return rv;
88
+ }
89
+
90
+ - (void)start
91
+ {
92
+ _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(_displayLinkDidTick)];
93
+ // _displayLink.preferredFramesPerSecond = 30;
94
+ [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
95
+ }
96
+
97
+ - (void)_displayLinkDidTick
98
+ {
99
+ if(_previousFrameTimestamp != 0)
100
+ {
101
+ _elapsedTime += _displayLink.timestamp - _previousFrameTimestamp;
102
+ }
103
+ _previousFrameTimestamp = _displayLink.timestamp;
104
+
105
+ [_animations enumerateObjectsUsingBlock:^(id<LNAnimationTemp> _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
106
+ obj.progress = MIN(_elapsedTime / _duration, 1.0);
107
+ }];
108
+
109
+ if(_elapsedTime / _duration >= 1.0)
110
+ {
111
+ [_displayLink invalidate];
112
+ _displayLink = nil;
113
+
114
+ if(_completionHandler)
115
+ {
116
+ _completionHandler(YES);
117
+ }
118
+ }
119
+ }
120
+
121
+ @end
@@ -0,0 +1,48 @@
1
+ //
2
+ // LNInterpolable.h
3
+ //
4
+ // Created by Leo Natan on 01/10/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ NS_SWIFT_NAME(InterpolationBehavior)
13
+ typedef const NSString* LNInterpolationBehavior CF_STRING_ENUM;
14
+
15
+ /**
16
+ Interpolate using the default behavor of each implementation.
17
+ */
18
+ extern LNInterpolationBehavior const LNInterpolationBehaviorUseDefault;
19
+
20
+
21
+ /**
22
+ Classes implementing this protocol support interpolation.
23
+ */
24
+ NS_SWIFT_NAME(Interpolable)
25
+ @protocol LNInterpolable <NSObject>
26
+
27
+ /**
28
+ Interpolates between @c self and @c toValue accodring to @c progress using the default behavior.
29
+
30
+ @param toValue The value to interpolate to
31
+ @param progress The progress of the interpolation
32
+ @return An object representing the interpolated value at the requested progress
33
+ */
34
+ - (instancetype)interpolateToValue:(id)toValue progress:(double)progress NS_SWIFT_NAME(interpolate(to:progress:));
35
+
36
+ /**
37
+ Interpolates between @c self and @c toValue according to @c progress using @c behavior.
38
+
39
+ @param toValue The value to interpolate to
40
+ @param behavior The bahvior to use for interpolation
41
+ @param progress The progress of the interpolation
42
+ @return An object representing the interpolated value at the requested progress
43
+ */
44
+ - (instancetype)interpolateToValue:(id)toValue progress:(double)progress behavior:(LNInterpolationBehavior)behavior NS_SWIFT_NAME(interpolate(to:progress:behavior:));
45
+
46
+ NS_ASSUME_NONNULL_END
47
+
48
+ @end
@@ -0,0 +1,27 @@
1
+ //
2
+ // LNInterpolable.c
3
+ //
4
+ // Created by Leo Natan on 04/10/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import "LNInterpolable.h"
9
+
10
+ LNInterpolationBehavior const LNInterpolationBehaviorUseDefault = @"LNInterpolationBehaviorUseDefault";
11
+
12
+ double BackEaseOut(double p)
13
+ {
14
+ double f = (1 - p);
15
+ return 1 - (f * f * f - 0.4*f * sin(f * M_PI));
16
+ }
17
+
18
+ double QuarticEaseOut(double p)
19
+ {
20
+ double f = (p - 1);
21
+ return f * f * f * (1 - p) + 1;
22
+ }
23
+
24
+ double LNLinearInterpolate(double from, double to, double p)
25
+ {
26
+ return from + QuarticEaseOut(p) * (to - from);
27
+ }
@@ -0,0 +1,16 @@
1
+ //
2
+ // LNInterpolation.h
3
+ //
4
+ // Created by Leo Natan on 05/10/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import "LNInterpolable.h"
9
+ #import "NSValue+Interpolation.h"
10
+ #import "Color+Interpolation.h"
11
+
12
+ //! Project version number for LNInterpolationFramework.
13
+ FOUNDATION_EXPORT double LNInterpolationFrameworkVersionNumber;
14
+
15
+ //! Project version string for LNInterpolationFramework.
16
+ FOUNDATION_EXPORT const unsigned char LNInterpolationFrameworkVersionString[];
@@ -0,0 +1,19 @@
1
+ //
2
+ // NSValue+Interpolation.h
3
+ //
4
+ // Created by Leo Natan on 01/10/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "LNInterpolable.h"
10
+
11
+ /**
12
+ Interpolates between @c NSValue objects.
13
+ Currently, the following value types are supported:
14
+ Numbers (@c NSNumber), decimal numbers (@c NSDecimalNumber)
15
+ Core Graphics: CGPoint, CGSize, CGVector, CGRect, CGAffineTransform (@c NSValue)
16
+ UIKit: UIOffset, UIEdgeInsets (@c NSValue)
17
+ AppKit: NSEdgeInsets (@c NSValue)
18
+ */
19
+ @interface NSValue (Interpolation) <LNInterpolable> @end
@@ -0,0 +1,155 @@
1
+ //
2
+ // NSValue+Interpolation.mm
3
+ //
4
+ // Created by Leo Natan on 01/10/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #import "NSValue+Interpolation.h"
9
+
10
+ #if __has_include(<CoreGraphics/CoreGraphics.h>)
11
+ #import <CoreGraphics/CoreGraphics.h>
12
+ #endif
13
+
14
+ #if __has_include(<UIKit/UIKit.h>)
15
+ #import <UIKit/UIKit.h>
16
+ #endif
17
+
18
+ #if __has_include(<AppKit/AppKit.h>)
19
+ #import <AppKit/AppKit.h>
20
+
21
+ #define CGPointValue pointValue
22
+ #define CGRectValue rectValue
23
+ #define valueWithCGPoint valueWithPoint
24
+ #define UIEdgeInsets NSEdgeInsets
25
+ #define valueWithCGRect valueWithRect
26
+
27
+ #endif
28
+
29
+ extern "C" double LNLinearInterpolate(double from, double to, double p);
30
+
31
+ #if __has_include(<UIKit/UIKit.h>)
32
+ static inline CGAffineTransform _LNInterpolateCGAffineTransform(const CGAffineTransform& fromTransform, const CGAffineTransform& toTransform, CGFloat p)
33
+ {
34
+ CGAffineTransform rv;
35
+ rv.a = LNLinearInterpolate(fromTransform.a, toTransform.a, p);
36
+ rv.b = LNLinearInterpolate(fromTransform.b, toTransform.b, p);
37
+ rv.c = LNLinearInterpolate(fromTransform.c, toTransform.c, p);
38
+ rv.d = LNLinearInterpolate(fromTransform.d, toTransform.d, p);
39
+ rv.tx = LNLinearInterpolate(fromTransform.tx, toTransform.tx, p);
40
+ rv.ty = LNLinearInterpolate(fromTransform.ty, toTransform.ty, p);
41
+
42
+ return rv;
43
+ }
44
+ #endif
45
+
46
+ @implementation NSValue (Interpolation)
47
+
48
+ - (instancetype)interpolateToValue:(id)toValue progress:(double)p
49
+ {
50
+ return [self interpolateToValue:toValue progress:p behavior:LNInterpolationBehaviorUseDefault];
51
+ }
52
+
53
+ - (instancetype)interpolateToValue:(id)toValue progress:(double)p behavior:(LNInterpolationBehavior)behavior
54
+ {
55
+ if(p <= 0)
56
+ {
57
+ return self;
58
+ }
59
+
60
+ if(p >= 1)
61
+ {
62
+ return toValue;
63
+ }
64
+
65
+ if([self isKindOfClass:[NSNumber class]])
66
+ {
67
+ if([self isKindOfClass:[NSDecimalNumber class]])
68
+ {
69
+ //Special case for decimal numbers.
70
+ NSDecimalNumber* from = (id)self;
71
+ NSDecimalNumber* to = (id)toValue;
72
+
73
+ return [[[to decimalNumberBySubtracting:from] decimalNumberByMultiplyingBy:[[NSDecimalNumber alloc] initWithDouble:p]] decimalNumberByAdding:from];
74
+ }
75
+
76
+ double f = [(NSNumber*)self doubleValue];
77
+ double f2 = [(NSNumber*)toValue doubleValue];
78
+
79
+ return [NSNumber numberWithDouble:LNLinearInterpolate(f, f2, p)];
80
+ }
81
+
82
+ #if __has_include(<UIKit/UIKit.h>) || __has_include(<AppKit/AppKit.h>)
83
+ if((strcmp(self.objCType, @encode(CGPoint)) == 0) || (strcmp(self.objCType, @encode(CGSize)) == 0) || (strcmp(self.objCType, @encode(CGVector)) == 0)
84
+ #if __has_include(<UIKit/UIKit.h>)
85
+ || (strcmp(self.objCType, @encode(UIOffset)) == 0)
86
+ #endif
87
+ )
88
+ {
89
+ CGPoint v = [self CGPointValue];
90
+ CGPoint v2 = [self CGPointValue];
91
+ v.x = LNLinearInterpolate(v.x, v2.y, p);
92
+ v.y = LNLinearInterpolate(v.x, v2.y, p);
93
+
94
+ return [NSValue valueWithCGPoint:v];
95
+ }
96
+
97
+ if((strcmp(self.objCType, @encode(CGRect)) == 0)
98
+ || (strcmp(self.objCType, @encode(UIEdgeInsets)) == 0))
99
+ {
100
+ CGRect v = [self CGRectValue];
101
+ CGRect v2 = [toValue CGRectValue];
102
+ v.origin.x = LNLinearInterpolate(v.origin.x, v2.origin.x, p);
103
+ v.origin.y = LNLinearInterpolate(v.origin.y, v2.origin.y, p);
104
+ v.size.width = LNLinearInterpolate(v.size.width, v2.size.width, p);
105
+ v.size.height = LNLinearInterpolate(v.size.height, v2.size.height, p);
106
+
107
+ return [NSValue valueWithCGRect:v];
108
+ }
109
+
110
+ #if __has_include(<UIKit/UIKit.h>)
111
+ if(strcmp(self.objCType, @encode(CGAffineTransform)) == 0)
112
+ {
113
+ return [NSValue valueWithCGAffineTransform:_LNInterpolateCGAffineTransform([self CGAffineTransformValue], [toValue CGAffineTransformValue], p)];
114
+ }
115
+ #endif
116
+ #endif
117
+
118
+ //Unsupported value type.
119
+
120
+ return self;
121
+ }
122
+
123
+ @end
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
@@ -0,0 +1,16 @@
1
+ //
2
+ // RCTCustomInputControllerTemp.h
3
+ //
4
+ // Created by Leo Natan (Wix) on 13/12/2016.
5
+ // Copyright © 2016 Leo Natan. All rights reserved.
6
+ //
7
+
8
+ #if __has_include(<React/RCTEventEmitter.h>)
9
+ #import <React/RCTEventEmitter.h>
10
+ #else
11
+ #import "RCTEventEmitter.h"
12
+ #endif
13
+
14
+ @interface RCTCustomInputControllerTemp : RCTEventEmitter
15
+
16
+ @end