@lemon-fe/kits 1.2.0-alpha.0 → 1.2.0-alpha.2

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.
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { Locale } from '../locale/locale';
3
+ declare type AppConfigProps = {
4
+ children?: ReactNode | null;
5
+ locale?: Locale;
6
+ };
7
+ declare function AppProvider(props: AppConfigProps): JSX.Element;
8
+ declare namespace AppProvider {
9
+ var useApp;
10
+ }
11
+ export default AppProvider;
@@ -0,0 +1,86 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { createContext, useMemo, useEffect, useContext } from 'react';
8
+ import { PageLoading, PREFIX_CLS, message, Modal, ConfigProvider, Result, Button } from '@lemon-fe/components';
9
+ import { HooksConfigProvider } from '@lemon-fe/hooks';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var AppContext = /*#__PURE__*/createContext({
13
+ message: message,
14
+ modal: Modal
15
+ });
16
+ function useApp() {
17
+ return useContext(AppContext);
18
+ }
19
+ export default function AppProvider(props) {
20
+ var _message$useMessage = message.useMessage(),
21
+ _message$useMessage2 = _slicedToArray(_message$useMessage, 2),
22
+ messageApi = _message$useMessage2[0],
23
+ messageContextHolder = _message$useMessage2[1];
24
+ var _Modal$useModal = Modal.useModal(),
25
+ _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
26
+ modalApi = _Modal$useModal2[0],
27
+ modalContextHolder = _Modal$useModal2[1];
28
+ var locale = useContext(ConfigProvider.ConfigContext).locale;
29
+ var appContext = useMemo(function () {
30
+ return {
31
+ message: messageApi,
32
+ modal: modalApi
33
+ };
34
+ }, []);
35
+ useEffect(function () {
36
+ /** 设置滚动条 */
37
+ if (/windows/.test(window.navigator.userAgent.toLowerCase())) {
38
+ document.body.classList.add("".concat(PREFIX_CLS, "-thin-scroll-bar"));
39
+ }
40
+ }, []);
41
+ return /*#__PURE__*/_jsxs(AppContext.Provider, {
42
+ value: appContext,
43
+ children: [messageContextHolder, modalContextHolder, /*#__PURE__*/_jsx(HooksConfigProvider, {
44
+ value: {
45
+ showToast: function showToast() {
46
+ var _locale$Common;
47
+ return messageApi.loading(locale === null || locale === void 0 || (_locale$Common = locale.Common) === null || _locale$Common === void 0 ? void 0 : _locale$Common.waitingText, 0);
48
+ },
49
+ cancelToast: function cancelToast(hide) {
50
+ hide();
51
+ },
52
+ showLoading: function showLoading() {
53
+ return /*#__PURE__*/_jsx(PageLoading, {});
54
+ },
55
+ showError: function showError(err) {
56
+ console.error(err);
57
+ if (err && typeof err.message === 'string') {
58
+ messageApi.error(err.message);
59
+ }
60
+ },
61
+ setPrimaryColor: function setPrimaryColor(color) {
62
+ ConfigProvider.config({
63
+ theme: {
64
+ primaryColor: color
65
+ }
66
+ });
67
+ },
68
+ errorResult: function errorResult(err, refresh) {
69
+ var _props$locale;
70
+ return /*#__PURE__*/_jsx(Result, {
71
+ status: "500",
72
+ title: "500",
73
+ subTitle: err.message,
74
+ extra: /*#__PURE__*/_jsx(Button, {
75
+ type: "primary",
76
+ onClick: refresh,
77
+ children: (_props$locale = props.locale) === null || _props$locale === void 0 || (_props$locale = _props$locale.Common) === null || _props$locale === void 0 ? void 0 : _props$locale.reloadPageText
78
+ })
79
+ });
80
+ }
81
+ },
82
+ children: props.children
83
+ })]
84
+ });
85
+ }
86
+ AppProvider.useApp = useApp;
@@ -45,7 +45,7 @@ interface Props<RecordType extends Record<string, any> = Record<string, any>, Re
45
45
  /**
46
46
  * @description 弹窗关闭前的检验,返回true校验通过关闭弹窗,false校验不通过
47
47
  */
