@alfalab/core-components-intl-phone-input 9.2.9 → 9.2.11

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 (66) hide show
  1. package/component.js +7 -6
  2. package/components/flag-icon/component.js +1 -1
  3. package/components/flag-icon/index.css +3 -3
  4. package/components/index.js +2 -1
  5. package/components/select/component.js +6 -5
  6. package/components/select/index.css +6 -6
  7. package/components/select/index.js +6 -5
  8. package/components/select-field/component.d.ts +8 -0
  9. package/components/select-field/component.js +36 -9
  10. package/components/select-field/index.css +9 -9
  11. package/components/select-field/index.d.ts +1 -1
  12. package/components/select-field/index.js +2 -1
  13. package/cssm/component.js +5 -4
  14. package/cssm/components/index.js +2 -1
  15. package/cssm/components/select/component.js +6 -5
  16. package/cssm/components/select/index.js +7 -6
  17. package/cssm/components/select-field/component.d.ts +8 -0
  18. package/cssm/components/select-field/component.js +35 -10
  19. package/cssm/components/select-field/index.d.ts +1 -1
  20. package/cssm/components/select-field/index.js +2 -1
  21. package/cssm/index.js +9 -8
  22. package/cssm/utils/preparePasteData.d.ts +1 -1
  23. package/cssm/utils/preparePasteData.js +7 -3
  24. package/esm/component.js +5 -4
  25. package/esm/components/flag-icon/component.js +1 -1
  26. package/esm/components/flag-icon/index.css +3 -3
  27. package/esm/components/index.js +2 -1
  28. package/esm/components/select/component.js +5 -4
  29. package/esm/components/select/index.css +6 -6
  30. package/esm/components/select/index.js +6 -5
  31. package/esm/components/select-field/component.d.ts +8 -0
  32. package/esm/components/select-field/component.js +31 -7
  33. package/esm/components/select-field/index.css +9 -9
  34. package/esm/components/select-field/index.d.ts +1 -1
  35. package/esm/components/select-field/index.js +2 -1
  36. package/esm/index.css +5 -5
  37. package/esm/index.js +7 -6
  38. package/esm/{libphonenumber-js.min-cb857554.d.ts → libphonenumber-js.min-1e9caa43.d.ts} +0 -0
  39. package/esm/{libphonenumber-js.min-cb857554.js → libphonenumber-js.min-1e9caa43.js} +0 -0
  40. package/esm/utils/preparePasteData.d.ts +1 -1
  41. package/esm/utils/preparePasteData.js +7 -3
  42. package/index.css +5 -5
  43. package/index.js +7 -6
  44. package/{libphonenumber-js.min-4def49d7.d.ts → libphonenumber-js.min-2b3f9314.d.ts} +0 -0
  45. package/{libphonenumber-js.min-4def49d7.js → libphonenumber-js.min-2b3f9314.js} +0 -0
  46. package/modern/component.js +3 -3
  47. package/modern/components/flag-icon/component.js +1 -1
  48. package/modern/components/flag-icon/index.css +3 -3
  49. package/modern/components/select/component.js +1 -1
  50. package/modern/components/select/index.css +6 -6
  51. package/modern/components/select-field/component.js +1 -1
  52. package/modern/components/select-field/index.css +9 -9
  53. package/modern/index.css +5 -5
  54. package/modern/{libphonenumber-js.min-cb857554.d.ts → libphonenumber-js.min-1e9caa43.d.ts} +0 -0
  55. package/modern/{libphonenumber-js.min-cb857554.js → libphonenumber-js.min-1e9caa43.js} +0 -0
  56. package/modern/utils/preparePasteData.d.ts +1 -1
  57. package/modern/utils/preparePasteData.js +7 -3
  58. package/package.json +6 -5
  59. package/utils/preparePasteData.d.ts +1 -1
  60. package/utils/preparePasteData.js +7 -3
  61. package/component-1f1cb3eb.d.ts +0 -41
  62. package/component-1f1cb3eb.js +0 -80
  63. package/cssm/component-01884de0.d.ts +0 -41
  64. package/cssm/component-01884de0.js +0 -79
  65. package/esm/component-4980ce1c.d.ts +0 -41
  66. package/esm/component-4980ce1c.js +0 -69
