@xhsreds/reds-rn-next 0.11.1-beta202512161328 → 0.11.1-beta202512171704
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-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-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-28.json +1 -1
- package/coverage/.tmp/coverage-3.json +1 -1
- package/coverage/.tmp/coverage-30.json +1 -1
- package/coverage/.tmp/coverage-31.json +1 -1
- package/coverage/.tmp/coverage-33.json +1 -1
- package/coverage/.tmp/coverage-36.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-40.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/components/ActionSheets/ActionSheets.js +9 -3
- package/lib/cjs/components/ActionSheets/ActionSheets.js.map +1 -1
- package/lib/cjs/components/Image/queryCacheBatcher.js +1 -2
- package/lib/cjs/components/Image/queryCacheBatcher.js.map +1 -1
- package/lib/esm/components/ActionSheets/ActionSheets.js +9 -3
- package/lib/esm/components/ActionSheets/ActionSheets.js.map +1 -1
- package/lib/esm/components/Image/queryCacheBatcher.js +1 -2
- package/lib/esm/components/Image/queryCacheBatcher.js.map +1 -1
- package/package.json +2 -2
- package/src/components/ActionSheets/ActionSheets.tsx +1 -0
- package/src/components/Image/queryCacheBatcher.ts +1 -1
- package/src/i18n/@types/resources.d.ts +18 -18
- package/src/i18n/index.json +31 -31
|
@@ -1 +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 =
|
|
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 = 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","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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"}
|
|
@@ -106,8 +106,8 @@ var ActionSheets = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
106
106
|
animateOut: animatedRef === null || animatedRef === void 0 || (_animatedRef$current = animatedRef.current) === null || _animatedRef$current === void 0 ? void 0 : _animatedRef$current.animateOut
|
|
107
107
|
};
|
|
108
108
|
});
|
|
109
|
-
var _getSafeAreaInsets = getSafeAreaInsets()
|
|
110
|
-
_getSafeAreaInsets.bottom;
|
|
109
|
+
var _getSafeAreaInsets = getSafeAreaInsets(),
|
|
110
|
+
bottom = _getSafeAreaInsets.bottom;
|
|
111
111
|
return /* @__PURE__ */React.createElement(AnimatedSheets, {
|
|
112
112
|
ref: animatedRef,
|
|
113
113
|
visible: props.visible,
|
|
@@ -157,7 +157,13 @@ var ActionSheets = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
157
157
|
color: themeColor.Title,
|
|
158
158
|
fontSize: typography.B1FontSize
|
|
159
159
|
}
|
|
160
|
-
}, props.cancelText || cancelKey))) : /* @__PURE__ */React.createElement(React.Fragment, null)
|
|
160
|
+
}, props.cancelText || cancelKey))) : /* @__PURE__ */React.createElement(React.Fragment, null), /* @__PURE__ */React.createElement(View, {
|
|
161
|
+
style: [{
|
|
162
|
+
height: bottom,
|
|
163
|
+
width: "100%",
|
|
164
|
+
backgroundColor: themeColor.Bg
|
|
165
|
+
}, props.safeAreaStyle]
|
|
166
|
+
})));
|
|
161
167
|
});
|
|
162
168
|
ActionSheets.defaultProps = ActionSheetsDefaultProps;
|
|
163
169
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionSheets.js","sources":["../../../../src/components/ActionSheets/ActionSheets.tsx"],"sourcesContent":["import React, { useState, useMemo, forwardRef, useImperativeHandle, useRef } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, ScrollView, Dimensions } from \"react-native\";\nimport { RedsActionSheets, ActionSheetsDefaultProps } from \"./interface/index\";\nimport createStyles, { getActionDescStyles } from \"./styles\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport { AnimatedSheets, SheetsType } from \"../Sheets\";\nimport { ActionType } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport { getSafeAreaInsets } from \"../StatusBar\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst ActionSheets = forwardRef((props: RedsActionSheets, ref) => {\n useMounted(\"ActionSheets\");\n const themeColor = useThemeColor(\"ActionSheets\");\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n const [height, setHeight] = useState(0);\n const animatedRef = useRef<any>(null);\n const colorMode = useColorMode();\n const styles = createStyles(themeColor);\n\n const getActionStyles = (type: ActionType) => {\n if (type === ActionType.invalid) {\n return [styles.actionText, { color: themeColor.Disabled }];\n } else if (type === ActionType.primary) {\n return [styles.actionText, { color: themeColor.Primary }];\n } else {\n return [styles.actionText, { color: themeColor.Title }];\n }\n };\n\n const handleClick = (value: string) => {\n props?.onChange?.(value);\n props?.onClose?.();\n };\n\n const handleClose = () => {\n props?.onClose?.();\n };\n\n const children = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n return React.cloneElement(child, {\n onChange: handleClick,\n onClose: handleClose,\n });\n });\n }, [props.children]);\n\n useImperativeHandle(ref, () => ({\n animateOut: animatedRef?.current?.animateOut,\n }));\n\n const { bottom } = getSafeAreaInsets();\n\n return (\n <AnimatedSheets\n ref={animatedRef}\n visible={props.visible}\n cancel={false}\n close={false}\n size={SheetsType.SheetsSize.half}\n onCancel={handleClose}\n label={props.label}\n >\n <View\n style={[\n styles.ActionSheetsContainer,\n { backgroundColor: themeColor.Bg1 },\n height ? { minHeight: height } : {},\n props.style,\n ]}\n onLayout={(e) => {\n setHeight(e.nativeEvent.layout.height);\n }}\n >\n {props.description ? (\n <View style={[styles.description, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={styles.descriptionText}>{props.description}</Text>\n </View>\n ) : (\n <></>\n )}\n <ScrollView>\n {props?.data?.map((item) => (\n <TouchableWithoutFeedback onPress={() => handleClick(item.value)} key={`${item.label}${item.value}`}>\n <View style={[styles.action, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={getActionStyles(item.type as ActionType)}>{item.label}</Text>\n {item.desc ? <Text style={getActionDescStyles(colorMode)}>{item.desc}</Text> : <></>}\n </View>\n </TouchableWithoutFeedback>\n ))}\n {children}\n </ScrollView>\n {props.cancel ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <View style={[styles.cancel, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {props.cancelText || cancelKey}\n </Text>\n </View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n </View>\n </AnimatedSheets>\n );\n});\n\nActionSheets.defaultProps = ActionSheetsDefaultProps;\n\nexport default ActionSheets;\n"],"names":["ActionSheets","forwardRef","props","ref","_props$data","useMounted","themeColor","useThemeColor","cancelKey","useLanguage","_useState","useState","_useState2","_slicedToArray","height","setHeight","animatedRef","useRef","colorMode","useColorMode","styles","createStyles","getActionStyles","type","ActionType","invalid","actionText","color","Disabled","primary","Primary","Title","handleClick","value","_props$onChange","_props$onClose","onChange","call","onClose","handleClose","_props$onClose2","children","useMemo","React","Children","map","child","cloneElement","useImperativeHandle","_animatedRef$current","animateOut","current","_getSafeAreaInsets","getSafeAreaInsets","bottom","createElement","AnimatedSheets","visible","cancel","close","size","SheetsType","half","onCancel","label","View","style","ActionSheetsContainer","backgroundColor","Bg1","minHeight","onLayout","e","nativeEvent","layout","description","Bg2","Text","descriptionText","Fragment","ScrollView","data","item","TouchableWithoutFeedback","onPress","key","concat","action","desc","getActionDescStyles","fontSize","typography","B1FontSize","cancelText","defaultProps","ActionSheetsDefaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionSheets.js","sources":["../../../../src/components/ActionSheets/ActionSheets.tsx"],"sourcesContent":["import React, { useState, useMemo, forwardRef, useImperativeHandle, useRef } from \"react\";\nimport { View, TouchableWithoutFeedback, Text, ScrollView, Dimensions } from \"react-native\";\nimport { RedsActionSheets, ActionSheetsDefaultProps } from \"./interface/index\";\nimport createStyles, { getActionDescStyles } from \"./styles\";\nimport { useThemeColor, useColorMode } from \"../ConfigProvider\";\nimport { AnimatedSheets, SheetsType } from \"../Sheets\";\nimport { ActionType } from \"./interface\";\nimport useMounted from \"../../pvCount/useUnmountedProcess\";\nimport { useLanguage } from \"../LanguageProvider\";\nimport { getSafeAreaInsets } from \"../StatusBar\";\nimport { typography } from \"@xhsreds/reds-token-next\";\nconst ActionSheets = forwardRef((props: RedsActionSheets, ref) => {\n useMounted(\"ActionSheets\");\n const themeColor = useThemeColor(\"ActionSheets\");\n const cancelKey = useLanguage(\"componentKey\", \"cancelKey\");\n const [height, setHeight] = useState(0);\n const animatedRef = useRef<any>(null);\n const colorMode = useColorMode();\n const styles = createStyles(themeColor);\n\n const getActionStyles = (type: ActionType) => {\n if (type === ActionType.invalid) {\n return [styles.actionText, { color: themeColor.Disabled }];\n } else if (type === ActionType.primary) {\n return [styles.actionText, { color: themeColor.Primary }];\n } else {\n return [styles.actionText, { color: themeColor.Title }];\n }\n };\n\n const handleClick = (value: string) => {\n props?.onChange?.(value);\n props?.onClose?.();\n };\n\n const handleClose = () => {\n props?.onClose?.();\n };\n\n const children = useMemo(() => {\n return React.Children.map(props.children, (child: any) => {\n return React.cloneElement(child, {\n onChange: handleClick,\n onClose: handleClose,\n });\n });\n }, [props.children]);\n\n useImperativeHandle(ref, () => ({\n animateOut: animatedRef?.current?.animateOut,\n }));\n\n const { bottom } = getSafeAreaInsets();\n\n return (\n <AnimatedSheets\n ref={animatedRef}\n visible={props.visible}\n cancel={false}\n close={false}\n size={SheetsType.SheetsSize.half}\n onCancel={handleClose}\n label={props.label}\n >\n <View\n style={[\n styles.ActionSheetsContainer,\n { backgroundColor: themeColor.Bg1 },\n height ? { minHeight: height } : {},\n props.style,\n ]}\n onLayout={(e) => {\n setHeight(e.nativeEvent.layout.height);\n }}\n >\n {props.description ? (\n <View style={[styles.description, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={styles.descriptionText}>{props.description}</Text>\n </View>\n ) : (\n <></>\n )}\n <ScrollView>\n {props?.data?.map((item) => (\n <TouchableWithoutFeedback onPress={() => handleClick(item.value)} key={`${item.label}${item.value}`}>\n <View style={[styles.action, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={getActionStyles(item.type as ActionType)}>{item.label}</Text>\n {item.desc ? <Text style={getActionDescStyles(colorMode)}>{item.desc}</Text> : <></>}\n </View>\n </TouchableWithoutFeedback>\n ))}\n {children}\n </ScrollView>\n {props.cancel ? (\n <TouchableWithoutFeedback onPress={handleClose}>\n <View style={[styles.cancel, { backgroundColor: themeColor.Bg2 }]}>\n <Text style={{ color: themeColor.Title, fontSize: typography.B1FontSize }}>\n {props.cancelText || cancelKey}\n </Text>\n </View>\n </TouchableWithoutFeedback>\n ) : (\n <></>\n )}\n <View style={[{ height: bottom, width: \"100%\", backgroundColor: themeColor.Bg }, props.safeAreaStyle]}></View>\n </View>\n </AnimatedSheets>\n );\n});\n\nActionSheets.defaultProps = ActionSheetsDefaultProps;\n\nexport default ActionSheets;\n"],"names":["ActionSheets","forwardRef","props","ref","_props$data","useMounted","themeColor","useThemeColor","cancelKey","useLanguage","_useState","useState","_useState2","_slicedToArray","height","setHeight","animatedRef","useRef","colorMode","useColorMode","styles","createStyles","getActionStyles","type","ActionType","invalid","actionText","color","Disabled","primary","Primary","Title","handleClick","value","_props$onChange","_props$onClose","onChange","call","onClose","handleClose","_props$onClose2","children","useMemo","React","Children","map","child","cloneElement","useImperativeHandle","_animatedRef$current","animateOut","current","_getSafeAreaInsets","getSafeAreaInsets","bottom","createElement","AnimatedSheets","visible","cancel","close","size","SheetsType","half","onCancel","label","View","style","ActionSheetsContainer","backgroundColor","Bg1","minHeight","onLayout","e","nativeEvent","layout","description","Bg2","Text","descriptionText","Fragment","ScrollView","data","item","TouchableWithoutFeedback","onPress","key","concat","action","desc","getActionDescStyles","fontSize","typography","B1FontSize","cancelText","width","Bg","safeAreaStyle","defaultProps","ActionSheetsDefaultProps"],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { _ as _slicedToArray } from '../../_chunks/ZEfofTDH.js';
|
|
2
2
|
import { Image } from 'react-native';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var enabled = ((_global = global) === null || _global === void 0 ? void 0 : _global.REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED) !== false;
|
|
4
|
+
var enabled = false;
|
|
6
5
|
var FLUSH_MS = 50;
|
|
7
6
|
var pending = /* @__PURE__ */new Map();
|
|
8
7
|
var timer = null;
|
|
@@ -1 +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 =
|
|
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 = 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","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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xhsreds/reds-rn-next",
|
|
3
|
-
"version": "0.11.1-
|
|
3
|
+
"version": "0.11.1-beta202512171704",
|
|
4
4
|
"author": "贾斌(呀哈) <jiabin@xiaohongshu.com>",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"dependencies": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"react-native-svg": "13.14.0",
|
|
28
28
|
"@xhs/react-native-harmony": "*",
|
|
29
29
|
"@xhs/reds-components": "*",
|
|
30
|
-
"@xhsreds/reds-token-next": "0.11.
|
|
30
|
+
"@xhsreds/reds-token-next": "0.11.0"
|
|
31
31
|
},
|
|
32
32
|
"peerDependenciesMeta": {
|
|
33
33
|
"ozone-schema-web": {
|
|
@@ -5,7 +5,7 @@ declare const global: any;
|
|
|
5
5
|
type Resolver = (value: boolean) => void;
|
|
6
6
|
|
|
7
7
|
// Runtime switch: set global.REDS_IMAGE_QUERYCACHE_BATCHING_ENABLED = false to disable batching
|
|
8
|
-
let enabled: boolean =
|
|
8
|
+
let enabled: boolean = false;
|
|
9
9
|
let FLUSH_MS = 50;
|
|
10
10
|
|
|
11
11
|
const pending = new Map<string, Resolver[]>();
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
interface Resources {
|
|
2
2
|
componentKey: {
|
|
3
|
-
sureKey: "
|
|
4
|
-
satisfyKey: "
|
|
5
|
-
confirmKey: "
|
|
6
|
-
uploadingKey: "
|
|
3
|
+
sureKey: "确定";
|
|
4
|
+
satisfyKey: "满意";
|
|
5
|
+
confirmKey: "确认";
|
|
6
|
+
uploadingKey: "上传中";
|
|
7
7
|
resetKey: "重置";
|
|
8
|
-
NoDataKey: "
|
|
8
|
+
NoDataKey: "暂无数据";
|
|
9
9
|
liveStreamingKey: "直播";
|
|
10
10
|
generallyKey: "一般";
|
|
11
|
-
uploadFailedKey: "
|
|
11
|
+
uploadFailedKey: "上传失败";
|
|
12
12
|
submitKey: "提交";
|
|
13
|
-
requestSuccessfulKey: "
|
|
13
|
+
requestSuccessfulKey: "请求成功";
|
|
14
14
|
cancelKey: "取消";
|
|
15
|
-
PullDownToRefreshKey: "
|
|
16
|
-
selectAllKey: "
|
|
17
|
-
requestDataKey: "
|
|
15
|
+
PullDownToRefreshKey: "下拉刷新";
|
|
16
|
+
selectAllKey: "全选";
|
|
17
|
+
requestDataKey: "请求数据中";
|
|
18
18
|
closeKey: "收起";
|
|
19
|
-
veryBadKey: "
|
|
20
|
-
searchKey: "
|
|
21
|
-
expandKey: "
|
|
22
|
-
IDCardPhotoKey: "
|
|
19
|
+
veryBadKey: "极差";
|
|
20
|
+
searchKey: "搜索";
|
|
21
|
+
expandKey: "展开";
|
|
22
|
+
IDCardPhotoKey: "身份证人像面";
|
|
23
23
|
finishKey: "完成";
|
|
24
|
-
surpriseKey: "
|
|
25
|
-
releaseRefreshKey: "
|
|
24
|
+
surpriseKey: "惊喜";
|
|
25
|
+
releaseRefreshKey: "松开刷新";
|
|
26
26
|
nationalEmblemSideOfIDCardKey: "身份证国徽面";
|
|
27
|
-
buttonKey: "
|
|
28
|
-
jumpKey: "
|
|
27
|
+
buttonKey: "按钮";
|
|
28
|
+
jumpKey: "跳转";
|
|
29
29
|
disappointmentKey: "失望";
|
|
30
30
|
};
|
|
31
31
|
}
|
package/src/i18n/index.json
CHANGED
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
{
|
|
2
|
+
"zh_cn": {
|
|
3
|
+
"componentKey": {
|
|
4
|
+
"sureKey": "确定",
|
|
5
|
+
"satisfyKey": "满意",
|
|
6
|
+
"confirmKey": "确认",
|
|
7
|
+
"uploadingKey": "上传中",
|
|
8
|
+
"resetKey": "重置",
|
|
9
|
+
"NoDataKey": "暂无数据",
|
|
10
|
+
"liveStreamingKey": "直播",
|
|
11
|
+
"generallyKey": "一般",
|
|
12
|
+
"uploadFailedKey": "上传失败",
|
|
13
|
+
"submitKey": "提交",
|
|
14
|
+
"requestSuccessfulKey": "请求成功",
|
|
15
|
+
"cancelKey": "取消",
|
|
16
|
+
"PullDownToRefreshKey": "下拉刷新",
|
|
17
|
+
"selectAllKey": "全选",
|
|
18
|
+
"requestDataKey": "请求数据中",
|
|
19
|
+
"closeKey": "收起",
|
|
20
|
+
"veryBadKey": "极差",
|
|
21
|
+
"searchKey": "搜索",
|
|
22
|
+
"expandKey": "展开",
|
|
23
|
+
"IDCardPhotoKey": "身份证人像面",
|
|
24
|
+
"finishKey": "完成",
|
|
25
|
+
"surpriseKey": "惊喜",
|
|
26
|
+
"releaseRefreshKey": "松开刷新",
|
|
27
|
+
"nationalEmblemSideOfIDCardKey": "身份证国徽面",
|
|
28
|
+
"buttonKey": "按钮",
|
|
29
|
+
"jumpKey": "跳转",
|
|
30
|
+
"disappointmentKey": "失望"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
2
33
|
"zh_tw": {
|
|
3
34
|
"componentKey": {
|
|
4
35
|
"sureKey": "確定",
|
|
@@ -60,36 +91,5 @@
|
|
|
60
91
|
"jumpKey": "Jump",
|
|
61
92
|
"disappointmentKey": "Disappointment"
|
|
62
93
|
}
|
|
63
|
-
},
|
|
64
|
-
"zh_cn": {
|
|
65
|
-
"componentKey": {
|
|
66
|
-
"sureKey": "确定",
|
|
67
|
-
"satisfyKey": "满意",
|
|
68
|
-
"confirmKey": "确认",
|
|
69
|
-
"uploadingKey": "上传中",
|
|
70
|
-
"resetKey": "重置",
|
|
71
|
-
"NoDataKey": "暂无数据",
|
|
72
|
-
"liveStreamingKey": "直播",
|
|
73
|
-
"generallyKey": "一般",
|
|
74
|
-
"uploadFailedKey": "上传失败",
|
|
75
|
-
"submitKey": "提交",
|
|
76
|
-
"requestSuccessfulKey": "请求成功",
|
|
77
|
-
"cancelKey": "取消",
|
|
78
|
-
"PullDownToRefreshKey": "下拉刷新",
|
|
79
|
-
"selectAllKey": "全选",
|
|
80
|
-
"requestDataKey": "请求数据中",
|
|
81
|
-
"closeKey": "收起",
|
|
82
|
-
"veryBadKey": "极差",
|
|
83
|
-
"searchKey": "搜索",
|
|
84
|
-
"expandKey": "展开",
|
|
85
|
-
"IDCardPhotoKey": "身份证人像面",
|
|
86
|
-
"finishKey": "完成",
|
|
87
|
-
"surpriseKey": "惊喜",
|
|
88
|
-
"releaseRefreshKey": "松开刷新",
|
|
89
|
-
"nationalEmblemSideOfIDCardKey": "身份证国徽面",
|
|
90
|
-
"buttonKey": "按钮",
|
|
91
|
-
"jumpKey": "跳转",
|
|
92
|
-
"disappointmentKey": "失望"
|
|
93
|
-
}
|
|
94
94
|
}
|
|
95
95
|
}
|