@salutejs/plasma-new-hope 0.194.0-canary.1565.11870784206.0 → 0.194.0-canary.1568.11891833298.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Switch/Switch.css +2 -2
- package/cjs/components/Switch/Switch.tokens.js +7 -1
- package/cjs/components/Switch/Switch.tokens.js.map +1 -1
- package/cjs/components/Switch/_toggleSize/base.js +1 -1
- package/cjs/components/Switch/_toggleSize/base.js.map +1 -1
- package/cjs/components/Switch/_toggleSize/base_1d0b3t4.css +1 -0
- package/cjs/components/Switch/_view/base.js +1 -1
- package/cjs/components/Switch/_view/base.js.map +1 -1
- package/cjs/components/Switch/_view/base_15atbyp.css +1 -0
- package/cjs/components/TextField/TextField.js +3 -27
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/index.css +2 -2
- package/cjs/utils/constants.js +0 -4
- package/cjs/utils/constants.js.map +1 -1
- package/emotion/cjs/components/Card/Card.api.mdx +184 -0
- package/emotion/cjs/components/Switch/Switch.tokens.js +7 -1
- package/emotion/cjs/components/Switch/_toggleSize/base.js +1 -1
- package/emotion/cjs/components/Switch/_view/base.js +1 -1
- package/emotion/cjs/components/TextField/TextField.js +4 -27
- package/emotion/cjs/components/TextField/TextField.template-doc.mdx +0 -330
- package/emotion/cjs/components/TextField/hooks/index.js +1 -8
- package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +8 -8
- package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.js +5 -2
- package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.outline.config.js +37 -0
- package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
- package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
- package/emotion/cjs/examples/plasma_web/components/Switch/Switch.config.js +8 -8
- package/emotion/cjs/examples/plasma_web/components/Switch/Switch.js +5 -2
- package/emotion/cjs/examples/plasma_web/components/Switch/Switch.outline.config.js +37 -0
- package/emotion/cjs/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
- package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
- package/emotion/cjs/utils/constants.js +2 -4
- package/emotion/es/components/Card/Card.api.mdx +184 -0
- package/emotion/es/components/Switch/Switch.tokens.js +7 -1
- package/emotion/es/components/Switch/_toggleSize/base.js +1 -1
- package/emotion/es/components/Switch/_view/base.js +1 -1
- package/emotion/es/components/TextField/TextField.js +5 -28
- package/emotion/es/components/TextField/TextField.template-doc.mdx +0 -330
- package/emotion/es/components/TextField/hooks/index.js +1 -2
- package/emotion/es/examples/plasma_b2c/components/Switch/Switch.config.js +8 -8
- package/emotion/es/examples/plasma_b2c/components/Switch/Switch.js +4 -1
- package/emotion/es/examples/plasma_b2c/components/Switch/Switch.outline.config.js +31 -0
- package/emotion/es/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
- package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
- package/emotion/es/examples/plasma_web/components/Switch/Switch.config.js +8 -8
- package/emotion/es/examples/plasma_web/components/Switch/Switch.js +4 -1
- package/emotion/es/examples/plasma_web/components/Switch/Switch.outline.config.js +31 -0
- package/emotion/es/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
- package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
- package/emotion/es/utils/constants.js +1 -3
- package/es/components/Switch/Switch.css +2 -2
- package/es/components/Switch/Switch.tokens.js +7 -1
- package/es/components/Switch/Switch.tokens.js.map +1 -1
- package/es/components/Switch/_toggleSize/base.js +1 -1
- package/es/components/Switch/_toggleSize/base.js.map +1 -1
- package/es/components/Switch/_toggleSize/base_1d0b3t4.css +1 -0
- package/es/components/Switch/_view/base.js +1 -1
- package/es/components/Switch/_view/base.js.map +1 -1
- package/es/components/Switch/_view/base_15atbyp.css +1 -0
- package/es/components/TextField/TextField.js +3 -27
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/index.css +2 -2
- package/es/utils/constants.js +1 -3
- package/es/utils/constants.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Card/Card.api.mdx +184 -0
- package/styled-components/cjs/components/Switch/Switch.tokens.js +7 -1
- package/styled-components/cjs/components/Switch/_toggleSize/base.js +1 -1
- package/styled-components/cjs/components/Switch/_view/base.js +1 -1
- package/styled-components/cjs/components/TextField/TextField.js +3 -26
- package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +0 -330
- package/styled-components/cjs/components/TextField/hooks/index.js +1 -8
- package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.js +5 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.outline.config.js +37 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
- package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
- package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.config.js +1 -1
- package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.js +5 -2
- package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.outline.config.js +37 -0
- package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
- package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
- package/styled-components/cjs/utils/constants.js +2 -4
- package/styled-components/es/components/Card/Card.api.mdx +184 -0
- package/styled-components/es/components/Switch/Switch.tokens.js +7 -1
- package/styled-components/es/components/Switch/_toggleSize/base.js +1 -1
- package/styled-components/es/components/Switch/_view/base.js +1 -1
- package/styled-components/es/components/TextField/TextField.js +4 -27
- package/styled-components/es/components/TextField/TextField.template-doc.mdx +0 -330
- package/styled-components/es/components/TextField/hooks/index.js +1 -2
- package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
- package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.js +4 -1
- package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.outline.config.js +31 -0
- package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
- package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
- package/styled-components/es/examples/plasma_web/components/Switch/Switch.config.js +1 -1
- package/styled-components/es/examples/plasma_web/components/Switch/Switch.js +4 -1
- package/styled-components/es/examples/plasma_web/components/Switch/Switch.outline.config.js +31 -0
- package/styled-components/es/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
- package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
- package/styled-components/es/utils/constants.js +1 -3
- package/types/components/Autocomplete/Autocomplete.types.d.ts +2 -2
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +92 -1676
- package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +92 -1676
- package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +92 -1676
- package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
- package/types/components/Range/Range.styles.d.ts +92 -1676
- package/types/components/Range/Range.styles.d.ts.map +1 -1
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts +92 -1676
- package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.styles.d.ts +92 -1676
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
- package/types/components/Switch/Switch.tokens.d.ts +7 -1
- package/types/components/Switch/Switch.tokens.d.ts.map +1 -1
- package/types/components/Switch/_toggleSize/base.d.ts.map +1 -1
- package/types/components/Switch/_view/base.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/TextField.types.d.ts +1 -51
- package/types/components/TextField/TextField.types.d.ts.map +1 -1
- package/types/components/TextField/hooks/index.d.ts +0 -1
- package/types/components/TextField/hooks/index.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts +2 -64
- package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +92 -2732
- package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Switch/Switch.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Switch/Switch.d.ts +20 -0
- package/types/examples/plasma_b2c/components/Switch/Switch.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Switch/Switch.outline.config.d.ts +30 -0
- package/types/examples/plasma_b2c/components/Switch/Switch.outline.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +92 -1676
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts +2 -64
- package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Mask/Mask.d.ts +92 -2732
- package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Switch/Switch.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Switch/Switch.d.ts +20 -0
- package/types/examples/plasma_web/components/Switch/Switch.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Switch/Switch.outline.config.d.ts +30 -0
- package/types/examples/plasma_web/components/Switch/Switch.outline.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/TextField/TextField.d.ts +92 -1676
- package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
- package/types/utils/constants.d.ts +0 -2
- package/types/utils/constants.d.ts.map +1 -1
- package/cjs/components/Switch/_toggleSize/base_6i0904.css +0 -1
- package/cjs/components/Switch/_view/base_yxkf3s.css +0 -1
- package/cjs/components/TextField/hooks/useValidation.js +0 -273
- package/cjs/components/TextField/hooks/useValidation.js.map +0 -1
- package/emotion/cjs/components/TextField/hooks/useValidation.js +0 -276
- package/emotion/es/components/TextField/hooks/useValidation.js +0 -270
- package/es/components/Switch/_toggleSize/base_6i0904.css +0 -1
- package/es/components/Switch/_view/base_yxkf3s.css +0 -1
- package/es/components/TextField/hooks/useValidation.js +0 -269
- package/es/components/TextField/hooks/useValidation.js.map +0 -1
- package/styled-components/cjs/components/TextField/hooks/useValidation.js +0 -276
- package/styled-components/es/components/TextField/hooks/useValidation.js +0 -270
- package/types/components/TextField/hooks/useValidation.d.ts +0 -7
- package/types/components/TextField/hooks/useValidation.d.ts.map +0 -1
@@ -1,276 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.useValidation = void 0;
|
7
|
-
var _react = /*#__PURE__*/require("react");
|
8
|
-
var _utils = /*#__PURE__*/require("../../../utils");
|
9
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
10
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
11
|
-
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); }
|
12
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
13
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
14
|
-
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; }
|
15
|
-
var getUniqueKeys = function getUniqueKeys(lengthOptions) {
|
16
|
-
return lengthOptions.map(function (option) {
|
17
|
-
return option.replace(/min|max|Length/g, '');
|
18
|
-
});
|
19
|
-
};
|
20
|
-
var validateLenghtOptions = function validateLenghtOptions(options) {
|
21
|
-
var _options$minLength, _options$maxLength;
|
22
|
-
if (!options) {
|
23
|
-
return;
|
24
|
-
}
|
25
|
-
var minHash = Object.keys(options).filter(function (key) {
|
26
|
-
return key.startsWith('min');
|
27
|
-
});
|
28
|
-
var maxHash = Object.keys(options).filter(function (key) {
|
29
|
-
return key.startsWith('max');
|
30
|
-
});
|
31
|
-
var minMaxUniqueKeys = (minHash === null || minHash === void 0 ? void 0 : minHash.length) >= (maxHash === null || maxHash === void 0 ? void 0 : maxHash.length) ? getUniqueKeys(minHash) : getUniqueKeys(maxHash);
|
32
|
-
var globalMinValue = Number(options === null || options === void 0 || (_options$minLength = options.minLength) === null || _options$minLength === void 0 ? void 0 : _options$minLength.value);
|
33
|
-
var globalMaxValue = Number(options === null || options === void 0 || (_options$maxLength = options.maxLength) === null || _options$maxLength === void 0 ? void 0 : _options$maxLength.value);
|
34
|
-
if (globalMinValue <= 0) {
|
35
|
-
console.error('minLength must be more than 0');
|
36
|
-
}
|
37
|
-
if (globalMaxValue <= 0) {
|
38
|
-
console.error('maxLength must be more than 0');
|
39
|
-
}
|
40
|
-
if (globalMaxValue <= globalMinValue) {
|
41
|
-
console.error('maxLength must be more than minLength');
|
42
|
-
}
|
43
|
-
minMaxUniqueKeys.forEach(function (key) {
|
44
|
-
var _options$optionMinKey, _options$optionMaxKey;
|
45
|
-
var optionMinKey = "min".concat(key, "Length");
|
46
|
-
var optionMaxKey = "max".concat(key, "Length");
|
47
|
-
var minValue = Number(options === null || options === void 0 || (_options$optionMinKey = options[optionMinKey]) === null || _options$optionMinKey === void 0 ? void 0 : _options$optionMinKey.value);
|
48
|
-
var maxValue = Number(options === null || options === void 0 || (_options$optionMaxKey = options[optionMaxKey]) === null || _options$optionMaxKey === void 0 ? void 0 : _options$optionMaxKey.value);
|
49
|
-
if (!minValue || minValue <= 0) {
|
50
|
-
console.error("".concat(optionMinKey, " must be more than 0"));
|
51
|
-
}
|
52
|
-
if (!maxValue || maxValue <= 0) {
|
53
|
-
console.error("".concat(optionMaxKey, " must be more than 0"));
|
54
|
-
}
|
55
|
-
if (maxValue <= minValue) {
|
56
|
-
console.error("".concat(optionMaxKey, " must be more than ").concat(optionMinKey));
|
57
|
-
}
|
58
|
-
});
|
59
|
-
};
|
60
|
-
var validateWithLengthOptions = function validateWithLengthOptions(value, options, optionKey) {
|
61
|
-
var _options$optionMinKey2, _options$optionMaxKey2;
|
62
|
-
var optionMinKey = "min".concat(optionKey, "Length");
|
63
|
-
var optionMaxKey = "max".concat(optionKey, "Length");
|
64
|
-
var minValue = Number((_options$optionMinKey2 = options[optionMinKey]) === null || _options$optionMinKey2 === void 0 ? void 0 : _options$optionMinKey2.value);
|
65
|
-
var maxValue = Number((_options$optionMaxKey2 = options[optionMaxKey]) === null || _options$optionMaxKey2 === void 0 ? void 0 : _options$optionMaxKey2.value);
|
66
|
-
if (minValue && value.length < minValue) {
|
67
|
-
var _options$optionMinKey3;
|
68
|
-
return {
|
69
|
-
isValid: false,
|
70
|
-
errorMessage: ((_options$optionMinKey3 = options[optionMinKey]) === null || _options$optionMinKey3 === void 0 ? void 0 : _options$optionMinKey3.errorMessage) || "".concat(optionMinKey, " is too short")
|
71
|
-
};
|
72
|
-
}
|
73
|
-
if (maxValue && value.length > maxValue) {
|
74
|
-
var _options$optionMaxKey3;
|
75
|
-
return {
|
76
|
-
isValid: false,
|
77
|
-
errorMessage: ((_options$optionMaxKey3 = options[optionMaxKey]) === null || _options$optionMaxKey3 === void 0 ? void 0 : _options$optionMaxKey3.errorMessage) || "".concat(optionMaxKey, " is too long")
|
78
|
-
};
|
79
|
-
}
|
80
|
-
return {
|
81
|
-
isValid: true
|
82
|
-
};
|
83
|
-
};
|
84
|
-
var validateEmailDomainsLists = function validateEmailDomainsLists(blacklistDomains, whitelistDomains) {
|
85
|
-
if (!(blacklistDomains !== null && blacklistDomains !== void 0 && blacklistDomains.length) || !(whitelistDomains !== null && whitelistDomains !== void 0 && whitelistDomains.length)) {
|
86
|
-
return;
|
87
|
-
}
|
88
|
-
var uniqueDomains = new Set([].concat(_toConsumableArray(blacklistDomains), _toConsumableArray(whitelistDomains)));
|
89
|
-
if (uniqueDomains.size !== blacklistDomains.length + whitelistDomains.length) {
|
90
|
-
console.error('Blacklisted domains must not overlap whitelisted domains');
|
91
|
-
}
|
92
|
-
};
|
93
|
-
var validateWithDomainsLists = function validateWithDomainsLists(domainWithZone, options) {
|
94
|
-
var _options$whitelistDom, _options$blacklistDom, _options$blacklistDom2, _options$whitelistDom2;
|
95
|
-
if (!((_options$whitelistDom = options.whitelistDomains) !== null && _options$whitelistDom !== void 0 && (_options$whitelistDom = _options$whitelistDom.value) !== null && _options$whitelistDom !== void 0 && _options$whitelistDom.length) && !((_options$blacklistDom = options.blacklistDomains) !== null && _options$blacklistDom !== void 0 && (_options$blacklistDom = _options$blacklistDom.value) !== null && _options$blacklistDom !== void 0 && _options$blacklistDom.length)) {
|
96
|
-
return {
|
97
|
-
isValid: true
|
98
|
-
};
|
99
|
-
}
|
100
|
-
if (options !== null && options !== void 0 && (_options$blacklistDom2 = options.blacklistDomains) !== null && _options$blacklistDom2 !== void 0 && (_options$blacklistDom2 = _options$blacklistDom2.value) !== null && _options$blacklistDom2 !== void 0 && _options$blacklistDom2.includes(domainWithZone)) {
|
101
|
-
var _options$blacklistDom3;
|
102
|
-
return {
|
103
|
-
isValid: false,
|
104
|
-
errorMessage: ((_options$blacklistDom3 = options.blacklistDomains) === null || _options$blacklistDom3 === void 0 ? void 0 : _options$blacklistDom3.errorMessage) || 'Domain is blacklisted'
|
105
|
-
};
|
106
|
-
}
|
107
|
-
if (!(options !== null && options !== void 0 && (_options$whitelistDom2 = options.whitelistDomains) !== null && _options$whitelistDom2 !== void 0 && (_options$whitelistDom2 = _options$whitelistDom2.value) !== null && _options$whitelistDom2 !== void 0 && _options$whitelistDom2.includes(domainWithZone))) {
|
108
|
-
var _options$whitelistDom3;
|
109
|
-
return {
|
110
|
-
isValid: false,
|
111
|
-
errorMessage: ((_options$whitelistDom3 = options.whitelistDomains) === null || _options$whitelistDom3 === void 0 ? void 0 : _options$whitelistDom3.errorMessage) || 'Domain is not whitelisted'
|
112
|
-
};
|
113
|
-
}
|
114
|
-
return {
|
115
|
-
isValid: true
|
116
|
-
};
|
117
|
-
};
|
118
|
-
var validateEmail = function validateEmail(email, options) {
|
119
|
-
var _options$customEmailR, _options$minLength2, _options$maxLength2;
|
120
|
-
if (!email) {
|
121
|
-
return {
|
122
|
-
isValid: true
|
123
|
-
};
|
124
|
-
}
|
125
|
-
var emailRegex = (options === null || options === void 0 || (_options$customEmailR = options.customEmailRegex) === null || _options$customEmailR === void 0 ? void 0 : _options$customEmailR.value) || _utils.constants.emailPattern;
|
126
|
-
if (!emailRegex.test(email)) {
|
127
|
-
var _options$customEmailR2;
|
128
|
-
return {
|
129
|
-
isValid: false,
|
130
|
-
errorMessage: (options === null || options === void 0 || (_options$customEmailR2 = options.customEmailRegex) === null || _options$customEmailR2 === void 0 ? void 0 : _options$customEmailR2.errorMessage) || 'Invalid email'
|
131
|
-
};
|
132
|
-
}
|
133
|
-
if (!options) {
|
134
|
-
return {
|
135
|
-
isValid: true
|
136
|
-
};
|
137
|
-
}
|
138
|
-
if ((_options$minLength2 = options.minLength) !== null && _options$minLength2 !== void 0 && _options$minLength2.value && email.length < options.minLength.value) {
|
139
|
-
var _options$minLength3;
|
140
|
-
return {
|
141
|
-
isValid: false,
|
142
|
-
errorMessage: ((_options$minLength3 = options.minLength) === null || _options$minLength3 === void 0 ? void 0 : _options$minLength3.errorMessage) || 'Email is too short'
|
143
|
-
};
|
144
|
-
}
|
145
|
-
if ((_options$maxLength2 = options.maxLength) !== null && _options$maxLength2 !== void 0 && _options$maxLength2.value && email.length > options.maxLength.value) {
|
146
|
-
var _options$maxLength3;
|
147
|
-
return {
|
148
|
-
isValid: false,
|
149
|
-
errorMessage: ((_options$maxLength3 = options.maxLength) === null || _options$maxLength3 === void 0 ? void 0 : _options$maxLength3.errorMessage) || 'Email is too long'
|
150
|
-
};
|
151
|
-
}
|
152
|
-
var emailHost = email.split('@')[0];
|
153
|
-
var emailDomainWithZone = email.split('@')[1];
|
154
|
-
var emailZone = emailDomainWithZone.split('.').pop();
|
155
|
-
if (!(emailZone !== null && emailZone !== void 0 && emailZone.length)) {
|
156
|
-
var _options$customEmailR3;
|
157
|
-
return {
|
158
|
-
isValid: false,
|
159
|
-
errorMessage: ((_options$customEmailR3 = options.customEmailRegex) === null || _options$customEmailR3 === void 0 ? void 0 : _options$customEmailR3.errorMessage) || 'Invalid email'
|
160
|
-
};
|
161
|
-
}
|
162
|
-
var emailDomain = emailDomainWithZone.substring(0, emailDomainWithZone.length - (emailZone.length + 1));
|
163
|
-
var hostValidation = validateWithLengthOptions(emailHost, options, 'Host');
|
164
|
-
if (!hostValidation.isValid) {
|
165
|
-
return hostValidation;
|
166
|
-
}
|
167
|
-
var domainValidation = validateWithLengthOptions(emailDomain, options, 'Domain');
|
168
|
-
if (!domainValidation.isValid) {
|
169
|
-
return domainValidation;
|
170
|
-
}
|
171
|
-
var zoneValidation = validateWithLengthOptions(emailZone, options, 'Zone');
|
172
|
-
if (!zoneValidation.isValid) {
|
173
|
-
return zoneValidation;
|
174
|
-
}
|
175
|
-
var domainWithZoneValidation = validateWithDomainsLists(emailDomainWithZone, options);
|
176
|
-
if (!domainWithZoneValidation.isValid) {
|
177
|
-
return domainWithZoneValidation;
|
178
|
-
}
|
179
|
-
return {
|
180
|
-
isValid: true
|
181
|
-
};
|
182
|
-
};
|
183
|
-
var validatePassword = function validatePassword(password, options) {
|
184
|
-
var _options$minLength4, _options$maxLength4, _options$includeUpper, _options$includeLower, _options$includeDigit, _options$includeSpeci;
|
185
|
-
if (!password || !options) {
|
186
|
-
return {
|
187
|
-
isValid: true
|
188
|
-
};
|
189
|
-
}
|
190
|
-
if ((_options$minLength4 = options.minLength) !== null && _options$minLength4 !== void 0 && _options$minLength4.value && password.length < options.minLength.value) {
|
191
|
-
var _options$minLength5;
|
192
|
-
return {
|
193
|
-
isValid: false,
|
194
|
-
errorMessage: ((_options$minLength5 = options.minLength) === null || _options$minLength5 === void 0 ? void 0 : _options$minLength5.errorMessage) || 'Password is too short'
|
195
|
-
};
|
196
|
-
}
|
197
|
-
if ((_options$maxLength4 = options.maxLength) !== null && _options$maxLength4 !== void 0 && _options$maxLength4.value && password.length > options.maxLength.value) {
|
198
|
-
var _options$maxLength5;
|
199
|
-
return {
|
200
|
-
isValid: false,
|
201
|
-
errorMessage: ((_options$maxLength5 = options.maxLength) === null || _options$maxLength5 === void 0 ? void 0 : _options$maxLength5.errorMessage) || 'Password is too long'
|
202
|
-
};
|
203
|
-
}
|
204
|
-
var lowercasedPassword = password.toLowerCase();
|
205
|
-
var uppercasedPassword = password.toUpperCase();
|
206
|
-
if ((_options$includeUpper = options.includeUppercase) !== null && _options$includeUpper !== void 0 && _options$includeUpper.value && password === lowercasedPassword) {
|
207
|
-
var _options$includeUpper2;
|
208
|
-
return {
|
209
|
-
isValid: false,
|
210
|
-
errorMessage: ((_options$includeUpper2 = options.includeUppercase) === null || _options$includeUpper2 === void 0 ? void 0 : _options$includeUpper2.errorMessage) || 'Password must contain at least one uppercase letter'
|
211
|
-
};
|
212
|
-
}
|
213
|
-
if ((_options$includeLower = options.includeLowercase) !== null && _options$includeLower !== void 0 && _options$includeLower.value && password === uppercasedPassword) {
|
214
|
-
var _options$includeLower2;
|
215
|
-
return {
|
216
|
-
isValid: false,
|
217
|
-
errorMessage: ((_options$includeLower2 = options.includeLowercase) === null || _options$includeLower2 === void 0 ? void 0 : _options$includeLower2.errorMessage) || 'Password must contain at least one lowercase letter'
|
218
|
-
};
|
219
|
-
}
|
220
|
-
if ((_options$includeDigit = options.includeDigits) !== null && _options$includeDigit !== void 0 && _options$includeDigit.value && !/\d/.test(password)) {
|
221
|
-
var _options$includeDigit2;
|
222
|
-
return {
|
223
|
-
isValid: false,
|
224
|
-
errorMessage: ((_options$includeDigit2 = options.includeDigits) === null || _options$includeDigit2 === void 0 ? void 0 : _options$includeDigit2.errorMessage) || 'Password must contain digits'
|
225
|
-
};
|
226
|
-
}
|
227
|
-
if ((_options$includeSpeci = options.includeSpecialSymbols) !== null && _options$includeSpeci !== void 0 && _options$includeSpeci.value && !_utils.constants.specialCharacters.test(password)) {
|
228
|
-
var _options$includeSpeci2;
|
229
|
-
return {
|
230
|
-
isValid: false,
|
231
|
-
errorMessage: ((_options$includeSpeci2 = options.includeSpecialSymbols) === null || _options$includeSpeci2 === void 0 ? void 0 : _options$includeSpeci2.errorMessage) || 'Password must contain special characters'
|
232
|
-
};
|
233
|
-
}
|
234
|
-
return {
|
235
|
-
isValid: true
|
236
|
-
};
|
237
|
-
};
|
238
|
-
var validationVariants = {
|
239
|
-
email: validateEmail,
|
240
|
-
password: validatePassword
|
241
|
-
};
|
242
|
-
var useValidation = exports.useValidation = function useValidation(_ref) {
|
243
|
-
var validationType = _ref.validationType,
|
244
|
-
options = _ref.options,
|
245
|
-
onValidate = _ref.onValidate;
|
246
|
-
var handleValidationBlur = function handleValidationBlur(event) {
|
247
|
-
if (!validationType) {
|
248
|
-
return;
|
249
|
-
}
|
250
|
-
var validationResult = validationVariants[validationType](event.target.value, options);
|
251
|
-
onValidate === null || onValidate === void 0 || onValidate(validationResult);
|
252
|
-
};
|
253
|
-
var handleValidationKeyDown = function handleValidationKeyDown(event) {
|
254
|
-
if (!validationType) {
|
255
|
-
return;
|
256
|
-
}
|
257
|
-
if (event.keyCode === _utils.constants.keyCodes.Enter) {
|
258
|
-
event.preventDefault();
|
259
|
-
var _ref2 = event.target,
|
260
|
-
value = _ref2.value;
|
261
|
-
var validationResult = validationVariants[validationType](value, options);
|
262
|
-
onValidate === null || onValidate === void 0 || onValidate(validationResult);
|
263
|
-
}
|
264
|
-
};
|
265
|
-
(0, _react.useEffect)(function () {
|
266
|
-
validateLenghtOptions(options);
|
267
|
-
if (validationType === 'email') {
|
268
|
-
var _whitelistDomains, _blacklistDomains;
|
269
|
-
validateEmailDomainsLists(options === null || options === void 0 || (_whitelistDomains = options.whitelistDomains) === null || _whitelistDomains === void 0 ? void 0 : _whitelistDomains.value, (_blacklistDomains = options.blacklistDomains) === null || _blacklistDomains === void 0 ? void 0 : _blacklistDomains.value);
|
270
|
-
}
|
271
|
-
}, []);
|
272
|
-
return {
|
273
|
-
handleValidationBlur: handleValidationBlur,
|
274
|
-
handleValidationKeyDown: handleValidationKeyDown
|
275
|
-
};
|
276
|
-
};
|
@@ -1,270 +0,0 @@
|
|
1
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
-
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); }
|
4
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
5
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
6
|
-
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; }
|
7
|
-
import { useEffect } from 'react';
|
8
|
-
import { constants } from '../../../utils';
|
9
|
-
var getUniqueKeys = function getUniqueKeys(lengthOptions) {
|
10
|
-
return lengthOptions.map(function (option) {
|
11
|
-
return option.replace(/min|max|Length/g, '');
|
12
|
-
});
|
13
|
-
};
|
14
|
-
var validateLenghtOptions = function validateLenghtOptions(options) {
|
15
|
-
var _options$minLength, _options$maxLength;
|
16
|
-
if (!options) {
|
17
|
-
return;
|
18
|
-
}
|
19
|
-
var minHash = Object.keys(options).filter(function (key) {
|
20
|
-
return key.startsWith('min');
|
21
|
-
});
|
22
|
-
var maxHash = Object.keys(options).filter(function (key) {
|
23
|
-
return key.startsWith('max');
|
24
|
-
});
|
25
|
-
var minMaxUniqueKeys = (minHash === null || minHash === void 0 ? void 0 : minHash.length) >= (maxHash === null || maxHash === void 0 ? void 0 : maxHash.length) ? getUniqueKeys(minHash) : getUniqueKeys(maxHash);
|
26
|
-
var globalMinValue = Number(options === null || options === void 0 || (_options$minLength = options.minLength) === null || _options$minLength === void 0 ? void 0 : _options$minLength.value);
|
27
|
-
var globalMaxValue = Number(options === null || options === void 0 || (_options$maxLength = options.maxLength) === null || _options$maxLength === void 0 ? void 0 : _options$maxLength.value);
|
28
|
-
if (globalMinValue <= 0) {
|
29
|
-
console.error('minLength must be more than 0');
|
30
|
-
}
|
31
|
-
if (globalMaxValue <= 0) {
|
32
|
-
console.error('maxLength must be more than 0');
|
33
|
-
}
|
34
|
-
if (globalMaxValue <= globalMinValue) {
|
35
|
-
console.error('maxLength must be more than minLength');
|
36
|
-
}
|
37
|
-
minMaxUniqueKeys.forEach(function (key) {
|
38
|
-
var _options$optionMinKey, _options$optionMaxKey;
|
39
|
-
var optionMinKey = "min".concat(key, "Length");
|
40
|
-
var optionMaxKey = "max".concat(key, "Length");
|
41
|
-
var minValue = Number(options === null || options === void 0 || (_options$optionMinKey = options[optionMinKey]) === null || _options$optionMinKey === void 0 ? void 0 : _options$optionMinKey.value);
|
42
|
-
var maxValue = Number(options === null || options === void 0 || (_options$optionMaxKey = options[optionMaxKey]) === null || _options$optionMaxKey === void 0 ? void 0 : _options$optionMaxKey.value);
|
43
|
-
if (!minValue || minValue <= 0) {
|
44
|
-
console.error("".concat(optionMinKey, " must be more than 0"));
|
45
|
-
}
|
46
|
-
if (!maxValue || maxValue <= 0) {
|
47
|
-
console.error("".concat(optionMaxKey, " must be more than 0"));
|
48
|
-
}
|
49
|
-
if (maxValue <= minValue) {
|
50
|
-
console.error("".concat(optionMaxKey, " must be more than ").concat(optionMinKey));
|
51
|
-
}
|
52
|
-
});
|
53
|
-
};
|
54
|
-
var validateWithLengthOptions = function validateWithLengthOptions(value, options, optionKey) {
|
55
|
-
var _options$optionMinKey2, _options$optionMaxKey2;
|
56
|
-
var optionMinKey = "min".concat(optionKey, "Length");
|
57
|
-
var optionMaxKey = "max".concat(optionKey, "Length");
|
58
|
-
var minValue = Number((_options$optionMinKey2 = options[optionMinKey]) === null || _options$optionMinKey2 === void 0 ? void 0 : _options$optionMinKey2.value);
|
59
|
-
var maxValue = Number((_options$optionMaxKey2 = options[optionMaxKey]) === null || _options$optionMaxKey2 === void 0 ? void 0 : _options$optionMaxKey2.value);
|
60
|
-
if (minValue && value.length < minValue) {
|
61
|
-
var _options$optionMinKey3;
|
62
|
-
return {
|
63
|
-
isValid: false,
|
64
|
-
errorMessage: ((_options$optionMinKey3 = options[optionMinKey]) === null || _options$optionMinKey3 === void 0 ? void 0 : _options$optionMinKey3.errorMessage) || "".concat(optionMinKey, " is too short")
|
65
|
-
};
|
66
|
-
}
|
67
|
-
if (maxValue && value.length > maxValue) {
|
68
|
-
var _options$optionMaxKey3;
|
69
|
-
return {
|
70
|
-
isValid: false,
|
71
|
-
errorMessage: ((_options$optionMaxKey3 = options[optionMaxKey]) === null || _options$optionMaxKey3 === void 0 ? void 0 : _options$optionMaxKey3.errorMessage) || "".concat(optionMaxKey, " is too long")
|
72
|
-
};
|
73
|
-
}
|
74
|
-
return {
|
75
|
-
isValid: true
|
76
|
-
};
|
77
|
-
};
|
78
|
-
var validateEmailDomainsLists = function validateEmailDomainsLists(blacklistDomains, whitelistDomains) {
|
79
|
-
if (!(blacklistDomains !== null && blacklistDomains !== void 0 && blacklistDomains.length) || !(whitelistDomains !== null && whitelistDomains !== void 0 && whitelistDomains.length)) {
|
80
|
-
return;
|
81
|
-
}
|
82
|
-
var uniqueDomains = new Set([].concat(_toConsumableArray(blacklistDomains), _toConsumableArray(whitelistDomains)));
|
83
|
-
if (uniqueDomains.size !== blacklistDomains.length + whitelistDomains.length) {
|
84
|
-
console.error('Blacklisted domains must not overlap whitelisted domains');
|
85
|
-
}
|
86
|
-
};
|
87
|
-
var validateWithDomainsLists = function validateWithDomainsLists(domainWithZone, options) {
|
88
|
-
var _options$whitelistDom, _options$blacklistDom, _options$blacklistDom2, _options$whitelistDom2;
|
89
|
-
if (!((_options$whitelistDom = options.whitelistDomains) !== null && _options$whitelistDom !== void 0 && (_options$whitelistDom = _options$whitelistDom.value) !== null && _options$whitelistDom !== void 0 && _options$whitelistDom.length) && !((_options$blacklistDom = options.blacklistDomains) !== null && _options$blacklistDom !== void 0 && (_options$blacklistDom = _options$blacklistDom.value) !== null && _options$blacklistDom !== void 0 && _options$blacklistDom.length)) {
|
90
|
-
return {
|
91
|
-
isValid: true
|
92
|
-
};
|
93
|
-
}
|
94
|
-
if (options !== null && options !== void 0 && (_options$blacklistDom2 = options.blacklistDomains) !== null && _options$blacklistDom2 !== void 0 && (_options$blacklistDom2 = _options$blacklistDom2.value) !== null && _options$blacklistDom2 !== void 0 && _options$blacklistDom2.includes(domainWithZone)) {
|
95
|
-
var _options$blacklistDom3;
|
96
|
-
return {
|
97
|
-
isValid: false,
|
98
|
-
errorMessage: ((_options$blacklistDom3 = options.blacklistDomains) === null || _options$blacklistDom3 === void 0 ? void 0 : _options$blacklistDom3.errorMessage) || 'Domain is blacklisted'
|
99
|
-
};
|
100
|
-
}
|
101
|
-
if (!(options !== null && options !== void 0 && (_options$whitelistDom2 = options.whitelistDomains) !== null && _options$whitelistDom2 !== void 0 && (_options$whitelistDom2 = _options$whitelistDom2.value) !== null && _options$whitelistDom2 !== void 0 && _options$whitelistDom2.includes(domainWithZone))) {
|
102
|
-
var _options$whitelistDom3;
|
103
|
-
return {
|
104
|
-
isValid: false,
|
105
|
-
errorMessage: ((_options$whitelistDom3 = options.whitelistDomains) === null || _options$whitelistDom3 === void 0 ? void 0 : _options$whitelistDom3.errorMessage) || 'Domain is not whitelisted'
|
106
|
-
};
|
107
|
-
}
|
108
|
-
return {
|
109
|
-
isValid: true
|
110
|
-
};
|
111
|
-
};
|
112
|
-
var validateEmail = function validateEmail(email, options) {
|
113
|
-
var _options$customEmailR, _options$minLength2, _options$maxLength2;
|
114
|
-
if (!email) {
|
115
|
-
return {
|
116
|
-
isValid: true
|
117
|
-
};
|
118
|
-
}
|
119
|
-
var emailRegex = (options === null || options === void 0 || (_options$customEmailR = options.customEmailRegex) === null || _options$customEmailR === void 0 ? void 0 : _options$customEmailR.value) || constants.emailPattern;
|
120
|
-
if (!emailRegex.test(email)) {
|
121
|
-
var _options$customEmailR2;
|
122
|
-
return {
|
123
|
-
isValid: false,
|
124
|
-
errorMessage: (options === null || options === void 0 || (_options$customEmailR2 = options.customEmailRegex) === null || _options$customEmailR2 === void 0 ? void 0 : _options$customEmailR2.errorMessage) || 'Invalid email'
|
125
|
-
};
|
126
|
-
}
|
127
|
-
if (!options) {
|
128
|
-
return {
|
129
|
-
isValid: true
|
130
|
-
};
|
131
|
-
}
|
132
|
-
if ((_options$minLength2 = options.minLength) !== null && _options$minLength2 !== void 0 && _options$minLength2.value && email.length < options.minLength.value) {
|
133
|
-
var _options$minLength3;
|
134
|
-
return {
|
135
|
-
isValid: false,
|
136
|
-
errorMessage: ((_options$minLength3 = options.minLength) === null || _options$minLength3 === void 0 ? void 0 : _options$minLength3.errorMessage) || 'Email is too short'
|
137
|
-
};
|
138
|
-
}
|
139
|
-
if ((_options$maxLength2 = options.maxLength) !== null && _options$maxLength2 !== void 0 && _options$maxLength2.value && email.length > options.maxLength.value) {
|
140
|
-
var _options$maxLength3;
|
141
|
-
return {
|
142
|
-
isValid: false,
|
143
|
-
errorMessage: ((_options$maxLength3 = options.maxLength) === null || _options$maxLength3 === void 0 ? void 0 : _options$maxLength3.errorMessage) || 'Email is too long'
|
144
|
-
};
|
145
|
-
}
|
146
|
-
var emailHost = email.split('@')[0];
|
147
|
-
var emailDomainWithZone = email.split('@')[1];
|
148
|
-
var emailZone = emailDomainWithZone.split('.').pop();
|
149
|
-
if (!(emailZone !== null && emailZone !== void 0 && emailZone.length)) {
|
150
|
-
var _options$customEmailR3;
|
151
|
-
return {
|
152
|
-
isValid: false,
|
153
|
-
errorMessage: ((_options$customEmailR3 = options.customEmailRegex) === null || _options$customEmailR3 === void 0 ? void 0 : _options$customEmailR3.errorMessage) || 'Invalid email'
|
154
|
-
};
|
155
|
-
}
|
156
|
-
var emailDomain = emailDomainWithZone.substring(0, emailDomainWithZone.length - (emailZone.length + 1));
|
157
|
-
var hostValidation = validateWithLengthOptions(emailHost, options, 'Host');
|
158
|
-
if (!hostValidation.isValid) {
|
159
|
-
return hostValidation;
|
160
|
-
}
|
161
|
-
var domainValidation = validateWithLengthOptions(emailDomain, options, 'Domain');
|
162
|
-
if (!domainValidation.isValid) {
|
163
|
-
return domainValidation;
|
164
|
-
}
|
165
|
-
var zoneValidation = validateWithLengthOptions(emailZone, options, 'Zone');
|
166
|
-
if (!zoneValidation.isValid) {
|
167
|
-
return zoneValidation;
|
168
|
-
}
|
169
|
-
var domainWithZoneValidation = validateWithDomainsLists(emailDomainWithZone, options);
|
170
|
-
if (!domainWithZoneValidation.isValid) {
|
171
|
-
return domainWithZoneValidation;
|
172
|
-
}
|
173
|
-
return {
|
174
|
-
isValid: true
|
175
|
-
};
|
176
|
-
};
|
177
|
-
var validatePassword = function validatePassword(password, options) {
|
178
|
-
var _options$minLength4, _options$maxLength4, _options$includeUpper, _options$includeLower, _options$includeDigit, _options$includeSpeci;
|
179
|
-
if (!password || !options) {
|
180
|
-
return {
|
181
|
-
isValid: true
|
182
|
-
};
|
183
|
-
}
|
184
|
-
if ((_options$minLength4 = options.minLength) !== null && _options$minLength4 !== void 0 && _options$minLength4.value && password.length < options.minLength.value) {
|
185
|
-
var _options$minLength5;
|
186
|
-
return {
|
187
|
-
isValid: false,
|
188
|
-
errorMessage: ((_options$minLength5 = options.minLength) === null || _options$minLength5 === void 0 ? void 0 : _options$minLength5.errorMessage) || 'Password is too short'
|
189
|
-
};
|
190
|
-
}
|
191
|
-
if ((_options$maxLength4 = options.maxLength) !== null && _options$maxLength4 !== void 0 && _options$maxLength4.value && password.length > options.maxLength.value) {
|
192
|
-
var _options$maxLength5;
|
193
|
-
return {
|
194
|
-
isValid: false,
|
195
|
-
errorMessage: ((_options$maxLength5 = options.maxLength) === null || _options$maxLength5 === void 0 ? void 0 : _options$maxLength5.errorMessage) || 'Password is too long'
|
196
|
-
};
|
197
|
-
}
|
198
|
-
var lowercasedPassword = password.toLowerCase();
|
199
|
-
var uppercasedPassword = password.toUpperCase();
|
200
|
-
if ((_options$includeUpper = options.includeUppercase) !== null && _options$includeUpper !== void 0 && _options$includeUpper.value && password === lowercasedPassword) {
|
201
|
-
var _options$includeUpper2;
|
202
|
-
return {
|
203
|
-
isValid: false,
|
204
|
-
errorMessage: ((_options$includeUpper2 = options.includeUppercase) === null || _options$includeUpper2 === void 0 ? void 0 : _options$includeUpper2.errorMessage) || 'Password must contain at least one uppercase letter'
|
205
|
-
};
|
206
|
-
}
|
207
|
-
if ((_options$includeLower = options.includeLowercase) !== null && _options$includeLower !== void 0 && _options$includeLower.value && password === uppercasedPassword) {
|
208
|
-
var _options$includeLower2;
|
209
|
-
return {
|
210
|
-
isValid: false,
|
211
|
-
errorMessage: ((_options$includeLower2 = options.includeLowercase) === null || _options$includeLower2 === void 0 ? void 0 : _options$includeLower2.errorMessage) || 'Password must contain at least one lowercase letter'
|
212
|
-
};
|
213
|
-
}
|
214
|
-
if ((_options$includeDigit = options.includeDigits) !== null && _options$includeDigit !== void 0 && _options$includeDigit.value && !/\d/.test(password)) {
|
215
|
-
var _options$includeDigit2;
|
216
|
-
return {
|
217
|
-
isValid: false,
|
218
|
-
errorMessage: ((_options$includeDigit2 = options.includeDigits) === null || _options$includeDigit2 === void 0 ? void 0 : _options$includeDigit2.errorMessage) || 'Password must contain digits'
|
219
|
-
};
|
220
|
-
}
|
221
|
-
if ((_options$includeSpeci = options.includeSpecialSymbols) !== null && _options$includeSpeci !== void 0 && _options$includeSpeci.value && !constants.specialCharacters.test(password)) {
|
222
|
-
var _options$includeSpeci2;
|
223
|
-
return {
|
224
|
-
isValid: false,
|
225
|
-
errorMessage: ((_options$includeSpeci2 = options.includeSpecialSymbols) === null || _options$includeSpeci2 === void 0 ? void 0 : _options$includeSpeci2.errorMessage) || 'Password must contain special characters'
|
226
|
-
};
|
227
|
-
}
|
228
|
-
return {
|
229
|
-
isValid: true
|
230
|
-
};
|
231
|
-
};
|
232
|
-
var validationVariants = {
|
233
|
-
email: validateEmail,
|
234
|
-
password: validatePassword
|
235
|
-
};
|
236
|
-
export var useValidation = function useValidation(_ref) {
|
237
|
-
var validationType = _ref.validationType,
|
238
|
-
options = _ref.options,
|
239
|
-
onValidate = _ref.onValidate;
|
240
|
-
var handleValidationBlur = function handleValidationBlur(event) {
|
241
|
-
if (!validationType) {
|
242
|
-
return;
|
243
|
-
}
|
244
|
-
var validationResult = validationVariants[validationType](event.target.value, options);
|
245
|
-
onValidate === null || onValidate === void 0 || onValidate(validationResult);
|
246
|
-
};
|
247
|
-
var handleValidationKeyDown = function handleValidationKeyDown(event) {
|
248
|
-
if (!validationType) {
|
249
|
-
return;
|
250
|
-
}
|
251
|
-
if (event.keyCode === constants.keyCodes.Enter) {
|
252
|
-
event.preventDefault();
|
253
|
-
var _ref2 = event.target,
|
254
|
-
value = _ref2.value;
|
255
|
-
var validationResult = validationVariants[validationType](value, options);
|
256
|
-
onValidate === null || onValidate === void 0 || onValidate(validationResult);
|
257
|
-
}
|
258
|
-
};
|
259
|
-
useEffect(function () {
|
260
|
-
validateLenghtOptions(options);
|
261
|
-
if (validationType === 'email') {
|
262
|
-
var _whitelistDomains, _blacklistDomains;
|
263
|
-
validateEmailDomainsLists(options === null || options === void 0 || (_whitelistDomains = options.whitelistDomains) === null || _whitelistDomains === void 0 ? void 0 : _whitelistDomains.value, (_blacklistDomains = options.blacklistDomains) === null || _blacklistDomains === void 0 ? void 0 : _blacklistDomains.value);
|
264
|
-
}
|
265
|
-
}, []);
|
266
|
-
return {
|
267
|
-
handleValidationBlur: handleValidationBlur,
|
268
|
-
handleValidationKeyDown: handleValidationKeyDown
|
269
|
-
};
|
270
|
-
};
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import type { FocusEvent, KeyboardEvent } from 'react';
|
2
|
-
import type { UseValidationArgs } from '../TextField.types';
|
3
|
-
export declare const useValidation: ({ validationType, options, onValidate }: UseValidationArgs) => {
|
4
|
-
handleValidationBlur: (event: FocusEvent<HTMLInputElement>) => void;
|
5
|
-
handleValidationKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=useValidation.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"useValidation.d.ts","sourceRoot":"","sources":["../../../../src/components/TextField/hooks/useValidation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAqD,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAiO/G,eAAO,MAAM,aAAa,4CAA6C,iBAAiB;kCAC/C,WAAW,gBAAgB,CAAC;qCAUzB,cAAc,gBAAgB,CAAC;CA6B1E,CAAC"}
|