@hero-design/rn 8.130.1 → 8.130.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @hero-design/rn
2
2
 
3
+ ## 8.130.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#5112](https://github.com/Thinkei/hero-design/pull/5112) [`7bedc8eb61aa5875eac9053001cd2f881b26e050`](https://github.com/Thinkei/hero-design/commit/7bedc8eb61aa5875eac9053001cd2f881b26e050) Thanks [@ttkien](https://github.com/ttkien)! - [Theme] Update primary token to #7622d7 in EH Work & EH Jobs themes
8
+
9
+ ## 8.130.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#5111](https://github.com/Thinkei/hero-design/pull/5111) [`5c7a1ca03f77cf8a1113ce74b95d3bb3949bbe3a`](https://github.com/Thinkei/hero-design/commit/5c7a1ca03f77cf8a1113ce74b95d3bb3949bbe3a) Thanks [@haudao-eh](https://github.com/haudao-eh)! - Migrate Skeleton shimmer gradient from react-native-linear-gradient to expo-linear-gradient
14
+
3
15
  ## 8.130.1
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -18,8 +18,8 @@ yarn add @hero-design/react-native-month-year-picker@^8.43.2
18
18
  yarn add @ptomasroos/react-native-multi-slider@^2.2.2
19
19
  yarn add @react-native-community/datetimepicker@^3.5.2
20
20
  yarn add @react-native-community/slider@^4.5.1
21
+ yarn add "expo-linear-gradient@>=14.0.0"
21
22
  yarn add react-native-gesture-handler@~2.20.2
22
- yarn add react-native-linear-gradient@^2.8.3
23
23
  yarn add react-native-pager-view@^6.7.0
24
24
  yarn add react-native-safe-area-context@^4.7.0
25
25
  yarn add react-native-svg@^15.11.2
@@ -28,6 +28,7 @@ yarn add react-native-webview@^13.10.2
28
28
  ```
29
29
 
30
30
  **Requirements:**
31
+
31
32
  - React 18.3.1
32
33
  - React Native 0.77.3
33
34
  - Node.js >= 20.0.0 (20.x or 22.x supported)
@@ -44,11 +45,17 @@ Wrap your application with `HeroDesignProvider` to enable theming, localization,
44
45
 
45
46
  ```tsx
46
47
  import React from 'react';
47
- import { HeroDesignProvider, getTheme, Button, Card, Typography } from '@hero-design/rn';
48
+ import {
49
+ HeroDesignProvider,
50
+ getTheme,
51
+ Button,
52
+ Card,
53
+ Typography,
54
+ } from '@hero-design/rn';
48
55
 
