@xhsreds/reds-rn-next 0.11.1-premode-test.0 → 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 (172) hide show
  1. package/coverage/.tmp/coverage-10.json +1 -1
  2. package/coverage/.tmp/coverage-11.json +1 -1
  3. package/coverage/.tmp/coverage-12.json +1 -1
  4. package/coverage/.tmp/coverage-13.json +1 -1
  5. package/coverage/.tmp/coverage-14.json +1 -1
  6. package/coverage/.tmp/coverage-15.json +1 -1
  7. package/coverage/.tmp/coverage-16.json +1 -1
  8. package/coverage/.tmp/coverage-21.json +1 -1
  9. package/coverage/.tmp/coverage-22.json +1 -1
  10. package/coverage/.tmp/coverage-23.json +1 -1
  11. package/coverage/.tmp/coverage-3.json +1 -1
  12. package/coverage/.tmp/coverage-30.json +1 -1
  13. package/coverage/.tmp/coverage-31.json +1 -1
  14. package/coverage/.tmp/coverage-32.json +1 -1
  15. package/coverage/.tmp/coverage-33.json +1 -1
  16. package/coverage/.tmp/coverage-34.json +1 -1
  17. package/coverage/.tmp/coverage-35.json +1 -1
  18. package/coverage/.tmp/coverage-36.json +1 -1
  19. package/coverage/.tmp/coverage-37.json +1 -1
  20. package/coverage/.tmp/coverage-38.json +1 -1
  21. package/coverage/.tmp/coverage-39.json +1 -1
  22. package/coverage/.tmp/coverage-4.json +1 -1
  23. package/coverage/.tmp/coverage-40.json +1 -1
  24. package/coverage/.tmp/coverage-41.json +1 -1
  25. package/coverage/.tmp/coverage-5.json +1 -1
  26. package/coverage/.tmp/coverage-6.json +1 -1
  27. package/coverage/.tmp/coverage-7.json +1 -1
  28. package/coverage/.tmp/coverage-8.json +1 -1
  29. package/coverage/.tmp/coverage-9.json +1 -1
  30. package/lib/cjs/_chunks/BiKD1VTc.js.map +1 -1
  31. package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
  32. package/lib/cjs/components/ActionablePopover/ActionablePopover.js +3 -0
  33. package/lib/cjs/components/ActionablePopover/ActionablePopover.js.map +1 -1
  34. package/lib/cjs/components/Alert/Alert.js +12 -9
  35. package/lib/cjs/components/Alert/Alert.js.map +1 -1
  36. package/lib/cjs/components/Alert/hooks/alert.js +1 -0
  37. package/lib/cjs/components/Alert/hooks/alert.js.map +1 -1
  38. package/lib/cjs/components/Alert/index.js +1 -0
  39. package/lib/cjs/components/Alert/index.js.map +1 -1
  40. package/lib/cjs/components/Button/Viewable.web.js +47 -0
  41. package/lib/cjs/components/Button/Viewable.web.js.map +1 -0
  42. package/lib/cjs/components/Collapse/Item/Item.web.js +164 -0
  43. package/lib/cjs/components/Collapse/Item/Item.web.js.map +1 -0
  44. package/lib/cjs/components/Image/index.js +1 -1
  45. package/lib/cjs/components/Image/index.js.map +1 -1
  46. package/lib/cjs/components/NoticeBar/NoticeBar.js +12 -6
  47. package/lib/cjs/components/NoticeBar/NoticeBar.js.map +1 -1
  48. package/lib/cjs/components/PickerView/PickerView.js +2 -1
  49. package/lib/cjs/components/PickerView/PickerView.js.map +1 -1
  50. package/lib/cjs/components/PickerView/Wheel.js +22 -2
  51. package/lib/cjs/components/PickerView/Wheel.js.map +1 -1
  52. package/lib/cjs/components/Popover/Popover.js +24 -28
  53. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  54. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js +3 -3
  55. package/lib/cjs/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  56. package/lib/cjs/components/Radio/Radio.js +1 -0
  57. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  58. package/lib/cjs/components/Radio/index.js +1 -0
  59. package/lib/cjs/components/Radio/index.js.map +1 -1
  60. package/lib/cjs/components/Sheets/AnimatedSheets.js +13 -2
  61. package/lib/cjs/components/Sheets/AnimatedSheets.js.map +1 -1
  62. package/lib/cjs/components/SlimAlert/Alert.js +12 -8
  63. package/lib/cjs/components/SlimAlert/Alert.js.map +1 -1
  64. package/lib/cjs/components/SlimAlert/PortalHost.js +28 -0
  65. package/lib/cjs/components/SlimAlert/PortalHost.js.map +1 -0
  66. package/lib/cjs/components/SlimAlert/PortalHost.web.js +12171 -0
  67. package/lib/cjs/components/SlimAlert/PortalHost.web.js.map +1 -0
  68. package/lib/cjs/components/SlimAlert/index.js +1 -0
  69. package/lib/cjs/components/SlimAlert/index.js.map +1 -1
  70. package/lib/cjs/components/Tag/Tag.js +10 -3
  71. package/lib/cjs/components/Tag/Tag.js.map +1 -1
  72. package/lib/cjs/components/TextField/TextField.js +22 -12
  73. package/lib/cjs/components/TextField/TextField.js.map +1 -1
  74. package/lib/cjs/components/TextView/TextView.js +4 -2
  75. package/lib/cjs/components/TextView/TextView.js.map +1 -1
  76. package/lib/cjs/components/Toast/Toast.js +1 -1
  77. package/lib/cjs/components/Toast/Toast.js.map +1 -1
  78. package/lib/cjs/index.js +1 -0
  79. package/lib/cjs/index.js.map +1 -1
  80. package/lib/cjs/pvCount/pvData.js +11 -6
  81. package/lib/cjs/pvCount/pvData.js.map +1 -1
  82. package/lib/esm/_chunks/Dr5vetot.js.map +1 -1
  83. package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
  84. package/lib/esm/components/ActionablePopover/ActionablePopover.js +3 -0
  85. package/lib/esm/components/ActionablePopover/ActionablePopover.js.map +1 -1
  86. package/lib/esm/components/Alert/Alert.js +12 -9
  87. package/lib/esm/components/Alert/Alert.js.map +1 -1
  88. package/lib/esm/components/Alert/hooks/alert.js +1 -0
  89. package/lib/esm/components/Alert/hooks/alert.js.map +1 -1
  90. package/lib/esm/components/Alert/index.js +1 -0
  91. package/lib/esm/components/Alert/index.js.map +1 -1
  92. package/lib/esm/components/Button/Viewable.web.js +43 -0
  93. package/lib/esm/components/Button/Viewable.web.js.map +1 -0
  94. package/lib/esm/components/Collapse/Item/Item.web.js +160 -0
  95. package/lib/esm/components/Collapse/Item/Item.web.js.map +1 -0
  96. package/lib/esm/components/Image/index.js +1 -1
  97. package/lib/esm/components/Image/index.js.map +1 -1
  98. package/lib/esm/components/NoticeBar/NoticeBar.js +13 -7
  99. package/lib/esm/components/NoticeBar/NoticeBar.js.map +1 -1
  100. package/lib/esm/components/PickerView/PickerView.js +2 -1
  101. package/lib/esm/components/PickerView/PickerView.js.map +1 -1
  102. package/lib/esm/components/PickerView/Wheel.js +23 -3
  103. package/lib/esm/components/PickerView/Wheel.js.map +1 -1
  104. package/lib/esm/components/Popover/Popover.js +24 -28
  105. package/lib/esm/components/Popover/Popover.js.map +1 -1
  106. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js +4 -4
  107. package/lib/esm/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  108. package/lib/esm/components/Radio/Radio.js +1 -0
  109. package/lib/esm/components/Radio/Radio.js.map +1 -1
  110. package/lib/esm/components/Radio/index.js +1 -0
  111. package/lib/esm/components/Radio/index.js.map +1 -1
  112. package/lib/esm/components/Sheets/AnimatedSheets.js +13 -2
  113. package/lib/esm/components/Sheets/AnimatedSheets.js.map +1 -1
  114. package/lib/esm/components/SlimAlert/Alert.js +12 -8
  115. package/lib/esm/components/SlimAlert/Alert.js.map +1 -1
  116. package/lib/esm/components/SlimAlert/PortalHost.js +24 -0
  117. package/lib/esm/components/SlimAlert/PortalHost.js.map +1 -0
  118. package/lib/esm/components/SlimAlert/PortalHost.web.js +12167 -0
  119. package/lib/esm/components/SlimAlert/PortalHost.web.js.map +1 -0
  120. package/lib/esm/components/SlimAlert/index.js +1 -0
  121. package/lib/esm/components/SlimAlert/index.js.map +1 -1
  122. package/lib/esm/components/Tag/Tag.js +12 -5
  123. package/lib/esm/components/Tag/Tag.js.map +1 -1
  124. package/lib/esm/components/TextField/TextField.js +22 -12
  125. package/lib/esm/components/TextField/TextField.js.map +1 -1
  126. package/lib/esm/components/TextView/TextView.js +4 -2
  127. package/lib/esm/components/TextView/TextView.js.map +1 -1
  128. package/lib/esm/components/Toast/Toast.js +2 -2
  129. package/lib/esm/components/Toast/Toast.js.map +1 -1
  130. package/lib/esm/index.js +1 -0
  131. package/lib/esm/index.js.map +1 -1
  132. package/lib/esm/pvCount/pvData.js +11 -6
  133. package/lib/esm/pvCount/pvData.js.map +1 -1
  134. package/lib/src/components/Button/Viewable.web.d.ts +3 -0
  135. package/lib/src/components/Collapse/Item/Item.web.d.ts +7 -0
  136. package/lib/src/components/Form/interface/index.d.ts +0 -1
  137. package/lib/src/components/Image/interface/index.d.ts +0 -2
  138. package/lib/src/components/Search/interface/index.d.ts +0 -2
  139. package/lib/src/components/Slider/interface/index.d.ts +0 -2
  140. package/lib/src/components/SlimAlert/Alert.d.ts +1 -1
  141. package/lib/src/components/SlimAlert/PortalHost.d.ts +6 -0
  142. package/lib/src/components/SlimAlert/PortalHost.web.d.ts +6 -0
  143. package/lib/src/components/Video/interface/index.d.ts +0 -2
  144. package/lib/types/components/Button/Viewable.web.d.ts +3 -0
  145. package/lib/types/components/Collapse/Item/Item.web.d.ts +7 -0
  146. package/lib/types/components/SlimAlert/Alert.d.ts +1 -1
  147. package/lib/types/components/SlimAlert/PortalHost.d.ts +6 -0
  148. package/lib/types/components/SlimAlert/PortalHost.web.d.ts +6 -0
  149. package/package.json +9 -5
  150. package/src/components/ActionSheets/ActionSheets.tsx +0 -1
  151. package/src/components/ActionablePopover/ActionablePopover.tsx +3 -0
  152. package/src/components/Alert/Alert.tsx +5 -5
  153. package/src/components/Button/Viewable.web.tsx +44 -0
  154. package/src/components/Collapse/Item/Item.web.tsx +150 -0
  155. package/src/components/DatePicker/interface/index.ts +1 -0
  156. package/src/components/Image/index.ts +1 -1
  157. package/src/components/NoticeBar/NoticeBar.tsx +29 -5
  158. package/src/components/PickerView/PickerView.tsx +1 -1
  159. package/src/components/PickerView/Wheel.tsx +32 -3
  160. package/src/components/Popover/Popover.tsx +24 -26
  161. package/src/components/ProgressIndicator/ProgressIndicator.tsx +4 -12
  162. package/src/components/Sheets/AnimatedSheets.tsx +7 -3
  163. package/src/components/SlimAlert/Alert.tsx +9 -7
  164. package/src/components/SlimAlert/PortalHost.tsx +7 -0
  165. package/src/components/SlimAlert/PortalHost.web.tsx +11 -0
  166. package/src/components/Tag/Tag.tsx +7 -3
  167. package/src/components/TextField/TextField.tsx +19 -8
  168. package/src/components/TextView/TextView.tsx +15 -3
  169. package/src/components/Toast/Toast.tsx +2 -2
  170. package/src/i18n/@types/resources.d.ts +27 -27
  171. package/src/i18n/index.json +31 -31
  172. package/tsconfig.dts.json +1 -1