package/component.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('./component-1f1cb3eb.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsInputAutocomplete = require('@alfalab/core-components-input-autocomplete');
@@ -16,6 +16,7 @@ var components_select_component = require('./components/select/component.js');
16
16
  var useCaretAvoidCountryCode = require('./useCaretAvoidCountryCode.js');
17
17
  require('./components/flag-icon/flagSprite.js');
18
18
  require('@alfalab/core-components-select');
19
+ require('./components/select-field/component.js');
19
20
 
20
21
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
21
22
 
@@ -23,7 +24,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
23
24
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
24
25
  var WorldMagnifierMIcon__default = /*#__PURE__*/_interopDefaultCompat(WorldMagnifierMIcon);
25
26
 
26
- var styles = {"addons":"intl-phone-input__addons_vt4ry","l":"intl-phone-input__l_vt4ry","xl":"intl-phone-input__xl_vt4ry","flagIconWrapper":"intl-phone-input__flagIconWrapper_vt4ry","emptyCountryIcon":"intl-phone-input__emptyCountryIcon_vt4ry"};
27
+ var styles = {"addons":"intl-phone-input__addons_1acfj","l":"intl-phone-input__l_1acfj","xl":"intl-phone-input__xl_1acfj","flagIconWrapper":"intl-phone-input__flagIconWrapper_1acfj","emptyCountryIcon":"intl-phone-input__emptyCountryIcon_1acfj"};
27
28
  require('./index.css')
28
29
 
29
30
  var countriesHash = utils.getCountriesHash();
@@ -32,7 +33,7 @@ var MASK_SYMBOLS = [' ', '-', '(', ')'];
32
33
  var MAX_PHONE_LEN = 15;
33
34
  var DEFAULT_MAX_PHONE_LEN_BY_COUNTRY = { RU: 11 };
34
35
  var IntlPhoneInput = React.forwardRef(function (_a, ref) {
35
- var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, _d = _a.hideCountrySelect, hideCountrySelect = _d === void 0 ? false : _d, _e = _a.canBeEmptyCountry, canBeEmptyCountry = _e === void 0 ? false : _e, _f = _a.ruNumberPriority, ruNumberPriority = _f === void 0 ? false : _f, _g = _a.clear, clear = _g === void 0 ? false : _g, _h = _a.size, size = _h === void 0 ? 'm' : _h, _j = _a.colors, colors = _j === void 0 ? 'default' : _j, _k = _a.options, options = _k === void 0 ? [] : _k, _l = _a.countries, countries = _l === void 0 ? utils.getCountries() : _l, _m = _a.clearableCountryCode, clearableCountryCode = _m === void 0 ? true : _m, className = _a.className, value = _a.value, onChange = _a.onChange, onCountryChange = _a.onCountryChange, _o = _a.defaultCountryIso2, defaultCountryIso2 = _o === void 0 ? 'ru' : _o, preventFlip = _a.preventFlip, inputProps = _a.inputProps, _p = _a.maxPhoneLen, maxPhoneLen = _p === void 0 ? DEFAULT_MAX_PHONE_LEN_BY_COUNTRY : _p, restProps = components_selectField_component.__rest(_a, ["disabled", "readOnly", "hideCountrySelect", "canBeEmptyCountry", "ruNumberPriority", "clear", "size", "colors", "options", "countries", "clearableCountryCode", "className", "value", "onChange", "onCountryChange", "defaultCountryIso2", "preventFlip", "inputProps", "maxPhoneLen"]);
36
+ var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, _d = _a.hideCountrySelect, hideCountrySelect = _d === void 0 ? false : _d, _e = _a.canBeEmptyCountry, canBeEmptyCountry = _e === void 0 ? false : _e, _f = _a.ruNumberPriority, ruNumberPriority = _f === void 0 ? false : _f, _g = _a.clear, clear = _g === void 0 ? false : _g, _h = _a.size, size = _h === void 0 ? 'm' : _h, _j = _a.colors, colors = _j === void 0 ? 'default' : _j, _k = _a.options, options = _k === void 0 ? [] : _k, _l = _a.countries, countries = _l === void 0 ? utils.getCountries() : _l, _m = _a.clearableCountryCode, clearableCountryCode = _m === void 0 ? true : _m, className = _a.className, value = _a.value, onChange = _a.onChange, onCountryChange = _a.onCountryChange, _o = _a.defaultCountryIso2, defaultCountryIso2 = _o === void 0 ? 'ru' : _o, preventFlip = _a.preventFlip, inputProps = _a.inputProps, _p = _a.maxPhoneLen, maxPhoneLen = _p === void 0 ? DEFAULT_MAX_PHONE_LEN_BY_COUNTRY : _p, restProps = tslib.__rest(_a, ["disabled", "readOnly", "hideCountrySelect", "canBeEmptyCountry", "ruNumberPriority", "clear", "size", "colors", "options", "countries", "clearableCountryCode", "className", "value", "onChange", "onCountryChange", "defaultCountryIso2", "preventFlip", "inputProps", "maxPhoneLen"]);
36
37
  var _q = React.useState(defaultCountryIso2.toLowerCase()), countryIso2 = _q[0], setCountryIso2 = _q[1];
37
38
  var inputRef = React.useRef(null);
38
39
  var _r = React.useState(null), inputWrapperRef = _r[0], setInputWrapperRef = _r[1];
@@ -256,7 +257,7 @@ var IntlPhoneInput = React.forwardRef(function (_a, ref) {
256
257
  return;
257
258
  }
258
259
  var _b = inputRef.current, selectionStart = _b.selectionStart, selectionEnd = _b.selectionEnd;
259
- var preparedNumber = utils_preparePasteData.preparePasteData(value, text, selectionStart || 0, selectionEnd || 0);
260
+ var preparedNumber = utils_preparePasteData.preparePasteData(value, text, selectionStart || 0, selectionEnd || 0, ruNumberPriority && countryIso2 === 'ru');
260
261
  var targetCountry = getCountryByNumber(preparedNumber);
261
262
  var maxPhoneLength = (targetCountry && (maxPhoneLen === null || maxPhoneLen === void 0 ? void 0 : maxPhoneLen[targetCountry.iso2.toUpperCase()])) || MAX_PHONE_LEN;
262
263
  var resultNumber = preparedNumber.substring(0, maxPhoneLength + 1);
@@ -275,7 +276,7 @@ var IntlPhoneInput = React.forwardRef(function (_a, ref) {
275
276
  if (phoneLibUtils.current)
276
277
  return;
277
278
  Promise.resolve().then(function () { return require(
278
- /* webpackChunkName: "libphonenumber" */ './libphonenumber-js.min-4def49d7.js'); })
279
+ /* webpackChunkName: "libphonenumber" */ './libphonenumber-js.min-2b3f9314.js'); })
279
280
  .then(function (utils) {
280
281
  phoneLibUtils.current = utils.AsYouType;
281
282
  if (canBeEmptyCountry) {
@@ -306,7 +307,7 @@ var IntlPhoneInput = React.forwardRef(function (_a, ref) {
306
307
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
307
308
  }, [value, canBeEmptyCountry, countryIso2, defaultCountryIso2]);
308
309
  useCaretAvoidCountryCode.useCaretAvoidCountryCode({ inputRef: inputRef, countryCodeLength: countryCodeLength, clearableCountryCode: clearableCountryCode });
309
- return (React__default.default.createElement(coreComponentsInputAutocomplete.InputAutocomplete, components_selectField_component.__assign({}, restProps, { ref: ref, inputProps: components_selectField_component.__assign(components_selectField_component.__assign({ clear: clear && !isEmptyValue, onClear: handleClear }, inputProps), { ref: inputRef, wrapperRef: setInputWrapperRef, type: 'tel', colors: colors, className: cn__default.default(className, styles[size]), addonsClassName: styles.addons, onKeyDown: handleKeyDown, onPaste: handlePaste, leftAddons: hideCountrySelect ? (React__default.default.createElement("span", { className: styles.flagIconWrapper }, countryIso2 ? (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: countryIso2 })) : (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles.emptyCountryIcon })))) : (countries.length > 1 && (React__default.default.createElement(components_select_component.CountriesSelect, { dataTestId: 'countries-select', disabled: disabled || readOnly, size: size, selected: countryIso2, countries: countries, onChange: handleSelectChange, fieldWidth: inputWrapperRef && inputWrapperRef.getBoundingClientRect().width, preventFlip: preventFlip }))) }), optionsListWidth: 'field', closeOnSelect: true, onInput: handleInputChange, onChange: handleChange, options: options, disabled: disabled, readOnly: readOnly, size: size, className: className, value: value })));
310
+ return (React__default.default.createElement(coreComponentsInputAutocomplete.InputAutocomplete, tslib.__assign({}, restProps, { ref: ref, inputProps: tslib.__assign(tslib.__assign({ clear: clear && !isEmptyValue, onClear: handleClear }, inputProps), { ref: inputRef, wrapperRef: setInputWrapperRef, type: 'tel', colors: colors, className: cn__default.default(className, styles[size]), addonsClassName: styles.addons, onKeyDown: handleKeyDown, onPaste: handlePaste, leftAddons: hideCountrySelect ? (React__default.default.createElement("span", { className: styles.flagIconWrapper }, countryIso2 ? (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: countryIso2 })) : (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles.emptyCountryIcon })))) : (countries.length > 1 && (React__default.default.createElement(components_select_component.CountriesSelect, { dataTestId: 'countries-select', disabled: disabled || readOnly, size: size, selected: countryIso2, countries: countries, onChange: handleSelectChange, fieldWidth: inputWrapperRef && inputWrapperRef.getBoundingClientRect().width, preventFlip: preventFlip }))) }), optionsListWidth: 'field', closeOnSelect: true, onInput: handleInputChange, onChange: handleChange, options: options, disabled: disabled, readOnly: readOnly, size: size, className: className, value: value })));
310
311
  });
