@xhsreds/reds-rn-next 0.9.1-test.1 → 0.10.0

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 (125) 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-13.json +1 -1
  4. package/coverage/.tmp/coverage-14.json +1 -1
  5. package/coverage/.tmp/coverage-15.json +1 -1
  6. package/coverage/.tmp/coverage-16.json +1 -1
  7. package/coverage/.tmp/coverage-17.json +1 -1
  8. package/coverage/.tmp/coverage-18.json +1 -1
  9. package/coverage/.tmp/coverage-19.json +1 -1
  10. package/coverage/.tmp/coverage-2.json +1 -1
  11. package/coverage/.tmp/coverage-20.json +1 -1
  12. package/coverage/.tmp/coverage-21.json +1 -1
  13. package/coverage/.tmp/coverage-22.json +1 -1
  14. package/coverage/.tmp/coverage-23.json +1 -1
  15. package/coverage/.tmp/coverage-26.json +1 -1
  16. package/coverage/.tmp/coverage-27.json +1 -1
  17. package/coverage/.tmp/coverage-29.json +1 -1
  18. package/coverage/.tmp/coverage-3.json +1 -1
  19. package/coverage/.tmp/coverage-30.json +1 -1
  20. package/coverage/.tmp/coverage-33.json +1 -1
  21. package/coverage/.tmp/coverage-34.json +1 -1
  22. package/coverage/.tmp/coverage-35.json +1 -1
  23. package/coverage/.tmp/coverage-36.json +1 -1
  24. package/coverage/.tmp/coverage-37.json +1 -1
  25. package/coverage/.tmp/coverage-38.json +1 -1
  26. package/coverage/.tmp/coverage-39.json +1 -1
  27. package/coverage/.tmp/coverage-40.json +1 -1
  28. package/coverage/.tmp/coverage-41.json +1 -1
  29. package/coverage/.tmp/coverage-6.json +1 -1
  30. package/coverage/.tmp/coverage-7.json +1 -1
  31. package/coverage/.tmp/coverage-8.json +1 -1
  32. package/lib/cjs/_chunks/CwkpVXDI.js.map +1 -1
  33. package/lib/cjs/_chunks/{CIr5S84J.js → DUU5wf2f.js} +4 -2
  34. package/lib/cjs/_chunks/DUU5wf2f.js.map +1 -0
  35. package/lib/cjs/components/Carousel/Carousel.js +9 -2
  36. package/lib/cjs/components/Carousel/Carousel.js.map +1 -1
  37. package/lib/cjs/components/Image/Image.js +29 -92
  38. package/lib/cjs/components/Image/Image.js.map +1 -1
  39. package/lib/cjs/components/Image/VisibilitySensor.js +1 -1
  40. package/lib/cjs/components/Image/VisibilitySensor.js.map +1 -1
  41. package/lib/cjs/components/Image/index.js +4 -3
  42. package/lib/cjs/components/Image/index.js.map +1 -1
  43. package/lib/cjs/components/Image/queryCacheBatcher.js +96 -0
  44. package/lib/cjs/components/Image/queryCacheBatcher.js.map +1 -0
  45. package/lib/cjs/components/Popover/Popover.js +4 -3
  46. package/lib/cjs/components/Popover/Popover.js.map +1 -1
  47. package/lib/cjs/components/PullRefresh/PullRefresh.js +104 -40
  48. package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
  49. package/lib/cjs/components/PullRefresh/component.js +1 -1
  50. package/lib/cjs/components/PullRefresh/index.js +1 -1
  51. package/lib/cjs/components/PullRefresh/interface/index.js +1 -1
  52. package/lib/cjs/components/Radio/Radio.js +3 -2
  53. package/lib/cjs/components/Radio/Radio.js.map +1 -1
  54. package/lib/cjs/components/Radio/index.js +3 -2
  55. package/lib/cjs/components/Radio/index.js.map +1 -1
  56. package/lib/cjs/components/Sheets/styles.js +2 -2
  57. package/lib/cjs/components/Sheets/styles.js.map +1 -1
  58. package/lib/cjs/components/StatusBar/hook/getStatusHeight.js +14 -1
  59. package/lib/cjs/components/StatusBar/hook/getStatusHeight.js.map +1 -1
  60. package/lib/cjs/index.js +3 -2
  61. package/lib/cjs/index.js.map +1 -1
  62. package/lib/cjs/pvCount/pvData.js +1 -1
  63. package/lib/esm/_chunks/Da9cW8JG.js.map +1 -1
  64. package/lib/esm/_chunks/{CZtagXcj.js → gC9g4Fr_.js} +4 -2
  65. package/lib/esm/_chunks/gC9g4Fr_.js.map +1 -0
  66. package/lib/esm/components/Carousel/Carousel.js +9 -2
  67. package/lib/esm/components/Carousel/Carousel.js.map +1 -1
  68. package/lib/esm/components/Image/Image.js +31 -94
  69. package/lib/esm/components/Image/Image.js.map +1 -1
  70. package/lib/esm/components/Image/VisibilitySensor.js +1 -1
  71. package/lib/esm/components/Image/VisibilitySensor.js.map +1 -1
  72. package/lib/esm/components/Image/index.js +4 -3
  73. package/lib/esm/components/Image/index.js.map +1 -1
  74. package/lib/esm/components/Image/queryCacheBatcher.js +92 -0
  75. package/lib/esm/components/Image/queryCacheBatcher.js.map +1 -0
  76. package/lib/esm/components/Popover/Popover.js +4 -3
  77. package/lib/esm/components/Popover/Popover.js.map +1 -1
  78. package/lib/esm/components/PullRefresh/PullRefresh.js +105 -41
  79. package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
  80. package/lib/esm/components/PullRefresh/component.js +1 -1
  81. package/lib/esm/components/PullRefresh/index.js +1 -1
  82. package/lib/esm/components/PullRefresh/interface/index.js +1 -1
  83. package/lib/esm/components/Radio/Radio.js +3 -2
  84. package/lib/esm/components/Radio/Radio.js.map +1 -1
  85. package/lib/esm/components/Radio/index.js +3 -2
  86. package/lib/esm/components/Radio/index.js.map +1 -1
  87. package/lib/esm/components/Sheets/styles.js +2 -2
  88. package/lib/esm/components/Sheets/styles.js.map +1 -1
  89. package/lib/esm/components/StatusBar/hook/getStatusHeight.js +14 -2
  90. package/lib/esm/components/StatusBar/hook/getStatusHeight.js.map +1 -1
  91. package/lib/esm/index.js +3 -2
  92. package/lib/esm/index.js.map +1 -1
  93. package/lib/esm/pvCount/pvData.js +1 -1
  94. package/lib/src/components/Image/queryCacheBatcher.d.ts +5 -0
  95. package/lib/src/components/Popover/Popover.d.ts +1 -1
  96. package/lib/src/components/Popover/interface/index.d.ts +1 -0
  97. package/lib/src/components/PullRefresh/PullRefresh.d.ts +2 -0
  98. package/lib/src/components/PullRefresh/interface/index.d.ts +5 -0
  99. package/lib/src/components/StatusBar/hook/getStatusHeight.d.ts +1 -0
  100. package/lib/types/components/Image/queryCacheBatcher.d.ts +5 -0
  101. package/lib/types/components/Popover/Popover.d.ts +1 -1
  102. package/lib/types/components/Popover/interface/index.d.ts +1 -0
  103. package/lib/types/components/PullRefresh/PullRefresh.d.ts +2 -0
  104. package/lib/types/components/PullRefresh/interface/index.d.ts +5 -0
  105. package/lib/types/components/StatusBar/hook/getStatusHeight.d.ts +1 -0
  106. package/package.json +2 -2
  107. package/src/components/Carousel/Carousel.tsx +15 -3
  108. package/src/components/Carousel/demo/index.tsx +14 -2
  109. package/src/components/Image/Image.tsx +53 -115
  110. package/src/components/Image/VisibilitySensor.tsx +1 -2
  111. package/src/components/Image/queryCacheBatcher.ts +84 -0
  112. package/src/components/Popover/Popover.tsx +4 -3
  113. package/src/components/Popover/doc/index.mdx +22 -21
  114. package/src/components/Popover/interface/index.ts +1 -0
  115. package/src/components/PullRefresh/PullRefresh.tsx +146 -55
  116. package/src/components/PullRefresh/doc/index.mdx +19 -16
  117. package/src/components/PullRefresh/interface/index.ts +6 -0
  118. package/src/components/Sheets/styles.ts +2 -2
  119. package/src/components/StatusBar/hook/getStatusHeight.ts +20 -1
  120. package/src/i18n/@types/resources.d.ts +27 -27
  121. package/src/i18n/index.json +31 -31
  122. package/src/index.ts +0 -1
  123. package/CHANGELOG.md +0 -13
  124. package/lib/cjs/_chunks/CIr5S84J.js.map +0 -1
  125. package/lib/esm/_chunks/CZtagXcj.js.map +0 -1
