@xhsreds/reds-rn-next 0.10.1-beta202511241537 → 0.10.1-beta202512021041

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.
Files changed (91) hide show
  1. package/coverage/.tmp/coverage-0.json +1 -1
  2. package/coverage/.tmp/coverage-1.json +1 -1
  3. package/coverage/.tmp/coverage-10.json +1 -1
  4. package/coverage/.tmp/coverage-11.json +1 -1
  5. package/coverage/.tmp/coverage-12.json +1 -1
  6. package/coverage/.tmp/coverage-13.json +1 -1
  7. package/coverage/.tmp/coverage-14.json +1 -1
  8. package/coverage/.tmp/coverage-15.json +1 -1
  9. package/coverage/.tmp/coverage-16.json +1 -1
  10. package/coverage/.tmp/coverage-17.json +1 -1
  11. package/coverage/.tmp/coverage-18.json +1 -1
  12. package/coverage/.tmp/coverage-19.json +1 -1
  13. package/coverage/.tmp/coverage-2.json +1 -1
  14. package/coverage/.tmp/coverage-20.json +1 -1
  15. package/coverage/.tmp/coverage-21.json +1 -1
  16. package/coverage/.tmp/coverage-22.json +1 -1
  17. package/coverage/.tmp/coverage-23.json +1 -1
  18. package/coverage/.tmp/coverage-24.json +1 -1
  19. package/coverage/.tmp/coverage-25.json +1 -1
  20. package/coverage/.tmp/coverage-27.json +1 -1
  21. package/coverage/.tmp/coverage-29.json +1 -1
  22. package/coverage/.tmp/coverage-3.json +1 -1
  23. package/coverage/.tmp/coverage-30.json +1 -1
  24. package/coverage/.tmp/coverage-32.json +1 -1
  25. package/coverage/.tmp/coverage-33.json +1 -1
  26. package/coverage/.tmp/coverage-34.json +1 -1
  27. package/coverage/.tmp/coverage-36.json +1 -1
  28. package/coverage/.tmp/coverage-37.json +1 -1
  29. package/coverage/.tmp/coverage-38.json +1 -1
  30. package/coverage/.tmp/coverage-39.json +1 -1
  31. package/coverage/.tmp/coverage-4.json +1 -1
  32. package/coverage/.tmp/coverage-40.json +1 -1
  33. package/coverage/.tmp/coverage-41.json +1 -1
  34. package/coverage/.tmp/coverage-5.json +1 -1
  35. package/coverage/.tmp/coverage-6.json +1 -1
  36. package/coverage/.tmp/coverage-7.json +1 -1
  37. package/coverage/.tmp/coverage-8.json +1 -1
  38. package/coverage/.tmp/coverage-9.json +1 -1
  39. package/lib/cjs/_chunks/hA3qoGpS.js.map +1 -1
  40. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +2 -2
  41. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  42. package/lib/cjs/components/Divider/Divider.js +33 -12
  43. package/lib/cjs/components/Divider/Divider.js.map +1 -1
  44. package/lib/cjs/components/Divider/index.js +3 -3
  45. package/lib/cjs/components/Divider/styles.js +36 -30
  46. package/lib/cjs/components/Divider/styles.js.map +1 -1
  47. package/lib/cjs/components/List/ListItem/ListItem.js +4 -2
  48. package/lib/cjs/components/List/ListItem/ListItem.js.map +1 -1
  49. package/lib/cjs/components/PickerView/Wheel.js +57 -16
  50. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  51. package/lib/cjs/components/Stepper/Stepper.js +1 -1
  52. package/lib/cjs/components/Stepper/Stepper.js.map +1 -1
  53. package/lib/cjs/components/Stepper/styles.js +2 -2
  54. package/lib/cjs/components/Stepper/styles.js.map +1 -1
  55. package/lib/esm/_chunks/C0MWVrjO.js.map +1 -1
  56. package/lib/esm/components/ActionablePopover/ActionablePopover.js +1 -1
  57. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  58. package/lib/esm/components/Divider/Divider.js +35 -14
  59. package/lib/esm/components/Divider/Divider.js.map +1 -1
  60. package/lib/esm/components/Divider/index.js +3 -3
  61. package/lib/esm/components/Divider/styles.js +36 -30
  62. package/lib/esm/components/Divider/styles.js.map +1 -1
  63. package/lib/esm/components/List/ListItem/ListItem.js +5 -3
  64. package/lib/esm/components/List/ListItem/ListItem.js.map +1 -1
  65. package/lib/esm/components/PickerView/Wheel.js +57 -16
  66. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  67. package/lib/esm/components/Stepper/Stepper.js +1 -1
  68. package/lib/esm/components/Stepper/Stepper.js.map +1 -1
  69. package/lib/esm/components/Stepper/styles.js +2 -2
  70. package/lib/esm/components/Stepper/styles.js.map +1 -1
  71. package/lib/src/components/Divider/styles.d.ts +3 -2
  72. package/lib/src/components/List/ListItem/ListItem.d.ts +2 -0
  73. package/lib/src/components/Stepper/interface/index.d.ts +1 -0
  74. package/lib/src/components/Stepper/styles.d.ts +2 -2
  75. package/lib/types/components/Divider/styles.d.ts +3 -2
  76. package/lib/types/components/List/ListItem/ListItem.d.ts +2 -0
  77. package/lib/types/components/Stepper/interface/index.d.ts +1 -0
  78. package/lib/types/components/Stepper/styles.d.ts +2 -2
  79. package/package.json +2 -2
  80. package/src/components/ActionablePopover/ActionablePopover.tsx +10 -1
  81. package/src/components/Divider/Divider.tsx +29 -9
  82. package/src/components/Divider/demo/index.tsx +12 -6
  83. package/src/components/Divider/styles.ts +33 -30
  84. package/src/components/List/ListItem/ListItem.tsx +12 -1
  85. package/src/components/List/demo/index.tsx +2 -0
  86. package/src/components/PickerView/Wheel.tsx +59 -12
  87. package/src/components/Stepper/Stepper.tsx +1 -1
  88. package/src/components/Stepper/demo/index.tsx +1 -1
  89. package/src/components/Stepper/doc/index.mdx +1 -0
  90. package/src/components/Stepper/interface/index.ts +1 -0
  91. package/src/components/Stepper/styles.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ActionablePopover.js","sources":["../../../../src/components/ActionablePopover/ActionablePopover.tsx"],"sourcesContent":["import React, { useState, useMemo, isValidElement, useEffect, useRef } from \"react\";\nimport { Text, View, TouchableWithoutFeedback, GestureResponderEvent, Animated, Image, Dimensions } from \"react-native\";\nimport { RedsActionablePopover, ActionablePopoverData } from \"./interface/index\";\nimport { ModalWrapper } from \"./component\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { Portal } from \"../Portal\";\nimport { Icon } from \"../Icon\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport getStyles from \"./styles\";\n\nexport default ({\n mode = \"light\",\n opacity = 0,\n content = [],\n checked = [],\n children,\n isControl = false,\n placement = \"top\",\n closeOnClickAgain = true,\n trigger = \"click\",\n zIndex = 1000,\n visible,\n onClick = () => {},\n onVisibleChange,\n onClickMask: _onClickMask,\n popContainerStyle = {},\n arrowStyles: propsArrowStyles,\n offset,\n type,\n duration,\n hostName,\n arrowOffset,\n}: RedsActionablePopover) => {\n useMounted(\"ActionablePopover\");\n const needModal = useMemo(() => opacity !== 0, [opacity]);\n\n const [_visible, setVisible] = useState(false);\n\n const progress = useRef(new Animated.Value(0)).current;\n\n const childRef = useRef<any>(null);\n\n const themeColor = useThemeColor();\n\n const themeTypography = useThemeTypography();\n\n const styles = getStyles({ type, mode }, themeTypography, themeColor);\n\n const [layout, setLayout] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n });\n\n const [floatingLayout, setFloatingLayout] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n });\n\n const floatStyles = useMemo(() => {\n const start = [\"top-start\", \"bottom-start\"].includes(placement);\n const mid = [\"top\", \"bottom\"].includes(placement);\n const end = [\"top-end\", \"bottom-end\"].includes(placement);\n const diffX = floatingLayout.width - layout.width;\n // @ts-expect-error\n const isHarmony = Platform.OS === \"harmony\";\n return layout.height\n ? {\n position: \"absolute\",\n top:\n (placement.includes(\"top\") ? layout.y - floatingLayout.height - 12 : layout.y + layout.height + 12) -\n (offset?.y || 0),\n left:\n (start ? layout.x : mid ? layout.x - diffX / 2 : end ? layout.x - diffX : 0) +\n (offset?.x || 0) -\n (isHarmony ? Dimensions.get(\"screen\").width : 0),\n }\n : {};\n }, [placement, layout, floatingLayout]);\n\n const arrowStyles = useMemo(() => {\n const start = [\"top-start\", \"bottom-start\"].includes(placement);\n const mid = [\"top\", \"bottom\"].includes(placement);\n const end = [\"top-end\", \"bottom-end\"].includes(placement);\n const diffX = floatingLayout.width - layout.width;\n // @ts-expect-error\n const isHarmony = Platform.OS === \"harmony\";\n return layout.height\n ? {\n transform: [{ rotate: placement.includes(\"top\") ? `0deg` : `180deg` }],\n position: \"absolute\",\n top:\n (placement.includes(\"top\") ? layout.y - 12 : layout.y + layout.height + 6) +\n (offset?.y || 0) +\n (arrowOffset?.y || 0),\n left:\n (start\n ? layout.x + 8\n : mid\n ? layout.x - diffX / 2 + floatingLayout.width / 2 - 6\n : end\n ? layout.x - diffX + floatingLayout.width - 24\n : 0) +\n (offset?.x || 0) +\n (arrowOffset?.x || 0) -\n (isHarmony ? Dimensions.get(\"screen\").width : 0),\n }\n : {};\n }, [placement, layout, floatingLayout, offset]);\n\n useEffect(() => {\n let timer: any;\n if (duration) {\n timer = setTimeout(() => onMaskChange({} as GestureResponderEvent, false), duration);\n }\n return () => {\n timer && clearTimeout(timer);\n };\n }, [duration, _visible]);\n\n /**\n * 提供popover变化回调\n */\n useEffect(() => {\n onVisibleChange?.(!!_visible);\n if (_visible) {\n Animated.timing(progress, {\n toValue: 1,\n duration: 400,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(progress, {\n toValue: 0,\n duration: 400,\n useNativeDriver: false,\n }).start();\n }\n }, [_visible]);\n\n const onMaskChange = (event: GestureResponderEvent, value: boolean) => {\n if (isControl) return;\n if (value === undefined) return setVisible(!_visible);\n return setVisible(value);\n };\n\n const onClickMask = (e: GestureResponderEvent) => {\n onMaskChange(e, false);\n _onClickMask?.(e);\n };\n\n const popoverStyle = useMemo(() => {\n return {\n backgroundColor: mode === \"light\" ? themeColor.White : themeColor.Fill5,\n };\n }, [mode]);\n\n useEffect(() => {\n isControl && setVisible(!!visible);\n }, [visible]);\n\n const angle = useMemo(() => {\n if (mode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/907ae578dedd5f26b9c150ab910c7d16234cf219.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/354f38172beb8e9f51725ec0bc9f5d546597e5ba.png\";\n }\n }, [mode]);\n\n useEffect(() => {\n childRef?.current?.measureInWindow?.((x: number, y: number, width: number, height: number) => {\n setLayout({\n x,\n y,\n width,\n height,\n });\n });\n }, [offset]);\n\n useEffect(() => {\n if (_visible) {\n childRef?.current?.measureInWindow?.((x: number, y: number, width: number, height: number) => {\n setLayout({\n x,\n y,\n width,\n height,\n });\n });\n }\n }, [_visible]);\n\n return (\n <>\n {React.Children.map(children, (child, index) => {\n if (index === 0 && isValidElement(child)) {\n return (\n <TouchableWithoutFeedback\n onPress={(e) => {\n if (trigger === \"click\") {\n if (closeOnClickAgain) {\n onMaskChange(e, !_visible);\n } else {\n onMaskChange(e, true);\n }\n }\n }}\n onPressIn={(e) => {\n trigger === \"touch\" && onMaskChange(e, true);\n }}\n onPressOut={(e) => {\n trigger === \"touch\" && onMaskChange(e, false);\n }}\n >\n <View\n collapsable={false}\n ref={(el) => (childRef.current = el)}\n style={child.props.style}\n onStartShouldSetResponderCapture={() => !isControl}\n >\n {child}\n </View>\n </TouchableWithoutFeedback>\n );\n }\n return child;\n })}\n <Portal hostName={hostName}>\n <ModalWrapper\n needModal={needModal}\n visible={_visible}\n onClickMask={onClickMask}\n opacity={opacity}\n progress={progress}\n zIndex={zIndex}\n >\n <Animated.View\n collapsable={false}\n onLayout={(e) => {\n setFloatingLayout(e.nativeEvent.layout);\n }}\n // @ts-expect-error\n style={{\n backgroundColor: popoverStyle.backgroundColor,\n borderRadius: 12,\n zIndex,\n shadowColor: \"#000000\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 2,\n ...floatStyles!,\n ...popContainerStyle!,\n opacity: progress,\n }}\n >\n {content.map((data: ActionablePopoverData) => {\n return (\n <TouchableWithoutFeedback onPress={() => onClick(data.value)}>\n <View style={[styles.spaceBetween]}>\n <View style={[styles.container, popoverStyle]}>\n {data.icon && (\n <View style={styles.icon}>\n <Icon\n icon={data.icon}\n size={20}\n fill={mode === \"dark\" ? themeColor.White : themeColor.Title}\n />\n </View>\n )}\n <Text style={[styles.label, !data.icon && styles.normalLabelLeft, styles.normalLabelRight]}>\n {data.label}\n </Text>\n </View>\n {type === \"check\" && (\n <View style={styles.check}>\n {checked.includes(data.value) ? (\n <Image\n source={{\n uri: \"https://fe-platform.xhscdn.com/platform/104101l031lekb59j5m0md5494g900000000001j6ahsv6\",\n }}\n style={styles.image}\n />\n ) : (\n <View style={styles.image}></View>\n )}\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n })}\n </Animated.View>\n </ModalWrapper>\n </Portal>\n </>\n );\n};\n"],"names":["_ref","_ref$mode","mode","_ref$opacity","opacity","_ref$content","content","_ref$checked","checked","children","_ref$isControl","isControl","_ref$placement","placement","_ref$closeOnClickAgai","closeOnClickAgain","_ref$trigger","trigger","_ref$zIndex","zIndex","visible","_ref$onClick","onClick","onVisibleChange","_onClickMask","onClickMask","_ref$popContainerStyl","popContainerStyle","arrowStyles","offset","type","duration","hostName","arrowOffset","useMounted","needModal","useMemo","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","progress","useRef","Animated","Value","current","childRef","themeColor","useThemeColor","themeTypography","useThemeTypography","styles","getStyles","_useState3","x","y","width","height","_useState4","layout","setLayout","_useState5","_useState6","floatingLayout","setFloatingLayout","floatStyles","start","includes","mid","end","diffX","isHarmony","Platform","OS","position","top","left","Dimensions","get","transform","rotate","useEffect","timer","setTimeout","onMaskChange","clearTimeout","timing","toValue","useNativeDriver","event","value","e","popoverStyle","backgroundColor","White","Fill5","_childRef$current","_childRef$current$mea","measureInWindow","call","_childRef$current2","_childRef$current2$me","React","Children","map","child","index","isValidElement","createElement","TouchableWithoutFeedback","onPress","onPressIn","onPressOut","View","collapsable","ref","el","style","props","onStartShouldSetResponderCapture","Portal","ModalWrapper","onLayout","nativeEvent","_objectSpread","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","data","spaceBetween","container","icon","Icon","size","fill","Title","Text","label","normalLabelLeft","normalLabelRight","check","Image","source","uri","image"],"mappings":"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"}
