react-native-ui-lib 7.46.2 → 7.46.3-snapshot.7341
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.
- package/babel.config.js +12 -0
- package/index.js +1 -0
- package/lib/android/build.gradle +5 -5
- package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +0 -2
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +31 -23
- package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +1 -1
- package/lib/components/{HighlighterOverlayView.d.ts → HighlighterOverlayView/index.d.ts} +1 -1
- package/lib/components/HighlighterOverlayView/index.js +49 -0
- package/lib/components/{HighlighterOverlayView.web.d.ts → HighlighterOverlayView/index.web.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.android.d.ts +5 -2
- package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.js +51 -0
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.ios.d.ts +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/CustomKeyboardView.ios.js +3 -3
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/CustomKeyboardView}/CustomKeyboardViewBase.d.ts +3 -0
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/CustomKeyboardView}/CustomKeyboardViewBase.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput/utils → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager}/__tests__/EventEmitterManager.spec.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/KeyboardRegistry}/__tests__/KeyboardRegistry.spec.js +1 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardRegistry.d.ts → KeyboardAccessoryView/KeyboardRegistry/index.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardRegistry.js → KeyboardAccessoryView/KeyboardRegistry/index.js} +1 -1
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView/KeyboardRegistry}/keyboardRegistry.api.json +9 -9
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.ts +26 -0
- package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.js +91 -0
- package/lib/components/Keyboard/{KeyboardInput/KeyboardAccessoryView.d.ts → KeyboardAccessoryView/index.d.ts} +11 -1
- package/lib/components/Keyboard/{KeyboardInput/KeyboardAccessoryView.js → KeyboardAccessoryView/index.js} +31 -5
- package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/keyboardAccessoryView.api.json +5 -5
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardAwareInsetsView.d.ts → KeyboardAwareInsetsView/index.d.ts} +1 -1
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardAwareInsetsView.js → KeyboardAwareInsetsView/index.js} +1 -1
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.ios.d.ts +1 -4
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.ios.js +5 -8
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.d.ts +2 -2
- package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/keyboardTrackingView.api.json +11 -20
- package/lib/components/Keyboard/index.d.ts +6 -6
- package/lib/components/Keyboard/index.js +6 -6
- package/lib/components/SafeArea/SafeAreaInsetsManager.d.ts +21 -7
- package/lib/components/SafeArea/SafeAreaInsetsManager.js +95 -31
- package/lib/components/SafeArea/SafeAreaSpacerView.d.ts +2 -2
- package/lib/components/SafeArea/SafeAreaSpacerView.js +63 -9
- package/lib/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js +274 -0
- package/lib/components/SafeArea/index.d.ts +10 -0
- package/lib/components/SafeArea/index.js +11 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +52 -8
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +1 -7
- package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +1 -1
- package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +109 -41
- package/lib/package.json +1 -1
- package/lib/react-native.config.js +1 -3
- package/metro.config.js +2 -2
- package/package.json +25 -25
- package/panView.d.ts +2 -0
- package/panView.js +1 -0
- package/react-native.config.js +1 -3
- package/src/commons/Constants.js +2 -5
- package/src/commons/modifiers.d.ts +1 -0
- package/src/commons/modifiers.js +5 -2
- package/src/components/KeyboardAwareScrollView/KeyboardAwareBase.js +5 -1
- package/src/components/actionSheet/index.d.ts +2 -12
- package/src/components/actionSheet/index.js +3 -42
- package/src/components/badge/index.d.ts +107 -47
- package/src/components/button/button.api.json +6 -1
- package/src/components/button/index.d.ts +61 -23
- package/src/components/button/index.js +18 -1
- package/src/components/button/types.d.ts +4 -1
- package/src/components/colorPicker/ColorPickerDialog.d.ts +1 -1
- package/src/components/colorPicker/ColorPickerDialog.js +1 -1
- package/src/components/dateTimePicker/index.d.ts +186 -5
- package/src/components/dateTimePicker/index.js +3 -4
- package/src/components/dialog/dialog.api.json +31 -37
- package/src/{incubator → components}/dialog/dialogHeader.api.json +2 -2
- package/src/components/dialog/index.d.ts +13 -105
- package/src/components/dialog/index.js +204 -212
- package/src/{incubator → components}/dialog/types.d.ts +0 -19
- package/src/{incubator → components}/dialog/types.js +1 -3
- package/src/{incubator → components}/dialog/useDialogContent.d.ts +1 -1
- package/src/components/drawer/Swipeable.js +1 -2
- package/src/components/drawer/index.js +31 -25
- package/src/components/fadedScrollView/index.js +7 -2
- package/src/components/featureHighlight/index.d.ts +1 -1
- package/src/components/index.js +0 -19
- package/src/components/marquee/types.js +4 -1
- package/src/components/modal/index.d.ts +5 -0
- package/src/components/modal/index.js +14 -10
- package/src/components/modal/modal.api.json +5 -0
- package/src/{incubator → components}/panView/index.d.ts +3 -3
- package/src/{incubator → components}/panView/index.js +4 -4
- package/src/{incubator → components}/panView/usePanGesture.d.ts +1 -1
- package/src/components/picker/Picker.driver.new.d.ts +2 -2
- package/src/components/picker/Picker.driver.new.js +3 -3
- package/src/components/picker/PickerItem.js +6 -20
- package/src/components/picker/PickerPresenter.d.ts +0 -1
- package/src/components/picker/PickerPresenter.js +1 -23
- package/src/components/picker/api/picker.api.json +0 -1
- package/src/components/picker/api/pickerItem.api.json +0 -5
- package/src/components/picker/helpers/useFieldType.d.ts +53 -23
- package/src/components/picker/helpers/usePickerLabel.d.ts +1 -1
- package/src/components/picker/helpers/usePickerLabel.js +2 -3
- package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +1 -1
- package/src/components/picker/helpers/usePickerMigrationWarnings.js +0 -12
- package/src/components/picker/helpers/usePickerSearch.d.ts +1 -1
- package/src/components/picker/helpers/usePickerSearch.js +4 -8
- package/src/components/picker/helpers/usePickerSelection.d.ts +1 -1
- package/src/components/picker/helpers/usePickerSelection.js +2 -10
- package/src/components/picker/index.js +4 -22
- package/src/components/picker/types.d.ts +1 -24
- package/src/components/segmentedControl/index.js +3 -3
- package/src/components/slider/GradientSlider.d.ts +1 -1
- package/src/components/sortableGridList/SortableItem.js +13 -4
- package/src/components/sortableList/SortableListItem.js +13 -4
- package/src/components/stackAggregator/index.js +16 -11
- package/src/components/text/Text.driver.new.d.ts +2 -2
- package/src/components/text/Text.driver.new.js +2 -2
- package/src/components/textField/Input.js +0 -1
- package/src/components/textField/TextField.driver.new.d.ts +2 -2
- package/src/components/textField/TextField.driver.new.js +2 -2
- package/src/components/textField/presets/outline.d.ts +106 -46
- package/src/components/textField/presets/underline.d.ts +106 -46
- package/src/components/textField/types.js +1 -0
- package/src/components/textField/usePreset.d.ts +72 -44
- package/src/components/timeline/types.js +3 -0
- package/src/{incubator/hooks/useHiddenLocation.web.d.ts → hooks/useHiddenLocation/index.d.ts} +1 -1
- package/src/{incubator/hooks/useHiddenLocation.d.ts → hooks/useHiddenLocation/index.web.d.ts} +1 -1
- package/src/incubator/expandableOverlay/ExpandableOverlay.driver.js +1 -1
- package/src/incubator/expandableOverlay/index.d.ts +42 -3
- package/src/incubator/expandableOverlay/index.js +1 -4
- package/src/incubator/gradient/BorderGradient.d.ts +4 -0
- package/src/incubator/gradient/BorderGradient.js +45 -0
- package/src/incubator/gradient/CircleGradient.d.ts +4 -0
- package/src/incubator/gradient/CircleGradient.js +35 -0
- package/src/incubator/gradient/RectangleGradient.d.ts +4 -0
- package/src/incubator/gradient/RectangleGradient.js +32 -0
- package/src/incubator/gradient/index.d.ts +5 -0
- package/src/incubator/gradient/index.js +31 -0
- package/src/incubator/gradient/types.d.ts +26 -0
- package/src/incubator/gradient/types.js +1 -0
- package/src/incubator/gradient/useAngleTransform.d.ts +27 -0
- package/src/incubator/gradient/useAngleTransform.js +72 -0
- package/src/incubator/index.d.ts +1 -2
- package/src/incubator/index.js +2 -3
- package/src/incubator/toast/index.js +1 -1
- package/src/index.d.ts +3 -10
- package/src/index.js +42 -162
- package/src/optionalDependencies/LinearGradientPackage.d.ts +1 -1
- package/src/testkit/index.d.ts +1 -1
- package/src/testkit/index.js +1 -1
- package/src/testkit/new/Component.driver.d.ts +4 -1
- package/src/testkit/new/Component.driver.js +3 -3
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReactHacks.java +0 -30
- package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.java +0 -34
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/DefaultKeyListener.java +0 -33
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/KeyListenerProxy.java +0 -53
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.java +0 -54
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.java +0 -28
- package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/ViewUtils.java +0 -36
- package/lib/components/HighlighterOverlayView.js +0 -40
- package/lib/components/Keyboard/KeyboardInput/CustomKeyboardView/CustomKeyboardView.android.js +0 -28
- package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.d.ts +0 -11
- package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.js +0 -17
- package/panningViews.d.ts +0 -2
- package/panningViews.js +0 -1
- package/sharedTransition.d.ts +0 -2
- package/sharedTransition.js +0 -1
- package/src/components/dialog/DialogDismissibleView.d.ts +0 -34
- package/src/components/dialog/DialogDismissibleView.js +0 -184
- package/src/components/dialog/OverlayFadingBackground.d.ts +0 -14
- package/src/components/dialog/OverlayFadingBackground.js +0 -45
- package/src/components/panningViews/asPanViewConsumer.d.ts +0 -3
- package/src/components/panningViews/asPanViewConsumer.js +0 -16
- package/src/components/panningViews/panDismissibleView.d.ts +0 -51
- package/src/components/panningViews/panDismissibleView.js +0 -350
- package/src/components/panningViews/panGestureView.d.ts +0 -23
- package/src/components/panningViews/panGestureView.js +0 -156
- package/src/components/panningViews/panListenerView.d.ts +0 -66
- package/src/components/panningViews/panListenerView.js +0 -155
- package/src/components/panningViews/panResponderView.d.ts +0 -19
- package/src/components/panningViews/panResponderView.js +0 -79
- package/src/components/panningViews/panningContext.d.ts +0 -3
- package/src/components/panningViews/panningContext.js +0 -4
- package/src/components/panningViews/panningProvider.d.ts +0 -73
- package/src/components/panningViews/panningProvider.js +0 -101
- package/src/components/sharedTransition/ShareTransitionContext.js +0 -3
- package/src/components/sharedTransition/SharedArea.js +0 -153
- package/src/components/sharedTransition/SourceElement.js +0 -44
- package/src/components/sharedTransition/TargetElement.js +0 -38
- package/src/components/sharedTransition/index.js +0 -9
- package/src/incubator/dialog/dialog.api.json +0 -54
- package/src/incubator/dialog/index.d.ts +0 -15
- package/src/incubator/dialog/index.js +0 -218
- /package/lib/components/{HighlighterOverlayView.web.js → HighlighterOverlayView/index.web.js} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.web.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/CustomKeyboardView/index.web.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput/utils/EventEmitterManager.d.ts → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.ts} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput/utils/EventEmitterManager.js → KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.js} +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.android.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.android.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/TextInputKeyboardManager.ios.js +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/index.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardInput → KeyboardAccessoryView}/TextInputKeyboardManager/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking → KeyboardAwareInsetsView}/keyboardAwareInsetsView.api.json +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.android.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/KeyboardTrackingView.android.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.js +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.web.d.ts +0 -0
- /package/lib/components/Keyboard/{KeyboardTracking/KeyboardTrackingView → KeyboardTrackingView}/index.web.js +0 -0
- /package/src/{incubator → components}/dialog/Dialog.driver.new.d.ts +0 -0
- /package/src/{incubator → components}/dialog/Dialog.driver.new.js +0 -0
- /package/src/{incubator → components}/dialog/DialogHeader.d.ts +0 -0
- /package/src/{incubator → components}/dialog/DialogHeader.js +0 -0
- /package/src/{incubator → components}/dialog/useDialogContent.js +0 -0
- /package/src/{incubator → components}/panView/panningUtil.d.ts +0 -0
- /package/src/{incubator → components}/panView/panningUtil.js +0 -0
- /package/src/{incubator → components}/panView/usePanGesture.js +0 -0
- /package/src/{incubator/hooks/useHiddenLocation.js → hooks/useHiddenLocation/index.js} +0 -0
- /package/src/{incubator/hooks/useHiddenLocation.web.js → hooks/useHiddenLocation/index.web.js} +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LinearGradientPackage } from "../../optionalDependencies";
|
|
3
|
+
const LinearGradient = LinearGradientPackage?.default;
|
|
4
|
+
import View from "../../components/view";
|
|
5
|
+
import Spacings from "../../style/spacings";
|
|
6
|
+
import Colors from "../../style/colors";
|
|
7
|
+
import useAngleTransform from "./useAngleTransform";
|
|
8
|
+
const BorderGradient = props => {
|
|
9
|
+
const {
|
|
10
|
+
colors,
|
|
11
|
+
borderWidth = Spacings.s1,
|
|
12
|
+
borderRadius,
|
|
13
|
+
children,
|
|
14
|
+
width,
|
|
15
|
+
height,
|
|
16
|
+
angle,
|
|
17
|
+
...others
|
|
18
|
+
} = props;
|
|
19
|
+
const innerWidth = width ? width - borderWidth * 2 : undefined;
|
|
20
|
+
const innerHeight = height ? height - borderWidth * 2 : undefined;
|
|
21
|
+
const {
|
|
22
|
+
start,
|
|
23
|
+
end
|
|
24
|
+
} = useAngleTransform({
|
|
25
|
+
angle
|
|
26
|
+
});
|
|
27
|
+
if (!LinearGradient) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return <View width={width} height={height}>
|
|
31
|
+
<LinearGradient colors={colors} start={start} end={end} style={{
|
|
32
|
+
borderRadius
|
|
33
|
+
}}>
|
|
34
|
+
<View bg-white width={innerWidth} height={innerHeight} style={{
|
|
35
|
+
margin: borderWidth,
|
|
36
|
+
borderRadius,
|
|
37
|
+
borderWidth: 0,
|
|
38
|
+
borderColor: Colors.transparent
|
|
39
|
+
}} {...others}>
|
|
40
|
+
{children}
|
|
41
|
+
</View>
|
|
42
|
+
</LinearGradient>
|
|
43
|
+
</View>;
|
|
44
|
+
};
|
|
45
|
+
export default BorderGradient;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LinearGradientPackage } from "../../optionalDependencies";
|
|
3
|
+
const LinearGradient = LinearGradientPackage?.default;
|
|
4
|
+
import View from "../../components/view";
|
|
5
|
+
import useAngleTransform from "./useAngleTransform";
|
|
6
|
+
const CircleGradient = props => {
|
|
7
|
+
const {
|
|
8
|
+
colors,
|
|
9
|
+
radius,
|
|
10
|
+
angle,
|
|
11
|
+
children,
|
|
12
|
+
...others
|
|
13
|
+
} = props;
|
|
14
|
+
const internalDiameter = radius ? radius * 2 : undefined;
|
|
15
|
+
const {
|
|
16
|
+
start,
|
|
17
|
+
end
|
|
18
|
+
} = useAngleTransform({
|
|
19
|
+
angle
|
|
20
|
+
});
|
|
21
|
+
if (!LinearGradient) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return <View width={internalDiameter} height={internalDiameter} style={{
|
|
25
|
+
borderRadius: 999,
|
|
26
|
+
overflow: 'hidden'
|
|
27
|
+
}}>
|
|
28
|
+
<LinearGradient colors={colors} start={start} end={end}>
|
|
29
|
+
<View width={internalDiameter} height={internalDiameter} {...others}>
|
|
30
|
+
{children}
|
|
31
|
+
</View>
|
|
32
|
+
</LinearGradient>
|
|
33
|
+
</View>;
|
|
34
|
+
};
|
|
35
|
+
export default CircleGradient;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LinearGradientPackage } from "../../optionalDependencies";
|
|
3
|
+
const LinearGradient = LinearGradientPackage?.default;
|
|
4
|
+
import View from "../../components/view";
|
|
5
|
+
import useAngleTransform from "./useAngleTransform";
|
|
6
|
+
const RectangleGradient = props => {
|
|
7
|
+
const {
|
|
8
|
+
colors,
|
|
9
|
+
width,
|
|
10
|
+
height,
|
|
11
|
+
angle,
|
|
12
|
+
children,
|
|
13
|
+
...others
|
|
14
|
+
} = props;
|
|
15
|
+
const {
|
|
16
|
+
start,
|
|
17
|
+
end
|
|
18
|
+
} = useAngleTransform({
|
|
19
|
+
angle
|
|
20
|
+
});
|
|
21
|
+
if (!LinearGradient) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return <View width={width} height={height}>
|
|
25
|
+
<LinearGradient colors={colors} start={start} end={end}>
|
|
26
|
+
<View width={width} height={height} {...others}>
|
|
27
|
+
{children}
|
|
28
|
+
</View>
|
|
29
|
+
</LinearGradient>
|
|
30
|
+
</View>;
|
|
31
|
+
};
|
|
32
|
+
export default RectangleGradient;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
import { LinearGradientPackage } from "../../optionalDependencies";
|
|
3
|
+
const LinearGradient = LinearGradientPackage?.default;
|
|
4
|
+
import { LogService } from "../../services";
|
|
5
|
+
import { GradientProps } from "./types";
|
|
6
|
+
import RectangleGradient from "./RectangleGradient";
|
|
7
|
+
import CircleGradient from "./CircleGradient";
|
|
8
|
+
import BorderGradient from "./BorderGradient";
|
|
9
|
+
export { GradientProps };
|
|
10
|
+
const Gradient = props => {
|
|
11
|
+
const {
|
|
12
|
+
type = 'rectangle',
|
|
13
|
+
...others
|
|
14
|
+
} = props;
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (LinearGradient === undefined) {
|
|
17
|
+
LogService.error(`RNUILib Gradient requires installing "react-native-linear-gradient" dependency`);
|
|
18
|
+
}
|
|
19
|
+
}, []);
|
|
20
|
+
switch (type) {
|
|
21
|
+
case 'rectangle':
|
|
22
|
+
return <RectangleGradient {...others} />;
|
|
23
|
+
case 'circle':
|
|
24
|
+
return <CircleGradient {...others} />;
|
|
25
|
+
case 'border':
|
|
26
|
+
return <BorderGradient {...others} />;
|
|
27
|
+
default:
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export default Gradient;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LinearGradientProps } from 'react-native-linear-gradient';
|
|
2
|
+
type CommonGradientProps = Pick<LinearGradientProps, 'colors' | 'children'> & {
|
|
3
|
+
angle?: number;
|
|
4
|
+
center?: boolean;
|
|
5
|
+
centerH?: boolean;
|
|
6
|
+
centerV?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type GradientProps = ({
|
|
9
|
+
type: 'rectangle';
|
|
10
|
+
} & RectangleGradientProps) | ({
|
|
11
|
+
type: 'circle';
|
|
12
|
+
} & CircleGradientProps) | ({
|
|
13
|
+
type: 'border';
|
|
14
|
+
} & BorderGradientProps);
|
|
15
|
+
export type RectangleGradientProps = CommonGradientProps & {
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
};
|
|
19
|
+
export type CircleGradientProps = CommonGradientProps & {
|
|
20
|
+
radius: number;
|
|
21
|
+
};
|
|
22
|
+
export type BorderGradientProps = RectangleGradientProps & {
|
|
23
|
+
borderWidth?: number;
|
|
24
|
+
borderRadius?: number;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare function getStartEndFromAngle(angle?: number): {
|
|
2
|
+
start: {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
};
|
|
6
|
+
end: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare const _forTesting: {
|
|
12
|
+
getStartEndFromAngle: typeof getStartEndFromAngle;
|
|
13
|
+
};
|
|
14
|
+
export type AngleTransformProps = {
|
|
15
|
+
angle?: number;
|
|
16
|
+
};
|
|
17
|
+
declare const useAngleTransform: (props: AngleTransformProps) => {
|
|
18
|
+
start: {
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
};
|
|
22
|
+
end: {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export default useAngleTransform;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
const EPSILON = 1e-12;
|
|
3
|
+
function getStartEndFromAngle(angle = 0) {
|
|
4
|
+
// Normalize angle to [0, 360)
|
|
5
|
+
let a = angle % 360;
|
|
6
|
+
if (a < 0) {
|
|
7
|
+
a += 360;
|
|
8
|
+
}
|
|
9
|
+
const rad = a * Math.PI / 180;
|
|
10
|
+
|
|
11
|
+
// Direction vector where 0deg points up, 90deg right, etc.
|
|
12
|
+
const vx = Math.sin(rad);
|
|
13
|
+
const vy = -Math.cos(rad);
|
|
14
|
+
|
|
15
|
+
// Distance from center (0.5,0.5) to box edge along v
|
|
16
|
+
const denomX = Math.abs(vx) > EPSILON ? 0.5 / Math.abs(vx) : Number.POSITIVE_INFINITY;
|
|
17
|
+
const denomY = Math.abs(vy) > EPSILON ? 0.5 / Math.abs(vy) : Number.POSITIVE_INFINITY;
|
|
18
|
+
const t = Math.min(denomX, denomY);
|
|
19
|
+
const cx = 0.5;
|
|
20
|
+
const cy = 0.5;
|
|
21
|
+
const end = {
|
|
22
|
+
x: cx + vx * t,
|
|
23
|
+
y: cy + vy * t
|
|
24
|
+
};
|
|
25
|
+
const start = {
|
|
26
|
+
x: cx - vx * t,
|
|
27
|
+
y: cy - vy * t
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// Quantize to avoid tiny floating errors for canonical angles (0, 45, 90, ...).
|
|
31
|
+
const quantize = v => {
|
|
32
|
+
if (Math.abs(v - 0) < EPSILON) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
if (Math.abs(v - 0.5) < EPSILON) {
|
|
36
|
+
return 0.5;
|
|
37
|
+
}
|
|
38
|
+
if (Math.abs(v - 1) < EPSILON) {
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
41
|
+
// Clamp just in case of tiny over/underflows
|
|
42
|
+
if (v < 0) {
|
|
43
|
+
return 0;
|
|
44
|
+
}
|
|
45
|
+
if (v > 1) {
|
|
46
|
+
return 1;
|
|
47
|
+
}
|
|
48
|
+
return v;
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
start: {
|
|
52
|
+
x: quantize(start.x),
|
|
53
|
+
y: quantize(start.y)
|
|
54
|
+
},
|
|
55
|
+
end: {
|
|
56
|
+
x: quantize(end.x),
|
|
57
|
+
y: quantize(end.y)
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export const _forTesting = {
|
|
62
|
+
getStartEndFromAngle
|
|
63
|
+
}; // exporting private functions for testing only
|
|
64
|
+
|
|
65
|
+
const useAngleTransform = props => {
|
|
66
|
+
const {
|
|
67
|
+
angle
|
|
68
|
+
} = props;
|
|
69
|
+
const startEnd = useMemo(() => getStartEndFromAngle(angle), [angle]);
|
|
70
|
+
return startEnd;
|
|
71
|
+
};
|
|
72
|
+
export default useAngleTransform;
|
package/src/incubator/index.d.ts
CHANGED
|
@@ -3,8 +3,7 @@ export { default as ExpandableOverlay, ExpandableOverlayProps, ExpandableOverlay
|
|
|
3
3
|
export { default as TextField, TextFieldProps, FieldContextType, TextFieldMethods, TextFieldRef, TextFieldValidationMessagePosition, TextFieldValidator } from '../components/textField';
|
|
4
4
|
export { default as Toast, ToastProps, ToastPresets } from './toast';
|
|
5
5
|
export { default as TouchableOpacity, TouchableOpacityProps } from './TouchableOpacity';
|
|
6
|
-
export { default as PanView, PanViewProps, PanViewDirections, PanViewDismissThreshold } from './panView';
|
|
7
6
|
export { default as Slider, SliderRef, SliderProps } from './slider';
|
|
8
|
-
export { default as Dialog, DialogProps, DialogHeaderProps, DialogStatics, DialogImperativeMethods } from './dialog';
|
|
9
7
|
export { default as ChipsInput, ChipsInputProps, ChipsInputChangeReason, ChipsInputChipProps } from '../components/chipsInput';
|
|
10
8
|
export { default as WheelPicker, WheelPickerProps, WheelPickerItemProps, WheelPickerAlign, WheelPickerItemValue } from '../components/WheelPicker';
|
|
9
|
+
export { default as Gradient, GradientProps } from './gradient';
|
package/src/incubator/index.js
CHANGED
|
@@ -4,9 +4,8 @@ export { default as ExpandableOverlay, ExpandableOverlayProps, ExpandableOverlay
|
|
|
4
4
|
export { default as TextField, TextFieldProps, FieldContextType, TextFieldMethods, TextFieldRef, TextFieldValidationMessagePosition, TextFieldValidator } from "../components/textField";
|
|
5
5
|
export { default as Toast, ToastProps, ToastPresets } from "./toast";
|
|
6
6
|
export { default as TouchableOpacity, TouchableOpacityProps } from "./TouchableOpacity";
|
|
7
|
-
export { default as PanView, PanViewProps, PanViewDirections, PanViewDismissThreshold } from "./panView";
|
|
8
7
|
export { default as Slider, SliderRef, SliderProps } from "./slider";
|
|
9
|
-
export { default as Dialog, DialogProps, DialogHeaderProps, DialogStatics, DialogImperativeMethods } from "./dialog";
|
|
10
8
|
// TODO: delete exports after fully removing from private
|
|
11
9
|
export { default as ChipsInput, ChipsInputProps, ChipsInputChangeReason, ChipsInputChipProps } from "../components/chipsInput";
|
|
12
|
-
export { default as WheelPicker, WheelPickerProps, WheelPickerItemProps, WheelPickerAlign, WheelPickerItemValue } from "../components/WheelPicker";
|
|
10
|
+
export { default as WheelPicker, WheelPickerProps, WheelPickerItemProps, WheelPickerAlign, WheelPickerItemValue } from "../components/WheelPicker";
|
|
11
|
+
export { default as Gradient, GradientProps } from "./gradient";
|
|
@@ -7,7 +7,7 @@ import View from "../../components/view";
|
|
|
7
7
|
import Text from "../../components/text";
|
|
8
8
|
import Icon from "../../components/icon";
|
|
9
9
|
import Button from "../../components/button";
|
|
10
|
-
import PanView from "
|
|
10
|
+
import PanView from "../../components/panView";
|
|
11
11
|
import { ToastProps, ToastPresets } from "./types";
|
|
12
12
|
import useToastTimer from "./helpers/useToastTimer";
|
|
13
13
|
import useToastPresets from "./helpers/useToastPresets";
|
package/src/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * from 'uilib-native';
|
|
|
6
6
|
export { asBaseComponent, Config, Constants, forwardRef, withScrollEnabler, WithScrollEnablerProps, withScrollReached, WithScrollReachedProps, UIComponent, BaseComponentInjectedProps, ForwardRefInjectedProps, ContainerModifiers, MarginModifiers, PaddingModifiers, TypographyModifiers, ColorsModifiers, BackgroundColorModifier } from './commons/new';
|
|
7
7
|
export { BaseComponent, PureBaseComponent } from './commons';
|
|
8
8
|
import * as Incubator from './incubator';
|
|
9
|
-
export { ExpandableOverlayProps, ExpandableOverlayMethods, ToastProps, ToastPresets
|
|
9
|
+
export { ExpandableOverlayProps, ExpandableOverlayMethods, ToastProps, ToastPresets } from './incubator';
|
|
10
10
|
import * as Hooks from './hooks';
|
|
11
11
|
import * as Modifiers from './commons/modifiers';
|
|
12
12
|
export { default as LogService } from './services/LogService';
|
|
@@ -32,7 +32,7 @@ export { default as ColorSwatch, ColorSwatchProps, ColorInfo } from './component
|
|
|
32
32
|
export { default as ConnectionStatusBar, ConnectionStatusBarProps } from './components/connectionStatusBar';
|
|
33
33
|
export { default as Dash, DashProps } from './components/dash';
|
|
34
34
|
export { default as DateTimePicker, DateTimePickerProps, DateTimePickerMode } from './components/dateTimePicker';
|
|
35
|
-
export { default as Dialog, DialogProps, DialogDirections, DialogDirectionsEnum } from './components/dialog';
|
|
35
|
+
export { default as Dialog, DialogProps, DialogHeaderProps, DialogStatics, DialogImperativeMethods, DialogDirections, DialogDirectionsEnum } from './components/dialog';
|
|
36
36
|
export { default as Drawer, DrawerProps, DrawerItemProps } from './components/drawer';
|
|
37
37
|
export { default as ExpandableSection, ExpandableSectionProps } from './components/expandableSection';
|
|
38
38
|
export { default as Fader, FaderProps, FaderPosition } from './components/fader';
|
|
@@ -60,14 +60,8 @@ export { default as Modal, ModalProps, ModalTopBarProps } from './components/mod
|
|
|
60
60
|
export { default as NumberInput, NumberInputProps, NumberInputData } from './components/numberInput';
|
|
61
61
|
export { default as Overlay, OverlayTypes } from './components/overlay';
|
|
62
62
|
export { default as PageControl, PageControlProps } from './components/pageControl';
|
|
63
|
-
export { default as PanDismissibleView, PanDismissibleViewProps, DismissibleAnimationProps } from './components/panningViews/panDismissibleView';
|
|
64
|
-
export { default as PanGestureView, PanGestureViewProps } from './components/panningViews/panGestureView';
|
|
65
|
-
export { default as PanListenerView, PanListenerViewProps } from './components/panningViews/panListenerView';
|
|
66
|
-
export { default as PanningContext } from './components/panningViews/panningContext';
|
|
67
|
-
export { default as PanningProvider, PanningDirections, PanLocationProps, PanAmountsProps, PanDirectionsProps } from './components/panningViews/panningProvider';
|
|
68
|
-
export { default as PanResponderView, PanResponderViewProps } from './components/panningViews/panResponderView';
|
|
69
|
-
export { default as asPanViewConsumer } from './components/panningViews/asPanViewConsumer';
|
|
70
63
|
export { default as Picker, PickerProps, PickerItemProps, PickerValue, PickerModes, PickerFieldTypes, PickerSearchStyle, RenderCustomModalProps, PickerItemsListProps, PickerMethods, PickerSelectionStatusProps } from './components/picker';
|
|
64
|
+
export { default as PanView, PanViewProps, PanningDirections, PanningDirectionsEnum, PanViewDirections, PanViewDirectionsEnum, PanViewDismissThreshold } from './components/panView';
|
|
71
65
|
export { default as PieChart, type PieChartProps, PieChartSegmentProps } from './components/pieChart';
|
|
72
66
|
export { default as ProgressBar, ProgressBarProps } from './components/progressBar';
|
|
73
67
|
export { default as ProgressiveImage, ProgressiveImageProps } from './components/progressiveImage';
|
|
@@ -79,7 +73,6 @@ export { default as ScrollBar, ScrollBarProps } from './components/scrollBar';
|
|
|
79
73
|
export { default as SearchInput, SearchInputProps, SearchInputRef } from './components/searchInput';
|
|
80
74
|
export { default as SectionsWheelPicker, SectionsWheelPickerProps } from './components/sectionsWheelPicker';
|
|
81
75
|
export { default as SegmentedControl, SegmentedControlProps, SegmentedControlItemProps, SegmentedControlPreset } from './components/segmentedControl';
|
|
82
|
-
export { default as SharedTransition } from './components/sharedTransition';
|
|
83
76
|
export { default as SkeletonView, SkeletonViewProps } from './components/skeletonView';
|
|
84
77
|
export { default as SortableGridList, SortableGridListProps } from './components/sortableGridList';
|
|
85
78
|
export { default as SortableList, SortableListProps, SortableListItemProps } from './components/sortableList';
|