@xhsreds/reds-rn-next 0.11.1-premode-test.1 → 0.11.1-web202512221520

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 (174) 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-21.json +1 -1
  12. package/coverage/.tmp/coverage-22.json +1 -1
  13. package/coverage/.tmp/coverage-23.json +1 -1
  14. package/coverage/.tmp/coverage-24.json +1 -1
  15. package/coverage/.tmp/coverage-25.json +1 -1
  16. package/coverage/.tmp/coverage-26.json +1 -1
  17. package/coverage/.tmp/coverage-27.json +1 -1
  18. package/coverage/.tmp/coverage-3.json +1 -1
  19. package/coverage/.tmp/coverage-34.json +1 -1
  20. package/coverage/.tmp/coverage-35.json +1 -1
  21. package/coverage/.tmp/coverage-37.json +1 -1
  22. package/coverage/.tmp/coverage-38.json +1 -1
  23. package/coverage/.tmp/coverage-39.json +1 -1
  24. package/coverage/.tmp/coverage-4.json +1 -1
  25. package/coverage/.tmp/coverage-40.json +1 -1
  26. package/coverage/.tmp/coverage-41.json +1 -1
  27. package/coverage/.tmp/coverage-5.json +1 -1
  28. package/coverage/.tmp/coverage-6.json +1 -1
  29. package/coverage/.tmp/coverage-7.json +1 -1
  30. package/coverage/.tmp/coverage-8.json +1 -1
  31. package/coverage/.tmp/coverage-9.json +1 -1
  32. package/lib/cjs/_chunks/BiKD1VTc.js.map +1 -1
  33. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
  34. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +3 -0
  35. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  36. package/lib/cjs/components/Alert/Alert.js +12 -9
  37. package/lib/cjs/components/Alert/Alert.js.map +1 -1
  38. package/lib/cjs/components/Alert/hooks/alert.js +1 -0
  39. package/lib/cjs/components/Alert/hooks/alert.js.map +1 -1
  40. package/lib/cjs/components/Alert/index.js +1 -0
  41. package/lib/cjs/components/Alert/index.js.map +1 -1
  42. package/lib/cjs/components/Button/Viewable.web.js +47 -0
  43. package/lib/cjs/components/Button/Viewable.web.js.map +1 -0
  44. package/lib/cjs/components/Collapse/Item/Item.web.js +164 -0
  45. package/lib/cjs/components/Collapse/Item/Item.web.js.map +1 -0
  46. package/lib/cjs/components/Image/index.js +1 -1
  47. package/lib/cjs/components/Image/index.js.map +1 -1
  48. package/lib/cjs/components/NoticeBar/NoticeBar.js +12 -6
  49. package/lib/cjs/components/NoticeBar/NoticeBar.js.map +1 -1
  50. package/lib/cjs/components/PickerView/PickerView.js +2 -1
  51. package/lib/cjs/components/PickerView/PickerView.js.map +1 -1
  52. package/lib/cjs/components/PickerView/Wheel.js +22 -2
  53. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  54. package/lib/cjs/components/Popover/Popover.js +24 -28
  55. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  56. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +3 -3
  57. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  58. package/lib/cjs/components/Radio/Radio.js +1 -0
  59. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  60. package/lib/cjs/components/Radio/index.js +1 -0
  61. package/lib/cjs/components/Radio/index.js.map +1 -1
  62. package/lib/cjs/components/Sheets/AnimatedSheets.js +13 -2
  63. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  64. package/lib/cjs/components/SlimAlert/Alert.js +12 -8
  65. package/lib/cjs/components/SlimAlert/Alert.js.map +1 -1
  66. package/lib/cjs/components/SlimAlert/PortalHost.js +28 -0
  67. package/lib/cjs/components/SlimAlert/PortalHost.js.map +1 -0
  68. package/lib/cjs/components/SlimAlert/PortalHost.web.js +12171 -0
  69. package/lib/cjs/components/SlimAlert/PortalHost.web.js.map +1 -0
  70. package/lib/cjs/components/SlimAlert/index.js +1 -0
  71. package/lib/cjs/components/SlimAlert/index.js.map +1 -1
  72. package/lib/cjs/components/Tag/Tag.js +10 -3
  73. package/lib/cjs/components/Tag/Tag.js.map +1 -1
  74. package/lib/cjs/components/TextField/TextField.js +22 -12
  75. package/lib/cjs/components/TextField/TextField.js.map +1 -1
  76. package/lib/cjs/components/TextView/TextView.js +4 -2
  77. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  78. package/lib/cjs/components/Toast/Toast.js +1 -1
  79. package/lib/cjs/components/Toast/Toast.js.map +1 -1
  80. package/lib/cjs/index.js +1 -0
  81. package/lib/cjs/index.js.map +1 -1
  82. package/lib/cjs/pvCount/pvData.js +11 -6
  83. package/lib/cjs/pvCount/pvData.js.map +1 -1
  84. package/lib/esm/_chunks/Dr5vetot.js.map +1 -1
  85. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
  86. package/lib/esm/components/ActionablePopover/ActionablePopover.js +3 -0
  87. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  88. package/lib/esm/components/Alert/Alert.js +12 -9
  89. package/lib/esm/components/Alert/Alert.js.map +1 -1
  90. package/lib/esm/components/Alert/hooks/alert.js +1 -0
  91. package/lib/esm/components/Alert/hooks/alert.js.map +1 -1
  92. package/lib/esm/components/Alert/index.js +1 -0
  93. package/lib/esm/components/Alert/index.js.map +1 -1
  94. package/lib/esm/components/Button/Viewable.web.js +43 -0
  95. package/lib/esm/components/Button/Viewable.web.js.map +1 -0
  96. package/lib/esm/components/Collapse/Item/Item.web.js +160 -0
  97. package/lib/esm/components/Collapse/Item/Item.web.js.map +1 -0
  98. package/lib/esm/components/Image/index.js +1 -1
  99. package/lib/esm/components/Image/index.js.map +1 -1
  100. package/lib/esm/components/NoticeBar/NoticeBar.js +13 -7
  101. package/lib/esm/components/NoticeBar/NoticeBar.js.map +1 -1
  102. package/lib/esm/components/PickerView/PickerView.js +2 -1
  103. package/lib/esm/components/PickerView/PickerView.js.map +1 -1
  104. package/lib/esm/components/PickerView/Wheel.js +23 -3
  105. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  106. package/lib/esm/components/Popover/Popover.js +24 -28
  107. package/lib/esm/components/Popover/Popover.js.map +1 -1
  108. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +4 -4
  109. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  110. package/lib/esm/components/Radio/Radio.js +1 -0
  111. package/lib/esm/components/Radio/Radio.js.map +1 -1
  112. package/lib/esm/components/Radio/index.js +1 -0
  113. package/lib/esm/components/Radio/index.js.map +1 -1
  114. package/lib/esm/components/Sheets/AnimatedSheets.js +13 -2
  115. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  116. package/lib/esm/components/SlimAlert/Alert.js +12 -8
  117. package/lib/esm/components/SlimAlert/Alert.js.map +1 -1
  118. package/lib/esm/components/SlimAlert/PortalHost.js +24 -0
  119. package/lib/esm/components/SlimAlert/PortalHost.js.map +1 -0
  120. package/lib/esm/components/SlimAlert/PortalHost.web.js +12167 -0
  121. package/lib/esm/components/SlimAlert/PortalHost.web.js.map +1 -0
  122. package/lib/esm/components/SlimAlert/index.js +1 -0
  123. package/lib/esm/components/SlimAlert/index.js.map +1 -1
  124. package/lib/esm/components/Tag/Tag.js +12 -5
  125. package/lib/esm/components/Tag/Tag.js.map +1 -1
  126. package/lib/esm/components/TextField/TextField.js +22 -12
  127. package/lib/esm/components/TextField/TextField.js.map +1 -1
  128. package/lib/esm/components/TextView/TextView.js +4 -2
  129. package/lib/esm/components/TextView/TextView.js.map +1 -1
  130. package/lib/esm/components/Toast/Toast.js +2 -2
  131. package/lib/esm/components/Toast/Toast.js.map +1 -1
  132. package/lib/esm/index.js +1 -0
  133. package/lib/esm/index.js.map +1 -1
  134. package/lib/esm/pvCount/pvData.js +11 -6
  135. package/lib/esm/pvCount/pvData.js.map +1 -1
  136. package/lib/src/components/Button/Viewable.web.d.ts +3 -0
  137. package/lib/src/components/Collapse/Item/Item.web.d.ts +7 -0
  138. package/lib/src/components/Form/interface/index.d.ts +0 -1
  139. package/lib/src/components/Image/interface/index.d.ts +0 -2
  140. package/lib/src/components/Search/interface/index.d.ts +0 -2
  141. package/lib/src/components/Slider/interface/index.d.ts +0 -2
  142. package/lib/src/components/SlimAlert/Alert.d.ts +1 -1
  143. package/lib/src/components/SlimAlert/PortalHost.d.ts +6 -0
  144. package/lib/src/components/SlimAlert/PortalHost.web.d.ts +6 -0
  145. package/lib/src/components/Video/interface/index.d.ts +0 -2
  146. package/lib/types/components/Button/Viewable.web.d.ts +3 -0
  147. package/lib/types/components/Collapse/Item/Item.web.d.ts +7 -0
  148. package/lib/types/components/SlimAlert/Alert.d.ts +1 -1
  149. package/lib/types/components/SlimAlert/PortalHost.d.ts +6 -0
  150. package/lib/types/components/SlimAlert/PortalHost.web.d.ts +6 -0
  151. package/package.json +9 -5
  152. package/src/components/ActionSheets/ActionSheets.tsx +0 -1
  153. package/src/components/ActionablePopover/ActionablePopover.tsx +3 -0
  154. package/src/components/Alert/Alert.tsx +5 -5
  155. package/src/components/Button/Viewable.web.tsx +44 -0
  156. package/src/components/Collapse/Item/Item.web.tsx +150 -0
  157. package/src/components/DatePicker/interface/index.ts +1 -0
  158. package/src/components/Image/index.ts +1 -1
  159. package/src/components/NoticeBar/NoticeBar.tsx +29 -5
  160. package/src/components/PickerView/PickerView.tsx +1 -1
  161. package/src/components/PickerView/Wheel.tsx +32 -3
  162. package/src/components/Popover/Popover.tsx +24 -26
  163. package/src/components/ProgressIndicator/ProgressIndicator.tsx +4 -12
  164. package/src/components/Sheets/AnimatedSheets.tsx +7 -3
  165. package/src/components/SlimAlert/Alert.tsx +9 -7
  166. package/src/components/SlimAlert/PortalHost.tsx +7 -0
  167. package/src/components/SlimAlert/PortalHost.web.tsx +11 -0
  168. package/src/components/Tag/Tag.tsx +7 -3
  169. package/src/components/TextField/TextField.tsx +19 -8
  170. package/src/components/TextView/TextView.tsx +15 -3
  171. package/src/components/Toast/Toast.tsx +2 -2
  172. package/src/i18n/@types/resources.d.ts +27 -27
  173. package/src/i18n/index.json +31 -31
  174. package/tsconfig.dts.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport { NativeScrollEvent, NativeSyntheticEvent, ScrollView, View, Text, TouchableNativeFeedback } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n const [scrollEnded, setScrollEnded] = useState(false);\n\n const [scrollHeight, setScrollHeight] = useState(0);\n\n const [lastValue, setLastValue] = useState(value);\n\n const onScrollEndDrag = () => {\n setScrollEnded(true);\n };\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n setIndex(idx);\n }\n }, [column, value]);\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n const timer = useRef<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n setLastValue(newVal);\n }\n }, [index, props.index]);\n\n useEffect(() => {\n if (scrollEnded) {\n // @ts-ignore\n if (scrollHeight != null) {\n timer.current = setTimeout(() => {\n const selectIndex = Math.round(scrollHeight / itemHeight);\n if (selectIndex >= 0 && selectIndex < column.length) {\n setIndex(selectIndex);\n }\n }, 0);\n }\n setScrollEnded(false);\n }\n return () => {\n timer.current && clearTimeout(timer.current);\n };\n }, [scrollEnded]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n };\n\n const onScroll = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n setScrollHeight(e.nativeEvent.contentOffset.y);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback onPress={() => handleClick(index)} key={item.value}>\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n return (\n <ScrollView\n style={{ flex: 1 }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onScrollEndDrag}\n onScroll={onScroll}\n scrollEventThrottle={16}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","_useState","useState","_useState2","_slicedToArray","scrollEnded","setScrollEnded","_useState3","_useState4","scrollHeight","setScrollHeight","_useState5","_useState6","lastValue","setLastValue","onScrollEndDrag","useEffect","idx","getSelectIndex","setIndex","themeColor","useThemeColor","_useState7","_useState8","index","timer","_column$index","newVal","scrollTo","current","setTimeout","selectIndex","Math","round","length","clearTimeout","y","_scrollerRef$current","_scrollerRef$current$","call","animated","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","onScroll","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","View","_objectSpread","style","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","scrollEventThrottle","testID","concat"],"mappings":"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"}
1
+ {"version":3,"file":"Wheel.js","sources":["../../../../src/components/PickerView/Wheel.tsx"],"sourcesContent":["import React, { useRef, useState, useEffect } from \"react\";\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n View,\n Text,\n TouchableNativeFeedback,\n Platform,\n} from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nimport { RedsWheel, Column } from \"./interface/index\";\nimport styles from \"./styles\";\n\nconst itemHeight = 40;\n\nconst Wheel = (props: RedsWheel) => {\n const { value, column = [], onSelect = () => {}, accessibility = {} } = props;\n\n /**\n * 滚动ref\n */\n const scrollerRef = useRef();\n\n const [scrollEnded, setScrollEnded] = useState(false);\n\n const [scrollHeight, setScrollHeight] = useState(0);\n\n const [lastValue, setLastValue] = useState(value);\n\n const onScrollEndDrag = () => {\n setScrollEnded(true);\n };\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n if (value !== lastValue) {\n const idx = getSelectIndex(column, value);\n setIndex(idx);\n }\n }, [column, value]);\n\n /**\n * themeColor\n */\n const themeColor = useThemeColor();\n\n /**\n * index\n */\n const [index, setIndex] = useState<any>();\n\n const timer = useRef<any>();\n\n /**\n * 初始化滚动高度\n */\n useEffect(() => {\n value && setIndex(getSelectIndex(column, value));\n }, [column, value]);\n\n useEffect(() => {\n const newVal = column?.[index]?.value;\n scrollTo(index * itemHeight);\n if (newVal) {\n onSelect(newVal, props.index);\n setLastValue(newVal);\n }\n }, [index, props.index]);\n\n useEffect(() => {\n if (scrollEnded) {\n // @ts-ignore\n if (scrollHeight != null) {\n timer.current = setTimeout(() => {\n const selectIndex = Math.round(scrollHeight / itemHeight);\n if (selectIndex >= 0 && selectIndex < column.length) {\n setIndex(selectIndex);\n }\n }, 0);\n }\n setScrollEnded(false);\n }\n return () => {\n timer.current && clearTimeout(timer.current);\n };\n }, [scrollEnded]);\n\n /**\n * 滚动ScrollView\n * @param y 滚动距离\n */\n const scrollTo = (y: any) => {\n setTimeout(() => {\n // @ts-ignore\n scrollerRef?.current?.scrollTo?.({\n y,\n animated: true,\n });\n });\n };\n\n /**\n * 计算当前滚动高度\n * @param column 数组\n * @param value 选中值\n * @returns\n */\n const getSelectIndex = (column: Column[], value?: string) => {\n return value\n ? Math.max(\n column.findIndex((item) => {\n if (isNaN(parseInt(item.value)) || isNaN(parseInt(value))) {\n return value && item.value === value;\n } else {\n return value && parseInt(item.value) === parseInt(value);\n }\n }),\n 0,\n )\n : 0;\n };\n\n /**\n * 结束滚动\n * @param e\n */\n const onMomentumScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n e.persist?.();\n let contentOffset = e.nativeEvent.contentOffset;\n const selectIndex = Math.round(contentOffset.y / itemHeight);\n setIndex(selectIndex);\n const newVal = column?.[selectIndex]?.value;\n setLastValue(newVal);\n };\n\n const onScroll = (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n setScrollHeight(e.nativeEvent.contentOffset.y);\n };\n\n const handleClick = (index: number) => {\n setIndex(index);\n };\n\n /**\n * 渲染item\n * @returns ReactNode\n */\n const renderItems = () => {\n return column.map((item, index) => (\n <TouchableNativeFeedback\n onPress={() => handleClick(index)}\n key={item.value}\n // @ts-expect-error\n style={Platform.OS === \"web\" ? { border: \"none\", alignSelf: \"inherit\" } : {}}\n >\n <View\n style={[styles.wheel, { height: itemHeight, backgroundColor: themeColor.Bg2 }]}\n key={item.value}\n {...item.accessibility}\n >\n <Text {...item.accessibility} style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {item.label}\n </Text>\n </View>\n </TouchableNativeFeedback>\n ));\n };\n\n useEffect(() => {\n if (Platform.OS !== \"web\") {\n return;\n }\n const handleScrollEnd = (e: any) => {\n const selectIndex = Math.round(e.target.scrollTop / itemHeight);\n setIndex(selectIndex);\n };\n // @ts-expect-error\n scrollerRef.current?.addEventListener(\"scrollend\", handleScrollEnd);\n return () => {\n // @ts-expect-error\n scrollerRef.current?.removeEventListener(\"scrollend\", handleScrollEnd);\n };\n }, [scrollerRef.current, itemHeight]);\n\n return (\n <ScrollView\n style={{ flex: 1, height: \"100%\" }}\n nestedScrollEnabled\n horizontal={false}\n ref={(el: any) => (scrollerRef.current = el)}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n pagingEnabled={false}\n automaticallyAdjustContentInsets={false}\n directionalLockEnabled={true}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onScrollEndDrag}\n onScroll={onScroll}\n scrollEventThrottle={16}\n testID={`wheel${props.index}`}\n {...accessibility}\n >\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n {renderItems()}\n <View style={{ height: 2 * itemHeight, backgroundColor: themeColor.Bg2 }} />\n </ScrollView>\n );\n};\n\nexport default Wheel;\n"],"names":["itemHeight","Wheel","props","value","_props$column","column","_props$onSelect","onSelect","_props$accessibility","accessibility","scrollerRef","useRef","_useState","useState","_useState2","_slicedToArray","scrollEnded","setScrollEnded","_useState3","_useState4","scrollHeight","setScrollHeight","_useState5","_useState6","lastValue","setLastValue","onScrollEndDrag","useEffect","idx","getSelectIndex","setIndex","themeColor","useThemeColor","_useState7","_useState8","index","timer","_column$index","newVal","scrollTo","current","setTimeout","selectIndex","Math","round","length","clearTimeout","y","_scrollerRef$current","_scrollerRef$current$","call","animated","max","findIndex","item","isNaN","parseInt","onMomentumScrollEnd","e","_e$persist","_column$selectIndex","persist","contentOffset","nativeEvent","onScroll","handleClick","renderItems","map","React","createElement","TouchableNativeFeedback","onPress","key","style","Platform","OS","border","alignSelf","View","_objectSpread","styles","wheel","height","backgroundColor","Bg2","Text","color","Title","fontSize","typography","B1FontSize","label","_scrollerRef$current2","handleScrollEnd","target","scrollTop","addEventListener","_scrollerRef$current3","removeEventListener","ScrollView","flex","nestedScrollEnabled","horizontal","ref","el","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","pagingEnabled","automaticallyAdjustContentInsets","directionalLockEnabled","decelerationRate","snapToInterval","scrollEventThrottle","testID","concat"],"mappings":"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"}
@@ -56,45 +56,38 @@ var Popover = (function (_ref) {
56
56
  _useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
57
57
  _visible = _useState2[0],
58
58
  setVisible = _useState2[1];
59
+ var _useState3 = React.useState({}),
60
+ _useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
61
+ floatStyles = _useState4[0],
62
+ setFloatStyles = _useState4[1];
63
+ var _useState5 = React.useState({}),
64
+ _useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
65
+ arrowStyles = _useState6[0],
66
+ setArrowStyles = _useState6[1];
59
67
  var progress = React.useRef(new reactNative.Animated.Value(0)).current;
60
68
  var childRef = React.useRef(null);
61
- var _useState3 = React.useState({
62
- x: defaultValue,
63
- y: defaultValue,
64
- width: 0,
65
- height: 0
66
- }),
67
- _useState4 = _rollupPluginBabelHelpers._slicedToArray(_useState3, 2),
68
- layout = _useState4[0],
69
- setLayout = _useState4[1];
70
- var _useState5 = React.useState({
69
+ var _useState7 = React.useState({
71
70
  x: defaultValue,
72
71
  y: defaultValue,
73
72
  width: 0,
74
73
  height: 0
75
74
  }),
76
- _useState6 = _rollupPluginBabelHelpers._slicedToArray(_useState5, 2),
77
- floatingLayout = _useState6[0],
78
- setFloatingLayout = _useState6[1];
79
- var floatStyles = React.useMemo(function () {
75
+ _useState8 = _rollupPluginBabelHelpers._slicedToArray(_useState7, 2),
76
+ layout = _useState8[0],
77
+ setLayout = _useState8[1];
78
+ var handleFloatingLayout = function handleFloatingLayout(e) {
79
+ var floatingLayout = e.nativeEvent.layout;
80
80
  var start = ["top-start", "bottom-start"].includes(placement);
81
81
  var mid = ["top", "bottom"].includes(placement);
82
82
  var end = ["top-end", "bottom-end"].includes(placement);
83
83
  var diffX = floatingLayout.width - layout.width;
84
- var isHarmony = Platform.OS === "harmony";
85
- return layout.height ? {
84
+ var isHarmony = reactNative.Platform.OS === "harmony";
85
+ var floatStyles2 = layout.height ? {
86
86
  position: "absolute",
87
87
  top: (placement.includes("top") ? layout.y - floatingLayout.height - 12 : layout.y + layout.height + 12) - ((offset === null || offset === void 0 ? void 0 : offset.y) || 0),
88
88
  left: (start ? layout.x : mid ? layout.x - diffX / 2 : end ? layout.x - diffX : 0) + ((offset === null || offset === void 0 ? void 0 : offset.x) || 0) - (isHarmony ? reactNative.Dimensions.get("screen").width : 0)
89
89
  } : {};
90
- }, [placement, layout, floatingLayout]);
91
- var arrowStyles = React.useMemo(function () {
92
- var start = ["top-start", "bottom-start"].includes(placement);
93
- var mid = ["top", "bottom"].includes(placement);
94
- var end = ["top-end", "bottom-end"].includes(placement);
95
- var diffX = floatingLayout.width - layout.width;
96
- var isHarmony = Platform.OS === "harmony";
97
- return layout.height ? {
90
+ var arrowStyles2 = layout.height ? {
98
91
  transform: [{
99
92
  rotate: placement.includes("top") ? "0deg" : "180deg"
100
93
  }],
@@ -102,7 +95,9 @@ var Popover = (function (_ref) {
102
95
  top: (placement.includes("top") ? layout.y - 12 : layout.y + layout.height + 6) + ((offset === null || offset === void 0 ? void 0 : offset.y) || 0) + ((arrowOffset === null || arrowOffset === void 0 ? void 0 : arrowOffset.y) || 0),
103
96
  left: (start ? layout.x + 8 : mid ? layout.x - diffX / 2 + floatingLayout.width / 2 - 6 : end ? layout.x - diffX + floatingLayout.width - 24 : 0) + ((offset === null || offset === void 0 ? void 0 : offset.x) || 0) + ((arrowOffset === null || arrowOffset === void 0 ? void 0 : arrowOffset.x) || 0) - (isHarmony ? reactNative.Dimensions.get("screen").width : 0)
104
97
  } : {};
105
- }, [placement, layout, floatingLayout, offset]);
98
+ setFloatStyles(floatStyles2);
99
+ setArrowStyles(arrowStyles2);
100
+ };
106
101
  React.useEffect(function () {
107
102
  var timer;
108
103
  if (duration) {
@@ -201,6 +196,9 @@ var Popover = (function (_ref) {
201
196
  },
202
197
  onPressOut: function onPressOut(e) {
203
198
  trigger === "touch" && onMaskChange(e, false);
199
+ if (reactNative.Platform.OS === "web" && trigger === "click") {
200
+ onMaskChange(e, true);
201
+ }
204
202
  }
205
203
  }, /* @__PURE__ */React.createElement(reactNative.View, {
206
204
  collapsable: false,
@@ -225,9 +223,7 @@ var Popover = (function (_ref) {
225
223
  zIndex: zIndex
226
224
  }, /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement(reactNative.Animated.View, {
227
225
  collapsable: false,
228
- onLayout: function onLayout(e) {
229
- setFloatingLayout(e.nativeEvent.layout);
230
- },
226
+ onLayout: handleFloatingLayout,
231
227
  style: _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
232
228
  backgroundColor: popoverStyle.backgroundColor,
233
229
  paddingHorizontal: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState, useMemo, isValidElement, useEffect, useRef } from \"react\";\nimport { Text, View, TouchableWithoutFeedback, GestureResponderEvent, Animated, Image, Dimensions } from \"react-native\";\nimport { RedsPopover } from \"./interface/index\";\nimport { ModalWrapper } from \"./component\";\nimport { darkColor, lightColor, typography } from \"@xhsreds/reds-token-next\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { Portal } from \"../Portal\";\nconst defaultValue = -9999;\n\nexport default ({\n mode = \"light\",\n opacity = 0,\n content,\n children,\n isControl = false,\n placement = \"top\",\n closeOnClickAgain = true,\n trigger = \"click\",\n zIndex = 1000,\n visible,\n onVisibleChange,\n onClickMask: _onClickMask,\n popContainerStyle = {},\n arrowStyles: propsArrowStyles,\n offset,\n duration,\n animation_duration,\n hostName,\n maxWidth,\n arrowOffset,\n}: RedsPopover) => {\n useMounted(\"Popover\");\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 [layout, setLayout] = useState({\n x: defaultValue,\n y: defaultValue,\n width: 0,\n height: 0,\n });\n\n const [floatingLayout, setFloatingLayout] = useState({\n x: defaultValue,\n y: defaultValue,\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 if (layout.x !== defaultValue) {\n Animated.timing(progress, {\n toValue: 1,\n duration: animation_duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n } else {\n Animated.timing(progress, {\n toValue: 0,\n duration: animation_duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n }, [_visible, layout, animation_duration]);\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 let color: typeof lightColor | typeof darkColor = lightColor;\n if (mode === \"light\") color = lightColor;\n if (mode === \"dark\") color = darkColor;\n return {\n backgroundColor: color.Fill5,\n color: color.White,\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 {_visible && layout.x !== defaultValue ? (\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 <>\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 paddingHorizontal: 12,\n paddingVertical: 7,\n maxWidth: maxWidth || 280,\n minHeight: 30,\n borderRadius: 8,\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 {typeof content === \"function\" ? (\n (content as any)()\n ) : (\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.B2LooseFontSize,\n lineHeight: typography.B2LooseLineHeight,\n color: popoverStyle.color,\n }}\n >\n {content}\n </Text>\n )}\n </Animated.View>\n <Image\n source={{ uri: angle }}\n // @ts-expect-error\n style={{\n width: 14,\n height: 6,\n zIndex: zIndex + 9,\n ...arrowStyles,\n ...propsArrowStyles,\n }}\n />\n </>\n </ModalWrapper>\n </Portal>\n ) : (\n <></>\n )}\n </>\n );\n};\n"],"names":["defaultValue","_ref","_ref$mode","mode","_ref$opacity","opacity","content","children","_ref$isControl","isControl","_ref$placement","placement","_ref$closeOnClickAgai","closeOnClickAgain","_ref$trigger","trigger","_ref$zIndex","zIndex","visible","onVisibleChange","_onClickMask","onClickMask","_ref$popContainerStyl","popContainerStyle","propsArrowStyles","arrowStyles","offset","duration","animation_duration","hostName","maxWidth","arrowOffset","useMounted","needModal","useMemo","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","progress","useRef","Animated","Value","current","childRef","_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","color","lightColor","darkColor","backgroundColor","Fill5","White","angle","_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","Fragment","onLayout","nativeEvent","_objectSpread","paddingHorizontal","paddingVertical","minHeight","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Text","fontWeight","typography","B2LooseFontWeight","fontSize","B2LooseFontSize","lineHeight","B2LooseLineHeight","Image","source","uri"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,YAAe,GAAA,CAAA,IAAA,CAAA;AAErB,cAAe,CAAA,UAAAC,IAAA,EAqBI;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CApBjBE,IAAO;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,OAAA,GAAAA,SAAA;IAAAE,YAAA,GAAAH,IAAA,CACPI,OAAU;AAAVA,IAAAA,OAAU,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAAAA,YAAA;IACVE,OAAA,GAAAL,IAAA,CAAAK,OAAA;IACAC,QAAA,GAAAN,IAAA,CAAAM,QAAA;IAAAC,cAAA,GAAAP,IAAA,CACAQ,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IAAAE,cAAA,GAAAT,IAAA,CACZU,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IAAAE,qBAAA,GAAAX,IAAA,CACZY,iBAAoB;AAApBA,IAAAA,iBAAoB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAAA,qBAAA;IAAAE,YAAA,GAAAb,IAAA,CACpBc,OAAU;AAAVA,IAAAA,OAAU,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAA,OAAA,GAAAA,YAAA;IAAAE,WAAA,GAAAf,IAAA,CACVgB,MAAS;AAATA,IAAAA,MAAS,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAA,GAAA,GAAAA,WAAA;IACTE,OAAA,GAAAjB,IAAA,CAAAiB,OAAA;IACAC,eAAA,GAAAlB,IAAA,CAAAkB,eAAA;IACaC,YAAA,GAAAnB,IAAA,CAAboB,WAAa;IAAAC,qBAAA,GAAArB,IAAA,CACbsB;AAAAA,IAAAA,uDAAoB,EAAC,GAAAD,qBAAA;IACRE,gBAAA,GAAAvB,IAAA,CAAbwB,WAAa;IACbC,MAAA,GAAAzB,IAAA,CAAAyB,MAAA;IACAC,QAAA,GAAA1B,IAAA,CAAA0B,QAAA;IACAC,kBAAA,GAAA3B,IAAA,CAAA2B,kBAAA;IACAC,QAAA,GAAA5B,IAAA,CAAA4B,QAAA;IACAC,QAAA,GAAA7B,IAAA,CAAA6B,QAAA;IACAC,WAAA,GAAA9B,IAAA,CAAA8B,WAAA,CAAA;EAEAC,mCAAA,CAAW,SAAS,CAAA,CAAA;EACpB,IAAMC,YAAYC,aAAQ,CAAA,YAAA;IAAA,OAAM7B,YAAY,CAAG,CAAA;GAAA,EAAA,CAACA,OAAO,CAAC,CAAA,CAAA;AAExD,EAAA,IAAA8B,SAAA,GAA+BC,eAAS,KAAK,CAAA;IAAAC,UAAA,GAAAC,wCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCI,IAAAA,QAAA,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAUG,IAAAA,UAAU,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE3B,EAAA,IAAMI,WAAWC,YAAO,CAAA,IAAIC,qBAASC,KAAM,CAAA,CAAC,CAAC,CAAE,CAAAC,OAAA,CAAA;AAEzC,EAAA,IAAAC,QAAA,GAAWJ,aAAY,IAAI,CAAA,CAAA;EAEjC,IAAAK,UAAA,GAA4BX,cAAS,CAAA;AACnCY,MAAAA,CAAG,EAAAhD,YAAA;AACHiD,MAAAA,CAAG,EAAAjD,YAAA;AACHkD,MAAAA,KAAO,EAAA,CAAA;AACPC,MAAAA,MAAQ,EAAA,CAAA;AACV,KAAC,CAAA;IAAAC,UAAA,GAAAd,wCAAA,CAAAS,UAAA,EAAA,CAAA,CAAA;AALMM,IAAAA,MAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAQE,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAOxB,IAAAG,UAAA,GAA4CnB,cAAS,CAAA;AACnDY,MAAAA,CAAG,EAAAhD,YAAA;AACHiD,MAAAA,CAAG,EAAAjD,YAAA;AACHkD,MAAAA,KAAO,EAAA,CAAA;AACPC,MAAAA,MAAQ,EAAA,CAAA;AACV,KAAC,CAAA;IAAAK,UAAA,GAAAlB,wCAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AALME,IAAAA,cAAA,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAgBE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAOlC,EAAA,IAAAG,WAAA,GAAczB,cAAQ,YAAM;IAChC,IAAM0B,QAAQ,CAAC,WAAA,EAAa,cAAc,CAAA,CAAEC,SAASlD,SAAS,CAAA,CAAA;IAC9D,IAAMmD,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,CAAED,SAASlD,SAAS,CAAA,CAAA;IAChD,IAAMoD,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,CAAEF,SAASlD,SAAS,CAAA,CAAA;IAClD,IAAAqD,KAAA,GAAQP,cAAe,CAAAP,KAAA,GAAQG,MAAO,CAAAH,KAAA,CAAA;AAEtC,IAAA,IAAAe,SAAA,GAAYC,SAASC,EAAO,KAAA,SAAA,CAAA;IAClC,OAAOd,OAAOF,MACV,GAAA;AACEiB,MAAAA,QAAU,EAAA,UAAA;AACVC,MAAAA,MACG1D,SAAU,CAAAkD,QAAA,CAAS,KAAK,CAAA,GAAIR,OAAOJ,CAAI,GAAAQ,cAAA,CAAeN,MAAS,GAAA,EAAA,GAAKE,OAAOJ,CAAI,GAAAI,MAAA,CAAOF,MAAS,GAAA,EAAA,KAC/F,CAAAzB,mBAAAA,WAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAQuB,CAAK,KAAA,CAAA,CAAA;MAChBqB,IAAA,EAAA,CACGV,QAAQP,MAAO,CAAAL,CAAA,GAAIc,MAAMT,MAAO,CAAAL,CAAA,GAAIgB,KAAQ,GAAA,CAAA,GAAID,GAAM,GAAAV,MAAA,CAAOL,IAAIgB,KAAQ,GAAA,CAAA,KACzE,CAAAtC,WAAAA,IAAAA,IAAAA,6BAAAA,OAAQsB,CAAK,KAAA,CAAA,CAAA,IACbiB,YAAYM,sBAAW,CAAAC,GAAA,CAAI,QAAQ,CAAA,CAAEtB,KAAQ,GAAA,CAAA,CAAA;QAElD,EAAC,CAAA;GACJ,EAAA,CAACvC,SAAW,EAAA0C,MAAA,EAAQI,cAAc,CAAC,CAAA,CAAA;AAEhC,EAAA,IAAAhC,WAAA,GAAcS,cAAQ,YAAM;IAChC,IAAM0B,QAAQ,CAAC,WAAA,EAAa,cAAc,CAAA,CAAEC,SAASlD,SAAS,CAAA,CAAA;IAC9D,IAAMmD,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,CAAED,SAASlD,SAAS,CAAA,CAAA;IAChD,IAAMoD,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,CAAEF,SAASlD,SAAS,CAAA,CAAA;IAClD,IAAAqD,KAAA,GAAQP,cAAe,CAAAP,KAAA,GAAQG,MAAO,CAAAH,KAAA,CAAA;AAEtC,IAAA,IAAAe,SAAA,GAAYC,SAASC,EAAO,KAAA,SAAA,CAAA;IAClC,OAAOd,OAAOF,MACV,GAAA;AACEsB,MAAAA,SAAA,EAAW,CAAC;AAAEC,QAAAA,MAAQ,EAAA/D,SAAA,CAAUkD,SAAS,KAAK,CAAA,GAAA,MAAA,GAAA,QAAA;AAAsB,OAAC,CAAA;AACrEO,MAAAA,QAAU,EAAA,UAAA;MACVC,MACG1D,SAAU,CAAAkD,QAAA,CAAS,KAAK,CAAA,GAAIR,OAAOJ,CAAI,GAAA,EAAA,GAAKI,MAAO,CAAAJ,CAAA,GAAII,OAAOF,MAAS,GAAA,CAAA,KACvE,CAAAzB,WAAAA,IAAAA,IAAAA,6BAAAA,OAAQuB,CAAK,KAAA,CAAA,CAAA,IACb,CAAAlB,wBAAAA,kCAAAA,YAAakB,CAAK,KAAA,CAAA,CAAA;AACrBqB,MAAAA,IACG,EAAA,CAAAV,KAAA,GACGP,MAAO,CAAAL,CAAA,GAAI,IACXc,GACE,GAAAT,MAAA,CAAOL,CAAI,GAAAgB,KAAA,GAAQ,CAAI,GAAAP,cAAA,CAAeP,KAAQ,GAAA,CAAA,GAAI,IAClDa,GACE,GAAAV,MAAA,CAAOL,CAAI,GAAAgB,KAAA,GAAQP,cAAe,CAAAP,KAAA,GAAQ,EAC1C,GAAA,CAAA,KACP,CAAAxB,mBAAAA,6BAAAA,OAAQsB,CAAK,KAAA,CAAA,CAAA,IACb,CAAAjB,WAAa,KAAbA,IAAAA,IAAAA,WAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAa,CAAAiB,CAAA,KAAK,MAClBiB,SAAY,GAAAM,sBAAA,CAAWC,GAAI,CAAA,QAAQ,EAAEtB,KAAQ,GAAA,CAAA,CAAA;QAElD,EAAC,CAAA;KACJ,CAACvC,SAAA,EAAW0C,MAAQ,EAAAI,cAAA,EAAgB/B,MAAM,CAAC,CAAA,CAAA;AAE9CiD,EAAAA,eAAA,CAAU,YAAM;AACV,IAAA,IAAAC,KAAA,CAAA;AACJ,IAAA,IAAIjD,QAAU,EAAA;MACZiD,KAAA,GAAQC,WAAW,YAAA;AAAA,QAAA,OAAMC,YAAA,CAAa,EAA6B,EAAA,KAAK;SAAGnD,QAAQ,CAAA,CAAA;AACrF,KAAA;AACA,IAAA,OAAO,YAAM;AACXiD,MAAAA,KAAA,IAASG,aAAaH,KAAK,CAAA,CAAA;KAC7B,CAAA;AACF,GAAG,EAAA,CAACjD,QAAU,EAAAY,QAAQ,CAAC,CAAA,CAAA;AAKvBoC,EAAAA,eAAA,CAAU,YAAM;IACIxD,eAAA,KAAA,IAAA,IAAAA,eAAA,KAAAA,KAAAA,CAAAA,IAAAA,eAAA,CAAA,CAAC,CAACoB,QAAQ,CAAA,CAAA;AAC5B,IAAA,IAAIA,QAAU,EAAA;AACR,MAAA,IAAAc,MAAA,CAAOL,MAAMhD,YAAc,EAAA;AAC7B2C,QAAAA,oBAAA,CAASqC,OAAOvC,QAAU,EAAA;AACxBwC,UAAAA,OAAS,EAAA,CAAA;AACTtD,UAAAA,UAAUC,kBAAsB,KAAA,IAAA,IAAtBA,kBAAsB,KAAtBA,KAAAA,CAAAA,GAAAA,kBAAsB,GAAA,GAAA;AAChCsD,UAAAA,eAAiB,EAAA,KAAA;AACnB,SAAC,EAAEtB,KAAM,EAAA,CAAA;AACX,OAAA;AACF,KAAO,MAAA;AACLjB,MAAAA,oBAAA,CAASqC,OAAOvC,QAAU,EAAA;AACxBwC,QAAAA,OAAS,EAAA,CAAA;AACTtD,QAAAA,UAAUC,kBAAsB,KAAA,IAAA,IAAtBA,kBAAsB,KAAtBA,KAAAA,CAAAA,GAAAA,kBAAsB,GAAA,GAAA;AAChCsD,QAAAA,eAAiB,EAAA,KAAA;AACnB,OAAC,EAAEtB,KAAM,EAAA,CAAA;AACX,KAAA;GACC,EAAA,CAACrB,QAAU,EAAAc,MAAA,EAAQzB,kBAAkB,CAAC,CAAA,CAAA;EAEnC,IAAAkD,YAAA,GAAe,SAAfA,YAAAA,CAAgBK,KAAA,EAA8BC,KAAmB,EAAA;AACrE,IAAA,IAAI3E,SAAW,EAAA,OAAA;IACf,IAAI2E,KAAU,KAAA,KAAA,CAAA,EAAkB,OAAA5C,UAAA,CAAW,CAACD,QAAQ,CAAA,CAAA;IACpD,OAAOC,WAAW4C,KAAK,CAAA,CAAA;GACzB,CAAA;AAEM,EAAA,IAAA/D,WAAA,GAAc,SAAdA,WAAAA,CAAegE,CAA6B,EAAA;AAChDP,IAAAA,YAAA,CAAaO,GAAG,KAAK,CAAA,CAAA;AACrBjE,IAAAA,YAAA,aAAAA,YAAA,KAAA,KAAA,CAAA,IAAAA,YAAA,CAAeiE,CAAC,CAAA,CAAA;GAClB,CAAA;AAEM,EAAA,IAAAC,YAAA,GAAepD,cAAQ,YAAM;IACjC,IAAIqD,KAA8C,GAAAC,wBAAA,CAAA;AAC9C,IAAA,IAAArF,IAAA,KAAS,SAAiBoF,KAAA,GAAAC,wBAAA,CAAA;AAC1B,IAAA,IAAArF,IAAA,KAAS,QAAgBoF,KAAA,GAAAE,uBAAA,CAAA;IACtB,OAAA;MACLC,iBAAiBH,KAAM,CAAAI,KAAA;MACvBJ,OAAOA,KAAM,CAAAK,KAAAA;KACf,CAAA;AACF,GAAA,EAAG,CAACzF,IAAI,CAAC,CAAA,CAAA;AAETwE,EAAAA,eAAA,CAAU,YAAM;AACDlE,IAAAA,SAAA,IAAA+B,UAAA,CAAW,CAAC,CAACtB,OAAO,CAAA,CAAA;AACnC,GAAA,EAAG,CAACA,OAAO,CAAC,CAAA,CAAA;AAEN,EAAA,IAAA2E,KAAA,GAAQ3D,cAAQ,YAAM;IAC1B,IAAI/B,SAAS,OAAS,EAAA;AACb,MAAA,OAAA,iGAAA,CAAA;AACT,KAAO,MAAA;AACE,MAAA,OAAA,iGAAA,CAAA;AACT,KAAA;AACF,GAAA,EAAG,CAACA,IAAI,CAAC,CAAA,CAAA;AAETwE,EAAAA,eAAA,CAAU,YAAM;IAAA,IAAAmB,iBAAA,EAAAC,qBAAA,CAAA;AACdjD,IAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAgD,KAAAA,CAAAA,IAAAA,CAAAA,iBAAA,GAAAhD,QAAA,CAAUD,8EAAViD,iBAAA,CAAmBE,eAAkB,MAAAD,IAAAA,IAAAA,qBAAA,KAArCA,KAAAA,CAAAA,IAAAA,qBAAA,CAAAE,IAAA,CAAAH,iBAAA,EAAqC,UAAC9C,CAAW,EAAAC,CAAA,EAAWC,OAAeC,MAAmB,EAAA;AAClFG,MAAAA,SAAA,CAAA;AACRN,QAAAA,CAAA,EAAAA,CAAA;AACAC,QAAAA,CAAA,EAAAA,CAAA;AACAC,QAAAA,KAAA,EAAAA,KAAA;AACAC,QAAAA,MAAA,EAAAA,MAAAA;AACF,OAAC,CAAA,CAAA;AACH,KAAC,CAAA,CAAA;AACH,GAAA,EAAG,CAACzB,MAAM,CAAC,CAAA,CAAA;AAEXiD,EAAAA,eAAA,CAAU,YAAM;AACd,IAAA,IAAIpC,QAAU,EAAA;MAAA,IAAA2D,kBAAA,EAAAC,qBAAA,CAAA;AACZrD,MAAAA,QAAA,KAAAA,IAAAA,IAAAA,QAAA,KAAAoD,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAApD,QAAA,CAAUD,+EAAVqD,kBAAA,CAAmBF,eAAkB,MAAAG,IAAAA,IAAAA,qBAAA,KAArCA,KAAAA,CAAAA,IAAAA,qBAAA,CAAAF,IAAA,CAAAC,kBAAA,EAAqC,UAAClD,CAAW,EAAAC,CAAA,EAAWC,OAAeC,MAAmB,EAAA;AAClFG,QAAAA,SAAA,CAAA;AACRN,UAAAA,CAAA,EAAAA,CAAA;AACAC,UAAAA,CAAA,EAAAA,CAAA;AACAC,UAAAA,KAAA,EAAAA,KAAA;AACAC,UAAAA,MAAA,EAAAA,MAAAA;AACF,SAAC,CAAA,CAAA;AACH,OAAC,CAAA,CAAA;AACH,KAAA;AACF,GAAA,EAAG,CAACZ,QAAQ,CAAC,CAAA,CAAA;EAEb,gEAEK6D,KAAM,CAAAC,QAAA,CAASC,IAAI/F,QAAU,EAAA,UAACgG,OAAOC,KAAU,EAAA;IAC9C,IAAIA,KAAU,KAAA,CAAA,iBAAKC,oBAAe,CAAAF,KAAK,CAAG,EAAA;AAEtC,MAAA,sBAAAH,KAAA,CAAAM,aAAA,CAACC,oCAAA,EAAA;AACCC,QAAAA,OAAA,EAAS,SAATA,OAAAA,CAAUvB,CAAM,EAAA;UACd,IAAItE,YAAY,OAAS,EAAA;AACvB,YAAA,IAAIF,iBAAmB,EAAA;AACRiE,cAAAA,YAAA,CAAAO,CAAA,EAAG,CAAC9C,QAAQ,CAAA,CAAA;AAC3B,aAAO,MAAA;AACLuC,cAAAA,YAAA,CAAaO,GAAG,IAAI,CAAA,CAAA;AACtB,aAAA;AACF,WAAA;SACF;AACAwB,QAAAA,SAAA,EAAW,SAAXA,SAAAA,CAAYxB,CAAM,EAAA;UACJtE,OAAA,KAAA,OAAA,IAAW+D,YAAa,CAAAO,CAAA,EAAG,IAAI,CAAA,CAAA;SAC7C;AACAyB,QAAAA,UAAA,EAAY,SAAZA,UAAAA,CAAazB,CAAM,EAAA;UACLtE,OAAA,KAAA,OAAA,IAAW+D,YAAa,CAAAO,CAAA,EAAG,KAAK,CAAA,CAAA;AAC9C,SAAA;AAAA,OAAA,iBAEAe,KAAA,CAAAM,aAAA,CAACK,gBAAA,EAAA;AACCC,QAAAA,WAAa,EAAA,KAAA;AACbC,QAAAA,GAAK,EAAA,SAALA,GAAKA,CAACC,EAAQ,EAAA;AAAA,UAAA,OAAApE,QAAA,CAASD,OAAU,GAAAqE,EAAA,CAAA;AAAA,SAAA;AACjCC,QAAAA,KAAA,EAAOZ,MAAMa,KAAM,CAAAD,KAAA;QACnBE,gCAAA,EAAkC,SAAlCA,gCAAAA,GAAA;AAAA,UAAA,OAAwC,CAAC5G,SAAA,CAAA;AAAA,SAAA;OAAA,EAExC8F,KACH,CACF,CAAA,CAAA;AAEJ,KAAA;AACO,IAAA,OAAAA,KAAA,CAAA;AACT,GAAC,GACAhE,QAAY,IAAAc,MAAA,CAAOL,MAAMhD,YACxB,kBAAAoG,KAAA,CAAAM,aAAA,CAACY;AAAOzF,IAAAA,QACN,EADMA,QAAAA;AACN,GAAA,iBAAAuE,KAAA,CAAAM,aAAA,CAACa,yCAAA,EAAA;AACCtF,IAAAA,SAAA,EAAAA,SAAA;AACAf,IAAAA,OAAS,EAAAqB,QAAA;AACTlB,IAAAA,WAAA,EAAAA,WAAA;AACAhB,IAAAA,OAAA,EAAAA,OAAA;AACAoC,IAAAA,QAAA,EAAAA,QAAA;AACAxB,IAAAA,MAAA,EAAAA,MAAAA;GAAA,iBAGEmF,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAoB,QAAA,EAAA,IAAA,iBAAApB,KAAA,CAAAM,aAAA,CAAC/D,oBAAS,CAAAoE,IAAA,EAAT;AACCC,IAAAA,WAAa,EAAA,KAAA;AACbS,IAAAA,QAAA,EAAU,SAAVA,QAAAA,CAAWpC,CAAM,EAAA;AACG3B,MAAAA,iBAAA,CAAA2B,CAAA,CAAEqC,YAAYrE,MAAM,CAAA,CAAA;KACxC;AAEA8D,IAAAA,KAAO,EAAAQ,wCAAA,CAAAA,wCAAA,CAAAA,wCAAA,CAAA;MACLjC,iBAAiBJ,YAAa,CAAAI,eAAA;AAC9BkC,MAAAA,iBAAmB,EAAA,EAAA;AACnBC,MAAAA,eAAiB,EAAA,CAAA;MACjB/F,UAAUA,QAAY,IAAA,GAAA;AACtBgG,MAAAA,SAAW,EAAA,EAAA;AACXC,MAAAA,YAAc,EAAA,CAAA;AACd9G,MAAAA,MAAA,EAAAA,MAAA;AACA+G,MAAAA,WAAa,EAAA,SAAA;AACbC,MAAAA,YAAc,EAAA;AAAE/E,QAAAA,KAAO,EAAA,CAAA;AAAGC,QAAAA,QAAQ,CAAA;OAAE;AACpC+E,MAAAA,aAAe,EAAA,GAAA;AACfC,MAAAA,YAAc,EAAA,CAAA;AACdC,MAAAA,SAAW,EAAA,CAAA;KACRzE,EAAAA,WAAA,GACApC,iBAAA,CAAA,EAAA,EAAA,EAAA;AACHlB,MAAAA,OAAS,EAAAoC,QAAAA;AAAA,KAAA,CAAA;AACX,GAAA,EAEC,OAAOnC,OAAA,KAAY,UACjB,GAAAA,OAAA,EAED,kBAAA8F,KAAA,CAAAM,aAAA,CAAC2B,gBAAA,EAAA;AACClB,IAAAA,KAAO,EAAA;MACLmB,YAAYC,wBAAW,CAAAC,iBAAA;MACvBC,UAAUF,wBAAW,CAAAG,eAAA;MACrBC,YAAYJ,wBAAW,CAAAK,iBAAA;MACvBrD,OAAOD,YAAa,CAAAC,KAAAA;AACtB,KAAA;GAAA,EAECjF,OACH,CAEJ,CACA,iBAAA8F,KAAA,CAAAM,aAAA,CAACmC,iBAAA,EAAA;AACCC,IAAAA,MAAA,EAAQ;AAAEC,MAAAA,GAAA,EAAKlD,KAAAA;KAAM;IAErBsB,KAAO,EAAAQ,wCAAA,CAAAA,wCAAA,CAAA;AACLzE,MAAAA,KAAO,EAAA,EAAA;AACPC,MAAAA,MAAQ,EAAA,CAAA;MACRlC,QAAQA,MAAS,GAAA,CAAA;KACdQ,EAAAA,WAAA,GACAD,gBAAA,CAAA;AACL,GACF,CACF,CACF,CACF,CAEA,kBAAA4E,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAoB,QAAA,EAAA,IAAE,CAEN,CAAA,CAAA;AAEJ,CAAA;;;;"}
1
+ {"version":3,"file":"Popover.js","sources":["../../../../src/components/Popover/Popover.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 LayoutChangeEvent,\n} from \"react-native\";\nimport { RedsPopover } from \"./interface/index\";\nimport { ModalWrapper } from \"./component\";\nimport { darkColor, lightColor, typography } from \"@xhsreds/reds-token-next\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { Portal } from \"../Portal\";\nconst defaultValue = -9999;\n\nexport default ({\n mode = \"light\",\n opacity = 0,\n content,\n children,\n isControl = false,\n placement = \"top\",\n closeOnClickAgain = true,\n trigger = \"click\",\n zIndex = 1000,\n visible,\n onVisibleChange,\n onClickMask: _onClickMask,\n popContainerStyle = {},\n arrowStyles: propsArrowStyles,\n offset,\n duration,\n animation_duration,\n hostName,\n maxWidth,\n arrowOffset,\n}: RedsPopover) => {\n useMounted(\"Popover\");\n const needModal = useMemo(() => opacity !== 0, [opacity]);\n\n const [_visible, setVisible] = useState(false);\n const [floatStyles, setFloatStyles] = useState({});\n const [arrowStyles, setArrowStyles] = useState({});\n\n const progress = useRef(new Animated.Value(0)).current;\n\n const childRef = useRef<any>(null);\n\n const [layout, setLayout] = useState({\n x: defaultValue,\n y: defaultValue,\n width: 0,\n height: 0,\n });\n\n const handleFloatingLayout = (e: LayoutChangeEvent) => {\n const floatingLayout = e.nativeEvent.layout;\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 const floatStyles = 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 const arrowStyles = 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 setFloatStyles(floatStyles);\n setArrowStyles(arrowStyles);\n };\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 if (layout.x !== defaultValue) {\n Animated.timing(progress, {\n toValue: 1,\n duration: animation_duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n } else {\n Animated.timing(progress, {\n toValue: 0,\n duration: animation_duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n }, [_visible, layout, animation_duration]);\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 let color: typeof lightColor | typeof darkColor = lightColor;\n if (mode === \"light\") color = lightColor;\n if (mode === \"dark\") color = darkColor;\n return {\n backgroundColor: color.Fill5,\n color: color.White,\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 if (Platform.OS === \"web\" && trigger === \"click\") {\n onMaskChange(e, true);\n }\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 {_visible && layout.x !== defaultValue ? (\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 <>\n <Animated.View\n collapsable={false}\n onLayout={handleFloatingLayout}\n style={{\n backgroundColor: popoverStyle.backgroundColor,\n paddingHorizontal: 12,\n paddingVertical: 7,\n maxWidth: maxWidth || 280,\n minHeight: 30,\n borderRadius: 8,\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 {typeof content === \"function\" ? (\n (content as any)()\n ) : (\n <Text\n style={{\n fontWeight: typography.B2LooseFontWeight,\n fontSize: typography.B2LooseFontSize,\n lineHeight: typography.B2LooseLineHeight,\n color: popoverStyle.color,\n }}\n >\n {content}\n </Text>\n )}\n </Animated.View>\n <Image\n source={{ uri: angle }}\n style={{\n width: 14,\n height: 6,\n zIndex: zIndex + 9,\n ...arrowStyles,\n ...propsArrowStyles,\n }}\n />\n </>\n </ModalWrapper>\n </Portal>\n ) : (\n <></>\n )}\n </>\n );\n};\n"],"names":["defaultValue","_ref","_ref$mode","mode","_ref$opacity","opacity","content","children","_ref$isControl","isControl","_ref$placement","placement","_ref$closeOnClickAgai","closeOnClickAgain","_ref$trigger","trigger","_ref$zIndex","zIndex","visible","onVisibleChange","_onClickMask","onClickMask","_ref$popContainerStyl","popContainerStyle","propsArrowStyles","arrowStyles","offset","duration","animation_duration","hostName","maxWidth","arrowOffset","useMounted","needModal","useMemo","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","_useState3","_useState4","floatStyles","setFloatStyles","_useState5","_useState6","setArrowStyles","progress","useRef","Animated","Value","current","childRef","_useState7","x","y","width","height","_useState8","layout","setLayout","handleFloatingLayout","e","floatingLayout","nativeEvent","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","popoverStyle","color","lightColor","darkColor","backgroundColor","Fill5","White","angle","_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","Fragment","onLayout","_objectSpread","paddingHorizontal","paddingVertical","minHeight","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Text","fontWeight","typography","B2LooseFontWeight","fontSize","B2LooseFontSize","lineHeight","B2LooseLineHeight","Image","source","uri"],"mappings":"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"}
@@ -105,7 +105,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
105
105
  }
106
106
  return /* @__PURE__ */React.createElement(React.Fragment, null, showPercent && /* @__PURE__ */React.createElement(reactNative.Text, {
107
107
  style: [styles.percentText, textStyle]
108
- }, formatText(percent)), reactNative.Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
108
+ }, formatText(percent)), /* @__PURE__ */React.createElement(Lottie, {
109
109
  style: {
110
110
  flex: 1
111
111
  },
@@ -114,7 +114,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
114
114
  }), /* @__PURE__ */React.createElement(React.Fragment, null));
115
115
  }
116
116
  if (colorMode === "light") {
117
- return /* @__PURE__ */React.createElement(React.Fragment, null, reactNative.Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
117
+ return /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement(Lottie, {
118
118
  style: {
119
119
  flex: 1
120
120
  },
@@ -124,7 +124,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
124
124
  source: props.lottieSource || lottieSource
125
125
  }), /* @__PURE__ */React.createElement(React.Fragment, null));
126
126
  }
127
- return reactNative.Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
127
+ return /* @__PURE__ */React.createElement(Lottie, {
128
128
  style: {
129
129
  flex: 1
130
130
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicator.js","sources":["../../../../src/components/ProgressIndicator/ProgressIndicator.tsx"],"sourcesContent":["import React, { useRef, useEffect, useMemo } from \"react\";\nimport { View, Easing, Animated, Text, Platform } from \"react-native\";\nimport { RedsProgressIndicator, ProgressIndicatorDefaultProps } from \"./interface/index\";\nimport { getLottieSource } from \"./lottie/getLottieSource\";\nimport { useColorMode, useThemeColor } from \"../ConfigProvider/index\";\nimport createStyles from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport Lottie from \"@xhs/lottie-react-native\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst defaultSizeMap: Record<string, number> = {\n default: 24,\n pullup: 24,\n refresh: 24,\n progress: 44,\n};\n\nconst defaultStrokeWidthMap: Record<string, number> = {\n default: 10,\n pullup: 6,\n refresh: 10,\n progress: 6,\n};\n\nconst ProgressIndicator = (props: RedsProgressIndicator) => {\n useMounted(\"ProgressIndicator\");\n const { percent, showPercent, textStyle, formatText, size, type, strokeColor, strokeWidth } = {\n ...ProgressIndicatorDefaultProps,\n ...props,\n };\n\n const styles = createStyles();\n const colorMode = useColorMode();\n const themeColor = useThemeColor();\n\n const loadingStrokeWidth = useMemo(() => {\n return strokeWidth ? strokeWidth : defaultStrokeWidthMap[type];\n }, [strokeWidth, type]);\n\n const circleRadius = useMemo(() => {\n return 50 - loadingStrokeWidth / 2;\n }, [loadingStrokeWidth]);\n\n const circleCircumference = useMemo(() => {\n return 2 * Math.PI * circleRadius;\n }, [circleRadius]);\n\n const percentAnimation = useRef(new Animated.Value(circleCircumference * (1 - percent / 100))).current;\n const rotation = useRef(new Animated.Value(0)).current;\n\n const containerAnimation = useMemo(() => {\n const loadingSize = size ? size : defaultSizeMap[type];\n return {\n height: loadingSize,\n width: loadingSize,\n };\n }, [size, rotation, type]);\n\n useEffect(() => {\n if (type === \"progress\") {\n Animated.timing(percentAnimation, {\n toValue: percent > 100 ? 0 : circleCircumference * (1 - percent / 100),\n duration: 100,\n easing: Easing.linear,\n useNativeDriver: false,\n }).start();\n } else {\n const spin = Animated.timing(rotation, {\n toValue: 1,\n duration: 1500,\n useNativeDriver: true,\n easing: Easing.linear,\n });\n\n Animated.loop(spin, { iterations: -1 }).start();\n }\n }, [type, percent, circleCircumference]);\n\n const LottieView = React.useMemo(() => {\n const lottieSource = getLottieSource(type as TLottieSourceType)[strokeColor || colorMode || \"light\"];\n if (type === \"progress\") {\n let progress = 0;\n if (percent > 100) {\n progress = 1;\n } else {\n progress = Number((percent / 100).toFixed(2));\n }\n return (\n <>\n {showPercent && <Text style={[styles.percentText, textStyle]}>{formatText(percent)}</Text>}\n {Platform.OS !== \"web\" && (\n <Lottie style={{ flex: 1 }} progress={progress} source={props.lottieSource || lottieSource} />\n )}\n <></>\n </>\n );\n }\n if (colorMode === \"light\") {\n return (\n <>\n {Platform.OS !== \"web\" && (\n <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />\n )}\n <></>\n </>\n );\n }\n return (\n Platform.OS !== \"web\" && (\n <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />\n )\n );\n // return <></>;\n }, [type, colorMode, percent, strokeColor]);\n\n return (\n <View style={[containerAnimation, { justifyContent: \"center\", alignItems: \"center\" }]}>\n <>{LottieView}</>\n </View>\n );\n};\n\nProgressIndicator.defaultProps = ProgressIndicatorDefaultProps;\n\nexport default ProgressIndicator;\n"],"names":["defaultSizeMap","pullup","refresh","progress","defaultStrokeWidthMap","ProgressIndicator","props","useMounted","_ProgressIndicatorDef","_objectSpread","ProgressIndicatorDefaultProps","percent","showPercent","textStyle","formatText","size","type","strokeColor","strokeWidth","styles","createStyles","colorMode","useColorMode","useThemeColor","loadingStrokeWidth","useMemo","circleRadius","circleCircumference","Math","PI","percentAnimation","useRef","Animated","Value","current","rotation","containerAnimation","loadingSize","height","width","useEffect","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","spin","loop","iterations","LottieView","React","lottieSource","getLottieSource","Number","toFixed","createElement","Fragment","Text","style","percentText","Platform","OS","Lottie","flex","source","useNativeLooping","autoPlay","View","justifyContent","alignItems","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressIndicator.js","sources":["../../../../src/components/ProgressIndicator/ProgressIndicator.tsx"],"sourcesContent":["import React, { useRef, useEffect, useMemo } from \"react\";\nimport { View, Easing, Animated, Text, Platform } from \"react-native\";\nimport { RedsProgressIndicator, ProgressIndicatorDefaultProps } from \"./interface/index\";\nimport { getLottieSource } from \"./lottie/getLottieSource\";\nimport { useColorMode, useThemeColor } from \"../ConfigProvider/index\";\nimport createStyles from \"./styles\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport Lottie from \"@xhs/lottie-react-native\";\n\ntype TLottieSourceType = \"pullup\" | \"progress\" | \"refresh\" | \"default\";\n\nconst defaultSizeMap: Record<string, number> = {\n default: 24,\n pullup: 24,\n refresh: 24,\n progress: 44,\n};\n\nconst defaultStrokeWidthMap: Record<string, number> = {\n default: 10,\n pullup: 6,\n refresh: 10,\n progress: 6,\n};\n\nconst ProgressIndicator = (props: RedsProgressIndicator) => {\n useMounted(\"ProgressIndicator\");\n const { percent, showPercent, textStyle, formatText, size, type, strokeColor, strokeWidth } = {\n ...ProgressIndicatorDefaultProps,\n ...props,\n };\n\n const styles = createStyles();\n const colorMode = useColorMode();\n const themeColor = useThemeColor();\n\n const loadingStrokeWidth = useMemo(() => {\n return strokeWidth ? strokeWidth : defaultStrokeWidthMap[type];\n }, [strokeWidth, type]);\n\n const circleRadius = useMemo(() => {\n return 50 - loadingStrokeWidth / 2;\n }, [loadingStrokeWidth]);\n\n const circleCircumference = useMemo(() => {\n return 2 * Math.PI * circleRadius;\n }, [circleRadius]);\n\n const percentAnimation = useRef(new Animated.Value(circleCircumference * (1 - percent / 100))).current;\n const rotation = useRef(new Animated.Value(0)).current;\n\n const containerAnimation = useMemo(() => {\n const loadingSize = size ? size : defaultSizeMap[type];\n return {\n height: loadingSize,\n width: loadingSize,\n };\n }, [size, rotation, type]);\n\n useEffect(() => {\n if (type === \"progress\") {\n Animated.timing(percentAnimation, {\n toValue: percent > 100 ? 0 : circleCircumference * (1 - percent / 100),\n duration: 100,\n easing: Easing.linear,\n useNativeDriver: false,\n }).start();\n } else {\n const spin = Animated.timing(rotation, {\n toValue: 1,\n duration: 1500,\n useNativeDriver: true,\n easing: Easing.linear,\n });\n\n Animated.loop(spin, { iterations: -1 }).start();\n }\n }, [type, percent, circleCircumference]);\n\n const LottieView = React.useMemo(() => {\n const lottieSource = getLottieSource(type as TLottieSourceType)[strokeColor || colorMode || \"light\"];\n // TODO: lottie-react-native 不能使用 progress,需要单独适配 web\n if (type === \"progress\") {\n let progress = 0;\n if (percent > 100) {\n progress = 1;\n } else {\n progress = Number((percent / 100).toFixed(2));\n }\n return (\n <>\n {showPercent && <Text style={[styles.percentText, textStyle]}>{formatText(percent)}</Text>}\n <Lottie style={{ flex: 1 }} progress={progress} source={props.lottieSource || lottieSource} />\n <></>\n </>\n );\n }\n if (colorMode === \"light\") {\n return (\n <>\n <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />\n <></>\n </>\n );\n }\n return <Lottie style={{ flex: 1 }} useNativeLooping autoPlay loop source={props.lottieSource || lottieSource} />;\n }, [type, colorMode, percent, strokeColor]);\n\n return (\n <View style={[containerAnimation, { justifyContent: \"center\", alignItems: \"center\" }]}>\n <>{LottieView}</>\n </View>\n );\n};\n\nProgressIndicator.defaultProps = ProgressIndicatorDefaultProps;\n\nexport default ProgressIndicator;\n"],"names":["defaultSizeMap","pullup","refresh","progress","defaultStrokeWidthMap","ProgressIndicator","props","useMounted","_ProgressIndicatorDef","_objectSpread","ProgressIndicatorDefaultProps","percent","showPercent","textStyle","formatText","size","type","strokeColor","strokeWidth","styles","createStyles","colorMode","useColorMode","useThemeColor","loadingStrokeWidth","useMemo","circleRadius","circleCircumference","Math","PI","percentAnimation","useRef","Animated","Value","current","rotation","containerAnimation","loadingSize","height","width","useEffect","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","spin","loop","iterations","LottieView","React","lottieSource","getLottieSource","Number","toFixed","createElement","Fragment","Text","style","percentText","Lottie","flex","source","useNativeLooping","autoPlay","View","justifyContent","alignItems","defaultProps"],"mappings":"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"}
@@ -208,6 +208,7 @@ require('../PickerView/Wheel.js');
208
208
  require('../Sheets/styles.js');
209
209
  require('@xhs/reder-icon-svg-ReDs_icon');
210
210
  require('../ActionSheets/styles.js');
211
+ require('../SlimAlert/PortalHost.js');
211
212
  require('../Alert/styles.js');
212
213
  require('../FAB/styles.js');
213
214
  require('../Toast/Toast.js');
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx","../../../../src/index.ts"],"sourcesContent":["import React, { memo, useCallback, useContext, useState, useEffect } from \"react\";\nimport { View, Text, TouchableWithoutFeedback, Image } from \"react-native\";\nimport { RedsRadio, RadioDefaultProps } from \"./interface\";\nimport { RadioGroupContext } from \"./RadioGroup\";\nimport {\n getContainerStyle,\n getIconStyleClass,\n getLabelStyle,\n getDividerStyle,\n freestyle,\n hiddenBgStyle,\n getWrapperStyle,\n getUnCheckedStyle,\n getRightIconStyle,\n getRightWrapperStyle,\n} from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { Icon, IconType } from \"../../index\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Radio = (props: RedsRadio) => {\n useMounted(\"Radio\");\n const finalProps = { ...(RadioDefaultProps as RedsRadio), ...props, isControl: props.isControl ?? true };\n const themeColor = useThemeColor();\n const { name, disabled, children, onClick, type: radioType } = finalProps;\n\n const [_checked, setChecked] = useState(false);\n\n // 从父组件(RadioGroup)获取上下文\n const parent = useContext(RadioGroupContext);\n\n useEffect(() => {\n finalProps.isControl && setChecked(parent?.value === name || finalProps.checked! || finalProps.modelValue || false);\n }, [finalProps.isControl, parent?.value, finalProps.checked, finalProps.modelValue]);\n\n // 确定大小和类型优先级\n const size = finalProps.size || parent?.size || \"large\";\n const type = radioType || parent?.type || \"default\";\n\n // 切换选中状态\n const toggle = useCallback(() => {\n if (_checked) return;\n if (!disabled && !parent?.disabled) {\n if (parent) {\n parent.updateValue(name ?? \"\");\n }\n if (onClick) {\n onClick(name ?? \"\");\n }\n setChecked(true);\n }\n }, [disabled, parent, name, onClick, _checked]);\n\n const containerStyle = getContainerStyle(parent?.direction, parent?.position || \"left\");\n const wrapperStyle = getWrapperStyle(parent?.direction, parent?.position || \"left\");\n const uncheckedStyle = getUnCheckedStyle(size);\n const iconStyleClass = getIconStyleClass(\n _checked,\n size,\n disabled || parent?.disabled,\n parent?.position,\n parent?.direction,\n );\n const labelStyle = getLabelStyle(disabled || parent?.disabled, size, parent?.direction);\n\n const iconSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n };\n\n const rightStyle = getRightIconStyle(size);\n\n const rightWrapperStyle = getRightWrapperStyle(size, themeColor, props.themeColor);\n\n return (\n <>\n <TouchableWithoutFeedback onPress={toggle}>\n <View style={[containerStyle]}>\n {(parent?.position === \"left\" || !parent?.position || parent?.direction === \"horizontal\") && (\n <View style={iconStyleClass}>\n {_checked && type === \"line\" ? (\n <Icon\n icon={\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hc9m0ki3i06d5494g900000000001nnf3trg\"\n }\n size={iconSizeMap[size]}\n styles={finalProps.customIconStyle}\n type={IconType.iconType.image}\n onClick={toggle}\n />\n ) : (\n _checked && (\n <View style={rightWrapperStyle}>\n <Image\n source={{\n uri:\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hpc4inljq06d5494g900000000001hopc7t8\",\n }}\n style={[rightStyle, finalProps.customIconStyle]}\n />\n </View>\n )\n )}\n {!_checked && <View style={[uncheckedStyle, type === \"line\" && hiddenBgStyle()]}></View>}\n </View>\n )}\n\n <View\n style={[\n // @ts-ignore\n wrapperStyle,\n !finalProps.isLast && parent?.direction === \"vertical\" && finalProps.line && getDividerStyle(),\n finalProps.containerStyle,\n ]}\n >\n {children && (\n <View style={[parent?.direction === \"vertical\" && freestyle]}>\n <Text style={[labelStyle, finalProps.textStyle]}>{children}</Text>\n </View>\n )}\n {parent?.position === \"right\" && parent?.direction === \"vertical\" && (\n <View style={[iconStyleClass, type === \"line\" && hiddenBgStyle()]}>\n {_checked && type === \"line\" ? (\n <Icon\n icon={\n finalProps.customIcon ||\n \"https://picasso-static.xiaohongshu.com/fe-platform/48c06b6e09bcf1516a6ad071bacab6da505a2980.png\"\n }\n size={iconSizeMap[size]}\n styles={finalProps.customIconStyle}\n type={IconType.iconType.image}\n onClick={toggle}\n />\n ) : (\n _checked && (\n <View style={rightWrapperStyle}>\n <Image\n source={{\n uri:\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hpc4inljq06d5494g900000000001hopc7t8\",\n }}\n style={[rightStyle, finalProps.customIconStyle]}\n />\n </View>\n )\n )}\n {!_checked && <View style={[uncheckedStyle, type === \"line\" && hiddenBgStyle()]}></View>}\n </View>\n )}\n </View>\n </View>\n </TouchableWithoutFeedback>\n </>\n );\n};\n\nexport default memo(Radio);\n","export * from \"./components/SegmentedControl\";\nexport * from \"./components/LanguageProvider\";\nexport * from \"./components/NoticeBar\";\nimport { bindPushDataEvent } from \"@xhs/reds-apm/src/index.native\";\nimport { pushGlobalData } from \"./pvCount/pvData\";\nexport * from \"./components/ImagePreview\";\nexport * from \"./components/Carousel\";\nexport * from \"./components/Video\";\nexport * from \"./components/SnackBar\";\nexport * from \"./components/MiniSnackBar\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/TextView\";\nexport * from \"./components/TextField\";\n// declare global {\n// var eaglet: any;\n// }\n// try {\n// if (typeof global !== \"undefined\" && global?.eaglet) {\n// global?.eaglet?.push?.(\n// {\n// measurement_name: \"reds_component_usage\",\n// measurement_data: {\n// platform: \"rn\",\n// },\n// },\n// \"ApmXrayTracker\",\n// );\n// }\n// } catch (e) {}\nexport * from \"./components/Uploader\";\nexport * from \"./components/Stepper\";\nexport * from \"./components/Rate\";\nexport * from \"./components/CheckBoxGroup\";\nexport * from \"./components/Form\";\nexport * from \"./components/DatePicker\";\nexport * from \"./components/Radio\";\nexport * from \"./components/ActionSheets\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Sheets\";\nexport * from \"./components/PickerView\";\nexport * from \"./components/Picker\";\nexport * from \"./components/Alert\";\nexport * from \"./components/FAB\";\nexport * from \"./components/Toast\";\nexport * from \"./components/DropDown\";\nexport * from \"./components/Progress\";\nexport * from \"./components/TabBar\";\nexport * from \"./components/NavigationBar\";\nexport * from \"./components/BottomBar\";\nexport * from \"./components/List\";\nexport * from \"./components/Skeleton\";\nexport * from \"./components/ProgressIndicator\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Portal\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Image\";\nexport * from \"./components/Button\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Switch\";\nexport * from \"./components/ConfigProvider\";\nexport * from \"./components/Text\";\nexport * from \"./components/Collapse\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Result\";\nexport * from \"./components/PullRefresh\";\nexport * from \"./components/Icon\";\nexport * from \"./components/Badge\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/AvatarGroup\";\nexport * from \"./components/Tab\";\nexport * from \"./components/SlimTabs\";\nexport * from \"./components/SlimAlert\";\nexport * from \"./components/SlimNavigationBar\";\nexport * from \"./components/Search\";\nexport * from \"./components/ActionablePopover\";\nimport \"react-native-url-polyfill/auto\";\nbindPushDataEvent(pushGlobalData);\n"],"names":["Radio","props","_props$isControl","useMounted","finalProps","_objectSpread","RadioDefaultProps","isControl","themeColor","useThemeColor","name","disabled","children","onClick","radioType","type","_useState","useState","_useState2","_slicedToArray","_checked","setChecked","parent","useContext","RadioGroupContext","useEffect","value","checked","modelValue","size","toggle","useCallback","updateValue","containerStyle","getContainerStyle","direction","position","wrapperStyle","getWrapperStyle","uncheckedStyle","getUnCheckedStyle","iconStyleClass","getIconStyleClass","labelStyle","getLabelStyle","iconSizeMap","small","medium","large","rightStyle","getRightIconStyle","rightWrapperStyle","getRightWrapperStyle","React","createElement","Fragment","TouchableWithoutFeedback","onPress","View","style","Icon","icon","customIcon","styles","customIconStyle","IconType","image","Image","source","uri","hiddenBgStyle","isLast","line","getDividerStyle","freestyle","Text","textStyle","memo","bindPushDataEvent","pushGlobalData"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","sources":["../../../../src/components/Radio/Radio.tsx","../../../../src/index.ts"],"sourcesContent":["import React, { memo, useCallback, useContext, useState, useEffect } from \"react\";\nimport { View, Text, TouchableWithoutFeedback, Image } from \"react-native\";\nimport { RedsRadio, RadioDefaultProps } from \"./interface\";\nimport { RadioGroupContext } from \"./RadioGroup\";\nimport {\n getContainerStyle,\n getIconStyleClass,\n getLabelStyle,\n getDividerStyle,\n freestyle,\n hiddenBgStyle,\n getWrapperStyle,\n getUnCheckedStyle,\n getRightIconStyle,\n getRightWrapperStyle,\n} from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { Icon, IconType } from \"../../index\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst Radio = (props: RedsRadio) => {\n useMounted(\"Radio\");\n const finalProps = { ...(RadioDefaultProps as RedsRadio), ...props, isControl: props.isControl ?? true };\n const themeColor = useThemeColor();\n const { name, disabled, children, onClick, type: radioType } = finalProps;\n\n const [_checked, setChecked] = useState(false);\n\n // 从父组件(RadioGroup)获取上下文\n const parent = useContext(RadioGroupContext);\n\n useEffect(() => {\n finalProps.isControl && setChecked(parent?.value === name || finalProps.checked! || finalProps.modelValue || false);\n }, [finalProps.isControl, parent?.value, finalProps.checked, finalProps.modelValue]);\n\n // 确定大小和类型优先级\n const size = finalProps.size || parent?.size || \"large\";\n const type = radioType || parent?.type || \"default\";\n\n // 切换选中状态\n const toggle = useCallback(() => {\n if (_checked) return;\n if (!disabled && !parent?.disabled) {\n if (parent) {\n parent.updateValue(name ?? \"\");\n }\n if (onClick) {\n onClick(name ?? \"\");\n }\n setChecked(true);\n }\n }, [disabled, parent, name, onClick, _checked]);\n\n const containerStyle = getContainerStyle(parent?.direction, parent?.position || \"left\");\n const wrapperStyle = getWrapperStyle(parent?.direction, parent?.position || \"left\");\n const uncheckedStyle = getUnCheckedStyle(size);\n const iconStyleClass = getIconStyleClass(\n _checked,\n size,\n disabled || parent?.disabled,\n parent?.position,\n parent?.direction,\n );\n const labelStyle = getLabelStyle(disabled || parent?.disabled, size, parent?.direction);\n\n const iconSizeMap: Record<\"small\" | \"medium\" | \"large\", number> = {\n small: 12,\n medium: 16,\n large: 20,\n };\n\n const rightStyle = getRightIconStyle(size);\n\n const rightWrapperStyle = getRightWrapperStyle(size, themeColor, props.themeColor);\n\n return (\n <>\n <TouchableWithoutFeedback onPress={toggle}>\n <View style={[containerStyle]}>\n {(parent?.position === \"left\" || !parent?.position || parent?.direction === \"horizontal\") && (\n <View style={iconStyleClass}>\n {_checked && type === \"line\" ? (\n <Icon\n icon={\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hc9m0ki3i06d5494g900000000001nnf3trg\"\n }\n size={iconSizeMap[size]}\n styles={finalProps.customIconStyle}\n type={IconType.iconType.image}\n onClick={toggle}\n />\n ) : (\n _checked && (\n <View style={rightWrapperStyle}>\n <Image\n source={{\n uri:\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hpc4inljq06d5494g900000000001hopc7t8\",\n }}\n style={[rightStyle, finalProps.customIconStyle]}\n />\n </View>\n )\n )}\n {!_checked && <View style={[uncheckedStyle, type === \"line\" && hiddenBgStyle()]}></View>}\n </View>\n )}\n\n <View\n style={[\n // @ts-ignore\n wrapperStyle,\n !finalProps.isLast && parent?.direction === \"vertical\" && finalProps.line && getDividerStyle(),\n finalProps.containerStyle,\n ]}\n >\n {children && (\n <View style={[parent?.direction === \"vertical\" && freestyle]}>\n <Text style={[labelStyle, finalProps.textStyle]}>{children}</Text>\n </View>\n )}\n {parent?.position === \"right\" && parent?.direction === \"vertical\" && (\n <View style={[iconStyleClass, type === \"line\" && hiddenBgStyle()]}>\n {_checked && type === \"line\" ? (\n <Icon\n icon={\n finalProps.customIcon ||\n \"https://picasso-static.xiaohongshu.com/fe-platform/48c06b6e09bcf1516a6ad071bacab6da505a2980.png\"\n }\n size={iconSizeMap[size]}\n styles={finalProps.customIconStyle}\n type={IconType.iconType.image}\n onClick={toggle}\n />\n ) : (\n _checked && (\n <View style={rightWrapperStyle}>\n <Image\n source={{\n uri:\n finalProps.customIcon ||\n \"https://fe-platform.xhscdn.com/platform/104101l031hpc4inljq06d5494g900000000001hopc7t8\",\n }}\n style={[rightStyle, finalProps.customIconStyle]}\n />\n </View>\n )\n )}\n {!_checked && <View style={[uncheckedStyle, type === \"line\" && hiddenBgStyle()]}></View>}\n </View>\n )}\n </View>\n </View>\n </TouchableWithoutFeedback>\n </>\n );\n};\n\nexport default memo(Radio);\n","export * from \"./components/SegmentedControl\";\nexport * from \"./components/LanguageProvider\";\nexport * from \"./components/NoticeBar\";\nimport { bindPushDataEvent } from \"@xhs/reds-apm/src/index.native\";\nimport { pushGlobalData } from \"./pvCount/pvData\";\nexport * from \"./components/ImagePreview\";\nexport * from \"./components/Carousel\";\nexport * from \"./components/Video\";\nexport * from \"./components/SnackBar\";\nexport * from \"./components/MiniSnackBar\";\nexport * from \"./components/StatusBar\";\nexport * from \"./components/TextView\";\nexport * from \"./components/TextField\";\n// declare global {\n// var eaglet: any;\n// }\n// try {\n// if (typeof global !== \"undefined\" && global?.eaglet) {\n// global?.eaglet?.push?.(\n// {\n// measurement_name: \"reds_component_usage\",\n// measurement_data: {\n// platform: \"rn\",\n// },\n// },\n// \"ApmXrayTracker\",\n// );\n// }\n// } catch (e) {}\nexport * from \"./components/Uploader\";\nexport * from \"./components/Stepper\";\nexport * from \"./components/Rate\";\nexport * from \"./components/CheckBoxGroup\";\nexport * from \"./components/Form\";\nexport * from \"./components/DatePicker\";\nexport * from \"./components/Radio\";\nexport * from \"./components/ActionSheets\";\nexport * from \"./components/Slider\";\nexport * from \"./components/Sheets\";\nexport * from \"./components/PickerView\";\nexport * from \"./components/Picker\";\nexport * from \"./components/Alert\";\nexport * from \"./components/FAB\";\nexport * from \"./components/Toast\";\nexport * from \"./components/DropDown\";\nexport * from \"./components/Progress\";\nexport * from \"./components/TabBar\";\nexport * from \"./components/NavigationBar\";\nexport * from \"./components/BottomBar\";\nexport * from \"./components/List\";\nexport * from \"./components/Skeleton\";\nexport * from \"./components/ProgressIndicator\";\nexport * from \"./components/Divider\";\nexport * from \"./components/Portal\";\nexport * from \"./components/Tag\";\nexport * from \"./components/Image\";\nexport * from \"./components/Button\";\nexport * from \"./components/Popover\";\nexport * from \"./components/Switch\";\nexport * from \"./components/ConfigProvider\";\nexport * from \"./components/Text\";\nexport * from \"./components/Collapse\";\nexport * from \"./components/Empty\";\nexport * from \"./components/Result\";\nexport * from \"./components/PullRefresh\";\nexport * from \"./components/Icon\";\nexport * from \"./components/Badge\";\nexport * from \"./components/Avatar\";\nexport * from \"./components/AvatarGroup\";\nexport * from \"./components/Tab\";\nexport * from \"./components/SlimTabs\";\nexport * from \"./components/SlimAlert\";\nexport * from \"./components/SlimNavigationBar\";\nexport * from \"./components/Search\";\nexport * from \"./components/ActionablePopover\";\nimport \"react-native-url-polyfill/auto\";\nbindPushDataEvent(pushGlobalData);\n"],"names":["Radio","props","_props$isControl","useMounted","finalProps","_objectSpread","RadioDefaultProps","isControl","themeColor","useThemeColor","name","disabled","children","onClick","radioType","type","_useState","useState","_useState2","_slicedToArray","_checked","setChecked","parent","useContext","RadioGroupContext","useEffect","value","checked","modelValue","size","toggle","useCallback","updateValue","containerStyle","getContainerStyle","direction","position","wrapperStyle","getWrapperStyle","uncheckedStyle","getUnCheckedStyle","iconStyleClass","getIconStyleClass","labelStyle","getLabelStyle","iconSizeMap","small","medium","large","rightStyle","getRightIconStyle","rightWrapperStyle","getRightWrapperStyle","React","createElement","Fragment","TouchableWithoutFeedback","onPress","View","style","Icon","icon","customIcon","styles","customIconStyle","IconType","image","Image","source","uri","hiddenBgStyle","isLast","line","getDividerStyle","freestyle","Text","textStyle","memo","bindPushDataEvent","pushGlobalData"],"mappings":"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"}
@@ -134,6 +134,7 @@ require('../../_chunks/Br2Q0ftc.js');
134
134
  require('../Picker/api.js');
135
135
  require('../Alert/Alert.js');
136
136
  require('../../_chunks/DRil9ukg.js');
137
+ require('../SlimAlert/PortalHost.js');
137
138
  require('../Alert/styles.js');
138
139
  require('../Alert/hooks/alert.js');
139
140
  require('../FAB/FAB.js');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -167,6 +167,10 @@ var AnimatedSheets = /*#__PURE__*/React.forwardRef(function (props, ref) {
167
167
  var threeQuaterScreenHeight = Math.floor(fullScreenHeight * 0.75);
168
168
  var isIos = reactNative.Platform.OS === "ios";
169
169
  var SAFE_BOTTOM = components_StatusBar_hook_getStatusHeight.getSafeAreaInsets().bottom;
170
+ var finalSafeBottom = SAFE_BOTTOM || isIos ? 34 : 20;
171
+ if (reactNative.Platform.OS === "web") {
172
+ finalSafeBottom = 0;
173
+ }
170
174
  var calculateHeight = 0;
171
175
  if (props.animatedSheetsSize === "fixed") {
172
176
  calculateHeight = props.autoSize ? props.autoSize : size === components_Sheets_interface_index.SheetsSize.half ? halfScreenHeight : size === components_Sheets_interface_index.SheetsSize.threeQuater ? threeQuaterScreenHeight : fullScreenHeight;
@@ -174,7 +178,7 @@ var AnimatedSheets = /*#__PURE__*/React.forwardRef(function (props, ref) {
174
178
  calculateHeight = sheetsType !== components_Sheets_interface_index.SheetsType.dragable ? size === components_Sheets_interface_index.SheetsSize.auto ? factHeight ? Math.min(fullScreenHeight, factHeight) : fullScreenHeight : size === components_Sheets_interface_index.SheetsSize.half ? factHeight ? Math.min(halfScreenHeight, factHeight) : halfScreenHeight : size === components_Sheets_interface_index.SheetsSize.threeQuater ? factHeight ? Math.min(threeQuaterScreenHeight, factHeight) : threeQuaterScreenHeight : factHeight ? Math.min(fullScreenHeight, factHeight) : fullScreenHeight : factHeight;
175
179
  childHeightRef.current = calculateHeight;
176
180
  }
177
- setSheetsHeight(((_props$sheetsStyle = props.sheetsStyle) === null || _props$sheetsStyle === void 0 ? void 0 : _props$sheetsStyle.backgroundColor) === "transparent" ? calculateHeight : calculateHeight + (SAFE_BOTTOM || (isIos ? 34 : 20)));
181
+ setSheetsHeight(((_props$sheetsStyle = props.sheetsStyle) === null || _props$sheetsStyle === void 0 ? void 0 : _props$sheetsStyle.backgroundColor) === "transparent" ? calculateHeight : calculateHeight + finalSafeBottom);
178
182
  }, [actionHeight, labelHeight, childHeight, props.animatedSheetsSize, props.autoSize, size, screenHeight]);
179
183
  React.useEffect(function () {
180
184
  if (mask) {
@@ -336,7 +340,14 @@ var AnimatedSheets = /*#__PURE__*/React.forwardRef(function (props, ref) {
336
340
  }]
337
341
  }, {
338
342
  zIndex: props.zIndex
339
- }, props.sheetsStyle]
343
+ }, props.sheetsStyle,
344
+ // @ts-expect-error
345
+ reactNative.Platform.OS === "web" ? {
346
+ position: "fixed",
347
+ bottom: 0,
348
+ left: 0,
349
+ right: 0
350
+ } : {}]
340
351
  }, props.header ? /* @__PURE__ */React.createElement(reactNative.View, {
341
352
  onLayout: handleLabelLayout
342
353
  }, props.header) : /* @__PURE__ */React.createElement(React.Fragment, null), showLabel && !props.header ? /* @__PURE__ */React.createElement(reactNative.View, {