@@ -188,9 +188,10 @@ import '../Image/styles.js';
188
188
  import '../Image/hook/index.js';
189
189
  import '../Image/CircularProgress.js';
190
190
  import '../Image/utils.js';
191
- import '../Image/VisibilitySensor.js';
192
191
  import '../Image/apm.js';
192
+ import '../Image/queryCacheBatcher.js';
193
193
  import '../Image/Image69.js';
194
+ import '../Image/VisibilitySensor.js';
194
195
  import '../Popover/Popover.js';
195
196
  import '../Popover/component.js';
196
197
  import '../../_chunks/Da9cW8JG.js';
@@ -223,7 +224,7 @@ import '../../_chunks/BKS4Pa1R.js';
223
224
  import '../Result/styles.js';
224
225
  import '../Result/hooks/useDefaultIcon.js';
225
226
  import '../PullRefresh/PullRefresh.js';
226
- import '../../_chunks/CZtagXcj.js';
227
+ import '../../_chunks/gC9g4Fr_.js';
227
228
  import '../PullRefresh/component.js';
228
229
  import '../PullRefresh/Refresh.js';
229
230
  import '../Avatar/Avatar.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -49,11 +49,11 @@ var styles = StyleSheet.create({
49
49
  borderTopRightRadius: 12
50
50
  },
51
51
  cancel: {
52
- fontSize: typography.B1LooseFontSize,
52
+ fontSize: typography.B2LooseSwitchFontSize,
53
53
  fontWeight: typography.B1LooseFontWeight
54
54
  },
55
55
  confirm: {
56
- fontSize: typography.B1LooseFontSize,
56
+ fontSize: typography.B2LooseSwitchFontSize,
57
57
  fontWeight: typography.T3FontWeight
58
58
  },
