@xhsreds/reds-rn-next 0.10.1-beta202511241537 → 0.10.1-beta202512021041
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/coverage/.tmp/coverage-0.json +1 -1
- package/coverage/.tmp/coverage-1.json +1 -1
- package/coverage/.tmp/coverage-10.json +1 -1
- package/coverage/.tmp/coverage-11.json +1 -1
- package/coverage/.tmp/coverage-12.json +1 -1
- package/coverage/.tmp/coverage-13.json +1 -1
- package/coverage/.tmp/coverage-14.json +1 -1
- package/coverage/.tmp/coverage-15.json +1 -1
- package/coverage/.tmp/coverage-16.json +1 -1
- package/coverage/.tmp/coverage-17.json +1 -1
- package/coverage/.tmp/coverage-18.json +1 -1
- package/coverage/.tmp/coverage-19.json +1 -1
- package/coverage/.tmp/coverage-2.json +1 -1
- package/coverage/.tmp/coverage-20.json +1 -1
- package/coverage/.tmp/coverage-21.json +1 -1
- package/coverage/.tmp/coverage-22.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-29.json +1 -1
- package/coverage/.tmp/coverage-3.json +1 -1
- package/coverage/.tmp/coverage-30.json +1 -1
- package/coverage/.tmp/coverage-32.json +1 -1
- package/coverage/.tmp/coverage-33.json +1 -1
- package/coverage/.tmp/coverage-34.json +1 -1
- package/coverage/.tmp/coverage-36.json +1 -1
- package/coverage/.tmp/coverage-37.json +1 -1
- package/coverage/.tmp/coverage-38.json +1 -1
- package/coverage/.tmp/coverage-39.json +1 -1
- package/coverage/.tmp/coverage-4.json +1 -1
- package/coverage/.tmp/coverage-40.json +1 -1
- package/coverage/.tmp/coverage-41.json +1 -1
- package/coverage/.tmp/coverage-5.json +1 -1
- package/coverage/.tmp/coverage-6.json +1 -1
- package/coverage/.tmp/coverage-7.json +1 -1
- package/coverage/.tmp/coverage-8.json +1 -1
- package/coverage/.tmp/coverage-9.json +1 -1
- package/lib/cjs/_chunks/hA3qoGpS.js.map +1 -1
- package/lib/cjs/components/ActionablePopover/ActionablePopover.js +2 -2
- package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
- package/lib/cjs/components/Divider/Divider.js +33 -12
- package/lib/cjs/components/Divider/Divider.js.map +1 -1
- package/lib/cjs/components/Divider/index.js +3 -3
- package/lib/cjs/components/Divider/styles.js +36 -30
- package/lib/cjs/components/Divider/styles.js.map +1 -1
- package/lib/cjs/components/List/ListItem/ListItem.js +4 -2
- package/lib/cjs/components/List/ListItem/ListItem.js.map +1 -1
- package/lib/cjs/components/PickerView/Wheel.js +57 -16
- package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
- package/lib/cjs/components/Stepper/Stepper.js +1 -1
- package/lib/cjs/components/Stepper/Stepper.js.map +1 -1
- package/lib/cjs/components/Stepper/styles.js +2 -2
- package/lib/cjs/components/Stepper/styles.js.map +1 -1
- package/lib/esm/_chunks/C0MWVrjO.js.map +1 -1
- package/lib/esm/components/ActionablePopover/ActionablePopover.js +1 -1
- package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
- package/lib/esm/components/Divider/Divider.js +35 -14
- package/lib/esm/components/Divider/Divider.js.map +1 -1
- package/lib/esm/components/Divider/index.js +3 -3
- package/lib/esm/components/Divider/styles.js +36 -30
- package/lib/esm/components/Divider/styles.js.map +1 -1
- package/lib/esm/components/List/ListItem/ListItem.js +5 -3
- package/lib/esm/components/List/ListItem/ListItem.js.map +1 -1
- package/lib/esm/components/PickerView/Wheel.js +57 -16
- package/lib/esm/components/PickerView/Wheel.js.map +1 -1
- package/lib/esm/components/Stepper/Stepper.js +1 -1
- package/lib/esm/components/Stepper/Stepper.js.map +1 -1
- package/lib/esm/components/Stepper/styles.js +2 -2
- package/lib/esm/components/Stepper/styles.js.map +1 -1
- package/lib/src/components/Divider/styles.d.ts +3 -2
- package/lib/src/components/List/ListItem/ListItem.d.ts +2 -0
- package/lib/src/components/Stepper/interface/index.d.ts +1 -0
- package/lib/src/components/Stepper/styles.d.ts +2 -2
- package/lib/types/components/Divider/styles.d.ts +3 -2
- package/lib/types/components/List/ListItem/ListItem.d.ts +2 -0
- package/lib/types/components/Stepper/interface/index.d.ts +1 -0
- package/lib/types/components/Stepper/styles.d.ts +2 -2
- package/package.json +2 -2
- package/src/components/ActionablePopover/ActionablePopover.tsx +10 -1
- package/src/components/Divider/Divider.tsx +29 -9
- package/src/components/Divider/demo/index.tsx +12 -6
- package/src/components/Divider/styles.ts +33 -30
- package/src/components/List/ListItem/ListItem.tsx +12 -1
- package/src/components/List/demo/index.tsx +2 -0
- package/src/components/PickerView/Wheel.tsx +59 -12
- package/src/components/Stepper/Stepper.tsx +1 -1
- package/src/components/Stepper/demo/index.tsx +1 -1
- package/src/components/Stepper/doc/index.mdx +1 -0
- package/src/components/Stepper/interface/index.ts +1 -0
- package/src/components/Stepper/styles.ts +2 -2
|
@@ -8,13 +8,13 @@ require('../../_chunks/C9tZEm0t.js');
|
|
|
8
8
|
require('react');
|
|
9
9
|
require('react-native');
|
|
10
10
|
require('./styles.js');
|
|
11
|
+
require('../../pvCount/useUnmountedProcess.js');
|
|
12
|
+
require('@xhs/reds-apm/src/index.native');
|
|
13
|
+
require('../../pvCount/pvData.js');
|
|
11
14
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
12
15
|
require('@xhsreds/reds-token-next');
|
|
13
|
-
require('@xhs/reds-apm/src/index.native');
|
|
14
16
|
require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
15
17
|
require('../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
|
|
16
|
-
require('../../pvCount/useUnmountedProcess.js');
|
|
17
|
-
require('../../pvCount/pvData.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
@@ -3,33 +3,26 @@
|
|
|
3
3
|
var _rollupPluginBabelHelpers = require('../../_chunks/C9tZEm0t.js');
|
|
4
4
|
var reactNative = require('react-native');
|
|
5
5
|
var components_Divider_interface_index = require('../../_chunks/CY-sysEj.js');
|
|
6
|
-
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
7
|
-
require('react');
|
|
8
|
-
require('@xhs/reds-apm/src/index.native');
|
|
9
|
-
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
10
|
-
require('@xhsreds/reds-token-next');
|
|
11
|
-
require('../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
|
|
12
6
|
|
|
13
7
|
var baseDivider = {
|
|
14
8
|
position: "relative"
|
|
15
9
|
};
|
|
16
|
-
var getStyles = function getStyles(p) {
|
|
10
|
+
var getStyles = function getStyles(p, textWidth, containerWidth, themeColor, typography) {
|
|
17
11
|
var props = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, components_Divider_interface_index.DividerDefaultProps), p);
|
|
18
|
-
var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor("Divider");
|
|
19
|
-
var typography = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeTypography("Divider");
|
|
20
12
|
var isHorizontal = props.direction === "horizontal";
|
|
13
|
+
p.children;
|
|
14
|
+
var remainingWidth = containerWidth - textWidth;
|
|
21
15
|
var beforeAfterCommon = {
|
|
22
16
|
borderStyle: "solid",
|
|
23
|
-
borderTopWidth: 0.5,
|
|
24
|
-
borderColor: props.color || themeColor.Separator2
|
|
25
|
-
width: 8
|
|
17
|
+
borderTopWidth: props.stroke || 0.5,
|
|
18
|
+
borderColor: props.color || themeColor.Separator2
|
|
26
19
|
};
|
|
27
20
|
var dividerStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, baseDivider), {}, {
|
|
28
|
-
borderBottomWidth: isHorizontal ? props.stroke ? props.stroke :
|
|
29
|
-
borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke :
|
|
30
|
-
borderBottomColor: isHorizontal ? props.color || themeColor.Separator2 :
|
|
31
|
-
borderLeftColor: isHorizontal ?
|
|
32
|
-
borderStyle: "solid",
|
|
21
|
+
// borderBottomWidth: isHorizontal && hasTextContent ? 0 : (isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0),
|
|
22
|
+
// borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,
|
|
23
|
+
// borderBottomColor: isHorizontal && !hasTextContent ? props.color || themeColor.Separator2 : undefined,
|
|
24
|
+
// borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,
|
|
25
|
+
// borderStyle: "solid",
|
|
33
26
|
marginVertical: props.margin && props.margin[0] && Number(props.margin[0]) || (isHorizontal ? 20 : 0),
|
|
34
27
|
marginHorizontal: props.margin && props.margin[1] && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
|
|
35
28
|
marginLeft: props.margin && props.margin[1] && (props.orientation === "center" || props.orientation === "left") && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
|
|
@@ -37,16 +30,10 @@ var getStyles = function getStyles(p) {
|
|
|
37
30
|
width: isHorizontal ? props.size : "auto"
|
|
38
31
|
});
|
|
39
32
|
var textContainer = {
|
|
40
|
-
paddingVertical: 0,
|
|
41
|
-
paddingHorizontal: 16,
|
|
42
|
-
position: "absolute",
|
|
43
|
-
lineHeight: 18,
|
|
44
|
-
left: props.orientation === "left" ? 24 : void 0,
|
|
45
|
-
right: props.orientation === "right" ? 24 : void 0,
|
|
46
|
-
alignSelf: props.orientation === "center" ? "center" : void 0,
|
|
47
33
|
flexDirection: "row",
|
|
48
34
|
alignItems: "center",
|
|
49
|
-
|
|
35
|
+
width: "100%"
|
|
36
|
+
// 移除 position absolute,改为正常布局
|
|
50
37
|
};
|
|
51
38
|
var textStyle = {
|
|
52
39
|
fontSize: typography.C2FontSize,
|
|
@@ -59,12 +46,30 @@ var getStyles = function getStyles(p) {
|
|
|
59
46
|
var secondaryStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, textStyle), {}, {
|
|
60
47
|
color: "rgba(51, 51, 51, .3)"
|
|
61
48
|
});
|
|
62
|
-
var beforeStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, beforeAfterCommon), {}, {
|
|
63
|
-
marginRight: 8
|
|
49
|
+
var beforeStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, beforeAfterCommon), {}, {
|
|
50
|
+
marginRight: props.children ? 8 : 0
|
|
51
|
+
}, isHorizontal ? props.orientation === "center" ? {
|
|
52
|
+
flex: 1
|
|
53
|
+
} : {
|
|
54
|
+
width: props.orientation === "left" ? remainingWidth * 0.15 : remainingWidth * 0.85
|
|
55
|
+
} : {
|
|
56
|
+
width: 8
|
|
57
|
+
}), {}, {
|
|
58
|
+
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
59
|
+
});
|
|
60
|
+
var afterStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, beforeAfterCommon), {}, {
|
|
61
|
+
marginLeft: props.children ? 8 : 0
|
|
62
|
+
}, isHorizontal ? props.orientation === "center" ? {
|
|
63
|
+
flex: 1
|
|
64
|
+
} : {
|
|
65
|
+
width: props.orientation === "right" ? remainingWidth * 0.15 : remainingWidth * 0.85
|
|
66
|
+
} : {
|
|
67
|
+
width: 8
|
|
68
|
+
}), {}, {
|
|
64
69
|
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
65
70
|
});
|
|
66
|
-
var
|
|
67
|
-
|
|
71
|
+
var noTextBorderStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, beforeAfterCommon), {}, {
|
|
72
|
+
width: "auto",
|
|
68
73
|
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
69
74
|
});
|
|
70
75
|
var verticalStyle = _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, dividerStyle), {}, {
|
|
@@ -80,7 +85,8 @@ var getStyles = function getStyles(p) {
|
|
|
80
85
|
textContainer: textContainer,
|
|
81
86
|
text: textStyle,
|
|
82
87
|
before: beforeStyle,
|
|
83
|
-
after: afterStyle
|
|
88
|
+
after: afterStyle,
|
|
89
|
+
noTextBorderStyle: noTextBorderStyle
|
|
84
90
|
});
|
|
85
91
|
};
|
|
86
92
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/Divider/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/Divider/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\n\nconst baseDivider: ViewStyle = {\n position: \"relative\",\n};\n\nconst getStyles = (p: RedsDivider, textWidth: number, containerWidth: number, themeColor: any, typography: any) => {\n const props = { ...DividerDefaultProps, ...p };\n const isHorizontal = props.direction === \"horizontal\";\n const hasTextContent = p.children;\n\n const remainingWidth = containerWidth - textWidth;\n\n const beforeAfterCommon: ViewStyle = {\n borderStyle: \"solid\",\n borderTopWidth: props.stroke || 0.5,\n borderColor: props.color || themeColor.Separator2,\n };\n\n const dividerStyle: ViewStyle = {\n ...baseDivider,\n // borderBottomWidth: isHorizontal && hasTextContent ? 0 : (isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0),\n // borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,\n // borderBottomColor: isHorizontal && !hasTextContent ? props.color || themeColor.Separator2 : undefined,\n // borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,\n // borderStyle: \"solid\",\n marginVertical: (props.margin && props.margin[0] && Number(props.margin[0])) || (isHorizontal ? 20 : 0),\n marginHorizontal: (props.margin && props.margin[1] && Number(props.margin[1])) || (isHorizontal ? 0 : 12),\n marginLeft:\n (props.margin &&\n props.margin[1] &&\n (props.orientation === \"center\" || props.orientation === \"left\") &&\n Number(props.margin[1])) ||\n (isHorizontal ? 0 : 12),\n marginRight:\n (props.margin && props.margin[1] && props.orientation === \"center\" ? Number(props.margin[1]) : 0) ||\n (isHorizontal ? 0 : 12),\n width: (isHorizontal ? props.size : \"auto\") as DimensionValue,\n };\n\n const textContainer: ViewStyle = {\n flexDirection: \"row\",\n alignItems: \"center\",\n width: \"100%\",\n // 移除 position absolute,改为正常布局\n };\n\n const textStyle: TextStyle = {\n fontSize: typography.C2FontSize,\n fontWeight: \"400\" as TextStyle[\"fontWeight\"],\n color: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : themeColor.Description,\n };\n\n const primaryStyle: TextStyle = {\n ...textStyle,\n color: themeColor.Description,\n };\n\n const secondaryStyle: TextStyle = {\n ...textStyle,\n color: \"rgba(51, 51, 51, .3)\",\n };\n\n const beforeStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginRight: props.children ? 8 : 0,\n ...(isHorizontal\n ? props.orientation === \"center\"\n ? { flex: 1 }\n : { width: props.orientation === \"left\" ? remainingWidth * 0.15 : remainingWidth * 0.85 }\n : { width: 8 }),\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const afterStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginLeft: props.children ? 8 : 0,\n ...(isHorizontal\n ? props.orientation === \"center\"\n ? { flex: 1 }\n : { width: props.orientation === \"right\" ? remainingWidth * 0.15 : remainingWidth * 0.85 }\n : { width: 8 }),\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const noTextBorderStyle: ViewStyle = {\n ...beforeAfterCommon,\n width: \"auto\",\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const verticalStyle: ViewStyle = {\n ...dividerStyle,\n height: (props.size || 18) as DimensionValue,\n marginVertical: 0,\n };\n\n return StyleSheet.create({\n divider: baseDivider,\n horizontal: dividerStyle,\n vertical: verticalStyle,\n primary: primaryStyle,\n secondary: secondaryStyle,\n textContainer: textContainer,\n text: textStyle,\n before: beforeStyle,\n after: afterStyle,\n noTextBorderStyle: noTextBorderStyle,\n });\n};\n\nexport { getStyles };\n"],"names":["baseDivider","position","getStyles","p","textWidth","containerWidth","themeColor","typography","props","_objectSpread","DividerDefaultProps","isHorizontal","direction","children","remainingWidth","beforeAfterCommon","borderStyle","borderTopWidth","stroke","borderColor","color","Separator2","dividerStyle","marginVertical","margin","Number","marginHorizontal","marginLeft","orientation","marginRight","width","size","textContainer","flexDirection","alignItems","textStyle","fontSize","C2FontSize","fontWeight","Description","primaryStyle","secondaryStyle","beforeStyle","flex","afterStyle","noTextBorderStyle","verticalStyle","height","StyleSheet","create","divider","horizontal","vertical","primary","secondary","text","before","after"],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ var ListItem = function ListItem(_ref) {
|
|
|
40
40
|
children = _ref.children,
|
|
41
41
|
badgeActionContent = _ref.badgeActionContent;
|
|
42
42
|
_ref.badgeTitleContent;
|
|
43
|
+
var style = _ref.style,
|
|
44
|
+
lineStyle = _ref.lineStyle;
|
|
43
45
|
pvCount_useUnmountedProcess.default("ListItem");
|
|
44
46
|
var styles = components_List_styles.default();
|
|
45
47
|
var _useListContext = components_List_ListItem_ListContext.useListContext(),
|
|
@@ -72,7 +74,7 @@ var ListItem = function ListItem(_ref) {
|
|
|
72
74
|
}, /* @__PURE__ */React.createElement(reactNative.View, {
|
|
73
75
|
style: [styles.listItem, children ? {} : {
|
|
74
76
|
height: listItemSizeToHeight[size]
|
|
75
|
-
}, size === "expand" && styles.expand]
|
|
77
|
+
}, size === "expand" && styles.expand, style]
|
|
76
78
|
}, children ? children : /* @__PURE__ */React.createElement(reactNative.View, {
|
|
77
79
|
style: [styles.content, contentStyle]
|
|
78
80
|
}, prefix && /* @__PURE__ */React.createElement(reactNative.View, {
|
|
@@ -80,7 +82,7 @@ var ListItem = function ListItem(_ref) {
|
|
|
80
82
|
height: listItemSizeToHeight[size]
|
|
81
83
|
}, prefixStyle]
|
|
82
84
|
}, prefix), /* @__PURE__ */React.createElement(reactNative.View, {
|
|
83
|
-
style: [styles.contentBox, lineItem ? styles.hr : {}, {
|
|
85
|
+
style: [styles.contentBox, lineItem ? _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, styles.hr), lineStyle) : {}, {
|
|
84
86
|
height: listItemSizeToHeight[size]
|
|
85
87
|
}]
|
|
86
88
|
}, /* @__PURE__ */React.createElement(reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, ReactNode } from \"react\";\nimport { View, Text, Image, TouchableWithoutFeedback, TextStyle, ViewStyle } from \"react-native\";\nimport { useListContext } from \"./ListContext\";\nimport { useColorMode } from \"../../ConfigProvider\";\nimport createStyles from \"../styles\";\nimport useMounted from \"../../../pvCount/useUnmountedProcess\";\nimport { Badge } from \"../../Badge\";\n\nexport interface RedsListItem {\n title: string;\n subtitle?: string;\n actionText?: string;\n size?: \"regular\" | \"expand\";\n arrow?: boolean;\n prefix?: ReactNode;\n action?: ReactNode;\n onClick?: () => void;\n actionTextStyle?: TextStyle;\n prefixStyle?: ViewStyle;\n children?: ReactNode;\n contentStyle?: ViewStyle;\n badgeActionContent?: string;\n badgeTitleContent?: string;\n}\n\nconst ListItem: React.FC<RedsListItem> = ({\n title,\n subtitle,\n actionText,\n size = \"regular\",\n arrow = false,\n prefix,\n action,\n onClick = () => {},\n actionTextStyle = {},\n prefixStyle = {},\n contentStyle = {},\n children,\n badgeActionContent,\n badgeTitleContent,\n}) => {\n useMounted(\"ListItem\");\n const styles = createStyles();\n const { registerChild, unregisterChild } = useListContext();\n const [lineItem, setLineItem] = useState(false);\n const colorMode = useColorMode();\n\n const childInfo = {\n setLine: (value: boolean) => setLineItem(value),\n };\n\n useEffect(() => {\n registerChild(childInfo);\n return () => unregisterChild(childInfo);\n }, []);\n\n const listItemSizeToHeight = {\n regular: 48,\n expand: 72,\n };\n\n return (\n <TouchableWithoutFeedback onPress={() => onClick()}>\n <View\n style={[\n styles.listItem,\n children ? {} : { height: listItemSizeToHeight[size] },\n size === \"expand\" && styles.expand,\n ]}\n >\n {children ? (\n children\n ) : (\n <View style={[styles.content, contentStyle]}>\n {prefix && (\n <View style={[styles.prefix, { height: listItemSizeToHeight[size] }, prefixStyle]}>{prefix}</View>\n )}\n <View
|
|
1
|
+
{"version":3,"file":"ListItem.js","sources":["../../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, ReactNode } from \"react\";\nimport { View, Text, Image, TouchableWithoutFeedback, TextStyle, ViewStyle } from \"react-native\";\nimport { useListContext } from \"./ListContext\";\nimport { useColorMode } from \"../../ConfigProvider\";\nimport createStyles from \"../styles\";\nimport useMounted from \"../../../pvCount/useUnmountedProcess\";\nimport { Badge } from \"../../Badge\";\n\nexport interface RedsListItem {\n title: string;\n subtitle?: string;\n actionText?: string;\n size?: \"regular\" | \"expand\";\n arrow?: boolean;\n prefix?: ReactNode;\n action?: ReactNode;\n onClick?: () => void;\n actionTextStyle?: TextStyle;\n prefixStyle?: ViewStyle;\n children?: ReactNode;\n contentStyle?: ViewStyle;\n badgeActionContent?: string;\n badgeTitleContent?: string;\n style?: any;\n lineStyle?: any;\n}\n\nconst ListItem: React.FC<RedsListItem> = ({\n title,\n subtitle,\n actionText,\n size = \"regular\",\n arrow = false,\n prefix,\n action,\n onClick = () => {},\n actionTextStyle = {},\n prefixStyle = {},\n contentStyle = {},\n children,\n badgeActionContent,\n badgeTitleContent,\n style,\n lineStyle,\n}) => {\n useMounted(\"ListItem\");\n const styles = createStyles();\n const { registerChild, unregisterChild } = useListContext();\n const [lineItem, setLineItem] = useState(false);\n const colorMode = useColorMode();\n\n const childInfo = {\n setLine: (value: boolean) => setLineItem(value),\n };\n\n useEffect(() => {\n registerChild(childInfo);\n return () => unregisterChild(childInfo);\n }, []);\n\n const listItemSizeToHeight = {\n regular: 48,\n expand: 72,\n };\n\n return (\n <TouchableWithoutFeedback onPress={() => onClick()}>\n <View\n style={[\n styles.listItem,\n children ? {} : { height: listItemSizeToHeight[size] },\n size === \"expand\" && styles.expand,\n style,\n ]}\n >\n {children ? (\n children\n ) : (\n <View style={[styles.content, contentStyle]}>\n {prefix && (\n <View style={[styles.prefix, { height: listItemSizeToHeight[size] }, prefixStyle]}>{prefix}</View>\n )}\n <View\n style={[\n styles.contentBox,\n lineItem ? { ...styles.hr, ...lineStyle } : {},\n { height: listItemSizeToHeight[size] },\n ]}\n >\n <View\n style={[styles.contentContainer, { marginBottom: 12, marginTop: 12 }, prefix ? { height: 48 } : {}]}\n >\n <View style={styles.textContainer}>\n <Text style={styles.title}>{title}</Text>\n {size === \"expand\" && subtitle && <Text style={styles.subtitle}>{subtitle}</Text>}\n </View>\n <View style={styles.tailContainer}>\n {action ? (\n <View style={styles.tail}>{action}</View>\n ) : (\n <View style={styles.tail}>\n <Text style={[styles.tailText, actionTextStyle]}>{actionText}</Text>\n {badgeActionContent && (\n <Badge content={badgeActionContent} position=\"centerLeft\" offset={[-15, 7]}>\n <View></View>\n </Badge>\n )}\n {arrow && (\n <View style={{ height: 16, width: 16 }}>\n <Image\n width={16}\n height={16}\n source={{\n uri:\n colorMode === \"dark\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/ca9c472d2e00bd9ff171736db37844a1020a7bee.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/2aa7929e87409d49353f7ad8c05fcc1752eea2f0.png\",\n }}\n ></Image>\n </View>\n )}\n </View>\n )}\n </View>\n </View>\n </View>\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nexport default ListItem;\n"],"names":["ListItem","title","_ref","subtitle","actionText","_ref$size","size","_ref$arrow","arrow","prefix","action","_ref$onClick","onClick","_ref$actionTextStyle","actionTextStyle","_ref$prefixStyle","prefixStyle","_ref$contentStyle","contentStyle","children","badgeActionContent","badgeTitleContent","style","lineStyle","useMounted","styles","createStyles","_useListContext","useListContext","registerChild","unregisterChild","_useState","useState","_useState2","_slicedToArray","lineItem","setLineItem","colorMode","useColorMode","childInfo","setLine","value","useEffect","listItemSizeToHeight","regular","expand","React","createElement","TouchableWithoutFeedback","onPress","View","listItem","height","content","contentBox","_objectSpread","hr","contentContainer","marginBottom","marginTop","textContainer","Text","tailContainer","tail","tailText","Badge","position","offset","width","Image","source","uri"],"mappings":"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"}
|
|
@@ -22,26 +22,61 @@ var Wheel = function Wheel(props) {
|
|
|
22
22
|
_props$accessibility = props.accessibility,
|
|
23
23
|
accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
|
|
24
24
|
var scrollerRef = React.useRef();
|
|
25
|
-
var
|
|
26
|
-
var _useState = React.useState(value),
|
|
25
|
+
var _useState = React.useState(false),
|
|
27
26
|
_useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
scrollEnded = _useState2[0],
|
|
28
|
+
setScrollEnded = _useState2[1];
|
|
29
|
+
var _useState3 = React.useState(0),
|
|
30
|
+
_useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
|
|
31
|
+
scrollHeight = _useState4[0],
|
|
32
|
+
setScrollHeight = _useState4[1];
|
|
33
|
+
var _useState5 = React.useState(value),
|
|
34
|
+
_useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
|
|
35
|
+
lastValue = _useState6[0],
|
|
36
|
+
setLastValue = _useState6[1];
|
|
37
|
+
var onScrollEndDrag = function onScrollEndDrag() {
|
|
38
|
+
setScrollEnded(true);
|
|
39
|
+
};
|
|
30
40
|
React.useEffect(function () {
|
|
31
41
|
if (value !== lastValue) {
|
|
32
42
|
var idx = getSelectIndex(column, value);
|
|
33
|
-
|
|
43
|
+
setIndex(idx);
|
|
34
44
|
}
|
|
35
45
|
}, [column, value]);
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor();
|
|
47
|
+
var _useState7 = React.useState(),
|
|
48
|
+
_useState8 = _rollupPluginBabelHelpers._slicedToArray(_useState7, 2),
|
|
49
|
+
index = _useState8[0],
|
|
50
|
+
setIndex = _useState8[1];
|
|
51
|
+
var timer = React.useRef();
|
|
52
|
+
React.useEffect(function () {
|
|
53
|
+
value && setIndex(getSelectIndex(column, value));
|
|
54
|
+
}, [column, value]);
|
|
55
|
+
React.useEffect(function () {
|
|
56
|
+
var _column$index;
|
|
57
|
+
var newVal = column === null || column === void 0 || (_column$index = column[index]) === null || _column$index === void 0 ? void 0 : _column$index.value;
|
|
58
|
+
scrollTo(index * itemHeight);
|
|
40
59
|
if (newVal) {
|
|
41
|
-
setLastValue(newVal);
|
|
42
60
|
onSelect(newVal, props.index);
|
|
61
|
+
setLastValue(newVal);
|
|
43
62
|
}
|
|
44
|
-
};
|
|
63
|
+
}, [index, props.index]);
|
|
64
|
+
React.useEffect(function () {
|
|
65
|
+
if (scrollEnded) {
|
|
66
|
+
if (scrollHeight != null) {
|
|
67
|
+
timer.current = setTimeout(function () {
|
|
68
|
+
var selectIndex = Math.round(scrollHeight / itemHeight);
|
|
69
|
+
if (selectIndex >= 0 && selectIndex < column.length) {
|
|
70
|
+
setIndex(selectIndex);
|
|
71
|
+
}
|
|
72
|
+
}, 0);
|
|
73
|
+
}
|
|
74
|
+
setScrollEnded(false);
|
|
75
|
+
}
|
|
76
|
+
return function () {
|
|
77
|
+
timer.current && clearTimeout(timer.current);
|
|
78
|
+
};
|
|
79
|
+
}, [scrollEnded]);
|
|
45
80
|
var scrollTo = function scrollTo(y) {
|
|
46
81
|
setTimeout(function () {
|
|
47
82
|
var _scrollerRef$current, _scrollerRef$current$;
|
|
@@ -65,18 +100,21 @@ var Wheel = function Wheel(props) {
|
|
|
65
100
|
(_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
|
|
66
101
|
var contentOffset = e.nativeEvent.contentOffset;
|
|
67
102
|
var selectIndex = Math.round(contentOffset.y / itemHeight);
|
|
103
|
+
setIndex(selectIndex);
|
|
68
104
|
var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
|
|
69
105
|
setLastValue(newVal);
|
|
70
|
-
onSelect(newVal, props.index);
|
|
71
106
|
};
|
|
72
|
-
var
|
|
73
|
-
|
|
107
|
+
var onScroll = function onScroll(e) {
|
|
108
|
+
setScrollHeight(e.nativeEvent.contentOffset.y);
|
|
109
|
+
};
|
|
110
|
+
var handleClick = function handleClick(index2) {
|
|
111
|
+
setIndex(index2);
|
|
74
112
|
};
|
|
75
113
|
var renderItems = function renderItems() {
|
|
76
|
-
return column.map(function (item,
|
|
114
|
+
return column.map(function (item, index2) {
|
|
77
115
|
return /* @__PURE__ */React.createElement(reactNative.TouchableNativeFeedback, {
|
|
78
116
|
onPress: function onPress() {
|
|
79
|
-
return handleClick(
|
|
117
|
+
return handleClick(index2);
|
|
80
118
|
},
|
|
81
119
|
key: item.value
|
|
82
120
|
}, /* @__PURE__ */React.createElement(reactNative.View, _rollupPluginBabelHelpers._objectSpread2({
|
|
@@ -110,6 +148,9 @@ var Wheel = function Wheel(props) {
|
|
|
110
148
|
decelerationRate: "fast",
|
|
111
149
|
snapToInterval: itemHeight,
|
|
112
150
|
onMomentumScrollEnd: onMomentumScrollEnd,
|
|
151
|
+
onScrollEndDrag: onScrollEndDrag,
|
|
152
|
+
onScroll: onScroll,
|
|
153
|
+
scrollEventThrottle: 16,
|
|
113
154
|
testID: "wheel".concat(props.index)
|
|
114
155
|
}, accessibility), /* @__PURE__ */React.createElement(reactNative.View, {
|
|
115
156
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n const [lastValue, setLastValue] = useState(value);\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n handleScroll(idx);\n }\n }, [column, value]);\n\n const handleScroll = (idx: number) => {\n const newVal = column?.[idx]?.value;\n scrollTo(idx * itemHeight);\n if (newVal) {\n setLastValue(newVal);\n onSelect(newVal, props.index);\n }\n };\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n onSelect(newVal, props.index);\n };\n\n const handleClick = (index: number) => {\n handleScroll(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","lastValue","setLastValue","useEffect","idx","getSelectIndex","handleScroll","_column$idx","newVal","scrollTo","index","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n const [scrollEnded, setScrollEnded] = useState(false);\n\n const [scrollHeight, setScrollHeight] = useState(0);\n\n const [lastValue, setLastValue] = useState(value);\n\n const onScrollEndDrag = () => {\n setScrollEnded(true);\n };\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n setIndex(idx);\n }\n }, [column, value]);\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n const timer = useRef<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n setLastValue(newVal);\n }\n }, [index, props.index]);\n\n useEffect(() => {\n if (scrollEnded) {\n // @ts-ignore\n if (scrollHeight != null) {\n timer.current = setTimeout(() => {\n const selectIndex = Math.round(scrollHeight / itemHeight);\n if (selectIndex >= 0 && selectIndex < column.length) {\n setIndex(selectIndex);\n }\n }, 0);\n }\n setScrollEnded(false);\n }\n return () => {\n timer.current && clearTimeout(timer.current);\n };\n }, [scrollEnded]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n };\n\n const onScroll = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n setScrollHeight(e.nativeEvent.contentOffset.y);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onScrollEndDrag}\n onScroll={onScroll}\n scrollEventThrottle={16}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","_useState","useState","_useState2","_slicedToArray","scrollEnded","setScrollEnded","_useState3","_useState4","scrollHeight","setScrollHeight","_useState5","_useState6","lastValue","setLastValue","onScrollEndDrag","useEffect","idx","getSelectIndex","setIndex","themeColor","useThemeColor","_useState7","_useState8","index","timer","_column$index","newVal","scrollTo","current","setTimeout","selectIndex","Math","round","length","clearTimeout","y","_scrollerRef$current","_scrollerRef$current$","call","animated","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","onScroll","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","scrollEventThrottle","testID","concat"],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ var Stepper = function Stepper(props) {
|
|
|
80
80
|
}
|
|
81
81
|
}, [colorMode]);
|
|
82
82
|
return /* @__PURE__ */React.createElement(reactNative.View, {
|
|
83
|
-
style: styles.container
|
|
83
|
+
style: [styles.container, props.style]
|
|
84
84
|
}, /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
|
|
85
85
|
onPress: function onPress() {
|
|
86
86
|
return handleNumber("min");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","sources":["../../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, Image } from \"react-native\";\nimport { RedsStepper, StepperDefaultProps } from \"./interface/index\";\nimport { getStyles } from \"./styles\";\nimport { useThemeColor, useThemeTypography, useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Stepper = (props: RedsStepper) => {\n useMounted(\"Stepper\");\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const typography = useThemeTypography(\"Stepper\");\n\n const [_value, setValue] = useState(0);\n\n const styles = getStyles(themeColor, typography);\n\n const minus = useMemo(() => {\n if (props.disable || (props.min !== undefined && props.min >= _value!)) {\n return getStyles(themeColor, typography).opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, _value]);\n\n const add = useMemo(() => {\n if (props.disable || (props.max !== undefined && props.max <= _value!)) {\n return styles.opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, _value]);\n\n const handleNumber = (type: string) => {\n if (props.disable) return;\n let newValue = 0;\n if (type === \"min\") {\n if (props.min && props.min >= _value! - 1) {\n newValue = props.min;\n } else {\n newValue = _value! - 1;\n }\n } else {\n if (props.max && props.max <= _value! + 1) {\n newValue = props.max;\n } else {\n newValue = _value! + 1;\n }\n }\n setValue(newValue);\n props?.onChange?.(newValue);\n };\n\n useEffect(() => {\n setValue((oldValue: any) => {\n return props.isControl\n ? props.value! >= props.min! && props.value! <= props.max!\n ? props.value!\n : props.value! < props.min!\n ? props.min!\n : props.value! > props.max!\n ? props.max!\n : props.value!\n : oldValue;\n });\n }, [props.value, props.max, props.min]);\n\n const minusImage = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://fe-platform.xhscdn.com/platform/104101l031hcivputjq06d5494g900000000001jjq1j8a\";\n } else {\n return \"https://fe-platform.xhscdn.com/platform/104101l031lfjqfuo5o76d5494g900000000001lo4n564\";\n }\n }, [colorMode]);\n\n const addImage = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://fe-platform.xhscdn.com/platform/104101l031hcivo9hjs06d5494g900000000001igfsdhk\";\n } else {\n return \"https://fe-platform.xhscdn.com/platform/104101l031lfjqilq5m06d5494g900000000001n1dkns2\";\n }\n }, [colorMode]);\n\n return (\n <View style={styles.container}>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"min\")}>\n <View style={[styles.icon, minus]}>\n <Image source={{ uri: minusImage }} style={[styles.minus]} />\n </View>\n </TouchableWithoutFeedback>\n <Text style={[styles.text, props.disable && styles.opacity]}>{_value}</Text>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"add\")}>\n <View style={[styles.icon, add]}>\n <Image source={{ uri: addImage }} style={[styles.add]} />\n </View>\n </TouchableWithoutFeedback>\n </View>\n );\n};\n\nStepper.defaultProps = StepperDefaultProps;\n\nexport default Stepper;\n"],"names":["Stepper","props","useMounted","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","_useState","useState","_useState2","_slicedToArray","_value","setValue","styles","getStyles","minus","useMemo","disable","min","opacity","max","add","handleNumber","type","_props$onChange","newValue","onChange","call","useEffect","oldValue","isControl","value","minusImage","addImage","View","style","container","
|
|
1
|
+
{"version":3,"file":"Stepper.js","sources":["../../../../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, Image } from \"react-native\";\nimport { RedsStepper, StepperDefaultProps } from \"./interface/index\";\nimport { getStyles } from \"./styles\";\nimport { useThemeColor, useThemeTypography, useColorMode } from \"../ConfigProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Stepper = (props: RedsStepper) => {\n useMounted(\"Stepper\");\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const typography = useThemeTypography(\"Stepper\");\n\n const [_value, setValue] = useState(0);\n\n const styles = getStyles(themeColor, typography);\n\n const minus = useMemo(() => {\n if (props.disable || (props.min !== undefined && props.min >= _value!)) {\n return getStyles(themeColor, typography).opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, _value]);\n\n const add = useMemo(() => {\n if (props.disable || (props.max !== undefined && props.max <= _value!)) {\n return styles.opacity;\n } else {\n return {};\n }\n }, [props.disable, props.max, _value]);\n\n const handleNumber = (type: string) => {\n if (props.disable) return;\n let newValue = 0;\n if (type === \"min\") {\n if (props.min && props.min >= _value! - 1) {\n newValue = props.min;\n } else {\n newValue = _value! - 1;\n }\n } else {\n if (props.max && props.max <= _value! + 1) {\n newValue = props.max;\n } else {\n newValue = _value! + 1;\n }\n }\n setValue(newValue);\n props?.onChange?.(newValue);\n };\n\n useEffect(() => {\n setValue((oldValue: any) => {\n return props.isControl\n ? props.value! >= props.min! && props.value! <= props.max!\n ? props.value!\n : props.value! < props.min!\n ? props.min!\n : props.value! > props.max!\n ? props.max!\n : props.value!\n : oldValue;\n });\n }, [props.value, props.max, props.min]);\n\n const minusImage = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://fe-platform.xhscdn.com/platform/104101l031hcivputjq06d5494g900000000001jjq1j8a\";\n } else {\n return \"https://fe-platform.xhscdn.com/platform/104101l031lfjqfuo5o76d5494g900000000001lo4n564\";\n }\n }, [colorMode]);\n\n const addImage = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://fe-platform.xhscdn.com/platform/104101l031hcivo9hjs06d5494g900000000001igfsdhk\";\n } else {\n return \"https://fe-platform.xhscdn.com/platform/104101l031lfjqilq5m06d5494g900000000001n1dkns2\";\n }\n }, [colorMode]);\n\n return (\n <View style={[styles.container, props.style]}>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"min\")}>\n <View style={[styles.icon, minus]}>\n <Image source={{ uri: minusImage }} style={[styles.minus]} />\n </View>\n </TouchableWithoutFeedback>\n <Text style={[styles.text, props.disable && styles.opacity]}>{_value}</Text>\n <TouchableWithoutFeedback onPress={() => handleNumber(\"add\")}>\n <View style={[styles.icon, add]}>\n <Image source={{ uri: addImage }} style={[styles.add]} />\n </View>\n </TouchableWithoutFeedback>\n </View>\n );\n};\n\nStepper.defaultProps = StepperDefaultProps;\n\nexport default Stepper;\n"],"names":["Stepper","props","useMounted","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","_useState","useState","_useState2","_slicedToArray","_value","setValue","styles","getStyles","minus","useMemo","disable","min","opacity","max","add","handleNumber","type","_props$onChange","newValue","onChange","call","useEffect","oldValue","isControl","value","minusImage","addImage","View","style","container","React","createElement","TouchableWithoutFeedback","onPress","icon","Image","source","uri","Text","text","defaultProps","StepperDefaultProps"],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ var getStyles = function getStyles(themeColor, typography) {
|
|
|
8
8
|
display: "flex",
|
|
9
9
|
flexDirection: "row",
|
|
10
10
|
alignItems: "center",
|
|
11
|
-
justifyContent: "
|
|
11
|
+
justifyContent: "space-between",
|
|
12
|
+
width: 72
|
|
12
13
|
},
|
|
13
14
|
opacity: {
|
|
14
15
|
opacity: 0.5
|
|
@@ -24,7 +25,6 @@ var getStyles = function getStyles(themeColor, typography) {
|
|
|
24
25
|
lineHeight: 20
|
|
25
26
|
},
|
|
26
27
|
text: {
|
|
27
|
-
paddingHorizontal: 8,
|
|
28
28
|
fontWeight: typography.B1LooseFontWeight,
|
|
29
29
|
fontSize: typography.T3FontSize,
|
|
30
30
|
color: themeColor.Title
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/Stepper/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nexport const getStyles = (themeColor: any, typography: any) => {\n return StyleSheet.create({\n container: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/Stepper/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nexport const getStyles = (themeColor: any, typography: any) => {\n return StyleSheet.create({\n container: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: 72,\n },\n opacity: {\n opacity: 0.5,\n },\n icon: {\n width: 20,\n height: 20,\n backgroundColor: themeColor.Fill1,\n borderRadius: 20,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n lineHeight: 20,\n },\n text: {\n fontWeight: typography.B1LooseFontWeight,\n fontSize: typography.T3FontSize,\n color: themeColor.Title,\n },\n minus: {\n height: 1.5,\n width: 10,\n },\n add: {\n height: 10,\n width: 10,\n },\n });\n};\n"],"names":["getStyles","themeColor","typography","StyleSheet","create","container","display","flexDirection","alignItems","justifyContent","width","opacity","icon","height","backgroundColor","Fill1","borderRadius","lineHeight","text","fontWeight","B1LooseFontWeight","fontSize","T3FontSize","color","Title","minus","add"],"mappings":";;;;AACa,IAAAA,SAAA,GAAY,SAAZA,SAAAA,CAAaC,UAAA,EAAiBC,UAAoB,EAAA;EAC7D,OAAOC,uBAAWC,MAAO,CAAA;AACvBC,IAAAA,SAAW,EAAA;AACTC,MAAAA,OAAS,EAAA,MAAA;AACTC,MAAAA,aAAe,EAAA,KAAA;AACfC,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,eAAA;AAChBC,MAAAA,KAAO,EAAA,EAAA;KACT;AACAC,IAAAA,OAAS,EAAA;AACPA,MAAAA,OAAS,EAAA,GAAA;KACX;AACAC,IAAAA,IAAM,EAAA;AACJF,MAAAA,KAAO,EAAA,EAAA;AACPG,MAAAA,MAAQ,EAAA,EAAA;MACRC,iBAAiBb,UAAW,CAAAc,KAAA;AAC5BC,MAAAA,YAAc,EAAA,EAAA;AACdV,MAAAA,OAAS,EAAA,MAAA;AACTG,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;AACZS,MAAAA,UAAY,EAAA,EAAA;KACd;AACAC,IAAAA,IAAM,EAAA;MACJC,YAAYjB,UAAW,CAAAkB,iBAAA;MACvBC,UAAUnB,UAAW,CAAAoB,UAAA;MACrBC,OAAOtB,UAAW,CAAAuB,KAAAA;KACpB;AACAC,IAAAA,KAAO,EAAA;AACLZ,MAAAA,MAAQ,EAAA,GAAA;AACRH,MAAAA,KAAO,EAAA,EAAA;KACT;AACAgB,IAAAA,GAAK,EAAA;AACHb,MAAAA,MAAQ,EAAA,EAAA;AACRH,MAAAA,KAAO,EAAA,EAAA;AACT,KAAA;AACF,GAAC,CAAA,CAAA;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"C0MWVrjO.js","sources":["../../../src/components/Stepper/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nexport interface RedsStepper {\n value?: number;\n max?: number;\n min?: number;\n disable?: boolean;\n onChange?: (value: number) => any;\n isControl?: boolean;\n}\n\nexport interface RedsStepperEvent {}\nexport const StepperDefaultProps = {\n disable: false,\n isControl: true,\n};\n"],"names":["StepperDefaultProps","disable","isControl"],"mappings":"
|
|
1
|
+
{"version":3,"file":"C0MWVrjO.js","sources":["../../../src/components/Stepper/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhsreds/reds-token-next\";\nexport interface RedsStepper {\n value?: number;\n max?: number;\n min?: number;\n disable?: boolean;\n onChange?: (value: number) => any;\n isControl?: boolean;\n style?: any;\n}\n\nexport interface RedsStepperEvent {}\nexport const StepperDefaultProps = {\n disable: false,\n isControl: true,\n};\n"],"names":["StepperDefaultProps","disable","isControl"],"mappings":"AAaO,IAAMA,mBAAsB,GAAA;AACjCC,EAAAA,OAAS,EAAA,KAAA;AACTC,EAAAA,SAAW,EAAA,IAAA;AACb;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
|
|
2
2
|
import React, { useMemo, useState, useRef, useEffect, isValidElement } from 'react';
|
|
3
|
-
import { Animated, Dimensions, TouchableWithoutFeedback, View, Text, Image } from 'react-native';
|
|
3
|
+
import { Animated, Platform, Dimensions, TouchableWithoutFeedback, View, Text, Image } from 'react-native';
|
|
4
4
|
import { ModalWrapper } from './component.js';
|
|
5
5
|
import useMounted from '../../pvCount/useUnmountedProcess.js';
|
|
6
6
|
import Portal from '../Portal/core/Portal.js';
|