UNPKG

@gdev-org/gdev_form_validator

Version:

A robust form validation library for js based applications. No js required, no dependency.

1 lines 79.4 kB
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.FormValidator=r():e.FormValidator=r()}(window,(()=>(()=>{"use strict";var e={481:(e,r,n)=>{n.d(r,{A:()=>l});var t=n(601),o=n.n(t),a=n(314),i=n.n(a)()(o());i.push([e.id,'form[id] {\n width: 400px;\n}\n\nform[form_validator_design=classic] .gdev-field-wrapper {\n display: flex;\n flex-direction: column;\n gap: 5px;\n width: 100%;\n padding: 10px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > input[gdev_props],\nform[form_validator_design=classic] .gdev-field-wrapper textarea[gdev_props] {\n padding: 0 5px;\n border-radius: 3px;\n border: 1px solid #dee2e6;\n outline: none;\n transition: all 0.2s ease-in-out;\n background-color: transparent;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > input[gdev_props]:focus,\nform[form_validator_design=classic] .gdev-field-wrapper textarea[gdev_props]:focus {\n border: 1px solid rgb(70, 144, 255);\n}\nform[form_validator_design=classic] .gdev-field-wrapper input[gdev_props] {\n height: 40px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper textarea[gdev_props] {\n height: 100px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n border: 1px solid #dee2e6;\n transition: all 0.2s ease-in-out;\n border-radius: 3px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule .leadingIcon,\nform[form_validator_design=classic] .gdev-field-wrapper .capsule .trailingIcon {\n font-size: 20px;\n color: default;\n padding: 0 5px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule input[gdev_props],\nform[form_validator_design=classic] .gdev-field-wrapper .capsule textarea[gdev_props] {\n flex-grow: 1;\n outline: none;\n border: 0;\n background-color: transparent;\n padding: 10px 3px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule:focus-within {\n border: 1px solid rgb(70, 144, 255);\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule:has(input[gdev_props].gdev-error-field,\ntextarea[gdev_props].gdev-error-field) {\n border: 1px solid rgb(252, 14, 117) !important;\n box-shadow: 0 0 1px 1px rgba(252, 14, 117, 0.5);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule:has(input[gdev_props].gdev-warning-field,\ntextarea[gdev_props].gdev-warning-field) {\n border: 1px solid orange;\n box-shadow: 0 0 2px 3px rgba(255, 165, 0, 0.7);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule:has(input[gdev_props].gdev-info-field,\ntextarea[gdev_props].gdev-info-field) {\n border: 1px solid #0b5ed7;\n box-shadow: 0 0 1px 2px rgba(11, 94, 215, 0.6);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper .capsule:has(input[gdev_props].gdev-success-field,\ntextarea[gdev_props].gdev-success-field) {\n border: 1px solid #28a745 !important;\n box-shadow: 0 0 1px 1px #28a745;\n outline: none;\n}\nform[form_validator_design=classic] .gdev-info {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: #0b5ed7;\n font-size: 15px;\n}\nform[form_validator_design=classic] .gdev-success {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: #28a745;\n font-size: 15px;\n}\nform[form_validator_design=classic] .gdev-warning {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: orange;\n font-size: 15px;\n}\nform[form_validator_design=classic] .gdev-error {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: rgb(252, 14, 117);\n font-size: 15px;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > .gdev-error-field {\n border: 1px solid rgb(252, 14, 117) !important;\n box-shadow: 0 0 1px 1px rgba(252, 14, 117, 0.5);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > .gdev-warning-field {\n border: 1px solid orange;\n box-shadow: 0 0 2px 3px rgba(255, 165, 0, 0.7);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > .gdev-info-field {\n border: 1px solid #0b5ed7;\n box-shadow: 0 0 1px 2px rgba(11, 94, 215, 0.6);\n outline: none;\n}\nform[form_validator_design=classic] .gdev-field-wrapper > .gdev-success-field {\n border: 1px solid #28a745 !important;\n box-shadow: 0 0 1px 1px #28a745;\n outline: none;\n}\nform[form_validator_design=classic] input[gdev_props] {\n height: 40px;\n}\nform[form_validator_design=classic] textarea[gdev_props] {\n height: 100px;\n}\nform[form_validator_design=classic] input[gdev_props][type=checkbox] {\n width: fit-content;\n height: fit-content;\n}\n',""]);const l=i},544:(e,r,n)=>{n.d(r,{A:()=>l});var t=n(601),o=n.n(t),a=n(314),i=n.n(a)()(o());i.push([e.id,'form[id] {\n width: 400px;\n}\n\nform[form_validator_design=floating-label] .gdev-field-wrapper {\n display: flex;\n flex-direction: column;\n padding: 10px;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper input[type=checkbox] {\n border-radius: 3px;\n border: 1px solid gray;\n outline: none;\n transition: all 0.2s ease-in-out;\n width: fit-content;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule {\n display: flex;\n height: 40px;\n flex-direction: column;\n gap: 5px;\n width: 100%;\n position: relative;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule > label {\n position: absolute;\n z-index: 0;\n top: 50%;\n transform: translateY(-50%);\n margin: 0 10px;\n padding: 0 3px;\n font-size: 15px;\n transition: all 0.2s ease-in-out;\n border-radius: 5px;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule > input[gdev_props],\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule textarea[gdev_props] {\n padding: 0 10px;\n height: 100%;\n border-radius: 3px;\n border: 1px solid #dee2e6;\n outline: none;\n transition: all 0.2s ease-in-out;\n background-color: transparent;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule > input[gdev_props]:focus,\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule textarea[gdev_props]:focus {\n border: 1px solid rgb(70, 144, 255);\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule textarea[gdev_props] {\n padding: 10px;\n height: 100px;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule input[gdev_props] {\n height: 40px;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .capsule .gdev-error {\n position: absolute;\n bottom: -10px;\n}\nform[form_validator_design=floating-label] .capsule:has(input.gdev-error-field, textarea.gdev-error-field) label {\n color: rgb(252, 14, 117);\n}\nform[form_validator_design=floating-label] .capsule:has(input.gdev-success-field, textarea.gdev-success-field) label {\n color: #28a745;\n}\nform[form_validator_design=floating-label] .capsule:has(input:focus, textarea:focus) label,\nform[form_validator_design=floating-label] .capsule:has(input:not(:placeholder-shown), textarea:not(:placeholder-shown)) label {\n top: 0;\n scale: 0.8;\n background-color: white;\n}\nform[form_validator_design=floating-label] .gdev-error {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: rgb(252, 14, 117);\n font-size: 15px;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .gdev-error-field {\n border: 1px solid rgb(252, 14, 117) !important;\n box-shadow: 0 0 1px 1px rgba(252, 14, 117, 0.5);\n outline: none;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .gdev-warning-field {\n border: 1px solid orange;\n box-shadow: 0 0 2px 3px rgba(255, 165, 0, 0.7);\n outline: none;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .gdev-info-field {\n border: 1px solid #0b5ed7;\n box-shadow: 0 0 1px 2px rgba(11, 94, 215, 0.6);\n outline: none;\n}\nform[form_validator_design=floating-label] .gdev-field-wrapper .gdev-success-field {\n border: 1px solid #28a745 !important;\n box-shadow: 0 0 1px 1px #28a745;\n outline: none;\n}\n',""]);const l=i},370:(e,r,n)=>{n.d(r,{A:()=>l});var t=n(601),o=n.n(t),a=n(314),i=n.n(a)()(o());i.push([e.id,'form[id] {\n width: 400px;\n}\n\nform[form_validator_design=ifta-label] .gdev-field-wrapper {\n display: flex;\n flex-direction: column;\n padding: 10px;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper input[type=checkbox] {\n border-radius: 3px;\n border: 1px solid #dee2e6;\n outline: none;\n transition: all 0.2s ease-in-out;\n width: fit-content;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule {\n display: flex;\n flex-direction: column;\n gap: 5px;\n width: 100%;\n position: relative;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule > label {\n position: absolute;\n z-index: 0;\n top: 0;\n font-size: 13px;\n transition: all 0.2s ease-in-out;\n padding: 5px;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule > input[gdev_props],\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule textarea[gdev_props] {\n border-radius: 3px;\n border: 1px solid #dee2e6;\n outline: none;\n box-sizing: border-box;\n padding: 23px 5px 5px 5px;\n background-color: transparent;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule > input[gdev_props]:focus,\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule textarea[gdev_props]:focus {\n border: 1px solid rgb(70, 144, 255);\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule textarea[gdev_props] {\n padding: 10px;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .capsule .gdev-error {\n position: absolute;\n bottom: -10px;\n}\nform[form_validator_design=ifta-label] .capsule:has(input.gdev-error-field, textarea.gdev-error-field) label {\n color: rgb(252, 14, 117);\n}\nform[form_validator_design=ifta-label] .capsule:has(input.gdev-success-field, textarea.gdev-success-field) label {\n color: #28a745;\n}\nform[form_validator_design=ifta-label] .gdev-error {\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;\n color: rgb(252, 14, 117);\n font-size: 15px;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .gdev-error-field {\n border: 1px solid rgb(252, 14, 117) !important;\n box-shadow: 0 0 1px 1px rgba(252, 14, 117, 0.5);\n outline: none;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .gdev-warning-field {\n border: 1px solid orange;\n box-shadow: 0 0 2px 3px rgba(255, 165, 0, 0.7);\n outline: none;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .gdev-info-field {\n border: 1px solid #0b5ed7;\n box-shadow: 0 0 1px 2px rgba(11, 94, 215, 0.6);\n outline: none;\n}\nform[form_validator_design=ifta-label] .gdev-field-wrapper .gdev-success-field {\n border: 1px solid #28a745 !important;\n box-shadow: 0 0 1px 1px #28a745;\n outline: none;\n}\n',""]);const l=i},314:e=>{e.exports=function(e){var r=[];return r.toString=function(){return this.map((function(r){var n="",t=void 0!==r[5];return r[4]&&(n+="@supports (".concat(r[4],") {")),r[2]&&(n+="@media ".concat(r[2]," {")),t&&(n+="@layer".concat(r[5].length>0?" ".concat(r[5]):""," {")),n+=e(r),t&&(n+="}"),r[2]&&(n+="}"),r[4]&&(n+="}"),n})).join("")},r.i=function(e,n,t,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(t)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(i[c]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);t&&i[u[0]]||(void 0!==a&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),o&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=o):u[4]="".concat(o)),r.push(u))}},r}},601:e=>{e.exports=function(e){return e[1]}},72:e=>{var r=[];function n(e){for(var n=-1,t=0;t<r.length;t++)if(r[t].identifier===e){n=t;break}return n}function t(e,t){for(var a={},i=[],l=0;l<e.length;l++){var c=e[l],s=t.base?c[0]+t.base:c[0],u=a[s]||0,f="".concat(s," ").concat(u);a[s]=u+1;var p=n(f),d={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==p)r[p].references++,r[p].updater(d);else{var m=o(d,t);t.byIndex=l,r.splice(l,0,{identifier:f,updater:m,references:1})}i.push(f)}return i}function o(e,r){var n=r.domAPI(r);return n.update(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap&&r.supports===e.supports&&r.layer===e.layer)return;n.update(e=r)}else n.remove()}}e.exports=function(e,o){var a=t(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var l=n(a[i]);r[l].references--}for(var c=t(e,o),s=0;s<a.length;s++){var u=n(a[s]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}a=c}}},659:e=>{var r={};e.exports=function(e,n){var t=function(e){if(void 0===r[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}r[e]=n}return r[e]}(e);if(!t)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");t.appendChild(n)}},540:e=>{e.exports=function(e){var r=document.createElement("style");return e.setAttributes(r,e.attributes),e.insert(r,e.options),r}},56:(e,r,n)=>{e.exports=function(e){var r=n.nc;r&&e.setAttribute("nonce",r)}},825:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var r=e.insertStyleElement(e);return{update:function(n){!function(e,r,n){var t="";n.supports&&(t+="@supports (".concat(n.supports,") {")),n.media&&(t+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(t+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),t+=n.css,o&&(t+="}"),n.media&&(t+="}"),n.supports&&(t+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(t+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),r.styleTagTransform(t,e,r.options)}(r,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)}}}},113:e=>{e.exports=function(e,r){if(r.styleSheet)r.styleSheet.cssText=e;else{for(;r.firstChild;)r.removeChild(r.firstChild);r.appendChild(document.createTextNode(e))}}}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var a=r[t]={id:t,exports:{}};return e[t](a,a.exports,n),a.exports}n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.nc=void 0;var t=n(72),o=n.n(t),a=n(825),i=n.n(a),l=n(659),c=n.n(l),s=n(56),u=n.n(s),f=n(540),p=n.n(f),d=n(113),m=n.n(d),v=n(481),h={};h.styleTagTransform=m(),h.setAttributes=u(),h.insert=c().bind(null,"head"),h.domAPI=i(),h.insertStyleElement=p(),o()(v.A,h),v.A&&v.A.locals&&v.A.locals;var y=n(544),g={};g.styleTagTransform=m(),g.setAttributes=u(),g.insert=c().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=p(),o()(y.A,g),y.A&&y.A.locals&&y.A.locals;var b=n(370),w={};function x(e,r){"en"===e?console.warn("No Gdev-props found in "+r+". Please visit https://Gdev.com/resources/mobili/gdev-props for more information."):"fr"===e&&console.warn("Aucun Gdev-props n'a été trouvé dans "+r+". Veuillez visiter https://Gdev.com/resources/mobili/gdev-props pour plus d'informations.")}function S(e,r,n){return"en"===e?"missing ".concat(r," at ").concat(n):"".concat(n," manque une propriété ").concat(r,".")}function _(e,r,n){return"fr"===n?r?"".concat(r," is missing a type property."):"".concat(e," is missing a name property."):r?"".concat(r," manque une propriété 'type'."):"".concat(e," manque une propriété 'name'.")}function E(e,r,n){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";return"en"===r?"".concat(e," is not a valid property for type ").concat(n," at ").concat(t):"".concat(e," n'est pas une propriété valide pour le type ").concat(n," a ").concat(t)}function O(e,r,n,t){return"en"===t?"type ".concat(e," expected a value of type ").concat(r," at ").concat(n):"type ".concat(e," attendait une valeur de type ").concat(r," au niveau de ").concat(n)}function j(e,r,n){return"fr"===e?"Le champ avec le nom '".concat(r,"' n'existe pas ou est défini de manière incorrecte at ").concat(n,". Veuillez renseigner le nom du champ correctement."):"The field with the name '".concat(r,"' does not exist or is incorrectly defined a ").concat(n,". Please provide the correct field name.")}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function C(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}function T(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,A(t.key),t)}}function A(e){var r=function(e){if("object"!=k(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=k(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==k(r)?r:r+""}w.styleTagTransform=m(),w.setAttributes=u(),w.insert=c().bind(null,"head"),w.domAPI=i(),w.insertStyleElement=p(),o()(b.A,w),b.A&&b.A.locals&&b.A.locals;var P,I,M=function(){return e=function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e)},r=[{key:"trim",value:function(e){return e.replace(/\s/g,"")}},{key:"getValidationResponse",get:function(){return this.validationResponse}},{key:"getuserValidationRate",get:function(){return function(e,r,n,t){if("a"===n&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!t:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?t:"a"===n?t.call(e):t?t.value:r.get(e)}(this,P,"f",I)}},{key:"setValidationResponse",set:function(e){this.validationResponse=e}},{key:"isInRangeMin",value:function(e,r){return this.trim(e).length>=r}},{key:"isInRangeMax",value:function(e,r){return this.trim(e).length<=r}},{key:"isInMinWordRange",value:function(e,r){return Math.floor(e.trim().split(" ").length)>=r}},{key:"isInMaxWordRange",value:function(e,r){return Math.floor(e.trim().split(" ").length)<=r}},{key:"isUppercase",value:function(e){var r=this.trim(e);return r===r.toUpperCase()}},{key:"isLowercase",value:function(e){var r=P.trim(e);return r===r.toLowerCase()}},{key:"specialCharScan",value:function(e){var r=P.trim(e).match(/[^\w\s]/);if(r)return r[0];for(var n=0;n<P.trim(e).length;n++){var t=P.trim(e).charCodeAt(n);if((t<48||t>57)&&(t<65||t>90)&&(t<97||t>122)&&95!==t)return e[n]}return null}},{key:"handleSuccess",value:function(e,r){e.classList.remove("gdev-error-field"),e.classList.add("gdev-success-field"),null!==r&&(r.innerText="")}},{key:"handleError",value:function(e,r,n){throw e.classList.remove("gdev-success-field"),e.classList.add("gdev-error-field"),null!==r&&(r.innerText=n),this.setValidationResponse=!1,new Error("Validation failed")}},{key:"isBoolean",value:function(e){return"boolean"==typeof e}},{key:"isArray",value:function(e){return!!Array.isArray(e)}},{key:"isNumber",value:function(e){return"number"==typeof e}},{key:"isString",value:function(e){return"string"==typeof e}},{key:"isArrayOfStrings",value:function(e){return Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}},{key:"isArrayOfNumbers",value:function(e){return Array.isArray(e)&&e.every((function(e){return"number"==typeof e}))}},{key:"isInteger",value:function(e){return"number"==typeof e?Number.isInteger(e):"string"==typeof e&&""!==e.trim()&&Number.isInteger(Number(e))}},{key:"isArrayOfBooleans",value:function(e){return Array.isArray(e)&&e.every((function(e){return"boolean"==typeof e}))}},{key:"propertyValueSplitter",value:function(e){var r=this.trim(e).split("@@");return{value:r[0],errorMessage:r[1]}}},{key:"countChars",value:function(e){var r,n=/[^a-zA-Z0-9]/,t=0,o=0,a=0,i=0,l=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,r){if(e){if("string"==typeof e)return C(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,r):void 0}}(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var t=0,o=function(){};return{s:o,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(this.trim(e));try{for(l.s();!(r=l.n()).done;){var c=r.value;c>="a"&&c<="z"?o++:c>="A"&&c<="Z"?i++:c>="0"&&c<="9"?t++:n.test(c)&&a++}}catch(e){l.e(e)}finally{l.f()}return{num:t,lowercaseAlphabet:o,uppercaseAlphabet:i,specialChar:a}}}],null&&T(e.prototype,null),r&&T(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();function N(e,r,n,t){return"en"===e?"This field requires at least ".concat(r," ").concat(n," characters."):"fr"===e?"Ce champ doit contenir au moins ".concat(r," caractères ").concat(n,"."):""}function R(e,r,n){return"en"===e?"This field requires at least ".concat(r," numbers."):"fr"===e?"Ce champ doit contenir au moins ".concat(r," nombres."):""}function q(e,r){return"en"===e?"This field requires lowercase character.":"fr"===e?"Ce champ doit contenir des caractères en minuscule.":""}function L(e,r){return"en"===e?"This field requires uppercase character.":"fr"===e?"Ce champ doit contenir des caractères en majuscule.":""}function F(e,r,n){return"en"===n?"Characters most be between the range of ".concat(e," and ").concat(r," inclusive."):"fr"===n?"Les caractères doivent être comprise entre ".concat(e," et ").concat(r," inclus."):""}function V(e,r){return"en"===e?"This field requires a ".concat(r," email address."):" Ce champ doit contenir une adresse email ".concat(r,".")}function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function z(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,U(t.key),t)}}function U(e){var r=function(e){if("object"!=W(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==W(r)?r:r+""}function $(e,r,n){return r=H(r),function(e,r){if(r&&("object"==W(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,B()?Reflect.construct(r,n||[],H(e).constructor):r.apply(e,n))}function B(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(B=function(){return!!e})()}function H(e){return H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},H(e)}function D(e,r){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},D(e,r)}P=M,M.validationResponse=!0,M.finalValidationResponse={status:!1,values:{}},M.lang="en",I={value:0},M.generateError=function(e,r){return e.includes("@@")?e.split("@@")[1]:r()};var G,Z,J=function(e){function r(){return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r),$(this,r,arguments)}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&D(e,r)}(r,e),n=r,t=[{key:"validate",value:function(e,r){var n=this,t=e.errorField,o=e.field,a=e.specifications;try{Object.keys(a).forEach((function(e){if(function(e,r,n,t){if("a"===n&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!t:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?t:"a"===n?t.call(e):t?t.value:r.get(e)}(n,G,"f",Z).includes(e)){if("minChar"===e)if(n.isInRangeMin(o.value,Math.floor(parseInt(a.minChar))))M.handleSuccess(o,t);else{var i=M.generateError(a.minChar,(function(){return N(r,Math.floor(parseInt(a.minChar)),"")}));M.handleError(o,t,i)}if("maxChar"===e)if(n.isInRangeMax(o.value,Math.floor(parseInt(a.maxChar))))M.handleSuccess(o,t);else{var l=M.generateError(a.maxChar,(function(){return function(e,r,n){return"en"===e?"This field requires at most ".concat(n," characters."):"fr"===e?"Ce champ doit contenir au plus ".concat(n," caractères."):""}(r,0,Math.floor(parseInt(a.maxChar)))}));M.handleError(o,t,l)}if("minWord"===e)if(n.isInMinWordRange(o.value,Math.floor(parseInt(a.minWord))))M.handleSuccess(o,t);else{var c=M.generateError(a.minWord,(function(){return function(e,r,n){return"en"===e?"This field requires at least ".concat(n," words."):"fr"===e?"Ce champ doit contenir au moins ".concat(n," mots."):""}(r,0,Math.floor(parseInt(a.minWord)))}));M.handleError(o,t,c)}if("maxWord"===e)if(n.isInMaxWordRange(o.value,Math.floor(parseInt(a.maxWord))))M.handleSuccess(o,t);else{var s=M.generateError(a.maxWord,(function(){return function(e,r,n){return"en"===e?"This field requires at most ".concat(n," words."):"fr"===e?"Ce champ doit contenir au plus ".concat(n," mots."):""}(r,0,Math.floor(parseInt(a.maxWord)))}));M.handleError(o,t,s)}if("case"===e&&"upper"===a.case.split("@@")[0])if(n.isUppercase(o.value))M.handleSuccess(o,t);else{var u=M.generateError(a.case,(function(){return L(r)}));M.handleError(o,t,u)}if("case"===e&&"lower"===a.case.split("@@")[0])if(n.isLowercase(o.value))M.handleSuccess(o,t);else{var f=M.generateError(a.case,(function(){return q(r)}));M.handleError(o,t,f)}if("specialChar"===e&&!JSON.parse(a.specialChar.split("@@")[0])){var p=n.specialCharScan(o.value);if(null!=p){var d=M.generateError(a.specialChar,(function(){return function(e,r,n){return"en"===e?"The character '".concat(n,"' is not allowed in this field."):"fr"===e?"Le caractère '".concat(n,"' n'est pas autorisé dans ce champ."):""}(r,0,p)}));M.handleError(o,t,d)}else M.handleSuccess(o,t)}}else console.error("".concat(e," is not a valid Gdev property at ").concat(a.name,". Visit https://Gdev.com/resources/mobili/gdev-props for more information."))}))}catch(e){}}}],null&&z(n.prototype,null),t&&z(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t}(M);function Y(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return"fr"===e?"Le champ avec le nom '".concat(r,"' n'existe pas ou est défini de manière incorrecte a ").concat(n,"."):"The field with the name '".concat(r,"' does not exist or is incorrectly defined at ").concat(n,".")}function K(e){return"fr"===e?"Les valeurs saisies ne correspondent pas":"The entered values do not match."}function Q(e,r,n){return"fr"===e?"Le champ doit contenir au moins ".concat(r," ").concat(n,"."):"This field requires at least ".concat(r," ").concat(n,".")}function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function ee(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=re(e))||r&&e&&"number"==typeof e.length){n&&(e=n);var t=0,o=function(){};return{s:o,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function re(e,r){if(e){if("string"==typeof e)return ne(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ne(e,r):void 0}}function ne(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}function te(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,oe(t.key),t)}}function oe(e){var r=function(e){if("object"!=X(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=X(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==X(r)?r:r+""}function ae(e,r,n){return r=le(r),function(e,r){if(r&&("object"==X(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ie()?Reflect.construct(r,n||[],le(e).constructor):r.apply(e,n))}function ie(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ie=function(){return!!e})()}function le(e){return le=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},le(e)}function ce(e,r){return ce=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},ce(e,r)}G=J,Z={value:["type","name","minChar","maxChar","minWord","maxWord","case","specialChar"]};var se,ue,fe,pe,de,me,ve,he,ye=function(e,r,n,t){if("a"===n&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!t:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?t:"a"===n?t.call(e):t?t.value:r.get(e)},ge=function(e){function r(){var e;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r),(e=ae(this,r,arguments)).language=M.lang,e}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&ce(e,r)}(r,e),n=r,t=[{key:"validate",value:function(e,r){var n=this;try{var t=e.errorField,o=e.field,a=e.specifications;(function(e,r,n,t,o){if("m"===t)throw new TypeError("Private method is not writable");if("a"===t&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!o:!r.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===t?o.call(e,n):o?o.value=n:r.set(e,n)})(this,se,t,"f",ue),this.dSpecifications=a,Object.entries(a).forEach((function(e){var i=function(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,a,i,l=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=a.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(e,r)||re(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(e,2),l=i[0],c=i[1];if(M.propertyValueSplitter(c),"securityLevel"===l)switch(n.inputField=o,n.fieldName=a.name,a.securityLevel.split("@@")[0]){case"s1":ye(n,se,"m",fe).call(n,o.value);break;case"s2":ye(n,se,"m",pe).call(n,o.value);break;case"s3":ye(n,se,"m",de).call(n,o.value);break;case"s4":ye(n,se,"m",me).call(n,o.value)}else if("confirmWith"===l){var s=r.find((function(e){return e.specifications.name===a.confirmWith.split("@@")[0]}));if(!s)throw console.error(Y(M.lang,a.confirmWith)),new Error("");if(o.value.length>0&&s.field.value.length>0&&o.value===s.field.value)M.handleSuccess(o,t),M.handleSuccess(s.field,s.errorField);else{var u=M.generateError(n.dSpecifications.confirmWith,(function(){return K(M.lang)}));M.handleError(o,t,u);var f=M.generateError(n.dSpecifications.confirmWith,(function(){return K(M.lang)}));M.handleError(s.field,s.errorField,f)}}else if("maxCharRepeat"===l){var p=parseInt(n.dSpecifications.maxCharRepeat.split("@@")[0]);if(ye(n,se,"m",ve).call(n,o.value,p)){var d=M.generateError(n.dSpecifications.maxCharRepeat,(function(){return function(e,r){return"en"===r?"This field cannot contain any character more than ".concat(e," times."):"Ce champ ne peut pas contenir un caractère plus de ".concat(e," fois.")}(p,M.lang)}));M.handleError(o,t,d)}else M.handleSuccess(o,t)}else if("sequentialPatternCount"===l){var m=parseInt(n.dSpecifications.sequentialPatternCount.split("@@")[0]);if(ye(n,se,"m",he).call(n,o.value,m)){var v=M.generateError(n.dSpecifications.sequentialPatternCount,(function(){return"en"===M.lang?'The field cannot contain sequential characters like "1234" or "abcd"':' Ce champ ne peut pas contenir des caractères successifs comme "1234" ou "abcd"'}));M.handleError(o,t,v)}else M.handleSuccess(o,t)}else if("minLen"===l||"minNumCount"===l||"minLowercaseAlphabetCount"===l||"minUppercaseAlphabetCount"===l||"minSpecialCharCount"===l){var h=parseInt(M.propertyValueSplitter(c).value),y=M.trim(o.value),g=M.countChars(y),b={minLen:{count:y.length,errorMessage:function(){return e=M.lang,r=h,"fr"===e?"Le champ doit contenir au moins ".concat(r," caractères."):"This field requires at least ".concat(r," characters.");var e,r}},minNumCount:{count:g.num,errorMessage:function(){return Q(M.lang,h,"'numbers'")}},minLowercaseAlphabetCount:{count:g.lowercaseAlphabet,errorMessage:function(){return Q(M.lang,h,"'lowercase alphabetic characters'")}},minUppercaseAlphabetCount:{count:g.uppercaseAlphabet,errorMessage:function(){return Q(M.lang,h,"'uppercase alphabetic characters'")}},minSpecialCharCount:{count:g.specialChar,errorMessage:function(){return Q(M.lang,h,"'special characters'")}}};b[l].count>=h?M.handleSuccess(o,t):M.handleError(o,t,M.generateError(c,b[l].errorMessage))}}))}catch(e){}}}],null&&te(n.prototype,null),t&&te(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t}(M);function be(e){return be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},be(e)}function we(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,xe(t.key),t)}}function xe(e){var r=function(e){if("object"!=be(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=be(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==be(r)?r:r+""}function Se(e,r,n){return r=Ee(r),function(e,r){if(r&&("object"==be(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,_e()?Reflect.construct(r,n||[],Ee(e).constructor):r.apply(e,n))}function _e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_e=function(){return!!e})()}function Ee(e){return Ee=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ee(e)}function Oe(e,r){return Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},Oe(e,r)}se=ge,fe=function(e){if(this.isInRangeMin(e,5)&&this.isInRangeMax(e,7))M.handleSuccess(this.inputField,ye(this,se,"f",ue));else{var r=M.generateError(this.dSpecifications.securityLevel,(function(){return F(5,7,M.lang)}));M.handleError(this.inputField,ye(this,se,"f",ue),r)}},pe=function(e){var r,n=M.trim(e),t=this.isInRangeMin(n,8)&&this.isInRangeMax(n,11),o=!1,a=!1,i=ee(n);try{for(i.s();!(r=i.n()).done;){var l=r.value;if(l>="a"&&l<="z"?o=!0:l>="A"&&l<="Z"&&(a=!0),o&&a)break}}catch(e){i.e(e)}finally{i.f()}for(var c=0,s=[{check:!t,message:function(){return F(8,11,M.lang)}},{check:!o,message:function(){return q(M.lang)}},{check:!a,message:function(){return L(M.lang)}}];c<s.length;c++){var u=s[c],f=u.check,p=u.message;if(f){var d=M.generateError(this.dSpecifications.securityLevel,p);return M.handleError(this.inputField,ye(this,se,"f",ue),d)}}M.handleSuccess(this.inputField,ye(this,se,"f",ue))},de=function(e){var r,n=M.trim(e),t=this.isInRangeMin(n,12)&&this.isInRangeMax(n,17),o=0,a=0,i=0,l=ee(n);try{for(l.s();!(r=l.n()).done;){var c=r.value;c>="a"&&c<="z"?a++:c>="A"&&c<="Z"?o++:c>="0"&&c<="9"&&i++}}catch(e){l.e(e)}finally{l.f()}for(var s=0,u=[{check:!t,message:function(){return F(12,17,M.lang)}},{check:!(a>=3),message:function(){return N(M.lang,3,"lowercase")}},{check:!(o>=3),message:function(){return N(M.lang,3,"uppercase")}},{check:!(i>=3),message:function(){return R(M.lang,3)}}];s<u.length;s++){var f=u[s],p=f.check,d=f.message;if(p){var m=M.generateError(this.dSpecifications.securityLevel,d);return M.handleError(this.inputField,ye(this,se,"f",ue),m)}}M.handleSuccess(this.inputField,ye(this,se,"f",ue))},me=function(e){var r,n=M.trim(e),t=this.isInRangeMin(n,18)&&this.isInRangeMax(n,30),o=0,a=0,i=0,l=0,c=/[^a-zA-Z0-9]/,s=ee(n);try{for(s.s();!(r=s.n()).done;){var u=r.value;u>="a"&&u<="z"?a++:u>="A"&&u<="Z"?o++:u>="0"&&u<="9"?i++:c.test(u)&&l++}}catch(e){s.e(e)}finally{s.f()}for(var f=0,p=[{check:!t,message:function(){return F(18,30,M.lang)}},{check:!(a>=4),message:function(){return N(M.lang,4,"lowercase")}},{check:!(o>=4),message:function(){return N(M.lang,4,"uppercase")}},{check:!(i>=4),message:function(){return R(M.lang,4)}},{check:!(l>=4),message:function(){return N(M.lang,4,"special")}}];f<p.length;f++){var d=p[f],m=d.check,v=d.message;if(m){var h=M.generateError(this.dSpecifications.securityLevel,v);return M.handleError(this.inputField,ye(this,se,"f",ue),h)}}M.handleSuccess(this.inputField,ye(this,se,"f",ue))},ve=function(e,r){var n,t=new Map,o=ee(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(t.set(a,(t.get(a)||0)+1),t.get(a)>r)return!0}}catch(e){o.e(e)}finally{o.f()}return!1},he=function(e,r){for(var n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",t=0;t<=e.length-r;t++){var o=e.substring(t,t+r);if(n.includes(o)||n.split("").reverse().join("").includes(o))return!0}return!1},ue={value:void 0};var je,ke,Ce,Te,Ae,Pe,Ie=function(e,r,n,t){if("a"===n&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!t:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?t:"a"===n?t.call(e):t?t.value:r.get(e)},Me=function(e){function r(){var e;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r),e=Se(this,r,arguments),je.add(e),ke.set(e,[{name:"gmail",domainName:["gmail.com","googlemail.com"]},{name:"outlook",domainName:["outlook.com","hotmail.com","live.com","msn.com"]},{name:"yahoo",domainName:["yahoo.com","ymail.com","rocketmail.com","yahoo-inc.com"]},{name:"any",domainName:[""]}]),e}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&Oe(e,r)}(r,e),n=r,(t=[{key:"validate",value:function(e){var r=this,n=e.specifications,t=e.field,o=e.errorField;try{Object.keys(n).forEach((function(e){if("provider"===e){var a=n.provider.split("@@")[0];if("any"===a)if(Ie(r,je,"m",Ce).call(r,t.value))M.handleSuccess(t,o);else{var i=M.generateError(n.provider,(function(){return V(M.lang,"")}));M.handleError(t,o,i)}else if("gmail"===a)if(Ie(r,je,"m",Te).call(r,t.value))M.handleSuccess(t,o);else{var l=M.generateError(n.provider,(function(){return V(M.lang,"gmail")}));M.handleError(t,o,l)}else if("outlook"===a)if(Ie(r,je,"m",Ae).call(r,t.value))M.handleSuccess(t,o);else{var c=M.generateError(n.provider,(function(){return V(M.lang,"outlook")}));M.handleError(t,o,c)}else if("yahoo"===a)if(Ie(r,je,"m",Pe).call(r,t.value))M.handleSuccess(t,o);else{var s=M.generateError(n.provider,(function(){return V(M.lang,"yahoo")}));M.handleError(t,o,s)}}}))}catch(e){}}}])&&we(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t}(M);function Ne(e){return Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ne(e)}function Re(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,a,i,l=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(t=a.call(n)).done)&&(l.push(t.value),l.length!==r);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(e,r)||function(e,r){if(e){if("string"==typeof e)return qe(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qe(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qe(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}function Le(e,r){for(var n=0;n<r.length;n++){var t=r[n];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,Fe(t.key),t)}}function Fe(e){var r=function(e){if("object"!=Ne(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=Ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ne(r)?r:r+""}function Ve(e,r,n){return r=ze(r),function(e,r){if(r&&("object"==Ne(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,We()?Reflect.construct(r,n||[],ze(e).constructor):r.apply(e,n))}function We(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(We=function(){return!!e})()}function ze(e){return ze=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ze(e)}function Ue(e,r){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},Ue(e,r)}ke=new WeakMap,je=new WeakSet,Ce=function(e){return!!new RegExp(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/).test(e)},Te=function(e){return!!Ie(this,je,"m",Ce).call(this,e)&&Ie(this,ke,"f")[0].domainName.includes(e.split("@")[1])},Ae=function(e){return!!Ie(this,je,"m",Ce).call(this,e)&&Ie(this,ke,"f")[1].domainName.includes(e.split("@")[1])},Pe=function(e){return!!Ie(this,je,"m",Ce).call(this,e)&&Ie(this,ke,"f")[2].domainName.includes(e.split("@")[1])};var $e,Be,He,De,Ge,Ze,Je,Ye,Ke,Qe,Xe=function(e,r,n,t){if("a"===n&&!t)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!t:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?t:"a"===n?t.call(e):t?t.value:r.get(e)},er=function(e){function r(){var e;return function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r),e=Ve(this,r,arguments),$e.add(e),e}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&Ue(e,r)}(r,e),n=r,(t=[{key:"validate",value:function(e){var r=this,n=e.field,t=e.specifications,o=e.errorField;try{Object.entries(t).forEach((function(e){var a=Re(e,2),i=a[0],l=a[1],c=M.propertyValueSplitter(M.trim(l)).value;switch(i){case"min":Xe(r,$e,"m",Be).call(r,n.value,c,t.name)?M.handleSuccess(n,o):M.handleError(n,o,M.generateError(l,(function(){return e=t.min,"fr"===M.lang?"Ce champ nécessite un nombre supérieur ou égal à ".concat(e,"."):"this field requires a number greater than or equal to ".concat(e);var e})));break;case"max":Xe(r,$e,"m",He).call(r,n.value,c,t.name)?M.handleSuccess(n,o):M.handleError(n,o,M.generateError(l,(function(){return e=t.max,"fr"===M.lang?"Ce champ nécessite un nombre inférieur ou égal à ".concat(e,"."):"this field requires a number less than or equal to ".concat(e);var e})));break;case"range":var s=Re(c.split(","),2),u=s[0],f=s[1];Xe(r,$e,"m",De).call(r,n.value,c,t.name)?M.handleSuccess(n,o):M.handleError(n,o,M.generateError(l,(function(){return function(e,r,n){return"fr"===n?"Ce champ nécessite un nombre compris entre ".concat(e," et ").concat(r,"."):"this field requires a number between ".concat(e," and ").concat(r)}(u,f,M.lang)})));break;case"factorOf":Xe(r,$e,"m",Ge).call(r,n.value,c,t.name)?M.handleSuccess(n,o):M.handleError(n,o,M.generateError(l,(function(){return e=t.factorOf,"fr"===M.lang?"Ce champ nécessite un facteur de ".concat(e,"."):"this field requires a factor of ".concat(e);var e})));break;case"multipleOf":Xe(r,$e,"m",Ze).call(r,n.value,c,t.name)?M.handleSuccess(n,o):M.handleError(n,o,M.generateError(l,(function(){return e=t.multipleOf,"fr"===M.lang?"Ce champ nécessite un multiple de ".concat(e,"."):"this field requires a multiple of ".concat(e);var e})));break;case"numType":Xe(r,$e,"m",Je).call(r,l,n,t.name,o);break;case"numClass":Xe(r,$e,"m",Ye).call(r,l,n,t.name,o);break;case"fancyNum":Xe(r,$e,"m",Ke).call(r,n,o,i,t.name)}}))}catch(e){}}}])&&Le(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t}(M);$e=new WeakSet,Be=function(e,r,n){return e>=parseFloat(r)},He=function(e,r,n){return e<=parseFloat(r)},De=function(e,r,n){var t=Re(r.split(","),2),o=t[0],a=t[1];return e>=parseFloat(o)&&e<=parseFloat(a)},Ge=function(e,r,n){return parseFloat(r)%e==0},Ze=function(e,r,n){return e%parseFloat(r)==0},Je=function(e,r,n,t){var o=M.propertyValueSplitter(e).value,a=function(){M.handleError(r,t,M.generateError(e,(function(){return function(e,r){return"fr"===r?"Ce champ doit être de type ".concat(e,"."):"this field must be of type ".concat(e)}(o,M.lang)})))};"integer"===o?Number.isInteger(Number(r.value))?M.handleSuccess(r,t):a():"decimal"===o?Number.isInteger(Number(r.value))?a():M.handleSuccess(r,t):"real"===o&&(!Number.isInteger(Number(r.value))&&Number.isInteger(Number(r.value))||isNaN(Number(r.value))?a():M.handleSuccess(r,t))},Ye=function(e,r,n,t){var o=M.propertyValueSplitter(e).value,a=function(){M.handleError(r,t,M.generateError(e,(function(){return e=M.lang,r=o,"fr"===e?("even"===r?r="pair":"odd"===r?r="impair":"prime"===r&&(r="premier"),"Ce champ doit contenir les nombres ".concat(r," .")):"This field requires ".concat(r," numbers.");var e,r})))};"even"===o?Number(r.value)%2==0?M.handleSuccess(r,t):a():"odd"===o?Number(r.value)%2==0||isNaN(Number(r.value))?a():M.handleSuccess(r,t):"prime"===o&&(Xe(this,$e,"m",Qe).call(this,Number(r.value))?M.handleSuccess(r,t):a())},Ke=function(e,r,n,t){var o=M.propertyValueSplitter(n).value;"perfectsquare"===o&&(Number.isInteger(Math.sqrt(Number(e.value)))?M.handleSuccess(e,r):M.handleError(e,r,M.generateError(n,(function(){return e=