{"version":3,"file":"static/js/Contact.40fbff75.chunk.js","mappings":"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","sources":["pages/Contact/components/GenerateIraDocument/selectors.js","../../../node_modules/@tesla/design-system-react/dist/button-group/button-group.js","../../../node_modules/@tesla/qr/dist/matrix/QRBitBuffer/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRMath/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRPolynomial/index.js","../../../node_modules/@tesla/qr/dist/matrix/constants/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRRSBlock/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRMaskPattern/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRUtil/index.js","../../../node_modules/@tesla/qr/dist/matrix/QRCodeModel/index.js","../../../node_modules/@tesla/qr/dist/matrix/utils/getType.js","../../../node_modules/@tesla/qr/dist/matrix/utils/getTextLength.js","../../../node_modules/@tesla/qr/dist/matrix/QRCode/index.js","../../../node_modules/@tesla/qr/dist/image/SvgCreator.js","../../../node_modules/@tesla/qr/dist/matrix/generateMatrix.js","../../../node_modules/@tesla/qr-react/dist/component.js","webpack://ContactUs.index/./src/shared/components/Spinner/styles.module.css?c8a7","shared/components/Spinner/index.js","utils/contact.js","pages/Contact/components/ContactForm/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/ContactForm/styles.module.css?980c","pages/Contact/components/ContactForm/index.js","../../../node_modules/date-fns/esm/isSameDay/index.js","pages/Contact/components/RequestDataCopy/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/RequestDataCopy/styles.module.css?f215","pages/Contact/components/RequestDataCopy/index.js","pages/Contact/components/DeleteAccount/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/DeleteAccount/styles.module.css?c2dd","pages/Contact/components/DeleteAccount/index.js","webpack://ContactUs.index/./src/pages/Contact/components/GenerateIraDocument/styles.module.css?c559","pages/Contact/components/GenerateIraDocument/index.js","utils/redirect.js","utils/handleLinks.js","pages/Contact/gaTags.js","pages/Contact/components/Solutions/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/Solutions/styles.module.css?f8b7","pages/Contact/components/Solutions/index.js","pages/Contact/components/SelectQuestion/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/SelectQuestion/styles.module.css?e50d","pages/Contact/components/SelectQuestion/index.js","webpack://ContactUs.index/./src/components/BrowserCompatibilityWarning/styles.module.css?c2c8","components/BrowserCompatibilityWarning/locale/index.js","components/BrowserCompatibilityWarning/index.js","webpack://ContactUs.index/./src/pages/Contact/styles.module.css?c700","pages/Contact/components/SplashScreen/selectors.js","webpack://ContactUs.index/./src/pages/Contact/components/SplashScreen/styles.module.css?7073","pages/Contact/components/SplashScreen/index.js","webpack://ContactUs.index/./src/pages/Contact/components/ContactConfirmation/styles.module.css?c022","pages/Contact/components/ContactConfirmation/selectors.js","pages/Contact/components/ContactConfirmation/index.js","pages/Contact/index.js","utils/links.js","../../../node_modules/date-fns/esm/startOfDay/index.js","../../../node_modules/date-fns/esm/toDate/index.js"],"sourcesContent":["import { createSelector, createStructuredSelector } from 'reselect';\nimport { bffDomain, translationsDomain } from '../../selectors';\n\nconst selectTranslations = createSelector(\n translationsDomain(),\n subState => subState.generateIraDocument\n);\n\nconst selectVehicles = createSelector(\n bffDomain(),\n subState => subState.iraEligibleVehicles\n);\n\nexport default createStructuredSelector({\n translations: selectTranslations,\n vehicles: selectVehicles,\n});\n","import cx from 'classnames';\nimport React from 'react';\nexport const ButtonGroup = ({ children, className, layout, ...rest }) => (React.createElement(\"div\", { className: cx('tds-btn_group', {\n [`tds-btn_group--${layout}`]: layout,\n }, className), ...rest }, children));\n","//---------------------------------------------------------------------\n// QRBitBuffer\n//---------------------------------------------------------------------\nexport class QRBitBuffer {\n constructor() {\n this.buffer = [];\n this.length = 0;\n }\n get(index) {\n const bufIndex = Math.floor(index / 8);\n return ((this.buffer[bufIndex] >>> (7 - (index % 8))) & 1) == 1;\n }\n put(num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) == 1);\n }\n }\n getLengthInBits() {\n return this.length;\n }\n putBit(bit) {\n const bufIndex = Math.floor(this.length / 8);\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n if (bit) {\n this.buffer[bufIndex] |= 0x80 >>> this.length % 8;\n }\n this.length++;\n }\n}\n","/* eslint-disable */\n//---------------------------------------------------------------------\n// QRMath\n//---------------------------------------------------------------------\nexport const QRMath = {\n glog: function (n) {\n if (n < 1) {\n throw new Error(\"glog(\" + n + \")\");\n }\n return QRMath.LOG_TABLE[n];\n },\n gexp: function (n) {\n while (n < 0) {\n n += 255;\n }\n while (n >= 256) {\n n -= 255;\n }\n return QRMath.EXP_TABLE[n];\n },\n EXP_TABLE: new Array(256),\n LOG_TABLE: new Array(256),\n};\nfor (var i = 0; i < 8; i++) {\n QRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n QRMath.EXP_TABLE[i] =\n QRMath.EXP_TABLE[i - 4] ^\n QRMath.EXP_TABLE[i - 5] ^\n QRMath.EXP_TABLE[i - 6] ^\n QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;\n}\n","/* eslint-disable */\n//---------------------------------------------------------------------\n// QRPolynomial\n//---------------------------------------------------------------------\nimport { QRMath } from \"../QRMath/index.js\";\nexport class QRPolynomial {\n constructor(num, shift) {\n if (num.length == undefined) {\n throw new Error(num.length + \"/\" + shift);\n }\n let offset = 0;\n while (offset < num.length && num[offset] == 0) {\n offset++;\n }\n this.num = new Array(num.length - offset + shift);\n for (let i = 0; i < num.length - offset; i++) {\n this.num[i] = num[i + offset];\n }\n }\n get(index) {\n return this.num[index];\n }\n getLength() {\n return this.num.length;\n }\n multiply(e) {\n const num = new Array(this.getLength() + e.getLength() - 1);\n for (let i = 0; i < this.getLength(); i++) {\n for (let j = 0; j < e.getLength(); j++) {\n num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j)));\n }\n }\n return new QRPolynomial(num, 0);\n }\n mod(e) {\n if (this.getLength() - e.getLength() < 0) {\n return this;\n }\n const ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0));\n const num = new Array(this.getLength());\n for (var i = 0; i < this.getLength(); i++) {\n num[i] = this.get(i);\n }\n for (var i = 0; i < e.getLength(); i++) {\n num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio);\n }\n // recursive call\n return new QRPolynomial(num, 0).mod(e);\n }\n}\n","const QRCodeLimitLength = [\n [17, 14, 11, 7],\n [32, 26, 20, 14],\n [53, 42, 32, 24],\n [78, 62, 46, 34],\n [106, 84, 60, 44],\n [134, 106, 74, 58],\n [154, 122, 86, 64],\n [192, 152, 108, 84],\n [230, 180, 130, 98],\n [271, 213, 151, 119],\n [321, 251, 177, 137],\n [367, 287, 203, 155],\n [425, 331, 241, 177],\n [458, 362, 258, 194],\n [520, 412, 292, 220],\n [586, 450, 322, 250],\n [644, 504, 364, 280],\n [718, 560, 394, 310],\n [792, 624, 442, 338],\n [858, 666, 482, 382],\n [929, 711, 509, 403],\n [1003, 779, 565, 439],\n [1091, 857, 611, 461],\n [1171, 911, 661, 511],\n [1273, 997, 715, 535],\n [1367, 1059, 751, 593],\n [1465, 1125, 805, 625],\n [1528, 1190, 868, 658],\n [1628, 1264, 908, 698],\n [1732, 1370, 982, 742],\n [1840, 1452, 1030, 790],\n [1952, 1538, 1112, 842],\n [2068, 1628, 1168, 898],\n [2188, 1722, 1228, 958],\n [2303, 1809, 1283, 983],\n [2431, 1911, 1351, 1051],\n [2563, 1989, 1423, 1093],\n [2699, 2099, 1499, 1139],\n [2809, 2213, 1579, 1219],\n [2953, 2331, 1663, 1273],\n];\nconst QRErrorCorrectLevel = { H: 2, L: 1, M: 0, Q: 3 };\nconst QRMode = {\n MODE_8BIT_BYTE: 1 << 2,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_KANJI: 1 << 3,\n MODE_NUMBER: 1 << 0,\n};\nexport { QRCodeLimitLength, QRErrorCorrectLevel, QRMode };\n","//---------------------------------------------------------------------\n// QRRSBlock\n//---------------------------------------------------------------------\nimport { QRErrorCorrectLevel } from \"../constants/index.js\";\nexport class QRRSBlock {\n constructor(totalCount, dataCount) {\n this.totalCount = totalCount;\n this.dataCount = dataCount;\n }\n getTotalCount() {\n return this.totalCount;\n }\n static getRsBlockTable(typeNumber, errorCorrectLevel) {\n switch (errorCorrectLevel) {\n case QRErrorCorrectLevel.H:\n return this.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n case QRErrorCorrectLevel.L:\n return this.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n case QRErrorCorrectLevel.M:\n return this.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n case QRErrorCorrectLevel.Q:\n return this.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n default:\n return undefined;\n }\n }\n static getRSBlocks(typeNumber, errorCorrectLevel) {\n const rsBlock = this.getRsBlockTable(typeNumber, errorCorrectLevel);\n if (rsBlock == undefined) {\n throw new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n }\n const length = rsBlock.length / 3;\n const list = [];\n for (let i = 0; i < length; i++) {\n const count = rsBlock[i * 3 + 0];\n const totalCount = rsBlock[i * 3 + 1];\n const dataCount = rsBlock[i * 3 + 2];\n for (let j = 0; j < count; j++) {\n list.push(new QRRSBlock(totalCount, dataCount));\n }\n }\n return list;\n }\n}\nQRRSBlock.RS_BLOCK_TABLE = [\n // L\n // M\n // Q\n // H\n // 1\n [1, 26, 19],\n [1, 26, 16],\n [1, 26, 13],\n [1, 26, 9],\n // 2\n [1, 44, 34],\n [1, 44, 28],\n [1, 44, 22],\n [1, 44, 16],\n // 3\n [1, 70, 55],\n [1, 70, 44],\n [2, 35, 17],\n [2, 35, 13],\n // 4\n [1, 100, 80],\n [2, 50, 32],\n [2, 50, 24],\n [4, 25, 9],\n // 5\n [1, 134, 108],\n [2, 67, 43],\n [2, 33, 15, 2, 34, 16],\n [2, 33, 11, 2, 34, 12],\n // 6\n [2, 86, 68],\n [4, 43, 27],\n [4, 43, 19],\n [4, 43, 15],\n // 7\n [2, 98, 78],\n [4, 49, 31],\n [2, 32, 14, 4, 33, 15],\n [4, 39, 13, 1, 40, 14],\n // 8\n [2, 121, 97],\n [2, 60, 38, 2, 61, 39],\n [4, 40, 18, 2, 41, 19],\n [4, 40, 14, 2, 41, 15],\n // 9\n [2, 146, 116],\n [3, 58, 36, 2, 59, 37],\n [4, 36, 16, 4, 37, 17],\n [4, 36, 12, 4, 37, 13],\n // 10\n [2, 86, 68, 2, 87, 69],\n [4, 69, 43, 1, 70, 44],\n [6, 43, 19, 2, 44, 20],\n [6, 43, 15, 2, 44, 16],\n // 11\n [4, 101, 81],\n [1, 80, 50, 4, 81, 51],\n [4, 50, 22, 4, 51, 23],\n [3, 36, 12, 8, 37, 13],\n // 12\n [2, 116, 92, 2, 117, 93],\n [6, 58, 36, 2, 59, 37],\n [4, 46, 20, 6, 47, 21],\n [7, 42, 14, 4, 43, 15],\n // 13\n [4, 133, 107],\n [8, 59, 37, 1, 60, 38],\n [8, 44, 20, 4, 45, 21],\n [12, 33, 11, 4, 34, 12],\n // 14\n [3, 145, 115, 1, 146, 116],\n [4, 64, 40, 5, 65, 41],\n [11, 36, 16, 5, 37, 17],\n [11, 36, 12, 5, 37, 13],\n // 15\n [5, 109, 87, 1, 110, 88],\n [5, 65, 41, 5, 66, 42],\n [5, 54, 24, 7, 55, 25],\n [11, 36, 12],\n // 16\n [5, 122, 98, 1, 123, 99],\n [7, 73, 45, 3, 74, 46],\n [15, 43, 19, 2, 44, 20],\n [3, 45, 15, 13, 46, 16],\n // 17\n [1, 135, 107, 5, 136, 108],\n [10, 74, 46, 1, 75, 47],\n [1, 50, 22, 15, 51, 23],\n [2, 42, 14, 17, 43, 15],\n // 18\n [5, 150, 120, 1, 151, 121],\n [9, 69, 43, 4, 70, 44],\n [17, 50, 22, 1, 51, 23],\n [2, 42, 14, 19, 43, 15],\n // 19\n [3, 141, 113, 4, 142, 114],\n [3, 70, 44, 11, 71, 45],\n [17, 47, 21, 4, 48, 22],\n [9, 39, 13, 16, 40, 14],\n // 20\n [3, 135, 107, 5, 136, 108],\n [3, 67, 41, 13, 68, 42],\n [15, 54, 24, 5, 55, 25],\n [15, 43, 15, 10, 44, 16],\n // 21\n [4, 144, 116, 4, 145, 117],\n [17, 68, 42],\n [17, 50, 22, 6, 51, 23],\n [19, 46, 16, 6, 47, 17],\n // 22\n [2, 139, 111, 7, 140, 112],\n [17, 74, 46],\n [7, 54, 24, 16, 55, 25],\n [34, 37, 13],\n // 23\n [4, 151, 121, 5, 152, 122],\n [4, 75, 47, 14, 76, 48],\n [11, 54, 24, 14, 55, 25],\n [16, 45, 15, 14, 46, 16],\n // 24\n [6, 147, 117, 4, 148, 118],\n [6, 73, 45, 14, 74, 46],\n [11, 54, 24, 16, 55, 25],\n [30, 46, 16, 2, 47, 17],\n // 25\n [8, 132, 106, 4, 133, 107],\n [8, 75, 47, 13, 76, 48],\n [7, 54, 24, 22, 55, 25],\n [22, 45, 15, 13, 46, 16],\n // 26\n [10, 142, 114, 2, 143, 115],\n [19, 74, 46, 4, 75, 47],\n [28, 50, 22, 6, 51, 23],\n [33, 46, 16, 4, 47, 17],\n // 27\n [8, 152, 122, 4, 153, 123],\n [22, 73, 45, 3, 74, 46],\n [8, 53, 23, 26, 54, 24],\n [12, 45, 15, 28, 46, 16],\n // 28\n [3, 147, 117, 10, 148, 118],\n [3, 73, 45, 23, 74, 46],\n [4, 54, 24, 31, 55, 25],\n [11, 45, 15, 31, 46, 16],\n // 29\n [7, 146, 116, 7, 147, 117],\n [21, 73, 45, 7, 74, 46],\n [1, 53, 23, 37, 54, 24],\n [19, 45, 15, 26, 46, 16],\n // 30\n [5, 145, 115, 10, 146, 116],\n [19, 75, 47, 10, 76, 48],\n [15, 54, 24, 25, 55, 25],\n [23, 45, 15, 25, 46, 16],\n // 31\n [13, 145, 115, 3, 146, 116],\n [2, 74, 46, 29, 75, 47],\n [42, 54, 24, 1, 55, 25],\n [23, 45, 15, 28, 46, 16],\n // 32\n [17, 145, 115],\n [10, 74, 46, 23, 75, 47],\n [10, 54, 24, 35, 55, 25],\n [19, 45, 15, 35, 46, 16],\n // 33\n [17, 145, 115, 1, 146, 116],\n [14, 74, 46, 21, 75, 47],\n [29, 54, 24, 19, 55, 25],\n [11, 45, 15, 46, 46, 16],\n // 34\n [13, 145, 115, 6, 146, 116],\n [14, 74, 46, 23, 75, 47],\n [44, 54, 24, 7, 55, 25],\n [59, 46, 16, 1, 47, 17],\n // 35\n [12, 151, 121, 7, 152, 122],\n [12, 75, 47, 26, 76, 48],\n [39, 54, 24, 14, 55, 25],\n [22, 45, 15, 41, 46, 16],\n // 36\n [6, 151, 121, 14, 152, 122],\n [6, 75, 47, 34, 76, 48],\n [46, 54, 24, 10, 55, 25],\n [2, 45, 15, 64, 46, 16],\n // 37\n [17, 152, 122, 4, 153, 123],\n [29, 74, 46, 14, 75, 47],\n [49, 54, 24, 10, 55, 25],\n [24, 45, 15, 46, 46, 16],\n // 38\n [4, 152, 122, 18, 153, 123],\n [13, 74, 46, 32, 75, 47],\n [48, 54, 24, 14, 55, 25],\n [42, 45, 15, 32, 46, 16],\n // 39\n [20, 147, 117, 4, 148, 118],\n [40, 75, 47, 7, 76, 48],\n [43, 54, 24, 22, 55, 25],\n [10, 45, 15, 67, 46, 16],\n // 40\n [19, 148, 118, 6, 149, 119],\n [18, 75, 47, 31, 76, 48],\n [34, 54, 24, 34, 55, 25],\n [20, 45, 15, 61, 46, 16],\n];\n","//---------------------------------------------------------------------\n// QRMaskPattern\n//---------------------------------------------------------------------\nexport const QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7,\n};\n","//---------------------------------------------------------------------\n// QRUtil\n//---------------------------------------------------------------------\nimport { QRMaskPattern } from \"../QRMaskPattern/index.js\";\nimport { QRMath } from \"../QRMath/index.js\";\nimport { QRPolynomial } from \"../QRPolynomial/index.js\";\nimport { QRMode } from \"../constants/index.js\";\nexport const QRUtil = {\n PATTERN_POSITION_TABLE: [\n [],\n [6, 18],\n [6, 22],\n [6, 26],\n [6, 30],\n [6, 34],\n [6, 22, 38],\n [6, 24, 42],\n [6, 26, 46],\n [6, 28, 50],\n [6, 30, 54],\n [6, 32, 58],\n [6, 34, 62],\n [6, 26, 46, 66],\n [6, 26, 48, 70],\n [6, 26, 50, 74],\n [6, 30, 54, 78],\n [6, 30, 56, 82],\n [6, 30, 58, 86],\n [6, 34, 62, 90],\n [6, 28, 50, 72, 94],\n [6, 26, 50, 74, 98],\n [6, 30, 54, 78, 102],\n [6, 28, 54, 80, 106],\n [6, 32, 58, 84, 110],\n [6, 30, 58, 86, 114],\n [6, 34, 62, 90, 118],\n [6, 26, 50, 74, 98, 122],\n [6, 30, 54, 78, 102, 126],\n [6, 26, 52, 78, 104, 130],\n [6, 30, 56, 82, 108, 134],\n [6, 34, 60, 86, 112, 138],\n [6, 30, 58, 86, 114, 142],\n [6, 34, 62, 90, 118, 146],\n [6, 30, 54, 78, 102, 126, 150],\n [6, 24, 50, 76, 102, 128, 154],\n [6, 28, 54, 80, 106, 132, 158],\n [6, 32, 58, 84, 110, 136, 162],\n [6, 26, 54, 82, 110, 138, 166],\n [6, 30, 58, 86, 114, 142, 170],\n ],\n G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),\n G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n getBCHTypeInfo: function (data) {\n let d = data << 10;\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n d ^= QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15));\n }\n return ((data << 10) | d) ^ QRUtil.G15_MASK;\n },\n getBCHTypeNumber: function (data) {\n let d = data << 12;\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n d ^= QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18));\n }\n return (data << 12) | d;\n },\n getBCHDigit: function (data) {\n let digit = 0;\n while (data != 0) {\n digit++;\n data >>>= 1;\n }\n return digit;\n },\n getPatternPosition: function (typeNumber) {\n return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n getMask: function (maskPattern, i, j) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return (i + j) % 2 == 0;\n case QRMaskPattern.PATTERN001:\n return i % 2 == 0;\n case QRMaskPattern.PATTERN010:\n return j % 3 == 0;\n case QRMaskPattern.PATTERN011:\n return (i + j) % 3 == 0;\n case QRMaskPattern.PATTERN100:\n return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;\n case QRMaskPattern.PATTERN101:\n return ((i * j) % 2) + ((i * j) % 3) == 0;\n case QRMaskPattern.PATTERN110:\n return (((i * j) % 2) + ((i * j) % 3)) % 2 == 0;\n case QRMaskPattern.PATTERN111:\n return (((i * j) % 3) + ((i + j) % 2)) % 2 == 0;\n default:\n throw new Error(\"bad maskPattern:\" + maskPattern);\n }\n },\n getErrorCorrectPolynomial: function (errorCorrectLength) {\n let a = new QRPolynomial([1], 0);\n for (let i = 0; i < errorCorrectLength; i++) {\n a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0));\n }\n return a;\n },\n getLengthInBits: function (mode, type) {\n if (1 <= type && type < 10) {\n // 1 - 9\n switch (mode) {\n case QRMode.MODE_8BIT_BYTE:\n return 8;\n case QRMode.MODE_ALPHA_NUM:\n return 9;\n case QRMode.MODE_KANJI:\n return 8;\n case QRMode.MODE_NUMBER:\n return 10;\n default:\n throw new Error(\"mode:\" + mode);\n }\n }\n else if (type < 27) {\n // 10 - 26\n switch (mode) {\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_ALPHA_NUM:\n return 11;\n case QRMode.MODE_KANJI:\n return 10;\n case QRMode.MODE_NUMBER:\n return 12;\n default:\n throw new Error(\"mode:\" + mode);\n }\n }\n else if (type < 41) {\n // 27 - 40\n switch (mode) {\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_ALPHA_NUM:\n return 13;\n case QRMode.MODE_KANJI:\n return 12;\n case QRMode.MODE_NUMBER:\n return 14;\n default:\n throw new Error(\"mode:\" + mode);\n }\n }\n else {\n throw new Error(\"type:\" + type);\n }\n },\n getLostPoint: function (qrCode) {\n const moduleCount = qrCode.getModuleCount();\n let lostPoint = 0;\n // LEVEL1\n for (let row = 0; row < moduleCount; row++) {\n for (let col = 0; col < moduleCount; col++) {\n let sameCount = 0;\n const dark = qrCode.isDark(row, col);\n for (let r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n for (let c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) {\n continue;\n }\n if (r == 0 && c == 0) {\n continue;\n }\n if (dark == qrCode.isDark(row + r, col + c)) {\n sameCount++;\n }\n }\n }\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n }\n // LEVEL2\n for (let row = 0; row < moduleCount - 1; row++) {\n for (let col = 0; col < moduleCount - 1; col++) {\n let count = 0;\n if (qrCode.isDark(row, col))\n count++;\n if (qrCode.isDark(row + 1, col))\n count++;\n if (qrCode.isDark(row, col + 1))\n count++;\n if (qrCode.isDark(row + 1, col + 1))\n count++;\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n }\n // LEVEL3\n for (let row = 0; row < moduleCount; row++) {\n for (let col = 0; col < moduleCount - 6; col++) {\n if (qrCode.isDark(row, col) &&\n !qrCode.isDark(row, col + 1) &&\n qrCode.isDark(row, col + 2) &&\n qrCode.isDark(row, col + 3) &&\n qrCode.isDark(row, col + 4) &&\n !qrCode.isDark(row, col + 5) &&\n qrCode.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n for (let col = 0; col < moduleCount; col++) {\n for (let row = 0; row < moduleCount - 6; row++) {\n if (qrCode.isDark(row, col) &&\n !qrCode.isDark(row + 1, col) &&\n qrCode.isDark(row + 2, col) &&\n qrCode.isDark(row + 3, col) &&\n qrCode.isDark(row + 4, col) &&\n !qrCode.isDark(row + 5, col) &&\n qrCode.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n }\n // LEVEL4\n let darkCount = 0;\n for (let col = 0; col < moduleCount; col++) {\n for (let row = 0; row < moduleCount; row++) {\n if (qrCode.isDark(row, col)) {\n darkCount++;\n }\n }\n }\n const ratio = Math.abs((100 * darkCount) / moduleCount / moduleCount - 50) / 5;\n lostPoint += 10 * ratio;\n return lostPoint;\n },\n};\n","/* eslint-disable */\nimport { QRBitBuffer } from \"../QRBitBuffer/index.js\";\nimport { QRPolynomial } from \"../QRPolynomial/index.js\";\nimport { QRRSBlock } from \"../QRRSBlock/index.js\";\nimport { QRUtil } from \"../QRUtil/index.js\";\nimport { QRMode } from \"../constants/index.js\";\n//---------------------------------------------------------------------\n// QR8bitByte\n//---------------------------------------------------------------------\nclass QR8bitByte {\n constructor(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n // Added to support UTF-8 Characters\n for (let i = 0, l = this.data.length; i < l; i++) {\n const byteArray = [];\n const code = this.data.charCodeAt(i);\n if (code > 0x10000) {\n byteArray[0] = 0xf0 | ((code & 0x1c0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3f000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xfc0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3f);\n }\n else if (code > 0x800) {\n byteArray[0] = 0xe0 | ((code & 0xf000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xfc0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3f);\n }\n else if (code > 0x80) {\n byteArray[0] = 0xc0 | ((code & 0x7c0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3f);\n }\n else {\n byteArray[0] = code;\n }\n this.parsedData.push(byteArray);\n }\n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n }\n getLength() {\n if (this.mode === 1) {\n // Empty\n }\n return this.parsedData.length;\n }\n write(buffer) {\n for (let i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n}\n//---------------------------------------------------------------------\n// QRCodeModel\n//---------------------------------------------------------------------\nexport class QRCodeModel {\n constructor(typeNumber, errorCorrectLevel) {\n this.PAD0 = 0xec;\n this.PAD1 = 0x11;\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n }\n addData(data) {\n const newData = new QR8bitByte(data);\n this.dataList.push(newData);\n this.dataCache = null;\n }\n isDark(row, col) {\n if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n throw new Error(row + \",\" + col);\n }\n return this.modules[row][col];\n }\n getModuleCount() {\n return this.moduleCount;\n }\n make() {\n this.makeImpl(false, this.getBestMaskPattern());\n }\n makeImpl(test, maskPattern) {\n this.moduleCount = this.typeNumber * 4 + 17;\n this.modules = new Array(this.moduleCount);\n for (let row = 0; row < this.moduleCount; row++) {\n this.modules[row] = new Array(this.moduleCount);\n for (let col = 0; col < this.moduleCount; col++) {\n this.modules[row][col] = null;\n }\n }\n this.setupPositionProbePattern(0, 0);\n this.setupPositionProbePattern(this.moduleCount - 7, 0);\n this.setupPositionProbePattern(0, this.moduleCount - 7);\n this.setupPositionAdjustPattern();\n this.setupTimingPattern();\n this.setupTypeInfo(test, maskPattern);\n if (this.typeNumber >= 7) {\n this.setupTypeNumber(test);\n }\n if (this.dataCache == null) {\n this.dataCache = this.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n }\n this.mapData(this.dataCache, maskPattern);\n }\n setupPositionProbePattern(row, col) {\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || this.moduleCount <= row + r)\n continue;\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || this.moduleCount <= col + c)\n continue;\n if ((0 <= r && r <= 6 && (c == 0 || c == 6)) ||\n (0 <= c && c <= 6 && (r == 0 || r == 6)) ||\n (2 <= r && r <= 4 && 2 <= c && c <= 4)) {\n this.modules[row + r][col + c] = true;\n }\n else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n }\n getBestMaskPattern() {\n let minLostPoint = 0;\n let pattern = 0;\n for (let i = 0; i < 8; i++) {\n this.makeImpl(true, i);\n const lostPoint = QRUtil.getLostPoint(this);\n if (i == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i;\n }\n }\n return pattern;\n }\n setupTimingPattern() {\n for (let r = 8; r < this.moduleCount - 8; r++) {\n if (this.modules[r][6] != null) {\n continue;\n }\n this.modules[r][6] = r % 2 == 0;\n }\n for (let c = 8; c < this.moduleCount - 8; c++) {\n if (this.modules[6][c] != null) {\n continue;\n }\n this.modules[6][c] = c % 2 == 0;\n }\n }\n setupPositionAdjustPattern() {\n const pos = QRUtil.getPatternPosition(this.typeNumber);\n for (let i = 0; i < pos.length; i++) {\n for (let j = 0; j < pos.length; j++) {\n const row = pos[i];\n const col = pos[j];\n if (this.modules[row][col] != null) {\n continue;\n }\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) {\n this.modules[row + r][col + c] = true;\n }\n else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n }\n }\n }\n setupTypeNumber(test) {\n const bits = QRUtil.getBCHTypeNumber(this.typeNumber);\n for (let i = 0; i < 18; i++) {\n const mod = !test && ((bits >> i) & 1) == 1;\n this.modules[Math.floor(i / 3)][(i % 3) + this.moduleCount - 8 - 3] = mod;\n }\n for (let i = 0; i < 18; i++) {\n const mod = !test && ((bits >> i) & 1) == 1;\n this.modules[(i % 3) + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n }\n }\n setupTypeInfo(test, maskPattern) {\n const data = (this.errorCorrectLevel << 3) | maskPattern;\n const bits = QRUtil.getBCHTypeInfo(data);\n // vertical\n for (let i = 0; i < 15; i++) {\n const mod = !test && ((bits >> i) & 1) == 1;\n if (i < 6) {\n this.modules[i][8] = mod;\n }\n else if (i < 8) {\n this.modules[i + 1][8] = mod;\n }\n else {\n this.modules[this.moduleCount - 15 + i][8] = mod;\n }\n }\n // horizontal\n for (let i = 0; i < 15; i++) {\n const mod = !test && ((bits >> i) & 1) == 1;\n if (i < 8) {\n this.modules[8][this.moduleCount - i - 1] = mod;\n }\n else if (i < 9) {\n this.modules[8][15 - i - 1 + 1] = mod;\n }\n else {\n this.modules[8][15 - i - 1] = mod;\n }\n }\n // fixed module\n this.modules[this.moduleCount - 8][8] = !test;\n }\n mapData(data, maskPattern) {\n let inc = -1;\n let row = this.moduleCount - 1;\n let bitIndex = 7;\n let byteIndex = 0;\n for (let col = this.moduleCount - 1; col > 0; col -= 2) {\n if (col == 6)\n col--;\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (this.modules[row][col - c] == null) {\n let dark = false;\n if (byteIndex < data.length) {\n dark = ((data[byteIndex] >>> bitIndex) & 1) == 1;\n }\n const mask = QRUtil.getMask(maskPattern, row, col - c);\n if (mask) {\n dark = !dark;\n }\n this.modules[row][col - c] = dark;\n bitIndex--;\n if (bitIndex == -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n row += inc;\n if (row < 0 || this.moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n }\n createData(typeNumber, errorCorrectLevel, dataList) {\n const rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n const buffer = new QRBitBuffer();\n for (let i = 0; i < dataList.length; i++) {\n const data = dataList[i];\n buffer.put(data.mode, 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));\n data.write(buffer);\n }\n // calc num max data.\n let totalDataCount = 0;\n for (let i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw new Error(\"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\");\n }\n // end code\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n }\n // padding\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n }\n // padding\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(this.PAD0, 8);\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(this.PAD1, 8);\n }\n return this.createBytes(buffer, rsBlocks);\n }\n createBytes(buffer, rsBlocks) {\n let offset = 0;\n let maxDcCount = 0;\n let maxEcCount = 0;\n const dcdata = new Array(rsBlocks.length);\n const ecdata = new Array(rsBlocks.length);\n for (let r = 0; r < rsBlocks.length; r++) {\n const dcCount = rsBlocks[r].dataCount;\n const ecCount = rsBlocks[r].totalCount - dcCount;\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n dcdata[r] = new Array(dcCount);\n for (let i = 0; i < dcdata[r].length; i++) {\n dcdata[r][i] = 0xff & buffer.buffer[i + offset];\n }\n offset += dcCount;\n const rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n const rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);\n const modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n for (let i = 0; i < ecdata[r].length; i++) {\n const modIndex = i + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0;\n }\n }\n let totalCodeCount = 0;\n for (let i = 0; i < rsBlocks.length; i++) {\n totalCodeCount += rsBlocks[i].totalCount;\n }\n const data = new Array(totalCodeCount);\n let index = 0;\n for (let i = 0; i < maxDcCount; i++) {\n for (let r = 0; r < rsBlocks.length; r++) {\n if (i < dcdata[r].length) {\n data[index++] = dcdata[r][i];\n }\n }\n }\n for (let i = 0; i < maxEcCount; i++) {\n for (let r = 0; r < rsBlocks.length; r++) {\n if (i < ecdata[r].length) {\n data[index++] = ecdata[r][i];\n }\n }\n }\n return data;\n }\n}\n","import { QRCodeLimitLength, QRErrorCorrectLevel } from \"../constants/index.js\";\nimport { getTextLength } from \"./getTextLength.js\";\n/**\n * Get the type by string length\n *\n * @private\n * @param {String} text text to generate qr code off of\n * @param {Number} ec_level correction level\n * @return {Number} type\n */\nfunction getType(text, ec_level) {\n let nType = 1;\n const length = getTextLength(text);\n for (let i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n let nLimit = 0;\n switch (ec_level) {\n case QRErrorCorrectLevel.H:\n nLimit = QRCodeLimitLength[i][3];\n break;\n case QRErrorCorrectLevel.L:\n nLimit = QRCodeLimitLength[i][0];\n break;\n case QRErrorCorrectLevel.M:\n nLimit = QRCodeLimitLength[i][1];\n break;\n case QRErrorCorrectLevel.Q:\n nLimit = QRCodeLimitLength[i][2];\n break;\n }\n if (length <= nLimit) {\n break;\n }\n else {\n nType++;\n }\n }\n if (nType > QRCodeLimitLength.length) {\n throw new Error(\"Too long data\");\n }\n return nType;\n}\nexport { getType };\n","/* eslint-disable */\nfunction getTextLength(text) {\n const replacedText = encodeURI(text)\n .toString()\n .replace(/\\%[0-9a-fA-F]{2}/g, \"a\");\n return replacedText.length + (replacedText.length != text.length ? 3 : 0);\n}\nexport { getTextLength };\n","import { QRCodeModel } from \"../QRCodeModel/index.js\";\nimport { getType } from \"../utils/index.js\";\nclass QRCode {\n static getProperEcLevel(ec_level) {\n let ec = ec_level;\n switch (ec_level) {\n case \"H\":\n ec = 3;\n break;\n case \"L\":\n ec = 0;\n break;\n case \"M\":\n ec = 1;\n break;\n case \"Q\":\n ec = 2;\n break;\n }\n return ec;\n }\n static makeAndReturnMatrix(text, ec_level) {\n const ec = this.getProperEcLevel(ec_level);\n this.QRCode = new QRCodeModel(getType(text, ec), ec);\n this.QRCode.addData(text);\n this.QRCode.make();\n return this.QRCode.modules || [];\n }\n}\nexport { QRCode };\n","var _SvgCreator_foregroundColor, _SvgCreator_white, _SvgCreator_backgroundColor, _SvgCreator_black, _SvgCreator_gray, _SvgCreator_logoColor;\nimport { __classPrivateFieldGet, __classPrivateFieldSet } from \"tslib\";\nimport { generateQrMatrix } from \"../matrix/index.js\";\nexport const colorSchemeValues = [\"default\", \"marginless\"];\nexport class SvgCreator {\n constructor(args) {\n _SvgCreator_foregroundColor.set(this, void 0);\n _SvgCreator_white.set(this, void 0);\n _SvgCreator_backgroundColor.set(this, void 0);\n _SvgCreator_black.set(this, void 0);\n _SvgCreator_gray.set(this, void 0);\n _SvgCreator_logoColor.set(this, void 0);\n this.getMarkup = (url, renderLogo = true) => {\n if (!url)\n return \"\";\n const ecLevel = \"H\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const bitMatrix = generateQrMatrix(url, ecLevel);\n const viewBox = `0 0 ${bitMatrix.length} ${bitMatrix[0].length}`;\n return `\n \n ${bitMatrix\n .map((bitRow, rowIndex) => {\n return bitRow\n .map((bit, cellIndex) => {\n return this.getPixelMarkup({\n baseClass: SvgCreator.isAlignmentPixel(bitRow.length, rowIndex, cellIndex)\n ? \"alignment\"\n : \"bit\",\n on: !!bit,\n x: rowIndex,\n y: cellIndex,\n });\n })\n .join(\"\\n\");\n })\n .join(\"\\n\")}\n ${this.getLogoMarkup(renderLogo, bitMatrix.length)}\n \n `;\n };\n this.getPixelMarkup = ({ baseClass, on, x, y }) => {\n const className = `${baseClass} ${on ? \"on\" : \"off\"}`;\n const fillColor = this.getFillColor(className);\n const background = typeof fillColor === \"string\" ? fillColor : fillColor.background;\n const foreground = typeof fillColor === \"string\" ? fillColor : fillColor.foreground;\n return `\n \n \n `;\n };\n this.getFillColor = (className) => {\n switch (className) {\n case \"alignment off\":\n return __classPrivateFieldGet(this, _SvgCreator_white, \"f\");\n case \"alignment on\":\n return __classPrivateFieldGet(this, _SvgCreator_foregroundColor, \"f\");\n case \"bit off\":\n return { background: __classPrivateFieldGet(this, _SvgCreator_backgroundColor, \"f\"), foreground: __classPrivateFieldGet(this, _SvgCreator_white, \"f\") };\n case \"bit on\":\n return { background: __classPrivateFieldGet(this, _SvgCreator_backgroundColor, \"f\"), foreground: __classPrivateFieldGet(this, _SvgCreator_black, \"f\") };\n }\n return \"transparent\";\n };\n this.getLogoMarkup = (renderLogo, bitMatrixLength) => {\n // This needs to be done because the bitMatrix length changes based on url length which will affect positioning\n const position = 0.31 * bitMatrixLength;\n const dimension = 0.38 * bitMatrixLength;\n const fill = __classPrivateFieldGet(this, _SvgCreator_logoColor, \"f\");\n if (renderLogo) {\n return `\n \n \n \n \n \n`;\n }\n return \"\";\n };\n const { colorScheme = \"default\", colorsOverride } = args !== null && args !== void 0 ? args : {};\n const { backgroundColor, black, foregroundColor, gray, logoColor, white } = colorsOverride !== null && colorsOverride !== void 0 ? colorsOverride : {};\n const isMarginless = colorScheme === \"marginless\";\n __classPrivateFieldSet(this, _SvgCreator_black, black !== null && black !== void 0 ? black : \"black\", \"f\");\n __classPrivateFieldSet(this, _SvgCreator_white, white !== null && white !== void 0 ? white : \"white\", \"f\");\n __classPrivateFieldSet(this, _SvgCreator_gray, gray !== null && gray !== void 0 ? gray : \"gray\", \"f\");\n __classPrivateFieldSet(this, _SvgCreator_foregroundColor, foregroundColor !== null && foregroundColor !== void 0 ? foregroundColor : (isMarginless ? __classPrivateFieldGet(this, _SvgCreator_black, \"f\") : __classPrivateFieldGet(this, _SvgCreator_gray, \"f\")), \"f\");\n __classPrivateFieldSet(this, _SvgCreator_backgroundColor, backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : (isMarginless ? __classPrivateFieldGet(this, _SvgCreator_white, \"f\") : __classPrivateFieldGet(this, _SvgCreator_gray, \"f\")), \"f\");\n __classPrivateFieldSet(this, _SvgCreator_logoColor, logoColor !== null && logoColor !== void 0 ? logoColor : (isMarginless ? __classPrivateFieldGet(this, _SvgCreator_black, \"f\") : __classPrivateFieldGet(this, _SvgCreator_white, \"f\")), \"f\");\n }\n}\n_SvgCreator_foregroundColor = new WeakMap(), _SvgCreator_white = new WeakMap(), _SvgCreator_backgroundColor = new WeakMap(), _SvgCreator_black = new WeakMap(), _SvgCreator_gray = new WeakMap(), _SvgCreator_logoColor = new WeakMap();\nSvgCreator.isAlignmentPixel = (qrSize, rowIndex, cellIndex) => {\n const anchorSize = 8;\n const qrMinusAnchorSize = qrSize - anchorSize - 1;\n const bottomRightStart = qrSize - 10;\n const bottomRightEnd = qrSize - 4;\n return (\n // Top left\n (rowIndex < anchorSize && cellIndex < anchorSize) ||\n // Top right\n (qrMinusAnchorSize < rowIndex && cellIndex < anchorSize) ||\n // Bottom left\n (rowIndex < anchorSize && qrMinusAnchorSize < cellIndex) ||\n // Bottom right\n (bottomRightStart < rowIndex &&\n rowIndex < bottomRightEnd &&\n bottomRightStart < cellIndex &&\n cellIndex < bottomRightEnd));\n};\n","import { QRCode } from \"./QRCode/index.js\";\nexport function generateQrMatrix(text, ec_level = \"H\") {\n const bitMatrix = QRCode.makeAndReturnMatrix(text, ec_level);\n return bitMatrix;\n}\n","import { __rest } from \"tslib\";\nimport { SvgCreator } from \"@tesla/qr\";\nimport React, { useMemo } from \"react\";\nexport function Qr(props) {\n const { colorScheme, disableLogo, url } = props, rest = __rest(props, [\"colorScheme\", \"disableLogo\", \"url\"]);\n const svg = useMemo(() => {\n let white = \"--tds-color--white\";\n let gray = \"--tds-color--grey35\";\n let black = \"--tds-color--black\";\n let foregroundColor = `var(${gray})`;\n let backgroundColor = `var(${gray})`;\n let logoColor = `var(${white})`;\n if (colorScheme === \"marginless\") {\n black = `var(--tds-theme-foreground, ${black})`;\n white = `var(--tds-theme-background, ${white})`;\n foregroundColor = black;\n backgroundColor = white;\n logoColor = black;\n }\n else {\n white = `var(${white})`;\n black = `var(${black})`;\n gray = `var(${gray})`;\n }\n const svgCreator = new SvgCreator({\n colorScheme,\n colorsOverride: {\n backgroundColor,\n black,\n foregroundColor,\n gray,\n logoColor,\n white,\n },\n });\n return svgCreator.getMarkup(url, !disableLogo);\n }, [colorScheme, url, disableLogo]);\n return (React.createElement(\"span\", Object.assign({}, rest, { dangerouslySetInnerHTML: {\n __html: svg,\n } })));\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"spinner\":\"styles_spinner__S2wms\",\"Select-animation-spin\":\"styles_Select-animation-spin__ZF3HU\",\"spinnerWithFade\":\"styles_spinnerWithFade__CD8i9\",\"slow\":\"styles_slow__QgkpR\",\"green\":\"styles_green__TUgs6\",\"ash\":\"styles_ash__d1mnp\",\"red\":\"styles_red__acdYl\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cs from 'classnames';\nimport styles from './styles.module.css';\n\nconst Spinner = ({ height, width, color, className, speed, fadedStyle }) => {\n const spinnerClasses = cs([styles.spinner], className, {\n [styles.spinnerWithFade]: fadedStyle,\n [styles.green]: color === 'green',\n [styles.ash]: color === 'ash',\n [styles.red]: color === 'red',\n [styles.slow]: speed === 'slow',\n });\n return
;\n};\n\nconst { string, oneOf, bool } = PropTypes;\n\nSpinner.propTypes = {\n height: string,\n width: string,\n color: oneOf(['green', 'ash', 'red']),\n speed: oneOf(['fast', 'slow']),\n className: string,\n fadedStyle: bool,\n};\n\nSpinner.defaultProps = {\n height: '30px',\n width: '30px',\n color: 'green',\n className: '',\n speed: 'fast',\n fadedStyle: false,\n};\n\nexport default Spinner;\n","import { CONTACT_US_DETAILS_MAPPING } from '../pages/TroubleshootingGuide/constants';\n\nexport const checkResult = (list, selected) => {\n if (!list) return {};\n const result = list.find(item => item.key === selected);\n return result || {};\n};\n\n// Chat subject doesn't work with \"\\n\" characters\n// Replace those characters with \" | \"\nexport const getChatSubject = note => (note || '').replace(/(\\n|\\r)+/g, ' | ');\n\nexport const getContactUsOverrides = (troubleshootingGuide, contactUsOverrides) => {\n const detailsByTroubleshootingGuide = CONTACT_US_DETAILS_MAPPING[troubleshootingGuide];\n const { chatTeam, symptomCode } = contactUsOverrides;\n\n if (!detailsByTroubleshootingGuide && !chatTeam && !symptomCode) {\n return null;\n }\n\n return {\n ...detailsByTroubleshootingGuide,\n ...contactUsOverrides,\n symptomCode: symptomCode || detailsByTroubleshootingGuide?.symptomCode,\n };\n};\n","import { createSelector, createStructuredSelector } from 'reselect';\nimport {\n translationsDomain,\n contactDomain,\n solutionsDomain,\n selectChatAvailabilityRequestStatus,\n selectIsEnergySupportedQueue,\n bffDomain,\n} from '../../selectors';\nimport getAvailabilityString from '../../../../utils/normalizeAvailability';\nimport { checkResult } from '../../../../utils/contact';\n\nconst selectAvailabilityString = createSelector(\n bffDomain(),\n translationsDomain(),\n contactDomain(),\n (bffData, translations, contact) =>\n getAvailabilityString(bffData.locale, translations.contactForm.availability, contact.timeFrame)\n);\n\nexport const selectTranslations = createSelector(\n translationsDomain(),\n contactDomain(),\n solutionsDomain(),\n (\n translations,\n { firstChoice, secondChoice, completedTroubleshootingGuide },\n { data: solutionsData }\n ) => {\n const contactFormTranslations = translations.contactForm;\n const issueSpecificTranslations = contactFormTranslations[secondChoice] || {};\n const translationOverrides = {};\n const { children: secondaryList } = checkResult(solutionsData, firstChoice);\n const issueSubcategory = secondChoice || firstChoice;\n const solutionInfo = checkResult(secondaryList, issueSubcategory);\n const { chat } = solutionInfo;\n if (\n completedTroubleshootingGuide &&\n chat &&\n contactFormTranslations.chatFasterResolutionHeader\n ) {\n translationOverrides.textHeader = contactFormTranslations.chatFasterResolutionHeader;\n }\n return {\n ...contactFormTranslations,\n ...issueSpecificTranslations,\n ...translationOverrides,\n };\n }\n);\n\nconst selectSharedStrings = createSelector(\n translationsDomain(),\n subState => subState.shared\n);\n\nconst selectIsChatEnabled = createSelector(\n contactDomain(),\n subState => subState.isChatEnabled && !subState.isChatOngoing\n);\n\nconst selectIsChatOngoing = createSelector(\n contactDomain(),\n subState => subState.isChatOngoing\n);\n\nexport default createStructuredSelector({\n availabilityString: selectAvailabilityString,\n translations: selectTranslations,\n sharedTranslations: selectSharedStrings,\n isChatEnabled: selectIsChatEnabled,\n isChatOngoing: selectIsChatOngoing,\n isEnergySupportedQueue: selectIsEnergySupportedQueue,\n chatAvailabilityRequestStatus: selectChatAvailabilityRequestStatus,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"ButtonContainer\":\"styles_ButtonContainer__vfOvJ\",\"isLoading\":\"styles_isLoading__w2n2p\",\"Container\":\"styles_Container__nzGv0\",\"TextAreaContainer\":\"styles_TextAreaContainer__4JcQf\",\"CharacterCount\":\"styles_CharacterCount__X5+Zr\",\"TextArea\":\"styles_TextArea__IUtu+\",\"Error\":\"styles_Error__5Nfi9\",\"ErrorText\":\"styles_ErrorText__ivUpG\",\"ErrorMessage\":\"styles_ErrorMessage__whRGS\",\"Button\":\"styles_Button__p+a2t\",\"BottomButton\":\"styles_BottomButton__r6MzC\",\"EmailTextArea\":\"styles_EmailTextArea__oVmk1\"};","import React from 'react';\nimport { bool, func, string, shape } from 'prop-types';\nimport { connect } from 'react-redux';\nimport { Button, FormInputTextarea, FormItem, FormLabel, Text } from '@tesla/design-system-react';\nimport { REQUEST_IN_PROGRESS } from '../../../../types';\nimport Spinner from '../../../../shared/components/Spinner';\nimport { DESCRIBE_YOUR_QUESTION_LENGTH } from '../../../../utils/constants';\nimport Selectors from './selectors';\n\nimport styles from './styles.module.css';\n\nconst propTypes = {\n chat: bool,\n hideEmailWhenChatAvail: bool,\n isChatEnabled: bool.isRequired,\n isChatOngoing: bool.isRequired,\n email: bool,\n isSendEmailClicked: bool,\n isDescriptionValid: bool,\n handleDescriptionChange: func.isRequired,\n submitSendEmailRequest: func.isRequired,\n runChat: func.isRequired,\n isChatClicked: bool,\n availabilityString: string,\n translations: shape({}),\n sharedTranslations: shape({}),\n additionalNote: string.isRequired,\n isEnergySupportedQueue: bool.isRequired,\n chatAvailabilityRequestStatus: string.isRequired,\n};\n\nconst defaultProps = {\n chat: false,\n email: false,\n hideEmailWhenChatAvail: false,\n isSendEmailClicked: false,\n isDescriptionValid: false,\n isChatClicked: false,\n availabilityString: '',\n translations: {},\n sharedTranslations: {},\n};\n\nconst ContactForm = ({\n chat,\n isChatEnabled,\n isChatOngoing,\n email,\n runChat,\n isChatClicked,\n isSendEmailClicked,\n isDescriptionValid,\n submitSendEmailRequest,\n handleDescriptionChange,\n availabilityString,\n translations,\n sharedTranslations,\n hideEmailWhenChatAvail,\n additionalNote,\n isEnergySupportedQueue,\n chatAvailabilityRequestStatus,\n}) => {\n const showEmailButton = email && (!hideEmailWhenChatAvail || !isChatEnabled) && !isChatOngoing;\n const hideChatButton = window.innerWidth <= 600 && !isEnergySupportedQueue;\n const disableChat = !isChatEnabled || hideChatButton;\n const isLoading = chatAvailabilityRequestStatus === REQUEST_IN_PROGRESS;\n\n return (\n
\n \n {translations.textHeader}\n \n
\n \n {(translations.charactersLeft ?? '').replace(\n '##NUMBER##',\n `${DESCRIBE_YOUR_QUESTION_LENGTH - additionalNote.length}`\n )}\n \n
\n
\n {(isSendEmailClicked && !isDescriptionValid) || (isChatClicked && !isDescriptionValid) ? (\n
\n

\n {sharedTranslations.errorMessage}\n

\n
\n ) : null}\n\n
\n {isLoading ? (\n \n ) : (\n
\n {chat && !hideChatButton ? (\n \n {translations.chatButton}\n \n ) : null}\n\n {showEmailButton ? (\n \n {translations.emailButton}\n \n ) : null}\n
\n )}\n
\n\n {chat ? (\n

\n {availabilityString}\n

\n ) : null}\n
\n );\n};\n\nContactForm.propTypes = propTypes;\nContactForm.defaultProps = defaultProps;\n\nexport default connect(Selectors)(ContactForm);\n","import startOfDay from '../startOfDay/index.js';\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n if (arguments.length < 2) {\n throw new TypeError('2 arguments required, but only ' + arguments.length + ' present');\n }\n\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import { createSelector, createStructuredSelector } from 'reselect';\nimport { translationsDomain, bffDomain, contactDomain } from '../../selectors';\n\nconst selectTranslations = createSelector(\n translationsDomain(),\n subState => subState.requestDataCopy\n);\n\nconst selectSharedStrings = createSelector(\n translationsDomain(),\n subState => subState.shared\n);\n\nconst selectVehicles = createSelector(\n bffDomain(),\n subState => subState.allVehicles\n);\n\nconst selectDataRequestStatus = createSelector(\n contactDomain(),\n subState => subState.dataRequestStatus\n);\n\nexport default createStructuredSelector({\n translations: selectTranslations,\n sharedTranslations: selectSharedStrings,\n vehicles: selectVehicles,\n dataRequestStatus: selectDataRequestStatus,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"DataCopy\":\"styles_DataCopy__db0HJ\",\"Arrow\":\"styles_Arrow__WaiQe\",\"Title\":\"styles_Title__T9Cir\",\"Item\":\"styles_Item__ejq4m\",\"ErrorInput\":\"styles_ErrorInput__ZGzYA\",\"ButtonContainer\":\"styles_ButtonContainer__IBoGs\",\"InputDate\":\"styles_InputDate__P0kcD\",\"InputDateFrom\":\"styles_InputDateFrom__TsOQ9\",\"InputDateTo\":\"styles_InputDateTo__M7LGY\",\"Info\":\"styles_Info__+lAYj\",\"ProcessInfo\":\"styles_ProcessInfo__VrY59\",\"SelectContainer\":\"styles_SelectContainer__dCzvm\",\"SelectStyle\":\"styles_SelectStyle__iKI2i\",\"ExtraInfo\":\"styles_ExtraInfo__HU9hz\",\"Error\":\"styles_Error__27UO9\",\"ErrorText\":\"styles_ErrorText__G1nIw\",\"ListInfo\":\"styles_ListInfo__QU1-K\"};","import React from 'react';\nimport { connect } from 'react-redux';\nimport { arrayOf, func, string, bool, shape, oneOfType, instanceOf } from 'prop-types';\nimport { FormItem, FormInputSelect, FormInputDate, FormLabel } from '@tesla/design-system-react';\nimport { isSameDay } from 'date-fns';\nimport Selectors from './selectors';\nimport styles from './styles.module.css';\nimport { getLocalizeUrl } from '../../../../shared/utils/url';\nimport { REQUEST_FAILED } from '../../../../types';\nimport { TimeInMs } from '../../../../utils/constants';\n\nconst propTypes = {\n vin: string,\n reservationDate: string.isRequired,\n vehicleTransferDate: string.isRequired,\n vehicles: arrayOf(shape({})),\n isDataCopyValid: bool,\n isDataCopyClicked: bool,\n chooseDays: func.isRequired,\n submitDataCopyRequest: func.isRequired,\n translations: shape({}),\n sharedTranslations: shape({}),\n dataRequestStatus: string,\n selectVehicle: func.isRequired,\n locale: string,\n startDate: oneOfType([string, instanceOf(Date)]),\n endDate: oneOfType([string, instanceOf(Date)]),\n};\n\nconst defaultProps = {\n vin: '',\n vehicles: [],\n isDataCopyValid: false,\n isDataCopyClicked: false,\n translations: {},\n sharedTranslations: {},\n dataRequestStatus: REQUEST_FAILED,\n locale: '',\n startDate: '',\n endDate: '',\n};\n\nclass DataCopyForm extends React.PureComponent {\n validateDateRange = (startDate, endDate) => {\n const now = new Date();\n if (startDate >= endDate || startDate > now || endDate > now) {\n // eslint-disable-next-line react/destructuring-assignment\n this.props.chooseDays(startDate, endDate, false);\n } else {\n // eslint-disable-next-line react/destructuring-assignment\n this.props.chooseDays(startDate, endDate, true);\n }\n };\n\n render() {\n const {\n vin,\n reservationDate,\n vehicleTransferDate,\n vehicles,\n chooseDays,\n isDataCopyValid,\n isDataCopyClicked,\n submitDataCopyRequest,\n translations,\n sharedTranslations,\n dataRequestStatus,\n selectVehicle,\n locale,\n startDate,\n endDate,\n } = this.props;\n\n const filteredVehicles = vehicles.filter(item => !!item.vin);\n const isCNFlow = locale === 'zh_CN';\n\n const now = new Date();\n const DEFAULT_START_DATE = new Date(now.getTime() - TimeInMs.ONE_WEEK);\n const DEFAULT_CN_START_DATE = new Date('07/01/2021');\n const DEFAULT_END_DATE = vehicleTransferDate ? new Date(vehicleTransferDate) : now;\n const MIN_DATE = reservationDate\n ? new Date(reservationDate)\n : new Date(now.getTime() - TimeInMs.THREE_YEARS);\n\n if (startDate === '' && endDate === '') {\n chooseDays(isCNFlow ? DEFAULT_CN_START_DATE : DEFAULT_START_DATE, DEFAULT_END_DATE, true);\n }\n\n const isDisabledDate = date =>\n (!isSameDay(date, new Date()) && date > DEFAULT_END_DATE) ||\n (!isSameDay(date, new Date()) && date < MIN_DATE);\n\n const inputDateLocale = locale.replace('_', '-');\n\n return (\n
\n {isCNFlow &&

{translations.header}

}\n {vehicles.length ? (\n <>\n
{translations.vehicleTitle}
\n
{translations.vehicleHeader}
\n \n selectVehicle(e)}>\n \n {filteredVehicles.map(item => (\n \n {`${item.model} - ${translations.vin}: ${item.vin}`}\n \n ))}\n \n \n \n ) : (\n
{translations.noVehicle}
\n )}\n\n
\n \n {sharedTranslations.from}:\n this.validateDateRange(date, endDate)}\n date={startDate}\n />\n \n\n \n {sharedTranslations.to}:\n this.validateDateRange(startDate, date)}\n date={endDate}\n />\n \n
\n\n
\n {isDataCopyClicked && isDataCopyValid ? (\n {translations[dataRequestStatus]}\n ) : (\n 0) ||\n vin === 'default' ||\n !isDataCopyValid\n }\n >\n {sharedTranslations.submit}\n \n )}\n
\n
\n \n {translations.processInfo}\n \n {translations.learnMore}\n \n \n
\n
\n );\n }\n}\n\nDataCopyForm.propTypes = propTypes;\nDataCopyForm.defaultProps = defaultProps;\n\nexport default connect(Selectors)(DataCopyForm);\n","import { createSelector, createStructuredSelector } from 'reselect';\nimport {\n bffDomain,\n translationsDomain,\n rootDomain,\n contactDomain,\n selectLocale,\n} from '../../selectors';\nimport links from '../../../../utils/links';\n\nexport const selectTranslations = createSelector(\n translationsDomain(),\n ({ shared, deleteAccount, reimbursementForm }) => {\n return { ...shared, ...deleteAccount, ...reimbursementForm };\n }\n);\n\nexport const selectCheckAccount = createSelector(\n rootDomain(),\n ({ checkAccount }) => checkAccount\n);\n\nexport const selectClickEmailUsStatus = createSelector(\n contactDomain(),\n ({ clickEmailUsStatus }) => clickEmailUsStatus\n);\n\nexport const selectEnableDeleteAccountEntryPoint = createSelector(\n bffDomain(),\n ({ isDeleteAccountEntryPointEnabled }) => !!isDeleteAccountEntryPointEnabled\n);\n\nconst selectDeleteAccountUrl = createSelector(\n bffDomain(),\n ({ locale, teslaUrl }) =>\n (teslaUrl.includes('www.tesla')\n ? links.ACCOUNTS_DELETE_PROD\n : links.ACCOUNTS_DELETE_STAGE\n ).replace('##LOCALE##', locale)\n);\n\nexport default createStructuredSelector({\n translations: selectTranslations,\n checkAccount: selectCheckAccount,\n locale: selectLocale,\n clickEmailUsStatus: selectClickEmailUsStatus,\n enableDeleteAccountEntryPoint: selectEnableDeleteAccountEntryPoint,\n deleteAccountUrl: selectDeleteAccountUrl,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"Disclaimer\":\"styles_Disclaimer__lFt-A\",\"ContinueCta\":\"styles_ContinueCta__HNCbh\"};","import React, { useEffect } from 'react';\nimport { bool, func, shape, string } from 'prop-types';\nimport { connect } from 'react-redux';\nimport { Button } from '@tesla/design-system-react';\nimport links from '../../../../utils/links';\nimport { CategoryCode } from '../../../../utils/constants';\nimport { REQUEST_FAILED } from '../../../../types';\nimport { getLocalizeUrl } from '../../../../shared/utils/url';\nimport Selectors from './selectors';\nimport * as actions from '../../../../actions';\n\nimport styles from './styles.module.css';\n\nconst propTypes = {\n locale: string.isRequired,\n translations: shape({}).isRequired,\n checkAccountRequest: func.isRequired,\n checkAccount: shape({\n isLoading: bool,\n isLoaded: bool,\n error: bool,\n isAccountDeletable: bool,\n }).isRequired,\n clickEmailUsRequest: func.isRequired,\n clickEmailUsStatus: string.isRequired,\n enableDeleteAccountEntryPoint: bool.isRequired,\n deleteAccountUrl: string.isRequired,\n};\n\nconst defaultProps = {};\n\nconst DeleteAccount = ({\n locale,\n translations,\n checkAccountRequest,\n checkAccount: {\n isLoading: checkAccountLoading,\n isLoaded: checkAccountLoaded,\n error: checkAccountError,\n isAccountDeletable,\n },\n clickEmailUsRequest,\n clickEmailUsStatus,\n enableDeleteAccountEntryPoint,\n deleteAccountUrl,\n}) => {\n useEffect(() => {\n if (enableDeleteAccountEntryPoint) {\n window.location.href = deleteAccountUrl;\n } else {\n checkAccountRequest();\n }\n }, []);\n\n const {\n beforeDeletingYourAccount: beforeDeletingYourAccountCopy,\n continueString,\n failToSubmit,\n privacyPage,\n someExceptionsApply,\n pleaseVisitHere: pleaseVisitHereCopy,\n } = translations;\n const beforeDeletingYourAccount = beforeDeletingYourAccountCopy.replace(\n '##SOME_EXCEPTIONS_APPLY##',\n `${someExceptionsApply}`\n );\n const pleaseVisitHere = pleaseVisitHereCopy.replace(\n '##PRIVACY_PAGE##',\n `${privacyPage}`\n );\n const showDisclaimer = !checkAccountLoading && checkAccountLoaded && !checkAccountError;\n const showError =\n (!checkAccountLoading && checkAccountLoaded && checkAccountError) ||\n clickEmailUsStatus === REQUEST_FAILED;\n\n const handleClick = () => {\n clickEmailUsRequest({\n additionalNote: '',\n categoryCode: CategoryCode.GDPR,\n locale,\n });\n };\n\n return (\n
\n {showDisclaimer &&\n (isAccountDeletable ? (\n <>\n \n \n {continueString}\n \n \n ) : (\n \n ))}\n {showError &&

{failToSubmit}

}\n
\n );\n};\n\nDeleteAccount.propTypes = propTypes;\nDeleteAccount.defaultProps = defaultProps;\n\nexport default connect(\n Selectors,\n actions\n)(DeleteAccount);\n","// extracted by mini-css-extract-plugin\nexport default {\"Title\":\"styles_Title__fDbHd\",\"GenerateIraDocument\":\"styles_GenerateIraDocument__IT+Kj\",\"Disclaimer\":\"styles_Disclaimer__04UnG\"};","import { Button, FormLayout, Text } from '@tesla/design-system-react';\nimport { Form, Input, Select } from '@tesla/informed-tds';\nimport axios from 'axios';\nimport { arrayOf, shape } from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { filterXSS } from 'xss';\nimport Selectors from './selectors';\nimport styles from './styles.module.css';\n\nconst propTypes = {\n translations: shape({}),\n vehicles: arrayOf(shape({})),\n};\n\nconst defaultProps = {\n translations: {},\n vehicles: [],\n};\n\nconst GenerateIraDocument = ({ translations, vehicles }) => {\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isBusinessVehicle, setIsBusinessVehicle] = useState(false);\n const [isTrust, setIsTrust] = useState(false);\n const [isTwoPeople, setIsTwoPeople] = useState(false);\n const history = useHistory();\n\n const onSubmit = async ({ values: { registrant, ssn, taxId, vin } }) => {\n setIsSubmitting(true);\n try {\n let payload = {};\n\n if (vin.includes('true')) {\n const sanitizedInput = filterXSS(taxId);\n const encrypted = btoa(sanitizedInput);\n payload = { taxId: encrypted };\n }\n\n if (isTrust || vin.includes('false')) {\n const sanitizedInput = filterXSS(ssn);\n const encrypted = btoa(sanitizedInput);\n payload = { ...payload, ssn: encrypted };\n }\n\n const response = await axios.post('/contactus/api/ira-document', {\n registrant: registrant != null ? registrant : 'PRIMARY',\n vin: vin.split(',')[0],\n ...payload,\n });\n\n if (response.status === 200) {\n history.push('/ira-document/confirmation');\n }\n } catch {\n history.push('/ira-document/try-again');\n }\n };\n\n return (\n
\n {vehicles.length === 0 ? (\n {translations.noEligibleVehicles}\n ) : (\n
\n \n {\n if (value && value !== 'default') {\n return undefined;\n }\n return translations.required;\n }}\n onChange={fieldState => {\n const isB2B = fieldState?.value?.includes('true');\n const isTwoPeopleRegistrant = fieldState?.value?.includes('TWO_PEOPLE');\n const isTrustRegistrant = fieldState?.value?.includes('TRUST');\n\n setIsBusinessVehicle(isB2B);\n setIsTwoPeople(isTwoPeopleRegistrant);\n setIsTrust(isTrustRegistrant);\n }}\n >\n \n {vehicles.map(item => (\n \n ))}\n \n {isTwoPeople ? (\n \n \n \n \n ) : (\n <>\n )}\n {isTrust ? (\n <>\n \n value == null && values.ssn == null\n ? translations.pleaseEnterATaxIdOrSsn\n : undefined\n }\n validateOn=\"change\"\n validateWhen={['ssn']}\n />\n \n value == null && values.taxId == null\n ? translations.pleaseEnterATaxIdOrSsn\n : undefined\n }\n validateOn=\"change\"\n validateWhen={['taxId']}\n />\n \n ) : (\n <>\n )}\n {isBusinessVehicle && !isTrust ? (\n \n ) : (\n <>\n )}\n {!isBusinessVehicle && !isTrust ? (\n \n ) : (\n <>\n )}\n {translations.thisDocumentIsOnlyValid}\n \n \n
\n )}\n
\n );\n};\n\nGenerateIraDocument.propTypes = propTypes;\nGenerateIraDocument.defaultProps = defaultProps;\n\nexport default connect(Selectors)(GenerateIraDocument);\n","export default time => {\n setTimeout(() => {\n window.location.href = `/support`;\n }, time);\n};\n","const handleLinks = (locale, link, shopUrl) => {\n if (typeof link !== 'string') return link;\n\n let returnStr = link;\n if (returnStr.includes('##locale##')) {\n const replaceLocale = typeof locale === 'string' ? locale : '';\n returnStr = returnStr.replace('##locale##', replaceLocale);\n }\n\n if (returnStr.includes('##environment##')) {\n const replaceShopUrl = typeof shopUrl === 'string' ? shopUrl : 'https://shop.tesla.com';\n returnStr = returnStr.replace('##environment##', replaceShopUrl);\n }\n\n if (returnStr.includes('?')) {\n returnStr += '&redirect=no';\n } else if (returnStr.includes('#')) {\n returnStr = returnStr.split('#').join('?redirect=no#');\n } else {\n returnStr += '?redirect=no';\n }\n\n return returnStr;\n};\n\nexport default handleLinks;\n","export const interactions = {\n chooseTopic: 'choose-topic',\n chooseSubTopic: 'choose-sub-topic',\n submit: 'submit',\n needMoreHelp: 'need-more-help',\n linkToSupportPages: 'link-to-support-pages',\n emailUs: 'email-us',\n chatWithUs: 'chat-with-us',\n};\n\nexport const pushGAInteraction = (interaction, label) => {\n if (window.dataLayer && window.dataLayer.push) {\n window.dataLayer.push({\n event: 'support',\n interaction,\n label,\n });\n }\n};\n","import { createSelector, createStructuredSelector } from 'reselect';\nimport { translationsDomain, bffDomain } from '../../selectors';\n\nconst selectTranslations = createSelector(\n translationsDomain(),\n subState => subState.solutions\n);\n\nconst selectSplashTranslations = createSelector(\n translationsDomain(),\n subState => subState.splashScreen\n);\n\nconst selectSolutionMappingTranslations = createSelector(\n translationsDomain(),\n subState => subState.solutionMapping\n);\n\nconst selectShopUrl = createSelector(\n bffDomain(),\n subState => subState.shopUrl\n);\n\nconst selectIsTeslaAssistEnabled = createSelector(\n bffDomain(),\n subState => subState.isTeslaAssistEnabled ?? false\n);\n\nexport default createStructuredSelector({\n shopUrl: selectShopUrl,\n solutionMappingTranslations: selectSolutionMappingTranslations,\n translations: selectTranslations,\n splashTranslations: selectSplashTranslations,\n isTeslaAssistEnabled: selectIsTeslaAssistEnabled,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"styles_Container__gd0Tf\",\"SolutionContainer\":\"styles_SolutionContainer__FJ0Wr\",\"AdditionalInfo\":\"styles_AdditionalInfo__c31EO\",\"NeedHelp\":\"styles_NeedHelp__0fxK-\",\"Link\":\"styles_Link__ovk4P\",\"QrCode\":\"styles_QrCode__00XdZ\",\"ButtonMargin\":\"styles_ButtonMargin__m++cQ\"};","import React from 'react';\nimport { arrayOf, bool, func, string, shape, oneOfType, instanceOf } from 'prop-types';\nimport { connect } from 'react-redux';\nimport { Button, ButtonGroup, Heading, Link, Text } from '@tesla/design-system-react';\nimport { Qr } from '@tesla/qr-react';\nimport ContactForm from '../ContactForm';\nimport DataCopyForm from '../RequestDataCopy';\nimport DeleteAccount from '../DeleteAccount';\nimport { TESLA_ASSIST_UNIVERSAL_LINK } from '../../../../utils/constants';\nimport GenerateIraDocument from '../GenerateIraDocument';\nimport redirect from '../../../../utils/redirect';\nimport handleLinks from '../../../../utils/handleLinks';\nimport { pushGAInteraction, interactions } from '../../gaTags';\nimport Selectors from './selectors';\n\nimport styles from './styles.module.css';\n\nconst propTypes = {\n chat: bool,\n chooseDays: func.isRequired,\n hideEmailWhenChatAvail: bool,\n clickMoreHelp: func.isRequired,\n contact: bool,\n email: bool,\n endDate: oneOfType([string, instanceOf(Date)]),\n handleDescriptionChange: func.isRequired,\n isChatClicked: bool,\n isDataCopyClicked: bool,\n isDataCopyValid: bool,\n isDescriptionValid: bool,\n isSendEmailClicked: bool,\n isTeslaAssistEnabled: bool.isRequired,\n locale: string,\n reservationDate: string.isRequired,\n runChat: func.isRequired,\n firstChoice: string,\n secondChoice: string,\n selectVehicle: func.isRequired,\n shopUrl: string.isRequired,\n solutionMappingTranslations: shape({}),\n solutions: arrayOf(shape({})),\n startDate: oneOfType([string, instanceOf(Date)]),\n submitDataCopyRequest: func.isRequired,\n submitSendEmailRequest: func.isRequired,\n translations: shape({}),\n splashTranslations: shape({}),\n vin: string,\n vehicleTransferDate: string.isRequired,\n additionalNote: string.isRequired,\n};\n\nconst defaultProps = {\n chat: false,\n contact: false,\n email: false,\n hideEmailWhenChatAvail: false,\n endDate: '',\n isChatClicked: false,\n isDataCopyClicked: false,\n isDataCopyValid: false,\n isDescriptionValid: false,\n isSendEmailClicked: false,\n locale: '',\n firstChoice: '',\n secondChoice: '',\n solutionMappingTranslations: {},\n solutions: [],\n startDate: '',\n translations: {},\n splashTranslations: {},\n vin: '',\n};\n\nconst Card = ({\n chat,\n chooseDays,\n clickMoreHelp,\n contact,\n email,\n endDate,\n handleDescriptionChange,\n isChatClicked,\n isDataCopyClicked,\n isDataCopyValid,\n isDescriptionValid,\n isSendEmailClicked,\n isTeslaAssistEnabled,\n locale,\n reservationDate,\n runChat,\n firstChoice,\n secondChoice,\n selectVehicle,\n shopUrl,\n solutionMappingTranslations,\n solutions,\n splashTranslations,\n startDate,\n submitDataCopyRequest,\n submitSendEmailRequest,\n translations,\n vin,\n vehicleTransferDate,\n hideEmailWhenChatAvail,\n additionalNote,\n}) => {\n const link = TESLA_ASSIST_UNIVERSAL_LINK.replace('##LOCALE##', locale);\n const { correctMyDataDisclaimer, foundAnswer, moreHelp, no, yes } = translations;\n const {\n ifYouCantScanTheCode,\n openTeslaApp,\n openTeslaAppToGetPersonalizedAnswers,\n scanTheQrCodeBelow,\n tryTeslaAssist,\n } = splashTranslations;\n\n return (\n <>\n {firstChoice.toLowerCase() === 'generateIraDocument'.toLowerCase() ? (\n \n ) : (\n <>\n )}\n {secondChoice.toLowerCase() === 'obtainACopyOfMyData'.toLowerCase() ? (\n \n ) : (\n <>\n )}\n {firstChoice.toLowerCase() !== 'generateIraDocument'.toLowerCase() &&\n secondChoice.toLowerCase() !== 'obtainACopyOfMyData'.toLowerCase() ? (\n <>\n {contact ||\n secondChoice.toLowerCase() === 'rechargingAVehicleAtAMobilityOperator'.toLowerCase() ||\n secondChoice.toLowerCase() === 'requestVehicleBatteryTakeBackAppointment'.toLowerCase() ||\n secondChoice.toLowerCase() ===\n 'requestEnergyStorageProductTakeBackAppointment'.toLowerCase() ? (\n \n ) : (\n <>\n {secondChoice.toLowerCase() === 'deleteMyAccount'.toLowerCase() ? (\n \n ) : (\n <>\n {secondChoice.toLowerCase() === 'correctMyData'.toLowerCase() && (\n
\n

\n {correctMyDataDisclaimer}\n

\n
\n )}\n {secondChoice.toLowerCase() !== 'certificationOfConformity'.toLowerCase() && (\n

\n {foundAnswer}\n

\n )}\n
\n {solutions.map(item => {\n const linkTo = handleLinks(locale, item.link, shopUrl);\n return solutionMappingTranslations[item.key] ? (\n \n \n pushGAInteraction(interactions.linkToSupportPages, linkTo)\n }\n >\n {solutionMappingTranslations[item.key]}\n \n
\n ) : null;\n })}\n {chat || email ? (\n
\n
\n

\n {moreHelp}\n

\n
\n \n {\n pushGAInteraction(interactions.needMoreHelp, 'no');\n redirect();\n }}\n >\n {no}\n \n \n {yes}\n \n \n
\n ) : (\n <>\n {isTeslaAssistEnabled ? (\n
\n {tryTeslaAssist}\n
\n {scanTheQrCodeBelow}\n
\n \n
\n \n {ifYouCantScanTheCode}{' '}\n https://ts.la/app\n \n
\n
\n {openTeslaAppToGetPersonalizedAnswers}\n \n {openTeslaApp}\n \n
\n
\n ) : null}\n \n )}\n
\n \n )}\n \n )}\n \n ) : (\n <>\n )}\n \n );\n};\n\nCard.propTypes = propTypes;\nCard.defaultProps = defaultProps;\n\nexport default connect(Selectors)(Card);\n","import { createSelector, createStructuredSelector } from 'reselect';\nimport { translationsDomain } from '../../selectors';\n\nconst selectTranslations = createSelector(\n translationsDomain(),\n subState => subState.selectQuestion\n);\n\nconst selectSolutionMappingTranslations = createSelector(\n translationsDomain(),\n subState => subState.solutionMapping\n);\n\nconst selectSharedStrings = createSelector(\n translationsDomain(),\n subState => subState.shared\n);\n\nexport default createStructuredSelector({\n translations: selectTranslations,\n solutionMappingTranslations: selectSolutionMappingTranslations,\n sharedTranslations: selectSharedStrings,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"SubmitButton\":\"styles_SubmitButton__Few2F\",\"QuestionContainer\":\"styles_QuestionContainer__uWtEO\",\"Arrow\":\"styles_Arrow__0Eh6Y\",\"Header\":\"styles_Header__I8i6e\",\"SelectStyle\":\"styles_SelectStyle__Saj0t\",\"FirstSelect\":\"styles_FirstSelect__+hFYV\"};","import React from 'react';\nimport { string, arrayOf, func, bool, shape } from 'prop-types';\nimport { connect } from 'react-redux';\nimport { Button, FormInputSelect, FormItem, FormLabel } from '@tesla/design-system-react';\nimport Selectors from './selectors';\n\nimport styles from './styles.module.css';\nimport { RECALLS } from '../../../../types';\n\nconst propTypes = {\n firstChoice: string,\n secondChoice: string,\n isRequestSolution: bool,\n secondaryList: arrayOf(shape({})),\n handleClick: func.isRequired,\n handleFirstChange: func.isRequired,\n handleSecondChange: func.isRequired,\n solutionsData: arrayOf(shape({})).isRequired,\n translations: shape({}),\n sharedTranslations: shape({}),\n solutionMappingTranslations: shape({}),\n};\n\nconst defaultProps = {\n firstChoice: '',\n secondChoice: '',\n isRequestSolution: false,\n secondaryList: [],\n translations: {},\n sharedTranslations: {},\n solutionMappingTranslations: {},\n};\n\nconst SelectQuestion = ({\n firstChoice,\n secondChoice,\n secondaryList,\n isRequestSolution,\n handleFirstChange,\n handleSecondChange,\n handleClick,\n solutionsData,\n translations,\n sharedTranslations,\n solutionMappingTranslations,\n}) => (\n <>\n
\n \n \n {translations.header}\n \n \n \n {translations.defaultSelect}\n \n {solutionsData.map(item => (\n \n {solutionMappingTranslations[item.key]}\n \n ))}\n \n \n {solutionsData.find(item => item.key === firstChoice) &&\n firstChoice !== RECALLS &&\n firstChoice !== 'generateIraDocument' ? (\n \n \n \n {secondaryList.map(item =>\n solutionMappingTranslations[item.key] ? (\n \n {solutionMappingTranslations[item.key]}\n \n ) : null\n )}\n \n \n ) : null}\n
\n\n {(secondaryList.find(item => item.key === secondChoice) && !isRequestSolution) ||\n (firstChoice === RECALLS && !isRequestSolution) ||\n (firstChoice === 'generateIraDocument' && !isRequestSolution) ? (\n \n ) : null}\n \n);\n\nSelectQuestion.propTypes = propTypes;\nSelectQuestion.defaultProps = defaultProps;\n\nexport default connect(Selectors)(SelectQuestion);\n","// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"styles_Container__1NsPd\",\"Header\":\"styles_Header__vjUgR\",\"Icon\":\"styles_Icon__xVyrx\",\"IEWarning\":\"styles_IEWarning__j4uL7\",\"Message\":\"styles_Message__Fg0mX\",\"TextContainer\":\"styles_TextContainer__o46yX\"};","import * as csCZ from './cs_CZ.json';\nimport * as daDK from './da_DK.json';\nimport * as deDE from './de_DE.json';\nimport * as enUS from './en_US.json';\nimport * as esES from './es_ES.json';\nimport * as esMX from './es_MX.json';\nimport * as fiFI from './fi_FI.json';\nimport * as frCA from './fr_CA.json';\nimport * as frFR from './fr_FR.json';\nimport * as heIL from './he_IL.json';\nimport * as isIS from './is_IS.json';\nimport * as itIT from './it_IT.json';\nimport * as jpJP from './jp_JP.json';\nimport * as koKR from './ko_KR.json';\nimport * as nlNL from './nl_NL.json';\nimport * as noNO from './no_NO.json';\nimport * as ptPT from './pt_PT.json';\nimport * as svSE from './sv_SE.json';\nimport * as zhCN from './zh_CN.json';\nimport * as zhHK from './zh_HK.json';\nimport * as zhTW from './zh_TW.json';\n\n/**\n * Gets the translation for a model for a locale\n * @param {string} locale - en_US, fr_CA\n * @return {object} localized translation object\n */\nconst mappings = locale => {\n const defaultLocale = 'en_US';\n const translations = {\n cs_CZ: csCZ,\n da_DK: daDK,\n de_DE: deDE,\n en_US: enUS,\n es_ES: esES,\n es_MX: esMX,\n fi_FI: fiFI,\n fr_CA: frCA,\n fr_FR: frFR,\n he_IL: heIL,\n is_IS: isIS,\n it_IT: itIT,\n jp_JP: jpJP,\n ko_KR: koKR,\n nl_NL: nlNL,\n no_NO: noNO,\n pt_PT: ptPT,\n sv_SE: svSE,\n zh_CN: zhCN,\n zh_HK: zhHK,\n zh_TW: zhTW,\n };\n translations.de_AT = translations.de_DE;\n translations.de_CH = translations.de_DE;\n translations.de_LU = translations.de_DE;\n\n translations.fr_BE = translations.fr_FR;\n translations.fr_CH = translations.fr_FR;\n translations.fr_LU = translations.fr_FR;\n translations.it_CH = translations.it_IT;\n\n translations.nl_BE = translations.nl_NL;\n\n translations.zh_MO = translations.zh_HK;\n\n translations.enCA = translations.enUS;\n\n if (translations[locale]) {\n return translations[locale];\n }\n\n return translations[defaultLocale];\n};\n\n/**\n * Prepares locale specific translations for UI.\n * @param {string} locale - en_US, fr_CA\n * @return {object} localized translation object\n */\nexport const getTranslation = locale => mappings(locale);\n\nexport default getTranslation;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport styles from './styles.module.css';\nimport getTranslation from './locale';\n\nconst propTypes = {\n locale: string,\n};\n\nconst defaultProps = {\n locale: '',\n};\n\nconst BrowserCompatibilityWarning = ({ locale }) => (\n
\n
\n
\n
\n
\n
{getTranslation(locale).upgradeRecommended}
\n
\n
\n \n
\n
\n
\n
\n);\n\nBrowserCompatibilityWarning.propTypes = propTypes;\nBrowserCompatibilityWarning.defaultProps = defaultProps;\n\nexport default BrowserCompatibilityWarning;\n","// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"styles_Container__f3ZVR\",\"Info\":\"styles_Info__WcddD\",\"Header\":\"styles_Header__KaWhO\"};","import { createSelector, createStructuredSelector } from 'reselect';\nimport { translationsDomain, bffDomain, selectLocale } from '../../selectors';\n\nconst selectTranslations = createSelector(\n translationsDomain(),\n subState => subState.splashScreen\n);\n\nexport const selectIsSignedIn = createSelector(\n bffDomain(),\n subState => subState.isSignedIn ?? false\n);\n\nexport default createStructuredSelector({\n isSignedIn: selectIsSignedIn,\n translations: selectTranslations,\n locale: selectLocale,\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"styles_Container__gPlkr\",\"ContentBlock\":\"styles_ContentBlock__fzKbP\",\"QRCodeBlock\":\"styles_QRCodeBlock__vMYbZ\",\"QrCode\":\"styles_QrCode__5aJ2w\",\"ButtonMargin\":\"styles_ButtonMargin__KTSBM\",\"ImageBlock\":\"styles_ImageBlock__jU1Pj\"};","import { Button, Heading, Link, Text } from '@tesla/design-system-react';\nimport { Qr } from '@tesla/qr-react';\nimport axios from 'axios';\nimport { bool, shape, string } from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport Selectors from './selectors';\nimport styles from './styles.module.css';\nimport { TESLA_ASSIST_UNIVERSAL_LINK } from '../../../../utils/constants';\n\nconst propTypes = {\n isSignedIn: bool.isRequired,\n locale: string.isRequired,\n translations: shape({}),\n};\n\nconst defaultProps = { translations: {} };\n\nconst SplashScreen = ({ isSignedIn, locale, translations }) => {\n const link = TESLA_ASSIST_UNIVERSAL_LINK.replace('##LOCALE##', locale);\n const {\n askAQuestionOnWeb,\n contactUs,\n forGeneralSupportTopics,\n getStarted,\n ifYouCantScanTheCode,\n liveChatAccessTeslaAssist,\n openTeslaApp,\n openTeslaAppToAccessLiveChat,\n openTeslaAppToGetPersonalizedAnswers,\n scanTheQrCodeBelow,\n scanTheQrCodeToAcccessLiveChat,\n signIn,\n teslaAssistInApp,\n } = translations;\n const isGBOrIE = ['en_GB', 'en_IE'].includes(locale);\n\n return (\n
\n
\n
\n {contactUs}\n
\n
\n \n
\n
\n
\n
\n
\n

