xmirror-components 1.0.30-alpha.8 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +1129 -11
  2. package/build/dist/index.cjs +36 -36
  3. package/build/dist/index.mjs +1914 -1884
  4. package/build/es/components/ConfigProvider/index.js +11 -14
  5. package/build/es/components/ConfigProvider/types.d.ts +2 -0
  6. package/build/es/components/IntlProvider/FormattedMessage/index.d.ts +7 -0
  7. package/build/es/components/IntlProvider/FormattedMessage/index.js +8 -0
  8. package/build/es/components/IntlProvider/index.d.ts +12 -0
  9. package/build/es/components/IntlProvider/index.js +17 -0
  10. package/build/es/components/IntlProvider/types.d.ts +7 -0
  11. package/build/es/components/IntlProvider/types.js +1 -0
  12. package/build/es/components/IntlProvider/useIntl/index.d.ts +14 -0
  13. package/build/es/components/IntlProvider/useIntl/index.js +26 -0
  14. package/build/es/components/SearchArea/ToggleButton/index.js +2 -1
  15. package/build/es/components/SearchArea/index.js +6 -3
  16. package/build/es/components/Table/Footer/index.d.ts +1 -1
  17. package/build/es/components/Table/Footer/index.js +1 -1
  18. package/build/es/components/Table/PopoverSetColumns/index.js +1 -1
  19. package/build/es/hooks/useTable/index.js +1 -1
  20. package/build/es/locale/en-us.d.ts +25 -0
  21. package/build/es/locale/en-us.js +27 -0
  22. package/build/es/locale/index.d.ts +3 -0
  23. package/build/es/locale/index.js +7 -0
  24. package/build/es/locale/types.d.ts +9 -0
  25. package/build/es/locale/types.js +1 -0
  26. package/build/es/locale/zh-cn.d.ts +25 -0
  27. package/build/es/locale/zh-cn.js +28 -0
  28. package/build/lib/components/ConfigProvider/index.js +11 -14
  29. package/build/lib/components/IntlProvider/FormattedMessage/index.js +11 -0
  30. package/build/lib/components/IntlProvider/index.js +25 -0
  31. package/build/lib/components/IntlProvider/types.js +2 -0
  32. package/build/lib/components/IntlProvider/useIntl/index.js +31 -0
  33. package/build/lib/components/SearchArea/ToggleButton/index.js +2 -1
  34. package/build/lib/components/SearchArea/index.js +6 -3
  35. package/build/lib/components/Table/Footer/index.js +2 -2
  36. package/build/lib/components/Table/PopoverSetColumns/index.js +2 -2
  37. package/build/lib/hooks/useTable/index.js +2 -2
  38. package/build/lib/index.d.ts +3 -0
  39. package/build/lib/locale/en-us.d.ts +25 -0
  40. package/build/lib/locale/en-us.js +29 -0
  41. package/build/lib/locale/index.d.ts +3 -0
  42. package/build/lib/locale/index.js +13 -0
  43. package/build/lib/locale/types.d.ts +9 -0
  44. package/build/lib/locale/types.js +2 -0
  45. package/build/lib/locale/zh-cn.d.ts +25 -0
  46. package/build/lib/locale/zh-cn.js +30 -0
  47. package/build/package.json +1 -1
  48. package/build/types/components/ConfigProvider/types.d.ts +2 -0
  49. package/build/types/components/IntlProvider/FormattedMessage/index.d.ts +7 -0
  50. package/build/types/components/IntlProvider/index.d.ts +12 -0
  51. package/build/types/components/IntlProvider/types.d.ts +7 -0
  52. package/build/types/components/IntlProvider/useIntl/index.d.ts +14 -0
  53. package/build/types/components/Table/Footer/index.d.ts +1 -1
  54. package/build/types/locale/en-us.d.ts +25 -0
  55. package/build/types/locale/index.d.ts +3 -0
  56. package/build/types/locale/types.d.ts +9 -0
  57. package/build/types/locale/zh-cn.d.ts +25 -0
  58. package/package.json +1 -1
@@ -9,18 +9,9 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
12
  import React from 'react';
