@xhsreds/reds-rn-next 0.10.1-beta202511241537 → 0.10.1-fix-pull-refresh202511272002
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-2.json +1 -1
- package/coverage/.tmp/coverage-20.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-26.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-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/components/Avatar/styles.js +5 -5
- package/lib/cjs/components/Avatar/styles.js.map +1 -1
- package/lib/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
- package/lib/cjs/components/BottomBar/styles.js +1 -1
- package/lib/cjs/components/BottomBar/styles.js.map +1 -1
- package/lib/cjs/components/PickerView/Wheel.js +15 -21
- package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
- package/lib/cjs/components/PullRefresh/PullRefresh.js +55 -10
- package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
- package/lib/cjs/components/Radio/Radio.js +3 -3
- package/lib/cjs/components/Radio/Radio.js.map +1 -1
- package/lib/cjs/components/Radio/styles.js +7 -5
- package/lib/cjs/components/Radio/styles.js.map +1 -1
- package/lib/cjs/components/Sheets/AnimatedSheets.js +2 -2
- package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
- package/lib/cjs/components/Slider/Slider.js +34 -74
- package/lib/cjs/components/Slider/Slider.js.map +1 -1
- package/lib/cjs/components/TextView/TextView.js +3 -6
- package/lib/cjs/components/TextView/TextView.js.map +1 -1
- package/lib/esm/components/Avatar/styles.js +5 -5
- package/lib/esm/components/Avatar/styles.js.map +1 -1
- package/lib/esm/components/AvatarGroup/AvatarGroup.js +1 -1
- package/lib/esm/components/BottomBar/styles.js +1 -1
- package/lib/esm/components/BottomBar/styles.js.map +1 -1
- package/lib/esm/components/PickerView/Wheel.js +15 -21
- package/lib/esm/components/PickerView/Wheel.js.map +1 -1
- package/lib/esm/components/PullRefresh/PullRefresh.js +55 -10
- package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
- package/lib/esm/components/Radio/Radio.js +3 -3
- package/lib/esm/components/Radio/Radio.js.map +1 -1
- package/lib/esm/components/Radio/styles.js +7 -5
- package/lib/esm/components/Radio/styles.js.map +1 -1
- package/lib/esm/components/Sheets/AnimatedSheets.js +2 -2
- package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
- package/lib/esm/components/Slider/Slider.js +36 -76
- package/lib/esm/components/Slider/Slider.js.map +1 -1
- package/lib/esm/components/TextView/TextView.js +3 -6
- package/lib/esm/components/TextView/TextView.js.map +1 -1
- package/lib/src/components/BottomBar/styles.d.ts +1 -1
- package/lib/src/components/Slider/Slider.d.ts +1 -1
- package/lib/types/components/BottomBar/styles.d.ts +1 -1
- package/lib/types/components/Slider/Slider.d.ts +1 -1
- package/package.json +2 -2
- package/src/components/Avatar/styles.ts +4 -5
- package/src/components/BottomBar/styles.ts +1 -1
- package/src/components/DatePicker/demo/index.tsx +0 -26
- package/src/components/PickerView/Wheel.tsx +11 -14
- package/src/components/PullRefresh/PullRefresh.tsx +76 -33
- package/src/components/Radio/Radio.tsx +3 -3
- package/src/components/Radio/styles.ts +5 -3
- package/src/components/Sheets/AnimatedSheets.tsx +112 -116
- package/src/components/Slider/Slider.tsx +37 -103
- package/src/components/Slider/demo/index.tsx +0 -18
- package/src/components/TextView/TextView.tsx +3 -6
- package/src/components/TextView/demo/index.tsx +1 -1
- package/src/i18n/@types/resources.d.ts +18 -18
- package/src/i18n/index.json +31 -31
|
@@ -5,14 +5,14 @@ require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
|
5
5
|
require('react');
|
|
6
6
|
require('@xhs/reds-apm/src/index.native');
|
|
7
7
|
var components_ConfigProvider_hooks_themeToken_useThemeToken = require('../ConfigProvider/hooks/themeToken/useThemeToken.js');
|
|
8
|
+
var redsTokenNext = require('@xhsreds/reds-token-next');
|
|
8
9
|
require('../../_chunks/C9tZEm0t.js');
|
|
9
|
-
require('@xhsreds/reds-token-next');
|
|
10
10
|
require('../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
|
|
11
11
|
|
|
12
12
|
var iconSizeMap = {
|
|
13
|
-
small:
|
|
14
|
-
medium:
|
|
15
|
-
large:
|
|
13
|
+
small: redsTokenNext.typography.B1FontSize,
|
|
14
|
+
medium: redsTokenNext.typography.H3FontSize,
|
|
15
|
+
large: redsTokenNext.typography.H2FontSize
|
|
16
16
|
};
|
|
17
17
|
var fontSizeMap = {
|
|
18
18
|
small: 12,
|
|
@@ -45,7 +45,8 @@ var getContainerStyle = function getContainerStyle(direction, position) {
|
|
|
45
45
|
flexDirection: position === "left" || !position || direction === "horizontal" ? "row" : "row-reverse",
|
|
46
46
|
alignItems: "center",
|
|
47
47
|
justifyContent: "flex-start",
|
|
48
|
-
backgroundColor: direction === "vertical" ? themeColor.Bg : void 0
|
|
48
|
+
backgroundColor: direction === "vertical" ? themeColor.Bg : void 0,
|
|
49
|
+
paddingHorizontal: 16
|
|
49
50
|
};
|
|
50
51
|
};
|
|
51
52
|
var getWrapperStyle = function getWrapperStyle(direction, position) {
|
|
@@ -87,6 +88,7 @@ var getLabelStyle = function getLabelStyle(disabled) {
|
|
|
87
88
|
var themeColor = components_ConfigProvider_hooks_themeToken_useThemeToken.useThemeColor("Radio");
|
|
88
89
|
return {
|
|
89
90
|
color: disabled ? themeColor.Disabled : themeColor.Title,
|
|
91
|
+
lineHeight: iconSizeMap[size],
|
|
90
92
|
fontSize: fontSizeMap[size],
|
|
91
93
|
marginRight: direction === "horizontal" ? 8 : 0
|
|
92
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","medium","large","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/Radio/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst iconSizeMap: Record<\"small\" | \"medium\" | \"large\" | string, number> = {\n small: typography.B1FontSize,\n medium: typography.H3FontSize,\n large: typography.H2FontSize,\n};\nconst fontSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nconst iconBorderSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n};\n\nexport const iconRightSizeMap: Record<\n \"small\" | \"medium\" | \"large\" | string,\n Record<\"height\" | \"width\", string | number>\n> = {\n large: {\n height: 8,\n width: 11,\n },\n medium: {\n height: 7,\n width: 9,\n },\n small: {\n height: 6,\n width: 8,\n },\n};\nexport const getContainerStyle = (direction?: string | undefined, position?: \"left\" | \"right\"): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n display: \"flex\",\n flexDirection: position === \"left\" || !position || direction === \"horizontal\" ? \"row\" : \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n backgroundColor: direction === \"vertical\" ? themeColor.Bg : undefined,\n paddingHorizontal: 16,\n };\n};\n\nexport const getWrapperStyle = (direction?: string | undefined, position?: \"left\" | \"right\") => {\n return direction === \"horizontal\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flexDirection: \"row\",\n }\n : position === \"left\"\n ? {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n }\n : {\n display: \"flex\",\n alignItems: \"center\",\n flex: 1,\n flexDirection: \"row\",\n paddingVertical: 12,\n };\n};\n\nexport const getIconStyleClass = (\n checked: boolean,\n size: \"small\" | \"medium\" | \"large\",\n disabled?: boolean,\n position: \"left\" | \"right\" = \"left\",\n direction: \"vertical\" | \"horizontal\" = \"vertical\",\n): ViewStyle => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n width: iconSizeMap[size],\n height: iconSizeMap[size],\n marginLeft: direction === \"vertical\" ? (position === \"left\" ? 0 : 12) : 0,\n marginRight: direction === \"vertical\" ? (position === \"right\" ? 0 : 12) : 8,\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: checked && disabled ? 0.4 : 1,\n };\n};\n\nexport const getLabelStyle = (\n disabled?: boolean,\n size: \"small\" | \"medium\" | \"large\" = \"medium\",\n direction = \"horizontal\",\n): TextStyle => {\n const themeColor = useThemeColor(\"Radio\");\n\n return {\n color: disabled ? themeColor.Disabled : themeColor.Title,\n lineHeight: iconSizeMap[size],\n fontSize: fontSizeMap[size],\n marginRight: direction === \"horizontal\" ? 8 : 0,\n };\n};\n\nexport const getDividerStyle = (): ViewStyle => ({\n borderBottomWidth: 1,\n borderColor: useThemeColor(\"Radio\").Separator,\n position: \"relative\",\n bottom: 0,\n});\n\nexport const iconRight = {\n position: \"absolute\",\n right: 16,\n} as ViewStyle;\n\nexport const hiddenBgStyle = (): ViewStyle => ({\n backgroundColor: \"transparent\",\n borderColor: \"none\",\n borderWidth: 0,\n});\n\nexport const freestyle = {\n flex: 1,\n height: \"100%\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n} as ViewStyle;\n\nexport const getRadioGroupStyle = (direction: \"vertical\" | \"horizontal\" = \"horizontal\") =>\n StyleSheet.create({\n group: {\n flexDirection: direction === \"horizontal\" ? \"row\" : \"column\",\n flexWrap: \"wrap\",\n },\n }).group;\n\n// 获取图标样式\nexport const getUnCheckedStyle = (size: \"small\" | \"medium\" | \"large\") => {\n const themeColor = useThemeColor(\"Radio\");\n return {\n borderRadius: 99999,\n borderWidth: 1,\n borderColor: themeColor.Separator,\n width: iconBorderSizeMap[size],\n height: iconBorderSizeMap[size],\n };\n};\n\nexport const getRightIconStyle = (size: string) => {\n const styles = StyleSheet.create({\n right: {\n height: iconRightSizeMap[size || \"large\"].height as DimensionValue,\n width: iconRightSizeMap[size || \"large\"].width as DimensionValue,\n },\n });\n return styles.right;\n};\n\nexport const getRightWrapperStyle = (size: string, themeColor: any, customColor?: string) => {\n const styles = StyleSheet.create({\n wrapper: {\n height: iconSizeMap[size || \"large\"] as DimensionValue,\n width: iconSizeMap[size || \"large\"] as DimensionValue,\n borderRadius: 1000,\n backgroundColor: customColor || themeColor.Primary,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n return styles.wrapper;\n};\n"],"names":["iconSizeMap","small","typography","B1FontSize","medium","H3FontSize","large","H2FontSize","fontSizeMap","iconBorderSizeMap","iconRightSizeMap","height","width","getContainerStyle","direction","position","themeColor","useThemeColor","display","flexDirection","alignItems","justifyContent","backgroundColor","Bg","paddingHorizontal","getWrapperStyle","flex","paddingVertical","getIconStyleClass","checked","size","disabled","arguments","length","undefined","marginLeft","marginRight","opacity","getLabelStyle","color","Disabled","Title","lineHeight","fontSize","getDividerStyle","borderBottomWidth","borderColor","Separator","bottom","iconRight","right","hiddenBgStyle","borderWidth","freestyle","getRadioGroupStyle","StyleSheet","create","group","flexWrap","getUnCheckedStyle","borderRadius","getRightIconStyle","styles","getRightWrapperStyle","customColor","wrapper","Primary"],"mappings":"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"}
|
|
@@ -320,7 +320,7 @@ var AnimatedSheets = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
320
320
|
}, props.maskStyle, {
|
|
321
321
|
opacity: opacityValue
|
|
322
322
|
}]
|
|
323
|
-
})) : /* @__PURE__ */React.createElement(React.Fragment, null),
|
|
323
|
+
})) : /* @__PURE__ */React.createElement(React.Fragment, null), /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
324
324
|
testID: "Sheets",
|
|
325
325
|
style: [components_Sheets_styles.default.picker, {
|
|
326
326
|
backgroundColor: themeColor.Bg2
|
|
@@ -386,7 +386,7 @@ var AnimatedSheets = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
386
386
|
block: true,
|
|
387
387
|
onClick: handleConfirm,
|
|
388
388
|
type: "primary"
|
|
389
|
-
}, closeText || sureKey)) : /* @__PURE__ */React.createElement(React.Fragment, null)) : /* @__PURE__ */React.createElement(React.Fragment, null))
|
|
389
|
+
}, closeText || sureKey)) : /* @__PURE__ */React.createElement(React.Fragment, null)) : /* @__PURE__ */React.createElement(React.Fragment, null)));
|
|
390
390
|
});
|
|
391
391
|
AnimatedSheets.defaultProps = components_Sheets_interface_index.SheetsDefaultProps;
|
|
392
392
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedSheets.js","sources":["../../../../src/components/Sheets/AnimatedSheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect, useCallback, forwardRef, useImperativeHandle } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableOpacity,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n Easing,\n Platform,\n StatusBar,\n TouchableWithoutFeedback,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport { getSafeAreaInsets } from \"../StatusBar\";\nimport { CancelM } from \"@xhs/reder-icon-svg-ReDs_icon\";\n\nconst AnimatedSheets = forwardRef((props: RedsSheets, ref) => {\n useMounted(\"AnimatedSheets\");\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n const sureKey = useLanguage(\"componentKey\", \"sureKey\");\n const {\n visible,\n onCancel,\n onConfirm,\n onAnimatedOut,\n onImmediateCancel,\n onImmediateConfirm,\n isMaskClose,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const [screenHeight, setScreenHeight] = useState(Dimensions.get(\"screen\").height);\n\n /**\n * Sheets容器高度动画\n */\n const [sheetsHeight, setSheetsHeight] = useState(34);\n\n const [isDragging, setIsDragging] = useState(false);\n\n const [_visible, setVisible] = useState(false);\n\n const [showMask, setShowMask] = useState(false);\n\n /**\n * Sheets容器位置动画\n */\n const [translateY] = useState(new Animated.Value(Dimensions.get(\"screen\").height));\n\n /**\n * Sheets容器child内容高度\n */\n const childHeightRef = useRef(0);\n\n /**\n * 底部操作区高度\n */\n const [actionHeight, setActionHeight] = useState(0);\n\n /**\n * 标题区域高度\n */\n const [labelHeight, setLabelHeight] = useState(0);\n\n /**\n * child高度\n */\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 背景颜色\n */\n const opacityValue = useRef(new Animated.Value(0)).current;\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n if (!isMaskClose || !mask) {\n return;\n }\n onImmediateCancel?.();\n // 动画结束关闭弹窗\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n onImmediateConfirm?.();\n // 动画结束关闭弹窗\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n onImmediateCancel?.();\n // 动画结束关闭弹窗\n onCancel?.();\n };\n\n /**\n * 计算子容器高度\n * @param evt LayoutChangeEvent\n */\n const handleLayout = (evt: LayoutChangeEvent) => {\n if (isDragging) return;\n const { height } = evt.nativeEvent.layout;\n setChildHeight(height);\n };\n\n /**\n * 计算底部操作区高度\n * @param evt\n */\n const handleActionLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setActionHeight(height);\n };\n\n /**\n * 计算标题高度\n * @param evt\n */\n const handleLabelLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setLabelHeight(height);\n };\n\n // 添加动画显示和隐藏的函数\n const animateIn = () => {\n Animated.timing(translateY, {\n toValue: 0, // 移动到目标位置(顶部)\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start();\n };\n\n /**\n * 外层容器高度变化\n */\n useEffect(() => {\n if (isDragging || !childHeight) return;\n const factHeight = actionHeight + labelHeight + childHeight;\n const fullScreenHeight = screenHeight || Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n // 适配底部bottom\n const isIos = Platform.OS === \"ios\";\n const SAFE_BOTTOM = getSafeAreaInsets().bottom;\n // 适配底部bottom\n let calculateHeight = 0;\n if (props.animatedSheetsSize === \"fixed\") {\n calculateHeight = props.autoSize\n ? props.autoSize\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n } else {\n calculateHeight =\n sheetsType !== SheetsType.dragable\n ? size === SheetsSize.auto\n ? factHeight\n ? Math.min(fullScreenHeight, factHeight)\n : fullScreenHeight\n : size === SheetsSize.half\n ? factHeight\n ? Math.min(halfScreenHeight, factHeight)\n : halfScreenHeight\n : size === SheetsSize.threeQuater\n ? factHeight\n ? Math.min(threeQuaterScreenHeight, factHeight)\n : threeQuaterScreenHeight\n : factHeight\n ? Math.min(fullScreenHeight, factHeight)\n : fullScreenHeight\n : factHeight;\n childHeightRef.current = calculateHeight;\n }\n setSheetsHeight(\n props.sheetsStyle?.backgroundColor === \"transparent\"\n ? calculateHeight\n : calculateHeight + (SAFE_BOTTOM || (isIos ? 34 : 20)),\n );\n }, [actionHeight, labelHeight, childHeight, props.animatedSheetsSize, props.autoSize, size, screenHeight]);\n\n useEffect(() => {\n if (mask) {\n if (_visible) {\n setShowMask(true);\n }\n Animated.timing(opacityValue, {\n toValue: _visible && mask ? 1 : 0,\n duration: 150,\n useNativeDriver: true, // 使用原生驱动\n easing: Easing.linear, // 动画缓动函数\n }).start(() => {\n setShowMask(_visible);\n });\n }\n }, [_visible, mask]);\n\n /**\n * 手势监听\n */\n const panResponder = useRef(\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => sheetsType === SheetsType.dragable,\n onPanResponderGrant: () => {\n // Set dragging to true when drag starts\n setIsDragging(true);\n },\n onPanResponderMove: useCallback(\n (_: any, gestureState: any) => {\n const fullScreenHeight = screenHeight || Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n const maxHeight =\n size === SheetsSize.auto\n ? fullScreenHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n const newHeight = Math.min(\n maxHeight,\n Math.max(childHeightRef.current, childHeightRef.current - gestureState.dy),\n );\n setSheetsHeight(newHeight);\n },\n [size, childHeightRef.current],\n ),\n onPanResponderRelease: () => {\n // Set dragging to false when drag ends\n setIsDragging(false);\n },\n }),\n ).current;\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback\n onPress={() => {\n type === \"confirm\" ? handleConfirm() : handleCancel();\n }}\n >\n <View style={[styles.iconBg, { backgroundColor: themeColor.Disabled }]}>\n {type === \"confirm\" ? (\n <Icon icon={CancelM} size={20} onClick={handleConfirm} fill={\"rgba(255,255,255,1)\"} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon icon={CancelM} size={20} onClick={handleConfirm} fill={\"rgba(0,0,0,1)\"} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n );\n };\n\n /** 监听屏幕变化 */\n useEffect(() => {\n const dimensionListener = Dimensions.addEventListener(\"change\", ({ screen: { height } }) => {\n setScreenHeight(height);\n });\n // 清理函数,移除监听器\n return () => {\n dimensionListener.remove();\n };\n }, []);\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, [colorMode]);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n useImperativeHandle(ref, () => ({\n animateOut: (fn: any) => {\n Animated.timing(translateY, {\n toValue: screenHeight || Dimensions.get(\"screen\").height, // 移动到屏幕底部\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start((data) => {\n if (data.finished) {\n onAnimatedOut?.();\n setVisible(false);\n fn?.();\n translateY.setValue(screenHeight || Dimensions.get(\"screen\").height);\n }\n });\n },\n }));\n\n // 兼容setVisible方式的关闭动画\n useEffect(() => {\n if (!visible) {\n Animated.timing(translateY, {\n toValue: screenHeight || Dimensions.get(\"screen\").height, // 移动到屏幕底部\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start((data) => {\n if (data.finished) {\n onAnimatedOut?.();\n setVisible(false);\n translateY.setValue(screenHeight || Dimensions.get(\"screen\").height);\n }\n });\n } else {\n setVisible(true);\n animateIn();\n }\n }, [visible]);\n\n return (\n <>\n {showMask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <Animated.View\n testID=\"mask\"\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n props.maskStyle,\n { opacity: opacityValue },\n ]}\n ></Animated.View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n {_visible ? (\n <Animated.View\n testID=\"Sheets\"\n style={[\n styles.picker,\n { backgroundColor: themeColor.Bg2 },\n {\n height: sheetsHeight,\n transform: [{ translateY }],\n },\n { zIndex: props.zIndex },\n props.sheetsStyle,\n ]}\n >\n {props.header ? <View onLayout={handleLabelLayout}>{props.header}</View> : <></>}\n {/** normal */}\n {showLabel && !props.header ? (\n <View\n style={[\n props.headlerLayout === \"center\" ? styles.labelContainer : styles.leftLabelContainer,\n { backgroundColor: themeColor.Bg2 },\n props.headerStyle,\n ]}\n onLayout={handleLabelLayout}\n >\n {!cancel ? (\n props.headlerLayout === \"center\" ? (\n <Block />\n ) : (\n <></>\n )\n ) : (\n <TouchableOpacity onPress={handleCancel} activeOpacity={1}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Title }]} testID=\"cancel\">\n {cancelText || cancelKey}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableOpacity>\n )}\n {label ? (\n <Text style={[styles.label, { color: themeColor.Title }]}>\n {label}\n {showMask}\n </Text>\n ) : (\n <></>\n )}\n {!close ? (\n props.headlerLayout === \"center\" ? (\n <Block />\n ) : (\n <></>\n )\n ) : (\n <TouchableOpacity onPress={handleConfirm} activeOpacity={1}>\n {closeType === SheetsActionType.text ? (\n <View>\n <Text\n style={[\n styles.confirm,\n { color: themeColor.Primary },\n { elevation: 0, shadowColor: \"transparent\" },\n ]}\n testID=\"close\"\n >\n {closeText || sureKey}\n </Text>\n </View>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableOpacity>\n )}\n </View>\n ) : (\n <></>\n )}\n\n {/** 拖拽按钮 */}\n {sheetsType === SheetsType.dragable && !props.header ? (\n <Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={\"draggable\"}>\n <View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />\n </Animated.View>\n ) : (\n <></>\n )}\n\n <View onLayout={handleLayout}>{children}</View>\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]} onLayout={handleActionLayout}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText || cancelKey}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText || sureKey}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </Animated.View>\n ) : (\n <></>\n )}\n </>\n );\n});\n// @ts-ignore\nAnimatedSheets.defaultProps = SheetsDefaultProps;\n\nexport default AnimatedSheets;\n"],"names":["AnimatedSheets","forwardRef","props","ref","useMounted","cancelKey","useLanguage","sureKey","visible","onCancel","onConfirm","onAnimatedOut","onImmediateCancel","onImmediateConfirm","isMaskClose","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","Dimensions","get","height","_useState2","_slicedToArray","screenHeight","setScreenHeight","_useState3","_useState4","sheetsHeight","setSheetsHeight","_useState5","_useState6","isDragging","setIsDragging","_useState7","_useState8","_visible","setVisible","_useState9","_useState0","showMask","setShowMask","_useState1","Animated","Value","_useState10","translateY","childHeightRef","useRef","_useState11","_useState12","actionHeight","setActionHeight","_useState13","_useState14","labelHeight","setLabelHeight","_useState15","_useState16","childHeight","setChildHeight","opacityValue","current","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleConfirm","handleCancel","handleLayout","evt","nativeEvent","layout","handleActionLayout","handleLabelLayout","animateIn","timing","toValue","useNativeDriver","duration","easing","Easing","ease","start","useEffect","_props$sheetsStyle","factHeight","fullScreenHeight","halfScreenHeight","Math","floor","threeQuaterScreenHeight","isIos","Platform","OS","SAFE_BOTTOM","getSafeAreaInsets","bottom","calculateHeight","animatedSheetsSize","autoSize","SheetsSize","half","threeQuater","dragable","auto","min","sheetsStyle","backgroundColor","linear","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","useCallback","_","gestureState","maxHeight","newHeight","max","dy","onPanResponderRelease","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","Disabled","Icon","icon","CancelM","onClick","fill","ArrowLeft","IconType","image","dimensionListener","addEventListener","_ref","screen","remove","Block","block","useImperativeHandle","animateOut","fn","data","finished","setValue","Fragment","testID","SheetsMaskMode","light","alwaysColor","MaskBg","maskStyle","opacity","picker","Bg2","transform","zIndex","header","onLayout","headlerLayout","labelContainer","leftLabelContainer","headerStyle","TouchableOpacity","activeOpacity","SheetsActionType","text","Text","color","Title","confirm","Primary","elevation","shadowColor","_objectSpread","dragableContainer","panHandlers","Fill3","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnimatedSheets.js","sources":["../../../../src/components/Sheets/AnimatedSheets.tsx"],"sourcesContent":["import React, { useState, useRef, useMemo, useEffect, useCallback, forwardRef, useImperativeHandle } from \"react\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport {\n View,\n TouchableOpacity,\n Text,\n Animated,\n LayoutChangeEvent,\n PanResponder,\n Dimensions,\n Easing,\n Platform,\n StatusBar,\n TouchableWithoutFeedback,\n} from \"react-native\";\nimport {\n RedsSheets,\n SheetsDefaultProps,\n SheetsMaskMode,\n SheetsType,\n SheetsIconType,\n SheetsActionType,\n SheetsSize,\n} from \"./interface/index\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport styles from \"./styles\";\nimport { Button } from \"../Button\";\nimport { Icon, IconType } from \"../Icon\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport { getSafeAreaInsets } from \"../StatusBar\";\nimport { CancelM } from \"@xhs/reder-icon-svg-ReDs_icon\";\n\nconst AnimatedSheets = forwardRef((props: RedsSheets, ref) => {\n useMounted(\"AnimatedSheets\");\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n const sureKey = useLanguage(\"componentKey\", \"sureKey\");\n const {\n visible,\n onCancel,\n onConfirm,\n onAnimatedOut,\n onImmediateCancel,\n onImmediateConfirm,\n isMaskClose,\n children,\n label,\n mask,\n maskMode,\n cancelType,\n closeType,\n cancelText,\n closeText,\n sheetsType,\n cancel,\n close,\n iconType,\n size,\n } = props;\n\n const themeColor = useThemeColor();\n\n const colorMode = useColorMode();\n\n const [screenHeight, setScreenHeight] = useState(Dimensions.get(\"screen\").height);\n\n /**\n * Sheets容器高度动画\n */\n const [sheetsHeight, setSheetsHeight] = useState(34);\n\n const [isDragging, setIsDragging] = useState(false);\n\n const [_visible, setVisible] = useState(false);\n\n const [showMask, setShowMask] = useState(false);\n\n /**\n * Sheets容器位置动画\n */\n const [translateY] = useState(new Animated.Value(Dimensions.get(\"screen\").height));\n\n /**\n * Sheets容器child内容高度\n */\n const childHeightRef = useRef(0);\n\n /**\n * 底部操作区高度\n */\n const [actionHeight, setActionHeight] = useState(0);\n\n /**\n * 标题区域高度\n */\n const [labelHeight, setLabelHeight] = useState(0);\n\n /**\n * child高度\n */\n const [childHeight, setChildHeight] = useState(0);\n\n /**\n * 背景颜色\n */\n const opacityValue = useRef(new Animated.Value(0)).current;\n /**\n * 是否展示标题\n */\n const showLabel = useMemo(() => {\n return sheetsType === SheetsType.normal && (cancel || close || label);\n }, [sheetsType, cancel, close, label]);\n\n /**\n * 是否展示底部操作栏\n */\n const showAction = useMemo(() => {\n return sheetsType === SheetsType.action && (cancel || close);\n }, [sheetsType, cancel, close]);\n\n /**\n * 关闭Sheets\n */\n const handleMask = () => {\n if (!isMaskClose || !mask) {\n return;\n }\n onImmediateCancel?.();\n // 动画结束关闭弹窗\n onCancel?.();\n };\n\n /**\n * 确定 or 完成\n */\n const handleConfirm = () => {\n onImmediateConfirm?.();\n // 动画结束关闭弹窗\n onConfirm?.();\n };\n\n /**\n * 返回 or 取消\n */\n const handleCancel = () => {\n onImmediateCancel?.();\n // 动画结束关闭弹窗\n onCancel?.();\n };\n\n /**\n * 计算子容器高度\n * @param evt LayoutChangeEvent\n */\n const handleLayout = (evt: LayoutChangeEvent) => {\n if (isDragging) return;\n const { height } = evt.nativeEvent.layout;\n setChildHeight(height);\n };\n\n /**\n * 计算底部操作区高度\n * @param evt\n */\n const handleActionLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setActionHeight(height);\n };\n\n /**\n * 计算标题高度\n * @param evt\n */\n const handleLabelLayout = (evt: LayoutChangeEvent) => {\n const { height } = evt.nativeEvent.layout;\n setLabelHeight(height);\n };\n\n // 添加动画显示和隐藏的函数\n const animateIn = () => {\n Animated.timing(translateY, {\n toValue: 0, // 移动到目标位置(顶部)\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start();\n };\n\n /**\n * 外层容器高度变化\n */\n useEffect(() => {\n if (isDragging || !childHeight) return;\n const factHeight = actionHeight + labelHeight + childHeight;\n const fullScreenHeight = screenHeight || Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n // 适配底部bottom\n const isIos = Platform.OS === \"ios\";\n const SAFE_BOTTOM = getSafeAreaInsets().bottom;\n // 适配底部bottom\n let calculateHeight = 0;\n if (props.animatedSheetsSize === \"fixed\") {\n calculateHeight = props.autoSize\n ? props.autoSize\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n } else {\n calculateHeight =\n sheetsType !== SheetsType.dragable\n ? size === SheetsSize.auto\n ? factHeight\n ? Math.min(fullScreenHeight, factHeight)\n : fullScreenHeight\n : size === SheetsSize.half\n ? factHeight\n ? Math.min(halfScreenHeight, factHeight)\n : halfScreenHeight\n : size === SheetsSize.threeQuater\n ? factHeight\n ? Math.min(threeQuaterScreenHeight, factHeight)\n : threeQuaterScreenHeight\n : factHeight\n ? Math.min(fullScreenHeight, factHeight)\n : fullScreenHeight\n : factHeight;\n childHeightRef.current = calculateHeight;\n }\n setSheetsHeight(\n props.sheetsStyle?.backgroundColor === \"transparent\"\n ? calculateHeight\n : calculateHeight + (SAFE_BOTTOM || (isIos ? 34 : 20)),\n );\n }, [actionHeight, labelHeight, childHeight, props.animatedSheetsSize, props.autoSize, size, screenHeight]);\n\n useEffect(() => {\n if (mask) {\n if (_visible) {\n setShowMask(true);\n }\n Animated.timing(opacityValue, {\n toValue: _visible && mask ? 1 : 0,\n duration: 150,\n useNativeDriver: true, // 使用原生驱动\n easing: Easing.linear, // 动画缓动函数\n }).start(() => {\n setShowMask(_visible);\n });\n }\n }, [_visible, mask]);\n\n /**\n * 手势监听\n */\n const panResponder = useRef(\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => sheetsType === SheetsType.dragable,\n onPanResponderGrant: () => {\n // Set dragging to true when drag starts\n setIsDragging(true);\n },\n onPanResponderMove: useCallback(\n (_: any, gestureState: any) => {\n const fullScreenHeight = screenHeight || Dimensions.get(\"screen\").height;\n const halfScreenHeight = Math.floor(fullScreenHeight / 2);\n const threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);\n const maxHeight =\n size === SheetsSize.auto\n ? fullScreenHeight\n : size === SheetsSize.half\n ? halfScreenHeight\n : size === SheetsSize.threeQuater\n ? threeQuaterScreenHeight\n : fullScreenHeight;\n const newHeight = Math.min(\n maxHeight,\n Math.max(childHeightRef.current, childHeightRef.current - gestureState.dy),\n );\n setSheetsHeight(newHeight);\n },\n [size, childHeightRef.current],\n ),\n onPanResponderRelease: () => {\n // Set dragging to false when drag ends\n setIsDragging(false);\n },\n }),\n ).current;\n\n /** icon wrapper */\n const iconWrapper = (type: string) => {\n return iconType === SheetsIconType.bg ? (\n <TouchableWithoutFeedback\n onPress={() => {\n type === \"confirm\" ? handleConfirm() : handleCancel();\n }}\n >\n <View style={[styles.iconBg, { backgroundColor: themeColor.Disabled }]}>\n {type === \"confirm\" ? (\n <Icon icon={CancelM} size={20} onClick={handleConfirm} fill={\"rgba(255,255,255,1)\"} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n )}\n </View>\n </TouchableWithoutFeedback>\n ) : type === \"confirm\" ? (\n <Icon icon={CancelM} size={20} onClick={handleConfirm} fill={\"rgba(0,0,0,1)\"} />\n ) : (\n <Icon icon={ArrowLeft} type={IconType.iconType.image} size={20} onClick={handleCancel} />\n );\n };\n\n /** 监听屏幕变化 */\n useEffect(() => {\n const dimensionListener = Dimensions.addEventListener(\"change\", ({ screen: { height } }) => {\n setScreenHeight(height);\n });\n // 清理函数,移除监听器\n return () => {\n dimensionListener.remove();\n };\n }, []);\n\n /** block占位 */\n const Block = () => {\n return <View style={styles.block} />;\n };\n\n const ArrowLeft = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/fb5b21a7cce47ddb6a0e298c1f362f1486824615.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c4c4ea8f2a3c991e0d17d327466e7a31389e2ba2.png\";\n }\n }, [colorMode]);\n\n const Close = useMemo(() => {\n if (colorMode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/e5021b86d9477351022f6f91e20e735e2074283f.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/612362486f95774c1dbdedd48318f969e35d810d.png\";\n }\n }, [colorMode]);\n\n useImperativeHandle(ref, () => ({\n animateOut: (fn: any) => {\n Animated.timing(translateY, {\n toValue: screenHeight || Dimensions.get(\"screen\").height, // 移动到屏幕底部\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start((data) => {\n if (data.finished) {\n onAnimatedOut?.();\n setVisible(false);\n fn?.();\n translateY.setValue(screenHeight || Dimensions.get(\"screen\").height);\n }\n });\n },\n }));\n\n // 兼容setVisible方式的关闭动画\n useEffect(() => {\n if (!visible) {\n Animated.timing(translateY, {\n toValue: screenHeight || Dimensions.get(\"screen\").height, // 移动到屏幕底部\n useNativeDriver: true,\n duration: 150,\n easing: Easing.ease,\n }).start((data) => {\n if (data.finished) {\n onAnimatedOut?.();\n setVisible(false);\n translateY.setValue(screenHeight || Dimensions.get(\"screen\").height);\n }\n });\n } else {\n setVisible(true);\n animateIn();\n }\n }, [visible]);\n\n return (\n <>\n {showMask ? (\n <TouchableWithoutFeedback onPress={handleMask}>\n <Animated.View\n testID=\"mask\"\n style={[\n styles.mask,\n { backgroundColor: maskMode === SheetsMaskMode.light ? alwaysColor.MaskBg : \"rgba(0,0,0,0.8)\" },\n props.maskStyle,\n { opacity: opacityValue },\n ]}\n ></Animated.View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <Animated.View\n testID=\"Sheets\"\n style={[\n styles.picker,\n { backgroundColor: themeColor.Bg2 },\n {\n height: sheetsHeight,\n transform: [{ translateY }],\n },\n { zIndex: props.zIndex },\n props.sheetsStyle,\n ]}\n >\n {props.header ? <View onLayout={handleLabelLayout}>{props.header}</View> : <></>}\n {/** normal */}\n {showLabel && !props.header ? (\n <View\n style={[\n props.headlerLayout === \"center\" ? styles.labelContainer : styles.leftLabelContainer,\n { backgroundColor: themeColor.Bg2 },\n props.headerStyle,\n ]}\n onLayout={handleLabelLayout}\n >\n {!cancel ? (\n props.headlerLayout === \"center\" ? (\n <Block />\n ) : (\n <></>\n )\n ) : (\n <TouchableOpacity onPress={handleCancel} activeOpacity={1}>\n {cancelType === SheetsActionType.text ? (\n <Text style={[styles.cancel, { color: themeColor.Title }]} testID=\"cancel\">\n {cancelText || cancelKey}\n </Text>\n ) : (\n iconWrapper(\"cancel\")\n )}\n </TouchableOpacity>\n )}\n {label ? (\n <Text style={[styles.label, { color: themeColor.Title }]}>\n {label}\n {showMask}\n </Text>\n ) : (\n <></>\n )}\n {!close ? (\n props.headlerLayout === \"center\" ? (\n <Block />\n ) : (\n <></>\n )\n ) : (\n <TouchableOpacity onPress={handleConfirm} activeOpacity={1}>\n {closeType === SheetsActionType.text ? (\n <View>\n <Text\n style={[\n styles.confirm,\n { color: themeColor.Primary },\n { elevation: 0, shadowColor: \"transparent\" },\n ]}\n testID=\"close\"\n >\n {closeText || sureKey}\n </Text>\n </View>\n ) : (\n iconWrapper(\"confirm\")\n )}\n </TouchableOpacity>\n )}\n </View>\n ) : (\n <></>\n )}\n\n {/** 拖拽按钮 */}\n {sheetsType === SheetsType.dragable && !props.header ? (\n <Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={\"draggable\"}>\n <View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />\n </Animated.View>\n ) : (\n <></>\n )}\n\n <View onLayout={handleLayout}>{children}</View>\n\n {/** action */}\n {showAction ? (\n <View style={[styles.actionContainer]} onLayout={handleActionLayout}>\n {cancel ? (\n <View style={styles.action}>\n <Button block onClick={handleCancel}>\n {cancelText || cancelKey}\n </Button>\n </View>\n ) : (\n <></>\n )}\n {close ? (\n <View style={styles.action}>\n <Button block onClick={handleConfirm} type=\"primary\">\n {closeText || sureKey}\n </Button>\n </View>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n )}\n </Animated.View>\n </>\n );\n});\n// @ts-ignore\nAnimatedSheets.defaultProps = SheetsDefaultProps;\n\nexport default AnimatedSheets;\n"],"names":["AnimatedSheets","forwardRef","props","ref","useMounted","cancelKey","useLanguage","sureKey","visible","onCancel","onConfirm","onAnimatedOut","onImmediateCancel","onImmediateConfirm","isMaskClose","children","label","mask","maskMode","cancelType","closeType","cancelText","closeText","sheetsType","cancel","close","iconType","size","themeColor","useThemeColor","colorMode","useColorMode","_useState","useState","Dimensions","get","height","_useState2","_slicedToArray","screenHeight","setScreenHeight","_useState3","_useState4","sheetsHeight","setSheetsHeight","_useState5","_useState6","isDragging","setIsDragging","_useState7","_useState8","_visible","setVisible","_useState9","_useState0","showMask","setShowMask","_useState1","Animated","Value","_useState10","translateY","childHeightRef","useRef","_useState11","_useState12","actionHeight","setActionHeight","_useState13","_useState14","labelHeight","setLabelHeight","_useState15","_useState16","childHeight","setChildHeight","opacityValue","current","showLabel","useMemo","SheetsType","normal","showAction","action","handleMask","handleConfirm","handleCancel","handleLayout","evt","nativeEvent","layout","handleActionLayout","handleLabelLayout","animateIn","timing","toValue","useNativeDriver","duration","easing","Easing","ease","start","useEffect","_props$sheetsStyle","factHeight","fullScreenHeight","halfScreenHeight","Math","floor","threeQuaterScreenHeight","isIos","Platform","OS","SAFE_BOTTOM","getSafeAreaInsets","bottom","calculateHeight","animatedSheetsSize","autoSize","SheetsSize","half","threeQuater","dragable","auto","min","sheetsStyle","backgroundColor","linear","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","useCallback","_","gestureState","maxHeight","newHeight","max","dy","onPanResponderRelease","iconWrapper","type","SheetsIconType","bg","React","createElement","TouchableWithoutFeedback","onPress","View","style","styles","iconBg","Disabled","Icon","icon","CancelM","onClick","fill","ArrowLeft","IconType","image","dimensionListener","addEventListener","_ref","screen","remove","Block","block","useImperativeHandle","animateOut","fn","data","finished","setValue","Fragment","testID","SheetsMaskMode","light","alwaysColor","MaskBg","maskStyle","opacity","picker","Bg2","transform","zIndex","header","onLayout","headlerLayout","labelContainer","leftLabelContainer","headerStyle","TouchableOpacity","activeOpacity","SheetsActionType","text","Text","color","Title","confirm","Primary","elevation","shadowColor","_objectSpread","dragableContainer","panHandlers","Fill3","actionContainer","Button","defaultProps","SheetsDefaultProps"],"mappings":"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"}
|
|
@@ -20,91 +20,64 @@ var Slider = function Slider(_ref) {
|
|
|
20
20
|
initalValue = _ref$initalValue === void 0 ? 0 : _ref$initalValue,
|
|
21
21
|
onValueChange = _ref.onValueChange,
|
|
22
22
|
_ref$dotStyle = _ref.dotStyle,
|
|
23
|
-
dotStyle = _ref$dotStyle === void 0 ? {} : _ref$dotStyle
|
|
24
|
-
_ref$step = _ref.step,
|
|
25
|
-
step = _ref$step === void 0 ? 1 : _ref$step;
|
|
23
|
+
dotStyle = _ref$dotStyle === void 0 ? {} : _ref$dotStyle;
|
|
26
24
|
pvCount_useUnmountedProcess.default("Slider");
|
|
27
|
-
var _useState = React.useState(reactNative.
|
|
25
|
+
var _useState = React.useState(reactNative.PanResponder.create({})),
|
|
28
26
|
_useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
var _useState3 = React.useState(
|
|
27
|
+
panResponder = _useState2[0],
|
|
28
|
+
setPanResponder = _useState2[1];
|
|
29
|
+
var _useState3 = React.useState(reactNative.Dimensions.get("window").width * 0.8),
|
|
32
30
|
_useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
sliderWidth = _useState4[0],
|
|
32
|
+
setSliderWidth = _useState4[1];
|
|
33
|
+
var _useState5 = React.useState(initalValue),
|
|
34
|
+
_useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
|
|
35
|
+
value = _useState6[0],
|
|
36
|
+
setValue = _useState6[1];
|
|
35
37
|
if (max < min) {
|
|
36
38
|
return;
|
|
37
39
|
}
|
|
38
40
|
if (value < min || value > max) {
|
|
39
41
|
return;
|
|
40
42
|
}
|
|
41
|
-
var getSteppedValue = React.useCallback(function (rawValue) {
|
|
42
|
-
var steppedValue = Math.round((rawValue - min) / step) * step + min;
|
|
43
|
-
return Math.max(min, Math.min(max, steppedValue));
|
|
44
|
-
}, [min, max, step]);
|
|
45
43
|
var animatedValue = React.useRef(new reactNative.Animated.Value(initalValue * sliderWidth / (max - min))).current;
|
|
46
|
-
var animatedThumbValue = React.useRef(new reactNative.Animated.Value(initalValue * sliderWidth / (max - min) > 0 ? initalValue * sliderWidth / (max - min) - 8 : initalValue * sliderWidth / (max - min))).current;
|
|
47
44
|
React.useEffect(function () {
|
|
48
45
|
var handleOrientationChange = function handleOrientationChange() {
|
|
49
|
-
setSliderWidth(reactNative.Dimensions.get("window").width);
|
|
46
|
+
setSliderWidth(reactNative.Dimensions.get("window").width * 0.8);
|
|
50
47
|
};
|
|
51
48
|
var subscription = reactNative.Dimensions.addEventListener("change", handleOrientationChange);
|
|
49
|
+
createPanResponder();
|
|
52
50
|
return function () {
|
|
53
51
|
subscription.remove();
|
|
54
52
|
};
|
|
55
53
|
}, []);
|
|
56
|
-
var hanleValueUpdate =
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
setValue(
|
|
60
|
-
animatedValue.setValue(steppedValue * sliderWidth / (max - min));
|
|
61
|
-
animatedThumbValue.setValue(steppedValue * sliderWidth / (max - min) > 0 ? steppedValue * sliderWidth / (max - min) - 8 : steppedValue * sliderWidth / (max - min));
|
|
54
|
+
var hanleValueUpdate = function hanleValueUpdate(gestureState) {
|
|
55
|
+
var currentValue = Math.max(min, Math.min(max, gestureState.dx / sliderWidth * (max - min) + initalValue));
|
|
56
|
+
setValue(currentValue);
|
|
57
|
+
animatedValue.setValue(currentValue * sliderWidth / (max - min));
|
|
62
58
|
if (onValueChange) {
|
|
63
|
-
onValueChange(
|
|
59
|
+
onValueChange(currentValue);
|
|
64
60
|
}
|
|
65
|
-
}
|
|
66
|
-
var handleTrackPress = React.useCallback(function (event) {
|
|
67
|
-
var locationX = event.nativeEvent.locationX;
|
|
68
|
-
var rawValue = locationX / sliderWidth * (max - min) + min;
|
|
69
|
-
var steppedValue = getSteppedValue(rawValue);
|
|
70
|
-
setValue(steppedValue);
|
|
71
|
-
reactNative.Animated.timing(animatedValue, {
|
|
72
|
-
toValue: steppedValue * sliderWidth / (max - min),
|
|
73
|
-
duration: 200,
|
|
74
|
-
useNativeDriver: false
|
|
75
|
-
}).start();
|
|
76
|
-
reactNative.Animated.timing(animatedThumbValue, {
|
|
77
|
-
toValue: steppedValue * sliderWidth / (max - min) > 0 ? steppedValue * sliderWidth / (max - min) - 8 : steppedValue * sliderWidth / (max - min),
|
|
78
|
-
duration: 200,
|
|
79
|
-
useNativeDriver: false
|
|
80
|
-
}).start();
|
|
81
|
-
if (onValueChange) {
|
|
82
|
-
onValueChange(steppedValue);
|
|
83
|
-
}
|
|
84
|
-
}, [sliderWidth, min, max, getSteppedValue, onValueChange, animatedValue, animatedThumbValue]);
|
|
61
|
+
};
|
|
85
62
|
var handleLayout = function handleLayout(event) {
|
|
86
63
|
setSliderWidth(event.nativeEvent.layout.width);
|
|
87
64
|
};
|
|
88
|
-
var
|
|
89
|
-
|
|
65
|
+
var createPanResponder = function createPanResponder() {
|
|
66
|
+
setPanResponder(reactNative.PanResponder.create({
|
|
90
67
|
onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
|
|
91
68
|
return true;
|
|
92
69
|
},
|
|
93
70
|
onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder() {
|
|
94
71
|
return true;
|
|
95
72
|
},
|
|
96
|
-
onPanResponderGrant: function onPanResponderGrant() {
|
|
97
|
-
|
|
98
|
-
},
|
|
99
|
-
onPanResponderRelease: function onPanResponderRelease() {
|
|
100
|
-
return true;
|
|
101
|
-
},
|
|
73
|
+
onPanResponderGrant: function onPanResponderGrant() {},
|
|
74
|
+
onPanResponderRelease: function onPanResponderRelease() {},
|
|
102
75
|
onPanResponderTerminate: function onPanResponderTerminate() {},
|
|
103
76
|
onPanResponderMove: function onPanResponderMove(evt, gestureState) {
|
|
104
77
|
hanleValueUpdate(gestureState);
|
|
105
78
|
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
79
|
+
}));
|
|
80
|
+
};
|
|
108
81
|
var styles2 = reactNative.StyleSheet.create({
|
|
109
82
|
sliderContainer: {
|
|
110
83
|
flexDirection: "row",
|
|
@@ -112,7 +85,7 @@ var Slider = function Slider(_ref) {
|
|
|
112
85
|
justifyContent: "center"
|
|
113
86
|
},
|
|
114
87
|
trackContainer: {
|
|
115
|
-
width: "
|
|
88
|
+
width: "80%",
|
|
116
89
|
height: 4,
|
|
117
90
|
backgroundColor: "rgba(48, 48, 52, 0.20)",
|
|
118
91
|
borderRadius: 2
|
|
@@ -140,37 +113,24 @@ var Slider = function Slider(_ref) {
|
|
|
140
113
|
elevation: 2
|
|
141
114
|
}
|
|
142
115
|
});
|
|
143
|
-
return /* @__PURE__ */React.createElement(reactNative.
|
|
144
|
-
|
|
116
|
+
return /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
|
|
117
|
+
onPress: function onPress(e) {}
|
|
145
118
|
}, /* @__PURE__ */React.createElement(reactNative.View, {
|
|
146
|
-
style: styles2.
|
|
119
|
+
style: styles2.sliderContainer,
|
|
147
120
|
onLayout: handleLayout
|
|
148
|
-
}, /* @__PURE__ */React.createElement(reactNative.TouchableWithoutFeedback, {
|
|
149
|
-
onPress: handleTrackPress
|
|
150
121
|
}, /* @__PURE__ */React.createElement(reactNative.View, {
|
|
151
|
-
style:
|
|
152
|
-
|
|
153
|
-
width: "100%",
|
|
154
|
-
height: 4
|
|
155
|
-
}
|
|
156
|
-
})), /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
122
|
+
style: styles2.trackContainer
|
|
123
|
+
}, /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
157
124
|
style: [styles2.coloredTrack, {
|
|
158
125
|
width: animatedValue
|
|
159
126
|
}]
|
|
160
|
-
}), /* @__PURE__ */React.createElement(reactNative.Animated.View, _rollupPluginBabelHelpers._objectSpread2(
|
|
127
|
+
}), /* @__PURE__ */React.createElement(reactNative.Animated.View, _rollupPluginBabelHelpers._objectSpread2({
|
|
161
128
|
style: [styles2.thumbButton, {
|
|
162
129
|
transform: [{
|
|
163
|
-
translateX:
|
|
130
|
+
translateX: animatedValue
|
|
164
131
|
}]
|
|
165
132
|
}, dotStyle]
|
|
166
|
-
}, panResponder.panHandlers)
|
|
167
|
-
hitSlop: {
|
|
168
|
-
top: 20,
|
|
169
|
-
bottom: 20,
|
|
170
|
-
left: 20,
|
|
171
|
-
right: 20
|
|
172
|
-
}
|
|
173
|
-
}))));
|
|
133
|
+
}, panResponder.panHandlers)))));
|
|
174
134
|
};
|
|
175
135
|
Slider.defaultProps = components_Slider_interface_index.SliderDefaultProps;
|
|
176
136
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Animated,\n StyleSheet,\n Dimensions,\n GestureResponderEvent,\n PanResponder,\n LayoutChangeEvent,\n PanResponderGestureState,\n} from \"react-native\";\n\nimport { RedsSlider, SliderDefaultProps } from \"./interface/index\";\nimport styles from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Slider = ({\n defaultValue,\n min = 0,\n max = 100,\n initalValue = 0,\n onValueChange,\n dotStyle = {},\n step = 1,\n}: RedsSlider) => {\n useMounted(\"Slider\");\n const [sliderWidth, setSliderWidth] = useState(Dimensions.get(\"window\").width);\n const [value, setValue] = useState(initalValue);\n\n if (max < min) {\n return;\n }\n if (value < min || value > max) {\n return;\n }\n\n // 添加一个函数来计算最接近的step值\n const getSteppedValue = useCallback(\n (rawValue: number) => {\n const steppedValue = Math.round((rawValue - min) / step) * step + min;\n return Math.max(min, Math.min(max, steppedValue));\n },\n [min, max, step],\n );\n\n const animatedValue = useRef(new Animated.Value((initalValue * sliderWidth) / (max - min))).current;\n\n const animatedThumbValue = useRef(\n new Animated.Value(\n (initalValue * sliderWidth) / (max - min) > 0\n ? (initalValue * sliderWidth) / (max - min) - 8\n : (initalValue * sliderWidth) / (max - min),\n ),\n ).current;\n\n useEffect(() => {\n const handleOrientationChange = () => {\n setSliderWidth(Dimensions.get(\"window\").width);\n };\n\n const subscription = Dimensions.addEventListener(\"change\", handleOrientationChange);\n return () => {\n subscription.remove();\n };\n }, []);\n\n // 可以根据需要调整的滑块高度\n const hanleValueUpdate = useCallback(\n (gestureState: PanResponderGestureState) => {\n // 计算原始值\n const rawValue = Math.max(min, Math.min(max, (gestureState.dx / sliderWidth) * (max - min) + initalValue));\n // 根据step计算实际值\n const steppedValue = getSteppedValue(rawValue);\n\n setValue(steppedValue);\n animatedValue.setValue((steppedValue * sliderWidth) / (max - min));\n animatedThumbValue.setValue(\n (steppedValue * sliderWidth) / (max - min) > 0\n ? (steppedValue * sliderWidth) / (max - min) - 8\n : (steppedValue * sliderWidth) / (max - min),\n );\n\n if (onValueChange) {\n onValueChange(steppedValue);\n }\n },\n [min, max, sliderWidth, initalValue, step, getSteppedValue, onValueChange],\n );\n\n // 添加点击轨道跳转功能(可选)\n const handleTrackPress = useCallback(\n (event: GestureResponderEvent) => {\n const { locationX } = event.nativeEvent;\n const rawValue = (locationX / sliderWidth) * (max - min) + min;\n const steppedValue = getSteppedValue(rawValue);\n\n setValue(steppedValue);\n\n // 使用动画过渡到新位置\n Animated.timing(animatedValue, {\n toValue: (steppedValue * sliderWidth) / (max - min),\n duration: 200,\n useNativeDriver: false,\n }).start();\n\n Animated.timing(animatedThumbValue, {\n toValue:\n (steppedValue * sliderWidth) / (max - min) > 0\n ? (steppedValue * sliderWidth) / (max - min) - 8\n : (steppedValue * sliderWidth) / (max - min),\n duration: 200,\n useNativeDriver: false,\n }).start();\n\n if (onValueChange) {\n onValueChange(steppedValue);\n }\n },\n [sliderWidth, min, max, getSteppedValue, onValueChange, animatedValue, animatedThumbValue],\n );\n\n const handleLayout = (event: LayoutChangeEvent) => {\n setSliderWidth(event.nativeEvent.layout.width);\n };\n\n const panResponder = useMemo(\n () =>\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderGrant: () => true,\n onPanResponderRelease: () => true,\n onPanResponderTerminate: () => {},\n onPanResponderMove: (evt, gestureState) => {\n hanleValueUpdate(gestureState);\n },\n }),\n [hanleValueUpdate],\n );\n\n const styles = StyleSheet.create({\n sliderContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n trackContainer: {\n width: \"100%\",\n height: 4,\n backgroundColor: \"rgba(48, 48, 52, 0.20)\",\n borderRadius: 2,\n },\n coloredTrack: {\n height: 4,\n backgroundColor: \"#FF2442\",\n borderRadius: 2,\n },\n thumbButton: {\n width: 16,\n height: 16,\n position: \"absolute\",\n top: -8,\n borderRadius: 10,\n backgroundColor: \"#FFF\",\n shadowColor: \"rgba(0, 0, 0, 0.20)\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 1,\n shadowRadius: 4,\n //Android\n elevation: 2,\n },\n });\n\n return (\n <View style={styles.sliderContainer}>\n <View style={styles.trackContainer} onLayout={handleLayout}>\n {/* 添加可点击的轨道 */}\n <TouchableWithoutFeedback onPress={handleTrackPress}>\n <View style={{ position: \"absolute\", width: \"100%\", height: 4 }} />\n </TouchableWithoutFeedback>\n\n <Animated.View style={[styles.coloredTrack, { width: animatedValue }]} />\n <Animated.View\n style={[styles.thumbButton, { transform: [{ translateX: animatedThumbValue }] }, dotStyle]}\n {...panResponder.panHandlers}\n hitSlop={{ top: 20, bottom: 20, left: 20, right: 20 }}\n />\n </View>\n </View>\n );\n};\n\nSlider.defaultProps = SliderDefaultProps;\nexport default Slider;\n"],"names":["Slider","_ref","defaultValue","_ref$min","min","_ref$max","max","_ref$initalValue","initalValue","onValueChange","_ref$dotStyle","dotStyle","_ref$step","step","useMounted","_useState","useState","Dimensions","get","width","_useState2","_slicedToArray","sliderWidth","setSliderWidth","_useState3","_useState4","value","setValue","getSteppedValue","useCallback","rawValue","steppedValue","Math","round","animatedValue","useRef","Animated","Value","current","animatedThumbValue","useEffect","handleOrientationChange","subscription","addEventListener","remove","hanleValueUpdate","gestureState","dx","handleTrackPress","event","locationX","nativeEvent","timing","toValue","duration","useNativeDriver","start","handleLayout","layout","panResponder","useMemo","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderRelease","onPanResponderTerminate","onPanResponderMove","evt","styles","StyleSheet","sliderContainer","flexDirection","alignItems","justifyContent","trackContainer","height","backgroundColor","borderRadius","coloredTrack","thumbButton","position","top","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","View","style","React","createElement","onLayout","TouchableWithoutFeedback","onPress","_objectSpread","transform","translateX","panHandlers","hitSlop","bottom","left","right","defaultProps","SliderDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Animated,\n StyleSheet,\n Dimensions,\n GestureResponderEvent,\n PanResponder,\n LayoutChangeEvent,\n PanResponderGestureState,\n} from \"react-native\";\n\nimport { RedsSlider, SliderDefaultProps } from \"./interface/index\";\nimport styles from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Slider = ({ defaultValue, min = 0, max = 100, initalValue = 0, onValueChange, dotStyle = {} }: RedsSlider) => {\n useMounted(\"Slider\");\n const [panResponder, setPanResponder] = useState(PanResponder.create({}));\n const [sliderWidth, setSliderWidth] = useState(Dimensions.get(\"window\").width * 0.8);\n const [value, setValue] = useState(initalValue);\n\n if (max < min) {\n return;\n }\n if (value < min || value > max) {\n return;\n }\n\n const thumbPosition = (value / (max - min)) * sliderWidth;\n const step = 1;\n const animatedValue = useRef(new Animated.Value((initalValue * sliderWidth) / (max - min))).current;\n useEffect(() => {\n const handleOrientationChange = () => {\n setSliderWidth(Dimensions.get(\"window\").width * 0.8);\n };\n\n const subscription = Dimensions.addEventListener(\"change\", handleOrientationChange);\n createPanResponder();\n return () => {\n subscription.remove();\n //Dimensions.removeEventListener(\"change\", handleOrientationChange);\n };\n }, []);\n\n // 可以根据需要调整的滑块高度\n const hanleValueUpdate = (gestureState: PanResponderGestureState) => {\n const currentValue = Math.max(min, Math.min(max, (gestureState.dx / sliderWidth) * (max - min) + initalValue));\n\n setValue(currentValue);\n animatedValue.setValue((currentValue * sliderWidth) / (max - min));\n if (onValueChange) {\n onValueChange(currentValue);\n }\n };\n\n const handleLayout = (event: LayoutChangeEvent) => {\n setSliderWidth(event.nativeEvent.layout.width);\n };\n\n const createPanResponder = () => {\n setPanResponder(\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderGrant: () => {},\n onPanResponderRelease: () => {},\n onPanResponderTerminate: () => {},\n onPanResponderMove: (evt, gestureState) => {\n hanleValueUpdate(gestureState);\n },\n }),\n );\n };\n\n const styles = StyleSheet.create({\n sliderContainer: {\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n trackContainer: {\n width: \"80%\",\n height: 4,\n backgroundColor: \"rgba(48, 48, 52, 0.20)\",\n borderRadius: 2,\n },\n coloredTrack: {\n height: 4,\n backgroundColor: \"#FF2442\",\n borderRadius: 2,\n },\n thumbButton: {\n width: 16,\n height: 16,\n position: \"absolute\",\n top: -8,\n borderRadius: 10,\n backgroundColor: \"#FFF\",\n shadowColor: \"rgba(0, 0, 0, 0.20)\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 1,\n shadowRadius: 4,\n //Android\n elevation: 2,\n },\n });\n\n //<View style={[styles.track, { width: sliderWidth }]}>\n //<View style={[styles.thumb, { left: thumbPosition }]} {...panResponder.panHandlers} />\n //</View>\n return (\n <TouchableWithoutFeedback onPress={(e) => {}}>\n <View style={styles.sliderContainer} onLayout={handleLayout}>\n <View style={styles.trackContainer}>\n <Animated.View style={[styles.coloredTrack, { width: animatedValue }]} />\n <Animated.View\n style={[styles.thumbButton, { transform: [{ translateX: animatedValue }] }, dotStyle]}\n {...panResponder.panHandlers}\n />\n </View>\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nSlider.defaultProps = SliderDefaultProps;\nexport default Slider;\n"],"names":["Slider","_ref","defaultValue","_ref$min","min","_ref$max","max","_ref$initalValue","initalValue","onValueChange","_ref$dotStyle","dotStyle","useMounted","_useState","useState","PanResponder","create","_useState2","_slicedToArray","panResponder","setPanResponder","_useState3","Dimensions","get","width","_useState4","sliderWidth","setSliderWidth","_useState5","_useState6","value","setValue","animatedValue","useRef","Animated","Value","current","useEffect","handleOrientationChange","subscription","addEventListener","createPanResponder","remove","hanleValueUpdate","gestureState","currentValue","Math","dx","handleLayout","event","nativeEvent","layout","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderRelease","onPanResponderTerminate","onPanResponderMove","evt","styles","StyleSheet","sliderContainer","flexDirection","alignItems","justifyContent","trackContainer","height","backgroundColor","borderRadius","coloredTrack","thumbButton","position","top","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","React","createElement","TouchableWithoutFeedback","onPress","e","View","style","onLayout","_objectSpread","transform","translateX","panHandlers","defaultProps","SliderDefaultProps"],"mappings":";;;;;;;;;;;;AAiBA,IAAMA,MAAS,GAAA,SAATA,MAASA,CAAAC,IAAA,EAAqG;AAAA,EAAlGA,IAAA,CAAAC,YAAA,CAAA;QAAAC,QAAA,GAAAF,IAAA,CAAcG;AAAAA,IAAAA,mBAAM,KAAA,CAAA,GAAA,CAAG,GAAAD,QAAA,CAAA;IAAAE,QAAA,GAAAJ,IAAA,CAAAK,GAAA,CAAA;AAAAA,IAAAA,GAAA,GAAAD,QAAA,KAAM,KAAA,CAAA,GAAA,GAAK,GAAAA,QAAA,CAAA;IAAAE,gBAAA,GAAAN,IAAA,CAAAO,WAAA,CAAA;AAAAA,IAAAA,WAAA,GAAAD,gBAAA,KAAc,KAAA,CAAA,GAAA,CAAG,GAAAA,gBAAA,CAAA;IAAAE,aAAA,GAAAR,IAAA,CAAAQ,aAAA,CAAA;IAAAC,aAAA,GAAAT,IAAA,CAAeU,QAAW,CAAA;AAAXA,IAAAA,QAAW,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAA;EAC7FE,mCAAA,CAAW,QAAQ,CAAA,CAAA;EACb,IAAAC,SAAA,GAAkCC,eAASC,wBAAa,CAAAC,MAAA,CAAO,EAAE,CAAC,CAAA;IAAAC,UAAA,GAAAC,wCAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAAjEM,IAAAA;AAAcC,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAI,UAAA,GAAgCP,cAAA,CAASQ,uBAAWC,GAAI,CAAA,QAAQ,CAAE,CAAAC,KAAA,GAAQ,GAAG,CAAA;IAAAC,UAAA,GAAAP,wCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA5EK,IAAAA,WAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAG,UAAA,GAA0Bd,eAASN,WAAW,CAAA;IAAAqB,UAAA,GAAAX,wCAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAvCE,IAAAA,KAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAOE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtB,IAAIvB,MAAMF,GAAK,EAAA;AACb,IAAA,OAAA;AACF,GAAA;AACI,EAAA,IAAA0B,KAAA,GAAQ1B,GAAO,IAAA0B,KAAA,GAAQxB,GAAK,EAAA;AAC9B,IAAA,OAAA;AACF,GAAA;EAIM,IAAA0B,aAAA,GAAgBC,YAAO,CAAA,IAAIC,oBAAS,CAAAC,KAAA,CAAO3B,cAAckB,WAAgB,IAAApB,GAAA,GAAMF,GAAI,CAAA,CAAC,CAAE,CAAAgC,OAAA,CAAA;AAC5FC,EAAAA,eAAA,CAAU,YAAM;AACd,IAAA,IAAMC,0BAA0B,SAA1BA,0BAAgC;MACpCX,cAAA,CAAeL,sBAAW,CAAAC,GAAA,CAAI,QAAQ,CAAA,CAAEC,QAAQ,GAAG,CAAA,CAAA;KACrD,CAAA;IAEA,IAAMe,YAAe,GAAAjB,sBAAA,CAAWkB,gBAAiB,CAAA,QAAA,EAAUF,uBAAuB,CAAA,CAAA;AAC/DG,IAAAA,kBAAA,EAAA,CAAA;AACnB,IAAA,OAAO,YAAM;MACXF,YAAA,CAAaG,MAAO,EAAA,CAAA;KAEtB,CAAA;GACF,EAAG,EAAE,CAAA,CAAA;AAGC,EAAA,IAAAC,gBAAA,GAAmB,SAAnBA,gBAAAA,CAAoBC,YAA2C,EAAA;IACnE,IAAMC,YAAe,GAAAC,IAAA,CAAKxC,GAAI,CAAAF,GAAA,EAAK0C,IAAK,CAAA1C,GAAA,CAAIE,GAAM,EAAAsC,YAAA,CAAaG,EAAK,GAAArB,WAAA,IAAgBpB,GAAM,GAAAF,GAAA,CAAA,GAAOI,WAAW,CAAC,CAAA,CAAA;IAE7GuB,QAAA,CAASc,YAAY,CAAA,CAAA;IACrBb,aAAA,CAAcD,QAAU,CAAAc,YAAA,GAAenB,WAAgB,IAAApB,GAAA,GAAMF,GAAI,CAAA,CAAA,CAAA;AACjE,IAAA,IAAIK,aAAe,EAAA;MACjBA,aAAA,CAAcoC,YAAY,CAAA,CAAA;AAC5B,KAAA;GACF,CAAA;AAEM,EAAA,IAAAG,YAAA,GAAe,SAAfA,YAAAA,CAAgBC,KAA6B,EAAA;IAClCtB,cAAA,CAAAsB,KAAA,CAAMC,WAAY,CAAAC,MAAA,CAAO3B,KAAK,CAAA,CAAA;GAC/C,CAAA;AAEA,EAAA,IAAMiB,qBAAqB,SAArBA,qBAA2B;AAC/BrB,IAAAA,eAAA,CACEL,yBAAaC,MAAO,CAAA;MAClBoC,8BAA8B,SAA9BA;eAAoC,IAAA,CAAA;AAAA,OAAA;MACpCC,6BAA6B,SAA7BA;eAAmC,IAAA,CAAA;AAAA,OAAA;AACnCC,MAAAA,qBAAqB,SAArBA,sBAA2B,EAAC;AAC5BC,MAAAA,uBAAuB,SAAvBA,wBAA6B,EAAC;AAC9BC,MAAAA,yBAAyB,SAAzBA,0BAA+B,EAAC;AAChCC,MAAAA,kBAAA,EAAoB,SAApBA,kBAAAA,CAAqBC,GAAA,EAAKd,YAAiB,EAAA;QACzCD,gBAAA,CAAiBC,YAAY,CAAA,CAAA;AAC/B,OAAA;AACF,KAAC,CACH,CAAA,CAAA;GACF,CAAA;AAEMe,EAAAA,IAAAA,OAAAA,GAASC,uBAAW5C,MAAO,CAAA;AAC/B6C,IAAAA,eAAiB,EAAA;AACfC,MAAAA,aAAe,EAAA,KAAA;AACfC,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,QAAA;KAClB;AACAC,IAAAA,cAAgB,EAAA;AACdzC,MAAAA,KAAO,EAAA,KAAA;AACP0C,MAAAA,MAAQ,EAAA,CAAA;AACRC,MAAAA,eAAiB,EAAA,wBAAA;AACjBC,MAAAA,YAAc,EAAA,CAAA;KAChB;AACAC,IAAAA,YAAc,EAAA;AACZH,MAAAA,MAAQ,EAAA,CAAA;AACRC,MAAAA,eAAiB,EAAA,SAAA;AACjBC,MAAAA,YAAc,EAAA,CAAA;KAChB;AACAE,IAAAA,WAAa,EAAA;AACX9C,MAAAA,KAAO,EAAA,EAAA;AACP0C,MAAAA,MAAQ,EAAA,EAAA;AACRK,MAAAA,QAAU,EAAA,UAAA;MACVC,GAAK,EAAA,CAAA,CAAA;AACLJ,MAAAA,YAAc,EAAA,EAAA;AACdD,MAAAA,eAAiB,EAAA,MAAA;AACjBM,MAAAA,WAAa,EAAA,qBAAA;AACbC,MAAAA,YAAc,EAAA;AAAElD,QAAAA,KAAO,EAAA,CAAA;AAAG0C,QAAAA,QAAQ,CAAA;OAAE;AACpCS,MAAAA,aAAe,EAAA,CAAA;AACfC,MAAAA,YAAc,EAAA,CAAA;AAAA;AAEdC,MAAAA,SAAW,EAAA,CAAA;AACb,KAAA;AACF,GAAC,CAAA,CAAA;AAKD,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAAC,oCAAA,EAAA;AAAyBC,IAAAA,OAAS,EAAA,SAATA,OAASA,CAACC,CAAM,EAAA,EAAC;AAAA,GAAA,iBACxCJ,KAAA,CAAAC,aAAA,CAAAI,gBAAA,EAAA;IAAKC,KAAOzB,EAAAA,OAAAA,CAAOE,eAAiB;AAAAwB,IAAAA,QAAA,EAAUrC,YAAAA;AAC7C,GAAA,iBAAA8B,KAAA,CAAAC,aAAA,CAACI,gBAAK,EAAA;IAAAC,KAAA,EAAOzB,OAAO,CAAAM,cAAAA;GAAA,qCACjB/B,oBAAS,CAAAiD,IAAA,EAAT;AAAcC,IAAAA,KAAA,EAAO,CAACzB,OAAAA,CAAOU,YAAc,EAAA;AAAE7C,MAAAA,KAAO,EAAAQ,aAAAA;KAAe,CAAA;GAAG,CACvE,iBAAA8C,KAAA,CAAAC,aAAA,CAAC7C,oBAAS,CAAAiD,IAAA,EAAAG,wCAAA,CAAA;AACRF,IAAAA,KAAO,EAAA,CAACzB,OAAO,CAAAW,WAAA,EAAa;AAAEiB,MAAAA,SAAA,EAAW,CAAC;AAAEC,QAAAA,UAAY,EAAAxD,aAAAA;OAAe,CAAA;AAAE,OAAGrB,QAAQ,CAAA;AAAA,GAAA,EAChFQ,YAAa,CAAAsE,WAAA,CACnB,CACF,CACF,CACF,CAAA,CAAA;AAEJ,EAAA;AAEAzF,MAAA,CAAO0F,YAAe,GAAAC,oDAAA;;;;"}
|
|
@@ -89,8 +89,7 @@ var TextField = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
89
89
|
setValue(upValue);
|
|
90
90
|
}, [onChange]);
|
|
91
91
|
var handleChangeText = React$1.useCallback(function (value2) {
|
|
92
|
-
|
|
93
|
-
updateValue(filteredValue);
|
|
92
|
+
updateValue(value2);
|
|
94
93
|
if (reactNative.Platform.OS === "ios" && maxLength && value2.length >= maxLength && inputRef.current) {
|
|
95
94
|
requestAnimationFrame(function () {
|
|
96
95
|
var _inputRef$current;
|
|
@@ -147,10 +146,8 @@ var TextField = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
|
|
|
147
146
|
}, [layout]);
|
|
148
147
|
var handleKeyPress = function handleKeyPress(_ref2) {
|
|
149
148
|
var nativeEvent = _ref2.nativeEvent;
|
|
150
|
-
if (nativeEvent.key === "Enter") {
|
|
151
|
-
|
|
152
|
-
reactNative.Keyboard.dismiss();
|
|
153
|
-
}
|
|
149
|
+
if (nativeEvent.key === "Enter" && props.returnKeyType !== "next") {
|
|
150
|
+
reactNative.Keyboard.dismiss();
|
|
154
151
|
}
|
|
155
152
|
};
|
|
156
153
|
return /* @__PURE__ */React.createElement(reactNative.View, {
|