intelicoreact 1.1.80 → 1.1.81

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
@@ -11,8 +11,6 @@ exports.default = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
15
 
18
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -25,6 +23,8 @@ var _index = require("../../../Constants/index.constants");
25
23
 
26
24
  var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
27
25
 
26
+ var _utils = require("../../../../src/Functions/utils");
27
+
28
28
  var _Spinner = _interopRequireDefault(require("../../Layout/Spinner/Spinner"));
29
29
 
30
30
  require("./Input.scss");
@@ -33,12 +33,14 @@ var _DynamicIcon = _interopRequireDefault(require("../../UI/DynamicIcon/DynamicI
33
33
 
34
34
  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); }
35
35
 
36
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
36
+ 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; }
37
37
 
38
38
  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; }
39
39
 
40
40
  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) { (0, _defineProperty2.default)(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; }
41
41
 
42
+ var HIDE_SYMBOL = "\u2022";
43
+
42
44
  var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
43
45
  var _ref$autocomplete = _ref.autocomplete,
44
46
  autocomplete = _ref$autocomplete === void 0 ? 'off' : _ref$autocomplete,
@@ -115,8 +117,7 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
115
117
  var inputInnerRef = (0, _react.useRef)(null);
116
118
  var inputRef = (0, _react.useMemo)(function () {
117
119
  return ref || inputInnerRef;
118
- }, [ref]);
119
- var previousValueRef = (0, _react.useRef)(value);
120
+ }, [ref]); // const previousValueRef = useRef(value);
120
121
 
121
122
  var _useState5 = (0, _react.useState)(false),
122
123
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
@@ -138,15 +139,25 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
138
139
  prevValue = _useState12[0],
139
140
  setPreviousValue = _useState12[1];
140
141
 
142
+ var _useState13 = (0, _react.useState)({
143
+ start: null,
144
+ end: null,
145
+ keyCode: null
146
+ }),
147
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
148
+ keyDownData = _useState14[0],
149
+ setKeyDownData = _useState14[1];
150
+
141
151
  var isUseBitDepthPoints = !!onlyNumbers && isPriceInput;
142
152
  var isUseErrorsBlink = !isNotBlinkErrors && !mask;
143
- var inputName = name || fieldKey || id || key; // HANDLES
153
+ var inputName = name || fieldKey || id || key;
154
+ var isPseudoPasswordMode = type === 'pseudoPassword'; // HANDLES
144
155
 