{contactUs}

\n
\n {isGBOrIE ? liveChatAccessTeslaAssist : teslaAssistInApp}\n
\n {isGBOrIE ? scanTheQrCodeToAcccessLiveChat : scanTheQrCodeBelow}\n
\n \n
\n \n {ifYouCantScanTheCode} https://ts.la/app\n \n
\n
\n \n {isGBOrIE ? openTeslaAppToAccessLiveChat : openTeslaAppToGetPersonalizedAnswers}\n \n \n {openTeslaApp}\n \n
\n
\n
\n {askAQuestionOnWeb}\n {forGeneralSupportTopics}\n {\n try {\n const res = await axios.post('/contactus/api/splash-screen-status');\n if (res.data.success) {\n window.location.reload();\n }\n } catch {\n // do nothing\n }\n }}\n >\n {isSignedIn ? getStarted : signIn}\n \n
\n
\n
\n );\n};\n\nSplashScreen.propTypes = propTypes;\nSplashScreen.defaultProps = defaultProps;\n\nexport default connect(Selectors)(SplashScreen);\n","// extracted by mini-css-extract-plugin\nexport default {\"ResultContainer\":\"styles_ResultContainer__jE+WA\",\"Message\":\"styles_Message__G1JyZ\",\"Icon\":\"styles_Icon__Pk5-X\"};","import { createSelector, createStructuredSelector } from 'reselect';\nimport { translationsDomain } from '../../selectors';\n\nconst selectDataRequestTranslations = createSelector(\n translationsDomain(),\n subState => subState.dataRequestSentConfirmation\n);\n\nconst selectEmailTranslations = createSelector(\n translationsDomain(),\n subState => subState.emailSentConfirmation\n);\n\nexport default createStructuredSelector({\n dataRequestTranslations: selectDataRequestTranslations,\n emailTranslations: selectEmailTranslations,\n});\n","import React from 'react';\nimport { shape, string } from 'prop-types';\nimport { connect } from 'react-redux';\nimport { Button, Heading, Icon, Text } from '@tesla/design-system-react';\nimport { iconSuccess } from '@tesla/design-system-icons';\nimport styles from './styles.module.css';\nimport { CONFIRMATION_VARIATIONS } from '../../../../utils/constants';\nimport redirect from '../../../../utils/redirect';\nimport Selectors from './selectors';\n\nconst propTypes = {\n confirmationType: string,\n dataRequestTranslations: shape({}),\n emailTranslations: shape({}),\n};\n\nconst defaultProps = {\n confirmationType: CONFIRMATION_VARIATIONS.EMAIL_SENT,\n dataRequestTranslations: {},\n emailTranslations: {},\n};\n\nconst ContactConfirmation = ({ confirmationType, dataRequestTranslations, emailTranslations }) => {\n const { askAnotherQuestion, requestSubmitted, weWillEmailYouACopy } = dataRequestTranslations;\n const { feedback, redirectButton, thankYou } = emailTranslations;\n const { DATA_REQUEST_SENT, EMAIL_SENT } = CONFIRMATION_VARIATIONS;\n\n let title = '';\n let message = '';\n let buttonCopy = '';\n let buttonAction = () => {};\n let buttonVariant;\n\n switch (confirmationType) {\n case DATA_REQUEST_SENT:\n title = requestSubmitted;\n message = weWillEmailYouACopy;\n buttonCopy = askAnotherQuestion;\n buttonAction = () => {\n window.location.reload();\n };\n buttonVariant = 'secondary';\n break;\n case EMAIL_SENT:\n default:\n title = thankYou;\n message = feedback;\n buttonCopy = redirectButton;\n buttonAction = redirect;\n buttonVariant = 'primary';\n break;\n }\n\n return (\n
\n \n {title}\n \n {message}\n \n \n
\n );\n};\n\nContactConfirmation.propTypes = propTypes;\nContactConfirmation.defaultProps = defaultProps;\n\nexport default connect(Selectors)(ContactConfirmation);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { func, bool, string, arrayOf, shape } from 'prop-types';\nimport { Loader } from '@tesla/design-system-react';\nimport * as actions from '../../actions';\nimport Selectors from './selectors';\nimport Card from './components/Solutions';\nimport SelectQuestion from './components/SelectQuestion';\nimport { checkResult, getChatSubject, getContactUsOverrides } from '../../utils/contact';\nimport BrowserCompatibilityWarning from '../../components/BrowserCompatibilityWarning';\nimport { pushGAInteraction, interactions } from './gaTags';\nimport {\n CONFIRMATION_VARIATIONS,\n TimeInMs,\n issueSubCategories,\n oceanaConcernMap,\n oceanaRoutePointMap,\n} from '../../utils/constants';\nimport { getEnergyChatConcernOverride } from '../../utils/energyChatUtils';\n\nimport styles from './styles.module.css';\nimport { RECALLS, EMMC_REIMBURSEMENT, REQUEST_IN_PROGRESS } from '../../types';\nimport SplashScreen from './components/SplashScreen';\nimport ContactConfirmation from './components/ContactConfirmation';\n\nconst DEFAULT_CONCERN_TYPE = 'NA_TeslaSupport';\n\nconst propTypes = {\n dataCopyRequest: func.isRequired,\n clickEmailUsRequest: func.isRequired,\n checkChatAvailabilityRequest: func.isRequired,\n updateIssueSelection: func.isRequired,\n isDataRequestSent: bool,\n isEmailSent: bool,\n firstName: string,\n lastName: string,\n postalCode: string,\n userEmail: string,\n solutionsData: arrayOf(shape({})).isRequired,\n translations: shape({}),\n locale: string,\n showReimbursementForm: bool.isRequired,\n chatAvailabilityRequestStatus: string.isRequired,\n defaultContactNote: string,\n uploadedFiles: arrayOf(shape({})),\n chatWidgetParams: shape({}),\n chatStart: func.isRequired,\n solutionMappingTranslations: shape({}).isRequired,\n troubleshootingGuide: string,\n energySchedulingTeam: string,\n contactUsOverrides: shape({}),\n isEnergySupportedQueue: bool,\n showSplashScreen: bool.isRequired,\n};\n\nconst defaultProps = {\n isDataRequestSent: false,\n isEmailSent: false,\n firstName: '',\n lastName: '',\n postalCode: '',\n userEmail: '',\n translations: {},\n locale: '',\n defaultContactNote: '',\n uploadedFiles: [],\n chatWidgetParams: {},\n troubleshootingGuide: '',\n energySchedulingTeam: '',\n contactUsOverrides: { chatTeam: null, symptomCode: null },\n isEnergySupportedQueue: false,\n};\n\nclass Contact extends React.Component {\n constructor(props) {\n super(props);\n const hasContactNote = !!props.defaultContactNote;\n this.state = {\n vin: '',\n reservationDate: '',\n vehicleTransferDate: '',\n startDate: '',\n endDate: '',\n chat: false,\n email: false,\n contact: hasContactNote, // if a contact note is already present, go directly to the contact page\n isDataCopyValid: hasContactNote,\n isDescriptionValid: hasContactNote,\n isDataCopyClicked: false,\n isSendEmailClicked: false,\n additionalNote: props.defaultContactNote,\n solutions: [],\n firstChoice: '',\n secondChoice: '',\n secondaryList: [],\n isRequestSolution: false,\n isChatClicked: false,\n };\n }\n\n handleFirstChange = e => {\n const { solutionsData, showReimbursementForm } = this.props;\n const selected = e.target.value;\n const { children, key } = checkResult(solutionsData, selected);\n const childrenWithReimbursementEligibility = showReimbursementForm\n ? children\n : children.filter(item => item.key !== EMMC_REIMBURSEMENT);\n const result = checkResult(children, selected) || [];\n const localState = {\n firstChoice: key,\n secondChoice: '',\n secondaryList: childrenWithReimbursementEligibility,\n solutions: result ? result.solutions : [],\n chat: result ? result.chat : false,\n email: result ? result.email : false,\n isRequestSolution: false,\n contact: false,\n isDescriptionValid: false,\n isDataCopyClicked: false,\n isSendEmailClicked: false,\n };\n if (key === RECALLS && result) {\n localState.categoryCode = result.categoryCode;\n }\n this.setState(localState);\n pushGAInteraction(interactions.chooseTopic, selected);\n };\n\n getOfflineRedirectUrl = () => {\n const queryParams = new URLSearchParams(window.location.search);\n const offlineFormId = queryParams.get('offlineFormId');\n return offlineFormId && `https://forms.office.com/Pages/ResponsePage.aspx?id=${offlineFormId}`;\n };\n\n updateStateFromQueryParams = () => {\n const {\n checkChatAvailabilityRequest,\n updateIssueSelection,\n locale,\n solutionsData,\n troubleshootingGuide,\n contactUsOverrides,\n } = this.props;\n\n // get level 1 & level 2 issues from query string params\n const queryParams = new URLSearchParams(window.location.search);\n const firstChoice = queryParams.get('issue') || '';\n const secondChoice = queryParams.get('issueSubcategory') || '';\n const offlineRedirectUrl = this.getOfflineRedirectUrl();\n\n const { children: secondaryList } = checkResult(solutionsData, firstChoice);\n // Some level 1 issues aren't associated with multiple level 2 issues.\n // For these, the \"secondaryList\" will have the same key as the level 1 issue key (e.g. \"recalls\")\n const issueSubcategory = secondChoice || firstChoice;\n const {\n solutions,\n chat,\n email,\n categoryCode,\n symptomCode = '',\n hideEmailWhenChatAvail,\n concernType = DEFAULT_CONCERN_TYPE,\n } = checkResult(secondaryList, issueSubcategory);\n const contactUsDetails = getContactUsOverrides(troubleshootingGuide, contactUsOverrides);\n\n // if query string params are passed for valid level 1 / level 2 issues\n // then take the user directly to the helpful links\n if (\n (solutions && solutions.length) ||\n (firstChoice === 'dataPrivacyRequest' && secondChoice === 'obtainACopyOfMyData')\n ) {\n this.setState({\n firstChoice,\n secondChoice,\n secondaryList,\n hideEmailWhenChatAvail:\n contactUsDetails?.hideEmailWhenChatAvail ?? (hideEmailWhenChatAvail || false),\n chat: contactUsDetails?.chat ?? chat,\n email: contactUsDetails?.email ?? email,\n solutions,\n categoryCode: contactUsDetails?.categoryCode ?? categoryCode,\n symptomCode: contactUsDetails?.symptomCode ?? symptomCode,\n isRequestSolution: true, // take the user directly to the helpful links\n });\n // put the l2 selection in redux state\n updateIssueSelection({ firstChoice, secondChoice });\n // check availability of agents with concern type user has selected, but dont initialize chat\n if (contactUsDetails?.chat ?? chat) {\n checkChatAvailabilityRequest({ concernType, locale, offlineRedirectUrl, secondChoice });\n }\n // check if query string param passed for valid level 1 issue\n } else if (secondaryList) {\n this.setState({\n firstChoice,\n secondaryList,\n });\n }\n };\n\n handleSecondChange = e => {\n const selected = e.target.value;\n const { checkChatAvailabilityRequest, updateIssueSelection, locale } = this.props;\n const { firstChoice, secondaryList } = this.state;\n const {\n solutions,\n key,\n chat,\n email,\n categoryCode,\n symptomCode = '',\n hideEmailWhenChatAvail,\n concernType = DEFAULT_CONCERN_TYPE,\n } = checkResult(secondaryList, selected);\n this.setState({\n chat,\n email,\n hideEmailWhenChatAvail: hideEmailWhenChatAvail || false,\n contact: false,\n solutions,\n categoryCode,\n symptomCode,\n secondChoice: key,\n isRequestSolution: false,\n additionalNote: '',\n isDescriptionValid: false,\n isDataCopyClicked: false,\n isSendEmailClicked: false,\n });\n // put the l2 selection in redux state\n updateIssueSelection({ firstChoice, secondChoice: key });\n // check availability of agents with concern type user has selected, but dont initialize chat\n if (chat) {\n checkChatAvailabilityRequest({ concernType, locale, secondChoice: key });\n }\n pushGAInteraction(interactions.chooseSubTopic, selected);\n };\n\n handleClick = () => {\n const { isRequestSolution } = this.state;\n this.setState({\n isRequestSolution: !isRequestSolution,\n });\n pushGAInteraction(interactions.submit, 'contact-us');\n };\n\n clickMoreHelp = () => {\n const { contact } = this.state;\n this.setState({\n contact: !contact,\n });\n pushGAInteraction(interactions.needMoreHelp, 'yes');\n };\n\n chooseDays = (startDate, endDate, isValid) => {\n this.setState({\n startDate,\n endDate,\n isDataCopyValid: isValid,\n });\n };\n\n handleDescriptionChange = e => {\n this.setState({\n additionalNote: e.target.value,\n isDescriptionValid: !!e.target.value.length,\n isDataCopyValid: !!e.target.value.length,\n isDataCopyClicked: false,\n isSendEmailClicked: false,\n });\n };\n\n selectVehicle = e => {\n const { locale } = this.props;\n const vehicleDetails = e.target.value.split(',');\n const now = new Date();\n const transferredDate = vehicleDetails[1];\n const transferredVehicle = transferredDate !== '';\n const reservationDate = vehicleDetails[2];\n const DEFAULT_START_DATE = new Date(now.getTime() - TimeInMs.ONE_WEEK);\n const DEFAULT_CN_START_DATE = new Date('07/01/2021');\n const isCNFlow = locale === 'zh_CN';\n const startDate =\n transferredVehicle && reservationDate !== '' ? new Date(reservationDate) : DEFAULT_START_DATE;\n\n this.setState({\n vin: vehicleDetails[0],\n reservationDate: vehicleDetails[2],\n vehicleTransferDate: transferredDate,\n startDate: isCNFlow ? DEFAULT_CN_START_DATE : startDate,\n endDate: transferredVehicle ? new Date(transferredDate) : now,\n });\n };\n\n formatDate = date => {\n let month = date.getMonth() + 1;\n if (month < 10) {\n month = `0${month}`;\n }\n let day = date.getDate();\n if (day < 10) {\n day = `0${day}`;\n }\n\n return `${date.getFullYear()}-${month}-${day}`;\n };\n\n submitDataCopyRequest = () => {\n const { dataCopyRequest, locale } = this.props;\n const { vin, startDate, endDate, isDataCopyValid } = this.state;\n const requestStartDate = this.formatDate(startDate);\n const requestEndDate = this.formatDate(endDate);\n\n if (isDataCopyValid) {\n dataCopyRequest({ vin, startDate: requestStartDate, endDate: requestEndDate, locale });\n }\n\n this.setState({ isDataCopyClicked: true });\n };\n\n submitSendEmailRequest = () => {\n const { clickEmailUsRequest, locale, solutionMappingTranslations, uploadedFiles } = this.props;\n const {\n additionalNote,\n isDescriptionValid,\n categoryCode,\n symptomCode,\n firstChoice,\n secondChoice,\n } = this.state;\n if (isDescriptionValid) {\n const l1Title = solutionMappingTranslations[firstChoice];\n const l2Title = solutionMappingTranslations[secondChoice];\n\n clickEmailUsRequest({\n files: uploadedFiles,\n additionalNote: `L1: ${l1Title}, L2: ${l2Title}, description: ${additionalNote}`,\n categoryCode,\n symptomCode,\n locale,\n });\n }\n this.setState({ isSendEmailClicked: true });\n pushGAInteraction(interactions.emailUs, 'let-us-connect');\n };\n\n verifyFields = () => {\n const { firstName, lastName, userEmail } = this.props;\n const { additionalNote } = this.state;\n let verified = true;\n if (firstName === '') verified = false;\n if (lastName === '') verified = false;\n if (userEmail === '') verified = false;\n if (additionalNote === '') verified = false;\n return verified;\n };\n\n runChat = async () => {\n const {\n chatStart,\n chatWidgetParams,\n energySchedulingTeam,\n firstName,\n lastName,\n postalCode,\n troubleshootingGuide,\n contactUsOverrides,\n userEmail,\n isEnergySupportedQueue,\n translations,\n } = this.props;\n const { additionalNote, secondaryList, secondChoice } = this.state;\n const { concernType = DEFAULT_CONCERN_TYPE } = checkResult(secondaryList, secondChoice);\n const parsedConcernType =\n getEnergyChatConcernOverride(\n troubleshootingGuide,\n energySchedulingTeam,\n contactUsOverrides\n ) ?? oceanaConcernMap[secondChoice];\n const increaseNumberOfRetries =\n secondChoice === issueSubCategories.powerwallMaintenanceTroubleshooting ||\n secondChoice === issueSubCategories.maintenanceTroubleshooting\n ? { maxNumberOfRetries: 450 }\n : {};\n const locale = chatWidgetParams?.locale ?? 'en-US';\n const chatSubjectEnding =\n isEnergySupportedQueue && !!translations.email\n ? `${additionalNote.length ? ' | ' : ''}${translations.email}: ${userEmail}`\n : '';\n\n chatStart();\n\n const loadCSS = url => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = url;\n link.async = true;\n document.head.appendChild(link);\n };\n\n const loadJS = url => {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n document.head.appendChild(script);\n };\n\n const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));\n\n window.avaya = {\n attributes: {\n locale,\n Concern: parsedConcernType,\n ...oceanaRoutePointMap[concernType],\n },\n chat_lite: false,\n locale,\n options: {\n ...chatWidgetParams,\n ...increaseNumberOfRetries,\n // apiEndpointsDomain: 'https://stage.tesla.com', // Only used for local dev\n bypassChatBubble: true,\n disablePrefilledInputs: false,\n formDetails: {\n preEngagementForm: {\n firstName,\n lastName,\n email: userEmail,\n subject: getChatSubject(`${additionalNote}${chatSubjectEnding}`),\n postalCode,\n },\n },\n },\n };\n\n const resourcePath = `${window?.avaya?.options?.apiEndpointsDomain ||\n ''}/cua/assets/apps/oceana`;\n\n loadCSS(`${resourcePath}/chat-ui.css`);\n loadJS(`${resourcePath}/chat-ui.js`);\n\n while (window.avaya.is_initialized !== true) {\n if (window.avaya && typeof window.avaya.init_chat === 'function') {\n window.avaya.init_chat();\n break;\n }\n // eslint-disable-next-line no-await-in-loop\n await sleep(100);\n }\n\n pushGAInteraction(interactions.chatWithUs, 'let-us-connect');\n };\n\n componentDidMount() {\n this.updateStateFromQueryParams();\n }\n\n render() {\n const {\n vin,\n reservationDate,\n vehicleTransferDate,\n startDate,\n endDate,\n chat,\n email,\n isDataCopyValid,\n isDescriptionValid,\n isSendEmailClicked,\n isDataCopyClicked,\n contact,\n additionalNote,\n solutions,\n firstChoice,\n secondChoice,\n secondaryList,\n isRequestSolution,\n isChatClicked,\n hideEmailWhenChatAvail,\n } = this.state;\n const {\n isDataRequestSent,\n isEmailSent,\n solutionsData,\n translations,\n locale,\n chatAvailabilityRequestStatus,\n showSplashScreen,\n } = this.props;\n const { DATA_REQUEST_SENT, EMAIL_SENT } = CONFIRMATION_VARIATIONS;\n const offlineRedirectUrl = this.getOfflineRedirectUrl();\n const showLoading = chatAvailabilityRequestStatus === REQUEST_IN_PROGRESS && offlineRedirectUrl;\n const showContent = !showLoading && !isEmailSent && !isDataRequestSent;\n const showConfirmation = isEmailSent || isDataRequestSent;\n const isCNFlow = locale === 'zh_CN';\n if (!isCNFlow && showSplashScreen) {\n return ;\n }\n\n return isCNFlow ? (\n
\n \n
\n ) : (\n <>\n \n {showConfirmation && (\n \n )}\n {showLoading && (\n
\n \n
\n )}\n {showContent && (\n
\n {contact ?

{translations.titleConnect}

:

{translations.titleAsk}

}\n
\n

{translations.info}

\n
\n \n {isRequestSolution ? (\n \n ) : null}\n
\n )}\n \n );\n }\n}\n\nContact.propTypes = propTypes;\nContact.defaultProps = defaultProps;\n\nexport default connect(\n Selectors,\n actions\n)(Contact);\n","export default {\n ACCOUNTS_DELETE_PROD:\n 'https://accounts.tesla.com/##LOCALE##/account-settings/data-privacy?deleteAccount=true',\n ACCOUNTS_DELETE_STAGE:\n 'https://accounts-stage.tesla.com/##LOCALE##/account-settings/data-privacy?deleteAccount=true',\n EMMC_RECALL: '/support/8gb-emmc-recall-frequently-asked-questions?redirect=no',\n EMMC_RECALL_CN: '/support/8gb-emmc-reimbursement-frequently-asked-questions?redirect=no',\n PROFILE_SETTINGS_DELETE: '/teslaaccount/profile-settings#delete',\n SUPPORT_PRIVACY: '/support/privacy?redirect=no',\n WARRANTY_PROGRAM: '/support/warranty-adjustment-program?redirect=no#warranty-adjustment-program',\n};\n","import toDate from '../toDate/index.js';\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * var result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}"],"names":["selectTranslations","createSelector","translationsDomain","subState","generateIraDocument","selectVehicles","bffDomain","iraEligibleVehicles","createStructuredSelector","translations","vehicles","ButtonGroup","_ref","children","className","layout","rest","_objectWithoutProperties","_excluded","React","_objectSpread","cx","concat","QRBitBuffer","constructor","this","buffer","length","get","index","bufIndex","Math","floor","put","num","i","putBit","getLengthInBits","bit","push","QRMath","glog","n","Error","LOG_TABLE","gexp","EXP_TABLE","Array","QRPolynomial","shift","undefined","offset","getLength","multiply","e","j","mod","ratio","QRCodeLimitLength","QRErrorCorrectLevel","QRMode","QRRSBlock","totalCount","dataCount","getTotalCount","getRsBlockTable","typeNumber","errorCorrectLevel","RS_BLOCK_TABLE","getRSBlocks","rsBlock","list","count","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G15_MASK","G18","getBCHTypeInfo","data","d","getBCHDigit","getBCHTypeNumber","digit","getPatternPosition","getMask","maskPattern","getErrorCorrectPolynomial","errorCorrectLength","a","mode","type","getLostPoint","qrCode","moduleCount","getModuleCount","lostPoint","row","col","sameCount","dark","isDark","r","c","darkCount","abs","QR8bitByte","parsedData","l","byteArray","code","charCodeAt","prototype","apply","unshift","write","QRCodeModel","PAD0","PAD1","modules","dataCache","dataList","addData","newData","make","makeImpl","getBestMaskPattern","test","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","pos","bits","inc","bitIndex","byteIndex","rsBlocks","totalDataCount","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","max","rsPoly","modPoly","modIndex","totalCodeCount","getType","text","ec_level","nType","replacedText","encodeURI","toString","replace","getTextLength","len","nLimit","QRCode","getProperEcLevel","ec","makeAndReturnMatrix","_SvgCreator_foregroundColor","_SvgCreator_white","_SvgCreator_backgroundColor","_SvgCreator_black","_SvgCreator_gray","_SvgCreator_logoColor","SvgCreator","args","_this","set","getMarkup","url","renderLogo","arguments","bitMatrix","generateQrMatrix","viewBox","map","bitRow","rowIndex","cellIndex","getPixelMarkup","baseClass","isAlignmentPixel","on","x","y","join","getLogoMarkup","fillColor","getFillColor","background","foreground","__classPrivateFieldGet","bitMatrixLength","position","dimension","fill","colorScheme","colorsOverride","backgroundColor","black","foregroundColor","gray","logoColor","white","isMarginless","__classPrivateFieldSet","Qr","props","disableLogo","__rest","svg","useMemo","Object","assign","dangerouslySetInnerHTML","__html","WeakMap","qrSize","qrMinusAnchorSize","bottomRightStart","bottomRightEnd","Spinner","height","width","color","speed","fadedStyle","spinnerClasses","cs","styles","style","string","oneOf","bool","PropTypes","defaultProps","checkResult","selected","find","item","key","selectAvailabilityString","contactDomain","bffData","contact","getAvailabilityString","locale","contactForm","availability","timeFrame","solutionsDomain","_ref2","firstChoice","secondChoice","completedTroubleshootingGuide","solutionsData","contactFormTranslations","issueSpecificTranslations","translationOverrides","secondaryList","solutionInfo","chat","chatFasterResolutionHeader","textHeader","selectSharedStrings","shared","selectIsChatEnabled","isChatEnabled","isChatOngoing","selectIsChatOngoing","availabilityString","sharedTranslations","isEnergySupportedQueue","selectIsEnergySupportedQueue","chatAvailabilityRequestStatus","selectChatAvailabilityRequestStatus","ContactForm","_translations$charact","email","runChat","isChatClicked","isSendEmailClicked","isDescriptionValid","submitSendEmailRequest","handleDescriptionChange","hideEmailWhenChatAvail","additionalNote","showEmailButton","hideChatButton","window","innerWidth","disableChat","isLoading","REQUEST_IN_PROGRESS","FormItem","variant","FormLabel","htmlFor","FormInputTextarea","id","placeholder","spellCheck","maxLength","required","onChange","value","Text","charactersLeft","DESCRIBE_YOUR_QUESTION_LENGTH","errorMessage","Button","onClick","disabled","chatButton","emailButton","connect","Selectors","isSameDay","dirtyDateLeft","dirtyDateRight","TypeError","dateLeftStartOfDay","startOfDay","dateRightStartOfDay","getTime","requestDataCopy","allVehicles","selectDataRequestStatus","dataRequestStatus","vin","isDataCopyValid","isDataCopyClicked","REQUEST_FAILED","startDate","endDate","DataCopyForm","_defineProperty","now","Date","chooseDays","render","reservationDate","vehicleTransferDate","submitDataCopyRequest","selectVehicle","filteredVehicles","filter","isCNFlow","DEFAULT_START_DATE","TimeInMs","ONE_WEEK","DEFAULT_CN_START_DATE","DEFAULT_END_DATE","MIN_DATE","THREE_YEARS","isDisabledDate","date","inputDateLocale","header","vehicleTitle","vehicleHeader","FormInputSelect","defaultSelect","model","noVehicle","from","FormInputDate","dateDisabled","onDateChange","validateDateRange","to","submit","processInfo","target","rel","href","getLocalizeUrl","learnMore","deleteAccount","reimbursementForm","selectCheckAccount","rootDomain","checkAccount","selectClickEmailUsStatus","_ref3","clickEmailUsStatus","selectEnableDeleteAccountEntryPoint","_ref4","isDeleteAccountEntryPointEnabled","selectDeleteAccountUrl","_ref5","teslaUrl","includes","links","ACCOUNTS_DELETE_PROD","ACCOUNTS_DELETE_STAGE","selectLocale","enableDeleteAccountEntryPoint","deleteAccountUrl","DeleteAccount","checkAccountRequest","checkAccountLoading","isLoaded","checkAccountLoaded","error","checkAccountError","isAccountDeletable","clickEmailUsRequest","useEffect","location","beforeDeletingYourAccount","beforeDeletingYourAccountCopy","continueString","failToSubmit","privacyPage","someExceptionsApply","pleaseVisitHere","pleaseVisitHereCopy","SUPPORT_PRIVACY","showDisclaimer","showError","Container","Disclaimer","ContinueCta","full","handleClick","categoryCode","CategoryCode","GDPR","actions","GenerateIraDocument","isSubmitting","setIsSubmitting","useState","isBusinessVehicle","setIsBusinessVehicle","isTrust","setIsTrust","isTwoPeople","setIsTwoPeople","history","useHistory","noEligibleVehicles","Form","onSubmit","async","values","registrant","ssn","taxId","payload","sanitizedInput","filterXSS","btoa","encrypted","axios","post","split","status","_unused","FormLayout","Select","name","label","defaultValue","validate","fieldState","_fieldState$value","_fieldState$value2","_fieldState$value3","isB2B","isTwoPeopleRegistrant","isTrustRegistrant","registrantType","primary","secondary","Input","pleaseEnterATaxIdOrSsn","validateOn","validateWhen","formatter","thisDocumentIsOnlyValid","time","setTimeout","handleLinks","link","shopUrl","returnStr","replaceLocale","replaceShopUrl","interactions","pushGAInteraction","interaction","dataLayer","event","solutions","selectSplashTranslations","splashScreen","selectSolutionMappingTranslations","solutionMapping","selectShopUrl","selectIsTeslaAssistEnabled","_subState$isTeslaAssi","isTeslaAssistEnabled","solutionMappingTranslations","splashTranslations","Card","clickMoreHelp","TESLA_ASSIST_UNIVERSAL_LINK","correctMyDataDisclaimer","foundAnswer","moreHelp","no","yes","ifYouCantScanTheCode","openTeslaApp","openTeslaAppToGetPersonalizedAnswers","scanTheQrCodeBelow","tryTeslaAssist","toLowerCase","linkTo","redirect","Heading","is","caption","Link","selectQuestion","SelectQuestion","isRequestSolution","handleFirstChange","handleSecondChange","autoComplete","RECALLS","selectQuestionSubtopic","cs_CZ","csCZ","da_DK","daDK","de_DE","deDE","en_US","enUS","es_ES","esES","es_MX","esMX","fi_FI","fiFI","fr_CA","frCA","fr_FR","frFR","he_IL","heIL","is_IS","isIS","it_IT","itIT","jp_JP","jpJP","ko_KR","koKR","nl_NL","nlNL","no_NO","noNO","pt_PT","ptPT","sv_SE","svSE","zh_CN","zhCN","zh_HK","zhHK","zh_TW","zhTW","de_AT","de_CH","de_LU","fr_BE","fr_CH","fr_LU","it_CH","nl_BE","zh_MO","enCA","mappings","BrowserCompatibilityWarning","role","getTranslation","upgradeRecommended","outdatedBrowserExperience","selectIsSignedIn","_subState$isSignedIn","isSignedIn","SplashScreen","askAQuestionOnWeb","contactUs","forGeneralSupportTopics","getStarted","liveChatAccessTeslaAssist","openTeslaAppToAccessLiveChat","scanTheQrCodeToAcccessLiveChat","signIn","teslaAssistInApp","isGBOrIE","ImageBlock","Image","src","alt","ContentBlock","QRCodeBlock","QrCode","ButtonMargin","WebLoginBlock","success","reload","selectDataRequestTranslations","dataRequestSentConfirmation","selectEmailTranslations","emailSentConfirmation","dataRequestTranslations","emailTranslations","confirmationType","CONFIRMATION_VARIATIONS","EMAIL_SENT","ContactConfirmation","askAnotherQuestion","requestSubmitted","weWillEmailYouACopy","feedback","redirectButton","thankYou","DATA_REQUEST_SENT","buttonVariant","title","message","buttonCopy","buttonAction","Icon","iconSuccess","size","DEFAULT_CONCERN_TYPE","Contact","super","showReimbursementForm","childrenWithReimbursementEligibility","EMMC_REIMBURSEMENT","result","localState","setState","offlineFormId","URLSearchParams","search","checkChatAvailabilityRequest","updateIssueSelection","troubleshootingGuide","contactUsOverrides","queryParams","offlineRedirectUrl","getOfflineRedirectUrl","issueSubcategory","symptomCode","concernType","contactUsDetails","getContactUsOverrides","detailsByTroubleshootingGuide","CONTACT_US_DETAILS_MAPPING","chatTeam","_contactUsDetails$hid","_contactUsDetails$cha","_contactUsDetails$ema","_contactUsDetails$cat","_contactUsDetails$sym","_contactUsDetails$cha2","state","isValid","vehicleDetails","transferredDate","transferredVehicle","month","getMonth","day","getDate","getFullYear","dataCopyRequest","requestStartDate","formatDate","requestEndDate","uploadedFiles","l1Title","l2Title","files","firstName","lastName","userEmail","verified","_getEnergyChatConcern","_chatWidgetParams$loc","_window","_window$avaya","_window$avaya$options","chatStart","chatWidgetParams","energySchedulingTeam","postalCode","parsedConcernType","getEnergyChatConcernOverride","oceanaConcernMap","increaseNumberOfRetries","issueSubCategories","powerwallMaintenanceTroubleshooting","maintenanceTroubleshooting","maxNumberOfRetries","chatSubjectEnding","sleep","ms","Promise","resolve","note","avaya","attributes","Concern","oceanaRoutePointMap","chat_lite","options","bypassChatBubble","disablePrefilledInputs","formDetails","preEngagementForm","subject","resourcePath","apiEndpointsDomain","document","createElement","head","appendChild","loadCSS","script","loadJS","is_initialized","init_chat","hasContactNote","defaultContactNote","componentDidMount","updateStateFromQueryParams","isDataRequestSent","isEmailSent","showSplashScreen","showLoading","showContent","showConfirmation","Loader","fullscreen","show","titleConnect","titleAsk","info","EMMC_RECALL","EMMC_RECALL_CN","PROFILE_SETTINGS_DELETE","WARRANTY_PROGRAM","dirtyDate","toDate","setHours","argument","argStr","call","console","warn","stack","NaN"],"sourceRoot":""}