@titaui/pc 1.7.101 → 1.8.3

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 (61) hide show
  1. package/lib/components/dialog/index.css +7 -1
  2. package/lib/components/dialog/index.js +7 -6
  3. package/lib/components/form/form-fields/input/index.css +22 -7
  4. package/lib/components/form/form-fields/input/index.js +11 -8
  5. package/lib/components/form/form-fields/input-verification-code/index.css +117 -0
  6. package/lib/components/form/form-fields/input-verification-code/index.js +230 -0
  7. package/lib/components/form/form-fields/password/index.css +2 -2
  8. package/lib/components/form/form-fields/radios/index.js +1 -1
  9. package/lib/components/form/index.js +4 -1
  10. package/lib/components/nav-top/components/user-message/components/empty/index.js +4 -2
  11. package/lib/components/nav-top/components/user-message/msg/index.js +1 -1
  12. package/lib/components/table/index.css +4 -0
  13. package/lib/components/table/index.js +3 -0
  14. package/lib/components/upload/index.js +2 -2
  15. package/lib/components/upload-photo-modal/constant.js +29 -0
  16. package/lib/components/upload-photo-modal/img/browser-preview-bgc.png +0 -0
  17. package/lib/components/upload-photo-modal/index.css +288 -0
  18. package/lib/components/upload-photo-modal/index.js +439 -0
  19. package/lib/components/upload-photo-modal/request-api.js +62 -0
  20. package/lib/components/user-selector/request-apis.js +1 -1
  21. package/lib/index.js +8 -0
  22. package/lib/pages/personal-info/components/base-info/index.css +36 -1
  23. package/lib/pages/personal-info/components/base-info/index.js +22 -90
  24. package/lib/pages/personal-info/components/edit-info/index.css +19 -0
  25. package/lib/pages/personal-info/components/edit-info/index.js +209 -0
  26. package/lib/pages/personal-info/components/edit-info/input/index.css +89 -0
  27. package/lib/pages/personal-info/components/edit-info/input/index.js +199 -0
  28. package/lib/pages/personal-info/components/person-photo/index.css +88 -0
  29. package/lib/pages/personal-info/components/person-photo/index.js +86 -0
  30. package/lib/pages/personal-info/index.js +3 -1
  31. package/package.json +3 -1
  32. package/src/components/dialog/index.js +2 -1
  33. package/src/components/dialog/index.scss +6 -1
  34. package/src/components/form/form-fields/input/index.scss +19 -7
  35. package/src/components/form/form-fields/input/index.tsx +9 -4
  36. package/src/components/form/form-fields/input-verification-code/index.scss +108 -0
  37. package/src/components/form/form-fields/input-verification-code/index.tsx +171 -0
  38. package/src/components/form/form-fields/password/index.scss +2 -2
  39. package/src/components/form/form-fields/radios/index.tsx +2 -2
  40. package/src/components/form/index.tsx +2 -0
  41. package/src/components/nav-top/components/user-message/components/empty/index.tsx +3 -2
  42. package/src/components/nav-top/components/user-message/msg/index.tsx +1 -1
  43. package/src/components/table/index.js +1 -0
  44. package/src/components/table/index.scss +5 -0
  45. package/src/components/upload/index.tsx +4 -4
  46. package/src/components/upload-photo-modal/constant.ts +27 -0
  47. package/src/components/upload-photo-modal/img/browser-preview-bgc.png +0 -0
  48. package/src/components/upload-photo-modal/index.scss +258 -0
  49. package/src/components/upload-photo-modal/index.tsx +331 -0
  50. package/src/components/upload-photo-modal/request-api.ts +33 -0
  51. package/src/components/user-selector/request-apis.js +1 -1
  52. package/src/index.js +1 -0
  53. package/src/pages/personal-info/components/base-info/index.scss +30 -1
  54. package/src/pages/personal-info/components/base-info/index.tsx +26 -97
  55. package/src/pages/personal-info/components/edit-info/index.scss +20 -0
  56. package/src/pages/personal-info/components/edit-info/index.tsx +166 -0
  57. package/src/pages/personal-info/components/edit-info/input/index.scss +82 -0
  58. package/src/pages/personal-info/components/edit-info/input/index.tsx +145 -0
  59. package/src/pages/personal-info/components/person-photo/index.scss +80 -0
  60. package/src/pages/personal-info/components/person-photo/index.tsx +49 -0
  61. package/src/pages/personal-info/index.tsx +2 -0