13
+ import IntlProvider from '../IntlProvider';
14
+ import { messages } from '../../locale';
24
15
  // 递归合并函数
25
16
  function deepMerge(target, source) {
26
17
  var result = __assign({}, target);
@@ -40,14 +31,20 @@ var baseConfig = {
40
31
  iconButton: {
41
32
  size: 'small',
42
33
  render: function (_a) {
43
- var children = _a.children, params = __rest(_a, ["children"]);
34
+ var children = _a.children;
44
35
  return children;
45
36
  }
46
37
  },
47
- iconFont: {}
38
+ iconFont: {},
39
+ locale: 'zh'
48
40
  };
49
41
  export var ConfigContext = React.createContext(baseConfig);
50
42
  export default function ConfigProvider(_a) {
51
43
  var children = _a.children, config = _a.config;
52
- return (React.createElement(ConfigContext.Provider, { value: deepMerge(baseConfig, config) }, children));
44
+ var mergeConfig = deepMerge(baseConfig, config);
45
+ return (React.createElement(ConfigContext.Provider, { value: mergeConfig },
46
+ React.createElement(IntlProvider, { config: {
47
+ locale: config.locale,
48
+ messages: messages
49
+ } }, children)));
53
50
  }
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { IconButtonProps } from "../IconButton";
3
3
  import { IconFontProps } from "../IconFont";
4
+ import { type MessagesKeys } from "../../locale";
4
5
  type IconButtonConfig = Pick<IconButtonProps, 'size' | 'className' | 'style'> & {
5
6
  render: (props: IconButtonProps & {
6
7
  children: React.ReactNode;
@@ -10,6 +11,7 @@ type IconFontConfig = Pick<IconFontProps, 'className' | 'style'>;
10
11
  export interface ConfigContextProps {
11
12
  iconButton: IconButtonConfig;
12
13
  iconFont: IconFontConfig;
14
+ locale: MessagesKeys;
13
15
  }
14
16
  export type ConfigProviderConfigProps = Partial<ConfigContextProps>;
15
17
  export {};
@@ -0,0 +1,7 @@
1
+ interface FormattedMessageProps {
2
+ id: string;
3
+ defaultMessage?: string;
4
+ values?: Record<string, any>;
5
+ }
6
+ export default function FormattedMessage({ id, defaultMessage, values }: FormattedMessageProps): any;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import { useContext } from 'react';
2
+ import { IntlContext } from '../index';
3
+ import { formatMessageFn } from '../useIntl';
4
+ export default function FormattedMessage(_a) {
5
+ var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
6
+ var _b = useContext(IntlContext), messages = _b.messages, locale = _b.locale;
7
+ return formatMessageFn({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
8
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IntlContextProps, IntlProviderConfigProps } from './types';
3
+ export type { IntlProviderConfigProps, IntlContextProps } from './types';
4
+ import FormattedMessage from './FormattedMessage';
5
+ import useIntl from './useIntl';
6
+ export declare const IntlContext: React.Context<IntlContextProps>;
7
+ interface IntlProviderProps {
8
+ children: React.ReactNode;
9
+ config: IntlProviderConfigProps;
10
+ }
11
+ export default function IntlProvider({ children, config }: IntlProviderProps): React.JSX.Element;
12
+ export { FormattedMessage, useIntl };
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { messages } from '../../locale';
3
+ import FormattedMessage from './FormattedMessage';
4
+ import useIntl from './useIntl';
5
+ var baseConfig = {
6
+ locale: 'zh',
7
+ messages: messages
8
+ };
9
+ export var IntlContext = React.createContext(baseConfig);
10
+ export default function IntlProvider(_a) {
11
+ var children = _a.children, config = _a.config;
12
+ return (React.createElement(IntlContext.Provider, { value: {
13
+ locale: config.locale,
14
+ messages: messages
15
+ } }, children));
16
+ }
17
+ export { FormattedMessage, useIntl };
@@ -0,0 +1,7 @@
1
+ import { type MessagesKeys } from "../../locale";
2
+ import { Messages } from "../../locale/types";
3
+ export interface IntlContextProps {
4
+ locale: MessagesKeys;
5
+ messages: Messages;
6
+ }
7
+ export type IntlProviderConfigProps = Partial<IntlContextProps>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ interface FormattedMessageProps {
2
+ id: string;
3
+ defaultMessage?: string;
4
+ values?: Record<string, any>;
5
+ }
6
+ export declare const formatMessageFn: ({ messages, locale }: {
7
+ messages: any;
8
+ locale: string;
9
+ }) => ({ id, defaultMessage, values }: FormattedMessageProps) => any;
10
+ export default function useIntl(): {
11
+ $t: ({ id, defaultMessage }: FormattedMessageProps, values?: Record<string, any>) => any;
12
+ formatMessage: ({ id, defaultMessage, values }: FormattedMessageProps) => any;
13
+ };
14
+ export {};
@@ -0,0 +1,26 @@
1
+ import { useContext } from 'react';
2
+ import { IntlContext } from '../index';
3
+ export var formatMessageFn = function (_a) {
4
+ var messages = _a.messages, locale = _a.locale;
5
+ return function (_a) {
6
+ var _b;
7
+ var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
8
+ var message = ((_b = messages === null || messages === void 0 ? void 0 : messages[locale]) === null || _b === void 0 ? void 0 : _b[id]) || defaultMessage;
9
+ if (typeof values === 'object') {
10
+ Object.keys(values).forEach(function (key) {
11
+ message = message.replace("{".concat(key, "}"), values[key]);
12
+ });
13
+ }
14
+ return message;
15
+ };
16
+ };
17
+ export default function useIntl() {
18
+ var _a = useContext(IntlContext), messages = _a.messages, locale = _a.locale;
19
+ return {
20
+ $t: function (_a, values) {
21
+ var id = _a.id, defaultMessage = _a.defaultMessage;
22
+ return formatMessageFn({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
23
+ },
24
+ formatMessage: formatMessageFn({ messages: messages, locale: locale })
25
+ };
26
+ }
@@ -6,6 +6,7 @@ import React, { useCallback, useMemo } from 'react';
6
6
  import { Button } from 'antd';
7
7
  import { CaretUpOutlined } from '@ant-design/icons';
8
8
  import styled from '@emotion/styled';
9
+ import { FormattedMessage } from '../../IntlProvider';
9
10
  var AnimatedIcon = styled(CaretUpOutlined, {
10
11
  shouldForwardProp: function (prop) { return prop !== 'show'; },
11
12
  })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"], ["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"])), function (props) { return props.show ? '0deg' : '180deg'; });
@@ -24,7 +25,7 @@ function ToggleButton(_a) {
24
25
  onChange === null || onChange === void 0 ? void 0 : onChange(!(panel === null || panel === void 0 ? void 0 : panel.show));
25
26
  }, [panel]);
26
27
  return (React.createElement(Button, { type: "link", style: { paddingLeft: 0, paddingRight: 0 }, onClick: toggle },
27
- "\u9AD8\u7EA7\u641C\u7D22",
28
+ React.createElement(FormattedMessage, { id: "comgponent.searcharea.togle", defaultMessage: '高级搜索' }),
28
29
  React.createElement(AnimatedIcon, { show: show })));
29
30
  }
30
31
  export default ToggleButton;
@@ -30,6 +30,7 @@ import { UpOutlined } from '@ant-design/icons';
30
30
  import styled from '@emotion/styled';
31
31
  import Item from './Item';
32
32
  import ToggleButton from './ToggleButton';
33
+ import { FormattedMessage } from '../IntlProvider';
33
34
  var AnimatedContainer = styled('div', {
34
35
  shouldForwardProp: function (prop) { return prop !== 'show'; },
35
36
  })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"], ["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"])), function (props) { return props.show ? '450px' : '0'; });
@@ -106,13 +107,15 @@ function InternalSearchArea(_a) {
106
107
  : children,
107
108
  React.createElement(Col, { flex: 1 },
108
109
  React.createElement(SearchAreaHandle, null,
109
- React.createElement(Button, { loading: loading, type: "primary", onClick: submit }, "\u7B5B\u9009"),
110
- React.createElement(Button, { loading: loading, onClick: reset }, "\u91CD\u7F6E"),
110
+ React.createElement(Button, { loading: loading, type: "primary", onClick: submit },
111
+ React.createElement(FormattedMessage, { id: "component.searcharea.submit", defaultMessage: '筛选' })),
112
+ React.createElement(Button, { loading: loading, onClick: reset },
113
+ React.createElement(FormattedMessage, { id: "component.searcharea.reset", defaultMessage: '重置' })),
111
114
  React.createElement(Button, { type: "link", style: {
112
115
  paddingLeft: 0,
113
116
  paddingRight: 0
114
117
  }, onClick: close },
115
- "\u6536\u8D77",
118
+ React.createElement(FormattedMessage, { id: "component.searcharea.close", defaultMessage: '收起' }),
116
119
  React.createElement(UpOutlined, null))))))));
117
120
  }
118
121
  var SearchArea = InternalSearchArea;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import type { TableComponentProps } from '../types.ts';
2
+ import type { TableComponentProps } from '../types';
3
3
  declare function Index(props: TableComponentProps): React.JSX.Element;
4
4
  export default Index;
@@ -1,5 +1,5 @@
1
1
  import React, { useMemo, useRef } from 'react';
2
- import { FormattedMessage } from 'react-intl';
2
+ import { FormattedMessage } from '../../IntlProvider';
3
3
  import { Checkbox, Col } from 'antd';
4
4
  import { CSSTransition } from 'react-transition-group';
5
5
  import { CloseOutlined } from '@ant-design/icons';
@@ -9,7 +9,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9
9
  };
10
10
  import React, { useMemo, useRef } from 'react';
11
11
  import { Checkbox, Popover } from 'antd';
12
- import { FormattedMessage } from 'react-intl';
12
+ import { FormattedMessage } from '../../IntlProvider';
13
13
  import { HolderOutlined } from '@ant-design/icons';
14
14
  // import { message, IconFont } from 'xmirror-components'
15
15
  import { message } from '../../AntdApp';
@@ -55,7 +55,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
55
  return to.concat(ar || Array.prototype.slice.call(from));
56
56
  };
