{"version":3,"sources":["../../../src/abstractions/index.ts","../../../src/tools/index.ts","../../../src/tools/utilities.ts","../../../src/abstractions/company.ts","../../../src/abstractions/grants.ts","../../../src/abstractions/primitives.ts","../../../src/abstractions/product.ts","../../../src/abstractions/quote-request.ts","../../../src/abstractions/square-appointments.ts","../../../src/abstractions/pandadoc.ts","../../../src/tools/formatters.ts","../../../src/tools/unit-conversion.ts","../../../src/tools/sort.ts","../../../src/tools/cartesian-product.ts","../../../src/tools/isUSZipCode.ts","../../../src/tools/USStates.ts","../../../src/tools/datesForWindowing.ts","polyfills.ts","environment.ts","services/quote-requests.ts","App.tsx","index.tsx"],"names":["__exportStar","exports","add1","obj","Lead","Order","Company","User","Product","QuoteRequest","Contact","Installs","EmailPreferences","_a","Grant","READ","int","Math","BuildingType","WeightUnit","DimensionalUnit","QuoteRequestOrigin","numbers","length","isNegative","mmChars","mm","split","ddChars","dd","props","i","abbr","name","today","Date","window","TextEncodingPolyfill","require","TextEncoder","TextDecoder","SERVER_URL","params","a","axios","post","response","status","console","log","data","App","useForm","mode","handleSubmit","register","errors","setError","getValues","reset","useCookies","cookies","toast","configure","position","autoClose","hideProgressBar","closeOnClick","pauseOnFocusLoss","className","onSubmit","values","country","context","pageUri","location","href","pageName","document","title","removeEmpty","phone","match","join","sanitizeStateCode","state","validatedState","value","sanitizedStateCode","getStateCodeByStateName","getStateCode","type","message","redirectUrl","SubmitQuoteRequestFormShortened","then","success","RedirectSuccess","formRedirect","error","catch","err","id","htmlFor","firstname","autoComplete","ref","required","lastname","validate","val","email","pattern","phoemailne","streetAddress","city","undefined","USStates","map","el","zip","style","display","ReactDOM","render","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.88759061.chunk.js","sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./company\"), exports);\n__exportStar(require(\"./contact\"), exports);\n__exportStar(require(\"./contract\"), exports);\n__exportStar(require(\"./discount-package\"), exports);\n__exportStar(require(\"./glitch\"), exports);\n__exportStar(require(\"./grants\"), exports);\n__exportStar(require(\"./lead\"), exports);\n__exportStar(require(\"./order\"), exports);\n__exportStar(require(\"./primitives\"), exports);\n__exportStar(require(\"./product\"), exports);\n__exportStar(require(\"./quote-request\"), exports);\n__exportStar(require(\"./user\"), exports);\n__exportStar(require(\"./form-submissions\"), exports);\n__exportStar(require(\"./analytics\"), exports);\n__exportStar(require(\"./shipping-address\"), exports);\n__exportStar(require(\"./installs\"), exports);\n__exportStar(require(\"./installs-cache\"), exports);\n__exportStar(require(\"./pandadoc-lighting-proposal-template\"), exports);\n__exportStar(require(\"./email-preferences\"), exports);\n__exportStar(require(\"./proposal\"), exports);\n__exportStar(require(\"./internal-lead\"), exports);\n__exportStar(require(\"./sales-appointment\"), exports);\n__exportStar(require(\"./square-appointments\"), exports);\n__exportStar(require(\"./pandadoc\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./utilities\"), exports);\n__exportStar(require(\"./formatters\"), exports);\n__exportStar(require(\"./unit-conversion\"), exports);\n__exportStar(require(\"./sort\"), exports);\n__exportStar(require(\"./cartesian-product\"), exports);\n__exportStar(require(\"./isUSZipCode\"), exports);\n__exportStar(require(\"./USStates\"), exports);\n__exportStar(require(\"./datesForWindowing\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeEmpty = exports.isEmpty = exports.max = exports.where = exports.exists = exports.merge = exports.groupBy = exports.last = exports.first = exports.isDate = exports.isString = exports.addressEquals = exports.getGoogleMapsUrl = exports.nameof = exports.copyKeys = exports.calculateDiscount = exports.getPatchList = exports.patchObject = exports.calcPercentage = void 0;\nvar abstractions_1 = require(\"../abstractions\");\nfunction calcPercentage(numerator, denominator) {\n if (numerator === 0 || denominator === 0)\n return 0;\n var res = Number(((numerator * 100) / denominator).toFixed(2));\n return res;\n}\nexports.calcPercentage = calcPercentage;\nfunction patchObject(dest, src, params) {\n var changes = getPatchList(dest, src, params);\n changes.forEach(function (key) { return (dest[key] = src[key]); });\n}\nexports.patchObject = patchObject;\nfunction getPatchList(dest, src, params) {\n var differences = [];\n Object.keys(src)\n .filter(function (key) { return key in dest; })\n .forEach(function (key) {\n if (params && !params.patchNullAndUndefined) {\n if (src[key] != dest[key] && src[key] !== undefined && src[key] !== null)\n differences.push(key);\n }\n else {\n if (src[key] != dest[key])\n differences.push(key);\n }\n });\n return differences;\n}\nexports.getPatchList = getPatchList;\nfunction calculateDiscount(retailValue, discountPercent) {\n var discountPrice = abstractions_1.float.parse((retailValue - retailValue * (discountPercent / 100)).toFixed(2));\n return discountPrice;\n}\nexports.calculateDiscount = calculateDiscount;\nfunction copyKeys(dest, src, keys) {\n keys.forEach(function (key) { return (dest[key] = src[key]); });\n}\nexports.copyKeys = copyKeys;\nvar nameof = function (name) { return name; };\nexports.nameof = nameof;\nfunction getGoogleMapsUrl(address) {\n return \"https://maps.google.com/?q=\" + address.streetAddress + \", \" + address.city + \", \" + address.state + \", \" + address.zip;\n}\nexports.getGoogleMapsUrl = getGoogleMapsUrl;\nfunction addressEquals(add1, add2) {\n if (add1 === add2)\n return true;\n return (add1.streetAddress === add2.streetAddress &&\n add1.city === add2.city &&\n add1.state === add2.state &&\n add1.zip === add2.zip &&\n add1.country === add2.country);\n}\nexports.addressEquals = addressEquals;\nfunction isString(obj) {\n return typeof obj === \"string\";\n}\nexports.isString = isString;\nfunction isDate(obj) {\n return typeof obj === \"object\" && \"add\" in obj;\n}\nexports.isDate = isDate;\nfunction first(arr, check) {\n for (var i = 0; i < arr.length; i++) {\n if (check(arr[i]))\n return arr[i];\n }\n return undefined;\n}\nexports.first = first;\nfunction last(arr) {\n if (arr.length === 0)\n return undefined;\n return arr[arr.length - 1];\n}\nexports.last = last;\nfunction groupBy(arr, selector) {\n var res = [];\n var _loop_1 = function () {\n var key = selector(arr[i]);\n var group = first(res, function (el) { return el.key === key; });\n if (!group)\n res.push({ key: key, values: [arr[i]] });\n else\n group.values.push(arr[i]);\n };\n for (var i = 0; i < arr.length; i++) {\n _loop_1();\n }\n return res.map(function (v) { return v.values; });\n}\nexports.groupBy = groupBy;\nfunction merge(master, other, comparer, merger) {\n var res = [];\n var _loop_2 = function (cur) {\n var firstMatch = first(other, function (el) { return comparer(cur, el); });\n if (firstMatch) {\n res.push(merger(cur, firstMatch));\n }\n };\n for (var _i = 0, master_1 = master; _i < master_1.length; _i++) {\n var cur = master_1[_i];\n _loop_2(cur);\n }\n return res;\n}\nexports.merge = merge;\nfunction exists(arr, check) {\n for (var i = 0; i < arr.length; i++) {\n if (check(arr[i]))\n return true;\n }\n return false;\n}\nexports.exists = exists;\nfunction where(arr, check) {\n var res = [];\n for (var i = 0; i < arr.length; i++) {\n if (check(arr[i]))\n res.push(arr[i]);\n }\n return res;\n}\nexports.where = where;\nfunction max(arr, AgtB) {\n if (arr.length === 0)\n return undefined;\n var max = arr[0];\n for (var i = 1; i < arr.length; i++) {\n if (AgtB(arr[i], max))\n max = arr[i];\n }\n return max;\n}\nexports.max = max;\n//Start Sanitization\nvar isEmpty = function (value) { return value == null || value === \"\"; };\nexports.isEmpty = isEmpty;\nvar removeEmpty = function (obj) { return Object.keys(obj).forEach(function (key) { return isEmpty(obj[key]) && delete obj[key]; }); };\nexports.removeEmpty = removeEmpty;\n//End Sanitization\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceAreaType = exports.CompanyType = void 0;\nvar CompanyType;\n(function (CompanyType) {\n CompanyType[\"DEALER\"] = \"dealer\";\n CompanyType[\"BRANCH\"] = \"branch\";\n})(CompanyType = exports.CompanyType || (exports.CompanyType = {}));\nvar ServiceAreaType;\n(function (ServiceAreaType) {\n ServiceAreaType[\"POLYGON\"] = \"polygon\";\n ServiceAreaType[\"CIRCLE\"] = \"circle\";\n})(ServiceAreaType = exports.ServiceAreaType || (exports.ServiceAreaType = {}));\n//# sourceMappingURL=company.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdminGrantsPreset = exports.DeveloperGrantsPreset = exports.BranchManagerGrantsPreset = exports.DealerGrantsPreset = exports.GrantDescriptions = exports.Grant = void 0;\nvar Grant;\n(function (Grant) {\n var Lead;\n (function (Lead) {\n Lead[\"READ\"] = \"lead.read\";\n Lead[\"READ_ANY\"] = \"lead.readAny\";\n Lead[\"CREATE\"] = \"lead.create\";\n Lead[\"CREATE_ANY\"] = \"lead.createAny\";\n Lead[\"UPDATE\"] = \"lead.update\";\n Lead[\"UPDATE_ANY\"] = \"lead.updateAny\";\n Lead[\"DELETE\"] = \"lead.delete\";\n Lead[\"DELETE_ANY\"] = \"lead.deleteAny\";\n Lead[\"MANUAL_MARK_CONVERTED\"] = \"lead.manualMarkConverted\";\n Lead[\"MANUAL_MARK_LOST\"] = \"lead.manualMarkLost\";\n })(Lead = Grant.Lead || (Grant.Lead = {}));\n var Report;\n (function (Report) {\n Report[\"READ\"] = \"report.read\";\n Report[\"READ_ANY\"] = \"report.readAny\";\n })(Report = Grant.Report || (Grant.Report = {}));\n var Order;\n (function (Order) {\n Order[\"READ\"] = \"order.read\";\n Order[\"READ_ANY\"] = \"order.readAny\";\n Order[\"CREATE\"] = \"order.create\";\n Order[\"UPDATE\"] = \"order.update\";\n Order[\"UPDATE_ANY\"] = \"order.updateAny\";\n Order[\"DELETE\"] = \"order.delete\";\n Order[\"PROCESS_ANY\"] = \"order.processAny\";\n })(Order = Grant.Order || (Grant.Order = {}));\n var Company;\n (function (Company) {\n Company[\"READ\"] = \"company.read\";\n Company[\"READ_ANY\"] = \"company.readAny\";\n Company[\"CREATE_ANY\"] = \"company.createAny\";\n Company[\"UPDATE\"] = \"company.update\";\n Company[\"UPDATE_ANY\"] = \"company.updateAny\";\n Company[\"DELETE_ANY\"] = \"company.deleteAny\";\n })(Company = Grant.Company || (Grant.Company = {}));\n var User;\n (function (User) {\n User[\"READ\"] = \"user.read\";\n User[\"READ_ANY\"] = \"user.readAny\";\n User[\"CREATE_ANY\"] = \"user.createAny\";\n User[\"UPDATE_ANY\"] = \"user.updateAny\";\n User[\"DELETE_ANY\"] = \"user.deleteAny\";\n })(User = Grant.User || (Grant.User = {}));\n var Product;\n (function (Product) {\n Product[\"READ\"] = \"product.read\";\n Product[\"READ_ANY\"] = \"product.readAny\";\n Product[\"CREATE_ANY\"] = \"product.createAny\";\n Product[\"UPDATE_ANY\"] = \"product.updateAny\";\n Product[\"DELETE_ANY\"] = \"product.deleteAny\";\n })(Product = Grant.Product || (Grant.Product = {}));\n var QuoteRequest;\n (function (QuoteRequest) {\n QuoteRequest[\"READ\"] = \"quoteRequest.read\";\n QuoteRequest[\"READ_ANY\"] = \"quoteRequest.readAny\";\n QuoteRequest[\"CREATE_ANY\"] = \"quoteRequest.createAny\";\n QuoteRequest[\"UPDATE\"] = \"quoteRequest.update\";\n QuoteRequest[\"UPDATE_ANY\"] = \"quoteRequest.updateAny\";\n QuoteRequest[\"DELETE_ANY\"] = \"quoteRequest.deleteAny\";\n QuoteRequest[\"AUTOASSIGN\"] = \"quoteRequest.autoAssign\";\n })(QuoteRequest = Grant.QuoteRequest || (Grant.QuoteRequest = {}));\n var Contact;\n (function (Contact) {\n Contact[\"READ\"] = \"contact.read\";\n Contact[\"READ_ANY\"] = \"contact.readAny\";\n Contact[\"CREATE_ANY\"] = \"contact.createAny\";\n Contact[\"UPDATE_ANY\"] = \"contact.updateAny\";\n Contact[\"DELETE_ANY\"] = \"contact.deleteAny\";\n })(Contact = Grant.Contact || (Grant.Contact = {}));\n var Finances;\n (function (Finances) {\n Finances[\"READ_ANY\"] = \"finances.readAny\";\n })(Finances = Grant.Finances || (Grant.Finances = {}));\n var Installs;\n (function (Installs) {\n Installs[\"READ_ANY\"] = \"installs.readAny\";\n Installs[\"UPDATE_ANY\"] = \"installs.updateAny\";\n Installs[\"READ\"] = \"installs.read\";\n Installs[\"UPDATE\"] = \"installs.update\";\n Installs[\"CREATE_ANY\"] = \"installs.createAny\";\n Installs[\"DELETE_ANY\"] = \"installs.deleteAny\";\n })(Installs = Grant.Installs || (Grant.Installs = {}));\n var TaxRules;\n (function (TaxRules) {\n TaxRules[\"READ_ANY\"] = \"taxRules.readAny\";\n TaxRules[\"UPDATE_ANY\"] = \"taxRules.updateAny\";\n TaxRules[\"CREATE_ANY\"] = \"taxRules.createAny\";\n TaxRules[\"DELETE_ANY\"] = \"taxRules.deleteAny\";\n })(TaxRules = Grant.TaxRules || (Grant.TaxRules = {}));\n var EmailPreferences;\n (function (EmailPreferences) {\n EmailPreferences[\"READ\"] = \"emailPreferences.read\";\n EmailPreferences[\"READ_ANY\"] = \"emailPreferences.readAny\";\n EmailPreferences[\"UPDATE\"] = \"emailPreferences.update\";\n EmailPreferences[\"UPDATE_ANY\"] = \"emailPreferences.updateAny\";\n EmailPreferences[\"CREATE_ANY\"] = \"emailPreferences.createAny\";\n })(EmailPreferences = Grant.EmailPreferences || (Grant.EmailPreferences = {}));\n})(Grant = exports.Grant || (exports.Grant = {}));\nexports.GrantDescriptions = (_a = {},\n _a[Grant.Lead.READ] = \"Permission to view leads assigned to user's company. You do need this as well as the Quote Request Read Grant to have full access to your leads\",\n _a[Grant.Lead.READ_ANY] = \"Permission to view leads assigned to any company\",\n _a[Grant.Lead.UPDATE] = \"Permission to update leads assigned to user's company\",\n _a[Grant.Lead.UPDATE_ANY] = \"Permission to update leads assigned to any company\",\n _a[Grant.Lead.CREATE] = \"Permission to create leads assigned to user's company\",\n _a[Grant.Lead.CREATE_ANY] = \"Permission to create leads assigned to any company\",\n _a[Grant.Lead.DELETE] = \"Permission to delete leads assigned to user's company\",\n _a[Grant.Lead.DELETE_ANY] = \"Permission to delete leads assigned to any company\",\n _a[Grant.Lead.MANUAL_MARK_LOST] = \"Permission to manually mark a lead assigned to the branch as lost\",\n _a[Grant.Lead.MANUAL_MARK_CONVERTED] = \"BRANCH MANAGER ONLY: Permission to manually mark a lead assigned to the branch as converted\",\n _a[Grant.Report.READ] = \"Permission to view reports (analytics dashboard) assigned to user's company\",\n _a[Grant.Report.READ_ANY] = \"Permission to view reports (analytics dashboard) assigned to any company\",\n _a[Grant.Order.READ] = \"Permission to view orders from user's company\",\n _a[Grant.Order.READ_ANY] = \"Permission to view orders from any company\",\n _a[Grant.Order.CREATE] = \"Permission to create orders for user's company\",\n _a[Grant.Order.UPDATE] = \"Permission to update orders for user's company\",\n _a[Grant.Order.UPDATE_ANY] = \"Permission to update orders from any company\",\n _a[Grant.Order.DELETE] = \"Permission to delete orders from user's company\",\n _a[Grant.Company.READ] = \"Permission to view company information (dealer, branch) of which the user is assigned\",\n _a[Grant.Company.READ_ANY] = \"Permission to view company information (dealer, branch) of any company\",\n _a[Grant.Company.UPDATE] = \"Permission to update company information (dealer, branch) of which the user is assigned\",\n _a[Grant.Company.UPDATE_ANY] = \"Permission to update company information (dealer, branch) of any company\",\n _a[Grant.Company.CREATE_ANY] = \"Permission to create a new company (dealer, branch)\",\n _a[Grant.Company.DELETE_ANY] = \"Permission to delete any company (dealer, branch)\",\n _a[Grant.User.READ] = \"Permission to view users assigned to user's company\",\n _a[Grant.User.READ_ANY] = \"Permission to view users assigned to any company\",\n _a[Grant.User.UPDATE_ANY] = \"Permission to update users assigned to any company\",\n _a[Grant.User.CREATE_ANY] = \"Permission to create users assigned to any company\",\n _a[Grant.User.DELETE_ANY] = \"Permission to delete users assigned to any company\",\n _a[Grant.Product.READ] = \"Permission to view products\",\n _a[Grant.Product.READ_ANY] = \"Permission to view all products, including unlisted products\",\n _a[Grant.Product.UPDATE_ANY] = \"Permission to update products\",\n _a[Grant.Product.CREATE_ANY] = \"Permission to create products\",\n _a[Grant.Product.DELETE_ANY] = \"Permission to delete products\",\n _a[Grant.QuoteRequest.READ] = \"Permission to view Quote Requests (Leads) assigned to user's company. You do you need this as well as the Lead Read Grant to have full access to your leads\",\n _a[Grant.QuoteRequest.READ_ANY] = \"Permission to view quote request\",\n _a[Grant.QuoteRequest.UPDATE] = \"Permission for a dealer to be able to to edit a quote request when the lead is assigned to them. Only gives permission to edit optional fields.\",\n _a[Grant.QuoteRequest.UPDATE_ANY] = \"Allows user to edit optional fields from any quote request.\",\n _a[Grant.QuoteRequest.CREATE_ANY] = \"Doesn't do anything. This grant will probably be deleted\",\n _a[Grant.QuoteRequest.DELETE_ANY] = \"Permission to delete a quote request, including leads associated with the quote request\",\n _a[Grant.Contact.READ] = \"DISABLED: Permission to view contacts of user's company's leads\",\n _a[Grant.Contact.READ_ANY] = \"Permission to view all contacts\",\n _a[Grant.Contact.UPDATE_ANY] = \"DISABLED: Permission to update any contact\",\n _a[Grant.Contact.CREATE_ANY] = \"DISABLED: Permission to create contacts products\",\n _a[Grant.Contact.DELETE_ANY] = \"DISABLED: Permission to delete any contact\",\n // [Grant.Finances.READ_ANY]: \"Permission to view all finance records\",\n _a[Grant.Installs.READ] = \"Permission to view paid install agreements of user's branch\",\n _a[Grant.Installs.READ_ANY] = \"Permission to view paid install agreements of any branch\",\n _a[Grant.Installs.UPDATE] = \"Permission to update paid install agreements of user's branch\",\n _a[Grant.Installs.UPDATE_ANY] = \"Permisison to update paid install agreements of any branch\",\n _a[Grant.Installs.CREATE_ANY] = \"DEVELOPER ONLY: Permission to manually add an install from a signed pandadoc\",\n _a[Grant.Installs.DELETE_ANY] = \"DEVELOPER ONLY: Permission to manually delete an install from a signed pandadoc\",\n _a[Grant.TaxRules.READ_ANY] = \"DEVELOPER ONLY: Permission to view tax rules for everlight branches\",\n _a[Grant.TaxRules.UPDATE_ANY] = \"DEVELOPER ONLY: Permission to update tax rules for everlight branches\",\n _a[Grant.TaxRules.CREATE_ANY] = \"DEVELOPER ONLY: Permission to create tax rules for everlight branches\",\n _a[Grant.TaxRules.DELETE_ANY] = \"DEVELOPER ONLY: Permission to delete tax rules for everlight branches\",\n _a[Grant.EmailPreferences.READ] = \"Permission to view email preferences of users within company\",\n _a[Grant.EmailPreferences.READ_ANY] = \"Permission to view anyone's email preferences\",\n _a[Grant.EmailPreferences.UPDATE] = \"Permission to update email preferences of users within company\",\n _a[Grant.EmailPreferences.UPDATE_ANY] = \"Permission to update anyone's email preferences\",\n _a[Grant.EmailPreferences.CREATE_ANY] = \"DEVELOPER ONLY: creates default email preferences for all existing users without email preferences\",\n _a[Grant.QuoteRequest.AUTOASSIGN] = \"DEVELOPER ONLY: permission to run a auto assignment scan on all quote requests\",\n _a[Grant.Order.PROCESS_ANY] = \"DEVELOPER ONLY: Permission to manually process (verify payment was made) orders from any company\",\n _a);\nexports.DealerGrantsPreset = [\n Grant.Lead.READ,\n Grant.Lead.CREATE,\n Grant.Lead.UPDATE,\n Grant.Lead.MANUAL_MARK_LOST,\n Grant.Report.READ,\n Grant.Order.READ,\n Grant.Order.CREATE,\n Grant.Order.UPDATE,\n Grant.Company.READ,\n Grant.Company.UPDATE,\n Grant.QuoteRequest.READ,\n Grant.QuoteRequest.UPDATE,\n Grant.EmailPreferences.READ,\n Grant.EmailPreferences.UPDATE,\n Grant.User.READ,\n Grant.Product.READ,\n Grant.Contact.READ\n];\nexports.BranchManagerGrantsPreset = [\n Grant.Lead.READ,\n Grant.Lead.CREATE,\n Grant.Lead.UPDATE,\n Grant.Lead.MANUAL_MARK_CONVERTED,\n Grant.Lead.MANUAL_MARK_LOST,\n Grant.Report.READ,\n Grant.Order.READ,\n Grant.Order.CREATE,\n Grant.Order.UPDATE,\n Grant.Company.READ,\n Grant.Company.UPDATE,\n Grant.QuoteRequest.READ,\n Grant.QuoteRequest.UPDATE,\n Grant.EmailPreferences.READ,\n Grant.EmailPreferences.UPDATE,\n Grant.User.READ,\n Grant.Product.READ,\n Grant.Contact.READ,\n Grant.Installs.READ,\n Grant.Installs.UPDATE\n];\nexports.DeveloperGrantsPreset = [\n Grant.Lead.READ,\n Grant.Lead.READ_ANY,\n Grant.Lead.CREATE,\n Grant.Lead.CREATE_ANY,\n Grant.Lead.DELETE_ANY,\n Grant.Lead.DELETE,\n Grant.Lead.UPDATE_ANY,\n Grant.Lead.UPDATE,\n Grant.Lead.MANUAL_MARK_CONVERTED,\n Grant.Lead.MANUAL_MARK_LOST,\n Grant.Report.READ,\n Grant.Report.READ_ANY,\n Grant.Order.READ,\n Grant.Order.READ_ANY,\n Grant.Order.CREATE,\n Grant.Order.UPDATE,\n Grant.Order.UPDATE_ANY,\n Grant.Order.DELETE,\n Grant.Company.READ,\n Grant.Company.READ_ANY,\n Grant.Company.CREATE_ANY,\n Grant.Company.UPDATE,\n Grant.Company.UPDATE_ANY,\n Grant.Company.DELETE_ANY,\n Grant.User.READ,\n Grant.User.READ_ANY,\n Grant.User.CREATE_ANY,\n Grant.User.UPDATE_ANY,\n Grant.User.DELETE_ANY,\n Grant.Product.READ,\n Grant.Product.READ_ANY,\n Grant.Product.CREATE_ANY,\n Grant.Product.UPDATE_ANY,\n Grant.Product.DELETE_ANY,\n Grant.QuoteRequest.READ,\n Grant.QuoteRequest.READ_ANY,\n Grant.QuoteRequest.CREATE_ANY,\n Grant.QuoteRequest.UPDATE,\n Grant.QuoteRequest.UPDATE_ANY,\n Grant.QuoteRequest.DELETE_ANY,\n Grant.Contact.READ,\n Grant.Contact.READ_ANY,\n Grant.Contact.CREATE_ANY,\n Grant.Contact.UPDATE_ANY,\n Grant.Contact.DELETE_ANY,\n Grant.Finances.READ_ANY,\n Grant.Order.PROCESS_ANY,\n Grant.QuoteRequest.AUTOASSIGN,\n Grant.Installs.READ,\n Grant.Installs.READ_ANY,\n Grant.Installs.UPDATE,\n Grant.Installs.UPDATE_ANY,\n Grant.Installs.CREATE_ANY,\n Grant.Installs.DELETE_ANY,\n Grant.TaxRules.READ_ANY,\n Grant.TaxRules.UPDATE_ANY,\n Grant.TaxRules.CREATE_ANY,\n Grant.TaxRules.DELETE_ANY,\n Grant.EmailPreferences.READ,\n Grant.EmailPreferences.READ_ANY,\n Grant.EmailPreferences.UPDATE,\n Grant.EmailPreferences.UPDATE_ANY,\n Grant.EmailPreferences.CREATE_ANY, //Only for developers\n];\nexports.AdminGrantsPreset = [\n Grant.Lead.READ,\n Grant.Lead.READ_ANY,\n Grant.Lead.CREATE,\n Grant.Lead.CREATE_ANY,\n Grant.Lead.DELETE_ANY,\n Grant.Lead.DELETE,\n Grant.Lead.UPDATE_ANY,\n Grant.Lead.UPDATE,\n Grant.Lead.MANUAL_MARK_CONVERTED,\n Grant.Lead.MANUAL_MARK_LOST,\n Grant.Report.READ,\n Grant.Report.READ_ANY,\n Grant.Order.READ,\n Grant.Order.READ_ANY,\n Grant.Order.CREATE,\n Grant.Order.UPDATE,\n Grant.Order.UPDATE_ANY,\n Grant.Order.DELETE,\n Grant.Company.READ,\n Grant.Company.READ_ANY,\n Grant.Company.CREATE_ANY,\n Grant.Company.UPDATE,\n Grant.Company.UPDATE_ANY,\n Grant.Company.DELETE_ANY,\n Grant.User.READ,\n Grant.User.READ_ANY,\n Grant.User.CREATE_ANY,\n Grant.User.UPDATE_ANY,\n Grant.User.DELETE_ANY,\n Grant.Product.READ,\n Grant.Product.READ_ANY,\n Grant.Product.CREATE_ANY,\n Grant.Product.UPDATE_ANY,\n Grant.Product.DELETE_ANY,\n Grant.QuoteRequest.READ,\n Grant.QuoteRequest.READ_ANY,\n Grant.QuoteRequest.CREATE_ANY,\n Grant.QuoteRequest.UPDATE,\n Grant.QuoteRequest.UPDATE_ANY,\n Grant.QuoteRequest.DELETE_ANY,\n Grant.Contact.READ,\n Grant.Contact.READ_ANY,\n Grant.Contact.CREATE_ANY,\n Grant.Contact.UPDATE_ANY,\n Grant.Contact.DELETE_ANY,\n Grant.Finances.READ_ANY,\n Grant.Installs.READ,\n Grant.Installs.READ_ANY,\n Grant.Installs.UPDATE,\n Grant.Installs.UPDATE_ANY,\n Grant.EmailPreferences.READ,\n Grant.EmailPreferences.READ_ANY,\n Grant.EmailPreferences.UPDATE,\n Grant.EmailPreferences.UPDATE_ANY,\n];\n//# sourceMappingURL=grants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DistanceUnit = exports.GeoPointType = exports.BuildingType = exports.FinancingInterest = exports.InstallationType = exports.ProductLine = exports.float = exports.int = void 0;\nfunction int(val) {\n if (!Number.isInteger(val))\n throw new Error(\"Value is not an integer\");\n return val;\n}\nexports.int = int;\n(function (int) {\n function parse(val) {\n var num = parseInt(val);\n if (isNaN(num)) {\n throw new Error(\"Unable to parse int\");\n }\n return num;\n }\n int.parse = parse;\n function tryParse(val) {\n try {\n return parse(val);\n }\n catch (_a) {\n return undefined;\n }\n }\n int.tryParse = tryParse;\n function round(val) {\n return int(Math.round(val));\n }\n int.round = round;\n function ceil(val) {\n return int(Math.ceil(val));\n }\n int.ceil = ceil;\n function floor(val) {\n return int(Math.floor(val));\n }\n int.floor = floor;\n})(int = exports.int || (exports.int = {}));\nfunction float(val) {\n return val;\n}\nexports.float = float;\n(function (float) {\n function parse(val) {\n var num = parseFloat(val);\n if (isNaN(num)) {\n throw new Error(\"Unable to parse float\");\n }\n return num;\n }\n float.parse = parse;\n function tryParse(val) {\n try {\n return parse(val);\n }\n catch (_a) {\n return undefined;\n }\n }\n float.tryParse = tryParse;\n})(float = exports.float || (exports.float = {}));\nvar ProductLine;\n(function (ProductLine) {\n ProductLine[\"CLASSIC\"] = \"classic\";\n ProductLine[\"COLOR_CHANGING\"] = \"color_changing\";\n})(ProductLine = exports.ProductLine || (exports.ProductLine = {}));\nvar InstallationType;\n(function (InstallationType) {\n InstallationType[\"PROFESSIONAL\"] = \"professional\";\n InstallationType[\"DIY\"] = \"diy\";\n})(InstallationType = exports.InstallationType || (exports.InstallationType = {}));\nvar FinancingInterest;\n(function (FinancingInterest) {\n FinancingInterest[\"YES\"] = \"yes\";\n FinancingInterest[\"NO\"] = \"no\";\n FinancingInterest[\"DEPENDS\"] = \"depends\";\n})(FinancingInterest = exports.FinancingInterest || (exports.FinancingInterest = {}));\nvar BuildingType;\n(function (BuildingType) {\n BuildingType[\"RESIDENTIAL\"] = \"residential\";\n BuildingType[\"COMMERCIAL\"] = \"commercial\";\n BuildingType[\"MUNICIPAL\"] = \"municipal\";\n BuildingType[\"INDUSTRIAL\"] = \"industrial\";\n})(BuildingType = exports.BuildingType || (exports.BuildingType = {}));\nvar GeoPointType;\n(function (GeoPointType) {\n GeoPointType[\"APPROXIMATE\"] = \"APPROXIMATE\";\n GeoPointType[\"GEOMETRIC_CENTER\"] = \"GEOMETRIC_CENTER\";\n GeoPointType[\"INTERPOLATED\"] = \"RANGE_INTERPOLATED\";\n GeoPointType[\"ROOFTOP\"] = \"ROOFTOP\";\n GeoPointType[\"UNKNOWN\"] = \"UNKNOWN\";\n})(GeoPointType = exports.GeoPointType || (exports.GeoPointType = {}));\nvar DistanceUnit;\n(function (DistanceUnit) {\n DistanceUnit[\"METERS\"] = \"m\";\n DistanceUnit[\"MILES\"] = \"mi\";\n})(DistanceUnit = exports.DistanceUnit || (exports.DistanceUnit = {}));\n//# sourceMappingURL=primitives.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DimensionalUnit = exports.WeightUnit = void 0;\nvar WeightUnit;\n(function (WeightUnit) {\n WeightUnit[\"POUND\"] = \"lb\";\n WeightUnit[\"OUNCE\"] = \"oz\";\n WeightUnit[\"KILOGRAM\"] = \"kg\";\n WeightUnit[\"GRAM\"] = \"g\";\n})(WeightUnit = exports.WeightUnit || (exports.WeightUnit = {}));\nvar DimensionalUnit;\n(function (DimensionalUnit) {\n DimensionalUnit[\"INCH\"] = \"in\";\n DimensionalUnit[\"CENTIMETER\"] = \"cm\";\n})(DimensionalUnit = exports.DimensionalUnit || (exports.DimensionalUnit = {}));\n//# sourceMappingURL=product.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuoteRequestOrigin = void 0;\nvar QuoteRequestOrigin;\n(function (QuoteRequestOrigin) {\n QuoteRequestOrigin[\"WEBSITE_FORM\"] = \"website_form\";\n QuoteRequestOrigin[\"WEBSITE_FORM_SHORTENED\"] = \"website_form_shortened\";\n QuoteRequestOrigin[\"DEALER_MANUAL_ENTRY\"] = \"dealer_manual_entry\";\n QuoteRequestOrigin[\"PHONE_CALL_MANUAL_ENTRY\"] = \"phone_call_manual_entry\";\n})(QuoteRequestOrigin = exports.QuoteRequestOrigin || (exports.QuoteRequestOrigin = {}));\n//# sourceMappingURL=quote-request.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BookingStatus = exports.BookingWebhookType = void 0;\nvar BookingWebhookType;\n(function (BookingWebhookType) {\n BookingWebhookType[\"BOOKING_CREATED\"] = \"booking.created\";\n BookingWebhookType[\"BOOKING_UPDATED\"] = \"booking.updated\";\n})(BookingWebhookType = exports.BookingWebhookType || (exports.BookingWebhookType = {}));\nvar BookingStatus;\n(function (BookingStatus) {\n BookingStatus[\"PENDING\"] = \"pending\";\n BookingStatus[\"CANCELLED_BY_CUSTOMER\"] = \"cancelled_by_customer\";\n BookingStatus[\"CANCELLED_BY_SELLER\"] = \"cancelled_by_seller\";\n BookingStatus[\"DECLINED\"] = \"declined\";\n BookingStatus[\"ACCEPTED\"] = \"accepted\";\n BookingStatus[\"NO_SHOW\"] = \"no_show\";\n})(BookingStatus = exports.BookingStatus || (exports.BookingStatus = {}));\n//# sourceMappingURL=square-appointments.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PandaDocStatus = void 0;\nvar PandaDocStatus;\n(function (PandaDocStatus) {\n PandaDocStatus[\"UPLOADED\"] = \"uploaded\";\n PandaDocStatus[\"DRAFT\"] = \"draft\";\n PandaDocStatus[\"SENT\"] = \"sent\";\n PandaDocStatus[\"VIEWED\"] = \"viewed\";\n PandaDocStatus[\"WAITING_APPROVAL\"] = \"waiting_approval\";\n PandaDocStatus[\"REJECTED\"] = \"rejected\";\n PandaDocStatus[\"APPROVED\"] = \"approved\";\n PandaDocStatus[\"WAITING_PAY\"] = \"waiting_pay\";\n PandaDocStatus[\"PAID\"] = \"paid\";\n PandaDocStatus[\"COMPLETED\"] = \"completed\";\n PandaDocStatus[\"VOIDED\"] = \"voided\";\n PandaDocStatus[\"DECLINED\"] = \"declined\";\n})(PandaDocStatus = exports.PandaDocStatus || (exports.PandaDocStatus = {}));\n//# sourceMappingURL=pandadoc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertState = exports.formatAddress = exports.convertDate = exports.formatInstallationType = exports.formatBuildingType = exports.formatProductLine = exports.capitalize = exports.formatMoney = exports.formatWholeMoney = exports.formatCloseRate = exports.cleanPhoneNumber = exports.formatPhoneNumber = void 0;\nvar abstractions_1 = require(\"../abstractions\");\nfunction formatPhoneNumber(phoneNumber) {\n var cleaned = (\"\" + phoneNumber).replace(/\\D/g, \"\");\n var match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{4})$/);\n if (match) {\n var intlCode = match[1] ? \"+1 \" : \"\";\n return [intlCode, \"(\", match[2], \")\", match[3], \"-\", match[4]].join(\"\");\n }\n return \"\";\n}\nexports.formatPhoneNumber = formatPhoneNumber;\nfunction cleanPhoneNumber(phoneNumber) {\n var numbers = phoneNumber.match(/\\d/g);\n if (!numbers)\n return undefined;\n if (numbers.length === 11)\n return numbers.slice(1, 11).join(\"\");\n if (numbers.length === 10)\n return numbers.join(\"\");\n return undefined;\n}\nexports.cleanPhoneNumber = cleanPhoneNumber;\nfunction formatCloseRate(leads, customers) {\n return ((customers / leads) * 100).toFixed(2) + \"%\";\n}\nexports.formatCloseRate = formatCloseRate;\nfunction formatWholeMoney(amount) {\n return \"$\" + new Intl.NumberFormat().format(Math.round(amount / 100));\n}\nexports.formatWholeMoney = formatWholeMoney;\nfunction formatMoney(amount) {\n var isNegative = amount < 0;\n amount = Math.abs(amount);\n var formatWithoutComma = (amount / 100).toFixed(2);\n var formatWithComma = formatWithoutComma.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"); //Adds comma to every 3 to the left of decimal\n if (isNegative) {\n return \"-$\" + formatWithComma;\n }\n else {\n return \"$\" + formatWithComma;\n }\n}\nexports.formatMoney = formatMoney;\nfunction capitalize(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nexports.capitalize = capitalize;\nfunction formatProductLine(productLine) {\n switch (productLine) {\n case abstractions_1.ProductLine.CLASSIC:\n return \"Classic\";\n case abstractions_1.ProductLine.COLOR_CHANGING:\n return \"Color Changing\";\n }\n}\nexports.formatProductLine = formatProductLine;\nfunction formatBuildingType(buildingType) {\n switch (buildingType) {\n case abstractions_1.BuildingType.RESIDENTIAL:\n return \"Residential\";\n case abstractions_1.BuildingType.COMMERCIAL:\n return \"Commercial\";\n case abstractions_1.BuildingType.INDUSTRIAL:\n return \"Industrial\";\n case abstractions_1.BuildingType.MUNICIPAL:\n return \"Municipal\";\n }\n}\nexports.formatBuildingType = formatBuildingType;\nfunction formatInstallationType(installationType) {\n switch (installationType) {\n case abstractions_1.InstallationType.PROFESSIONAL:\n return \"Professional\";\n case abstractions_1.InstallationType.DIY:\n return \"DIY\";\n }\n}\nexports.formatInstallationType = formatInstallationType;\nfunction convertDate(date) {\n var yyyy = date.getFullYear().toString();\n var mm = (date.getMonth() + 1).toString();\n var dd = date.getDate().toString();\n var mmChars = mm.split(\"\");\n var ddChars = dd.split(\"\");\n return yyyy + \"-\" + (mmChars[1] ? mm : \"0\" + mmChars[0]) + \"-\" + (ddChars[1] ? dd : \"0\" + ddChars[0]);\n}\nexports.convertDate = convertDate;\nfunction formatAddress(address) {\n var streetAddress = address.streetAddress, city = address.city, state = address.state, zip = address.zip, country = address.country;\n return streetAddress + \", \" + city + \", \" + state + \", \" + zip + \" \" + country;\n}\nexports.formatAddress = formatAddress;\nfunction convertState(input, to) {\n var states = [\n ['Arizona', 'AZ'],\n ['Alabama', 'AL'],\n ['Alaska', 'AK'],\n ['Arkansas', 'AR'],\n ['California', 'CA'],\n ['Colorado', 'CO'],\n ['Connecticut', 'CT'],\n ['Delaware', 'DE'],\n ['Florida', 'FL'],\n ['Georgia', 'GA'],\n ['Hawaii', 'HI'],\n ['Idaho', 'ID'],\n ['Illinois', 'IL'],\n ['Indiana', 'IN'],\n ['Iowa', 'IA'],\n ['Kansas', 'KS'],\n ['Kentucky', 'KY'],\n ['Louisiana', 'LA'],\n ['Maine', 'ME'],\n ['Maryland', 'MD'],\n ['Massachusetts', 'MA'],\n ['Michigan', 'MI'],\n ['Minnesota', 'MN'],\n ['Mississippi', 'MS'],\n ['Missouri', 'MO'],\n ['Montana', 'MT'],\n ['Nebraska', 'NE'],\n ['Nevada', 'NV'],\n ['New Hampshire', 'NH'],\n ['New Jersey', 'NJ'],\n ['New Mexico', 'NM'],\n ['New York', 'NY'],\n ['North Carolina', 'NC'],\n ['North Dakota', 'ND'],\n ['Ohio', 'OH'],\n ['Oklahoma', 'OK'],\n ['Oregon', 'OR'],\n ['Pennsylvania', 'PA'],\n ['Rhode Island', 'RI'],\n ['South Carolina', 'SC'],\n ['South Dakota', 'SD'],\n ['Tennessee', 'TN'],\n ['Texas', 'TX'],\n ['Utah', 'UT'],\n ['Vermont', 'VT'],\n ['Virginia', 'VA'],\n ['Washington', 'WA'],\n ['West Virginia', 'WV'],\n ['Wisconsin', 'WI'],\n ['Wyoming', 'WY'],\n ];\n if (to == 'abbr') {\n input = input.replace(/\\w\\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });\n for (var i = 0; i < states.length; i++) {\n if (states[i][0] == input) {\n return (states[i][1]);\n }\n }\n }\n else if (to == 'name') {\n input = input.toUpperCase();\n for (var i = 0; i < states.length; i++) {\n if (states[i][1] == input) {\n return (states[i][0]);\n }\n }\n }\n}\nexports.convertState = convertState;\n//# sourceMappingURL=formatters.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertDistance = exports.convertWeight = exports.convertDimension = void 0;\nvar abstractions_1 = require(\"../abstractions\");\nfunction convertDimension(startingUnits, targetUnits, startingValue) {\n var value = startingValue;\n if (startingUnits === targetUnits)\n return value;\n // Convert from any unit to cm\n if (targetUnits === abstractions_1.DimensionalUnit.CENTIMETER) {\n switch (startingUnits) {\n case abstractions_1.DimensionalUnit.INCH:\n return value * 2.54;\n }\n }\n // Always convert to cm first\n if (startingUnits !== abstractions_1.DimensionalUnit.CENTIMETER)\n value = convertDimension(startingUnits, abstractions_1.DimensionalUnit.CENTIMETER, value);\n // Convert cm to any target units\n switch (targetUnits) {\n case abstractions_1.DimensionalUnit.INCH:\n return value / 2.54;\n }\n throw new Error(\"Units were invalid: Start: \" + startingUnits + \", Target: \" + targetUnits);\n}\nexports.convertDimension = convertDimension;\nfunction convertWeight(startingUnits, targetUnits, startingValue) {\n var value = startingValue;\n if (startingUnits === targetUnits)\n return value;\n if (targetUnits === abstractions_1.WeightUnit.GRAM) {\n switch (startingUnits) {\n case abstractions_1.WeightUnit.POUND:\n return value * 453.59237;\n case abstractions_1.WeightUnit.OUNCE:\n return value * 28.34952;\n case abstractions_1.WeightUnit.KILOGRAM:\n return value * 1000;\n }\n throw new Error(\"Unsupported starting units: \" + startingUnits);\n }\n if (startingUnits !== abstractions_1.WeightUnit.GRAM)\n value = convertWeight(startingUnits, abstractions_1.WeightUnit.GRAM, value);\n // Convert g to any target units\n switch (targetUnits) {\n case abstractions_1.WeightUnit.POUND:\n return value / 453.59237;\n case abstractions_1.WeightUnit.OUNCE:\n return value / 28.34952;\n case abstractions_1.WeightUnit.KILOGRAM:\n return value / 1000;\n }\n throw new Error(\"Units were invalid: Start: \" + startingUnits + \", Target: \" + targetUnits);\n}\nexports.convertWeight = convertWeight;\nfunction convertDistance(startingUnits, targetUnits, startingValue) {\n var value = startingValue;\n if (startingUnits === targetUnits)\n return value;\n // Convert from any unit to Meters\n if (targetUnits === abstractions_1.DistanceUnit.METERS) {\n switch (startingUnits) {\n case abstractions_1.DistanceUnit.MILES:\n return value * 1609.344;\n }\n throw new Error(\"Units were invalid: Start: \" + startingUnits + \", Target: \" + targetUnits);\n }\n // Always convert to meters first\n if (startingUnits !== abstractions_1.DistanceUnit.METERS)\n value = convertDistance(startingUnits, abstractions_1.DistanceUnit.METERS, value);\n // Convert meters to any target units\n switch (targetUnits) {\n case abstractions_1.DistanceUnit.MILES:\n return value / 1609.344;\n }\n throw new Error(\"Units were invalid: Start: \" + startingUnits + \", Target: \" + targetUnits);\n}\nexports.convertDistance = convertDistance;\n//# sourceMappingURL=unit-conversion.js.map","\"use strict\";\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.handleSort = void 0;\nvar utilities_1 = require(\"./utilities\");\nfunction handleSort(props, filteredArray, params) {\n var sorted = __spreadArray([], filteredArray);\n var i = 0;\n if (params) {\n while (props[i]) {\n var temp = sorted.sort(function (a, b) { return a[params][props[i]].localeCompare(b[params][props[i]]); });\n sorted = temp;\n i++;\n }\n }\n else {\n while (props[i]) {\n if (typeof sorted[0][props[i]] === \"number\") {\n var temp = sorted.sort(function (a, b) { return a[props[i]] - b[props[i]]; });\n sorted = temp;\n }\n else if (utilities_1.isDate(sorted[0][props[i]])) {\n var temp = sorted.sort(function (a, b) { var _a, _b; return (_a = a[props[i]]) === null || _a === void 0 ? void 0 : _a.toLocaleString().localeCompare((_b = b[props[i]]) === null || _b === void 0 ? void 0 : _b.toLocaleString()); });\n sorted = temp;\n }\n else if (typeof sorted[0][props[i]] === \"string\") {\n var temp = sorted.sort(function (a, b) { var _a; return (_a = a[props[i]]) === null || _a === void 0 ? void 0 : _a.localeCompare(b[props[i]]); });\n sorted = temp;\n }\n i++;\n }\n }\n return sorted;\n}\nexports.handleSort = handleSort;\n//# sourceMappingURL=sort.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cartesianProduct = void 0;\nfunction cartesianProduct(arr) {\n return arr.reduce(function (a, b) {\n return a\n .map(function (x) {\n return b.map(function (y) {\n return x.concat([y]);\n });\n })\n .reduce(function (a, b) {\n return a.concat(b);\n }, []);\n }, [[]]);\n}\nexports.cartesianProduct = cartesianProduct;\n//# sourceMappingURL=cartesian-product.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isZipCode = void 0;\nfunction isZipCode(zipcode) {\n var regexp = /^[0-9]{5}(?:-[0-9]{4})?$/;\n if (regexp.test(zipcode)) {\n return true;\n }\n else {\n return false;\n }\n}\nexports.isZipCode = isZipCode;\n//# sourceMappingURL=isUSZipCode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.USStates = void 0;\nexports.USStates = [\n { abbr: \"AL\", name: \"Alabama\" },\n { abbr: \"AK\", name: \"Alaska\" },\n { abbr: \"AS\", name: \"American Samoa\" },\n { abbr: \"AZ\", name: \"Arizona\" },\n { abbr: \"AR\", name: \"Arkansas\" },\n { abbr: \"CA\", name: \"California\" },\n { abbr: \"CO\", name: \"Colorado\" },\n { abbr: \"CT\", name: \"Connecticut\" },\n { abbr: \"DE\", name: \"Delaware\" },\n { abbr: \"DC\", name: \"District Of Columbia\" },\n { abbr: \"FM\", name: \"Federated States Of Micronesia\" },\n { abbr: \"FL\", name: \"Florida\" },\n { abbr: \"GA\", name: \"Georgia\" },\n { abbr: \"GU\", name: \"Guam\" },\n { abbr: \"HI\", name: \"Hawaii\" },\n { abbr: \"ID\", name: \"Idaho\" },\n { abbr: \"IL\", name: \"Illinois\" },\n { abbr: \"IN\", name: \"Indiana\" },\n { abbr: \"IA\", name: \"Iowa\" },\n { abbr: \"KS\", name: \"Kansas\" },\n { abbr: \"KY\", name: \"Kentucky\" },\n { abbr: \"LA\", name: \"Louisiana\" },\n { abbr: \"ME\", name: \"Maine\" },\n { abbr: \"MH\", name: \"Marshall Islands\" },\n { abbr: \"MD\", name: \"Maryland\" },\n { abbr: \"MA\", name: \"Massachusetts\" },\n { abbr: \"MI\", name: \"Michigan\" },\n { abbr: \"MN\", name: \"Minnesota\" },\n { abbr: \"MS\", name: \"Mississippi\" },\n { abbr: \"MO\", name: \"Missouri\" },\n { abbr: \"MT\", name: \"Montana\" },\n { abbr: \"NE\", name: \"Nebraska\" },\n { abbr: \"NV\", name: \"Nevada\" },\n { abbr: \"NH\", name: \"New Hampshire\" },\n { abbr: \"NJ\", name: \"New Jersey\" },\n { abbr: \"NM\", name: \"New Mexico\" },\n { abbr: \"NY\", name: \"New York\" },\n { abbr: \"NC\", name: \"North Carolina\" },\n { abbr: \"ND\", name: \"North Dakota\" },\n { abbr: \"MP\", name: \"Northern Mariana Islands\" },\n { abbr: \"OH\", name: \"Ohio\" },\n { abbr: \"OK\", name: \"Oklahoma\" },\n { abbr: \"OR\", name: \"Oregon\" },\n { abbr: \"PW\", name: \"Palau\" },\n { abbr: \"PA\", name: \"Pennsylvania\" },\n { abbr: \"PR\", name: \"Puerto Rico\" },\n { abbr: \"RI\", name: \"Rhode Island\" },\n { abbr: \"SC\", name: \"South Carolina\" },\n { abbr: \"SD\", name: \"South Dakota\" },\n { abbr: \"TN\", name: \"Tennessee\" },\n { abbr: \"TX\", name: \"Texas\" },\n { abbr: \"UT\", name: \"Utah\" },\n { abbr: \"VT\", name: \"Vermont\" },\n { abbr: \"VI\", name: \"Virgin Islands\" },\n { abbr: \"VA\", name: \"Virginia\" },\n { abbr: \"WA\", name: \"Washington\" },\n { abbr: \"WV\", name: \"West Virginia\" },\n { abbr: \"WI\", name: \"Wisconsin\" },\n { abbr: \"WY\", name: \"Wyoming\" },\n];\n//# sourceMappingURL=USStates.js.map","\"use strict\";\n// export January Date.today().addDays(-30)\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetDate = void 0;\nvar GetDate = /** @class */ (function () {\n function GetDate() {\n }\n /**\n * Returns 2021 at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.portalsBirth = function () {\n var month = new Date(GetDate.portalStartYear, GetDate.portalStartMonth, GetDate.portalStartDay, 0, 0, 0, 0);\n return month;\n };\n GetDate.everlightsBirth = function () {\n //this is a day that's guarenteed to be before any quote;\n var month = new Date(2010, GetDate.portalStartMonth, GetDate.portalStartDay, 0, 0, 0, 0);\n return month;\n };\n GetDate.isBeforePortalsBirth = function (date) {\n return date < GetDate.portalsBirth();\n };\n /**\n * Returns today's date at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.today = function () {\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n return today;\n };\n /**\n * Returns today's date at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.tonight = function () {\n var tonight = new Date();\n tonight.setHours(23, 59, 59, 0);\n return tonight;\n };\n /**\n * Returns yesterdays's date at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.yesterday = function () {\n var date = new Date();\n date.setDate(date.getDate() - 1);\n date.setHours(0, 0, 0, 0);\n return date;\n };\n /**\n * Returns yesterdays's date at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.twoDaysAgo = function () {\n var date = new Date();\n date.setDate(date.getDate() - 2);\n date.setHours(0, 0, 0, 0);\n return date;\n };\n /**\n * Returns tomorrow's date at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.tomorrow = function () {\n var today = new Date();\n var tomorrow = new Date(today);\n tomorrow.setDate(tomorrow.getDate() + 1);\n return tomorrow;\n };\n /**\n * Returns the 1st of January of next year at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.nextJanuary = function (year) {\n var today = new Date();\n var month = new Date(year ? year + 1 : today.getFullYear() + 1, 0, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns the 1st of current month at 12am (0:00);\n * @static\n * @returns Date\n */\n GetDate.currentMonth = function () {\n var today = new Date();\n var month = new Date(today.getFullYear(), today.getMonth(), 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns January 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.january = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 0, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns February 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.february = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 1, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns March 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.march = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 2, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns April 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.april = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 3, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns May 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.may = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 4, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns June 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.june = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 5, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns July 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.july = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 6, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns August 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.august = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 7, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns September 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.september = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 8, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns October 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.october = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 9, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns November 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.november = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 10, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns December 1st of current year at 12am (0:00);\n * @static\n * @params {number} year\n * @returns Date\n */\n GetDate.december = function (year) {\n var today = new Date();\n var fullYear = year ? year : today.getFullYear();\n var month = new Date(fullYear, 11, 1, 0, 0, 0, 0);\n return month;\n };\n /**\n * Returns array of objects, containing the start and end date of every year since the birth of portal (2021).\n * @static\n * @returns {start: Date, end: Date}[]\n */\n GetDate.years = function () {\n var tempYears = [];\n var years = [];\n var currentYear = new Date().getFullYear();\n var numYears = currentYear - GetDate.portalStartYear;\n for (var i = 0; i < numYears; i++) {\n tempYears.push(GetDate.portalStartYear + 1);\n }\n tempYears.sort(function (a, b) { return b - a; });\n tempYears.map(function (year) {\n years.push({\n start: new Date(year, 0, 1, 0, 0, 0, 0),\n end: new Date(year + 1, 0, 1, 0, 0, 0, 0),\n });\n });\n return years;\n };\n GetDate.portalStartYear = 2020; //2020\n GetDate.portalStartMonth = 8; //September //index starts at 8\n GetDate.portalStartDay = 23; //23\n return GetDate;\n}());\nexports.GetDate = GetDate;\n//# sourceMappingURL=datesForWindowing.js.map","import 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\nif (typeof window['TextEncoder'] !== 'function') {\n const TextEncodingPolyfill = require('text-encoding');\n window['TextEncoder'] = TextEncodingPolyfill.TextEncoder;\n window['TextDecoder'] = TextEncodingPolyfill.TextDecoder;\n}\n","export const SERVER_URL = 'https://portal.myeverlights.com/api/v1';\n// export const SERVER_URL = 'http://localhost:8080/v1';\n","import axios from \"axios\";\nimport { IQuoteRequestFormOriginalParams, IQuoteRequestFormShortenedParams, IQuoteRequestImage } from \"@common.abstractions\";\nimport { SERVER_URL } from \"../environment\";\nimport { ICreateQuoteRequestImageParams } from \"@common.abstractions\";\n\nexport async function CreateQuoteRequestImage(\n filename: string\n): Promise<\n | (IQuoteRequestImage & {\n uploadUrl: string;\n })\n | undefined\n> {\n try {\n const params = { filename } as ICreateQuoteRequestImageParams;\n const response = await axios.post(`${SERVER_URL}/quoteRequests/images`, params);\n if (response.status === 201)\n return response.data as IQuoteRequestImage & {\n uploadUrl: string;\n };\n\n console.log(\"Failed to save quote request with code: \", response.status, response.data);\n return undefined;\n } catch (err: any) {\n console.log(\"Creating quote request threw an exception: \", err);\n return undefined;\n }\n}\n\nexport async function SubmitQuoteRequestFormShortened(params: IQuoteRequestFormShortenedParams): Promise {\n try {\n const response = await axios.post(`${SERVER_URL}/forms/quoteRequest/shortened`, params);\n if (response.status === 201) return true;\n\n console.log(\"Failed to submit quote request with code: \", response.status, response.data);\n return false;\n } catch (err: any) {\n console.log(\"Creating quote request threw an exception: \", err);\n return false;\n }\n}","import React, { useRef, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { IFileUploader, FileUploader } from \"./services/uploader\";\nimport { CreateQuoteRequestImage, SubmitQuoteRequestFormShortened } from \"./services/quote-requests\";\nimport { ImageUpload } from \"./components/ImageUpload\";\n// import { BuildingType } from './shared/enums/building-type';\n// import { InstallationType } from './shared/enums/installation-type';\n// import { ProductLine } from './shared/enums/product-line';\n// import { FinancingInterest, QuoteRequestFormParams } from './shared/models/quote-request';\nimport { useCookies } from \"react-cookie\";\nimport { removeEmpty, USStates } from \"@common.tools\";\nimport LoadSpinner from \"./resources/RainbowSpinner.gif\";\nimport { toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport {\n BuildingType,\n FinancingInterest,\n InstallationType,\n IQuoteRequestFormOriginalParams,\n IQuoteRequestFormShortenedParams,\n IUpdateQuoteRequestParams,\n ProductLine,\n} from \"@common.abstractions\";\nimport { getStateCodeByStateName, sanitizeStateCode } from \"us-state-codes\";\n\nfunction App() {\n const { handleSubmit, register, errors, getValues, setError, reset } = useForm({ mode: \"onChange\" });\n\n const [cookies] = useCookies();\n\n function getStateCode(value: string) {\n const sanitizedStateCode = sanitizeStateCode(value);\n if (sanitizedStateCode) return sanitizedStateCode;\n\n const convertedStateCode = getStateCodeByStateName(value);\n return convertedStateCode;\n }\n\n const submit = (values: any) => {\n try {\n values = {\n ...values,\n country: \"USA\",\n context: {\n cookies,\n pageUri: window.location.href,\n pageName: document.title || \"None\",\n },\n };\n console.log(\"uncleaned: \", values);\n removeEmpty(values);\n values.phone = values.phone.match(/\\d+/g).join(\"\");\n\n const stateCode = sanitizeStateCode(values.state);\n\n const validatedState = getStateCode(values.state);\n if (!validatedState) {\n setError(\"state\", { type: \"manual\", message: \"This field is required\" });\n return;\n }\n\n values.state = validatedState;\n\n console.log(\"cleaned: \", values);\n const {redirectUrl, ...params} = values;\n console.log(\"validated: \", params);\n\n SubmitQuoteRequestFormShortened(params)\n .then((success) => {\n if (success) {\n RedirectSuccess(values.formRedirect);\n } else {\n toast.error(\"Submission failed! Please try again.\");\n }\n })\n .catch((err) => {\n toast.error(\"Submission failed! Please try again.\");\n });\n } catch (err: any) {\n toast.error(`Submission failed! Error: ${err}`, { autoClose: 10000 });\n }\n };\n\n function RedirectSuccess(redirectUrl?: string) {\n console.log(\"submitted successfully\");\n window.location.href = redirectUrl || \"https://secure.myeverlights.com/thank-youmi5k3nf7\";\n }\n\n toast.configure({\n position: \"bottom-center\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: false,\n pauseOnFocusLoss: true,\n });\n\n return (\n
\n
\n
\n
\n \n \n {errors.firstname && errors.firstname.type === \"required\" &&
This field is required
}\n
\n\n
\n \n \n {errors.lastname && errors.lastname.type === \"required\" &&
This field is required
}\n
\n
\n\n
\n
\n \n val?.match(/\\d+/g)?.join(\"\")?.length === 10,\n })}\n />\n {errors.phone && errors.phone.type === \"required\" &&
This field is required
}\n {errors.phone && errors.phone.type === \"validate\" &&
Phone number is invalid
}\n
\n\n
\n \n \n {errors.email && errors.email.type === \"required\" &&
This field is required
}\n {errors.phoemailne && errors.email.type === \"pattern\" &&
Email address is invalid
}\n
\n
\n\n
\n
\n \n \n {errors.streetAddress && errors.streetAddress.type === \"required\" && (\n
This field is required
\n )}\n
\n\n
\n \n \n {errors.city && errors.city.type === \"required\" &&
This field is required
}\n
\n
\n\n
\n
\n \n \n {errors.state && errors.state.type === \"required\" &&
This field is required
}\n {errors.state &&
{errors.state.message}
}\n
\n\n
\n \n \n {errors.zip && errors.zip.type === \"required\" &&
This field is required
}\n
\n
\n\n \n\n \n\n
\n \n
\n \n
\n );\n}\n\nexport default App;\n","import './polyfills';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('portal-lead-capture-form')\n);\n"],"sourceRoot":""}