{"version":3,"sources":["webpack:///./src/globals.js","webpack:///./node_modules/moment/locale sync \\b\\B","webpack:///./Plugins/gisw-password-requirements-checker.js","webpack:///./Shared/Helpers/ClientValidation.js","webpack:///./src/init.js"],"names":["window","$","jQuery","moment","JSZip","webpackEmptyContext","req","e","Error","code","keys","resolve","module","exports","id","fn","passwordRequirementChecker","criteriaMet","domId","removeClass","addClass","criteriaNotMet","validateInput","inputValue","hasLowerCase","test","hasUpperCase","hasNumbers","hasSpecialCharacters","requirementsMet","length","this","val","on","target","value","isRequired","element","dataset","valRequiredIfActive","targetSelector","valRequiredIfActiveTarget","targetChecked","prop","undefined","preventHtmlReg","RegExp","validator","addMethod","result","exec","data","text","html","params","valFutureDate","isAfter","valDateFormat","isValid","format","unobtrusive","adapters","add","options","rules","message","messages"],"mappings":"8PAAA,gBACA,YACA,Y,mDAGAA,OAAOC,EAAIA,UAEXD,OAAOE,OAASD,UAEhBD,OAAOG,OAASA,UAEhBH,OAAOI,MAAQA,W,kBCXf,SAASC,EAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,EAEPF,EAAoBK,KAAO,WAAa,MAAO,IAC/CL,EAAoBM,QAAUN,EAC9BO,EAAOC,QAAUR,EACjBA,EAAoBS,GAAK,K,iCCRzBb,EAAEc,GAAGC,2BAA6B,WAMhC,SAASC,EAAYC,GACnBjB,EAAE,IAAMiB,GACLC,YAAY,2DACZC,SAAS,mDAGd,SAASC,EAAeH,GACtBjB,EAAE,IAAMiB,GACLE,SAAS,2DACTD,YAAY,mDAOjB,SAASG,EAAcC,GACrB,IAAIC,EAAe,QAAQC,KAAKF,GAC5BG,EAAe,QAAQD,KAAKF,GAC5BI,EAAa,QAAQF,KAAKF,GAC1BK,EAAuB,4CAA4CH,KACrEF,GAGEM,EAAkB,EAElBN,GAAcA,EAAWO,QAAU,EACrCb,EAAY,+BAEZI,EAAe,+BAGbG,GACFK,IAGEH,GACFG,IAGEF,GACFE,IAGED,GACFC,IAGEA,GAAmB,EACrBZ,EAAY,oCAEZI,EAAe,oCAtCjBC,EAlBSS,KAAKC,OAChBD,KAAKE,GAAG,gBAAgB,SAAU1B,GAChCe,EAAcf,EAAE2B,OAAOC,Y,iCCH3BlC,GAAE,WAGA,SAASmC,EAAYD,EAAOE,GAC1B,IAAKA,EAAQC,QAAQC,oBACnB,OAAO,EAGT,MAAMC,EAAiBH,EAAQC,QAAQG,0BACjCC,EAAgBzC,EAAEuC,GAAgBG,KAAK,WAE7C,YAAsBC,IAAlBF,GAIGA,EAIT,MAAMG,EAAiB,IAAIC,OAAO,oBAClC7C,EAAE8C,UAAUC,UACV,eACA,SAAUb,EAAOE,GACf,MAAMY,EAASJ,EAAeK,KAAKf,GAEnC,OAAKc,IAILhD,EAAEoC,GAASc,KACT,iCACAlD,EAAE,UAAUmD,KAAKH,EAAO,IAAII,SAEvB,MAET,SAAUC,EAAQjB,GAChB,MACE,+BACApC,EAAEoC,GAASc,KAAK,qCAMtBlD,EAAE8C,UAAUC,UA3Ca,sBA6CvB,SAAUb,EAAOE,GACf,QAASD,EAAWD,EAAOE,IAAsB,KAAVF,KAEzC,qBAIFlC,EAAE8C,UAAUC,UACV,eACA,SAAUb,EAAOE,GACf,OAAQD,EAAWD,EAAOE,IAEtBlC,OAAOgC,EAAOE,EAAQC,QAAQiB,eAAeC,QAAQrD,YAE3D,6BAIFF,EAAE8C,UAAUC,UACV,eACA,SAAUb,EAAOE,GACf,OAAQD,EAAWD,EAAOE,IAEtBlC,OAAOgC,EAAOE,EAAQC,QAAQmB,eAAeC,YAEnDzD,EAAE8C,UAAUY,OAAO,+BAIrB1D,EAAE8C,UAAUa,YAAYC,SAASC,IAAI,cAAe,IAAI,SAAUC,GAChEA,EAAQC,MAAM,eAAiBD,EAAQE,WAIzChE,EAAE8C,UAAUa,YAAYC,SAASC,IAAI,cAAe,IAAI,SAAUC,GAChEA,EAAQC,MAAM,gBAAiB,KAIjC/D,EAAE8C,UAAUa,YAAYC,SAASC,IApFR,qBAoF8B,IAAI,SACzDC,GAEAA,EAAQC,MAvFe,uBAuFW,EAClCD,EAAQG,SAxFe,sBAwFcH,EAAQE,WAI/ChE,EAAE8C,UAAUa,YAAYC,SAASC,IAAI,cAAe,IAAI,SAAUC,GAChEA,EAAQC,MAAR,aAA+B,S,gCC7FnC,OAGA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OAEA,OACA,OACA,OACA,OACA,OACA,OACA,OACA","file":"39.7c5ec5820ed47421c60f.js","sourcesContent":["import $ from 'jquery';\r\nimport JSZip from 'jszip';\r\nimport moment from 'moment';\r\n\r\n// @ts-ignore\r\nwindow.$ = $;\r\n// @ts-ignore\r\nwindow.jQuery = $;\r\n// @ts-ignore\r\nwindow.moment = moment;\r\n// @ts-ignore\r\nwindow.JSZip = JSZip;\r\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 676;","$.fn.passwordRequirementChecker = function () {\r\n initialize(this.val());\r\n this.on('input change', function (e) {\r\n validateInput(e.target.value);\r\n });\r\n\r\n function criteriaMet(domId) {\r\n $('#' + domId)\r\n .removeClass('criteria-not-met glyphicon-remove fa-remove text-danger')\r\n .addClass('criteria-met glyphicon-ok fa-check text-success');\r\n }\r\n\r\n function criteriaNotMet(domId) {\r\n $('#' + domId)\r\n .addClass('criteria-not-met glyphicon-remove fa-remove text-danger')\r\n .removeClass('criteria-met glyphicon-ok fa-check text-success');\r\n }\r\n\r\n function initialize(currentValue) {\r\n validateInput(currentValue);\r\n }\r\n\r\n function validateInput(inputValue) {\r\n var hasLowerCase = /[a-z]/.test(inputValue);\r\n var hasUpperCase = /[A-Z]/.test(inputValue);\r\n var hasNumbers = /[0-9]/.test(inputValue);\r\n var hasSpecialCharacters = /[~!@@#$%^&*_\\-\\+=`|\\\\(){}\\[\\]:;\"'<>,.?\\\\]/.test(\r\n inputValue\r\n );\r\n\r\n var requirementsMet = 0;\r\n\r\n if (inputValue && inputValue.length >= 5) {\r\n criteriaMet('password-length-requirement');\r\n } else {\r\n criteriaNotMet('password-length-requirement');\r\n }\r\n\r\n if (hasLowerCase) {\r\n requirementsMet++;\r\n }\r\n\r\n if (hasUpperCase) {\r\n requirementsMet++;\r\n }\r\n\r\n if (hasNumbers) {\r\n requirementsMet++;\r\n }\r\n\r\n if (hasSpecialCharacters) {\r\n requirementsMet++;\r\n }\r\n\r\n if (requirementsMet >= 3) {\r\n criteriaMet('password-combination-requirement');\r\n } else {\r\n criteriaNotMet('password-combination-requirement');\r\n }\r\n }\r\n};\r\n","$(function () {\r\n const requiredIfActive = 'required-if-active';\r\n\r\n function isRequired (value, element) {\r\n if (!element.dataset.valRequiredIfActive) {\r\n return false;\r\n }\r\n\r\n const targetSelector = element.dataset.valRequiredIfActiveTarget;\r\n const targetChecked = $(targetSelector).prop('checked');\r\n\r\n if (targetChecked === undefined) {\r\n return false;\r\n }\r\n\r\n return targetChecked;\r\n }\r\n\r\n // Front end validation to prevent submitting HTML\r\n const preventHtmlReg = new RegExp('<[a-zA-Z!/?]+|');\r\n $.validator.addMethod(\r\n 'preventhtml',\r\n function (value, element) {\r\n const result = preventHtmlReg.exec(value);\r\n\r\n if (!result) {\r\n return true;\r\n }\r\n\r\n $(element).data(\r\n 'data-preventhtml-error-message',\r\n $('
').text(result[0]).html()\r\n );\r\n return false;\r\n },\r\n function (params, element) {\r\n return (\r\n 'Input can not contain HTML: ' +\r\n $(element).data('data-preventhtml-error-message')\r\n );\r\n }\r\n );\r\n\r\n // Front end validation for conditionally required fields\r\n $.validator.addMethod(\r\n requiredIfActive,\r\n function (value, element) {\r\n return !(isRequired(value, element) && value === '');\r\n },\r\n 'Input is required'\r\n );\r\n\r\n // Front end validation to force date input to be in the future\r\n $.validator.addMethod(\r\n 'future-date',\r\n function (value, element) {\r\n return !isRequired(value, element)\r\n ? true\r\n : moment(value, element.dataset.valFutureDate).isAfter(moment());\r\n },\r\n ' Date must be after today'\r\n );\r\n\r\n // Front end validation to force date format\r\n $.validator.addMethod(\r\n 'date-format',\r\n function (value, element) {\r\n return !isRequired(value, element)\r\n ? true\r\n : moment(value, element.dataset.valDateFormat).isValid();\r\n },\r\n $.validator.format('Date must be in format {0}')\r\n );\r\n\r\n // Add unobtrusive adapter to use validator rule\r\n $.validator.unobtrusive.adapters.add('date-format', [], function (options) {\r\n options.rules['date-format'] = options.message;\r\n });\r\n\r\n // Add unobtrusive adapter to use validator rule\r\n $.validator.unobtrusive.adapters.add('future-date', [], function (options) {\r\n options.rules['future-date'] = true;\r\n });\r\n\r\n // Add unobtrusive adapter to use validator rule\r\n $.validator.unobtrusive.adapters.add(requiredIfActive, [], function (\r\n options\r\n ) {\r\n options.rules[requiredIfActive] = true;\r\n options.messages[requiredIfActive] = options.message;\r\n });\r\n\r\n // Add unobtrusive adapter to use validator rule\r\n $.validator.unobtrusive.adapters.add('preventhtml', [], function (options) {\r\n options.rules['preventhtml'] = true;\r\n });\r\n});\r\n","// Polyfills\r\nimport 'core-js/modules/es.array.find-index';\r\n\r\n// Global variables / plugins\r\nimport './globals';\r\nimport 'jquery-ui';\r\nimport 'jquery-ui/ui/widgets/autocomplete';\r\nimport 'jquery-ui/ui/widgets/datepicker';\r\nimport 'jquery-ui/ui/widgets/dialog';\r\nimport 'jquery-ajax-unobtrusive';\r\nimport 'jquery-dateformat/dist/jquery-dateformat';\r\nimport 'bootstrap';\r\nimport 'bootstrap-toggle';\r\nimport 'bootstrap-show-password/bootstrap-show-password';\r\nimport 'autonumeric';\r\nimport 'jquery-validation-unobtrusive';\r\nimport 'multiselect-two-sides/dist/js/multiselect';\r\nimport '../Plugins/gisw-password-requirements-checker';\r\nimport 'gisw/Helpers/ClientValidation';\r\n// Below imports use import/export when loaded\r\nimport 'datatables.net';\r\nimport 'datatables.net-jqui';\r\nimport 'datatables.net-buttons';\r\nimport 'datatables.net-buttons/js/buttons.html5';\r\nimport 'datatables.net-plugins/api/fnFindCellRowIndexes';\r\nimport 'datatables.net-plugins/sorting/datetime-moment';\r\nimport 'datatables.net-rowgroup';\r\nimport 'select2';\r\n"],"sourceRoot":""}