311
312
 
312
313
  exports.IntlPhoneInput = IntlPhoneInput;
@@ -9,7 +9,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
10
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
11
11
 
12
- var styles = {"flagIcon":"intl-phone-input__flagIcon_1wq82","flagPlaceholder":"intl-phone-input__flagPlaceholder_1wq82"};
12
+ var styles = {"flagIcon":"intl-phone-input__flagIcon_1ejpq","flagPlaceholder":"intl-phone-input__flagPlaceholder_1ejpq"};
13
13
  require('./index.css')
14
14
 
15
15
  /**
@@ -1,4 +1,4 @@
1
- /* hash: 14c85 */
1
+ /* hash: zfmlt */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-specialbg-tertiary-transparent: rgba(11, 31, 53, 0.1);
@@ -17,10 +17,10 @@
17
17
  --gap-3xs: 2px;
18
18
  } :root {
19
19
  } :root {
20
- } .intl-phone-input__flagIcon_1wq82 {
20
+ } .intl-phone-input__flagIcon_1ejpq {
21
21
  max-width: 24px;
22
22
  max-height: 24px;
23
- } .intl-phone-input__flagPlaceholder_1wq82 {
23
+ } .intl-phone-input__flagPlaceholder_1ejpq {
24
24
  width: 24px;
25
25
  height: 16px;
26
26
  max-height: 16px;
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../component-1f1cb3eb.js');
3
+ var components_selectField_component = require('./select-field/component.js');
4
4
  var components_flagIcon_component = require('./flag-icon/component.js');
5
5
  var components_select_component = require('./select/component.js');
6
+ require('tslib');
6
7
  require('react');
7
8
  require('react-merge-refs');
8
9
  require('classnames');
@@ -1,20 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-1f1cb3eb.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var coreComponentsSelect = require('@alfalab/core-components-select');
6
6
  var components_flagIcon_component = require('../flag-icon/component.js');
7
- require('react-merge-refs');
7
+ var components_selectField_component = require('../select-field/component.js');
8
8
  require('classnames');
9
+ require('../flag-icon/flagSprite.js');
10
+ require('react-merge-refs');
9
11
  require('@alfalab/hooks');
10
12
  require('@alfalab/icons-glyph/WorldMagnifierMIcon');
11
- require('../flag-icon/flagSprite.js');
12
13
 
13
14
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
15
 
15
16
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
17
 
17
- var styles = {"component":"intl-phone-input__component_jayli","option":"intl-phone-input__option_jayli","flag":"intl-phone-input__flag_jayli","countryName":"intl-phone-input__countryName_jayli","dialCode":"intl-phone-input__dialCode_jayli"};
18
+ var styles = {"component":"intl-phone-input__component_1i24a","option":"intl-phone-input__option_1i24a","flag":"intl-phone-input__flag_1i24a","countryName":"intl-phone-input__countryName_1i24a","dialCode":"intl-phone-input__dialCode_1i24a"};
18
19
  require('./index.css')
19
20
 
20
21
  var CountriesSelect = function (_a) {
@@ -36,7 +37,7 @@ var CountriesSelect = function (_a) {
36
37
  });
37
38
  }, [countries]);
