react-native-ui-lib 7.43.0-snapshot.7190 → 7.43.0-snapshot.7192

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/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilib-native",
3
- "version": "5.0.0-snapshot.7190",
3
+ "version": "5.0.0-snapshot.7192",
4
4
  "homepage": "https://github.com/wix/react-native-ui-lib",
5
5
  "description": "uilib native components (separated from js components)",
6
6
  "main": "components/index",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ui-lib",
3
- "version": "7.43.0-snapshot.7190",
3
+ "version": "7.43.0-snapshot.7192",
4
4
  "main": "src/index.js",
5
5
  "types": "src/index.d.ts",
6
6
  "author": "Ethan Sharabi <ethan.shar@gmail.com>",
@@ -117,11 +117,12 @@
117
117
  "react-native": "0.77.2",
118
118
  "react-native-fs": "^2.20.0",
119
119
  "react-native-gesture-handler": "2.22.1",
120
- "react-native-gradients": "2.1.1",
121
120
  "react-native-haptic-feedback": "^1.11.0",
121
+ "react-native-linear-gradient": "3.0.0-alpha.1",
122
122
  "react-native-mmkv": "3.2.0",
123
123
  "react-native-navigation": "8.1.0-rc02",
124
124
  "react-native-reanimated": "3.16.7",
125
+ "react-native-shimmer-placeholder": "^2.0.6",
125
126
  "react-native-svg": "15.11.2",
126
127
  "react-native-svg-transformer": "1.5.0",
127
128
  "react-test-renderer": "18.3.1",
@@ -130,9 +131,6 @@
130
131
  "shell-utils": "^1.0.10",
131
132
  "typescript": "5.0.4"
132
133
  },
133
- "resolutions": {
134
- "react-native-svg": "15.11.2"
135
- },
136
134
  "peerDependencies": {
137
135
  "react": ">=17.0.1",
138
136
  "react-native": ">=0.76.0",
@@ -162,6 +160,9 @@
162
160
  "legacyFakeTimers": true
163
161
  }
164
162
  },
163
+ "resolutions": {
164
+ "react-native-linear-gradient": "patch:react-native-linear-gradient@npm%3A3.0.0-alpha.1#./.yarn/patches/react-native-linear-gradient-3.0.0-alpha.1.patch"
165
+ },
165
166
  "engines": {
166
167
  "node": ">=18"
167
168
  },
@@ -1,10 +1,7 @@
1
1
  export let MarqueeDirections = /*#__PURE__*/function (MarqueeDirections) {
2
2
  MarqueeDirections["RIGHT"] = "RIGHT";
3
- //LTR
4
3
  MarqueeDirections["LEFT"] = "LEFT";
5
- //RTL
6
4
  MarqueeDirections["UP"] = "UP";
7
- //Bottom Up
8
- MarqueeDirections["DOWN"] = "DOWN"; //Up To Bottom
5
+ MarqueeDirections["DOWN"] = "DOWN";
9
6
  return MarqueeDirections;
10
7
  }({});
@@ -1,6 +1,5 @@
1
1
  import React, { Component } from 'react';
2
2
  import { Animated, StyleProp, ViewStyle, AccessibilityProps } from 'react-native';
3
- import { ShimmerPlaceholderProps } from './ShimmerPlaceholder';
4
3
  import { AlignmentModifiers, PaddingModifiers, MarginModifiers } from '../../commons/new';
