@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.
Files changed (162) hide show
  1. package/cjs/components/Switch/Switch.css +2 -2
  2. package/cjs/components/Switch/Switch.tokens.js +7 -1
  3. package/cjs/components/Switch/Switch.tokens.js.map +1 -1
  4. package/cjs/components/Switch/_toggleSize/base.js +1 -1
  5. package/cjs/components/Switch/_toggleSize/base.js.map +1 -1
  6. package/cjs/components/Switch/_toggleSize/base_1d0b3t4.css +1 -0
  7. package/cjs/components/Switch/_view/base.js +1 -1
  8. package/cjs/components/Switch/_view/base.js.map +1 -1
  9. package/cjs/components/Switch/_view/base_15atbyp.css +1 -0
  10. package/cjs/components/TextField/TextField.js +3 -27
  11. package/cjs/components/TextField/TextField.js.map +1 -1
  12. package/cjs/index.css +2 -2
  13. package/cjs/utils/constants.js +0 -4
  14. package/cjs/utils/constants.js.map +1 -1
  15. package/emotion/cjs/components/Card/Card.api.mdx +184 -0
  16. package/emotion/cjs/components/Switch/Switch.tokens.js +7 -1
  17. package/emotion/cjs/components/Switch/_toggleSize/base.js +1 -1
  18. package/emotion/cjs/components/Switch/_view/base.js +1 -1
  19. package/emotion/cjs/components/TextField/TextField.js +4 -27
  20. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +0 -330
  21. package/emotion/cjs/components/TextField/hooks/index.js +1 -8
  22. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +8 -8
  23. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.js +5 -2
  24. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.outline.config.js +37 -0
  25. package/emotion/cjs/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
  26. package/emotion/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
  27. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.config.js +8 -8
  28. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.js +5 -2
  29. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.outline.config.js +37 -0
  30. package/emotion/cjs/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
  31. package/emotion/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
  32. package/emotion/cjs/utils/constants.js +2 -4
  33. package/emotion/es/components/Card/Card.api.mdx +184 -0
  34. package/emotion/es/components/Switch/Switch.tokens.js +7 -1
  35. package/emotion/es/components/Switch/_toggleSize/base.js +1 -1
  36. package/emotion/es/components/Switch/_view/base.js +1 -1
  37. package/emotion/es/components/TextField/TextField.js +5 -28
  38. package/emotion/es/components/TextField/TextField.template-doc.mdx +0 -330
  39. package/emotion/es/components/TextField/hooks/index.js +1 -2
  40. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.config.js +8 -8
  41. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.js +4 -1
  42. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.outline.config.js +31 -0
  43. package/emotion/es/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
  44. package/emotion/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
  45. package/emotion/es/examples/plasma_web/components/Switch/Switch.config.js +8 -8
  46. package/emotion/es/examples/plasma_web/components/Switch/Switch.js +4 -1
  47. package/emotion/es/examples/plasma_web/components/Switch/Switch.outline.config.js +31 -0
  48. package/emotion/es/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
  49. package/emotion/es/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
  50. package/emotion/es/utils/constants.js +1 -3
  51. package/es/components/Switch/Switch.css +2 -2
  52. package/es/components/Switch/Switch.tokens.js +7 -1
  53. package/es/components/Switch/Switch.tokens.js.map +1 -1
  54. package/es/components/Switch/_toggleSize/base.js +1 -1
  55. package/es/components/Switch/_toggleSize/base.js.map +1 -1
  56. package/es/components/Switch/_toggleSize/base_1d0b3t4.css +1 -0
  57. package/es/components/Switch/_view/base.js +1 -1
  58. package/es/components/Switch/_view/base.js.map +1 -1
  59. package/es/components/Switch/_view/base_15atbyp.css +1 -0
  60. package/es/components/TextField/TextField.js +3 -27
  61. package/es/components/TextField/TextField.js.map +1 -1
  62. package/es/index.css +2 -2
  63. package/es/utils/constants.js +1 -3
  64. package/es/utils/constants.js.map +1 -1
  65. package/package.json +2 -2
  66. package/styled-components/cjs/components/Card/Card.api.mdx +184 -0
  67. package/styled-components/cjs/components/Switch/Switch.tokens.js +7 -1
  68. package/styled-components/cjs/components/Switch/_toggleSize/base.js +1 -1
  69. package/styled-components/cjs/components/Switch/_view/base.js +1 -1
  70. package/styled-components/cjs/components/TextField/TextField.js +3 -26
  71. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +0 -330
  72. package/styled-components/cjs/components/TextField/hooks/index.js +1 -8
  73. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  74. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.js +5 -2
  75. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.outline.config.js +37 -0
  76. package/styled-components/cjs/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
  77. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
  78. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  79. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.js +5 -2
  80. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.outline.config.js +37 -0
  81. package/styled-components/cjs/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
  82. package/styled-components/cjs/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
  83. package/styled-components/cjs/utils/constants.js +2 -4
  84. package/styled-components/es/components/Card/Card.api.mdx +184 -0
  85. package/styled-components/es/components/Switch/Switch.tokens.js +7 -1
  86. package/styled-components/es/components/Switch/_toggleSize/base.js +1 -1
  87. package/styled-components/es/components/Switch/_view/base.js +1 -1
  88. package/styled-components/es/components/TextField/TextField.js +4 -27
  89. package/styled-components/es/components/TextField/TextField.template-doc.mdx +0 -330
  90. package/styled-components/es/components/TextField/hooks/index.js +1 -2
  91. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.config.js +1 -1
  92. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.js +4 -1
  93. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.outline.config.js +31 -0
  94. package/styled-components/es/examples/plasma_b2c/components/Switch/Switch.stories.tsx +33 -1
  95. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +1 -253
  96. package/styled-components/es/examples/plasma_web/components/Switch/Switch.config.js +1 -1
  97. package/styled-components/es/examples/plasma_web/components/Switch/Switch.js +4 -1
  98. package/styled-components/es/examples/plasma_web/components/Switch/Switch.outline.config.js +31 -0
  99. package/styled-components/es/examples/plasma_web/components/Switch/Switch.stories.tsx +33 -1
  100. package/styled-components/es/examples/plasma_web/components/TextField/TextField.stories.tsx +0 -252
  101. package/styled-components/es/utils/constants.js +1 -3
  102. package/types/components/Autocomplete/Autocomplete.types.d.ts +2 -2
  103. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  104. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts +92 -1676
  105. package/types/components/Autocomplete/ui/TextField/TextField.styles.d.ts.map +1 -1
  106. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts +92 -1676
  107. package/types/components/Combobox/ComboboxNew/ui/Target/Target.styles.d.ts.map +1 -1
  108. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts +92 -1676
  109. package/types/components/DatePicker/SingleDate/SingleDate.styles.d.ts.map +1 -1
  110. package/types/components/Range/Range.styles.d.ts +92 -1676
  111. package/types/components/Range/Range.styles.d.ts.map +1 -1
  112. package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts +92 -1676
  113. package/types/components/Select/ui/Target/ui/Textfield/Textfield.styles.d.ts.map +1 -1
  114. package/types/components/Slider/components/Double/Double.styles.d.ts +92 -1676
  115. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  116. package/types/components/Switch/Switch.tokens.d.ts +7 -1
  117. package/types/components/Switch/Switch.tokens.d.ts.map +1 -1
  118. package/types/components/Switch/_toggleSize/base.d.ts.map +1 -1
  119. package/types/components/Switch/_view/base.d.ts.map +1 -1
  120. package/types/components/TextField/TextField.d.ts.map +1 -1
  121. package/types/components/TextField/TextField.types.d.ts +1 -51
  122. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  123. package/types/components/TextField/hooks/index.d.ts +0 -1
  124. package/types/components/TextField/hooks/index.d.ts.map +1 -1
  125. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts +2 -64
  126. package/types/examples/plasma_b2c/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  127. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +92 -2732
  128. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +1 -1
  129. package/types/examples/plasma_b2c/components/Switch/Switch.config.d.ts.map +1 -1
  130. package/types/examples/plasma_b2c/components/Switch/Switch.d.ts +20 -0
  131. package/types/examples/plasma_b2c/components/Switch/Switch.d.ts.map +1 -1
  132. package/types/examples/plasma_b2c/components/Switch/Switch.outline.config.d.ts +30 -0
  133. package/types/examples/plasma_b2c/components/Switch/Switch.outline.config.d.ts.map +1 -0
  134. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +92 -1676
  135. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  136. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts +2 -64
  137. package/types/examples/plasma_web/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  138. package/types/examples/plasma_web/components/Mask/Mask.d.ts +92 -2732
  139. package/types/examples/plasma_web/components/Mask/Mask.d.ts.map +1 -1
  140. package/types/examples/plasma_web/components/Switch/Switch.config.d.ts.map +1 -1
  141. package/types/examples/plasma_web/components/Switch/Switch.d.ts +20 -0
  142. package/types/examples/plasma_web/components/Switch/Switch.d.ts.map +1 -1
  143. package/types/examples/plasma_web/components/Switch/Switch.outline.config.d.ts +30 -0
  144. package/types/examples/plasma_web/components/Switch/Switch.outline.config.d.ts.map +1 -0
  145. package/types/examples/plasma_web/components/TextField/TextField.d.ts +92 -1676
  146. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  147. package/types/utils/constants.d.ts +0 -2
  148. package/types/utils/constants.d.ts.map +1 -1
  149. package/cjs/components/Switch/_toggleSize/base_6i0904.css +0 -1
  150. package/cjs/components/Switch/_view/base_yxkf3s.css +0 -1
  151. package/cjs/components/TextField/hooks/useValidation.js +0 -273
  152. package/cjs/components/TextField/hooks/useValidation.js.map +0 -1
  153. package/emotion/cjs/components/TextField/hooks/useValidation.js +0 -276
  154. package/emotion/es/components/TextField/hooks/useValidation.js +0 -270
  155. package/es/components/Switch/_toggleSize/base_6i0904.css +0 -1
  156. package/es/components/Switch/_view/base_yxkf3s.css +0 -1
  157. package/es/components/TextField/hooks/useValidation.js +0 -269
  158. package/es/components/TextField/hooks/useValidation.js.map +0 -1
  159. package/styled-components/cjs/components/TextField/hooks/useValidation.js +0 -276
  160. package/styled-components/es/components/TextField/hooks/useValidation.js +0 -270
  161. package/types/components/TextField/hooks/useValidation.d.ts +0 -7
  162. 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"}