@@ -21,7 +21,7 @@ import '../../pvCount/pvData.js';
21
21
  import './VisibilitySensor.js';
22
22
 
23
23
  var _Platform$constants;
24
- var ImageComponent = ((_Platform$constants = Platform.constants) === null || _Platform$constants === void 0 || (_Platform$constants = _Platform$constants.reactNativeVersion) === null || _Platform$constants === void 0 ? void 0 : _Platform$constants.minor) === 72 ? Image : Image69;
24
+ var ImageComponent = ((_Platform$constants = Platform.constants) === null || _Platform$constants === void 0 || (_Platform$constants = _Platform$constants.reactNativeVersion) === null || _Platform$constants === void 0 ? void 0 : _Platform$constants.minor) === 72 || Platform.OS === "web" ? Image : Image69;
25
25
 
26
26
  export { ImageComponent as Image, Image69, ImageComponent as default };
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Image/index.ts"],"sourcesContent":["import { Platform } from \"react-native\";\nimport Image from \"./Image\";\nimport Image69 from \"./Image69\";\nimport * as ImageType from \"./interface\";\n\nconst ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 ? Image : Image69;\nexport default ImageComponent;\nexport { ImageComponent as Image, ImageType, Image69 };\n"],"names":["ImageComponent","_Platform$constants","Platform","constants","reactNativeVersion","minor","Image","Image69"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKMA,IAAAA,iBAAiB,CAAA,CAAAC,mBAAA,GAAAC,QAAS,CAAAC,SAAA,MAAA,IAAA,IAAAF,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAATA,mBAAA,CAAoBG,kBAAoB,MAAA,IAAA,IAAAH,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxCA,mBAAA,CAAwCI,KAAA,MAAU,KAAKC,KAAQ,GAAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Image/index.ts"],"sourcesContent":["import { Platform } from \"react-native\";\nimport Image from \"./Image\";\nimport Image69 from \"./Image69\";\nimport * as ImageType from \"./interface\";\n\nconst ImageComponent = Platform.constants?.reactNativeVersion?.minor === 72 || Platform.OS === \"web\" ? Image : Image69;\nexport default ImageComponent;\nexport { ImageComponent as Image, ImageType, Image69 };\n"],"names":["ImageComponent","_Platform$constants","Platform","constants","reactNativeVersion","minor","OS","Image","Image69"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,cAAA,GAAiB,CAAAC,CAAAA,mBAAA,GAAAC,SAASC,SAAW,MAAA,IAAA,IAAAF,mBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,mBAAA,GAApBA,mBAAA,CAAoBG,kBAAA,MAAAH,IAAAA,IAAAA,mBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,mBAAA,CAAwCI,WAAU,EAAM,IAAAH,QAAA,CAASI,EAAO,KAAA,KAAA,GAAQC,KAAQ,GAAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { _ as _slicedToArray } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useState, useMemo, useRef, useEffect } from 'react';
3
- import { Animated, View, Image, Text, TouchableWithoutFeedback, Easing } from 'react-native';
3
+ import { Platform, Animated, View, Image, Text, TouchableWithoutFeedback, Easing } from 'react-native';
4
4
  import { N as NoticeBarType, a as NoticeBarActionType, b as NoticeBarDefaultProps } from '../../_chunks/vfMM_tvS.js';