@@ -9,15 +9,13 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _button = require("../../../../components/button");
13
-
14
12
  var _form = _interopRequireDefault(require("../../../../components/form"));
15
13
 
16
14
  var _requestApi = require("../../request-api");
17
15
 
18
16
  var _getLocale = require("../../../../utils/getLocale");
19
17
 
20
- var _toast = _interopRequireDefault(require("../../../../components/toast"));
18
+ var _editInfo = _interopRequireDefault(require("../edit-info"));
21
19
 
22
20
  require("./index.css");
23
21
 
@@ -62,58 +60,15 @@ var BaseInfo = function BaseInfo() {
62
60
 
63
61
  var _useState3 = (0, _react.useState)(false),
64
62
  _useState4 = _slicedToArray(_useState3, 2),
65
- isDisable = _useState4[0],
66
- setIsDisable = _useState4[1];
67
-
68
- var _useState5 = (0, _react.useState)(false),
69
- _useState6 = _slicedToArray(_useState5, 2),
70
- isEdit = _useState6[0],
71
- setIsEdit = _useState6[1];
72
-
73
- var handleSaveInfo = function handleSaveInfo() {
74
- //校验
75
- var err = formRef.current.verifing({
76
- truonlyFirstErrore: false
77
- });
78
-
79
- if (err.length > 0) {
80
- return;
81
- } else {
82
- (0, _requestApi.saveUserInfo)({
83
- data: userInfo
84
- }).then(function (resp) {
85
- if (resp.Code === 1) {
86
- _toast["default"].Success((0, _getLocale.getLocale)('Per_Ma_form_Updatesuc'), {
87
- canClose: false
88
- });
89
- } else {
90
- _toast["default"].Error(resp.Message, {
91
- canClose: false
92
- });
93
- }
94
- });
95
- }
96
- };
63
+ visible = _useState4[0],
64
+ setVisible = _useState4[1];
97
65
 
98
- var handleNameChange = function handleNameChange(value) {
99
- setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
100
- name: value || ""
101
- }));
102
- setIsEdit(true);
66
+ var handleClickEdit = function handleClickEdit() {
67
+ setVisible(true);
103
68
  };
104
69
 
105
- var handlePhoneChange = function handlePhoneChange(value) {
106
- setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
107
- mobile: value || ""
108
- }));
109
- setIsEdit(true);
110
- };
111
-
112
- var handleEmailChange = function handleEmailChange(value) {
113
- setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
114
- email: value || ""
115
- }));
116
- setIsEdit(true);
70
+ var handleCancelEdit = function handleCancelEdit() {
71
+ setVisible(false);
117
72
  };
118
73
 
119
74
  (0, _react.useEffect)(function () {
@@ -125,24 +80,18 @@ var BaseInfo = function BaseInfo() {
125
80
  }
126
81
  });
127
82
  }, []);
