@ornikar/kitt-universal 9.40.0 → 9.41.0
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/dist/definitions/forms/InputPhone/InputPhone.d.ts +8 -1
- package/dist/definitions/forms/InputPhone/InputPhone.d.ts.map +1 -1
- package/dist/index-browser-all.es.android.js +50 -6
- package/dist/index-browser-all.es.android.js.map +1 -1
- package/dist/index-browser-all.es.ios.js +50 -6
- package/dist/index-browser-all.es.ios.js.map +1 -1
- package/dist/index-browser-all.es.js +50 -6
- package/dist/index-browser-all.es.js.map +1 -1
- package/dist/index-browser-all.es.web.js +50 -6
- package/dist/index-browser-all.es.web.js.map +1 -1
- package/dist/index-node-14.17.cjs.js +50 -5
- package/dist/index-node-14.17.cjs.js.map +1 -1
- package/dist/index-node-14.17.cjs.web.js +50 -5
- package/dist/index-node-14.17.cjs.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +4 -3
|
@@ -19,6 +19,7 @@ import { styled as styled$1 } from '@linaria/react';
|
|
|
19
19
|
import { Portal } from 'react-portal';
|
|
20
20
|
import { CSSTransition } from 'react-transition-group';
|
|
21
21
|
import { parse } from 'twemoji-parser';
|
|
22
|
+
import { parseNumber, getCountryCallingCode, isValidNumber } from 'libphonenumber-js';
|
|
22
23
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
23
24
|
import { useFloating, autoUpdate, offset, autoPlacement, shift, arrow } from '@floating-ui/react-dom';
|
|
24
25
|
import { useOnClickOutside } from 'usehooks-ts';
|
|
@@ -3399,18 +3400,18 @@ function getReturnKeyTypeForNumericInput(returnKeyType) {
|
|
|
3399
3400
|
return returnKeyType;
|
|
3400
3401
|
}
|
|
3401
3402
|
|
|
3402
|
-
function prefixWithZero(value) {
|
|
3403
|
+
function prefixWithZero$1(value) {
|
|
3403
3404
|
var maxLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
3404
3405
|
return "".concat(value).padStart(maxLength, '0');
|
|
3405
3406
|
}
|
|
3406
3407
|
function dayFormatter(day) {
|
|
3407
|
-
return prefixWithZero(day);
|
|
3408
|
+
return prefixWithZero$1(day);
|
|
3408
3409
|
}
|
|
3409
3410
|
function monthFormatter(month) {
|
|
3410
|
-
return prefixWithZero(month);
|
|
3411
|
+
return prefixWithZero$1(month);
|
|
3411
3412
|
}
|
|
3412
3413
|
function yearFormatter(year) {
|
|
3413
|
-
return prefixWithZero(year, 4);
|
|
3414
|
+
return prefixWithZero$1(year, 4);
|
|
3414
3415
|
}
|
|
3415
3416
|
|
|
3416
3417
|
function getDayInInterval(value) {
|
|
@@ -4014,20 +4015,63 @@ var InputPassword = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
4014
4015
|
}));
|
|
4015
4016
|
});
|
|
4016
4017
|
|
|
4017
|
-
var _excluded$f = ["returnKeyType", "autoComplete"];
|
|
4018
|
+
var _excluded$f = ["returnKeyType", "autoComplete", "phoneNumberLength", "value", "onChange"];
|
|
4019
|
+
function isPhoneNumberValid(number) {
|
|
4020
|
+
return isValidNumber(number);
|
|
4021
|
+
}
|
|
4022
|
+
function prefixWithZero(value, phoneNumberLength) {
|
|
4023
|
+
return value.padStart(phoneNumberLength, '0');
|
|
4024
|
+
}
|
|
4018
4025
|
var InputPhone = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
4019
4026
|
var returnKeyType = _ref.returnKeyType,
|
|
4020
4027
|
_ref$autoComplete = _ref.autoComplete,
|
|
4021
4028
|
autoComplete = _ref$autoComplete === void 0 ? 'tel' : _ref$autoComplete,
|
|
4029
|
+
_ref$phoneNumberLengt = _ref.phoneNumberLength,
|
|
4030
|
+
phoneNumberLength = _ref$phoneNumberLengt === void 0 ? 10 : _ref$phoneNumberLengt,
|
|
4031
|
+
value = _ref.value,
|
|
4032
|
+
onChange = _ref.onChange,
|
|
4022
4033
|
props = _objectWithoutProperties(_ref, _excluded$f);
|
|
4034
|
+
var _useState = useState(value),
|
|
4035
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
4036
|
+
currentValue = _useState2[0],
|
|
4037
|
+
setCurrentValue = _useState2[1];
|
|
4023
4038
|
var currentReturnKeyType = returnKeyType ? getReturnKeyTypeForNumericInput(returnKeyType) : undefined;
|
|
4024
4039
|
return /*#__PURE__*/jsx(InputText, _objectSpread(_objectSpread({
|
|
4025
4040
|
ref: ref
|
|
4026
4041
|
}, props), {}, {
|
|
4042
|
+
value: currentValue,
|
|
4027
4043
|
keyboardType: "phone-pad",
|
|
4028
4044
|
returnKeyType: currentReturnKeyType,
|
|
4029
4045
|
autoComplete: autoComplete,
|
|
4030
|
-
textContentType: "telephoneNumber"
|
|
4046
|
+
textContentType: "telephoneNumber",
|
|
4047
|
+
onChange: function handleChange(event) {
|
|
4048
|
+
var number = parseNumber(event.nativeEvent.text);
|
|
4049
|
+
|
|
4050
|
+
// When intl phone number is valid :
|
|
4051
|
+
// 1 - We extract intl data
|
|
4052
|
+
// 2 - We recreate the local value to display
|
|
4053
|
+
if (isPhoneNumberValid(number)) {
|
|
4054
|
+
var phone = number.phone;
|
|
4055
|
+
var finalPhoneNumber = prefixWithZero("".concat(phone || ''), phoneNumberLength);
|
|
4056
|
+
var eventWithoutCountryCode = _objectSpread(_objectSpread({}, event), {}, {
|
|
4057
|
+
nativeEvent: _objectSpread(_objectSpread({}, event.nativeEvent), {}, {
|
|
4058
|
+
text: finalPhoneNumber
|
|
4059
|
+
})
|
|
4060
|
+
});
|
|
4061
|
+
setCurrentValue(finalPhoneNumber);
|
|
4062
|
+
if (onChange) {
|
|
4063
|
+
onChange(eventWithoutCountryCode, _objectSpread(_objectSpread({}, number), {}, {
|
|
4064
|
+
countryCode: getCountryCallingCode(number.country),
|
|
4065
|
+
originalNativeEventText: event.nativeEvent.text
|
|
4066
|
+
}));
|
|
4067
|
+
}
|
|
4068
|
+
return;
|
|
4069
|
+
}
|
|
4070
|
+
|
|
4071
|
+
// Value is correctly parsed but might not pass validation
|
|
4072
|
+
setCurrentValue(event.nativeEvent.text);
|
|
4073
|
+
if (onChange) onChange(event);
|
|
4074
|
+
}
|
|
4031
4075
|
}));
|
|
4032
4076
|
});
|
|
4033
4077
|
|