49
56
  function App() {
50
57
  const theme = getTheme();
51
-
58
+
52
59
  return (
53
60
  <HeroDesignProvider theme={theme}>
54
61
  <Card>
@@ -72,11 +79,7 @@ For product-specific themes, use `ThemeSwitcher` which provides a predefined the
72
79
  import { ThemeSwitcher } from '@hero-design/rn';
73
80
 
74
81
  function App() {
75
- return (
76
- <ThemeSwitcher name="ehWork">
77
- {/* Your app */}
78
- </ThemeSwitcher>
79
- );
82
+ return <ThemeSwitcher name="ehWork">{/* Your app */}</ThemeSwitcher>;
80
83
  }
81
84
  ```
82
85
 
package/es/index.js CHANGED
@@ -12,7 +12,6 @@ import DateTimePicker from '@react-native-community/datetimepicker';
12
12
  import RnSlider from '@react-native-community/slider';
13
13
  import MultiSlider from '@ptomasroos/react-native-multi-slider';
14
14
  import { RectButton, GestureHandlerRootView, Swipeable as Swipeable$1 } from 'react-native-gesture-handler';
15
- import LinearGradient$1 from 'react-native-linear-gradient';
16
15
  import PagerView from 'react-native-pager-view';
17
16
  import { EventEmitter } from 'events';
18
17
  import { WebView } from 'react-native-webview';
@@ -4978,7 +4977,7 @@ var swagLightGlobalPalette = _objectSpread2(_objectSpread2({}, globalPalette$1),
4978
4977
  });
4979
4978
 
4980
4979
  var ehWorkBrandSystemPalette = {
4981
- primary: '#460078',
4980
+ primary: '#7622d7',
4982
4981
  onPrimary: '#fdfbff',
4983
4982
  secondary: '#b382fd',
4984
4983
  onSecondary: palette$4.white,
@@ -5007,6 +5006,7 @@ var swagSystemPalette = _objectSpread2(_objectSpread2({}, ehWorkSystemPalette),
5007
5006
 
5008
5007
  var ehJobsSystemPalette = _objectSpread2(_objectSpread2({}, swagSystemPalette), {}, {
5009
5008
  name: 'ehJobs',
5009
+ primary: '#7622d7',
5010
5010
  secondary: '#40d1ff',
5011
5011
  onSecondary: '#460078',
5012
5012
  secondaryHighlightedSurface: '#ecfaff',
@@ -27530,7 +27530,6 @@ var StyledGradientContainer = index$c(Box)(function (_ref2) {
27530
27530
  });
27531
27531
 
27532
27532
  var _excluded$b = ["intent", "variant", "style", "onLayout"];
27533
- var AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient$1);
27534
27533
  var gradientPositions = {
27535
27534
  start: {
27536
27535
  x: 0,
@@ -27604,18 +27603,23 @@ var Skeleton = function Skeleton(_ref) {
27604
27603
  onLayout: onContainerLayout
27605
27604
  }, props), /*#__PURE__*/React__default.createElement(StyledGradientContainer, {
27606
27605
  themeVariant: variant
27607
- }, /*#__PURE__*/React__default.createElement(AnimatedLinearGradient, {
27608
- start: gradientPositions.start,
27609
- end: gradientPositions.end,
27606
+ }, /*#__PURE__*/React__default.createElement(Animated.View, {
27610
27607
  style: {
27611
27608
  width: '100%',
27612
27609
  height: '100%',
27613
27610
  transform: [{
27614
27611
  translateX: translateX
27615
27612
  }]
27613
+ }
27614
+ }, /*#__PURE__*/React__default.createElement(LinearGradient, {
27615
+ start: gradientPositions.start,
27616
+ end: gradientPositions.end,
27617
+ style: {
27618
+ width: '100%',
27619
+ height: '100%'
27616
27620
  },
27617
27621
  colors: colors
27618
- })));
27622
+ }))));
27619
27623
  };
27620
27624
 
27621
27625
  var StyledSuccessContainer = index$c(View)(function (_ref) {
package/jest.config.js CHANGED
@@ -19,6 +19,6 @@ module.exports = {
19
19
  roots: ['<rootDir>/src'],
20
20
  snapshotSerializers: ['@emotion/jest/serializer'],
21
21
  transformIgnorePatterns: [
22
- 'node_modules/(?!((jest-)?@react-native|@emotion/.*|react-native|react-native-linear-gradient|react-native-pager-view|@react-native-community|@react-native-masked-view|expo-linear-gradient|nanoid|d3|d3-.*|internmap|delaunator|robust-predicates)/)',
22
+ 'node_modules/(?!((jest-)?@react-native|@emotion/.*|react-native|react-native-pager-view|@react-native-community|@react-native-masked-view|expo-linear-gradient|nanoid|d3|d3-.*|internmap|delaunator|robust-predicates)/)',
23
23
  ],
24
24
  };
package/lib/index.js CHANGED
@@ -12,7 +12,6 @@ var DateTimePicker = require('@react-native-community/datetimepicker');
12
12
  var RnSlider = require('@react-native-community/slider');
13
13
  var MultiSlider = require('@ptomasroos/react-native-multi-slider');
14
14
  var reactNativeGestureHandler = require('react-native-gesture-handler');
15
- var LinearGradient = require('react-native-linear-gradient');
16
15
  var PagerView = require('react-native-pager-view');
17
16
  var events = require('events');
18
17
  var reactNativeWebview = require('react-native-webview');
@@ -44,7 +43,6 @@ var Svg__default = /*#__PURE__*/_interopDefaultCompat(Svg);
44
43
  var DateTimePicker__default = /*#__PURE__*/_interopDefaultCompat(DateTimePicker);
45
44
  var RnSlider__default = /*#__PURE__*/_interopDefaultCompat(RnSlider);
46
45
  var MultiSlider__default = /*#__PURE__*/_interopDefaultCompat(MultiSlider);
47
- var LinearGradient__default = /*#__PURE__*/_interopDefaultCompat(LinearGradient);
48
46
  var PagerView__default = /*#__PURE__*/_interopDefaultCompat(PagerView);
49
47
 
50
48
  function _arrayLikeToArray(r, a) {
@@ -5008,7 +5006,7 @@ var swagLightGlobalPalette = _objectSpread2(_objectSpread2({}, globalPalette$1),
5008
5006
  });
5009
5007
 
5010
5008
  var ehWorkBrandSystemPalette = {
5011
- primary: '#460078',
5009
+ primary: '#7622d7',
5012
5010
  onPrimary: '#fdfbff',
5013
5011
  secondary: '#b382fd',
5014
5012
  onSecondary: palette$4.white,
@@ -5037,6 +5035,7 @@ var swagSystemPalette = _objectSpread2(_objectSpread2({}, ehWorkSystemPalette),
5037
5035
 
5038
5036
  var ehJobsSystemPalette = _objectSpread2(_objectSpread2({}, swagSystemPalette), {}, {
5039
5037
  name: 'ehJobs',
5038
+ primary: '#7622d7',
5040
5039
  secondary: '#40d1ff',
5041
5040
  onSecondary: '#460078',
5042
5041
  secondaryHighlightedSurface: '#ecfaff',
@@ -27560,7 +27559,6 @@ var StyledGradientContainer = index$c(Box)(function (_ref2) {
27560
27559
  });
27561
27560
 
27562
27561
  var _excluded$b = ["intent", "variant", "style", "onLayout"];
27563
- var AnimatedLinearGradient = reactNative.Animated.createAnimatedComponent(LinearGradient__default.default);
27564
27562
  var gradientPositions = {
27565
27563
  start: {
27566
27564
  x: 0,
@@ -27634,18 +27632,23 @@ var Skeleton = function Skeleton(_ref) {
27634
27632
  onLayout: onContainerLayout
27635
27633
  }, props), /*#__PURE__*/React__namespace.default.createElement(StyledGradientContainer, {
27636
27634
  themeVariant: variant
27637
- }, /*#__PURE__*/React__namespace.default.createElement(AnimatedLinearGradient, {
27638
- start: gradientPositions.start,
27639
- end: gradientPositions.end,
27635
+ }, /*#__PURE__*/React__namespace.default.createElement(reactNative.Animated.View, {
27640
27636
  style: {
27641
27637
  width: '100%',
27642
27638
  height: '100%',
27643
27639
  transform: [{
27644
27640
  translateX: translateX
27645
27641
  }]
27642
+ }
27643
+ }, /*#__PURE__*/React__namespace.default.createElement(expoLinearGradient.LinearGradient, {
27644
+ start: gradientPositions.start,
27645
+ end: gradientPositions.end,
27646
+ style: {
27647
+ width: '100%',
27648
+ height: '100%'
27646
27649
  },
27647
27650
  colors: colors
27648
- })));
27651
+ }))));
27649
27652
  };
27650
27653
 
27651
27654
  var StyledSuccessContainer = index$c(reactNative.View)(function (_ref) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hero-design/rn",
3
- "version": "8.130.1",
3
+ "version": "8.130.3",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -45,7 +45,6 @@
45
45
  "react": "19.1.0",
46
46
  "react-native": "0.81.5",
47
47
  "react-native-gesture-handler": "~2.28.0",
48
- "react-native-linear-gradient": "^2.8.3",
49
48
  "react-native-pager-view": "^6.7.0",
50
49
  "react-native-safe-area-context": "~5.6.0",
51
50
  "react-native-svg": "^15.11.2",
@@ -100,7 +99,6 @@
100
99
  "react-dom": "19.1.0",
101
100
  "react-native": "0.81.5",
102
101
  "react-native-gesture-handler": "~2.28.0",
103
- "react-native-linear-gradient": "2.8.3",
104
102
  "react-native-pager-view": "6.9.1",
105
103
  "react-native-safe-area-context": "~5.6.0",
106
104
  "react-native-svg": "15.12.1",
package/rollup.config.mjs CHANGED
@@ -45,7 +45,6 @@ export default [
45
45
  'react-native-webview',
46
46
  'react-native-pager-view',
47
47
  'react-native-vector-icons',
48
- 'react-native-linear-gradient',
49
48
  '@hero-design/react-native-month-year-picker',
50
49
  '@ptomasroos/react-native-multi-slider',
51
50
  ],
@@ -1,4 +1,4 @@
1
- import LinearGradient from 'react-native-linear-gradient';
1
+ import { LinearGradient } from 'expo-linear-gradient';
2
2
  import React, {
3
3
  useEffect,
4
4
  useMemo,
@@ -6,7 +6,7 @@ import React, {
6
6
  useCallback,
7
7
  useRef,
8
8
  } from 'react';
9
- import type { LayoutChangeEvent, ViewProps } from 'react-native';
9
+ import type { ColorValue, LayoutChangeEvent, ViewProps } from 'react-native';
10
10
  import { Animated, Easing, Platform, StyleSheet } from 'react-native';
11
11
  import type { Theme } from '../../theme';
12
12
  import { useTheme } from '../../theme';
@@ -23,14 +23,15 @@ interface SkeletonProps extends ViewProps {
23
23
  variant?: 'circular' | 'rectangular' | 'rounded';
24
24
  }
25
25
 
26
- const AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);
27
-
28
26
  const gradientPositions = {
29
27
  start: { x: 0, y: 0 },
30
28
  end: { x: 1, y: 0 },
31
29
  };
32
30
 
33
- const getGradientColors = (theme: Theme, intent: 'light' | 'dark') => {
31
+ const getGradientColors = (
32
+ theme: Theme,
33
+ intent: 'light' | 'dark'
34
+ ): [ColorValue, ColorValue, ColorValue] => {
34
35
  switch (intent) {
35
36
  case 'light': {
36
37
  return [
@@ -107,16 +108,16 @@ const Skeleton = ({
107
108
  {...props}
108
109
  >
109
110
  <StyledGradientContainer themeVariant={variant}>
110
- <AnimatedLinearGradient
111
- start={gradientPositions.start}
112
- end={gradientPositions.end}
113
- style={{
114
- width: '100%',
115
- height: '100%',
116
- transform: [{ translateX }],
117
- }}
118
- colors={colors}
119
- />
111
+ <Animated.View
112
+ style={{ width: '100%', height: '100%', transform: [{ translateX }] }}
113
+ >
114
+ <LinearGradient
115
+ start={gradientPositions.start}
116
+ end={gradientPositions.end}
117
+ style={{ width: '100%', height: '100%' }}
118
+ colors={colors}
119
+ />
120
+ </Animated.View>
120
121
  </StyledGradientContainer>
121
122
  </StyledContainer>
122
123
  );
@@ -4,6 +4,7 @@ import type { SystemPalette } from './types';
4
4
  const ehJobsSystemPalette: SystemPalette = {
5
5
  ...swagLightSystemPalette,
6
6
  name: 'ehJobs',
7
+ primary: '#7622d7',
7
8
  secondary: '#40d1ff',
8
9
  onSecondary: '#460078',
9
10
  secondaryHighlightedSurface: '#ecfaff',
@@ -3,7 +3,7 @@ import type { SystemPalette, BrandSystemPalette } from './types';
3
3
  import swagLightGlobalPalette from './swagLightGlobal';
4
4
 
5
5
  const ehWorkBrandSystemPalette: BrandSystemPalette = {
6
- primary: '#460078',
6
+ primary: '#7622d7',
7
7
  onPrimary: '#fdfbff',
8
8
  secondary: '#b382fd',
9
9
  onSecondary: palette.white,
@@ -32,7 +32,7 @@ export declare const StyledCheckMark: import("@emotion/native").StyledComponent<
32
32
  as?: React.ElementType;
33
33
  } & {
34
34
  themeSize: "small" | "xsmall" | "medium" | "large" | "xlarge" | "xxxsmall";
35
- themeIntent: "secondary" | "primary" | "text" | "success" | "info" | "warning" | "danger" | "muted" | "inactive" | "disabled-text" | "text-inverted";
35
+ themeIntent: "primary" | "secondary" | "text" | "success" | "info" | "warning" | "danger" | "muted" | "inactive" | "disabled-text" | "text-inverted";
36
36
  } & {
37
37
  ref?: import("react").Ref<import("react-native-vector-icons/Icon").Icon> | undefined;
38
38
  } & {