@react-native-styled-system/core 1.1.1 → 1.2.0

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.
@@ -21,7 +21,8 @@ const useSx = (props, {
21
21
  theme: optionTheme,
22
22
  styleType = defaultUseSxOptions.styleType,
23
23
  transform = defaultUseSxOptions.transform,
24
- fallback
24
+ fallback,
25
+ cache
25
26
  } = defaultUseSxOptions) => {
26
27
  const styledSystemContext = (0, _react.useContext)(_StyledSystemProvider.StyledSystemContext);
27
28
  const getStyle = (0, _useStableCallback.useStableCallback)(() => {
@@ -56,13 +57,22 @@ const useSx = (props, {
56
57
  const composedStyle = !mergedSxStyle ? props?.style : props?.style ? _reactNative.StyleSheet.compose(mergedSxStyle, props.style) : mergedSxStyle;
57
58
  if (_jsUtil.is.function(transform)) {
58
59
  const transformedSx = transform(_reactNative.StyleSheet.flatten(composedStyle));
59
- return (0, _StyleHash.getCachedStyle)(_reactNative.StyleSheet.compose(composedStyle, (0, _propsToThemedStyle.propsToThemedStyle)({
60
+ const ret = _reactNative.StyleSheet.compose(composedStyle, (0, _propsToThemedStyle.propsToThemedStyle)({
60
61
  theme,
61
62
  sx: transformedSx,
62
63
  styleType
63
- })));
64
+ }));
65
+ if (cache) {
66
+ return (0, _StyleHash.getCachedStyle)(ret);
67
+ } else {
68
+ return ret;
69
+ }
64
70
  } else {
65
- return (0, _StyleHash.getCachedStyle)(composedStyle);
71
+ if (cache) {
72
+ return (0, _StyleHash.getCachedStyle)(composedStyle);
73
+ } else {
74
+ return composedStyle;
75
+ }
66
76
  }
67
77
  });
68
78
  const filteredProps = (0, _react.useMemo)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_jsUtil","_SxProps","_useStableCallback","_mutateShortcutPropToOriginalKeys","_printWarning","_StyleHash","_StyledSystemProvider","_propsToThemedStyle","defaultUseSxOptions","styleType","useSx","props","theme","optionTheme","transform","fallback","styledSystemContext","useContext","StyledSystemContext","getStyle","useStableCallback","skip","is","function","propsToThemedStyle","sx","printWarning","mergedSx","mutateShortcutPropToOriginalKeys","mergedSxStyle","composedStyle","style","StyleSheet","compose","transformedSx","flatten","getCachedStyle","filteredProps","useMemo","ret","_viewStylePropList","forEach","keyName","_textStylePropList","exports"],"sourceRoot":"../../../src","sources":["hook/useSx.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_jsUtil","_SxProps","_useStableCallback","_mutateShortcutPropToOriginalKeys","_printWarning","_StyleHash","_StyledSystemProvider","_propsToThemedStyle","defaultUseSxOptions","styleType","useSx","props","theme","optionTheme","transform","fallback","cache","styledSystemContext","useContext","StyledSystemContext","getStyle","useStableCallback","skip","is","function","propsToThemedStyle","sx","printWarning","mergedSx","mutateShortcutPropToOriginalKeys","mergedSxStyle","composedStyle","style","StyleSheet","compose","transformedSx","flatten","ret","getCachedStyle","filteredProps","useMemo","_viewStylePropList","forEach","keyName","_textStylePropList","exports"],"sourceRoot":"../../../src","sources":["hook/useSx.ts"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,8 @@ var _StyledSystemProvider = require("../provider/StyledSystemProvider");
11
11
  var _propsToThemedStyle = require("../util/propsToThemedStyle");
12
12
  const defaultOptions = {};
13
13
  const useSxStyle = ({
14
- theme: optionTheme
14
+ theme: optionTheme,
15
+ cache
15
16
  } = defaultOptions) => {
16
17
  const styledSystemContext = (0, _react.useContext)(_StyledSystemProvider.StyledSystemContext);
17
18
  return sx => {
@@ -20,10 +21,17 @@ const useSxStyle = ({
20
21
  (0, _printWarning.printWarning)('theme not found from useSxStyle, empty style will be returned.');
21
22
  return {};
22
23
  }
23
- return (0, _StyleHash.getCachedStyle)((0, _propsToThemedStyle.propsToThemedStyle)({
24
- theme,
25
- sx
26
- }));
24
+ if (cache) {
25
+ return (0, _StyleHash.getCachedStyle)((0, _propsToThemedStyle.propsToThemedStyle)({
26
+ theme,
27
+ sx
28
+ }));
29
+ } else {
30
+ return (0, _propsToThemedStyle.propsToThemedStyle)({
31
+ theme,
32
+ sx
33
+ });
34
+ }
27
35
  };
28
36
  };
29
37
  exports.useSxStyle = useSxStyle;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_printWarning","_StyleHash","_StyledSystemProvider","_propsToThemedStyle","defaultOptions","useSxStyle","theme","optionTheme","styledSystemContext","useContext","StyledSystemContext","sx","printWarning","getCachedStyle","propsToThemedStyle","exports"],"sourceRoot":"../../../src","sources":["hook/useSxStyle.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAKA,MAAMK,cAAiC,GAAG,CAAC,CAAC;AAErC,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK,EAAEC;AAA+B,CAAC,GAAGH,cAAc,KAAK;EACxF,MAAMI,mBAAmB,GAAG,IAAAC,iBAAU,EAACC,yCAAmB,CAAC;EAE3D,OAAQC,EAAe,IAA2B;IAChD,MAAML,KAAK,GAAGC,WAAW,IAAIC,mBAAmB,EAAEF,KAAK;IAEvD,IAAI,CAACA,KAAK,EAAE;MACV,IAAAM,0BAAY,EAAC,gEAAgE,CAAC;MAE9E,OAAO,CAAC,CAAC;IACX;IAEA,OAAO,IAAAC,yBAAc,EACnB,IAAAC,sCAAkB,EAAC;MACjBR,KAAK;MACLK;IACF,CAAC,CACH,CAAC;EACH,CAAC;AACH,CAAC;AAACI,OAAA,CAAAV,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_printWarning","_StyleHash","_StyledSystemProvider","_propsToThemedStyle","defaultOptions","useSxStyle","theme","optionTheme","cache","styledSystemContext","useContext","StyledSystemContext","sx","printWarning","getCachedStyle","propsToThemedStyle","exports"],"sourceRoot":"../../../src","sources":["hook/useSxStyle.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAMA,MAAMK,cAAiC,GAAG,CAAC,CAAC;AAErC,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK,EAAEC,WAAW;EAAEC;AAAyB,CAAC,GAAGJ,cAAc,KAAK;EAC/F,MAAMK,mBAAmB,GAAG,IAAAC,iBAAU,EAACC,yCAAmB,CAAC;EAE3D,OAAQC,EAAe,IAA2B;IAChD,MAAMN,KAAK,GAAGC,WAAW,IAAIE,mBAAmB,EAAEH,KAAK;IAEvD,IAAI,CAACA,KAAK,EAAE;MACV,IAAAO,0BAAY,EAAC,gEAAgE,CAAC;MAE9E,OAAO,CAAC,CAAC;IACX;IAEA,IAAIL,KAAK,EAAE;MACT,OAAO,IAAAM,yBAAc,EACnB,IAAAC,sCAAkB,EAAC;QACjBT,KAAK;QACLM;MACF,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACL,OAAO,IAAAG,sCAAkB,EAAC;QACxBT,KAAK;QACLM;MACF,CAAC,CAAC;IACJ;EACF,CAAC;AACH,CAAC;AAACI,OAAA,CAAAX,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -15,7 +15,8 @@ export const useSx = (props, {
15
15
  theme: optionTheme,
16
16
  styleType = defaultUseSxOptions.styleType,
17
17
  transform = defaultUseSxOptions.transform,
18
- fallback
18
+ fallback,
19
+ cache
19
20
  } = defaultUseSxOptions) => {
20
21
  const styledSystemContext = useContext(StyledSystemContext);
21
22
  const getStyle = useStableCallback(() => {
@@ -50,13 +51,22 @@ export const useSx = (props, {
50
51
  const composedStyle = !mergedSxStyle ? props?.style : props?.style ? StyleSheet.compose(mergedSxStyle, props.style) : mergedSxStyle;
51
52
  if (is.function(transform)) {
52
53
  const transformedSx = transform(StyleSheet.flatten(composedStyle));
53
- return getCachedStyle(StyleSheet.compose(composedStyle, propsToThemedStyle({
54
+ const ret = StyleSheet.compose(composedStyle, propsToThemedStyle({
54
55
  theme,
55
56
  sx: transformedSx,
56
57
  styleType
57
- })));
58
+ }));
59
+ if (cache) {
60
+ return getCachedStyle(ret);
61
+ } else {
62
+ return ret;
63
+ }
58
64
  } else {
59
- return getCachedStyle(composedStyle);
65
+ if (cache) {
66
+ return getCachedStyle(composedStyle);
67
+ } else {
68
+ return composedStyle;
69
+ }
60
70
  }
61
71
  });
62
72
  const filteredProps = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","useMemo","StyleSheet","is","_textStylePropList","_viewStylePropList","useStableCallback","mutateShortcutPropToOriginalKeys","printWarning","getCachedStyle","StyledSystemContext","propsToThemedStyle","defaultUseSxOptions","styleType","useSx","props","theme","optionTheme","transform","fallback","styledSystemContext","getStyle","skip","function","sx","mergedSx","mergedSxStyle","composedStyle","style","compose","transformedSx","flatten","filteredProps","ret","forEach","keyName"],"sourceRoot":"../../../src","sources":["hook/useSx.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useContext","useMemo","StyleSheet","is","_textStylePropList","_viewStylePropList","useStableCallback","mutateShortcutPropToOriginalKeys","printWarning","getCachedStyle","StyledSystemContext","propsToThemedStyle","defaultUseSxOptions","styleType","useSx","props","theme","optionTheme","transform","fallback","cache","styledSystemContext","getStyle","skip","function","sx","mergedSx","mergedSxStyle","composedStyle","style","compose","transformedSx","flatten","ret","filteredProps","forEach","keyName"],"sourceRoot":"../../../src","sources":["hook/useSx.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,8 @@ import { StyledSystemContext } from '../provider/StyledSystemProvider';
5
5
  import { propsToThemedStyle } from '../util/propsToThemedStyle';
6
6
  const defaultOptions = {};
7
7
  export const useSxStyle = ({
8
- theme: optionTheme
8
+ theme: optionTheme,
9
+ cache
9
10
  } = defaultOptions) => {
10
11
  const styledSystemContext = useContext(StyledSystemContext);
11
12
  return sx => {
@@ -14,10 +15,17 @@ export const useSxStyle = ({
14
15
  printWarning('theme not found from useSxStyle, empty style will be returned.');
15
16
  return {};
16
17
  }
17
- return getCachedStyle(propsToThemedStyle({
18
- theme,
19
- sx
20
- }));
18
+ if (cache) {
19
+ return getCachedStyle(propsToThemedStyle({
20
+ theme,
21
+ sx
22
+ }));
23
+ } else {
24
+ return propsToThemedStyle({
25
+ theme,
26
+ sx
27
+ });
28
+ }
21
29
  };
22
30
  };
23
31
  //# sourceMappingURL=useSxStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","printWarning","getCachedStyle","StyledSystemContext","propsToThemedStyle","defaultOptions","useSxStyle","theme","optionTheme","styledSystemContext","sx"],"sourceRoot":"../../../src","sources":["hook/useSxStyle.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAKlC,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,kBAAkB,QAAQ,4BAA4B;AAK/D,MAAMC,cAAiC,GAAG,CAAC,CAAC;AAE5C,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK,EAAEC;AAA+B,CAAC,GAAGH,cAAc,KAAK;EACxF,MAAMI,mBAAmB,GAAGT,UAAU,CAACG,mBAAmB,CAAC;EAE3D,OAAQO,EAAe,IAA2B;IAChD,MAAMH,KAAK,GAAGC,WAAW,IAAIC,mBAAmB,EAAEF,KAAK;IAEvD,IAAI,CAACA,KAAK,EAAE;MACVN,YAAY,CAAC,gEAAgE,CAAC;MAE9E,OAAO,CAAC,CAAC;IACX;IAEA,OAAOC,cAAc,CACnBE,kBAAkB,CAAC;MACjBG,KAAK;MACLG;IACF,CAAC,CACH,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useContext","printWarning","getCachedStyle","StyledSystemContext","propsToThemedStyle","defaultOptions","useSxStyle","theme","optionTheme","cache","styledSystemContext","sx"],"sourceRoot":"../../../src","sources":["hook/useSxStyle.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAKlC,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,kBAAkB,QAAQ,4BAA4B;AAM/D,MAAMC,cAAiC,GAAG,CAAC,CAAC;AAE5C,OAAO,MAAMC,UAAU,GAAGA,CAAC;EAAEC,KAAK,EAAEC,WAAW;EAAEC;AAAyB,CAAC,GAAGJ,cAAc,KAAK;EAC/F,MAAMK,mBAAmB,GAAGV,UAAU,CAACG,mBAAmB,CAAC;EAE3D,OAAQQ,EAAe,IAA2B;IAChD,MAAMJ,KAAK,GAAGC,WAAW,IAAIE,mBAAmB,EAAEH,KAAK;IAEvD,IAAI,CAACA,KAAK,EAAE;MACVN,YAAY,CAAC,gEAAgE,CAAC;MAE9E,OAAO,CAAC,CAAC;IACX;IAEA,IAAIQ,KAAK,EAAE;MACT,OAAOP,cAAc,CACnBE,kBAAkB,CAAC;QACjBG,KAAK;QACLI;MACF,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACL,OAAOP,kBAAkB,CAAC;QACxBG,KAAK;QACLI;MACF,CAAC,CAAC;IACJ;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -12,8 +12,9 @@ export type UseSxOptions = {
12
12
  styleType?: ThemedStyleType;
13
13
  transform?: StyleTransform;
14
14
  fallback?: StyleFallback;
15
+ cache?: boolean;
15
16
  };
16
- export declare const useSx: <S extends ViewStyle = ViewStyle, P extends Props = Props>(props?: P | null, { theme: optionTheme, styleType, transform, fallback, }?: UseSxOptions) => {
17
+ export declare const useSx: <S extends ViewStyle = ViewStyle, P extends Props = Props>(props?: P | null, { theme: optionTheme, styleType, transform, fallback, cache, }?: UseSxOptions) => {
17
18
  getStyle: () => StyleProp<S> | undefined;
18
19
  filteredProps: Omit<P, keyof {
19
20
  flex: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useSx.d.ts","sourceRoot":"","sources":["../../../../src/hook/useSx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,KAAK,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,WAAW,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,KAAK,qEACR,CAAC,GAAG,IAAI,4DAMb,YAAY;oBAIwB,UAAU,CAAC,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhE,CAAC"}
1
+ {"version":3,"file":"useSx.d.ts","sourceRoot":"","sources":["../../../../src/hook/useSx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGlE,KAAK,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;CAAE,GAAG,WAAW,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,WAAW,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,KAAK,qEACR,CAAC,GAAG,IAAI,mEAOb,YAAY;oBAIwB,UAAU,CAAC,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEhE,CAAC"}
@@ -3,6 +3,7 @@ import type { TextSxProps } from '../@types/SxProps';
3
3
  import type { ThemedDict } from '../@types/ThemedDict';
4
4
  export type UseSxStyleOptions = {
5
5
  theme?: ThemedDict;
6
+ cache?: boolean;
6
7
  };
7
- export declare const useSxStyle: ({ theme: optionTheme }?: UseSxStyleOptions) => (sx: TextSxProps) => StyleProp<TextStyle>;
8
+ export declare const useSxStyle: ({ theme: optionTheme, cache }?: UseSxStyleOptions) => (sx: TextSxProps) => StyleProp<TextStyle>;
8
9
  //# sourceMappingURL=useSxStyle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSxStyle.d.ts","sourceRoot":"","sources":["../../../../src/hook/useSxStyle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAGF,eAAO,MAAM,UAAU,4BAA4B,iBAAiB,UAGtD,WAAW,KAAG,UAAU,SAAS,CAgB9C,CAAC"}
1
+ {"version":3,"file":"useSxStyle.d.ts","sourceRoot":"","sources":["../../../../src/hook/useSxStyle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAGF,eAAO,MAAM,UAAU,mCAAmC,iBAAiB,UAG7D,WAAW,KAAG,UAAU,SAAS,CAuB9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-styled-system/core",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "React Native Styled System",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "types": "lib/typescript/src/index.d.ts",
@@ -67,5 +67,5 @@
67
67
  "**/*.test.*"
68
68
  ]
69
69
  },
70
- "gitHead": "9394bd04b9ed8d41ede9d52f2a973e439952fe7b"
70
+ "gitHead": "1b189c9a564f64eff637162378cb59e7610cf89e"
71
71
  }
@@ -20,19 +20,21 @@ function expectResult(
20
20
  styleType,
21
21
  transform,
22
22
  fallback,
23
+ cache,
23
24
  }: {
24
25
  expectation: object;
25
26
  filteredPropsExpectation?: object;
26
27
  styleType?: ThemedStyleType;
27
28
  transform?: StyleTransform;
28
29
  fallback?: StyleFallback;
30
+ cache?: boolean;
29
31
  },
30
32
  ) {
31
33
  const {
32
34
  result: {
33
35
  current: { getStyle, filteredProps },
34
36
  },
35
- } = renderHook(() => useSx(props, { theme, styleType, transform, fallback }));
37
+ } = renderHook(() => useSx(props, { theme, styleType, transform, fallback, cache }));
36
38
 
37
39
  if (expectation) {
38
40
  expect(StyleSheet.flatten(getStyle())).toEqual(expectation);
@@ -362,6 +364,7 @@ describe('cache', () => {
362
364
  emptyTheme,
363
365
  { bg: 'red', mt: 2 },
364
366
  {
367
+ cache: true,
365
368
  expectation: { marginTop: 2, backgroundColor: 'red' },
366
369
  },
367
370
  );
@@ -370,6 +373,7 @@ describe('cache', () => {
370
373
  emptyTheme,
371
374
  { mt: 2, sx: { bg: 'red' } },
372
375
  {
376
+ cache: true,
373
377
  expectation: { marginTop: 2, backgroundColor: 'red' },
374
378
  },
375
379
  );
package/src/hook/useSx.ts CHANGED
@@ -23,6 +23,7 @@ export type UseSxOptions = {
23
23
  styleType?: ThemedStyleType;
24
24
  transform?: StyleTransform;
25
25
  fallback?: StyleFallback;
26
+ cache?: boolean;
26
27
  };
27
28
  const defaultUseSxOptions: UseSxOptions = { styleType: 'ViewStyle' };
28
29
  export const useSx = <S extends ViewStyle = ViewStyle, P extends Props = Props>(
@@ -32,6 +33,7 @@ export const useSx = <S extends ViewStyle = ViewStyle, P extends Props = Props>(
32
33
  styleType = defaultUseSxOptions.styleType,
33
34
  transform = defaultUseSxOptions.transform,
34
35
  fallback,
36
+ cache,
35
37
  }: UseSxOptions = defaultUseSxOptions,
36
38
  ) => {
37
39
  const styledSystemContext = useContext(StyledSystemContext);
@@ -76,14 +78,22 @@ export const useSx = <S extends ViewStyle = ViewStyle, P extends Props = Props>(
76
78
  if (is.function(transform)) {
77
79
  const transformedSx = transform(StyleSheet.flatten(composedStyle));
78
80
 
79
- return getCachedStyle(
80
- StyleSheet.compose(
81
- composedStyle,
82
- propsToThemedStyle({ theme, sx: transformedSx, styleType }) as S,
83
- ),
81
+ const ret = StyleSheet.compose(
82
+ composedStyle,
83
+ propsToThemedStyle({ theme, sx: transformedSx, styleType }),
84
84
  );
85
+
86
+ if (cache) {
87
+ return getCachedStyle(ret);
88
+ } else {
89
+ return ret as StyleProp<S>;
90
+ }
85
91
  } else {
86
- return getCachedStyle(composedStyle);
92
+ if (cache) {
93
+ return getCachedStyle(composedStyle);
94
+ } else {
95
+ return composedStyle as StyleProp<S>;
96
+ }
87
97
  }
88
98
  });
89
99
 
@@ -10,10 +10,11 @@ import { propsToThemedStyle } from '../util/propsToThemedStyle';
10
10
 
11
11
  export type UseSxStyleOptions = {
12
12
  theme?: ThemedDict;
13
+ cache?: boolean;
13
14
  };
14
15
  const defaultOptions: UseSxStyleOptions = {};
15
16
 
16
- export const useSxStyle = ({ theme: optionTheme }: UseSxStyleOptions = defaultOptions) => {
17
+ export const useSxStyle = ({ theme: optionTheme, cache }: UseSxStyleOptions = defaultOptions) => {
17
18
  const styledSystemContext = useContext(StyledSystemContext);
18
19
 
19
20
  return (sx: TextSxProps): StyleProp<TextStyle> => {
@@ -25,11 +26,18 @@ export const useSxStyle = ({ theme: optionTheme }: UseSxStyleOptions = defaultOp
25
26
  return {};
26
27
  }
27
28
 
28
- return getCachedStyle(
29
- propsToThemedStyle({
29
+ if (cache) {
30
+ return getCachedStyle(
31
+ propsToThemedStyle({
32
+ theme,
33
+ sx,
34
+ }),
35
+ );
36
+ } else {
37
+ return propsToThemedStyle({
30
38
  theme,
31
39
  sx,
32
- }),
33
- );
40
+ });
41
+ }
34
42
  };
35
43
  };