@xhsreds/reds-rn-next 0.10.1-beta202511201716 → 0.10.1-beta202511211532
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-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-25.json +1 -1
- package/coverage/.tmp/coverage-26.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-28.json +1 -1
- package/coverage/.tmp/coverage-29.json +1 -1
- package/coverage/.tmp/coverage-3.json +1 -1
- package/coverage/.tmp/coverage-30.json +1 -1
- package/coverage/.tmp/coverage-31.json +1 -1
- package/coverage/.tmp/coverage-32.json +1 -1
- package/coverage/.tmp/coverage-33.json +1 -1
- package/coverage/.tmp/coverage-34.json +1 -1
- package/coverage/.tmp/coverage-35.json +1 -1
- package/coverage/.tmp/coverage-36.json +1 -1
- package/coverage/.tmp/coverage-37.json +1 -1
- package/coverage/.tmp/coverage-38.json +1 -1
- package/coverage/.tmp/coverage-39.json +1 -1
- package/coverage/.tmp/coverage-4.json +1 -1
- package/coverage/.tmp/coverage-40.json +1 -1
- package/coverage/.tmp/coverage-41.json +1 -1
- package/coverage/.tmp/coverage-42.json +1 -1
- package/coverage/.tmp/coverage-43.json +1 -1
- package/coverage/.tmp/coverage-5.json +1 -1
- package/coverage/.tmp/coverage-6.json +1 -1
- package/coverage/.tmp/coverage-7.json +1 -1
- package/coverage/.tmp/coverage-8.json +1 -1
- package/coverage/.tmp/coverage-9.json +1 -1
- package/lib/cjs/components/Avatar/styles.js +5 -5
- package/lib/cjs/components/Avatar/styles.js.map +1 -1
- package/lib/cjs/components/AvatarGroup/AvatarGroup.js +1 -1
- package/lib/cjs/components/PickerView/Wheel.js +21 -15
- package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
- package/lib/esm/components/Avatar/styles.js +5 -5
- package/lib/esm/components/Avatar/styles.js.map +1 -1
- package/lib/esm/components/AvatarGroup/AvatarGroup.js +1 -1
- package/lib/esm/components/PickerView/Wheel.js +21 -15
- package/lib/esm/components/PickerView/Wheel.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Avatar/styles.ts +5 -4
- package/src/components/DatePicker/demo/index.tsx +26 -0
- package/src/components/PickerView/Wheel.tsx +14 -11
- package/src/i18n/@types/resources.d.ts +18 -18
- package/src/i18n/index.json +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n
|
|
1
|
+
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n const [lastValue, setLastValue] = useState(value);\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n handleScroll(idx);\n }\n }, [column, value]);\n\n const handleScroll = (idx: number) => {\n const newVal = column?.[idx]?.value;\n scrollTo(idx * itemHeight);\n if (newVal) {\n setLastValue(newVal);\n onSelect(newVal, props.index);\n }\n };\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n onSelect(newVal, props.index);\n };\n\n const handleClick = (index: number) => {\n handleScroll(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","lastValue","setLastValue","useEffect","idx","getSelectIndex","handleScroll","_column$idx","newVal","scrollTo","index","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
|
|
|
4
4
|
import 'react';
|
|
5
5
|
import '@xhs/reds-apm/src/index.native';
|
|
6
6
|
import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
|
|
7
|
-
import '@xhsreds/reds-token-next';
|
|
7
|
+
import { alwaysColor } from '@xhsreds/reds-token-next';
|
|
8
8
|
import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
|
|
9
9
|
|
|
10
10
|
var avatarSizeToTagMargin = {
|
|
@@ -169,7 +169,7 @@ var getLiveTextStyles = function getLiveTextStyles(size, liveIcon) {
|
|
|
169
169
|
liveTextSmall: {
|
|
170
170
|
fontSize: 8,
|
|
171
171
|
textAlign: "center",
|
|
172
|
-
color:
|
|
172
|
+
color: alwaysColor.White,
|
|
173
173
|
display: "flex",
|
|
174
174
|
justifyContent: "center",
|
|
175
175
|
alignItems: "center"
|
|
@@ -177,18 +177,18 @@ var getLiveTextStyles = function getLiveTextStyles(size, liveIcon) {
|
|
|
177
177
|
liveTextMedium: {
|
|
178
178
|
fontSize: 8,
|
|
179
179
|
textAlign: "center",
|
|
180
|
-
color:
|
|
180
|
+
color: alwaysColor.White
|
|
181
181
|
},
|
|
182
182
|
liveTextLarge: {
|
|
183
183
|
fontSize: typography.C3FontSize,
|
|
184
184
|
fontWeight: typography.C3FontWeight,
|
|
185
185
|
textAlign: "center",
|
|
186
|
-
color:
|
|
186
|
+
color: alwaysColor.White
|
|
187
187
|
},
|
|
188
188
|
liveTextXLarge: {
|
|
189
189
|
fontSize: typography.C2FontSize,
|
|
190
190
|
textAlign: "center",
|
|
191
|
-
color:
|
|
191
|
+
color: alwaysColor.White
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
194
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/Avatar/styles.ts"],"sourcesContent":["import { StyleSheet, Platform } from \"react-native\";\nimport { useThemeTypography, useThemeColor } from \"../ConfigProvider\";\n\nconst avatarSizeToTagMargin = {\n small: -4,\n medium: -6,\n large: -8,\n xlarge: -10,\n};\n\nconst sizeRanges = [{ \"16-28\": \"small\" }, { \"28-44\": \"medium\" }, { \"48-64\": \"large\" }, { \"68-80\": \"xlarge\" }];\n\ntype AvatarSize = \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\nconst getSizeType = (value: number) => {\n const res = sizeRanges.filter((obj) => {\n const [min, max] = Object.keys(obj)[0].split(\"-\");\n return value >= +min && value <= +max;\n });\n return res && res.length > 0 ? Object.values(res[0])[0] : \"large\";\n};\n\nexport const getAvatarStyles = (width: number, size: number | AvatarSize, outlineColor: string, borderNum?: number) => {\n let sizeType = typeof size === \"number\" ? (getSizeType(width) as AvatarSize) : (size as AvatarSize);\n const themeColor = useThemeColor(\"Avatar\");\n let borderWidth =\n typeof borderNum === \"number\" ? borderNum : sizeType === \"xlarge\" ? 2 : sizeType === \"large\" ? 1.5 : 1;\n\n const styles = StyleSheet.create({\n container: {\n borderWidth: 0,\n width: width + borderWidth * 4,\n height: width + borderWidth * 4,\n borderRadius: (width + 100) / 2,\n position: \"absolute\",\n },\n img: {\n width: width,\n height: width,\n borderRadius: width / 2,\n zIndex: 100,\n },\n outContainer: {\n width: width,\n height: width,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n });\n\n const liveStyles = StyleSheet.create({\n container: {\n // @ts-ignore\n borderColor: themeColor[outlineColor] || outlineColor,\n borderWidth,\n },\n });\n const liveStylesSecondary = StyleSheet.create({\n container: {\n // @ts-ignore\n borderColor: themeColor[outlineColor] || outlineColor,\n borderWidth: borderWidth,\n },\n });\n\n return {\n styles,\n liveStyles,\n liveStylesSecondary,\n sizeType,\n borderWidth,\n };\n};\n\nexport const getLiveTextStyles = (size: AvatarSize, liveIcon: any) => {\n const typography = useThemeTypography(\"Avatar\");\n const themeColor = useThemeColor(\"Avatar\");\n const tagMargin = avatarSizeToTagMargin[size];\n const tagContainerStyles = StyleSheet.create({\n outContainer: {\n position: \"absolute\",\n bottom: tagMargin,\n zIndex: 100,\n },\n container: {\n position: \"relative\",\n overflow: \"hidden\",\n width: \"100%\",\n borderRadius: 60,\n },\n animatedLight: {\n height: 30,\n bottom: 0,\n position: \"absolute\",\n width: 6,\n },\n });\n const tagStyles = StyleSheet.create({\n text: {\n fontSize: 7,\n lineHeight: 10,\n paddingHorizontal: 0,\n },\n container: {\n width: \"auto\",\n paddingHorizontal: 3,\n overflow: \"hidden\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n avatarLiveTag: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: themeColor.Primary,\n borderRadius: 99,\n opacity: 1,\n zIndex: 999,\n },\n liveSmall: {\n fontSize: 8,\n minWidth: liveIcon ? 32 : 24,\n paddingVertical: 2,\n // height: 12,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingHorizontal: liveIcon ? 4 : 0,\n },\n liveMedium: {\n fontSize: 8,\n minWidth: liveIcon ? 34 : 26,\n paddingVertical: 2,\n // height: 12,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveLarge: {\n fontSize: typography.C3FontSize,\n minWidth: liveIcon ? 44 : 34,\n paddingVertical: 2,\n // height: 16,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontWeight: typography.C3FontWeight,\n },\n liveXLarge: {\n fontSize: typography.C2FontSize,\n minWidth: liveIcon ? 56 : 42,\n paddingVertical: 2,\n // height: 20,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveTextSmall: {\n fontSize: 8,\n textAlign: \"center\",\n color: themeColor.White,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveTextMedium: {\n fontSize: 8,\n textAlign: \"center\",\n color: themeColor.White,\n },\n liveTextLarge: {\n fontSize: typography.C3FontSize,\n fontWeight: typography.C3FontWeight,\n textAlign: \"center\",\n color: themeColor.White,\n },\n liveTextXLarge: {\n fontSize: typography.C2FontSize,\n textAlign: \"center\",\n color: themeColor.White,\n },\n });\n\n return {\n tagMargin,\n tagContainerStyles,\n tagStyles,\n };\n};\n"],"names":["avatarSizeToTagMargin","small","medium","large","xlarge","sizeRanges","getSizeType","value","res","filter","obj","_Object$keys$0$split","Object","keys","split","_Object$keys$0$split2","_slicedToArray","min","max","length","values","getAvatarStyles","width","size","outlineColor","borderNum","sizeType","themeColor","useThemeColor","borderWidth","styles","StyleSheet","create","container","height","borderRadius","position","img","zIndex","outContainer","display","alignItems","justifyContent","liveStyles","borderColor","liveStylesSecondary","getLiveTextStyles","liveIcon","typography","useThemeTypography","tagMargin","tagContainerStyles","bottom","overflow","animatedLight","tagStyles","text","fontSize","lineHeight","paddingHorizontal","flexDirection","avatarLiveTag","backgroundColor","Primary","opacity","liveSmall","minWidth","paddingVertical","liveMedium","liveLarge","C3FontSize","fontWeight","C3FontWeight","liveXLarge","C2FontSize","liveTextSmall","textAlign","color","White","liveTextMedium","liveTextLarge","liveTextXLarge"],"mappings":";;;;;;;;;AAGA,IAAMA,qBAAwB,GAAA;EAC5BC,KAAO,EAAA,CAAA,CAAA;EACPC,MAAQ,EAAA,CAAA,CAAA;EACRC,KAAO,EAAA,CAAA,CAAA;AACPC,EAAAA,MAAQ,EAAA,CAAA,EAAA;AACV,CAAA,CAAA;AAEA,IAAMC,aAAa,CAAC;AAAE,EAAA,OAAS,EAAA,OAAA;AAAQ,GAAG;AAAE,EAAA,OAAA,EAAS,QAAA;AAAS,CAAA,EAAG;AAAE,EAAA,OAAS,EAAA,OAAA;AAAQ,GAAG;AAAE,EAAA,OAAA,EAAS,QAAA;AAAS,CAAC,CAAA,CAAA;AAI5G,IAAMC,WAAA,GAAc,SAAdA,WAAAA,CAAeC,KAAkB,EAAA;EACrC,IAAMC,GAAM,GAAAH,UAAA,CAAWI,MAAO,CAAA,UAACC,GAAQ,EAAA;AAC/B,IAAA,IAAAC,oBAAA,GAAaC,MAAA,CAAOC,IAAK,CAAAH,GAAG,CAAE,CAAA,CAAC,CAAE,CAAAI,KAAA,CAAM,GAAG,CAAA;MAAAC,qBAAA,GAAAC,cAAA,CAAAL,oBAAA,EAAA,CAAA,CAAA;AAAzCM,MAAAA,GAAK,GAAAF,qBAAA,CAAA,CAAA,CAAA;AAAAG,MAAAA,GAAG,GAAAH,qBAAA,CAAA,CAAA,CAAA,CAAA;IACf,OAAOR,KAAS,IAAA,CAACU,GAAO,IAAAV,KAAA,IAAS,CAACW,GAAA,CAAA;AACpC,GAAC,CAAA,CAAA;EACM,OAAAV,GAAA,IAAOA,GAAI,CAAAW,MAAA,GAAS,CAAI,GAAAP,MAAA,CAAOQ,MAAO,CAAAZ,GAAA,CAAI,CAAC,CAAC,CAAE,CAAA,CAAC,CAAI,GAAA,OAAA,CAAA;AAC5D,CAAA,CAAA;AAEaa,IAAAA,eAAkB,GAAA,SAAlBA,eAAkBA,CAACC,KAAe,EAAAC,IAAA,EAA2BC,cAAsBC,SAAuB,EAAA;AACrH,EAAA,IAAIC,WAAW,OAAOH,IAAA,KAAS,QAAY,GAAAjB,WAAA,CAAYgB,KAAK,CAAoB,GAAAC,IAAA,CAAA;AAC1E,EAAA,IAAAI,UAAA,GAAaC,cAAc,QAAQ,CAAA,CAAA;EACrC,IAAAC,WAAA,GACF,OAAOJ,SAAA,KAAc,QAAW,GAAAA,SAAA,GAAYC,aAAa,QAAW,GAAA,CAAA,GAAIA,QAAa,KAAA,OAAA,GAAU,GAAM,GAAA,CAAA,CAAA;AAEjG,EAAA,IAAAI,MAAA,GAASC,WAAWC,MAAO,CAAA;AAC/BC,IAAAA,SAAW,EAAA;AACTJ,MAAAA,WAAa,EAAA,CAAA;AACbP,MAAAA,KAAA,EAAOA,QAAQO,WAAc,GAAA,CAAA;AAC7BK,MAAAA,MAAA,EAAQZ,QAAQO,WAAc,GAAA,CAAA;AAC9BM,MAAAA,YAAA,EAAA,CAAeb,QAAQ,GAAO,IAAA,CAAA;AAC9Bc,MAAAA,QAAU,EAAA,UAAA;KACZ;AACAC,IAAAA,GAAK,EAAA;AACHf,MAAAA,KAAA,EAAAA,KAAA;AACAY,MAAAA,MAAQ,EAAAZ,KAAA;MACRa,cAAcb,KAAQ,GAAA,CAAA;AACtBgB,MAAAA,MAAQ,EAAA,GAAA;KACV;AACAC,IAAAA,YAAc,EAAA;AACZjB,MAAAA,KAAA,EAAAA,KAAA;AACAY,MAAAA,MAAQ,EAAAZ,KAAA;AACRkB,MAAAA,OAAS,EAAA,MAAA;AACTC,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,QAAA;AAClB,KAAA;AACF,GAAC,CAAA,CAAA;AAEK,EAAA,IAAAC,UAAA,GAAaZ,WAAWC,MAAO,CAAA;AACnCC,IAAAA,SAAW,EAAA;AAAA;AAETW,MAAAA,WAAA,EAAajB,UAAW,CAAAH,YAAY,CAAK,IAAAA,YAAA;AACzCK,MAAAA,WAAA,EAAAA,WAAAA;AACF,KAAA;AACF,GAAC,CAAA,CAAA;AACK,EAAA,IAAAgB,mBAAA,GAAsBd,WAAWC,MAAO,CAAA;AAC5CC,IAAAA,SAAW,EAAA;AAAA;AAETW,MAAAA,WAAA,EAAajB,UAAW,CAAAH,YAAY,CAAK,IAAAA,YAAA;AACzCK,MAAAA,WAAA,EAAAA,WAAAA;AACF,KAAA;AACF,GAAC,CAAA,CAAA;EAEM,OAAA;AACLC,IAAAA,MAAA,EAAAA,MAAA;AACAa,IAAAA,UAAA,EAAAA,UAAA;AACAE,IAAAA,mBAAA,EAAAA,mBAAA;AACAnB,IAAAA,QAAA,EAAAA,QAAA;AACAG,IAAAA,WAAA,EAAAA,WAAAA;GACF,CAAA;AACF,EAAA;AAEa,IAAAiB,iBAAA,GAAoB,SAApBA,iBAAAA,CAAqBvB,IAAA,EAAkBwB,QAAkB,EAAA;AAC9D,EAAA,IAAAC,UAAA,GAAaC,mBAAmB,QAAQ,CAAA,CAAA;AACxC,EAAA,IAAAtB,UAAA,GAAaC,cAAc,QAAQ,CAAA,CAAA;AACnC,EAAA,IAAAsB,SAAA,GAAYlD,sBAAsBuB,IAAI,CAAA,CAAA;AACtC,EAAA,IAAA4B,kBAAA,GAAqBpB,WAAWC,MAAO,CAAA;AAC3CO,IAAAA,YAAc,EAAA;AACZH,MAAAA,QAAU,EAAA,UAAA;AACVgB,MAAAA,MAAQ,EAAAF,SAAA;AACRZ,MAAAA,MAAQ,EAAA,GAAA;KACV;AACAL,IAAAA,SAAW,EAAA;AACTG,MAAAA,QAAU,EAAA,UAAA;AACViB,MAAAA,QAAU,EAAA,QAAA;AACV/B,MAAAA,KAAO,EAAA,MAAA;AACPa,MAAAA,YAAc,EAAA,EAAA;KAChB;AACAmB,IAAAA,aAAe,EAAA;AACbpB,MAAAA,MAAQ,EAAA,EAAA;AACRkB,MAAAA,MAAQ,EAAA,CAAA;AACRhB,MAAAA,QAAU,EAAA,UAAA;AACVd,MAAAA,KAAO,EAAA,CAAA;AACT,KAAA;AACF,GAAC,CAAA,CAAA;AACK,EAAA,IAAAiC,SAAA,GAAYxB,WAAWC,MAAO,CAAA;AAClCwB,IAAAA,IAAM,EAAA;AACJC,MAAAA,QAAU,EAAA,CAAA;AACVC,MAAAA,UAAY,EAAA,EAAA;AACZC,MAAAA,iBAAmB,EAAA,CAAA;KACrB;AACA1B,IAAAA,SAAW,EAAA;AACTX,MAAAA,KAAO,EAAA,MAAA;AACPqC,MAAAA,iBAAmB,EAAA,CAAA;AACnBN,MAAAA,QAAU,EAAA,QAAA;AACVb,MAAAA,OAAS,EAAA,MAAA;AACToB,MAAAA,aAAe,EAAA,KAAA;AACfnB,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,QAAA;KAClB;AACAmB,IAAAA,aAAe,EAAA;AACbrB,MAAAA,OAAS,EAAA,MAAA;AACToB,MAAAA,aAAe,EAAA,KAAA;AACfnB,MAAAA,UAAY,EAAA,QAAA;AACZC,MAAAA,cAAgB,EAAA,QAAA;MAChBoB,iBAAiBnC,UAAW,CAAAoC,OAAA;AAC5B5B,MAAAA,YAAc,EAAA,EAAA;AACd6B,MAAAA,OAAS,EAAA,CAAA;AACT1B,MAAAA,MAAQ,EAAA,GAAA;KACV;AACA2B,IAAAA,SAAW,EAAA;AACTR,MAAAA,QAAU,EAAA,CAAA;AACVS,MAAAA,QAAA,EAAUnB,WAAW,EAAK,GAAA,EAAA;AAC1BoB,MAAAA,eAAiB,EAAA,CAAA;AAAA;AAEjB3B,MAAAA,OAAS,EAAA,MAAA;AACTE,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;AACZkB,MAAAA,iBAAA,EAAmBZ,WAAW,CAAI,GAAA,CAAA;KACpC;AACAqB,IAAAA,UAAY,EAAA;AACVX,MAAAA,QAAU,EAAA,CAAA;AACVS,MAAAA,QAAA,EAAUnB,WAAW,EAAK,GAAA,EAAA;AAC1BoB,MAAAA,eAAiB,EAAA,CAAA;AAAA;AAEjB3B,MAAAA,OAAS,EAAA,MAAA;AACTE,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;KACd;AACA4B,IAAAA,SAAW,EAAA;MACTZ,UAAUT,UAAW,CAAAsB,UAAA;AACrBJ,MAAAA,QAAA,EAAUnB,WAAW,EAAK,GAAA,EAAA;AAC1BoB,MAAAA,eAAiB,EAAA,CAAA;AAAA;AAEjB3B,MAAAA,OAAS,EAAA,MAAA;AACTE,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;MACZ8B,YAAYvB,UAAW,CAAAwB,YAAAA;KACzB;AACAC,IAAAA,UAAY,EAAA;MACVhB,UAAUT,UAAW,CAAA0B,UAAA;AACrBR,MAAAA,QAAA,EAAUnB,WAAW,EAAK,GAAA,EAAA;AAC1BoB,MAAAA,eAAiB,EAAA,CAAA;AAAA;AAEjB3B,MAAAA,OAAS,EAAA,MAAA;AACTE,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;KACd;AACAkC,IAAAA,aAAe,EAAA;AACblB,MAAAA,QAAU,EAAA,CAAA;AACVmB,MAAAA,SAAW,EAAA,QAAA;MACXC,OAAOlD,UAAW,CAAAmD,KAAA;AAClBtC,MAAAA,OAAS,EAAA,MAAA;AACTE,MAAAA,cAAgB,EAAA,QAAA;AAChBD,MAAAA,UAAY,EAAA,QAAA;KACd;AACAsC,IAAAA,cAAgB,EAAA;AACdtB,MAAAA,QAAU,EAAA,CAAA;AACVmB,MAAAA,SAAW,EAAA,QAAA;MACXC,OAAOlD,UAAW,CAAAmD,KAAAA;KACpB;AACAE,IAAAA,aAAe,EAAA;MACbvB,UAAUT,UAAW,CAAAsB,UAAA;MACrBC,YAAYvB,UAAW,CAAAwB,YAAA;AACvBI,MAAAA,SAAW,EAAA,QAAA;MACXC,OAAOlD,UAAW,CAAAmD,KAAAA;KACpB;AACAG,IAAAA,cAAgB,EAAA;MACdxB,UAAUT,UAAW,CAAA0B,UAAA;AACrBE,MAAAA,SAAW,EAAA,QAAA;MACXC,OAAOlD,UAAW,CAAAmD,KAAAA;AACpB,KAAA;AACF,GAAC,CAAA,CAAA;EAEM,OAAA;AACL5B,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,kBAAA,EAAAA,kBAAA;AACAI,IAAAA,SAAA,EAAAA,SAAAA;GACF,CAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/Avatar/styles.ts"],"sourcesContent":["import { StyleSheet, Platform } from \"react-native\";\nimport { useThemeTypography, useThemeColor } from \"../ConfigProvider\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\n\nconst avatarSizeToTagMargin = {\n small: -4,\n medium: -6,\n large: -8,\n xlarge: -10,\n};\n\nconst sizeRanges = [{ \"16-28\": \"small\" }, { \"28-44\": \"medium\" }, { \"48-64\": \"large\" }, { \"68-80\": \"xlarge\" }];\n\ntype AvatarSize = \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\nconst getSizeType = (value: number) => {\n const res = sizeRanges.filter((obj) => {\n const [min, max] = Object.keys(obj)[0].split(\"-\");\n return value >= +min && value <= +max;\n });\n return res && res.length > 0 ? Object.values(res[0])[0] : \"large\";\n};\n\nexport const getAvatarStyles = (width: number, size: number | AvatarSize, outlineColor: string, borderNum?: number) => {\n let sizeType = typeof size === \"number\" ? (getSizeType(width) as AvatarSize) : (size as AvatarSize);\n const themeColor = useThemeColor(\"Avatar\");\n let borderWidth =\n typeof borderNum === \"number\" ? borderNum : sizeType === \"xlarge\" ? 2 : sizeType === \"large\" ? 1.5 : 1;\n\n const styles = StyleSheet.create({\n container: {\n borderWidth: 0,\n width: width + borderWidth * 4,\n height: width + borderWidth * 4,\n borderRadius: (width + 100) / 2,\n position: \"absolute\",\n },\n img: {\n width: width,\n height: width,\n borderRadius: width / 2,\n zIndex: 100,\n },\n outContainer: {\n width: width,\n height: width,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n });\n\n const liveStyles = StyleSheet.create({\n container: {\n // @ts-ignore\n borderColor: themeColor[outlineColor] || outlineColor,\n borderWidth,\n },\n });\n const liveStylesSecondary = StyleSheet.create({\n container: {\n // @ts-ignore\n borderColor: themeColor[outlineColor] || outlineColor,\n borderWidth: borderWidth,\n },\n });\n\n return {\n styles,\n liveStyles,\n liveStylesSecondary,\n sizeType,\n borderWidth,\n };\n};\n\nexport const getLiveTextStyles = (size: AvatarSize, liveIcon: any) => {\n const typography = useThemeTypography(\"Avatar\");\n const themeColor = useThemeColor(\"Avatar\");\n const tagMargin = avatarSizeToTagMargin[size];\n const tagContainerStyles = StyleSheet.create({\n outContainer: {\n position: \"absolute\",\n bottom: tagMargin,\n zIndex: 100,\n },\n container: {\n position: \"relative\",\n overflow: \"hidden\",\n width: \"100%\",\n borderRadius: 60,\n },\n animatedLight: {\n height: 30,\n bottom: 0,\n position: \"absolute\",\n width: 6,\n },\n });\n const tagStyles = StyleSheet.create({\n text: {\n fontSize: 7,\n lineHeight: 10,\n paddingHorizontal: 0,\n },\n container: {\n width: \"auto\",\n paddingHorizontal: 3,\n overflow: \"hidden\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n avatarLiveTag: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: themeColor.Primary,\n borderRadius: 99,\n opacity: 1,\n zIndex: 999,\n },\n liveSmall: {\n fontSize: 8,\n minWidth: liveIcon ? 32 : 24,\n paddingVertical: 2,\n // height: 12,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingHorizontal: liveIcon ? 4 : 0,\n },\n liveMedium: {\n fontSize: 8,\n minWidth: liveIcon ? 34 : 26,\n paddingVertical: 2,\n // height: 12,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveLarge: {\n fontSize: typography.C3FontSize,\n minWidth: liveIcon ? 44 : 34,\n paddingVertical: 2,\n // height: 16,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n fontWeight: typography.C3FontWeight,\n },\n liveXLarge: {\n fontSize: typography.C2FontSize,\n minWidth: liveIcon ? 56 : 42,\n paddingVertical: 2,\n // height: 20,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveTextSmall: {\n fontSize: 8,\n textAlign: \"center\",\n color: alwaysColor.White,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n liveTextMedium: {\n fontSize: 8,\n textAlign: \"center\",\n color: alwaysColor.White,\n },\n liveTextLarge: {\n fontSize: typography.C3FontSize,\n fontWeight: typography.C3FontWeight,\n textAlign: \"center\",\n color: alwaysColor.White,\n },\n liveTextXLarge: {\n fontSize: typography.C2FontSize,\n textAlign: \"center\",\n color: alwaysColor.White,\n },\n });\n\n return {\n tagMargin,\n tagContainerStyles,\n tagStyles,\n };\n};\n"],"names":["avatarSizeToTagMargin","small","medium","large","xlarge","sizeRanges","getSizeType","value","res","filter","obj","_Object$keys$0$split","Object","keys","split","_Object$keys$0$split2","_slicedToArray","min","max","length","values","getAvatarStyles","width","size","outlineColor","borderNum","sizeType","themeColor","useThemeColor","borderWidth","styles","StyleSheet","create","container","height","borderRadius","position","img","zIndex","outContainer","display","alignItems","justifyContent","liveStyles","borderColor","liveStylesSecondary","getLiveTextStyles","liveIcon","typography","useThemeTypography","tagMargin","tagContainerStyles","bottom","overflow","animatedLight","tagStyles","text","fontSize","lineHeight","paddingHorizontal","flexDirection","avatarLiveTag","backgroundColor","Primary","opacity","liveSmall","minWidth","paddingVertical","liveMedium","liveLarge","C3FontSize","fontWeight","C3FontWeight","liveXLarge","C2FontSize","liveTextSmall","textAlign","color","alwaysColor","White","liveTextMedium","liveTextLarge","liveTextXLarge"],"mappings":"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"}
|
|
@@ -9,13 +9,13 @@ import { useThemeColor } from '../ConfigProvider/hooks/themeToken/useThemeToken.
|
|
|
9
9
|
import '../../_chunks/DjMhUq01.js';
|
|
10
10
|
import '../Avatar/styles.js';
|
|
11
11
|
import '@xhs/reds-apm/src/index.native';
|
|
12
|
+
import '@xhsreds/reds-token-next';
|
|
12
13
|
import '../LanguageProvider/LanguageProvider.js';
|
|
13
14
|
import '../../_chunks/xB1yvFw8.js';
|
|
14
15
|
import '../LanguageProvider/hooks/LanguageContext.js';
|
|
15
16
|
import '../../pvCount/pvData.js';
|
|
16
17
|
import '../LanguageProvider/hooks/useLanguage.js';
|
|
17
18
|
import '../../i18n/index.js';
|
|
18
|
-
import '@xhsreds/reds-token-next';
|
|
19
19
|
import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
|
|
20
20
|
|
|
21
21
|
var AvatarGroup = function AvatarGroup(props) {
|
|
@@ -19,21 +19,25 @@ var Wheel = function Wheel(props) {
|
|
|
19
19
|
accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
|
|
20
20
|
var scrollerRef = useRef();
|
|
21
21
|
var themeColor = useThemeColor();
|
|
22
|
-
var _useState = useState(),
|
|
22
|
+
var _useState = useState(value),
|
|
23
23
|
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
lastValue = _useState2[0],
|
|
25
|
+
setLastValue = _useState2[1];
|
|
26
26
|
useEffect(function () {
|
|
27
|
-
value
|
|
27
|
+
if (value !== lastValue) {
|
|
28
|
+
var idx = getSelectIndex(column, value);
|
|
29
|
+
handleScroll(idx);
|
|
30
|
+
}
|
|
28
31
|
}, [column, value]);
|
|
29
|
-
|
|
30
|
-
var _column$
|
|
31
|
-
var newVal = column === null || column === void 0 || (_column$
|
|
32
|
-
scrollTo(
|
|
32
|
+
var handleScroll = function handleScroll(idx) {
|
|
33
|
+
var _column$idx;
|
|
34
|
+
var newVal = column === null || column === void 0 || (_column$idx = column[idx]) === null || _column$idx === void 0 ? void 0 : _column$idx.value;
|
|
35
|
+
scrollTo(idx * itemHeight);
|
|
33
36
|
if (newVal) {
|
|
37
|
+
setLastValue(newVal);
|
|
34
38
|
onSelect(newVal, props.index);
|
|
35
39
|
}
|
|
36
|
-
}
|
|
40
|
+
};
|
|
37
41
|
var scrollTo = function scrollTo(y) {
|
|
38
42
|
setTimeout(function () {
|
|
39
43
|
var _scrollerRef$current, _scrollerRef$current$;
|
|
@@ -53,20 +57,22 @@ var Wheel = function Wheel(props) {
|
|
|
53
57
|
}), 0) : 0;
|
|
54
58
|
};
|
|
55
59
|
var onMomentumScrollEnd = function onMomentumScrollEnd(e) {
|
|
56
|
-
var _e$persist;
|
|
60
|
+
var _e$persist, _column$selectIndex;
|
|
57
61
|
(_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
|
|
58
62
|
var contentOffset = e.nativeEvent.contentOffset;
|
|
59
63
|
var selectIndex = Math.round(contentOffset.y / itemHeight);
|
|
60
|
-
|
|
64
|
+
var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
|
|
65
|
+
setLastValue(newVal);
|
|
66
|
+
onSelect(newVal, props.index);
|
|
61
67
|
};
|
|
62
|
-
var handleClick = function handleClick(
|
|
63
|
-
|
|
68
|
+
var handleClick = function handleClick(index) {
|
|
69
|
+
handleScroll(index);
|
|
64
70
|
};
|
|
65
71
|
var renderItems = function renderItems() {
|
|
66
|
-
return column.map(function (item,
|
|
72
|
+
return column.map(function (item, index) {
|
|
67
73
|
return /* @__PURE__ */React.createElement(TouchableNativeFeedback, {
|
|
68
74
|
onPress: function onPress() {
|
|
69
|
-
return handleClick(
|
|
75
|
+
return handleClick(index);
|
|
70
76
|
},
|
|
71
77
|
key: item.value
|
|
72
78
|
}, /* @__PURE__ */React.createElement(View, _objectSpread2({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n
|
|
1
|
+
{"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n const [lastValue, setLastValue] = useState(value);\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n handleScroll(idx);\n }\n }, [column, value]);\n\n const handleScroll = (idx: number) => {\n const newVal = column?.[idx]?.value;\n scrollTo(idx * itemHeight);\n if (newVal) {\n setLastValue(newVal);\n onSelect(newVal, props.index);\n }\n };\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n onSelect(newVal, props.index);\n };\n\n const handleClick = (index: number) => {\n handleScroll(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","lastValue","setLastValue","useEffect","idx","getSelectIndex","handleScroll","_column$idx","newVal","scrollTo","index","y","setTimeout","_scrollerRef$current","_scrollerRef$current$","current","call","animated","Math","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","selectIndex","round","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","testID","concat"],"mappings":"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"}
|
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-beta202511211532",
|
|
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-beta202511211532"
|
|
30
30
|
},
|
|
31
31
|
"peerDependenciesMeta": {
|
|
32
32
|
"ozone-schema-web": {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { StyleSheet, Platform } from "react-native";
|
|
2
2
|
import { useThemeTypography, useThemeColor } from "../ConfigProvider";
|
|
3
|
+
import { alwaysColor } from "@xhs/reds-token-next";
|
|
3
4
|
|
|
4
5
|
const avatarSizeToTagMargin = {
|
|
5
6
|
small: -4,
|
|
@@ -162,7 +163,7 @@ export const getLiveTextStyles = (size: AvatarSize, liveIcon: any) => {
|
|
|
162
163
|
liveTextSmall: {
|
|
163
164
|
fontSize: 8,
|
|
164
165
|
textAlign: "center",
|
|
165
|
-
color:
|
|
166
|
+
color: alwaysColor.White,
|
|
166
167
|
display: "flex",
|
|
167
168
|
justifyContent: "center",
|
|
168
169
|
alignItems: "center",
|
|
@@ -170,18 +171,18 @@ export const getLiveTextStyles = (size: AvatarSize, liveIcon: any) => {
|
|
|
170
171
|
liveTextMedium: {
|
|
171
172
|
fontSize: 8,
|
|
172
173
|
textAlign: "center",
|
|
173
|
-
color:
|
|
174
|
+
color: alwaysColor.White,
|
|
174
175
|
},
|
|
175
176
|
liveTextLarge: {
|
|
176
177
|
fontSize: typography.C3FontSize,
|
|
177
178
|
fontWeight: typography.C3FontWeight,
|
|
178
179
|
textAlign: "center",
|
|
179
|
-
color:
|
|
180
|
+
color: alwaysColor.White,
|
|
180
181
|
},
|
|
181
182
|
liveTextXLarge: {
|
|
182
183
|
fontSize: typography.C2FontSize,
|
|
183
184
|
textAlign: "center",
|
|
184
|
-
color:
|
|
185
|
+
color: alwaysColor.White,
|
|
185
186
|
},
|
|
186
187
|
});
|
|
187
188
|
|
|
@@ -37,6 +37,7 @@ export default function App() {
|
|
|
37
37
|
const [value14, setValue14] = useState("2023-10-05-12");
|
|
38
38
|
const [value16, setValue16] = useState("2023-10-05-12-10");
|
|
39
39
|
const [value17, setValue17] = useState("2025-9-15-14-25");
|
|
40
|
+
const [value18, setValue18] = useState("2025-11-20");
|
|
40
41
|
|
|
41
42
|
const [visible1, setVisible1] = useState(false);
|
|
42
43
|
const [visible2, setVisible2] = useState(false);
|
|
@@ -54,6 +55,7 @@ export default function App() {
|
|
|
54
55
|
const [visible14, setVisible14] = useState(false);
|
|
55
56
|
const [visible16, setVisible16] = useState(false);
|
|
56
57
|
const [visible17, setVisible17] = useState(false);
|
|
58
|
+
const [visible18, setVisible18] = useState(false);
|
|
57
59
|
|
|
58
60
|
const { show, remove } = useDatePicker();
|
|
59
61
|
return (
|
|
@@ -329,6 +331,30 @@ export default function App() {
|
|
|
329
331
|
>
|
|
330
332
|
函数式调用
|
|
331
333
|
</Button>
|
|
334
|
+
|
|
335
|
+
<Button
|
|
336
|
+
onClick={() => {
|
|
337
|
+
setVisible18(true);
|
|
338
|
+
}}
|
|
339
|
+
>
|
|
340
|
+
跳动bug
|
|
341
|
+
</Button>
|
|
342
|
+
<DatePicker
|
|
343
|
+
visible={visible18}
|
|
344
|
+
value={value18}
|
|
345
|
+
label={"跳动bug"}
|
|
346
|
+
startTime={"1900-01-01"}
|
|
347
|
+
endTime={"2200-12-31"}
|
|
348
|
+
onConfirm={(val: string) => {
|
|
349
|
+
console.log("onConfirm18", val);
|
|
350
|
+
setValue18(val);
|
|
351
|
+
setVisible18(false);
|
|
352
|
+
}}
|
|
353
|
+
onChange={(val: string) => {
|
|
354
|
+
console.log("onChange18", val);
|
|
355
|
+
}}
|
|
356
|
+
onCancel={() => setVisible18(false)}
|
|
357
|
+
/>
|
|
332
358
|
<View style={{ height: 200 }}></View>
|
|
333
359
|
</ScrollView>
|
|
334
360
|
);
|
|
@@ -20,25 +20,26 @@ const Wheel = (props: RedsWheel) => {
|
|
|
20
20
|
*/
|
|
21
21
|
const themeColor = useThemeColor();
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
* index
|
|
25
|
-
*/
|
|
26
|
-
const [index, setIndex] = useState<any>();
|
|
23
|
+
const [lastValue, setLastValue] = useState(value);
|
|
27
24
|
|
|
28
25
|
/**
|
|
29
26
|
* 初始化滚动高度
|
|
30
27
|
*/
|
|
31
28
|
useEffect(() => {
|
|
32
|
-
value
|
|
29
|
+
if (value !== lastValue) {
|
|
30
|
+
const idx = getSelectIndex(column, value);
|
|
31
|
+
handleScroll(idx);
|
|
32
|
+
}
|
|
33
33
|
}, [column, value]);
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
const newVal = column?.[
|
|
37
|
-
scrollTo(
|
|
35
|
+
const handleScroll = (idx: number) => {
|
|
36
|
+
const newVal = column?.[idx]?.value;
|
|
37
|
+
scrollTo(idx * itemHeight);
|
|
38
38
|
if (newVal) {
|
|
39
|
+
setLastValue(newVal);
|
|
39
40
|
onSelect(newVal, props.index);
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
};
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
45
|
* 滚动ScrollView
|
|
@@ -83,11 +84,13 @@ const Wheel = (props: RedsWheel) => {
|
|
|
83
84
|
e.persist?.();
|
|
84
85
|
let contentOffset = e.nativeEvent.contentOffset;
|
|
85
86
|
const selectIndex = Math.round(contentOffset.y / itemHeight);
|
|
86
|
-
|
|
87
|
+
const newVal = column?.[selectIndex]?.value;
|
|
88
|
+
setLastValue(newVal);
|
|
89
|
+
onSelect(newVal, props.index);
|
|
87
90
|
};
|
|
88
91
|
|
|
89
92
|
const handleClick = (index: number) => {
|
|
90
|
-
|
|
93
|
+
handleScroll(index);
|
|
91
94
|
};
|
|
92
95
|
|
|
93
96
|
/**
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
interface Resources {
|
|
2
2
|
componentKey: {
|
|
3
|
-
sureKey: "
|
|
4
|
-
satisfyKey: "
|
|
5
|
-
confirmKey: "
|
|
6
|
-
uploadingKey: "
|
|
3
|
+
sureKey: "确定";
|
|
4
|
+
satisfyKey: "满意";
|
|
5
|
+
confirmKey: "确认";
|
|
6
|
+
uploadingKey: "上传中";
|
|
7
7
|
resetKey: "重置";
|
|
8
|
-
NoDataKey: "
|
|
8
|
+
NoDataKey: "暂无数据";
|
|
9
9
|
liveStreamingKey: "直播";
|
|
10
10
|
generallyKey: "一般";
|
|
11
|
-
uploadFailedKey: "
|
|
11
|
+
uploadFailedKey: "上传失败";
|
|
12
12
|
submitKey: "提交";
|
|
13
|
-
requestSuccessfulKey: "
|
|
13
|
+
requestSuccessfulKey: "请求成功";
|
|
14
14
|
cancelKey: "取消";
|
|
15
|
-
PullDownToRefreshKey: "
|
|
16
|
-
selectAllKey: "
|
|
17
|
-
requestDataKey: "
|
|
15
|
+
PullDownToRefreshKey: "下拉刷新";
|
|
16
|
+
selectAllKey: "全选";
|
|
17
|
+
requestDataKey: "请求数据中";
|
|
18
18
|
closeKey: "收起";
|
|
19
|
-
veryBadKey: "
|
|
20
|
-
searchKey: "
|
|
21
|
-
expandKey: "
|
|
22
|
-
IDCardPhotoKey: "
|
|
19
|
+
veryBadKey: "极差";
|
|
20
|
+
searchKey: "搜索";
|
|
21
|
+
expandKey: "展开";
|
|
22
|
+
IDCardPhotoKey: "身份证人像面";
|
|
23
23
|
finishKey: "完成";
|
|
24
|
-
surpriseKey: "
|
|
25
|
-
releaseRefreshKey: "
|
|
24
|
+
surpriseKey: "惊喜";
|
|
25
|
+
releaseRefreshKey: "松开刷新";
|
|
26
26
|
nationalEmblemSideOfIDCardKey: "身份证国徽面";
|
|
27
|
-
buttonKey: "
|
|
28
|
-
jumpKey: "
|
|
27
|
+
buttonKey: "按钮";
|
|
28
|
+
jumpKey: "跳转";
|
|
29
29
|
disappointmentKey: "失望";
|
|
30
30
|
};
|
|
31
31
|
}
|
package/src/i18n/index.json
CHANGED
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
+
"zh_cn": {
|
|
3
|
+
"componentKey": {
|
|
4
|
+
"sureKey": "确定",
|
|
5
|
+
"satisfyKey": "满意",
|
|
6
|
+
"confirmKey": "确认",
|
|
7
|
+
"uploadingKey": "上传中",
|
|
8
|
+
"resetKey": "重置",
|
|
9
|
+
"NoDataKey": "暂无数据",
|
|
10
|
+
"liveStreamingKey": "直播",
|
|
11
|
+
"generallyKey": "一般",
|
|
12
|
+
"uploadFailedKey": "上传失败",
|
|
13
|
+
"submitKey": "提交",
|
|
14
|
+
"requestSuccessfulKey": "请求成功",
|
|
15
|
+
"cancelKey": "取消",
|
|
16
|
+
"PullDownToRefreshKey": "下拉刷新",
|
|
17
|
+
"selectAllKey": "全选",
|
|
18
|
+
"requestDataKey": "请求数据中",
|
|
19
|
+
"closeKey": "收起",
|
|
20
|
+
"veryBadKey": "极差",
|
|
21
|
+
"searchKey": "搜索",
|
|
22
|
+
"expandKey": "展开",
|
|
23
|
+
"IDCardPhotoKey": "身份证人像面",
|
|
24
|
+
"finishKey": "完成",
|
|
25
|
+
"surpriseKey": "惊喜",
|
|
26
|
+
"releaseRefreshKey": "松开刷新",
|
|
27
|
+
"nationalEmblemSideOfIDCardKey": "身份证国徽面",
|
|
28
|
+
"buttonKey": "按钮",
|
|
29
|
+
"jumpKey": "跳转",
|
|
30
|
+
"disappointmentKey": "失望"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
2
33
|
"zh_tw": {
|
|
3
34
|
"componentKey": {
|
|
4
35
|
"sureKey": "確定",
|
|
@@ -60,36 +91,5 @@
|
|
|
60
91
|
"jumpKey": "Jump",
|
|
61
92
|
"disappointmentKey": "Disappointment"
|
|
62
93
|
}
|
|
63
|
-
},
|
|
64
|
-
"zh_cn": {
|
|
65
|
-
"componentKey": {
|
|
66
|
-
"sureKey": "确定",
|
|
67
|
-
"satisfyKey": "满意",
|
|
68
|
-
"confirmKey": "确认",
|
|
69
|
-
"uploadingKey": "上传中",
|
|
70
|
-
"resetKey": "重置",
|
|
71
|
-
"NoDataKey": "暂无数据",
|
|
72
|
-
"liveStreamingKey": "直播",
|
|
73
|
-
"generallyKey": "一般",
|
|
74
|
-
"uploadFailedKey": "上传失败",
|
|
75
|
-
"submitKey": "提交",
|
|
76
|
-
"requestSuccessfulKey": "请求成功",
|
|
77
|
-
"cancelKey": "取消",
|
|
78
|
-
"PullDownToRefreshKey": "下拉刷新",
|
|
79
|
-
"selectAllKey": "全选",
|
|
80
|
-
"requestDataKey": "请求数据中",
|
|
81
|
-
"closeKey": "收起",
|
|
82
|
-
"veryBadKey": "极差",
|
|
83
|
-
"searchKey": "搜索",
|
|
84
|
-
"expandKey": "展开",
|
|
85
|
-
"IDCardPhotoKey": "身份证人像面",
|
|
86
|
-
"finishKey": "完成",
|
|
87
|
-
"surpriseKey": "惊喜",
|
|
88
|
-
"releaseRefreshKey": "松开刷新",
|
|
89
|
-
"nationalEmblemSideOfIDCardKey": "身份证国徽面",
|
|
90
|
-
"buttonKey": "按钮",
|
|
91
|
-
"jumpKey": "跳转",
|
|
92
|
-
"disappointmentKey": "失望"
|
|
93
|
-
}
|
|
94
94
|
}
|
|
95
95
|
}
|