@draftbit/core 49.3.2-dd8f44.2 → 49.4.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.
- package/lib/commonjs/components/PinInput/PinInput.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleFlashList.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleFlatList.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleScrollView.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleSectionList.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/SimpleStyleSwipeableList.js +1 -1
- package/lib/commonjs/components/SimpleStyleScrollables/useSplitContentContainerStyles.js +1 -0
- package/lib/commonjs/components/TextInput.js +1 -1
- package/lib/typescript/src/components/PinInput/PinInput.js +5 -2
- package/lib/typescript/src/components/PinInput/PinInput.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleFlashList.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleFlashList.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleFlatList.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleFlatList.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleScrollView.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleScrollView.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleSectionList.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleSectionList.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleSwipeableList.js +8 -3
- package/lib/typescript/src/components/SimpleStyleScrollables/SimpleStyleSwipeableList.js.map +1 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.d.ts +8 -0
- package/lib/typescript/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.js +43 -0
- package/lib/typescript/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.js.map +1 -0
- package/lib/typescript/src/components/TextInput.d.ts +1 -0
- package/lib/typescript/src/components/TextInput.js +7 -3
- package/lib/typescript/src/components/TextInput.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/components/PinInput/PinInput.js +5 -2
- package/src/components/PinInput/PinInput.js.map +1 -1
- package/src/components/PinInput/PinInput.tsx +5 -0
- package/src/components/SimpleStyleScrollables/SimpleStyleFlashList.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleFlashList.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleFlashList.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleFlatList.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleFlatList.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleFlatList.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleKeyboardAwareScrollView.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleMasonryFlashList.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleScrollView.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleScrollView.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleScrollView.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleSectionList.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleSectionList.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleSectionList.tsx +13 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleSwipeableList.js +8 -3
- package/src/components/SimpleStyleScrollables/SimpleStyleSwipeableList.js.map +1 -1
- package/src/components/SimpleStyleScrollables/SimpleStyleSwipeableList.tsx +13 -3
- package/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.js +43 -0
- package/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.js.map +1 -0
- package/src/components/SimpleStyleScrollables/useSplitContentContainerStyles.ts +60 -0
- package/src/components/TextInput.js +7 -3
- package/src/components/TextInput.js.map +1 -1
- package/src/components/TextInput.tsx +18 -1
- package/lib/commonjs/components/SimpleStyleScrollables/splitContentContainerStyles.js +0 -1
- package/lib/typescript/src/components/SimpleStyleScrollables/splitContentContainerStyles.d.ts +0 -6
- package/lib/typescript/src/components/SimpleStyleScrollables/splitContentContainerStyles.js +0 -34
- package/lib/typescript/src/components/SimpleStyleScrollables/splitContentContainerStyles.js.map +0 -1
- package/src/components/SimpleStyleScrollables/splitContentContainerStyles.js +0 -34
- package/src/components/SimpleStyleScrollables/splitContentContainerStyles.js.map +0 -1
- package/src/components/SimpleStyleScrollables/splitContentContainerStyles.ts +0 -40
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@draftbit/core",
|
|
3
|
-
"version": "49.
|
|
3
|
+
"version": "49.4.0",
|
|
4
4
|
"description": "Core (non-native) Components",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"types": "lib/typescript/src/index.d.ts",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@date-io/date-fns": "^1.3.13",
|
|
43
43
|
"@draftbit/react-theme-provider": "^2.1.1",
|
|
44
|
-
"@draftbit/types": "
|
|
44
|
+
"@draftbit/types": "49.2.6",
|
|
45
45
|
"@expo/vector-icons": "^13.0.0",
|
|
46
|
-
"@gorhom/bottom-sheet": "
|
|
46
|
+
"@gorhom/bottom-sheet": "5.0.0-alpha.7",
|
|
47
47
|
"@material-ui/core": "^4.11.0",
|
|
48
48
|
"@material-ui/pickers": "^3.2.10",
|
|
49
49
|
"@react-native-community/slider": "4.4.2",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
],
|
|
114
114
|
"testEnvironment": "node"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "48a3a1df8b00b2a10806b7ef102d2c446b6a5ba6"
|
|
117
117
|
}
|
|
@@ -5,7 +5,7 @@ import { CodeField, useClearByFocusCell, } from "react-native-confirmation-code-
|
|
|
5
5
|
import { withTheme } from "../../theming";
|
|
6
6
|
import PinInputText from "./PinInputText";
|
|
7
7
|
import { extractStyles } from "../../utilities";
|
|
8
|
-
const PinInput = React.forwardRef(({ theme, onInputFull, cellCount = 4, clearOnCellFocus = true, blurOnFull = true, renderItem, value, onChangeText, focusedBorderColor = theme.colors.primary, focusedBackgroundColor, focusedBorderWidth, focusedTextColor, style, ...rest }, ref) => {
|
|
8
|
+
const PinInput = React.forwardRef(({ theme, onInputFull, cellCount = 4, clearOnCellFocus = true, blurOnFull = true, renderItem, value, onChangeText, focusedBorderColor = theme.colors.primary, focusedBackgroundColor, focusedBorderWidth, focusedTextColor, secureTextEntry, style, ...rest }, ref) => {
|
|
9
9
|
const newPinInputRef = React.useRef(null);
|
|
10
10
|
// Use the provided ref or default to new ref when not provided
|
|
11
11
|
const pinInputRef = ref
|
|
@@ -28,6 +28,9 @@ const PinInput = React.forwardRef(({ theme, onInputFull, cellCount = 4, clearOnC
|
|
|
28
28
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
29
|
}, [value, cellCount, blurOnFull, pinInputRef]);
|
|
30
30
|
const renderCell = (cellValue, index, isFocused) => {
|
|
31
|
+
if (secureTextEntry && cellValue) {
|
|
32
|
+
cellValue = "•";
|
|
33
|
+
}
|
|
31
34
|
const cell = (renderItem === null || renderItem === void 0 ? void 0 : renderItem({ cellValue, index, isFocused })) || (React.createElement(View, { testID: "default-code-input-cell", style: [
|
|
32
35
|
styles.cell,
|
|
33
36
|
{ borderColor: theme.colors.disabled },
|
|
@@ -59,7 +62,7 @@ const PinInput = React.forwardRef(({ theme, onInputFull, cellCount = 4, clearOnC
|
|
|
59
62
|
{ height: "100%" },
|
|
60
63
|
//@ts-ignore Web specific prop. Removes default blue outline that appears on the hidden TextInput
|
|
61
64
|
Platform.OS === "web" ? { outlineWidth: 0 } : {},
|
|
62
|
-
], InputComponent: TextInput, cellCount: cellCount, renderCell: ({ symbol: cellValue, index, isFocused }) => (React.createElement(React.Fragment, { key: index }, renderCell(cellValue, index, isFocused))), ...rest }));
|
|
65
|
+
], InputComponent: TextInput, cellCount: cellCount, renderCell: ({ symbol: cellValue, index, isFocused }) => (React.createElement(React.Fragment, { key: index }, renderCell(cellValue, index, isFocused))), secureTextEntry: secureTextEntry, ...rest }));
|
|
63
66
|
});
|
|
64
67
|
const styles = StyleSheet.create({
|
|
65
68
|
rootContainer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinInput.js","sourceRoot":"","sources":["PinInput.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PinInput.js","sourceRoot":"","sources":["PinInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ const PinInput = React.forwardRef<NativeTextInput, PinInputProps>(
|
|
|
53
53
|
focusedBackgroundColor,
|
|
54
54
|
focusedBorderWidth,
|
|
55
55
|
focusedTextColor,
|
|
56
|
+
secureTextEntry,
|
|
56
57
|
style,
|
|
57
58
|
...rest
|
|
58
59
|
},
|
|
@@ -88,6 +89,9 @@ const PinInput = React.forwardRef<NativeTextInput, PinInputProps>(
|
|
|
88
89
|
index: number,
|
|
89
90
|
isFocused: boolean
|
|
90
91
|
) => {
|
|
92
|
+
if (secureTextEntry && cellValue) {
|
|
93
|
+
cellValue = "•";
|
|
94
|
+
}
|
|
91
95
|
const cell = renderItem?.({ cellValue, index, isFocused }) || (
|
|
92
96
|
<View
|
|
93
97
|
testID="default-code-input-cell"
|
|
@@ -147,6 +151,7 @@ const PinInput = React.forwardRef<NativeTextInput, PinInputProps>(
|
|
|
147
151
|
{renderCell(cellValue, index, isFocused)}
|
|
148
152
|
</React.Fragment>
|
|
149
153
|
)}
|
|
154
|
+
secureTextEntry={secureTextEntry}
|
|
150
155
|
{...rest}
|
|
151
156
|
/>
|
|
152
157
|
);
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FlashList } from "@shopify/flash-list";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A FlashList wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleFlashList = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
12
|
+
return (React.createElement(FlashList, { onLayout: (event) => {
|
|
13
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
14
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
15
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
11
16
|
};
|
|
12
17
|
export default SimpleStyleFlashList;
|
|
13
18
|
//# sourceMappingURL=SimpleStyleFlashList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleFlashList.js","sourceRoot":"","sources":["SimpleStyleFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleFlashList.js","sourceRoot":"","sources":["SimpleStyleFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAAgB,EAC3C,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAC0C,EAAE,EAAE;IACrD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO,CACL,oBAAC,SAAS,IACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqC,KACxD,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FlashList } from "@shopify/flash-list";
|
|
3
3
|
import type { FlashListProps, ContentStyle } from "@shopify/flash-list";
|
|
4
|
-
import
|
|
4
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A FlashList wrapper that takes a single `style` prop and internally extracts
|
|
@@ -11,11 +11,21 @@ const SimpleStyleFlashList = <T extends any>({
|
|
|
11
11
|
style: styleProp,
|
|
12
12
|
...rest
|
|
13
13
|
}: Omit<FlashListProps<T>, "contentContainerStyle">) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
15
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
16
|
+
|
|
17
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
18
|
+
styleProp,
|
|
19
|
+
measuredWidth,
|
|
20
|
+
measuredHeight
|
|
21
|
+
);
|
|
16
22
|
|
|
17
23
|
return (
|
|
18
24
|
<FlashList
|
|
25
|
+
onLayout={(event) => {
|
|
26
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
27
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
28
|
+
}}
|
|
19
29
|
style={style}
|
|
20
30
|
contentContainerStyle={contentContainerStyle as ContentStyle}
|
|
21
31
|
{...rest}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FlatList } from "react-native";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A FlatList wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleFlatList = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
12
|
+
return (React.createElement(FlatList, { onLayout: (event) => {
|
|
13
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
14
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
15
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
11
16
|
};
|
|
12
17
|
export default SimpleStyleFlatList;
|
|
13
18
|
//# sourceMappingURL=SimpleStyleFlatList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleFlatList.js","sourceRoot":"","sources":["SimpleStyleFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleFlatList.js","sourceRoot":"","sources":["SimpleStyleFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAgB,EAC1C,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EACyC,EAAE,EAAE;IACpD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,IACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqB,KACxC,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FlatList } from "react-native";
|
|
3
3
|
import type { FlatListProps } from "react-native";
|
|
4
|
-
import
|
|
4
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A FlatList wrapper that takes a single `style` prop and internally extracts
|
|
@@ -11,11 +11,21 @@ const SimpleStyleFlatList = <T extends any>({
|
|
|
11
11
|
style: styleProp,
|
|
12
12
|
...rest
|
|
13
13
|
}: Omit<FlatListProps<T>, "contentContainerStyle">) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
15
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
16
|
+
|
|
17
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
18
|
+
styleProp,
|
|
19
|
+
measuredWidth,
|
|
20
|
+
measuredHeight
|
|
21
|
+
);
|
|
16
22
|
|
|
17
23
|
return (
|
|
18
24
|
<FlatList
|
|
25
|
+
onLayout={(event) => {
|
|
26
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
27
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
28
|
+
}}
|
|
19
29
|
style={style}
|
|
20
30
|
contentContainerStyle={contentContainerStyle}
|
|
21
31
|
{...rest}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A KeyboardAwareScrollView wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleKeyboardAwareScrollView = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
12
|
+
return (React.createElement(KeyboardAwareScrollView, { onLayout: (event) => {
|
|
13
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
14
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
15
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
11
16
|
};
|
|
12
17
|
export default SimpleStyleKeyboardAwareScrollView;
|
|
13
18
|
//# sourceMappingURL=SimpleStyleKeyboardAwareScrollView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleKeyboardAwareScrollView.js","sourceRoot":"","sources":["SimpleStyleKeyboardAwareScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleKeyboardAwareScrollView.js","sourceRoot":"","sources":["SimpleStyleKeyboardAwareScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,kCAAkC,GAEpC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO,CACL,oBAAC,uBAAuB,IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqB,KACxC,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kCAAkC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";
|
|
3
3
|
import type { KeyboardAwareScrollViewProps } from "react-native-keyboard-aware-scroll-view";
|
|
4
|
-
import
|
|
4
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A KeyboardAwareScrollView wrapper that takes a single `style` prop and internally extracts
|
|
@@ -10,11 +10,21 @@ import splitContentContainerStyles from "./splitContentContainerStyles";
|
|
|
10
10
|
const SimpleStyleKeyboardAwareScrollView: React.FC<
|
|
11
11
|
Omit<KeyboardAwareScrollViewProps, "contentContainerStyle">
|
|
12
12
|
> = ({ style: styleProp, ...rest }) => {
|
|
13
|
-
const
|
|
14
|
-
|
|
13
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
14
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
15
|
+
|
|
16
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
17
|
+
styleProp,
|
|
18
|
+
measuredWidth,
|
|
19
|
+
measuredHeight
|
|
20
|
+
);
|
|
15
21
|
|
|
16
22
|
return (
|
|
17
23
|
<KeyboardAwareScrollView
|
|
24
|
+
onLayout={(event) => {
|
|
25
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
26
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
27
|
+
}}
|
|
18
28
|
style={style}
|
|
19
29
|
contentContainerStyle={contentContainerStyle}
|
|
20
30
|
{...rest}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MasonryFlashList } from "@shopify/flash-list";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A MasonryFlashList wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleMasonryFlashList = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
12
|
+
return (React.createElement(MasonryFlashList, { onLayout: (event) => {
|
|
13
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
14
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
15
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
11
16
|
};
|
|
12
17
|
export default SimpleStyleMasonryFlashList;
|
|
13
18
|
//# sourceMappingURL=SimpleStyleMasonryFlashList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleMasonryFlashList.js","sourceRoot":"","sources":["SimpleStyleMasonryFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleMasonryFlashList.js","sourceRoot":"","sources":["SimpleStyleMasonryFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,2BAA2B,GAAG,CAAgB,EAClD,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EACiD,EAAE,EAAE;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO,CACL,oBAAC,gBAAgB,IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqC,KACxD,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MasonryFlashList } from "@shopify/flash-list";
|
|
3
3
|
import type { MasonryFlashListProps, ContentStyle } from "@shopify/flash-list";
|
|
4
|
-
import
|
|
4
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A MasonryFlashList wrapper that takes a single `style` prop and internally extracts
|
|
@@ -11,11 +11,21 @@ const SimpleStyleMasonryFlashList = <T extends any>({
|
|
|
11
11
|
style: styleProp,
|
|
12
12
|
...rest
|
|
13
13
|
}: Omit<MasonryFlashListProps<T>, "contentContainerStyle">) => {
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
15
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
16
|
+
|
|
17
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
18
|
+
styleProp,
|
|
19
|
+
measuredWidth,
|
|
20
|
+
measuredHeight
|
|
21
|
+
);
|
|
16
22
|
|
|
17
23
|
return (
|
|
18
24
|
<MasonryFlashList
|
|
25
|
+
onLayout={(event) => {
|
|
26
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
27
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
28
|
+
}}
|
|
19
29
|
style={style}
|
|
20
30
|
contentContainerStyle={contentContainerStyle as ContentStyle}
|
|
21
31
|
{...rest}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ScrollView } from "react-native";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A ScrollView wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleScrollView = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
12
|
+
return (React.createElement(ScrollView, { onLayout: (event) => {
|
|
13
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
14
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
15
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
11
16
|
};
|
|
12
17
|
export default SimpleStyleScrollView;
|
|
13
18
|
//# sourceMappingURL=SimpleStyleScrollView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleScrollView.js","sourceRoot":"","sources":["SimpleStyleScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleScrollView.js","sourceRoot":"","sources":["SimpleStyleScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,qBAAqB,GAEvB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACpC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO,CACL,oBAAC,UAAU,IACT,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqB,KACxC,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ScrollView } from "react-native";
|
|
3
3
|
import type { ScrollViewProps } from "react-native";
|
|
4
|
-
import
|
|
4
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A ScrollView wrapper that takes a single `style` prop and internally extracts
|
|
@@ -10,11 +10,21 @@ import splitContentContainerStyles from "./splitContentContainerStyles";
|
|
|
10
10
|
const SimpleStyleScrollView: React.FC<
|
|
11
11
|
Omit<ScrollViewProps, "contentContainerStyle">
|
|
12
12
|
> = ({ style: styleProp, ...rest }) => {
|
|
13
|
-
const
|
|
14
|
-
|
|
13
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
14
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
15
|
+
|
|
16
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
17
|
+
styleProp,
|
|
18
|
+
measuredWidth,
|
|
19
|
+
measuredHeight
|
|
20
|
+
);
|
|
15
21
|
|
|
16
22
|
return (
|
|
17
23
|
<ScrollView
|
|
24
|
+
onLayout={(event) => {
|
|
25
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
26
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
27
|
+
}}
|
|
18
28
|
style={style}
|
|
19
29
|
contentContainerStyle={contentContainerStyle}
|
|
20
30
|
{...rest}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SectionList } from "../SectionList";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A SectionList wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleSectionList = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
10
12
|
return (
|
|
11
13
|
//@ts-ignore contentContainerStyle has different types for FlashList and FlatList implmentations and confuses TS
|
|
12
|
-
React.createElement(SectionList, {
|
|
14
|
+
React.createElement(SectionList, { onLayout: (event) => {
|
|
15
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
16
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
17
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
13
18
|
};
|
|
14
19
|
export default SimpleStyleSectionList;
|
|
15
20
|
//# sourceMappingURL=SimpleStyleSectionList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleSectionList.js","sourceRoot":"","sources":["SimpleStyleSectionList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleSectionList.js","sourceRoot":"","sources":["SimpleStyleSectionList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAmC,EAChE,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAIR,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;IACL,gHAAgH;IAChH,oBAAC,WAAW,IACV,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqB,KACxC,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type {
|
|
|
4
4
|
FlatListSectionListProps,
|
|
5
5
|
FlashListSectionListProps,
|
|
6
6
|
} from "../SectionList";
|
|
7
|
-
import
|
|
7
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* A SectionList wrapper that takes a single `style` prop and internally extracts
|
|
@@ -17,12 +17,22 @@ const SimpleStyleSectionList = <T extends { [key: string]: any }>({
|
|
|
17
17
|
FlatListSectionListProps<T> | FlashListSectionListProps<T>,
|
|
18
18
|
"contentContainerStyle"
|
|
19
19
|
>) => {
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
21
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
22
|
+
|
|
23
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
24
|
+
styleProp,
|
|
25
|
+
measuredWidth,
|
|
26
|
+
measuredHeight
|
|
27
|
+
);
|
|
22
28
|
|
|
23
29
|
return (
|
|
24
30
|
//@ts-ignore contentContainerStyle has different types for FlashList and FlatList implmentations and confuses TS
|
|
25
31
|
<SectionList
|
|
32
|
+
onLayout={(event) => {
|
|
33
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
34
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
35
|
+
}}
|
|
26
36
|
style={style}
|
|
27
37
|
contentContainerStyle={contentContainerStyle}
|
|
28
38
|
{...rest}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { SwipeableList } from "../SwipeableItem";
|
|
3
|
-
import
|
|
3
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
4
4
|
/**
|
|
5
5
|
* A SwipeableList wrapper that takes a single `style` prop and internally extracts
|
|
6
6
|
* the appropriate style keys into the `contentContainerStyle`
|
|
7
7
|
*/
|
|
8
8
|
const SimpleStyleSwipeableList = ({ style: styleProp, ...rest }) => {
|
|
9
|
-
const
|
|
9
|
+
const [measuredWidth, setMeasuredWidth] = React.useState();
|
|
10
|
+
const [measuredHeight, setMeasuredHeight] = React.useState();
|
|
11
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(styleProp, measuredWidth, measuredHeight);
|
|
10
12
|
return (
|
|
11
13
|
//@ts-ignore contentContainerStyle has different types for FlashList and FlatList implmentations and confuses TS
|
|
12
|
-
React.createElement(SwipeableList, {
|
|
14
|
+
React.createElement(SwipeableList, { onLayout: (event) => {
|
|
15
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
16
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
17
|
+
}, style: style, contentContainerStyle: contentContainerStyle, ...rest }));
|
|
13
18
|
};
|
|
14
19
|
export default SimpleStyleSwipeableList;
|
|
15
20
|
//# sourceMappingURL=SimpleStyleSwipeableList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleStyleSwipeableList.js","sourceRoot":"","sources":["SimpleStyleSwipeableList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,OAAO,
|
|
1
|
+
{"version":3,"file":"SimpleStyleSwipeableList.js","sourceRoot":"","sources":["SimpleStyleSwipeableList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAE9E;;;GAGG;AACH,MAAM,wBAAwB,GAAG,CAAmC,EAClE,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAIR,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IACnE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,8BAA8B,CACrE,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;IACL,gHAAgH;IAChH,oBAAC,aAAa,IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,qBAAqB,KACxC,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type {
|
|
|
4
4
|
FlashListSwipeableListProps,
|
|
5
5
|
FlatListSwipeableListProps,
|
|
6
6
|
} from "../SwipeableItem";
|
|
7
|
-
import
|
|
7
|
+
import useSplitContentContainerStyles from "./useSplitContentContainerStyles";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* A SwipeableList wrapper that takes a single `style` prop and internally extracts
|
|
@@ -17,12 +17,22 @@ const SimpleStyleSwipeableList = <T extends { [key: string]: any }>({
|
|
|
17
17
|
FlashListSwipeableListProps<T> | FlatListSwipeableListProps<T>,
|
|
18
18
|
"contentContainerStyle"
|
|
19
19
|
>) => {
|
|
20
|
-
const
|
|
21
|
-
|
|
20
|
+
const [measuredWidth, setMeasuredWidth] = React.useState<number>();
|
|
21
|
+
const [measuredHeight, setMeasuredHeight] = React.useState<number>();
|
|
22
|
+
|
|
23
|
+
const { style, contentContainerStyle } = useSplitContentContainerStyles(
|
|
24
|
+
styleProp,
|
|
25
|
+
measuredWidth,
|
|
26
|
+
measuredHeight
|
|
27
|
+
);
|
|
22
28
|
|
|
23
29
|
return (
|
|
24
30
|
//@ts-ignore contentContainerStyle has different types for FlashList and FlatList implmentations and confuses TS
|
|
25
31
|
<SwipeableList
|
|
32
|
+
onLayout={(event) => {
|
|
33
|
+
setMeasuredWidth(event.nativeEvent.layout.width);
|
|
34
|
+
setMeasuredHeight(event.nativeEvent.layout.height);
|
|
35
|
+
}}
|
|
26
36
|
style={style}
|
|
27
37
|
contentContainerStyle={contentContainerStyle}
|
|
28
38
|
{...rest}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { StyleSheet } from "react-native";
|
|
2
|
+
import { pick, omit } from "lodash";
|
|
3
|
+
import { useDeepCompareMemo } from "../../utilities";
|
|
4
|
+
export const contentContainerStyleNames = [
|
|
5
|
+
"padding",
|
|
6
|
+
"paddingBottom",
|
|
7
|
+
"paddingEnd",
|
|
8
|
+
"paddingHorizontal",
|
|
9
|
+
"paddingLeft",
|
|
10
|
+
"paddingRight",
|
|
11
|
+
"paddingStart",
|
|
12
|
+
"paddingTop",
|
|
13
|
+
"paddingVertical",
|
|
14
|
+
"justifyContent",
|
|
15
|
+
"alignItems",
|
|
16
|
+
"alignContent",
|
|
17
|
+
"flexDirection",
|
|
18
|
+
"flexWrap",
|
|
19
|
+
];
|
|
20
|
+
export default function useSplitContentContainerStyles(originalStyle, measuredWidth, measuredHeight) {
|
|
21
|
+
return useDeepCompareMemo(() => {
|
|
22
|
+
const flattenedStyle = StyleSheet.flatten(originalStyle);
|
|
23
|
+
let contentContainerStyle = pick(flattenedStyle, contentContainerStyleNames);
|
|
24
|
+
// contentContainerStyle should always at least fill the parent to ensure sizing changes reflects properly on component and children
|
|
25
|
+
if (measuredWidth) {
|
|
26
|
+
contentContainerStyle.minWidth = measuredWidth;
|
|
27
|
+
}
|
|
28
|
+
if (measuredHeight) {
|
|
29
|
+
contentContainerStyle.minHeight = measuredHeight;
|
|
30
|
+
}
|
|
31
|
+
let style = omit(flattenedStyle, contentContainerStyleNames);
|
|
32
|
+
// ScrollView's implementation defaults flexGrow to 1, which prevents the ability to set a static size or use a flex larger than 1
|
|
33
|
+
// See: https://github.com/facebook/react-native/issues/3422
|
|
34
|
+
if (style.flex === undefined) {
|
|
35
|
+
style = { flexGrow: 0, ...style };
|
|
36
|
+
}
|
|
37
|
+
else if (style.flexGrow === undefined) {
|
|
38
|
+
style = { flexGrow: style.flex, ...style };
|
|
39
|
+
}
|
|
40
|
+
return { style, contentContainerStyle };
|
|
41
|
+
}, [originalStyle, measuredWidth, measuredHeight]);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=useSplitContentContainerStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSplitContentContainerStyles.js","sourceRoot":"","sources":["useSplitContentContainerStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAOrD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,SAAS;IACT,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,8BAA8B,CACpD,aAAmC,EACnC,aAAsB,EACtB,cAAuB;IAEvB,OAAO,kBAAkB,CAAS,GAAG,EAAE;QACrC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,qBAAqB,GAAG,IAAI,CAC9B,cAAc,EACd,0BAA0B,CAC3B,CAAC;QAEF,oIAAoI;QACpI,IAAI,aAAa,EAAE;YACjB,qBAAqB,CAAC,QAAQ,GAAG,aAAa,CAAC;SAChD;QACD,IAAI,cAAc,EAAE;YAClB,qBAAqB,CAAC,SAAS,GAAG,cAAc,CAAC;SAClD;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAE7D,kIAAkI;QAClI,4DAA4D;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;SACnC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;YACvC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;SAC5C;QAED,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AACrD,CAAC"}
|