57
57
  import { useEffect, useRef, useState, useCallback } from 'react';
58
- import { useIntl } from 'react-intl';
58
+ import { useIntl } from '../../components/IntlProvider';
59
59
  import { useMemoizedFn } from 'ahooks';
60
60
  import { message } from '../../components/AntdApp';
61
61
  var ORDER_MAP = {
@@ -0,0 +1,25 @@
1
+ declare const messages: {
2
+ 'operation.add': string;
3
+ 'operation.delete': string;
4
+ 'operation.batchDelete': string;
5
+ 'operation.edit': string;
6
+ 'operation.download': string;
7
+ 'operation.logout': string;
8
+ 'operation.export': string;
9
+ 'operation.close': string;
10
+ 'operation.details': string;
11
+ 'operation.confirm': string;
12
+ 'operation.save': string;
13
+ 'operation.cancel': string;
14
+ 'component.table.selected': string;
15
+ 'component.table.total': string;
16
+ 'component.table.visibleError': string;
17
+ 'component.searcharea.toggle': string;
18
+ 'component.searcharea.submit': string;
19
+ 'component.searcharea.reset': string;
20
+ 'component.searcharea.close': string;
21
+ 'message.delete': string;
22
+ 'message.success': string;
23
+ 'table.pagination.total': string;
24
+ };
25
+ export default messages;
@@ -0,0 +1,27 @@
1
+ var messages = {
2
+ 'operation.add': 'Add',
3
+ 'operation.delete': 'Delete',
4
+ 'operation.batchDelete': 'Batch Delete',
5
+ 'operation.edit': 'Edit',
6
+ 'operation.download': 'Download',
7
+ 'operation.logout': 'Logout',
8
+ 'operation.export': 'Export',
9
+ 'operation.close': 'Close',
10
+ 'operation.details': 'Details',
11
+ 'operation.confirm': 'Confirm',
12
+ 'operation.save': 'Save',
13
+ 'operation.cancel': 'Cancel',
14
+ // Components
15
+ 'component.table.selected': '{length} selected',
16
+ 'component.table.total': 'Total {total} items',
17
+ 'component.table.visibleError': 'At least one field must be visible',
18
+ 'component.searcharea.toggle': 'Advanced Search',
19
+ 'component.searcharea.submit': 'Submit',
20
+ 'component.searcharea.reset': 'Reset',
21
+ 'component.searcharea.close': 'Close',
22
+ // Messages
23
+ 'message.delete': 'This action cannot be undone, confirm delete?',
24
+ 'message.success': 'Operation successful',
25
+ 'table.pagination.total': 'Total {total} items',
26
+ };
27
+ export default messages;
@@ -0,0 +1,3 @@
1
+ import { type Messages, type MessagesKeys } from './types';
2
+ declare const messages: Messages;
3
+ export { messages, type MessagesKeys };
@@ -0,0 +1,7 @@
1
+ import zhCN from './zh-cn';
2
+ import enUS from './en-us';
3
+ var messages = {
4
+ zh: zhCN,
5
+ en: enUS
6
+ };
7
+ export { messages };
@@ -0,0 +1,9 @@
1
+ import type zhCN from './zh-cn';
2
+ type MessageIds = {
3
+ [K in keyof typeof zhCN]: string;
4
+ };
5
+ export type MessagesKeys = 'zh' | 'en';
6
+ export type Messages = {
7
+ [K in MessagesKeys]: MessageIds;
8
+ };
9
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ declare const messages: {
2
+ 'operation.add': string;
3
+ 'operation.delete': string;
4
+ 'operation.batchDelete': string;
5
+ 'operation.edit': string;
6
+ 'operation.download': string;
7
+ 'operation.logout': string;
8
+ 'operation.export': string;
9
+ 'operation.close': string;
10
+ 'operation.details': string;
11
+ 'operation.confirm': string;
12
+ 'operation.save': string;
13
+ 'operation.cancel': string;
14
+ 'component.table.selected': string;
15
+ 'component.table.total': string;
16
+ 'component.table.visibleError': string;
17
+ 'component.searcharea.toggle': string;
18
+ 'component.searcharea.submit': string;
19
+ 'component.searcharea.reset': string;
20
+ 'component.searcharea.close': string;
21
+ 'message.delete': string;
22
+ 'message.success': string;
23
+ 'table.pagination.total': string;
24
+ };
25
+ export default messages;
@@ -0,0 +1,28 @@
1
+ var messages = {
2
+ // 操作类
3
+ 'operation.add': '添加',
4
+ 'operation.delete': '删除',
5
+ 'operation.batchDelete': '批量删除',
6
+ 'operation.edit': '编辑',
7
+ 'operation.download': '下载',
8
+ 'operation.logout': '退出登录',
9
+ 'operation.export': '导出',
10
+ 'operation.close': '关闭',
11
+ 'operation.details': '详情',
12
+ 'operation.confirm': '确认',
13
+ 'operation.save': '保存',
14
+ 'operation.cancel': '取消',
15
+ // 组件
16
+ 'component.table.selected': '已选{length}条',
17
+ 'component.table.total': '共{total}条',
18
+ 'component.table.visibleError': '列表最少保留一个字段',
19
+ 'component.searcharea.toggle': '高级搜索',
20
+ 'component.searcharea.submit': '筛选',
21
+ 'component.searcharea.reset': '重置',
22
+ 'component.searcharea.close': '收起',
23
+ // 提示类
24
+ 'message.delete': '删除操作无法恢复,确认删除?',
25
+ 'message.success': '操作成功',
26
+ 'table.pagination.total': '共{total}条',
27
+ };
28
+ export default messages;
@@ -10,17 +10,6 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
25
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
15
  };
