@xhsreds/reds-rn-next 0.8.1-beta202510161437 → 0.8.1-beta202510161931
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-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-19.json +1 -1
- package/coverage/.tmp/coverage-20.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-28.json +1 -1
- package/coverage/.tmp/coverage-3.json +1 -1
- package/coverage/.tmp/coverage-34.json +1 -1
- package/coverage/.tmp/coverage-35.json +1 -1
- package/coverage/.tmp/coverage-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-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/Alert/Alert.js +8 -6
- package/lib/cjs/components/Alert/Alert.js.map +1 -1
- package/lib/cjs/components/Alert/styles.js +21 -5
- package/lib/cjs/components/Alert/styles.js.map +1 -1
- package/lib/cjs/components/Button/styleMap.js +1 -1
- package/lib/cjs/components/Button/styleMap.js.map +1 -1
- package/lib/cjs/components/DropDown/DropDownItem.js +3 -3
- package/lib/cjs/components/DropDown/DropDownItem.js.map +1 -1
- package/lib/cjs/components/DropDown/styles.js +1 -1
- package/lib/cjs/components/DropDown/styles.js.map +1 -1
- package/lib/cjs/components/Tab/Tabs.js +0 -1
- package/lib/cjs/components/Tab/Tabs.js.map +1 -1
- package/lib/esm/components/Alert/Alert.js +8 -6
- package/lib/esm/components/Alert/Alert.js.map +1 -1
- package/lib/esm/components/Alert/styles.js +21 -5
- package/lib/esm/components/Alert/styles.js.map +1 -1
- package/lib/esm/components/Button/styleMap.js +1 -1
- package/lib/esm/components/Button/styleMap.js.map +1 -1
- package/lib/esm/components/DropDown/DropDownItem.js +3 -3
- package/lib/esm/components/DropDown/DropDownItem.js.map +1 -1
- package/lib/esm/components/DropDown/styles.js +1 -1
- package/lib/esm/components/DropDown/styles.js.map +1 -1
- package/lib/esm/components/Tab/Tabs.js +0 -1
- package/lib/esm/components/Tab/Tabs.js.map +1 -1
- package/lib/src/components/Alert/styles.d.ts +18 -2
- package/lib/src/components/Button/styleMap.d.ts +1 -0
- package/lib/src/components/DropDown/styles.d.ts +1 -1
- package/lib/types/components/Alert/styles.d.ts +18 -2
- package/lib/types/components/Button/styleMap.d.ts +1 -0
- package/lib/types/components/DropDown/styles.d.ts +1 -1
- package/package.json +2 -2
- package/src/components/Alert/Alert.tsx +8 -3
- package/src/components/Alert/styles.ts +20 -4
- package/src/components/Button/styleMap.ts +1 -1
- package/src/components/DropDown/DropDownItem.tsx +3 -3
- package/src/components/DropDown/styles.ts +1 -1
- package/src/components/List/demo/index.tsx +4 -0
- package/src/components/Tab/Tabs.tsx +0 -1
- package/src/i18n/@types/resources.d.ts +18 -18
- package/src/i18n/index.json +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tab/Tabs.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useRef, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n ScrollView,\n Animated,\n Image,\n ImageStyle,\n Dimensions,\n} from \"react-native\";\nimport { RedsTab, TabDefaultProps, TabSizeType } from \"./interface/index\";\nimport createStyles, { getRedsDropDownVariantStyles, getTextStyle } from \"./styles\";\nimport { TabItemType, TabThemeType, TabLayoutType, TabChild } from \"./interface\";\nimport { Icon } from \"../Icon\";\nimport Badge, { BadgeType } from \"../Badge\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\n\nexport const Tab = (props: TabChild) => {\n return props.children;\n};\n\nconst Tabs = (props: RedsTab) => {\n useMounted(\"Tabs\");\n const [activeIndex, setActiveIndex] = useState<number>(0);\n\n const themeColor = useThemeColor(\"Tab\");\n const themeTypography = useThemeTypography(\"Tab\");\n\n const isInitial = useRef(true); // 新增引用跟踪是否为初次加载\n\n const underlineOpacity = useRef(new Animated.Value(0)).current; // 控制下划线透明度\n\n const childRefs = useRef<any[]>([]);\n\n const parentRef = useRef(null);\n\n const offsets = useRef<number[]>([]);\n\n const widths = useRef<number[]>([]);\n\n const underlineOffset = useRef(new Animated.Value(0)).current;\n const underlineScale = useRef(new Animated.Value(1)).current;\n const initialWidth = 100;\n\n const styles = createStyles(props);\n\n const computedStyle = getRedsDropDownVariantStyles();\n\n const scrollRef = useRef<any>();\n\n /**\n * 列表数据\n */\n const list = useMemo(() => {\n return (\n React.Children.map(props.children, (child) => {\n // 检查 child 是否为一个有效的 React 元素\n if (React.isValidElement(child)) {\n return child.props;\n }\n }) || []\n );\n }, [props.children]);\n\n /**\n * 不同layout tab容器样式\n */\n const containerStyle = useMemo(() => {\n return [\n // computedStyle.backgroundColor.bg,\n props?.layout === TabLayoutType.left\n ? styles.tabLeftContainer\n : props?.layout === TabLayoutType.middle\n ? styles.tabCenterContainer\n : props?.layout === TabLayoutType.space\n ? styles.tabSpaceContainer\n : styles.tabRightContainer,\n ];\n }, [props?.layout]);\n\n /**\n * text wrapper 样式\n */\n const tabItemStyles = useMemo(() => {\n return {\n paddingLeft: props.tabPadding,\n paddingRight: props.tabPadding,\n ...(props.spaceWidth\n ? {\n marginRight: Math.floor(props.spaceWidth / 2),\n marginLeft: Math.floor(props.spaceWidth / 2),\n }\n : {}),\n };\n }, [props.tabPadding, props.spaceWidth]);\n\n useEffect(() => {\n let activeIdx = 0;\n list.forEach((i, idx) => {\n if (i.value === props.active) {\n activeIdx = idx;\n }\n });\n setActiveIndex(activeIdx);\n }, [list, props.active]);\n\n /**\n * 是否展示icon\n */\n const showIcon = (iconPosition: string, item: TabItemType) => {\n return props?.labelType === iconPosition && item.iconProps?.icon;\n };\n\n /**\n * icon大小\n */\n const iconStyle = (item: TabItemType) => {\n return { width: item.iconProps?.size || 12, height: item.iconProps?.size || 12 };\n };\n\n /**\n * Icon颜色\n */\n const iconColor = (item: TabItemType) => {\n return item.iconProps?.fill;\n };\n\n /**\n * 外层容器\n */\n const Wrapper = (wrapperProps: any) => {\n return props?.layout === TabLayoutType.left ? (\n <ScrollView\n horizontal={true}\n contentOffset={props.contentOffset ? { x: props.contentOffset || 0, y: 0 } : ({} as any)}\n testID={wrapperProps.testID}\n showsHorizontalScrollIndicator={false}\n ref={scrollRef}\n >\n {wrapperProps.children}\n </ScrollView>\n ) : (\n wrapperProps.children\n );\n };\n\n /**\n * 计算tab的layout\n */\n const handleTabLayout = (index: number) => {\n childRefs.current?.[index]?.measureLayout?.(\n parentRef.current,\n (x: number, y: number, width: number, height: number) => {\n if (!offsets.current[index]) {\n offsets.current[index] = x;\n }\n if (!widths.current[index]) {\n widths.current[index] = width;\n }\n\n console.log(\"offsets\", offsets);\n const scaleWidth = 100 - ((widths.current?.[activeIndex] || 0) - 4);\n const offset = offsets.current[activeIndex];\n scrollRef.current?.scrollTo({\n x: offset > Dimensions.get(\"screen\").width - (widths.current[activeIndex] || 0) ? offset : 0,\n animated: true,\n });\n if (index === activeIndex) {\n Animated.timing(underlineOffset, {\n toValue: (offsets.current?.[activeIndex] || 0) + 2 - scaleWidth / 2,\n duration: isInitial.current ? 0 : 150,\n useNativeDriver: true,\n }).start(() => {\n underlineOffset.setValue((offsets.current?.[activeIndex] || 0) + 2 - scaleWidth / 2);\n });\n Animated.timing(underlineScale, {\n toValue: ((widths.current?.[activeIndex] || 0) - 4) / 100,\n duration: 0,\n useNativeDriver: true,\n }).start(() => {\n underlineScale.setValue(((widths.current?.[activeIndex] || 0) - 4) / 100);\n });\n // 淡入下划线\n if (isInitial.current) {\n Animated.timing(underlineOpacity, {\n toValue: 1,\n duration: 0,\n useNativeDriver: true,\n }).start(() => {\n underlineOpacity.setValue(1);\n });\n isInitial.current = false;\n }\n }\n },\n (error: any) => {\n console.error(\"error\", error);\n },\n );\n };\n\n const { normalText, largeText, smallText, activeText, activeColor, normalColor } = getTextStyle(\n themeTypography,\n themeColor,\n );\n\n return (\n <>\n <Wrapper testID=\"TabContainer\">\n <View style={[styles.tabWrapper, props.containerStyle]}>\n {/* 下划线 */}\n {props.theme === TabThemeType.underline ? (\n <Animated.View\n style={[\n styles.underline,\n { width: initialWidth },\n { opacity: underlineOpacity }, // 控制透明度\n { transform: [{ translateX: underlineOffset }, { scaleX: underlineScale }] },\n computedStyle.backgroundColor.primary,\n ]}\n ></Animated.View>\n ) : (\n <></>\n )}\n <View style={[...containerStyle]} ref={parentRef}>\n {list.map((item: TabItemType, index: number) => {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n setActiveIndex(index);\n props?.onChange?.(item.value, index);\n }}\n key={index + item.value}\n >\n <View\n style={[styles.tabItem, tabItemStyles]}\n testID={`TabItemContainer${index}`}\n key={`TabItemContainer${index}`}\n >\n {props.badge ? (\n <View style={styles.tabItem}>\n <Badge {...item.badgeProps}>\n <>\n {/* 左侧icon */}\n {showIcon(\"leftIcon\", item) ? (\n <View style={[styles.leftIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n <View\n ref={(el: any) => (childRefs.current[index] = el)}\n style={styles.flexCenter}\n onLayout={() => {\n handleTabLayout(index);\n }}\n >\n {/* 图片 */}\n {item.image || item.activeImage ? (\n <Image\n source={{ uri: props.active === item.value ? item.activeImage : item.image }}\n style={item.imageStyle as ImageStyle}\n />\n ) : (\n <></>\n )}\n {/* 中间文字 */}\n {item.name ? (\n <Text\n key={item.name}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n ...(props.active === item.value ? props.activeTextStyle : props.textStyle),\n }}\n >\n {item.name}\n </Text>\n ) : (\n <></>\n )}\n {item.labelNumber ? (\n <Text\n key={item.labelNumber}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n }}\n >\n {item.labelNumber || \"\"}\n </Text>\n ) : (\n <></>\n )}\n </View>\n {/* 右侧icon */}\n {showIcon(\"rightIcon\", item) ? (\n <View style={[styles.rightIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n </>\n </Badge>\n </View>\n ) : (\n <View style={styles.tabItem}>\n {/* 左侧icon */}\n {showIcon(\"leftIcon\", item) ? (\n <View style={[styles.leftIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n <View\n ref={(el: any) => (childRefs.current[index] = el)}\n style={styles.flexCenter}\n onLayout={() => {\n handleTabLayout(index);\n }}\n >\n {/* 图片 */}\n {item.image || item.activeImage ? (\n <Image\n source={{ uri: props.active === item.value ? item.activeImage : item.image }}\n style={item.imageStyle as ImageStyle}\n />\n ) : (\n <></>\n )}\n {/* 中间文字 */}\n {item.name ? (\n <Text\n key={item.name}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n ...(props.active === item.value ? props.activeTextStyle : props.textStyle),\n }}\n >\n {item.name}\n </Text>\n ) : (\n <></>\n )}\n {item.labelNumber ? (\n <Text\n key={item.labelNumber}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n }}\n >\n {item.labelNumber || \"\"}\n </Text>\n ) : (\n <></>\n )}\n </View>\n {/* 右侧icon */}\n {showIcon(\"rightIcon\", item) ? (\n <View style={[styles.rightIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n })}\n </View>\n </View>\n </Wrapper>\n {props.children[activeIndex]}\n </>\n );\n};\n\nTabs.defaultProps = TabDefaultProps;\n\nexport default Tabs;\n"],"names":["Tab","props","children","Tabs","useMounted","_useState","useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","themeColor","useThemeColor","themeTypography","useThemeTypography","isInitial","useRef","underlineOpacity","Animated","Value","current","childRefs","parentRef","offsets","widths","underlineOffset","underlineScale","initialWidth","styles","createStyles","computedStyle","getRedsDropDownVariantStyles","scrollRef","list","useMemo","React","Children","map","child","isValidElement","containerStyle","layout","TabLayoutType","left","tabLeftContainer","middle","tabCenterContainer","space","tabSpaceContainer","tabRightContainer","tabItemStyles","_objectSpread","paddingLeft","tabPadding","paddingRight","spaceWidth","marginRight","Math","floor","marginLeft","useEffect","activeIdx","forEach","i","idx","value","active","showIcon","iconPosition","item","_item$iconProps","labelType","iconProps","icon","iconStyle","_item$iconProps2","_item$iconProps3","width","size","height","iconColor","_item$iconProps4","fill","Wrapper","wrapperProps","createElement","ScrollView","horizontal","contentOffset","x","y","testID","showsHorizontalScrollIndicator","ref","handleTabLayout","index","_childRefs$current","_childRefs$current$me","measureLayout","call","_widths$current","_scrollRef$current","console","log","scaleWidth","offset","scrollTo","Dimensions","get","animated","_offsets$current","_widths$current2","timing","toValue","duration","useNativeDriver","start","_offsets$current2","setValue","_widths$current3","error","_getTextStyle","getTextStyle","normalText","largeText","smallText","activeText","activeColor","normalColor","View","style","tabWrapper","theme","TabThemeType","underline","opacity","transform","translateX","scaleX","backgroundColor","primary","Fragment","_item$iconProps5","_item$iconProps6","_item$iconProps7","_item$iconProps8","_item$iconProps9","_item$iconProps0","_item$iconProps1","_item$iconProps10","_item$iconProps11","_item$iconProps12","_item$iconProps13","_item$iconProps14","TouchableWithoutFeedback","onPress","_props$onChange","onChange","key","tabItem","concat","badge","Badge","badgeProps","leftIcon","Icon","type","el","flexCenter","onLayout","image","activeImage","Image","source","uri","imageStyle","name","Text","TabSizeType","large","small","color","activeTextStyle","textStyle","labelNumber","rightIcon","defaultProps","TabDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../../../src/components/Tab/Tabs.tsx"],"sourcesContent":["import React, { useState, useEffect, useMemo, useRef, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n ScrollView,\n Animated,\n Image,\n ImageStyle,\n Dimensions,\n} from \"react-native\";\nimport { RedsTab, TabDefaultProps, TabSizeType } from \"./interface/index\";\nimport createStyles, { getRedsDropDownVariantStyles, getTextStyle } from \"./styles\";\nimport { TabItemType, TabThemeType, TabLayoutType, TabChild } from \"./interface\";\nimport { Icon } from \"../Icon\";\nimport Badge, { BadgeType } from \"../Badge\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\n\nexport const Tab = (props: TabChild) => {\n return props.children;\n};\n\nconst Tabs = (props: RedsTab) => {\n useMounted(\"Tabs\");\n const [activeIndex, setActiveIndex] = useState<number>(0);\n\n const themeColor = useThemeColor(\"Tab\");\n const themeTypography = useThemeTypography(\"Tab\");\n\n const isInitial = useRef(true); // 新增引用跟踪是否为初次加载\n\n const underlineOpacity = useRef(new Animated.Value(0)).current; // 控制下划线透明度\n\n const childRefs = useRef<any[]>([]);\n\n const parentRef = useRef(null);\n\n const offsets = useRef<number[]>([]);\n\n const widths = useRef<number[]>([]);\n\n const underlineOffset = useRef(new Animated.Value(0)).current;\n const underlineScale = useRef(new Animated.Value(1)).current;\n const initialWidth = 100;\n\n const styles = createStyles(props);\n\n const computedStyle = getRedsDropDownVariantStyles();\n\n const scrollRef = useRef<any>();\n\n /**\n * 列表数据\n */\n const list = useMemo(() => {\n return (\n React.Children.map(props.children, (child) => {\n // 检查 child 是否为一个有效的 React 元素\n if (React.isValidElement(child)) {\n return child.props;\n }\n }) || []\n );\n }, [props.children]);\n\n /**\n * 不同layout tab容器样式\n */\n const containerStyle = useMemo(() => {\n return [\n // computedStyle.backgroundColor.bg,\n props?.layout === TabLayoutType.left\n ? styles.tabLeftContainer\n : props?.layout === TabLayoutType.middle\n ? styles.tabCenterContainer\n : props?.layout === TabLayoutType.space\n ? styles.tabSpaceContainer\n : styles.tabRightContainer,\n ];\n }, [props?.layout]);\n\n /**\n * text wrapper 样式\n */\n const tabItemStyles = useMemo(() => {\n return {\n paddingLeft: props.tabPadding,\n paddingRight: props.tabPadding,\n ...(props.spaceWidth\n ? {\n marginRight: Math.floor(props.spaceWidth / 2),\n marginLeft: Math.floor(props.spaceWidth / 2),\n }\n : {}),\n };\n }, [props.tabPadding, props.spaceWidth]);\n\n useEffect(() => {\n let activeIdx = 0;\n list.forEach((i, idx) => {\n if (i.value === props.active) {\n activeIdx = idx;\n }\n });\n setActiveIndex(activeIdx);\n }, [list, props.active]);\n\n /**\n * 是否展示icon\n */\n const showIcon = (iconPosition: string, item: TabItemType) => {\n return props?.labelType === iconPosition && item.iconProps?.icon;\n };\n\n /**\n * icon大小\n */\n const iconStyle = (item: TabItemType) => {\n return { width: item.iconProps?.size || 12, height: item.iconProps?.size || 12 };\n };\n\n /**\n * Icon颜色\n */\n const iconColor = (item: TabItemType) => {\n return item.iconProps?.fill;\n };\n\n /**\n * 外层容器\n */\n const Wrapper = (wrapperProps: any) => {\n return props?.layout === TabLayoutType.left ? (\n <ScrollView\n horizontal={true}\n contentOffset={props.contentOffset ? { x: props.contentOffset || 0, y: 0 } : ({} as any)}\n testID={wrapperProps.testID}\n showsHorizontalScrollIndicator={false}\n ref={scrollRef}\n >\n {wrapperProps.children}\n </ScrollView>\n ) : (\n wrapperProps.children\n );\n };\n\n /**\n * 计算tab的layout\n */\n const handleTabLayout = (index: number) => {\n childRefs.current?.[index]?.measureLayout?.(\n parentRef.current,\n (x: number, y: number, width: number, height: number) => {\n if (!offsets.current[index]) {\n offsets.current[index] = x;\n }\n if (!widths.current[index]) {\n widths.current[index] = width;\n }\n\n const scaleWidth = 100 - ((widths.current?.[activeIndex] || 0) - 4);\n const offset = offsets.current[activeIndex];\n scrollRef.current?.scrollTo({\n x: offset > Dimensions.get(\"screen\").width - (widths.current[activeIndex] || 0) ? offset : 0,\n animated: true,\n });\n if (index === activeIndex) {\n Animated.timing(underlineOffset, {\n toValue: (offsets.current?.[activeIndex] || 0) + 2 - scaleWidth / 2,\n duration: isInitial.current ? 0 : 150,\n useNativeDriver: true,\n }).start(() => {\n underlineOffset.setValue((offsets.current?.[activeIndex] || 0) + 2 - scaleWidth / 2);\n });\n Animated.timing(underlineScale, {\n toValue: ((widths.current?.[activeIndex] || 0) - 4) / 100,\n duration: 0,\n useNativeDriver: true,\n }).start(() => {\n underlineScale.setValue(((widths.current?.[activeIndex] || 0) - 4) / 100);\n });\n // 淡入下划线\n if (isInitial.current) {\n Animated.timing(underlineOpacity, {\n toValue: 1,\n duration: 0,\n useNativeDriver: true,\n }).start(() => {\n underlineOpacity.setValue(1);\n });\n isInitial.current = false;\n }\n }\n },\n (error: any) => {\n console.error(\"error\", error);\n },\n );\n };\n\n const { normalText, largeText, smallText, activeText, activeColor, normalColor } = getTextStyle(\n themeTypography,\n themeColor,\n );\n\n return (\n <>\n <Wrapper testID=\"TabContainer\">\n <View style={[styles.tabWrapper, props.containerStyle]}>\n {/* 下划线 */}\n {props.theme === TabThemeType.underline ? (\n <Animated.View\n style={[\n styles.underline,\n { width: initialWidth },\n { opacity: underlineOpacity }, // 控制透明度\n { transform: [{ translateX: underlineOffset }, { scaleX: underlineScale }] },\n computedStyle.backgroundColor.primary,\n ]}\n ></Animated.View>\n ) : (\n <></>\n )}\n <View style={[...containerStyle]} ref={parentRef}>\n {list.map((item: TabItemType, index: number) => {\n return (\n <TouchableWithoutFeedback\n onPress={() => {\n setActiveIndex(index);\n props?.onChange?.(item.value, index);\n }}\n key={index + item.value}\n >\n <View\n style={[styles.tabItem, tabItemStyles]}\n testID={`TabItemContainer${index}`}\n key={`TabItemContainer${index}`}\n >\n {props.badge ? (\n <View style={styles.tabItem}>\n <Badge {...item.badgeProps}>\n <>\n {/* 左侧icon */}\n {showIcon(\"leftIcon\", item) ? (\n <View style={[styles.leftIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n <View\n ref={(el: any) => (childRefs.current[index] = el)}\n style={styles.flexCenter}\n onLayout={() => {\n handleTabLayout(index);\n }}\n >\n {/* 图片 */}\n {item.image || item.activeImage ? (\n <Image\n source={{ uri: props.active === item.value ? item.activeImage : item.image }}\n style={item.imageStyle as ImageStyle}\n />\n ) : (\n <></>\n )}\n {/* 中间文字 */}\n {item.name ? (\n <Text\n key={item.name}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n ...(props.active === item.value ? props.activeTextStyle : props.textStyle),\n }}\n >\n {item.name}\n </Text>\n ) : (\n <></>\n )}\n {item.labelNumber ? (\n <Text\n key={item.labelNumber}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n }}\n >\n {item.labelNumber || \"\"}\n </Text>\n ) : (\n <></>\n )}\n </View>\n {/* 右侧icon */}\n {showIcon(\"rightIcon\", item) ? (\n <View style={[styles.rightIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n </>\n </Badge>\n </View>\n ) : (\n <View style={styles.tabItem}>\n {/* 左侧icon */}\n {showIcon(\"leftIcon\", item) ? (\n <View style={[styles.leftIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n <View\n ref={(el: any) => (childRefs.current[index] = el)}\n style={styles.flexCenter}\n onLayout={() => {\n handleTabLayout(index);\n }}\n >\n {/* 图片 */}\n {item.image || item.activeImage ? (\n <Image\n source={{ uri: props.active === item.value ? item.activeImage : item.image }}\n style={item.imageStyle as ImageStyle}\n />\n ) : (\n <></>\n )}\n {/* 中间文字 */}\n {item.name ? (\n <Text\n key={item.name}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n ...(props.active === item.value ? props.activeTextStyle : props.textStyle),\n }}\n >\n {item.name}\n </Text>\n ) : (\n <></>\n )}\n {item.labelNumber ? (\n <Text\n key={item.labelNumber}\n style={{\n ...normalText,\n ...(props.size === TabSizeType.large\n ? largeText\n : props.size === TabSizeType.small\n ? smallText\n : normalText),\n ...(props.active === item.value ? activeText : {}),\n color: props.active === item.value ? activeColor : normalColor,\n }}\n >\n {item.labelNumber || \"\"}\n </Text>\n ) : (\n <></>\n )}\n </View>\n {/* 右侧icon */}\n {showIcon(\"rightIcon\", item) ? (\n <View style={[styles.rightIcon, iconStyle(item)]}>\n <Icon\n icon={item.iconProps?.icon}\n fill={iconColor(item)}\n size={item.iconProps?.size || 12}\n type={item.iconProps?.type}\n />\n </View>\n ) : (\n <></>\n )}\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n })}\n </View>\n </View>\n </Wrapper>\n {props.children[activeIndex]}\n </>\n );\n};\n\nTabs.defaultProps = TabDefaultProps;\n\nexport default Tabs;\n"],"names":["Tab","props","children","Tabs","useMounted","_useState","useState","_useState2","_slicedToArray","activeIndex","setActiveIndex","themeColor","useThemeColor","themeTypography","useThemeTypography","isInitial","useRef","underlineOpacity","Animated","Value","current","childRefs","parentRef","offsets","widths","underlineOffset","underlineScale","initialWidth","styles","createStyles","computedStyle","getRedsDropDownVariantStyles","scrollRef","list","useMemo","React","Children","map","child","isValidElement","containerStyle","layout","TabLayoutType","left","tabLeftContainer","middle","tabCenterContainer","space","tabSpaceContainer","tabRightContainer","tabItemStyles","_objectSpread","paddingLeft","tabPadding","paddingRight","spaceWidth","marginRight","Math","floor","marginLeft","useEffect","activeIdx","forEach","i","idx","value","active","showIcon","iconPosition","item","_item$iconProps","labelType","iconProps","icon","iconStyle","_item$iconProps2","_item$iconProps3","width","size","height","iconColor","_item$iconProps4","fill","Wrapper","wrapperProps","createElement","ScrollView","horizontal","contentOffset","x","y","testID","showsHorizontalScrollIndicator","ref","handleTabLayout","index","_childRefs$current","_childRefs$current$me","measureLayout","call","_widths$current","_scrollRef$current","scaleWidth","offset","scrollTo","Dimensions","get","animated","_offsets$current","_widths$current2","timing","toValue","duration","useNativeDriver","start","_offsets$current2","setValue","_widths$current3","error","console","_getTextStyle","getTextStyle","normalText","largeText","smallText","activeText","activeColor","normalColor","View","style","tabWrapper","theme","TabThemeType","underline","opacity","transform","translateX","scaleX","backgroundColor","primary","Fragment","_item$iconProps5","_item$iconProps6","_item$iconProps7","_item$iconProps8","_item$iconProps9","_item$iconProps0","_item$iconProps1","_item$iconProps10","_item$iconProps11","_item$iconProps12","_item$iconProps13","_item$iconProps14","TouchableWithoutFeedback","onPress","_props$onChange","onChange","key","tabItem","concat","badge","Badge","badgeProps","leftIcon","Icon","type","el","flexCenter","onLayout","image","activeImage","Image","source","uri","imageStyle","name","Text","TabSizeType","large","small","color","activeTextStyle","textStyle","labelNumber","rightIcon","defaultProps","TabDefaultProps"],"mappings":"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"}
|
|
@@ -120,12 +120,14 @@ var Alert = function Alert(props) {
|
|
|
120
120
|
style: [styles.messageText, align === "left" && styles.messageLeft]
|
|
121
121
|
}, message)) : children), footer ? footer : /* @__PURE__ */React.createElement(View, {
|
|
122
122
|
style: [styles.footer, footerLayout === "vertical" ? styles.footerVertical : styles.footerHorizontal, footerType === "text" && styles.footerText, props.footerStyle]
|
|
123
|
-
}, showCancelButton && /* @__PURE__ */React.createElement(Button, _objectSpread2({
|
|
123
|
+
}, showCancelButton && /* @__PURE__ */React.createElement(Button, _objectSpread2(_objectSpread2({
|
|
124
124
|
variant: footerType === "text" ? "text" : "outline",
|
|
125
125
|
onClick: handleCancel,
|
|
126
|
-
style: _objectSpread2(_objectSpread2({}, footerLayout === "vertical" ? styles.
|
|
127
|
-
size: footerType === "text" ? "large" : "medium"
|
|
128
|
-
}, props.cancelBtnProps || {}),
|
|
126
|
+
style: _objectSpread2(_objectSpread2({}, footerLayout === "vertical" ? styles.verCancelButton : styles.cancelButton), cancelBtnStyle),
|
|
127
|
+
size: footerType === "text" ? footerLayout === "vertical" ? "medium" : "large" : "medium"
|
|
128
|
+
}, props.cancelBtnProps || {}), {}, {
|
|
129
|
+
textStyle: styles.cancelText
|
|
130
|
+
}), cancelText || cancelKey), footerType === "text" && showCancelButton && (footerLayout === "vertical" ?
|
|
129
131
|
// @ts-ignore
|
|
130
132
|
/* @__PURE__ */
|
|
131
133
|
React.createElement(View, {
|
|
@@ -141,9 +143,9 @@ var Alert = function Alert(props) {
|
|
|
141
143
|
type: "primary",
|
|
142
144
|
variant: footerType === "text" ? "text" : "fill",
|
|
143
145
|
onClick: handleConfirm,
|
|
144
|
-
style: _objectSpread2(_objectSpread2({}, footerType === "text" ? styles.button : styles.confirmButton), confirmBtnStyle),
|
|
146
|
+
style: _objectSpread2(_objectSpread2(_objectSpread2({}, footerType === "text" ? styles.button : styles.confirmButton), footerLayout === "vertical" ? styles.verButton : styles.confirmButton), confirmBtnStyle),
|
|
145
147
|
textStyle: confirmBtnTextStyle,
|
|
146
|
-
size: footerType === "text" ? "large" : "medium"
|
|
148
|
+
size: footerType === "text" ? footerLayout === "vertical" ? "medium" : "large" : "medium"
|
|
147
149
|
}, props.confirmBtnProps || {}), confirmText || confirmKey)))))) : null;
|
|
148
150
|
};
|
|
149
151
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n View,\n Text,\n Modal,\n Image,\n ScrollView,\n TouchableWithoutFeedback,\n StyleSheet,\n GestureResponderEvent,\n Animated,\n TouchableOpacity,\n} from \"react-native\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert, AlertDefaultProps } from \"./interface\";\nimport { Button } from \"../Button\";\nimport { Divider } from \"../Divider\";\nimport { Portal } from \"../Portal\";\nimport { style } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n// const AlertView: React.FC<RedsAlert> = (props) => {\n// const finalProps = { ...AlertDefaultProps, ...props };\n// const {\n// show,\n// title,\n// message,\n// confirmText,\n// cancelText,\n// onConfirm,\n// onCancel,\n// onOpen,\n// onClose,\n// align,\n// // showScrollOverlay,\n// footerLayout,\n// showConfirmButton,\n// showCancelButton,\n// mask,\n// footerType,\n// header,\n// footer,\n// children,\n// onMask,\n// confirmBtnStyle,\n// } = finalProps;\n// const themeColor = useThemeColor(\"Alert\");\n// const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n// const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n// const styles = style(props);\n// // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n// const fadeAnim = useRef(new Animated.Value(0)).current;\n\n// useEffect(() => {\n// if (show && onOpen) onOpen();\n// if (!show && onClose) onClose();\n// }, [show]);\n\n// const handleConfirm = (e: GestureResponderEvent) => {\n// if (onConfirm) onConfirm(e);\n// };\n\n// const handleCancel = (e: GestureResponderEvent) => {\n// if (onCancel) onCancel(e);\n// };\n// return show ? (\n// <>\n// <Animated.View\n// style={[\n// styles.centeredView,\n// {\n// transform: [\n// {\n// scale: fadeAnim.interpolate({\n// inputRange: [0, 1],\n// outputRange: [1, 1],\n// }),\n// },\n// ],\n// },\n// ]}\n// >\n// {mask && (\n// <TouchableOpacity onPress={() => { console.log('onMask xxxx')}} activeOpacity={1}>\n// <View style={styles.modalOverlay} />\n// </TouchableOpacity>\n// )}\n\n// </Animated.View>\n// </>\n// ) : null;\n// };\n\nconst Alert: React.FC<RedsAlert> = (props) => {\n const finalProps = { ...AlertDefaultProps, ...props };\n const typography = useThemeTypography(\"Button\");\n const {\n show,\n title,\n message,\n confirmText,\n cancelText,\n onConfirm,\n onCancel,\n onOpen,\n onClose,\n align,\n // showScrollOverlay,\n footerLayout,\n showConfirmButton,\n showCancelButton,\n mask,\n footerType,\n header,\n footer,\n children,\n confirmBtnStyle,\n cancelBtnStyle,\n confirmBtnTextStyle,\n hostName,\n onMask,\n } = finalProps;\n\n const styles = style(props);\n // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n const fadeAnim = useRef(new Animated.Value(0)).current;\n\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n\n const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n\n useEffect(() => {\n if (show && onOpen) onOpen();\n if (!show && onClose) onClose();\n }, [show]);\n\n const handleConfirm = (e: GestureResponderEvent) => {\n if (onConfirm) onConfirm(e);\n };\n\n const handleCancel = (e: GestureResponderEvent) => {\n if (onCancel) onCancel(e);\n };\n useMounted(\"Alert\");\n return show ? (\n <Portal hostName={hostName}>\n <View style={styles.centeredView}>\n {mask && (\n <TouchableWithoutFeedback onPress={onMask}>\n <View style={styles.modalOverlay} />\n </TouchableWithoutFeedback>\n )}\n <Animated.View\n style={[\n {\n transform: [\n {\n scale: fadeAnim.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 1],\n }),\n },\n ],\n },\n ]}\n >\n <View style={[styles.alertContainer, { top: props.offset?.y || 0, left: props.offset?.x || 0 }]}>\n {header}\n <View style={[styles.alertContent, props.contentStyle]}>\n <Text style={styles.title}>{title}</Text>\n {message ? (\n <ScrollView\n // onContentSizeChange={handleContentSizeChange}\n // onScroll={handleScrollView}\n style={[styles.message]}\n scrollEventThrottle={16}\n >\n <Text style={[styles.messageText, align === \"left\" && styles.messageLeft]}>{message}</Text>\n </ScrollView>\n ) : (\n children\n )}\n {/* {showScrollOverlay && hasScrollToBottom && canScroll ? (\n <Image source={{ uri: scrollViewMask.default }} style={styles.scrollOverlay} />\n ) : null} */}\n </View>\n {footer ? (\n footer\n ) : (\n <View\n style={[\n styles.footer,\n footerLayout === \"vertical\" ? styles.footerVertical : styles.footerHorizontal,\n footerType === \"text\" && styles.footerText,\n props.footerStyle,\n ]}\n >\n {showCancelButton && (\n <Button\n variant={footerType === \"text\" ? \"text\" : \"outline\"}\n onClick={handleCancel}\n style={{ ...(footerLayout === \"vertical\" ? styles.verButton : styles.button), ...cancelBtnStyle }}\n size={footerType === \"text\" ? \"large\" : \"medium\"}\n {...(props.cancelBtnProps || {})}\n >\n {cancelText || cancelKey}\n </Button>\n )}\n {footerType === \"text\" &&\n showCancelButton &&\n (footerLayout === \"vertical\" ? (\n // @ts-ignore\n <View direction={\"horizontal\"} style={styles.horizontalLine} />\n ) : (\n // @ts-ignore\n <View direction={\"vertical\"} style={styles.verticalLine} />\n ))}\n {showConfirmButton && (\n <Button\n type=\"primary\"\n variant={footerType === \"text\" ? \"text\" : \"fill\"}\n onClick={handleConfirm}\n style={{\n ...(footerType === \"text\" ? styles.button : styles.confirmButton),\n ...confirmBtnStyle,\n }}\n textStyle={confirmBtnTextStyle}\n size={footerType === \"text\" ? \"large\" : \"medium\"}\n {...(props.confirmBtnProps || {})}\n >\n {confirmText || confirmKey}\n </Button>\n )}\n </View>\n )}\n </View>\n </Animated.View>\n </View>\n </Portal>\n ) : null;\n};\n\nexport default Alert;\n"],"names":["Alert","props","_props$offset","_props$offset2","finalProps","_objectSpread","AlertDefaultProps","useThemeTypography","show","title","message","confirmText","cancelText","onConfirm","onCancel","onOpen","onClose","align","footerLayout","showConfirmButton","showCancelButton","mask","footerType","header","footer","children","confirmBtnStyle","cancelBtnStyle","confirmBtnTextStyle","hostName","onMask","styles","style","fadeAnim","useRef","Animated","Value","current","cancelKey","useLanguage","confirmKey","useEffect","handleConfirm","e","handleCancel","useMounted","Portal","View","centeredView","TouchableWithoutFeedback","onPress","React","createElement","modalOverlay","transform","scale","interpolate","inputRange","outputRange","alertContainer","top","offset","y","left","x","alertContent","contentStyle","Text","ScrollView","scrollEventThrottle","messageText","messageLeft","footerVertical","footerHorizontal","footerText","footerStyle","Button","variant","onClick","verButton","button","size","cancelBtnProps","direction","horizontalLine","verticalLine","type","confirmButton","textStyle","confirmBtnProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n View,\n Text,\n Modal,\n Image,\n ScrollView,\n TouchableWithoutFeedback,\n StyleSheet,\n GestureResponderEvent,\n Animated,\n TouchableOpacity,\n} from \"react-native\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert, AlertDefaultProps } from \"./interface\";\nimport { Button } from \"../Button\";\nimport { Divider } from \"../Divider\";\nimport { Portal } from \"../Portal\";\nimport { style } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\n// const AlertView: React.FC<RedsAlert> = (props) => {\n// const finalProps = { ...AlertDefaultProps, ...props };\n// const {\n// show,\n// title,\n// message,\n// confirmText,\n// cancelText,\n// onConfirm,\n// onCancel,\n// onOpen,\n// onClose,\n// align,\n// // showScrollOverlay,\n// footerLayout,\n// showConfirmButton,\n// showCancelButton,\n// mask,\n// footerType,\n// header,\n// footer,\n// children,\n// onMask,\n// confirmBtnStyle,\n// } = finalProps;\n// const themeColor = useThemeColor(\"Alert\");\n// const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n// const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n// const styles = style(props);\n// // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n// const fadeAnim = useRef(new Animated.Value(0)).current;\n\n// useEffect(() => {\n// if (show && onOpen) onOpen();\n// if (!show && onClose) onClose();\n// }, [show]);\n\n// const handleConfirm = (e: GestureResponderEvent) => {\n// if (onConfirm) onConfirm(e);\n// };\n\n// const handleCancel = (e: GestureResponderEvent) => {\n// if (onCancel) onCancel(e);\n// };\n// return show ? (\n// <>\n// <Animated.View\n// style={[\n// styles.centeredView,\n// {\n// transform: [\n// {\n// scale: fadeAnim.interpolate({\n// inputRange: [0, 1],\n// outputRange: [1, 1],\n// }),\n// },\n// ],\n// },\n// ]}\n// >\n// {mask && (\n// <TouchableOpacity onPress={() => { console.log('onMask xxxx')}} activeOpacity={1}>\n// <View style={styles.modalOverlay} />\n// </TouchableOpacity>\n// )}\n\n// </Animated.View>\n// </>\n// ) : null;\n// };\n\nconst Alert: React.FC<RedsAlert> = (props) => {\n const finalProps = { ...AlertDefaultProps, ...props };\n const typography = useThemeTypography(\"Button\");\n const {\n show,\n title,\n message,\n confirmText,\n cancelText,\n onConfirm,\n onCancel,\n onOpen,\n onClose,\n align,\n // showScrollOverlay,\n footerLayout,\n showConfirmButton,\n showCancelButton,\n mask,\n footerType,\n header,\n footer,\n children,\n confirmBtnStyle,\n cancelBtnStyle,\n confirmBtnTextStyle,\n hostName,\n onMask,\n } = finalProps;\n\n const styles = style(props);\n // const [hasScrollToBottom, setHasScrollToBottom] = useState(true);\n const fadeAnim = useRef(new Animated.Value(0)).current;\n\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n\n const confirmKey = useLanguage(\"componentKey\", \"confirmKey\");\n\n useEffect(() => {\n if (show && onOpen) onOpen();\n if (!show && onClose) onClose();\n }, [show]);\n\n const handleConfirm = (e: GestureResponderEvent) => {\n if (onConfirm) onConfirm(e);\n };\n\n const handleCancel = (e: GestureResponderEvent) => {\n if (onCancel) onCancel(e);\n };\n useMounted(\"Alert\");\n return show ? (\n <Portal hostName={hostName}>\n <View style={styles.centeredView}>\n {mask && (\n <TouchableWithoutFeedback onPress={onMask}>\n <View style={styles.modalOverlay} />\n </TouchableWithoutFeedback>\n )}\n <Animated.View\n style={[\n {\n transform: [\n {\n scale: fadeAnim.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 1],\n }),\n },\n ],\n },\n ]}\n >\n <View style={[styles.alertContainer, { top: props.offset?.y || 0, left: props.offset?.x || 0 }]}>\n {header}\n <View style={[styles.alertContent, props.contentStyle]}>\n <Text style={styles.title}>{title}</Text>\n {message ? (\n <ScrollView\n // onContentSizeChange={handleContentSizeChange}\n // onScroll={handleScrollView}\n style={[styles.message]}\n scrollEventThrottle={16}\n >\n <Text style={[styles.messageText, align === \"left\" && styles.messageLeft]}>{message}</Text>\n </ScrollView>\n ) : (\n children\n )}\n {/* {showScrollOverlay && hasScrollToBottom && canScroll ? (\n <Image source={{ uri: scrollViewMask.default }} style={styles.scrollOverlay} />\n ) : null} */}\n </View>\n {footer ? (\n footer\n ) : (\n <View\n style={[\n styles.footer,\n footerLayout === \"vertical\" ? styles.footerVertical : styles.footerHorizontal,\n footerType === \"text\" && styles.footerText,\n props.footerStyle,\n ]}\n >\n {showCancelButton && (\n <Button\n variant={footerType === \"text\" ? \"text\" : \"outline\"}\n onClick={handleCancel}\n style={{\n ...(footerLayout === \"vertical\" ? styles.verCancelButton : styles.cancelButton),\n ...cancelBtnStyle,\n }}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.cancelBtnProps || {})}\n textStyle={styles.cancelText}\n >\n {cancelText || cancelKey}\n </Button>\n )}\n {footerType === \"text\" &&\n showCancelButton &&\n (footerLayout === \"vertical\" ? (\n // @ts-ignore\n <View direction={\"horizontal\"} style={styles.horizontalLine} />\n ) : (\n // @ts-ignore\n <View direction={\"vertical\"} style={styles.verticalLine} />\n ))}\n {showConfirmButton && (\n <Button\n type=\"primary\"\n variant={footerType === \"text\" ? \"text\" : \"fill\"}\n onClick={handleConfirm}\n style={{\n ...(footerType === \"text\" ? styles.button : styles.confirmButton),\n ...(footerLayout === \"vertical\" ? styles.verButton : styles.confirmButton),\n ...confirmBtnStyle,\n }}\n textStyle={confirmBtnTextStyle}\n size={footerType === \"text\" ? (footerLayout === \"vertical\" ? \"medium\" : \"large\") : \"medium\"}\n {...(props.confirmBtnProps || {})}\n >\n {confirmText || confirmKey}\n </Button>\n )}\n </View>\n )}\n </View>\n </Animated.View>\n </View>\n </Portal>\n ) : null;\n};\n\nexport default Alert;\n"],"names":["Alert","props","_props$offset","_props$offset2","finalProps","_objectSpread","AlertDefaultProps","useThemeTypography","show","title","message","confirmText","cancelText","onConfirm","onCancel","onOpen","onClose","align","footerLayout","showConfirmButton","showCancelButton","mask","footerType","header","footer","children","confirmBtnStyle","cancelBtnStyle","confirmBtnTextStyle","hostName","onMask","styles","style","fadeAnim","useRef","Animated","Value","current","cancelKey","useLanguage","confirmKey","useEffect","handleConfirm","e","handleCancel","useMounted","Portal","View","centeredView","TouchableWithoutFeedback","onPress","React","createElement","modalOverlay","transform","scale","interpolate","inputRange","outputRange","alertContainer","top","offset","y","left","x","alertContent","contentStyle","Text","ScrollView","scrollEventThrottle","messageText","messageLeft","footerVertical","footerHorizontal","footerText","footerStyle","Button","variant","onClick","verCancelButton","cancelButton","size","cancelBtnProps","textStyle","direction","horizontalLine","verticalLine","type","button","confirmButton","verButton","confirmBtnProps"],"mappings":"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"}
|
|
@@ -94,16 +94,16 @@ var style = function style(props) {
|
|
|
94
94
|
},
|
|
95
95
|
footerVertical: {
|
|
96
96
|
flexDirection: "column-reverse",
|
|
97
|
-
justifyContent: "center",
|
|
98
97
|
alignItems: "center",
|
|
99
98
|
height: 100,
|
|
100
99
|
paddingHorizontal: 20
|
|
101
100
|
},
|
|
102
|
-
|
|
101
|
+
cancelButton: {
|
|
103
102
|
flex: 1,
|
|
104
103
|
width: 109,
|
|
105
104
|
margin: 0,
|
|
106
|
-
paddingHorizontal: 0
|
|
105
|
+
paddingHorizontal: 0,
|
|
106
|
+
height: 36
|
|
107
107
|
},
|
|
108
108
|
button: {
|
|
109
109
|
flex: 1,
|
|
@@ -124,13 +124,29 @@ var style = function style(props) {
|
|
|
124
124
|
paddingHorizontal: 20
|
|
125
125
|
},
|
|
126
126
|
verButton: {
|
|
127
|
-
flex:
|
|
127
|
+
flex: 0,
|
|
128
|
+
width: "100%",
|
|
129
|
+
margin: 0,
|
|
130
|
+
marginLeft: props.footerLayout === "vertical" ? 0 : 10,
|
|
131
|
+
marginTop: props.footerType === "text" ? 7 : props.footerLayout === "vertical" ? 7 : 10,
|
|
132
|
+
marginBottom: props.footerLayout === "vertical" ? 7 : 0,
|
|
133
|
+
height: 36,
|
|
134
|
+
paddingHorizontal: 20
|
|
135
|
+
},
|
|
136
|
+
verCancelButton: {
|
|
137
|
+
flex: 0,
|
|
128
138
|
width: "100%",
|
|
129
139
|
margin: 0,
|
|
130
|
-
|
|
140
|
+
marginLeft: props.footerLayout === "vertical" ? 0 : 10,
|
|
141
|
+
marginTop: props.footerType === "text" ? 7 : props.footerLayout === "vertical" ? 7 : 10,
|
|
142
|
+
marginBottom: props.footerLayout === "vertical" ? 7 : 0,
|
|
131
143
|
height: 36,
|
|
132
144
|
paddingHorizontal: 20
|
|
133
145
|
},
|
|
146
|
+
cancelText: {
|
|
147
|
+
color: themeColor.Description,
|
|
148
|
+
fontSize: 12
|
|
149
|
+
},
|
|
134
150
|
horizontalLine: {
|
|
135
151
|
width: "100%",
|
|
136
152
|
height: 0.5,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/Alert/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert } from \"./interface\";\n\nexport const style = (props: RedsAlert) => {\n const themeColor = useThemeColor(\"Button\");\n const typography = useThemeTypography(\"Button\");\n const styles = StyleSheet.create({\n modalOverlay: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: alwaysColor.MaskBg,\n },\n centeredView: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n alertContainer: {\n width: 270,\n backgroundColor: themeColor.White,\n borderRadius: 12,\n overflow: \"hidden\",\n boxShadow: \"0 2px 16px rgba(0, 0, 0, 0.1)\",\n position: \"relative\",\n top: 0,\n left: 0,\n },\n alertContent: {\n padding: 20,\n },\n title: {\n textAlign: \"center\",\n marginBottom: 8,\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n lineHeight: typography.T2LineHeight,\n color: themeColor.Title,\n },\n message: {\n maxHeight: 126,\n overflow: \"hidden\",\n position: \"relative\",\n },\n messageText: {\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n textAlign: \"center\",\n lineHeight: typography.C2LineHeight,\n fontWeight: typography.C2FontWeight,\n },\n messageLeft: {\n textAlign: \"left\",\n },\n scrollOverlay: {\n width: \"100%\",\n position: \"absolute\",\n left: 20,\n right: 0,\n bottom: 20,\n height: 40,\n },\n footer: {\n width: \"100%\",\n height: 48,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n paddingTop: 0,\n },\n footerText: {\n borderTopWidth: 0.5,\n borderTopColor: themeColor.Fill2,\n paddingBottom: props.footerLayout === \"vertical\" ? 0 : 6,\n paddingTop: props.footerLayout === \"vertical\" ? 0 : 6,\n paddingHorizontal: props.footerLayout === \"vertical\" ? 0 : 12,\n },\n footerHorizontal: {\n flexDirection: \"row\",\n paddingHorizontal: 20,\n paddingVertical: 20,\n },\n footerVertical: {\n flexDirection: \"column-reverse\",\n
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../src/components/Alert/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport { RedsAlert } from \"./interface\";\n\nexport const style = (props: RedsAlert) => {\n const themeColor = useThemeColor(\"Button\");\n const typography = useThemeTypography(\"Button\");\n const styles = StyleSheet.create({\n modalOverlay: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: alwaysColor.MaskBg,\n },\n centeredView: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n alertContainer: {\n width: 270,\n backgroundColor: themeColor.White,\n borderRadius: 12,\n overflow: \"hidden\",\n boxShadow: \"0 2px 16px rgba(0, 0, 0, 0.1)\",\n position: \"relative\",\n top: 0,\n left: 0,\n },\n alertContent: {\n padding: 20,\n },\n title: {\n textAlign: \"center\",\n marginBottom: 8,\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n lineHeight: typography.T2LineHeight,\n color: themeColor.Title,\n },\n message: {\n maxHeight: 126,\n overflow: \"hidden\",\n position: \"relative\",\n },\n messageText: {\n fontSize: typography.C2FontSize,\n color: themeColor.Paragraph,\n textAlign: \"center\",\n lineHeight: typography.C2LineHeight,\n fontWeight: typography.C2FontWeight,\n },\n messageLeft: {\n textAlign: \"left\",\n },\n scrollOverlay: {\n width: \"100%\",\n position: \"absolute\",\n left: 20,\n right: 0,\n bottom: 20,\n height: 40,\n },\n footer: {\n width: \"100%\",\n height: 48,\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n paddingTop: 0,\n },\n footerText: {\n borderTopWidth: 0.5,\n borderTopColor: themeColor.Fill2,\n paddingBottom: props.footerLayout === \"vertical\" ? 0 : 6,\n paddingTop: props.footerLayout === \"vertical\" ? 0 : 6,\n paddingHorizontal: props.footerLayout === \"vertical\" ? 0 : 12,\n },\n footerHorizontal: {\n flexDirection: \"row\",\n paddingHorizontal: 20,\n paddingVertical: 20,\n },\n footerVertical: {\n flexDirection: \"column-reverse\",\n alignItems: \"center\",\n height: 100,\n paddingHorizontal: 20,\n },\n cancelButton: {\n flex: 1,\n width: 109,\n margin: 0,\n paddingHorizontal: 0,\n height: 36,\n },\n button: {\n flex: 1,\n width: 109,\n margin: 0,\n paddingHorizontal: 0,\n height: 36,\n },\n dividerBox: {\n marginTop: 5,\n },\n confirmButton: {\n flex: 1,\n margin: 0,\n marginLeft: 10,\n width: 109,\n height: 36,\n paddingHorizontal: 20,\n },\n verButton: {\n flex: 0,\n width: \"100%\",\n margin: 0,\n marginLeft: props.footerLayout === \"vertical\" ? 0 : 10,\n marginTop: props.footerType === \"text\" ? 7 : props.footerLayout === \"vertical\" ? 7 : 10,\n marginBottom: props.footerLayout === \"vertical\" ? 7 : 0,\n height: 36,\n paddingHorizontal: 20,\n },\n verCancelButton: {\n flex: 0,\n width: \"100%\",\n margin: 0,\n marginLeft: props.footerLayout === \"vertical\" ? 0 : 10,\n marginTop: props.footerType === \"text\" ? 7 : props.footerLayout === \"vertical\" ? 7 : 10,\n marginBottom: props.footerLayout === \"vertical\" ? 7 : 0,\n height: 36,\n paddingHorizontal: 20,\n },\n cancelText: {\n color: themeColor.Description,\n fontSize: 12,\n },\n horizontalLine: {\n width: \"100%\",\n height: 0.5,\n backgroundColor: themeColor.Fill2,\n },\n verticalLine: {\n width: 0.5,\n height: 24,\n marginTop: 6,\n backgroundColor: themeColor.Fill2,\n },\n });\n return styles;\n};\n"],"names":["style","props","themeColor","useThemeColor","typography","useThemeTypography","styles","StyleSheet","create","modalOverlay","position","top","left","right","bottom","backgroundColor","alwaysColor","MaskBg","centeredView","flex","justifyContent","alignItems","alertContainer","width","White","borderRadius","overflow","boxShadow","alertContent","padding","title","textAlign","marginBottom","fontSize","T2FontSize","fontWeight","T2FontWeight","lineHeight","T2LineHeight","color","Title","message","maxHeight","messageText","C2FontSize","Paragraph","C2LineHeight","C2FontWeight","messageLeft","scrollOverlay","height","footer","flexDirection","paddingTop","footerText","borderTopWidth","borderTopColor","Fill2","paddingBottom","footerLayout","paddingHorizontal","footerHorizontal","paddingVertical","footerVertical","cancelButton","margin","button","dividerBox","marginTop","confirmButton","marginLeft","verButton","footerType","verCancelButton","cancelText","Description","horizontalLine","verticalLine"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styleMap.js","sources":["../../../../src/components/Button/styleMap.ts"],"sourcesContent":["import { RedsButton } from \"./interface\";\nimport { StyleSheet } from \"react-native\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport { useThemeColor, useThemeTypography, useThemeButtonBorderRadiusById } from \"../ConfigProvider\";\nimport { fontWeight } from \"@xhsreds/reds-token-next\";\nexport const getStyles = (props: RedsButton) => {\n const themeColor = useThemeColor();\n const borderRadius = useThemeButtonBorderRadiusById();\n return StyleSheet.create({\n button: {\n borderRadius: borderRadius as unknown as number,\n boxSizing: \"border-box\",\n ...(props.outlineType === \"shadow\"\n ? {\n border: \"none\",\n // iOS 阴影样式\n shadowColor: \"rgba(0, 0, 0, 0.10)\", // 阴影颜色\n shadowOffset: {\n width: 0,\n height: 2, // 阴影的垂直偏移\n },\n shadowOpacity: 1, // 阴影的不透明度\n shadowRadius: 16, // 阴影的模糊半径\n\n // Android 阴影样式\n elevation: 16, // 阴影的高度\n }\n : props.outlineType === \"border\"\n ? {\n borderWidth: 0.5,\n borderStyle: \"solid\",\n }\n : {\n border: \"none\",\n }),\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"row\",\n alignSelf: \"center\",\n },\n disabledButton: {\n opacity: (props.type === \"primary\" && props.variant === \"fill\") || props.variant === \"disabled\" ? 1 : 0.3,\n color: themeColor.PrimaryLabelTextDisabled,\n borderColor:\n props.variant === \"text\" ||\n props.variant === \"fill\" ||\n props.variant === \"ghost\" ||\n props.variant === \"disabled\"\n ? \"transparent\"\n : props.type === \"primary\"\n ? themeColor.Primary\n : themeColor.PrimaryLabelTextDisabled,\n ...(props.type === \"primary\" && props.variant === \"fill\"\n ? { backgroundColor: themeColor.Primary, borderWidth: 0, opacity: 0.3 }\n : {}),\n },\n block: {\n // alignSelf: \"stretch\",\n width: \"100%\",\n },\n });\n};\nexport const getSizeStyles = (props: RedsButton) => {\n const isCircle = props.shape === \"circle\";\n const typography = useThemeTypography(\"Button\");\n const styles = {\n xLarge: StyleSheet.create({\n button: {\n ...(isCircle\n ? { width: 48 }\n : {\n minWidth: 112,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingLeft: props.avatar ? 8 : props.iconLeft ? 20 : props.iconRight ? 24 : 32,\n paddingRight: props.iconRight ? 20 : props.iconLeft || props.avatar ? 24 : 32,\n }),\n height: 48,\n },\n text: {\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n textAlign: \"center\",\n },\n }),\n large: StyleSheet.create({\n button: {\n ...(isCircle\n ? { width: 44 }\n : {\n minWidth: 96,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }),\n height: 44,\n },\n text: {\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n textAlign: \"center\",\n },\n }),\n medium: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 36 } : { minWidth: 82, paddingHorizontal: 20 }),\n height: 36,\n },\n text: {\n fontSize: typography.T3FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n small: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 28 } : { minWidth: 63, paddingHorizontal: 12 }),\n height: 28,\n },\n text: {\n fontSize: typography.C1FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n mini: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 24 } : { minWidth: 52, paddingHorizontal: 8 }),\n height: 24,\n },\n text: {\n fontSize: typography.C2FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n micro: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 20 } : { minWidth: 40, paddingHorizontal: 8 }),\n height: 20,\n },\n text: {\n fontSize: typography.C3FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n };\n\n return styles[props.size!];\n};\n\nexport const getVariantStyles = (props: RedsButton) => {\n const themeColor = useThemeColor(\"Button\");\n const styles = {\n fill: StyleSheet.create({\n button: {\n borderColor: props.type === \"primary\" ? themeColor.Primary : themeColor.Separator2,\n backgroundColor: props.type === \"primary\" ? themeColor.Primary : themeColor.White,\n },\n text: {\n color: props.type === \"primary\" ? alwaysColor.White : themeColor.Title,\n },\n }),\n disabled: StyleSheet.create({\n button: {\n borderColor: \"transparent\",\n backgroundColor: themeColor.PrimaryBgDisabled,\n },\n text: {\n color: themeColor.PrimaryLabelFillDisabled,\n },\n }),\n ghost: StyleSheet.create({\n button: {\n borderColor: alwaysColor.LightParagraph,\n backgroundColor: alwaysColor.LightFill2,\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Paragraph,\n },\n }),\n outline: StyleSheet.create({\n button: {\n borderColor: props.type === \"primary\" ? themeColor.Primary : themeColor.Separator2,\n backgroundColor: \"transparent\",\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Title,\n },\n }),\n text: StyleSheet.create({\n button: {\n borderColor: \"transparent\",\n backgroundColor: \"transparent\",\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Title,\n },\n }),\n };\n return styles[props.variant!];\n};\n\nexport const contentMarginStyle = StyleSheet.create({\n left: {\n marginLeft: 8,\n },\n right: {\n marginRight: 8,\n },\n});\n"],"names":["getStyles","props","themeColor","useThemeColor","borderRadius","useThemeButtonBorderRadiusById","StyleSheet","create","button","_objectSpread","boxSizing","outlineType","border","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","borderWidth","borderStyle","display","justifyContent","alignItems","flexDirection","alignSelf","disabledButton","opacity","type","variant","color","PrimaryLabelTextDisabled","borderColor","Primary","backgroundColor","block","getSizeStyles","isCircle","shape","typography","useThemeTypography","styles","xLarge","minWidth","paddingLeft","avatar","iconLeft","iconRight","paddingRight","text","fontSize","T2FontSize","fontWeight","T2FontWeight","textAlign","large","medium","paddingHorizontal","T3FontSize","T3FontWeight","small","C1FontSize","mini","C2FontSize","micro","C3FontSize","size","getVariantStyles","fill","Separator2","White","alwaysColor","Title","disabled","PrimaryBgDisabled","PrimaryLabelFillDisabled","ghost","LightParagraph","LightFill2","Paragraph","outline","contentMarginStyle","left","marginLeft","right","marginRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"styleMap.js","sources":["../../../../src/components/Button/styleMap.ts"],"sourcesContent":["import { RedsButton } from \"./interface\";\nimport { StyleSheet } from \"react-native\";\nimport { alwaysColor } from \"@xhsreds/reds-token-next\";\nimport { useThemeColor, useThemeTypography, useThemeButtonBorderRadiusById } from \"../ConfigProvider\";\nimport { fontWeight } from \"@xhsreds/reds-token-next\";\nexport const getStyles = (props: RedsButton) => {\n const themeColor = useThemeColor();\n const borderRadius = useThemeButtonBorderRadiusById();\n return StyleSheet.create({\n button: {\n borderRadius: borderRadius as unknown as number,\n boxSizing: \"border-box\",\n ...(props.outlineType === \"shadow\"\n ? {\n border: \"none\",\n // iOS 阴影样式\n shadowColor: \"rgba(0, 0, 0, 0.10)\", // 阴影颜色\n shadowOffset: {\n width: 0,\n height: 2, // 阴影的垂直偏移\n },\n shadowOpacity: 1, // 阴影的不透明度\n shadowRadius: 16, // 阴影的模糊半径\n\n // Android 阴影样式\n elevation: 16, // 阴影的高度\n }\n : props.outlineType === \"border\"\n ? {\n borderWidth: 0.5,\n borderStyle: \"solid\",\n }\n : {\n border: \"none\",\n }),\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"row\",\n alignSelf: \"center\",\n },\n disabledButton: {\n opacity: (props.type === \"primary\" && props.variant === \"fill\") || props.variant === \"disabled\" ? 1 : 0.3,\n color: themeColor.PrimaryLabelTextDisabled,\n borderColor:\n props.variant === \"text\" ||\n props.variant === \"fill\" ||\n props.variant === \"ghost\" ||\n props.variant === \"disabled\"\n ? \"transparent\"\n : props.type === \"primary\"\n ? themeColor.Primary\n : themeColor.PrimaryLabelTextDisabled,\n ...(props.type === \"primary\" && props.variant === \"fill\"\n ? { backgroundColor: themeColor.Primary, borderWidth: 0, opacity: 0.3 }\n : {}),\n },\n block: {\n alignSelf: \"stretch\",\n width: \"100%\",\n },\n });\n};\nexport const getSizeStyles = (props: RedsButton) => {\n const isCircle = props.shape === \"circle\";\n const typography = useThemeTypography(\"Button\");\n const styles = {\n xLarge: StyleSheet.create({\n button: {\n ...(isCircle\n ? { width: 48 }\n : {\n minWidth: 112,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n paddingLeft: props.avatar ? 8 : props.iconLeft ? 20 : props.iconRight ? 24 : 32,\n paddingRight: props.iconRight ? 20 : props.iconLeft || props.avatar ? 24 : 32,\n }),\n height: 48,\n },\n text: {\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n textAlign: \"center\",\n },\n }),\n large: StyleSheet.create({\n button: {\n ...(isCircle\n ? { width: 44 }\n : {\n minWidth: 96,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }),\n height: 44,\n },\n text: {\n fontSize: typography.T2FontSize,\n fontWeight: typography.T2FontWeight,\n textAlign: \"center\",\n },\n }),\n medium: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 36 } : { minWidth: 82, paddingHorizontal: 20 }),\n height: 36,\n },\n text: {\n fontSize: typography.T3FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n small: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 28 } : { minWidth: 63, paddingHorizontal: 12 }),\n height: 28,\n },\n text: {\n fontSize: typography.C1FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n mini: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 24 } : { minWidth: 52, paddingHorizontal: 8 }),\n height: 24,\n },\n text: {\n fontSize: typography.C2FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n micro: StyleSheet.create({\n button: {\n ...(isCircle ? { width: 20 } : { minWidth: 40, paddingHorizontal: 8 }),\n height: 20,\n },\n text: {\n fontSize: typography.C3FontSize,\n fontWeight: typography.T3FontWeight,\n textAlign: \"center\",\n },\n }),\n };\n\n return styles[props.size!];\n};\n\nexport const getVariantStyles = (props: RedsButton) => {\n const themeColor = useThemeColor(\"Button\");\n const styles = {\n fill: StyleSheet.create({\n button: {\n borderColor: props.type === \"primary\" ? themeColor.Primary : themeColor.Separator2,\n backgroundColor: props.type === \"primary\" ? themeColor.Primary : themeColor.White,\n },\n text: {\n color: props.type === \"primary\" ? alwaysColor.White : themeColor.Title,\n },\n }),\n disabled: StyleSheet.create({\n button: {\n borderColor: \"transparent\",\n backgroundColor: themeColor.PrimaryBgDisabled,\n },\n text: {\n color: themeColor.PrimaryLabelFillDisabled,\n },\n }),\n ghost: StyleSheet.create({\n button: {\n borderColor: alwaysColor.LightParagraph,\n backgroundColor: alwaysColor.LightFill2,\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Paragraph,\n },\n }),\n outline: StyleSheet.create({\n button: {\n borderColor: props.type === \"primary\" ? themeColor.Primary : themeColor.Separator2,\n backgroundColor: \"transparent\",\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Title,\n },\n }),\n text: StyleSheet.create({\n button: {\n borderColor: \"transparent\",\n backgroundColor: \"transparent\",\n },\n text: {\n color: props.type === \"primary\" ? themeColor.Primary : themeColor.Title,\n },\n }),\n };\n return styles[props.variant!];\n};\n\nexport const contentMarginStyle = StyleSheet.create({\n left: {\n marginLeft: 8,\n },\n right: {\n marginRight: 8,\n },\n});\n"],"names":["getStyles","props","themeColor","useThemeColor","borderRadius","useThemeButtonBorderRadiusById","StyleSheet","create","button","_objectSpread","boxSizing","outlineType","border","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","borderWidth","borderStyle","display","justifyContent","alignItems","flexDirection","alignSelf","disabledButton","opacity","type","variant","color","PrimaryLabelTextDisabled","borderColor","Primary","backgroundColor","block","getSizeStyles","isCircle","shape","typography","useThemeTypography","styles","xLarge","minWidth","paddingLeft","avatar","iconLeft","iconRight","paddingRight","text","fontSize","T2FontSize","fontWeight","T2FontWeight","textAlign","large","medium","paddingHorizontal","T3FontSize","T3FontWeight","small","C1FontSize","mini","C2FontSize","micro","C3FontSize","size","getVariantStyles","fill","Separator2","White","alwaysColor","Title","disabled","PrimaryBgDisabled","PrimaryLabelFillDisabled","ghost","LightParagraph","LightFill2","Paragraph","outline","contentMarginStyle","left","marginLeft","right","marginRight"],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
|
|
|
17
17
|
var getMultiStyles = function getMultiStyles(props, index, dropDownItemWidth) {
|
|
18
18
|
var columns = (props === null || props === void 0 ? void 0 : props.optionColumns) || MULTIPLEOPTIONCOLUMN.TWO;
|
|
19
19
|
return {
|
|
20
|
-
width: Math.floor((dropDownItemWidth -
|
|
21
|
-
marginRight: (index + 1) % columns ?
|
|
20
|
+
width: Math.floor((dropDownItemWidth - 12 * (columns - 1)) / columns),
|
|
21
|
+
marginRight: (index + 1) % columns ? 12 : 0
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
var DropDownItem = function DropDownItem(props) {
|
|
@@ -112,7 +112,7 @@ var DropDownItem = function DropDownItem(props) {
|
|
|
112
112
|
var computedStyles = getRedsDropDownVariantStyles(themeColor);
|
|
113
113
|
return /* @__PURE__ */React.createElement(View, {
|
|
114
114
|
onLayout: function onLayout(e) {
|
|
115
|
-
setDropDownItemWidth(e.nativeEvent.layout.width
|
|
115
|
+
setDropDownItemWidth(e.nativeEvent.layout.width);
|
|
116
116
|
},
|
|
117
117
|
style: {
|
|
118
118
|
width: Dimensions.get("window").width - 24
|