38
39
  var renderOptionsList = React.useCallback(function (props) { return (React__default.default.createElement("div", { style: { width: fieldWidth || 0 } },
39
- React__default.default.createElement(coreComponentsSelect.VirtualOptionsList, components_selectField_component.__assign({}, props)))); }, [fieldWidth]);
40
+ React__default.default.createElement(coreComponentsSelect.VirtualOptionsList, tslib.__assign({}, props)))); }, [fieldWidth]);
40
41
  return (React__default.default.createElement("div", { className: styles.component, onClick: function (event) { return event.stopPropagation(); } },
41
42
  React__default.default.createElement(coreComponentsSelect.Select, { dataTestId: dataTestId, disabled: disabled, size: size, options: options, selected: selected || components_selectField_component.EMPTY_COUNTRY_SELECT_FIELD, onChange: onChange, Field: components_selectField_component.SelectField, OptionsList: renderOptionsList, preventFlip: preventFlip })));
42
43
  };
@@ -1,4 +1,4 @@
1
- /* hash: 1j1aw */
1
+ /* hash: djruy */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-text-secondary: rgba(11, 31, 53, 0.7);
@@ -17,19 +17,19 @@
17
17
  } :root {
18
18
  } :root {
19
19
  --text-secondary-color: var(--color-light-text-secondary);
20
- } .intl-phone-input__component_jayli {
20
+ } .intl-phone-input__component_1i24a {
21
21
  position: static;
22
22
  display: flex;
23
23
  min-width: initial;
24
24
  height: 100%;
25
- } .intl-phone-input__option_jayli {
25
+ } .intl-phone-input__option_1i24a {
26
26
  display: flex;
27
27
  align-items: flex-start;
28
- } .intl-phone-input__flag_jayli {
28
+ } .intl-phone-input__flag_1i24a {
29
29
  flex-shrink: 0;
30
30
  margin-right: var(--gap-xs);
31
- } .intl-phone-input__countryName_jayli {
31
+ } .intl-phone-input__countryName_1i24a {
32
32
  margin-right: var(--gap-xs);
33
- } .intl-phone-input__dialCode_jayli {
33
+ } .intl-phone-input__dialCode_1i24a {
34
34
  color: var(--text-secondary-color);
35
35
  }
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var components_select_component = require('./component.js');
4
- require('../../component-1f1cb3eb.js');
4
+ require('tslib');
5
5
  require('react');
6
- require('react-merge-refs');
6
+ require('@alfalab/core-components-select');
7
+ require('../flag-icon/component.js');
7
8
  require('classnames');
9
+ require('../flag-icon/flagSprite.js');
10
+ require('../select-field/component.js');
11
+ require('react-merge-refs');
8
12
  require('@alfalab/hooks');
9
13
  require('@alfalab/icons-glyph/WorldMagnifierMIcon');
10
- require('../flag-icon/component.js');
11
- require('../flag-icon/flagSprite.js');
12
- require('@alfalab/core-components-select');
13
14
 
14
15
 
15
16
 
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { FieldProps } from "@alfalab/core-components-select";
3
+ declare const EMPTY_COUNTRY_SELECT_FIELD: {
4
+ value: string;
5
+ key: string;
6
+ };
7
+ declare const SelectField: FC<FieldProps>;
8
+ export { EMPTY_COUNTRY_SELECT_FIELD, SelectField };
@@ -1,15 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-1f1cb3eb.js');
4
- require('react');
5
- require('react-merge-refs');
6
- require('classnames');
7
- require('@alfalab/hooks');
8
- require('@alfalab/icons-glyph/WorldMagnifierMIcon');
9
- require('../flag-icon/component.js');
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var mergeRefs = require('react-merge-refs');
6
+ var cn = require('classnames');
7
+ var hooks = require('@alfalab/hooks');
8
+ var WorldMagnifierMIcon = require('@alfalab/icons-glyph/WorldMagnifierMIcon');
9
+ var components_flagIcon_component = require('../flag-icon/component.js');
10
10
  require('../flag-icon/flagSprite.js');
11
11
 
12
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
13
 
14
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
16
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
+ var WorldMagnifierMIcon__default = /*#__PURE__*/_interopDefaultCompat(WorldMagnifierMIcon);
13
18
 
