@tntd/reference 1.1.2 → 1.1.4
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/es/AHref/index.js +4 -3
- package/lib/AHref/index.d.ts +1 -1
- package/lib/AHref/index.d.ts.map +1 -1
- package/lib/AHref/index.js +5 -4
- package/lib/AHref/index.js.map +1 -1
- package/package.json +1 -1
- package/src/AHref/index.js +4 -3
- package/lib/ReferenceConfigProvider.d.ts +0 -12
- package/lib/ReferenceConfigProvider.d.ts.map +0 -1
- package/lib/ReferenceConfigProvider.js +0 -121
- package/lib/ReferenceConfigProvider.js.map +0 -1
package/es/AHref/index.js
CHANGED
|
@@ -7,9 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
var _handleIcon = _interopRequireDefault(require("tntd/lib/handle-icon"));
|
|
8
8
|
var _icon = _interopRequireDefault(require("tntd/lib/icon"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _I18N = require("../I18N");
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
12
|
-
var _default = props => {
|
|
13
|
+
var _default = exports.default = (0, _I18N.WrapLocaleReceiver)(props => {
|
|
13
14
|
const {
|
|
14
15
|
record,
|
|
15
16
|
setOtherVisible,
|
|
@@ -19,6 +20,7 @@ var _default = props => {
|
|
|
19
20
|
jumpFun,
|
|
20
21
|
iframeJump,
|
|
21
22
|
Com,
|
|
23
|
+
I18N,
|
|
22
24
|
...rest
|
|
23
25
|
} = props;
|
|
24
26
|
if (setOtherVisible) {
|
|
@@ -71,5 +73,4 @@ var _default = props => {
|
|
|
71
73
|
return /*#__PURE__*/_react.default.createElement("a", _extends({
|
|
72
74
|
href: href
|
|
73
75
|
}, rest), children);
|
|
74
|
-
};
|
|
75
|
-
exports.default = _default;
|
|
76
|
+
});
|
package/lib/AHref/index.d.ts
CHANGED
package/lib/AHref/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AHref/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AHref/index.js"],"names":[],"mappings":""}
|
package/lib/AHref/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _excluded = ["record", "setOtherVisible", "children", "href", "unmountHandle", "jumpFun", "iframeJump", "Com"];
|
|
3
|
+
var _excluded = ["record", "setOtherVisible", "children", "href", "unmountHandle", "jumpFun", "iframeJump", "Com", "I18N"];
|
|
4
4
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
5
5
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -10,6 +10,7 @@ exports["default"] = void 0;
|
|
|
10
10
|
var _handleIcon = _interopRequireDefault(require("tntd/lib/handle-icon"));
|
|
11
11
|
var _icon = _interopRequireDefault(require("tntd/lib/icon"));
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
var _I18N = require("../I18N");
|
|
13
14
|
function _interopRequireDefault(e) {
|
|
14
15
|
return e && e.__esModule ? e : {
|
|
15
16
|
"default": e
|
|
@@ -24,7 +25,7 @@ function _extends() {
|
|
|
24
25
|
return n;
|
|
25
26
|
}, _extends.apply(null, arguments);
|
|
26
27
|
}
|
|
27
|
-
var _default = function
|
|
28
|
+
var _default = exports["default"] = (0, _I18N.WrapLocaleReceiver)(function (props) {
|
|
28
29
|
var record = props.record,
|
|
29
30
|
setOtherVisible = props.setOtherVisible,
|
|
30
31
|
children = props.children,
|
|
@@ -33,6 +34,7 @@ var _default = function _default(props) {
|
|
|
33
34
|
jumpFun = props.jumpFun,
|
|
34
35
|
iframeJump = props.iframeJump,
|
|
35
36
|
Com = props.Com,
|
|
37
|
+
I18N = props.I18N,
|
|
36
38
|
rest = _objectWithoutProperties(props, _excluded);
|
|
37
39
|
if (setOtherVisible) {
|
|
38
40
|
return /*#__PURE__*/_react["default"].createElement(_handleIcon["default"], {
|
|
@@ -84,5 +86,4 @@ var _default = function _default(props) {
|
|
|
84
86
|
return /*#__PURE__*/_react["default"].createElement("a", _extends({
|
|
85
87
|
href: href
|
|
86
88
|
}, rest), children);
|
|
87
|
-
};
|
|
88
|
-
exports["default"] = _default;
|
|
89
|
+
});
|
package/lib/AHref/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AHref/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,+BAAuC;AACvC,kBAAe,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AHref/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,kCAA6C;AAC7C,+BAAuC;AACvC,kBAAe,IAAA,yBAAkB,EAAC,CAAC,KAAK,EAAE,EAAE;IAC1C,MAAM,EAAE,MAAM,EAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA1G,0GAAkG,CAAQ,CAAC;IACjH,IAAG,eAAe,EAAC;QACjB,OAAO,CACL,8BAAC,iBAAU,IAAC,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,CAAC;YACzC,8BAAC,iBAAU,CAAC,IAAI,IAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS;gBACjG,8BAAC,WAAI,IAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,GAAE,EAAE;wBAChC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC,GAAS,CACI,CACP,CACd,CAAA;KAAC;IACJ,IAAI,MAAM,CAAC,cAAc,EAAE;QACzB,OAAO,CACL,qCACE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACb,GAAG,CAAC,cAAc,EAAE,CAAC;gBACrB,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;oBACtD,aAAa,EAAE,CAAC;iBACnB;gBACD,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC5B,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBAClC;gBACD,IAAG,OAAO,IAAI,OAAO,OAAO,KAAG,UAAU,EAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAM;iBACT;gBACD,MAAM,UAAU,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA,CAAC;gBAChD,IAAG,UAAU,IAAI,UAAU,EAAC;oBACxB,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;wBACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;qBACtC;yBAAM;wBACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC5B;oBACD,OAAM;iBACT;gBACD,+CAA+C;gBAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChC,WAAW;gBACX,yBAAyB;gBACzB,IAAI;YACR,CAAC,IAEA,QAAQ,CACP,CACL,CAAC;KACH;IACD,OAAO,CACL,mDAAG,IAAI,EAAE,IAAI,IAAM,IAAI,GACpB,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { WrapLocaleReceiver } from '../I18N';\nimport { HandleIcon,Icon } from 'tntd';\nexport default WrapLocaleReceiver((props) => {\n const { record,setOtherVisible, children, href, unmountHandle, jumpFun, iframeJump, Com, I18N, ...rest } = props;\n if(setOtherVisible){\n return (\n <HandleIcon className=\"custom-class\" num={2}>\n <HandleIcon.Item title={I18N.referenceinfo.index.xiangqing} desc={I18N.referenceinfo.index.xiangqing}>\n <Icon type=\"profile\" onClick={()=>{\n setOtherVisible(record);\n }}></Icon>\n </HandleIcon.Item>\n </HandleIcon>\n )}\n if (window.__isMultiTab__) {\n return (\n <a\n onClick={(evt) => {\n evt.preventDefault();\n if (unmountHandle && typeof unmountHandle === 'function') {\n unmountHandle();\n }\n let pathName = href;\n if (href && href.includes('?')) {\n pathName = href?.split('?')[0];\n }\n if(jumpFun && typeof jumpFun==='function'){\n jumpFun(href);\n return\n }\n const isInIframe = window?.self !== window?.top;\n if(iframeJump && isInIframe){\n if (pathName === window.location.pathname) {\n window.parent.location.href = href;\n } else {\n window.parent.open(href);\n }\n return\n }\n // if (pathName === window.location.pathname) {\n window.location.href = href;\n // } else {\n // window.push(href);\n // }\n }}\n >\n {children}\n </a>\n );\n }\n return (\n <a href={href} {...rest}>\n {children}\n </a>\n );\n});\n"]}
|
package/package.json
CHANGED
package/src/AHref/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { WrapLocaleReceiver } from '../I18N';
|
|
2
3
|
import { HandleIcon,Icon } from 'tntd';
|
|
3
|
-
export default (props) => {
|
|
4
|
-
const { record,setOtherVisible, children, href, unmountHandle, jumpFun, iframeJump, Com
|
|
4
|
+
export default WrapLocaleReceiver((props) => {
|
|
5
|
+
const { record,setOtherVisible, children, href, unmountHandle, jumpFun, iframeJump, Com, I18N, ...rest } = props;
|
|
5
6
|
if(setOtherVisible){
|
|
6
7
|
return (
|
|
7
8
|
<HandleIcon className="custom-class" num={2}>
|
|
@@ -53,4 +54,4 @@ export default (props) => {
|
|
|
53
54
|
{children}
|
|
54
55
|
</a>
|
|
55
56
|
);
|
|
56
|
-
};
|
|
57
|
+
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export function ReferenceConfigProvider({ children, locale }: {
|
|
2
|
-
children: any;
|
|
3
|
-
locale: any;
|
|
4
|
-
}): React.JSX.Element;
|
|
5
|
-
export function useReferenceConfig(): null;
|
|
6
|
-
export function useI18N(): any;
|
|
7
|
-
export function configReference(config: {
|
|
8
|
-
locale: Object | Function;
|
|
9
|
-
}): void;
|
|
10
|
-
export default ReferenceConfigProvider;
|
|
11
|
-
import React from "react";
|
|
12
|
-
//# sourceMappingURL=ReferenceConfigProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceConfigProvider.d.ts","sourceRoot":"","sources":["../src/ReferenceConfigProvider.js"],"names":[],"mappings":"AAUO;;;sBAYN;AAKM,2CAEN;AAMM,+BAMN;AAqCM;IAhC4B,MAAM,EAA9B,MAAM,WAAS;SAwCzB"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(o) {
|
|
4
|
-
"@babel/helpers - typeof";
|
|
5
|
-
|
|
6
|
-
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
7
|
-
return typeof o;
|
|
8
|
-
} : function (o) {
|
|
9
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
10
|
-
}, _typeof(o);
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(exports, "__esModule", {
|
|
13
|
-
value: true
|
|
14
|
-
});
|
|
15
|
-
exports.useReferenceConfig = exports.useI18N = exports["default"] = exports.configReference = exports.ReferenceConfigProvider = void 0;
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
var _I18N = require("./I18N");
|
|
18
|
-
function _getRequireWildcardCache(e) {
|
|
19
|
-
if ("function" != typeof WeakMap) return null;
|
|
20
|
-
var r = new WeakMap(),
|
|
21
|
-
t = new WeakMap();
|
|
22
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
23
|
-
return e ? t : r;
|
|
24
|
-
})(e);
|
|
25
|
-
}
|
|
26
|
-
function _interopRequireWildcard(e, r) {
|
|
27
|
-
if (!r && e && e.__esModule) return e;
|
|
28
|
-
if (null === e || "object" != _typeof(e) && "function" != typeof e) return {
|
|
29
|
-
"default": e
|
|
30
|
-
};
|
|
31
|
-
var t = _getRequireWildcardCache(r);
|
|
32
|
-
if (t && t.has(e)) return t.get(e);
|
|
33
|
-
var n = {
|
|
34
|
-
__proto__: null
|
|
35
|
-
},
|
|
36
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
37
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
38
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
39
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
40
|
-
}
|
|
41
|
-
return n["default"] = e, t && t.set(e, n), n;
|
|
42
|
-
}
|
|
43
|
-
// 创建 Context
|
|
44
|
-
var ReferenceConfigContext = (0, _react.createContext)(null);
|
|
45
|
-
/**
|
|
46
|
-
* Reference 全局配置 Provider
|
|
47
|
-
* 用于在应用入口处统一配置国际化等全局配置
|
|
48
|
-
*/
|
|
49
|
-
var ReferenceConfigProvider = exports.ReferenceConfigProvider = function ReferenceConfigProvider(_ref) {
|
|
50
|
-
var children = _ref.children,
|
|
51
|
-
locale = _ref.locale;
|
|
52
|
-
var config = (0, _react.useMemo)(function () {
|
|
53
|
-
return {
|
|
54
|
-
locale: locale
|
|
55
|
-
};
|
|
56
|
-
}, [locale]);
|
|
57
|
-
return _react["default"].createElement(ReferenceConfigContext.Provider, {
|
|
58
|
-
value: config
|
|
59
|
-
}, children);
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* 获取 Reference 全局配置的 Hook
|
|
63
|
-
*/
|
|
64
|
-
var useReferenceConfig = exports.useReferenceConfig = function useReferenceConfig() {
|
|
65
|
-
return (0, _react.useContext)(ReferenceConfigContext);
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* 获取国际化实例的 Hook
|
|
69
|
-
* 优先使用 Context 中的配置,其次使用全局配置,最后使用默认配置
|
|
70
|
-
*/
|
|
71
|
-
var useI18N = exports.useI18N = function useI18N() {
|
|
72
|
-
var config = useReferenceConfig();
|
|
73
|
-
return (0, _react.useMemo)(function () {
|
|
74
|
-
return (0, _I18N.createI18N)(config === null || config === void 0 ? void 0 : config.locale);
|
|
75
|
-
}, [config]);
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* 全局配置方法(不使用 Provider 的情况下)
|
|
79
|
-
* @param {Object} config - 配置对象
|
|
80
|
-
* @param {Object|Function} config.locale - 自定义国际化配置
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* // 在应用入口调用
|
|
84
|
-
* import { configReference } from '@tntd/reference';
|
|
85
|
-
*
|
|
86
|
-
* configReference({
|
|
87
|
-
* locale: {
|
|
88
|
-
* cn: {
|
|
89
|
-
* referencedrawer: {
|
|
90
|
-
* index: {
|
|
91
|
-
* chaXunYinYongGuan: '自定义文案'
|
|
92
|
-
* }
|
|
93
|
-
* }
|
|
94
|
-
* }
|
|
95
|
-
* }
|
|
96
|
-
* });
|
|
97
|
-
*
|
|
98
|
-
* // 或者使用函数形式,可以访问默认语言包
|
|
99
|
-
* configReference({
|
|
100
|
-
* locale: (defaultLocale) => ({
|
|
101
|
-
* cn: {
|
|
102
|
-
* ...defaultLocale.cn,
|
|
103
|
-
* referencedrawer: {
|
|
104
|
-
* index: {
|
|
105
|
-
* chaXunYinYongGuan: '自定义文案'
|
|
106
|
-
* }
|
|
107
|
-
* }
|
|
108
|
-
* }
|
|
109
|
-
* })
|
|
110
|
-
* });
|
|
111
|
-
*/
|
|
112
|
-
var configReference = exports.configReference = function configReference(config) {
|
|
113
|
-
if (config.locale) {
|
|
114
|
-
if (typeof window !== 'undefined') {
|
|
115
|
-
window.__REFERENCE_LOCALE__ = config.locale;
|
|
116
|
-
} else if (typeof global !== 'undefined') {
|
|
117
|
-
global.__REFERENCE_LOCALE__ = config.locale;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
var _default = exports["default"] = ReferenceConfigProvider;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceConfigProvider.js","sourceRoot":"","sources":["../src/ReferenceConfigProvider.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAkE;AAClE,iCAA6C;AAE7C,aAAa;AACb,MAAM,sBAAsB,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;AAEnD;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC1B,OAAO;YACL,MAAM;SACP,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,8BAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,IAC3C,QAAQ,CACuB,CACnC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AAEF;;GAEG;AACI,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,IAAA,kBAAU,EAAC,sBAAsB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEF;;;GAGG;AACI,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAEpC,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,OAAO,IAAA,iBAAU,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC,CAAC;AANW,QAAA,OAAO,WAMlB;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACI,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE;IACxC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;SAC7C;aAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACxC,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;SAC7C;KACF;AACH,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AAEF,kBAAe,+BAAuB,CAAC","sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\nimport { createI18N, getLang } from './I18N';\n\n// 创建 Context\nconst ReferenceConfigContext = createContext(null);\n\n/**\n * Reference 全局配置 Provider\n * 用于在应用入口处统一配置国际化等全局配置\n */\nexport const ReferenceConfigProvider = ({ children, locale }) => {\n const config = useMemo(() => {\n return {\n locale,\n };\n }, [locale]);\n\n return (\n <ReferenceConfigContext.Provider value={config}>\n {children}\n </ReferenceConfigContext.Provider>\n );\n};\n\n/**\n * 获取 Reference 全局配置的 Hook\n */\nexport const useReferenceConfig = () => {\n return useContext(ReferenceConfigContext);\n};\n\n/**\n * 获取国际化实例的 Hook\n * 优先使用 Context 中的配置,其次使用全局配置,最后使用默认配置\n */\nexport const useI18N = () => {\n const config = useReferenceConfig();\n\n return useMemo(() => {\n return createI18N(config?.locale);\n }, [config]);\n};\n\n/**\n * 全局配置方法(不使用 Provider 的情况下)\n * @param {Object} config - 配置对象\n * @param {Object|Function} config.locale - 自定义国际化配置\n *\n * @example\n * // 在应用入口调用\n * import { configReference } from '@tntd/reference';\n *\n * configReference({\n * locale: {\n * cn: {\n * referencedrawer: {\n * index: {\n * chaXunYinYongGuan: '自定义文案'\n * }\n * }\n * }\n * }\n * });\n *\n * // 或者使用函数形式,可以访问默认语言包\n * configReference({\n * locale: (defaultLocale) => ({\n * cn: {\n * ...defaultLocale.cn,\n * referencedrawer: {\n * index: {\n * chaXunYinYongGuan: '自定义文案'\n * }\n * }\n * }\n * })\n * });\n */\nexport const configReference = (config) => {\n if (config.locale) {\n if (typeof window !== 'undefined') {\n window.__REFERENCE_LOCALE__ = config.locale;\n } else if (typeof global !== 'undefined') {\n global.__REFERENCE_LOCALE__ = config.locale;\n }\n }\n};\n\nexport default ReferenceConfigProvider;\n"]}
|