@alfalab/core-components-phone-input 7.2.0 → 7.2.1
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.
- package/Component.js +3 -3
- package/cssm/Component.js +3 -3
- package/cssm/index.js +1 -0
- package/esm/Component.js +3 -4
- package/esm/index.js +1 -0
- package/index.js +1 -0
- package/modern/Component.js +3 -4
- package/modern/index.js +1 -0
- package/package.json +3 -2
- package/src/Component.tsx +3 -5
package/Component.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var mergeRefs = require('react-merge-refs');
|
|
7
8
|
var textMaskCore = require('text-mask-core');
|
|
8
9
|
var coreComponentsMaskedInput = require('@alfalab/core-components-masked-input');
|
|
9
10
|
var utils_index = require('./utils/index.js');
|
|
@@ -11,6 +12,7 @@ var utils_index = require('./utils/index.js');
|
|
|
11
12
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
13
|
|
|
13
14
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
15
|
+
var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
|
|
14
16
|
|
|
15
17
|
var mask = [
|
|
16
18
|
'+',
|
|
@@ -34,8 +36,6 @@ var countryPrefix = '+7 ';
|
|
|
34
36
|
var PhoneInput = React__default.default.forwardRef(function (_a, ref) {
|
|
35
37
|
var _b = _a.clearableCountryCode, clearableCountryCode = _b === void 0 ? true : _b, restProps = tslib.__rest(_a, ["clearableCountryCode"]);
|
|
36
38
|
var inputRef = React.useRef(null);
|
|
37
|
-
// Оставляет возможность прокинуть ref извне
|
|
38
|
-
React.useImperativeHandle(ref, function () { return inputRef.current; });
|
|
39
39
|
var handleBeforeDisplay = React.useCallback(function (conformedValue, config) {
|
|
40
40
|
var rawValue = config.rawValue, previousConformedValue = config.previousConformedValue, currentCaretPosition = config.currentCaretPosition;
|
|
41
41
|
/*
|
|
@@ -92,7 +92,7 @@ var PhoneInput = React__default.default.forwardRef(function (_a, ref) {
|
|
|
92
92
|
}
|
|
93
93
|
return conformedValue;
|
|
94
94
|
}, [clearableCountryCode]);
|
|
95
|
-
return (React__default.default.createElement(coreComponentsMaskedInput.MaskedInput, tslib.__assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: inputRef })));
|
|
95
|
+
return (React__default.default.createElement(coreComponentsMaskedInput.MaskedInput, tslib.__assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: mergeRefs__default.default([ref, inputRef]) })));
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
exports.PhoneInput = PhoneInput;
|
package/cssm/Component.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var tslib = require('tslib');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var mergeRefs = require('react-merge-refs');
|
|
7
8
|
var textMaskCore = require('text-mask-core');
|
|
8
9
|
var coreComponentsMaskedInput = require('@alfalab/core-components-masked-input/cssm');
|
|
9
10
|
var utils_index = require('./utils/index.js');
|
|
@@ -11,6 +12,7 @@ var utils_index = require('./utils/index.js');
|
|
|
11
12
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
13
|
|
|
13
14
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
15
|
+
var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
|
|
14
16
|
|
|
15
17
|
var mask = [
|
|
16
18
|
'+',
|
|
@@ -34,8 +36,6 @@ var countryPrefix = '+7 ';
|
|
|
34
36
|
var PhoneInput = React__default.default.forwardRef(function (_a, ref) {
|
|
35
37
|
var _b = _a.clearableCountryCode, clearableCountryCode = _b === void 0 ? true : _b, restProps = tslib.__rest(_a, ["clearableCountryCode"]);
|
|
36
38
|
var inputRef = React.useRef(null);
|
|
37
|
-
// Оставляет возможность прокинуть ref извне
|
|
38
|
-
React.useImperativeHandle(ref, function () { return inputRef.current; });
|
|
39
39
|
var handleBeforeDisplay = React.useCallback(function (conformedValue, config) {
|
|
40
40
|
var rawValue = config.rawValue, previousConformedValue = config.previousConformedValue, currentCaretPosition = config.currentCaretPosition;
|
|
41
41
|
/*
|
|
@@ -92,7 +92,7 @@ var PhoneInput = React__default.default.forwardRef(function (_a, ref) {
|
|
|
92
92
|
}
|
|
93
93
|
return conformedValue;
|
|
94
94
|
}, [clearableCountryCode]);
|
|
95
|
-
return (React__default.default.createElement(coreComponentsMaskedInput.MaskedInput, tslib.__assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: inputRef })));
|
|
95
|
+
return (React__default.default.createElement(coreComponentsMaskedInput.MaskedInput, tslib.__assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: mergeRefs__default.default([ref, inputRef]) })));
|
|
96
96
|
});
|
|
97
97
|
|
|
98
98
|
exports.PhoneInput = PhoneInput;
|
package/cssm/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var Component = require('./Component.js');
|
|
6
6
|
require('tslib');
|
|
7
7
|
require('react');
|
|
8
|
+
require('react-merge-refs');
|
|
8
9
|
require('text-mask-core');
|
|
9
10
|
require('@alfalab/core-components-masked-input/cssm');
|
|
10
11
|
require('./utils/index.js');
|
package/esm/Component.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __rest, __assign } from 'tslib';
|
|
2
|
-
import React, { useRef,
|
|
2
|
+
import React, { useRef, useCallback } from 'react';
|
|
3
|
+
import mergeRefs from 'react-merge-refs';
|
|
3
4
|
import { conformToMask } from 'text-mask-core';
|
|
4
5
|
import { MaskedInput } from '@alfalab/core-components-masked-input/esm';
|
|
5
6
|
import { deleteFormatting, setCaretPosition, getInsertedNumber } from './utils/index.js';
|
|
@@ -26,8 +27,6 @@ var countryPrefix = '+7 ';
|
|
|
26
27
|
var PhoneInput = React.forwardRef(function (_a, ref) {
|
|
27
28
|
var _b = _a.clearableCountryCode, clearableCountryCode = _b === void 0 ? true : _b, restProps = __rest(_a, ["clearableCountryCode"]);
|
|
28
29
|
var inputRef = useRef(null);
|
|
29
|
-
// Оставляет возможность прокинуть ref извне
|
|
30
|
-
useImperativeHandle(ref, function () { return inputRef.current; });
|
|
31
30
|
var handleBeforeDisplay = useCallback(function (conformedValue, config) {
|
|
32
31
|
var rawValue = config.rawValue, previousConformedValue = config.previousConformedValue, currentCaretPosition = config.currentCaretPosition;
|
|
33
32
|
/*
|
|
@@ -84,7 +83,7 @@ var PhoneInput = React.forwardRef(function (_a, ref) {
|
|
|
84
83
|
}
|
|
85
84
|
return conformedValue;
|
|
86
85
|
}, [clearableCountryCode]);
|
|
87
|
-
return (React.createElement(MaskedInput, __assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: inputRef })));
|
|
86
|
+
return (React.createElement(MaskedInput, __assign({}, restProps, { defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: mergeRefs([ref, inputRef]) })));
|
|
88
87
|
});
|
|
89
88
|
|
|
90
89
|
export { PhoneInput };
|
package/esm/index.js
CHANGED
package/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var Component = require('./Component.js');
|
|
6
6
|
require('tslib');
|
|
7
7
|
require('react');
|
|
8
|
+
require('react-merge-refs');
|
|
8
9
|
require('text-mask-core');
|
|
9
10
|
require('@alfalab/core-components-masked-input');
|
|
10
11
|
require('./utils/index.js');
|
package/modern/Component.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React, { useRef,
|
|
1
|
+
import React, { useRef, useCallback } from 'react';
|
|
2
|
+
import mergeRefs from 'react-merge-refs';
|
|
2
3
|
import { conformToMask } from 'text-mask-core';
|
|
3
4
|
import { MaskedInput } from '@alfalab/core-components-masked-input/modern';
|
|
4
5
|
import { deleteFormatting, setCaretPosition, getInsertedNumber } from './utils/index.js';
|
|
@@ -24,8 +25,6 @@ const mask = [
|
|
|
24
25
|
const countryPrefix = '+7 ';
|
|
25
26
|
const PhoneInput = React.forwardRef(({ clearableCountryCode = true, ...restProps }, ref) => {
|
|
26
27
|
const inputRef = useRef(null);
|
|
27
|
-
// Оставляет возможность прокинуть ref извне
|
|
28
|
-
useImperativeHandle(ref, () => inputRef.current);
|
|
29
28
|
const handleBeforeDisplay = useCallback((conformedValue, config) => {
|
|
30
29
|
const { rawValue, previousConformedValue, currentCaretPosition } = config;
|
|
31
30
|
/*
|
|
@@ -82,7 +81,7 @@ const PhoneInput = React.forwardRef(({ clearableCountryCode = true, ...restProps
|
|
|
82
81
|
}
|
|
83
82
|
return conformedValue;
|
|
84
83
|
}, [clearableCountryCode]);
|
|
85
|
-
return (React.createElement(MaskedInput, { ...restProps, defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: inputRef }));
|
|
84
|
+
return (React.createElement(MaskedInput, { ...restProps, defaultValue: clearableCountryCode ? restProps.defaultValue : countryPrefix, mask: mask, onBeforeDisplay: handleBeforeDisplay, type: 'tel', ref: mergeRefs([ref, inputRef]) }));
|
|
86
85
|
});
|
|
87
86
|
|
|
88
87
|
export { PhoneInput };
|
package/modern/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-phone-input",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"react": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@alfalab/core-components-masked-input": "^6.2.
|
|
17
|
+
"@alfalab/core-components-masked-input": "^6.2.1",
|
|
18
|
+
"react-merge-refs": "^1.1.0",
|
|
18
19
|
"text-mask-core": "^5.1.2",
|
|
19
20
|
"tslib": "^2.4.0"
|
|
20
21
|
}
|
package/src/Component.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React, { useCallback,
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
|
+
import mergeRefs from 'react-merge-refs';
|
|
2
3
|
import { conformToMask, TextMaskConfig } from 'text-mask-core';
|
|
3
4
|
|
|
4
5
|
import { MaskedInput, MaskedInputProps } from '@alfalab/core-components-masked-input';
|
|
@@ -34,9 +35,6 @@ export const PhoneInput = React.forwardRef<HTMLInputElement, PhoneInputProps>(
|
|
|
34
35
|
({ clearableCountryCode = true, ...restProps }, ref) => {
|
|
35
36
|
const inputRef = useRef<HTMLInputElement>(null);
|
|
36
37
|
|
|
37
|
-
// Оставляет возможность прокинуть ref извне
|
|
38
|
-
useImperativeHandle(ref, () => inputRef.current as HTMLInputElement);
|
|
39
|
-
|
|
40
38
|
const handleBeforeDisplay = useCallback(
|
|
41
39
|
(conformedValue: string, config: TextMaskConfig) => {
|
|
42
40
|
const { rawValue, previousConformedValue, currentCaretPosition } = config;
|
|
@@ -123,7 +121,7 @@ export const PhoneInput = React.forwardRef<HTMLInputElement, PhoneInputProps>(
|
|
|
123
121
|
mask={mask}
|
|
124
122
|
onBeforeDisplay={handleBeforeDisplay}
|
|
125
123
|
type='tel'
|
|
126
|
-
ref={inputRef}
|
|
124
|
+
ref={mergeRefs([ref, inputRef])}
|
|
127
125
|
/>
|
|
128
126
|
);
|
|
129
127
|
},
|