14
- exports.EMPTY_COUNTRY_SELECT_FIELD = components_selectField_component.EMPTY_COUNTRY_SELECT_FIELD;
15
- exports.SelectField = components_selectField_component.SelectField;
19
+ var styles = {"component":"intl-phone-input__component_11kms","flagIconContainer":"intl-phone-input__flagIconContainer_11kms","emptyCountryIcon":"intl-phone-input__emptyCountryIcon_11kms","disabled":"intl-phone-input__disabled_11kms","inner":"intl-phone-input__inner_11kms","l":"intl-phone-input__l_11kms","xl":"intl-phone-input__xl_11kms","focusVisible":"intl-phone-input__focusVisible_11kms"};
20
+ require('./index.css')
21
+
22
+ var EMPTY_COUNTRY_SELECT_FIELD = {
23
+ value: 'EMPTY_COUNTRY_SELECT_VALUE',
24
+ key: 'EMPTY_COUNTRY_SELECT_KEY',
25
+ };
26
+ var SelectField = function (_a) {
27
+ var _b;
28
+ var selected = _a.selected, Arrow = _a.Arrow, size = _a.size, disabled = _a.disabled, _c = _a.innerProps, innerProps = _c === void 0 ? {} : _c;
29
+ var wrapperRef = React.useRef(null);
30
+ var focusVisible = hooks.useFocus(wrapperRef, 'keyboard')[0];
31
+ var ref = innerProps.ref ? mergeRefs__default.default([innerProps.ref, wrapperRef]) : wrapperRef;
32
+ return (React__default.default.createElement("div", { ref: ref, className: cn__default.default(styles.component, size && styles[size], (_b = {},
33
+ _b[styles.focusVisible] = focusVisible,
34
+ _b[styles.disabled] = disabled,
35
+ _b)) },
36
+ React__default.default.createElement("div", tslib.__assign({}, innerProps, { className: styles.inner }),
37
+ React__default.default.createElement("span", { className: styles.flagIconContainer }, !selected || selected === EMPTY_COUNTRY_SELECT_FIELD ? (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles.emptyCountryIcon })) : (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: selected.value }))),
38
+ Arrow)));
39
+ };
40
+
41
+ exports.EMPTY_COUNTRY_SELECT_FIELD = EMPTY_COUNTRY_SELECT_FIELD;
42
+ exports.SelectField = SelectField;
@@ -1,4 +1,4 @@
1
- /* hash: ctxx0 */
1
+ /* hash: dzeop */
2
2
  :root {
3
3
  } /* deprecated */ :root {
4
4
  --color-light-border-link: #007aff;
@@ -21,33 +21,33 @@
21
21
  } :root {
22
22
  --focus-color: var(--color-light-border-link);
23
23
  --disabled-cursor: not-allowed;
24
- } .intl-phone-input__component_1aog5 {
24
+ } .intl-phone-input__component_11kms {
25
25
  height: 100%;
26
26
  cursor: pointer;
27
27
  outline: none;
28
28
  position: relative;
29
- } .intl-phone-input__flagIconContainer_1aog5 {
29
+ } .intl-phone-input__flagIconContainer_11kms {
30
30
  display: flex;
31
31
  justify-content: center;
32
32
  align-items: center;
33
33
  width: 24px;
34
34
  height: 24px;
35
35
  margin-right: var(--gap-2xs);
36
- } .intl-phone-input__emptyCountryIcon_1aog5 {
36
+ } .intl-phone-input__emptyCountryIcon_11kms {
37
37
  color: var(--color-light-graphic-secondary);
38
- } .intl-phone-input__disabled_1aog5 {
38
+ } .intl-phone-input__disabled_11kms {
39
39
  cursor: var(--disabled-cursor);
40
- } .intl-phone-input__inner_1aog5 {
40
+ } .intl-phone-input__inner_11kms {
41
41
  position: relative;
42
42
  display: flex;
43
43
  align-items: center;
44
44
  height: 100%;
45
45
  padding-left: var(--gap-s);
46
46
  outline: none;
47
- } .intl-phone-input__l_1aog5 .intl-phone-input__inner_1aog5,
48
- .intl-phone-input__xl_1aog5 .intl-phone-input__inner_1aog5 {
47
+ } .intl-phone-input__l_11kms .intl-phone-input__inner_11kms,
48
+ .intl-phone-input__xl_11kms .intl-phone-input__inner_11kms {
49
49
  padding-left: var(--gap-m);
50
- } .intl-phone-input__focusVisible_1aog5 {
50
+ } .intl-phone-input__focusVisible_11kms {
51
51
  outline: 2px solid var(--focus-color);
52
52
  outline-offset: 2px;
53
53
  }
@@ -1 +1 @@
1
- export * from "../../component-1f1cb3eb";
1
+ export * from "./component";
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-1f1cb3eb.js');
3
+ var components_selectField_component = require('./component.js');
4
+ require('tslib');
4
5
  require('react');
5
6
  require('react-merge-refs');
6
7
  require('classnames');
