@arkyn/shared 3.0.1-beta.72 → 3.0.1-beta.73

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.
@@ -1,6 +1,6 @@
1
- (function(o,f){typeof exports=="object"&&typeof module<"u"?f(exports):typeof define=="function"&&define.amd?define(["exports"],f):(o=typeof globalThis<"u"?globalThis:o||self,f(o["@arkyn/shared"]={}))})(this,function(o){"use strict";function f(n,a){const s=_=>_.toString().padStart(2,"0"),e={YYYY:n.getFullYear().toString(),YY:n.getFullYear().toString().slice(-2),MM:s(n.getMonth()+1),DD:s(n.getDate()),hh:s(n.getHours()),mm:s(n.getMinutes()),ss:s(n.getSeconds())};return a.replace(/YYYY|YY|MM|DD|hh|mm|ss/g,_=>e[_])}const Y=([n,a="00:00:00"],s,e,_=0)=>{const t=n.split(/[-/]/).map(Number),r=a.split(".")[0].split(":").map(Number);let i,c,l;const[d=0,y=0,h=0]=r;switch(s){case"brazilianDate":[i,c,l]=t;break;case"isoDate":[l,c,i]=t;break;case"timestamp":[l,c,i]=t.map(Number);break;default:throw new Error("Invalid input format")}const g=new Date(l,c-1,i,d,y,h);if(isNaN(g.getTime()))throw new Error("Invalid date");return g.setUTCHours(g.getUTCHours()+_),f(g,e)},p=(n,a)=>{const s=" ".repeat(a);let e="";if(typeof n=="object"&&n!==null)if(Array.isArray(n))n.length===0?e+="[]":(e+=`[
2
- `,n.forEach((_,t)=>{e+=s+" "+p(_,a+1),t<n.length-1&&(e+=","),e+=`
3
- `}),e+=s+"]");else{const _=Object.keys(n);_.length===0?e+="{}":(e+=`{
4
- `,_.forEach((t,r)=>{e+=s+' "'+t+'": '+p(n[t],a+1),r<_.length-1&&(e+=","),e+=`
5
- `}),e+=s+"}")}else if(typeof n=="string")try{const _=JSON.parse(n);e+=p(_,a)}catch{e+='"'+n+'"'}else e+=n;return e},U=n=>{try{const a=JSON.parse(n);return p(a,0)}catch(a){throw new Error(`Invalid JSON string
6
- ${a}`)}};function H(n){return n.split(" ").map(e=>{const _=e.charAt(0).toUpperCase(),t=e.slice(1).toLowerCase();return _+t}).join(" ")}const k=n=>n.replace(/[^0-9]/g,""),$=n=>{const s=k(n).match(/^(\d{5})(\d{3})$/);if(s)return`${s[1]}-${s[2]}`;throw new Error("Invalid CEP format")},F=n=>{const s=k(n).match(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/);if(s)return`${s[1]}.${s[2]}.${s[3]}/${s[4]}-${s[5]}`;throw new Error("Invalid CNPJ length")},S=n=>{const s=k(n).match(/^(\d{3})(\d{3})(\d{3})(\d{2})$/);if(s)return`${s[1]}.${s[2]}.${s[3]}-${s[4]}`;throw new Error("Invalid CPF format")},K=n=>{const a=n.replace(/\D/g,"");if(a.length===11)return S(a);if(a.length===14)return F(a);throw new Error("Invalid CPF or CNPJ length")},v=[{name:"Afghanistan",code:"+93",prefix:null,iso:"AF",flag:"https://cdn.kcak11.com/CountryFlags/countries/af.svg",mask:"__-___-____"},{name:"Aland Islands",code:"+358",prefix:null,iso:"AX",flag:"https://cdn.kcak11.com/CountryFlags/countries/ax.svg",mask:"(___) ___-__-__"},{name:"Albania",code:"+355",prefix:null,iso:"AL",flag:"https://cdn.kcak11.com/CountryFlags/countries/al.svg",mask:"(___) ___-___"},{name:"Algeria",code:"+213",prefix:null,iso:"DZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/dz.svg",mask:"__-___-____"},{name:"American Samoa",code:"+1",prefix:"684",iso:"AS",flag:"https://cdn.kcak11.com/CountryFlags/countries/as.svg",mask:"(684) ___-____"},{name:"Andorra",code:"+376",prefix:null,iso:"AD",flag:"https://cdn.kcak11.com/CountryFlags/countries/ad.svg",mask:"___-___"},{name:"Angola",code:"+244",prefix:null,iso:"AO",flag:"https://cdn.kcak11.com/CountryFlags/countries/ao.svg",mask:"(___) ___-___"},{name:"Anguilla",code:"+1",prefix:"264",iso:"AI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ai.svg",mask:"(264) ___-____"},{name:"Antarctica",code:"+672",prefix:"1",iso:"AQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/aq.svg",mask:"1__-___"},{name:"Antigua and Barbuda",code:"+1",prefix:"268",iso:"AG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ag.svg",mask:"(268) ___-____"},{name:"Argentina",code:"+54",prefix:null,iso:"AR",flag:"https://cdn.kcak11.com/CountryFlags/countries/ar.svg",mask:"(___) ___-____"},{name:"Armenia",code:"+374",prefix:null,iso:"AM",flag:"https://cdn.kcak11.com/CountryFlags/countries/am.svg",mask:"__-___-___"},{name:"Aruba",code:"+297",prefix:null,iso:"AW",flag:"https://cdn.kcak11.com/CountryFlags/countries/aw.svg",mask:"___-____"},{name:"Ascension Island",code:"+247",prefix:null,iso:"AC",flag:"https://cdn.kcak11.com/CountryFlags/countries/sh.svg",mask:"____"},{name:"Australia",code:"+61",prefix:null,iso:"AU",flag:"https://cdn.kcak11.com/CountryFlags/countries/au.svg",mask:"_-____-____"},{name:"Austria",code:"+43",prefix:null,iso:"AT",flag:"https://cdn.kcak11.com/CountryFlags/countries/at.svg",mask:"(___) ___-____"},{name:"Azerbaijan",code:"+994",prefix:null,iso:"AZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/az.svg",mask:"__-___-__-__"},{name:"Bahamas",code:"+1",prefix:"242",iso:"BS",flag:"https://cdn.kcak11.com/CountryFlags/countries/bs.svg",mask:"(242) ___-____"},{name:"Bahrain",code:"+973",prefix:null,iso:"BH",flag:"https://cdn.kcak11.com/CountryFlags/countries/bh.svg",mask:"____-____"},{name:"Bangladesh",code:"+880",prefix:"1",iso:"BD",flag:"https://cdn.kcak11.com/CountryFlags/countries/bd.svg",mask:"1___-______"},{name:"Barbados",code:"+1",prefix:"246",iso:"BB",flag:"https://cdn.kcak11.com/CountryFlags/countries/bb.svg",mask:"(246) ___-____"},{name:"Belarus",code:"+375",prefix:null,iso:"BY",flag:"https://cdn.kcak11.com/CountryFlags/countries/by.svg",mask:"(__) ___-__-__"},{name:"Belgium",code:"+32",prefix:null,iso:"BE",flag:"https://cdn.kcak11.com/CountryFlags/countries/be.svg",mask:"(___) ___-___"},{name:"Belize",code:"+501",prefix:null,iso:"BZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/bz.svg",mask:"___-____"},{name:"Benin",code:"+229",prefix:null,iso:"BJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/bj.svg",mask:"__-__-____"},{name:"Bermuda",code:"+1",prefix:"441",iso:"BM",flag:"https://cdn.kcak11.com/CountryFlags/countries/bm.svg",mask:"(441) ___-____"},{name:"Bhutan",code:"+975",prefix:null,iso:"BT",flag:"https://cdn.kcak11.com/CountryFlags/countries/bt.svg",mask:"_-___-___"},{name:"Bolivia",code:"+591",prefix:null,iso:"BO",flag:"https://cdn.kcak11.com/CountryFlags/countries/bo.svg",mask:"_-___-____"},{name:"Bosnia and Herzegovina",code:"+387",prefix:null,iso:"BA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ba.svg",mask:"__-_____"},{name:"Botswana",code:"+267",prefix:null,iso:"BW",flag:"https://cdn.kcak11.com/CountryFlags/countries/bw.svg",mask:"__-___-___"},{name:"Brasil",code:"+55",prefix:null,iso:"BR",flag:"https://cdn.kcak11.com/CountryFlags/countries/br.svg",mask:"(__) _____-____"},{name:"British Indian Ocean Territory",code:"+246",prefix:null,iso:"IO",flag:"https://cdn.kcak11.com/CountryFlags/countries/io.svg",mask:"___-____"},{name:"Brunei Darussalam",code:"+673",prefix:null,iso:"BN",flag:"https://cdn.kcak11.com/CountryFlags/countries/bn.svg",mask:"___-____"},{name:"Bulgaria",code:"+359",prefix:null,iso:"BG",flag:"https://cdn.kcak11.com/CountryFlags/countries/bg.svg",mask:"(___) ___-___"},{name:"Burkina Faso",code:"+226",prefix:null,iso:"BF",flag:"https://cdn.kcak11.com/CountryFlags/countries/bf.svg",mask:"__-__-____"},{name:"Burundi",code:"+257",prefix:null,iso:"BI",flag:"https://cdn.kcak11.com/CountryFlags/countries/bi.svg",mask:"__-__-____"},{name:"Cambodia",code:"+855",prefix:null,iso:"KH",flag:"https://cdn.kcak11.com/CountryFlags/countries/kh.svg",mask:"__-___-___"},{name:"Cameroon",code:"+237",prefix:null,iso:"CM",flag:"https://cdn.kcak11.com/CountryFlags/countries/cm.svg",mask:"____-____"},{name:"Canada",code:"+1",prefix:null,iso:"CA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ca.svg",mask:"(___) ___-____"},{name:"Cape Verde",code:"+238",prefix:null,iso:"CV",flag:"https://cdn.kcak11.com/CountryFlags/countries/cv.svg",mask:"(___) __-__"},{name:"Cayman Islands",code:"+1",prefix:"345",iso:"KY",flag:"https://cdn.kcak11.com/CountryFlags/countries/ky.svg",mask:"(345) ___-____"},{name:"Central African Republic",code:"+236",prefix:null,iso:"CF",flag:"https://cdn.kcak11.com/CountryFlags/countries/cf.svg",mask:"__-__-____"},{name:"Chad",code:"+235",prefix:null,iso:"TD",flag:"https://cdn.kcak11.com/CountryFlags/countries/td.svg",mask:"__-__-__-__"},{name:"Chile",code:"+56",prefix:null,iso:"CL",flag:"https://cdn.kcak11.com/CountryFlags/countries/cl.svg",mask:"_-____-____"},{name:"China",code:"+86",prefix:null,iso:"CN",flag:"https://cdn.kcak11.com/CountryFlags/countries/cn.svg",mask:"__-_____-_____"},{name:"Christmas Island",code:"+61",prefix:null,iso:"CX",flag:"https://cdn.kcak11.com/CountryFlags/countries/cx.svg",mask:"_-____-____"},{name:"Cocos (Keeling) Islands",code:"+61",prefix:null,iso:"CC",flag:"https://cdn.kcak11.com/CountryFlags/countries/cc.svg",mask:"_-____-____"},{name:"Colombia",code:"+57",prefix:null,iso:"CO",flag:"https://cdn.kcak11.com/CountryFlags/countries/co.svg",mask:"(___) ___-____"},{name:"Comoros",code:"+269",prefix:null,iso:"KM",flag:"https://cdn.kcak11.com/CountryFlags/countries/km.svg",mask:"__-_____"},{name:"Congo",code:"+242",prefix:null,iso:"CG",flag:"https://cdn.kcak11.com/CountryFlags/countries/cg.svg",mask:"__-_____"},{name:"Cook Islands",code:"+682",prefix:null,iso:"CK",flag:"https://cdn.kcak11.com/CountryFlags/countries/ck.svg",mask:"__-___"},{name:"Costa Rica",code:"+506",prefix:null,iso:"CR",flag:"https://cdn.kcak11.com/CountryFlags/countries/cr.svg",mask:"____-____"},{name:"Croatia",code:"+385",prefix:null,iso:"HR",flag:"https://cdn.kcak11.com/CountryFlags/countries/hr.svg",mask:"__-___-___"},{name:"Cuba",code:"+53",prefix:null,iso:"CU",flag:"https://cdn.kcak11.com/CountryFlags/countries/cu.svg",mask:"_-___-____"},{name:"Cyprus",code:"+357",prefix:null,iso:"CY",flag:"https://cdn.kcak11.com/CountryFlags/countries/cy.svg",mask:"__-___-___"},{name:"Czech Republic",code:"+420",prefix:null,iso:"CZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/cz.svg",mask:"(___) ___-___"},{name:"Democratic Republic of the Congo",code:"+243",prefix:null,iso:"CD",flag:"https://cdn.kcak11.com/CountryFlags/countries/cd.svg",mask:"(___) ___-___"},{name:"Denmark",code:"+45",prefix:null,iso:"DK",flag:"https://cdn.kcak11.com/CountryFlags/countries/dk.svg",mask:"__-__-__-__"},{name:"Djibouti",code:"+253",prefix:null,iso:"DJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/dj.svg",mask:"__-__-__-__"},{name:"Dominica",code:"+1",prefix:"767",iso:"DM",flag:"https://cdn.kcak11.com/CountryFlags/countries/dm.svg",mask:"(767) ___-____"},{name:"Dominican Republic",code:"+1",prefix:"849",iso:"DO",flag:"https://cdn.kcak11.com/CountryFlags/countries/do.svg",mask:"(894) ___-____"},{name:"Ecuador",code:"+593",prefix:null,iso:"EC",flag:"https://cdn.kcak11.com/CountryFlags/countries/ec.svg",mask:"__-___-____"},{name:"Egypt",code:"+20",prefix:null,iso:"EG",flag:"https://cdn.kcak11.com/CountryFlags/countries/eg.svg",mask:"(___) ___-____"},{name:"El Salvador",code:"+503",prefix:null,iso:"SV",flag:"https://cdn.kcak11.com/CountryFlags/countries/sv.svg",mask:"__-__-____"},{name:"Equatorial Guinea",code:"+240",prefix:null,iso:"GQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/gq.svg",mask:"__-___-____"},{name:"Eritrea",code:"+291",prefix:null,iso:"ER",flag:"https://cdn.kcak11.com/CountryFlags/countries/er.svg",mask:"_-___-___"},{name:"Estonia",code:"+372",prefix:null,iso:"EE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ee.svg",mask:"____-____"},{name:"Eswatini",code:"+268",prefix:null,iso:"SZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/sz.svg",mask:"__-__-____"},{name:"Ethiopia",code:"+251",prefix:null,iso:"ET",flag:"https://cdn.kcak11.com/CountryFlags/countries/et.svg",mask:"__-___-____"},{name:"Falkland Islands (Malvinas)",code:"+500",prefix:null,iso:"FK",flag:"https://cdn.kcak11.com/CountryFlags/countries/fk.svg",mask:"_____"},{name:"Faroe Islands",code:"+298",prefix:null,iso:"FO",flag:"https://cdn.kcak11.com/CountryFlags/countries/fo.svg",mask:"__ __ __"},{name:"Fiji",code:"+679",prefix:null,iso:"FJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/fj.svg",mask:"__-_____"},{name:"Finland",code:"+358",prefix:null,iso:"FI",flag:"https://cdn.kcak11.com/CountryFlags/countries/fi.svg",mask:"__ ___ ____"},{name:"France",code:"+33",prefix:null,iso:"FR",flag:"https://cdn.kcak11.com/CountryFlags/countries/fr.svg",mask:"_ __ __ __ __"},{name:"French Guiana",code:"+594",prefix:null,iso:"GF",flag:"https://cdn.kcak11.com/CountryFlags/countries/gf.svg",mask:"___ __ __ __"},{name:"French Polynesia",code:"+689",prefix:null,iso:"PF",flag:"https://cdn.kcak11.com/CountryFlags/countries/pf.svg",mask:"__ __ __ __"},{name:"Gabon",code:"+241",prefix:null,iso:"GA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ga.svg",mask:"_ __ __ __"},{name:"Gambia",code:"+220",prefix:null,iso:"GM",flag:"https://cdn.kcak11.com/CountryFlags/countries/gm.svg",mask:"___ ____"},{name:"Georgia",code:"+995",prefix:null,iso:"GE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ge.svg",mask:"(___) ___-___"},{name:"Germany",code:"+49",prefix:"3",iso:"DE",flag:"https://cdn.kcak11.com/CountryFlags/countries/de.svg",mask:"(3____) __-____"},{name:"Ghana",code:"+233",prefix:"03",iso:"GH",flag:"https://cdn.kcak11.com/CountryFlags/countries/gh.svg",mask:"03_ ___ ____"},{name:"Gibraltar",code:"+350",prefix:null,iso:"GI",flag:"https://cdn.kcak11.com/CountryFlags/countries/gi.svg",mask:"___-_____"},{name:"Greece",code:"+30",prefix:null,iso:"GR",flag:"https://cdn.kcak11.com/CountryFlags/countries/gr.svg",mask:"(___) ___-____"},{name:"Greenland",code:"+299",prefix:null,iso:"GL",flag:"https://cdn.kcak11.com/CountryFlags/countries/gl.svg",mask:"__-__-__"},{name:"Grenada",code:"+1",prefix:"473",iso:"GD",flag:"https://cdn.kcak11.com/CountryFlags/countries/gd.svg",mask:"(473) ___-____"},{name:"Guadeloupe",code:"+590",prefix:null,iso:"GP",flag:"https://cdn.kcak11.com/CountryFlags/countries/gp.svg",mask:"___ __ __ __"},{name:"Guam",code:"+1",prefix:"671",iso:"GU",flag:"https://cdn.kcak11.com/CountryFlags/countries/gu.svg",mask:"671 ___ ____"},{name:"Guatemala",code:"+502",prefix:null,iso:"GT",flag:"https://cdn.kcak11.com/CountryFlags/countries/gt.svg",mask:"_-___-____"},{name:"Guernsey",code:"+44",prefix:null,iso:"GG",flag:"https://cdn.kcak11.com/CountryFlags/countries/gg.svg",mask:"(____) ______"},{name:"Guinea",code:"+224",prefix:null,iso:"GN",flag:"https://cdn.kcak11.com/CountryFlags/countries/gn.svg",mask:"__-___-___"},{name:"Guinea-Bissau",code:"+245",prefix:null,iso:"GW",flag:"https://cdn.kcak11.com/CountryFlags/countries/gw.svg",mask:"_-______"},{name:"Guyana",code:"+592",prefix:null,iso:"GY",flag:"https://cdn.kcak11.com/CountryFlags/countries/gy.svg",mask:"___-____"},{name:"Haiti",code:"+509",prefix:null,iso:"HT",flag:"https://cdn.kcak11.com/CountryFlags/countries/ht.svg",mask:"__-__-____"},{name:"Holy See (Vatican City State)",code:"+39",prefix:"06698",iso:"VA",flag:"https://cdn.kcak11.com/CountryFlags/countries/va.svg",mask:"06 698_____"},{name:"Honduras",code:"+504",prefix:null,iso:"HN",flag:"https://cdn.kcak11.com/CountryFlags/countries/hn.svg",mask:"____-____"},{name:"Hong Kong",code:"+852",prefix:null,iso:"HK",flag:"https://cdn.kcak11.com/CountryFlags/countries/hk.svg",mask:"____-____"},{name:"Hungary",code:"+36",prefix:null,iso:"HU",flag:"https://cdn.kcak11.com/CountryFlags/countries/hu.svg",mask:"__ ___ ____"},{name:"Iceland",code:"+354",prefix:null,iso:"IS",flag:"https://cdn.kcak11.com/CountryFlags/countries/is.svg",mask:"___-____"},{name:"India",code:"+91",prefix:null,iso:"IN",flag:"https://cdn.kcak11.com/CountryFlags/countries/in.svg",mask:"(____) ___-___"},{name:"Indonesia",code:"+62",prefix:"8",iso:"ID",flag:"https://cdn.kcak11.com/CountryFlags/countries/id.svg",mask:"(8__) ___-__-___"},{name:"Iran",code:"+98",prefix:null,iso:"IR",flag:"https://cdn.kcak11.com/CountryFlags/countries/ir.svg",mask:"(___) ___-____"},{name:"Iraq",code:"+964",prefix:null,iso:"IQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/iq.svg",mask:"(___) ___-____"},{name:"Ireland",code:"+353",prefix:null,iso:"IE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ie.svg",mask:"(___) ___-___"},{name:"Isle of Man",code:"+44",prefix:null,iso:"IM",flag:"https://cdn.kcak11.com/CountryFlags/countries/im.svg",mask:"(____) ______"},{name:"Israel",code:"+972",prefix:"5",iso:"IL",flag:"https://cdn.kcak11.com/CountryFlags/countries/il.svg",mask:"__-___-____"},{name:"Italy",code:"+39",prefix:null,iso:"IT",flag:"https://cdn.kcak11.com/CountryFlags/countries/it.svg",mask:"(___) ____-___"},{name:"Ivory Coast / Cote d'Ivoire",code:"+225",prefix:null,iso:"CI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ci.svg",mask:"__-___-___"},{name:"Jamaica",code:"+1",prefix:"876",iso:"JM",flag:"https://cdn.kcak11.com/CountryFlags/countries/jm.svg",mask:"(876) ___-____"},{name:"Japan",code:"+81",prefix:null,iso:"JP",flag:"https://cdn.kcak11.com/CountryFlags/countries/jp.svg",mask:"__-____-____"},{name:"Jersey",code:"+44",prefix:null,iso:"JE",flag:"https://cdn.kcak11.com/CountryFlags/countries/je.svg",mask:"(____) ____-______"},{name:"Jordan",code:"+962",prefix:null,iso:"JO",flag:"https://cdn.kcak11.com/CountryFlags/countries/jo.svg",mask:"_-____-____"},{name:"Kazakhstan",code:"+77",prefix:null,iso:"KZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/kz.svg",mask:"(_____) _ __ __"},{name:"Kenya",code:"+254",prefix:null,iso:"KE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ke.svg",mask:"___-______"},{name:"Kiribati",code:"+686",prefix:null,iso:"KI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ki.svg",mask:"__-___"},{name:"Korea, Democratic People's Republic of Korea",code:"+850",prefix:null,iso:"KP",flag:"https://cdn.kcak11.com/CountryFlags/countries/kp.svg",mask:"____-_____________"},{name:"Korea, Republic of South Korea",code:"+82",prefix:null,iso:"KR",flag:"https://cdn.kcak11.com/CountryFlags/countries/kr.svg",mask:"__-___-____"},{name:"Kosovo",code:"+383",prefix:null,iso:"XK",flag:"https://cdn.kcak11.com/CountryFlags/countries/xk.svg",mask:"___-___-___"},{name:"Kuwait",code:"+965",prefix:null,iso:"KW",flag:"https://cdn.kcak11.com/CountryFlags/countries/kw.svg",mask:"____-____"},{name:"Kyrgyzstan",code:"+996",prefix:null,iso:"KG",flag:"https://cdn.kcak11.com/CountryFlags/countries/kg.svg",mask:"(___) ___-___"},{name:"Laos",code:"+856",prefix:"20",iso:"LA",flag:"https://cdn.kcak11.com/CountryFlags/countries/la.svg",mask:"(20__) ___-___"},{name:"Latvia",code:"+371",prefix:null,iso:"LV",flag:"https://cdn.kcak11.com/CountryFlags/countries/lv.svg",mask:"__-___-___"},{name:"Lebanon",code:"+961",prefix:null,iso:"LB",flag:"https://cdn.kcak11.com/CountryFlags/countries/lb.svg",mask:"__-___-___"},{name:"Lesotho",code:"+266",prefix:null,iso:"LS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ls.svg",mask:"_-___-____"},{name:"Liberia",code:"+231",prefix:null,iso:"LR",flag:"https://cdn.kcak11.com/CountryFlags/countries/lr.svg",mask:"__-___-___"},{name:"Libya",code:"+218",prefix:"21",iso:"LY",flag:"https://cdn.kcak11.com/CountryFlags/countries/ly.svg",mask:"21-___-____"},{name:"Liechtenstein",code:"+423",prefix:null,iso:"LI",flag:"https://cdn.kcak11.com/CountryFlags/countries/li.svg",mask:"(___) ___-____"},{name:"Lithuania",code:"+370",prefix:null,iso:"LT",flag:"https://cdn.kcak11.com/CountryFlags/countries/lt.svg",mask:"(___) __-___"},{name:"Luxembourg",code:"+352",prefix:null,iso:"LU",flag:"https://cdn.kcak11.com/CountryFlags/countries/lu.svg",mask:"(___) ___-___"},{name:"Macau",code:"+853",prefix:null,iso:"MO",flag:"https://cdn.kcak11.com/CountryFlags/countries/mo.svg",mask:"____-____"},{name:"Madagascar",code:"+261",prefix:null,iso:"MG",flag:"https://cdn.kcak11.com/CountryFlags/countries/mg.svg",mask:"__-__-_____"},{name:"Malawi",code:"+265",prefix:null,iso:"MW",flag:"https://cdn.kcak11.com/CountryFlags/countries/mw.svg",mask:"_-____-____"},{name:"Malaysia",code:"+60",prefix:null,iso:"MY",flag:"https://cdn.kcak11.com/CountryFlags/countries/my.svg",mask:"__-___-____"},{name:"Maldives",code:"+960",prefix:null,iso:"MV",flag:"https://cdn.kcak11.com/CountryFlags/countries/mv.svg",mask:"___-____"},{name:"Mali",code:"+223",prefix:null,iso:"ML",flag:"https://cdn.kcak11.com/CountryFlags/countries/ml.svg",mask:"__-__-____"},{name:"Malta",code:"+356",prefix:null,iso:"MT",flag:"https://cdn.kcak11.com/CountryFlags/countries/mt.svg",mask:"____-____"},{name:"Marshall Islands",code:"+692",prefix:null,iso:"MH",flag:"https://cdn.kcak11.com/CountryFlags/countries/mh.svg",mask:"___-____"},{name:"Martinique",code:"+596",prefix:null,iso:"MQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/mq.svg",mask:"(___) __-__-__"},{name:"Mauritania",code:"+222",prefix:null,iso:"MR",flag:"https://cdn.kcak11.com/CountryFlags/countries/mr.svg",mask:"__-__-____"},{name:"Mauritius",code:"+230",prefix:null,iso:"MU",flag:"https://cdn.kcak11.com/CountryFlags/countries/mu.svg",mask:"___-____"},{name:"Mayotte",code:"+262",prefix:null,iso:"YT",flag:"https://cdn.kcak11.com/CountryFlags/countries/yt.svg",mask:"_____-____"},{name:"Mexico",code:"+52",prefix:null,iso:"MX",flag:"https://cdn.kcak11.com/CountryFlags/countries/mx.svg",mask:"(___) ___-____"},{name:"Micronesia, Federated States of Micronesia",code:"+691",prefix:null,iso:"FM",flag:"https://cdn.kcak11.com/CountryFlags/countries/fm.svg",mask:"___-____"},{name:"Moldova",code:"+373",prefix:null,iso:"MD",flag:"https://cdn.kcak11.com/CountryFlags/countries/md.svg",mask:"____-____"},{name:"Monaco",code:"+377",prefix:null,iso:"MC",flag:"https://cdn.kcak11.com/CountryFlags/countries/mc.svg",mask:"(___) ___-___"},{name:"Mongolia",code:"+976",prefix:null,iso:"MN",flag:"https://cdn.kcak11.com/CountryFlags/countries/mn.svg",mask:"__-__-____"},{name:"Montenegro",code:"+382",prefix:null,iso:"ME",flag:"https://cdn.kcak11.com/CountryFlags/countries/me.svg",mask:"__-___-___"},{name:"Montserrat",code:"+1",prefix:"664",iso:"MS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ms.svg",mask:"(664) ___-____"},{name:"Morocco",code:"+212",prefix:null,iso:"MA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ma.svg",mask:"__-____-___"},{name:"Mozambique",code:"+258",prefix:null,iso:"MZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/mz.svg",mask:"__-___-___"},{name:"Myanmar",code:"+95",prefix:null,iso:"MM",flag:"https://cdn.kcak11.com/CountryFlags/countries/mm.svg",mask:"__-___-___"},{name:"Namibia",code:"+264",prefix:null,iso:"NA",flag:"https://cdn.kcak11.com/CountryFlags/countries/na.svg",mask:"__-___-____"},{name:"Nauru",code:"+674",prefix:null,iso:"NR",flag:"https://cdn.kcak11.com/CountryFlags/countries/nr.svg",mask:"___-____"},{name:"Nepal",code:"+977",prefix:null,iso:"NP",flag:"https://cdn.kcak11.com/CountryFlags/countries/np.svg",mask:"__-___-___"},{name:"Netherlands",code:"+31",prefix:null,iso:"NL",flag:"https://cdn.kcak11.com/CountryFlags/countries/nl.svg",mask:"__-___-____"},{name:"New Caledonia",code:"+687",prefix:null,iso:"NC",flag:"https://cdn.kcak11.com/CountryFlags/countries/nc.svg",mask:"__-____"},{name:"New Zealand",code:"+64",prefix:null,iso:"NZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/nz.svg",mask:"(___) ___-____"},{name:"Nicaragua",code:"+505",prefix:null,iso:"NI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ni.svg",mask:"____-____"},{name:"Niger",code:"+227",prefix:null,iso:"NE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ne.svg",mask:"__-__-____"},{name:"Nigeria",code:"+234",prefix:null,iso:"NG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ng.svg",mask:"(___) ___-____"},{name:"Niue",code:"+683",prefix:null,iso:"NU",flag:"https://cdn.kcak11.com/CountryFlags/countries/nu.svg",mask:"____"},{name:"Norfolk Island",code:"+672",prefix:"3",iso:"NF",flag:"https://cdn.kcak11.com/CountryFlags/countries/nf.svg",mask:"3__-___"},{name:"North Macedonia",code:"+389",prefix:null,iso:"MK",flag:"https://cdn.kcak11.com/CountryFlags/countries/mk.svg",mask:"__-___-___"},{name:"Northern Mariana Islands",code:"+1",prefix:"670",iso:"MP",flag:"https://cdn.kcak11.com/CountryFlags/countries/mp.svg",mask:"(670) ___-____"},{name:"Norway",code:"+47",prefix:null,iso:"NO",flag:"https://cdn.kcak11.com/CountryFlags/countries/no.svg",mask:"(___) __-___"},{name:"Oman",code:"+968",prefix:null,iso:"OM",flag:"https://cdn.kcak11.com/CountryFlags/countries/om.svg",mask:"__-___-___"},{name:"Pakistan",code:"+92",prefix:null,iso:"PK",flag:"https://cdn.kcak11.com/CountryFlags/countries/pk.svg",mask:"(___) ___-____"},{name:"Palau",code:"+680",prefix:null,iso:"PW",flag:"https://cdn.kcak11.com/CountryFlags/countries/pw.svg",mask:"___-____"},{name:"Palestine",code:"+970",prefix:null,iso:"PS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ps.svg",mask:"__-___-____"},{name:"Panama",code:"+507",prefix:null,iso:"PA",flag:"https://cdn.kcak11.com/CountryFlags/countries/pa.svg",mask:"___-____"},{name:"Papua New Guinea",code:"+675",prefix:null,iso:"PG",flag:"https://cdn.kcak11.com/CountryFlags/countries/pg.svg",mask:"(___) __-___"},{name:"Paraguay",code:"+595",prefix:null,iso:"PY",flag:"https://cdn.kcak11.com/CountryFlags/countries/py.svg",mask:"(___) ___-___"},{name:"Peru",code:"+51",prefix:null,iso:"PE",flag:"https://cdn.kcak11.com/CountryFlags/countries/pe.svg",mask:"(___) ___-___"},{name:"Philippines",code:"+63",prefix:null,iso:"PH",flag:"https://cdn.kcak11.com/CountryFlags/countries/ph.svg",mask:"(___) ___-____"},{name:"Pitcairn",code:"+870",prefix:null,iso:"PN",flag:"https://cdn.kcak11.com/CountryFlags/countries/pn.svg",mask:"___-___-___"},{name:"Poland",code:"+48",prefix:null,iso:"PL",flag:"https://cdn.kcak11.com/CountryFlags/countries/pl.svg",mask:"(___) ___-___"},{name:"Portugal",code:"+351",prefix:null,iso:"PT",flag:"https://cdn.kcak11.com/CountryFlags/countries/pt.svg",mask:"__-___-____"},{name:"Puerto Rico",code:"+1",prefix:null,iso:"PR",flag:"https://cdn.kcak11.com/CountryFlags/countries/pr.svg",mask:"(___) ___ ____"},{name:"Qatar",code:"+974",prefix:null,iso:"QA",flag:"https://cdn.kcak11.com/CountryFlags/countries/qa.svg",mask:"____-____"},{name:"Reunion",code:"+262",prefix:null,iso:"RE",flag:"https://cdn.kcak11.com/CountryFlags/countries/re.svg",mask:"_____-____"},{name:"Romania",code:"+40",prefix:null,iso:"RO",flag:"https://cdn.kcak11.com/CountryFlags/countries/ro.svg",mask:"__-___-____"},{name:"Russia",code:"+7",prefix:null,iso:"RU",flag:"https://cdn.kcak11.com/CountryFlags/countries/ru.svg",mask:"(___) ___-__-__"},{name:"Rwanda",code:"+250",prefix:null,iso:"RW",flag:"https://cdn.kcak11.com/CountryFlags/countries/rw.svg",mask:"(___) ___-___"},{name:"Saint Barthelemy",code:"+590",prefix:null,iso:"BL",flag:"https://cdn.kcak11.com/CountryFlags/countries/bl.svg",mask:"___-__-__-__"},{name:"Saint Helena, Ascension and Tristan Da Cunha",code:"+290",prefix:null,iso:"SH",flag:"https://cdn.kcak11.com/CountryFlags/countries/sh.svg",mask:"____"},{name:"Saint Kitts and Nevis",code:"+1",prefix:null,iso:"KN",flag:"https://cdn.kcak11.com/CountryFlags/countries/kn.svg",mask:"(869) ___-____"},{name:"Saint Lucia",code:"+1",prefix:"758",iso:"LC",flag:"https://cdn.kcak11.com/CountryFlags/countries/lc.svg",mask:"(758) ___-____"},{name:"Saint Martin",code:"+590",prefix:null,iso:"MF",flag:"https://cdn.kcak11.com/CountryFlags/countries/mf.svg",mask:"(___) ___-___"},{name:"Saint Pierre and Miquelon",code:"+508",prefix:null,iso:"PM",flag:"https://cdn.kcak11.com/CountryFlags/countries/pm.svg",mask:"__-____"},{name:"Saint Vincent and the Grenadines",code:"+1",prefix:"784",iso:"VC",flag:"https://cdn.kcak11.com/CountryFlags/countries/vc.svg",mask:"(784) ___-____"},{name:"Samoa",code:"+685",prefix:null,iso:"WS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ws.svg",mask:"__-____"},{name:"San Marino",code:"+378",prefix:null,iso:"SM",flag:"https://cdn.kcak11.com/CountryFlags/countries/sm.svg",mask:"____-______"},{name:"Sao Tome and Principe",code:"+239",prefix:null,iso:"ST",flag:"https://cdn.kcak11.com/CountryFlags/countries/st.svg",mask:"__-_____"},{name:"Saudi Arabia",code:"+966",prefix:null,iso:"SA",flag:"https://cdn.kcak11.com/CountryFlags/countries/sa.svg",mask:"_-____-____"},{name:"Senegal",code:"+221",prefix:null,iso:"SN",flag:"https://cdn.kcak11.com/CountryFlags/countries/sn.svg",mask:"__-___-____"},{name:"Serbia",code:"+381",prefix:null,iso:"RS",flag:"https://cdn.kcak11.com/CountryFlags/countries/rs.svg",mask:"__-___-____"},{name:"Seychelles",code:"+248",prefix:null,iso:"SC",flag:"https://cdn.kcak11.com/CountryFlags/countries/sc.svg",mask:"_-___-___"},{name:"Sierra Leone",code:"+232",prefix:null,iso:"SL",flag:"https://cdn.kcak11.com/CountryFlags/countries/sl.svg",mask:"__-______"},{name:"Singapore",code:"+65",prefix:null,iso:"SG",flag:"https://cdn.kcak11.com/CountryFlags/countries/sg.svg",mask:"____-____"},{name:"Sint Maarten",code:"+1",prefix:"721",iso:"SX",flag:"https://cdn.kcak11.com/CountryFlags/countries/sx.svg",mask:"(721) ___-____"},{name:"Slovakia",code:"+421",prefix:null,iso:"SK",flag:"https://cdn.kcak11.com/CountryFlags/countries/sk.svg",mask:"(___) ___-___"},{name:"Slovenia",code:"+386",prefix:null,iso:"SI",flag:"https://cdn.kcak11.com/CountryFlags/countries/si.svg",mask:"__-___-___"},{name:"Solomon Islands",code:"+677",prefix:null,iso:"SB",flag:"https://cdn.kcak11.com/CountryFlags/countries/sb.svg",mask:"___-____"},{name:"Somalia",code:"+252",prefix:null,iso:"SO",flag:"https://cdn.kcak11.com/CountryFlags/countries/so.svg",mask:"__-___-___"},{name:"South Africa",code:"+27",prefix:null,iso:"ZA",flag:"https://cdn.kcak11.com/CountryFlags/countries/za.svg",mask:"__-___-____"},{name:"South Georgia and the South Sandwich Islands",code:"+500",prefix:null,iso:"GS",flag:"https://cdn.kcak11.com/CountryFlags/countries/gs.svg",mask:"_____"},{name:"South Sudan",code:"+211",prefix:null,iso:"SS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ss.svg",mask:"__-___-____"},{name:"Spain",code:"+34",prefix:null,iso:"ES",flag:"https://cdn.kcak11.com/CountryFlags/countries/es.svg",mask:"(___) ___-___"},{name:"Sri Lanka",code:"+94",prefix:null,iso:"LK",flag:"https://cdn.kcak11.com/CountryFlags/countries/lk.svg",mask:"__-___-____"},{name:"Sudan",code:"+249",prefix:null,iso:"SD",flag:"https://cdn.kcak11.com/CountryFlags/countries/sd.svg",mask:"__-___-____"},{name:"Suriname",code:"+597",prefix:null,iso:"SR",flag:"https://cdn.kcak11.com/CountryFlags/countries/sr.svg",mask:"___-____"},{name:"Svalbard and Jan Mayen",code:"+47",prefix:null,iso:"SJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/sj.svg",mask:"(___) __-___"},{name:"Sweden",code:"+46",prefix:null,iso:"SE",flag:"https://cdn.kcak11.com/CountryFlags/countries/se.svg",mask:"__-___-____"},{name:"Switzerland",code:"+41",prefix:null,iso:"CH",flag:"https://cdn.kcak11.com/CountryFlags/countries/ch.svg",mask:"__-___-____"},{name:"Syrian Arab Republic",code:"+963",prefix:null,iso:"SY",flag:"https://cdn.kcak11.com/CountryFlags/countries/sy.svg",mask:"__-____-___"},{name:"Taiwan",code:"+886",prefix:null,iso:"TW",flag:"https://cdn.kcak11.com/CountryFlags/countries/tw.svg",mask:"_-____-____"},{name:"Tajikistan",code:"+992",prefix:null,iso:"TJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/tj.svg",mask:"__-___-____"},{name:"United Republic of Tanzania",code:"+255",prefix:null,iso:"TZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/tz.svg",mask:"__-___-____"},{name:"Thailand",code:"+66",prefix:null,iso:"TH",flag:"https://cdn.kcak11.com/CountryFlags/countries/th.svg",mask:"__-___-____"},{name:"Timor-Leste",code:"+670",prefix:null,iso:"TL",flag:"https://cdn.kcak11.com/CountryFlags/countries/tl.svg",mask:"___-_____"},{name:"Togo",code:"+228",prefix:null,iso:"TG",flag:"https://cdn.kcak11.com/CountryFlags/countries/tg.svg",mask:"__-___-___"},{name:"Tokelau",code:"+690",prefix:null,iso:"TK",flag:"https://cdn.kcak11.com/CountryFlags/countries/tk.svg",mask:"____"},{name:"Tonga",code:"+676",prefix:null,iso:"TO",flag:"https://cdn.kcak11.com/CountryFlags/countries/to.svg",mask:"_____"},{name:"Trinidad and Tobago",code:"+1",prefix:"868",iso:"TT",flag:"https://cdn.kcak11.com/CountryFlags/countries/tt.svg",mask:"(868) ___-____"},{name:"Tunisia",code:"+216",prefix:null,iso:"TN",flag:"https://cdn.kcak11.com/CountryFlags/countries/tn.svg",mask:"__-___-___"},{name:"Turkey",code:"+90",prefix:null,iso:"TR",flag:"https://cdn.kcak11.com/CountryFlags/countries/tr.svg",mask:"(___) ___-____"},{name:"Turkmenistan",code:"+993",prefix:null,iso:"TM",flag:"https://cdn.kcak11.com/CountryFlags/countries/tm.svg",mask:"_-___-____"},{name:"Turks and Caicos Islands",code:"+1",prefix:"249",iso:"TC",flag:"https://cdn.kcak11.com/CountryFlags/countries/tc.svg",mask:"(249) ___-___"},{name:"Tuvalu",code:"+688",prefix:null,iso:"TV",flag:"https://cdn.kcak11.com/CountryFlags/countries/tv.svg",mask:"______"},{name:"Uganda",code:"+256",prefix:null,iso:"UG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ug.svg",mask:"(___) ___-___"},{name:"Ukraine",code:"+380",prefix:null,iso:"UA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ua.svg",mask:"(__) ___-__-__"},{name:"United Arab Emirates",code:"+971",prefix:null,iso:"AE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ae.svg",mask:"_-___-____"},{name:"United Kingdom",code:"+44",prefix:null,iso:"GB",flag:"https://cdn.kcak11.com/CountryFlags/countries/gb.svg",mask:"__-____-____"},{name:"United States",code:"+1",prefix:"408",iso:"US",flag:"https://cdn.kcak11.com/CountryFlags/countries/us.svg",mask:"(408) ___-____"},{name:"Uruguay",code:"+598",prefix:null,iso:"UY",flag:"https://cdn.kcak11.com/CountryFlags/countries/uy.svg",mask:"_-___-__-__"},{name:"Uzbekistan",code:"+998",prefix:null,iso:"UZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/uz.svg",mask:"__-___-____"},{name:"Vanuatu",code:"+678",prefix:null,iso:"VU",flag:"https://cdn.kcak11.com/CountryFlags/countries/vu.svg",mask:"__-_____"},{name:"Venezuela, Bolivarian Republic of Venezuela",code:"+58",prefix:null,iso:"VE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ve.svg",mask:"(___) ___-____"},{name:"Vietnam",code:"+84",prefix:null,iso:"VN",flag:"https://cdn.kcak11.com/CountryFlags/countries/vn.svg",mask:"(___) ____-___"},{name:"Virgin Islands, British",code:"+1",prefix:"284",iso:"VG",flag:"https://cdn.kcak11.com/CountryFlags/countries/vg.svg",mask:"(284) ___-____"},{name:"Virgin Islands, U.S.",code:"+1",prefix:"340",iso:"VI",flag:"https://cdn.kcak11.com/CountryFlags/countries/vi.svg",mask:"(340) ___-____"},{name:"Wallis and Futuna",code:"+681",prefix:null,iso:"WF",flag:"https://cdn.kcak11.com/CountryFlags/countries/wf.svg",mask:"__-____"},{name:"Yemen",code:"+967",prefix:null,iso:"YE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ye.svg",mask:"___-___-___"},{name:"Zambia",code:"+260",prefix:null,iso:"ZM",flag:"https://cdn.kcak11.com/CountryFlags/countries/zm.svg",mask:"__-___-____"},{name:"Zimbabwe",code:"+263",prefix:null,iso:"ZW",flag:"https://cdn.kcak11.com/CountryFlags/countries/zw.svg",mask:"_-______"}],b={USD:{countryLanguage:"en-US",countryCurrency:"USD"},EUR:{countryLanguage:"de-DE",countryCurrency:"EUR"},JPY:{countryLanguage:"ja-JP",countryCurrency:"JPY"},GBP:{countryLanguage:"en-GB",countryCurrency:"GBP"},AUD:{countryLanguage:"en-AU",countryCurrency:"AUD"},CAD:{countryLanguage:"en-CA",countryCurrency:"CAD"},CHF:{countryLanguage:"de-CH",countryCurrency:"CHF"},CNY:{countryLanguage:"zh-CN",countryCurrency:"CNY"},SEK:{countryLanguage:"sv-SE",countryCurrency:"SEK"},NZD:{countryLanguage:"en-NZ",countryCurrency:"NZD"},BRL:{countryLanguage:"pt-BR",countryCurrency:"BRL"},INR:{countryLanguage:"en-IN",countryCurrency:"INR"},RUB:{countryLanguage:"ru-RU",countryCurrency:"RUB"},ZAR:{countryLanguage:"en-ZA",countryCurrency:"ZAR"},MXN:{countryLanguage:"es-MX",countryCurrency:"MXN"},SGD:{countryLanguage:"en-SG",countryCurrency:"SGD"},HKD:{countryLanguage:"zh-HK",countryCurrency:"HKD"},NOK:{countryLanguage:"nb-NO",countryCurrency:"NOK"},KRW:{countryLanguage:"ko-KR",countryCurrency:"KRW"},TRY:{countryLanguage:"tr-TR",countryCurrency:"TRY"},IDR:{countryLanguage:"id-ID",countryCurrency:"IDR"},THB:{countryLanguage:"th-TH",countryCurrency:"THB"}},N=n=>n.replace(new RegExp("(?:R\\$|\\p{Sc}|[$€¥£])","gu"),"").trim(),z=(n,a,s={showPrefix:!0})=>{if(!b[a])throw new Error("Unsupported currency code");const{countryCurrency:e,countryLanguage:_}=b[a],t=new Intl.NumberFormat(_,{style:"currency",currency:e}).format(n);return s.showPrefix?t.replace(/\s/g," "):N(t).replace(/\s/g," ")},O=([n,a="00:00:00"],s,e=0)=>{const _=n.split(/[-/]/).map(Number),t=a.split(".")[0].split(":").map(Number);let r,i,c;const[l=0,d=0,y=0]=t;switch(s){case"brazilianDate":[r,i,c]=_;break;case"isoDate":[c,i,r]=_;break;case"timestamp":[c,i,r]=_.map(Number);break;default:throw new Error("Invalid input format")}const h=new Date(Date.UTC(c,i-1,r,l-e,d,y));if(isNaN(h.getTime()))throw new Error("Invalid date");return h},J=(n,a)=>{if(n.length>a){let s=n.substring(0,a).trimEnd();return s=s.replace(/[.,!?;:]$/,""),`${s}...`}return n},V=/^\d$/,W=n=>{let a=0;const s=n.split("").map(e=>V.test(e)?{character:e,kind:"digit",digit:++a}:{character:e,kind:"other"});return{digits:a,children:s,kind:"root"}},Z=(n,a)=>Array.isArray(n)?n:n>=0?[0,n]:[a+1-Math.abs(n),a],q=(n,a)=>a>=n[0]&&a<=n[1],j=(n,a)=>{const s=W(n),e=Z(a.range??3,s.digits);return s.children.map(_=>_.kind==="digit"&&q(e,_.digit)?a.hider??"*":_.character).join("")};function Q(n){return n.length>10?"NINE":"EIGTH"}const I={EIGTH:"(99) 9999-9999",NINE:"(99) 99999-9999"},X=k(I.NINE).length;function nn(n,a){let s="",e=0;for(let _=0;_<a.length;_++)if(a[_]==="9")if(e<n.length)s+=n[e],e++;else break;else if(e<n.length)s+=a[_];else break;return s}function M(n,a){if(a.code==="+55"){let _=k(n);const t=Q(_);return _.length>X||(_=nn(_,I[t])),_}let e=a.mask;if(a.prefix){const _=/\$+/g;e=e.replace(_,a.prefix)}for(let _=0,t=0;_<e.length&&t<n.length;_++)e[_]==="_"&&(e=e.substring(0,_)+n[t]+e.substring(_+1),t++);return e}function an(n,a){const s=v.find(e=>e.code===n&&e.prefix===a);if(!s)throw new Error("Invalid country code or prefix");if(s.prefix!==a)throw new Error("Invalid country code or prefix");if(!s.prefix)throw new Error("Invalid country code or prefix");return s}function _n(n){const a=v.find(s=>s.code===n);if(!a)throw new Error("Invalid country code");if(a.prefix)throw new Error("Invalid country code");return a}const sn=n=>{if(!/^\+\d{1,4}(-\d{1,4})? \d+$/.test(n))throw new Error("Invalid phone number format. Expected format: +<countryCode>-<optionalPrefix> <phoneNumber>");const s=n.split(" ")[0].split("-")[0],e=n.split(" ")[0].split("-")[1],_=n.split(" ")[1];if(!s||!_)throw new Error("Invalid phone number format");if(e){const r=an(s,e);return M(_,r)}const t=_n(s);return M(_,t)},en=n=>{for(var a=0,s=0;s<n.length;s++)a=n.charCodeAt(s)+((a<<5)-a);var e=(a&16711680)>>16,_=(a&65280)>>8,t=a&255,r=e.toString(16).padStart(2,"0"),i=_.toString(16).padStart(2,"0"),c=t.toString(16).padStart(2,"0");return"#"+r+i+c};for(var u=[],x=0;x<256;++x)u.push((x+256).toString(16).slice(1));function T(n,a=0){return(u[n[a+0]]+u[n[a+1]]+u[n[a+2]]+u[n[a+3]]+"-"+u[n[a+4]]+u[n[a+5]]+"-"+u[n[a+6]]+u[n[a+7]]+"-"+u[n[a+8]]+u[n[a+9]]+"-"+u[n[a+10]]+u[n[a+11]]+u[n[a+12]]+u[n[a+13]]+u[n[a+14]]+u[n[a+15]]).toLowerCase()}var C,tn=new Uint8Array(16);function D(){if(!C&&(C=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!C))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return C(tn)}var on=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const E={randomUUID:on};function cn(n,a,s){if(E.randomUUID&&!n)return E.randomUUID();n=n||{};var e=n.random||(n.rng||D)();return e[6]=e[6]&15|64,e[8]=e[8]&63|128,T(e)}var A=null,L=null,m=0;function rn(n,a,s){n=n||{};var e=0,_=new Uint8Array(16),t=n.random||(n.rng||D)(),r=n.msecs!==void 0?n.msecs:Date.now(),i=n.seq!==void 0?n.seq:null,c=L,l=A;return r>m&&n.msecs===void 0&&(m=r,i!==null&&(c=null,l=null)),i!==null&&(i>2147483647&&(i=2147483647),c=i>>>19&4095,l=i&524287),(c===null||l===null)&&(c=t[6]&127,c=c<<8|t[7],l=t[8]&63,l=l<<8|t[9],l=l<<5|t[10]>>>3),r+1e4>m&&i===null?++l>524287&&(l=0,++c>4095&&(c=0,m++)):m=r,L=c,A=l,_[e++]=m/1099511627776&255,_[e++]=m/4294967296&255,_[e++]=m/16777216&255,_[e++]=m/65536&255,_[e++]=m/256&255,_[e++]=m&255,_[e++]=c>>>4&15|112,_[e++]=c&255,_[e++]=l>>>13&63|128,_[e++]=l>>>5&255,_[e++]=l<<3&255|t[10]&7,_[e++]=t[11],_[e++]=t[12],_[e++]=t[13],_[e++]=t[14],_[e++]=t[15],a||T(_)}function R(n){n=n.replace(/-/g,"");const a=new Uint8Array(n.length/2);for(let s=0;s<n.length;s+=2)a[s/2]=parseInt(n.substring(s,s+2),16);return a}function w(){const n=cn();return{text:n,binary:R(n)}}function G(){const n=rn();return{text:n,binary:R(n)}}function ln(n,a){if(n==="text"&&a==="v4")return w().text;if(n==="binary"&&a==="v4")return w().binary;if(n==="text"&&a==="v7")return G().text;if(n==="binary"&&a==="v7")return G().binary;throw new Error("Invalid type or format")}function un(n){let a=n.normalize("NFD").replace(/[\u0300-\u036f]/g,"");return a=a.replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").toLowerCase(),a=a.replace(/-{2,}/g,"-"),a=a.replace(/^-+|-+$/g,""),a}const gn=n=>{const{cashPrice:a,numberInstallments:s,fees:e=.0349}=n;if(e===0||s===1)return{totalPrice:a,installmentPrice:a/s};if(s<=0)throw new Error("Number of installments must be greater than 0");if(e<0)throw new Error("Fees must be greater than or equal to 0");let _=0,t=0,r=Math.pow(1+e,s)*e,i=Math.pow(1+e,s)-1;return _=a*(r/i),t=s*_,{totalPrice:+t.toFixed(2),installmentPrice:+_.toFixed(2)}},mn=n=>{const a=n.startsWith("'")&&n.endsWith("'"),s=n.startsWith('"')&&n.endsWith('"');return a||s?n:`"${n}"`};function dn(n){return/<\/?[a-z][\s\S]*>/i.test(n)}const kn=(n,a=["password","confirmPassword","creditCard"])=>{function s(_,t){return a.includes(_)?"****":t}function e(_){return Array.isArray(_)?_.map(t=>e(t)):_!==null&&typeof _=="object"?Object.keys(_).reduce((t,r)=>{let i=_[r];if(typeof i=="string")try{const c=JSON.parse(i);typeof c=="object"&&(i=JSON.stringify(e(c)))}catch{}return t[r]=e(s(r,i)),t},{}):_}try{const _=JSON.parse(n),t=e(_);return JSON.stringify(t)}catch{return n}},fn=n=>n.replace(/<\/?[^>]+(>|$)/g,""),pn=(n,a=1e3)=>{function s(_){return typeof _=="string"&&_.length>a?`To large information: field as ${_.length} characters`:_}function e(_){return Array.isArray(_)?_.map(t=>e(t)):_!==null&&typeof _=="object"?Object.fromEntries(Object.entries(_).map(([t,r])=>[t,e(r)])):s(_)}try{const _=JSON.parse(n),t=e(_);return JSON.stringify(t)}catch{throw new Error("Invalid JSON string")}},yn=n=>{if(!n||!/^[0-9-]+$/.test(n))return!1;const s=k(n),e=8,_=/^\d{8}$/.test(s);return s.length===e&&_};function hn(n){return n.length!==14}function Cn(n){const[a]=n;return[...n].every(s=>s===a)}function P(n,a){let s=0;for(let _=0;_<a.length;_++)s+=parseInt(n[_])*a[_];const e=s%11;return e<2?0:11-e}function vn(n){return n.slice(12)}const xn=n=>{if(!n)return!1;const a=k(n);if(hn(a)||Cn(a))return!1;const s=a.slice(0,12),e=P(s,[5,4,3,2,9,8,7,6,5,4,3,2]),_=P(s+e,[6,5,4,3,2,9,8,7,6,5,4,3,2]);return vn(a)===`${e}${_}`};function Fn(n){return n.length!==11}function Sn(n){const[a]=n;return[...n].every(s=>s===a)}function B(n,a){let s=0;for(const _ of n)a>1&&(s+=parseInt(_)*a--);const e=s%11;return e<2?0:11-e}function bn(n){return n.slice(9)}const Nn=n=>{if(!n)return!1;const a=k(n);if(Fn(a)||Sn(a))return!1;const s=B(a,10),e=B(a,11);return bn(a)===`${s}${e}`},In=(n,a)=>{let s,e,_;const t=(a==null?void 0:a.inputFormat)||"DD/MM/YYYY",r=(a==null?void 0:a.minYear)||1900,i=(a==null?void 0:a.maxYear)||3e3;if(t==="DD/MM/YYYY"){const g=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!g.test(n))return!1;[,s,e,_]=n.match(g)||[]}else if(t==="MM-DD-YYYY"){const g=/^(\d{2})-(\d{2})-(\d{4})$/;if(!g.test(n))return!1;[,e,s,_]=n.match(g)||[]}else if(t==="YYYY-MM-DD"){const g=/^(\d{4})-(\d{2})-(\d{2})$/;if(!g.test(n))return!1;[,_,e,s]=n.match(g)||[]}else throw new Error("Invalid date format");const c=parseInt(s,10),l=parseInt(e,10),d=parseInt(_,10);if(c<1||c>31||l<1||l>12)return!1;const y=[31,28,31,30,31,30,31,31,30,31,30,31];if(l===2){const g=d%4===0&&d%100!==0||d%400===0;if(c>(g?29:28))return!1}else if(c>y[l-1])return!1;return d<r||d>i?!1:new Date(d,l-1,c).getDate()===c},Mn=n=>{if(!n)return!1;const a=n.length>=8,s=/[A-Z]/.test(n),e=/[a-z]/.test(n),_=/\d/.test(n),t=/[!@#$%^&*(),.?":{}|<>_\-+=~`[\]\\\/]/.test(n);return[a,s,e,_,t].every(r=>r)},Tn=n=>{for(const a of v){const s=a.code,e=a.prefix?`-${a.prefix}`:"",_=a.mask.replace(/[^_]/g,"").length;if(a.iso==="BR"){if(new RegExp(`^\\${s} \\d{2}9?\\d{8}$`).test(n))return!0;continue}if(new RegExp(`^\\${s}${e} \\d{${_}}$`).test(n))return!0}return!1},Dn=n=>{if(!n||!/^[0-9a-zA-Z.-]+$/.test(n))return!1;const s=n.replace(/[^a-zA-Z0-9]/g,"");return s.length<7||s.length>9?!1:/^[0-9]{7,8}[0-9Xx]?$/.test(s)};o.calculateCardInstallment=gn,o.ensureQuotes=mn,o.formatDate=Y,o.formatJsonObject=p,o.formatJsonString=U,o.formatToCapitalizeFirstWordLetter=H,o.formatToCep=$,o.formatToCnpj=F,o.formatToCpf=S,o.formatToCpfCnpj=K,o.formatToCurrency=z,o.formatToDate=O,o.formatToEllipsis=J,o.formatToHiddenDigits=j,o.formatToPhone=sn,o.generateColorByString=en,o.generateId=ln,o.generateSlug=un,o.isHtml=dn,o.maskSensitiveData=kn,o.removeCurrencySymbols=N,o.removeNonNumeric=k,o.stripHtmlTags=fn,o.truncateLargeFields=pn,o.validateCep=yn,o.validateCnpj=xn,o.validateCpf=Nn,o.validateDate=In,o.validatePassword=Mn,o.validatePhone=Tn,o.validateRg=Dn,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ (function(o,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(o=typeof globalThis<"u"?globalThis:o||self,k(o["@arkyn/shared"]={}))})(this,function(o){"use strict";function k(n,a){const s=e=>e.toString().padStart(2,"0"),t={YYYY:n.getFullYear().toString(),YY:n.getFullYear().toString().slice(-2),MM:s(n.getMonth()+1),DD:s(n.getDate()),hh:s(n.getHours()),mm:s(n.getMinutes()),ss:s(n.getSeconds())};return a.replace(/YYYY|YY|MM|DD|hh|mm|ss/g,e=>t[e])}const Y=([n,a="00:00:00"],s,t,e=0)=>{const _=n.split(/[-/]/).map(Number),r=a.split(".")[0].split(":").map(Number);let i,c,l;const[f=0,h=0,y=0]=r;switch(s){case"brazilianDate":[i,c,l]=_;break;case"isoDate":[l,c,i]=_;break;case"timestamp":[l,c,i]=_.map(Number);break;default:throw new Error("Invalid input format")}const g=new Date(l,c-1,i,f,h,y);if(isNaN(g.getTime()))throw new Error("Invalid date");return g.setUTCHours(g.getUTCHours()+e),k(g,t)},p=(n,a)=>{const s=" ".repeat(a);let t="";if(typeof n=="object"&&n!==null)if(Array.isArray(n))n.length===0?t+="[]":(t+=`[
2
+ `,n.forEach((e,_)=>{t+=s+" "+p(e,a+1),_<n.length-1&&(t+=","),t+=`
3
+ `}),t+=s+"]");else{const e=Object.keys(n);e.length===0?t+="{}":(t+=`{
4
+ `,e.forEach((_,r)=>{t+=s+' "'+_+'": '+p(n[_],a+1),r<e.length-1&&(t+=","),t+=`
5
+ `}),t+=s+"}")}else if(typeof n=="string")try{const e=JSON.parse(n);t+=p(e,a)}catch{t+='"'+n+'"'}else t+=n;return t},$=n=>{try{const a=JSON.parse(n);return p(a,0)}catch(a){throw new Error(`Invalid JSON string
6
+ ${a}`)}};function U(n){return n.split(" ").map(t=>{const e=t.charAt(0).toUpperCase(),_=t.slice(1).toLowerCase();return e+_}).join(" ")}const d=n=>n.replace(/[^0-9]/g,""),H=n=>{const s=d(n).match(/^(\d{5})(\d{3})$/);if(s)return`${s[1]}-${s[2]}`;throw new Error("Invalid CEP format")},F=n=>{const s=d(n).match(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/);if(s)return`${s[1]}.${s[2]}.${s[3]}/${s[4]}-${s[5]}`;throw new Error("Invalid CNPJ length")},S=n=>{const s=d(n).match(/^(\d{3})(\d{3})(\d{3})(\d{2})$/);if(s)return`${s[1]}.${s[2]}.${s[3]}-${s[4]}`;throw new Error("Invalid CPF format")},z=n=>{const a=n.replace(/\D/g,"");if(a.length===11)return S(a);if(a.length===14)return F(a);throw new Error("Invalid CPF or CNPJ length")},v=[{name:"Afghanistan",code:"+93",prefix:null,iso:"AF",flag:"https://cdn.kcak11.com/CountryFlags/countries/af.svg",mask:"__-___-____"},{name:"Aland Islands",code:"+358",prefix:null,iso:"AX",flag:"https://cdn.kcak11.com/CountryFlags/countries/ax.svg",mask:"(___) ___-__-__"},{name:"Albania",code:"+355",prefix:null,iso:"AL",flag:"https://cdn.kcak11.com/CountryFlags/countries/al.svg",mask:"(___) ___-___"},{name:"Algeria",code:"+213",prefix:null,iso:"DZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/dz.svg",mask:"__-___-____"},{name:"American Samoa",code:"+1",prefix:"684",iso:"AS",flag:"https://cdn.kcak11.com/CountryFlags/countries/as.svg",mask:"(684) ___-____"},{name:"Andorra",code:"+376",prefix:null,iso:"AD",flag:"https://cdn.kcak11.com/CountryFlags/countries/ad.svg",mask:"___-___"},{name:"Angola",code:"+244",prefix:null,iso:"AO",flag:"https://cdn.kcak11.com/CountryFlags/countries/ao.svg",mask:"(___) ___-___"},{name:"Anguilla",code:"+1",prefix:"264",iso:"AI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ai.svg",mask:"(264) ___-____"},{name:"Antarctica",code:"+672",prefix:"1",iso:"AQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/aq.svg",mask:"1__-___"},{name:"Antigua and Barbuda",code:"+1",prefix:"268",iso:"AG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ag.svg",mask:"(268) ___-____"},{name:"Argentina",code:"+54",prefix:null,iso:"AR",flag:"https://cdn.kcak11.com/CountryFlags/countries/ar.svg",mask:"(___) ___-____"},{name:"Armenia",code:"+374",prefix:null,iso:"AM",flag:"https://cdn.kcak11.com/CountryFlags/countries/am.svg",mask:"__-___-___"},{name:"Aruba",code:"+297",prefix:null,iso:"AW",flag:"https://cdn.kcak11.com/CountryFlags/countries/aw.svg",mask:"___-____"},{name:"Ascension Island",code:"+247",prefix:null,iso:"AC",flag:"https://cdn.kcak11.com/CountryFlags/countries/sh.svg",mask:"____"},{name:"Australia",code:"+61",prefix:null,iso:"AU",flag:"https://cdn.kcak11.com/CountryFlags/countries/au.svg",mask:"_-____-____"},{name:"Austria",code:"+43",prefix:null,iso:"AT",flag:"https://cdn.kcak11.com/CountryFlags/countries/at.svg",mask:"(___) ___-____"},{name:"Azerbaijan",code:"+994",prefix:null,iso:"AZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/az.svg",mask:"__-___-__-__"},{name:"Bahamas",code:"+1",prefix:"242",iso:"BS",flag:"https://cdn.kcak11.com/CountryFlags/countries/bs.svg",mask:"(242) ___-____"},{name:"Bahrain",code:"+973",prefix:null,iso:"BH",flag:"https://cdn.kcak11.com/CountryFlags/countries/bh.svg",mask:"____-____"},{name:"Bangladesh",code:"+880",prefix:"1",iso:"BD",flag:"https://cdn.kcak11.com/CountryFlags/countries/bd.svg",mask:"1___-______"},{name:"Barbados",code:"+1",prefix:"246",iso:"BB",flag:"https://cdn.kcak11.com/CountryFlags/countries/bb.svg",mask:"(246) ___-____"},{name:"Belarus",code:"+375",prefix:null,iso:"BY",flag:"https://cdn.kcak11.com/CountryFlags/countries/by.svg",mask:"(__) ___-__-__"},{name:"Belgium",code:"+32",prefix:null,iso:"BE",flag:"https://cdn.kcak11.com/CountryFlags/countries/be.svg",mask:"(___) ___-___"},{name:"Belize",code:"+501",prefix:null,iso:"BZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/bz.svg",mask:"___-____"},{name:"Benin",code:"+229",prefix:null,iso:"BJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/bj.svg",mask:"__-__-____"},{name:"Bermuda",code:"+1",prefix:"441",iso:"BM",flag:"https://cdn.kcak11.com/CountryFlags/countries/bm.svg",mask:"(441) ___-____"},{name:"Bhutan",code:"+975",prefix:null,iso:"BT",flag:"https://cdn.kcak11.com/CountryFlags/countries/bt.svg",mask:"_-___-___"},{name:"Bolivia",code:"+591",prefix:null,iso:"BO",flag:"https://cdn.kcak11.com/CountryFlags/countries/bo.svg",mask:"_-___-____"},{name:"Bosnia and Herzegovina",code:"+387",prefix:null,iso:"BA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ba.svg",mask:"__-_____"},{name:"Botswana",code:"+267",prefix:null,iso:"BW",flag:"https://cdn.kcak11.com/CountryFlags/countries/bw.svg",mask:"__-___-___"},{name:"Brasil",code:"+55",prefix:null,iso:"BR",flag:"https://cdn.kcak11.com/CountryFlags/countries/br.svg",mask:"(__) _____-____"},{name:"British Indian Ocean Territory",code:"+246",prefix:null,iso:"IO",flag:"https://cdn.kcak11.com/CountryFlags/countries/io.svg",mask:"___-____"},{name:"Brunei Darussalam",code:"+673",prefix:null,iso:"BN",flag:"https://cdn.kcak11.com/CountryFlags/countries/bn.svg",mask:"___-____"},{name:"Bulgaria",code:"+359",prefix:null,iso:"BG",flag:"https://cdn.kcak11.com/CountryFlags/countries/bg.svg",mask:"(___) ___-___"},{name:"Burkina Faso",code:"+226",prefix:null,iso:"BF",flag:"https://cdn.kcak11.com/CountryFlags/countries/bf.svg",mask:"__-__-____"},{name:"Burundi",code:"+257",prefix:null,iso:"BI",flag:"https://cdn.kcak11.com/CountryFlags/countries/bi.svg",mask:"__-__-____"},{name:"Cambodia",code:"+855",prefix:null,iso:"KH",flag:"https://cdn.kcak11.com/CountryFlags/countries/kh.svg",mask:"__-___-___"},{name:"Cameroon",code:"+237",prefix:null,iso:"CM",flag:"https://cdn.kcak11.com/CountryFlags/countries/cm.svg",mask:"____-____"},{name:"Canada",code:"+1",prefix:null,iso:"CA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ca.svg",mask:"(___) ___-____"},{name:"Cape Verde",code:"+238",prefix:null,iso:"CV",flag:"https://cdn.kcak11.com/CountryFlags/countries/cv.svg",mask:"(___) __-__"},{name:"Cayman Islands",code:"+1",prefix:"345",iso:"KY",flag:"https://cdn.kcak11.com/CountryFlags/countries/ky.svg",mask:"(345) ___-____"},{name:"Central African Republic",code:"+236",prefix:null,iso:"CF",flag:"https://cdn.kcak11.com/CountryFlags/countries/cf.svg",mask:"__-__-____"},{name:"Chad",code:"+235",prefix:null,iso:"TD",flag:"https://cdn.kcak11.com/CountryFlags/countries/td.svg",mask:"__-__-__-__"},{name:"Chile",code:"+56",prefix:null,iso:"CL",flag:"https://cdn.kcak11.com/CountryFlags/countries/cl.svg",mask:"_-____-____"},{name:"China",code:"+86",prefix:null,iso:"CN",flag:"https://cdn.kcak11.com/CountryFlags/countries/cn.svg",mask:"__-_____-_____"},{name:"Christmas Island",code:"+61",prefix:null,iso:"CX",flag:"https://cdn.kcak11.com/CountryFlags/countries/cx.svg",mask:"_-____-____"},{name:"Cocos (Keeling) Islands",code:"+61",prefix:null,iso:"CC",flag:"https://cdn.kcak11.com/CountryFlags/countries/cc.svg",mask:"_-____-____"},{name:"Colombia",code:"+57",prefix:null,iso:"CO",flag:"https://cdn.kcak11.com/CountryFlags/countries/co.svg",mask:"(___) ___-____"},{name:"Comoros",code:"+269",prefix:null,iso:"KM",flag:"https://cdn.kcak11.com/CountryFlags/countries/km.svg",mask:"__-_____"},{name:"Congo",code:"+242",prefix:null,iso:"CG",flag:"https://cdn.kcak11.com/CountryFlags/countries/cg.svg",mask:"__-_____"},{name:"Cook Islands",code:"+682",prefix:null,iso:"CK",flag:"https://cdn.kcak11.com/CountryFlags/countries/ck.svg",mask:"__-___"},{name:"Costa Rica",code:"+506",prefix:null,iso:"CR",flag:"https://cdn.kcak11.com/CountryFlags/countries/cr.svg",mask:"____-____"},{name:"Croatia",code:"+385",prefix:null,iso:"HR",flag:"https://cdn.kcak11.com/CountryFlags/countries/hr.svg",mask:"__-___-___"},{name:"Cuba",code:"+53",prefix:null,iso:"CU",flag:"https://cdn.kcak11.com/CountryFlags/countries/cu.svg",mask:"_-___-____"},{name:"Cyprus",code:"+357",prefix:null,iso:"CY",flag:"https://cdn.kcak11.com/CountryFlags/countries/cy.svg",mask:"__-___-___"},{name:"Czech Republic",code:"+420",prefix:null,iso:"CZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/cz.svg",mask:"(___) ___-___"},{name:"Democratic Republic of the Congo",code:"+243",prefix:null,iso:"CD",flag:"https://cdn.kcak11.com/CountryFlags/countries/cd.svg",mask:"(___) ___-___"},{name:"Denmark",code:"+45",prefix:null,iso:"DK",flag:"https://cdn.kcak11.com/CountryFlags/countries/dk.svg",mask:"__-__-__-__"},{name:"Djibouti",code:"+253",prefix:null,iso:"DJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/dj.svg",mask:"__-__-__-__"},{name:"Dominica",code:"+1",prefix:"767",iso:"DM",flag:"https://cdn.kcak11.com/CountryFlags/countries/dm.svg",mask:"(767) ___-____"},{name:"Dominican Republic",code:"+1",prefix:"849",iso:"DO",flag:"https://cdn.kcak11.com/CountryFlags/countries/do.svg",mask:"(894) ___-____"},{name:"Ecuador",code:"+593",prefix:null,iso:"EC",flag:"https://cdn.kcak11.com/CountryFlags/countries/ec.svg",mask:"__-___-____"},{name:"Egypt",code:"+20",prefix:null,iso:"EG",flag:"https://cdn.kcak11.com/CountryFlags/countries/eg.svg",mask:"(___) ___-____"},{name:"El Salvador",code:"+503",prefix:null,iso:"SV",flag:"https://cdn.kcak11.com/CountryFlags/countries/sv.svg",mask:"__-__-____"},{name:"Equatorial Guinea",code:"+240",prefix:null,iso:"GQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/gq.svg",mask:"__-___-____"},{name:"Eritrea",code:"+291",prefix:null,iso:"ER",flag:"https://cdn.kcak11.com/CountryFlags/countries/er.svg",mask:"_-___-___"},{name:"Estonia",code:"+372",prefix:null,iso:"EE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ee.svg",mask:"____-____"},{name:"Eswatini",code:"+268",prefix:null,iso:"SZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/sz.svg",mask:"__-__-____"},{name:"Ethiopia",code:"+251",prefix:null,iso:"ET",flag:"https://cdn.kcak11.com/CountryFlags/countries/et.svg",mask:"__-___-____"},{name:"Falkland Islands (Malvinas)",code:"+500",prefix:null,iso:"FK",flag:"https://cdn.kcak11.com/CountryFlags/countries/fk.svg",mask:"_____"},{name:"Faroe Islands",code:"+298",prefix:null,iso:"FO",flag:"https://cdn.kcak11.com/CountryFlags/countries/fo.svg",mask:"__ __ __"},{name:"Fiji",code:"+679",prefix:null,iso:"FJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/fj.svg",mask:"__-_____"},{name:"Finland",code:"+358",prefix:null,iso:"FI",flag:"https://cdn.kcak11.com/CountryFlags/countries/fi.svg",mask:"__ ___ ____"},{name:"France",code:"+33",prefix:null,iso:"FR",flag:"https://cdn.kcak11.com/CountryFlags/countries/fr.svg",mask:"_ __ __ __ __"},{name:"French Guiana",code:"+594",prefix:null,iso:"GF",flag:"https://cdn.kcak11.com/CountryFlags/countries/gf.svg",mask:"___ __ __ __"},{name:"French Polynesia",code:"+689",prefix:null,iso:"PF",flag:"https://cdn.kcak11.com/CountryFlags/countries/pf.svg",mask:"__ __ __ __"},{name:"Gabon",code:"+241",prefix:null,iso:"GA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ga.svg",mask:"_ __ __ __"},{name:"Gambia",code:"+220",prefix:null,iso:"GM",flag:"https://cdn.kcak11.com/CountryFlags/countries/gm.svg",mask:"___ ____"},{name:"Georgia",code:"+995",prefix:null,iso:"GE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ge.svg",mask:"(___) ___-___"},{name:"Germany",code:"+49",prefix:"3",iso:"DE",flag:"https://cdn.kcak11.com/CountryFlags/countries/de.svg",mask:"(3____) __-____"},{name:"Ghana",code:"+233",prefix:"03",iso:"GH",flag:"https://cdn.kcak11.com/CountryFlags/countries/gh.svg",mask:"03_ ___ ____"},{name:"Gibraltar",code:"+350",prefix:null,iso:"GI",flag:"https://cdn.kcak11.com/CountryFlags/countries/gi.svg",mask:"___-_____"},{name:"Greece",code:"+30",prefix:null,iso:"GR",flag:"https://cdn.kcak11.com/CountryFlags/countries/gr.svg",mask:"(___) ___-____"},{name:"Greenland",code:"+299",prefix:null,iso:"GL",flag:"https://cdn.kcak11.com/CountryFlags/countries/gl.svg",mask:"__-__-__"},{name:"Grenada",code:"+1",prefix:"473",iso:"GD",flag:"https://cdn.kcak11.com/CountryFlags/countries/gd.svg",mask:"(473) ___-____"},{name:"Guadeloupe",code:"+590",prefix:null,iso:"GP",flag:"https://cdn.kcak11.com/CountryFlags/countries/gp.svg",mask:"___ __ __ __"},{name:"Guam",code:"+1",prefix:"671",iso:"GU",flag:"https://cdn.kcak11.com/CountryFlags/countries/gu.svg",mask:"671 ___ ____"},{name:"Guatemala",code:"+502",prefix:null,iso:"GT",flag:"https://cdn.kcak11.com/CountryFlags/countries/gt.svg",mask:"_-___-____"},{name:"Guernsey",code:"+44",prefix:null,iso:"GG",flag:"https://cdn.kcak11.com/CountryFlags/countries/gg.svg",mask:"(____) ______"},{name:"Guinea",code:"+224",prefix:null,iso:"GN",flag:"https://cdn.kcak11.com/CountryFlags/countries/gn.svg",mask:"__-___-___"},{name:"Guinea-Bissau",code:"+245",prefix:null,iso:"GW",flag:"https://cdn.kcak11.com/CountryFlags/countries/gw.svg",mask:"_-______"},{name:"Guyana",code:"+592",prefix:null,iso:"GY",flag:"https://cdn.kcak11.com/CountryFlags/countries/gy.svg",mask:"___-____"},{name:"Haiti",code:"+509",prefix:null,iso:"HT",flag:"https://cdn.kcak11.com/CountryFlags/countries/ht.svg",mask:"__-__-____"},{name:"Holy See (Vatican City State)",code:"+39",prefix:"06698",iso:"VA",flag:"https://cdn.kcak11.com/CountryFlags/countries/va.svg",mask:"06 698_____"},{name:"Honduras",code:"+504",prefix:null,iso:"HN",flag:"https://cdn.kcak11.com/CountryFlags/countries/hn.svg",mask:"____-____"},{name:"Hong Kong",code:"+852",prefix:null,iso:"HK",flag:"https://cdn.kcak11.com/CountryFlags/countries/hk.svg",mask:"____-____"},{name:"Hungary",code:"+36",prefix:null,iso:"HU",flag:"https://cdn.kcak11.com/CountryFlags/countries/hu.svg",mask:"__ ___ ____"},{name:"Iceland",code:"+354",prefix:null,iso:"IS",flag:"https://cdn.kcak11.com/CountryFlags/countries/is.svg",mask:"___-____"},{name:"India",code:"+91",prefix:null,iso:"IN",flag:"https://cdn.kcak11.com/CountryFlags/countries/in.svg",mask:"(____) ___-___"},{name:"Indonesia",code:"+62",prefix:"8",iso:"ID",flag:"https://cdn.kcak11.com/CountryFlags/countries/id.svg",mask:"(8__) ___-__-___"},{name:"Iran",code:"+98",prefix:null,iso:"IR",flag:"https://cdn.kcak11.com/CountryFlags/countries/ir.svg",mask:"(___) ___-____"},{name:"Iraq",code:"+964",prefix:null,iso:"IQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/iq.svg",mask:"(___) ___-____"},{name:"Ireland",code:"+353",prefix:null,iso:"IE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ie.svg",mask:"(___) ___-___"},{name:"Isle of Man",code:"+44",prefix:null,iso:"IM",flag:"https://cdn.kcak11.com/CountryFlags/countries/im.svg",mask:"(____) ______"},{name:"Israel",code:"+972",prefix:"5",iso:"IL",flag:"https://cdn.kcak11.com/CountryFlags/countries/il.svg",mask:"__-___-____"},{name:"Italy",code:"+39",prefix:null,iso:"IT",flag:"https://cdn.kcak11.com/CountryFlags/countries/it.svg",mask:"(___) ____-___"},{name:"Ivory Coast / Cote d'Ivoire",code:"+225",prefix:null,iso:"CI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ci.svg",mask:"__-___-___"},{name:"Jamaica",code:"+1",prefix:"876",iso:"JM",flag:"https://cdn.kcak11.com/CountryFlags/countries/jm.svg",mask:"(876) ___-____"},{name:"Japan",code:"+81",prefix:null,iso:"JP",flag:"https://cdn.kcak11.com/CountryFlags/countries/jp.svg",mask:"__-____-____"},{name:"Jersey",code:"+44",prefix:null,iso:"JE",flag:"https://cdn.kcak11.com/CountryFlags/countries/je.svg",mask:"(____) ____-______"},{name:"Jordan",code:"+962",prefix:null,iso:"JO",flag:"https://cdn.kcak11.com/CountryFlags/countries/jo.svg",mask:"_-____-____"},{name:"Kazakhstan",code:"+77",prefix:null,iso:"KZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/kz.svg",mask:"(_____) _ __ __"},{name:"Kenya",code:"+254",prefix:null,iso:"KE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ke.svg",mask:"___-______"},{name:"Kiribati",code:"+686",prefix:null,iso:"KI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ki.svg",mask:"__-___"},{name:"Korea, Democratic People's Republic of Korea",code:"+850",prefix:null,iso:"KP",flag:"https://cdn.kcak11.com/CountryFlags/countries/kp.svg",mask:"____-_____________"},{name:"Korea, Republic of South Korea",code:"+82",prefix:null,iso:"KR",flag:"https://cdn.kcak11.com/CountryFlags/countries/kr.svg",mask:"__-___-____"},{name:"Kosovo",code:"+383",prefix:null,iso:"XK",flag:"https://cdn.kcak11.com/CountryFlags/countries/xk.svg",mask:"___-___-___"},{name:"Kuwait",code:"+965",prefix:null,iso:"KW",flag:"https://cdn.kcak11.com/CountryFlags/countries/kw.svg",mask:"____-____"},{name:"Kyrgyzstan",code:"+996",prefix:null,iso:"KG",flag:"https://cdn.kcak11.com/CountryFlags/countries/kg.svg",mask:"(___) ___-___"},{name:"Laos",code:"+856",prefix:"20",iso:"LA",flag:"https://cdn.kcak11.com/CountryFlags/countries/la.svg",mask:"(20__) ___-___"},{name:"Latvia",code:"+371",prefix:null,iso:"LV",flag:"https://cdn.kcak11.com/CountryFlags/countries/lv.svg",mask:"__-___-___"},{name:"Lebanon",code:"+961",prefix:null,iso:"LB",flag:"https://cdn.kcak11.com/CountryFlags/countries/lb.svg",mask:"__-___-___"},{name:"Lesotho",code:"+266",prefix:null,iso:"LS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ls.svg",mask:"_-___-____"},{name:"Liberia",code:"+231",prefix:null,iso:"LR",flag:"https://cdn.kcak11.com/CountryFlags/countries/lr.svg",mask:"__-___-___"},{name:"Libya",code:"+218",prefix:"21",iso:"LY",flag:"https://cdn.kcak11.com/CountryFlags/countries/ly.svg",mask:"21-___-____"},{name:"Liechtenstein",code:"+423",prefix:null,iso:"LI",flag:"https://cdn.kcak11.com/CountryFlags/countries/li.svg",mask:"(___) ___-____"},{name:"Lithuania",code:"+370",prefix:null,iso:"LT",flag:"https://cdn.kcak11.com/CountryFlags/countries/lt.svg",mask:"(___) __-___"},{name:"Luxembourg",code:"+352",prefix:null,iso:"LU",flag:"https://cdn.kcak11.com/CountryFlags/countries/lu.svg",mask:"(___) ___-___"},{name:"Macau",code:"+853",prefix:null,iso:"MO",flag:"https://cdn.kcak11.com/CountryFlags/countries/mo.svg",mask:"____-____"},{name:"Madagascar",code:"+261",prefix:null,iso:"MG",flag:"https://cdn.kcak11.com/CountryFlags/countries/mg.svg",mask:"__-__-_____"},{name:"Malawi",code:"+265",prefix:null,iso:"MW",flag:"https://cdn.kcak11.com/CountryFlags/countries/mw.svg",mask:"_-____-____"},{name:"Malaysia",code:"+60",prefix:null,iso:"MY",flag:"https://cdn.kcak11.com/CountryFlags/countries/my.svg",mask:"__-___-____"},{name:"Maldives",code:"+960",prefix:null,iso:"MV",flag:"https://cdn.kcak11.com/CountryFlags/countries/mv.svg",mask:"___-____"},{name:"Mali",code:"+223",prefix:null,iso:"ML",flag:"https://cdn.kcak11.com/CountryFlags/countries/ml.svg",mask:"__-__-____"},{name:"Malta",code:"+356",prefix:null,iso:"MT",flag:"https://cdn.kcak11.com/CountryFlags/countries/mt.svg",mask:"____-____"},{name:"Marshall Islands",code:"+692",prefix:null,iso:"MH",flag:"https://cdn.kcak11.com/CountryFlags/countries/mh.svg",mask:"___-____"},{name:"Martinique",code:"+596",prefix:null,iso:"MQ",flag:"https://cdn.kcak11.com/CountryFlags/countries/mq.svg",mask:"(___) __-__-__"},{name:"Mauritania",code:"+222",prefix:null,iso:"MR",flag:"https://cdn.kcak11.com/CountryFlags/countries/mr.svg",mask:"__-__-____"},{name:"Mauritius",code:"+230",prefix:null,iso:"MU",flag:"https://cdn.kcak11.com/CountryFlags/countries/mu.svg",mask:"___-____"},{name:"Mayotte",code:"+262",prefix:null,iso:"YT",flag:"https://cdn.kcak11.com/CountryFlags/countries/yt.svg",mask:"_____-____"},{name:"Mexico",code:"+52",prefix:null,iso:"MX",flag:"https://cdn.kcak11.com/CountryFlags/countries/mx.svg",mask:"(___) ___-____"},{name:"Micronesia, Federated States of Micronesia",code:"+691",prefix:null,iso:"FM",flag:"https://cdn.kcak11.com/CountryFlags/countries/fm.svg",mask:"___-____"},{name:"Moldova",code:"+373",prefix:null,iso:"MD",flag:"https://cdn.kcak11.com/CountryFlags/countries/md.svg",mask:"____-____"},{name:"Monaco",code:"+377",prefix:null,iso:"MC",flag:"https://cdn.kcak11.com/CountryFlags/countries/mc.svg",mask:"(___) ___-___"},{name:"Mongolia",code:"+976",prefix:null,iso:"MN",flag:"https://cdn.kcak11.com/CountryFlags/countries/mn.svg",mask:"__-__-____"},{name:"Montenegro",code:"+382",prefix:null,iso:"ME",flag:"https://cdn.kcak11.com/CountryFlags/countries/me.svg",mask:"__-___-___"},{name:"Montserrat",code:"+1",prefix:"664",iso:"MS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ms.svg",mask:"(664) ___-____"},{name:"Morocco",code:"+212",prefix:null,iso:"MA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ma.svg",mask:"__-____-___"},{name:"Mozambique",code:"+258",prefix:null,iso:"MZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/mz.svg",mask:"__-___-___"},{name:"Myanmar",code:"+95",prefix:null,iso:"MM",flag:"https://cdn.kcak11.com/CountryFlags/countries/mm.svg",mask:"__-___-___"},{name:"Namibia",code:"+264",prefix:null,iso:"NA",flag:"https://cdn.kcak11.com/CountryFlags/countries/na.svg",mask:"__-___-____"},{name:"Nauru",code:"+674",prefix:null,iso:"NR",flag:"https://cdn.kcak11.com/CountryFlags/countries/nr.svg",mask:"___-____"},{name:"Nepal",code:"+977",prefix:null,iso:"NP",flag:"https://cdn.kcak11.com/CountryFlags/countries/np.svg",mask:"__-___-___"},{name:"Netherlands",code:"+31",prefix:null,iso:"NL",flag:"https://cdn.kcak11.com/CountryFlags/countries/nl.svg",mask:"__-___-____"},{name:"New Caledonia",code:"+687",prefix:null,iso:"NC",flag:"https://cdn.kcak11.com/CountryFlags/countries/nc.svg",mask:"__-____"},{name:"New Zealand",code:"+64",prefix:null,iso:"NZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/nz.svg",mask:"(___) ___-____"},{name:"Nicaragua",code:"+505",prefix:null,iso:"NI",flag:"https://cdn.kcak11.com/CountryFlags/countries/ni.svg",mask:"____-____"},{name:"Niger",code:"+227",prefix:null,iso:"NE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ne.svg",mask:"__-__-____"},{name:"Nigeria",code:"+234",prefix:null,iso:"NG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ng.svg",mask:"(___) ___-____"},{name:"Niue",code:"+683",prefix:null,iso:"NU",flag:"https://cdn.kcak11.com/CountryFlags/countries/nu.svg",mask:"____"},{name:"Norfolk Island",code:"+672",prefix:"3",iso:"NF",flag:"https://cdn.kcak11.com/CountryFlags/countries/nf.svg",mask:"3__-___"},{name:"North Macedonia",code:"+389",prefix:null,iso:"MK",flag:"https://cdn.kcak11.com/CountryFlags/countries/mk.svg",mask:"__-___-___"},{name:"Northern Mariana Islands",code:"+1",prefix:"670",iso:"MP",flag:"https://cdn.kcak11.com/CountryFlags/countries/mp.svg",mask:"(670) ___-____"},{name:"Norway",code:"+47",prefix:null,iso:"NO",flag:"https://cdn.kcak11.com/CountryFlags/countries/no.svg",mask:"(___) __-___"},{name:"Oman",code:"+968",prefix:null,iso:"OM",flag:"https://cdn.kcak11.com/CountryFlags/countries/om.svg",mask:"__-___-___"},{name:"Pakistan",code:"+92",prefix:null,iso:"PK",flag:"https://cdn.kcak11.com/CountryFlags/countries/pk.svg",mask:"(___) ___-____"},{name:"Palau",code:"+680",prefix:null,iso:"PW",flag:"https://cdn.kcak11.com/CountryFlags/countries/pw.svg",mask:"___-____"},{name:"Palestine",code:"+970",prefix:null,iso:"PS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ps.svg",mask:"__-___-____"},{name:"Panama",code:"+507",prefix:null,iso:"PA",flag:"https://cdn.kcak11.com/CountryFlags/countries/pa.svg",mask:"___-____"},{name:"Papua New Guinea",code:"+675",prefix:null,iso:"PG",flag:"https://cdn.kcak11.com/CountryFlags/countries/pg.svg",mask:"(___) __-___"},{name:"Paraguay",code:"+595",prefix:null,iso:"PY",flag:"https://cdn.kcak11.com/CountryFlags/countries/py.svg",mask:"(___) ___-___"},{name:"Peru",code:"+51",prefix:null,iso:"PE",flag:"https://cdn.kcak11.com/CountryFlags/countries/pe.svg",mask:"(___) ___-___"},{name:"Philippines",code:"+63",prefix:null,iso:"PH",flag:"https://cdn.kcak11.com/CountryFlags/countries/ph.svg",mask:"(___) ___-____"},{name:"Pitcairn",code:"+870",prefix:null,iso:"PN",flag:"https://cdn.kcak11.com/CountryFlags/countries/pn.svg",mask:"___-___-___"},{name:"Poland",code:"+48",prefix:null,iso:"PL",flag:"https://cdn.kcak11.com/CountryFlags/countries/pl.svg",mask:"(___) ___-___"},{name:"Portugal",code:"+351",prefix:null,iso:"PT",flag:"https://cdn.kcak11.com/CountryFlags/countries/pt.svg",mask:"__-___-____"},{name:"Puerto Rico",code:"+1",prefix:null,iso:"PR",flag:"https://cdn.kcak11.com/CountryFlags/countries/pr.svg",mask:"(___) ___ ____"},{name:"Qatar",code:"+974",prefix:null,iso:"QA",flag:"https://cdn.kcak11.com/CountryFlags/countries/qa.svg",mask:"____-____"},{name:"Reunion",code:"+262",prefix:null,iso:"RE",flag:"https://cdn.kcak11.com/CountryFlags/countries/re.svg",mask:"_____-____"},{name:"Romania",code:"+40",prefix:null,iso:"RO",flag:"https://cdn.kcak11.com/CountryFlags/countries/ro.svg",mask:"__-___-____"},{name:"Russia",code:"+7",prefix:null,iso:"RU",flag:"https://cdn.kcak11.com/CountryFlags/countries/ru.svg",mask:"(___) ___-__-__"},{name:"Rwanda",code:"+250",prefix:null,iso:"RW",flag:"https://cdn.kcak11.com/CountryFlags/countries/rw.svg",mask:"(___) ___-___"},{name:"Saint Barthelemy",code:"+590",prefix:null,iso:"BL",flag:"https://cdn.kcak11.com/CountryFlags/countries/bl.svg",mask:"___-__-__-__"},{name:"Saint Helena, Ascension and Tristan Da Cunha",code:"+290",prefix:null,iso:"SH",flag:"https://cdn.kcak11.com/CountryFlags/countries/sh.svg",mask:"____"},{name:"Saint Kitts and Nevis",code:"+1",prefix:null,iso:"KN",flag:"https://cdn.kcak11.com/CountryFlags/countries/kn.svg",mask:"(869) ___-____"},{name:"Saint Lucia",code:"+1",prefix:"758",iso:"LC",flag:"https://cdn.kcak11.com/CountryFlags/countries/lc.svg",mask:"(758) ___-____"},{name:"Saint Martin",code:"+590",prefix:null,iso:"MF",flag:"https://cdn.kcak11.com/CountryFlags/countries/mf.svg",mask:"(___) ___-___"},{name:"Saint Pierre and Miquelon",code:"+508",prefix:null,iso:"PM",flag:"https://cdn.kcak11.com/CountryFlags/countries/pm.svg",mask:"__-____"},{name:"Saint Vincent and the Grenadines",code:"+1",prefix:"784",iso:"VC",flag:"https://cdn.kcak11.com/CountryFlags/countries/vc.svg",mask:"(784) ___-____"},{name:"Samoa",code:"+685",prefix:null,iso:"WS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ws.svg",mask:"__-____"},{name:"San Marino",code:"+378",prefix:null,iso:"SM",flag:"https://cdn.kcak11.com/CountryFlags/countries/sm.svg",mask:"____-______"},{name:"Sao Tome and Principe",code:"+239",prefix:null,iso:"ST",flag:"https://cdn.kcak11.com/CountryFlags/countries/st.svg",mask:"__-_____"},{name:"Saudi Arabia",code:"+966",prefix:null,iso:"SA",flag:"https://cdn.kcak11.com/CountryFlags/countries/sa.svg",mask:"_-____-____"},{name:"Senegal",code:"+221",prefix:null,iso:"SN",flag:"https://cdn.kcak11.com/CountryFlags/countries/sn.svg",mask:"__-___-____"},{name:"Serbia",code:"+381",prefix:null,iso:"RS",flag:"https://cdn.kcak11.com/CountryFlags/countries/rs.svg",mask:"__-___-____"},{name:"Seychelles",code:"+248",prefix:null,iso:"SC",flag:"https://cdn.kcak11.com/CountryFlags/countries/sc.svg",mask:"_-___-___"},{name:"Sierra Leone",code:"+232",prefix:null,iso:"SL",flag:"https://cdn.kcak11.com/CountryFlags/countries/sl.svg",mask:"__-______"},{name:"Singapore",code:"+65",prefix:null,iso:"SG",flag:"https://cdn.kcak11.com/CountryFlags/countries/sg.svg",mask:"____-____"},{name:"Sint Maarten",code:"+1",prefix:"721",iso:"SX",flag:"https://cdn.kcak11.com/CountryFlags/countries/sx.svg",mask:"(721) ___-____"},{name:"Slovakia",code:"+421",prefix:null,iso:"SK",flag:"https://cdn.kcak11.com/CountryFlags/countries/sk.svg",mask:"(___) ___-___"},{name:"Slovenia",code:"+386",prefix:null,iso:"SI",flag:"https://cdn.kcak11.com/CountryFlags/countries/si.svg",mask:"__-___-___"},{name:"Solomon Islands",code:"+677",prefix:null,iso:"SB",flag:"https://cdn.kcak11.com/CountryFlags/countries/sb.svg",mask:"___-____"},{name:"Somalia",code:"+252",prefix:null,iso:"SO",flag:"https://cdn.kcak11.com/CountryFlags/countries/so.svg",mask:"__-___-___"},{name:"South Africa",code:"+27",prefix:null,iso:"ZA",flag:"https://cdn.kcak11.com/CountryFlags/countries/za.svg",mask:"__-___-____"},{name:"South Georgia and the South Sandwich Islands",code:"+500",prefix:null,iso:"GS",flag:"https://cdn.kcak11.com/CountryFlags/countries/gs.svg",mask:"_____"},{name:"South Sudan",code:"+211",prefix:null,iso:"SS",flag:"https://cdn.kcak11.com/CountryFlags/countries/ss.svg",mask:"__-___-____"},{name:"Spain",code:"+34",prefix:null,iso:"ES",flag:"https://cdn.kcak11.com/CountryFlags/countries/es.svg",mask:"(___) ___-___"},{name:"Sri Lanka",code:"+94",prefix:null,iso:"LK",flag:"https://cdn.kcak11.com/CountryFlags/countries/lk.svg",mask:"__-___-____"},{name:"Sudan",code:"+249",prefix:null,iso:"SD",flag:"https://cdn.kcak11.com/CountryFlags/countries/sd.svg",mask:"__-___-____"},{name:"Suriname",code:"+597",prefix:null,iso:"SR",flag:"https://cdn.kcak11.com/CountryFlags/countries/sr.svg",mask:"___-____"},{name:"Svalbard and Jan Mayen",code:"+47",prefix:null,iso:"SJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/sj.svg",mask:"(___) __-___"},{name:"Sweden",code:"+46",prefix:null,iso:"SE",flag:"https://cdn.kcak11.com/CountryFlags/countries/se.svg",mask:"__-___-____"},{name:"Switzerland",code:"+41",prefix:null,iso:"CH",flag:"https://cdn.kcak11.com/CountryFlags/countries/ch.svg",mask:"__-___-____"},{name:"Syrian Arab Republic",code:"+963",prefix:null,iso:"SY",flag:"https://cdn.kcak11.com/CountryFlags/countries/sy.svg",mask:"__-____-___"},{name:"Taiwan",code:"+886",prefix:null,iso:"TW",flag:"https://cdn.kcak11.com/CountryFlags/countries/tw.svg",mask:"_-____-____"},{name:"Tajikistan",code:"+992",prefix:null,iso:"TJ",flag:"https://cdn.kcak11.com/CountryFlags/countries/tj.svg",mask:"__-___-____"},{name:"United Republic of Tanzania",code:"+255",prefix:null,iso:"TZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/tz.svg",mask:"__-___-____"},{name:"Thailand",code:"+66",prefix:null,iso:"TH",flag:"https://cdn.kcak11.com/CountryFlags/countries/th.svg",mask:"__-___-____"},{name:"Timor-Leste",code:"+670",prefix:null,iso:"TL",flag:"https://cdn.kcak11.com/CountryFlags/countries/tl.svg",mask:"___-_____"},{name:"Togo",code:"+228",prefix:null,iso:"TG",flag:"https://cdn.kcak11.com/CountryFlags/countries/tg.svg",mask:"__-___-___"},{name:"Tokelau",code:"+690",prefix:null,iso:"TK",flag:"https://cdn.kcak11.com/CountryFlags/countries/tk.svg",mask:"____"},{name:"Tonga",code:"+676",prefix:null,iso:"TO",flag:"https://cdn.kcak11.com/CountryFlags/countries/to.svg",mask:"_____"},{name:"Trinidad and Tobago",code:"+1",prefix:"868",iso:"TT",flag:"https://cdn.kcak11.com/CountryFlags/countries/tt.svg",mask:"(868) ___-____"},{name:"Tunisia",code:"+216",prefix:null,iso:"TN",flag:"https://cdn.kcak11.com/CountryFlags/countries/tn.svg",mask:"__-___-___"},{name:"Turkey",code:"+90",prefix:null,iso:"TR",flag:"https://cdn.kcak11.com/CountryFlags/countries/tr.svg",mask:"(___) ___-____"},{name:"Turkmenistan",code:"+993",prefix:null,iso:"TM",flag:"https://cdn.kcak11.com/CountryFlags/countries/tm.svg",mask:"_-___-____"},{name:"Turks and Caicos Islands",code:"+1",prefix:"249",iso:"TC",flag:"https://cdn.kcak11.com/CountryFlags/countries/tc.svg",mask:"(249) ___-___"},{name:"Tuvalu",code:"+688",prefix:null,iso:"TV",flag:"https://cdn.kcak11.com/CountryFlags/countries/tv.svg",mask:"______"},{name:"Uganda",code:"+256",prefix:null,iso:"UG",flag:"https://cdn.kcak11.com/CountryFlags/countries/ug.svg",mask:"(___) ___-___"},{name:"Ukraine",code:"+380",prefix:null,iso:"UA",flag:"https://cdn.kcak11.com/CountryFlags/countries/ua.svg",mask:"(__) ___-__-__"},{name:"United Arab Emirates",code:"+971",prefix:null,iso:"AE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ae.svg",mask:"_-___-____"},{name:"United Kingdom",code:"+44",prefix:null,iso:"GB",flag:"https://cdn.kcak11.com/CountryFlags/countries/gb.svg",mask:"__-____-____"},{name:"United States",code:"+1",prefix:"408",iso:"US",flag:"https://cdn.kcak11.com/CountryFlags/countries/us.svg",mask:"(408) ___-____"},{name:"Uruguay",code:"+598",prefix:null,iso:"UY",flag:"https://cdn.kcak11.com/CountryFlags/countries/uy.svg",mask:"_-___-__-__"},{name:"Uzbekistan",code:"+998",prefix:null,iso:"UZ",flag:"https://cdn.kcak11.com/CountryFlags/countries/uz.svg",mask:"__-___-____"},{name:"Vanuatu",code:"+678",prefix:null,iso:"VU",flag:"https://cdn.kcak11.com/CountryFlags/countries/vu.svg",mask:"__-_____"},{name:"Venezuela, Bolivarian Republic of Venezuela",code:"+58",prefix:null,iso:"VE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ve.svg",mask:"(___) ___-____"},{name:"Vietnam",code:"+84",prefix:null,iso:"VN",flag:"https://cdn.kcak11.com/CountryFlags/countries/vn.svg",mask:"(___) ____-___"},{name:"Virgin Islands, British",code:"+1",prefix:"284",iso:"VG",flag:"https://cdn.kcak11.com/CountryFlags/countries/vg.svg",mask:"(284) ___-____"},{name:"Virgin Islands, U.S.",code:"+1",prefix:"340",iso:"VI",flag:"https://cdn.kcak11.com/CountryFlags/countries/vi.svg",mask:"(340) ___-____"},{name:"Wallis and Futuna",code:"+681",prefix:null,iso:"WF",flag:"https://cdn.kcak11.com/CountryFlags/countries/wf.svg",mask:"__-____"},{name:"Yemen",code:"+967",prefix:null,iso:"YE",flag:"https://cdn.kcak11.com/CountryFlags/countries/ye.svg",mask:"___-___-___"},{name:"Zambia",code:"+260",prefix:null,iso:"ZM",flag:"https://cdn.kcak11.com/CountryFlags/countries/zm.svg",mask:"__-___-____"},{name:"Zimbabwe",code:"+263",prefix:null,iso:"ZW",flag:"https://cdn.kcak11.com/CountryFlags/countries/zw.svg",mask:"_-______"}],b={USD:{countryLanguage:"en-US",countryCurrency:"USD"},EUR:{countryLanguage:"de-DE",countryCurrency:"EUR"},JPY:{countryLanguage:"ja-JP",countryCurrency:"JPY"},GBP:{countryLanguage:"en-GB",countryCurrency:"GBP"},AUD:{countryLanguage:"en-AU",countryCurrency:"AUD"},CAD:{countryLanguage:"en-CA",countryCurrency:"CAD"},CHF:{countryLanguage:"de-CH",countryCurrency:"CHF"},CNY:{countryLanguage:"zh-CN",countryCurrency:"CNY"},SEK:{countryLanguage:"sv-SE",countryCurrency:"SEK"},NZD:{countryLanguage:"en-NZ",countryCurrency:"NZD"},BRL:{countryLanguage:"pt-BR",countryCurrency:"BRL"},INR:{countryLanguage:"en-IN",countryCurrency:"INR"},RUB:{countryLanguage:"ru-RU",countryCurrency:"RUB"},ZAR:{countryLanguage:"en-ZA",countryCurrency:"ZAR"},MXN:{countryLanguage:"es-MX",countryCurrency:"MXN"},SGD:{countryLanguage:"en-SG",countryCurrency:"SGD"},HKD:{countryLanguage:"zh-HK",countryCurrency:"HKD"},NOK:{countryLanguage:"nb-NO",countryCurrency:"NOK"},KRW:{countryLanguage:"ko-KR",countryCurrency:"KRW"},TRY:{countryLanguage:"tr-TR",countryCurrency:"TRY"},IDR:{countryLanguage:"id-ID",countryCurrency:"IDR"},THB:{countryLanguage:"th-TH",countryCurrency:"THB"}},N=n=>n.replace(new RegExp("(?:R\\$|\\p{Sc}|[$€¥£])","gu"),"").trim(),K=(n,a,s={showPrefix:!0})=>{if(!b[a])throw new Error("Unsupported currency code");const{countryCurrency:t,countryLanguage:e}=b[a],_=new Intl.NumberFormat(e,{style:"currency",currency:t}).format(n);return s.showPrefix?_.replace(/\s/g," "):N(_).replace(/\s/g," ")},O=([n,a="00:00:00"],s,t=0)=>{const e=n.split(/[-/]/).map(Number),_=a.split(".")[0].split(":").map(Number);let r,i,c;const[l=0,f=0,h=0]=_;switch(s){case"brazilianDate":[r,i,c]=e;break;case"isoDate":[c,i,r]=e;break;case"timestamp":[c,i,r]=e.map(Number);break;default:throw new Error("Invalid input format")}const y=new Date(Date.UTC(c,i-1,r,l-t,f,h));if(isNaN(y.getTime()))throw new Error("Invalid date");return y},J=(n,a)=>{if(n.length>a){let s=n.substring(0,a).trimEnd();return s=s.replace(/[.,!?;:]$/,""),`${s}...`}return n},V=/^\d$/,Z=n=>{let a=0;const s=n.split("").map(t=>V.test(t)?{character:t,kind:"digit",digit:++a}:{character:t,kind:"other"});return{digits:a,children:s,kind:"root"}},W=(n,a)=>Array.isArray(n)?n:n>=0?[0,n]:[a+1-Math.abs(n),a],q=(n,a)=>a>=n[0]&&a<=n[1],j=(n,a)=>{const s=Z(n),t=W(a.range??3,s.digits);return s.children.map(e=>e.kind==="digit"&&q(t,e.digit)?a.hider??"*":e.character).join("")};function X(n){return n.length>10?"NINE":"EIGTH"}const I={EIGTH:"(99) 9999-9999",NINE:"(99) 99999-9999"},Q=d(I.NINE).length;function nn(n,a){let s="",t=0;for(let e=0;e<a.length;e++)if(a[e]==="9")if(t<n.length)s+=n[t],t++;else break;else if(t<n.length)s+=a[e];else break;return s}function T(n,a){if(a.code==="+55"){let e=d(n);const _=X(e);return e.length>Q||(e=nn(e,I[_])),e}let t=a.mask;if(a.prefix){const e=/\$+/g;t=t.replace(e,a.prefix)}for(let e=0,_=0;e<t.length&&_<n.length;e++)t[e]==="_"&&(t=t.substring(0,e)+n[_]+t.substring(e+1),_++);return t}function an(n,a){const s=v.find(t=>t.code===n&&t.prefix===a);if(!s)throw new Error("Invalid country code or prefix");if(s.prefix!==a)throw new Error("Invalid country code or prefix");if(!s.prefix)throw new Error("Invalid country code or prefix");return s}function sn(n){const a=v.find(s=>s.code===n);if(!a)throw new Error("Invalid country code");if(a.prefix)throw new Error("Invalid country code");return a}const en=n=>{if(!/^\+\d{1,4}(-\d{1,4})? \d+$/.test(n))throw new Error("Invalid phone number format. Expected format: +<countryCode>-<optionalPrefix> <phoneNumber>");const s=n.split(" ")[0].split("-")[0],t=n.split(" ")[0].split("-")[1],e=n.split(" ")[1];if(!s||!e)throw new Error("Invalid phone number format");if(t){const r=an(s,t);return T(e,r)}const _=sn(s);return T(e,_)},tn=n=>{for(var a=0,s=0;s<n.length;s++)a=n.charCodeAt(s)+((a<<5)-a);var t=(a&16711680)>>16,e=(a&65280)>>8,_=a&255,r=t.toString(16).padStart(2,"0"),i=e.toString(16).padStart(2,"0"),c=_.toString(16).padStart(2,"0");return"#"+r+i+c};for(var u=[],x=0;x<256;++x)u.push((x+256).toString(16).slice(1));function M(n,a=0){return(u[n[a+0]]+u[n[a+1]]+u[n[a+2]]+u[n[a+3]]+"-"+u[n[a+4]]+u[n[a+5]]+"-"+u[n[a+6]]+u[n[a+7]]+"-"+u[n[a+8]]+u[n[a+9]]+"-"+u[n[a+10]]+u[n[a+11]]+u[n[a+12]]+u[n[a+13]]+u[n[a+14]]+u[n[a+15]]).toLowerCase()}var C,_n=new Uint8Array(16);function D(){if(!C&&(C=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!C))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return C(_n)}var on=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const A={randomUUID:on};function cn(n,a,s){if(A.randomUUID&&!n)return A.randomUUID();n=n||{};var t=n.random||(n.rng||D)();return t[6]=t[6]&15|64,t[8]=t[8]&63|128,M(t)}var E=null,R=null,m=0;function rn(n,a,s){n=n||{};var t=0,e=new Uint8Array(16),_=n.random||(n.rng||D)(),r=n.msecs!==void 0?n.msecs:Date.now(),i=n.seq!==void 0?n.seq:null,c=R,l=E;return r>m&&n.msecs===void 0&&(m=r,i!==null&&(c=null,l=null)),i!==null&&(i>2147483647&&(i=2147483647),c=i>>>19&4095,l=i&524287),(c===null||l===null)&&(c=_[6]&127,c=c<<8|_[7],l=_[8]&63,l=l<<8|_[9],l=l<<5|_[10]>>>3),r+1e4>m&&i===null?++l>524287&&(l=0,++c>4095&&(c=0,m++)):m=r,R=c,E=l,e[t++]=m/1099511627776&255,e[t++]=m/4294967296&255,e[t++]=m/16777216&255,e[t++]=m/65536&255,e[t++]=m/256&255,e[t++]=m&255,e[t++]=c>>>4&15|112,e[t++]=c&255,e[t++]=l>>>13&63|128,e[t++]=l>>>5&255,e[t++]=l<<3&255|_[10]&7,e[t++]=_[11],e[t++]=_[12],e[t++]=_[13],e[t++]=_[14],e[t++]=_[15],a||M(e)}function L(n){n=n.replace(/-/g,"");const a=new Uint8Array(n.length/2);for(let s=0;s<n.length;s+=2)a[s/2]=parseInt(n.substring(s,s+2),16);return a}function w(){const n=cn();return{text:n,binary:L(n)}}function G(){const n=rn();return{text:n,binary:L(n)}}function ln(n,a){if(n==="text"&&a==="v4")return w().text;if(n==="binary"&&a==="v4")return w().binary;if(n==="text"&&a==="v7")return G().text;if(n==="binary"&&a==="v7")return G().binary;throw new Error("Invalid type or format")}function un(n){let a=n.normalize("NFD").replace(/[\u0300-\u036f]/g,"");return a=a.replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").toLowerCase(),a=a.replace(/-{2,}/g,"-"),a=a.replace(/^-+|-+$/g,""),a}const gn=n=>{const{cashPrice:a,numberInstallments:s,fees:t=.0349}=n;if(t===0||s===1)return{totalPrice:a,installmentPrice:a/s};if(s<=0)throw new Error("Number of installments must be greater than 0");if(t<0)throw new Error("Fees must be greater than or equal to 0");let e=0,_=0,r=Math.pow(1+t,s)*t,i=Math.pow(1+t,s)-1;return e=a*(r/i),_=s*e,{totalPrice:+_.toFixed(2),installmentPrice:+e.toFixed(2)}},mn=n=>{const a=n.startsWith("'")&&n.endsWith("'"),s=n.startsWith('"')&&n.endsWith('"');return a||s?n:`"${n}"`};function fn(n){return/<\/?[a-z][\s\S]*>/i.test(n)}const dn=(n,a=["password","confirmPassword","creditCard"])=>{function s(e,_){return a.includes(e)?"****":_}function t(e){return Array.isArray(e)?e.map(_=>t(_)):e!==null&&typeof e=="object"?Object.keys(e).reduce((_,r)=>{let i=e[r];if(typeof i=="string")try{const c=JSON.parse(i);typeof c=="object"&&(i=JSON.stringify(t(c)))}catch{}return _[r]=t(s(r,i)),_},{}):e}try{const e=JSON.parse(n),_=t(e);return JSON.stringify(_)}catch{return n}},kn=n=>n.replace(/<\/?[^>]+(>|$)/g,""),pn=(n,a=1e3)=>{function s(e){return typeof e=="string"&&e.length>a?`To large information: field as ${e.length} characters`:e}function t(e){return Array.isArray(e)?e.map(_=>t(_)):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([_,r])=>[_,t(r)])):s(e)}try{const e=JSON.parse(n),_=t(e);return JSON.stringify(_)}catch{throw new Error("Invalid JSON string")}},hn=n=>{if(!n||!/^[0-9-]+$/.test(n))return!1;const s=d(n),t=8,e=/^\d{8}$/.test(s);return s.length===t&&e};function yn(n){return n.length!==14}function Cn(n){const[a]=n;return[...n].every(s=>s===a)}function B(n,a){let s=0;for(let e=0;e<a.length;e++)s+=parseInt(n[e])*a[e];const t=s%11;return t<2?0:11-t}function vn(n){return n.slice(12)}const xn=n=>{if(!n)return!1;const a=d(n);if(yn(a)||Cn(a))return!1;const s=a.slice(0,12),t=B(s,[5,4,3,2,9,8,7,6,5,4,3,2]),e=B(s+t,[6,5,4,3,2,9,8,7,6,5,4,3,2]);return vn(a)===`${t}${e}`};function Fn(n){return n.length!==11}function Sn(n){const[a]=n;return[...n].every(s=>s===a)}function P(n,a){let s=0;for(const e of n)a>1&&(s+=parseInt(e)*a--);const t=s%11;return t<2?0:11-t}function bn(n){return n.slice(9)}const Nn=n=>{if(!n)return!1;const a=d(n);if(Fn(a)||Sn(a))return!1;const s=P(a,10),t=P(a,11);return bn(a)===`${s}${t}`},In=(n,a)=>{let s,t,e;const _=(a==null?void 0:a.inputFormat)||"DD/MM/YYYY",r=(a==null?void 0:a.minYear)||1900,i=(a==null?void 0:a.maxYear)||3e3;if(_==="DD/MM/YYYY"){const g=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!g.test(n))return!1;[,s,t,e]=n.match(g)||[]}else if(_==="MM-DD-YYYY"){const g=/^(\d{2})-(\d{2})-(\d{4})$/;if(!g.test(n))return!1;[,t,s,e]=n.match(g)||[]}else if(_==="YYYY-MM-DD"){const g=/^(\d{4})-(\d{2})-(\d{2})$/;if(!g.test(n))return!1;[,e,t,s]=n.match(g)||[]}else throw new Error("Invalid date format");const c=parseInt(s,10),l=parseInt(t,10),f=parseInt(e,10);if(c<1||c>31||l<1||l>12)return!1;const h=[31,28,31,30,31,30,31,31,30,31,30,31];if(l===2){const g=f%4===0&&f%100!==0||f%400===0;if(c>(g?29:28))return!1}else if(c>h[l-1])return!1;return f<r||f>i?!1:new Date(f,l-1,c).getDate()===c},Tn={}.promises.resolve;function Mn(n){return/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(n)}function Dn(n){return!(n.length===0||n.length>64||n.startsWith(".")||n.endsWith(".")||n.includes("..")||!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/.test(n))}function An(n){return!(n.length===0||n.length>63||n.startsWith("-")||n.endsWith("-")||!/^[a-zA-Z0-9-]+$/.test(n))}function En(n){if(n.length===0||n.length>253||n.startsWith(".")||n.endsWith(".")||n.startsWith("-")||n.endsWith("-"))return!1;const a=n.split(".");if(a.length<2)return!1;for(const t of a)if(!An(t))return!1;const s=a[a.length-1];return!(s.length<2||!/^[a-zA-Z]+$/.test(s))}function Rn(n){const a=n.split("@");if(a.length!==2)return!1;const[s,t]=a;return!(!Dn(s)||!En(t))}function Ln(n){const a=n.split("@");return a.length===2?a[1].toLowerCase():null}const wn=["MX","A","AAAA"];async function Gn(n,a){try{return await Tn(n,a),!0}catch{return!1}}async function Bn(n){for(const a of wn)if(await Gn(n,a))return!0;return!1}const Pn=async n=>{if(!n||typeof n!="string")return!1;const a=n.trim();if(!Mn(a)||!Rn(a))return!1;const s=Ln(a);return s?await Bn(s):!1},Yn=n=>{if(!n)return!1;const a=n.length>=8,s=/[A-Z]/.test(n),t=/[a-z]/.test(n),e=/\d/.test(n),_=/[!@#$%^&*(),.?":{}|<>_\-+=~`[\]\\\/]/.test(n);return[a,s,t,e,_].every(r=>r)},$n=n=>{for(const a of v){const s=a.code,t=a.prefix?`-${a.prefix}`:"",e=a.mask.replace(/[^_]/g,"").length;if(a.iso==="BR"){if(new RegExp(`^\\${s} \\d{2}9?\\d{8}$`).test(n))return!0;continue}if(new RegExp(`^\\${s}${t} \\d{${e}}$`).test(n))return!0}return!1},Un=n=>{if(!n||!/^[0-9a-zA-Z.-]+$/.test(n))return!1;const s=n.replace(/[^a-zA-Z0-9]/g,"");return s.length<7||s.length>9?!1:/^[0-9]{7,8}[0-9Xx]?$/.test(s)};o.calculateCardInstallment=gn,o.ensureQuotes=mn,o.formatDate=Y,o.formatJsonObject=p,o.formatJsonString=$,o.formatToCapitalizeFirstWordLetter=U,o.formatToCep=H,o.formatToCnpj=F,o.formatToCpf=S,o.formatToCpfCnpj=z,o.formatToCurrency=K,o.formatToDate=O,o.formatToEllipsis=J,o.formatToHiddenDigits=j,o.formatToPhone=en,o.generateColorByString=tn,o.generateId=ln,o.generateSlug=un,o.isHtml=fn,o.maskSensitiveData=dn,o.removeCurrencySymbols=N,o.removeNonNumeric=d,o.stripHtmlTags=kn,o.truncateLargeFields=pn,o.validateCep=hn,o.validateCnpj=xn,o.validateCpf=Nn,o.validateDate=In,o.validateEmail=Pn,o.validatePassword=Yn,o.validatePhone=$n,o.validateRg=Un,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
package/dist/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export { validateCep } from "./validations/validateCep";
26
26
  export { validateCnpj } from "./validations/validateCnpj";
27
27
  export { validateCpf } from "./validations/validateCpf";
28
28
  export { validateDate } from "./validations/validateDate";
29
+ export { validateEmail } from "./validations/validateEmail";
29
30
  export { validatePassword } from "./validations/validatePassword";
30
31
  export { validatePhone } from "./validations/validatePhone";
31
32
  export { validateRg } from "./validations/validateRg";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ export { validateCep } from "./validations/validateCep";
30
30
  export { validateCnpj } from "./validations/validateCnpj";
31
31
  export { validateCpf } from "./validations/validateCpf";
32
32
  export { validateDate } from "./validations/validateDate";
33
+ export { validateEmail } from "./validations/validateEmail";
33
34
  export { validatePassword } from "./validations/validatePassword";
34
35
  export { validatePhone } from "./validations/validatePhone";
35
36
  export { validateRg } from "./validations/validateRg";
@@ -0,0 +1,22 @@
1
+ type ValidateEmailFunction = (rawEmail: string) => Promise<boolean>;
2
+ /**
3
+ * Validates if an email address is valid in all possible ways, including DNS validation.
4
+ *
5
+ * This function performs comprehensive email validation by:
6
+ * - Checking basic email format and syntax
7
+ * - Validating advanced RFC 5322 compliance rules
8
+ * - Verifying that the domain has valid MX or A records in DNS
9
+ *
10
+ * @param rawEmail - The email address string to validate
11
+ * @returns A promise that resolves to `true` if the email is valid (including DNS), otherwise `false`
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * await validateEmail("user@gmail.com"); // true
16
+ * await validateEmail("user@gmil.com"); // false (invalid domain)
17
+ * await validateEmail("invalid-email"); // false (invalid format)
18
+ * ```
19
+ */
20
+ declare const validateEmail: ValidateEmailFunction;
21
+ export { validateEmail };
22
+ //# sourceMappingURL=validateEmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateEmail.d.ts","sourceRoot":"","sources":["../../src/validations/validateEmail.ts"],"names":[],"mappings":"AAEA,KAAK,qBAAqB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAmGpE;;;;;;;;;;;;;;;;;GAiBG;AAEH,QAAA,MAAM,aAAa,EAAE,qBAWpB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,121 @@
1
+ import dns from "node:dns";
2
+ const resolveDns = dns.promises.resolve;
3
+ // Validates basic email format using a comprehensive regex pattern
4
+ function isValidBasicFormat(email) {
5
+ const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
6
+ return emailRegex.test(email);
7
+ }
8
+ // Validates the local part of email (before @)
9
+ function isValidLocalPart(localPart) {
10
+ if (localPart.length === 0 || localPart.length > 64)
11
+ return false;
12
+ if (localPart.startsWith(".") || localPart.endsWith("."))
13
+ return false;
14
+ if (localPart.includes(".."))
15
+ return false;
16
+ const validLocalRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+$/;
17
+ if (!validLocalRegex.test(localPart))
18
+ return false;
19
+ return true;
20
+ }
21
+ // Validates a single domain label
22
+ function isValidDomainLabel(label) {
23
+ if (label.length === 0 || label.length > 63)
24
+ return false;
25
+ if (label.startsWith("-") || label.endsWith("-"))
26
+ return false;
27
+ if (!/^[a-zA-Z0-9-]+$/.test(label))
28
+ return false;
29
+ return true;
30
+ }
31
+ // Validates the domain part of email (after @)
32
+ function isValidDomainPart(domainPart) {
33
+ if (domainPart.length === 0 || domainPart.length > 253)
34
+ return false;
35
+ if (domainPart.startsWith(".") ||
36
+ domainPart.endsWith(".") ||
37
+ domainPart.startsWith("-") ||
38
+ domainPart.endsWith("-")) {
39
+ return false;
40
+ }
41
+ const labels = domainPart.split(".");
42
+ if (labels.length < 2)
43
+ return false;
44
+ for (const label of labels)
45
+ if (!isValidDomainLabel(label))
46
+ return false;
47
+ const tld = labels[labels.length - 1];
48
+ if (tld.length < 2 || !/^[a-zA-Z]+$/.test(tld))
49
+ return false;
50
+ return true;
51
+ }
52
+ // Performs advanced syntax validation beyond basic regex
53
+ function isValidAdvancedSyntax(email) {
54
+ const parts = email.split("@");
55
+ if (parts.length !== 2)
56
+ return false;
57
+ const [localPart, domainPart] = parts;
58
+ if (!isValidLocalPart(localPart))
59
+ return false;
60
+ if (!isValidDomainPart(domainPart))
61
+ return false;
62
+ return true;
63
+ }
64
+ // Extracts the domain from email address
65
+ function extractDomain(email) {
66
+ const parts = email.split("@");
67
+ return parts.length === 2 ? parts[1].toLowerCase() : null;
68
+ }
69
+ // DNS record types to check for domain validation
70
+ const DNS_RECORD_TYPES = ["MX", "A", "AAAA"];
71
+ // Attempts to resolve a specific DNS record type for a domain
72
+ async function tryResolveDnsRecord(domain, recordType) {
73
+ try {
74
+ await resolveDns(domain, recordType);
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ // Validates if domain has valid DNS records (MX, A, or AAAA records)
82
+ async function isValidDns(domain) {
83
+ for (const recordType of DNS_RECORD_TYPES) {
84
+ const hasRecord = await tryResolveDnsRecord(domain, recordType);
85
+ if (hasRecord)
86
+ return true;
87
+ }
88
+ return false;
89
+ }
90
+ /**
91
+ * Validates if an email address is valid in all possible ways, including DNS validation.
92
+ *
93
+ * This function performs comprehensive email validation by:
94
+ * - Checking basic email format and syntax
95
+ * - Validating advanced RFC 5322 compliance rules
96
+ * - Verifying that the domain has valid MX or A records in DNS
97
+ *
98
+ * @param rawEmail - The email address string to validate
99
+ * @returns A promise that resolves to `true` if the email is valid (including DNS), otherwise `false`
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * await validateEmail("user@gmail.com"); // true
104
+ * await validateEmail("user@gmil.com"); // false (invalid domain)
105
+ * await validateEmail("invalid-email"); // false (invalid format)
106
+ * ```
107
+ */
108
+ const validateEmail = async (rawEmail) => {
109
+ if (!rawEmail || typeof rawEmail !== "string")
110
+ return false;
111
+ const email = rawEmail.trim();
112
+ if (!isValidBasicFormat(email))
113
+ return false;
114
+ if (!isValidAdvancedSyntax(email))
115
+ return false;
116
+ const domain = extractDomain(email);
117
+ if (!domain)
118
+ return false;
119
+ return await isValidDns(domain);
120
+ };
121
+ export { validateEmail };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkyn/shared",
3
- "version": "3.0.1-beta.72",
3
+ "version": "3.0.1-beta.73",
4
4
  "main": "./dist/bundle.js",
5
5
  "module": "./dist/bundle.js",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "typecheck": "bunx tsc --project tsconfig.json --noEmit"
34
34
  },
35
35
  "dependencies": {
36
+ "util": "^0.12.5",
36
37
  "uuid": "^10.0.0"
37
38
  },
38
39
  "devDependencies": {