@xhsreds/reds-rn-next 0.10.3-beta202512232046 → 0.10.3-beta202512261535
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/.tmp/coverage-0.json +1 -1
- package/coverage/.tmp/coverage-1.json +1 -1
- package/coverage/.tmp/coverage-10.json +1 -1
- package/coverage/.tmp/coverage-11.json +1 -1
- package/coverage/.tmp/coverage-12.json +1 -1
- package/coverage/.tmp/coverage-13.json +1 -1
- package/coverage/.tmp/coverage-14.json +1 -1
- package/coverage/.tmp/coverage-15.json +1 -1
- package/coverage/.tmp/coverage-16.json +1 -1
- package/coverage/.tmp/coverage-17.json +1 -1
- package/coverage/.tmp/coverage-18.json +1 -1
- package/coverage/.tmp/coverage-19.json +1 -1
- package/coverage/.tmp/coverage-2.json +1 -1
- package/coverage/.tmp/coverage-20.json +1 -1
- package/coverage/.tmp/coverage-21.json +1 -1
- package/coverage/.tmp/coverage-22.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-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-37.json +1 -1
- package/coverage/.tmp/coverage-38.json +1 -1
- package/coverage/.tmp/coverage-4.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/Rate/Rate.js +2 -2
- package/lib/cjs/components/Rate/Rate.js.map +1 -1
- package/lib/esm/components/Rate/Rate.js +2 -2
- package/lib/esm/components/Rate/Rate.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Rate/Rate.tsx +22 -18
- package/src/i18n/@types/resources.d.ts +27 -27
- package/src/i18n/index.json +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"/builds/fe/infra/reds/packages/reds-rn/src/components/
|
|
1
|
+
{"/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts":{"path":"/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":12,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":13},"end":{"line":2,"column":14}},"loc":{"start":{"line":2,"column":19},"end":{"line":3,"column":3}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":4,"column":12},"end":{"line":4,"column":13}},"loc":{"start":{"line":4,"column":18},"end":{"line":5,"column":3}},"line":4},"2":{"name":"(anonymous_2)","decl":{"start":{"line":6,"column":12},"end":{"line":6,"column":13}},"loc":{"start":{"line":6,"column":18},"end":{"line":7,"column":3}},"line":6}},"branchMap":{},"s":{"0":1},"f":{"0":0,"1":0,"2":0},"b":{},"inputSourceMap":{"version":3,"sources":["/builds/fe/infra/reds/packages/reds-rn/src/components/Picker/interface/index.ts"],"sourcesContent":["import { GestureResponderEvent } from \"react-native\";\nimport { lightColor } from \"@xhs/reds-token-next\";\nimport { SheetsType } from \"../../Sheets\";\n\ntype SheetsSize = SheetsType.SheetsSize;\n\nexport interface Column {\n label: string;\n value: string;\n}\nexport interface RedsPicker {\n onConfirm?: (val: string[]) => void;\n onCancel?: () => void;\n onChange?: (val: string[]) => void;\n columns: Column[][];\n value: string[];\n visible: boolean;\n accessibility?: Object;\n hostName?: string;\n bottom?: any;\n}\n\nexport interface RedsPickerEvent {}\nexport const PickerDefaultProps = {\n onConfirm: () => {},\n onCancel: () => {},\n onChange: () => {},\n columns: [],\n value: [],\n visible: false,\n accessibility: {},\n};\n"],"mappings":"AAuBO,aAAM,qBAAqB;AAAA,EAChC,WAAW,MAAM;AAAA,EAAC;AAAA,EAClB,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,UAAU,MAAM;AAAA,EAAC;AAAA,EACjB,SAAS,CAAC;AAAA,EACV,OAAO,CAAC;AAAA,EACR,SAAS;AAAA,EACT,eAAe,CAAC;AAClB;","names":[]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a054bd43402933bffcf3758b7f508a8aa18b200a"}}
|
|
@@ -161,7 +161,7 @@ var Rate = function Rate(props) {
|
|
|
161
161
|
width: components_Rate_interface_index.iconSizeMap[props.size || components_Rate_interface_index.RateSize.MEDIUM]
|
|
162
162
|
},
|
|
163
163
|
testID: "image"
|
|
164
|
-
}), /* @__PURE__ */React.createElement(reactNative.Text, {
|
|
164
|
+
}), rate === index + 1 ? /* @__PURE__ */React.createElement(reactNative.Text, {
|
|
165
165
|
style: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
|
|
166
166
|
fontWeight: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1) ? typography.T3FontWeight : typography.B2LooseFontWeight,
|
|
167
167
|
fontSize: typography.C2FontSize,
|
|
@@ -170,7 +170,7 @@ var Rate = function Rate(props) {
|
|
|
170
170
|
}, (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1) ? props.activeTextStyle || {} : props.textStyle || {}), {}, {
|
|
171
171
|
textAlign: "center"
|
|
172
172
|
})
|
|
173
|
-
}, (_ref = (props === null || props === void 0 ? void 0 : props.texts) || defaultText) === null || _ref === void 0 ? void 0 : _ref[index])));
|
|
173
|
+
}, (_ref = (props === null || props === void 0 ? void 0 : props.texts) || defaultText) === null || _ref === void 0 ? void 0 : _ref[index]) : /* @__PURE__ */React.createElement(React.Fragment, null)));
|
|
174
174
|
}));
|
|
175
175
|
};
|
|
176
176
|
Rate.defaultProps = components_Rate_interface_index.RateDefaultProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport createStyles from \"./styles\";\nimport { useThemeColor, useColorMode, useThemeTypography } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n useMounted(\"Rate\");\n const veryBadKey = useLanguage(\"componentKey\", \"veryBadKey\");\n const disappointmentKey = useLanguage(\"componentKey\", \"disappointmentKey\");\n const generallyKey = useLanguage(\"componentKey\", \"generallyKey\");\n const satisfyKey = useLanguage(\"componentKey\", \"satisfyKey\");\n const surpriseKey = useLanguage(\"componentKey\", \"surpriseKey\");\n\n const defaultText = [veryBadKey, disappointmentKey, generallyKey, satisfyKey, surpriseKey];\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n const typography = useThemeTypography();\n const styles = createStyles(props);\n const [width, setWidth] = useState(0);\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = props.distance ?? 8;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(\n Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + (props.distance || 8))),\n );\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n props.isControl && setRate(props.value || 0);\n }, [props.value]);\n\n const handleLayout = (e: any) => {\n if (e.nativeEvent.layout.width > width) {\n setWidth(e.nativeEvent.layout.width);\n }\n };\n\n return props.pattern === RatePattern.Star ? (\n <View style={[styles.container, props.disabled && styles.disabled, props.style]}>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n marginLeft: props.distance || 8,\n }}\n >\n {description}\n </Text>\n </View>\n ) : (\n <View style={[styles.emojiContainer, props.disabled && styles.disabled, props.style]}>\n {emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={[styles.rate, width ? { width: width } : {}]} key={index} onLayout={handleLayout}>\n <Image\n key={index}\n source={{\n uri: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? activeEmoji[index]\n : item,\n }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n <Text\n style={{\n fontWeight: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? typography.T3FontWeight\n : typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? themeColor.Title\n : themeColor.Description,\n marginTop: 12,\n ...((props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? props.activeTextStyle || {}\n : props.textStyle || {}),\n textAlign: \"center\",\n }}\n >\n {(props?.texts || defaultText)?.[index]}\n </Text>\n </View>\n </TouchableWithoutFeedback>\n ))}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","useMounted","veryBadKey","useLanguage","disappointmentKey","generallyKey","satisfyKey","surpriseKey","defaultText","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","styles","createStyles","_useState3","_useState4","width","setWidth","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","height","px","_props$distance","_props$onChange","margin","distance","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","isControl","handleLayout","e","nativeEvent","layout","pattern","RatePattern","Star","View","style","container","disabled","React","createElement","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","fontWeight","B2LooseFontWeight","fontSize","C2FontSize","color","Paragraph","marginLeft","emojiContainer","item","TouchableWithoutFeedback","onPress","onLayout","emojiType","T3FontWeight","Title","Description","marginTop","activeTextStyle","textStyle","textAlign","_ref","defaultProps","RateDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport createStyles from \"./styles\";\nimport { useThemeColor, useColorMode, useThemeTypography } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n useMounted(\"Rate\");\n const veryBadKey = useLanguage(\"componentKey\", \"veryBadKey\");\n const disappointmentKey = useLanguage(\"componentKey\", \"disappointmentKey\");\n const generallyKey = useLanguage(\"componentKey\", \"generallyKey\");\n const satisfyKey = useLanguage(\"componentKey\", \"satisfyKey\");\n const surpriseKey = useLanguage(\"componentKey\", \"surpriseKey\");\n\n const defaultText = [veryBadKey, disappointmentKey, generallyKey, satisfyKey, surpriseKey];\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n const typography = useThemeTypography();\n const styles = createStyles(props);\n const [width, setWidth] = useState(0);\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = props.distance ?? 8;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(\n Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + (props.distance || 8))),\n );\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n props.isControl && setRate(props.value || 0);\n }, [props.value]);\n\n const handleLayout = (e: any) => {\n if (e.nativeEvent.layout.width > width) {\n setWidth(e.nativeEvent.layout.width);\n }\n };\n\n return props.pattern === RatePattern.Star ? (\n <View style={[styles.container, props.disabled && styles.disabled, props.style]}>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n marginLeft: props.distance || 8,\n }}\n >\n {description}\n </Text>\n </View>\n ) : (\n <View style={[styles.emojiContainer, props.disabled && styles.disabled, props.style]}>\n {emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={[styles.rate, width ? { width: width } : {}]} key={index} onLayout={handleLayout}>\n <Image\n key={index}\n source={{\n uri: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? activeEmoji[index]\n : item,\n }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n {rate === index + 1 ? (\n <Text\n style={{\n fontWeight: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? typography.T3FontWeight\n : typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? themeColor.Title\n : themeColor.Description,\n marginTop: 12,\n ...((props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? props.activeTextStyle || {}\n : props.textStyle || {}),\n textAlign: \"center\",\n }}\n >\n {(props?.texts || defaultText)?.[index]}\n </Text>\n ) : (\n <></>\n )}\n </View>\n </TouchableWithoutFeedback>\n ))}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","useMounted","veryBadKey","useLanguage","disappointmentKey","generallyKey","satisfyKey","surpriseKey","defaultText","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","styles","createStyles","_useState3","_useState4","width","setWidth","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","height","px","_props$distance","_props$onChange","margin","distance","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","isControl","handleLayout","e","nativeEvent","layout","pattern","RatePattern","Star","View","style","container","disabled","React","createElement","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","fontWeight","B2LooseFontWeight","fontSize","C2FontSize","color","Paragraph","marginLeft","emojiContainer","item","TouchableWithoutFeedback","onPress","onLayout","emojiType","T3FontWeight","Title","Description","marginTop","activeTextStyle","textStyle","textAlign","_ref","Fragment","defaultProps","RateDefaultProps"],"mappings":"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"}
|
|
@@ -157,7 +157,7 @@ var Rate = function Rate(props) {
|
|
|
157
157
|
width: iconSizeMap[props.size || RateSize.MEDIUM]
|
|
158
158
|
},
|
|
159
159
|
testID: "image"
|
|
160
|
-
}), /* @__PURE__ */React.createElement(Text, {
|
|
160
|
+
}), rate === index + 1 ? /* @__PURE__ */React.createElement(Text, {
|
|
161
161
|
style: _objectSpread2(_objectSpread2({
|
|
162
162
|
fontWeight: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1) ? typography.T3FontWeight : typography.B2LooseFontWeight,
|
|
163
163
|
fontSize: typography.C2FontSize,
|
|
@@ -166,7 +166,7 @@ var Rate = function Rate(props) {
|
|
|
166
166
|
}, (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1) ? props.activeTextStyle || {} : props.textStyle || {}), {}, {
|
|
167
167
|
textAlign: "center"
|
|
168
168
|
})
|
|
169
|
-
}, (_ref = (props === null || props === void 0 ? void 0 : props.texts) || defaultText) === null || _ref === void 0 ? void 0 : _ref[index])));
|
|
169
|
+
}, (_ref = (props === null || props === void 0 ? void 0 : props.texts) || defaultText) === null || _ref === void 0 ? void 0 : _ref[index]) : /* @__PURE__ */React.createElement(React.Fragment, null)));
|
|
170
170
|
}));
|
|
171
171
|
};
|
|
172
172
|
Rate.defaultProps = RateDefaultProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport createStyles from \"./styles\";\nimport { useThemeColor, useColorMode, useThemeTypography } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n useMounted(\"Rate\");\n const veryBadKey = useLanguage(\"componentKey\", \"veryBadKey\");\n const disappointmentKey = useLanguage(\"componentKey\", \"disappointmentKey\");\n const generallyKey = useLanguage(\"componentKey\", \"generallyKey\");\n const satisfyKey = useLanguage(\"componentKey\", \"satisfyKey\");\n const surpriseKey = useLanguage(\"componentKey\", \"surpriseKey\");\n\n const defaultText = [veryBadKey, disappointmentKey, generallyKey, satisfyKey, surpriseKey];\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n const typography = useThemeTypography();\n const styles = createStyles(props);\n const [width, setWidth] = useState(0);\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = props.distance ?? 8;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(\n Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + (props.distance || 8))),\n );\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n props.isControl && setRate(props.value || 0);\n }, [props.value]);\n\n const handleLayout = (e: any) => {\n if (e.nativeEvent.layout.width > width) {\n setWidth(e.nativeEvent.layout.width);\n }\n };\n\n return props.pattern === RatePattern.Star ? (\n <View style={[styles.container, props.disabled && styles.disabled, props.style]}>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n marginLeft: props.distance || 8,\n }}\n >\n {description}\n </Text>\n </View>\n ) : (\n <View style={[styles.emojiContainer, props.disabled && styles.disabled, props.style]}>\n {emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={[styles.rate, width ? { width: width } : {}]} key={index} onLayout={handleLayout}>\n <Image\n key={index}\n source={{\n uri: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? activeEmoji[index]\n : item,\n }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n <Text\n style={{\n fontWeight: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? typography.T3FontWeight\n : typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? themeColor.Title\n : themeColor.Description,\n marginTop: 12,\n ...((props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? props.activeTextStyle || {}\n : props.textStyle || {}),\n textAlign: \"center\",\n }}\n >\n {(props?.texts || defaultText)?.[index]}\n </Text>\n </View>\n </TouchableWithoutFeedback>\n ))}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","useMounted","veryBadKey","useLanguage","disappointmentKey","generallyKey","satisfyKey","surpriseKey","defaultText","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","styles","createStyles","_useState3","_useState4","width","setWidth","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","height","px","_props$distance","_props$onChange","margin","distance","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","isControl","handleLayout","e","nativeEvent","layout","pattern","RatePattern","Star","View","style","container","disabled","React","createElement","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","fontWeight","B2LooseFontWeight","fontSize","C2FontSize","color","Paragraph","marginLeft","emojiContainer","item","TouchableWithoutFeedback","onPress","onLayout","emojiType","T3FontWeight","Title","Description","marginTop","activeTextStyle","textStyle","textAlign","_ref","defaultProps","RateDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rate.js","sources":["../../../../src/components/Rate/Rate.tsx"],"sourcesContent":["import React, { useState, useCallback, useRef, useMemo, useEffect } from \"react\";\nimport { View, Image, Text, PanResponder, TouchableNativeFeedback, TouchableWithoutFeedback } from \"react-native\";\nimport createStyles from \"./styles\";\nimport { useThemeColor, useColorMode, useThemeTypography } from \"../ConfigProvider\";\nimport { iconSizeMap, RedsRate, RateDefaultProps, RateSize, RateType, RateDescType, RatePattern } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n\nconst activeEmoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/5c611933fbd0fc772398caf1c2406ce9894d6001.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/41cac748f3ee6e7c715d7f60713d34469847fafb.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/b35307ae3dc8dd22a89a4e194e691440880c3ce0.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/81a15f7773f1e30dc35dd9c5ecee53d4a1752d02.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/3233a493a14db15f6948afdab1cf4abd14fe5c2d.png\",\n];\n\nconst emoji = [\n \"https://picasso-static.xiaohongshu.com/fe-platform/ec8e4a1476be99fac789e63488c7ceb06d748a34.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/f8f78ee9f127e4a36fcb81c98cb5413e700cea10.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/c853df645fc97b8d1ce1956fc8314f92b89b5952.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/a0621a1fc61218b59ca26f2b91c1c2dc1b029064.png\",\n \"https://picasso-static.xiaohongshu.com/fe-platform/8ef22c29e9ba9ef598d40602a731e8b310fca6b7.png\",\n];\n\nconst Rate = (props: RedsRate) => {\n useMounted(\"Rate\");\n const veryBadKey = useLanguage(\"componentKey\", \"veryBadKey\");\n const disappointmentKey = useLanguage(\"componentKey\", \"disappointmentKey\");\n const generallyKey = useLanguage(\"componentKey\", \"generallyKey\");\n const satisfyKey = useLanguage(\"componentKey\", \"satisfyKey\");\n const surpriseKey = useLanguage(\"componentKey\", \"surpriseKey\");\n\n const defaultText = [veryBadKey, disappointmentKey, generallyKey, satisfyKey, surpriseKey];\n const [rate, setRate] = useState(0);\n const rateWrapper = useRef(null);\n const themeColor = useThemeColor();\n const colorMode = useColorMode();\n const typography = useThemeTypography();\n const styles = createStyles(props);\n const [width, setWidth] = useState(0);\n\n const imgUrl = (index: number) => {\n return rate >= index + 1\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/c392fd3596d8d034a712216a0eeecf0482431fee.png\"\n : rate >= index + 0.5\n ? props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/3eef29abcebef808b6397c176b69fc59ff4f3270.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/984c093ab403a6e36f61d145a0306c1a0846f6ba.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/6f6d96c16e3ae69017df573f961cae925dcae256.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/13e323673a75ab7d2970f1589a83125f161276e4.png\"\n : props.type === RateType.SOLID\n ? colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/7a877c92d00664133baf1d05cdf5b8064b891973.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/236a053c903c0140641823ad38c06927785bb810.png\"\n : colorMode === \"light\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/d077d8b4e9037fd369a018f0da5e77222f5a4c0f.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/732f47d2751b6afafc18d78b1412507f4094d4ae.png\";\n };\n\n const description = useMemo(() => {\n return rate === 0\n ? \"未评选\"\n : props.descType === RateDescType.NUMBER\n ? `${rate}分`\n : props?.texts?.[Math.ceil(rate) - 1];\n }, [rate]);\n\n const panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderMove: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5) {\n if (!rateWrapper.current) return;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n const margin = props.distance ?? 8;\n const starWidth = (width - (5 - 1) * margin) / 5;\n const offsetX = gestureState.moveX - px;\n const num = (offsetX + margin) / (starWidth + margin);\n const integral = Math.floor(num);\n const remainder = num % 1;\n\n let value = remainder < 0.5 ? integral : integral + 0.5;\n if (value > 5) value = 5;\n if (value < 0) value = 0;\n setRate(value);\n props?.onChange?.(value);\n });\n }\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (Math.abs(gestureState.dx) <= 5 && Math.abs(gestureState.dy) <= 5) {\n if (!rateWrapper.current) return;\n const touchX = gestureState.x0;\n // @ts-ignore\n rateWrapper.current.measure((fx, fy, width, height, px) => {\n let remainder = Math.abs(\n Math.ceil((touchX - px) / (iconSizeMap[props.size || RateSize.MEDIUM] + (props.distance || 8))),\n );\n if (remainder > 5) remainder = 5;\n if (remainder < 0) remainder = 0;\n if (remainder === rate) {\n setRate(0);\n props?.onChange?.(0);\n return;\n }\n setRate(remainder);\n props?.onChange?.(remainder);\n });\n }\n },\n });\n\n const handleEmojiClick = (index: number) => {\n setRate(index + 1);\n props?.onChange?.(index + 1);\n };\n\n useEffect(() => {\n props.isControl && setRate(props.value || 0);\n }, [props.value]);\n\n const handleLayout = (e: any) => {\n if (e.nativeEvent.layout.width > width) {\n setWidth(e.nativeEvent.layout.width);\n }\n };\n\n return props.pattern === RatePattern.Star ? (\n <View style={[styles.container, props.disabled && styles.disabled, props.style]}>\n <View ref={rateWrapper} {...panResponder.panHandlers} style={styles.container}>\n {new Array(5).fill(0).map((_, index) => (\n <View style={styles.rate} key={index}>\n <Image\n key={index}\n source={{ uri: imgUrl(index) }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n </View>\n ))}\n </View>\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n marginLeft: props.distance || 8,\n }}\n >\n {description}\n </Text>\n </View>\n ) : (\n <View style={[styles.emojiContainer, props.disabled && styles.disabled, props.style]}>\n {emoji.map((item, index) => (\n <TouchableWithoutFeedback onPress={() => handleEmojiClick(index)} key={index}>\n <View style={[styles.rate, width ? { width: width } : {}]} key={index} onLayout={handleLayout}>\n <Image\n key={index}\n source={{\n uri: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? activeEmoji[index]\n : item,\n }}\n style={{\n height: iconSizeMap[props.size || RateSize.MEDIUM],\n width: iconSizeMap[props.size || RateSize.MEDIUM],\n }}\n testID=\"image\"\n />\n {rate === index + 1 ? (\n <Text\n style={{\n fontWeight: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? typography.T3FontWeight\n : typography.B2LooseFontWeight,\n fontSize: typography.C2FontSize,\n color: (props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? themeColor.Title\n : themeColor.Description,\n marginTop: 12,\n ...((props.emojiType === \"default\" ? rate >= index + 1 : rate === index + 1)\n ? props.activeTextStyle || {}\n : props.textStyle || {}),\n textAlign: \"center\",\n }}\n >\n {(props?.texts || defaultText)?.[index]}\n </Text>\n ) : (\n <></>\n )}\n </View>\n </TouchableWithoutFeedback>\n ))}\n </View>\n );\n};\n\nRate.defaultProps = RateDefaultProps;\n\nexport default Rate;\n"],"names":["activeEmoji","emoji","Rate","props","useMounted","veryBadKey","useLanguage","disappointmentKey","generallyKey","satisfyKey","surpriseKey","defaultText","_useState","useState","_useState2","_slicedToArray","rate","setRate","rateWrapper","useRef","themeColor","useThemeColor","colorMode","useColorMode","typography","useThemeTypography","styles","createStyles","_useState3","_useState4","width","setWidth","imgUrl","index","type","RateType","SOLID","description","useMemo","_props$texts","descType","RateDescType","NUMBER","concat","texts","Math","ceil","panResponder","PanResponder","create","onStartShouldSetPanResponder","onPanResponderMove","evt","gestureState","abs","dx","dy","current","measure","fx","fy","height","px","_props$distance","_props$onChange","margin","distance","starWidth","offsetX","moveX","num","integral","floor","remainder","value","onChange","call","onPanResponderRelease","touchX","x0","_props$onChange3","iconSizeMap","size","RateSize","MEDIUM","_props$onChange2","handleEmojiClick","_props$onChange4","useEffect","isControl","handleLayout","e","nativeEvent","layout","pattern","RatePattern","Star","View","style","container","disabled","React","createElement","_objectSpread","ref","panHandlers","Array","fill","map","_","key","Image","source","uri","testID","Text","fontWeight","B2LooseFontWeight","fontSize","C2FontSize","color","Paragraph","marginLeft","emojiContainer","item","TouchableWithoutFeedback","onPress","onLayout","emojiType","T3FontWeight","Title","Description","marginTop","activeTextStyle","textStyle","textAlign","_ref","Fragment","defaultProps","RateDefaultProps"],"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.3-
|
|
3
|
+
"version": "0.10.3-beta202512261535",
|
|
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.3-
|
|
29
|
+
"@xhsreds/reds-token-next": "0.10.3-beta202512261535"
|
|
30
30
|
},
|
|
31
31
|
"peerDependenciesMeta": {
|
|
32
32
|
"ozone-schema-web": {
|
|
@@ -173,24 +173,28 @@ const Rate = (props: RedsRate) => {
|
|
|
173
173
|
}}
|
|
174
174
|
testID="image"
|
|
175
175
|
/>
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
?
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
?
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
176
|
+
{rate === index + 1 ? (
|
|
177
|
+
<Text
|
|
178
|
+
style={{
|
|
179
|
+
fontWeight: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
|
|
180
|
+
? typography.T3FontWeight
|
|
181
|
+
: typography.B2LooseFontWeight,
|
|
182
|
+
fontSize: typography.C2FontSize,
|
|
183
|
+
color: (props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
|
|
184
|
+
? themeColor.Title
|
|
185
|
+
: themeColor.Description,
|
|
186
|
+
marginTop: 12,
|
|
187
|
+
...((props.emojiType === "default" ? rate >= index + 1 : rate === index + 1)
|
|
188
|
+
? props.activeTextStyle || {}
|
|
189
|
+
: props.textStyle || {}),
|
|
190
|
+
textAlign: "center",
|
|
191
|
+
}}
|
|
192
|
+
>
|
|
193
|
+
{(props?.texts || defaultText)?.[index]}
|
|
194
|
+
</Text>
|
|
195
|
+
) : (
|
|
196
|
+
<></>
|
|
197
|
+
)}
|
|
194
198
|
</View>
|
|
195
199
|
</TouchableWithoutFeedback>
|
|
196
200
|
))}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
interface Resources {
|
|
2
2
|
componentKey: {
|
|
3
|
-
sureKey: "
|
|
4
|
-
satisfyKey: "
|
|
5
|
-
confirmKey: "
|
|
6
|
-
uploadingKey: "
|
|
7
|
-
resetKey: "
|
|
8
|
-
NoDataKey: "
|
|
9
|
-
liveStreamingKey: "
|
|
10
|
-
generallyKey: "
|
|
11
|
-
uploadFailedKey: "
|
|
12
|
-
submitKey: "
|
|
13
|
-
requestSuccessfulKey: "
|
|
14
|
-
cancelKey: "
|
|
15
|
-
PullDownToRefreshKey: "
|
|
16
|
-
selectAllKey: "
|
|
17
|
-
requestDataKey: "
|
|
18
|
-
closeKey: "
|
|
19
|
-
veryBadKey: "
|
|
20
|
-
searchKey: "
|
|
21
|
-
expandKey: "
|
|
22
|
-
IDCardPhotoKey: "
|
|
23
|
-
finishKey: "
|
|
24
|
-
surpriseKey: "
|
|
25
|
-
releaseRefreshKey: "
|
|
26
|
-
nationalEmblemSideOfIDCardKey: "
|
|
27
|
-
buttonKey: "
|
|
28
|
-
jumpKey: "
|
|
29
|
-
disappointmentKey: "
|
|
3
|
+
sureKey: "确定";
|
|
4
|
+
satisfyKey: "满意";
|
|
5
|
+
confirmKey: "确认";
|
|
6
|
+
uploadingKey: "上传中";
|
|
7
|
+
resetKey: "重置";
|
|
8
|
+
NoDataKey: "暂无数据";
|
|
9
|
+
liveStreamingKey: "直播";
|
|
10
|
+
generallyKey: "一般";
|
|
11
|
+
uploadFailedKey: "上传失败";
|
|
12
|
+
submitKey: "提交";
|
|
13
|
+
requestSuccessfulKey: "请求成功";
|
|
14
|
+
cancelKey: "取消";
|
|
15
|
+
PullDownToRefreshKey: "下拉刷新";
|
|
16
|
+
selectAllKey: "全选";
|
|
17
|
+
requestDataKey: "请求数据中";
|
|
18
|
+
closeKey: "收起";
|
|
19
|
+
veryBadKey: "极差";
|
|
20
|
+
searchKey: "搜索";
|
|
21
|
+
expandKey: "展开";
|
|
22
|
+
IDCardPhotoKey: "身份证人像面";
|
|
23
|
+
finishKey: "完成";
|
|
24
|
+
surpriseKey: "惊喜";
|
|
25
|
+
releaseRefreshKey: "松开刷新";
|
|
26
|
+
nationalEmblemSideOfIDCardKey: "身份证国徽面";
|
|
27
|
+
buttonKey: "按钮";
|
|
28
|
+
jumpKey: "跳转";
|
|
29
|
+
disappointmentKey: "失望";
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
export default Resources;
|
package/src/i18n/index.json
CHANGED
|
@@ -1,35 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"en_us": {
|
|
3
|
-
"componentKey": {
|
|
4
|
-
"sureKey": "Confirm",
|
|
5
|
-
"satisfyKey": "Satisfy",
|
|
6
|
-
"confirmKey": "Confirm",
|
|
7
|
-
"uploadingKey": "Uploading",
|
|
8
|
-
"resetKey": "Reset",
|
|
9
|
-
"NoDataKey": "No data available at the moment",
|
|
10
|
-
"liveStreamingKey": "live",
|
|
11
|
-
"generallyKey": "Generally",
|
|
12
|
-
"uploadFailedKey": "Upload failed",
|
|
13
|
-
"submitKey": "Submit",
|
|
14
|
-
"requestSuccessfulKey": "Request successful",
|
|
15
|
-
"cancelKey": "Cancel",
|
|
16
|
-
"PullDownToRefreshKey": "Pull down to refresh",
|
|
17
|
-
"selectAllKey": "SelectAll",
|
|
18
|
-
"requestDataKey": "Request data",
|
|
19
|
-
"closeKey": "Close",
|
|
20
|
-
"veryBadKey": "Very bad",
|
|
21
|
-
"searchKey": "Search",
|
|
22
|
-
"expandKey": "Expand",
|
|
23
|
-
"IDCardPhotoKey": "ID card photo",
|
|
24
|
-
"finishKey": "Finish",
|
|
25
|
-
"surpriseKey": "Surprise",
|
|
26
|
-
"releaseRefreshKey": "Release refresh",
|
|
27
|
-
"nationalEmblemSideOfIDCardKey": "National emblem side of ID card",
|
|
28
|
-
"buttonKey": "Button",
|
|
29
|
-
"jumpKey": "Jump",
|
|
30
|
-
"disappointmentKey": "Disappointment"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
2
|
"zh_cn": {
|
|
34
3
|
"componentKey": {
|
|
35
4
|
"sureKey": "确定",
|
|
@@ -91,5 +60,36 @@
|
|
|
91
60
|
"jumpKey": "跳轉",
|
|
92
61
|
"disappointmentKey": "失望"
|
|
93
62
|
}
|
|
63
|
+
},
|
|
64
|
+
"en_us": {
|
|
65
|
+
"componentKey": {
|
|
66
|
+
"sureKey": "Confirm",
|
|
67
|
+
"satisfyKey": "Satisfy",
|
|
68
|
+
"confirmKey": "Confirm",
|
|
69
|
+
"uploadingKey": "Uploading",
|
|
70
|
+
"resetKey": "Reset",
|
|
71
|
+
"NoDataKey": "No data available at the moment",
|
|
72
|
+
"liveStreamingKey": "live",
|
|
73
|
+
"generallyKey": "Generally",
|
|
74
|
+
"uploadFailedKey": "Upload failed",
|
|
75
|
+
"submitKey": "Submit",
|
|
76
|
+
"requestSuccessfulKey": "Request successful",
|
|
77
|
+
"cancelKey": "Cancel",
|
|
78
|
+
"PullDownToRefreshKey": "Pull down to refresh",
|
|
79
|
+
"selectAllKey": "SelectAll",
|
|
80
|
+
"requestDataKey": "Request data",
|
|
81
|
+
"closeKey": "Close",
|
|
82
|
+
"veryBadKey": "Very bad",
|
|
83
|
+
"searchKey": "Search",
|
|
84
|
+
"expandKey": "Expand",
|
|
85
|
+
"IDCardPhotoKey": "ID card photo",
|
|
86
|
+
"finishKey": "Finish",
|
|
87
|
+
"surpriseKey": "Surprise",
|
|
88
|
+
"releaseRefreshKey": "Release refresh",
|
|
89
|
+
"nationalEmblemSideOfIDCardKey": "National emblem side of ID card",
|
|
90
|
+
"buttonKey": "Button",
|
|
91
|
+
"jumpKey": "Jump",
|
|
92
|
+
"disappointmentKey": "Disappointment"
|
|
93
|
+
}
|
|
94
94
|
}
|
|
95
95
|
}
|