5
5
  import getStyles from './styles.js';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -16,6 +16,11 @@ import '../../_chunks/xB1yvFw8.js';
16
16
  import '../LanguageProvider/hooks/LanguageContext.js';
17
17
  import '../../i18n/index.js';
18
18
 
19
+ var AnimatedTextStyle = Platform.OS === "web" ? {
20
+ textOverflow: "initial",
21
+ overflow: "initial",
22
+ maxWidth: "auto"
23
+ } : {};
19
24
  var NoticeBar = function NoticeBar(props) {
20
25
  useMounted("NoticeBar");
21
26
  var _useState = useState(true),
@@ -66,7 +71,7 @@ var NoticeBar = function NoticeBar(props) {
66
71
  return Math.max(textWidth - containerWidth, 0);
67
72
  }, [textWidth, containerWidth]);
68
73
  useEffect(function () {
69
- if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0) {
74
+ if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0 && scrollDistance > 0) {
70
75
  var _startScrolling = function startScrolling() {
71
76
  scrollX.setValue(0);
72
77
  Animated.timing(scrollX, {
@@ -96,6 +101,9 @@ var NoticeBar = function NoticeBar(props) {
96
101
  useEffect(function () {
97
102
  setVisible(!!props.visible);
98
103
  }, [props.visible]);
104
+ var handleAnimatedTextLayout = function handleAnimatedTextLayout(e) {
105
+ setTextWidth(e.nativeEvent.layout.width);
106
+ };
99
107
  return _visible ? /* @__PURE__ */React.createElement(View, {
100
108
  style: [styles.container, {
101
109
  backgroundColor: color,
@@ -116,7 +124,7 @@ var NoticeBar = function NoticeBar(props) {
116
124
  }, props.type === NoticeBarType.SCROLLABLE ? /* @__PURE__ */React.createElement(View, {
117
125
  style: {
118
126
  minHeight: 18,
119
- overflow: "scroll",
127
+ overflow: Platform.OS === "web" ? "hidden" : "scroll",
120
128
  flexDirection: "row"
121
129
  }
122
130
  }, /* @__PURE__ */React.createElement(Animated.Text, {
@@ -125,10 +133,8 @@ var NoticeBar = function NoticeBar(props) {
125
133
  transform: [{
126
134
  translateX: scrollX
127
135
  }]
128
- }],
129
- onLayout: function onLayout(e) {
130
- return setTextWidth(e.nativeEvent.layout.width);
131
- }
136
+ }, AnimatedTextStyle],
137
+ onLayout: handleAnimatedTextLayout
132
138
  }, /* @__PURE__ */React.createElement(Text, {
133
139
  style: styles.text
134
140
  }, props.content), /* @__PURE__ */React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"NoticeBar.js","sources":["../../../../src/components/NoticeBar/NoticeBar.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, Image, Animated, Easing } from \"react-native\";\nimport { RedsNoticeBar, NoticeBarDefaultProps, NoticeBarType, NoticeBarActionType } from \"./interface/index\";\nimport getStyles from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nconst NoticeBar = (props: RedsNoticeBar) => {\n useMounted(\"NoticeBar\");\n const [_visible, setVisible] = useState(true);\n\n const themeColor = useThemeColor();\n\n const styles = getStyles(themeColor);\n\n const jumpKey = useLanguage(\"componentKey\", \"jumpKey\");\n\n const icon = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n case \"success\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c62ce17c572dff50aa28209bedf635fc303d18f8.png\";\n case \"warning\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/11b33735cbfddd621d1163dec26a5c240bc407f1.png\";\n case \"danger\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/4df0100d42449186672e3c4d9863ec4bce4bb23a.png\";\n default:\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n }\n }, [props.theme]);\n\n const color = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return themeColor.Info2;\n case \"success\":\n return themeColor.Success2;\n case \"warning\":\n return themeColor.Warning2;\n case \"danger\":\n return themeColor.Primary2;\n default:\n return themeColor.Info2;\n }\n }, [props.theme, themeColor]);\n\n const [textWidth, setTextWidth] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const scrollX = useRef(new Animated.Value(0)).current;\n\n const scrollDistance = useMemo(() => Math.max(textWidth - containerWidth, 0), [textWidth, containerWidth]);\n\n useEffect(() => {\n if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0) {\n const startScrolling = () => {\n scrollX.setValue(0);\n Animated.timing(scrollX, {\n toValue: -scrollDistance,\n duration: scrollDistance * 30,\n easing: Easing.linear,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n startScrolling();\n }\n });\n };\n\n startScrolling();\n }\n }, [textWidth, containerWidth, props.type, scrollDistance]);\n\n const handleLink = () => {\n props.onClick?.();\n };\n\n const handleClose = () => {\n setVisible(false);\n props.onClose?.();\n };\n\n useEffect(() => {\n setVisible(!!props.visible);\n }, [props.visible]);\n\n return _visible ? (\n <View\n style={[\n styles.container,\n { backgroundColor: color, alignItems: props.type === NoticeBarType.MUTILINE ? \"flex-start\" : \"center\" },\n props.style,\n ]}\n >\n {props.withIcon ? <Image source={{ uri: icon }} style={styles.icon} testID=\"notice-icon\" /> : <></>}\n {props.children}\n <View\n style={styles.textWrapper}\n testID=\"text-wrapper\"\n onLayout={(e) => setContainerWidth(e.nativeEvent.layout.width)}\n >\n {props.type === NoticeBarType.SCROLLABLE ? (\n <View style={{ minHeight: 18, overflow: \"scroll\", flexDirection: \"row\" }}>\n <Animated.Text\n numberOfLines={1}\n style={[{ transform: [{ translateX: scrollX }] }]}\n onLayout={(e) => setTextWidth(e.nativeEvent.layout.width)}\n >\n <Text style={styles.text}>{props.content}</Text>\n <Text style={styles.text}>{\" \"}</Text>\n <Text style={styles.text}>{props.content}</Text>\n </Animated.Text>\n </View>\n ) : (\n <Text\n style={[styles.text]}\n numberOfLines={props.type === NoticeBarType.BASIC ? 1 : undefined}\n ellipsizeMode=\"tail\"\n >\n {props.content}\n </Text>\n )}\n </View>\n {props.actionType === NoticeBarActionType.TEXTACTION ? (\n <Text style={styles.linkText} onPress={handleLink}>\n {props.actionText || jumpKey}\n </Text>\n ) : (\n <></>\n )}\n {/* 跳转icon */}\n {props.actionType === NoticeBarActionType.ICONACTION ? (\n <TouchableWithoutFeedback onPress={handleLink}>\n <Image\n testID=\"action-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/2708eed5e1ec88c28d5358d1496e6c8d28eaf819.png\",\n }}\n style={styles.link}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n {/* 关闭icon */}\n {props.closable ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <Image\n testID=\"close-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/0792412fe36bc5bed739e0a62c504b3b83caeedb.png\",\n }}\n style={styles.close}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n );\n};\n\nNoticeBar.defaultProps = NoticeBarDefaultProps;\n\nexport default NoticeBar;\n"],"names":["NoticeBar","props","useMounted","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","themeColor","useThemeColor","styles","getStyles","jumpKey","useLanguage","icon","useMemo","theme","color","Info2","Success2","Warning2","Primary2","_useState3","_useState4","textWidth","setTextWidth","_useState5","_useState6","containerWidth","setContainerWidth","scrollX","useRef","Animated","Value","current","scrollDistance","Math","max","useEffect","type","NoticeBarType","SCROLLABLE","startScrolling","setValue","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","_ref","finished","handleLink","_props$onClick","onClick","call","handleClose","_props$onClose","onClose","visible","React","createElement","View","style","container","backgroundColor","alignItems","MUTILINE","withIcon","Image","source","uri","testID","Fragment","children","textWrapper","onLayout","e","nativeEvent","layout","width","minHeight","overflow","flexDirection","Text","numberOfLines","transform","translateX","text","content","BASIC","ellipsizeMode","actionType","NoticeBarActionType","TEXTACTION","linkText","onPress","actionText","ICONACTION","TouchableWithoutFeedback","link","closable","close","defaultProps","NoticeBarDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"NoticeBar.js","sources":["../../../../src/components/NoticeBar/NoticeBar.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\nimport {\n View,\n TouchableWithoutFeedback,\n Text,\n Image,\n Animated,\n Easing,\n LayoutChangeEvent,\n Platform,\n TextStyle,\n} from \"react-native\";\nimport { RedsNoticeBar, NoticeBarDefaultProps, NoticeBarType, NoticeBarActionType } from \"./interface/index\";\nimport getStyles from \"./styles\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst AnimatedTextStyle =\n Platform.OS === \"web\"\n ? {\n textOverflow: \"initial\",\n overflow: \"initial\",\n maxWidth: \"auto\",\n }\n : {};\n\nconst NoticeBar = (props: RedsNoticeBar) => {\n useMounted(\"NoticeBar\");\n const [_visible, setVisible] = useState(true);\n\n const themeColor = useThemeColor();\n\n const styles = getStyles(themeColor);\n\n const jumpKey = useLanguage(\"componentKey\", \"jumpKey\");\n\n const icon = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n case \"success\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/c62ce17c572dff50aa28209bedf635fc303d18f8.png\";\n case \"warning\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/11b33735cbfddd621d1163dec26a5c240bc407f1.png\";\n case \"danger\":\n return \"https://picasso-static.xiaohongshu.com/fe-platform/4df0100d42449186672e3c4d9863ec4bce4bb23a.png\";\n default:\n return \"https://picasso-static.xiaohongshu.com/fe-platform/1a246fbb8d573348d3f1e6d6e2c1e73b790e8ddc.png\";\n }\n }, [props.theme]);\n\n const color = useMemo(() => {\n switch (props.theme) {\n case \"info\":\n return themeColor.Info2;\n case \"success\":\n return themeColor.Success2;\n case \"warning\":\n return themeColor.Warning2;\n case \"danger\":\n return themeColor.Primary2;\n default:\n return themeColor.Info2;\n }\n }, [props.theme, themeColor]);\n\n const [textWidth, setTextWidth] = useState(0);\n const [containerWidth, setContainerWidth] = useState(0);\n const scrollX = useRef(new Animated.Value(0)).current;\n\n const scrollDistance = useMemo(() => Math.max(textWidth - containerWidth, 0), [textWidth, containerWidth]);\n\n useEffect(() => {\n if (props.type === NoticeBarType.SCROLLABLE && textWidth > 0 && scrollDistance > 0) {\n const startScrolling = () => {\n scrollX.setValue(0);\n Animated.timing(scrollX, {\n toValue: -scrollDistance,\n duration: scrollDistance * 30,\n easing: Easing.linear,\n useNativeDriver: true,\n }).start(({ finished }) => {\n if (finished) {\n startScrolling();\n }\n });\n };\n\n startScrolling();\n }\n }, [textWidth, containerWidth, props.type, scrollDistance]);\n\n const handleLink = () => {\n props.onClick?.();\n };\n\n const handleClose = () => {\n setVisible(false);\n props.onClose?.();\n };\n\n useEffect(() => {\n setVisible(!!props.visible);\n }, [props.visible]);\n\n const handleAnimatedTextLayout = (e: LayoutChangeEvent) => {\n setTextWidth(e.nativeEvent.layout.width);\n };\n\n return _visible ? (\n <View\n style={[\n styles.container,\n { backgroundColor: color, alignItems: props.type === NoticeBarType.MUTILINE ? \"flex-start\" : \"center\" },\n props.style,\n ]}\n >\n {props.withIcon ? <Image source={{ uri: icon }} style={styles.icon} testID=\"notice-icon\" /> : <></>}\n {props.children}\n <View\n style={styles.textWrapper}\n testID=\"text-wrapper\"\n onLayout={(e) => setContainerWidth(e.nativeEvent.layout.width)}\n >\n {props.type === NoticeBarType.SCROLLABLE ? (\n <View style={{ minHeight: 18, overflow: Platform.OS === \"web\" ? \"hidden\" : \"scroll\", flexDirection: \"row\" }}>\n <Animated.Text\n numberOfLines={1}\n style={[{ transform: [{ translateX: scrollX }] }, AnimatedTextStyle as TextStyle]}\n onLayout={handleAnimatedTextLayout}\n >\n <Text style={styles.text}>{props.content}</Text>\n <Text style={styles.text}>{\" \"}</Text>\n <Text style={styles.text}>{props.content}</Text>\n </Animated.Text>\n </View>\n ) : (\n <Text\n style={[styles.text]}\n numberOfLines={props.type === NoticeBarType.BASIC ? 1 : undefined}\n ellipsizeMode=\"tail\"\n >\n {props.content}\n </Text>\n )}\n </View>\n {props.actionType === NoticeBarActionType.TEXTACTION ? (\n <Text style={styles.linkText} onPress={handleLink}>\n {props.actionText || jumpKey}\n </Text>\n ) : (\n <></>\n )}\n {/* 跳转icon */}\n {props.actionType === NoticeBarActionType.ICONACTION ? (\n <TouchableWithoutFeedback onPress={handleLink}>\n <Image\n testID=\"action-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/2708eed5e1ec88c28d5358d1496e6c8d28eaf819.png\",\n }}\n style={styles.link}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n {/* 关闭icon */}\n {props.closable ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <Image\n testID=\"close-icon\"\n source={{\n uri: \"https://picasso-static.xiaohongshu.com/fe-platform/0792412fe36bc5bed739e0a62c504b3b83caeedb.png\",\n }}\n style={styles.close}\n />\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n </View>\n ) : (\n <></>\n );\n};\n\nNoticeBar.defaultProps = NoticeBarDefaultProps;\n\nexport default NoticeBar;\n"],"names":["AnimatedTextStyle","Platform","OS","textOverflow","overflow","maxWidth","NoticeBar","props","useMounted","_useState","useState","_useState2","_slicedToArray","_visible","setVisible","themeColor","useThemeColor","styles","getStyles","jumpKey","useLanguage","icon","useMemo","theme","color","Info2","Success2","Warning2","Primary2","_useState3","_useState4","textWidth","setTextWidth","_useState5","_useState6","containerWidth","setContainerWidth","scrollX","useRef","Animated","Value","current","scrollDistance","Math","max","useEffect","type","NoticeBarType","SCROLLABLE","startScrolling","setValue","timing","toValue","duration","easing","Easing","linear","useNativeDriver","start","_ref","finished","handleLink","_props$onClick","onClick","call","handleClose","_props$onClose","onClose","visible","handleAnimatedTextLayout","e","nativeEvent","layout","width","React","createElement","View","style","container","backgroundColor","alignItems","MUTILINE","withIcon","Image","source","uri","testID","Fragment","children","textWrapper","onLayout","minHeight","flexDirection","Text","numberOfLines","transform","translateX","text","content","BASIC","ellipsizeMode","actionType","NoticeBarActionType","TEXTACTION","linkText","onPress","actionText","ICONACTION","TouchableWithoutFeedback","link","closable","close","defaultProps","NoticeBarDefaultProps"],"mappings":"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"}
@@ -87,7 +87,8 @@ var PickerView = function PickerView(props) {
87
87
  type: "default"
88
88
  })) : /* @__PURE__ */React.createElement(View, {
89
89
  style: [styles.wheelWrapper, {
90
- backgroundColor: themeColor.Bg2
90
+ backgroundColor: themeColor.Bg2,
91
+ overflow: "scroll"
91
92
  }]
92
93
  }, columns.map(function (column, colIndex) {
93
94
  return /* @__PURE__ */React.createElement(Wheel, {
@@ -1 +1 @@
1
- {"version":3,"file":"PickerView.js","sources":["../../../../src/components/PickerView/PickerView.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { View } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport ProgressIndicator from \"../ProgressIndicator\";\nimport { RedsPickerView } from \"./interface/index\";\nimport styles from \"./styles\";\nimport Wheel from \"./Wheel\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst itemHeight = 40;\n\nconst PickerView = (props: RedsPickerView) => {\n useMounted(\"PickerView\");\n const { loading, columns = [], value = [], onChange = () => {}, accessibility = {} } = props;\n\n const themeColor = useThemeColor(\"Picker\");\n\n const [currentValue, setCurrentValue] = useState<string[]>([]);\n\n const [lastValue, setLastValue] = useState<string[]>([]);\n\n const handleSelect = (val: string, index: number) => {\n const newVal = currentValue.map((i, idx) => {\n return idx === index ? val : i;\n });\n if (newVal.join() !== currentValue.join()) {\n setCurrentValue(newVal);\n onChange(newVal);\n }\n };\n\n useEffect(() => {\n if (!value?.length) {\n const newVal = columns?.map?.((col) => col?.[0]?.value);\n setCurrentValue(newVal);\n } else if (value.join(\"\") !== lastValue.join(\"\")) {\n setCurrentValue(value);\n }\n setLastValue(value);\n }, [value]);\n\n return (\n <View style={[styles.wrapper, { backgroundColor: themeColor.Bg2 }]}>\n <View style={[{ height: 5 * itemHeight }]}>\n {loading || columns?.length === 0 ? (\n <View style={styles.progressIndicator} testID=\"progress-indicator\">\n <ProgressIndicator type=\"default\" />\n </View>\n ) : (\n <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2 }]}>\n {columns.map((column, colIndex) => (\n <Wheel\n key={colIndex}\n index={colIndex}\n column={column}\n value={currentValue?.[colIndex]}\n onSelect={handleSelect}\n accessibility={accessibility}\n />\n ))}\n </View>\n )}\n </View>\n {/* mask */}\n {!loading ? (\n <View style={styles.mask} pointerEvents=\"none\">\n <View style={[styles.maskTop, { backgroundColor: themeColor.Bg2 }]} />\n <View\n style={[\n styles.maskMiddle,\n { height: itemHeight, borderTopColor: themeColor.Separator, borderBottomColor: themeColor.Separator },\n ]}\n />\n <View style={[styles.maskBottom, { backgroundColor: themeColor.Bg2 }]} />\n </View>\n ) : (\n <></>\n )}\n </View>\n );\n};\n\nexport default React.memo(PickerView);\n"],"names":["itemHeight","PickerView","props","useMounted","loading","columns","_props$columns","value","_props$value","_props$onChange","onChange","_props$accessibility","accessibility","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","currentValue","setCurrentValue","_useState3","_useState4","lastValue","setLastValue","handleSelect","val","index","newVal","map","i","idx","join","useEffect","length","_columns$map","call","col","_col$","React","createElement","View","style","styles","wrapper","backgroundColor","Bg2","height","progressIndicator","testID","ProgressIndicator","type","wheelWrapper","column","colIndex","Wheel","key","onSelect","mask","pointerEvents","maskTop","maskMiddle","borderTopColor","Separator","borderBottomColor","maskBottom","memo"],"mappings":"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"}
1
+ {"version":3,"file":"PickerView.js","sources":["../../../../src/components/PickerView/PickerView.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { View } from \"react-native\";\nimport { useThemeColor } from \"../ConfigProvider\";\nimport ProgressIndicator from \"../ProgressIndicator\";\nimport { RedsPickerView } from \"./interface/index\";\nimport styles from \"./styles\";\nimport Wheel from \"./Wheel\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\n\nconst itemHeight = 40;\n\nconst PickerView = (props: RedsPickerView) => {\n useMounted(\"PickerView\");\n const { loading, columns = [], value = [], onChange = () => {}, accessibility = {} } = props;\n\n const themeColor = useThemeColor(\"Picker\");\n\n const [currentValue, setCurrentValue] = useState<string[]>([]);\n\n const [lastValue, setLastValue] = useState<string[]>([]);\n\n const handleSelect = (val: string, index: number) => {\n const newVal = currentValue.map((i, idx) => {\n return idx === index ? val : i;\n });\n if (newVal.join() !== currentValue.join()) {\n setCurrentValue(newVal);\n onChange(newVal);\n }\n };\n\n useEffect(() => {\n if (!value?.length) {\n const newVal = columns?.map?.((col) => col?.[0]?.value);\n setCurrentValue(newVal);\n } else if (value.join(\"\") !== lastValue.join(\"\")) {\n setCurrentValue(value);\n }\n setLastValue(value);\n }, [value]);\n\n return (\n <View style={[styles.wrapper, { backgroundColor: themeColor.Bg2 }]}>\n <View style={[{ height: 5 * itemHeight }]}>\n {loading || columns?.length === 0 ? (\n <View style={styles.progressIndicator} testID=\"progress-indicator\">\n <ProgressIndicator type=\"default\" />\n </View>\n ) : (\n <View style={[styles.wheelWrapper, { backgroundColor: themeColor.Bg2, overflow: \"scroll\" }]}>\n {columns.map((column, colIndex) => (\n <Wheel\n key={colIndex}\n index={colIndex}\n column={column}\n value={currentValue?.[colIndex]}\n onSelect={handleSelect}\n accessibility={accessibility}\n />\n ))}\n </View>\n )}\n </View>\n {/* mask */}\n {!loading ? (\n <View style={styles.mask} pointerEvents=\"none\">\n <View style={[styles.maskTop, { backgroundColor: themeColor.Bg2 }]} />\n <View\n style={[\n styles.maskMiddle,\n { height: itemHeight, borderTopColor: themeColor.Separator, borderBottomColor: themeColor.Separator },\n ]}\n />\n <View style={[styles.maskBottom, { backgroundColor: themeColor.Bg2 }]} />\n </View>\n ) : (\n <></>\n )}\n </View>\n );\n};\n\nexport default React.memo(PickerView);\n"],"names":["itemHeight","PickerView","props","useMounted","loading","columns","_props$columns","value","_props$value","_props$onChange","onChange","_props$accessibility","accessibility","themeColor","useThemeColor","_useState","useState","_useState2","_slicedToArray","currentValue","setCurrentValue","_useState3","_useState4","lastValue","setLastValue","handleSelect","val","index","newVal","map","i","idx","join","useEffect","length","_columns$map","call","col","_col$","React","createElement","View","style","styles","wrapper","backgroundColor","Bg2","height","progressIndicator","testID","ProgressIndicator","type","wheelWrapper","overflow","column","colIndex","Wheel","key","onSelect","mask","pointerEvents","maskTop","maskMiddle","borderTopColor","Separator","borderBottomColor","maskBottom","memo"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useRef, useState, useEffect } from 'react';
3
- import { ScrollView, View, TouchableNativeFeedback, Text } from 'react-native';
3
+ import { Platform, ScrollView, View, TouchableNativeFeedback, Text } from 'react-native';
4
4
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
5
5
  import '@xhs/reds-apm/src/index.native';
6
6
  import { useThemeColor } from '../ConfigProvider/hooks/themeToken/useThemeToken.js';
@@ -112,7 +112,11 @@ var Wheel = function Wheel(props) {
112
112
  onPress: function onPress() {
113
113
  return handleClick(index2);
114
114
  },
115
- key: item.value
115
+ key: item.value,
116
+ style: Platform.OS === "web" ? {
117
+ border: "none",
118
+ alignSelf: "inherit"
119
+ } : {}
116
120
  }, /* @__PURE__ */React.createElement(View, _objectSpread2({
117
121
  style: [styles.wheel, {
118
122
  height: itemHeight,
@@ -127,9 +131,25 @@ var Wheel = function Wheel(props) {
127
131
  }), item.label)));
128
132
  });
129
133
  };
134
+ useEffect(function () {
135
+ var _scrollerRef$current2;
136
+ if (Platform.OS !== "web") {
137
+ return;
138
+ }
139
+ var handleScrollEnd = function handleScrollEnd(e) {
140
+ var selectIndex = Math.round(e.target.scrollTop / itemHeight);
141
+ setIndex(selectIndex);
142
+ };
143
+ (_scrollerRef$current2 = scrollerRef.current) === null || _scrollerRef$current2 === void 0 || _scrollerRef$current2.addEventListener("scrollend", handleScrollEnd);
144
+ return function () {
145
+ var _scrollerRef$current3;
146
+ (_scrollerRef$current3 = scrollerRef.current) === null || _scrollerRef$current3 === void 0 || _scrollerRef$current3.removeEventListener("scrollend", handleScrollEnd);
147
+ };
148
+ }, [scrollerRef.current, itemHeight]);
130
149
  return /* @__PURE__ */React.createElement(ScrollView, _objectSpread2({
131
150
  style: {
132
- flex: 1
151
+ flex: 1,
152
+ height: "100%"
133
153
  },
134
154
  nestedScrollEnabled: true,
135
155
  horizontal: false,
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { _ as _slicedToArray, a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useMemo, useState, useRef, useEffect, isValidElement } from 'react';
3
- import { Animated, Dimensions, TouchableWithoutFeedback, View, Text, Image } from 'react-native';
3
+ import { Animated, TouchableWithoutFeedback, Platform, View, Text, Image, Dimensions } from 'react-native';
4
4
  import { ModalWrapper } from './component.js';
5
5
  import { typography, lightColor, darkColor } from '@xhsreds/reds-token-next';
6
6
  import useMounted from '../../pvCount/useUnmountedProcess.js';
@@ -52,45 +52,38 @@ var Popover = (function (_ref) {
52
52
  _useState2 = _slicedToArray(_useState, 2),
53
53
  _visible = _useState2[0],
54
54
  setVisible = _useState2[1];
55
+ var _useState3 = useState({}),
56
+ _useState4 = _slicedToArray(_useState3, 2),
57
+ floatStyles = _useState4[0],
58
+ setFloatStyles = _useState4[1];
59
+ var _useState5 = useState({}),
60
+ _useState6 = _slicedToArray(_useState5, 2),
61
+ arrowStyles = _useState6[0],
62
+ setArrowStyles = _useState6[1];
55
63
  var progress = useRef(new Animated.Value(0)).current;
56
64
  var childRef = useRef(null);
57
- var _useState3 = useState({
65
+ var _useState7 = useState({
58
66
  x: defaultValue,
59
67
  y: defaultValue,
60
68
  width: 0,
61
69
  height: 0
62
70
  }),
63
- _useState4 = _slicedToArray(_useState3, 2),
64
- layout = _useState4[0],
65
- setLayout = _useState4[1];
66
- var _useState5 = useState({
67
- x: defaultValue,
68
- y: defaultValue,
69
- width: 0,
70
- height: 0
71
- }),
72
- _useState6 = _slicedToArray(_useState5, 2),
73
- floatingLayout = _useState6[0],
74
- setFloatingLayout = _useState6[1];
75
- var floatStyles = useMemo(function () {
71
+ _useState8 = _slicedToArray(_useState7, 2),
72
+ layout = _useState8[0],
73
+ setLayout = _useState8[1];
74
+ var handleFloatingLayout = function handleFloatingLayout(e) {
75
+ var floatingLayout = e.nativeEvent.layout;
76
76
  var start = ["top-start", "bottom-start"].includes(placement);
77
77
  var mid = ["top", "bottom"].includes(placement);
78
78
  var end = ["top-end", "bottom-end"].includes(placement);
79
79
  var diffX = floatingLayout.width - layout.width;
80
80
  var isHarmony = Platform.OS === "harmony";
81
- return layout.height ? {
81
+ var floatStyles2 = layout.height ? {
82
82
  position: "absolute",
83
83
  top: (placement.includes("top") ? layout.y - floatingLayout.height - 12 : layout.y + layout.height + 12) - ((offset === null || offset === void 0 ? void 0 : offset.y) || 0),
84
84
  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 ? Dimensions.get("screen").width : 0)
85
85
  } : {};
86
- }, [placement, layout, floatingLayout]);
87
- var arrowStyles = useMemo(function () {
88
- var start = ["top-start", "bottom-start"].includes(placement);
89
- var mid = ["top", "bottom"].includes(placement);
90
- var end = ["top-end", "bottom-end"].includes(placement);
91
- var diffX = floatingLayout.width - layout.width;
92
- var isHarmony = Platform.OS === "harmony";
93
- return layout.height ? {
86
+ var arrowStyles2 = layout.height ? {
94
87
  transform: [{
95
88
  rotate: placement.includes("top") ? "0deg" : "180deg"
96
89
  }],
@@ -98,7 +91,9 @@ var Popover = (function (_ref) {
98
91
  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),
99
92
  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 ? Dimensions.get("screen").width : 0)
100
93
  } : {};
101
- }, [placement, layout, floatingLayout, offset]);
94
+ setFloatStyles(floatStyles2);
95
+ setArrowStyles(arrowStyles2);
96
+ };
102
97
  useEffect(function () {
103
98
  var timer;
104
99
  if (duration) {
@@ -197,6 +192,9 @@ var Popover = (function (_ref) {
197
192
  },
198
193
  onPressOut: function onPressOut(e) {
199
194
  trigger === "touch" && onMaskChange(e, false);
195
+ if (Platform.OS === "web" && trigger === "click") {
196
+ onMaskChange(e, true);
197
+ }
200
198
  }
201
199
  }, /* @__PURE__ */React.createElement(View, {
202
200
  collapsable: false,
@@ -221,9 +219,7 @@ var Popover = (function (_ref) {
221
219
  zIndex: zIndex
222
220
  }, /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement(Animated.View, {
223
221
  collapsable: false,
224
- onLayout: function onLayout(e) {
225
- setFloatingLayout(e.nativeEvent.layout);
226
- },
222
+ onLayout: handleFloatingLayout,
227
223
  style: _objectSpread2(_objectSpread2(_objectSpread2({
228
224
  backgroundColor: popoverStyle.backgroundColor,
229
225
  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":"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"}
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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"}
@@ -1,6 +1,6 @@
1
1
  import { a as _objectSpread2 } from '../../_chunks/ZEfofTDH.js';
2
2
  import React, { useMemo, useRef, useEffect } from 'react';
3
- import { Animated, Easing, Text, Platform, View } from 'react-native';
3
+ import { Animated, Easing, Text, View } from 'react-native';
4
4
  import { P as ProgressIndicatorDefaultProps } from '../../_chunks/B_AP2PTq.js';
5
5
  import { getLottieSource } from './lottie/getLottieSource.js';
6
6
  import '../ConfigProvider/hooks/ConfigCache/ConfigCache.js';
@@ -101,7 +101,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
101
101
  }
102
102
  return /* @__PURE__ */React.createElement(React.Fragment, null, showPercent && /* @__PURE__ */React.createElement(Text, {
103
103
  style: [styles.percentText, textStyle]
104
- }, formatText(percent)), Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
104
+ }, formatText(percent)), /* @__PURE__ */React.createElement(Lottie, {
105
105
  style: {
106
106
  flex: 1
107
107
  },
@@ -110,7 +110,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
110
110
  }), /* @__PURE__ */React.createElement(React.Fragment, null));
111
111
  }
112
112
  if (colorMode === "light") {
113
- return /* @__PURE__ */React.createElement(React.Fragment, null, Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
113
+ return /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement(Lottie, {
114
114
  style: {
115
115
  flex: 1
116
116
  },
@@ -120,7 +120,7 @@ var ProgressIndicator = function ProgressIndicator(props) {
120
120
  source: props.lottieSource || lottieSource
121
121
  }), /* @__PURE__ */React.createElement(React.Fragment, null));
122
122
  }
123
- return Platform.OS !== "web" && /* @__PURE__ */React.createElement(Lottie, {
123
+ return /* @__PURE__ */React.createElement(Lottie, {
124
124
  style: {
125
125
  flex: 1
126
126
  },