package/cssm/component.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('./component-01884de0.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
6
  var coreComponentsInputAutocomplete = require('@alfalab/core-components-input-autocomplete/cssm');
@@ -19,6 +19,7 @@ var styles = require('./index.module.css');
19
19
  require('./components/flag-icon/flagSprite.js');
20
20
  require('./components/flag-icon/index.module.css');
21
21
  require('@alfalab/core-components-select/cssm');
22
+ require('./components/select-field/component.js');
22
23
  require('./components/select/index.module.css');
23
24
 
24
25
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
@@ -34,7 +35,7 @@ var MASK_SYMBOLS = [' ', '-', '(', ')'];
34
35
  var MAX_PHONE_LEN = 15;
35
36
  var DEFAULT_MAX_PHONE_LEN_BY_COUNTRY = { RU: 11 };
36
37
  var IntlPhoneInput = React.forwardRef(function (_a, ref) {
37
- var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, _d = _a.hideCountrySelect, hideCountrySelect = _d === void 0 ? false : _d, _e = _a.canBeEmptyCountry, canBeEmptyCountry = _e === void 0 ? false : _e, _f = _a.ruNumberPriority, ruNumberPriority = _f === void 0 ? false : _f, _g = _a.clear, clear = _g === void 0 ? false : _g, _h = _a.size, size = _h === void 0 ? 'm' : _h, _j = _a.colors, colors = _j === void 0 ? 'default' : _j, _k = _a.options, options = _k === void 0 ? [] : _k, _l = _a.countries, countries = _l === void 0 ? utils.getCountries() : _l, _m = _a.clearableCountryCode, clearableCountryCode = _m === void 0 ? true : _m, className = _a.className, value = _a.value, onChange = _a.onChange, onCountryChange = _a.onCountryChange, _o = _a.defaultCountryIso2, defaultCountryIso2 = _o === void 0 ? 'ru' : _o, preventFlip = _a.preventFlip, inputProps = _a.inputProps, _p = _a.maxPhoneLen, maxPhoneLen = _p === void 0 ? DEFAULT_MAX_PHONE_LEN_BY_COUNTRY : _p, restProps = components_selectField_component.__rest(_a, ["disabled", "readOnly", "hideCountrySelect", "canBeEmptyCountry", "ruNumberPriority", "clear", "size", "colors", "options", "countries", "clearableCountryCode", "className", "value", "onChange", "onCountryChange", "defaultCountryIso2", "preventFlip", "inputProps", "maxPhoneLen"]);
38
+ var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.readOnly, readOnly = _c === void 0 ? false : _c, _d = _a.hideCountrySelect, hideCountrySelect = _d === void 0 ? false : _d, _e = _a.canBeEmptyCountry, canBeEmptyCountry = _e === void 0 ? false : _e, _f = _a.ruNumberPriority, ruNumberPriority = _f === void 0 ? false : _f, _g = _a.clear, clear = _g === void 0 ? false : _g, _h = _a.size, size = _h === void 0 ? 'm' : _h, _j = _a.colors, colors = _j === void 0 ? 'default' : _j, _k = _a.options, options = _k === void 0 ? [] : _k, _l = _a.countries, countries = _l === void 0 ? utils.getCountries() : _l, _m = _a.clearableCountryCode, clearableCountryCode = _m === void 0 ? true : _m, className = _a.className, value = _a.value, onChange = _a.onChange, onCountryChange = _a.onCountryChange, _o = _a.defaultCountryIso2, defaultCountryIso2 = _o === void 0 ? 'ru' : _o, preventFlip = _a.preventFlip, inputProps = _a.inputProps, _p = _a.maxPhoneLen, maxPhoneLen = _p === void 0 ? DEFAULT_MAX_PHONE_LEN_BY_COUNTRY : _p, restProps = tslib.__rest(_a, ["disabled", "readOnly", "hideCountrySelect", "canBeEmptyCountry", "ruNumberPriority", "clear", "size", "colors", "options", "countries", "clearableCountryCode", "className", "value", "onChange", "onCountryChange", "defaultCountryIso2", "preventFlip", "inputProps", "maxPhoneLen"]);
38
39
  var _q = React.useState(defaultCountryIso2.toLowerCase()), countryIso2 = _q[0], setCountryIso2 = _q[1];
39
40
  var inputRef = React.useRef(null);
40
41
  var _r = React.useState(null), inputWrapperRef = _r[0], setInputWrapperRef = _r[1];
@@ -258,7 +259,7 @@ var IntlPhoneInput = React.forwardRef(function (_a, ref) {
258
259
  return;
259
260
  }
260
261
  var _b = inputRef.current, selectionStart = _b.selectionStart, selectionEnd = _b.selectionEnd;
261
- var preparedNumber = utils_preparePasteData.preparePasteData(value, text, selectionStart || 0, selectionEnd || 0);
262
+ var preparedNumber = utils_preparePasteData.preparePasteData(value, text, selectionStart || 0, selectionEnd || 0, ruNumberPriority && countryIso2 === 'ru');
262
263
  var targetCountry = getCountryByNumber(preparedNumber);
263
264
  var maxPhoneLength = (targetCountry && (maxPhoneLen === null || maxPhoneLen === void 0 ? void 0 : maxPhoneLen[targetCountry.iso2.toUpperCase()])) || MAX_PHONE_LEN;
264
265
  var resultNumber = preparedNumber.substring(0, maxPhoneLength + 1);
@@ -308,7 +309,7 @@ var IntlPhoneInput = React.forwardRef(function (_a, ref) {
308
309
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
309
310
  }, [value, canBeEmptyCountry, countryIso2, defaultCountryIso2]);
310
311
  useCaretAvoidCountryCode.useCaretAvoidCountryCode({ inputRef: inputRef, countryCodeLength: countryCodeLength, clearableCountryCode: clearableCountryCode });
311
- return (React__default.default.createElement(coreComponentsInputAutocomplete.InputAutocomplete, components_selectField_component.__assign({}, restProps, { ref: ref, inputProps: components_selectField_component.__assign(components_selectField_component.__assign({ clear: clear && !isEmptyValue, onClear: handleClear }, inputProps), { ref: inputRef, wrapperRef: setInputWrapperRef, type: 'tel', colors: colors, className: cn__default.default(className, styles__default.default[size]), addonsClassName: styles__default.default.addons, onKeyDown: handleKeyDown, onPaste: handlePaste, leftAddons: hideCountrySelect ? (React__default.default.createElement("span", { className: styles__default.default.flagIconWrapper }, countryIso2 ? (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: countryIso2 })) : (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles__default.default.emptyCountryIcon })))) : (countries.length > 1 && (React__default.default.createElement(components_select_component.CountriesSelect, { dataTestId: 'countries-select', disabled: disabled || readOnly, size: size, selected: countryIso2, countries: countries, onChange: handleSelectChange, fieldWidth: inputWrapperRef && inputWrapperRef.getBoundingClientRect().width, preventFlip: preventFlip }))) }), optionsListWidth: 'field', closeOnSelect: true, onInput: handleInputChange, onChange: handleChange, options: options, disabled: disabled, readOnly: readOnly, size: size, className: className, value: value })));
312
+ return (React__default.default.createElement(coreComponentsInputAutocomplete.InputAutocomplete, tslib.__assign({}, restProps, { ref: ref, inputProps: tslib.__assign(tslib.__assign({ clear: clear && !isEmptyValue, onClear: handleClear }, inputProps), { ref: inputRef, wrapperRef: setInputWrapperRef, type: 'tel', colors: colors, className: cn__default.default(className, styles__default.default[size]), addonsClassName: styles__default.default.addons, onKeyDown: handleKeyDown, onPaste: handlePaste, leftAddons: hideCountrySelect ? (React__default.default.createElement("span", { className: styles__default.default.flagIconWrapper }, countryIso2 ? (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: countryIso2 })) : (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles__default.default.emptyCountryIcon })))) : (countries.length > 1 && (React__default.default.createElement(components_select_component.CountriesSelect, { dataTestId: 'countries-select', disabled: disabled || readOnly, size: size, selected: countryIso2, countries: countries, onChange: handleSelectChange, fieldWidth: inputWrapperRef && inputWrapperRef.getBoundingClientRect().width, preventFlip: preventFlip }))) }), optionsListWidth: 'field', closeOnSelect: true, onInput: handleInputChange, onChange: handleChange, options: options, disabled: disabled, readOnly: readOnly, size: size, className: className, value: value })));
312
313
  });
