@mirai/ui 2.1.41 → 2.1.42

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.
@@ -5,6 +5,47 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getInputPhoneErrors = void 0;
7
7
  var _helpers = require("../components/InputPhone/helpers");
8
+ var COUNTRY_SPECIFIC_RULES = {
9
+ '+34': {
10
+ minLength: 9
11
+ },
12
+ // Spain
13
+ '+1': {
14
+ minLength: 10
15
+ },
16
+ // USA & Canada
17
+ '+44': {
18
+ minLength: 10
19
+ },
20
+ // United Kingdom
21
+ '+33': {
22
+ minLength: 9
23
+ },
24
+ // France
25
+ '+52': {
26
+ minLength: 10
27
+ },
28
+ // Mexico
29
+ '+351': {
30
+ minLength: 9
31
+ },
32
+ // Portugal
33
+ '+49': {
34
+ minLength: 10
35
+ },
36
+ // Germany
37
+ '+39': {
38
+ minLength: 8
39
+ },
40
+ // Italy
41
+ '+353': {
42
+ minLength: 9
43
+ },
44
+ // Ireland
45
+ '+31': {
46
+ minLength: 9
47
+ } // Netherlands
48
+ };
8
49
  var getInputPhoneErrors = function getInputPhoneErrors() {
9
50
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
10
51
  _ref$prefixes = _ref.prefixes,
@@ -13,13 +54,25 @@ var getInputPhoneErrors = function getInputPhoneErrors() {
13
54
  value = _ref$value === void 0 ? '' : _ref$value;
14
55
  if (value.trim().length === 0) return;
15
56
  var errors = {};
16
- var _value$replace = value.replace(/\D/g, ''),
17
- length = _value$replace.length;
57
+ var sanitizedPrefixes = (0, _helpers.sanitizePrefixes)(prefixes);
18
58
  var withPrefix = prefixes.length > 0;
19
- if (length < (withPrefix ? 8 : 6)) errors.minLength = true;
20
- if (withPrefix && !(0, _helpers.sanitizePrefixes)(prefixes).some(function (item) {
21
- return value.includes(item);
22
- })) errors.format = true;
59
+ var minLengthRequired = withPrefix ? 8 : 6;
60
+ var prefixFound;
61
+ if (withPrefix) {
62
+ prefixFound = sanitizedPrefixes.find(function (prefix) {
63
+ return value.startsWith(prefix);
64
+ });
65
+ if (prefixFound) {
66
+ if (COUNTRY_SPECIFIC_RULES[prefixFound]) {
67
+ minLengthRequired = COUNTRY_SPECIFIC_RULES[prefixFound].minLength;
68
+ }
69
+ } else {
70
+ errors.format = true;
71
+ }
72
+ }
73
+ var numberPart = prefixFound ? value.substring(prefixFound.length) : value;
74
+ var actualNumberLength = numberPart.replace(/\D/g, '').length;
75
+ if (actualNumberLength < minLengthRequired) errors.minLength = true;
23
76
  return Object.keys(errors).length > 0 ? errors : undefined;
24
77
  };
25
78
  exports.getInputPhoneErrors = getInputPhoneErrors;
@@ -1 +1 @@
1
- {"version":3,"file":"getInputPhoneErrors.js","names":["_helpers","require","getInputPhoneErrors","_ref","arguments","length","undefined","_ref$prefixes","prefixes","_ref$value","value","trim","errors","_value$replace","replace","withPrefix","minLength","sanitizePrefixes","some","item","includes","format","Object","keys","exports"],"sources":["../../src/helpers/getInputPhoneErrors.js"],"sourcesContent":["import { sanitizePrefixes } from '../components/InputPhone/helpers';\n\nexport const getInputPhoneErrors = ({ prefixes = [], value = '' } = {}) => {\n if (value.trim().length === 0) return;\n\n const errors = {};\n const { length } = value.replace(/\\D/g, '');\n const withPrefix = prefixes.length > 0;\n\n if (length < (withPrefix ? 8 : 6)) errors.minLength = true;\n if (withPrefix && !sanitizePrefixes(prefixes).some((item) => value.includes(item))) errors.format = true;\n\n return Object.keys(errors).length > 0 ? errors : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAA2C;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAP,CAAC,CAAC;IAAAG,aAAA,GAAAJ,IAAA,CAAhCK,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,UAAA,GAAAN,IAAA,CAAEO,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,EAAE,GAAAA,UAAA;EAC7D,IAAIC,KAAK,CAACC,IAAI,CAAC,CAAC,CAACN,MAAM,KAAK,CAAC,EAAE;EAE/B,IAAMO,MAAM,GAAG,CAAC,CAAC;EACjB,IAAAC,cAAA,GAAmBH,KAAK,CAACI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAAnCT,MAAM,GAAAQ,cAAA,CAANR,MAAM;EACd,IAAMU,UAAU,GAAGP,QAAQ,CAACH,MAAM,GAAG,CAAC;EAEtC,IAAIA,MAAM,IAAIU,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEH,MAAM,CAACI,SAAS,GAAG,IAAI;EAC1D,IAAID,UAAU,IAAI,CAAC,IAAAE,yBAAgB,EAACT,QAAQ,CAAC,CAACU,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKT,KAAK,CAACU,QAAQ,CAACD,IAAI,CAAC;EAAA,EAAC,EAAEP,MAAM,CAACS,MAAM,GAAG,IAAI;EAExG,OAAOC,MAAM,CAACC,IAAI,CAACX,MAAM,CAAC,CAACP,MAAM,GAAG,CAAC,GAAGO,MAAM,GAAGN,SAAS;AAC5D,CAAC;AAACkB,OAAA,CAAAtB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"file":"getInputPhoneErrors.js","names":["_helpers","require","COUNTRY_SPECIFIC_RULES","minLength","getInputPhoneErrors","_ref","arguments","length","undefined","_ref$prefixes","prefixes","_ref$value","value","trim","errors","sanitizedPrefixes","sanitizePrefixes","withPrefix","minLengthRequired","prefixFound","find","prefix","startsWith","format","numberPart","substring","actualNumberLength","replace","Object","keys","exports"],"sources":["../../src/helpers/getInputPhoneErrors.js"],"sourcesContent":["import { sanitizePrefixes } from '../components/InputPhone/helpers';\n\nconst COUNTRY_SPECIFIC_RULES = {\n '+34': { minLength: 9 }, // Spain\n '+1': { minLength: 10 }, // USA & Canada\n '+44': { minLength: 10 }, // United Kingdom\n '+33': { minLength: 9 }, // France\n '+52': { minLength: 10 }, // Mexico\n '+351': { minLength: 9 }, // Portugal\n '+49': { minLength: 10 }, // Germany\n '+39': { minLength: 8 }, // Italy\n '+353': { minLength: 9 }, // Ireland\n '+31': { minLength: 9 }, // Netherlands\n};\n\nexport const getInputPhoneErrors = ({ prefixes = [], value = '' } = {}) => {\n if (value.trim().length === 0) return;\n\n const errors = {};\n const sanitizedPrefixes = sanitizePrefixes(prefixes);\n const withPrefix = prefixes.length > 0;\n let minLengthRequired = withPrefix ? 8 : 6;\n let prefixFound;\n\n if (withPrefix) {\n prefixFound = sanitizedPrefixes.find((prefix) => value.startsWith(prefix));\n\n if (prefixFound) {\n if (COUNTRY_SPECIFIC_RULES[prefixFound]) {\n minLengthRequired = COUNTRY_SPECIFIC_RULES[prefixFound].minLength;\n }\n } else {\n errors.format = true;\n }\n }\n\n const numberPart = prefixFound ? value.substring(prefixFound.length) : value;\n const actualNumberLength = numberPart.replace(/\\D/g, '').length;\n\n if (actualNumberLength < minLengthRequired) errors.minLength = true;\n\n return Object.keys(errors).length > 0 ? errors : undefined;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAMC,sBAAsB,GAAG;EAC7B,KAAK,EAAE;IAAEC,SAAS,EAAE;EAAE,CAAC;EAAE;EACzB,IAAI,EAAE;IAAEA,SAAS,EAAE;EAAG,CAAC;EAAE;EACzB,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAG,CAAC;EAAE;EAC1B,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAE,CAAC;EAAE;EACzB,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAG,CAAC;EAAE;EAC1B,MAAM,EAAE;IAAEA,SAAS,EAAE;EAAE,CAAC;EAAE;EAC1B,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAG,CAAC;EAAE;EAC1B,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAE,CAAC;EAAE;EACzB,MAAM,EAAE;IAAEA,SAAS,EAAE;EAAE,CAAC;EAAE;EAC1B,KAAK,EAAE;IAAEA,SAAS,EAAE;EAAE,CAAC,CAAE;AAC3B,CAAC;AAEM,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAA2C;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAP,CAAC,CAAC;IAAAG,aAAA,GAAAJ,IAAA,CAAhCK,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,UAAA,GAAAN,IAAA,CAAEO,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,EAAE,GAAAA,UAAA;EAC7D,IAAIC,KAAK,CAACC,IAAI,CAAC,CAAC,CAACN,MAAM,KAAK,CAAC,EAAE;EAE/B,IAAMO,MAAM,GAAG,CAAC,CAAC;EACjB,IAAMC,iBAAiB,GAAG,IAAAC,yBAAgB,EAACN,QAAQ,CAAC;EACpD,IAAMO,UAAU,GAAGP,QAAQ,CAACH,MAAM,GAAG,CAAC;EACtC,IAAIW,iBAAiB,GAAGD,UAAU,GAAG,CAAC,GAAG,CAAC;EAC1C,IAAIE,WAAW;EAEf,IAAIF,UAAU,EAAE;IACdE,WAAW,GAAGJ,iBAAiB,CAACK,IAAI,CAAC,UAACC,MAAM;MAAA,OAAKT,KAAK,CAACU,UAAU,CAACD,MAAM,CAAC;IAAA,EAAC;IAE1E,IAAIF,WAAW,EAAE;MACf,IAAIjB,sBAAsB,CAACiB,WAAW,CAAC,EAAE;QACvCD,iBAAiB,GAAGhB,sBAAsB,CAACiB,WAAW,CAAC,CAAChB,SAAS;MACnE;IACF,CAAC,MAAM;MACLW,MAAM,CAACS,MAAM,GAAG,IAAI;IACtB;EACF;EAEA,IAAMC,UAAU,GAAGL,WAAW,GAAGP,KAAK,CAACa,SAAS,CAACN,WAAW,CAACZ,MAAM,CAAC,GAAGK,KAAK;EAC5E,IAAMc,kBAAkB,GAAGF,UAAU,CAACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACpB,MAAM;EAE/D,IAAImB,kBAAkB,GAAGR,iBAAiB,EAAEJ,MAAM,CAACX,SAAS,GAAG,IAAI;EAEnE,OAAOyB,MAAM,CAACC,IAAI,CAACf,MAAM,CAAC,CAACP,MAAM,GAAG,CAAC,GAAGO,MAAM,GAAGN,SAAS;AAC5D,CAAC;AAACsB,OAAA,CAAA1B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "2.1.41",
3
+ "version": "2.1.42",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",