@@ -28,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
28
17
  exports.ConfigContext = void 0;
29
18
  exports.default = ConfigProvider;
30
19
  var react_1 = __importDefault(require("react"));
20
+ var IntlProvider_1 = __importDefault(require("../IntlProvider"));
21
+ var locale_1 = require("../../locale");
31
22
  // 递归合并函数
32
23
  function deepMerge(target, source) {
33
24
  var result = __assign({}, target);
@@ -47,14 +38,20 @@ var baseConfig = {
47
38
  iconButton: {
48
39
  size: 'small',
49
40
  render: function (_a) {
50
- var children = _a.children, params = __rest(_a, ["children"]);
41
+ var children = _a.children;
51
42
  return children;
52
43
  }
53
44
  },
54
- iconFont: {}
45
+ iconFont: {},
46
+ locale: 'zh'
55
47
  };
56
48
  exports.ConfigContext = react_1.default.createContext(baseConfig);
57
49
  function ConfigProvider(_a) {
58
50
  var children = _a.children, config = _a.config;
59
- return (react_1.default.createElement(exports.ConfigContext.Provider, { value: deepMerge(baseConfig, config) }, children));
51
+ var mergeConfig = deepMerge(baseConfig, config);
52
+ return (react_1.default.createElement(exports.ConfigContext.Provider, { value: mergeConfig },
53
+ react_1.default.createElement(IntlProvider_1.default, { config: {
54
+ locale: config.locale,
55
+ messages: locale_1.messages
56
+ } }, children)));
60
57
  }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = FormattedMessage;
4
+ var react_1 = require("react");
5
+ var index_1 = require("../index");
6
+ var useIntl_1 = require("../useIntl");
7
+ function FormattedMessage(_a) {
8
+ var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
9
+ var _b = (0, react_1.useContext)(index_1.IntlContext), messages = _b.messages, locale = _b.locale;
10
+ return (0, useIntl_1.formatMessageFn)({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
11
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useIntl = exports.FormattedMessage = exports.IntlContext = void 0;
7
+ exports.default = IntlProvider;
8
+ var react_1 = __importDefault(require("react"));
9
+ var locale_1 = require("../../locale");
10
+ var FormattedMessage_1 = __importDefault(require("./FormattedMessage"));
11
+ exports.FormattedMessage = FormattedMessage_1.default;
12
+ var useIntl_1 = __importDefault(require("./useIntl"));
13
+ exports.useIntl = useIntl_1.default;
14
+ var baseConfig = {
15
+ locale: 'zh',
16
+ messages: locale_1.messages
17
+ };
18
+ exports.IntlContext = react_1.default.createContext(baseConfig);
19
+ function IntlProvider(_a) {
20
+ var children = _a.children, config = _a.config;
21
+ return (react_1.default.createElement(exports.IntlContext.Provider, { value: {
22
+ locale: config.locale,
23
+ messages: locale_1.messages
24
+ } }, children));
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatMessageFn = void 0;
4
+ exports.default = useIntl;
5
+ var react_1 = require("react");
6
+ var index_1 = require("../index");
7
+ var formatMessageFn = function (_a) {
8
+ var messages = _a.messages, locale = _a.locale;
9
+ return function (_a) {
10
+ var _b;
11
+ var id = _a.id, defaultMessage = _a.defaultMessage, values = _a.values;
12
+ var message = ((_b = messages === null || messages === void 0 ? void 0 : messages[locale]) === null || _b === void 0 ? void 0 : _b[id]) || defaultMessage;
13
+ if (typeof values === 'object') {
14
+ Object.keys(values).forEach(function (key) {
15
+ message = message.replace("{".concat(key, "}"), values[key]);
16
+ });
17
+ }
18
+ return message;
19
+ };
20
+ };
21
+ exports.formatMessageFn = formatMessageFn;
22
+ function useIntl() {
23
+ var _a = (0, react_1.useContext)(index_1.IntlContext), messages = _a.messages, locale = _a.locale;
24
+ return {
25
+ $t: function (_a, values) {
26
+ var id = _a.id, defaultMessage = _a.defaultMessage;
27
+ return (0, exports.formatMessageFn)({ messages: messages, locale: locale })({ id: id, defaultMessage: defaultMessage, values: values });
28
+ },
29
+ formatMessage: (0, exports.formatMessageFn)({ messages: messages, locale: locale })
30
+ };
31
+ }
@@ -44,6 +44,7 @@ var react_1 = __importStar(require("react"));
44
44
  var antd_1 = require("antd");
45
45
  var icons_1 = require("@ant-design/icons");
46
46
  var styled_1 = __importDefault(require("@emotion/styled"));
47
+ var IntlProvider_1 = require("../../IntlProvider");
47
48
  var AnimatedIcon = (0, styled_1.default)(icons_1.CaretUpOutlined, {
48
49
  shouldForwardProp: function (prop) { return prop !== 'show'; },
49
50
  })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"], ["\n transition: transform 0.3s ease-in-out;\n transform: rotate(", ");\n"])), function (props) { return props.show ? '0deg' : '180deg'; });
@@ -62,7 +63,7 @@ function ToggleButton(_a) {
62
63
  onChange === null || onChange === void 0 ? void 0 : onChange(!(panel === null || panel === void 0 ? void 0 : panel.show));
63
64
  }, [panel]);
64
65
  return (react_1.default.createElement(antd_1.Button, { type: "link", style: { paddingLeft: 0, paddingRight: 0 }, onClick: toggle },
65
- "\u9AD8\u7EA7\u641C\u7D22",
66
+ react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "comgponent.searcharea.togle", defaultMessage: '高级搜索' }),
66
67
  react_1.default.createElement(AnimatedIcon, { show: show })));
67
68
  }
68
69
  exports.default = ToggleButton;
@@ -68,6 +68,7 @@ var icons_1 = require("@ant-design/icons");
68
68
  var styled_1 = __importDefault(require("@emotion/styled"));
69
69
  var Item_1 = __importDefault(require("./Item"));
70
70
  var ToggleButton_1 = __importDefault(require("./ToggleButton"));
71
+ var IntlProvider_1 = require("../IntlProvider");
71
72
  var AnimatedContainer = (0, styled_1.default)('div', {
72
73
  shouldForwardProp: function (prop) { return prop !== 'show'; },
73
74
  })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"], ["\n overflow: hidden;\n transition: max-height 0.4s ease-in-out;\n max-height: ", ";\n"])), function (props) { return props.show ? '450px' : '0'; });
@@ -144,13 +145,15 @@ function InternalSearchArea(_a) {
144
145
  : children,
145
146
  react_1.default.createElement(antd_1.Col, { flex: 1 },
146
147
  react_1.default.createElement(SearchAreaHandle, null,
147
- react_1.default.createElement(antd_1.Button, { loading: loading, type: "primary", onClick: submit }, "\u7B5B\u9009"),
148
- react_1.default.createElement(antd_1.Button, { loading: loading, onClick: reset }, "\u91CD\u7F6E"),
148
+ react_1.default.createElement(antd_1.Button, { loading: loading, type: "primary", onClick: submit },
149
+ react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.submit", defaultMessage: '筛选' })),
150
+ react_1.default.createElement(antd_1.Button, { loading: loading, onClick: reset },
151
+ react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.reset", defaultMessage: '重置' })),
149
152
  react_1.default.createElement(antd_1.Button, { type: "link", style: {
150
153
  paddingLeft: 0,
151
154
  paddingRight: 0
152
155
  }, onClick: close },
153
- "\u6536\u8D77",
156
+ react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.searcharea.close", defaultMessage: '收起' }),
154
157
  react_1.default.createElement(icons_1.UpOutlined, null))))))));
