@xhsreds/reds-rn-next 0.9.1-test.1 → 0.10.1-beta202511041913
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/.tmp/coverage-0.json +1 -1
- package/coverage/.tmp/coverage-1.json +1 -1
- package/coverage/.tmp/coverage-10.json +1 -1
- package/coverage/.tmp/coverage-11.json +1 -1
- package/coverage/.tmp/coverage-12.json +1 -1
- package/coverage/.tmp/coverage-13.json +1 -1
- package/coverage/.tmp/coverage-14.json +1 -1
- package/coverage/.tmp/coverage-15.json +1 -1
- package/coverage/.tmp/coverage-16.json +1 -1
- package/coverage/.tmp/coverage-17.json +1 -1
- package/coverage/.tmp/coverage-18.json +1 -1
- package/coverage/.tmp/coverage-19.json +1 -1
- package/coverage/.tmp/coverage-2.json +1 -1
- package/coverage/.tmp/coverage-20.json +1 -1
- package/coverage/.tmp/coverage-21.json +1 -1
- package/coverage/.tmp/coverage-22.json +1 -1
- package/coverage/.tmp/coverage-23.json +1 -1
- package/coverage/.tmp/coverage-24.json +1 -1
- package/coverage/.tmp/coverage-25.json +1 -1
- package/coverage/.tmp/coverage-26.json +1 -1
- package/coverage/.tmp/coverage-27.json +1 -1
- package/coverage/.tmp/coverage-33.json +1 -1
- package/coverage/.tmp/coverage-35.json +1 -1
- package/coverage/.tmp/coverage-37.json +1 -1
- package/coverage/.tmp/coverage-38.json +1 -1
- package/coverage/.tmp/coverage-39.json +1 -1
- package/coverage/.tmp/coverage-4.json +1 -1
- package/coverage/.tmp/coverage-41.json +1 -1
- package/coverage/.tmp/coverage-5.json +1 -1
- package/coverage/.tmp/coverage-6.json +1 -1
- package/coverage/.tmp/coverage-7.json +1 -1
- package/coverage/.tmp/coverage-8.json +1 -1
- package/coverage/.tmp/coverage-9.json +1 -1
- package/lib/cjs/_chunks/CwkpVXDI.js.map +1 -1
- package/lib/cjs/_chunks/{CIr5S84J.js → DUU5wf2f.js} +4 -2
- package/lib/cjs/_chunks/DUU5wf2f.js.map +1 -0
- package/lib/cjs/components/Carousel/Carousel.js +9 -2
- package/lib/cjs/components/Carousel/Carousel.js.map +1 -1
- package/lib/cjs/components/Image/Image.js +29 -92
- package/lib/cjs/components/Image/Image.js.map +1 -1
- package/lib/cjs/components/Image/VisibilitySensor.js +1 -1
- package/lib/cjs/components/Image/VisibilitySensor.js.map +1 -1
- package/lib/cjs/components/Image/index.js +4 -3
- package/lib/cjs/components/Image/index.js.map +1 -1
- package/lib/cjs/components/Image/queryCacheBatcher.js +96 -0
- package/lib/cjs/components/Image/queryCacheBatcher.js.map +1 -0
- package/lib/cjs/components/Popover/Popover.js +4 -3
- package/lib/cjs/components/Popover/Popover.js.map +1 -1
- package/lib/cjs/components/PullRefresh/PullRefresh.js +104 -40
- package/lib/cjs/components/PullRefresh/PullRefresh.js.map +1 -1
- package/lib/cjs/components/PullRefresh/component.js +1 -1
- package/lib/cjs/components/PullRefresh/index.js +1 -1
- package/lib/cjs/components/PullRefresh/interface/index.js +1 -1
- package/lib/cjs/components/Radio/Radio.js +6 -5
- package/lib/cjs/components/Radio/Radio.js.map +1 -1
- package/lib/cjs/components/Radio/index.js +3 -2
- package/lib/cjs/components/Radio/index.js.map +1 -1
- package/lib/cjs/components/Radio/styles.js +4 -4
- package/lib/cjs/components/Radio/styles.js.map +1 -1
- package/lib/cjs/components/Sheets/styles.js +2 -2
- package/lib/cjs/components/Sheets/styles.js.map +1 -1
- package/lib/cjs/components/StatusBar/hook/getStatusHeight.js +14 -1
- package/lib/cjs/components/StatusBar/hook/getStatusHeight.js.map +1 -1
- package/lib/cjs/index.js +3 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/pvCount/pvData.js +1 -1
- package/lib/esm/_chunks/Da9cW8JG.js.map +1 -1
- package/lib/esm/_chunks/{CZtagXcj.js → gC9g4Fr_.js} +4 -2
- package/lib/esm/_chunks/gC9g4Fr_.js.map +1 -0
- package/lib/esm/components/Carousel/Carousel.js +9 -2
- package/lib/esm/components/Carousel/Carousel.js.map +1 -1
- package/lib/esm/components/Image/Image.js +31 -94
- package/lib/esm/components/Image/Image.js.map +1 -1
- package/lib/esm/components/Image/VisibilitySensor.js +1 -1
- package/lib/esm/components/Image/VisibilitySensor.js.map +1 -1
- package/lib/esm/components/Image/index.js +4 -3
- package/lib/esm/components/Image/index.js.map +1 -1
- package/lib/esm/components/Image/queryCacheBatcher.js +92 -0
- package/lib/esm/components/Image/queryCacheBatcher.js.map +1 -0
- package/lib/esm/components/Popover/Popover.js +4 -3
- package/lib/esm/components/Popover/Popover.js.map +1 -1
- package/lib/esm/components/PullRefresh/PullRefresh.js +105 -41
- package/lib/esm/components/PullRefresh/PullRefresh.js.map +1 -1
- package/lib/esm/components/PullRefresh/component.js +1 -1
- package/lib/esm/components/PullRefresh/index.js +1 -1
- package/lib/esm/components/PullRefresh/interface/index.js +1 -1
- package/lib/esm/components/Radio/Radio.js +6 -5
- package/lib/esm/components/Radio/Radio.js.map +1 -1
- package/lib/esm/components/Radio/index.js +3 -2
- package/lib/esm/components/Radio/index.js.map +1 -1
- package/lib/esm/components/Radio/styles.js +4 -4
- package/lib/esm/components/Radio/styles.js.map +1 -1
- package/lib/esm/components/Sheets/styles.js +2 -2
- package/lib/esm/components/Sheets/styles.js.map +1 -1
- package/lib/esm/components/StatusBar/hook/getStatusHeight.js +14 -2
- package/lib/esm/components/StatusBar/hook/getStatusHeight.js.map +1 -1
- package/lib/esm/index.js +3 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/pvCount/pvData.js +1 -1
- package/lib/src/components/Image/queryCacheBatcher.d.ts +5 -0
- package/lib/src/components/Popover/Popover.d.ts +1 -1
- package/lib/src/components/Popover/interface/index.d.ts +1 -0
- package/lib/src/components/PullRefresh/PullRefresh.d.ts +2 -0
- package/lib/src/components/PullRefresh/interface/index.d.ts +5 -0
- package/lib/src/components/StatusBar/hook/getStatusHeight.d.ts +1 -0
- package/lib/types/components/Image/queryCacheBatcher.d.ts +5 -0
- package/lib/types/components/Popover/Popover.d.ts +1 -1
- package/lib/types/components/Popover/interface/index.d.ts +1 -0
- package/lib/types/components/PullRefresh/PullRefresh.d.ts +2 -0
- package/lib/types/components/PullRefresh/interface/index.d.ts +5 -0
- package/lib/types/components/StatusBar/hook/getStatusHeight.d.ts +1 -0
- package/package.json +2 -2
- package/src/components/Carousel/Carousel.tsx +15 -3
- package/src/components/Carousel/demo/index.tsx +14 -2
- package/src/components/Image/Image.tsx +53 -115
- package/src/components/Image/VisibilitySensor.tsx +1 -2
- package/src/components/Image/queryCacheBatcher.ts +84 -0
- package/src/components/Popover/Popover.tsx +4 -3
- package/src/components/Popover/doc/index.mdx +22 -21
- package/src/components/Popover/interface/index.ts +1 -0
- package/src/components/PullRefresh/PullRefresh.tsx +146 -55
- package/src/components/PullRefresh/doc/index.mdx +19 -16
- package/src/components/PullRefresh/interface/index.ts +6 -0
- package/src/components/Radio/Radio.tsx +3 -3
- package/src/components/Radio/styles.ts +3 -3
- package/src/components/Sheets/styles.ts +2 -2
- package/src/components/StatusBar/hook/getStatusHeight.ts +20 -1
- package/src/index.ts +0 -1
- package/CHANGELOG.md +0 -13
- package/lib/cjs/_chunks/CIr5S84J.js.map +0 -1
- package/lib/esm/_chunks/CZtagXcj.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilitySensor.js","sources":["../../../../src/components/Image/VisibilitySensor.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState, forwardRef, useImperativeHandle } from \"react\";\nimport { Dimensions, type ScaledSize, View } from \"react-native\";\nimport type { VisibilitySensorRef, VisibilitySensorProps, RectDimensionsState } from \"./interface/visibilitySensor\";\n// function useInterval(callback: () => void, delay: number | null) {\n// const savedCallback = useRef(callback);\n// useEffect(() => {\n// savedCallback.current = callback;\n// }, [callback]);\n// useEffect(() => {\n// if (delay === null || delay === undefined) {\n// return;\n// }\n// const id = setInterval(() => savedCallback.current(), delay);\n// return () => clearInterval(id);\n// }, [delay]);\n// }\nconst VisibilitySensor = forwardRef<VisibilitySensorRef, VisibilitySensorProps>((props, ref) => {\n const { onChange, disabled = false, triggerOnce = false, delay, threshold = {}, children, ...rest } = props;\n const localRef = useRef<View>(null);\n const hasMountedRef = useRef(false);\n useImperativeHandle(ref, () => ({\n getInnerRef: () => localRef.current,\n }));\n const [rectDimensions, setRectDimensions] = useState<RectDimensionsState>({\n rectTop: 0,\n rectBottom: 0,\n rectLeft: 0,\n rectRight: 0,\n rectWidth: 0,\n rectHeight: 0,\n });\n const [lastValue, setLastValue] = useState<boolean | undefined>(undefined);\n const [active, setActive] = useState<boolean>(false);\n const measureInnerView = () => {\n if (!active) return;\n localRef.current?.measure((_x: number, _y: number, width: number, height: number, pageX: number, pageY: number) => {\n const dimensions = {\n rectTop: pageY,\n rectBottom: pageY + height,\n rectLeft: pageX,\n rectRight: pageX + width,\n rectWidth: width,\n rectHeight: height,\n };\n if (\n rectDimensions.rectTop !== dimensions.rectTop ||\n rectDimensions.rectBottom !== dimensions.rectBottom ||\n rectDimensions.rectLeft !== dimensions.rectLeft ||\n rectDimensions.rectRight !== dimensions.rectRight ||\n rectDimensions.rectWidth !== dimensions.rectWidth ||\n rectDimensions.rectHeight !== dimensions.rectHeight\n ) {\n setRectDimensions(dimensions);\n }\n });\n };\n // useInterval(measureInnerView, delay || 100);\n const startWatching = useCallback(() => {\n if (!active) setActive(true);\n }, [active]);\n const stopWatching = useCallback(() => {\n if (active) setActive(false);\n }, [active]);\n useEffect(() => {\n if (!disabled) {\n startWatching();\n }\n return () => {\n stopWatching();\n };\n }, [disabled, startWatching, stopWatching]);\n useEffect(() => {\n if (!hasMountedRef.current) {\n hasMountedRef.current = true;\n return;\n }\n const window: ScaledSize = Dimensions.get(\"window\");\n const isVisible: boolean =\n rectDimensions.rectTop + (threshold.top || 0) <= window.height && // Top edge is within the bottom of the window\n rectDimensions.rectBottom - (threshold.bottom || 0) >= 0 && // Bottom edge is within the top of the window\n rectDimensions.rectLeft + (threshold.left || 0) <= window.width && // Left edge is within the right of the window\n rectDimensions.rectRight - (threshold.right || 0) >= 0; // Right edge is within the left of the window\n if (lastValue !== isVisible) {\n setLastValue(isVisible);\n onChange(isVisible);\n if (isVisible && triggerOnce) {\n stopWatching();\n }\n }\n
|
|
1
|
+
{"version":3,"file":"VisibilitySensor.js","sources":["../../../../src/components/Image/VisibilitySensor.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState, forwardRef, useImperativeHandle } from \"react\";\nimport { Dimensions, type ScaledSize, View } from \"react-native\";\nimport type { VisibilitySensorRef, VisibilitySensorProps, RectDimensionsState } from \"./interface/visibilitySensor\";\n// function useInterval(callback: () => void, delay: number | null) {\n// const savedCallback = useRef(callback);\n// useEffect(() => {\n// savedCallback.current = callback;\n// }, [callback]);\n// useEffect(() => {\n// if (delay === null || delay === undefined) {\n// return;\n// }\n// const id = setInterval(() => savedCallback.current(), delay);\n// return () => clearInterval(id);\n// }, [delay]);\n// }\nconst VisibilitySensor = forwardRef<VisibilitySensorRef, VisibilitySensorProps>((props, ref) => {\n const { onChange, disabled = false, triggerOnce = false, delay, threshold = {}, children, ...rest } = props;\n const localRef = useRef<View>(null);\n const hasMountedRef = useRef(false);\n useImperativeHandle(ref, () => ({\n getInnerRef: () => localRef.current,\n }));\n const [rectDimensions, setRectDimensions] = useState<RectDimensionsState>({\n rectTop: 0,\n rectBottom: 0,\n rectLeft: 0,\n rectRight: 0,\n rectWidth: 0,\n rectHeight: 0,\n });\n const [lastValue, setLastValue] = useState<boolean | undefined>(undefined);\n const [active, setActive] = useState<boolean>(false);\n const measureInnerView = () => {\n if (!active) return;\n localRef.current?.measure((_x: number, _y: number, width: number, height: number, pageX: number, pageY: number) => {\n const dimensions = {\n rectTop: pageY,\n rectBottom: pageY + height,\n rectLeft: pageX,\n rectRight: pageX + width,\n rectWidth: width,\n rectHeight: height,\n };\n if (\n rectDimensions.rectTop !== dimensions.rectTop ||\n rectDimensions.rectBottom !== dimensions.rectBottom ||\n rectDimensions.rectLeft !== dimensions.rectLeft ||\n rectDimensions.rectRight !== dimensions.rectRight ||\n rectDimensions.rectWidth !== dimensions.rectWidth ||\n rectDimensions.rectHeight !== dimensions.rectHeight\n ) {\n setRectDimensions(dimensions);\n }\n });\n };\n // useInterval(measureInnerView, delay || 100);\n const startWatching = useCallback(() => {\n if (!active) setActive(true);\n }, [active]);\n const stopWatching = useCallback(() => {\n if (active) setActive(false);\n }, [active]);\n useEffect(() => {\n if (!disabled) {\n startWatching();\n }\n return () => {\n stopWatching();\n };\n }, [disabled, startWatching, stopWatching]);\n useEffect(() => {\n if (!hasMountedRef.current) {\n hasMountedRef.current = true;\n return;\n }\n const window: ScaledSize = Dimensions.get(\"window\");\n const isVisible: boolean =\n rectDimensions.rectTop + (threshold.top || 0) <= window.height && // Top edge is within the bottom of the window\n rectDimensions.rectBottom - (threshold.bottom || 0) >= 0 && // Bottom edge is within the top of the window\n rectDimensions.rectLeft + (threshold.left || 0) <= window.width && // Left edge is within the right of the window\n rectDimensions.rectRight - (threshold.right || 0) >= 0; // Right edge is within the left of the window\n if (lastValue !== isVisible) {\n setLastValue(isVisible);\n onChange(isVisible);\n if (isVisible && triggerOnce) {\n stopWatching();\n }\n }\n }, [rectDimensions, lastValue, threshold, onChange, triggerOnce, stopWatching]);\n return (\n <View ref={localRef} {...rest} onLayout={() => measureInnerView()}>\n {children}\n </View>\n );\n});\nexport default VisibilitySensor;\n"],"names":["VisibilitySensor","forwardRef","props","ref","onChange","_props$disabled","disabled","_props$triggerOnce","triggerOnce","delay","_props$threshold","threshold","children","rest","_excluded","localRef","useRef","hasMountedRef","useImperativeHandle","getInnerRef","current","_useState","useState","rectTop","rectBottom","rectLeft","rectRight","rectWidth","rectHeight","_useState2","_slicedToArray","rectDimensions","setRectDimensions","_useState3","_useState4","lastValue","setLastValue","_useState5","_useState6","active","setActive","measureInnerView","_localRef$current","measure","_x","_y","width","height","pageX","pageY","dimensions","startWatching","useCallback","stopWatching","useEffect","window","Dimensions","get","isVisible","top","bottom","left","right","React","createElement","View","_objectSpread","onLayout"],"mappings":"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"}
|
|
@@ -14,14 +14,15 @@ require('./hook/index.js');
|
|
|
14
14
|
require('./CircularProgress.js');
|
|
15
15
|
require('react-native-svg');
|
|
16
16
|
require('../ConfigProvider/hooks/ConfigCache/ConfigCache.js');
|
|
17
|
-
require('../../pvCount/useUnmountedProcess.js');
|
|
18
17
|
require('@xhs/reds-apm/src/index.native');
|
|
19
|
-
require('../../pvCount/pvData.js');
|
|
20
18
|
require('../ConfigProvider/hooks/themeToken/useColorMode.js');
|
|
21
19
|
require('../ConfigProvider/hooks/ConfigContext/ConfigContext.js');
|
|
22
20
|
require('./utils.js');
|
|
23
|
-
require('./VisibilitySensor.js');
|
|
24
21
|
require('./apm.js');
|
|
22
|
+
require('./queryCacheBatcher.js');
|
|
23
|
+
require('../../pvCount/useUnmountedProcess.js');
|
|
24
|
+
require('../../pvCount/pvData.js');
|
|
25
|
+
require('./VisibilitySensor.js');
|
|
25
26
|
|
|
26
27
|
var _Platform$constants;
|
|
27
28
|
var ImageComponent = ((_Platform$constants = reactNative.Platform.constants) === null || _Platform$constants === void 0 || (_Platform$constants = _Platform$constants.reactNativeVersion) === null || _Platform$constants === void 0 ? void 0 : _Platform$constants.minor) === 72 ? components_Image_Image.default : components_Image_Image69.default;
|
|
@@ -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":"
|
|
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,oBAAS,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,8BAAQ,GAAAC;;;;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _rollupPluginBabelHelpers = require('../../_chunks/C9tZEm0t.js');
|
|
4
|
+
var reactNative = require('react-native');
|
|
5
|
+
|
|
6
|
+
var _global;
|
|
7
|
+
var enabled = ((_global = global) === null || _global === void 0 ? void 0 : _global.REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED) !== false;
|
|
8
|
+
var FLUSH_MS = 50;
|
|
9
|
+
var pending = /* @__PURE__ */new Map();
|
|
10
|
+
var timer = null;
|
|
11
|
+
function directQuery(url) {
|
|
12
|
+
try {
|
|
13
|
+
if (typeof reactNative.Image.queryCache !== "function") {
|
|
14
|
+
return Promise.resolve(false);
|
|
15
|
+
}
|
|
16
|
+
return reactNative.Image.queryCache([url]).then(function (res) {
|
|
17
|
+
return !!(res !== null && res !== void 0 && res[url] || res !== null && res !== void 0 && res[encodeURI(url)]);
|
|
18
|
+
})["catch"](function () {
|
|
19
|
+
return false;
|
|
20
|
+
});
|
|
21
|
+
} catch (_) {
|
|
22
|
+
return Promise.resolve(false);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function flush() {
|
|
26
|
+
var entries = Array.from(pending.entries());
|
|
27
|
+
pending.clear();
|
|
28
|
+
timer = null;
|
|
29
|
+
var urls = entries.map(function (_ref) {
|
|
30
|
+
var _ref2 = _rollupPluginBabelHelpers._slicedToArray(_ref, 1),
|
|
31
|
+
url = _ref2[0];
|
|
32
|
+
return url;
|
|
33
|
+
});
|
|
34
|
+
if (!urls.length) return;
|
|
35
|
+
if (typeof reactNative.Image.queryCache !== "function") {
|
|
36
|
+
entries.forEach(function (_ref3) {
|
|
37
|
+
var _ref4 = _rollupPluginBabelHelpers._slicedToArray(_ref3, 2),
|
|
38
|
+
resolvers = _ref4[1];
|
|
39
|
+
return resolvers.forEach(function (r) {
|
|
40
|
+
return r(false);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
reactNative.Image.queryCache(urls).then(function (res) {
|
|
46
|
+
entries.forEach(function (_ref5) {
|
|
47
|
+
var _ref6 = _rollupPluginBabelHelpers._slicedToArray(_ref5, 2),
|
|
48
|
+
url = _ref6[0],
|
|
49
|
+
resolvers = _ref6[1];
|
|
50
|
+
var ok = !!(res !== null && res !== void 0 && res[url] || res !== null && res !== void 0 && res[encodeURI(url)]);
|
|
51
|
+
resolvers.forEach(function (r) {
|
|
52
|
+
return r(ok);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
})["catch"](function () {
|
|
56
|
+
entries.forEach(function (_ref7) {
|
|
57
|
+
var _ref8 = _rollupPluginBabelHelpers._slicedToArray(_ref7, 2),
|
|
58
|
+
resolvers = _ref8[1];
|
|
59
|
+
return resolvers.forEach(function (r) {
|
|
60
|
+
return r(false);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function schedule() {
|
|
66
|
+
if (!timer) {
|
|
67
|
+
timer = setTimeout(flush, FLUSH_MS);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function setQueryCacheBatchingEnabled(v) {
|
|
71
|
+
enabled = v;
|
|
72
|
+
}
|
|
73
|
+
function configureQueryCacheBatching() {
|
|
74
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
75
|
+
if (typeof options.flushMs === "number" && options.flushMs >= 0) {
|
|
76
|
+
FLUSH_MS = options.flushMs;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function queryCacheBatched(url) {
|
|
80
|
+
if (!url) return Promise.resolve(false);
|
|
81
|
+
if (!enabled) return directQuery(url);
|
|
82
|
+
return new Promise(function (resolve) {
|
|
83
|
+
var list = pending.get(url);
|
|
84
|
+
if (list) {
|
|
85
|
+
list.push(resolve);
|
|
86
|
+
} else {
|
|
87
|
+
pending.set(url, [resolve]);
|
|
88
|
+
}
|
|
89
|
+
schedule();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
exports.configureQueryCacheBatching = configureQueryCacheBatching;
|
|
94
|
+
exports.queryCacheBatched = queryCacheBatched;
|
|
95
|
+
exports.setQueryCacheBatchingEnabled = setQueryCacheBatchingEnabled;
|
|
96
|
+
//# sourceMappingURL=queryCacheBatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryCacheBatcher.js","sources":["../../../../src/components/Image/queryCacheBatcher.ts"],"sourcesContent":["import { Image as RNImage } from \"react-native\";\n\ndeclare const global: any;\n\ntype Resolver = (value: boolean) => void;\n\n// Runtime switch: set global.REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED = false to disable batching\nlet enabled: boolean = global?.REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED !== false;\nlet FLUSH_MS = 50;\n\nconst pending = new Map<string, Resolver[]>();\nlet timer: ReturnType<typeof setTimeout> | null = null;\n\nfunction directQuery(url: string): Promise<boolean> {\n try {\n if (typeof (RNImage as any).queryCache !== \"function\") {\n return Promise.resolve(false);\n }\n return (RNImage as any)\n .queryCache([url])\n .then((res: Record<string, any>) => !!(res?.[url] || res?.[encodeURI(url)]))\n .catch(() => false);\n } catch (_) {\n return Promise.resolve(false);\n }\n}\n\nfunction flush() {\n const entries = Array.from(pending.entries());\n pending.clear();\n timer = null;\n\n const urls = entries.map(([url]) => url);\n if (!urls.length) return;\n\n if (typeof (RNImage as any).queryCache !== \"function\") {\n entries.forEach(([, resolvers]) => resolvers.forEach((r) => r(false)));\n return;\n }\n\n (RNImage as any)\n .queryCache(urls)\n .then((res: Record<string, any>) => {\n entries.forEach(([url, resolvers]) => {\n const ok = !!(res?.[url] || res?.[encodeURI(url)]);\n resolvers.forEach((r) => r(ok));\n });\n })\n .catch(() => {\n entries.forEach(([, resolvers]) => resolvers.forEach((r) => r(false)));\n });\n}\n\nfunction schedule() {\n if (!timer) {\n timer = setTimeout(flush, FLUSH_MS);\n }\n}\n\nexport function setQueryCacheBatchingEnabled(v: boolean) {\n enabled = v;\n}\n\nexport function configureQueryCacheBatching(options: { flushMs?: number } = {}) {\n if (typeof options.flushMs === \"number\" && options.flushMs >= 0) {\n FLUSH_MS = options.flushMs;\n }\n}\n\n// Main entry: batched query with quick toggle to direct query\nexport function queryCacheBatched(url: string): Promise<boolean> {\n if (!url) return Promise.resolve(false);\n if (!enabled) return directQuery(url);\n\n return new Promise<boolean>((resolve) => {\n const list = pending.get(url);\n if (list) {\n list.push(resolve);\n } else {\n pending.set(url, [resolve]);\n }\n schedule();\n });\n}\n"],"names":["enabled","_global","global","REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED","FLUSH_MS","pending","Map","timer","directQuery","url","RNImage","queryCache","Promise","resolve","then","res","encodeURI","_","flush","entries","Array","from","clear","urls","map","_ref","_ref2","_slicedToArray","length","forEach","_ref3","_ref4","resolvers","r","_ref5","_ref6","ok","_ref7","_ref8","schedule","setTimeout","setQueryCacheBatchingEnabled","v","configureQueryCacheBatching","options","arguments","undefined","flushMs","queryCacheBatched","list","get","push","set"],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ var Popover = (function (_ref) {
|
|
|
44
44
|
propsArrowStyles = _ref.arrowStyles,
|
|
45
45
|
offset = _ref.offset,
|
|
46
46
|
duration = _ref.duration,
|
|
47
|
+
animation_duration = _ref.animation_duration,
|
|
47
48
|
hostName = _ref.hostName,
|
|
48
49
|
maxWidth = _ref.maxWidth,
|
|
49
50
|
arrowOffset = _ref.arrowOffset;
|
|
@@ -119,18 +120,18 @@ var Popover = (function (_ref) {
|
|
|
119
120
|
if (layout.x !== defaultValue) {
|
|
120
121
|
reactNative.Animated.timing(progress, {
|
|
121
122
|
toValue: 1,
|
|
122
|
-
duration:
|
|
123
|
+
duration: animation_duration !== null && animation_duration !== void 0 ? animation_duration : 400,
|
|
123
124
|
useNativeDriver: false
|
|
124
125
|
}).start();
|
|
125
126
|
}
|
|
126
127
|
} else {
|
|
127
128
|
reactNative.Animated.timing(progress, {
|
|
128
129
|
toValue: 0,
|
|
129
|
-
duration:
|
|
130
|
+
duration: animation_duration !== null && animation_duration !== void 0 ? animation_duration : 400,
|
|
130
131
|
useNativeDriver: false
|
|
131
132
|
}).start();
|
|
132
133
|
}
|
|
133
|
-
}, [_visible, layout]);
|
|
134
|
+
}, [_visible, layout, animation_duration]);
|
|
134
135
|
var onMaskChange = function onMaskChange(event, value) {
|
|
135
136
|
if (isControl) return;
|
|
136
137
|
if (value === void 0) return setVisible(!_visible);
|
|
@@ -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 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: duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n } else {\n Animated.timing(progress, {\n toValue: 0,\n duration: duration ?? 400,\n useNativeDriver: false,\n }).start();\n }\n }, [_visible, layout]);\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","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 { 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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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_chunks/C9tZEm0t.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var reactNative = require('react-native');
|
|
8
|
-
var components_PullRefresh_interface_index = require('../../_chunks/
|
|
8
|
+
var components_PullRefresh_interface_index = require('../../_chunks/DUU5wf2f.js');
|
|
9
9
|
var components_PullRefresh_component = require('./component.js');
|
|
10
10
|
var pvCount_useUnmountedProcess = require('../../pvCount/useUnmountedProcess.js');
|
|
11
11
|
require('../ProgressIndicator/ProgressIndicator.js');
|
|
@@ -40,6 +40,7 @@ require('../../i18n/index.js');
|
|
|
40
40
|
require('./Refresh.js');
|
|
41
41
|
require('react-native-svg');
|
|
42
42
|
|
|
43
|
+
var CustomRefreshControl = components_PullRefresh_component.default;
|
|
43
44
|
function PullRefresh(props) {
|
|
44
45
|
pvCount_useUnmountedProcess.default("PullRefresh");
|
|
45
46
|
var _useState = React.useState(0),
|
|
@@ -65,37 +66,42 @@ function PullRefresh(props) {
|
|
|
65
66
|
_useState10 = _rollupPluginBabelHelpers._slicedToArray(_useState1, 2),
|
|
66
67
|
isRefreshing = _useState10[0],
|
|
67
68
|
setIsRefreshing = _useState10[1];
|
|
68
|
-
var _useState11 = React.useState(),
|
|
69
|
+
var _useState11 = React.useState(false),
|
|
69
70
|
_useState12 = _rollupPluginBabelHelpers._slicedToArray(_useState11, 2),
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var
|
|
71
|
+
internalRefreshing = _useState12[0],
|
|
72
|
+
setInternalRefreshing = _useState12[1];
|
|
73
|
+
var androidAutoEndRef = React.useRef();
|
|
74
|
+
var _useState13 = React.useState(),
|
|
73
75
|
_useState14 = _rollupPluginBabelHelpers._slicedToArray(_useState13, 2),
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var _useState15 = React.useState(
|
|
76
|
+
animation = _useState14[0],
|
|
77
|
+
setAnimation = _useState14[1];
|
|
78
|
+
var _useState15 = React.useState(components_PullRefresh_interface_index.PullState.INIT),
|
|
77
79
|
_useState16 = _rollupPluginBabelHelpers._slicedToArray(_useState15, 2),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
pullState = _useState16[0],
|
|
81
|
+
setPullState = _useState16[1];
|
|
80
82
|
var _useState17 = React.useState(0),
|
|
81
83
|
_useState18 = _rollupPluginBabelHelpers._slicedToArray(_useState17, 2),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var _useState19 = React.useState(),
|
|
84
|
+
moveHeight = _useState18[0],
|
|
85
|
+
setMoveHeight = _useState18[1];
|
|
86
|
+
var _useState19 = React.useState(0),
|
|
85
87
|
_useState20 = _rollupPluginBabelHelpers._slicedToArray(_useState19, 2),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
movePercent = _useState20[0],
|
|
89
|
+
setMovePercent = _useState20[1];
|
|
90
|
+
var _useState21 = React.useState(),
|
|
91
|
+
_useState22 = _rollupPluginBabelHelpers._slicedToArray(_useState21, 2),
|
|
92
|
+
pullTimeout = _useState22[0],
|
|
93
|
+
setPullTimeout = _useState22[1];
|
|
88
94
|
var refreshControlRef = React.useRef();
|
|
89
95
|
var viewRef = React.useRef();
|
|
90
96
|
var animatedViewRef = React.useRef();
|
|
91
|
-
var
|
|
92
|
-
_useState22 = _rollupPluginBabelHelpers._slicedToArray(_useState21, 2),
|
|
93
|
-
top = _useState22[0],
|
|
94
|
-
setTop = _useState22[1];
|
|
95
|
-
var _useState23 = React.useState(false),
|
|
97
|
+
var _useState23 = React.useState(-1e3),
|
|
96
98
|
_useState24 = _rollupPluginBabelHelpers._slicedToArray(_useState23, 2),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
top = _useState24[0],
|
|
100
|
+
setTop = _useState24[1];
|
|
101
|
+
var _useState25 = React.useState(false),
|
|
102
|
+
_useState26 = _rollupPluginBabelHelpers._slicedToArray(_useState25, 2),
|
|
103
|
+
hasInitRefreshed = _useState26[0],
|
|
104
|
+
setHasInitRefreshed = _useState26[1];
|
|
99
105
|
var performInitRefresh = function performInitRefresh() {
|
|
100
106
|
if (pullAnimHeight > 0 && !hasInitRefreshed && props.initRefresh || props.refresh) {
|
|
101
107
|
updatePullState(components_PullRefresh_interface_index.PullState.LOADING);
|
|
@@ -112,13 +118,28 @@ function PullRefresh(props) {
|
|
|
112
118
|
performInitRefresh();
|
|
113
119
|
}
|
|
114
120
|
}, [props.initRefresh, pullAnimHeight, hasInitRefreshed, isRefreshing, props.refresh]);
|
|
121
|
+
React.useEffect(function () {
|
|
122
|
+
return function () {
|
|
123
|
+
if (pullTimeout) clearTimeout(pullTimeout);
|
|
124
|
+
if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
|
|
125
|
+
};
|
|
126
|
+
}, [pullTimeout]);
|
|
115
127
|
var onRelease = function onRelease() {
|
|
116
128
|
pan.flattenOffset();
|
|
117
129
|
var panValue = pan._value;
|
|
118
130
|
if (panValue >= pullAnimHeight) {
|
|
119
131
|
animatedTo(pullAnimHeight, function () {
|
|
120
132
|
updatePullState(components_PullRefresh_interface_index.PullState.LOADING);
|
|
121
|
-
|
|
133
|
+
if (props.onRequest) {
|
|
134
|
+
props.onRequest();
|
|
135
|
+
} else {
|
|
136
|
+
var _props$msHoldingTime;
|
|
137
|
+
setInternalRefreshing(true);
|
|
138
|
+
if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
|
|
139
|
+
androidAutoEndRef.current = setTimeout(function () {
|
|
140
|
+
setInternalRefreshing(false);
|
|
141
|
+
}, (_props$msHoldingTime = props === null || props === void 0 ? void 0 : props.msHoldingTime) !== null && _props$msHoldingTime !== void 0 ? _props$msHoldingTime : 1e3);
|
|
142
|
+
}
|
|
122
143
|
});
|
|
123
144
|
} else if (panValue > 0) {
|
|
124
145
|
updatePullState(components_PullRefresh_interface_index.PullState.FINISH);
|
|
@@ -189,6 +210,19 @@ function PullRefresh(props) {
|
|
|
189
210
|
return isPulling ? false : scrollY <= 0 && gestureState.vy > 0 && gestureState.vy > Math.abs(gestureState.vx);
|
|
190
211
|
};
|
|
191
212
|
var panResponder = React.useMemo(function () {
|
|
213
|
+
if (reactNative.Platform.OS !== "ios" && props.nativeAndroidPullRefresh) {
|
|
214
|
+
return reactNative.PanResponder.create({
|
|
215
|
+
onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
|
|
216
|
+
return false;
|
|
217
|
+
},
|
|
218
|
+
onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder() {
|
|
219
|
+
return false;
|
|
220
|
+
},
|
|
221
|
+
onPanResponderTerminationRequest: function onPanResponderTerminationRequest() {
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
192
226
|
return reactNative.PanResponder.create({
|
|
193
227
|
onStartShouldSetPanResponder: canMove,
|
|
194
228
|
onStartShouldSetPanResponderCapture: canMove,
|
|
@@ -222,18 +256,20 @@ function PullRefresh(props) {
|
|
|
222
256
|
return true;
|
|
223
257
|
}
|
|
224
258
|
});
|
|
225
|
-
}, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight]);
|
|
259
|
+
}, [isPulling, scrollY, props.initRefresh, hasInitRefreshed, pullAnimHeight, props.nativeAndroidPullRefresh]);
|
|
226
260
|
React.useEffect(function () {
|
|
261
|
+
if (reactNative.Platform.OS !== "ios" && props.nativeAndroidPullRefresh) return;
|
|
227
262
|
if (pullState === components_PullRefresh_interface_index.PullState.PULLING && !props.initRefresh) {
|
|
228
263
|
return;
|
|
229
264
|
}
|
|
230
|
-
|
|
265
|
+
var effectiveRefreshing = !!props.isRefreshing || internalRefreshing;
|
|
266
|
+
if (effectiveRefreshing === true && !isRefreshing) {
|
|
231
267
|
animatedTo(pullAnimHeight);
|
|
232
268
|
setIsRefreshing(true);
|
|
233
269
|
updatePullState(components_PullRefresh_interface_index.PullState.LOADING);
|
|
234
270
|
}
|
|
235
|
-
if (
|
|
236
|
-
var _props$
|
|
271
|
+
if (effectiveRefreshing === false && isRefreshing) {
|
|
272
|
+
var _props$msHoldingTime2;
|
|
237
273
|
setIsPulling(false);
|
|
238
274
|
updatePullState(components_PullRefresh_interface_index.PullState.HOLDING);
|
|
239
275
|
setPullTimeout(
|
|
@@ -244,10 +280,10 @@ function PullRefresh(props) {
|
|
|
244
280
|
updatePullState(components_PullRefresh_interface_index.PullState.INIT);
|
|
245
281
|
});
|
|
246
282
|
updatePullState(components_PullRefresh_interface_index.PullState.FINISH);
|
|
247
|
-
}, (_props$
|
|
283
|
+
}, (_props$msHoldingTime2 = props === null || props === void 0 ? void 0 : props.msHoldingTime) !== null && _props$msHoldingTime2 !== void 0 ? _props$msHoldingTime2 : 1e3));
|
|
248
284
|
setIsRefreshing(false);
|
|
249
285
|
}
|
|
250
|
-
}, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState]);
|
|
286
|
+
}, [isRefreshing, props.msHoldingTime, props.isRefreshing, pullState, internalRefreshing]);
|
|
251
287
|
var onLayout = function onLayout(evt) {
|
|
252
288
|
var height = props.pullAnimHeight || evt.nativeEvent.layout.height;
|
|
253
289
|
setPullAnimHeight(height);
|
|
@@ -256,11 +292,36 @@ function PullRefresh(props) {
|
|
|
256
292
|
};
|
|
257
293
|
var scrollContent = React.useMemo(function () {
|
|
258
294
|
return React.Children.map(props.children, function (child) {
|
|
259
|
-
|
|
295
|
+
var _props$androidRefresh, _props$androidRefresh2;
|
|
296
|
+
return /*#__PURE__*/React.cloneElement(child, _rollupPluginBabelHelpers._objectSpread2({
|
|
260
297
|
// 设置滚动响应频率
|
|
261
|
-
scrollEventThrottle: 1
|
|
262
|
-
|
|
263
|
-
|
|
298
|
+
scrollEventThrottle: 1
|
|
299
|
+
}, reactNative.Platform.OS === "android" && props.nativeAndroidPullRefresh ? {
|
|
300
|
+
refreshControl: /* @__PURE__ */React.createElement(reactNative.RefreshControl, _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({}, props.androidRefreshProps || {}), {}, {
|
|
301
|
+
colors: (_props$androidRefresh = (_props$androidRefresh2 = props.androidRefreshProps) === null || _props$androidRefresh2 === void 0 ? void 0 : _props$androidRefresh2.colors) !== null && _props$androidRefresh !== void 0 ? _props$androidRefresh : props.androidColors,
|
|
302
|
+
refreshing: !!props.isRefreshing || internalRefreshing,
|
|
303
|
+
onRefresh: function onRefresh() {
|
|
304
|
+
if (!!props.isRefreshing || internalRefreshing) return;
|
|
305
|
+
try {
|
|
306
|
+
props.onRequest && props.onRequest();
|
|
307
|
+
} finally {
|
|
308
|
+
var _props$msHoldingTime3;
|
|
309
|
+
if (!props.onRequest) {
|
|
310
|
+
setInternalRefreshing(true);
|
|
311
|
+
}
|
|
312
|
+
if (androidAutoEndRef.current) clearTimeout(androidAutoEndRef.current);
|
|
313
|
+
androidAutoEndRef.current = setTimeout(function () {
|
|
314
|
+
setInternalRefreshing(false);
|
|
315
|
+
}, (_props$msHoldingTime3 = props === null || props === void 0 ? void 0 : props.msHoldingTime) !== null && _props$msHoldingTime3 !== void 0 ? _props$msHoldingTime3 : 1e3);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
})),
|
|
319
|
+
onScroll: function onScroll(evt) {
|
|
320
|
+
if (child.props.onScroll && typeof child.props.onScroll === "function") {
|
|
321
|
+
child.props.onScroll(evt);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
} : {
|
|
264
325
|
onScroll: function onScroll(evt) {
|
|
265
326
|
setScrollY(evt.nativeEvent.contentOffset.y);
|
|
266
327
|
if (pullState === components_PullRefresh_interface_index.PullState.LOADING && evt.nativeEvent.contentOffset.y > 0) {
|
|
@@ -284,10 +345,13 @@ function PullRefresh(props) {
|
|
|
284
345
|
child.props.onScroll(evt);
|
|
285
346
|
}
|
|
286
347
|
}
|
|
287
|
-
});
|
|
348
|
+
}));
|
|
288
349
|
});
|
|
289
|
-
}, [pullState, props.children,
|
|
350
|
+
}, [pullState, props.children, pullAnimHeight, internalRefreshing, props.isRefreshing, props.nativeAndroidPullRefresh]);
|
|
290
351
|
var content = React.useMemo(function () {
|
|
352
|
+
if (reactNative.Platform.OS === "android" && props.nativeAndroidPullRefresh) {
|
|
353
|
+
return /* @__PURE__ */React.createElement(React.Fragment, null, scrollContent);
|
|
354
|
+
}
|
|
291
355
|
return /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
292
356
|
ref: viewRef,
|
|
293
357
|
style: {
|
|
@@ -297,12 +361,12 @@ function PullRefresh(props) {
|
|
|
297
361
|
flex: 1
|
|
298
362
|
}
|
|
299
363
|
}, scrollContent);
|
|
300
|
-
}, [pan, scrollContent]);
|
|
364
|
+
}, [pan, scrollContent, props.nativeAndroidPullRefresh]);
|
|
301
365
|
return /* @__PURE__ */React.createElement(reactNative.View, _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
|
|
302
366
|
style: [styles.container, props.style]
|
|
303
|
-
}, panResponder.panHandlers), {}, {
|
|
367
|
+
}, reactNative.Platform.OS === "ios" || !props.nativeAndroidPullRefresh ? panResponder.panHandlers : {}), {}, {
|
|
304
368
|
testID: "refresh-container"
|
|
305
|
-
}), /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
369
|
+
}), reactNative.Platform.OS === "ios" || !props.nativeAndroidPullRefresh ? /* @__PURE__ */React.createElement(reactNative.Animated.View, {
|
|
306
370
|
ref: animatedViewRef,
|
|
307
371
|
onLayout: onLayout,
|
|
308
372
|
style: [styles.freshItem, {
|
|
@@ -312,11 +376,11 @@ function PullRefresh(props) {
|
|
|
312
376
|
translateY: pan
|
|
313
377
|
}]
|
|
314
378
|
}, props.controlStyle]
|
|
315
|
-
}, /* @__PURE__ */React.createElement(
|
|
379
|
+
}, /* @__PURE__ */React.createElement(CustomRefreshControl, _rollupPluginBabelHelpers._objectSpread2(_rollupPluginBabelHelpers._objectSpread2({
|
|
316
380
|
ref: refreshControlRef
|
|
317
381
|
}, props), {}, {
|
|
318
382
|
movePercent: movePercent
|
|
319
|
-
}))), content);
|
|
383
|
+
}))) : null, content);
|
|
320
384
|
}
|
|
321
385
|
PullRefresh.defaultProps = components_PullRefresh_interface_index.PullRefreshDefaultProps;
|
|
322
386
|
var styles = reactNative.StyleSheet.create({
|