1
+ {"version":3,"file":"ActionablePopover.js","sources":["../../../../src/components/ActionablePopover/ActionablePopover.tsx"],"sourcesContent":["import React, { useState, useMemo, isValidElement, useEffect, useRef } from \"react\";\nimport {\n Text,\n View,\n TouchableWithoutFeedback,\n GestureResponderEvent,\n Animated,\n Image,\n Dimensions,\n Platform,\n} from \"react-native\";\nimport { RedsActionablePopover, ActionablePopoverData } from \"./interface/index\";\nimport { ModalWrapper } from \"./component\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { Portal } from \"../Portal\";\nimport { Icon } from \"../Icon\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\nimport getStyles from \"./styles\";\n\nexport default ({\n mode = \"light\",\n opacity = 0,\n content = [],\n checked = [],\n children,\n isControl = false,\n placement = \"top\",\n closeOnClickAgain = true,\n trigger = \"click\",\n zIndex = 1000,\n visible,\n onClick = () => {},\n onVisibleChange,\n onClickMask: _onClickMask,\n popContainerStyle = {},\n arrowStyles: propsArrowStyles,\n offset,\n type,\n duration,\n hostName,\n arrowOffset,\n}: RedsActionablePopover) => {\n useMounted(\"ActionablePopover\");\n const needModal = useMemo(() => opacity !== 0, [opacity]);\n\n const [_visible, setVisible] = useState(false);\n\n const progress = useRef(new Animated.Value(0)).current;\n\n const childRef = useRef<any>(null);\n\n const themeColor = useThemeColor();\n\n const themeTypography = useThemeTypography();\n\n const styles = getStyles({ type, mode }, themeTypography, themeColor);\n\n const [layout, setLayout] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n });\n\n const [floatingLayout, setFloatingLayout] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n });\n\n const floatStyles = useMemo(() => {\n const start = [\"top-start\", \"bottom-start\"].includes(placement);\n const mid = [\"top\", \"bottom\"].includes(placement);\n const end = [\"top-end\", \"bottom-end\"].includes(placement);\n const diffX = floatingLayout.width - layout.width;\n // @ts-expect-error\n const isHarmony = Platform.OS === \"harmony\";\n return layout.height\n ? {\n position: \"absolute\",\n top:\n (placement.includes(\"top\") ? layout.y - floatingLayout.height - 12 : layout.y + layout.height + 12) -\n (offset?.y || 0),\n left:\n (start ? layout.x : mid ? layout.x - diffX / 2 : end ? layout.x - diffX : 0) +\n (offset?.x || 0) -\n (isHarmony ? Dimensions.get(\"screen\").width : 0),\n }\n : {};\n }, [placement, layout, floatingLayout]);\n\n const arrowStyles = useMemo(() => {\n const start = [\"top-start\", \"bottom-start\"].includes(placement);\n const mid = [\"top\", \"bottom\"].includes(placement);\n const end = [\"top-end\", \"bottom-end\"].includes(placement);\n const diffX = floatingLayout.width - layout.width;\n // @ts-expect-error\n const isHarmony = Platform.OS === \"harmony\";\n return layout.height\n ? {\n transform: [{ rotate: placement.includes(\"top\") ? `0deg` : `180deg` }],\n position: \"absolute\",\n top:\n (placement.includes(\"top\") ? layout.y - 12 : layout.y + layout.height + 6) +\n (offset?.y || 0) +\n (arrowOffset?.y || 0),\n left:\n (start\n ? layout.x + 8\n : mid\n ? layout.x - diffX / 2 + floatingLayout.width / 2 - 6\n : end\n ? layout.x - diffX + floatingLayout.width - 24\n : 0) +\n (offset?.x || 0) +\n (arrowOffset?.x || 0) -\n (isHarmony ? Dimensions.get(\"screen\").width : 0),\n }\n : {};\n }, [placement, layout, floatingLayout, offset]);\n\n useEffect(() => {\n let timer: any;\n if (duration) {\n timer = setTimeout(() => onMaskChange({} as GestureResponderEvent, false), duration);\n }\n return () => {\n timer && clearTimeout(timer);\n };\n }, [duration, _visible]);\n\n /**\n * 提供popover变化回调\n */\n useEffect(() => {\n onVisibleChange?.(!!_visible);\n if (_visible) {\n Animated.timing(progress, {\n toValue: 1,\n duration: 400,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(progress, {\n toValue: 0,\n duration: 400,\n useNativeDriver: false,\n }).start();\n }\n }, [_visible]);\n\n const onMaskChange = (event: GestureResponderEvent, value: boolean) => {\n if (isControl) return;\n if (value === undefined) return setVisible(!_visible);\n return setVisible(value);\n };\n\n const onClickMask = (e: GestureResponderEvent) => {\n onMaskChange(e, false);\n _onClickMask?.(e);\n };\n\n const popoverStyle = useMemo(() => {\n return {\n backgroundColor: mode === \"light\" ? themeColor.White : themeColor.Fill5,\n };\n }, [mode]);\n\n useEffect(() => {\n isControl && setVisible(!!visible);\n }, [visible]);\n\n const angle = useMemo(() => {\n if (mode === \"light\") {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/907ae578dedd5f26b9c150ab910c7d16234cf219.png\";\n } else {\n return \"https://picasso-static.xiaohongshu.com/fe-platform/354f38172beb8e9f51725ec0bc9f5d546597e5ba.png\";\n }\n }, [mode]);\n\n useEffect(() => {\n childRef?.current?.measureInWindow?.((x: number, y: number, width: number, height: number) => {\n setLayout({\n x,\n y,\n width,\n height,\n });\n });\n }, [offset]);\n\n useEffect(() => {\n if (_visible) {\n childRef?.current?.measureInWindow?.((x: number, y: number, width: number, height: number) => {\n setLayout({\n x,\n y,\n width,\n height,\n });\n });\n }\n }, [_visible]);\n\n return (\n <>\n {React.Children.map(children, (child, index) => {\n if (index === 0 && isValidElement(child)) {\n return (\n <TouchableWithoutFeedback\n onPress={(e) => {\n if (trigger === \"click\") {\n if (closeOnClickAgain) {\n onMaskChange(e, !_visible);\n } else {\n onMaskChange(e, true);\n }\n }\n }}\n onPressIn={(e) => {\n trigger === \"touch\" && onMaskChange(e, true);\n }}\n onPressOut={(e) => {\n trigger === \"touch\" && onMaskChange(e, false);\n }}\n >\n <View\n collapsable={false}\n ref={(el) => (childRef.current = el)}\n style={child.props.style}\n onStartShouldSetResponderCapture={() => !isControl}\n >\n {child}\n </View>\n </TouchableWithoutFeedback>\n );\n }\n return child;\n })}\n <Portal hostName={hostName}>\n <ModalWrapper\n needModal={needModal}\n visible={_visible}\n onClickMask={onClickMask}\n opacity={opacity}\n progress={progress}\n zIndex={zIndex}\n >\n <Animated.View\n collapsable={false}\n onLayout={(e) => {\n setFloatingLayout(e.nativeEvent.layout);\n }}\n // @ts-expect-error\n style={{\n backgroundColor: popoverStyle.backgroundColor,\n borderRadius: 12,\n zIndex,\n shadowColor: \"#000000\",\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 2,\n ...floatStyles!,\n ...popContainerStyle!,\n opacity: progress,\n }}\n >\n {content.map((data: ActionablePopoverData) => {\n return (\n <TouchableWithoutFeedback onPress={() => onClick(data.value)}>\n <View style={[styles.spaceBetween]}>\n <View style={[styles.container, popoverStyle]}>\n {data.icon && (\n <View style={styles.icon}>\n <Icon\n icon={data.icon}\n size={20}\n fill={mode === \"dark\" ? themeColor.White : themeColor.Title}\n />\n </View>\n )}\n <Text style={[styles.label, !data.icon && styles.normalLabelLeft, styles.normalLabelRight]}>\n {data.label}\n </Text>\n </View>\n {type === \"check\" && (\n <View style={styles.check}>\n {checked.includes(data.value) ? (\n <Image\n source={{\n uri: \"https://fe-platform.xhscdn.com/platform/104101l031lekb59j5m0md5494g900000000001j6ahsv6\",\n }}\n style={styles.image}\n />\n ) : (\n <View style={styles.image}></View>\n )}\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n })}\n </Animated.View>\n </ModalWrapper>\n </Portal>\n </>\n );\n};\n"],"names":["_ref","_ref$mode","mode","_ref$opacity","opacity","_ref$content","content","_ref$checked","checked","children","_ref$isControl","isControl","_ref$placement","placement","_ref$closeOnClickAgai","closeOnClickAgain","_ref$trigger","trigger","_ref$zIndex","zIndex","visible","_ref$onClick","onClick","onVisibleChange","_onClickMask","onClickMask","_ref$popContainerStyl","popContainerStyle","arrowStyles","offset","type","duration","hostName","arrowOffset","useMounted","needModal","useMemo","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","progress","useRef","Animated","Value","current","childRef","themeColor","useThemeColor","themeTypography","useThemeTypography","styles","getStyles","_useState3","x","y","width","height","_useState4","layout","setLayout","_useState5","_useState6","floatingLayout","setFloatingLayout","floatStyles","start","includes","mid","end","diffX","isHarmony","Platform","OS","position","top","left","Dimensions","get","transform","rotate","useEffect","timer","setTimeout","onMaskChange","clearTimeout","timing","toValue","useNativeDriver","event","value","e","popoverStyle","backgroundColor","White","Fill5","_childRef$current","_childRef$current$mea","measureInWindow","call","_childRef$current2","_childRef$current2$me","React","Children","map","child","index","isValidElement","createElement","TouchableWithoutFeedback","onPress","onPressIn","onPressOut","View","collapsable","ref","el","style","props","onStartShouldSetResponderCapture","Portal","ModalWrapper","onLayout","nativeEvent","_objectSpread","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","data","spaceBetween","container","icon","Icon","size","fill","Title","Text","label","normalLabelLeft","normalLabelRight","check","Image","source","uri","image"],"mappings":"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"}
@@ -1,33 +1,54 @@
1
- import { a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
2
- import React from 'react';
1
+ import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
2
+ import React, { useState, useMemo } from 'react';
3
3
  import { View, Text } from 'react-native';
4
4
  import { D as DividerDefaultProps } from '../../_chunks/CLoffREn.js';
5
5
  import { getStyles } from './styles.js';
6
6
  import useMounted from '../../pvCount/useUnmountedProcess.js';
7
7
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
8
- import '@xhsreds/reds-token-next';
8
+ import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
9
9
  import '@xhs/reds-apm/src/index.native';
10
- import '../ConfigProvider/hooks/themeToken/useThemeToken.js';
11
- import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
12
10
  import '../../pvCount/pvData.js';
11
+ import '@xhsreds/reds-token-next';
12
+ import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
13
13
 
14
14
  var Divider = function Divider(props) {
15
+ var _useState = useState(0),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ textWidth = _useState2[0],
18
+ setTextWidth = _useState2[1];
19
+ var _useState3 = useState(0),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ containerWidth = _useState4[0],
22
+ setContainerWidth = _useState4[1];
23
+ var themeColor = useThemeColor("Divider");
24
+ var typography = useThemeTypography("Divider");
15
25
  useMounted("Divider");
16
26
  var finalProps = _objectSpread2(_objectSpread2(_objectSpread2({}, DividerDefaultProps), props), {}, {
17
- direction: props.direction,
18
- orientation: props.orientation
27
+ direction: props.direction || DividerDefaultProps.direction,
28
+ orientation: props.orientation || DividerDefaultProps.orientation
19
29
  });
20
- var styles = getStyles(finalProps);
21
- var isPrimary = finalProps.direction === "primary" || finalProps.direction === "secondary";
30
+ var styles = useMemo(function () {
31
+ return getStyles(finalProps, textWidth, containerWidth, themeColor, typography);
32
+ }, [textWidth, containerWidth, themeColor, typography]);
33
+ var handleLayout = function handleLayout(e) {
34
+ setTextWidth(e.nativeEvent.layout.width);
35
+ };
36
+ var handlerContainerWidth = function handlerContainerWidth(e) {
37
+ setContainerWidth(e.nativeEvent.layout.width);
38
+ };
22
39
  return /* @__PURE__ */React.createElement(View, {
23
- style: [styles.divider, styles[finalProps.direction]]
40
+ style: [styles.divider, styles[finalProps.direction]],
41
+ onLayout: handlerContainerWidth
24
42
  }, finalProps.orientation && finalProps.direction !== "vertical" && /* @__PURE__ */React.createElement(View, {
25
43
  style: styles.textContainer
26
- }, isPrimary && /* @__PURE__ */React.createElement(View, {
44
+ }, /* @__PURE__ */React.createElement(View, {
27
45
  style: styles.before
28
- }), props.children && /* @__PURE__ */React.createElement(Text, {
29
- style: styles.text
30
- }, props.children), isPrimary && /* @__PURE__ */React.createElement(View, {
46
+ }), props.children ? /* @__PURE__ */React.createElement(Text, {
47
+ style: styles.text,
48
+ onLayout: handleLayout
49
+ }, props.children) : /* @__PURE__ */React.createElement(Text, {
50
+ style: styles.noTextBorderStyle
51
+ }), /* @__PURE__ */React.createElement(View, {
31
52
  style: styles.after
32
53
  })));
33
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["import React from \"react\";\nimport { View, Text } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\nimport { getStyles } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Divider = (props: RedsDivider) => {\n useMounted(\"Divider\");\n const finalProps: RedsDivider = {\n ...DividerDefaultProps,\n ...props,\n direction: props.direction as RedsDivider[\"direction\"],\n orientation: props.orientation as RedsDivider[\"orientation\"],\n };\n\n const styles = getStyles(finalProps);\n const isPrimary = finalProps.direction === \"primary\" || finalProps.direction === \"secondary\";\n\n return (\n <View style={[styles.divider, styles[finalProps.direction!]]}>\n {finalProps.orientation && finalProps.direction !== \"vertical\" && (\n <View style={styles.textContainer}>\n {isPrimary && <View style={styles.before} />}\n {props.children && <Text style={styles.text}>{props.children}</Text>}\n {isPrimary && <View style={styles.after} />}\n </View>\n )}\n </View>\n );\n};\n\nexport default React.memo(Divider);\n"],"names":["Divider","props","useMounted","finalProps","_objectSpread","DividerDefaultProps","direction","orientation","styles","getStyles","isPrimary","React","createElement","View","style","divider","textContainer","before","children","Text","text","after","memo"],"mappings":";;;;;;;;;;;;;AAMA,IAAMA,OAAA,GAAU,SAAVA,OAAAA,CAAWC,KAAuB,EAAA;EACtCC,UAAA,CAAW,SAAS,CAAA,CAAA;EACpB,IAAMC,UAA0B,GAAAC,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC3BC,mBAAA,CAAA,EACAJ,KAAA,CAAA,EAAA,EAAA,EAAA;IACHK,WAAWL,KAAM,CAAAK,SAAA;IACjBC,aAAaN,KAAM,CAAAM,WAAAA;GACrB,CAAA,CAAA;AAEM,EAAA,IAAAC,MAAA,GAASC,UAAUN,UAAU,CAAA,CAAA;AACnC,EAAA,IAAMO,SAAY,GAAAP,UAAA,CAAWG,SAAc,KAAA,SAAA,IAAaH,WAAWG,SAAc,KAAA,WAAA,CAAA;AAG/E,EAAA,sBAAAK,KAAA,CAAAC,aAAA,CAACC;IAAKC,KAAO,EAAA,CAACN,OAAOO,OAAS,EAAAP,MAAA,CAAOL,WAAWG,SAAU,CAAC,CAAA;KACxDH,UAAW,CAAAI,WAAA,IAAeJ,WAAWG,SAAc,KAAA,UAAA,uCACjDO,IAAK,EAAA;IAAAC,KAAA,EAAON,OAAOQ,aAAAA;GACjB,EAAAN,SAAA,uCAAcG,IAAK,EAAA;IAAAC,KAAA,EAAON,OAAOS,MAAAA;AAAQ,GAAA,CAAA,EACzChB,MAAMiB,QAAY,mBAAAP,KAAA,CAAAC,aAAA,CAACO;IAAKL,KAAO,EAAAN,MAAA,CAAOY,IAAAA;KAAOnB,KAAM,CAAAiB,QAAS,GAC5DR,SAAa,mBAAAC,KAAA,CAAAC,aAAA,CAACC;IAAKC,KAAO,EAAAN,MAAA,CAAOa,KAAAA;GAAO,CAC3C,CAEJ,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,gBAAA,aAAeV,KAAA,CAAMW,KAAKtB,OAAO,CAAA;;;;"}
1
+ {"version":3,"file":"Divider.js","sources":["../../../../src/components/Divider/Divider.tsx"],"sourcesContent":["import React, { useState, useMemo } from \"react\";\nimport { View, Text } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\nimport { getStyles } from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\n\nconst Divider = (props: RedsDivider) => {\n const [textWidth, setTextWidth] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const themeColor = useThemeColor(\"Divider\");\n const typography = useThemeTypography(\"Divider\");\n useMounted(\"Divider\");\n const finalProps: RedsDivider = {\n ...DividerDefaultProps,\n ...props,\n direction: (props.direction || DividerDefaultProps.direction) as RedsDivider[\"direction\"],\n orientation: (props.orientation || DividerDefaultProps.orientation) as RedsDivider[\"orientation\"],\n };\n\n const styles = useMemo(() => {\n return getStyles(finalProps, textWidth, containerWidth, themeColor, typography);\n }, [textWidth, containerWidth, themeColor, typography]);\n\n const handleLayout = (e: any) => {\n setTextWidth(e.nativeEvent.layout.width);\n };\n\n const handlerContainerWidth = (e: any) => {\n setContainerWidth(e.nativeEvent.layout.width);\n };\n\n return (\n <View style={[styles.divider, styles[finalProps.direction!]]} onLayout={handlerContainerWidth}>\n {finalProps.orientation && finalProps.direction !== \"vertical\" && (\n <View style={styles.textContainer}>\n <View style={styles.before} />\n {props.children ? (\n <Text style={styles.text} onLayout={handleLayout}>\n {props.children}\n </Text>\n ) : (\n <Text style={styles.noTextBorderStyle}></Text>\n )}\n <View style={styles.after} />\n </View>\n )}\n </View>\n );\n};\n\nexport default React.memo(Divider);\n"],"names":["Divider","props","_useState","useState","_useState2","_slicedToArray","textWidth","setTextWidth","_useState3","_useState4","containerWidth","setContainerWidth","themeColor","useThemeColor","typography","useThemeTypography","useMounted","finalProps","_objectSpread","DividerDefaultProps","direction","orientation","styles","useMemo","getStyles","handleLayout","e","nativeEvent","layout","width","handlerContainerWidth","React","createElement","View","style","divider","onLayout","textContainer","before","children","Text","text","noTextBorderStyle","after","memo"],"mappings":"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"}
@@ -4,13 +4,13 @@ import '../../_chunks/CAkwE9ZD.js';
4
4
  import 'react';
5
5
  import 'react-native';
6
6
  import './styles.js';
7
+ import '../../pvCount/useUnmountedProcess.js';
8
+ import '@xhs/reds-apm/src/index.native';
9
+ import '../../pvCount/pvData.js';
7
10
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
8
11
  import '@xhsreds/reds-token-next';
9
- import '@xhs/reds-apm/src/index.native';
10
12
  import '../ConfigProvider/hooks/themeToken/useThemeToken.js';
11
13
  import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
12
- import '../../pvCount/useUnmountedProcess.js';
13
- import '../../pvCount/pvData.js';
14
14
 
15
15
 
16
16
 
@@ -1,33 +1,26 @@
1
1
  import { a as _objectSpread2 } from '../../_chunks/CAkwE9ZD.js';
2
2
  import { StyleSheet } from 'react-native';
3
3
  import { D as DividerDefaultProps } from '../../_chunks/CLoffREn.js';
4
- import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
5
- import 'react';
6
- import '@xhs/reds-apm/src/index.native';
7
- import { useThemeColor, useThemeTypography } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
8
- import '@xhsreds/reds-token-next';
9
- import '../ConfigProvider/hooks/ConfigContext/ConfigContext.js';
10
4
 
11
5
  var baseDivider = {
12
6
  position: "relative"
13
7
  };
14
- var getStyles = function getStyles(p) {
8
+ var getStyles = function getStyles(p, textWidth, containerWidth, themeColor, typography) {
15
9
  var props = _objectSpread2(_objectSpread2({}, DividerDefaultProps), p);
16
- var themeColor = useThemeColor("Divider");
17
- var typography = useThemeTypography("Divider");
18
10
  var isHorizontal = props.direction === "horizontal";
11
+ p.children;
12
+ var remainingWidth = containerWidth - textWidth;
19
13
  var beforeAfterCommon = {
20
14
  borderStyle: "solid",
21
- borderTopWidth: 0.5,
22
- borderColor: props.color || themeColor.Separator2,
23
- width: 8
15
+ borderTopWidth: props.stroke || 0.5,
16
+ borderColor: props.color || themeColor.Separator2
24
17
  };
25
18
  var dividerStyle = _objectSpread2(_objectSpread2({}, baseDivider), {}, {
26
- borderBottomWidth: isHorizontal ? props.stroke ? props.stroke : StyleSheet.hairlineWidth : 0,
27
- borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,
28
- borderBottomColor: isHorizontal ? props.color || themeColor.Separator2 : void 0,
29
- borderLeftColor: isHorizontal ? void 0 : props.color || themeColor.Separator2,
30
- borderStyle: "solid",
19
+ // borderBottomWidth: isHorizontal && hasTextContent ? 0 : (isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0),
20
+ // borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,
21
+ // borderBottomColor: isHorizontal && !hasTextContent ? props.color || themeColor.Separator2 : undefined,
22
+ // borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,
23
+ // borderStyle: "solid",
31
24
  marginVertical: props.margin && props.margin[0] && Number(props.margin[0]) || (isHorizontal ? 20 : 0),
32
25
  marginHorizontal: props.margin && props.margin[1] && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
33
26
  marginLeft: props.margin && props.margin[1] && (props.orientation === "center" || props.orientation === "left") && Number(props.margin[1]) || (isHorizontal ? 0 : 12),
@@ -35,16 +28,10 @@ var getStyles = function getStyles(p) {
35
28
  width: isHorizontal ? props.size : "auto"
36
29
  });
37
30
  var textContainer = {
38
- paddingVertical: 0,
39
- paddingHorizontal: 16,
40
- position: "absolute",
41
- lineHeight: 18,
42
- left: props.orientation === "left" ? 24 : void 0,
43
- right: props.orientation === "right" ? 24 : void 0,
44
- alignSelf: props.orientation === "center" ? "center" : void 0,
45
31
  flexDirection: "row",
46
32
  alignItems: "center",
47
- top: isHorizontal && -9 || 0
33
+ width: "100%"
34
+ // 移除 position absolute,改为正常布局
48
35
  };
49
36
  var textStyle = {
50
37
  fontSize: typography.C2FontSize,
@@ -57,12 +44,30 @@ var getStyles = function getStyles(p) {
57
44
  var secondaryStyle = _objectSpread2(_objectSpread2({}, textStyle), {}, {
58
45
  color: "rgba(51, 51, 51, .3)"
59
46
  });
60
- var beforeStyle = _objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
61
- marginRight: 8,
47
+ var beforeStyle = _objectSpread2(_objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
48
+ marginRight: props.children ? 8 : 0
49
+ }, isHorizontal ? props.orientation === "center" ? {
50
+ flex: 1
51
+ } : {
52
+ width: props.orientation === "left" ? remainingWidth * 0.15 : remainingWidth * 0.85
53
+ } : {
54
+ width: 8
55
+ }), {}, {
56
+ borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
57
+ });
58
+ var afterStyle = _objectSpread2(_objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
59
+ marginLeft: props.children ? 8 : 0
60
+ }, isHorizontal ? props.orientation === "center" ? {
61
+ flex: 1
62
+ } : {
63
+ width: props.orientation === "right" ? remainingWidth * 0.15 : remainingWidth * 0.85
64
+ } : {
65
+ width: 8
66
+ }), {}, {
62
67
  borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
63
68
  });
64
- var afterStyle = _objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
65
- marginLeft: 8,
69
+ var noTextBorderStyle = _objectSpread2(_objectSpread2({}, beforeAfterCommon), {}, {
70
+ width: "auto",
66
71
  borderColor: props.direction === "secondary" ? "rgba(51, 51, 51, .3)" : props.color || themeColor.Separator2
67
72
  });
68
73
  var verticalStyle = _objectSpread2(_objectSpread2({}, dividerStyle), {}, {
@@ -78,7 +83,8 @@ var getStyles = function getStyles(p) {
78
83
  textContainer: textContainer,
79
84
  text: textStyle,
80
85
  before: beforeStyle,
81
- after: afterStyle
86
+ after: afterStyle,
87
+ noTextBorderStyle: noTextBorderStyle
82
88
  });
83
89
  };
84
90
 
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Divider/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\nimport { useThemeColor, useThemeTypography } from \"../ConfigProvider\";\n\nconst baseDivider: ViewStyle = {\n position: \"relative\",\n};\n\nconst baseText: TextStyle = {\n paddingVertical: 0,\n paddingHorizontal: 16,\n position: \"absolute\",\n backgroundColor: \"#fff\",\n lineHeight: 18,\n};\n\nconst getStyles = (p: RedsDivider) => {\n const props = { ...DividerDefaultProps, ...p };\n const themeColor = useThemeColor(\"Divider\");\n const typography = useThemeTypography(\"Divider\");\n const isHorizontal = props.direction === \"horizontal\";\n const beforeAfterCommon: ViewStyle = {\n borderStyle: \"solid\",\n borderTopWidth: 0.5,\n borderColor: props.color || themeColor.Separator2,\n width: 8,\n };\n\n const dividerStyle: ViewStyle = {\n ...baseDivider,\n borderBottomWidth: isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0,\n borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,\n borderBottomColor: isHorizontal ? props.color || themeColor.Separator2 : undefined,\n borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,\n borderStyle: \"solid\",\n marginVertical: (props.margin && props.margin[0] && Number(props.margin[0])) || (isHorizontal ? 20 : 0),\n marginHorizontal: (props.margin && props.margin[1] && Number(props.margin[1])) || (isHorizontal ? 0 : 12),\n marginLeft:\n (props.margin &&\n props.margin[1] &&\n (props.orientation === \"center\" || props.orientation === \"left\") &&\n Number(props.margin[1])) ||\n (isHorizontal ? 0 : 12),\n marginRight:\n (props.margin && props.margin[1] && props.orientation === \"center\" ? Number(props.margin[1]) : 0) ||\n (isHorizontal ? 0 : 12),\n width: (isHorizontal ? props.size : \"auto\") as DimensionValue,\n };\n\n const textContainer: TextStyle = {\n paddingVertical: 0,\n paddingHorizontal: 16,\n position: \"absolute\",\n lineHeight: 18,\n left: props.orientation === \"left\" ? 24 : undefined,\n right: props.orientation === \"right\" ? 24 : undefined,\n alignSelf: props.orientation === \"center\" ? \"center\" : undefined,\n flexDirection: \"row\",\n alignItems: \"center\",\n top: (isHorizontal && -9) || 0,\n };\n\n const textStyle: TextStyle = {\n fontSize: typography.C2FontSize,\n fontWeight: \"400\" as TextStyle[\"fontWeight\"],\n color: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : themeColor.Description,\n };\n\n const primaryStyle: TextStyle = {\n ...textStyle,\n color: themeColor.Description,\n };\n\n const secondaryStyle: TextStyle = {\n ...textStyle,\n color: \"rgba(51, 51, 51, .3)\",\n };\n\n const beforeStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginRight: 8,\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const afterStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginLeft: 8,\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const verticalStyle: ViewStyle = {\n ...dividerStyle,\n height: (props.size || 18) as DimensionValue,\n marginVertical: 0,\n };\n\n return StyleSheet.create({\n divider: baseDivider,\n horizontal: dividerStyle,\n vertical: verticalStyle,\n primary: primaryStyle,\n secondary: secondaryStyle,\n textContainer: textContainer,\n text: textStyle,\n before: beforeStyle,\n after: afterStyle,\n });\n};\n\nexport { getStyles };\n"],"names":["baseDivider","position","getStyles","p","props","_objectSpread","DividerDefaultProps","themeColor","useThemeColor","typography","useThemeTypography","isHorizontal","direction","beforeAfterCommon","borderStyle","borderTopWidth","borderColor","color","Separator2","width","dividerStyle","borderBottomWidth","stroke","StyleSheet","hairlineWidth","borderLeftWidth","borderBottomColor","borderLeftColor","marginVertical","margin","Number","marginHorizontal","marginLeft","orientation","marginRight","size","textContainer","paddingVertical","paddingHorizontal","lineHeight","left","right","alignSelf","flexDirection","alignItems","top","textStyle","fontSize","C2FontSize","fontWeight","Description","primaryStyle","secondaryStyle","beforeStyle","afterStyle","verticalStyle","height","create","divider","horizontal","vertical","primary","secondary","text","before","after"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Divider/styles.ts"],"sourcesContent":["import { StyleSheet, ViewStyle, TextStyle, DimensionValue } from \"react-native\";\nimport { RedsDivider, DividerDefaultProps } from \"./interface\";\n\nconst baseDivider: ViewStyle = {\n position: \"relative\",\n};\n\nconst getStyles = (p: RedsDivider, textWidth: number, containerWidth: number, themeColor: any, typography: any) => {\n const props = { ...DividerDefaultProps, ...p };\n const isHorizontal = props.direction === \"horizontal\";\n const hasTextContent = p.children;\n\n const remainingWidth = containerWidth - textWidth;\n\n const beforeAfterCommon: ViewStyle = {\n borderStyle: \"solid\",\n borderTopWidth: props.stroke || 0.5,\n borderColor: props.color || themeColor.Separator2,\n };\n\n const dividerStyle: ViewStyle = {\n ...baseDivider,\n // borderBottomWidth: isHorizontal && hasTextContent ? 0 : (isHorizontal ? (props.stroke ? props.stroke : StyleSheet.hairlineWidth) : 0),\n // borderLeftWidth: isHorizontal ? 0 : props.stroke ? props.stroke : StyleSheet.hairlineWidth,\n // borderBottomColor: isHorizontal && !hasTextContent ? props.color || themeColor.Separator2 : undefined,\n // borderLeftColor: isHorizontal ? undefined : props.color || themeColor.Separator2,\n // borderStyle: \"solid\",\n marginVertical: (props.margin && props.margin[0] && Number(props.margin[0])) || (isHorizontal ? 20 : 0),\n marginHorizontal: (props.margin && props.margin[1] && Number(props.margin[1])) || (isHorizontal ? 0 : 12),\n marginLeft:\n (props.margin &&\n props.margin[1] &&\n (props.orientation === \"center\" || props.orientation === \"left\") &&\n Number(props.margin[1])) ||\n (isHorizontal ? 0 : 12),\n marginRight:\n (props.margin && props.margin[1] && props.orientation === \"center\" ? Number(props.margin[1]) : 0) ||\n (isHorizontal ? 0 : 12),\n width: (isHorizontal ? props.size : \"auto\") as DimensionValue,\n };\n\n const textContainer: ViewStyle = {\n flexDirection: \"row\",\n alignItems: \"center\",\n width: \"100%\",\n // 移除 position absolute,改为正常布局\n };\n\n const textStyle: TextStyle = {\n fontSize: typography.C2FontSize,\n fontWeight: \"400\" as TextStyle[\"fontWeight\"],\n color: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : themeColor.Description,\n };\n\n const primaryStyle: TextStyle = {\n ...textStyle,\n color: themeColor.Description,\n };\n\n const secondaryStyle: TextStyle = {\n ...textStyle,\n color: \"rgba(51, 51, 51, .3)\",\n };\n\n const beforeStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginRight: props.children ? 8 : 0,\n ...(isHorizontal\n ? props.orientation === \"center\"\n ? { flex: 1 }\n : { width: props.orientation === \"left\" ? remainingWidth * 0.15 : remainingWidth * 0.85 }\n : { width: 8 }),\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const afterStyle: ViewStyle = {\n ...beforeAfterCommon,\n marginLeft: props.children ? 8 : 0,\n ...(isHorizontal\n ? props.orientation === \"center\"\n ? { flex: 1 }\n : { width: props.orientation === \"right\" ? remainingWidth * 0.15 : remainingWidth * 0.85 }\n : { width: 8 }),\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const noTextBorderStyle: ViewStyle = {\n ...beforeAfterCommon,\n width: \"auto\",\n borderColor: props.direction === \"secondary\" ? \"rgba(51, 51, 51, .3)\" : props.color || themeColor.Separator2,\n };\n\n const verticalStyle: ViewStyle = {\n ...dividerStyle,\n height: (props.size || 18) as DimensionValue,\n marginVertical: 0,\n };\n\n return StyleSheet.create({\n divider: baseDivider,\n horizontal: dividerStyle,\n vertical: verticalStyle,\n primary: primaryStyle,\n secondary: secondaryStyle,\n textContainer: textContainer,\n text: textStyle,\n before: beforeStyle,\n after: afterStyle,\n noTextBorderStyle: noTextBorderStyle,\n });\n};\n\nexport { getStyles };\n"],"names":["baseDivider","position","getStyles","p","textWidth","containerWidth","themeColor","typography","props","_objectSpread","DividerDefaultProps","isHorizontal","direction","children","remainingWidth","beforeAfterCommon","borderStyle","borderTopWidth","stroke","borderColor","color","Separator2","dividerStyle","marginVertical","margin","Number","marginHorizontal","marginLeft","orientation","marginRight","width","size","textContainer","flexDirection","alignItems","textStyle","fontSize","C2FontSize","fontWeight","Description","primaryStyle","secondaryStyle","beforeStyle","flex","afterStyle","noTextBorderStyle","verticalStyle","height","StyleSheet","create","divider","horizontal","vertical","primary","secondary","text","before","after"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _ as _slicedToArray } from '../../../_chunks/CAkwE9ZD.js';
1
+ import { _ as _slicedToArray, a as _objectSpread2 } from '../../../_chunks/CAkwE9ZD.js';
2
2
  import React, { useState, useEffect } from 'react';
3
3
  import { TouchableWithoutFeedback, View, Text, Image } from 'react-native';
4
4
  import { useListContext } from './ListContext.js';
@@ -36,6 +36,8 @@ var ListItem = function ListItem(_ref) {
36
36
  children = _ref.children,
37
37
  badgeActionContent = _ref.badgeActionContent;
38
38
  _ref.badgeTitleContent;
39
+ var style = _ref.style,
40
+ lineStyle = _ref.lineStyle;
39
41
  useMounted("ListItem");
40
42
  var styles = createStyles();
41
43
  var _useListContext = useListContext(),
@@ -68,7 +70,7 @@ var ListItem = function ListItem(_ref) {
68
70
  }, /* @__PURE__ */React.createElement(View, {
69
71
  style: [styles.listItem, children ? {} : {
70
72
  height: listItemSizeToHeight[size]
71
- }, size === "expand" && styles.expand]
73
+ }, size === "expand" && styles.expand, style]
72
74
  }, children ? children : /* @__PURE__ */React.createElement(View, {
73
75
  style: [styles.content, contentStyle]
74
76
  }, prefix && /* @__PURE__ */React.createElement(View, {
@@ -76,7 +78,7 @@ var ListItem = function ListItem(_ref) {
76
78
  height: listItemSizeToHeight[size]
77
79
  }, prefixStyle]
78
80
  }, prefix), /* @__PURE__ */React.createElement(View, {
79
- style: [styles.contentBox, lineItem ? styles.hr : {}, {
81
+ style: [styles.contentBox, lineItem ? _objectSpread2(_objectSpread2({}, styles.hr), lineStyle) : {}, {
80
82
  height: listItemSizeToHeight[size]
81
83
  }]
82
84
  }, /* @__PURE__ */React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","sources":["../../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, ReactNode } from \"react\";\nimport { View, Text, Image, TouchableWithoutFeedback, TextStyle, ViewStyle } from \"react-native\";\nimport { useListContext } from \"./ListContext\";\nimport { useColorMode } from \"../../ConfigProvider\";\nimport createStyles from \"../styles\";\nimport useMounted from \"../../../pvCount/useUnmountedProcess\";\nimport { Badge } from \"../../Badge\";\n\nexport interface RedsListItem {\n title: string;\n subtitle?: string;\n actionText?: string;\n size?: \"regular\" | \"expand\";\n arrow?: boolean;\n prefix?: ReactNode;\n action?: ReactNode;\n onClick?: () => void;\n actionTextStyle?: TextStyle;\n prefixStyle?: ViewStyle;\n children?: ReactNode;\n contentStyle?: ViewStyle;\n badgeActionContent?: string;\n badgeTitleContent?: string;\n}\n\nconst ListItem: React.FC<RedsListItem> = ({\n title,\n subtitle,\n actionText,\n size = \"regular\",\n arrow = false,\n prefix,\n action,\n onClick = () => {},\n actionTextStyle = {},\n prefixStyle = {},\n contentStyle = {},\n children,\n badgeActionContent,\n badgeTitleContent,\n}) => {\n useMounted(\"ListItem\");\n const styles = createStyles();\n const { registerChild, unregisterChild } = useListContext();\n const [lineItem, setLineItem] = useState(false);\n const colorMode = useColorMode();\n\n const childInfo = {\n setLine: (value: boolean) => setLineItem(value),\n };\n\n useEffect(() => {\n registerChild(childInfo);\n return () => unregisterChild(childInfo);\n }, []);\n\n const listItemSizeToHeight = {\n regular: 48,\n expand: 72,\n };\n\n return (\n <TouchableWithoutFeedback onPress={() => onClick()}>\n <View\n style={[\n styles.listItem,\n children ? {} : { height: listItemSizeToHeight[size] },\n size === \"expand\" && styles.expand,\n ]}\n >\n {children ? (\n children\n ) : (\n <View style={[styles.content, contentStyle]}>\n {prefix && (\n <View style={[styles.prefix, { height: listItemSizeToHeight[size] }, prefixStyle]}>{prefix}</View>\n )}\n <View style={[styles.contentBox, lineItem ? styles.hr : {}, { height: listItemSizeToHeight[size] }]}>\n <View\n style={[styles.contentContainer, { marginBottom: 12, marginTop: 12 }, prefix ? { height: 48 } : {}]}\n >\n <View style={styles.textContainer}>\n <Text style={styles.title}>{title}</Text>\n {size === \"expand\" && subtitle && <Text style={styles.subtitle}>{subtitle}</Text>}\n </View>\n <View style={styles.tailContainer}>\n {action ? (\n <View style={styles.tail}>{action}</View>\n ) : (\n <View style={styles.tail}>\n <Text style={[styles.tailText, actionTextStyle]}>{actionText}</Text>\n {badgeActionContent && (\n <Badge content={badgeActionContent} position=\"centerLeft\" offset={[-15, 7]}>\n <View></View>\n </Badge>\n )}\n {arrow && (\n <View style={{ height: 16, width: 16 }}>\n <Image\n width={16}\n height={16}\n source={{\n uri:\n colorMode === \"dark\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/ca9c472d2e00bd9ff171736db37844a1020a7bee.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/2aa7929e87409d49353f7ad8c05fcc1752eea2f0.png\",\n }}\n ></Image>\n </View>\n )}\n </View>\n )}\n </View>\n </View>\n </View>\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nexport default ListItem;\n"],"names":["ListItem","title","_ref","subtitle","actionText","_ref$size","size","_ref$arrow","arrow","prefix","action","_ref$onClick","onClick","_ref$actionTextStyle","actionTextStyle","_ref$prefixStyle","prefixStyle","_ref$contentStyle","contentStyle","children","badgeActionContent","badgeTitleContent","useMounted","styles","createStyles","_useListContext","useListContext","registerChild","unregisterChild","_useState","useState","_useState2","_slicedToArray","lineItem","setLineItem","colorMode","useColorMode","childInfo","setLine","value","useEffect","listItemSizeToHeight","regular","expand","React","createElement","TouchableWithoutFeedback","onPress","View","style","listItem","height","content","contentBox","hr","contentContainer","marginBottom","marginTop","textContainer","Text","tailContainer","tail","tailText","Badge","position","offset","width","Image","source","uri"],"mappings":"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"}
1
+ {"version":3,"file":"ListItem.js","sources":["../../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, ReactNode } from \"react\";\nimport { View, Text, Image, TouchableWithoutFeedback, TextStyle, ViewStyle } from \"react-native\";\nimport { useListContext } from \"./ListContext\";\nimport { useColorMode } from \"../../ConfigProvider\";\nimport createStyles from \"../styles\";\nimport useMounted from \"../../../pvCount/useUnmountedProcess\";\nimport { Badge } from \"../../Badge\";\n\nexport interface RedsListItem {\n title: string;\n subtitle?: string;\n actionText?: string;\n size?: \"regular\" | \"expand\";\n arrow?: boolean;\n prefix?: ReactNode;\n action?: ReactNode;\n onClick?: () => void;\n actionTextStyle?: TextStyle;\n prefixStyle?: ViewStyle;\n children?: ReactNode;\n contentStyle?: ViewStyle;\n badgeActionContent?: string;\n badgeTitleContent?: string;\n style?: any;\n lineStyle?: any;\n}\n\nconst ListItem: React.FC<RedsListItem> = ({\n title,\n subtitle,\n actionText,\n size = \"regular\",\n arrow = false,\n prefix,\n action,\n onClick = () => {},\n actionTextStyle = {},\n prefixStyle = {},\n contentStyle = {},\n children,\n badgeActionContent,\n badgeTitleContent,\n style,\n lineStyle,\n}) => {\n useMounted(\"ListItem\");\n const styles = createStyles();\n const { registerChild, unregisterChild } = useListContext();\n const [lineItem, setLineItem] = useState(false);\n const colorMode = useColorMode();\n\n const childInfo = {\n setLine: (value: boolean) => setLineItem(value),\n };\n\n useEffect(() => {\n registerChild(childInfo);\n return () => unregisterChild(childInfo);\n }, []);\n\n const listItemSizeToHeight = {\n regular: 48,\n expand: 72,\n };\n\n return (\n <TouchableWithoutFeedback onPress={() => onClick()}>\n <View\n style={[\n styles.listItem,\n children ? {} : { height: listItemSizeToHeight[size] },\n size === \"expand\" && styles.expand,\n style,\n ]}\n >\n {children ? (\n children\n ) : (\n <View style={[styles.content, contentStyle]}>\n {prefix && (\n <View style={[styles.prefix, { height: listItemSizeToHeight[size] }, prefixStyle]}>{prefix}</View>\n )}\n <View\n style={[\n styles.contentBox,\n lineItem ? { ...styles.hr, ...lineStyle } : {},\n { height: listItemSizeToHeight[size] },\n ]}\n >\n <View\n style={[styles.contentContainer, { marginBottom: 12, marginTop: 12 }, prefix ? { height: 48 } : {}]}\n >\n <View style={styles.textContainer}>\n <Text style={styles.title}>{title}</Text>\n {size === \"expand\" && subtitle && <Text style={styles.subtitle}>{subtitle}</Text>}\n </View>\n <View style={styles.tailContainer}>\n {action ? (\n <View style={styles.tail}>{action}</View>\n ) : (\n <View style={styles.tail}>\n <Text style={[styles.tailText, actionTextStyle]}>{actionText}</Text>\n {badgeActionContent && (\n <Badge content={badgeActionContent} position=\"centerLeft\" offset={[-15, 7]}>\n <View></View>\n </Badge>\n )}\n {arrow && (\n <View style={{ height: 16, width: 16 }}>\n <Image\n width={16}\n height={16}\n source={{\n uri:\n colorMode === \"dark\"\n ? \"https://picasso-static.xiaohongshu.com/fe-platform/ca9c472d2e00bd9ff171736db37844a1020a7bee.png\"\n : \"https://picasso-static.xiaohongshu.com/fe-platform/2aa7929e87409d49353f7ad8c05fcc1752eea2f0.png\",\n }}\n ></Image>\n </View>\n )}\n </View>\n )}\n </View>\n </View>\n </View>\n </View>\n )}\n </View>\n </TouchableWithoutFeedback>\n );\n};\n\nexport default ListItem;\n"],"names":["ListItem","title","_ref","subtitle","actionText","_ref$size","size","_ref$arrow","arrow","prefix","action","_ref$onClick","onClick","_ref$actionTextStyle","actionTextStyle","_ref$prefixStyle","prefixStyle","_ref$contentStyle","contentStyle","children","badgeActionContent","badgeTitleContent","style","lineStyle","useMounted","styles","createStyles","_useListContext","useListContext","registerChild","unregisterChild","_useState","useState","_useState2","_slicedToArray","lineItem","setLineItem","colorMode","useColorMode","childInfo","setLine","value","useEffect","listItemSizeToHeight","regular","expand","React","createElement","TouchableWithoutFeedback","onPress","View","listItem","height","content","contentBox","_objectSpread","hr","contentContainer","marginBottom","marginTop","textContainer","Text","tailContainer","tail","tailText","Badge","position","offset","width","Image","source","uri"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,IAAMA,WAAmC,SAAnCA,eAiBA;AAAA,EAAA,IAhBJC,KAAA,GAAAC,IAAA,CAAAD,KAAA,CAAA;IACAE,QAAA,GAAAD,IAAA,CAAAC,QAAA,CAAA;IACAC,UAAA,GAAAF,IAAA,CAAAE,UAAA,CAAA;IAAAC,SAAA,GAAAH,IAAA,CACAI,IAAO,CAAA;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,SAAA,GAAAA,SAAA,CAAA;IAAAE,UAAA,GAAAL,IAAA,CACPM,KAAQ,CAAA;AAARA,IAAAA,KAAQ,GAAAD,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,UAAA,CAAA;IACRE,MAAA,GAAAP,IAAA,CAAAO,MAAA,CAAA;IACAC,MAAA,GAAAR,IAAA,CAAAQ,MAAA,CAAA;IAAAC,YAAA,GAAAT,IAAA,CACAU;AAAAA,IAAAA,oCAAU,YAAM,EAAC,GAAAD,YAAA,CAAA;IAAAE,oBAAA,GAAAX,IAAA,CACjBY;AAAAA,IAAAA,oDAAkB,EAAC,GAAAD,oBAAA,CAAA;IAAAE,gBAAA,GAAAb,IAAA,CACnBc;AAAAA,IAAAA,4CAAc,EAAC,GAAAD,gBAAA,CAAA;IAAAE,iBAAA,GAAAf,IAAA,CACfgB;AAAAA,IAAAA,8CAAe,EAAC,GAAAD,iBAAA,CAAA;IAChBE,QAAA,GAAAjB,IAAA,CAAAiB,QAAA,CAAA;IACAC,kBAAA,GAAAlB,IAAA,CAAAkB,kBAAA,CAAA;IACAlB,IAAA,CAAAmB,iBAAA,CAAA;QACAC,KAAA,GAAApB,IAAA,CAAAoB,KAAA,CAAA;IACAC,SAAA,GAAArB,IAAA,CAAAqB,UAAA;EAEAC,UAAA,CAAW,UAAU,CAAA,CAAA;AACrB,EAAA,IAAMC,SAASC,YAAa,EAAA,CAAA;AAC5B,EAAA,IAAAC,eAAA,GAA2CC,cAAe,EAAA;IAAlDC,aAAA,GAAAF,eAAA,CAAAE,aAAA;IAAeC,eAAgB,GAAAH,eAAA,CAAhBG,eAAgB,CAAA;AACvC,EAAA,IAAAC,SAAA,GAAgCC,SAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,QAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAUG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMI,YAAYC,YAAa,EAAA,CAAA;AAE/B,EAAA,IAAMC,SAAY,GAAA;AAChBC,IAAAA,OAAS,EAAA,SAATA,OAASA,CAACC,KAAmB,EAAA;MAAA,OAAAL,WAAA,CAAYK,KAAK,CAAA,CAAA;AAAA,KAAA;GAChD,CAAA;AAEAC,EAAAA,SAAA,CAAU,YAAM;IACdb,aAAA,CAAcU,SAAS,CAAA,CAAA;IAChB,OAAA,YAAA;MAAA,OAAMT,gBAAgBS,SAAS,CAAA,CAAA;AAAA,KAAA,CAAA;GACxC,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,IAAMI,oBAAuB,GAAA;AAC3BC,IAAAA,OAAS,EAAA,EAAA;AACTC,IAAAA,MAAQ,EAAA,EAAA;GACV,CAAA;AAEA,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAAC,wBAAA,EAAA;IAAyBC,OAAS,EAAA,SAATA,OAASA,GAAA;MAAA,OAAMrC,SACvC,CAAA;AAAA,KAAA;AAAA,GAAA,iBAAAkC,KAAA,CAAAC,aAAA,CAACG,IAAA,EAAA;IACC5B,KAAO,EAAA,CACLG,MAAO,CAAA0B,QAAA,EACPhC,WAAW,EAAC,GAAI;MAAEiC,MAAQ,EAAAT,oBAAA,CAAqBrC,IAAI,CAAA;KAAE,EACrDA,IAAA,KAAS,YAAYmB,MAAO,CAAAoB,MAAA,EAC5BvB,KAAA,CAAA;GACF,EAECH,QAAA,GACCA,QAEA,kBAAA2B,KAAA,CAAAC,aAAA,CAACG,IAAK,EAAA;AAAA5B,IAAAA,KAAA,EAAO,CAACG,MAAA,CAAO4B,OAAS,EAAAnC,YAAY,CAAA;GACvC,EAAAT,MAAA,mBACEqC,KAAA,CAAAC,aAAA,CAAAG,IAAA,EAAA;AAAK5B,IAAAA,OAAO,CAACG,MAAA,CAAOhB,MAAQ,EAAA;MAAE2C,MAAQ,EAAAT,oBAAA,CAAqBrC,IAAI,CAAA;AAAE,KAAG,EAAAU,WAAW,CAAA;GAAI,EAAAP,MAAO,CAE7F,iBAAAqC,KAAA,CAAAC,aAAA,CAACG,IAAA,EAAA;IACC5B,KAAO,EAAA,CACLG,MAAO,CAAA6B,UAAA,EACPnB,QAAA,GAAAoB,cAAA,CAAAA,cAAA,CAAgB9B,EAAAA,EAAAA,MAAA,CAAO+B,KAAOjC,SAAA,CAAc,GAAA,EAAC,EAC7C;MAAE6B,MAAA,EAAQT,oBAAqB,CAAArC,IAAI,CAAA;KAAE,CAAA;AACvC,GAAA,iBAEAwC,KAAA,CAAAC,aAAA,CAACG,IAAA,EAAA;AACC5B,IAAAA,OAAO,CAACG,MAAA,CAAOgC,gBAAkB,EAAA;AAAEC,MAAAA,cAAc,EAAI;AAAAC,MAAAA,SAAA,EAAW,EAAA;KAAG,EAAGlD,SAAS;AAAE2C,MAAAA,MAAA,EAAQ,EAAA;KAAG,GAAI,EAAE,CAAA;AAAA,GAAA,iBAElGN,KAAA,CAAAC,aAAA,CAACG;IAAK5B,KAAO,EAAAG,MAAA,CAAOmC,aAAAA;oBACjBd,KAAA,CAAAC,aAAA,CAAAc,IAAA,EAAA;IAAKvC,OAAOG,MAAO,CAAAxB,KAAAA;AAAA,GAAA,EAAQA,KAAM,CACjC,EAAAK,IAAA,KAAS,YAAYH,QAAY,mBAAA2C,KAAA,CAAAC,aAAA,CAACc;IAAKvC,KAAO,EAAAG,MAAA,CAAOtB,QAAAA;GAAW,EAAAA,QAAS,CAC5E,CAAA,iBACA2C,KAAA,CAAAC,aAAA,CAACG,IAAK,EAAA;IAAA5B,KAAA,EAAOG,MAAO,CAAAqC,aAAAA;GAAA,EACjBpD,wBACEoC,KAAA,CAAAC,aAAA,CAAAG,IAAA,EAAA;IAAK5B,KAAO,EAAAG,MAAA,CAAOsC,IAAAA;GAAO,EAAArD,MAAO,mBAEjCoC,KAAA,CAAAC,aAAA,CAAAG,IAAA,EAAA;IAAK5B,KAAO,EAAAG,MAAA,CAAOsC,IAAAA;AAClB,GAAA,iBAAAjB,KAAA,CAAAC,aAAA,CAACc;AAAKvC,IAAAA,KAAO,EAAA,CAACG,MAAO,CAAAuC,QAAA,EAAUlD,eAAe,CAAA;AAAA,GAAA,EAAIV,UAAW,CAC5D,EAAAgB,kBAAA,mBACE0B,KAAA,CAAAC,aAAA,CAAAkB,KAAA,EAAA;AAAMZ,IAAAA,OAAS,EAAAjC,kBAAA;AAAoB8C,IAAAA,UAAS,YAAa;AAAAC,IAAAA,MAAA,EAAQ,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA;GAAA,qCACtEjB,IAAK,EAAA,IAAA,CACR,CAED,EAAA1C,KAAA,mBACEsC,KAAA,CAAAC,aAAA,CAAAG,IAAA,EAAA;AAAK5B,IAAAA,KAAO,EAAA;AAAE8B,MAAAA,MAAQ,EAAA,EAAA;AAAIgB,MAAAA,KAAO,EAAA,EAAA;AAAG,KAAA;AACnC,GAAA,iBAAAtB,KAAA,CAAAC,aAAA,CAACsB,KAAA,EAAA;AACCD,IAAAA,KAAO,EAAA,EAAA;AACPhB,IAAAA,MAAQ,EAAA,EAAA;AACRkB,IAAAA,MAAQ,EAAA;AACNC,MAAAA,GAAA,EACElC,SAAc,KAAA,MAAA,GACV,iGACA,GAAA,iGAAA;AACR,KAAA;GACD,CACH,CAEJ,CAEJ,CACF,CACF,CACF,CAEJ,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -18,26 +18,61 @@ var Wheel = function Wheel(props) {
18
18
  _props$accessibility = props.accessibility,
19
19
  accessibility = _props$accessibility === void 0 ? {} : _props$accessibility;
20
20
  var scrollerRef = useRef();
21
- var themeColor = useThemeColor();
22
- var _useState = useState(value),
21
+ var _useState = useState(false),
23
22
  _useState2 = _slicedToArray(_useState, 2),
24
- lastValue = _useState2[0],
25
- setLastValue = _useState2[1];
23
+ scrollEnded = _useState2[0],
24
+ setScrollEnded = _useState2[1];
25
+ var _useState3 = useState(0),
26
+ _useState4 = _slicedToArray(_useState3, 2),
27
+ scrollHeight = _useState4[0],
28
+ setScrollHeight = _useState4[1];
29
+ var _useState5 = useState(value),
30
+ _useState6 = _slicedToArray(_useState5, 2),
31
+ lastValue = _useState6[0],
32
+ setLastValue = _useState6[1];
33
+ var onScrollEndDrag = function onScrollEndDrag() {
34
+ setScrollEnded(true);
35
+ };
26
36
  useEffect(function () {
27
37
  if (value !== lastValue) {
28
38
  var idx = getSelectIndex(column, value);
29
- handleScroll(idx);
39
+ setIndex(idx);
30
40
  }
31
41
  }, [column, value]);
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);
42
+ var themeColor = useThemeColor();
43
+ var _useState7 = useState(),
44
+ _useState8 = _slicedToArray(_useState7, 2),
45
+ index = _useState8[0],
46
+ setIndex = _useState8[1];
47
+ var timer = useRef();
48
+ useEffect(function () {
49
+ value && setIndex(getSelectIndex(column, value));
50
+ }, [column, value]);
51
+ useEffect(function () {
52
+ var _column$index;
53
+ var newVal = column === null || column === void 0 || (_column$index = column[index]) === null || _column$index === void 0 ? void 0 : _column$index.value;
54
+ scrollTo(index * itemHeight);
36
55
  if (newVal) {
37
- setLastValue(newVal);
38
56
  onSelect(newVal, props.index);
57
+ setLastValue(newVal);
39
58
  }
40
- };
59
+ }, [index, props.index]);
60
+ useEffect(function () {
61
+ if (scrollEnded) {
62
+ if (scrollHeight != null) {
63
+ timer.current = setTimeout(function () {
64
+ var selectIndex = Math.round(scrollHeight / itemHeight);
65
+ if (selectIndex >= 0 && selectIndex < column.length) {
66
+ setIndex(selectIndex);
67
+ }
68
+ }, 0);
69
+ }
70
+ setScrollEnded(false);
71
+ }
72
+ return function () {
73
+ timer.current && clearTimeout(timer.current);
74
+ };
75
+ }, [scrollEnded]);
41
76
  var scrollTo = function scrollTo(y) {
42
77
  setTimeout(function () {
43
78
  var _scrollerRef$current, _scrollerRef$current$;
@@ -61,18 +96,21 @@ var Wheel = function Wheel(props) {
61
96
  (_e$persist = e.persist) === null || _e$persist === void 0 || _e$persist.call(e);
62
97
  var contentOffset = e.nativeEvent.contentOffset;
63
98
  var selectIndex = Math.round(contentOffset.y / itemHeight);
99
+ setIndex(selectIndex);
64
100
  var newVal = column === null || column === void 0 || (_column$selectIndex = column[selectIndex]) === null || _column$selectIndex === void 0 ? void 0 : _column$selectIndex.value;
65
101
  setLastValue(newVal);
66
- onSelect(newVal, props.index);
67
102
  };
68
- var handleClick = function handleClick(index) {
69
- handleScroll(index);
103
+ var onScroll = function onScroll(e) {
104
+ setScrollHeight(e.nativeEvent.contentOffset.y);
105
+ };
106
+ var handleClick = function handleClick(index2) {
107
+ setIndex(index2);
70
108
  };
71
109
  var renderItems = function renderItems() {
72
- return column.map(function (item, index) {
110
+ return column.map(function (item, index2) {
73
111
  return /* @__PURE__ */React.createElement(TouchableNativeFeedback, {
74
112
  onPress: function onPress() {
75
- return handleClick(index);
113
+ return handleClick(index2);
76
114
  },
77
115
  key: item.value
78
116
  }, /* @__PURE__ */React.createElement(View, _objectSpread2({
@@ -106,6 +144,9 @@ var Wheel = function Wheel(props) {
106
144
  decelerationRate: "fast",
107
145
  snapToInterval: itemHeight,
108
146
  onMomentumScrollEnd: onMomentumScrollEnd,
147
+ onScrollEndDrag: onScrollEndDrag,
148
+ onScroll: onScroll,
149
+ scrollEventThrottle: 16,
109
150
  testID: "wheel".concat(props.index)
110
151
  }, accessibility), /* @__PURE__ */React.createElement(View, {
111
152
  style: {