59
59
  label: {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/Sheets/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport { typography } from \"@xhsreds/reds-token-next\";\n\nconst styles = StyleSheet.create({\n wrapper: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n },\n mask: {\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n },\n picker: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n },\n labelContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexDirection: \"row\",\n height: 44,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n leftLabelContainer: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n flexDirection: \"row\",\n height: 44,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n cancel: {\n fontSize: typography.B1LooseFontSize,\n fontWeight: typography.B1LooseFontWeight,\n },\n confirm: {\n fontSize: typography.B1LooseFontSize,\n fontWeight: typography.T3FontWeight,\n },\n label: {\n fontSize: typography.B1LooseFontSize,\n fontWeight: typography.T3FontWeight,\n },\n iconBg: {\n width: 28,\n height: 28,\n borderRadius: 28,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dragableContainer: {\n width: \"100%\",\n height: 20,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dragable: {\n width: 33,\n height: 4,\n borderRadius: 10,\n },\n block: {\n width: 28,\n height: 28,\n },\n actionContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexDirection: \"row\",\n width: \"100%\",\n paddingHorizontal: 56,\n },\n action: {\n flex: 1,\n marginHorizontal: 12,\n },\n});\n\nexport default styles;\n"],"names":["styles","StyleSheet","create","wrapper","position","bottom","left","right","top","mask","width","height","picker","borderTopLeftRadius","borderTopRightRadius","labelContainer","display","justifyContent","alignItems","flexDirection","paddingLeft","paddingRight","leftLabelContainer","cancel","fontSize","typography","B1LooseFontSize","fontWeight","B1LooseFontWeight","confirm","T3FontWeight","label","iconBg","borderRadius","dragableContainer","dragable","block","actionContainer","paddingHorizontal","action","flex","marginHorizontal"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/Sheets/styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport { typography } from \"@xhsreds/reds-token-next\";\n\nconst styles = StyleSheet.create({\n wrapper: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n },\n mask: {\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n },\n picker: {\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n },\n labelContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexDirection: \"row\",\n height: 44,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n leftLabelContainer: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n flexDirection: \"row\",\n height: 44,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 12,\n borderTopRightRadius: 12,\n },\n cancel: {\n fontSize: typography.B2LooseSwitchFontSize,\n fontWeight: typography.B1LooseFontWeight,\n },\n confirm: {\n fontSize: typography.B2LooseSwitchFontSize,\n fontWeight: typography.T3FontWeight,\n },\n label: {\n fontSize: typography.B1LooseFontSize,\n fontWeight: typography.T3FontWeight,\n },\n iconBg: {\n width: 28,\n height: 28,\n borderRadius: 28,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dragableContainer: {\n width: \"100%\",\n height: 20,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dragable: {\n width: 33,\n height: 4,\n borderRadius: 10,\n },\n block: {\n width: 28,\n height: 28,\n },\n actionContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n flexDirection: \"row\",\n width: \"100%\",\n paddingHorizontal: 56,\n },\n action: {\n flex: 1,\n marginHorizontal: 12,\n },\n});\n\nexport default styles;\n"],"names":["styles","StyleSheet","create","wrapper","position","bottom","left","right","top","mask","width","height","picker","borderTopLeftRadius","borderTopRightRadius","labelContainer","display","justifyContent","alignItems","flexDirection","paddingLeft","paddingRight","leftLabelContainer","cancel","fontSize","typography","B2LooseSwitchFontSize","fontWeight","B1LooseFontWeight","confirm","T3FontWeight","label","B1LooseFontSize","iconBg","borderRadius","dragableContainer","dragable","block","actionContainer","paddingHorizontal","action","flex","marginHorizontal"],"mappings":"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"}
@@ -25,6 +25,12 @@ var IPADPRO11_WIDTH = 834;
25
25
  var IPADPRO11_HEIGHT = 1194;
26
26
  var IPADPRO129_HEIGHT = 1024;
27
27
  var IPADPRO129_WIDTH = 1366;