155
158
  }
156
159
  var SearchArea = InternalSearchArea;
@@ -34,7 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  var react_1 = __importStar(require("react"));
37
- var react_intl_1 = require("react-intl");
37
+ var IntlProvider_1 = require("../../IntlProvider");
38
38
  var antd_1 = require("antd");
39
39
  var react_transition_group_1 = require("react-transition-group");
40
40
  var icons_1 = require("@ant-design/icons");
@@ -111,7 +111,7 @@ function Index(props) {
111
111
  return (react_1.default.createElement(styles_1.StyledRow, { ref: transitionNodeRef, justify: "space-between" },
112
112
  react_1.default.createElement(antd_1.Col, { style: { display: 'flex', alignItems: 'center' } },
113
113
  react_1.default.createElement(antd_1.Checkbox, { checked: checked, indeterminate: indeterminate, onChange: changeCheckAll },
114
- react_1.default.createElement(react_intl_1.FormattedMessage, { id: "component.table.selected", defaultMessage: '已选{length}条', values: {
114
+ react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.table.selected", defaultMessage: '已选{length}条', values: {
115
115
  length: (_b = (_a = rowSelection.selectedRowKeys) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0
116
116
  } }))),
117
117
  react_1.default.createElement(antd_1.Col, { style: { display: 'flex', alignItems: 'center' } },
@@ -47,7 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  var react_1 = __importStar(require("react"));
49
49
  var antd_1 = require("antd");
50
- var react_intl_1 = require("react-intl");
50
+ var IntlProvider_1 = require("../../IntlProvider");
51
51
  var icons_1 = require("@ant-design/icons");
52
52
  // import { message, IconFont } from 'xmirror-components'
53
53
  var AntdApp_1 = require("../../AntdApp");
@@ -122,7 +122,7 @@ function PopoverSetColumns(_a) {
122
122
  var checked = _a.target.checked;
123
123
  var dataIndex = _b.dataIndex;
124
124
  if (visibleItems.length === 1 && !checked) {
125
- AntdApp_1.message.error(react_1.default.createElement(react_intl_1.FormattedMessage, { id: "component.table.visibleError", defaultMessage: '列表最少保留一个字段' }));
125
+ AntdApp_1.message.error(react_1.default.createElement(IntlProvider_1.FormattedMessage, { id: "component.table.visibleError", defaultMessage: '列表最少保留一个字段' }));
126
126
  return;
127
127
  }
128
128
  var id = Array.isArray(dataIndex) ? dataIndex.join(',') : dataIndex;
@@ -57,7 +57,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
57
57
  };
58
58
  Object.defineProperty(exports, "__esModule", { value: true });
59
59
  var react_1 = require("react");
60
- var react_intl_1 = require("react-intl");
60
+ var IntlProvider_1 = require("../../components/IntlProvider");
61
61
  var ahooks_1 = require("ahooks");
62
62
  var AntdApp_1 = require("../../components/AntdApp");
63
63
  var ORDER_MAP = {
@@ -84,7 +84,7 @@ var defaultOptions = {
84
84
  function useTable(request, options) {
85
85
  var _this = this;
86
86
  if (options === void 0) { options = {}; }
87
- var intl = (0, react_intl_1.useIntl)();
87
+ var intl = (0, IntlProvider_1.useIntl)();
88
88
  var _a = __assign(__assign({}, defaultOptions), options), rowKey = _a.rowKey, interval = _a.interval, immediate = _a.immediate, defaultPagination = _a.defaultPagination, showRowSelection = _a.showRowSelection, multiPageSelection = _a.multiPageSelection, onBeforeRequest = _a.onBeforeRequest, onAfterRequest = _a.onAfterRequest;
89
89
  var tableTimerRef = (0, react_1.useRef)(null);
90
90
  var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
@@ -126,6 +126,7 @@ export declare const ConfigContext: default_2.Context<ConfigContextProps>;
126
126
  declare interface ConfigContextProps {
127
127
  iconButton: IconButtonConfig;
128
128
  iconFont: IconFontConfig;
129
+ locale: MessagesKeys;
129
130
  }
130
131
 
131
132
  export declare function ConfigProvider({ children, config }: ConfigProviderProps): default_2.JSX.Element;
@@ -229,6 +230,8 @@ declare interface InternalSearchAreaProps extends FormProps<any> {
229
230
 
230
231
  export declare let message: MessageInstance;
231
232
 
233
+ declare type MessagesKeys = 'zh' | 'en';
234
+
232
235
  export declare let modal: Omit<ModalStaticFunctions, 'warn'>;
233
236
 
234
237
  export declare let notification: NotificationInstance;