48
- onBeforeClose?: (results: Map<Key, Result<ResultType>>) => Promise<boolean>;
48
+ onBeforeClose?: (results: Map<Key, Result<ResultType>>, datas: RecordType[]) => Promise<boolean> | boolean;
49
49
  /**
50
50
  * @description 自定义渲染结果,不要依赖上下文
51
51
  * @param params
@@ -27,11 +27,10 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
27
27
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
28
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
29
29
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
30
- import { ConfigProvider, Modal, Row, Spin, Typography } from 'antd';
31
30
  import React, { useContext, Component, createRef } from 'react';
32
31
  import { unmountComponentAtNode, render } from 'react-dom';
33
32
  import defaultLocale from "./locale/zh_CN";
34
- import { ReloadOutlined } from '@ant-design/icons';
33
+ import { ConfigProvider, Modal, Row, Spin, Typography } from '@lemon-fe/components';
35
34
  import { Actions, ComponentConfigureContext, DataGrid, Icons, Layout, Section } from '@lemon-fe/components';
36
35
  import { Subject } from '@lemon-fe/utils';
37
36
  import { get } from 'lodash';
@@ -56,11 +55,12 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
56
55
  return String(result !== null && result !== void 0 ? result : '').toString();
57
56
  });
58
57
  _defineProperty(_assertThisInitialized(_this), "handleClose", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
59
- var _this$props, onBeforeClose, onClose, results, value;
58
+ var _this$props, onBeforeClose, onClose, data, results, value;
60
59
  return _regeneratorRuntime().wrap(function _callee$(_context) {
61
60
  while (1) switch (_context.prev = _context.next) {
62
61
  case 0:
63
62
  _this$props = _this.props, onBeforeClose = _this$props.onBeforeClose, onClose = _this$props.onClose;
63
+ data = _this.state.data;
64
64
  results = new Map();
65
65
  _toConsumableArray(_this.state.results).forEach(function (_ref2) {
66
66
  var _ref3 = _slicedToArray(_ref2, 2),
@@ -73,20 +73,20 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
73
73
  });
74
74
  _context.t0 = onBeforeClose;
75
75
  if (!_context.t0) {
76
- _context.next = 8;
76
+ _context.next = 9;
77
77
  break;
78
78
  }
79
- _context.next = 7;
80
- return onBeforeClose(results);
81
- case 7:
82
- _context.t0 = !_context.sent;
79
+ _context.next = 8;
80
+ return onBeforeClose(results, data);
83
81
  case 8:
82
+ _context.t0 = !_context.sent;
83
+ case 9:
84
84
  if (!_context.t0) {
85
- _context.next = 10;
85
+ _context.next = 11;
86
86
  break;
87
87
  }
88
88
  return _context.abrupt("return");
89
- case 10:
89
+ case 11:
90
90
  _this.setState({
91
91
  open: false
92
92
  });
@@ -100,7 +100,7 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
100
100
  results: results
101
101
  });
102
102
  }
103
- case 12:
103
+ case 13:
104
104
  case "end":
105
105
  return _context.stop();
106
106
  }
@@ -259,7 +259,7 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
259
259
  }), /*#__PURE__*/_jsxs("span", {
260
260
  children: [" ", error.message, " "]
261
261
  })]
262
- }), /*#__PURE__*/_jsx(ReloadOutlined, {
262
+ }), /*#__PURE__*/_jsx(Icons.Reload, {
263
263
  onClick: function onClick() {
264
264
  _this2.processNode(id, 0, _this2.props.params);
265
265
  }
@@ -419,7 +419,7 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
419
419
  }), /*#__PURE__*/_jsxs("span", {
420
420
  children: [" ", error.message, " "]
421
421
  })]