28
+ var IPHONE17AIR_WIDTH = 420;
29
+ var IPHONE17AIR_HEIGHT = 912;
30
+ var IPHONE17_WIDTH = 402;
31
+ var IPHONE17_HEIGHT = 874;
32
+ var IPHONE17PROMAX_WIDTH = 440;
33
+ var IPHONE17PROMAX_HEIGHT = 956;
28
34
  var getResolvedDimensions = function getResolvedDimensions() {
29
35
  var _Dimensions$get = Dimensions.get("window"),
30
36
  width = _Dimensions$get.width,
@@ -58,6 +64,9 @@ var isIPhoneX = function () {
58
64
  if (Platform.OS === "web") return false;
59
65
  return Platform.OS === "ios" && (D_HEIGHT === X_HEIGHT && D_WIDTH === X_WIDTH || D_HEIGHT === X_WIDTH && D_WIDTH === X_HEIGHT) || D_HEIGHT === XSMAX_HEIGHT && D_WIDTH === XSMAX_WIDTH || D_HEIGHT === XSMAX_WIDTH && D_WIDTH === XSMAX_HEIGHT || isIPhone12;
60
66
  }();
67
+ var isIPhone17 = /* @__PURE__ */function () {
68
+ return D_HEIGHT === IPHONE17_HEIGHT && D_WIDTH === IPHONE17_WIDTH || D_HEIGHT === IPHONE17PROMAX_HEIGHT && D_WIDTH === IPHONE17PROMAX_WIDTH || D_HEIGHT === IPHONE17AIR_HEIGHT && D_WIDTH === IPHONE17AIR_WIDTH;
69
+ }();
61
70
  var isNewIPadPro = function () {
62
71
  if (Platform.OS !== "ios") return false;
63
72
  return D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH || D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH || D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH || D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH;
@@ -94,6 +103,9 @@ var statusBarHeight = function statusBarHeight(isLandscape) {
94
103
  if (isIPhoneX) {
95
104
  return isLandscape ? 0 : 44;
96
105
  }
106
+ if (isIPhone17) {
107
+ return isLandscape ? 0 : 34;
108
+ }
97
109
  if (isNewIPadPro) {
98
110
  return 24;
99
111
  }
@@ -106,7 +118,7 @@ var statusBarHeight = function statusBarHeight(isLandscape) {
106
118
  return isLandscape ? 0 : 20;
107
119
  };
108
120
  var safeAreaBottomInset = function safeAreaBottomInset() {
109
- if (isIPhoneX || isIPhone14Pro || isIPhone16Pro || isIPhoneAir) {
121
+ if (isIPhoneX || isIPhone14Pro || isIPhone16Pro || isIPhoneAir || isIPhone17) {
110
122
  return 34;
111
123
  }
112
124
  if (isNewIPadPro) {
@@ -151,5 +163,5 @@ function getStatusHeight() {
151
163
  return top;
152
164
  }
153
165
 
154
- export { getStatusHeight as default, getResolvedDimensions, getSafeAreaInsets, isIPhone12, isIPhone14Pro, isIPhone16Pro, isIPhoneAir, isIPhoneX, isNewIPadPro, safeAreaBottomInset, statusBarHeight };
166
+ export { getStatusHeight as default, getResolvedDimensions, getSafeAreaInsets, isIPhone12, isIPhone14Pro, isIPhone16Pro, isIPhone17, isIPhoneAir, isIPhoneX, isNewIPadPro, safeAreaBottomInset, statusBarHeight };
155
167
  //# sourceMappingURL=getStatusHeight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStatusHeight.js","sources":["../../../../../src/components/StatusBar/hook/getStatusHeight.ts"],"sourcesContent":["import { Dimensions, Platform, StatusBar } from \"react-native\";\n\n// See https://mydevice.io/devices/ for device dimensions\nconst X_WIDTH = 375;\nconst X_HEIGHT = 812;\nconst XSMAX_WIDTH = 414;\nconst XSMAX_HEIGHT = 896;\nconst IPHOME12_WIDTH = 390;\nconst IPHOME12_HEIGHT = 844;\nconst IPHONE12MAX_WIDTH = 428;\nconst IPHONE12MAX_HEIGHT = 926;\nconst IPHONE14PRO_WIDTH = 393;\nconst IPHONE14PRO_HEIGHT = 852;\nconst IPHONE14PROMAX_WIDTH = 430;\nconst IPHONE14PROMAX_HEIGHT = 932;\nconst IPHONE16PRO_WIDTH = 402;\nconst IPHONE16PRO_HEIGHT = 874;\nconst IPHONE16PROMAX_WIDTH = 430;\nconst IPHONE16PROMAX_HEIGHT = 932;\n// 小红书客户端8.76版本及以上获取的16promax高度\nconst IPHONE16PROMAX_HEIGHT_876 = 956;\nconst IPHONE16PROMAX_WIDTH_876 = 440;\nconst IPHONEAIR_WIDTH = 420;\nconst IPHONEAIR_HEIGHT = 912;\n\nconst PAD_WIDTH = 768;\nconst IPADPRO11_WIDTH = 834;\nconst IPADPRO11_HEIGHT = 1194;\nconst IPADPRO129_HEIGHT = 1024;\nconst IPADPRO129_WIDTH = 1366;\n\nexport const getResolvedDimensions = () => {\n const { width, height } = Dimensions.get(\"window\");\n if (width === 0 && height === 0) return Dimensions.get(\"screen\");\n return { width, height };\n};\n\nconst { height: D_HEIGHT, width: D_WIDTH } = getResolvedDimensions();\n\nexport const isIPhone16Pro = (() => {\n if (Platform.OS === \"web\") return false;\n return (\n Platform.OS === \"ios\" &&\n ((D_HEIGHT === IPHONE16PROMAX_HEIGHT && D_WIDTH === IPHONE16PROMAX_WIDTH) ||\n (D_HEIGHT === IPHONE16PRO_HEIGHT && D_WIDTH === IPHONE16PRO_WIDTH) ||\n (D_HEIGHT === IPHONE16PROMAX_HEIGHT_876 && D_WIDTH === IPHONE16PROMAX_WIDTH_876)) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhone14Pro = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" && D_HEIGHT === IPHONE14PRO_HEIGHT && D_WIDTH === IPHONE14PRO_WIDTH) || // eslint-disable-line no-mixed-operators\n (D_HEIGHT === IPHONE14PROMAX_HEIGHT && D_WIDTH === IPHONE14PROMAX_WIDTH) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhone12 = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" && D_HEIGHT === IPHOME12_HEIGHT && D_WIDTH === IPHOME12_WIDTH) || // eslint-disable-line no-mixed-operators\n (D_HEIGHT === IPHONE12MAX_HEIGHT && D_WIDTH === IPHONE12MAX_WIDTH) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhoneX = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" &&\n ((D_HEIGHT === X_HEIGHT && D_WIDTH === X_WIDTH) || (D_HEIGHT === X_WIDTH && D_WIDTH === X_HEIGHT))) ||\n (D_HEIGHT === XSMAX_HEIGHT && D_WIDTH === XSMAX_WIDTH) ||\n (D_HEIGHT === XSMAX_WIDTH && D_WIDTH === XSMAX_HEIGHT) ||\n isIPhone12\n );\n})();\n\nexport const isNewIPadPro = (() => {\n if (Platform.OS !== \"ios\") return false;\n\n return (\n (D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH) ||\n (D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH) ||\n (D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH) ||\n (D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH)\n );\n})();\n\nexport const isIPhoneAir = (() => {\n if (Platform.OS === \"web\") return false;\n\n return Platform.OS === \"ios\" && D_HEIGHT === IPHONEAIR_HEIGHT && D_WIDTH === IPHONEAIR_WIDTH;\n})();\n\nconst isIPad = (() => {\n if (Platform.OS !== \"ios\" || isIPhoneX) return false;\n\n // if portrait and width is smaller than iPad width\n if (D_HEIGHT > D_WIDTH && D_WIDTH < PAD_WIDTH) {\n return false;\n }\n\n // if landscape and height is smaller that iPad height\n if (D_WIDTH > D_HEIGHT && D_HEIGHT < PAD_WIDTH) {\n return false;\n }\n\n return true;\n})();\n\nexport const statusBarHeight = (isLandscape: boolean, immersive: boolean = false) => {\n /**\n * This is a temporary workaround because we don't have a way to detect\n * if the status bar is translucent or opaque. If opaque, we don't need to\n * factor in the height here if translucent (content renders under it) then\n * we do.\n */\n if (Platform.OS === \"android\") {\n if (!immersive) {\n return 0;\n }\n\n // currentHeight d.ts 定义中可能是 undefined,这里做一个兼容,为了解决 ts 报错\n return StatusBar.currentHeight ?? 0;\n }\n\n if (isIPhone16Pro) {\n return isLandscape ? 0 : 59;\n }\n\n if (isIPhone14Pro) {\n return isLandscape ? 0 : 59;\n }\n\n if (isIPhoneX) {\n return isLandscape ? 0 : 44;\n }\n\n if (isNewIPadPro) {\n return 24;\n }\n\n if (isIPad) {\n return 20;\n }\n\n if (isIPhoneAir) {\n return isLandscape ? 0 : 68;\n }\n\n return isLandscape ? 0 : 20;\n};\n\nexport const safeAreaBottomInset = () => {\n if (isIPhoneX || isIPhone14Pro || isIPhone16Pro || isIPhoneAir) {\n return 34;\n }\n\n if (isNewIPadPro) {\n return 20;\n }\n\n if (Platform.OS === \"android\") {\n return 20;\n }\n\n return 0;\n};\n\n/**\n * 这里统一按照竖屏场景来处理,等后续 react-native 大版本升级,统计接入处理横竖屏、分屏、屏中屏等 case。\n *\n * @param immersive\n */\ntype insetsCacheKey = \"top\" | \"bottom\";\nconst insetsCache: Map<insetsCacheKey, number> = new Map();\n\nexport function getSafeAreaInsets(immersive: boolean = false): Record<insetsCacheKey, number> {\n // @ts-ignore\n if (Platform.OS === \"harmony\") {\n return {\n top: StatusBar.currentHeight || 0,\n bottom: 20,\n };\n }\n let top = 0;\n let bottom = 0;\n\n if (insetsCache.has(\"top\")) {\n top = insetsCache.get(\"top\") || 0;\n } else {\n top = statusBarHeight(false, immersive);\n }\n\n if (insetsCache.has(\"bottom\")) {\n bottom = insetsCache.get(\"bottom\") || 0;\n } else {\n bottom = safeAreaBottomInset();\n }\n\n return {\n top,\n bottom,\n };\n}\n\nexport default function getStatusHeight(): any {\n // @ts-ignore\n if (Platform.OS === \"harmony\") {\n return StatusBar.currentHeight || 0;\n }\n let top = statusBarHeight(false, true);\n\n return top;\n}\n"],"names":["X_WIDTH","X_HEIGHT","XSMAX_WIDTH","XSMAX_HEIGHT","IPHOME12_WIDTH","IPHOME12_HEIGHT","IPHONE12MAX_WIDTH","IPHONE12MAX_HEIGHT","IPHONE14PRO_WIDTH","IPHONE14PRO_HEIGHT","IPHONE14PROMAX_WIDTH","IPHONE14PROMAX_HEIGHT","IPHONE16PRO_WIDTH","IPHONE16PRO_HEIGHT","IPHONE16PROMAX_WIDTH","IPHONE16PROMAX_HEIGHT","IPHONE16PROMAX_HEIGHT_876","IPHONE16PROMAX_WIDTH_876","IPHONEAIR_WIDTH","IPHONEAIR_HEIGHT","PAD_WIDTH","IPADPRO11_WIDTH","IPADPRO11_HEIGHT","IPADPRO129_HEIGHT","IPADPRO129_WIDTH","getResolvedDimensions","_Dimensions$get","Dimensions","get","width","height","_getResolvedDimension","D_HEIGHT","D_WIDTH","isIPhone16Pro","Platform","OS","isIPhone14Pro","isIPhone12","isIPhoneX","isNewIPadPro","isIPhoneAir","isIPad","statusBarHeight","isLandscape","immersive","arguments","length","undefined","_StatusBar$currentHei","StatusBar","currentHeight","safeAreaBottomInset","insetsCache","Map","getSafeAreaInsets","top","bottom","has","getStatusHeight"],"mappings":"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"}
1
+ {"version":3,"file":"getStatusHeight.js","sources":["../../../../../src/components/StatusBar/hook/getStatusHeight.ts"],"sourcesContent":["import { Dimensions, Platform, StatusBar } from \"react-native\";\n\n// See https://mydevice.io/devices/ for device dimensions\nconst X_WIDTH = 375;\nconst X_HEIGHT = 812;\nconst XSMAX_WIDTH = 414;\nconst XSMAX_HEIGHT = 896;\nconst IPHOME12_WIDTH = 390;\nconst IPHOME12_HEIGHT = 844;\nconst IPHONE12MAX_WIDTH = 428;\nconst IPHONE12MAX_HEIGHT = 926;\nconst IPHONE14PRO_WIDTH = 393;\nconst IPHONE14PRO_HEIGHT = 852;\nconst IPHONE14PROMAX_WIDTH = 430;\nconst IPHONE14PROMAX_HEIGHT = 932;\nconst IPHONE16PRO_WIDTH = 402;\nconst IPHONE16PRO_HEIGHT = 874;\nconst IPHONE16PROMAX_WIDTH = 430;\nconst IPHONE16PROMAX_HEIGHT = 932;\n// 小红书客户端8.76版本及以上获取的16promax高度\nconst IPHONE16PROMAX_HEIGHT_876 = 956;\nconst IPHONE16PROMAX_WIDTH_876 = 440;\nconst IPHONEAIR_WIDTH = 420;\nconst IPHONEAIR_HEIGHT = 912;\n\nconst PAD_WIDTH = 768;\nconst IPADPRO11_WIDTH = 834;\nconst IPADPRO11_HEIGHT = 1194;\nconst IPADPRO129_HEIGHT = 1024;\nconst IPADPRO129_WIDTH = 1366;\n\nconst IPHONE17AIR_WIDTH = 420;\nconst IPHONE17AIR_HEIGHT = 912;\nconst IPHONE17_WIDTH = 402;\nconst IPHONE17_HEIGHT = 874;\nconst IPHONE17PROMAX_WIDTH = 440;\nconst IPHONE17PROMAX_HEIGHT = 956;\n\nexport const getResolvedDimensions = () => {\n const { width, height } = Dimensions.get(\"window\");\n if (width === 0 && height === 0) return Dimensions.get(\"screen\");\n return { width, height };\n};\n\nconst { height: D_HEIGHT, width: D_WIDTH } = getResolvedDimensions();\n\nexport const isIPhone16Pro = (() => {\n if (Platform.OS === \"web\") return false;\n return (\n Platform.OS === \"ios\" &&\n ((D_HEIGHT === IPHONE16PROMAX_HEIGHT && D_WIDTH === IPHONE16PROMAX_WIDTH) ||\n (D_HEIGHT === IPHONE16PRO_HEIGHT && D_WIDTH === IPHONE16PRO_WIDTH) ||\n (D_HEIGHT === IPHONE16PROMAX_HEIGHT_876 && D_WIDTH === IPHONE16PROMAX_WIDTH_876)) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhone14Pro = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" && D_HEIGHT === IPHONE14PRO_HEIGHT && D_WIDTH === IPHONE14PRO_WIDTH) || // eslint-disable-line no-mixed-operators\n (D_HEIGHT === IPHONE14PROMAX_HEIGHT && D_WIDTH === IPHONE14PROMAX_WIDTH) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhone12 = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" && D_HEIGHT === IPHOME12_HEIGHT && D_WIDTH === IPHOME12_WIDTH) || // eslint-disable-line no-mixed-operators\n (D_HEIGHT === IPHONE12MAX_HEIGHT && D_WIDTH === IPHONE12MAX_WIDTH) // eslint-disable-line no-mixed-operators\n );\n})();\n\nexport const isIPhoneX = (() => {\n if (Platform.OS === \"web\") return false;\n\n return (\n (Platform.OS === \"ios\" &&\n ((D_HEIGHT === X_HEIGHT && D_WIDTH === X_WIDTH) || (D_HEIGHT === X_WIDTH && D_WIDTH === X_HEIGHT))) ||\n (D_HEIGHT === XSMAX_HEIGHT && D_WIDTH === XSMAX_WIDTH) ||\n (D_HEIGHT === XSMAX_WIDTH && D_WIDTH === XSMAX_HEIGHT) ||\n isIPhone12\n );\n})();\n\nexport const isIPhone17 = (() => {\n return (\n (D_HEIGHT === IPHONE17_HEIGHT && D_WIDTH === IPHONE17_WIDTH) ||\n (D_HEIGHT === IPHONE17PROMAX_HEIGHT && D_WIDTH === IPHONE17PROMAX_WIDTH) ||\n (D_HEIGHT === IPHONE17AIR_HEIGHT && D_WIDTH === IPHONE17AIR_WIDTH)\n );\n})();\n\nexport const isNewIPadPro = (() => {\n if (Platform.OS !== \"ios\") return false;\n\n return (\n (D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH) ||\n (D_HEIGHT === IPADPRO11_HEIGHT && D_WIDTH === IPADPRO11_WIDTH) ||\n (D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH) ||\n (D_HEIGHT === IPADPRO129_HEIGHT && D_WIDTH === IPADPRO129_WIDTH)\n );\n})();\n\nexport const isIPhoneAir = (() => {\n if (Platform.OS === \"web\") return false;\n\n return Platform.OS === \"ios\" && D_HEIGHT === IPHONEAIR_HEIGHT && D_WIDTH === IPHONEAIR_WIDTH;\n})();\n\nconst isIPad = (() => {\n if (Platform.OS !== \"ios\" || isIPhoneX) return false;\n\n // if portrait and width is smaller than iPad width\n if (D_HEIGHT > D_WIDTH && D_WIDTH < PAD_WIDTH) {\n return false;\n }\n\n // if landscape and height is smaller that iPad height\n if (D_WIDTH > D_HEIGHT && D_HEIGHT < PAD_WIDTH) {\n return false;\n }\n\n return true;\n})();\n\nexport const statusBarHeight = (isLandscape: boolean, immersive: boolean = false) => {\n /**\n * This is a temporary workaround because we don't have a way to detect\n * if the status bar is translucent or opaque. If opaque, we don't need to\n * factor in the height here if translucent (content renders under it) then\n * we do.\n */\n if (Platform.OS === \"android\") {\n if (!immersive) {\n return 0;\n }\n\n // currentHeight d.ts 定义中可能是 undefined,这里做一个兼容,为了解决 ts 报错\n return StatusBar.currentHeight ?? 0;\n }\n\n if (isIPhone16Pro) {\n return isLandscape ? 0 : 59;\n }\n\n if (isIPhone14Pro) {\n return isLandscape ? 0 : 59;\n }\n\n if (isIPhoneX) {\n return isLandscape ? 0 : 44;\n }\n\n if (isIPhone17) {\n return isLandscape ? 0 : 34;\n }\n\n if (isNewIPadPro) {\n return 24;\n }\n\n if (isIPad) {\n return 20;\n }\n\n if (isIPhoneAir) {\n return isLandscape ? 0 : 68;\n }\n\n return isLandscape ? 0 : 20;\n};\n\nexport const safeAreaBottomInset = () => {\n if (isIPhoneX || isIPhone14Pro || isIPhone16Pro || isIPhoneAir || isIPhone17) {\n return 34;\n }\n\n if (isNewIPadPro) {\n return 20;\n }\n\n if (Platform.OS === \"android\") {\n return 20;\n }\n\n return 0;\n};\n\n/**\n * 这里统一按照竖屏场景来处理,等后续 react-native 大版本升级,统计接入处理横竖屏、分屏、屏中屏等 case。\n *\n * @param immersive\n */\ntype insetsCacheKey = \"top\" | \"bottom\";\nconst insetsCache: Map<insetsCacheKey, number> = new Map();\n\nexport function getSafeAreaInsets(immersive: boolean = false): Record<insetsCacheKey, number> {\n // @ts-ignore\n if (Platform.OS === \"harmony\") {\n return {\n top: StatusBar.currentHeight || 0,\n bottom: 20,\n };\n }\n let top = 0;\n let bottom = 0;\n\n if (insetsCache.has(\"top\")) {\n top = insetsCache.get(\"top\") || 0;\n } else {\n top = statusBarHeight(false, immersive);\n }\n\n if (insetsCache.has(\"bottom\")) {\n bottom = insetsCache.get(\"bottom\") || 0;\n } else {\n bottom = safeAreaBottomInset();\n }\n\n return {\n top,\n bottom,\n };\n}\n\nexport default function getStatusHeight(): any {\n // @ts-ignore\n if (Platform.OS === \"harmony\") {\n return StatusBar.currentHeight || 0;\n }\n let top = statusBarHeight(false, true);\n\n return top;\n}\n"],"names":["X_WIDTH","X_HEIGHT","XSMAX_WIDTH","XSMAX_HEIGHT","IPHOME12_WIDTH","IPHOME12_HEIGHT","IPHONE12MAX_WIDTH","IPHONE12MAX_HEIGHT","IPHONE14PRO_WIDTH","IPHONE14PRO_HEIGHT","IPHONE14PROMAX_WIDTH","IPHONE14PROMAX_HEIGHT","IPHONE16PRO_WIDTH","IPHONE16PRO_HEIGHT","IPHONE16PROMAX_WIDTH","IPHONE16PROMAX_HEIGHT","IPHONE16PROMAX_HEIGHT_876","IPHONE16PROMAX_WIDTH_876","IPHONEAIR_WIDTH","IPHONEAIR_HEIGHT","PAD_WIDTH","IPADPRO11_WIDTH","IPADPRO11_HEIGHT","IPADPRO129_HEIGHT","IPADPRO129_WIDTH","IPHONE17AIR_WIDTH","IPHONE17AIR_HEIGHT","IPHONE17_WIDTH","IPHONE17_HEIGHT","IPHONE17PROMAX_WIDTH","IPHONE17PROMAX_HEIGHT","getResolvedDimensions","_Dimensions$get","Dimensions","get","width","height","_getResolvedDimension","D_HEIGHT","D_WIDTH","isIPhone16Pro","Platform","OS","isIPhone14Pro","isIPhone12","isIPhoneX","isIPhone17","isNewIPadPro","isIPhoneAir","isIPad","statusBarHeight","isLandscape","immersive","arguments","length","undefined","_StatusBar$currentHei","StatusBar","currentHeight","safeAreaBottomInset","insetsCache","Map","getSafeAreaInsets","top","bottom","has","getStatusHeight"],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -114,7 +114,7 @@ export { i as EmptyType } from './_chunks/BoucDqUg.js';
114
114
  export { default as Result } from './components/Result/Result.js';
115
115
  export { i as ResultType } from './_chunks/BKS4Pa1R.js';
116
116
  export { default as PullRefresh } from './components/PullRefresh/PullRefresh.js';
117
- export { i as PullRefreshType } from './_chunks/CZtagXcj.js';
117
+ export { i as PullRefreshType } from './_chunks/gC9g4Fr_.js';
118
118
  export { default as Icon } from './components/Icon/Icon.js';
119
119
  export { a as IconType } from './_chunks/xi-gXLIR.js';
120
120
  export { default as Badge } from './components/Badge/Badge.js';
@@ -230,8 +230,9 @@ import './components/Image/styles.js';
230
230
  import './components/Image/hook/index.js';
231
231
  import './components/Image/CircularProgress.js';
232
232
  import './components/Image/utils.js';
233
- import './components/Image/VisibilitySensor.js';
234
233
  import './components/Image/apm.js';
234
+ import './components/Image/queryCacheBatcher.js';
235
+ import './components/Image/VisibilitySensor.js';
235
236
  import './components/Popover/component.js';
236
237
  import './components/Switch/styles.js';
237
238
  import './components/Text/hooks/cloneContainer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { push, pushByrequestIdleCallback } from '@xhs/reds-apm/src/index.native';
2
2
 
3
3
  var name = "@xhs/reds-rn-next";
4
- var version = "0.9.1-test.1";
4
+ var version = "0.10.0";
5
5
  var author = "贾斌(呀哈) <jiabin@xiaohongshu.com>";
6
6
  var license = "ISC";
7
7
  var dependencies = {
@@ -0,0 +1,5 @@
1
+ export declare function setQueryCacheBatchingEnabled(v: boolean): void;
2
+ export declare function configureQueryCacheBatching(options?: {
3
+ flushMs?: number;
4
+ }): void;
5
+ export declare function queryCacheBatched(url: string): Promise<boolean>;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { RedsPopover } from "./interface/index";
3
- declare const _default: ({ mode, opacity, content, children, isControl, placement, closeOnClickAgain, trigger, zIndex, visible, onVisibleChange, onClickMask: _onClickMask, popContainerStyle, arrowStyles: propsArrowStyles, offset, duration, hostName, maxWidth, arrowOffset, }: RedsPopover) => React.JSX.Element;
3
+ declare const _default: ({ mode, opacity, content, children, isControl, placement, closeOnClickAgain, trigger, zIndex, visible, onVisibleChange, onClickMask: _onClickMask, popContainerStyle, arrowStyles: propsArrowStyles, offset, duration, animation_duration, hostName, maxWidth, arrowOffset, }: RedsPopover) => React.JSX.Element;
4
4
  export default _default;
@@ -12,6 +12,7 @@ export interface RedsPopover {
12
12
  mode?: "light" | "dark" | "alwaysLight" | "alwaysDark";
13
13
  trigger?: "click" | "touch";
14
14
  duration?: number;
15
+ animation_duration?: number;
15
16
  zIndex?: number;
16
17
  popContainerStyle?: ViewStyle;
17
18
  closeOnClickAgain?: boolean;
@@ -11,6 +11,8 @@ declare namespace PullRefresh {
11
11
  showText: boolean;
12
12
  initRefresh: boolean;
13
13
  refresh: boolean;
14
+ nativeAndroidPullRefresh: boolean;
15
+ androidRefreshProps: {};
14
16
  };
15
17
  }
16
18
  export default PullRefresh;
@@ -16,6 +16,9 @@ export interface RedsPullRefresh {
16
16
  showText?: boolean;
17
17
  initRefresh?: boolean;
18
18
  refresh?: boolean;
19
+ nativeAndroidPullRefresh?: boolean;
20
+ androidRefreshProps?: Object;
21
+ androidColors?: string[];
19
22
  }
20
23
  export declare enum PullState {
21
24
  INIT = 0,// 初始化
@@ -35,4 +38,6 @@ export declare const PullRefreshDefaultProps: {
35
38
  showText: boolean;
36
39
  initRefresh: boolean;
37
40
  refresh: boolean;
41
+ nativeAndroidPullRefresh: boolean;
42
+ androidRefreshProps: {};
38
43
  };
@@ -6,6 +6,7 @@ export declare const isIPhone16Pro: boolean;
6
6
  export declare const isIPhone14Pro: boolean;
7
7
  export declare const isIPhone12: boolean;
8
8
  export declare const isIPhoneX: boolean;
9
+ export declare const isIPhone17: boolean;
9
10
  export declare const isNewIPadPro: boolean;
10
11
  export declare const isIPhoneAir: boolean;
11
12
  export declare const statusBarHeight: (isLandscape: boolean, immersive?: boolean) => number;
@@ -0,0 +1,5 @@
1
+ export declare function setQueryCacheBatchingEnabled(v: boolean): void;
2
+ export declare function configureQueryCacheBatching(options?: {
3
+ flushMs?: number;
4
+ }): void;
5
+ export declare function queryCacheBatched(url: string): Promise<boolean>;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { RedsPopover } from "./interface/index";
3
- declare const _default: ({ mode, opacity, content, children, isControl, placement, closeOnClickAgain, trigger, zIndex, visible, onVisibleChange, onClickMask: _onClickMask, popContainerStyle, arrowStyles: propsArrowStyles, offset, duration, hostName, maxWidth, arrowOffset, }: RedsPopover) => React.JSX.Element;
3
+ declare const _default: ({ mode, opacity, content, children, isControl, placement, closeOnClickAgain, trigger, zIndex, visible, onVisibleChange, onClickMask: _onClickMask, popContainerStyle, arrowStyles: propsArrowStyles, offset, duration, animation_duration, hostName, maxWidth, arrowOffset, }: RedsPopover) => React.JSX.Element;
4
4
  export default _default;
@@ -12,6 +12,7 @@ export interface RedsPopover {
12
12
  mode?: "light" | "dark" | "alwaysLight" | "alwaysDark";
13
13
  trigger?: "click" | "touch";
14
14
  duration?: number;
15
+ animation_duration?: number;
15
16
  zIndex?: number;
16
17
  popContainerStyle?: ViewStyle;
17
18
  closeOnClickAgain?: boolean;
@@ -11,6 +11,8 @@ declare namespace PullRefresh {
11
11
  showText: boolean;
12
12
  initRefresh: boolean;
13
13
  refresh: boolean;
14
+ nativeAndroidPullRefresh: boolean;
15
+ androidRefreshProps: {};
14
16
  };
15
17
  }
16
18
  export default PullRefresh;
@@ -16,6 +16,9 @@ export interface RedsPullRefresh {
16
16
  showText?: boolean;
17
17
  initRefresh?: boolean;
18
18
  refresh?: boolean;
19
+ nativeAndroidPullRefresh?: boolean;
20
+ androidRefreshProps?: Object;
21
+ androidColors?: string[];
19
22
  }
20
23
  export declare enum PullState {
21
24
  INIT = 0,// 初始化
@@ -35,4 +38,6 @@ export declare const PullRefreshDefaultProps: {
35
38
  showText: boolean;
36
39
  initRefresh: boolean;
37
40
  refresh: boolean;
41
+ nativeAndroidPullRefresh: boolean;
42
+ androidRefreshProps: {};
38
43
  };
@@ -6,6 +6,7 @@ export declare const isIPhone16Pro: boolean;
6
6
  export declare const isIPhone14Pro: boolean;
7
7
  export declare const isIPhone12: boolean;
8
8
  export declare const isIPhoneX: boolean;
9
+ export declare const isIPhone17: boolean;
9
10
  export declare const isNewIPadPro: boolean;
10
11
  export declare const isIPhoneAir: boolean;
11
12
  export declare const statusBarHeight: (isLandscape: boolean, immersive?: boolean) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xhsreds/reds-rn-next",
3
- "version": "0.9.1-test.1",
3
+ "version": "0.10.0",
4
4
  "author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
5
5
  "license": "ISC",
6
6
  "dependencies": {
@@ -26,7 +26,7 @@
26
26
  "react-native-fs": "2.20.0",
27
27
  "react-native-svg": "13.14.0",
28
28
  "@xhs/react-native-harmony": "*",
29
- "@xhsreds/reds-token-next": "0.9.0"
29
+ "@xhsreds/reds-token-next": "0.10.0"
30
30
  },
31
31
  "peerDependenciesMeta": {
32
32
  "ozone-schema-web": {
@@ -238,8 +238,8 @@ export const Carousel: React.FC<RedsCarousel> = (props) => {
238
238
 
239
239
  requestAnimationFrame(() => {
240
240
  let scrollOffset = index * offsetPerItem;
241
-
242
- if (props.playingMode !== "normal") {
241
+ // 修复:只有在无限循环模式下才需要减去containerPadding
242
+ if (props.playingMode !== "normal" && props.infinite) {
243
243
  scrollOffset -= containerPadding;
244
244
  }
245
245
 
@@ -287,10 +287,18 @@ export const Carousel: React.FC<RedsCarousel> = (props) => {
287
287
  props.direction === "horizontal" ? event.nativeEvent.contentOffset.x : event.nativeEvent.contentOffset.y;
288
288
 
289
289
  let index: number;
290
+ // 修复:对于非无限循环的compact模式,需要调整偏移量计算
290
291
  if (props.playingMode === "normal") {
291
292
  index = Math.round(offset / offsetPerItem);
292
293
  } else {
293
- index = Math.round((offset + containerPadding) / offsetPerItem);
294
+ // 对于compact和card模式
295
+ if (!props.infinite) {
296
+ // 非无限循环模式:不需要加containerPadding,因为滚动时已经考虑了padding
297
+ index = Math.round(offset / offsetPerItem);
298
+ } else {
299
+ // 无限循环模式:需要加containerPadding
300
+ index = Math.round((offset + containerPadding) / offsetPerItem);
301
+ }
294
302
  }
295
303
 
296
304
  index = Math.max(0, Math.min(index, extendedData.length - 1));
@@ -312,6 +320,10 @@ export const Carousel: React.FC<RedsCarousel> = (props) => {
312
320
  const clampedIndex = Math.max(0, Math.min(index, length - 1));
313
321
  setCurrentIndex(clampedIndex);
314
322
  setRealIndex(clampedIndex);
323
+ // 修复:确保滚动到正确位置
324
+ if (props.playingMode !== "normal") {
325
+ scrollToIndex(clampedIndex, true);
326
+ }
315
327
  }
316
328
 
317
329
  setIsScrolling(false);
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from "react";
2
2
  import { View, Text, StyleSheet, ScrollView, Image as RNImage } from "react-native";
3
- import { Carousel } from "@xhs/reds-rn-next";
3
+ import { Carousel, CarouselType } from "@xhs/reds-rn-next";
4
4
  const styles = StyleSheet.create({
5
5
  container: {
6
6
  paddingBottom: 100,
@@ -54,6 +54,18 @@ export default function App() {
54
54
  handlable={false}
55
55
  />
56
56
  <Carousel
57
+ data={images}
58
+ autoPlay={false}
59
+ currentIndex={3}
60
+ onChange={handleChange}
61
+ onClick={handleClick}
62
+ displayNumbers={true}
63
+ // duration={3000}
64
+ playingMode={CarouselType.PLAYINGMODE.COMPACT}
65
+ handlable={true}
66
+ infinite={false}
67
+ />
68
+ {/* <Carousel
57
69
  autoPlay={true}
58
70
  currentIndex={3}
59
71
  onChange={handleChange}
@@ -82,7 +94,7 @@ export default function App() {
82
94
  {images.map((item, idx) => (
83
95
  <RNImage style={{ width: 300, height: 200 }} source={{ uri: item }} />
84
96
  ))}
85
- </Carousel>
97
+ </Carousel> */}
86
98
  {/* <Desc>自动播放(默认轮播间隔1000ms)</Desc>
87
99
  <Carousel data={images} duration={3000} />
88
100