@xhsreds/reds-rn-next 0.10.1-beta202511241537 → 0.10.1-beta202512022044
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-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-28.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-31.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-35.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-42.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/Alert/hooks/alert.js +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/Portal/core/PortalHost.js +4 -1
- package/lib/cjs/components/Portal/core/PortalHost.js.map +1 -1
- package/lib/cjs/components/Portal/core/PortalProvider.js +1 -0
- package/lib/cjs/components/Portal/core/PortalProvider.js.map +1 -1
- package/lib/cjs/components/Portal/index.js +1 -0
- package/lib/cjs/components/Portal/index.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/Alert/hooks/alert.js +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/Portal/core/PortalHost.js +4 -1
- package/lib/esm/components/Portal/core/PortalHost.js.map +1 -1
- package/lib/esm/components/Portal/core/PortalProvider.js +1 -0
- package/lib/esm/components/Portal/core/PortalProvider.js.map +1 -1
- package/lib/esm/components/Portal/index.js +1 -0
- package/lib/esm/components/Portal/index.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/Portal/core/PortalHost.tsx +2 -1
- 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
- package/src/i18n/@types/resources.d.ts +27 -27
- package/src/i18n/index.json +31 -31
|
@@ -1,33 +1,26 @@
|
|
|
1
1
|
import { a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
3
|
import { D as DividerDefaultProps } from '../../_chunks/CLoffREn.js';
|
|
4
|
-
import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
|
|
5
|
-
import 'react';
|
|
6
|
-
import '@xhs/reds-apm/src/index.native';
|
|
7
|
-
import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
|
|
8
|
-
import '@xhsreds/reds-token-next';
|
|
9
|
-
import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
|
|
10
4
|
|
|
11
5
|
var baseDivider = {
|
|
12
6
|
position: "relative"
|
|
13
7
|
};
|
|
14
|
-
var getStyles = function getStyles(p) {
|
|
8
|
+
var getStyles = function getStyles(p, textWidth, containerWidth, themeColor, typography) {
|
|
15
9
|
var props = _objectSpread2(_objectSpread2({}, DividerDefaultProps), p);
|
|
16
|
-
var themeColor = useThemeColor("Divider");
|
|
17
|
-
var typography = useThemeTypography("Divider");
|
|
18
10
|
var isHorizontal = props.direction === "horizontal";
|
|
11
|
+
p.children;
|
|
12
|
+
var remainingWidth = containerWidth - textWidth;
|
|
19
13
|
var beforeAfterCommon = {
|
|
20
14
|
borderStyle: "solid",
|
|
21
|
-
borderTopWidth: 0.5,
|
|
22
|
-
borderColor: props.color || themeColor.Separator2
|
|
23
|
-
width: 8
|
|
15
|
+
borderTopWidth: props.stroke || 0.5,
|
|
16
|
+
borderColor: props.color || themeColor.Separator2
|
|
24
17
|
};
|
|
25
18
|
var dividerStyle = _objectSpread2(_objectSpread2({}, baseDivider), {}, {
|
|
26
|
-
borderBottomWidth: isHorizontal ? props.stroke ? props.stroke : StyleSheet.hairlineWidth : 0,
|
|
27
|
-
borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,
|
|
28
|
-
borderBottomColor: isHorizontal ? props.color || themeColor.Separator2 :
|
|
29
|
-
borderLeftColor: isHorizontal ?
|
|
30
|
-
borderStyle: "solid",
|
|
19
|
+
// borderBottomWidth: isHorizontal && hasTextContent ? 0 : (isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0),
|
|
20
|
+
// borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,
|
|
21
|
+
// borderBottomColor: isHorizontal && !hasTextContent ? props.color || themeColor.Separator2 : undefined,
|
|
22
|
+
// borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,
|
|
23
|
+
// borderStyle: "solid",
|
|
31
24
|
marginVertical: props.margin && props.margin[0] && Number(props.margin[0]) || (isHorizontal ? 20 : 0),
|
|
32
25
|
marginHorizontal: props.margin && props.margin[1] && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
|
|
33
26
|
marginLeft: props.margin && props.margin[1] && (props.orientation === "center" || props.orientation === "left") && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
|
|
@@ -35,16 +28,10 @@ var getStyles = function getStyles(p) {
|
|
|
35
28
|
width: isHorizontal ? props.size : "auto"
|
|
36
29
|
});
|
|
37
30
|
var textContainer = {
|
|
38
|
-
paddingVertical: 0,
|
|
39
|
-
paddingHorizontal: 16,
|
|
40
|
-
position: "absolute",
|
|
41
|
-
lineHeight: 18,
|
|
42
|
-
left: props.orientation === "left" ? 24 : void 0,
|
|
43
|
-
right: props.orientation === "right" ? 24 : void 0,
|
|
44
|
-
alignSelf: props.orientation === "center" ? "center" : void 0,
|
|
45
31
|
flexDirection: "row",
|
|
46
32
|
alignItems: "center",
|
|
47
|
-
|
|
33
|
+
width: "100%"
|
|
34
|
+
// 移除 position absolute,改为正常布局
|
|
48
35
|
};
|
|
49
36
|
var textStyle = {
|
|
50
37
|
fontSize: typography.C2FontSize,
|
|
@@ -57,12 +44,30 @@ var getStyles = function getStyles(p) {
|
|
|
57
44
|
var secondaryStyle = _objectSpread2(_objectSpread2({}, textStyle), {}, {
|
|
58
45
|
color: "rgba(51, 51, 51, .3)"
|
|
59
46
|
});
|
|
60
|
-
var beforeStyle = _objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
|
|
61
|
-
marginRight: 8
|
|
47
|
+
var beforeStyle = _objectSpread2(_objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
|
|
48
|
+
marginRight: props.children ? 8 : 0
|
|
49
|
+
}, isHorizontal ? props.orientation === "center" ? {
|
|
50
|
+
flex: 1
|
|
51
|
+
} : {
|
|
52
|
+
width: props.orientation === "left" ? remainingWidth * 0.15 : remainingWidth * 0.85
|
|
53
|
+
} : {
|
|
54
|
+
width: 8
|
|
55
|
+
}), {}, {
|
|
56
|
+
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
57
|
+
});
|
|
58
|
+
var afterStyle = _objectSpread2(_objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
|
|
59
|
+
marginLeft: props.children ? 8 : 0
|
|
60
|
+
}, isHorizontal ? props.orientation === "center" ? {
|
|
61
|
+
flex: 1
|
|
62
|
+
} : {
|
|
63
|
+
width: props.orientation === "right" ? remainingWidth * 0.15 : remainingWidth * 0.85
|
|
64
|
+
} : {
|
|
65
|
+
width: 8
|
|
66
|
+
}), {}, {
|
|
62
67
|
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
63
68
|
});
|
|
64
|
-
var
|
|
65
|
-
|
|
69
|
+
var noTextBorderStyle = _objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
|
|
70
|
+
width: "auto",
|
|
66
71
|
borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
|
|
67
72
|
});
|
|
68
73
|
var verticalStyle = _objectSpread2(_objectSpread2({}, dividerStyle), {}, {
|
|
@@ -78,7 +83,8 @@ var getStyles = function getStyles(p) {
|
|
|
78
83
|
textContainer: textContainer,
|
|
79
84
|
text: textStyle,
|
|
80
85
|
before: beforeStyle,
|
|
81
|
-
after: afterStyle
|
|
86
|
+
after: afterStyle,
|
|
87
|
+
noTextBorderStyle: noTextBorderStyle
|
|
82
88
|
});
|
|
83
89
|
};
|
|
84
90
|
|
|
@@ -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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as _slicedToArray } from '../../../_chunks/CAkwE9ZD.js';
|
|
1
|
+
import { _ as _slicedToArray, a as _objectSpread2 } from '../../../_chunks/CAkwE9ZD.js';
|
|
2
2
|
import React, { useState, useEffect } from 'react';
|
|
3
3
|
import { TouchableWithoutFeedback, View, Text, Image } from 'react-native';
|
|
4
4
|
import { useListContext } from './ListContext.js';
|
|
@@ -36,6 +36,8 @@ var ListItem = function ListItem(_ref) {
|
|
|
36
36
|
children = _ref.children,
|
|
37
37
|
badgeActionContent = _ref.badgeActionContent;
|
|
38
38
|
_ref.badgeTitleContent;
|
|
39
|
+
var style = _ref.style,
|
|
40
|
+
lineStyle = _ref.lineStyle;
|
|
39
41
|
useMounted("ListItem");
|
|
40
42
|
var styles = createStyles();
|
|
41
43
|
var _useListContext = useListContext(),
|
|
@@ -68,7 +70,7 @@ var ListItem = function ListItem(_ref) {
|
|
|
68
70
|
}, /* @__PURE__ */React.createElement(View, {
|
|
69
71
|
style: [styles.listItem, children ? {} : {
|
|
70
72
|
height: listItemSizeToHeight[size]
|
|
71
|
-
}, size === "expand" && styles.expand]
|
|
73
|
+
}, size === "expand" && styles.expand, style]
|
|
72
74
|
}, children ? children : /* @__PURE__ */React.createElement(View, {
|
|
73
75
|
style: [styles.content, contentStyle]
|
|
74
76
|
}, prefix && /* @__PURE__ */React.createElement(View, {
|
|
@@ -76,7 +78,7 @@ var ListItem = function ListItem(_ref) {
|
|
|
76
78
|
height: listItemSizeToHeight[size]
|
|
77
79
|
}, prefixStyle]
|
|
78
80
|
}, prefix), /* @__PURE__ */React.createElement(View, {
|
|
79
|
-
style: [styles.contentBox, lineItem ? styles.hr : {}, {
|
|
81
|
+
style: [styles.contentBox, lineItem ? _objectSpread2(_objectSpread2({}, styles.hr), lineStyle) : {}, {
|
|
80
82
|
height: listItemSizeToHeight[size]
|
|
81
83
|
}]
|
|
82
84
|
}, /* @__PURE__ */React.createElement(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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"}
|
|
@@ -18,26 +18,61 @@ var Wheel = function Wheel(props) {
|
|
|
18
18
|
_props$accessibility = props.accessibility,
|
|
19
19
|
accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
|
|
20
20
|
var scrollerRef = useRef();
|
|
21
|
-
var
|
|
22
|
-
var _useState = useState(value),
|
|
21
|
+
var _useState = useState(false),
|
|
23
22
|
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
scrollEnded = _useState2[0],
|
|
24
|
+
setScrollEnded = _useState2[1];
|
|
25
|
+
var _useState3 = useState(0),
|
|
26
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
27
|
+
scrollHeight = _useState4[0],
|
|
28
|
+
setScrollHeight = _useState4[1];
|
|
29
|
+
var _useState5 = useState(value),
|
|
30
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
31
|
+
lastValue = _useState6[0],
|
|
32
|
+
setLastValue = _useState6[1];
|
|
33
|
+
var onScrollEndDrag = function onScrollEndDrag() {
|
|
34
|
+
setScrollEnded(true);
|
|
35
|
+
};
|
|
26
36
|
useEffect(function () {
|
|
27
37
|
if (value !== lastValue) {
|
|
28
38
|
var idx = getSelectIndex(column, value);
|
|
29
|
-
|
|
39
|
+
setIndex(idx);
|
|
30
40
|
}
|
|
31
41
|
}, [column, value]);
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
42
|
+
var themeColor = useThemeColor();
|
|
43
|
+
var _useState7 = useState(),
|
|
44
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
45
|
+
index = _useState8[0],
|
|
46
|
+
setIndex = _useState8[1];
|
|
47
|
+
var timer = useRef();
|
|
48
|
+
useEffect(function () {
|
|
49
|
+
value && setIndex(getSelectIndex(column, value));
|
|
50
|
+
}, [column, value]);
|
|
51
|
+
useEffect(function () {
|
|
52
|
+
var _column$index;
|
|
53
|
+
var newVal = column === null || column === void 0 || (_column$index = column[index]) === null || _column$index === void 0 ? void 0 : _column$index.value;
|
|
54
|
+
scrollTo(index * itemHeight);
|
|
36
55
|
if (newVal) {
|
|
37
|
-
setLastValue(newVal);
|
|
38
56
|
onSelect(newVal, props.index);
|
|
57
|
+
setLastValue(newVal);
|
|
39
58
|
}
|
|
40
|
-
};
|
|
59
|
+
}, [index, props.index]);
|
|
60
|
+
useEffect(function () {
|
|
61
|
+
if (scrollEnded) {
|
|
62
|
+
if (scrollHeight != null) {
|
|
63
|
+
timer.current = setTimeout(function () {
|
|
64
|
+
var selectIndex = Math.round(scrollHeight / itemHeight);
|
|
65
|
+
if (selectIndex >= 0 && selectIndex < column.length) {
|
|
66
|
+
setIndex(selectIndex);
|
|
67
|
+
}
|
|
68
|
+
}, 0);
|
|
69
|
+
}
|
|
70
|
+
setScrollEnded(false);
|
|
71
|
+
}
|
|
72
|
+
return function () {
|
|
73
|
+
timer.current && clearTimeout(timer.current);
|
|
74
|
+
};
|
|
75
|
+
}, [scrollEnded]);
|
|
41
76
|
var scrollTo = function scrollTo(y) {
|
|
42
77
|
setTimeout(function () {
|
|
43
78
|
var _scrollerRef$current, _scrollerRef$current$;
|
|
@@ -61,18 +96,21 @@ var Wheel = function Wheel(props) {
|
|
|
61
96
|
(_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
|
|
62
97
|
var contentOffset = e.nativeEvent.contentOffset;
|
|
63
98
|
var selectIndex = Math.round(contentOffset.y / itemHeight);
|
|
99
|
+
setIndex(selectIndex);
|
|
64
100
|
var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
|
|
65
101
|
setLastValue(newVal);
|
|
66
|
-
onSelect(newVal, props.index);
|
|
67
102
|
};
|
|
68
|
-
var
|
|
69
|
-
|
|
103
|
+
var onScroll = function onScroll(e) {
|
|
104
|
+
setScrollHeight(e.nativeEvent.contentOffset.y);
|
|
105
|
+
};
|
|
106
|
+
var handleClick = function handleClick(index2) {
|
|
107
|
+
setIndex(index2);
|
|
70
108
|
};
|
|
71
109
|
var renderItems = function renderItems() {
|
|
72
|
-
return column.map(function (item,
|
|
110
|
+
return column.map(function (item, index2) {
|
|
73
111
|
return /* @__PURE__ */React.createElement(TouchableNativeFeedback, {
|
|
74
112
|
onPress: function onPress() {
|
|
75
|
-
return handleClick(
|
|
113
|
+
return handleClick(index2);
|
|
76
114
|
},
|
|
77
115
|
key: item.value
|
|
78
116
|
}, /* @__PURE__ */React.createElement(View, _objectSpread2({
|
|
@@ -106,6 +144,9 @@ var Wheel = function Wheel(props) {
|
|
|
106
144
|
decelerationRate: "fast",
|
|
107
145
|
snapToInterval: itemHeight,
|
|
108
146
|
onMomentumScrollEnd: onMomentumScrollEnd,
|
|
147
|
+
onScrollEndDrag: onScrollEndDrag,
|
|
148
|
+
onScroll: onScroll,
|
|
149
|
+
scrollEventThrottle: 16,
|
|
109
150
|
testID: "wheel".concat(props.index)
|
|
110
151
|
}, accessibility), /* @__PURE__ */React.createElement(View, {
|
|
111
152
|
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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { memo, useEffect } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
2
3
|
import { usePortalState } from './hooks/usePortalState.js';
|
|
3
4
|
import { usePortal } from './hooks/usePortal.js';
|
|
4
5
|
import './PortalContext.js';
|
|
@@ -17,7 +18,9 @@ var PortalHostComponent = function PortalHostComponent(_ref) {
|
|
|
17
18
|
};
|
|
18
19
|
}, []);
|
|
19
20
|
return /* @__PURE__ */React.createElement(React.Fragment, null, state.map(function (item, index) {
|
|
20
|
-
return
|
|
21
|
+
return /* @__PURE__ */React.createElement(View, {
|
|
22
|
+
key: index
|
|
23
|
+
}, item.node);
|
|
21
24
|
}));
|
|
22
25
|
};
|
|
23
26
|
var PortalHost = /*#__PURE__*/memo(PortalHostComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return item.node
|
|
1
|
+
{"version":3,"file":"PortalHost.js","sources":["../../../../../src/components/Portal/core/PortalHost.tsx"],"sourcesContent":["import React, { memo, useEffect } from \"react\";\nimport { View } from \"react-native\";\nimport { usePortalState } from \"./hooks/usePortalState\";\nimport { usePortal } from \"./hooks/usePortal\";\nimport { PortalHostProps } from \"../interface\";\n\nconst PortalHostComponent = ({ name }: PortalHostProps) => {\n const state = usePortalState(name);\n const { registerHost, deregisterHost } = usePortal(name);\n useEffect(() => {\n registerHost();\n return () => {\n deregisterHost();\n };\n }, []);\n\n return (\n <>\n {state.map((item, index) => {\n return <View key={index}>{item.node}</View>;\n })}\n </>\n );\n};\n\nexport const PortalHost = memo(PortalHostComponent);\nPortalHost.displayName = \"PortalHost\";\n"],"names":["PortalHostComponent","_ref","name","state","usePortalState","_usePortal","usePortal","registerHost","deregisterHost","useEffect","React","createElement","Fragment","map","item","index","View","key","node","PortalHost","memo","displayName"],"mappings":";;;;;;;AAMA,IAAMA,mBAAsB,GAAA,SAAtBA,mBAAsBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAA5BC,IAAA,GAAAD,IAAA,CAAAC,IAAA,CAAA;AACvB,EAAA,IAAAC,KAAA,GAAQC,eAAeF,IAAI,CAAA,CAAA;AACjC,EAAA,IAAAG,UAAA,GAAyCC,UAAUJ,IAAI,CAAA;IAA/CK,YAAA,GAAAF,UAAA,CAAAE,YAAA;IAAcC,cAAe,GAAAH,UAAA,CAAfG,cAAe,CAAA;AACrCC,EAAAA,SAAA,CAAU,YAAM;AACDF,IAAAA,YAAA,EAAA,CAAA;AACb,IAAA,OAAO,YAAM;AACIC,MAAAA,cAAA,EAAA,CAAA;KACjB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,sBAEKE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,EAAAT,KAAA,CAAMU,GAAI,CAAA,UAACC,MAAMC,KAAU,EAAA;AAC1B,IAAA,sBAAQL,KAAA,CAAAC,aAAA,CAAAK,IAAA,EAAA;AAAKC,MAAAA,GAAK,EAAAF,KAAAA;AAAA,KAAA,EAAQD,KAAKI,IAAK,CAAA,CAAA;AACtC,GAAC,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;IAEaC,UAAA,gBAAaC,KAAKpB,mBAAmB,EAAA;AAClDmB,UAAA,CAAWE,WAAc,GAAA,YAAA;;;;"}
|
|
@@ -3,6 +3,7 @@ import React, { memo, useReducer, useEffect } from 'react';
|
|
|
3
3
|
import { PortalHost } from './PortalHost.js';
|
|
4
4
|
import { PortalDispatchContext, PortalStateContext } from './PortalContext.js';
|
|
5
5
|
import { A as ACTIONS } from '../../../_chunks/CDM4vPRi.js';
|
|
6
|
+
import 'react-native';
|
|
6
7
|
import './hooks/usePortalState.js';
|
|
7
8
|
import './hooks/usePortal.js';
|
|
8
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PortalProvider.js","sources":["../../../../../src/components/Portal/core/PortalProvider.tsx"],"sourcesContent":["import React, { memo, useEffect, useReducer } from \"react\";\nimport { PortalHost } from \"./PortalHost\";\nimport { PortalDispatchContext, PortalStateContext } from \"./PortalContext\";\nimport { ACTIONS, ActionTypes, AddUpdatePortalAction, PortalType, RemovePortalAction } from \"../interface\";\nimport { PortalProviderProps } from \"../interface\";\n\nexport let INITIAL_STATE = {};\nexport const stateDispatch: any = {};\nconst registerHost = (state: Record<string, Array<PortalType>>, hostName: string) => {\n if (!(hostName in state)) {\n state[hostName] = [];\n }\n return state;\n};\n\nconst deregisterHost = (state: Record<string, Array<PortalType>>, hostName: string) => {\n delete state[hostName];\n return state;\n};\n\nconst addUpdatePortal = (state: Record<string, Array<PortalType>>, hostName: string, portalName: string, node: any) => {\n if (!(hostName in state)) {\n state = registerHost(state, hostName);\n }\n\n const index = state[hostName].findIndex((item) => item.name === portalName);\n if (index !== -1) {\n state[hostName][index].node = node;\n } else {\n state[hostName].push({\n name: portalName,\n node,\n });\n }\n return state;\n};\n\nconst removePortal = (state: Record<string, Array<PortalType>>, hostName: string, portalName: string) => {\n if (!(hostName in state)) {\n return state;\n }\n\n const index = state[hostName].findIndex((item) => item.name === portalName);\n if (index !== -1) state[hostName].splice(index, 1);\n return state;\n};\n\nconst reducer = (state: Record<string, Array<PortalType>>, action: ActionTypes) => {\n const { type } = action;\n let clonedState = { ...state };\n switch (type) {\n case ACTIONS.REGISTER_HOST:\n return registerHost(clonedState, action.hostName);\n case ACTIONS.DEREGISTER_HOST:\n return deregisterHost(clonedState, action.hostName);\n case ACTIONS.ADD_UPDATE_PORTAL:\n return addUpdatePortal(\n clonedState,\n action.hostName,\n (action as AddUpdatePortalAction).portalName,\n (action as AddUpdatePortalAction).node,\n );\n case ACTIONS.REMOVE_PORTAL:\n return removePortal(clonedState, action.hostName, (action as RemovePortalAction).portalName);\n default:\n return state;\n }\n};\n\nconst PortalProviderComponent = ({\n rootHostName = \"root\",\n shouldAddRootHost = true,\n children,\n}: PortalProviderProps) => {\n const [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n useEffect(() => {\n stateDispatch[rootHostName] = {\n dispatch: dispatch,\n };\n }, []);\n return (\n <PortalDispatchContext.Provider value={dispatch}>\n <PortalStateContext.Provider value={state}>\n {children}\n {shouldAddRootHost && <PortalHost name={rootHostName} />}\n </PortalStateContext.Provider>\n </PortalDispatchContext.Provider>\n );\n};\n\nexport const PortalProvider = memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\n\nexport class PortalManager {\n dispatch: React.Dispatch<ActionTypes>;\n hostName?: string;\n constructor(props: { dispatch: React.Dispatch<ActionTypes>; hostName?: string }) {\n this.dispatch = props.dispatch;\n this.hostName = props.hostName || \"root\";\n }\n\n registerHost = (hostName: string) => {\n this.dispatch({\n type: ACTIONS.REGISTER_HOST,\n hostName,\n });\n };\n\n deregisterHost = (hostName: string) => {\n this.dispatch({\n type: ACTIONS.DEREGISTER_HOST,\n hostName,\n });\n };\n\n addPortal = (hostName: string, portalName: string, node: any) => {\n this.dispatch({\n type: ACTIONS.ADD_UPDATE_PORTAL,\n hostName,\n portalName,\n node,\n });\n };\n\n addUpdatePortal = (hostName: string, portalName: string, node: any) => {\n this.addPortal(hostName, portalName, node);\n };\n\n removePortal = (hostName: string, portalName: string) => {\n this.dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName,\n });\n };\n\n componentDidMount() {\n this.registerHost(this.hostName!);\n }\n\n componentWillUnmount() {\n this.deregisterHost(this.hostName!);\n }\n}\n"],"names":["INITIAL_STATE","stateDispatch","registerHost","state","hostName","deregisterHost","addUpdatePortal","portalName","node","index","findIndex","item","name","push","removePortal","splice","reducer","action","type","clonedState","_objectSpread","ACTIONS","REGISTER_HOST","DEREGISTER_HOST","ADD_UPDATE_PORTAL","REMOVE_PORTAL","PortalProviderComponent","_ref$rootHostName","_ref","rootHostName","_ref$shouldAddRootHos","shouldAddRootHost","children","_useReducer","useReducer","_useReducer2","_slicedToArray","dispatch","useEffect","PortalDispatchContext","Provider","value","PortalStateContext","React","createElement","PortalHost","PortalProvider","memo","displayName","PortalManager","props","_this","_classCallCheck","__publicField","addPortal","_createClass","key","componentDidMount","componentWillUnmount"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PortalProvider.js","sources":["../../../../../src/components/Portal/core/PortalProvider.tsx"],"sourcesContent":["import React, { memo, useEffect, useReducer } from \"react\";\nimport { PortalHost } from \"./PortalHost\";\nimport { PortalDispatchContext, PortalStateContext } from \"./PortalContext\";\nimport { ACTIONS, ActionTypes, AddUpdatePortalAction, PortalType, RemovePortalAction } from \"../interface\";\nimport { PortalProviderProps } from \"../interface\";\n\nexport let INITIAL_STATE = {};\nexport const stateDispatch: any = {};\nconst registerHost = (state: Record<string, Array<PortalType>>, hostName: string) => {\n if (!(hostName in state)) {\n state[hostName] = [];\n }\n return state;\n};\n\nconst deregisterHost = (state: Record<string, Array<PortalType>>, hostName: string) => {\n delete state[hostName];\n return state;\n};\n\nconst addUpdatePortal = (state: Record<string, Array<PortalType>>, hostName: string, portalName: string, node: any) => {\n if (!(hostName in state)) {\n state = registerHost(state, hostName);\n }\n\n const index = state[hostName].findIndex((item) => item.name === portalName);\n if (index !== -1) {\n state[hostName][index].node = node;\n } else {\n state[hostName].push({\n name: portalName,\n node,\n });\n }\n return state;\n};\n\nconst removePortal = (state: Record<string, Array<PortalType>>, hostName: string, portalName: string) => {\n if (!(hostName in state)) {\n return state;\n }\n\n const index = state[hostName].findIndex((item) => item.name === portalName);\n if (index !== -1) state[hostName].splice(index, 1);\n return state;\n};\n\nconst reducer = (state: Record<string, Array<PortalType>>, action: ActionTypes) => {\n const { type } = action;\n let clonedState = { ...state };\n switch (type) {\n case ACTIONS.REGISTER_HOST:\n return registerHost(clonedState, action.hostName);\n case ACTIONS.DEREGISTER_HOST:\n return deregisterHost(clonedState, action.hostName);\n case ACTIONS.ADD_UPDATE_PORTAL:\n return addUpdatePortal(\n clonedState,\n action.hostName,\n (action as AddUpdatePortalAction).portalName,\n (action as AddUpdatePortalAction).node,\n );\n case ACTIONS.REMOVE_PORTAL:\n return removePortal(clonedState, action.hostName, (action as RemovePortalAction).portalName);\n default:\n return state;\n }\n};\n\nconst PortalProviderComponent = ({\n rootHostName = \"root\",\n shouldAddRootHost = true,\n children,\n}: PortalProviderProps) => {\n const [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n useEffect(() => {\n stateDispatch[rootHostName] = {\n dispatch: dispatch,\n };\n }, []);\n return (\n <PortalDispatchContext.Provider value={dispatch}>\n <PortalStateContext.Provider value={state}>\n {children}\n {shouldAddRootHost && <PortalHost name={rootHostName} />}\n </PortalStateContext.Provider>\n </PortalDispatchContext.Provider>\n );\n};\n\nexport const PortalProvider = memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\n\nexport class PortalManager {\n dispatch: React.Dispatch<ActionTypes>;\n hostName?: string;\n constructor(props: { dispatch: React.Dispatch<ActionTypes>; hostName?: string }) {\n this.dispatch = props.dispatch;\n this.hostName = props.hostName || \"root\";\n }\n\n registerHost = (hostName: string) => {\n this.dispatch({\n type: ACTIONS.REGISTER_HOST,\n hostName,\n });\n };\n\n deregisterHost = (hostName: string) => {\n this.dispatch({\n type: ACTIONS.DEREGISTER_HOST,\n hostName,\n });\n };\n\n addPortal = (hostName: string, portalName: string, node: any) => {\n this.dispatch({\n type: ACTIONS.ADD_UPDATE_PORTAL,\n hostName,\n portalName,\n node,\n });\n };\n\n addUpdatePortal = (hostName: string, portalName: string, node: any) => {\n this.addPortal(hostName, portalName, node);\n };\n\n removePortal = (hostName: string, portalName: string) => {\n this.dispatch({\n type: ACTIONS.REMOVE_PORTAL,\n hostName,\n portalName,\n });\n };\n\n componentDidMount() {\n this.registerHost(this.hostName!);\n }\n\n componentWillUnmount() {\n this.deregisterHost(this.hostName!);\n }\n}\n"],"names":["INITIAL_STATE","stateDispatch","registerHost","state","hostName","deregisterHost","addUpdatePortal","portalName","node","index","findIndex","item","name","push","removePortal","splice","reducer","action","type","clonedState","_objectSpread","ACTIONS","REGISTER_HOST","DEREGISTER_HOST","ADD_UPDATE_PORTAL","REMOVE_PORTAL","PortalProviderComponent","_ref$rootHostName","_ref","rootHostName","_ref$shouldAddRootHos","shouldAddRootHost","children","_useReducer","useReducer","_useReducer2","_slicedToArray","dispatch","useEffect","PortalDispatchContext","Provider","value","PortalStateContext","React","createElement","PortalHost","PortalProvider","memo","displayName","PortalManager","props","_this","_classCallCheck","__publicField","addPortal","_createClass","key","componentDidMount","componentWillUnmount"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -76,7 +76,7 @@ var Stepper = function Stepper(props) {
|
|
|
76
76
|
}
|
|
77
77
|
}, [colorMode]);
|
|
78
78
|
return /* @__PURE__ */React.createElement(View, {
|
|
79
|
-
style: styles.container
|
|
79
|
+
style: [styles.container, props.style]
|
|
80
80
|
}, /* @__PURE__ */React.createElement(TouchableWithoutFeedback, {
|
|
81
81
|
onPress: function onPress() {
|
|
82
82
|
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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"}
|
|
@@ -6,7 +6,8 @@ var getStyles = function getStyles(themeColor, typography) {
|
|
|
6
6
|
display: "flex",
|
|
7
7
|
flexDirection: "row",
|
|
8
8
|
alignItems: "center",
|
|
9
|
-
justifyContent: "
|
|
9
|
+
justifyContent: "space-between",
|
|
10
|
+
width: 72
|
|
10
11
|
},
|
|
11
12
|
opacity: {
|
|
12
13
|
opacity: 0.5
|
|
@@ -22,7 +23,6 @@ var getStyles = function getStyles(themeColor, typography) {
|
|
|
22
23
|
lineHeight: 20
|
|
23
24
|
},
|
|
24
25
|
text: {
|
|
25
|
-
paddingHorizontal: 8,
|
|
26
26
|
fontWeight: typography.B1LooseFontWeight,
|
|
27
27
|
fontSize: typography.T3FontSize,
|
|
28
28
|
color: themeColor.Title
|