5
4
  export declare enum Template {
6
5
  LIST_ITEM = "listItem",
@@ -38,7 +37,7 @@ export interface SkeletonListProps {
38
37
  */
39
38
  renderEndContent?: () => React.ReactElement | undefined;
40
39
  }
41
- export interface SkeletonViewProps extends ShimmerPlaceholderProps, AccessibilityProps, AlignmentModifiers, PaddingModifiers, MarginModifiers {
40
+ export interface SkeletonViewProps extends AccessibilityProps, AlignmentModifiers, PaddingModifiers, MarginModifiers {
42
41
  /**
43
42
  * The content has been loaded, start fading out the skeleton and fading in the content
44
43
  */
@@ -73,6 +72,19 @@ export interface SkeletonViewProps extends ShimmerPlaceholderProps, Accessibilit
73
72
  * This is needed because the `key` prop is not accessible.
74
73
  */
75
74
  timesKey?: string;
75
+ /**
76
+ * The height of the skeleton view
77
+ */
78
+ height?: number;
79
+ /**
80
+ * The width of the skeleton view
81
+ */
82
+ width?: number;
83
+ /**
84
+ * The colors of the skeleton view, the array length has to be >=2
85
+ * default: [Colors.grey70, Colors.grey60, Colors.grey70]
86
+ */
87
+ colors?: string[];
76
88
  /**
77
89
  * The border radius of the skeleton view
78
90
  */
@@ -81,6 +93,14 @@ export interface SkeletonViewProps extends ShimmerPlaceholderProps, Accessibilit
81
93
  * Whether the skeleton is a circle (will override the borderRadius)
82
94
  */
83
95
  circle?: boolean;
96
+ /**
97
+ * Additional style to the skeleton view
98
+ */
99
+ shimmerStyle?: StyleProp<ViewStyle>;
100
+ /**
101
+ * Override container styles
102
+ */
103
+ style?: StyleProp<ViewStyle>;
84
104
  /**
85
105
  * Used to locate this view in end-to-end tests
86
106
  */
@@ -95,7 +115,7 @@ interface SkeletonState {
95
115
  * @description: Allows showing a temporary skeleton view while your real view is loading.
96
116
  * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/componentScreens/SkeletonViewScreen.tsx
97
117
  * @image: https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/Skeleton/Skeleton.gif?raw=true
98
- * @notes: View requires installing the 'react-native-gradients' library
118
+ * @notes: View requires installing the 'react-native-shimmer-placeholder' and 'react-native-linear-gradient' library
99
119
  */
100
120
  declare class SkeletonView extends Component<SkeletonViewProps, SkeletonState> {
101
121
  static displayName: string;
@@ -119,7 +139,8 @@ declare class SkeletonView extends Component<SkeletonViewProps, SkeletonState> {
119
139
  circleOverride: boolean;
120
140
  style: StyleProp<ViewStyle>;
121
141
  }) => {
122
- colors: string[] | undefined;
142
+ shimmerColors: string[];
143
+ isReversed: boolean;
123
144
  style: StyleProp<ViewStyle>[];
124
145
  width: number | undefined;
125
146
  height: number;
@@ -5,11 +5,12 @@ import _isUndefined from "lodash/isUndefined";
5
5
  import React, { Component } from 'react';
6
6
  import { StyleSheet, Animated, Easing } from 'react-native';
7
7
  import memoize from 'memoize-one';
8
- import { LinearGradientPackage } from "../../optionalDependencies";
9
- import ShimmerPlaceholderTemp from "./ShimmerPlaceholder";
10
- import { BorderRadiuses, Dividers, Spacings } from "../../style";
8
+ import { BorderRadiuses, Colors, Dividers, Spacings } from "../../style";
9
+ import { createShimmerPlaceholder, LinearGradientPackage } from "../../optionalDependencies";
11
10
  import View from "../view";
11
+ import { Constants } from "../../commons/new";
12
12
  import { LogService } from "../../services";
13
+ const LinearGradient = LinearGradientPackage?.default;
13
14
  let ShimmerPlaceholder;
14
15
  const ANIMATION_DURATION = 400;
15
16
  export let Template = /*#__PURE__*/function (Template) {
@@ -31,7 +32,7 @@ export let ContentType = /*#__PURE__*/function (ContentType) {
31
32
  * @description: Allows showing a temporary skeleton view while your real view is loading.
32
33
  * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/componentScreens/SkeletonViewScreen.tsx
33
34
  * @image: https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/Skeleton/Skeleton.gif?raw=true
34
- * @notes: View requires installing the 'react-native-gradients' library
35
+ * @notes: View requires installing the 'react-native-shimmer-placeholder' and 'react-native-linear-gradient' library
35
36
  */
36
37
  class SkeletonView extends Component {
37
38
  static displayName = 'SkeletonView';
@@ -61,10 +62,12 @@ class SkeletonView extends Component {
61
62
  isAnimating: props.showContent === false,
62
63
  opacity: new Animated.Value(0)
63
64
  };
64
- if (_isUndefined(LinearGradientPackage)) {
65
- LogService.error(`RNUILib SkeletonView's requires installing "react-native-gradients" dependency`);
65
+ if (_isUndefined(LinearGradientPackage?.default)) {
66
+ LogService.error(`RNUILib SkeletonView's requires installing "react-native-linear-gradient" dependency`);
67
+ } else if (_isUndefined(createShimmerPlaceholder)) {
68
+ LogService.error(`RNUILib SkeletonView's requires installing "react-native-shimmer-placeholder" dependency`);
66
69
  } else if (ShimmerPlaceholder === undefined) {
67
- ShimmerPlaceholder = ShimmerPlaceholderTemp;
70
+ ShimmerPlaceholder = createShimmerPlaceholder(LinearGradient);
68
71
  }
69
72
  this.setAccessibilityProps(props.template);
70
73
  }
@@ -115,7 +118,8 @@ class SkeletonView extends Component {
115
118
  size = Math.max(width || 0, height);
116
119
  }
117
120
  return {
118
- colors,
121
+ shimmerColors: colors || [Colors.$backgroundNeutral, Colors.$backgroundNeutralMedium, Colors.$backgroundNeutral],
122
+ isReversed: Constants.isRTL,
119
123
  style: [{
120
124
  borderRadius
121
125
  }, style],
@@ -261,7 +265,7 @@ class SkeletonView extends Component {
261
265
  }
262
266
  renderNothing = () => null;
263
267
  render() {
264
- if (LinearGradientPackage === undefined) {
268
+ if (_isUndefined(LinearGradientPackage?.default) || _isUndefined(createShimmerPlaceholder)) {
265
269
  return null;
266
270
  }
267
271
  const {
@@ -3,7 +3,7 @@
3
3
  "category": "status",
4
4
  "description": "Allows showing a temporary skeleton view while your real view is loading",
5
5
  "modifiers": ["margin"],
6
- "note": "Requires installing the 'react-native-gradients' library",
6
+ "note": "Requires installing the 'react-native-shimmer-placeholder' and 'react-native-linear-gradient' libraries",
7
7
  "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/componentScreens/SkeletonViewScreen.tsx",
8
8
  "images": ["https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/Skeleton/Skeleton.gif?raw=true"],
9
9
  "props": [
@@ -40,7 +40,7 @@
40
40
  {
41
41
  "name": "colors",
42
42
  "type": "string[]",
43
- "description": "The colors of the skeleton view, the array length has to be 3",
43
+ "description": "The colors of the skeleton view, the array length has to be >=2",
44
44
  "default": "[Colors.grey70, Colors.grey60, Colors.grey70]"
45
45
  },
46
46
  {"name": "borderRadius", "type": "number", "description": "The border radius of the skeleton view"},
@@ -5,7 +5,6 @@ export let ValidationMessagePosition = /*#__PURE__*/function (ValidationMessageP
5
5
  }({});
6
6
  export let Presets = /*#__PURE__*/function (Presets) {
7
7
  Presets["DEFAULT"] = "default";
8
- // TODO: remove
9
8
  Presets["UNDERLINE"] = "underline";
10
9
  Presets["OUTLINE"] = "outline";
11
10
  return Presets;
@@ -1,6 +1,5 @@
1
1
  export let StateTypes = /*#__PURE__*/function (StateTypes) {
2
2
  StateTypes["CURRENT"] = "current";
3
- // default
4
3
  StateTypes["NEXT"] = "next";
5
4
  StateTypes["ERROR"] = "error";
6
5
  StateTypes["SUCCESS"] = "success";
@@ -8,13 +7,11 @@ export let StateTypes = /*#__PURE__*/function (StateTypes) {
8
7
  }({});
9
8
  export let LineTypes = /*#__PURE__*/function (LineTypes) {
10
9
  LineTypes["SOLID"] = "solid";
11
- // default
12
10
  LineTypes["DASHED"] = "dashed";
13
11
  return LineTypes;
14
12
  }({});
15
13
  export let PointTypes = /*#__PURE__*/function (PointTypes) {
16
14
  PointTypes["BULLET"] = "bullet";
17
- // default
18
15
  PointTypes["CIRCLE"] = "circle";
19
16
  PointTypes["OUTLINE"] = "outline";
20
17
  return PointTypes;
package/src/index.js CHANGED
@@ -2249,5 +2249,6 @@ function _WheelPicker() {
2249
2249
  };
2250
2250
  return data;
2251
2251
  }
2252
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
2252
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
2253
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
2253
2254
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,5 +1,5 @@
1
1
  let LinearGradientPackage;
2
2
  try {
3
- LinearGradientPackage = require('react-native-gradients')?.LinearGradient;
3
+ LinearGradientPackage = require('react-native-linear-gradient');
4
4
  } catch (error) {}
5
5
  export default LinearGradientPackage;
@@ -0,0 +1,2 @@
1
+ declare let createShimmerPlaceholder: any;
2
+ export { createShimmerPlaceholder };
@@ -0,0 +1,5 @@
1
+ let createShimmerPlaceholder;
2
+ try {
3
+ createShimmerPlaceholder = require('react-native-shimmer-placeholder').createShimmerPlaceholder;
4
+ } catch (error) {}
5
+ export { createShimmerPlaceholder };
@@ -5,4 +5,5 @@ export { default as MomentPackage } from './MomentPackage';
5
5
  export { default as NetInfoPackage } from './NetInfoPackage';
6
6
  export { default as HapticFeedbackPackage } from './HapticFeedbackPackage';
7
7
  export { default as SvgPackage, SvgCssUri } from './SvgPackage';
8
+ export { createShimmerPlaceholder } from './ShimmerPackage';
8
9
  export { default as LinearGradientPackage } from './LinearGradientPackage';
@@ -5,4 +5,5 @@ export { default as MomentPackage } from "./MomentPackage";
5
5
  export { default as NetInfoPackage } from "./NetInfoPackage";
6
6
  export { default as HapticFeedbackPackage } from "./HapticFeedbackPackage";
7
7
  export { default as SvgPackage, SvgCssUri } from "./SvgPackage";
8
+ export { createShimmerPlaceholder } from "./ShimmerPackage";
8
9
  export { default as LinearGradientPackage } from "./LinearGradientPackage";
@@ -1,6 +1,7 @@
1
1
  export { default as NetInfoPackage } from './NetInfoPackage';
2
2
  export { default as HapticFeedbackPackage } from './HapticFeedbackPackage';
3
3
  export { default as SvgPackage } from './SvgPackage';
4
+ export { createShimmerPlaceholder } from './ShimmerPackage';
4
5
  export { default as LinearGradientPackage } from './LinearGradientPackage';
5
6
  export { default as PostCssPackage } from './PostCssPackage';
6
7
  export { default as FlashListPackage } from './FlashListPackage';
@@ -1,6 +1,7 @@
1
1
  export { default as NetInfoPackage } from "./NetInfoPackage";
2
2
  export { default as HapticFeedbackPackage } from "./HapticFeedbackPackage";
3
3
  export { default as SvgPackage } from "./SvgPackage";
4
+ export { createShimmerPlaceholder } from "./ShimmerPackage";
4
5
  export { default as LinearGradientPackage } from "./LinearGradientPackage";
5
6
  export { default as PostCssPackage } from "./PostCssPackage";
6
7
  export { default as FlashListPackage } from "./FlashListPackage";
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { StyleProp, ViewStyle } from 'react-native';
3
- export interface ShimmerPlaceholderProps {
4
- /**
5
- * The height of the skeleton view
6
- */
7
- height?: number;
8
- /**
9
- * The width of the skeleton view
10
- */
11
- width?: number;
12
- /**
13
- * The colors of the skeleton view, the array length has to be 3
14
- * default: [Colors.grey70, Colors.grey60, Colors.grey70]
15
- */
16
- colors?: string[];
17
- /**
18
- * Additional style to the skeleton view
19
- */
20
- shimmerStyle?: StyleProp<ViewStyle>;
21
- /**
22
- * Override container styles
23
- */
24
- style?: StyleProp<ViewStyle>;
25
- }
26
- declare const ShimmerPlaceholder: (props: ShimmerPlaceholderProps) => React.JSX.Element;
27
- export default ShimmerPlaceholder;
@@ -1,68 +0,0 @@
1
- import React, { useEffect, useMemo } from 'react';
2
- import { LinearGradientPackage as LinearGradient } from "../../optionalDependencies";
3
- import View from "../view";
4
- import { Colors } from "../../style";
5
- import Constants from "../../commons/Constants";
6
- import { interpolate, useAnimatedStyle, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
7
- const ANIMATION_DURATION = 1000;
8
- const ShimmerPlaceholder = props => {
9
- const {
10
- height,
11
- width = 100,
12
- colors = [Colors.$backgroundNeutral, Colors.$backgroundNeutralMedium, Colors.$backgroundNeutral],
13
- shimmerStyle,
14
- style
15
- } = props;
16
- const translateValue = useSharedValue(-0.7);
17
- useEffect(() => {
18
- translateValue.value = withRepeat(withTiming(0.7, {
19
- duration: ANIMATION_DURATION
20
- }), -1, false);
21
- }, [translateValue]);
22
- const backgroundColor = useMemo(() => {
23
- return colors[0];
24
- }, [colors]);
25
- const colorList = useMemo(() => {
26
- return [{
27
- offset: '20%',
28
- color: colors[0],
29
- opacity: '1'
30
- }, {
31
- offset: '40%',
32
- color: colors[1],
33
- opacity: '1'
34
- }, {
35
- offset: '100%',
36
- color: colors[2],
37
- opacity: '1'
38
- }];
39
- }, [colors]);
40
- const animatedStyle = useAnimatedStyle(() => {
41
- const translateX = interpolate(translateValue.value, [-1, 1], [-width, width], 'extend');
42
- return {
43
- transform: [{
44
- translateX
45
- }]
46
- };
47
- }, [width]);
48
- const _style = useMemo(() => {
49
- const reverseStyle = Constants.isRTL ? {
50
- transform: [{
51
- scaleX: -1
52
- }]
53
- } : undefined;
54
- return [style, shimmerStyle, {
55
- overflow: 'hidden'
56
- }, reverseStyle, {
57
- backgroundColor
58
- }];
59
- }, [style, shimmerStyle, backgroundColor]);
60
- return <View height={height} width={width}
61
- // @ts-expect-error
62
- style={_style}>
63
- <View width={width} reanimated style={animatedStyle}>
64
- <LinearGradient colorList={colorList} angle={0} />
65
- </View>
66
- </View>;
67
- };
68
- export default ShimmerPlaceholder;