313
314
 
314
315
  exports.IntlPhoneInput = IntlPhoneInput;
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../component-01884de0.js');
3
+ var components_selectField_component = require('./select-field/component.js');
4
4
  var components_flagIcon_component = require('./flag-icon/component.js');
5
5
  var components_select_component = require('./select/component.js');
6
+ require('tslib');
6
7
  require('react');
7
8
  require('react-merge-refs');
8
9
  require('classnames');
@@ -1,17 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-01884de0.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var coreComponentsSelect = require('@alfalab/core-components-select/cssm');
6
6
  var components_flagIcon_component = require('../flag-icon/component.js');
7
+ var components_selectField_component = require('../select-field/component.js');
7
8
  var styles = require('./index.module.css');
8
- require('react-merge-refs');
9
9
  require('classnames');
10
+ require('../flag-icon/flagSprite.js');
11
+ require('../flag-icon/index.module.css');
12
+ require('react-merge-refs');
10
13
  require('@alfalab/hooks');
11
14
  require('@alfalab/icons-glyph/WorldMagnifierMIcon');
12
15
  require('../select-field/index.module.css');
13
- require('../flag-icon/flagSprite.js');
14
- require('../flag-icon/index.module.css');
15
16
 
16
17
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
18
 
@@ -37,7 +38,7 @@ var CountriesSelect = function (_a) {
37
38
  });
38
39
  }, [countries]);
39
40
  var renderOptionsList = React.useCallback(function (props) { return (React__default.default.createElement("div", { style: { width: fieldWidth || 0 } },
40
- React__default.default.createElement(coreComponentsSelect.VirtualOptionsList, components_selectField_component.__assign({}, props)))); }, [fieldWidth]);
41
+ React__default.default.createElement(coreComponentsSelect.VirtualOptionsList, tslib.__assign({}, props)))); }, [fieldWidth]);
41
42
  return (React__default.default.createElement("div", { className: styles__default.default.component, onClick: function (event) { return event.stopPropagation(); } },
42
43
  React__default.default.createElement(coreComponentsSelect.Select, { dataTestId: dataTestId, disabled: disabled, size: size, options: options, selected: selected || components_selectField_component.EMPTY_COUNTRY_SELECT_FIELD, onChange: onChange, Field: components_selectField_component.SelectField, OptionsList: renderOptionsList, preventFlip: preventFlip })));
43
44
  };
@@ -1,17 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  var components_select_component = require('./component.js');
4
- require('../../component-01884de0.js');
4
+ require('tslib');
5
5
  require('react');
6
- require('react-merge-refs');
7
- require('classnames');
8
- require('@alfalab/hooks');
9
- require('@alfalab/icons-glyph/WorldMagnifierMIcon');
6
+ require('@alfalab/core-components-select/cssm');
10
7
  require('../flag-icon/component.js');
8
+ require('classnames');
11
9
  require('../flag-icon/flagSprite.js');
12
10
  require('../flag-icon/index.module.css');
11
+ require('../select-field/component.js');
12
+ require('react-merge-refs');
13
+ require('@alfalab/hooks');
14
+ require('@alfalab/icons-glyph/WorldMagnifierMIcon');
13
15
  require('../select-field/index.module.css');
14
- require('@alfalab/core-components-select/cssm');
15
16
  require('./index.module.css');
16
17
 
17
18
 
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { FieldProps } from "@alfalab/core-components-select";
3
+ declare const EMPTY_COUNTRY_SELECT_FIELD: {
4
+ value: string;
5
+ key: string;
6
+ };
7
+ declare const SelectField: FC<FieldProps>;
8
+ export { EMPTY_COUNTRY_SELECT_FIELD, SelectField };
@@ -1,17 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-01884de0.js');
4
- require('react');
5
- require('react-merge-refs');
6
- require('classnames');
7
- require('@alfalab/hooks');
8
- require('@alfalab/icons-glyph/WorldMagnifierMIcon');
9
- require('../flag-icon/component.js');
10
- require('./index.module.css');
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var mergeRefs = require('react-merge-refs');
6
+ var cn = require('classnames');
7
+ var hooks = require('@alfalab/hooks');
8
+ var WorldMagnifierMIcon = require('@alfalab/icons-glyph/WorldMagnifierMIcon');
9
+ var components_flagIcon_component = require('../flag-icon/component.js');
10
+ var styles = require('./index.module.css');
11
11
  require('../flag-icon/flagSprite.js');
12
12
  require('../flag-icon/index.module.css');
13
13
 
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
15
 
16
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
+ var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
18
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
+ var WorldMagnifierMIcon__default = /*#__PURE__*/_interopDefaultCompat(WorldMagnifierMIcon);
20
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
15
21
 