145
156
  var handle = {
146
- correctMinMax: function correctMinMax(value, type) {
157
+ correctMinMax: function correctMinMax(value, correctionType) {
147
158
  if (!onlyNumbers) return value;
148
159
 
149
- var _ref2 = (0, _typeof2.default)(onlyNumbers) === 'object' ? onlyNumbers : {},
160
+ var _ref2 = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {},
150
161
  min = _ref2.min,
151
162
  max = _ref2.max,
152
163
  isOnlyPositive = _ref2.isOnlyPositive,
@@ -181,7 +192,7 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
181
192
 
182
193
  inputValue = (0, _fieldValueFormatters.filterNumeric)(inputValue, onlyNumbers);
183
194
 
184
- switch (type) {
195
+ switch (correctionType) {
185
196
  case 'min':
186
197
  checkMin();
187
198
  break;
@@ -198,18 +209,48 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
198
209
 
199
210
  return inputValue;
200
211
  },
212
+ processPseudoValue: function processPseudoValue(newValue, oldValue) {
213
+ var insertedPart = newValue.replace(new RegExp(HIDE_SYMBOL, 'g'), ''); //? Если insertedPart.length > 1, то это точно копи-паст
214
+ //? По договоренности любой копипаст заменяет текущее велью
215
+
216
+ if (insertedPart.length > 1) return insertedPart;
217
+ var isOldValueHasBeenReduced = newValue.replace(new RegExp(/^HIDE_SYMBOL/g), '').length < oldValue.length;
218
+ var oldValueArr = oldValue.split('');
219
+
220
+ var getIsInclude = function getIsInclude(idx) {
221
+ var BACKSPACE_CODE = 8; //? Если позиции не равны, значит была выделена область, значит будем воспринимать как копи-паст
222
+
223
+ if (keyDownData.start !== keyDownData.end) return false; //? Если позиции равны и есть вставляемое значение - обрезаем "хвост"
224
+
225
+ if (insertedPart) return idx < keyDownData.start; //? Если позиции равны и нет вставляемого значения - значит симвовол удалили
226
+
227
+ return keyDownData.keyCode === BACKSPACE_CODE ? idx < keyDownData.start - 1 || idx > keyDownData.end - 1 : idx < keyDownData.start || idx > keyDownData.end;
228
+ };
229
+
230
+ if (!insertedPart) return oldValueArr.reduce(function (acc, sym, idx) {
231
+ return getIsInclude(idx) ? "".concat(acc).concat(sym) : acc;
232
+ }, '');
233
+ var outputStructure = oldValueArr.reduce(function (acc, sym, idx) {
234
+ if (getIsInclude(idx)) acc.result = "".concat(acc.result).concat(sym);else if (!acc.position) acc.position = insertedPart ? idx : idx - 1;
235
+ return acc;
236
+ }, {
237
+ result: '',
238
+ position: !isOldValueHasBeenReduced ? keyDownData.start : null
239
+ });
240
+ var output = "".concat(outputStructure.result.slice(0, outputStructure.position)).concat(insertedPart).concat(outputStructure.result.slice(outputStructure.position));
241
+ return output;
242
+ },
201
243
  change: function change(e) {
202
244
  var _minusSymbol3;
203
245
 
204
- var _ref3 = (0, _typeof2.default)(onlyNumbers) === 'object' ? onlyNumbers : {},
205
- max = _ref3.max,
206
- min = _ref3.min,
207
- isOnlyPositive = _ref3.isOnlyPositive,
208
- isNoEmptyValues = _ref3.isNoEmptyValues;
246
+ var _ref3 = (0, _utils.getIsOnlyAnObject)(onlyNumbers) ? onlyNumbers : {},
247
+ isOnlyPositive = _ref3.isOnlyPositive;
209
248
 
210
249
  var minusSymbol;
211
250
  var inputValue = e.target ? e.target.value : e;
251
+ if (isPseudoPasswordMode) inputValue = inputValue.includes(HIDE_SYMBOL) ? handle.processPseudoValue(inputValue, value, e) : inputValue;
212
252
  if (isUseBitDepthPoints) inputValue = (0, _fieldValueFormatters.formatToRemoveComa)(inputValue);
253
+ if (onlyNumbers) inputValue = inputValue.replace(/,/g, '.');
213
254
 
214
255
  if (onlyNumbers && !isOnlyPositive && inputValue[0] === '-') {
215
256
  minusSymbol = '-';
@@ -251,6 +292,11 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
251
292
  var _e$target;
252
293
 
253
294
  setPreviousValue(e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value);
295
+ setKeyDownData({
296
+ start: e.target.selectionStart,
297
+ end: e.target.selectionEnd,
298
+ keyCode: e.keyCode
299
+ });
254
300
  onKeyDown(e.keyCode, e);
255
301
  },
256
302
  keyUp: function keyUp(e) {
@@ -300,9 +346,26 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
300
346
  if (inputRef !== null && inputRef !== void 0 && inputRef.current && typeof isFocusDefault === 'boolean') setIsFocused(isFocusDefault);
301
347
  setEditing(isFocusDefault);
302
348
  }, [inputRef, isFocusDefault]);
303
- var formatedValue = (0, _fieldValueFormatters.getSafelyValue)(value);
304
- if (onlyNumbers !== null && onlyNumbers !== void 0 && onlyNumbers.isNoEmptyValues) formatedValue = handle.correctMinMax(formatedValue, 'min');
305
- if (isUseBitDepthPoints) formatedValue = (0, _fieldValueFormatters.formatToAddBitDepthPoints)(formatedValue, onlyNumbers);
349
+
350
+ var getInputType = function getInputType() {
351
+ if (isPriceInput || isPseudoPasswordMode) return 'text';
352
+ return type;
353
+ };
354
+
355
+ var formatedValue = function () {
356
+ var safelyValue = (0, _fieldValueFormatters.getSafelyValue)(value);
357
+
358
+ var hideSymbols = function hideSymbols() {
359
+ return safelyValue.split('').map(function () {
360
+ return HIDE_SYMBOL;
361
+ }).join('');
362
+ };
363
+
364
+ if (isPseudoPasswordMode) return hideSymbols();
365
+ if (onlyNumbers !== null && onlyNumbers !== void 0 && onlyNumbers.isNoEmptyValues) safelyValue = handle.correctMinMax(safelyValue, 'min');
366
+ if (isUseBitDepthPoints) safelyValue = (0, _fieldValueFormatters.formatToAddBitDepthPoints)(safelyValue, onlyNumbers);
367
+ return safelyValue;
368
+ }();
306
369
 
307
370
  var uniProps = _objectSpread(_objectSpread({
308
371
  name: inputName,
@@ -338,8 +401,8 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
338
401
  "data-testid": "input--key-".concat(testId, "--type-").concat(type)
339
402
  }, uniProps, {
340
403
  ref: inputRef,
341
- type: isPriceInput ? 'text' : type,
342
- autoComplete: autocomplete,
404
+ type: getInputType(),
405
+ autoComplete: isPseudoPasswordMode ? 'off' : autocomplete,
343
406
  onFocus: function onFocus() {
344
407
  if (isUseAutoSelect) inputRef.current.select();
345
408
  if (uniProps.onFocus) uniProps.onFocus.apply(uniProps, arguments);
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", {
10
10
  exports.transformUTCTimeToLocal = transformUTCTimeToLocal;
11
11
  exports.transformUTCHoursToLocal = transformUTCHoursToLocal;
12
12
  exports.downloadEmulation = downloadEmulation;
13
- exports.getCorrectTestId = exports.disableDefaultBehavior = exports.getOS = exports.getUniqueFileExtensions = exports.renderFileSize = exports.getBase64 = exports.compareAlphabetical = exports.setCarretToEnd = exports.compare = exports.downloadFile = exports.checkedRef = exports.capitalized = exports.firstLetterCapital = exports.changeMeta = exports.addBitDepthPoints = exports.throttle = exports.debounce = exports.getColorById = exports.getStyles = exports.logout = exports.omitKeys = exports.clone = exports.useOutsideToggle = exports.handleObjectChange = void 0;
13
+ exports.getIsOnlyAnObject = exports.getCorrectTestId = exports.disableDefaultBehavior = exports.getOS = exports.getUniqueFileExtensions = exports.renderFileSize = exports.getBase64 = exports.compareAlphabetical = exports.setCarretToEnd = exports.compare = exports.downloadFile = exports.checkedRef = exports.capitalized = exports.firstLetterCapital = exports.changeMeta = exports.addBitDepthPoints = exports.throttle = exports.debounce = exports.getColorById = exports.getStyles = exports.logout = exports.omitKeys = exports.clone = exports.useOutsideToggle = exports.handleObjectChange = void 0;
14
14
 
15
15
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
16
16
 
@@ -540,4 +540,10 @@ var getCorrectTestId = function getCorrectTestId(_ref4) {
540
540
  return testId && testId !== undefined ? "".concat(withTier ? '-' : '').concat(testId) : '';
541
541
  };
542
542
 
543
- exports.getCorrectTestId = getCorrectTestId;
543
+ exports.getCorrectTestId = getCorrectTestId;
544
+
545
+ var getIsOnlyAnObject = function getIsOnlyAnObject(input) {
546
+ return (0, _typeof2.default)(input) === 'object' && input instanceof Object && !Array.isArray(input);
547
+ };
548
+
549
+ exports.getIsOnlyAnObject = getIsOnlyAnObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "1.1.80",
3
+ "version": "1.1.81",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [