@xhsreds/reds-rn-next 0.10.1-beta202511051557 → 0.10.1-beta202511191944
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-21.json +1 -1
- package/coverage/.tmp/coverage-22.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-3.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-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/Sheets/AnimatedSheets.js +2 -2
- package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
- package/lib/cjs/components/TextView/TextView.js +5 -2
- package/lib/cjs/components/TextView/TextView.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/TextView/TextView.js +5 -2
- package/lib/esm/components/TextView/TextView.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Sheets/AnimatedSheets.tsx +116 -112
- package/src/components/TextView/TextView.tsx +7 -2
- package/src/components/TextView/demo/index.tsx +1 -1
|
@@ -316,7 +316,7 @@ var AnimatedSheets = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
316
316
|
}, props.maskStyle, {
|
|
317
317
|
opacity: opacityValue
|
|
318
318
|
}]
|
|
319
|
-
})) : /* @__PURE__ */React.createElement(React.Fragment, null), /* @__PURE__ */React.createElement(Animated.View, {
|
|
319
|
+
})) : /* @__PURE__ */React.createElement(React.Fragment, null), _visible ? /* @__PURE__ */React.createElement(Animated.View, {
|
|
320
320
|
testID: "Sheets",
|
|
321
321
|
style: [styles.picker, {
|
|
322
322
|
backgroundColor: themeColor.Bg2
|
|
@@ -382,7 +382,7 @@ var AnimatedSheets = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
382
382
|
block: true,
|
|
383
383
|
onClick: handleConfirm,
|
|
384
384
|
type: "primary"
|
|
385
|
-
}, closeText || sureKey)) : /* @__PURE__ */React.createElement(React.Fragment, null)) : /* @__PURE__ */React.createElement(React.Fragment, null)));
|
|
385
|
+
}, closeText || sureKey)) : /* @__PURE__ */React.createElement(React.Fragment, null)) : /* @__PURE__ */React.createElement(React.Fragment, null)) : /* @__PURE__ */React.createElement(React.Fragment, null));
|
|
386
386
|
});
|
|
387
387
|
AnimatedSheets.defaultProps = SheetsDefaultProps;
|
|
388
388
|
|
|
@@ -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 <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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"}
|
|
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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"}
|
|
@@ -142,8 +142,11 @@ var TextField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
142
142
|
}, [layout]);
|
|
143
143
|
var handleKeyPress = function handleKeyPress(_ref2) {
|
|
144
144
|
var nativeEvent = _ref2.nativeEvent;
|
|
145
|
-
if (nativeEvent.key === "Enter"
|
|
146
|
-
|
|
145
|
+
if (nativeEvent.key === "Enter") {
|
|
146
|
+
nativeEvent.preventDefault();
|
|
147
|
+
if (props.returnKeyType !== "next") {
|
|
148
|
+
Keyboard.dismiss();
|
|
149
|
+
}
|
|
147
150
|
}
|
|
148
151
|
};
|
|
149
152
|
return /* @__PURE__ */React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\" && props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextView.js","sources":["../../../../src/components/TextView/TextView.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useCallback, useMemo, forwardRef, useImperativeHandle } from \"react\";\nimport { TextInput, View, Text, TouchableWithoutFeedback, ColorValue, Keyboard, Platform } from \"react-native\";\nimport { TextViewDefaultProps, RedsTextView } from \"./interface\";\nimport createStyles from \"./styles\";\nimport runes from \"runes\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor } from \"../ConfigProvider\";\n\nconst TextField = forwardRef((props: RedsTextView, ref) => {\n const {\n type,\n modelValue,\n clearable = false,\n maxLength,\n disabled = false,\n readonly,\n autofocus = false,\n showCount = false,\n placeholder,\n rows = 3,\n onFocus,\n onBlur,\n onChange,\n onClear,\n style = {},\n containerStyle = {},\n layout,\n actionLayout,\n placeholderTextColor,\n } = props || {};\n useMounted(\"TextView\");\n const styles = createStyles(disabled, actionLayout || \"vertical\");\n const [focused, setFocused] = useState(autofocus);\n const [value, setValue] = useState(modelValue || \"\");\n const [modelValueStringLength, setModelValueStringLength] = useState(0);\n const [showClear, setShowClear] = useState(false);\n const [showActionArea, setShowActionArea] = useState(false);\n const inputRef = useRef<TextInput>(null);\n const themeColor = useThemeColor();\n\n const limitValueLength = useCallback(\n (value: string) => {\n const valueLength = runes(value || \"\").length;\n if (typeof maxLength === \"number\" && valueLength > maxLength) {\n const mValue = value;\n if (mValue && modelValueStringLength === +maxLength) {\n return mValue;\n }\n return runes.substr(value, 0, +maxLength);\n }\n return value;\n },\n [maxLength],\n );\n\n useImperativeHandle(ref, () => ({\n textInputRef: inputRef,\n }));\n\n const updateValue = useCallback(\n (upValue: string) => {\n // let value = limitValueLength(upValue);\n onChange && onChange(upValue);\n setValue(upValue);\n },\n [onChange],\n );\n\n const handleChangeText = useCallback(\n (value: string) => {\n updateValue(value);\n // Only apply cursor fix on iOS when text equals maxLength (indicating truncation)\n if (Platform.OS === \"ios\" && maxLength && value.length >= maxLength && inputRef.current) {\n // Use requestAnimationFrame instead of setTimeout\n requestAnimationFrame(() => {\n inputRef.current?.setNativeProps({\n selection: { start: maxLength, end: maxLength },\n });\n });\n }\n },\n [maxLength, updateValue],\n );\n\n const handleClear = useCallback(() => {\n setValue(\"\");\n updateValue(\"\");\n onClear && onClear(value);\n }, [onClear]);\n\n const handleFocus = useCallback(() => {\n if (readonly) {\n inputRef.current?.blur();\n }\n setFocused(true);\n onFocus && onFocus(value);\n }, [onFocus, readonly]);\n\n const handleBlur = useCallback(() => {\n setFocused(false);\n if (!readonly) {\n onBlur && onBlur(value);\n }\n }, [readonly, onBlur]);\n\n useEffect(() => {\n setValue(modelValue || \"\");\n }, [modelValue]);\n\n useEffect(() => {\n setShowClear(clearable && value.length > 0);\n }, [clearable, value]);\n\n useEffect(() => {\n setFocused(autofocus);\n }, [autofocus]);\n\n useEffect(() => {\n // setModelValueStringLength(runes(value).length);\n setModelValueStringLength(value.length);\n }, [value]);\n\n useEffect(() => {\n setShowActionArea(showClear || showCount);\n }, [showClear, showCount]);\n\n const textFieldColor = useMemo(() => {\n const ColorMap = {\n primary: themeColor.Primary2,\n normal: themeColor.Fill1,\n basic: themeColor.Bg,\n };\n return ColorMap[layout!];\n }, [layout]);\n\n const handleKeyPress = ({ nativeEvent }: any) => {\n if (nativeEvent.key === \"Enter\") {\n // 阻止默认的回车行为(不插入回车符)\n nativeEvent.preventDefault();\n // 如果需要收起键盘,可以调用 Keyboard.dismiss()\n if (props.returnKeyType !== \"next\") {\n Keyboard.dismiss();\n }\n }\n };\n\n return (\n <View testID=\"wrapper\" style={[styles.wrapper, { backgroundColor: textFieldColor }, containerStyle]}>\n <TextInput\n testID=\"text-input\"\n ref={inputRef}\n style={[styles.input, { minHeight: rows * 24, height: \"auto\" }, style]}\n value={value}\n onChangeText={handleChangeText}\n onFocus={handleFocus}\n onBlur={handleBlur}\n editable={!readonly && !disabled}\n keyboardType={type}\n placeholder={placeholder}\n multiline\n returnKeyType={props.returnKeyType as any}\n autoFocus={focused}\n maxLength={maxLength}\n onKeyPress={handleKeyPress}\n onSubmitEditing={props.onSubmitEditing}\n selectionColor={styles.inputSelectionColor.color}\n placeholderTextColor={(placeholderTextColor || styles.inputPlaceHolder.color) as ColorValue}\n />\n {showActionArea && (\n <View style={[styles.ButtomActionArea]} testID=\"action-area\">\n {showCount && maxLength && (\n <View style={styles.rightItem}>\n <Text style={styles.count}>{`${Math.min(modelValueStringLength, maxLength)}/${maxLength}`}</Text>\n </View>\n )}\n {showClear && modelValueStringLength && focused && (\n <View style={styles.rightItem}>\n <TouchableWithoutFeedback onPress={handleClear}>\n <View style={styles.clearIconContainer}>\n <Text style={styles.clearIcon}>清空</Text>\n </View>\n </TouchableWithoutFeedback>\n </View>\n )}\n </View>\n )}\n </View>\n );\n});\n\n// @ts-ignore\nTextField.defaultProps = TextViewDefaultProps;\n\nexport default TextField;\n"],"names":["TextField","forwardRef","props","ref","_ref","type","modelValue","_ref$clearable","clearable","maxLength","_ref$disabled","disabled","readonly","_ref$autofocus","autofocus","_ref$showCount","showCount","placeholder","_ref$rows","rows","onFocus","onBlur","onChange","onClear","_ref$style","style","_ref$containerStyle","containerStyle","layout","actionLayout","placeholderTextColor","useMounted","styles","createStyles","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","value","setValue","_useState5","_useState6","modelValueStringLength","setModelValueStringLength","_useState7","_useState8","showClear","setShowClear","_useState9","_useState0","showActionArea","setShowActionArea","inputRef","useRef","themeColor","useThemeColor","useCallback","valueLength","runes","length","mValue","substr","useImperativeHandle","textInputRef","updateValue","upValue","handleChangeText","Platform","OS","current","requestAnimationFrame","_inputRef$current","setNativeProps","selection","start","end","handleClear","handleFocus","_inputRef$current2","blur","handleBlur","useEffect","textFieldColor","useMemo","ColorMap","primary","Primary2","normal","Fill1","basic","Bg","handleKeyPress","_ref2","nativeEvent","key","preventDefault","returnKeyType","Keyboard","dismiss","React","createElement","View","testID","wrapper","backgroundColor","TextInput","input","minHeight","height","onChangeText","editable","keyboardType","multiline","autoFocus","onKeyPress","onSubmitEditing","selectionColor","inputSelectionColor","color","inputPlaceHolder","ButtomActionArea","rightItem","Text","count","concat","Math","min","TouchableWithoutFeedback","onPress","clearIconContainer","clearIcon","defaultProps","TextViewDefaultProps"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xhsreds/reds-rn-next",
|
|
3
|
-
"version": "0.10.1-
|
|
3
|
+
"version": "0.10.1-beta202511191944",
|
|
4
4
|
"author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"dependencies": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"react-native-fs": "2.20.0",
|
|
27
27
|
"react-native-svg": "13.14.0",
|
|
28
28
|
"@xhs/react-native-harmony": "*",
|
|
29
|
-
"@xhsreds/reds-token-next": "0.10.1-
|
|
29
|
+
"@xhsreds/reds-token-next": "0.10.1-beta202511191944"
|
|
30
30
|
},
|
|
31
31
|
"peerDependenciesMeta": {
|
|
32
32
|
"ozone-schema-web": {
|
|
@@ -402,123 +402,127 @@ const AnimatedSheets = forwardRef((props: RedsSheets, ref) => {
|
|
|
402
402
|
) : (
|
|
403
403
|
<></>
|
|
404
404
|
)}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
405
|
+
{_visible ? (
|
|
406
|
+
<Animated.View
|
|
407
|
+
testID="Sheets"
|
|
408
|
+
style={[
|
|
409
|
+
styles.picker,
|
|
410
|
+
{ backgroundColor: themeColor.Bg2 },
|
|
411
|
+
{
|
|
412
|
+
height: sheetsHeight,
|
|
413
|
+
transform: [{ translateY }],
|
|
414
|
+
},
|
|
415
|
+
{ zIndex: props.zIndex },
|
|
416
|
+
props.sheetsStyle,
|
|
417
|
+
]}
|
|
418
|
+
>
|
|
419
|
+
{props.header ? <View onLayout={handleLabelLayout}>{props.header}</View> : <></>}
|
|
420
|
+
{/** normal */}
|
|
421
|
+
{showLabel && !props.header ? (
|
|
422
|
+
<View
|
|
423
|
+
style={[
|
|
424
|
+
props.headlerLayout === "center" ? styles.labelContainer : styles.leftLabelContainer,
|
|
425
|
+
{ backgroundColor: themeColor.Bg2 },
|
|
426
|
+
props.headerStyle,
|
|
427
|
+
]}
|
|
428
|
+
onLayout={handleLabelLayout}
|
|
429
|
+
>
|
|
430
|
+
{!cancel ? (
|
|
431
|
+
props.headlerLayout === "center" ? (
|
|
432
|
+
<Block />
|
|
433
|
+
) : (
|
|
434
|
+
<></>
|
|
435
|
+
)
|
|
436
|
+
) : (
|
|
437
|
+
<TouchableOpacity onPress={handleCancel} activeOpacity={1}>
|
|
438
|
+
{cancelType === SheetsActionType.text ? (
|
|
439
|
+
<Text style={[styles.cancel, { color: themeColor.Title }]} testID="cancel">
|
|
440
|
+
{cancelText || cancelKey}
|
|
441
|
+
</Text>
|
|
442
|
+
) : (
|
|
443
|
+
iconWrapper("cancel")
|
|
444
|
+
)}
|
|
445
|
+
</TouchableOpacity>
|
|
446
|
+
)}
|
|
447
|
+
{label ? (
|
|
448
|
+
<Text style={[styles.label, { color: themeColor.Title }]}>
|
|
449
|
+
{label}
|
|
450
|
+
{showMask}
|
|
451
|
+
</Text>
|
|
432
452
|
) : (
|
|
433
453
|
<></>
|
|
434
|
-
)
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
<Text style={[styles.cancel, { color: themeColor.Title }]} testID="cancel">
|
|
439
|
-
{cancelText || cancelKey}
|
|
440
|
-
</Text>
|
|
454
|
+
)}
|
|
455
|
+
{!close ? (
|
|
456
|
+
props.headlerLayout === "center" ? (
|
|
457
|
+
<Block />
|
|
441
458
|
) : (
|
|
442
|
-
|
|
443
|
-
)
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
459
|
+
<></>
|
|
460
|
+
)
|
|
461
|
+
) : (
|
|
462
|
+
<TouchableOpacity onPress={handleConfirm} activeOpacity={1}>
|
|
463
|
+
{closeType === SheetsActionType.text ? (
|
|
464
|
+
<View>
|
|
465
|
+
<Text
|
|
466
|
+
style={[
|
|
467
|
+
styles.confirm,
|
|
468
|
+
{ color: themeColor.Primary },
|
|
469
|
+
{ elevation: 0, shadowColor: "transparent" },
|
|
470
|
+
]}
|
|
471
|
+
testID="close"
|
|
472
|
+
>
|
|
473
|
+
{closeText || sureKey}
|
|
474
|
+
</Text>
|
|
475
|
+
</View>
|
|
476
|
+
) : (
|
|
477
|
+
iconWrapper("confirm")
|
|
478
|
+
)}
|
|
479
|
+
</TouchableOpacity>
|
|
480
|
+
)}
|
|
481
|
+
</View>
|
|
482
|
+
) : (
|
|
483
|
+
<></>
|
|
484
|
+
)}
|
|
485
|
+
|
|
486
|
+
{/** 拖拽按钮 */}
|
|
487
|
+
{sheetsType === SheetsType.dragable && !props.header ? (
|
|
488
|
+
<Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={"draggable"}>
|
|
489
|
+
<View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />
|
|
490
|
+
</Animated.View>
|
|
491
|
+
) : (
|
|
492
|
+
<></>
|
|
493
|
+
)}
|
|
494
|
+
|
|
495
|
+
<View onLayout={handleLayout}>{children}</View>
|
|
496
|
+
|
|
497
|
+
{/** action */}
|
|
498
|
+
{showAction ? (
|
|
499
|
+
<View style={[styles.actionContainer]} onLayout={handleActionLayout}>
|
|
500
|
+
{cancel ? (
|
|
501
|
+
<View style={styles.action}>
|
|
502
|
+
<Button block onClick={handleCancel}>
|
|
503
|
+
{cancelText || cancelKey}
|
|
504
|
+
</Button>
|
|
505
|
+
</View>
|
|
457
506
|
) : (
|
|
458
507
|
<></>
|
|
459
|
-
)
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
)}
|
|
478
|
-
</TouchableOpacity>
|
|
479
|
-
)}
|
|
480
|
-
</View>
|
|
481
|
-
) : (
|
|
482
|
-
<></>
|
|
483
|
-
)}
|
|
484
|
-
|
|
485
|
-
{/** 拖拽按钮 */}
|
|
486
|
-
{sheetsType === SheetsType.dragable && !props.header ? (
|
|
487
|
-
<Animated.View style={[styles.dragableContainer]} {...panResponder.panHandlers} testID={"draggable"}>
|
|
488
|
-
<View style={[styles.dragable, { backgroundColor: themeColor.Fill3 }]} />
|
|
489
|
-
</Animated.View>
|
|
490
|
-
) : (
|
|
491
|
-
<></>
|
|
492
|
-
)}
|
|
493
|
-
|
|
494
|
-
<View onLayout={handleLayout}>{children}</View>
|
|
495
|
-
|
|
496
|
-
{/** action */}
|
|
497
|
-
{showAction ? (
|
|
498
|
-
<View style={[styles.actionContainer]} onLayout={handleActionLayout}>
|
|
499
|
-
{cancel ? (
|
|
500
|
-
<View style={styles.action}>
|
|
501
|
-
<Button block onClick={handleCancel}>
|
|
502
|
-
{cancelText || cancelKey}
|
|
503
|
-
</Button>
|
|
504
|
-
</View>
|
|
505
|
-
) : (
|
|
506
|
-
<></>
|
|
507
|
-
)}
|
|
508
|
-
{close ? (
|
|
509
|
-
<View style={styles.action}>
|
|
510
|
-
<Button block onClick={handleConfirm} type="primary">
|
|
511
|
-
{closeText || sureKey}
|
|
512
|
-
</Button>
|
|
513
|
-
</View>
|
|
514
|
-
) : (
|
|
515
|
-
<></>
|
|
516
|
-
)}
|
|
517
|
-
</View>
|
|
518
|
-
) : (
|
|
519
|
-
<></>
|
|
520
|
-
)}
|
|
521
|
-
</Animated.View>
|
|
508
|
+
)}
|
|
509
|
+
{close ? (
|
|
510
|
+
<View style={styles.action}>
|
|
511
|
+
<Button block onClick={handleConfirm} type="primary">
|
|
512
|
+
{closeText || sureKey}
|
|
513
|
+
</Button>
|
|
514
|
+
</View>
|
|
515
|
+
) : (
|
|
516
|
+
<></>
|
|
517
|
+
)}
|
|
518
|
+
</View>
|
|
519
|
+
) : (
|
|
520
|
+
<></>
|
|
521
|
+
)}
|
|
522
|
+
</Animated.View>
|
|
523
|
+
) : (
|
|
524
|
+
<></>
|
|
525
|
+
)}
|
|
522
526
|
</>
|
|
523
527
|
);
|
|
524
528
|
});
|
|
@@ -134,8 +134,13 @@ const TextField = forwardRef((props: RedsTextView, ref) => {
|
|
|
134
134
|
}, [layout]);
|
|
135
135
|
|
|
136
136
|
const handleKeyPress = ({ nativeEvent }: any) => {
|
|
137
|
-
if (nativeEvent.key === "Enter"
|
|
138
|
-
|
|
137
|
+
if (nativeEvent.key === "Enter") {
|
|
138
|
+
// 阻止默认的回车行为(不插入回车符)
|
|
139
|
+
nativeEvent.preventDefault();
|
|
140
|
+
// 如果需要收起键盘,可以调用 Keyboard.dismiss()
|
|
141
|
+
if (props.returnKeyType !== "next") {
|
|
142
|
+
Keyboard.dismiss();
|
|
143
|
+
}
|
|
139
144
|
}
|
|
140
145
|
};
|
|
141
146
|
|
|
@@ -26,7 +26,7 @@ export default function App() {
|
|
|
26
26
|
clearable
|
|
27
27
|
actionLayout={"horizontal"}
|
|
28
28
|
autofocus={true}
|
|
29
|
-
returnKeyType={"
|
|
29
|
+
returnKeyType={"done"}
|
|
30
30
|
/>
|
|
31
31
|
<Desc>最大长度</Desc>
|
|
32
32
|
<TextView modelValue={modelValue} maxLength={100} showCount placeholder="占位符" />
|