16
- exports.EMPTY_COUNTRY_SELECT_FIELD = components_selectField_component.EMPTY_COUNTRY_SELECT_FIELD;
17
- exports.SelectField = components_selectField_component.SelectField;
22
+ var EMPTY_COUNTRY_SELECT_FIELD = {
23
+ value: 'EMPTY_COUNTRY_SELECT_VALUE',
24
+ key: 'EMPTY_COUNTRY_SELECT_KEY',
25
+ };
26
+ var SelectField = function (_a) {
27
+ var _b;
28
+ var selected = _a.selected, Arrow = _a.Arrow, size = _a.size, disabled = _a.disabled, _c = _a.innerProps, innerProps = _c === void 0 ? {} : _c;
29
+ var wrapperRef = React.useRef(null);
30
+ var focusVisible = hooks.useFocus(wrapperRef, 'keyboard')[0];
31
+ var ref = innerProps.ref ? mergeRefs__default.default([innerProps.ref, wrapperRef]) : wrapperRef;
32
+ return (React__default.default.createElement("div", { ref: ref, className: cn__default.default(styles__default.default.component, size && styles__default.default[size], (_b = {},
33
+ _b[styles__default.default.focusVisible] = focusVisible,
34
+ _b[styles__default.default.disabled] = disabled,
35
+ _b)) },
36
+ React__default.default.createElement("div", tslib.__assign({}, innerProps, { className: styles__default.default.inner }),
37
+ React__default.default.createElement("span", { className: styles__default.default.flagIconContainer }, !selected || selected === EMPTY_COUNTRY_SELECT_FIELD ? (React__default.default.createElement(WorldMagnifierMIcon__default.default, { className: styles__default.default.emptyCountryIcon })) : (React__default.default.createElement(components_flagIcon_component.FlagIcon, { country: selected.value }))),
38
+ Arrow)));
39
+ };
40
+
41
+ exports.EMPTY_COUNTRY_SELECT_FIELD = EMPTY_COUNTRY_SELECT_FIELD;
42
+ exports.SelectField = SelectField;
@@ -1 +1 @@
1
- export * from "../../component-01884de0";
1
+ export * from "./component";
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var components_selectField_component = require('../../component-01884de0.js');
3
+ var components_selectField_component = require('./component.js');
4
+ require('tslib');
4
5
  require('react');
5
6
  require('react-merge-refs');
6
7
  require('classnames');
package/cssm/index.js CHANGED
@@ -1,23 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  var component = require('./component.js');
4
- require('./component-01884de0.js');
4
+ require('tslib');
5
5
  require('react');
6
- require('react-merge-refs');
7
6
  require('classnames');
8
- require('@alfalab/hooks');
9
- require('@alfalab/icons-glyph/WorldMagnifierMIcon');
10
- require('./components/flag-icon/component.js');
11
- require('./components/flag-icon/flagSprite.js');
12
- require('./components/flag-icon/index.module.css');
13
- require('./components/select-field/index.module.css');
14
7
  require('@alfalab/core-components-input-autocomplete/cssm');
8
+ require('@alfalab/icons-glyph/WorldMagnifierMIcon');
15
9
  require('@alfalab/utils');
16
10
  require('./utils/calculateCaretPos.js');
17
11
  require('./utils/format-phone-with-unclearable-country-code.js');
18
12
  require('./utils/preparePasteData.js');
13
+ require('react-merge-refs');
14
+ require('@alfalab/hooks');
15
+ require('./components/flag-icon/component.js');
16
+ require('./components/flag-icon/flagSprite.js');
17
+ require('./components/flag-icon/index.module.css');
18
+ require('./components/select-field/index.module.css');
19
19
  require('./components/select/component.js');
20
20
  require('@alfalab/core-components-select/cssm');
21
+ require('./components/select-field/component.js');
21
22
  require('./components/select/index.module.css');
22
23
  require('./useCaretAvoidCountryCode.js');
23
24
  require('./index.module.css');
@@ -4,5 +4,5 @@
4
4
  * @param phoneFromBuffer Текст номера телефона из буфера обмена.
5
5
  * @param input Input в который осуществляется вставка.
6
6
  */
7
- declare function preparePasteData(phoneValue: string, phoneFromBuffer: string, selectionStart?: number, selectionEnd?: number): string;
7
+ declare function preparePasteData(phoneValue: string, phoneFromBuffer: string, selectionStart?: number, selectionEnd?: number, ruNumberPriority?: boolean): string;
8
8
  export { preparePasteData };
@@ -6,7 +6,7 @@
6
6
  * @param phoneFromBuffer Текст номера телефона из буфера обмена.
7
7
  * @param input Input в который осуществляется вставка.
8
8
  */
9
- function preparePasteData(phoneValue, phoneFromBuffer, selectionStart, selectionEnd) {
9
+ function preparePasteData(phoneValue, phoneFromBuffer, selectionStart, selectionEnd, ruNumberPriority) {
10
10
  var trimNuber = phoneFromBuffer.trim();
11
11
  var cutNumberWithPlus = trimNuber.replace(/[^+\d]/g, '');
12
12
  var isTextHavePlus = cutNumberWithPlus[0] === '+';
@@ -44,10 +44,14 @@ function preparePasteData(phoneValue, phoneFromBuffer, selectionStart, selection
44
44
  }
45
45
  else if (isRuNumberInBuffer) {
46
46
  resultNumber = "+7".concat(cutNumber.substring(1));
47
- // вставка номера начинающегося НЕ с "7", "8", "+" в пустое поле
47
+ // вставка номера начинающегося НЕ с "7", "8", "+" в пустое поле с российским флагом
48
48
  }
49
- else {
49
+ else if (ruNumberPriority) {
50
50
  resultNumber = "+7".concat(cutNumber);
51
+ // вставка номера начинающегося НЕ с "7", "8", "+" в пустое поле без российского флага
52
+ }
53
+ else {
54
+ resultNumber = "+".concat(cutNumber);
51
55
  }
52
56
  }
53
57
  return resultNumber;