128
- (0, _react.useEffect)(function () {
129
- if (userInfo.name && userInfo.mobile && isEdit) {
130
- setIsDisable(false);
131
- } else {
132
- setIsDisable(true);
133
- }
134
- }, [userInfo, isEdit]);
135
83
  return /*#__PURE__*/_react["default"].createElement("div", {
136
84
  className: prefix
137
85
  }, /*#__PURE__*/_react["default"].createElement("div", {
138
86
  className: "".concat(prefix, "__header")
139
87
  }, /*#__PURE__*/_react["default"].createElement("span", {
140
88
  className: "".concat(prefix, "__header-title")
141
- }, (0, _getLocale.getLocale)('Per_Ass_New_title_text_BasicIn')), /*#__PURE__*/_react["default"].createElement(_button.RectBtn, {
142
- type: "primary",
143
- text: (0, _getLocale.getLocale)('Mod_Save'),
144
- disabled: isDisable,
145
- onClick: handleSaveInfo
89
+ }, (0, _getLocale.getLocale)('Per_Ass_New_title_text_BasicIn')), /*#__PURE__*/_react["default"].createElement("span", {
90
+ className: "".concat(prefix, "__header-btn"),
91
+ onClick: handleClickEdit
92
+ }, (0, _getLocale.getLocale)('Mod_Editor')), /*#__PURE__*/_react["default"].createElement(_editInfo["default"], {
93
+ visible: visible,
94
+ onCancel: handleCancelEdit
146
95
  })), /*#__PURE__*/_react["default"].createElement("div", {
147
96
  className: "".concat(prefix, "__form")
148
97
  }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
@@ -150,44 +99,27 @@ var BaseInfo = function BaseInfo() {
150
99
  }, /*#__PURE__*/_react["default"].createElement(Fields.Input, {
151
100
  name: "name",
152
101
  label: (0, _getLocale.getLocale)('Mod_UserName'),
153
- placeholder: "请输入姓名",
102
+ placeholder: "未设置",
154
103
  type: "text",
155
- require: true,
156
- verifies: [{
157
- "tip": "姓名不能为空",
158
- "test": /\S/
159
- }, {
160
- "tip": "姓名只能为中文,英文字母和数字及下划线的组合",
161
- "test": /^((?!(\uff08|\uff09)).)*$/g
162
- }],
104
+ verifies: [],
163
105
  value: userInfo.name,
164
- onChange: handleNameChange
106
+ disabled: true
165
107
  }), /*#__PURE__*/_react["default"].createElement(Fields.Input, {
166
108
  name: "phone",
167
109
  type: "text",
168
110
  label: "手机号码",
169
- placeholder: "请输入联系手机号码",
170
- require: true,
111
+ placeholder: "未设置",
171
112
  value: userInfo.mobile,
172
- verifies: [{
173
- "tip": "手机号不能为空",
174
- "test": /^[\s\S]+$/
175
- }, {
176
- "tip": "请输入11位手机号",
177
- "test": /^1[3456789]\d{9}$/
178
- }],
179
- onChange: handlePhoneChange
113
+ verifies: [],
114
+ disabled: true
180
115
  }), /*#__PURE__*/_react["default"].createElement(Fields.Input, {
181
116
  name: "email",
182
117
  type: "text",
183
118
  label: "电子邮箱",
184
119
  value: userInfo.email,
185
- placeholder: "请输入联系邮箱",
186
- verifies: [{
187
- "tip": "邮箱格式错误",
188
- "test": /^([a-zA-Z0-9_-]|\.)+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
189
- }],
190
- onChange: handleEmailChange
120
+ placeholder: "未设置",
121
+ verifies: [],
122
+ disabled: true
191
123
  }))));
192
124
  };
193
125
 