422
- }), /*#__PURE__*/_jsx(ReloadOutlined, {
422
+ }), /*#__PURE__*/_jsx(Icons.Reload, {
423
423
  onClick: function onClick() {
424
424
  return reload();
425
425
  }
@@ -437,7 +437,7 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
437
437
  successIcon: /*#__PURE__*/_jsx(Icons.Tip, {
438
438
  type: "success"
439
439
  }),
440
- reloadButton: /*#__PURE__*/_jsx(ReloadOutlined, {
440
+ reloadButton: /*#__PURE__*/_jsx(Icons.Reload, {
441
441
  onClick: function onClick() {
442
442
  return reload();
443
443
  }
@@ -568,7 +568,8 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
568
568
  }, {
569
569
  key: "render",
570
570
  value: function render() {
571
- var _this5 = this;
571
+ var _this5 = this,
572
+ _results$get;
572
573
  var _this$props4 = this.props,
573
574
  modalTitle = _this$props4.modalTitle,
574
575
  _afterClose = _this$props4.afterClose,
@@ -620,7 +621,7 @@ var BatchOperate = /*#__PURE__*/function (_Component) {
620
621
  children: "".concat(detailsText).concat(results.size > 0 ? "(".concat(results.size, "/").concat(data.length, ")") : '')
621
622
  }), /*#__PURE__*/_jsx(Actions, {
622
623
  actions: [paused ? {
623
- disabled: data.length <= 0 || results.size >= data.length,
624
+ disabled: data.length <= 0 || results.size >= data.length || active !== undefined && ((_results$get = results.get(active)) === null || _results$get === void 0 ? void 0 : _results$get.loading),
624
625
  text: active ? continueText : startExecText,
625
626
  onClick: this.handleStart
626
627
  } : {
package/es/index.d.ts CHANGED
@@ -1,9 +1,4 @@
1
- export * from 'antd';
2
- export { Alert, Dropdown, InputNumber, Layout, Table } from '@lemon-fe/components';
3
1
  export * from '@lemon-fe/components';
4
- export { default as zhCN } from './locale/zh_CN';
5
- export { default as enUS } from './locale/en_US';
6
- export type { Locale } from './locale/locale';
7
2
  export * from '@lemon-fe/hooks';
8
3
  export * from '@lemon-fe/utils';
9
4
  export { default as BasicLayout } from './layouts/basic-layout';
@@ -15,4 +10,6 @@ export { default as Breadcrumb } from './layouts/breadcrumb';
15
10
  export { default as useBatchOperator } from './hooks/use-batch-operator';
16
11
  export { default as useHistoryBlock } from './hooks/use-history-block';
17
12
  export { TabInstance } from './layouts/tab-instance';
13
+ export { default as AppProvider } from './app-provider';
14
+ export type { Locale } from './locale/locale';
18
15
  export { default as init } from './init';
package/es/index.js CHANGED
@@ -1,9 +1,4 @@
1
- export * from 'antd';
2
- export { Alert, Dropdown, InputNumber, Layout, Table } from '@lemon-fe/components';
3
- //@ts-ignore
4
1
  export * from '@lemon-fe/components';
5
- export { default as zhCN } from "./locale/zh_CN";
6
- export { default as enUS } from "./locale/en_US";
7
2
  export * from '@lemon-fe/hooks';
8
3
  export * from '@lemon-fe/utils';
9
4
  export { default as BasicLayout } from "./layouts/basic-layout";
@@ -13,4 +8,5 @@ export { default as Breadcrumb } from "./layouts/breadcrumb";
13
8
  export { default as useBatchOperator } from "./hooks/use-batch-operator";
14
9
  export { default as useHistoryBlock } from "./hooks/use-history-block";
15
10
  export { TabInstance } from "./layouts/tab-instance";
11
+ export { default as AppProvider } from "./app-provider";
16
12
  export { default as init } from "./init";
package/es/init.js CHANGED
@@ -1,165 +1,13 @@
1
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
- import { message, Modal, Select, ConfigProvider, Result, Button, DatePicker, Cascader, TreeSelect, Empty, Menu, TimePicker, Tree } from 'antd';
8
1
  import React from 'react';
9
- import { Icons, PageLoading, PREFIX_CLS, EmptyImage } from '@lemon-fe/components';
2
+ import { PageLoading, PREFIX_CLS, message, ConfigProvider, Result, Button } from '@lemon-fe/components';
10
3
  import { config } from '@lemon-fe/hooks';
11
4
  import { jsx as _jsx } from "react/jsx-runtime";
12
- var Tip = Icons.Tip,
13
- Down = Icons.Down,
14
- CloseLight = Icons.CloseLight,
15
- Clear = Icons.Clear;
16
5
  export default function init(opts) {
17
- var types = ['success', 'error', 'warning', 'info'];
18
6
  var locale = opts.locale;
19
- var modalLocale = locale.Modal;
20
7
  var commonLocale = locale.Common;
21
- types.forEach(function (item) {
22
- var msgAPI = message[item].bind(message);
23
- var modalAPI = Modal[item].bind(Modal);
24
- message[item] = function () {
25
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
26
- args[_key] = arguments[_key];
27
- }
28
- var args0 = args[0],
29
- args1 = args[1],
30
- args2 = args[2];
31
- if (args.length === 1 && _typeof(args0) === 'object' && ! /*#__PURE__*/React.isValidElement(args0)) {
32
- return msgAPI(_objectSpread({
33
- icon: /*#__PURE__*/_jsx(Tip, {
34
- type: item
35
- })
36
- }, args0));
37
- }
38
- return msgAPI({
39
- content: args0,
40
- duration: args1,
41
- onClose: args2,
42
- icon: /*#__PURE__*/_jsx(Tip, {
43
- type: item
44
- })
45
- });
46
- };
47
- Modal[item] = function (args) {
48
- return modalAPI(_objectSpread({
49
- title: modalLocale.defaultTitle,
50
- width: 400,
51
- icon: /*#__PURE__*/_jsx(Tip, {
52
- type: item
53
- })
54
- }, args));
55
- };
56
- });
57
- var modalConfirm = Modal.confirm.bind(Modal);
58
- Modal.confirm = function (args) {
59
- return modalConfirm(_objectSpread({
60
- icon: /*#__PURE__*/_jsx(Tip, {
61
- type: "info"
62
- }),
63
- width: 400,
64
- title: modalLocale.defaultTitle
65
- }, args));
66
- };
67
- Modal.defaultProps = _objectSpread(_objectSpread({}, Modal.defaultProps), {}, {
68
- maskClosable: false,
69
- closeIcon: /*#__PURE__*/_jsx(CloseLight, {})
70
- });
71
- var node = /*#__PURE__*/_jsx(Down, {
72
- style: {
73
- pointerEvents: 'none'
74
- }
75
- });
76
- Empty.defaultProps = {
77
- image: /*#__PURE__*/_jsx(EmptyImage, {})
78
- };
79
-
80
- //@ts-ignore
81
- Select.defaultProps = {
82
- notFoundContent: /*#__PURE__*/_jsx(Empty, {
83
- imageStyle: {
84
- height: 60
85
- }
86
- }),
87
- suffixIcon: node,
88
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
89
- };
90
-
91
- //@ts-ignore
92
- TreeSelect.defaultProps = {
93
- notFoundContent: /*#__PURE__*/_jsx(Empty, {
94
- imageStyle: {
95
- height: 60
96
- }
97
- }),
98
- suffixIcon: node,
99
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
100
- };
101
-
102
- //@ts-ignore
103
- Tree.defaultProps = {
104
- switcherIcon: /*#__PURE__*/_jsx(Down, {
105
- style: {
106
- fontSize: 14,
107
- color: 'rgba(51, 51, 51, 0.7)',
108
- verticalAlign: '-0.125em'
109
- }
110
- })
111
- };
112
-
113
- //@ts-ignore
114
- Cascader.defaultProps = {
115
- suffixIcon: node,
116
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
117
- };
118
- DatePicker.RangePicker.defaultProps = _objectSpread(_objectSpread({}, DatePicker.RangePicker.defaultProps), {}, {
119
- suffixIcon: /*#__PURE__*/_jsx(Icons.Calendar, {
120
- style: {
121
- pointerEvents: 'none'
122
- }
123
- }),
124
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
125
- });
126
- DatePicker.defaultProps = _objectSpread(_objectSpread({}, DatePicker.defaultProps), {}, {
127
- suffixIcon: /*#__PURE__*/_jsx(Icons.Calendar, {
128
- style: {
129
- pointerEvents: 'none'
130
- }
131
- }),
132
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
133
- });
134
- TimePicker.defaultProps = _objectSpread(_objectSpread({}, TimePicker.defaultProps), {}, {
135
- suffixIcon: /*#__PURE__*/_jsx(Icons.Clock, {
136
- style: {
137
- pointerEvents: 'none'
138
- }
139
- })
140
- });
141
- TimePicker.RangePicker.defaultProps = _objectSpread(_objectSpread({}, TimePicker.RangePicker.defaultProps), {}, {
142
- suffixIcon: /*#__PURE__*/_jsx(Icons.Clock, {
143
- style: {
144
- pointerEvents: 'none'
145
- }
146
- }),
147
- clearIcon: /*#__PURE__*/_jsx(Clear, {})
148
- });
149
-
150
- //@ts-ignore
151
- Menu.defaultProps = {
152
- expandIcon: /*#__PURE__*/_jsx(Down, {
153
- style: {
154
- transform: 'rotate(-90deg)',
155
- top: 8,
156
- color: '#666'
157
- }
158
- })
159
- };
160
8
  config({
161
9
  showToast: function showToast() {
162
- return message.loading(commonLocale.watingText, 0);
10
+ return message.loading(commonLocale.waitingText, 0);
163
11
  },
164
12
  cancelToast: function cancelToast(hide) {
165
13
  hide();
@@ -1,10 +1,12 @@
1
1
  /// <reference types="react" />
2
+ import type { BasicLayoutLocale } from '../../../../locale/locale';
2
3
  import type { MenuFavorites, MenuItem } from '../../typings';
3
4
  interface Props {
4
5
  data: MenuItem[];
5
6
  favorites?: MenuFavorites;
6
7
  onFavoritesChange?: (items: MenuFavorites) => void;
7
8
  onClick?: (item: MenuItem) => void;
9
+ locale: BasicLayoutLocale['menu'];
8
10
  }
9
11
  export default function Menu(props: Props): JSX.Element;
10
12
  export {};
@@ -18,7 +18,6 @@ import { Divider } from 'antd';
18
18
  import React, { useEffect, useMemo, useRef, useState } from 'react';
19
19
  import { createPortal } from 'react-dom';
20
20
  import { PREFIX_CLS as prefixCls, Icons } from '@lemon-fe/components';
21
- import { useLocaleReceiver } from '@lemon-fe/components/src';
22
21
  import { useDebounce } from '@lemon-fe/hooks';
23
22
  import classNames from 'classnames';
24
23
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -209,7 +208,8 @@ export default function Menu(props) {
209
208
  onClick = props.onClick,
210
209
  onFavoritesChange = props.onFavoritesChange,
211
210
  _props$favorites = props.favorites,
212
- favorites = _props$favorites === void 0 ? [] : _props$favorites;
211
+ favorites = _props$favorites === void 0 ? [] : _props$favorites,
212
+ locale = props.locale;
213
213
  var location = window.location;
214
214
  var _useState = useState(null),
215
215
  _useState2 = _slicedToArray(_useState, 2),
@@ -231,14 +231,6 @@ export default function Menu(props) {
231
231
  _useState8 = _slicedToArray(_useState7, 2),
232
232
  top = _useState8[0],
233
233
  setTop = _useState8[1];
234
- var _useLocaleReceiver = useLocaleReceiver('BasicLayout'),
235
- _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
236
- _useLocaleReceiver2$ = _useLocaleReceiver2[0].menu,
237
- noFavoriteText = _useLocaleReceiver2$.noFavoriteText,
238
- managementText = _useLocaleReceiver2$.managementText,
239
- favotireText = _useLocaleReceiver2$.favotireText,
240
- noWantMenuText = _useLocaleReceiver2$.noWantMenuText,
241
- viewAllText = _useLocaleReceiver2$.viewAllText;
242
234
  var activeMenu = useMemo(function () {
243
235
  var check = function check(path) {
244
236
  if (path) {
@@ -500,7 +492,7 @@ export default function Menu(props) {
500
492
  }) : /*#__PURE__*/_jsxs("div", {
501
493
  className: "".concat(prefixCls, "-menu-block-empty"),
502
494
  children: [/*#__PURE__*/_jsx(FavoritesEmpty, {}), /*#__PURE__*/_jsx("span", {
503
- children: noFavoriteText
495
+ children: locale.noFavoriteText
504
496
  })]
505
497
  })
506
498
  }, "pop") : /*#__PURE__*/_jsx("div", {
@@ -593,7 +585,7 @@ export default function Menu(props) {
593
585
  })
594
586
  }), !collapsed ? /*#__PURE__*/_jsx("div", {
595
587
  className: "".concat(prefixCls, "-menu-other-title"),
596
- children: managementText
588
+ children: locale.managementText
597
589
  }) : null, /*#__PURE__*/_jsx("div", {
598
590
  className: classNames("".concat(prefixCls, "-menu-top-item"), _defineProperty({}, "".concat(prefixCls, "-menu-top-item-popover-active"), (popover === null || popover === void 0 ? void 0 : popover.name) === FAVORITES_POPOVER)),
599
591
  onMouseEnter: function onMouseEnter(e) {
@@ -612,7 +604,7 @@ export default function Menu(props) {
612
604
  children: favoriteIcon
613
605
  }), /*#__PURE__*/_jsx("div", {
614
606
  className: "".concat(prefixCls, "-menu-title"),
615
- children: favotireText
607
+ children: locale.favotireText
616
608
  })]
617
609
  })
618
610
  })]
@@ -626,12 +618,12 @@ export default function Menu(props) {
626
618
  }) : /*#__PURE__*/_jsxs(_Fragment, {
627
619
  children: [/*#__PURE__*/_jsx("div", {
628
620
  className: "".concat(prefixCls, "-menu-label"),
629
- children: noWantMenuText
621
+ children: locale.noWantMenuText
630
622
  }), /*#__PURE__*/_jsxs("div", {
631
623
  className: "".concat(prefixCls, "-menu-more"),
632
624
  onClick: openDrawer,
633
625
  children: [drawerIcon, /*#__PURE__*/_jsx("span", {
634
- children: viewAllText
626
+ children: locale.viewAllText
635
627
  })]
636
628
  })]
637
629
  })]
@@ -641,7 +633,7 @@ export default function Menu(props) {
641
633
  children: [/*#__PURE__*/_jsxs("div", {
642
634
  className: "".concat(prefixCls, "-menu-drawer-header"),
643
635
  children: [/*#__PURE__*/_jsx("div", {
644
- children: viewAllText
636
+ children: locale.viewAllText
645
637
  }), /*#__PURE__*/_jsx("div", {
646
638
  className: "".concat(prefixCls, "-menu-drawer-close"),
647
639
  onClick: closeDrawer,
@@ -1,6 +1,8 @@
1
1
  /// <reference types="react" />
2
+ import type { BasicLayoutLocale } from '../../../../locale/locale';
2
3
  export default function RefreshButton(props: {
3
4
  onRefresh: () => void;
4
5
  onCloseOther: () => void;
5
6
  onCloseAll: () => void;
7
+ locale: BasicLayoutLocale['refreshButton'];
6
8
  }): JSX.Element;
@@ -11,24 +11,18 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import { Popover } from 'antd';
12
12
  import React, { useState } from 'react';
13
13
  import { PREFIX_CLS as prefixCls } from '@lemon-fe/components';
14
- import { useLocaleReceiver } from '@lemon-fe/components/src';
15
14
  import classNames from 'classnames';
16
15
  import { jsx as _jsx } from "react/jsx-runtime";
17
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
17
  export default function RefreshButton(props) {
19
18
  var onRefresh = props.onRefresh,
20
19
  onCloseOther = props.onCloseOther,
21
- onCloseAll = props.onCloseAll;
20
+ onCloseAll = props.onCloseAll,
21
+ locale = props.locale;
22
22
  var _useState = useState(false),
23
23
  _useState2 = _slicedToArray(_useState, 2),
24
24
  popVisible = _useState2[0],
25
25
  setPopVisible = _useState2[1];
26
- var _useLocaleReceiver = useLocaleReceiver('BasicLayout'),
27
- _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
28
- _useLocaleReceiver2$ = _useLocaleReceiver2[0].refreshButton,
29
- refreshCurrText = _useLocaleReceiver2$.refreshCurrText,
30
- closeOthersText = _useLocaleReceiver2$.closeOthersText,
31
- closeAllText = _useLocaleReceiver2$.closeAllText;
32
26
  return /*#__PURE__*/_jsx(Popover, {
33
27
  open: popVisible,
34
28
  onOpenChange: setPopVisible,
@@ -43,21 +37,21 @@ export default function RefreshButton(props) {
43
37
  onRefresh();
44
38
  setPopVisible(false);
45
39
  },
46
- children: refreshCurrText
40
+ children: locale.refreshCurrText
47
41
  }), /*#__PURE__*/_jsx("div", {
48
42
  className: "".concat(prefixCls, "-refresh-down-tab"),
49
43
  onClick: function onClick() {
50
44
  onCloseOther();
51
45
  setPopVisible(false);
52
46
  },
53
- children: closeOthersText
47
+ children: locale.closeOthersText
54
48
  }), /*#__PURE__*/_jsx("div", {
55
49
  className: "".concat(prefixCls, "-refresh-down-tab"),
56
50
  onClick: function onClick() {
57
51
  onCloseAll();
58
52
  setPopVisible(false);
59
53
  },
60
- children: closeAllText
54
+ children: locale.closeAllText
61
55
  })]
62
56
  }),
63
57
  children: /*#__PURE__*/_jsx("div", {
@@ -1,4 +1,5 @@
1
1
  import type { ReactElement, ReactNode, CSSProperties } from 'react';
2
+ import type { BasicLayoutLocale } from '../../locale/locale';
2
3
  import type { MenuFavorites, MenuItem } from './typings';
3
4
  interface Props<T> {
4
5
  title: string | ReactNode;
@@ -20,6 +21,7 @@ interface Props<T> {
20
21
  className?: string;
21
22
  style?: CSSProperties;
22
23
  waterMark?: string;
24
+ locale: BasicLayoutLocale;
23
25
  }
24
26
  export default function MainFramework<TabType extends {
25
27
  title: string;
@@ -27,7 +27,8 @@ export default function MainFramework(props) {
27
27
  onFavoritesChange = props.onFavoritesChange,
28
28
  renderMenu = props.renderMenu,
29
29
  style = props.style,
30
- waterMark = props.waterMark;
30
+ waterMark = props.waterMark,
31
+ locale = props.locale;
31
32
  return /*#__PURE__*/_jsxs("div", {
32
33
  className: classNames("".concat(prefixCls, "-main"), className),
33
34
  style: style,
@@ -65,6 +66,7 @@ export default function MainFramework(props) {
65
66
  }), /*#__PURE__*/_jsxs("div", {
66
67
  className: "".concat(prefixCls, "-nav-right"),
67
68
  children: [/*#__PURE__*/_jsx(RefreshButton, {
69
+ locale: locale.refreshButton,
68
70
  onRefresh: onRefresh,
69
71
  onCloseAll: onCloseAll,
70
72
  onCloseOther: onCloseOther
@@ -79,6 +81,7 @@ export default function MainFramework(props) {
79
81
  children: renderMenu()
80
82
  }) : /*#__PURE__*/_jsx(Menu, {
81
83
  data: menus,
84
+ locale: locale.menu,
82
85
  onClick: onMenuClick,
83
86
  favorites: favorites,
84
87
  onFavoritesChange: onFavoritesChange
@@ -14,11 +14,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
14
14
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
16
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
+ import { Modal } from 'antd';
17
18
  import React, { useState, useMemo, useEffect, useRef } from 'react';
18
19
  import { useHistory, useLocation, matchPath, useRouteMatch } from 'react-router';
19
20
  import RouteTab from "../../components/route-tab";
21
+ import defaultLocale from "../locale/en_US";
20
22
  import MainFramework from "./main-framework";
21
- import { Modal } from 'antd';
23
+ import { useLocaleReceiver } from '@lemon-fe/components';
22
24
  import moment from 'moment';
23
25
  import { jsx as _jsx } from "react/jsx-runtime";
24
26
  function mapTree(tree, childrenKey, mapper) {
@@ -96,6 +98,9 @@ export default function Main(props) {
96
98
  _useState2 = _slicedToArray(_useState, 2),
97
99
  favorites = _useState2[0],
98
100
  setFavorites = _useState2[1];
101
+ var _useLocaleReceiver = useLocaleReceiver('BasicLayout', defaultLocale),
102
+ _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),
103
+ basicLocale = _useLocaleReceiver2[0];
99
104
  useEffect(function () {
100
105
  if (favorites !== defaultFavorites) {
101
106
  window.localStorage.setItem('MENU_FAVORITES', JSON.stringify(favorites));
@@ -189,10 +194,10 @@ export default function Main(props) {
189
194
  var today = moment().format('YYYY-MM-DD');
190
195
  if (date === null || date !== today) {
191
196
  Modal.confirm({
192
- title: '提示',
193
- content: '当前打开页签已达10个, 为不影响浏览器性能, 已为您关闭最早打开的页签',
194
- cancelText: '今日不再提醒',
195
- okText: '我知道啦',
197
+ title: basicLocale.tabModal.infoText,
198
+ content: basicLocale.tabModal.contentText,
199
+ cancelText: basicLocale.tabModal.cancelText,
200
+ okText: basicLocale.tabModal.okText,
196
201
  onCancel: function onCancel() {
197
202
  localStorage.setItem(key, today);
198
203
  }
@@ -332,6 +337,7 @@ export default function Main(props) {
332
337
  favorites: favoritesProp || favorites,
333
338
  onFavoritesChange: handleFavoritesChange,
334
339
  waterMark: waterMark,
340
+ locale: basicLocale,
335
341
  children: state.tabs.map(function (tab, index) {
336
342
  var route = tab.route,
337
343
  refreshCount = tab.refreshCount;
@@ -14,8 +14,7 @@ import { Breadcrumb } from 'antd';
14
14
  import React, { useContext, useMemo } from 'react';
15
15
  import { Link, matchPath, useRouteMatch } from 'react-router-dom';
16
16
  import { RouteTabContext } from "../components/route-tab";
17
- import { Icons, PREFIX_CLS } from '@lemon-fe/components';
18
- import { useLocaleReceiver } from '@lemon-fe/components/src';
17
+ import { Icons, PREFIX_CLS, useLocaleReceiver } from '@lemon-fe/components';
19
18
  import { uniqBy } from 'lodash';
20
19
  import { jsx as _jsx } from "react/jsx-runtime";
21
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -7,17 +7,16 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
7
7
  import { default as UseBacthOperatorLocale } from "../hooks/use-batch-operator/locale/en_US";
8
8
  import { default as BasicLayoutLocale } from "../layouts/basic-layout/locale/en_US";
9
9
  import { default as MicroLayoutLocale } from "../layouts/micro-layout/locale/en_US";
10
- import { enUS as componentsEnUS } from '@lemon-fe/components';
10
+ import componentsEnUS from '@lemon-fe/components/es/locale/en_US';
11
11
  var enUS = _objectSpread(_objectSpread({}, componentsEnUS), {}, {
12
12
  UseBatchOperator: UseBacthOperatorLocale,
13
13
  BasicLayout: BasicLayoutLocale,
14
14
  MicroLayout: MicroLayoutLocale,
15
- Modal: _objectSpread(_objectSpread({}, componentsEnUS.Modal), {}, {
16
- defaultTitle: 'Info'
17
- }),
18
- Common: _objectSpread(_objectSpread({}, componentsEnUS.Common), {}, {
15
+ Common: {
16
+ modalDefaultTitle: 'Tip',
17
+ backText: 'Back',
19
18
  waitingText: 'Loading',
20
19
  reloadPageText: 'Reload'
21
- })
20
+ }
22
21
  });
23
22
  export default enUS;
@@ -2,14 +2,14 @@ import type { UseBatchOperateLocale } from '../hooks/use-batch-operator/locale/l
2
2
  import type { BasicLayoutLocale } from '../layouts/basic-layout/locale/locale';
3
3
  import type { MicroLayoutLocale } from '../layouts/micro-layout/locale/locale';
4
4
  import type { Locale as ComponentLocale } from '@lemon-fe/components';
5
- declare type AntModalLocale = Exclude<ComponentLocale['Modal'], undefined>;
6
- interface ModalLocale extends Partial<AntModalLocale> {
7
- defaultTitle: string;
8
- }
9
- export interface Locale extends Omit<ComponentLocale, 'Modal'> {
5
+ export interface Locale extends ComponentLocale {
10
6
  UseBatchOperator: UseBatchOperateLocale;
11
- BasicLayout: BasicLayoutLocale;
12
- MicroLayout: MicroLayoutLocale;
13
- Modal: ModalLocale;
7
+ BasicLayout?: BasicLayoutLocale;
8
+ MicroLayout?: MicroLayoutLocale;
9
+ Common: {
10
+ backText: string;
11
+ waitingText: string;
12
+ reloadPageText: string;
13
+ modalDefaultTitle: string;
14
+ };
14
15
  }
15
- export {};
@@ -7,17 +7,16 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
7
7
  import { default as UseBacthOperatorLocale } from "../hooks/use-batch-operator/locale/zh_CN";
8
8
  import { default as BasicLayoutLocale } from "../layouts/basic-layout/locale/zh_CN";
9
9
  import { default as MicroLayoutLocale } from "../layouts/micro-layout/locale/zh_CN";
10
- import { zhCN as componentsZhCN } from '@lemon-fe/components';
10
+ import componentsZhCN from '@lemon-fe/components/es/locale/zh_CN';
11
11
  var zhCN = _objectSpread(_objectSpread({}, componentsZhCN), {}, {
12
12
  UseBatchOperator: UseBacthOperatorLocale,
13
13
  BasicLayout: BasicLayoutLocale,
14
14
  MicroLayout: MicroLayoutLocale,
15
- Modal: _objectSpread(_objectSpread({}, componentsZhCN.Modal), {}, {
16
- defaultTitle: '提示'
17
- }),
18
- Common: _objectSpread(_objectSpread({}, componentsZhCN.Common), {}, {
15
+ Common: {
16
+ backText: '返回',
19
17
  waitingText: '加载中',
20
- reloadPageText: '重新加载'
21
- })
18
+ reloadPageText: '重新加载',
19
+ modalDefaultTitle: '提示'
20
+ }
22
21
  });
23
22
  export default zhCN;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lemon-fe/kits",
3
- "version": "1.2.0-alpha.0",
3
+ "version": "1.2.0-alpha.2",
4
4
  "description": "> TODO: description",
5
5
  "homepage": "",
6
6
  "license": "ISC",
@@ -23,8 +23,8 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@ant-design/icons": "^4.7.0",
26
- "@lemon-fe/components": "^1.2.0-alpha.0",
27
- "@lemon-fe/hooks": "^1.1.0",
26
+ "@lemon-fe/components": "^1.2.0-alpha.2",
27
+ "@lemon-fe/hooks": "^1.2.0-alpha.1",
28
28
  "@lemon-fe/utils": "^1.1.0",
29
29
  "antd": "4.24.8",
30
30
  "classnames": "^2.2.6",
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "registry": "https://registry.npmjs.org"
46
46
  },
47
- "gitHead": "15c27e2871447d2c85cd946a38e9e6b70d079ca4"
47
+ "gitHead": "49675d62b0403af381b58a8a3da02255f2d16dbc"
48
48
  }