@@ -0,0 +1,19 @@
1
+ .titaui-edit-personal-info__form .titaui-form {
2
+ box-sizing: border-box;
3
+ padding: 0 32px;
4
+ }
5
+
6
+ .titaui-edit-personal-info__form .form-field-input__label {
7
+ width: 62px;
8
+ }
9
+
10
+ .titaui-edit-personal-info__form .form-field-input__label-text {
11
+ font-size: 14px;
12
+ font-weight: 400;
13
+ color: #89919F;
14
+ line-height: 22px;
15
+ }
16
+
17
+ .titaui-edit-personal-info__form .rc-tooltip {
18
+ left: 110.5px !important;
19
+ }
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _form = _interopRequireDefault(require("../../../../components/form"));
13
+
14
+ var _requestApi = require("../../request-api");
15
+
16
+ var _toast = _interopRequireDefault(require("../../../../components/toast"));
17
+
18
+ var _dialog = _interopRequireDefault(require("../../../../components/dialog"));
19
+
20
+ require("./index.css");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+
32
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ var Fields = _form["default"].Fields;
47
+ var prefix = "titaui-edit-personal-info";
48
+
49
+ var EditBaseInfo = function EditBaseInfo(props) {
50
+ var visible = props.visible,
51
+ onCancel = props.onCancel;
52
+ var modalRef = (0, _react.useRef)();
53
+ var formContainerRef = (0, _react.useRef)();
54
+ var formRef = (0, _react.useRef)();
55
+
56
+ var _useState = (0, _react.useState)(false),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ isDisable = _useState2[0],
59
+ setIsDisable = _useState2[1];
60
+
61
+ var _useState3 = (0, _react.useState)(false),
62
+ _useState4 = _slicedToArray(_useState3, 2),
63
+ isEdit = _useState4[0],
64
+ setIsEdit = _useState4[1];
65
+
66
+ var _useState5 = (0, _react.useState)({
67
+ name: '',
68
+ email: '',
69
+ mobile: ''
70
+ }),
71
+ _useState6 = _slicedToArray(_useState5, 2),
72
+ userInfo = _useState6[0],
73
+ setUserInfo = _useState6[1];
74
+
75
+ var handleNameChange = function handleNameChange(value) {
76
+ setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
77
+ name: value || ''
78
+ }));
79
+ setIsEdit(true);
80
+ };
81
+
82
+ var handlePhoneChange = function handlePhoneChange(value) {
83
+ setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
84
+ mobile: value || ''
85
+ }));
86
+ setIsEdit(true);
87
+ };
88
+
89
+ var handleEmailChange = function handleEmailChange(value) {
90
+ setUserInfo(_objectSpread(_objectSpread({}, userInfo), {}, {
91
+ email: value || ''
92
+ }));
93
+ setIsEdit(true);
94
+ };
95
+
96
+ var handleSaveUserInfo = function handleSaveUserInfo() {
97
+ if (!userInfo.email || !userInfo.mobile || !userInfo.name || isDisable) {
98
+ setIsDisable(true);
99
+ return;
100
+ } else {
101
+ (0, _requestApi.saveUserInfo)({
102
+ data: userInfo
103
+ }).then(function (resp) {
104
+ if (resp.Code === 1) {
105
+ _toast["default"].Success('更新成功', {
106
+ canClose: false
107
+ });
108
+
109
+ onCancel();
110
+ setTimeout(function () {
111
+ window.location.reload();
112
+ }, 2000);
113
+ } else {
114
+ _toast["default"].Error(resp.Message, {
115
+ canClose: false
116
+ });
117
+ }
118
+ });
119
+ }
120
+ };
121
+
122
+ (0, _react.useEffect)(function () {
123
+ (0, _requestApi.getUserInfoFun)().then(function (resp) {
124
+ if (resp.Code === 1 && resp.Data) {
125
+ setUserInfo(_objectSpread(_objectSpread({}, resp.Data), {}, {
126
+ position: resp.Data.positionCode
127
+ }));
128
+ }
129
+ });
130
+ }, []);
131
+ (0, _react.useEffect)(function () {
132
+ if (userInfo.name && userInfo.mobile && isEdit) {
133
+ setIsDisable(false);
134
+ } else {
135
+ setIsDisable(true);
136
+ }
137
+ }, [userInfo, isEdit]);
138
+ return /*#__PURE__*/_react["default"].createElement(_dialog["default"], {
139
+ visible: visible,
140
+ ref: modalRef,
141
+ width: 480,
142
+ mask: true,
143
+ centered: true,
144
+ title: '基本信息设置',
145
+ noHeadLine: true,
146
+ maskClosable: false,
147
+ onClose: onCancel,
148
+ onCancel: onCancel,
149
+ okText: "\u786E\u5B9A",
150
+ noFooterLine: true,
151
+ onOk: handleSaveUserInfo,
152
+ disabled: isDisable
153
+ }, /*#__PURE__*/_react["default"].createElement("div", {
154
+ className: "".concat(prefix, "__form"),
155
+ ref: formContainerRef
156
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
157
+ ref: formRef,
158
+ getFormContainer: function getFormContainer() {
159
+ return formContainerRef.current;
160
+ }
161
+ }, /*#__PURE__*/_react["default"].createElement(Fields.Input, {
162
+ name: "name",
163
+ label: '姓名',
164
+ placeholder: '请输入姓名',
165
+ type: "text",
166
+ require: true,
167
+ layout: "row",
168
+ verifies: [{
169
+ tip: '姓名不能为空',
170
+ test: /\S/
171
+ }, {
172
+ tip: '姓名只能为中文,英文字母和数字及下划线的组合',
173
+ test: /^((?!(\uff08|\uff09)).)*$/g
174
+ }],
175
+ value: userInfo.name,
176
+ onChange: handleNameChange
177
+ }), /*#__PURE__*/_react["default"].createElement(Fields.Input, {
178
+ name: "phone",
179
+ type: "text",
180
+ label: '手机号码',
181
+ placeholder: '请输入手机号',
182
+ require: true,
183
+ layout: "row",
184
+ value: userInfo.mobile,
185
+ verifies: [{
186
+ tip: '手机号不能为空',
187
+ test: /^[\s\S]+$/
188
+ }, {
189
+ tip: '请输入11位手机号',
190
+ test: /^1[3456789]\d{9}$/
191
+ }],
192
+ onChange: handlePhoneChange
193
+ }), /*#__PURE__*/_react["default"].createElement(Fields.Input, {
194
+ name: "email",
195
+ type: "text",
196
+ label: '邮箱',
197
+ value: userInfo.email,
198
+ layout: "row",
199
+ placeholder: '请输入邮箱',
200
+ verifies: [{
201
+ tip: '邮箱格式错误',
202
+ test: /^([a-zA-Z0-9_-]|\.)+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
203
+ }],
204
+ onChange: handleEmailChange
205
+ }))));
206
+ };
207
+
208
+ var _default = EditBaseInfo;
209
+ exports["default"] = _default;
@@ -0,0 +1,89 @@
1
+ .edit-base-info-input {
2
+ display: flex;
3
+ box-sizing: border-box;
4
+ padding: 0 32px;
5
+ align-items: center;
6
+ margin-bottom: 16px;
7
+ }
8
+
9
+ .edit-base-info-input__label {
10
+ width: 56px;
11
+ height: 22px;
12
+ font-size: 14px;
13
+ margin-bottom: 5px;
14
+ margin-right: 20px;
15
+ font-family: -apple-system, Arial, Verdana, Helvetica Neue, Helvetica, sans-serif, PingFang SC, Microsoft YaHei;
16
+ font-weight: 400;
17
+ line-height: 22px;
18
+ }
19
+
20
+ .edit-base-info-input__label-text {
21
+ color: #89919F;
22
+ }
23
+
24
+ .edit-base-info-input__label-require {
25
+ color: red;
26
+ }
27
+
28
+ .edit-base-info-input__border {
29
+ flex: 1;
30
+ padding: 6px 12px;
31
+ transition: all 0.2s;
32
+ border: 1px solid #e9ecf0;
33
+ box-sizing: border-box;
34
+ border-radius: 8px;
35
+ }
36
+
37
+ .edit-base-info-input__border--disabled {
38
+ background-color: #fafafa;
39
+ cursor: not-allowed;
40
+ }
41
+
42
+ .edit-base-info-input__border--disabled input:disabled {
43
+ background-color: #fafafa;
44
+ cursor: not-allowed;
45
+ color: #3f475594;
46
+ }
47
+
48
+ .edit-base-info-input__border--error {
49
+ box-shadow: inset 0px 0px 4px 0px rgba(240, 94, 94, 0.3) !important;
50
+ border: 1px solid #f05e5e !important;
51
+ }
52
+
53
+ .edit-base-info-input__border--active {
54
+ box-shadow: inset 0px 0px 4px 0px rgba(40, 121, 255, 0.3);
55
+ border: 1px solid #2879ff;
56
+ }
57
+
58
+ .edit-base-info-input__input {
59
+ display: inline-block;
60
+ padding: 0;
61
+ width: calc(100% - 12px);
62
+ font-size: 14px;
63
+ font-family: -apple-system, Arial, Verdana, Helvetica Neue, Helvetica, sans-serif, PingFang SC, Microsoft YaHei;
64
+ font-weight: 400;
65
+ color: #3f4755;
66
+ height: 22px;
67
+ line-height: inherit;
68
+ border: none;
69
+ }
70
+
71
+ .edit-base-info-input__input::-webkit-input-placeholder {
72
+ color: #bfc7d5;
73
+ font-weight: unset;
74
+ }
75
+
76
+ .edit-base-info-input__input::-moz-placeholder {
77
+ color: #bfc7d5;
78
+ font-weight: unset;
79
+ }
80
+
81
+ .edit-base-info-input__input:-moz-placeholder {
82
+ color: #bfc7d5;
83
+ font-weight: unset;
84
+ }
85
+
86
+ .edit-base-info-input__input:-ms-input-placeholder {
87
+ color: #bfc7d5;
88
+ font-weight: unset;
89
+ }
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _errorTip = _interopRequireDefault(require("../../../../../components/tooltip/error-tip"));
15
+
16
+ require("./index.css");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+
28
+ 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."); }
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
35
+
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+
38
+ var preCls = 'edit-base-info-input';
39
+
40
+ var OverlayInner = function OverlayInner(_ref) {
41
+ var hasError = _ref.hasError,
42
+ hasActive = _ref.hasActive,
43
+ tip = _ref.tip;
44
+ if (hasError) return /*#__PURE__*/_react["default"].createElement("span", {
45
+ style: {
46
+ 'color': '#F05E5E'
47
+ }
48
+ }, tip);
49
+ if (hasActive) return /*#__PURE__*/_react["default"].createElement("span", {
50
+ style: {
51
+ 'color': '#3F4755'
52
+ }
53
+ }, tip);
54
+ return /*#__PURE__*/_react["default"].createElement("span", null);
55
+ };
56
+
57
+ var popupAlign = {
58
+ offset: [-12, -4],
59
+ overflow: {
60
+ adjustX: true,
61
+ adjustY: true
62
+ },
63
+ targetOffset: [0, 0]
64
+ };
65
+
66
+ var _default = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
67
+ var _classNames;
68
+
69
+ var label = props.label,
70
+ verifies = props.verifies,
71
+ placeholder = props.placeholder,
72
+ onChange = props.onChange,
73
+ require = props.require,
74
+ type = props.type,
75
+ name = props.name,
76
+ disabled = props.disabled,
77
+ getContainer = props.getContainer;
78
+ var inputRef = (0, _react.useRef)();
79
+
80
+ var _useState = (0, _react.useState)(false),
81
+ _useState2 = _slicedToArray(_useState, 2),
82
+ hasError = _useState2[0],
83
+ setHasError = _useState2[1];
84
+
85
+ var _useState3 = (0, _react.useState)(false),
86
+ _useState4 = _slicedToArray(_useState3, 2),
87
+ hasActive = _useState4[0],
88
+ setHasActive = _useState4[1];
89
+
90
+ var _useState5 = (0, _react.useState)(''),
91
+ _useState6 = _slicedToArray(_useState5, 2),
92
+ tip = _useState6[0],
93
+ setTip = _useState6[1];
94
+
95
+ var _useState7 = (0, _react.useState)(props.value || ''),
96
+ _useState8 = _slicedToArray(_useState7, 2),
97
+ value = _useState8[0],
98
+ setValue = _useState8[1];
99
+
100
+ (0, _react.useEffect)(function () {
101
+ setValue(props.value);
102
+ }, [props.value]);
103
+
104
+ var _verifing = function verifing() {
105
+ var value = inputRef.current && inputRef.current.value;
106
+ if (!verifies || !verifies.length) return [];
107
+ if (!require && !value) return [];
108
+ var errors = [];
109
+
110
+ for (var i = 0; i < verifies.length; i++) {
111
+ var _verifies$i = verifies[i],
112
+ test = _verifies$i.test,
113
+ _tip = _verifies$i.tip;
114
+
115
+ if (!value.match(test)) {
116
+ errors.push({
117
+ name: name,
118
+ tip: _tip
119
+ });
120
+ }
121
+ }
122
+
123
+ return errors;
124
+ };
125
+
126
+ var onInputFocusHandler = function onInputFocusHandler() {
127
+ setHasActive(true);
128
+ inputRef.current.setSelectionRange(9999999, 9999999);
129
+ };
130
+
131
+ var onBlurHandler = function onBlurHandler() {
132
+ setHasActive(false);
133
+ };
134
+
135
+ var onChangeHandler = function onChangeHandler() {
136
+ var value = inputRef.current && inputRef.current.value;
137
+ onChange && onChange(value);
138
+ setValue(value);
139
+
140
+ var errors = _verifing();
141
+
142
+ if (errors.length) {
143
+ setHasError(true);
144
+ setTip(errors[0].tip);
145
+ } else {
146
+ setHasError(false);
147
+ setTip('');
148
+ }
149
+ };
150
+
151
+ (0, _react.useImperativeHandle)(ref, function () {
152
+ return {
153
+ 'verifing': function verifing() {
154
+ var errors = _verifing();
155
+
156
+ if (errors.length) {
157
+ setHasError(true);
158
+ setTip(errors[0].tip);
159
+ inputRef.current.focus();
160
+ }
161
+
162
+ return errors;
163
+ }
164
+ };
165
+ });
166
+ return /*#__PURE__*/_react["default"].createElement("div", {
167
+ className: (0, _classnames["default"])(preCls)
168
+ }, /*#__PURE__*/_react["default"].createElement("div", {
169
+ className: (0, _classnames["default"])("".concat(preCls, "__label"))
170
+ }, /*#__PURE__*/_react["default"].createElement("span", {
171
+ className: (0, _classnames["default"])("".concat(preCls, "__label-text"))
172
+ }, label)), /*#__PURE__*/_react["default"].createElement("div", {
173
+ className: (0, _classnames["default"])("".concat(preCls, "__border"), (_classNames = {}, _defineProperty(_classNames, "".concat(preCls, "__border--error"), hasError), _defineProperty(_classNames, "".concat(preCls, "__border--active"), hasActive), _defineProperty(_classNames, "".concat(preCls, "__border--disabled"), disabled), _classNames))
174
+ }, /*#__PURE__*/_react["default"].createElement(_errorTip["default"], {
175
+ placement: 'topLeft',
176
+ popupAlign: popupAlign,
177
+ destroyTooltipOnHide: true,
178
+ visible: (hasActive || hasError) && tip,
179
+ overlay: /*#__PURE__*/_react["default"].createElement(OverlayInner, {
180
+ hasActive: hasActive,
181
+ hasError: hasError,
182
+ tip: tip
183
+ }),
184
+ getTooltipContainer: getContainer
185
+ }, /*#__PURE__*/_react["default"].createElement("input", {
186
+ ref: inputRef,
187
+ type: type,
188
+ disabled: disabled,
189
+ className: (0, _classnames["default"])("".concat(preCls, "__input")),
190
+ value: value,
191
+ placeholder: placeholder,
192
+ onFocus: onInputFocusHandler,
193
+ onBlur: onBlurHandler,
194
+ onChange: onChangeHandler,
195
+ autoComplete: "off"
196
+ }))));
197
+ });
198
+
199
+ exports["default"] = _default;