{"version":3,"file":"components/chunks/chunk-num-39.7d6af6a6d20e34226cbc.js","mappings":"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","sources":["webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/hooks/useValidation.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/ErrorBoundary.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/ServiceOrderReducer.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/utilities/makeStore.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/ServiceOrderProvider.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/service-order-options-spot.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ShippingInformationSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/WarrantyStatusSpot.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/HCPInformationSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/PatientInformationSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/AddToCartButtons.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/SpecialInstructionsSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/TermsAndConditionsSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/ExpressExchange.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/SavedDraftsSpot.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/hooks/useCheckCartContents.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/hooks/useVerifySerial.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/hooks/useAccountInformation.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/hooks/useHCPInformation.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionSpeakerReplacement.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/SpeakerReplacement.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionRepairBte.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionRepairIte.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionRepairMold.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionAccessories.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/service-orders-impressions-selector.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ImpressionFilesSection.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/Repair.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/ProductInformationSectionRemakeMold.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/Remake.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/ServiceCodeSelector.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/form-sections/QuoteEstimateSelector.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/service-orders/views/RepairRemake.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/service-order-spot.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/components/general-error.js","webpack://oticon_us/../../wdh-feature/wdh-feature-b2b-us/src/js/utilities/hooks/useApi.js"],"sourcesContent":["function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useState } from 'react';\n\n/**\n * Simple custom hook to do validation. Validates all fields provided by the validations array\n * @param validations\n * @returns {[validate, {}]}\n *\n * @example validations: {\n * field1: {\n required: {\n value: boolean,\n message: string,\n },\n },\n field2: {\n pattern: {\n value: regexp,\n message: string,\n },\n },\n field3: {\n custom: {\n func: (val) => {\n // do your test here\n return boolean OR object: {\n message: string, // custom error message\n passed: boolean // whether or not test passed\n };\n },\n message: string,\n },\n },\n * }\n */\nvar useValidation = function useValidation() {\n var validations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n errors = _useState2[0],\n setErrors = _useState2[1];\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n isValid = _useState4[0],\n setIsValid = _useState4[1];\n function validate(data) {\n var keys = Object.keys(validations);\n var newErrors = {};\n var newIsValid = true;\n keys.forEach(function (key) {\n var _validation$required, _validation$pattern, _validation$pattern2, _validation$custom, _validation$custom2;\n var validation = validations[key];\n var value = data[key];\n if ((_validation$required = validation.required) !== null && _validation$required !== void 0 && _validation$required.value && !value) {\n var _validation$required2;\n newErrors[key] = (_validation$required2 = validation.required) === null || _validation$required2 === void 0 ? void 0 : _validation$required2.message;\n newIsValid = false;\n } else if ((_validation$pattern = validation.pattern) !== null && _validation$pattern !== void 0 && _validation$pattern.value && !RegExp((_validation$pattern2 = validation.pattern) === null || _validation$pattern2 === void 0 ? void 0 : _validation$pattern2.value).test(value)) {\n var _validation$pattern3;\n newErrors[key] = (_validation$pattern3 = validation.pattern) === null || _validation$pattern3 === void 0 ? void 0 : _validation$pattern3.message;\n newIsValid = false;\n } else if ((_validation$custom = validation.custom) !== null && _validation$custom !== void 0 && _validation$custom.func && typeof ((_validation$custom2 = validation.custom) === null || _validation$custom2 === void 0 ? void 0 : _validation$custom2.func) === 'function') {\n var _validation$custom3;\n var result = (_validation$custom3 = validation.custom) === null || _validation$custom3 === void 0 ? void 0 : _validation$custom3.func(value);\n if (result && _typeof(result) === 'object') {\n var _result$message, _result$passed;\n newErrors[key] = (_result$message = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message !== void 0 ? _result$message : '';\n newIsValid = (_result$passed = result === null || result === void 0 ? void 0 : result.passed) !== null && _result$passed !== void 0 ? _result$passed : false;\n } else if (!result) {\n var _validation$custom4;\n newErrors[key] = (_validation$custom4 = validation.custom) === null || _validation$custom4 === void 0 ? void 0 : _validation$custom4.message;\n newIsValid = false;\n }\n }\n });\n setIsValid(newIsValid);\n setErrors(newErrors);\n }\n return [validate, errors, isValid];\n};\nexport default useValidation;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport GeneralError from './general-error';\nimport Logger from '../../../../../wdh-foundation/wdh-logger/wdh-logger';\n\n/**\n * React component to wrap others and catch any errors that are not dalt with by the component.\n */\nvar ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n function ErrorBoundary(props) {\n var _this;\n _classCallCheck(this, ErrorBoundary);\n _this = _callSuper(this, ErrorBoundary, [props]);\n _this.state = {\n hasError: false\n };\n return _this;\n }\n _inherits(ErrorBoundary, _React$Component);\n return _createClass(ErrorBoundary, [{\n key: \"componentDidCatch\",\n value: function componentDidCatch(error, errorInfo) {\n Logger.error('An unexpected error occurred', error, errorInfo);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.state.hasError) {\n // render our general error message for the user rather than a blank screen\n return /*#__PURE__*/React.createElement(GeneralError, null);\n }\n return this.props.children;\n }\n }], [{\n key: \"getDerivedStateFromError\",\n value: function getDerivedStateFromError() {\n return {\n hasError: true\n };\n }\n }]);\n}(React.Component);\nexport default ErrorBoundary;\nErrorBoundary.propTypes = {\n children: PropTypes.node\n};\nErrorBoundary.defaultProps = {\n children: null\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport uuid from 'uuid';\nimport { ServiceOrderStatus, ServiceOrderViewState } from '../../infrastructure/const';\nimport CheckUtils from '../../utilities/check-utils';\n\n/**\n * our initial state object.\n * @type {{orderPlacer: {name: string, email: string}, orderDetails: {}, serialNumber: null, accountInformation: *[], verificationStatus: string, hasExtendedWarranty: boolean, selectedServiceCode: string, extendedWarrantyInfo: string, location: string, deviceInfo: {}, isWarrantyValid: boolean, extendedWarrantyDetails: {}}}\n */\nvar initialState = {\n serialNumber: null,\n deviceInfo: {},\n verificationStatus: ServiceOrderStatus.UNVERIFIED,\n isWarrantyValid: false,\n hasExtendedWarranty: false,\n extendedWarrantyInfo: {},\n viewState: _objectSpread({}, ServiceOrderViewState.NONE),\n orderDetails: {},\n orderPlacer: {\n name: '',\n email: ''\n },\n selectedServiceCode: '',\n symptomCodes: [],\n speakers: [],\n accountInformation: [],\n hcpInformation: [],\n formValidations: {},\n formIsValid: true,\n showErrors: false,\n defaultFitter: {},\n isQuoteRequested: false,\n allowedServiceOrderTypes: {\n isExpresExchangeAllowed: false,\n isSpeakerReplacementAllowed: false,\n isRepairAllowed: false,\n // temporary until we start this SO types\n isRemakeAllowed: false // temporary until we start this SO type\n },\n cartDetails: {},\n copyOrEditService: false,\n copyOrEditData: {\n urlOperationType: '',\n urlOrderId: '',\n urlSerialNumber: '',\n urlOrderType: '',\n urlNaural: ''\n }\n};\n\n/**\n * reducer function to provide actions to update our global state.\n * @param state\n * @param action\n * @returns {*}\n * @constructor\n *\n * TODO: maybe tidy this up so it is more clear and concise.\n */\nvar ServiceOrderReducer = function ServiceOrderReducer(state, action) {\n var currentState = _objectSpread({}, state);\n var type = action.type,\n payload = action.payload;\n var hasAvailableExtendedWarranty = false;\n switch (type) {\n case 'setDeviceBySerial':\n // TODO: this was taken out for express exchange, but may be available for other services. leaving in for time being.\n // if (payload.warrantyHistory) {\n // hasAvailableExtendedWarranty = payload.warrantyHistory[payload.warrantyHistory.length - 1].allowedWarranty.length > 0; // NOT TEMPORARY\n // }\n\n currentState.deviceInfo = payload;\n currentState.serialNumber = payload.serialNo;\n currentState.verificationStatus = ServiceOrderStatus.VERIFIED;\n if (!CheckUtils.isNullOrEmptyString(payload.fitterName)) {\n var _payload$fitterContac;\n currentState.defaultFitter = {\n text: payload.fitterName,\n email: payload.fitterEmail,\n value: payload.fitterEmail,\n phone: payload.fitterPhoneNo,\n contactNo: (_payload$fitterContac = payload.fitterContactNo) !== null && _payload$fitterContac !== void 0 ? _payload$fitterContac : uuid()\n };\n }\n\n // currentState.deviceInfo.isWarrantyExpiring = 2; // TEMPORARY TODO remove once api is providing isWarrantyExpiring\n // currentState.deviceInfo.status = 'Active'; // TEMPORARY TODO remove once api is providing isWarrantyExpiring\n\n // TEMPORARY: TODO api not sending status so we will force value to match isWarrantyExpiring flag\n if (CheckUtils.isNullOrEmptyString(currentState.deviceInfo.status)) {\n var statuses = ['Expired', 'Near expiration', 'Active'];\n currentState.deviceInfo.status = statuses[currentState.deviceInfo.isWarrantyExpiring];\n }\n // END Temporary\n\n currentState.isWarrantyValid = payload.isWarrantyExpiring === 2 || payload.isWarrantyExpiring === 1 && !hasAvailableExtendedWarranty; // set if warranty is active OR near expiration and doesn't have available extended warranties\n break;\n case 'resetState':\n currentState = _objectSpread({}, initialState);\n break;\n case 'setIsQuote':\n // set true if user wishes to get quote for repair of out of warranty device.\n currentState.isQuoteRequested = payload;\n break;\n case 'clearDeviceInfo':\n {\n var _currentState = currentState,\n accountInformation = _currentState.accountInformation,\n orderPlacer = _currentState.orderPlacer,\n hcpInformation = _currentState.hcpInformation; // keep these values as they do not change with serial number\n currentState = _objectSpread({}, initialState);\n currentState.accountInformation = accountInformation;\n currentState.hcpInformation = hcpInformation;\n currentState.orderPlacer = orderPlacer;\n break;\n }\n case 'setVerificationStatus':\n currentState.verificationStatus = payload;\n break;\n case 'setViewState':\n currentState.viewState = _objectSpread({}, payload);\n if (payload.subCode !== 'RP' && payload.subCode !== 'RM') {\n currentState.selectedServiceCode = '';\n }\n break;\n case 'addExtendedWarrantyToOrder':\n currentState.hasExtendedWarranty = payload !== '';\n currentState.extendedWarrantyInfo = payload;\n currentState.isWarrantyValid = true;\n break;\n case 'setSelectedServiceCode':\n currentState.selectedServiceCode = payload;\n break;\n case 'setAllSymptomCodes':\n currentState.symptomCodes = payload;\n break;\n case 'setSpeakers':\n currentState.speakers = payload;\n break;\n case 'setAccountInformation':\n currentState.accountInformation = payload;\n break;\n case 'setHCPInformation':\n currentState.hcpInformation = payload;\n break;\n case 'setOrderDetails':\n Object.keys(payload).forEach(function (key) {\n currentState.orderDetails = _objectSpread({}, currentState.orderDetails);\n currentState.orderDetails[key] = payload[key];\n });\n break;\n case 'setOrderPlacerDetails':\n currentState.orderPlacer = _objectSpread({}, payload);\n break;\n case 'setCopyOrEditService':\n currentState.copyOrEditService = payload;\n break;\n case 'setCopyOrEditData':\n currentState.copyOrEditData = payload;\n break;\n case 'setOrderDetailsFromCart':\n currentState.orderDetails = payload;\n currentState.defaultFitter = payload.fitter;\n break;\n case 'setCartDetails':\n currentState.cartDetails = payload;\n break;\n case 'setValidation':\n currentState.formValidations = _objectSpread({}, currentState.formValidations);\n currentState.formValidations[payload.key] = payload.value;\n break;\n case 'clearValidations':\n currentState.formValidations = {};\n break;\n case 'showErrors':\n currentState.showErrors = payload;\n break;\n case 'setAllowedServiceOrderTypes':\n currentState.allowedServiceOrderTypes = _objectSpread(_objectSpread({}, currentState.allowedServiceOrderTypes), payload);\n break;\n default:\n console.warn(\"No action was defined for '\".concat(type, \"' => state was not updated\"));\n break;\n }\n return currentState;\n};\nexport { ServiceOrderReducer, initialState };","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { createContext, useReducer, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Generic function to make global Stores for use in components. provides two contexts (dispatch and store) so components\n * can subscribe to those that they need. helps save on unnecessary re-renderings.\n *\n * @param userReducer\n * @param initialState\n * @param key\n * @returns {[(function({children: *})), (function(): unknown), (function(): unknown)]}\n */\nexport default function makeStore(userReducer, initialState) {\n var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var dispatchContext = /*#__PURE__*/createContext();\n var storeContext = /*#__PURE__*/createContext();\n try {\n initialState = JSON.parse(sessionStorage.getItem(key)) || initialState;\n } catch (_unused) {\n console.warn('Could not set inital state');\n }\n var reducer = function reducer(state, action) {\n var newState = userReducer(state, action);\n if (key !== null) {\n sessionStorage.setItem(key, JSON.stringify(newState));\n }\n return newState;\n };\n var StoreProvider = function StoreProvider(_ref) {\n var children = _ref.children;\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n store = _useReducer2[0],\n dispatch = _useReducer2[1];\n return /*#__PURE__*/React.createElement(dispatchContext.Provider, {\n value: dispatch\n }, /*#__PURE__*/React.createElement(storeContext.Provider, {\n value: store\n }, children));\n };\n function useDispatch() {\n return useContext(dispatchContext);\n }\n function useStore() {\n return useContext(storeContext);\n }\n return [StoreProvider, useStore, useDispatch];\n}\nmakeStore.propTypes = {\n children: PropTypes.node.isRequired\n};","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { ServiceOrderReducer, initialState } from './ServiceOrderReducer';\nimport makeStore from '../../utilities/makeStore';\nvar _makeStore = makeStore(ServiceOrderReducer, initialState),\n _makeStore2 = _slicedToArray(_makeStore, 3),\n ServiceOrderProvider = _makeStore2[0],\n // our provider. use to wrap our app component so they have access to state and dispatch contexts\n useServiceOrderState = _makeStore2[1],\n // our global state store\n useServiceOrderDispatch // our dispatcher - used to modify global state.\n = _makeStore2[2];\nexport { ServiceOrderProvider, useServiceOrderState, useServiceOrderDispatch };","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport RadioList from '../radio-list';\nimport { ServiceOrderViewState, TranslationKeys } from '../../infrastructure/const';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { useServiceOrderDispatch, useServiceOrderState } from './ServiceOrderProvider';\nvar ServiceOrderOptionsSpot = function ServiceOrderOptionsSpot() {\n var _state$viewState$code;\n var history = useHistory();\n var dispatch = useServiceOrderDispatch();\n var state = useServiceOrderState();\n var allowedServiceOrderTypes = state.allowedServiceOrderTypes;\n var translations = {\n optionsSpotLabelText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_OPTIONS_SPOT_LABEL_TEXT),\n expressExchangeLabelText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_OPTIONS_SPOT_EXPRESS_EXCHANGE_LABEL_TEXT),\n repairLabelText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_OPTIONS_SPOT_REPAIR_LABEL_TEXT),\n speakerReplacementLabelText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_OPTIONS_SPOT_SPEAKER_REPLACEMENT_LABEL_TEXT),\n replacementLabelText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_OPTIONS_SPOT_REPLACEMENT_LABEL_TEXT)\n };\n var onChange = function onChange(loc) {\n var viewState = Object.entries(ServiceOrderViewState).find(function (_ref) {\n var _ref3, _loc$target;\n var _ref2 = _slicedToArray(_ref, 2),\n value = _ref2[1];\n return (_ref3 = value.code === ((_loc$target = loc.target) === null || _loc$target === void 0 ? void 0 : _loc$target.value)) !== null && _ref3 !== void 0 ? _ref3 : 'NA';\n });\n dispatch({\n type: 'setViewState',\n payload: viewState[1]\n });\n history.replace(viewState[1].path);\n };\n var serviceOrderOptions = [];\n if (allowedServiceOrderTypes.isExpresExchangeAllowed) serviceOrderOptions.push({\n value: ServiceOrderViewState.EXCHANGE.code,\n text: translations.expressExchangeLabelText\n });\n if (allowedServiceOrderTypes.isSpeakerReplacementAllowed) serviceOrderOptions.push({\n value: ServiceOrderViewState.SPEAKER_REPLACE.code,\n text: translations.speakerReplacementLabelText\n });\n if (allowedServiceOrderTypes.isRepairAllowed) serviceOrderOptions.push({\n value: ServiceOrderViewState.REPAIR.code,\n text: translations.repairLabelText\n });\n if (allowedServiceOrderTypes.isRemakeAllowed) serviceOrderOptions.push({\n value: ServiceOrderViewState.REPLACE.code,\n text: translations.replacementLabelText\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-options-spot\"\n }, serviceOrderOptions.length > 0 && /*#__PURE__*/React.createElement(RadioList, {\n label: translations.optionsSpotLabelText,\n selectedValue: (_state$viewState$code = state.viewState.code) !== null && _state$viewState$code !== void 0 ? _state$viewState$code : 'NA',\n items: serviceOrderOptions,\n arrangeVertically: true,\n onValueChange: onChange\n }), serviceOrderOptions.length <= 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, \"The current serial number is not eligible for service at this time.\"));\n};\nServiceOrderOptionsSpot.propTypes = {};\nexport default ServiceOrderOptionsSpot;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport SelectList from '../../../select-list';\nimport TextInput from '../../../text-input';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport ApiClient from '../../../../infrastructure/api/api-client';\nvar ShippingInformationSection = function ShippingInformationSection() {\n var _appState$orderDetail, _appState$orderDetail2, _appState$orderDetail3, _appState$orderDetail4, _appState$orderDetail5, _appState$orderDetail6;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useApi = useApi(function (sellTo) {\n return ApiClient.serviceOrder.getShippingInformation(sellTo);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getShippingInformation = _useApi2[0],\n shippingInformation = _useApi2[1],\n isLoading = _useApi2[2],\n error = _useApi2[3];\n var accountInformation = appState.accountInformation,\n showErrors = appState.showErrors,\n copyOrEditData = appState.copyOrEditData,\n orderDetails = appState.orderDetails;\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n billTos = _useState2[0],\n setBillTos = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n sellTos = _useState4[0],\n setSellTos = _useState4[1];\n var _useState5 = useState((_appState$orderDetail = (_appState$orderDetail2 = appState.orderDetails) === null || _appState$orderDetail2 === void 0 ? void 0 : _appState$orderDetail2.poNumber) !== null && _appState$orderDetail !== void 0 ? _appState$orderDetail : ''),\n _useState6 = _slicedToArray(_useState5, 2),\n poNumber = _useState6[0],\n setPoNumber = _useState6[1];\n var _useState7 = useState((_appState$orderDetail3 = (_appState$orderDetail4 = appState.orderDetails) === null || _appState$orderDetail4 === void 0 ? void 0 : _appState$orderDetail4.billTo) !== null && _appState$orderDetail3 !== void 0 ? _appState$orderDetail3 : appState.accountInformation.defaultBillTo),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedBillTo = _useState8[0],\n setSelectedBillTo = _useState8[1];\n var _useState9 = useState((_appState$orderDetail5 = (_appState$orderDetail6 = appState.orderDetails) === null || _appState$orderDetail6 === void 0 ? void 0 : _appState$orderDetail6.sellTo) !== null && _appState$orderDetail5 !== void 0 ? _appState$orderDetail5 : appState.accountInformation.defaultSellTo),\n _useState10 = _slicedToArray(_useState9, 2),\n selectedSellTo = _useState10[0],\n setSelectedSellTo = _useState10[1];\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n forceValidation = _useState12[0],\n setForceValidation = _useState12[1];\n useEffect(function () {\n // set our default values to global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n billTo: selectedBillTo,\n sellTo: selectedSellTo,\n poNumber: poNumber\n }\n });\n }, []);\n\n /**\n * our validation schema\n * @type {{selectedBillTo: {required: {message: string, value: boolean}}, selectedSellTo: {required: {message: string, value: boolean}}}}\n */\n var validations = {\n selectedBillTo: {\n required: {\n value: true,\n message: '*required'\n }\n },\n selectedSellTo: {\n required: {\n value: true,\n message: '*required'\n }\n },\n poNumber: {\n required: {\n value: appState.orderDetails.isPONumberMandatory,\n message: '*required'\n }\n }\n };\n\n /**\n * useValidation takes a validation schema and returns a validate function as well as any errors\n */\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'accountInformation',\n value: isValid\n }\n });\n }, [isValid]);\n\n /**\n * componentDidMount equivalent. retrieves and sets up our account BT/ST information\n */\n useEffect(function () {\n // bill-tos won't change unless the account does, so only need to load once\n if (accountInformation.accounts) {\n setBillTos(accountInformation.accounts.map(function (bt) {\n return {\n value: bt.billToId,\n text: \"\".concat(bt.billToId, \" - \").concat(bt.billToLabel)\n };\n }));\n }\n }, [accountInformation]);\n\n /**\n * update our sellTo drop down if the billTo account changes\n */\n useEffect(function () {\n if (!accountInformation.accounts) return;\n // sell-tos change based on bill-to. update only if it changes.\n var selectedBillToAccount = accountInformation.accounts.find(function (account) {\n return account.billToId === selectedBillTo;\n });\n if (selectedBillToAccount.sellTos) {\n setSellTos(selectedBillToAccount.sellTos.map(function (st) {\n return {\n value: st.sellToId,\n text: \"\".concat(st.sellToId, \" - \").concat(st.sellToLabel)\n };\n }));\n }\n }, [accountInformation, selectedBillTo]);\n\n /**\n * gets shipping address for the currently selected Sell-to drop-down. if it changes and is not blank\n */\n useEffect(function () {\n if (!selectedSellTo) return;\n\n // get shipping information for currently selected sell to\n getShippingInformation(\"\".concat(selectedBillTo, \";\").concat(selectedSellTo));\n }, [selectedSellTo]);\n\n // VALIDATION //\n useEffect(function () {\n if (forceValidation) {\n setForceValidation(false);\n }\n validator({\n selectedBillTo: selectedBillTo,\n selectedSellTo: selectedSellTo,\n poNumber: poNumber\n });\n }, [selectedSellTo, selectedBillTo, poNumber, forceValidation]);\n\n /**\n * handles the response from the shipping information api call.\n */\n useEffect(function () {\n if (shippingInformation) {\n var sellToInfo = shippingInformation.find(function (btst) {\n return btst.customerId === selectedSellTo;\n });\n var billToInfo = shippingInformation.find(function (btst) {\n return btst.customerId === selectedBillTo;\n });\n validations.poNumber.required.value = billToInfo.isPONumberMandatory;\n setForceValidation(true);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n shippingAddress: sellToInfo.shippingAddresses[0].shippingAddress,\n isPONumberMandatory: billToInfo.isPONumberMandatory\n }\n });\n }\n }, [shippingInformation]);\n\n /**\n * renders the address section of the form field\n * @returns {JSX.Element|null}\n */\n var renderAddress = function renderAddress() {\n var orderDetails = appState.orderDetails;\n if (!(orderDetails !== null && orderDetails !== void 0 && orderDetails.shippingAddress)) return null;\n var addressLine2 = orderDetails.shippingAddress.addressLine2 ? \" \".concat(orderDetails.shippingAddress.addressLine2) : '';\n return /*#__PURE__*/React.createElement(\"div\", null, \"\".concat(orderDetails.shippingAddress.addressLine1).concat(addressLine2, \", \").concat(orderDetails.shippingAddress.city, \", \").concat(orderDetails.shippingAddress.county, \" \").concat(orderDetails.shippingAddress.postalCode));\n };\n var classnames = classNames({\n 'account-section': true,\n 'has-error': !isValid\n });\n\n /**\n * render()\n */\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Shipping and billing information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, \"Ship to address is based on \\u201CSell to account\\u201D selection\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"ship-to-addr\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ship to address\"), /*#__PURE__*/React.createElement(Loader, {\n show: isLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"address\"\n }, renderAddress()))), copyOrEditData.urlOperationType !== 'copy' && copyOrEditData.urlNaural !== 'binaural' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"bt-account\"\n }, /*#__PURE__*/React.createElement(SelectList, {\n label: \"Bill to account\",\n showFloatLabel: true,\n addBlankItem: true,\n selectedValue: selectedBillTo,\n items: billTos,\n onValueChange: function onValueChange(e) {\n setSelectedBillTo(e.target.dataset.value);\n setSelectedSellTo('');\n dispatch({\n type: 'setOrderDetails',\n payload: {\n billTo: e.target.dataset.value,\n sellTo: '',\n shippingAddress: ''\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedBillTo\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedBillTo)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"st-account\"\n }, /*#__PURE__*/React.createElement(SelectList, {\n label: \"Sell to account\",\n showFloatLabel: true,\n addBlankItem: true,\n selectedValue: selectedSellTo,\n items: sellTos,\n onValueChange: function onValueChange(e) {\n setSelectedSellTo(e.target.dataset.value);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n sellTo: e.target.dataset.value\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedSellTo\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSellTo))), (copyOrEditData.urlOperationType === 'copy' || copyOrEditData.urlNaural === 'binaural') && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"bt-account\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Bill to account\"), /*#__PURE__*/React.createElement(\"div\", null, orderDetails.billTo, \" : \", orderDetails.billToAddress.nameLine1)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"st-account\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Sell to account\"), /*#__PURE__*/React.createElement(\"div\", null, orderDetails.sellTo, \" : \", orderDetails.sellToAddress.nameLine1))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"po-number no-bottom-spacing\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"po-num\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Purchase order authorization number (PO#)\", appState.orderDetails.isPONumberMandatory && /*#__PURE__*/React.createElement(\"span\", {\n className: \"po-required\"\n }, \"*required\")), copyOrEditData.urlOperationType !== 'copy' && /*#__PURE__*/React.createElement(TextInput, {\n label: \"PO Number\",\n onValueChange: function onValueChange(e) {\n e.preventDefault();\n setPoNumber(e.target.value);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n poNumber: e.target.value\n }\n });\n },\n name: \"poNumber\",\n inputValue: poNumber,\n hasError: showErrors && !!validationErrors.poNumber,\n helpTextHTML: validationErrors.poNumber,\n showHelpText: showErrors && !!validationErrors.poNumber\n }), copyOrEditData.urlOperationType === 'copy' && /*#__PURE__*/React.createElement(\"p\", {\n className: \"ship-to-addr\"\n }, orderDetails.poNumber)))));\n};\nexport default ShippingInformationSection;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useState, useEffect } from 'react';\nimport classNames from 'classnames';\nimport moment from 'moment';\nimport RadioList from '../../radio-list';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../ServiceOrderProvider';\nimport { ServiceOrderViewState, TooltipPosition, TooltipVariant, TranslationKeys } from '../../../infrastructure/const';\nimport TranslationManager from '../../../infrastructure/translation-manager';\nimport ToolTip from '../../tool-tip';\nvar WarrantyStatusSpot = function WarrantyStatusSpot() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo;\n var icons = classNames({\n expired: deviceInfo.isWarrantyExpiring === 0,\n 'near-expired': deviceInfo.isWarrantyExpiring === 1,\n 'active-warranty': deviceInfo.isWarrantyExpiring === 2\n });\n var translations = {\n ServiceOrderWarrantyDownloadServiceFormButtonText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_DOWNLOAD_SERVICE_FORM_BUTTON_TEXT),\n ServiceOrderWarrantyExpirationDateLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXPIRATION_DATE_LABEL),\n ServiceOrderWarrantyExpiredWarningMessage: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXPIRED_WARNING_MESSAGE),\n ServiceOrderWarrantyExtendedWarrantyCoverageLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXTENDED_WARRANTY_COVERAGE_LABEL),\n ServiceOrderWarrantyExtendWarrantyButtonLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_BUTTON_LABEL),\n ServiceOrderWarrantyExtendWarrantyLaterButtonLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_LATER_BUTTON_LABEL),\n ServiceOrderWarrantyExtendWarrantySectionInstructionText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_SECTION_INSTRUCTION_TEXT),\n ServiceOrderWarrantyGetRepairQuoteButtonText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_GET_REPAIR_QUOTE_BUTTON_TEXT),\n ServiceOrderWarrantyStatusLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_STATUS_LABEL),\n ServiceOrderWarrantyServiceChargeMessage: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_SERVICE_CHARGE_MESSAGE),\n ServiceOrderWarrantyServiceChargeTooltip: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_WARRANTY_SERVICE_CHARGE_TOOLTIP)\n };\n var _useState = useState(appState.hasExtendedWarranty),\n _useState2 = _slicedToArray(_useState, 2),\n showWarrantySelector = _useState2[0],\n setShowWarrantySelector = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n hasExtendedWarrantyOptions = _useState4[0],\n setHasExtendedWarrantyOptions = _useState4[1];\n var allowedWarrantyItems = deviceInfo.warrantyHistory ? deviceInfo.warrantyHistory[deviceInfo.warrantyHistory.length - 1].allowedWarranty : [];\n var getAllowedWarrantyItems = function getAllowedWarrantyItems() {\n return allowedWarrantyItems.map(function (warranty) {\n var price = warranty.price && warranty.canSeePrice ? \"$\".concat(warranty.price) : 'N/A';\n return {\n value: warranty.itemNo,\n text: /*#__PURE__*/React.createElement(React.Fragment, null, warranty.description, ' - ', /*#__PURE__*/React.createElement(\"b\", null, price)) // sending this as jsx allows us to add html to the string without using dangerouslySetInnerHtml\n };\n });\n };\n useEffect(function () {\n if (getAllowedWarrantyItems().length > 0 && deviceInfo.isWarrantyExpiring === 1) {\n setHasExtendedWarrantyOptions(true);\n }\n }, []);\n var handleWarrantySelection = function handleWarrantySelection(e) {\n var warrantyItem = allowedWarrantyItems.find(function (warranty) {\n return warranty.itemNo === e.target.value;\n });\n if (warrantyItem) {\n dispatch({\n type: 'addExtendedWarrantyToOrder',\n payload: warrantyItem\n });\n }\n };\n var renderExtendedWarrantySelections = function renderExtendedWarrantySelections() {\n if (!hasExtendedWarrantyOptions) return null;\n var view = /*#__PURE__*/React.createElement(React.Fragment, null);\n\n // stage 1: CTA buttons to extend warranty\n // only show if we don't have a selected warranty already\n if (!(showWarrantySelector || appState.hasExtendedWarranty || appState.isWarrantyValid)) {\n view = /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", null, translations.ServiceOrderWarrantyExtendWarrantySectionInstructionText), /*#__PURE__*/React.createElement(\"button\", {\n className: \"button dark-bg\",\n onClick: function onClick(e) {\n e.preventDefault();\n setShowWarrantySelector(true);\n }\n }, translations.ServiceOrderWarrantyExtendWarrantyButtonLabel), /*#__PURE__*/React.createElement(\"button\", {\n className: \"button dark-bg\",\n onClick: function onClick(e) {\n e.preventDefault();\n dispatch({\n type: 'addExtendedWarrantyToOrder',\n payload: ''\n });\n }\n }, translations.ServiceOrderWarrantyExtendWarrantyLaterButtonLabel));\n } else if (showWarrantySelector || appState.hasExtendedWarranty) {\n var _appState$extendedWar;\n view = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/React.createElement(RadioList, {\n label: translations.ServiceOrderWarrantyExtendedWarrantyCoverageLabel,\n selectedValue: appState.hasExtendedWarranty ? (_appState$extendedWar = appState.extendedWarrantyInfo) === null || _appState$extendedWar === void 0 ? void 0 : _appState$extendedWar.itemNo : '',\n items: getAllowedWarrantyItems(),\n arrangeVertically: true,\n onValueChange: handleWarrantySelection\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: \"like-a\",\n onClick: function onClick(e) {\n e.preventDefault();\n setShowWarrantySelector(false);\n dispatch({\n type: 'addExtendedWarrantyToOrder',\n payload: ''\n });\n }\n }, translations.ServiceOrderWarrantyExtendWarrantyLaterButtonLabel)));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"warranty-message is-near-expired\"\n }, view);\n };\n var renderWarrantyExpiredOptions = function renderWarrantyExpiredOptions() {\n if (deviceInfo.isWarrantyExpiring === 0) {\n if (appState.viewState.code !== ServiceOrderViewState.REPAIR.code) {\n return (\n /*#__PURE__*/\n // warranty expired\n React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"warranty-message is-expired\"\n }, /*#__PURE__*/React.createElement(\"div\", null, translations.ServiceOrderWarrantyExpiredWarningMessage)), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button dark-bg\",\n onClick: function onClick(e) {\n e.preventDefault();\n window.location = '/myoticon/order-and-service-forms/';\n }\n }, translations.ServiceOrderWarrantyDownloadServiceFormButtonText))\n );\n }\n if (!appState.isQuoteRequested) {\n return /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button dark-bg\",\n onClick: function onClick(e) {\n e.preventDefault();\n dispatch({\n type: 'setIsQuote',\n payload: true\n });\n }\n }, translations.ServiceOrderWarrantyGetRepairQuoteButtonText);\n }\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"warranty-status\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row half-width\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-label\"\n }, translations.ServiceOrderWarrantyExpirationDateLabel), /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-label\"\n }, translations.ServiceOrderWarrantyStatusLabel)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row half-width\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"expiration\"\n }, moment(deviceInfo.warrantyEndDate).format('L')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"status \".concat(icons)\n }, deviceInfo.status, deviceInfo.isWarrantyExpiring === 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-charge-note\"\n }, translations.ServiceOrderWarrantyServiceChargeMessage, /*#__PURE__*/React.createElement(ToolTip, {\n tooltip: translations.ServiceOrderWarrantyServiceChargeTooltip,\n showArrow: true,\n colorVariant: TooltipVariant.WHITE,\n position: TooltipPosition.RIGHT\n })))), renderWarrantyExpiredOptions(), renderExtendedWarrantySelections());\n};\nexport default WarrantyStatusSpot;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport SelectColorList from '../../../select-color-list';\nimport TranslationManager from '../../../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../../../infrastructure/const';\nvar productInformationSection = function productInformationSection() {\n var _appState$orderDetail, _appState$orderDetail2, _deviceInfo$circuit, _deviceInfo$selectedC, _deviceInfo$selectedC2;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo,\n showErrors = appState.showErrors;\n var _useState = useState((_appState$orderDetail = (_appState$orderDetail2 = appState.orderDetails) === null || _appState$orderDetail2 === void 0 ? void 0 : _appState$orderDetail2.colorChange) !== null && _appState$orderDetail !== void 0 ? _appState$orderDetail : ''),\n _useState2 = _slicedToArray(_useState, 2),\n selectedColor = _useState2[0],\n setSelectedColor = _useState2[1];\n var translations = {\n productInformationNotice: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_EXPRESS_EXCHANGE_PRODUCT_INFORMATION_NOTICE)\n };\n var validations = {\n selectedColor: {\n required: {\n value: true,\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n validator({\n selectedColor: selectedColor\n });\n }, [selectedColor]);\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationExpressExchange',\n value: isValid\n }\n });\n }, [isValid]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Model\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, deviceInfo.model)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Style\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, deviceInfo.style)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Circuit\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, (_deviceInfo$circuit = deviceInfo === null || deviceInfo === void 0 ? void 0 : deviceInfo.circuit) !== null && _deviceInfo$circuit !== void 0 ? _deviceInfo$circuit : 'unknown')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Existing color\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"color-disc\",\n style: {\n color: (_deviceInfo$selectedC = deviceInfo.selectedColor) === null || _deviceInfo$selectedC === void 0 ? void 0 : _deviceInfo$selectedC.rgbCode\n }\n }, \"\\u2B24\"), (_deviceInfo$selectedC2 = deviceInfo.selectedColor) === null || _deviceInfo$selectedC2 === void 0 ? void 0 : _deviceInfo$selectedC2.text)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"New color request*\"), /*#__PURE__*/React.createElement(SelectColorList, {\n label: \"Choose color\",\n addBlankItem: true,\n selectedValue: selectedColor,\n items: deviceInfo.availableColors,\n onValueChange: function onValueChange(e) {\n setSelectedColor(e.target.dataset.value);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n colorChange: e.target.dataset.value\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedColor\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedColor))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content product-info-notice\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: translations.productInformationNotice\n }\n })));\n};\nexport default productInformationSection;","function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport uuid from 'uuid';\nimport SelectList from '../../../select-list';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport CheckUtils from '../../../../utilities/check-utils';\nvar HCPInformationSection = function HCPInformationSection() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n selectedFitter = _useState2[0],\n setSelectedFitter = _useState2[1];\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedFitterInfo = _useState4[0],\n setSelectedFitterInfo = _useState4[1];\n var showErrors = appState.showErrors,\n hcpInformation = appState.hcpInformation;\n var findFitter = function findFitter(desiredFitter) {\n return hcpInformation.find(function (fitter) {\n return desiredFitter === fitter.value;\n });\n };\n var validations = {\n selectedFitter: {\n custom: {\n func: function func(value) {\n return !CheckUtils.isNullOrEmptyObject(value);\n },\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n var fitter = findFitter(selectedFitter);\n if (!fitter && !CheckUtils.isNullOrEmptyString(selectedFitter.text)) {\n var tempHcp = _toConsumableArray(hcpInformation);\n selectedFitter.forceable = true;\n if (selectedFitter.value === '') {\n selectedFitter.value = uuid(); // prevents the name from appearing on top of the \"select a fitter\" option in the Drop down.\n }\n tempHcp.push(selectedFitter);\n dispatch({\n type: 'setHCPInformation',\n payload: tempHcp\n });\n dispatch({\n type: 'setOrderDetails',\n payload: {\n fitter: selectedFitter\n }\n });\n setSelectedFitter(selectedFitter.value);\n }\n }, []);\n\n /**\n * sets our validation function to validate any fields we require on change\n */\n useEffect(function () {\n validator({\n selectedFitter: selectedFitter\n });\n }, [selectedFitter]);\n\n /**\n * set our global validation with our updated one.\n */\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'hcpInformation',\n value: isValid\n }\n });\n }, [isValid]);\n\n /**\n * sets our internal state with selected Fitter from drop-down\n */\n useEffect(function () {\n setSelectedFitterInfo(findFitter(selectedFitter));\n }, [selectedFitter]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section hcp-section \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Hearing care professional information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitter's name*\"), /*#__PURE__*/React.createElement(SelectList, {\n label: \"Choose fitter's name\",\n addBlankItem: true,\n selectedValue: !CheckUtils.isNullOrEmptyObject(selectedFitter) ? selectedFitter : '',\n items: hcpInformation,\n onValueChange: function onValueChange(e) {\n setSelectedFitter(e.target.dataset.value);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n fitter: findFitter(e.target.dataset.value)\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedFitter\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedFitter)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitter's email\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString(selectedFitterInfo === null || selectedFitterInfo === void 0 ? void 0 : selectedFitterInfo.email) ? selectedFitterInfo === null || selectedFitterInfo === void 0 ? void 0 : selectedFitterInfo.email : 'n/a')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitter's phone number\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString(selectedFitterInfo === null || selectedFitterInfo === void 0 ? void 0 : selectedFitterInfo.phone) ? selectedFitterInfo === null || selectedFitterInfo === void 0 ? void 0 : selectedFitterInfo.phone : 'n/a')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Person who placed order\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, appState.orderPlacer.name)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Email address of person who placed order\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, appState.orderPlacer.email))));\n};\nexport default HCPInformationSection;","import React from 'react';\nimport moment from 'moment';\nimport { useServiceOrderState } from '../../ServiceOrderProvider';\nvar PatientInformationSection = function PatientInformationSection() {\n var _moment$format, _appState$deviceInfo;\n var appState = useServiceOrderState();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section patient-section\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Patient information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Patient name\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, appState.deviceInfo.endUserName)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Patient age\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, appState.deviceInfo.patientAge)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Medicaid #\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, appState.deviceInfo.medicaidId)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Invoice date\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, moment(appState.deviceInfo.purchaseDate).format('L'))), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitting date\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, (_moment$format = moment((_appState$deviceInfo = appState.deviceInfo) === null || _appState$deviceInfo === void 0 ? void 0 : _appState$deviceInfo.warrantyStartDate).format('L')) !== null && _moment$format !== void 0 ? _moment$format : 'N/A'))));\n};\nexport default PatientInformationSection;","import React from 'react';\nimport propTypes from 'prop-types';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport NavigationManager from '../../../../infrastructure/navigation-manager';\nimport { ServiceOrderViewState } from '../../../../infrastructure/const';\nvar AddToCartButtons = function AddToCartButtons(props) {\n var dispatch = useServiceOrderDispatch();\n var appState = useServiceOrderState();\n var copyOrEditService = appState.copyOrEditService,\n copyOrEditData = appState.copyOrEditData;\n var handleQuoteButtonClick = props.handleQuoteButtonClick,\n handleSaveButtonClick = props.handleSaveButtonClick,\n isLoading = props.isLoading;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"row add-to-cart-section\"\n }, /*#__PURE__*/React.createElement(Loader, {\n show: isLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"button-container\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"btn like-a\",\n onClick: function onClick() {\n dispatch({\n type: 'clearDeviceInfo',\n payload: {}\n });\n }\n }, \"Cancel\"), appState.isQuoteRequested && appState.viewState.subCode === ServiceOrderViewState.REPAIR.subCode && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button dark-bg\",\n onClick: handleQuoteButtonClick\n }, \"Get repair quote\"), !copyOrEditData.urlOperationType && /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"button dark-bg\",\n onClick: handleSaveButtonClick,\n disabled: isLoading\n }, \"Add service to cart\"), copyOrEditData.urlOperationType === 'edit' && /*#__PURE__*/React.createElement(\"button\", {\n className: \"button dark-bg\",\n onClick: handleSaveButtonClick,\n disabled: isLoading\n }, \"Update cart\"), copyOrEditData.urlOperationType === 'copy' && /*#__PURE__*/React.createElement(\"button\", {\n className: \"button dark-bg\",\n onClick: handleSaveButtonClick,\n disabled: isLoading\n }, \"Add second device to cart\"))));\n};\nAddToCartButtons.propTypes = {\n handleQuoteButtonClick: propTypes.func,\n handleSaveButtonClick: propTypes.func.isRequired,\n isLoading: propTypes.bool\n};\nAddToCartButtons.defaultProps = {\n handleQuoteButtonClick: function handleQuoteButtonClick() {},\n isLoading: false\n};\nexport default AddToCartButtons;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useCallback, useState } from 'react';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport useDebounce from '../../../../utilities/hooks/useDebounce';\nvar SpecialInstructionsSection = function SpecialInstructionsSection() {\n var _appState$orderDetail, _appState$orderDetail2;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState((_appState$orderDetail = appState === null || appState === void 0 || (_appState$orderDetail2 = appState.orderDetails) === null || _appState$orderDetail2 === void 0 ? void 0 : _appState$orderDetail2.comments) !== null && _appState$orderDetail !== void 0 ? _appState$orderDetail : ''),\n _useState2 = _slicedToArray(_useState, 2),\n comments = _useState2[0],\n setComments = _useState2[1];\n var saveComments = useCallback(function () {\n dispatch({\n type: 'setOrderDetails',\n payload: {\n comments: comments\n }\n });\n }, [comments]);\n useDebounce(saveComments, 500);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section special-instructions\"\n }, /*#__PURE__*/React.createElement(\"h5\", null, \"Special instructions\"), /*#__PURE__*/React.createElement(\"textarea\", {\n name: \"comments\",\n id: \"comments\",\n cols: \"30\",\n rows: \"10\",\n placeholder: \"Specify any instructions or special requests for your order.\",\n maxLength: 255,\n onChange: function onChange(e) {\n return setComments(e.target.value);\n },\n onBlur: function onBlur() {\n return saveComments();\n },\n value: comments\n }));\n};\nexport default SpecialInstructionsSection;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useState, useEffect } from 'react';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport classNames from 'classnames';\nvar TermsAndConditionsSection = function TermsAndConditionsSection() {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n tacIsVisible = _useState2[0],\n setTacIsVisible = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n agreedToTerms = _useState4[0],\n setAgreedToTerms = _useState4[1];\n var dispatch = useServiceOrderDispatch();\n var appState = useServiceOrderState();\n var showErrors = appState.showErrors;\n var validations = {\n agreedToTerms: {\n required: {\n value: true,\n message: 'You must agree to the terms and conditions'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n validator({\n agreedToTerms: agreedToTerms\n });\n }, [agreedToTerms]);\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'termsAndConditions',\n value: isValid\n }\n });\n }, [isValid]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section terms-section \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: \"tac\",\n required: true,\n onChange: function onChange(e) {\n setAgreedToTerms(e.target.checked);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n agreedToTerms: e.target.checked\n }\n });\n },\n checked: agreedToTerms\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"tac\"\n }, \"Agree with \", /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: \"btn like-a\",\n onClick: function onClick(e) {\n e.preventDefault();\n setTacIsVisible(true);\n }\n }, \"terms and conditions*\")), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.agreedToTerms), tacIsVisible && /*#__PURE__*/React.createElement(\"div\", {\n className: \"tac\"\n }, /*#__PURE__*/React.createElement(\"strong\", null, \"Terms and conditions\"), /*#__PURE__*/React.createElement(\"p\", null, \"Most Oticon hearing aids/accessories that require service while under warranty will be replaced and returned to the customer. The balance of the remaining warranty applies to the replaced units. All instruments beyond 60 months from the date of invoice to the user will be repaired based on availability of parts and at Oticon\\u2019s discretion. A fee will be added to the repair charges. This fee is not waived for Medicaid. Instruments subjected to unauthorized repair or maltreatment cannot be serviced under our flat service options. A fee will be added to the standard repair charge. Full details are available in the Price and Policy Guide.\"), /*#__PURE__*/React.createElement(\"button\", {\n className: \"btn like-a\",\n onClick: function onClick(e) {\n e.preventDefault();\n setTacIsVisible(false);\n }\n }, \"- Hide\")));\n};\nexport default TermsAndConditionsSection;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport ShippingInformationSection from './form-sections/ShippingInformationSection';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nimport WarrantyStatusSpot from './WarrantyStatusSpot';\nimport SelectList from '../../select-list';\nimport ProductInformationSection from './form-sections/ProductInformationSection';\nimport HCPInformationSection from './form-sections/HCPInformationSection';\nimport PatientInformationSection from './form-sections/PatientInformationSection';\nimport AddToCartButtons from './form-sections/AddToCartButtons';\nimport SpecialInstructionsSection from './form-sections/SpecialInstructionsSection';\nimport TermsAndConditionsSection from './form-sections/TermsAndConditionsSection';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport NavigationManager from '../../../infrastructure/navigation-manager';\nimport ModalDialog from '../../modal-dialog';\nvar ExpressExchange = function ExpressExchange() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState(appState.selectedServiceCode),\n _useState2 = _slicedToArray(_useState, 2),\n selectedServiceCode = _useState2[0],\n setSelectedServiceCode = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showErrorModal = _useState4[0],\n setShowErrorModal = _useState4[1];\n var _useApi = useApi(function (order) {\n return ApiClient.serviceOrder.addExpressExchangeToCart(order);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n addToCart = _useApi2[0],\n addToCartResponse = _useApi2[1],\n savingToCart = _useApi2[2],\n addToCartError = _useApi2[3];\n\n /**\n * clears any previous form validations from other service types\n */\n useEffect(function () {\n dispatch({\n type: 'clearValidations'\n });\n }, []);\n\n /**\n * handles response from addToCartApi Call\n */\n useEffect(function () {\n if (addToCartResponse !== null && addToCartResponse !== void 0 && addToCartResponse.status && addToCartResponse.status === 200) {\n // success\n NavigationManager.navigateToCartDetails();\n }\n }, [addToCartResponse === null || addToCartResponse === void 0 ? void 0 : addToCartResponse.status]);\n\n /**\n * Handles errors from addToCart api Call\n */\n useEffect(function () {\n if (addToCartError) {\n setShowErrorModal(true);\n }\n }, [addToCartError]);\n var saveExpressExchange = function saveExpressExchange(e) {\n e.preventDefault();\n var formValidations = appState.formValidations;\n var hasErrors = Object.keys(formValidations).some(function (key) {\n return !formValidations[key];\n });\n if (hasErrors) {\n dispatch({\n type: 'showErrors',\n payload: true\n });\n document.querySelector('.has-error').scrollIntoView({\n behavior: 'smooth'\n });\n return;\n }\n if (!hasErrors) {\n var formattedOrder = {\n serialNo: appState.serialNumber,\n serviceCode: appState.selectedServiceCode,\n ear: appState.deviceInfo.ear,\n model: appState.deviceInfo.model,\n style: appState.deviceInfo.style,\n circuit: appState.deviceInfo.circuit,\n currentColor: appState.deviceInfo.colorCode,\n exchangeColor: appState.orderDetails.colorChange,\n warrantyStatus: appState.deviceInfo.status,\n fitterInformation: {\n fitterName: appState.orderDetails.fitter.text,\n fitterEmail: appState.orderDetails.fitter.email,\n fitterPhoneNumber: appState.orderDetails.fitter.phone\n },\n isPOMandatory: appState.orderDetails.isPONumberMandatory,\n specialInstrunctions: appState.orderDetails.comments,\n patientInformation: {\n patientName: appState.deviceInfo.endUserName,\n age: appState.deviceInfo.patientAge,\n medicaidId: appState.deviceInfo.medicaidId,\n invoiceDate: appState.deviceInfo.purchaseDate,\n fittingDate: appState.deviceInfo.warrantyStartDate\n },\n sellTo: appState.orderDetails.sellTo,\n billTo: appState.orderDetails.billTo,\n poNumber: appState.orderDetails.poNumber,\n shippingAddress: appState.orderDetails.shippingAddress,\n warranties: []\n };\n if (appState.extendedWarrantyInfo) {\n formattedOrder.warranties.push({\n itemNumber: appState.extendedWarrantyInfo.itemNo,\n code: appState.extendedWarrantyInfo.code,\n price: appState.extendedWarrantyInfo.price\n });\n }\n addToCart(formattedOrder);\n }\n };\n var renderFormElements = function renderFormElements() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSection, null), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleSaveButtonClick: saveExpressExchange,\n isLoading: savingToCart\n })));\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WarrantyStatusSpot, null), appState.isWarrantyValid && /*#__PURE__*/React.createElement(\"div\", {\n className: \"express\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, \"Express exchange service\"), /*#__PURE__*/React.createElement(\"p\", null, \"See available express exchange services for your product below:\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row w-25\"\n }, /*#__PURE__*/React.createElement(SelectList, {\n selectedValue: selectedServiceCode,\n addBlankItem: true,\n label: \"Choose service\",\n onValueChange: function onValueChange(e) {\n dispatch({\n type: 'setSelectedServiceCode',\n payload: ''\n });\n setSelectedServiceCode(e.target.dataset.value);\n },\n items: [{\n text: 'M10 - Color change',\n value: 'M10',\n forceable: false\n }]\n })), !appState.selectedServiceCode && /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"button\", {\n className: \"dark-bg button\",\n onClick: function onClick() {\n return dispatch({\n type: 'setSelectedServiceCode',\n payload: selectedServiceCode\n });\n }\n }, \"Proceed\")), appState.selectedServiceCode && renderFormElements()), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: showErrorModal,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick() {\n return setShowErrorModal(false);\n },\n okLabel: \"Ok\"\n }, \"An error occurred while saving your order.\"));\n};\nexport default ExpressExchange;","function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useState, useEffect } from 'react';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport ModalDialog from '../../modal-dialog';\nimport NavigationManager from '../../../infrastructure/navigation-manager';\nimport CheckUtils from '../../../utilities/check-utils';\nimport TranslationManager from '../../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../../infrastructure/const';\nvar SavedDraftsSpot = function SavedDraftsSpot() {\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n drafts = _useState2[0],\n setDrafts = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n showRemoveModal = _useState4[0],\n setShowRemoveModal = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n showRestoreModal = _useState6[0],\n setShowRestoreModal = _useState6[1];\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n currentDraftId = _useState8[0],\n setCurrentDraftId = _useState8[1];\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n currentDraftOrderType = _useState10[0],\n setCurrentDraftOrderType = _useState10[1];\n var _useApi = useApi(function () {\n return ApiClient.serviceOrder.getServiceOrderDrafts();\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n draftsRequest = _useApi2[0],\n draftsResponse = _useApi2[1],\n draftsLoading = _useApi2[2],\n draftsError = _useApi2[3];\n var _useApi3 = useApi(function (cartId, orderType) {\n return ApiClient.serviceOrder.continueServiceOrderDraft(cartId, orderType);\n }),\n _useApi4 = _slicedToArray(_useApi3, 4),\n restoreDraftRequest = _useApi4[0],\n restoreDraftResponse = _useApi4[1],\n restoreDraftLoading = _useApi4[2],\n restoreDraftError = _useApi4[3];\n var _useApi5 = useApi(function (draftId, orderType) {\n return ApiClient.serviceOrder.removeServiceOrderDraft(draftId, orderType);\n }),\n _useApi6 = _slicedToArray(_useApi5, 4),\n removeRequest = _useApi6[0],\n removeResponse = _useApi6[1],\n removeLoading = _useApi6[2],\n removeError = _useApi6[3];\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n draftErrors = _useState12[0],\n setDraftErrors = _useState12[1];\n var _useState13 = useState(''),\n _useState14 = _slicedToArray(_useState13, 2),\n draftErrorMsg = _useState14[0],\n setDraftErrorMsg = _useState14[1];\n var translations = {\n SavedDraftsNoSavedDraftsText: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_NO_SAVED_DRAFTS_TEXT),\n SavedDraftsRemoveErrorMsg: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_REMOVE_ERROR_MSG),\n SavedDraftsRemoveModalHeading: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_REMOVE_MODAL_HEADING),\n SavedDraftsRemoveModalText: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_REMOVE_MODAL_TEXT),\n SavedDraftsRestoreErrorMsg: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_RESTORE_ERROR_MSG),\n SavedDraftsRestoreModalHeading: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_RESTORE_MODAL_HEADING),\n SavedDraftsRestoreModalText: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_RESTORE_MODAL_TEXT),\n SavedDraftsRetrieveDraftsErrorMsg: TranslationManager.getTranslation(TranslationKeys.SAVED_DRAFTS_RETRIEVE_DRAFTS_ERROR_MSG)\n };\n var handleRemoveDraft = function handleRemoveDraft(id, serviceOrderType) {\n var showModal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (showModal) {\n setCurrentDraftId(id);\n setCurrentDraftOrderType(serviceOrderType);\n setShowRemoveModal(true);\n return;\n }\n removeRequest(id, serviceOrderType);\n };\n var handleRestoreDraft = function handleRestoreDraft(id, serviceOrderType) {\n var showModal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (showModal) {\n setCurrentDraftId(id);\n setCurrentDraftOrderType(serviceOrderType);\n setShowRestoreModal(true);\n return;\n }\n restoreDraftRequest(id, serviceOrderType);\n };\n\n /**\n * onLoad get our saved drafts\n */\n useEffect(function () {\n // get our saved drafts\n draftsRequest();\n }, []);\n\n /**\n * responds to our request for saved Drafts. if any are found, save them to state and display.\n */\n useEffect(function () {\n if (draftsResponse) {\n if (draftsResponse.expressExchangeOrders) {\n var expressExchangeOrders = draftsResponse.expressExchangeOrders;\n var _drafts = expressExchangeOrders.map(function (draft) {\n var _draft$expressExchang;\n return {\n cartId: draft.id,\n type: 'Express Exchange',\n orderType: draft.orderType,\n serialNo: (_draft$expressExchang = draft.expressExchangeOrderDetails[0]) === null || _draft$expressExchang === void 0 ? void 0 : _draft$expressExchang.serialNo,\n expressExchangeOrders: expressExchangeOrders\n };\n });\n setDrafts([_drafts]);\n }\n if (draftsResponse.speakerReplacementOrders) {\n var speakerReplacementOrders = draftsResponse.speakerReplacementOrders;\n var spdrafts = speakerReplacementOrders.map(function (draft) {\n var _draft$speakerReplace;\n return {\n cartId: draft.id,\n type: 'Speaker Replacement',\n orderType: draft.orderType,\n serialNo: (_draft$speakerReplace = draft.speakerReplacementOrderDetails[0]) === null || _draft$speakerReplace === void 0 ? void 0 : _draft$speakerReplace.serialNo,\n speakerReplacementOrders: speakerReplacementOrders\n };\n });\n setDrafts(function (drafts) {\n return [].concat(_toConsumableArray(drafts), [spdrafts]);\n });\n }\n if (draftsResponse.repairOrders) {\n var repairOrders = draftsResponse.repairOrders;\n var rpdrafts = repairOrders.map(function (draft) {\n var _draft$repairOrderDet;\n return {\n cartId: draft.id,\n type: 'Repair',\n orderType: draft.orderType,\n serialNo: (_draft$repairOrderDet = draft.repairOrderDetails[0]) === null || _draft$repairOrderDet === void 0 ? void 0 : _draft$repairOrderDet.serialNo,\n repairOrders: repairOrders\n };\n });\n setDrafts(function (drafts) {\n return [].concat(_toConsumableArray(drafts), [rpdrafts]);\n });\n }\n if (draftsResponse.speakerReplacementOrders.length <= 0 && draftsResponse.expressExchangeOrders.length <= 0 && draftsResponse.repairOrders.length <= 0) {\n setDrafts([]);\n }\n }\n }, [draftsResponse]);\n useEffect(function () {\n // handle the fallout from removing a saved draft \n if (removeResponse) {\n // something got removed. recall the savedDrafts api\n draftsRequest();\n }\n }, [removeResponse]);\n\n /**\n * handles successful addition of draft to the cart\n */\n useEffect(function () {\n if (restoreDraftResponse) {\n draftsRequest();\n NavigationManager.navigateToCartDetails();\n }\n }, [restoreDraftResponse]);\n\n /**\n * handle changes in error messages.\n */\n useEffect(function () {\n if (restoreDraftError) {\n setDraftErrors(restoreDraftError);\n setDraftErrorMsg(translations.SavedDraftsRestoreErrorMsg);\n }\n if (draftsError) {\n setDraftErrors(draftsError);\n setDraftErrorMsg(translations.SavedDraftsRetrieveDraftsErrorMsg);\n }\n if (removeError) {\n setDraftErrors(removeError);\n setDraftErrorMsg(translations.SavedDraftsRemoveErrorMsg);\n }\n }, [restoreDraftError, removeError, draftsError]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"saved-drafts-spot\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n className: \"header\"\n }, \"Saved drafts\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/React.createElement(Loader, {\n show: draftsLoading || removeLoading || restoreDraftLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(Drafts, {\n drafts: drafts,\n error: draftErrors,\n errorMsg: draftErrorMsg,\n handleRemoveDraft: handleRemoveDraft,\n handleRestoreDraft: handleRestoreDraft,\n translations: translations\n })), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: showRemoveModal,\n onOkClick: function onOkClick() {\n setShowRemoveModal(false);\n handleRemoveDraft(currentDraftId, currentDraftOrderType, false);\n },\n onCancelClick: function onCancelClick() {\n setShowRemoveModal(false);\n },\n type: ModalDialog.types.okCancel,\n okLabel: \"Yes\",\n cancelLabel: \"No\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translations.SavedDraftsRemoveModalHeading), /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: translations.SavedDraftsRemoveModalText\n }\n })), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: showRestoreModal,\n onOkClick: function onOkClick() {\n setShowRestoreModal(false);\n handleRestoreDraft(currentDraftId, currentDraftOrderType, false);\n },\n onCancelClick: function onCancelClick() {\n setShowRestoreModal(false);\n },\n type: ModalDialog.types.okCancel,\n okLabel: \"Yes\",\n cancelLabel: \"No\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translations.SavedDraftsRestoreModalHeading), /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: translations.SavedDraftsRestoreModalText\n }\n }))));\n};\nvar Drafts = function Drafts(_ref) {\n var drafts = _ref.drafts,\n error = _ref.error,\n errorMsg = _ref.errorMsg,\n handleRemoveDraft = _ref.handleRemoveDraft,\n handleRestoreDraft = _ref.handleRestoreDraft,\n translations = _ref.translations;\n var response = [];\n if ((drafts === null || drafts === void 0 ? void 0 : drafts.length) <= 0) response.push(/*#__PURE__*/React.createElement(\"div\", null, translations.SavedDraftsNoSavedDraftsText));\n response.push(Object.keys(drafts).map(function (val) {\n return drafts[val].map(function (draft) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"draft\",\n key: draft.cartId\n }, /*#__PURE__*/React.createElement(\"div\", null, \"\".concat(draft.serialNo, \" - \").concat(draft.type, \" service order \")), /*#__PURE__*/React.createElement(\"div\", {\n className: \"actions\"\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: \"btn like-a\",\n type: \"button\",\n onClick: function onClick(e) {\n e.preventDefault();\n handleRestoreDraft(draft.cartId, draft.orderType);\n }\n }, \"Continue order\"), /*#__PURE__*/React.createElement(\"button\", {\n className: \"btn like-a\",\n type: \"button\",\n onClick: function onClick(e) {\n e.preventDefault();\n handleRemoveDraft(draft.cartId, draft.orderType);\n }\n }, \"X Remove\")));\n });\n }));\n if (error) response.push(/*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, errorMsg));\n return !CheckUtils.isNullOrEmptyArray(response) ? response.flat() : null;\n};\nexport default SavedDraftsSpot;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useDebugValue, useEffect, useState } from 'react';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport useApi from '../../../utilities/hooks/useApi';\nvar _useCheckCartContents = function useCheckCartContents() {\n var allowedItems = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n allowedTypes = _useState2[0],\n setAllowedTypes = _useState2[1];\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n cartIsEmpty = _useState4[0],\n setCartIsEmpty = _useState4[1]; // cart is empty\n useDebugValue(cartIsEmpty ? 'cartIsEmpty' : 'cartIsNotEmpty');\n var _useState5 = useState(true),\n _useState6 = _slicedToArray(_useState5, 2),\n cartIsValid = _useState6[0],\n setCartIsValid = _useState6[1]; // cart is not empty but contains allowed orders\n useDebugValue(cartIsValid ? 'cart is valid' : 'cart is not valid');\n var _useApi = useApi(function () {\n return ApiClient.cart.getCart();\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getCart = _useApi2[0],\n cartResponse = _useApi2[1],\n isLoading = _useApi2[2],\n hasError = _useApi2[3];\n var types = _useCheckCartContents.types; // copy our static variable for use.\n\n var ordersInCart = new Set();\n\n /**\n * call api to get our cart on Mount\n */\n useEffect(function () {\n setAllowedTypes(allowedItems);\n getCart();\n }, []);\n\n /**\n * when we get a response, check each item in cart and set responses\n */\n useEffect(function () {\n if (cartResponse) {\n Object.values(types).forEach(function (entry) {\n var _cartResponse$entry, _cartResponse$entry2;\n if (((_cartResponse$entry = cartResponse[entry]) === null || _cartResponse$entry === void 0 ? void 0 : _cartResponse$entry.length) > 0) {\n ordersInCart.add(entry);\n }\n if (!allowedTypes.includes(entry) && ((_cartResponse$entry2 = cartResponse[entry]) === null || _cartResponse$entry2 === void 0 ? void 0 : _cartResponse$entry2.length) > 0) {\n setCartIsValid(false);\n }\n });\n setCartIsEmpty(ordersInCart.size === 0);\n }\n }, [cartResponse]);\n var hasOrderType = function hasOrderType(orderType) {\n return ordersInCart.contains(orderType);\n };\n return {\n types: types,\n isLoading: isLoading,\n hasOrderType: hasOrderType,\n cartIsEmpty: cartIsEmpty,\n cartIsValid: cartIsValid,\n cart: cartResponse\n };\n};\n_useCheckCartContents.types = {\n bulkOrder: 'bulkOrders',\n productOrder: 'productOrders',\n patientOrder: 'patientOrders',\n expressExchangeOrder: 'expressExchangeOrders',\n speakerReplacementOrder: 'speakerReplacementOrders',\n repairOrder: 'repairOrders'\n};\nexport default _useCheckCartContents;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useState, useEffect } from 'react';\nimport { ServiceOrderStatus } from '../../../infrastructure/const';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nfunction useVerifySerial() {\n var _useApi = useApi(function (serialNo) {\n return ApiClient.serviceOrder.getDetails(serialNo);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n apiVerifySerial = _useApi2[0],\n apiResponse = _useApi2[1],\n isLoading = _useApi2[2],\n apiError = _useApi2[3];\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n numAttempts = _useState2[0],\n setNumAttempts = _useState2[1];\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n response = _useState4[0],\n setResponse = _useState4[1];\n var _useState5 = useState(),\n _useState6 = _slicedToArray(_useState5, 2),\n error = _useState6[0],\n setError = _useState6[1];\n var maxNumAttempts = 3;\n var verifySerial = function verifySerial(serialNumber) {\n var serialsInCart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n serialNumber = serialNumber.trim().toUpperCase();\n if (serialsInCart && serialsInCart.has(serialNumber)) {\n setResponse({\n verificationStatus: ServiceOrderStatus.DUPLICATE_IN_CART\n });\n setError(true);\n return;\n }\n if (serialNumber === '') {\n setResponse({\n verificationStatus: ServiceOrderStatus.BLANK_SERIAL\n });\n return;\n }\n apiVerifySerial(serialNumber);\n };\n useEffect(function () {\n if (apiResponse !== null && apiResponse !== void 0 && apiResponse.data) {\n setError(null);\n var status = '';\n switch (apiResponse.data.deviceType) {\n case 0:\n status = ServiceOrderStatus.VERIFIED;\n break;\n case 1:\n status = ServiceOrderStatus.OTHER_CLINIC_PURCHASE;\n setError(true);\n break;\n case 2:\n // patient name is not the same, used in cart to copy to other ear. ignore here\n status = ServiceOrderStatus.VERIFIED;\n break;\n case 3:\n status = ServiceOrderStatus.THIRD_PARTY_PURCHASE;\n setError(true);\n break;\n default:\n status = ServiceOrderStatus.UNKNOWN_ERROR;\n setError(true);\n }\n setResponse({\n verificationStatus: status,\n payload: apiResponse.data\n });\n if (apiResponse.data.isSerialNumberInProcessForService) {\n setError(true);\n setResponse({\n verificationStatus: ServiceOrderStatus.USED_SERIAL_NUMBER\n });\n }\n } else if ((apiResponse === null || apiResponse === void 0 ? void 0 : apiResponse.data) === null) {\n // serial not found\n setNumAttempts(numAttempts + 1);\n setError(true);\n setResponse({\n verificationStatus: numAttempts >= maxNumAttempts ? ServiceOrderStatus.TOO_MANY_ATTEMPTS : ServiceOrderStatus.NOT_FOUND\n });\n }\n }, [apiResponse]);\n useEffect(function () {\n if (apiError) {\n setError(apiError);\n setResponse({\n verificationStatus: ServiceOrderStatus.UNKNOWN_ERROR\n });\n }\n }, [apiError]);\n return [verifySerial, response, isLoading, error];\n}\nexport default useVerifySerial;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useState, useEffect } from 'react';\nimport ConfigurationManager from '../../../infrastructure/configuration-manager';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport useApi from '../../../utilities/hooks/useApi';\nvar useAccountInformation = function useAccountInformation() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n accountInformation = _useState2[0],\n setAccountInformation = _useState2[1];\n var token = ConfigurationManager.getTokenDetails();\n var _useApi = useApi(function () {\n return ApiClient.serviceOrder.getAccountBillToRelation();\n }, true, []),\n _useApi2 = _slicedToArray(_useApi, 4),\n getAccountInfo = _useApi2[0],\n response = _useApi2[1],\n loading = _useApi2[2],\n error = _useApi2[3];\n useEffect(function () {\n if (response) {\n var accountInfo = {};\n var accounts = {};\n accountInfo.defaultBillTo = token.defaultBillToId;\n accountInfo.defaultSellTo = token.defaultSellToId;\n response.forEach(function (account) {\n if (!accounts[account.billToId]) {\n accounts[account.billToId] = account;\n accounts[account.billToId].sellTos = [];\n }\n accounts[account.billToId].sellTos.push({\n sellToId: account.sellToId,\n sellToLabel: account.sellToLabel,\n isDefault: account.isDefault\n });\n });\n accountInfo.accounts = Object.values(accounts);\n setAccountInformation(accountInfo);\n }\n }, [response]);\n return [accountInformation, loading, error];\n};\nexport default useAccountInformation;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useState, useEffect } from 'react';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport CheckUtils from '../../../utilities/check-utils';\nvar useHCPInformation = function useHCPInformation() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n accountInformation = _useState2[0],\n setAccountInformation = _useState2[1];\n var _useApi = useApi(function () {\n return ApiClient.userManagement.getUserData();\n }, true, []),\n _useApi2 = _slicedToArray(_useApi, 4),\n getHCPs = _useApi2[0],\n response = _useApi2[1],\n loading = _useApi2[2],\n error = _useApi2[3];\n useEffect(function () {\n if (response) {\n // TODO: get the list of users with a unique id and not have to filter if name == null.\n var usersList = response.filter(function (item) {\n return item.name && !CheckUtils.isNullOrEmptyString(item.name.trim());\n });\n var userMap = new Map();\n usersList.forEach(function (fitters) {\n userMap.set(fitters.contactNo, {\n text: fitters.name,\n value: fitters.loginId,\n email: fitters.loginId,\n phone: fitters.phone,\n contactNo: fitters.contactNo\n });\n });\n var usersLists = Array.from(userMap.values());\n setAccountInformation(usersLists);\n }\n }, [response]);\n return [accountInformation, loading, error];\n};\nexport default useHCPInformation;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport uuidv1 from 'uuid';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport apiClient from '../../../../infrastructure/api/api-client';\nimport SelectList from '../../../select-list';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport useValidation from '../../hooks/useValidation';\nvar ProductInformationSectionSpeakerReplacement = function ProductInformationSectionSpeakerReplacement() {\n var _deviceInfo$selectedC, _deviceInfo$selectedC2;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo,\n showErrors = appState.showErrors;\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n speakers = _useState2[0],\n setSpeakers = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n filteredSpeakers = _useState4[0],\n setFilteredSpeakers = _useState4[1];\n var _useState5 = useState(deviceInfo.ear ? deviceInfo.ear : 'Left'),\n _useState6 = _slicedToArray(_useState5, 2),\n selectedSide = _useState6[0],\n setSelectedSide = _useState6[1];\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedSpeaker = _useState8[0],\n setSelectedSpeaker = _useState8[1];\n var _useApi = useApi(function (itemNumber, type) {\n return apiClient.accessory.get(itemNumber, type);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getSpeakers = _useApi2[0],\n getSpeakersResponse = _useApi2[1],\n isLoading = _useApi2[2],\n error = _useApi2[3];\n\n /**\n * our validation schema\n * @type {{selectedSpeaker: {required: {message: string, value: boolean}}, selectedSide: {required: {message: string, value: boolean}}}}\n */\n var validations = {\n selectedSide: {\n required: {\n value: true,\n message: '*required'\n }\n },\n selectedSpeaker: {\n required: {\n value: true,\n message: '*required'\n }\n }\n };\n\n /**\n * useValidation takes a validation schema and returns a validate function as well as any errors\n */\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationSpeakerReplacement',\n value: isValid\n }\n });\n }, [isValid]);\n\n /**\n * anytime our required state objects change, re-evaluate their validation\n * update global state with updated order details\n */\n useEffect(function () {\n validator({\n selectedSpeaker: selectedSpeaker,\n selectedSide: selectedSide\n });\n var speakerDetails = speakers.find(function (speaker) {\n return speaker.itemNo === selectedSpeaker;\n });\n if (speakerDetails) {\n // update global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n replacedSpeakerDescription: speakerDetails.optionDescription,\n replacedSpeakerItemNumber: speakerDetails.itemNo,\n replacedSpeakerSide: selectedSide\n }\n });\n }\n }, [selectedSpeaker, selectedSide]);\n\n /**\n * grab a list of speakers for this device on mount\n */\n useEffect(function () {\n if (appState.deviceInfo.kitItemNo) {\n getSpeakers(appState.deviceInfo.kitItemNo, 'speaker');\n }\n }, []);\n\n /**\n * Once we get a response from speaker api, set our state.\n */\n useEffect(function () {\n if (getSpeakersResponse) {\n setSpeakers(getSpeakersResponse);\n }\n }, [getSpeakersResponse]);\n\n /**\n * every time selected side changes, we update the filteredSpeakerList for that side\n */\n useEffect(function () {\n var filtered = speakers.filter(function (speaker) {\n return speaker.ear.toLowerCase() === selectedSide.toLowerCase();\n });\n setSelectedSpeaker('');\n setFilteredSpeakers(filtered);\n }, [selectedSide, speakers]);\n var classnames = classNames({\n 'has-error': !isValid,\n 'speaker-replacement': true\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section-speaker-replacement \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(Loader, {\n show: isLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, \"Select speaker below for: \".concat(deviceInfo.ear, \", \").concat(deviceInfo.description, \", \").concat((_deviceInfo$selectedC = (_deviceInfo$selectedC2 = deviceInfo.selectedColor) === null || _deviceInfo$selectedC2 === void 0 ? void 0 : _deviceInfo$selectedC2.text) !== null && _deviceInfo$selectedC !== void 0 ? _deviceInfo$selectedC : '')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"ear-side\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear side\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose ear side\",\n items: [{\n text: 'Left',\n value: 'Left'\n }, {\n text: 'Right',\n value: 'Right'\n }],\n addBlankItem: false,\n selectedValue: selectedSide,\n onValueChange: function onValueChange(event) {\n setSelectedSide(event.target.getAttribute('value'));\n },\n hasError: showErrors && !!validationErrors.selectedSide\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSide)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"speaker-level\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Speaker level\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose speaker level\",\n items: filteredSpeakers.map(function (speaker) {\n return {\n value: speaker.itemNo,\n text: speaker.optionDescription\n };\n }),\n addBlankItem: false,\n selectedValue: selectedSpeaker,\n onValueChange: function onValueChange(event) {\n setSelectedSpeaker(event.target.getAttribute('value'));\n },\n hasError: showErrors && !!validationErrors.selectedSpeaker\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSpeaker)))));\n};\nexport default ProductInformationSectionSpeakerReplacement;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport ShippingInformationSection from './form-sections/ShippingInformationSection';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nimport WarrantyStatusSpot from './WarrantyStatusSpot';\nimport HCPInformationSection from './form-sections/HCPInformationSection';\nimport PatientInformationSection from './form-sections/PatientInformationSection';\nimport AddToCartButtons from './form-sections/AddToCartButtons';\nimport SpecialInstructionsSection from './form-sections/SpecialInstructionsSection';\nimport TermsAndConditionsSection from './form-sections/TermsAndConditionsSection';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport NavigationManager from '../../../infrastructure/navigation-manager';\nimport ModalDialog from '../../modal-dialog';\nimport ProductInformationSectionSpeakerReplacement from './form-sections/ProductInformationSectionSpeakerReplacement';\nimport CheckUtils from '../../../utilities/check-utils';\nvar SpeakerReplacement = function SpeakerReplacement() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showErrorModal = _useState2[0],\n setShowErrorModal = _useState2[1];\n var _useApi = useApi(function (order) {\n return ApiClient.serviceOrder.addSpeakerReplacementOrder(order);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n addToCart = _useApi2[0],\n addToCartResponse = _useApi2[1],\n savingToCart = _useApi2[2],\n addToCartError = _useApi2[3];\n\n /**\n * clears any previous form validations from other service types\n */\n useEffect(function () {\n dispatch({\n type: 'clearValidations'\n });\n }, []);\n\n /**\n * handles response from addToCartApi Call\n */\n useEffect(function () {\n if (addToCartResponse !== null && addToCartResponse !== void 0 && addToCartResponse.status && addToCartResponse.status === 200) {\n // success\n NavigationManager.navigateToCartDetails();\n }\n }, [addToCartResponse === null || addToCartResponse === void 0 ? void 0 : addToCartResponse.status]);\n\n /**\n * Handles errors from addToCart api Call\n */\n useEffect(function () {\n if (addToCartError) {\n setShowErrorModal(true);\n }\n }, [addToCartError]);\n var saveSpeakerReplacementOrder = function saveSpeakerReplacementOrder(e) {\n e.preventDefault();\n var formValidations = appState.formValidations;\n var hasErrors = Object.keys(formValidations).some(function (key) {\n return !formValidations[key];\n });\n if (hasErrors) {\n dispatch({\n type: 'showErrors',\n payload: true\n });\n document.querySelector('.has-error').scrollIntoView({\n behavior: 'smooth'\n });\n return;\n }\n if (!hasErrors) {\n var formattedOrder = {\n serialNo: appState.serialNumber,\n serviceCode: appState.selectedServiceCode,\n description: appState.deviceInfo.description,\n ear: appState.orderDetails.replacedSpeakerSide,\n model: appState.deviceInfo.model,\n style: appState.deviceInfo.style,\n circuit: appState.deviceInfo.circuit,\n currentColor: appState.deviceInfo.colorCode,\n exchangeColor: appState.orderDetails.colorChange,\n warrantyStatus: appState.deviceInfo.status,\n fitterInformation: {\n fitterName: appState.orderDetails.fitter.text,\n fitterEmail: appState.orderDetails.fitter.email,\n fitterPhoneNumber: appState.orderDetails.fitter.phone\n },\n isPOMandatory: appState.orderDetails.isPONumberMandatory,\n specialInstrunctions: appState.orderDetails.comments,\n patientInformation: {\n patientName: appState.deviceInfo.endUserName,\n age: appState.deviceInfo.patientAge,\n medicaidId: appState.deviceInfo.medicaidId,\n invoiceDate: appState.deviceInfo.purchaseDate,\n fittingDate: appState.deviceInfo.warrantyStartDate\n },\n sellTo: appState.orderDetails.sellTo,\n billTo: appState.orderDetails.billTo,\n poNumber: appState.orderDetails.poNumber,\n shippingAddress: appState.orderDetails.shippingAddress,\n warranties: [],\n deviceItemNumber: appState.deviceInfo.kitItemNo,\n currentSpeakerDescription: 'currentSpeakerDescription not provided by api',\n currentSpeakerItemNumber: 'currentSpeakerItemNumber not provided by api',\n replacedSpeakerDescription: appState.orderDetails.replacedSpeakerDescription,\n replacedSpeakerItemNumber: appState.orderDetails.replacedSpeakerItemNumber\n };\n if (appState.extendedWarrantyInfo) {\n formattedOrder.warranties.push({\n itemNumber: appState.extendedWarrantyInfo.itemNo,\n code: appState.extendedWarrantyInfo.code,\n price: appState.extendedWarrantyInfo.price\n });\n }\n addToCart(formattedOrder);\n }\n };\n var renderFormElements = function renderFormElements() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionSpeakerReplacement, null), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleSaveButtonClick: saveSpeakerReplacementOrder,\n isLoading: savingToCart\n })));\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WarrantyStatusSpot, null), appState.isWarrantyValid && /*#__PURE__*/React.createElement(\"div\", {\n className: \"speaker-replacement\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, \"Speaker replacement service\"), renderFormElements()), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: showErrorModal,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick() {\n return setShowErrorModal(false);\n },\n okLabel: \"Ok\"\n }, \"An error occurred while saving your order.\"));\n};\nexport default SpeakerReplacement;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport SelectColorList from '../../../select-color-list';\nimport TranslationManager from '../../../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../../../infrastructure/const';\nimport uuidv1, { validate } from 'uuid';\nimport SelectList from '../../../select-list';\nimport RadioList from '../../../radio-list';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport apiClient from '../../../../infrastructure/api/api-client';\nimport CheckUtils from '../../../../utilities/check-utils';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nvar ProductInformationSectionRepairBte = function ProductInformationSectionRepairBte() {\n var _appState$orderDetail, _appState$orderDetail2, _appState$orderDetail3, _appState$orderDetail4, _appState$orderDetail5, _appState$orderDetail6, _appState$orderDetail7, _appState$orderDetail8, _appState$orderDetail9, _appState$orderDetail10, _products$bteProductI, _products$bteProductI2, _products$bteProductI3, _products$bteProductI4;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo,\n showErrors = appState.showErrors;\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n speakers = _useState2[0],\n setSpeakers = _useState2[1];\n var _useState3 = useState((_appState$orderDetail = (_appState$orderDetail2 = appState.orderDetails) === null || _appState$orderDetail2 === void 0 ? void 0 : _appState$orderDetail2.colorChange) !== null && _appState$orderDetail !== void 0 ? _appState$orderDetail : ''),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedColor = _useState4[0],\n setSelectedColor = _useState4[1];\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n selectedSide = _useState6[0],\n setSelectedSide = _useState6[1];\n var _useState7 = useState([]),\n _useState8 = _slicedToArray(_useState7, 2),\n filteredSpeakers = _useState8[0],\n setFilteredSpeakers = _useState8[1];\n var _useState9 = useState((_appState$orderDetail3 = (_appState$orderDetail4 = appState.orderDetails) === null || _appState$orderDetail4 === void 0 ? void 0 : _appState$orderDetail4.speakerItemNumber) !== null && _appState$orderDetail3 !== void 0 ? _appState$orderDetail3 : ''),\n _useState10 = _slicedToArray(_useState9, 2),\n selectedSpeaker = _useState10[0],\n setSelectedSpeaker = _useState10[1];\n var _useState11 = useState((_appState$orderDetail5 = (_appState$orderDetail6 = appState.orderDetails) === null || _appState$orderDetail6 === void 0 ? void 0 : _appState$orderDetail6.domeItemNo) !== null && _appState$orderDetail5 !== void 0 ? _appState$orderDetail5 : ''),\n _useState12 = _slicedToArray(_useState11, 2),\n selectedDome = _useState12[0],\n setSelectedDome = _useState12[1];\n var _useApi = useApi(function (itemNumber, type) {\n return apiClient.accessory.get(itemNumber, type);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getSpeakers = _useApi2[0],\n getSpeakersResponse = _useApi2[1],\n isLoading = _useApi2[2],\n error = _useApi2[3];\n var _useState13 = useState([]),\n _useState14 = _slicedToArray(_useState13, 2),\n domes = _useState14[0],\n setDomes = _useState14[1];\n var _useApi3 = useApi(function (itemNumber, type) {\n return apiClient.accessory.get(itemNumber, type);\n }),\n _useApi4 = _slicedToArray(_useApi3, 2),\n getDomes = _useApi4[0],\n getDomesResponse = _useApi4[1];\n var _useApi5 = useApi(function (serialNumber, aidType) {\n return apiClient.serviceOrder.getRepairProductInformation(serialNumber, aidType);\n }),\n _useApi6 = _slicedToArray(_useApi5, 2),\n getProdInfoBte = _useApi6[0],\n getProdInfoBteResponse = _useApi6[1];\n var _useState15 = useState([]),\n _useState16 = _slicedToArray(_useState15, 2),\n products = _useState16[0],\n setProducts = _useState16[1];\n var _useState17 = useState((_appState$orderDetail7 = (_appState$orderDetail8 = appState.orderDetails) === null || _appState$orderDetail8 === void 0 ? void 0 : _appState$orderDetail8.excludeSpeaker) !== null && _appState$orderDetail7 !== void 0 ? _appState$orderDetail7 : false),\n _useState18 = _slicedToArray(_useState17, 2),\n excludeSpeakerOption = _useState18[0],\n setExcludeSpeakerOption = _useState18[1];\n var _useState19 = useState((_appState$orderDetail9 = (_appState$orderDetail10 = appState.orderDetails) === null || _appState$orderDetail10 === void 0 ? void 0 : _appState$orderDetail10.excludeDome) !== null && _appState$orderDetail9 !== void 0 ? _appState$orderDetail9 : false),\n _useState20 = _slicedToArray(_useState19, 2),\n excludeDomeOption = _useState20[0],\n setExcludeDomeOption = _useState20[1];\n var translations = {\n addSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_ADD_SPEAKERS),\n excludeSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_EXCLUDE_SPEAKERS),\n addDomes: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_ADD_DOMES),\n excludeDomes: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_EXCLUDE_DOMES)\n };\n var speakerOrCordaOptions = [{\n value: 'speakerorcorda-excluded',\n text: translations.excludeSpeakers\n }, {\n value: 'speakerorcorda-added',\n text: translations.addSpeakers\n }];\n var domeOptions = [{\n value: 'dome-excluded',\n text: translations.excludeDomes\n }, {\n value: 'dome-added',\n text: translations.addDomes\n }];\n var excludeSpeakerOrCorda = [];\n var excludeDome = [];\n\n /*Speaker Custom validation logic function that is called in validation schema*/\n var validateSpeaker = function validateSpeaker(val) {\n if (excludeSpeakerOption) {\n if (val === '') {\n return {\n message: '',\n passed: true\n };\n }\n } else if (!excludeSpeakerOption) {\n if (val === '') {\n return {\n message: '*required',\n passed: false\n };\n } else {\n return {\n message: '',\n passed: true\n };\n }\n }\n return false;\n };\n\n /* Dome Custom validation logic function that is called in validation schema*/\n var validateDome = function validateDome(val) {\n if (excludeDomeOption) {\n if (val === '') {\n return {\n message: '',\n passed: true\n };\n }\n } else if (!excludeDomeOption) {\n if (val === '') {\n return {\n message: '*required',\n passed: false\n };\n } else {\n return {\n message: '',\n passed: true\n };\n }\n }\n return false;\n };\n\n /* our validation schema for speaker fields */\n var validations = {\n selectedSide: {\n custom: {\n func: validateSpeaker,\n message: '*required'\n }\n },\n selectedSpeaker: {\n custom: {\n func: validateSpeaker,\n message: '*required'\n }\n }\n };\n\n /**\n * useValidation takes a validation schema and returns a validate function as well as any errors\n */\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n\n /* our validation schema for dome field */\n var domeValidations = {\n selectedDome: {\n custom: {\n func: validateDome,\n message: '*required'\n }\n }\n };\n var _useValidation3 = useValidation(domeValidations),\n _useValidation4 = _slicedToArray(_useValidation3, 3),\n domeValidator = _useValidation4[0],\n domeValidationErrors = _useValidation4[1],\n isValidDome = _useValidation4[2];\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationRepairBte',\n value: isValid\n }\n });\n }, [isValid]);\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationRepairBteDome',\n value: isValidDome\n }\n });\n }, [isValidDome]);\n useEffect(function () {\n validator({\n selectedSide: selectedSide,\n selectedSpeaker: selectedSpeaker\n });\n var speakerDetails = speakers.find(function (speaker) {\n return speaker.itemNo === selectedSpeaker;\n });\n if (speakerDetails) {\n // update global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n speakerDescription: speakerDetails.optionDescription,\n speakerItemNumber: speakerDetails.itemNo,\n speakerSide: selectedSide\n }\n });\n }\n }, [selectedSide, selectedSpeaker]);\n useEffect(function () {\n domeValidator({\n selectedDome: selectedDome\n });\n var domeDetails = domes.find(function (dm) {\n return dm.itemNo === selectedDome;\n });\n if (domeDetails) {\n // update global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n domeDescription: domeDetails.optionDescription,\n domeItemNo: domeDetails.itemNo\n }\n });\n }\n }, [selectedDome]);\n\n /* Get BTE Product details */\n useEffect(function () {\n if (appState.deviceInfo.serialNo) {\n getProdInfoBte(appState.deviceInfo.serialNo, appState.deviceInfo.categoryCode);\n }\n }, []);\n\n /**\n * Once we get a response from repair product info api, set our state.\n */\n useEffect(function () {\n if (getProdInfoBteResponse) {\n setProducts(getProdInfoBteResponse);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n model: getProdInfoBteResponse.bteProductInfo.model,\n style: getProdInfoBteResponse.bteProductInfo.style,\n circuit: getProdInfoBteResponse.bteProductInfo.circuit,\n color: getProdInfoBteResponse.bteProductInfo.color\n }\n });\n }\n }, [getProdInfoBteResponse]);\n\n /**\n * grab a list of speakers for this device on mount\n */\n useEffect(function () {\n if (appState.deviceInfo.kitItemNo) {\n getSpeakers(appState.deviceInfo.kitItemNo, 'speaker');\n }\n }, []);\n\n /**\n * Once we get a response from speaker api, set our state.\n */\n useEffect(function () {\n if (getSpeakersResponse) {\n setSpeakers(getSpeakersResponse);\n dispatch({\n type: 'setSpeakers',\n payload: getSpeakersResponse\n });\n }\n }, [getSpeakersResponse]);\n useEffect(function () {\n var filtered = speakers.filter(function (speaker) {\n return speaker.ear.toLowerCase() === selectedSide.toLowerCase();\n });\n setFilteredSpeakers(filtered);\n }, [selectedSide, speakers]);\n\n /**\n * grab a list of Domes for this device on mount\n */\n useEffect(function () {\n if (appState.deviceInfo.kitItemNo) {\n getDomes(appState.deviceInfo.kitItemNo, 'dome');\n }\n }, []);\n\n /**\n * Once we get a response from Dome api, set our state.\n */\n useEffect(function () {\n if (getDomesResponse) {\n setDomes(getDomesResponse);\n }\n }, [getDomesResponse]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n var domeClassnames = classNames({\n 'has-error': !isValidDome\n });\n var toggleSpeaker = function toggleSpeaker(e) {\n if (e.target.value === 'speakerorcorda-excluded') {\n setExcludeSpeakerOption(true);\n setSelectedSide('');\n setSelectedSpeaker('');\n dispatch({\n type: 'setOrderDetails',\n payload: {\n excludeSpeaker: true,\n speakerItemNumber: '',\n speakerDescription: '',\n speakerSide: ''\n }\n });\n } else if (e.target.value === 'speakerorcorda-added') {\n setExcludeSpeakerOption(false);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n excludeSpeaker: false\n }\n });\n }\n validator(selectedSide, selectedSpeaker);\n };\n var toggleDome = function toggleDome(e) {\n if (e.target.value === 'dome-excluded') {\n setExcludeDomeOption(true);\n setSelectedDome('');\n dispatch({\n type: 'setOrderDetails',\n payload: {\n excludeDome: true,\n domeItemNo: '',\n domeDescription: ''\n }\n });\n } else if (e.target.value === 'dome-added') {\n setExcludeDomeOption(false);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n excludeDome: false\n }\n });\n }\n domeValidator(selectedDome);\n };\n useEffect(function () {\n var _appState$orderDetail11;\n if (appState.copyOrEditService && (_appState$orderDetail11 = appState.orderDetails) !== null && _appState$orderDetail11 !== void 0 && _appState$orderDetail11.speakerSide) {\n setSelectedSide(appState.orderDetails.speakerSide);\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section product-section-repair-bte \".concat(classnames, \" \").concat(domeClassnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(Loader, {\n show: isLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Model\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString((_products$bteProductI = products.bteProductInfo) === null || _products$bteProductI === void 0 ? void 0 : _products$bteProductI.model) ? products.bteProductInfo.model : '')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Style\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString((_products$bteProductI2 = products.bteProductInfo) === null || _products$bteProductI2 === void 0 ? void 0 : _products$bteProductI2.style) ? products.bteProductInfo.style : '')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Circuit\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString((_products$bteProductI3 = products.bteProductInfo) === null || _products$bteProductI3 === void 0 ? void 0 : _products$bteProductI3.circuit) ? products.bteProductInfo.circuit : '')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Existing color\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, !CheckUtils.isNullOrEmptyString((_products$bteProductI4 = products.bteProductInfo) === null || _products$bteProductI4 === void 0 ? void 0 : _products$bteProductI4.color) ? products.bteProductInfo.color : ''))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content repair-bte-speaker-info\"\n }, \"Speaker/Dome information:\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, excludeSpeakerOption ? '' : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"ear-side\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear side\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose ear side\",\n items: [{\n text: 'Left',\n value: 'Left'\n }, {\n text: 'Right',\n value: 'Right'\n }],\n addBlankItem: false,\n selectedValue: selectedSide,\n onValueChange: function onValueChange(event) {\n setSelectedSide(event.target.getAttribute('value'));\n setSelectedSpeaker('');\n dispatch({\n type: 'setOrderDetails',\n payload: {\n speakerSide: event.target.getAttribute('value'),\n speakerItemNumber: '',\n speakerDescription: ''\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedSide\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSide)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"speaker-level\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Speaker level\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose speaker level\",\n items: filteredSpeakers.map(function (speaker) {\n return {\n value: speaker.itemNo,\n text: speaker.optionDescription\n };\n }),\n addBlankItem: false,\n selectedValue: selectedSpeaker,\n onValueChange: function onValueChange(event) {\n setSelectedSpeaker(event.target.getAttribute('value'));\n dispatch({\n type: 'setOrderDetails',\n payload: {\n speakerItemNumber: event.target.getAttribute('value')\n }\n });\n },\n hasError: showErrors && !!validationErrors.selectedSpeaker\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSpeaker))), /*#__PURE__*/React.createElement(\"div\", {\n className: excludeSpeakerOption ? 'alter-repair-productinfo-exclude-radio' : 'repair-productinfo-exclude-radio'\n }, /*#__PURE__*/React.createElement(RadioList, {\n id: uuidv1(),\n name: \"exclude-speaker-radio-btn\",\n items: excludeSpeakerOption ? speakerOrCordaOptions : excludeSpeakerOrCorda.concat(speakerOrCordaOptions[0]),\n selectedValue: excludeSpeakerOption ? speakerOrCordaOptions[0].value : speakerOrCordaOptions[1].value,\n onValueChange: function onValueChange(event) {\n return toggleSpeaker(event);\n }\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, excludeDomeOption ? '' : /*#__PURE__*/React.createElement(\"div\", {\n className: \"product-info-dome\"\n }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Dome\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose dome\",\n items: domes.map(function (dome) {\n return {\n value: dome.itemNo,\n text: dome.optionDescription\n };\n }),\n addBlankItem: false,\n selectedValue: selectedDome,\n onValueChange: function onValueChange(event) {\n setSelectedDome(event.target.getAttribute('value'));\n dispatch({\n type: 'setOrderDetails',\n payload: {\n domeItemNo: event.target.getAttribute('value')\n }\n });\n },\n hasError: showErrors && !!domeValidationErrors.selectedDome\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, domeValidationErrors.selectedDome))), /*#__PURE__*/React.createElement(\"div\", {\n className: excludeDomeOption ? 'alter-repair-productinfo-exclude-dome-radio' : 'repair-productinfo-exclude-radio'\n }, /*#__PURE__*/React.createElement(RadioList, {\n id: uuidv1(),\n name: \"exclude-dome-radio-btn\",\n items: excludeDomeOption ? domeOptions : excludeDome.concat(domeOptions[0]),\n selectedValue: excludeDomeOption ? domeOptions[0].value : domeOptions[1].value,\n onValueChange: function onValueChange(event) {\n return toggleDome(event);\n }\n })))));\n};\nexport default ProductInformationSectionRepairBte;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport SelectList from '../../../select-list';\nimport uuidv1 from 'uuid';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport ApiClient from '../../../../infrastructure/api/api-client';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nvar ProductInformationSectionRepairIte = function ProductInformationSectionRepairIte() {\n var _appState$deviceInfo3, _appState$deviceInfo4, _appState$deviceInfo5;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _appState$deviceInfo = appState.deviceInfo,\n serialNo = _appState$deviceInfo.serialNo,\n categoryCode = _appState$deviceInfo.categoryCode;\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n features = _useState2[0],\n setFeatures = _useState2[1];\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n localFeatures = _useState4[0],\n setLocalFeatures = _useState4[1];\n var _useApi = useApi(function (serial, type) {\n return ApiClient.serviceOrder.getRepairProductInformation(serial, type);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getFeatures = _useApi2[0],\n getFeaturesResponse = _useApi2[1],\n isLoading = _useApi2[2],\n getFeaturesError = _useApi2[3];\n var _useApi3 = useApi(function (feature, salesItemNo) {\n return ApiClient.serviceOrder.updateRepairProductInformation(feature, salesItemNo);\n }),\n _useApi4 = _slicedToArray(_useApi3, 4),\n updateFeatures = _useApi4[0],\n updateFeaturesResponse = _useApi4[1],\n updatesLoading = _useApi4[2],\n updateFeaturesError = _useApi4[3];\n useEffect(function () {\n getFeatures(serialNo, categoryCode);\n }, []);\n useEffect(function () {\n if (getFeaturesResponse) {\n var iteProductInfo = getFeaturesResponse.iteProductInfo;\n if (iteProductInfo) {\n setFeatures(iteProductInfo.features);\n setLocalFeatures(iteProductInfo.localOptions);\n }\n dispatch({\n type: 'setOrderDetails',\n payload: {\n iteProductInformation: {\n features: iteProductInfo.features,\n localOptions: iteProductInfo.localOptions\n }\n }\n });\n }\n }, [getFeaturesResponse]);\n useEffect(function () {\n var orderDetails = appState.orderDetails;\n if (updateFeaturesResponse) {\n setFeatures(updateFeaturesResponse);\n dispatch({\n type: 'setOrderDetails',\n payload: {\n iteProductInformation: _objectSpread(_objectSpread({}, orderDetails.iteProductInformation), {}, {\n features: updateFeaturesResponse\n })\n }\n });\n }\n }, [updateFeaturesResponse]);\n useEffect(function () {\n if (updateFeaturesError) {\n console.error('an error occured saving features.', updateFeaturesError);\n }\n }, [updateFeaturesError]);\n var onFeatureValueChange = function onFeatureValueChange(selectedValue, featureId) {\n var _appState$deviceInfo2;\n var _ref = (_appState$deviceInfo2 = appState === null || appState === void 0 ? void 0 : appState.deviceInfo) !== null && _appState$deviceInfo2 !== void 0 ? _appState$deviceInfo2 : '',\n salesItemNo = _ref.salesItemNo;\n var featuresCopy = _toConsumableArray(features);\n var featureIndex = features.findIndex(function (feature) {\n return feature.variableId === featureId;\n });\n var valuesCopy = features[featureIndex].values.map(function (value) {\n var v = _objectSpread({}, value);\n v.state = value.valueId === selectedValue ? 'Assigned' : 'Assignable';\n return v;\n });\n featuresCopy[featureIndex].values = valuesCopy;\n updateFeatures(featuresCopy, salesItemNo);\n };\n var renderOptionsAndFeatures = function renderOptionsAndFeatures() {\n if (features) {\n return features.map(function (feature) {\n var _feature$values$find$, _feature$values$find;\n switch (feature.type) {\n case 'dropdown':\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, feature.comment), feature.values.length > 1 && /*#__PURE__*/React.createElement(SelectList, {\n className: \"selectlist\",\n label: \"Choose one\",\n id: uuidv1(),\n items: feature.values.map(function (item) {\n return {\n text: item.featureValue,\n value: item.valueId\n };\n }),\n selectedValue: (_feature$values$find$ = (_feature$values$find = feature.values.find(function (item) {\n return item.state === 'Assigned';\n })) === null || _feature$values$find === void 0 ? void 0 : _feature$values$find.valueId) !== null && _feature$values$find$ !== void 0 ? _feature$values$find$ : '',\n addBlankItems: false,\n onValueChange: function onValueChange(event) {\n onFeatureValueChange(event.target.value, feature.variableId);\n },\n hasError: false,\n disabled: false\n }), feature.values.length <= 1 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, feature.values[0].featureValue));\n default:\n {\n return null;\n }\n }\n });\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(Loader, {\n show: isLoading || updatesLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section product-section-repair-ite\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, (_appState$deviceInfo3 = appState.deviceInfo) === null || _appState$deviceInfo3 === void 0 ? void 0 : _appState$deviceInfo3.ear)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Model\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, (_appState$deviceInfo4 = appState.deviceInfo) === null || _appState$deviceInfo4 === void 0 ? void 0 : _appState$deviceInfo4.model)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Style\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, (_appState$deviceInfo5 = appState.deviceInfo) === null || _appState$deviceInfo5 === void 0 ? void 0 : _appState$deviceInfo5.style))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content product-info-options-heading\"\n }, \"Options and features:\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, renderOptionsAndFeatures())));\n};\nexport default ProductInformationSectionRepairIte;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport SelectList from '../../../select-list';\nimport uuidv1 from 'uuid';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport apiClient from '../../../../infrastructure/api/api-client';\nimport RadioList from '../../../radio-list';\nimport useValidation from '../../hooks/useValidation';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport TranslationManager from '../../../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../../../infrastructure/const';\nvar ProductInformationSectionRepairMold = function ProductInformationSectionRepairMold() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo,\n showErrors = appState.showErrors;\n var _useState = useState('Left'),\n _useState2 = _slicedToArray(_useState, 2),\n selectedSide = _useState2[0],\n setSelectedSide = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n speakers = _useState4[0],\n setSpeakers = _useState4[1];\n var _useState5 = useState([]),\n _useState6 = _slicedToArray(_useState5, 2),\n filteredSpeakers = _useState6[0],\n setFilteredSpeakers = _useState6[1];\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedSpeaker = _useState8[0],\n setSelectedSpeaker = _useState8[1];\n var _useApi = useApi(function (itemNumber, type) {\n return apiClient.accessory.get(itemNumber, type);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getSpeakers = _useApi2[0],\n getSpeakersResponse = _useApi2[1],\n isLoading = _useApi2[2],\n error = _useApi2[3];\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n excludeSpeakerOption = _useState10[0],\n setExcludeSpeakerOption = _useState10[1];\n var translations = {\n addSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_ADD_SPEAKERS),\n excludeSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_EXCLUDE_SPEAKERS)\n };\n var speakerOrCordaOptions = [{\n value: 'speakerorcorda-excluded',\n text: translations.excludeSpeakers\n }, {\n value: 'speakerorcorda-added',\n text: translations.addSpeakers\n }];\n var excludeSpeakerOrCorda = [];\n\n //Custom validation logic function that is called in validation schema\n var validateSpeaker = function validateSpeaker(val) {\n if (excludeSpeakerOption === true) {\n if (val === '') {\n return {\n message: '',\n passed: true\n };\n }\n } else if (excludeSpeakerOption === false) {\n if (val === '') {\n return {\n message: '*required',\n passed: false\n };\n } else {\n return {\n message: '',\n passed: true\n };\n }\n }\n return false;\n };\n\n /*our validation schema*/\n var validations = {\n selectedSide: {\n required: {\n value: true,\n message: '*required'\n }\n },\n selectedSpeaker: {\n custom: {\n func: validateSpeaker,\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationRepairMold',\n value: isValid\n }\n });\n }, [isValid]);\n useEffect(function () {\n validator({\n selectedSpeaker: selectedSpeaker,\n selectedSide: selectedSide\n });\n var speakerDetails = speakers.find(function (speaker) {\n return speaker.itemNo === selectedSpeaker;\n });\n if (speakerDetails) {\n // update global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n replacedSpeakerDescription: speakerDetails.optionDescription,\n replacedSpeakerItemNumber: speakerDetails.itemNo,\n replacedSpeakerSide: selectedSide\n }\n });\n }\n }, [selectedSpeaker, selectedSide]);\n\n /**\r\n * grab a list of speakers for this device on mount\r\n */\n useEffect(function () {\n if (appState.deviceInfo.kitItemNo) {\n getSpeakers(appState.deviceInfo.kitItemNo, 'speaker');\n }\n }, []);\n\n /**\r\n * Once we get a response from speaker api, set our state.\r\n */\n useEffect(function () {\n if (getSpeakersResponse) {\n setSpeakers(getSpeakersResponse);\n }\n }, [getSpeakersResponse]);\n useEffect(function () {\n var filtered = speakers.filter(function (speaker) {\n return speaker.ear.toLowerCase() === selectedSide.toLowerCase();\n });\n setSelectedSpeaker('');\n setFilteredSpeakers(filtered);\n }, [selectedSide, speakers]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n var toggleSpeaker = function toggleSpeaker(e) {\n if (e.target.value === 'speakerorcorda-excluded') {\n setExcludeSpeakerOption(true);\n setSelectedSpeaker('');\n validator(selectedSide, selectedSpeaker);\n } else {\n setExcludeSpeakerOption(false);\n validator(selectedSide, selectedSpeaker);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section product-section-repair-mold \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content mold-form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, selectedSide)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Model\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"RITE Mold\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Style\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Micro Mold\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Circuit\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Micro Mold MiniFit\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Shell Color\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Transparent\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Material\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Hard\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Vent type\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Cast Vent\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Earpiece vent\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"1.4\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitting Level\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"60\"))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content repair-mold-speaker-info\"\n }, \"Speaker information:\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, excludeSpeakerOption === true ? '' : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear side\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, selectedSide)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"speaker-level\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Speaker level\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose speaker level\",\n items: filteredSpeakers.map(function (speaker) {\n return {\n value: speaker.itemNo,\n text: speaker.optionDescription\n };\n }),\n addBlankItem: false,\n selectedValue: selectedSpeaker,\n onValueChange: function onValueChange(event) {\n setSelectedSpeaker(event.target.getAttribute('value'));\n },\n hasError: showErrors && !!validationErrors.selectedSpeaker\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSpeaker))), /*#__PURE__*/React.createElement(\"div\", {\n className: excludeSpeakerOption === true ? 'alter-repair-productinfo-exclude-radio' : 'repair-productinfo-exclude-radio'\n }, /*#__PURE__*/React.createElement(RadioList, {\n id: uuidv1(),\n name: \"exclude-speaker-radio-btn\",\n items: excludeSpeakerOption === true ? speakerOrCordaOptions : excludeSpeakerOrCorda.concat(speakerOrCordaOptions[0]),\n selectedValue: excludeSpeakerOrCorda.value,\n onValueChange: function onValueChange(event) {\n return toggleSpeaker(event);\n }\n }))));\n};\nexport default ProductInformationSectionRepairMold;","import React, { useEffect, useState } from 'react';\nimport { useServiceOrderState } from '../../ServiceOrderProvider';\nvar ProductInformationSectionRepairAccessories = function ProductInformationSectionRepairAccessories() {\n var appState = useServiceOrderState();\n var deviceInfo = appState.deviceInfo;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section product-section-repair-accessories\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Description\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, deviceInfo.description))));\n};\nexport default ProductInformationSectionRepairAccessories;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _readOnlyError(r) { throw new TypeError('\"' + r + '\" is read-only'); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ApiClient from '../../infrastructure/api/api-client';\nimport CheckUtils from '../../utilities/check-utils';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport Loader from 'react-loader-advanced';\nimport TranslationManager from '../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../infrastructure/const';\nvar ServiceOrderImpressionSelector = /*#__PURE__*/function (_React$Component) {\n // TODO: optimize for monaural orders since we likely won't have binaural here\n // TODO: update api calls and data when we get new endpoints.\n function ServiceOrderImpressionSelector(props) {\n var _this;\n _classCallCheck(this, ServiceOrderImpressionSelector);\n _this = _callSuper(this, ServiceOrderImpressionSelector, [props]);\n _this.state = {\n selectedType: '',\n isValidOtoscan: false,\n showOtoscanMessage: false,\n showSpinner: false,\n otoscanPackageId: '',\n impressionOnFile: {\n isDuplicate: false,\n left: {\n isValid: false,\n isExpired: false,\n showMessage: false,\n impressionOnFile: ''\n },\n right: {\n isValid: false,\n isExpired: false,\n showMessage: false,\n impressionOnFile: ''\n }\n }\n };\n _this.translations = {\n stlOtiscanLimitation: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_STL_OTISCAN_LIMITATION),\n sendingImpressionSeparate: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_SEND_SEPARATE),\n impressionIsMandatoryErrorMsg: TranslationManager.getTranslation(TranslationKeys.CLIENT_ORDERSTEP_3_IMPRESSION_IS_MANDATORY_ERROR_MSG),\n selectImpressionTextLeft: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_IMPRESSIONS_SELECT_IMPRESSION_TEXT),\n selectImpressionTextRight: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_SELECT_IMPRESSION_TEXT_RIGHT),\n selectFileButtonLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_SELECT_FILE_BUTTON_LABEL),\n chooseFileLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_CHOOSE_FILE_LABEL),\n impressionsSectionHeaderText: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_SECTION_HEADER_TEXT),\n impressionsCheckboxImpressionsLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_IMPRESSIONS_LABEL),\n impressionsCheckboxOtoscanIdLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_OTOSCAN_ID_LABEL),\n impressionsCheckboxImpressionOnFileLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_IMPRESSION_ON_FILE_LABEL),\n impressionsEnterOtoscanTextboxLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_ENTER_OTOSCAN_TEXTBOX_LABEL),\n impressionsEnterLeftImpressionOnFileTextboxLabel: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_IMPRESSIONS_ENTER_IMPRESSION_ON_FILE_TEXTBOX_LABEL),\n impressionsEnterRightImpressionOnFileTextboxLabel: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_ENTER_RIGHT_IMPRESSION_ON_FILE_TEXTBOX_LABEL),\n impressionsEnterYourSerialNoPlaceholder: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_IMPRESSIONS_ENTER_YOUR_SERIAL_NO_PLACEHOLDER),\n impressionsValidOtoscanMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_VALID_OTOSCAN_MESSAGE),\n impressionsInvalidOtoscanMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_INVALID_OTOSCAN_MESSAGE),\n impressionsValidImpressionsOnFileMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_VALID_IMPRESSION_ON_FILE_MESSAGE),\n impressionsInvalidImpressionsOnFileMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_INVALID_IMPRESSION_ON_FILE_MESSAGE),\n impressionsExpiredImpressionsOnFileMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_EXPIRED_IMPRESSION_ON_FILE_MESSAGE),\n impressionsDuplicateImpressionsOnFileMessage: TranslationManager.getTranslation(TranslationKeys.CLIENTORDERSTEP3_DUPLICATE_IMPRESSION_ON_FILE_MESSAGE)\n };\n _this.otoscanIdFieldRef = /*#__PURE__*/React.createRef();\n _this.leftImpressionFieldRef = /*#__PURE__*/React.createRef();\n _this.rightImpressionFieldRef = /*#__PURE__*/React.createRef();\n _this.leftImpressionOnFileFieldRef = /*#__PURE__*/React.createRef();\n _this.rightImpressionOnFileFieldRef = /*#__PURE__*/React.createRef();\n _this.deleteImpressionImage = _this.deleteImpressionImage.bind(_this);\n return _this;\n }\n _inherits(ServiceOrderImpressionSelector, _React$Component);\n return _createClass(ServiceOrderImpressionSelector, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var serviceOrderImpressions = this.props.serviceOrderImpressions;\n var _this$state = this.state,\n selectedType = _this$state.selectedType,\n otoscanPackageId = _this$state.otoscanPackageId,\n impressionOnFile = _this$state.impressionOnFile;\n if (serviceOrderImpressions) {\n if (!CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsLeft.impressionImage) || !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsRight.impressionImage)) {\n // we have an impression file\n selectedType = 'impressions';\n }\n if (!CheckUtils.isNullOrEmptyString(serviceOrderImpressions.earScanPackageId)) {\n selectedType = 'otoscan';\n otoscanPackageId = serviceOrderImpressions.earScanPackageId;\n }\n if (!CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsLeft.impressionOnFile) || !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsRight.impressionOnFile)) {\n selectedType = 'impressionOnFile';\n impressionOnFile.left.impressionOnFile = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsLeft.impressionOnFile) ? serviceOrderImpressions.detailsLeft.impressionOnFile : '';\n impressionOnFile.right.impressionOnFile = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsRight.impressionOnFile) ? serviceOrderImpressions.detailsRight.impressionOnFile : '';\n }\n }\n this.setState({\n selectedType: selectedType,\n otoscanPackageId: otoscanPackageId,\n impressionOnFile: impressionOnFile\n });\n }\n }, {\n key: \"onToggleSelection\",\n value: function onToggleSelection(target) {\n var _this$props = this.props,\n serviceOrderImpressions = _this$props.serviceOrderImpressions,\n handleSendImpressionSeparate = _this$props.handleSendImpressionSeparate;\n var selectedType = this.state.selectedType;\n var otoscanPackageId = this.state.otoscanPackageId;\n if (selectedType === target.value) {\n selectedType = '';\n } else {\n selectedType = target.value;\n }\n\n // clear previous selection(s)\n if (!CheckUtils.isNullOrEmptyString(otoscanPackageId)) {\n // we do a check for otoscan package id first because removing otoscan packages is an expensive api call (takes time)\n this.removeOtoscanID();\n }\n this.clearImpressionImages();\n this.clearImpressionsOnFile();\n this.setState({\n selectedType: selectedType,\n isValidOtoscan: false,\n showOtoscanMessage: false,\n otoscanPackageId: serviceOrderImpressions ? serviceOrderImpressions.earScanPackageId : ''\n });\n if (selectedType === 'impressionSeparate') {\n handleSendImpressionSeparate(true);\n } else {\n handleSendImpressionSeparate(false);\n }\n }\n }, {\n key: \"clearImpressionImages\",\n value: function clearImpressionImages() {\n var serviceOrderImpressions = this.props.serviceOrderImpressions;\n var hasLeftImpression = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsLeft.impressionImage);\n var hasRightImpression = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsRight.impressionImage);\n if (hasLeftImpression && hasRightImpression) {\n this.deleteImpressionImage('both');\n } else if (hasRightImpression) {\n this.deleteImpressionImage('right');\n } else if (hasLeftImpression) {\n this.deleteImpressionImage('left');\n }\n }\n }, {\n key: \"clearImpressionsOnFile\",\n value: function clearImpressionsOnFile() {\n var serviceOrderImpressions = this.props.serviceOrderImpressions;\n var hasLeftImpressionOnFile = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsLeft.impressionOnFile);\n var hasRightImpressionOnFile = !CheckUtils.isNullOrEmptyString(serviceOrderImpressions.detailsRight.impressionOnFile);\n if (hasLeftImpressionOnFile && hasRightImpressionOnFile) {\n this.removeImpressionOnFile('both');\n } else if (hasLeftImpressionOnFile) {\n this.removeImpressionOnFile('left');\n } else if (hasRightImpressionOnFile) {\n this.removeImpressionOnFile('right');\n }\n }\n }, {\n key: \"deleteImpressionImage\",\n value: function deleteImpressionImage(side) {\n var _this$props2 = this.props,\n deleteImpressionImage = _this$props2.deleteImpressionImage,\n deleteBinauralImpressionImages = _this$props2.deleteBinauralImpressionImages,\n setImpressionFile = _this$props2.setImpressionFile;\n switch (side) {\n case 'left':\n if (this.leftImpressionFieldRef.current) {\n this.leftImpressionFieldRef.current.value = '';\n }\n deleteImpressionImage(side);\n setImpressionFile(side); // remove from parent state.\n break;\n case 'right':\n if (this.rightImpressionFieldRef.current) {\n this.rightImpressionFieldRef.current.value = '';\n }\n deleteImpressionImage(side);\n setImpressionFile(side);\n break;\n case 'both':\n deleteBinauralImpressionImages();\n setImpressionFile('left');\n setImpressionFile('right');\n break;\n default:\n console.error('delete Impressions error: side not selected.');\n }\n }\n }, {\n key: \"validateOtoscanID\",\n value: function validateOtoscanID() {\n var _this2 = this;\n var _this$props3 = this.props,\n serviceOrderImpressions = _this$props3.serviceOrderImpressions,\n setOtoscanPackageId = _this$props3.setOtoscanPackageId,\n orderType = _this$props3.orderType;\n if (CheckUtils.isNullOrEmptyString(this.otoscanIdFieldRef.current.value)) {\n this.setState({\n isValidOtoscan: false,\n showOtoscanMessage: true\n });\n return;\n }\n this.setState({\n showOtoscanMessage: false,\n showSpinner: true\n }, function () {\n ApiClient.serviceOrder.validateOtoscanImpression(serviceOrderImpressions.clientOrderId, _this2.otoscanIdFieldRef.current.value, orderType).then(function (result) {\n // clear or set otoscan package id in parent\n setOtoscanPackageId(_this2.otoscanIdFieldRef.current.value, !result);\n _this2.setState({\n isValidOtoscan: result,\n showOtoscanMessage: true,\n showSpinner: false,\n otoscanPackageId: _this2.otoscanIdFieldRef.current.value\n });\n });\n });\n }\n\n /**\n * checks if a valid impression file exists for the serial number provided. Also removes any previously selected impression types.\n *\n */\n }, {\n key: \"validateImpressionOnFile\",\n value: function validateImpressionOnFile() {\n var _this3 = this;\n var _this$props4 = this.props,\n serviceOrderImpressions = _this$props4.serviceOrderImpressions,\n setImpressionOnFile = _this$props4.setImpressionOnFile,\n orderType = _this$props4.orderType,\n leftSideEnabled = _this$props4.leftSideEnabled,\n rightSideEnabled = _this$props4.rightSideEnabled;\n var impressionOnFile = this.state.impressionOnFile;\n var leftImpressionInputText = this.leftImpressionOnFileFieldRef.current ? this.leftImpressionOnFileFieldRef.current.value : '';\n var rightImpressionInputText = this.rightImpressionOnFileFieldRef.current ? this.rightImpressionOnFileFieldRef.current.value : '';\n var hasError = false;\n impressionOnFile.isDuplicate = false;\n var isBinaural = leftSideEnabled && rightSideEnabled;\n\n // save an api call if all available inputs are blank.\n if (isBinaural && CheckUtils.isNullOrEmptyString(leftImpressionInputText) && CheckUtils.isNullOrEmptyString(rightImpressionInputText)) {\n impressionOnFile.left.isValid = false;\n impressionOnFile.left.showMessage = true;\n impressionOnFile.right.isValid = false;\n impressionOnFile.right.showMessage = true;\n hasError = true;\n } else if (!isBinaural && leftSideEnabled && CheckUtils.isNullOrEmptyString(leftImpressionInputText)) {\n impressionOnFile.left.isValid = false;\n impressionOnFile.left.showMessage = true;\n hasError = true;\n } else if (!isBinaural && rightSideEnabled && CheckUtils.isNullOrEmptyString(rightImpressionInputText)) {\n impressionOnFile.right.isValid = false;\n impressionOnFile.right.showMessage = true;\n hasError = true;\n }\n if (!CheckUtils.isNullOrEmptyString(leftImpressionInputText) && !CheckUtils.isNullOrEmptyString(rightImpressionInputText) && leftImpressionInputText.toLowerCase() === rightImpressionInputText.toLowerCase()) {\n impressionOnFile.right.isValid = false;\n impressionOnFile.right.showMessage = true;\n impressionOnFile.left.isValid = false;\n impressionOnFile.left.showMessage = true;\n impressionOnFile.isDuplicate = true;\n hasError = true;\n }\n if (hasError) {\n this.setState({\n impressionOnFile: impressionOnFile\n });\n return;\n }\n impressionOnFile.left.showMessage = false;\n impressionOnFile.right.showMessage = false;\n this.setState({\n impressionOnFile: impressionOnFile,\n showSpinner: true\n }, function () {\n ApiClient.serviceOrder.validateImpressionOnFile(serviceOrderImpressions.clientOrderId, leftImpressionInputText, rightImpressionInputText, orderType).then(function (response) {\n var result = response.data;\n var leftIsValid = result.leftSerialNumber === true || result.leftSerialNumber === 'true';\n var rightIsValid = result.rightSerialNumber === true || result.rightSerialNumber === 'true';\n\n // set impression on file in parent\n setImpressionOnFile(leftImpressionInputText, 'left', !leftIsValid);\n setImpressionOnFile(rightImpressionInputText, 'right', !rightIsValid);\n impressionOnFile.left = _objectSpread(_objectSpread({}, impressionOnFile.left), {}, {\n isValid: leftIsValid,\n isExpired: result.leftSerialNumber === 'expired',\n showMessage: true,\n impressionOnFile: leftImpressionInputText\n });\n impressionOnFile.right = _objectSpread(_objectSpread({}, impressionOnFile.right), {}, {\n isValid: rightIsValid,\n isExpired: result.rightSerialNumber === 'expired',\n showMessage: true,\n impressionOnFile: rightImpressionInputText\n });\n _this3.setState({\n impressionOnFile: impressionOnFile,\n showSpinner: false\n });\n }).catch(function (err) {\n console.error('error has occured', err);\n _this3.setState({\n showSpinner: false\n });\n });\n });\n }\n\n /**\n * removes the impression from the order.\n *\n * @param side {string}\n */\n }, {\n key: \"removeImpressionOnFile\",\n value: function removeImpressionOnFile(side) {\n var _this4 = this;\n var _this$props5 = this.props,\n serviceOrderImpressions = _this$props5.serviceOrderImpressions,\n setImpressionOnFile = _this$props5.setImpressionOnFile,\n orderType = _this$props5.orderType;\n var impressionOnFile = this.state.impressionOnFile;\n if (side === 'both') {\n // do this slightly different to prevent data being retained on re-render\n impressionOnFile.left.showMessage = false;\n impressionOnFile.right.showMessage = false;\n this.setState({\n impressionOnFile: impressionOnFile,\n showSpinner: true\n }, function () {\n ApiClient.serviceOrder.validateImpressionOnFile(serviceOrderImpressions.clientOrderId, ';', ';', orderType).then(function () {\n setImpressionOnFile('', 'left', true);\n setImpressionOnFile('', 'right', true);\n impressionOnFile.left.isValid = false;\n impressionOnFile.left.isExpired = false;\n impressionOnFile.left.showMessage = false;\n impressionOnFile.left.impressionOnFile = '';\n impressionOnFile.right.isValid = false;\n impressionOnFile.right.isExpired = false;\n impressionOnFile.right.showMessage = false;\n impressionOnFile.right.impressionOnFile = '';\n _this4.setState({\n showSpinner: false,\n impressionOnFile: impressionOnFile\n });\n }).catch(function (err) {\n console.error('error: ', err);\n _this4.setState({\n showSpinner: false\n });\n });\n });\n } else {\n impressionOnFile[side].showMessage = false;\n this.setState({\n impressionOnFile: impressionOnFile,\n showSpinner: true\n }, function () {\n var leftSerial = side === 'left' ? ';' : impressionOnFile.left.impressionOnFile;\n var rightSerial = side === 'right' ? ';' : impressionOnFile.right.impressionOnFile;\n ApiClient.serviceOrder.validateImpressionOnFile(serviceOrderImpressions.clientOrderId, leftSerial, rightSerial, orderType).then(function () {\n setImpressionOnFile('', side, true);\n impressionOnFile[side].isValid = false;\n impressionOnFile[side].isExpired = false;\n impressionOnFile[side].showMessage = false;\n impressionOnFile[side].impressionOnFile = '';\n _this4.setState({\n showSpinner: false,\n impressionOnFile: impressionOnFile\n });\n }).catch(function (err) {\n console.error('error: ', err);\n _this4.setState({\n showSpinner: false\n });\n });\n });\n }\n }\n }, {\n key: \"removeOtoscanID\",\n value: function removeOtoscanID() {\n var _this5 = this;\n var _this$props6 = this.props,\n serviceOrderImpressions = _this$props6.serviceOrderImpressions,\n setOtoscanPackageId = _this$props6.setOtoscanPackageId,\n orderType = _this$props6.orderType;\n this.setState({\n showOtoscanMessage: false,\n showSpinner: true\n }, function () {\n ApiClient.serviceOrder.validateOtoscanImpression(serviceOrderImpressions.clientOrderId, ';', orderType).then(function () {\n setOtoscanPackageId('', true);\n _this5.setState({\n isValidOtoscan: false,\n showOtoscanMessage: false,\n showSpinner: false,\n otoscanPackageId: ''\n });\n });\n });\n }\n }, {\n key: \"onOtoscanTextFieldChange\",\n value: function onOtoscanTextFieldChange(e) {\n this.setState({\n otoscanPackageId: e.currentTarget.value.trim()\n });\n }\n\n /**\n * textfield change event.\n * @param e {event}\n * @param side {string}\n */\n }, {\n key: \"onImpressionOnFileTextFieldChange\",\n value: function onImpressionOnFileTextFieldChange(e, side) {\n var impressionOnFile = this.state.impressionOnFile;\n if (side === 'left') {\n impressionOnFile.left.impressionOnFile = e.currentTarget.value.trim();\n } else if (side === 'right') {\n impressionOnFile.right.impressionOnFile = e.currentTarget.value.trim();\n }\n\n // clear our validation messages on change\n impressionOnFile.isDuplicate = false;\n impressionOnFile.left.showMessage = false;\n impressionOnFile.right.showMessage = false;\n this.setState({\n impressionOnFile: impressionOnFile\n });\n }\n }, {\n key: \"uploadImpressionFiles\",\n value: function uploadImpressionFiles(e) {\n var uploadImpressionFiles = this.props.uploadImpressionFiles;\n uploadImpressionFiles(e);\n }\n }, {\n key: \"renderImpressionImages\",\n value: function renderImpressionImages() {\n var _this6 = this;\n var _this$props7 = this.props,\n leftSideEnabled = _this$props7.leftSideEnabled,\n rightSideEnabled = _this$props7.rightSideEnabled,\n impressionFiles = _this$props7.impressionFiles,\n serviceOrderImpressions = _this$props7.serviceOrderImpressions,\n setImpressionFile = _this$props7.setImpressionFile;\n return /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: function onSubmit(e) {\n _this6.uploadImpressionFiles(e);\n }\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: \"otiscanMsg\"\n }, this.translations.stlOtiscanLimitation), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, leftSideEnabled && serviceOrderImpressions !== null && /*#__PURE__*/React.createElement(\"div\", {\n className: \"grid-6\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.selectImpressionTextLeft), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-input-file-upload-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n name: \"impressionLeft\",\n type: \"file\",\n accept: \".stl\",\n id: \"LeftImpressionUpload\",\n ref: this.leftImpressionFieldRef,\n onChange: function onChange(e) {\n setImpressionFile('left', e.target.files[0]);\n }\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"LeftImpressionUpload\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"file-info\"\n }, impressionFiles.left !== null && impressionFiles.left.validation.valid ? impressionFiles.left.file.name : this.translations.chooseFileLabel), /*#__PURE__*/React.createElement(\"span\", {\n className: \"file-button\"\n }, this.translations.selectFileButtonLabel))), serviceOrderImpressions.detailsLeft.impressionImage && /*#__PURE__*/React.createElement(\"p\", null, serviceOrderImpressions.detailsLeft.impressionImage, /*#__PURE__*/React.createElement(\"a\", {\n className: \"removeLink\",\n role: \"presentation\",\n onClick: function onClick(e) {\n _this6.deleteImpressionImage('left');\n }\n }, \"X Remove\")), impressionFiles.left !== null && !impressionFiles.left.validation.valid && /*#__PURE__*/React.createElement(\"p\", null, impressionFiles.left.validation.description)), rightSideEnabled && serviceOrderImpressions !== null && /*#__PURE__*/React.createElement(\"div\", {\n className: \"grid-6\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.selectImpressionTextRight), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-input-file-upload-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n name: \"impressionRight\",\n type: \"file\",\n accept: \".stl\",\n id: \"RightImpressionUpload\",\n ref: this.rightImpressionFieldRef,\n onChange: function onChange(e) {\n setImpressionFile('right', e.target.files[0]);\n }\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"RightImpressionUpload\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"file-info\"\n }, impressionFiles.right !== null && impressionFiles.right.validation.valid ? impressionFiles.right.file.name : this.translations.chooseFileLabel), /*#__PURE__*/React.createElement(\"span\", {\n className: \"file-button\"\n }, this.translations.selectFileButtonLabel))), serviceOrderImpressions.detailsRight.impressionImage && /*#__PURE__*/React.createElement(\"p\", null, serviceOrderImpressions.detailsRight.impressionImage, /*#__PURE__*/React.createElement(\"a\", {\n className: \"removeLink\",\n role: \"presentation\",\n onClick: function onClick() {\n return _this6.deleteImpressionImage('right');\n }\n }, \"X Remove\")), impressionFiles.right !== null && !impressionFiles.right.validation.valid && /*#__PURE__*/React.createElement(\"p\", null, impressionFiles.right.validation.description))), (impressionFiles.left || impressionFiles.right) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"submit\",\n className: \"upload\",\n value: \"Upload file(s)\",\n disabled: impressionFiles.left && !impressionFiles.left.validation.valid || impressionFiles.right && !impressionFiles.right.validation.valid\n })));\n }\n }, {\n key: \"renderValidationMessage\",\n value: function renderValidationMessage() {\n if (this.state.isValidOtoscan) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"validation-message success\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsValidOtoscanMessage));\n } else {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"validation-message failed\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsInvalidOtoscanMessage));\n }\n }\n }, {\n key: \"renderImpressionOnFileValidationMessage\",\n value: function renderImpressionOnFileValidationMessage(side) {\n var impressionOnFile = this.state.impressionOnFile;\n var isValid = side === 'left' ? impressionOnFile.left.isValid : impressionOnFile.right.isValid;\n var isExpired = side === 'left' ? impressionOnFile.left.isExpired : impressionOnFile.right.isExpired;\n var isDuplicate = impressionOnFile.isDuplicate;\n if (isValid) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"validation-message success\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsValidImpressionsOnFileMessage));\n }\n if (isDuplicate) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"validation-message failed\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsDuplicateImpressionsOnFileMessage));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"validation-message failed\"\n }, isExpired && /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsExpiredImpressionsOnFileMessage), !isExpired && /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsInvalidImpressionsOnFileMessage));\n }\n }, {\n key: \"renderOtoscan\",\n value: function renderOtoscan() {\n var _this7 = this;\n var serviceOrderImpressions = this.props.serviceOrderImpressions;\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, serviceOrderImpressions !== null && /*#__PURE__*/React.createElement(\"div\", {\n className: \"grid-12\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsEnterOtoscanTextboxLabel), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-input-file-upload-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n name: \"otoscanPackageId\",\n type: \"text\",\n id: \"OtoscanId\",\n ref: this.otoscanIdFieldRef,\n onChange: function onChange(e) {\n return _this7.onOtoscanTextFieldChange(e);\n },\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n _this7.validateOtoscanID();\n }\n },\n value: this.state.otoscanPackageId,\n disabled: serviceOrderImpressions.earScanPackageId\n }), serviceOrderImpressions.earScanPackageId && /*#__PURE__*/React.createElement(\"a\", {\n className: \"removeLink\",\n onClick: function onClick() {\n return _this7.removeOtoscanID();\n }\n }, \"X Remove\"), !serviceOrderImpressions.earScanPackageId && /*#__PURE__*/React.createElement(\"a\", {\n className: \"button dark-bg\",\n onClick: function onClick() {\n return _this7.validateOtoscanID();\n }\n }, \"Submit ID\")), this.state.showOtoscanMessage && this.renderValidationMessage())));\n }\n\n /**\n * renders the choose impression on file option\n *\n * @returns {JSX.Element}\n */\n }, {\n key: \"renderImpressionOnFile\",\n value: function renderImpressionOnFile() {\n var _this8 = this;\n var impressionOnFile = this.state.impressionOnFile;\n var _this$props8 = this.props,\n leftSideEnabled = _this$props8.leftSideEnabled,\n rightSideEnabled = _this$props8.rightSideEnabled,\n serviceOrderImpressions = _this$props8.serviceOrderImpressions;\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, leftSideEnabled && serviceOrderImpressions !== null && /*#__PURE__*/React.createElement(\"div\", {\n className: \"grid-6\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsEnterLeftImpressionOnFileTextboxLabel), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-input-file-upload-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n name: \"LeftImpressionOfFile\",\n type: \"text\",\n id: \"leftImpressionOnFileInput\",\n className: \"small-input\",\n ref: this.leftImpressionOnFileFieldRef,\n onChange: function onChange(e) {\n return _this8.onImpressionOnFileTextFieldChange(e, 'left');\n },\n onKeyUp: function onKeyUp(e) {\n if (e.key === 'Enter') {\n _this8.validateImpressionOnFile('left');\n }\n },\n value: impressionOnFile.left.impressionOnFile,\n placeholder: this.translations.impressionsEnterYourSerialNoPlaceholder,\n disabled: serviceOrderImpressions.detailsLeft.impressionOnFile\n }), serviceOrderImpressions.detailsLeft.impressionOnFile && /*#__PURE__*/React.createElement(\"a\", {\n className: \"removeLink\",\n onClick: function onClick() {\n return _this8.removeImpressionOnFile('left');\n }\n }, \"X Remove\"), !serviceOrderImpressions.detailsLeft.impressionOnFile && /*#__PURE__*/React.createElement(\"a\", {\n className: \"button dark-bg\",\n onClick: function onClick() {\n return _this8.validateImpressionOnFile('left');\n }\n }, \"Submit\")), impressionOnFile.left.showMessage && this.renderImpressionOnFileValidationMessage('left')), rightSideEnabled && serviceOrderImpressions !== null && /*#__PURE__*/React.createElement(\"div\", {\n className: \"grid-6\"\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsEnterRightImpressionOnFileTextboxLabel), /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-input-file-upload-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n name: \"rightImpressionOnFile\",\n type: \"text\",\n id: \"rightImpressionOnFileInput\",\n className: \"small-input\",\n ref: this.rightImpressionOnFileFieldRef,\n onChange: function onChange(e) {\n return _this8.onImpressionOnFileTextFieldChange(e, 'right');\n },\n value: impressionOnFile.right.impressionOnFile,\n placeholder: this.translations.impressionsEnterYourSerialNoPlaceholder,\n disabled: serviceOrderImpressions.detailsRight.impressionOnFile\n }), serviceOrderImpressions.detailsRight.impressionOnFile && /*#__PURE__*/React.createElement(\"a\", {\n className: \"removeLink\",\n onClick: function onClick() {\n return _this8.removeImpressionOnFile('right');\n }\n }, \"X Remove\"), !serviceOrderImpressions.detailsRight.impressionOnFile && /*#__PURE__*/React.createElement(\"a\", {\n className: \"button dark-bg\",\n onClick: function onClick() {\n return _this8.validateImpressionOnFile('right');\n }\n }, \"Submit\")), impressionOnFile.right.showMessage && this.renderImpressionOnFileValidationMessage('right'))));\n }\n }, {\n key: \"renderImpressionSeparate\",\n value: function renderImpressionSeparate() {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, this.translations.sendingImpressionSeparate));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this9 = this;\n var _this$props9 = this.props,\n isImpressionMandatory = _this$props9.isImpressionMandatory,\n showError = _this$props9.showError;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"btb-shop-us-impression-image\"\n }, /*#__PURE__*/React.createElement(Loader, {\n show: this.state.showSpinner,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"p\", null, this.translations.impressionsSectionHeaderText, ' ', isImpressionMandatory && /*#__PURE__*/React.createElement(\"span\", {\n className: \"required\"\n }, \"*Required\")), showError && /*#__PURE__*/React.createElement(\"p\", {\n className: \"error\"\n }, this.translations.impressionIsMandatoryErrorMsg), /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: \"impressionOnFile\",\n value: \"impressionOnFile\",\n onChange: function onChange(event) {\n return _this9.onToggleSelection(event.target);\n },\n checked: this.state.selectedType === 'impressionOnFile'\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"impressionOnFile\"\n }, this.translations.impressionsCheckboxImpressionOnFileLabel)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: \"impressions\",\n value: \"impressions\",\n onChange: function onChange(event) {\n return _this9.onToggleSelection(event.target);\n },\n checked: this.state.selectedType === 'impressions'\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"impressions\"\n }, this.translations.impressionsCheckboxImpressionsLabel)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: \"otoscan\",\n value: \"otoscan\",\n onChange: function onChange(event) {\n return _this9.onToggleSelection(event.target);\n },\n checked: this.state.selectedType === 'otoscan'\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"otoscan\"\n }, this.translations.impressionsCheckboxOtoscanIdLabel)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-wrapper\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: \"impressionSeparate\",\n value: \"impressionSeparate\",\n onChange: function onChange(event) {\n return _this9.onToggleSelection(event.target);\n },\n checked: this.state.selectedType === 'impressionSeparate'\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"impressionSeparate\"\n }, \"Send in impression separately\")), /*#__PURE__*/React.createElement(\"div\", {\n className: \"impression-selector-wrapper\"\n }, this.state.selectedType === 'impressions' && this.renderImpressionImages(), this.state.selectedType === 'otoscan' && this.renderOtoscan(), this.state.selectedType === 'impressionOnFile' && this.renderImpressionOnFile(), this.state.selectedType === 'impressionSeparate' && this.renderImpressionSeparate())));\n }\n }]);\n}(React.Component);\nexport default ServiceOrderImpressionSelector;\nServiceOrderImpressionSelector.propTypes = {\n leftSideEnabled: PropTypes.bool.isRequired,\n rightSideEnabled: PropTypes.bool.isRequired,\n impressionFiles: PropTypes.objectOf(PropTypes.object).isRequired,\n serviceOrderImpressions: PropTypes.objectOf(PropTypes.any),\n deleteImpressionImage: PropTypes.func.isRequired,\n setImpressionFile: PropTypes.func.isRequired,\n uploadImpressionFiles: PropTypes.func.isRequired,\n deleteBinauralImpressionImages: PropTypes.func.isRequired,\n setOtoscanPackageId: PropTypes.func.isRequired,\n setImpressionOnFile: PropTypes.func.isRequired,\n isImpressionMandatory: PropTypes.bool.isRequired,\n showError: PropTypes.bool,\n handleSendImpressionSeparate: PropTypes.func.isRequired,\n orderType: PropTypes.string.isRequired\n};\nServiceOrderImpressionSelector.defaultProps = {\n serviceOrderImpressions: null,\n showError: false\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport uuid from 'uuid';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../../ServiceOrderProvider';\nimport useValidation from '../../hooks/useValidation';\nimport ApiClient from '../../../../infrastructure/api/api-client';\nimport ServiceOrderImpressionSelector from '../../service-orders-impressions-selector';\nimport CheckUtils from '../../../../utilities/check-utils';\nimport PropTypes from 'prop-types';\nvar ImpressionFilesSection = function ImpressionFilesSection(props) {\n var _appState$earScanPack, _appState$detailsLeft, _appState$detailsLeft2, _appState$detailsLeft3, _appState$detailsLeft4, _appState$sendImpress;\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var orderType = props.orderType;\n var _useState = useState({\n left: null,\n right: null\n }),\n _useState2 = _slicedToArray(_useState, 2),\n impressionFiles = _useState2[0],\n setImpressionFiles = _useState2[1];\n var _useState3 = useState({\n clientOrderId: uuid(),\n earScanPackageId: (_appState$earScanPack = appState.earScanPackageId) !== null && _appState$earScanPack !== void 0 ? _appState$earScanPack : '',\n detailsLeft: {\n impressionImage: (_appState$detailsLeft = (_appState$detailsLeft2 = appState.detailsLeft) === null || _appState$detailsLeft2 === void 0 ? void 0 : _appState$detailsLeft2.impressionImage) !== null && _appState$detailsLeft !== void 0 ? _appState$detailsLeft : '',\n impressionOnFile: (_appState$detailsLeft3 = (_appState$detailsLeft4 = appState.detailsLeft) === null || _appState$detailsLeft4 === void 0 ? void 0 : _appState$detailsLeft4.impressionOnFile) !== null && _appState$detailsLeft3 !== void 0 ? _appState$detailsLeft3 : ''\n },\n detailsRight: {\n impressionImage: '',\n impressionOnFile: ''\n },\n sendImpressionsSeparate: (_appState$sendImpress = appState.sendImpressionsSeparate) !== null && _appState$sendImpress !== void 0 ? _appState$sendImpress : false\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n serviceOrderImpressions = _useState4[0],\n setServiceOrderImpressions = _useState4[1];\n var showErrors = appState.showErrors,\n hcpInformation = appState.hcpInformation,\n deviceInfo = appState.deviceInfo;\n var validations = {\n serviceOrderImpressions: {\n custom: {\n func: function func(value) {\n return !CheckUtils.isNullOrEmptyString(value.earScanPackageId) || !CheckUtils.isNullOrEmptyString(value.detailsLeft.impressionImage) || !CheckUtils.isNullOrEmptyString(value.detailsLeft.impressionOnFile) || value.sendImpressionsSeparate;\n },\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n\n /**\n * sets our validation function to validate any fields we require on change\n */\n useEffect(function () {\n validator({\n serviceOrderImpressions: serviceOrderImpressions\n });\n dispatch({\n type: 'setOrderDetails',\n payload: serviceOrderImpressions\n });\n }, [serviceOrderImpressions]);\n\n /**\n * set our global validation with our updated one.\n */\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'serviceOrderImpressions',\n value: isValid\n }\n });\n }, [isValid]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n\n /**\n * adds left/right impressionOnFile information to the current patientOrder information.\n *\n * @param serialNo {string} - the serial number inputted by the user\n * @param side {string} - which side\n * @param clearId {boolean} - clear any previous values in case of failed validation\n */\n var setImpressionOnFile = function setImpressionOnFile(serialNo, side) {\n var clearId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var impressions = _objectSpread({}, serviceOrderImpressions);\n if (side === 'left') {\n impressions.detailsLeft.impressionOnFile = clearId ? '' : serialNo;\n } else {\n impressions.detailsRight.impressionOnFile = clearId ? '' : serialNo;\n }\n setServiceOrderImpressions(impressions);\n };\n\n /**\n * Validates the file. Returns an object with properties {bool} valid and {string} description\n * @returns {Object} validationObject\n */\n var validateFile = function validateFile(file) {\n var fileExtension = file.name.substr(file.name.lastIndexOf('.'));\n var valid = true;\n var description = '';\n if (fileExtension.toLowerCase() !== '.stl') {\n valid = false;\n description = translations.onlyStlFiles;\n }\n if (file.size > 3000000) {\n valid = false;\n description = translations.maxFileSizeDescription;\n }\n return {\n valid: valid,\n description: description\n };\n };\n\n /**\n * Sets impression file in state based on side (\"left\" or \"right\") and the file data returned from the html input change event\n * Includes validation data under property \"validation\"\n * @param {string} side\n * @param {object} file\n */\n var setImpressionFile = function setImpressionFile(side, file) {\n var impression = _objectSpread({}, impressionFiles);\n if (typeof file === 'undefined') {\n impression[side] = null;\n } else {\n impression[side] = {\n file: file,\n validation: validateFile(file)\n };\n }\n setImpressionFiles(impression);\n };\n\n /**\n * Handles the upload form submission event\n * @param {event} e\n */\n var uploadImpressionFiles = function uploadImpressionFiles(e) {\n e.preventDefault();\n var leftFile = impressionFiles.left ? impressionFiles.left.file : null;\n var rightFile = impressionFiles.right ? impressionFiles.right.file : null;\n var clientOrderId = serviceOrderImpressions.clientOrderId;\n ApiClient.serviceOrder.updateImpressionImages(clientOrderId, orderType, leftFile, rightFile).then(function (updatedOrder) {\n var newImpressions = _objectSpread({}, serviceOrderImpressions);\n serviceOrderImpressions.detailsLeft.impressionImage = updatedOrder.leftFileName;\n setServiceOrderImpressions(newImpressions);\n });\n };\n\n /**\n * adds valid packageId to current patientOrder information.\n * @param packageId\n * @param clearPackageId {boolean}\n */\n var setOtoscanPackageId = function setOtoscanPackageId(packageId) {\n var clearPackageId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var impressions = _objectSpread({}, serviceOrderImpressions);\n impressions.earScanPackageId = clearPackageId ? '' : packageId; // resets any set packageId if validation failed.\n\n setServiceOrderImpressions(impressions);\n };\n var handleSendImpressionSeparate = function handleSendImpressionSeparate(isSelected) {\n var impressions = _objectSpread({}, serviceOrderImpressions);\n impressions.sendImpressionsSeparate = isSelected;\n setServiceOrderImpressions(impressions);\n };\n\n /**\n * Deletes an impression image on the patient order (left or right). Updates state with the new patient order.\n * @param {string} side\n */\n var deleteImpressionImage = function deleteImpressionImage(side) {\n ApiClient.serviceOrder.deleteImpressionImage(serviceOrderImpressions.clientOrderId, side, orderType).then(function (updatedOrder) {\n var newImpressions = _objectSpread({}, serviceOrderImpressions);\n serviceOrderImpressions.detailsLeft.impressionImage = '';\n setServiceOrderImpressions(newImpressions);\n });\n };\n\n /**\n * Deletes both impression files from a binaural order and updates state with the latest patient order.\n */\n var deleteBinauralImpressionImages = function deleteBinauralImpressionImages() {\n ApiClient.clientOrder.deleteImpressionImage(serviceOrderImpressions.clientOrderId, 'left').then(function () {\n ApiClient.clientOrder.deleteImpressionImage(serviceOrderImpressions.clientOrderId, 'right').then(function (updatedOrder) {\n var newImpressions = _objectSpread({}, serviceOrderImpressions);\n serviceOrderImpressions.detailsRight.impressionImage = '';\n serviceOrderImpressions.detailsLeft.impressionImage = '';\n setServiceOrderImpressions(newImpressions);\n });\n });\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section impressions-section \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Impression files\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(ServiceOrderImpressionSelector, {\n leftSideEnabled: true,\n rightSideEnabled: false,\n impressionFiles: impressionFiles,\n serviceOrderImpressions: serviceOrderImpressions,\n deleteImpressionImage: deleteImpressionImage,\n deleteBinauralImpressionImages: deleteBinauralImpressionImages,\n setImpressionFile: setImpressionFile,\n uploadImpressionFiles: uploadImpressionFiles,\n setOtoscanPackageId: setOtoscanPackageId,\n setImpressionOnFile: setImpressionOnFile,\n isImpressionMandatory: true,\n showError: showErrors && !!validationErrors.serviceOrderImpressions,\n handleSendImpressionSeparate: handleSendImpressionSeparate,\n orderType: orderType\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.serviceOrderImpressions))));\n};\nexport default ImpressionFilesSection;\nImpressionFilesSection.propTypes = {\n orderType: PropTypes.string.isRequired\n};","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport ShippingInformationSection from './form-sections/ShippingInformationSection';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nimport ProductInformationSectionRepairBte from './form-sections/ProductInformationSectionRepairBte';\nimport ProductInformationSectionRepairIte from './form-sections/ProductInformationSectionRepairIte';\nimport ProductInformationSectionRepairMold from './form-sections/ProductInformationSectionRepairMold';\nimport ProductInformationSectionRepairAccessories from './form-sections/ProductInformationSectionAccessories';\nimport HCPInformationSection from './form-sections/HCPInformationSection';\nimport PatientInformationSection from './form-sections/PatientInformationSection';\nimport AddToCartButtons from './form-sections/AddToCartButtons';\nimport SpecialInstructionsSection from './form-sections/SpecialInstructionsSection';\nimport TermsAndConditionsSection from './form-sections/TermsAndConditionsSection';\nimport useApi from '../../../utilities/hooks/useApi';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport NavigationManager from '../../../infrastructure/navigation-manager';\nimport ModalDialog from '../../modal-dialog';\nimport ImpressionFilesSection from './form-sections/ImpressionFilesSection';\nimport CheckUtils from '../../../utilities/check-utils';\nvar Repair = function Repair() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showErrorModal = _useState2[0],\n setShowErrorModal = _useState2[1];\n var _useApi = useApi(function (order) {\n return ApiClient.serviceOrder.addRepairOrderToCart(order, appState.copyOrEditData.urlOrderId);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n addToCart = _useApi2[0],\n addToCartResponse = _useApi2[1],\n savingToCart = _useApi2[2],\n addToCartError = _useApi2[3];\n var copyOrEditService = appState.copyOrEditService;\n\n /**\n * clears any previous form validations from other service types\n */\n useEffect(function () {\n dispatch({\n type: 'clearValidations'\n });\n }, []);\n\n /**\n * handles response from addToCartApi Call\n */\n useEffect(function () {\n if (addToCartResponse !== null && addToCartResponse !== void 0 && addToCartResponse.status && addToCartResponse.status === 200) {\n // success\n NavigationManager.navigateToCartDetails();\n }\n }, [addToCartResponse === null || addToCartResponse === void 0 ? void 0 : addToCartResponse.status]);\n\n /**\n * Handles errors from addToCart api Call\n */\n useEffect(function () {\n if (addToCartError) {\n setShowErrorModal(appState.formValidations.serviceOrderSymptomCodes);\n }\n }, [addToCartError]);\n var getQuote = function getQuote(e) {\n e.preventDefault();\n var formValidations = appState.formValidations;\n var hasErrors = Object.keys(formValidations).some(function (key) {\n return !formValidations[key];\n });\n if (hasErrors) {\n dispatch({\n type: 'showErrors',\n payload: true\n });\n document.querySelector('.has-error').scrollIntoView({\n behavior: 'smooth'\n });\n return;\n }\n\n // TODO need to add this to some api call\n NavigationManager.navigate('/myoticon/service-order/cost-estimate');\n };\n var saveRepairOrder = function saveRepairOrder(e) {\n e.preventDefault();\n var formValidations = appState.formValidations;\n var hasErrors = Object.keys(formValidations).some(function (key) {\n return !formValidations[key];\n });\n if (hasErrors) {\n dispatch({\n type: 'showErrors',\n payload: true\n });\n document.querySelector('.has-error').scrollIntoView({\n behavior: 'smooth'\n });\n return;\n }\n\n // TODO update once we know what we are to send to the api.\n if (!hasErrors) {\n var _orderDetails$earScan, _orderDetails$details, _orderDetails$details2, _orderDetails$details3, _orderDetails$details4, _orderDetails$sendImp;\n var selectedServiceCode = appState.selectedServiceCode,\n orderDetails = appState.orderDetails,\n deviceInfo = appState.deviceInfo,\n serialNumber = appState.serialNumber,\n extendedWarrantyInfo = appState.extendedWarrantyInfo;\n var formattedServiceCodes = {};\n Object.keys(selectedServiceCode).forEach(function (category) {\n if (selectedServiceCode[category].size > 0) {\n formattedServiceCodes[category] = Array.from(selectedServiceCode[category]);\n }\n });\n var formattedOrder = {\n serialNo: serialNumber,\n serviceCode: '',\n ear: deviceInfo.ear,\n bteHearingData: deviceInfo.categoryCode === 'BTE' ? {\n model: orderDetails.model,\n style: orderDetails.style,\n circuit: orderDetails.circuit,\n color: orderDetails.color,\n speaker: {\n name: orderDetails.speakerDescription,\n itemNo: orderDetails.speakerItemNumber,\n quantity: 1\n },\n dome: {\n name: orderDetails.domeDescription,\n itemNo: orderDetails.domeItemNo,\n quantity: 1\n }\n } : null,\n iteHearingData: deviceInfo.categoryCode === 'ITE' ? orderDetails.iteProductInformation : null,\n moldData: null,\n wirelessAccessoryInfoDTO: null,\n earScanPackageId: (_orderDetails$earScan = orderDetails.earScanPackageId) !== null && _orderDetails$earScan !== void 0 ? _orderDetails$earScan : '',\n impressionFileSerialNumber: (_orderDetails$details = (_orderDetails$details2 = orderDetails.detailsLeft) === null || _orderDetails$details2 === void 0 ? void 0 : _orderDetails$details2.impressionOnFile) !== null && _orderDetails$details !== void 0 ? _orderDetails$details : '',\n impressionFileName: (_orderDetails$details3 = (_orderDetails$details4 = orderDetails.detailsLeft) === null || _orderDetails$details4 === void 0 ? void 0 : _orderDetails$details4.impressionImage) !== null && _orderDetails$details3 !== void 0 ? _orderDetails$details3 : '',\n sendImpressionSeparate: (_orderDetails$sendImp = orderDetails.sendImpressionsSeparate) !== null && _orderDetails$sendImp !== void 0 ? _orderDetails$sendImp : false,\n symptomListData: formattedServiceCodes,\n warrantyStatus: deviceInfo.status,\n fitterInformation: {\n fitterName: orderDetails.fitter.text,\n fitterEmail: orderDetails.fitter.email,\n fitterPhoneNumber: orderDetails.fitter.phone\n },\n specialInstrunctions: orderDetails.comments,\n patientInformation: {\n patientName: deviceInfo.endUserName,\n age: deviceInfo.patientAge,\n medicaidId: deviceInfo.medicaidId,\n invoiceDate: deviceInfo.purchaseDate,\n fittingDate: deviceInfo.warrantyStartDate\n },\n warranties: [],\n sellTo: orderDetails.sellTo,\n billTo: orderDetails.billTo,\n poNumber: orderDetails.poNumber,\n isPOMandatory: false\n };\n if (extendedWarrantyInfo) {\n formattedOrder.warranties.push({\n itemNumber: extendedWarrantyInfo.itemNo,\n code: extendedWarrantyInfo.code,\n price: extendedWarrantyInfo.price\n });\n }\n addToCart(formattedOrder);\n }\n };\n\n // TODO: modify this form for each product type. may have to introduce a switch statement here to accommodate the different forms.\n var renderFormElements = function renderFormElements() {\n var categoryCode = appState.deviceInfo.categoryCode;\n switch (categoryCode) {\n case 'BTE':\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionRepairBte, null), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleQuoteButtonClick: getQuote,\n handleSaveButtonClick: saveRepairOrder,\n isLoading: savingToCart\n })));\n case 'ITE':\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionRepairIte, null), /*#__PURE__*/React.createElement(ImpressionFilesSection, {\n orderType: \"repair\"\n }), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleQuoteButtonClick: getQuote,\n handleSaveButtonClick: saveRepairOrder,\n isLoading: savingToCart\n })));\n case 'MOLD':\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionRepairMold, null), /*#__PURE__*/React.createElement(ImpressionFilesSection, {\n orderType: \"repair\"\n }), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleQuoteButtonClick: getQuote,\n handleSaveButtonClick: saveRepairOrder,\n isLoading: savingToCart\n })));\n case 'ACCESSORIES':\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionRepairAccessories, null), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleQuoteButtonClick: getQuote,\n handleSaveButtonClick: saveRepairOrder,\n isLoading: savingToCart\n })));\n default:\n break;\n }\n return null;\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h3\", null, \"Repair service\"), renderFormElements(), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: showErrorModal,\n type: ModalDialog.types.okOnly,\n onOkClick: function onOkClick() {\n return setShowErrorModal(false);\n },\n okLabel: \"Ok\"\n }, \"An error occurred while saving your order.\"));\n};\nexport default Repair;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport SelectList from '../../../select-list';\nimport SelectColorList from '../../../select-color-list';\nimport TextInput from '../../../text-input';\nimport uuidv1 from 'uuid';\nimport useApi from '../../../../utilities/hooks/useApi';\nimport apiClient from '../../../../infrastructure/api/api-client';\nimport RadioList from '../../../radio-list';\nimport useValidation from '../../hooks/useValidation';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport TranslationManager from '../../../../infrastructure/translation-manager';\nimport { TranslationKeys } from '../../../../infrastructure/const';\nvar ProductInformationSectionRemakeMold = function ProductInformationSectionRemakeMold() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo,\n showErrors = appState.showErrors;\n var _useState = useState(deviceInfo.ear ? deviceInfo.ear : 'Left'),\n _useState2 = _slicedToArray(_useState, 2),\n selectedSide = _useState2[0],\n setSelectedSide = _useState2[1];\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n speakers = _useState4[0],\n setSpeakers = _useState4[1];\n var _useState5 = useState([]),\n _useState6 = _slicedToArray(_useState5, 2),\n filteredSpeakers = _useState6[0],\n setFilteredSpeakers = _useState6[1];\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedSpeaker = _useState8[0],\n setSelectedSpeaker = _useState8[1];\n var _useApi = useApi(function (itemNumber, type) {\n return apiClient.accessory.get(itemNumber, type);\n }),\n _useApi2 = _slicedToArray(_useApi, 4),\n getSpeakers = _useApi2[0],\n getSpeakersResponse = _useApi2[1],\n isLoading = _useApi2[2],\n error = _useApi2[3];\n var _useState9 = useState(''),\n _useState10 = _slicedToArray(_useState9, 2),\n speakerOption = _useState10[0],\n setSpeakerOption = _useState10[1];\n var _useState11 = useState(''),\n _useState12 = _slicedToArray(_useState11, 2),\n shellColor = _useState12[0],\n setShellColor = _useState12[1];\n var _useState13 = useState(''),\n _useState14 = _slicedToArray(_useState13, 2),\n ventType = _useState14[0],\n setVentType = _useState14[1];\n var _useState15 = useState(''),\n _useState16 = _slicedToArray(_useState15, 2),\n earpieceVent = _useState16[0],\n setEarpieceVent = _useState16[1];\n var _useState17 = useState(''),\n _useState18 = _slicedToArray(_useState17, 2),\n fittingLevel = _useState18[0],\n setFittingLevel = _useState18[1];\n var _useState19 = useState(''),\n _useState20 = _slicedToArray(_useState19, 2),\n otherOption = _useState20[0],\n setOtherOption = _useState20[1];\n var translations = {\n addSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_ADD_SPEAKERS),\n excludeSpeakers: TranslationManager.getTranslation(TranslationKeys.US_BULKORDER_EXCLUDE_SPEAKERS),\n colorLabel: TranslationManager.getTranslation(TranslationKeys.SHARED_COLOR_SELECT_LABEL)\n };\n var speakerOrCordaOptions = [{\n value: 'speakerorcorda-excluded',\n text: translations.excludeSpeakers\n }, {\n value: 'speakerorcorda-added',\n text: translations.addSpeakers\n }];\n var excludeSpeakerOrCorda = [{\n value: 'speakerorcorda-excluded',\n text: translations.excludeSpeakers\n }];\n var shellColors = [{\n value: 'beige',\n text: 'Beige',\n color: '#aa7e62'\n }, {\n value: 'dark-brown',\n text: 'Dark Brown',\n color: '#523e34'\n }, {\n value: 'transparent',\n text: 'Transparent',\n color: '#e2dfe0'\n }, {\n value: 'transparent-blue',\n text: 'Transparent Blue',\n color: '#4d64b7'\n }];\n\n //Custom validation logic function that is called in validation schema\n var validateSpeaker = function validateSpeaker(val) {\n if (speakerOption === 'Exclude speaker') {\n if (val === '') {\n return {\n message: '',\n passed: true\n };\n }\n } else if (speakerOption === 'Add speaker') {\n if (val === '') {\n return {\n message: '*required',\n passed: false\n };\n } else {\n return {\n message: '',\n passed: true\n };\n }\n }\n return false;\n };\n\n /**\r\n * our validation schema\r\n * @type {{selectedSpeaker: {required: {message: string, value: boolean}}, selectedSide: {required: {message: string, value: boolean}}}}\r\n */\n var validations = {\n selectedSide: {\n required: {\n value: true,\n message: '*required'\n }\n },\n selectedSpeaker: {\n custom: {\n func: validateSpeaker,\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'productInformationRemakeMold',\n value: isValid\n }\n });\n }, [isValid]);\n useEffect(function () {\n validator({\n selectedSpeaker: selectedSpeaker,\n selectedSide: selectedSide\n });\n var speakerDetails = speakers.find(function (speaker) {\n return speaker.itemNo === selectedSpeaker;\n });\n if (speakerDetails) {\n // update global state\n dispatch({\n type: 'setOrderDetails',\n payload: {\n replacedSpeakerDescription: speakerDetails.optionDescription,\n replacedSpeakerItemNumber: speakerDetails.itemNo,\n replacedSpeakerSide: selectedSide\n }\n });\n }\n }, [selectedSpeaker, selectedSide]);\n\n /**\r\n * grab a list of speakers for this device on mount\r\n */\n useEffect(function () {\n if (appState.deviceInfo.kitItemNo) {\n getSpeakers(appState.deviceInfo.kitItemNo, 'speaker');\n }\n }, []);\n\n /**\r\n * Once we get a response from speaker api, set our state.\r\n */\n useEffect(function () {\n if (getSpeakersResponse) {\n setSpeakers(getSpeakersResponse);\n }\n }, [getSpeakersResponse]);\n useEffect(function () {\n var filtered = speakers.filter(function (speaker) {\n return speaker.ear.toLowerCase() === selectedSide.toLowerCase();\n });\n setSelectedSpeaker('');\n setFilteredSpeakers(filtered);\n }, [selectedSide, speakers]);\n var classnames = classNames({\n 'has-error': !isValid\n });\n var toggleSpeaker = function toggleSpeaker(e) {\n if (e.target.value === 'speakerorcorda-excluded') {\n setSpeakerOption('Exclude speaker');\n setSelectedSpeaker('');\n validator(selectedSide, selectedSpeaker);\n } else {\n setSpeakerOption('Add speaker');\n validator(selectedSide, selectedSpeaker);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-section product-section product-section-repair-mold\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-header\"\n }, \"Product information\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content mold-form-content\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, selectedSide)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Model\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"RITE Mold\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Style\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Micro Mold\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Circuit\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Micro Mold MiniFit\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Shell Color\"), /*#__PURE__*/React.createElement(SelectColorList, {\n label: translations.colorLabel,\n id: \"colorcodes\",\n items: shellColors,\n addBlankItem: false,\n selectedValue: shellColor,\n onValueChange: function onValueChange(event) {\n return setShellColor(event.target.getAttribute('value'));\n }\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Material\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, \"Hard\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Vent type\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose vent type\",\n items: [{\n text: 'Cast vent',\n value: 'Cast vent'\n }],\n selectedValue: ventType,\n onValueChange: function onValueChange(event) {\n setVentType(event.target.getAttribute('value'));\n }\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Earpiece vent\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose vent type\",\n items: [{\n text: '1.4',\n value: '1.4'\n }],\n selectedValue: earpieceVent,\n onValueChange: function onValueChange(event) {\n setEarpieceVent(event.target.getAttribute('value'));\n }\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Fitting Level\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose fitting level\",\n items: [{\n text: '60',\n value: '60'\n }],\n selectedValue: fittingLevel,\n onValueChange: function onValueChange(event) {\n setFittingLevel(event.target.getAttribute('value'));\n }\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"option-text\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Other:\"), /*#__PURE__*/React.createElement(TextInput, {\n label: \"Specify your option here\",\n onValueChange: function onValueChange(e) {\n e.preventDefault();\n setOtherOption(e.target.value);\n },\n name: \"option\",\n inputValue: otherOption\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content repair-mold-speaker-info\"\n }, \"Speaker information:\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-content\"\n }, speakerOption === 'Exclude speaker' ? '' : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Ear side\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-text\"\n }, selectedSide)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"speaker-level\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, \"Speaker level\"), /*#__PURE__*/React.createElement(SelectList, {\n id: uuidv1(),\n label: \"Choose speaker level\",\n items: filteredSpeakers.map(function (speaker) {\n return {\n value: speaker.itemNo,\n text: speaker.optionDescription\n };\n }),\n addBlankItem: false,\n selectedValue: selectedSpeaker,\n onValueChange: function onValueChange(event) {\n setSelectedSpeaker(event.target.getAttribute('value'));\n },\n hasError: showErrors && !!validationErrors.selectedSpeaker\n }), showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedSpeaker))), /*#__PURE__*/React.createElement(\"div\", {\n className: speakerOption === 'Exclude speaker' ? 'alter-repair-productinfo-exclude-radio' : 'repair-productinfo-exclude-radio'\n }, /*#__PURE__*/React.createElement(RadioList, {\n id: uuidv1(),\n name: \"exclude-speaker-radio-btn\",\n items: speakerOption === 'Exclude speaker' ? speakerOrCordaOptions : excludeSpeakerOrCorda,\n selectedValue: excludeSpeakerOrCorda.value,\n onValueChange: function onValueChange(event) {\n return toggleSpeaker(event);\n }\n }))));\n};\nexport default ProductInformationSectionRemakeMold;","import React, { useEffect, useState } from 'react';\nimport ProductInformationSectionRemakeMold from './form-sections/ProductInformationSectionRemakeMold';\nimport HCPInformationSection from './form-sections/HCPInformationSection';\nimport PatientInformationSection from './form-sections/PatientInformationSection';\nimport ShippingInformationSection from './form-sections/ShippingInformationSection';\nimport ImpressionFilesSection from './form-sections/ImpressionFilesSection';\nimport TermsAndConditionsSection from './form-sections/TermsAndConditionsSection';\nimport SpecialInstructionsSection from './form-sections/SpecialInstructionsSection';\nimport AddToCartButtons from './form-sections/AddToCartButtons';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nvar Remake = function Remake() {\n var appState = useServiceOrderState();\n var saveRemakeOrder = function saveRemakeOrder(e) {\n e.preventDefault();\n };\n var renderFormElements = function renderFormElements() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-order-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"small-text required-field-note\"\n }, \"Required fields are denoted by an asterisk (*)\"), /*#__PURE__*/React.createElement(ProductInformationSectionRemakeMold, null), /*#__PURE__*/React.createElement(ImpressionFilesSection, {\n orderType: \"repair\"\n }), /*#__PURE__*/React.createElement(HCPInformationSection, null), /*#__PURE__*/React.createElement(PatientInformationSection, null), /*#__PURE__*/React.createElement(ShippingInformationSection, null), /*#__PURE__*/React.createElement(TermsAndConditionsSection, null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(SpecialInstructionsSection, null), /*#__PURE__*/React.createElement(AddToCartButtons, {\n handleSaveButtonClick: saveRemakeOrder\n })));\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h3\", null, \"Remake service\"), renderFormElements());\n};\nexport default Remake;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Loader from 'react-loader-advanced';\nimport ApiClient from '../../../infrastructure/api/api-client';\nimport useApi from '../../../utilities/hooks/useApi';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport useValidation from '../hooks/useValidation';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nimport ConfigurationManager from '../../../infrastructure/configuration-manager';\nimport { FeatureFlags, ServiceOrderViewState } from '../../../infrastructure/const';\nvar ServiceCodeSelector = function ServiceCodeSelector() {\n // load symptom codes upon mounting of this component.\n var _useApi = useApi(function () {\n return ApiClient.serviceOrder.getSymptomCodes();\n }, true, []),\n _useApi2 = _slicedToArray(_useApi, 4),\n codesResponse = _useApi2[1],\n codesLoading = _useApi2[2],\n codesError = _useApi2[3];\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var showErrors = appState.showErrors;\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n symptomCodes = _useState2[0],\n setSymptomCodes = _useState2[1];\n var _useState3 = useState(new Set()),\n _useState4 = _slicedToArray(_useState3, 2),\n selectedCategories = _useState4[0],\n setSelectedCategories = _useState4[1];\n var _useState5 = useState({}),\n _useState6 = _slicedToArray(_useState5, 2),\n selectedCodes = _useState6[0],\n setSelectedCodes = _useState6[1];\n var _useState7 = useState(new Set()),\n _useState8 = _slicedToArray(_useState7, 2),\n remakeCodeList = _useState8[0],\n setRemakeCodeList = _useState8[1];\n var translations = {\n notFunctioning: 'Not functioning',\n brokenDamaged: 'Broken or damaged',\n soundQuality: 'Sound quality',\n wirelessAccessoryRepair: 'Wireless accessory repair',\n remakeModifications: 'Remake modifications'\n };\n var validations = {\n selectedCodes: {\n custom: {\n func: function func(value) {\n return Object.values(value).some(function (category) {\n return category.size > 0;\n });\n },\n // check for at least 1 option selected, ignoring empty categories\n message: '*required'\n }\n }\n };\n var _useValidation = useValidation(validations),\n _useValidation2 = _slicedToArray(_useValidation, 3),\n validator = _useValidation2[0],\n validationErrors = _useValidation2[1],\n isValid = _useValidation2[2];\n\n /**\n * sets our validation function to validate any fields we require on change\n */\n useEffect(function () {\n dispatch({\n type: 'setSelectedServiceCode',\n payload: selectedCodes\n });\n\n // check which type of order we have\n var isRemake = Object.values(selectedCodes).some(function (category) {\n return Array.from(category).some(function (code) {\n return remakeCodeList.has(code.symptomCode);\n });\n });\n if (isRemake) {\n dispatch({\n type: 'setViewState',\n payload: ServiceOrderViewState.REMAKE\n });\n } else {\n dispatch({\n type: 'setViewState',\n payload: ServiceOrderViewState.REPAIR\n });\n }\n validator({\n selectedCodes: selectedCodes\n });\n }, [selectedCodes]);\n\n /**\n * set our global validation with our updated one.\n */\n useEffect(function () {\n dispatch({\n type: 'setValidation',\n payload: {\n key: 'serviceOrderSymptomCodes',\n value: isValid\n }\n });\n }, [isValid]);\n\n /**\n * once our codes load from API, filter the individual codes by service type (repair/remake) and add a readable category title\n */\n useEffect(function () {\n if (codesResponse) {\n var repairCodes = new Set();\n var codes = Object.keys(codesResponse).map(function (key) {\n codesResponse[key].forEach(function (code) {\n if (code.routingType === '1') {\n repairCodes.add(code.symptomCode);\n }\n });\n return {\n categoryCode: key,\n categoryText: translations[key],\n codes: filterCodes(codesResponse[key])\n };\n });\n setRemakeCodeList(repairCodes);\n setSymptomCodes(codes);\n dispatch({\n type: 'setAllSymptomCodes',\n payload: codes\n });\n }\n }, [codesResponse]);\n\n /**\n * filters out the service codes based on order type.\n * @param codes\n * @returns {*[]}\n */\n var filterCodes = function filterCodes(codes) {\n // determine if user can view all codes or subset\n if (ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_REPAIR_SERVICE) && ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_REMAKE_SERVICE) && !appState.isQuoteRequested) {\n return codes;\n }\n if (ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_REPAIR_SERVICE)) {\n return codes.filter(function (code) {\n return code.routingType === '2' || code.routingType === '3';\n });\n }\n if (ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_REMAKE_SERVICE)) {\n return codes.filter(function (code) {\n return code.routingType === '1' || code.routingType === '3';\n });\n }\n return [];\n };\n\n /**\n * function to handle the category checkboxes\n * @param evt\n * @param category\n */\n var handleOnCategoryChange = function handleOnCategoryChange(evt, category) {\n var target = evt.target;\n var categories = new Set(selectedCategories);\n if (target.checked) {\n categories.add(category);\n } else {\n categories.delete(category);\n var codes = _objectSpread({}, selectedCodes);\n codes[category] = new Set(); // clear any previously selected codes in this category\n setSelectedCodes(codes);\n }\n setSelectedCategories(categories);\n };\n\n /**\n * function to handle all symtpom code checkboxes\n * @param category\n * @param code\n * @param evt\n */\n var handleOnSymptomCodeChange = function handleOnSymptomCodeChange(category, code, evt) {\n var codes = _objectSpread({}, selectedCodes);\n codes[category] = new Set(codes[category]); // creates a new Set if one doesn't exist, else, copies existing one\n\n if (evt.target.checked) {\n codes[category].add(code);\n } else {\n codes[category].delete(code);\n }\n setSelectedCodes(codes);\n };\n var classnames = classNames({\n 'has-error': !isValid\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row \".concat(classnames)\n }, /*#__PURE__*/React.createElement(\"p\", null, \"Select symptom code(s) for you product below:\", showErrors && /*#__PURE__*/React.createElement(\"div\", {\n className: \"error\"\n }, validationErrors.selectedCodes))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"row\"\n }, /*#__PURE__*/React.createElement(Loader, {\n show: codesLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"service-code-selector\"\n }, symptomCodes.map(function (header) {\n var classes = classNames({\n 'code-heading': true,\n 'is-active': selectedCategories.has(header.categoryCode)\n });\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: header.categoryCode\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classes,\n key: header.categoryCode\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n id: header.categoryCode,\n value: header.categoryCode,\n checked: selectedCategories.has(header.categoryCode),\n onChange: function onChange(evt) {\n return handleOnCategoryChange(evt, header.categoryCode);\n }\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: header.categoryCode\n }, header.categoryText)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"codes-section\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"instructions\"\n }, \"Select all that apply:\"), header.codes.map(function (code) {\n var _selectedCodes$header, _selectedCodes$header2;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"codes\",\n key: \"\".concat(header.categoryCode, \"-\").concat(code.symptomCode)\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"checkbox\",\n value: code.symptomCode,\n id: \"\".concat(header.categoryCode, \"-\").concat(code.symptomCode),\n checked: (_selectedCodes$header = (_selectedCodes$header2 = selectedCodes[header.categoryCode]) === null || _selectedCodes$header2 === void 0 ? void 0 : _selectedCodes$header2.some(function (selected) {\n return selected.symptomCode === code.symptomCode;\n })) !== null && _selectedCodes$header !== void 0 ? _selectedCodes$header : false,\n onChange: function onChange(evt) {\n return handleOnSymptomCodeChange(header.categoryCode, code, evt);\n }\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"\".concat(header.categoryCode, \"-\").concat(code.symptomCode)\n }, code.symptomName));\n }))));\n })))));\n};\nexport default ServiceCodeSelector;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport RadioList from '../../../radio-list';\nimport { useServiceOrderState, useServiceOrderDispatch } from '../../ServiceOrderProvider';\nimport { ServiceOrderQuoteOptions, TranslationKeys } from '../../../../infrastructure/const';\nimport TranslationManager from '../../../../infrastructure/translation-manager';\nvar QuoteEstimateSelector = function QuoteEstimateSelector(props) {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var deviceInfo = appState.deviceInfo;\n var _useState = useState(ServiceOrderQuoteOptions.SIX),\n _useState2 = _slicedToArray(_useState, 2),\n selection = _useState2[0],\n setSelection = _useState2[1];\n var isDevicePastCutoff = moment(new Date()).diff(moment(deviceInfo.warrantyStartDate), 'year') >= 5;\n var translations = {\n ServiceQuoteSelectOptionText: TranslationManager.getTranslation(TranslationKeys.SERVICE_QUOTE_SELECT_OPTION_TEXT),\n ServiceQuoteSixMonthOptionText: TranslationManager.getTranslation(TranslationKeys.SERVICE_QUOTE_SIX_MONTH_OPTION_TEXT),\n ServiceQuoteTwelveMonthOptionText: TranslationManager.getTranslation(TranslationKeys.SERVICE_QUOTE_TWELVE_MONTH_OPTION_TEXT)\n };\n var quoteOptions = [{\n value: ServiceOrderQuoteOptions.SIX,\n text: translations.ServiceQuoteSixMonthOptionText\n }];\n if (!isDevicePastCutoff) {\n quoteOptions.push({\n value: ServiceOrderQuoteOptions.TWELVE,\n text: translations.ServiceQuoteTwelveMonthOptionText\n });\n }\n useEffect(function () {\n dispatch({\n type: 'setOrderDetails',\n payload: {\n quoteType: selection\n }\n });\n }, [selection]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"row quote-estimate-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"option\"\n }, /*#__PURE__*/React.createElement(\"p\", null, translations.ServiceQuoteSelectOptionText), /*#__PURE__*/React.createElement(RadioList, {\n id: \"quote-options\",\n items: quoteOptions,\n label: \"\",\n selectedValue: selection,\n onValueChange: function onValueChange(e) {\n setSelection(e.target.value);\n },\n arrangeVertically: true\n })));\n};\nexport default QuoteEstimateSelector;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport React, { useEffect, useState } from 'react';\nimport Repair from './Repair';\nimport Remake from './Remake';\nimport WarrantyStatusSpot from './WarrantyStatusSpot';\nimport ServiceCodeSelector from './ServiceCodeSelector';\nimport { useServiceOrderDispatch, useServiceOrderState } from '../ServiceOrderProvider';\nimport { ServiceOrderViewState } from '../../../infrastructure/const';\nimport QuoteEstimateSelector from './form-sections/QuoteEstimateSelector';\nvar RepairRemake = function RepairRemake() {\n var appState = useServiceOrderState();\n var dispatch = useServiceOrderDispatch();\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showForm = _useState2[0],\n setShowForm = _useState2[1];\n var copyOrEditService = appState.copyOrEditService;\n\n /**\n * set the view if it is a edit or copy\n */\n useEffect(function () {\n if (copyOrEditService) {\n setShowForm(true);\n }\n });\n\n /**\n * clears any previous form validations from other service types\n */\n useEffect(function () {\n dispatch({\n type: 'clearValidations'\n });\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WarrantyStatusSpot, null), appState.isQuoteRequested && /*#__PURE__*/React.createElement(QuoteEstimateSelector, null), (appState.isWarrantyValid || appState.isQuoteRequested) && /*#__PURE__*/React.createElement(\"div\", {\n className: \"code-selection-container\"\n }, /*#__PURE__*/React.createElement(ServiceCodeSelector, null), !showForm && /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"button\", {\n className: \"dark-bg button\",\n type: \"button\",\n onClick: function onClick(evt) {\n evt.preventDefault();\n setShowForm(appState.formValidations.serviceOrderSymptomCodes);\n },\n disabled: !appState.formValidations.serviceOrderSymptomCodes\n }, \"Proceed\")), /*#__PURE__*/React.createElement(\"div\", {\n className: \"repair-remake\"\n }, showForm && appState.viewState.subCode === ServiceOrderViewState.REPAIR.subCode && /*#__PURE__*/React.createElement(Repair, null), showForm && appState.viewState.subCode === ServiceOrderViewState.REMAKE.subCode && /*#__PURE__*/React.createElement(Remake, null))));\n};\nexport default RepairRemake;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter as Router, Route, Switch, useHistory } from 'react-router-dom';\nimport { WDHComponent } from '../../../../wdh-foundation/wdh';\nimport Loader from 'react-loader-advanced';\nimport { loaderBackgroundStyle, loaderOpacity, spinner } from '../../../../wdh-project/oticon_us/react/feature/wdh-mybusiness/src/js/views/Spinner';\nimport { EventTypes, QueryStrings, TranslationKeys, ServiceOrderStatus, Events, ServiceOrderConfigurations, FeatureFlags } from './infrastructure/const';\nimport { ServiceOrderProvider, useServiceOrderState, useServiceOrderDispatch } from './components/service-orders/ServiceOrderProvider';\nimport TranslationManager from './infrastructure/translation-manager';\nimport UrlUtils from './utilities/url-utils';\nimport CheckUtils from './utilities/check-utils';\nimport ServiceOrderOptionsSpot from './components/service-orders/service-order-options-spot';\nimport ExpressExchange from './components/service-orders/views/ExpressExchange';\nimport ConfigurationManager from './infrastructure/configuration-manager';\nimport SavedDraftsSpot from './components/service-orders/views/SavedDraftsSpot';\nimport ErrorBoundary from './components/ErrorBoundary';\nimport ApiClient from './infrastructure/api/api-client';\nimport useCheckCartContents from './components/service-orders/hooks/useCheckCartContents';\nimport useVerifySerial from './components/service-orders/hooks/useVerifySerial';\nimport ModalDialog from './components/modal-dialog';\nimport NavigationManager from './infrastructure/navigation-manager';\nimport useAccountInformation from './components/service-orders/hooks/useAccountInformation';\nimport useHCPInformation from './components/service-orders/hooks/useHCPInformation';\nimport RadioList from './components/radio-list';\nimport SpeakerReplacement from './components/service-orders/views/SpeakerReplacement';\nimport RepairRemake from './components/service-orders/views/RepairRemake';\nvar EventBus = window.DGS.Event.getInstance();\nvar WdhServiceOrderSpot = /*#__PURE__*/function (_WDHComponent) {\n /**\n * @constructor\n * @augments WDHComponent\n * @param className\n * @inheritDoc\n */\n function WdhServiceOrderSpot() {\n var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wdh-feature-b2b-service-order-spot';\n _classCallCheck(this, WdhServiceOrderSpot);\n return _callSuper(this, WdhServiceOrderSpot, [className]);\n }\n _inherits(WdhServiceOrderSpot, _WDHComponent);\n return _createClass(WdhServiceOrderSpot, [{\n key: \"init\",\n value: function init(component) {\n var _this = this;\n ReactDOM.render(spinner, component.querySelector('.component-content'));\n window.shopInitReady ? this.renderComponent(component) : EventBus.on(EventTypes.SHOP_INIT_READY, function () {\n return _this.renderComponent(component);\n });\n }\n }, {\n key: \"renderComponent\",\n value: function renderComponent(component) {\n var path = window.location.pathname;\n var subPathIndex = path.indexOf('/service-order/');\n var basename = path.substr(0, subPathIndex > -1 ? subPathIndex : path.length);\n ReactDOM.render(/*#__PURE__*/React.createElement(React.StrictMode, null, /*#__PURE__*/React.createElement(ServiceOrderProvider, null, /*#__PURE__*/React.createElement(Router, {\n basename: basename\n }, /*#__PURE__*/React.createElement(ErrorBoundary, null, /*#__PURE__*/React.createElement(ServiceOrderSpot, {\n className: this.className\n }))))), component.querySelector('.component-content'));\n }\n }]);\n}(WDHComponent);\n/**\n * Main Service Order Spot Component\n */\nvar ServiceOrderSpot = function ServiceOrderSpot() {\n var translations = {\n serviceOrderHeaderText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_HEADER_TEXT),\n serviceOrderDescription: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_DESCRIPTION_TEXT),\n serviceOrderMessageCta: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_HOME_PAGE_MESSAGE_CTA_TEXT),\n serialNoText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_SERIAL_NO_TEXT),\n enterText: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_BUTTON_ENTER_TEXT),\n serialCheckVerified: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_VERIFIED_MESSAGE),\n serialCheckNotFound: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_NOT_FOUND_MESSAGE),\n serialCheckTooOld: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_TOO_OLD_MESSAGE),\n serialCheckTooManyAttempts: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_TOO_MANY_ATTEMPTS_MESSAGE),\n serialCheckTooManyAttemptsCTA: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_TOO_MANY_ATTEMPTS_CTA),\n serviceOrderValidationDuplicateInCart: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_DUPLICATE_IN_CART),\n serviceOrderValidationCannotBeBlank: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_CANNOT_BE_BLANK),\n serviceOrderValidationIncorrect: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_INCORRECT),\n serviceOrderValidationUnknownError: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_UNKNOWN_ERROR),\n serviceOrderValidationThirdPartyPurchaseCta: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_THIRD_PARTY_PURCHASE_CTA),\n serviceOrderValidationOtherClinicPurchase: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE),\n serviceOrderValidationOtherClinicPurchaseCtaOptionYes: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE_CTA_OPTION_YES),\n serviceOrderValidationOtherClinicPurchaseCtaOptionNo: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE_CTA_OPTION_NO),\n serviceOrderValidationUsedSerialNumber: TranslationManager.getTranslation(TranslationKeys.SERVICE_ORDER_VALIDATION_USED_SERIAL_NUMBER)\n };\n var dispatch = useServiceOrderDispatch();\n var appState = useServiceOrderState();\n\n // get our global state and dispatcher\n var _useState = useState(''),\n _useState2 = _slicedToArray(_useState, 2),\n serialNo = _useState2[0],\n setSerialNo = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n displayCartConflictModal = _useState4[0],\n setDisplayCartConflictModal = _useState4[1];\n var verificationStatus = appState.verificationStatus,\n copyOrEditService = appState.copyOrEditService,\n copyOrEditData = appState.copyOrEditData;\n var isVerified = verificationStatus === ServiceOrderStatus.VERIFIED;\n var _useCheckCartContents = useCheckCartContents([useCheckCartContents.types.expressExchangeOrder, useCheckCartContents.types.speakerReplacementOrder]),\n cartContentsIsEmpty = _useCheckCartContents.cartIsEmpty,\n cartContentsIsValid = _useCheckCartContents.cartIsValid,\n cart = _useCheckCartContents.cart,\n cartIsLoading = _useCheckCartContents.isLoading;\n var _useVerifySerial = useVerifySerial(),\n _useVerifySerial2 = _slicedToArray(_useVerifySerial, 4),\n verifySerial = _useVerifySerial2[0],\n verifySerialResponse = _useVerifySerial2[1],\n serialCheckLoading = _useVerifySerial2[2],\n error = _useVerifySerial2[3];\n var _useAccountInformatio = useAccountInformation(),\n _useAccountInformatio2 = _slicedToArray(_useAccountInformatio, 3),\n accountInformation = _useAccountInformatio2[0],\n accountInfoLoading = _useAccountInformatio2[1],\n accountInfoError = _useAccountInformatio2[2];\n var _useHCPInformation = useHCPInformation(),\n _useHCPInformation2 = _slicedToArray(_useHCPInformation, 3),\n hcpInformation = _useHCPInformation2[0],\n hcpInfoLoading = _useHCPInformation2[1],\n hcpInfoError = _useHCPInformation2[2];\n var history = useHistory();\n var _useState5 = useState(true),\n _useState6 = _slicedToArray(_useState5, 2),\n cartIsEmpty = _useState6[0],\n setCartIsEmpty = _useState6[1];\n var _useState7 = useState(true),\n _useState8 = _slicedToArray(_useState7, 2),\n cartIsValid = _useState8[0],\n setCartIsValid = _useState8[1];\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n serialsInCart = _useState10[0],\n setSerialsInCart = _useState10[1];\n\n /**\n * clears serial number from global state\n * @param e\n */\n var clearSerialNumber = function clearSerialNumber() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n if (e) {\n e.preventDefault();\n }\n history.push('/');\n setSerialNo('');\n dispatch({\n type: 'clearDeviceInfo'\n });\n };\n\n /**\n * verifies the serialNumber, will show a modal first if the cart is not empty.\n * @param serialNumber\n * @param hideModal\n */\n var verifySerialNumber = function verifySerialNumber(serialNumber) {\n var hideModal = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!cartIsEmpty && !cartIsValid && !hideModal) {\n // display modal\n setDisplayCartConflictModal(true);\n return;\n }\n // cart is empty or contains valid orders.\n verifySerial(serialNumber, serialsInCart);\n };\n\n /**\n * handles okClick from modal.\n */\n var handleClearCartConflict = function handleClearCartConflict() {\n ApiClient.cart.deleteAll().then(function () {\n ApiClient.cart.removeClientOrders();\n setCartIsValid(true);\n setCartIsEmpty(true);\n EventBus.trigger(Events.REFRESH_CART_COUNT);\n verifySerialNumber(serialNo, true);\n });\n };\n\n /**\n * set local state with cart validation so we can clear error after cart is emptied\n */\n useEffect(function () {\n setCartIsValid(cartContentsIsValid);\n setCartIsEmpty(cartContentsIsEmpty);\n }, [cartContentsIsValid, cartContentsIsEmpty]);\n\n /**\n * Once we get the cart information, loop through all the service orders and make note of all serial numbers already in use.\n * set our local state so we can pass this on to useVerifySerial hook.\n */\n useEffect(function () {\n if (cart) {\n var serialNumbersInCart = new Set();\n dispatch({\n type: 'setCartDetails',\n payload: cart\n });\n Object.values(ServiceOrderConfigurations).forEach(function (soConfig) {\n var orders = cart[soConfig.ordersPath];\n if (orders) {\n orders.forEach(function (order) {\n var orderLines = order[soConfig.orderDetailsPath];\n if (orderLines) {\n orderLines.forEach(function (o) {\n return serialNumbersInCart.add(o.serialNo.trim().toUpperCase());\n });\n }\n });\n }\n ;\n });\n setSerialsInCart(serialNumbersInCart);\n }\n }, [cart]);\n\n /**\n * ComponentDidMount equivalent\n */\n useEffect(function () {\n var urlSerialNumber = UrlUtils.getParameterByName(QueryStrings.SERIAL_NUMBER, '');\n var serialNumber = appState.serialNumber,\n location = appState.location;\n if (!CheckUtils.isNullOrEmptyString(urlSerialNumber)) {\n setSerialNo(urlSerialNumber);\n // verifySerialNumber(urlSerialNumber); // leaving out for now as race condition exists between checking the cart and calling this (this wins).\n } else if (serialNumber !== null && verificationStatus !== ServiceOrderStatus.UNVERIFIED) {\n // we have a serial in our localStorage, let's load it\n setSerialNo(serialNumber);\n history.push(location);\n } else {\n // no serial number set or status is unverified no need to reload info\n // clear our cache\n clearSerialNumber();\n }\n\n /* grab user info */\n var token = ConfigurationManager.getTokenDetails();\n dispatch({\n type: 'setOrderPlacerDetails',\n payload: {\n name: token.name,\n email: token.email\n }\n });\n }, []);\n\n /**\n * handles the api data from the verifySerialNumber.\n */\n useEffect(function () {\n if (verifySerialResponse) {\n var payload = verifySerialResponse.payload;\n if (payload) {\n var colors = payload.availableColorList.map(function (color, index) {\n return {\n color: color.rgbCode,\n forceable: false,\n text: color.colorName.replace(/\\(\\d+\\)\\s(.*)/, '$1'),\n value: color.colorCode\n };\n });\n payload.selectedColor = colors.find(function (color) {\n return color.value === payload.colorCode;\n });\n payload.availableColors = colors.filter(function (color) {\n return color.value !== payload.colorCode;\n }); // remove current color since it's redundant and not selectable.\n\n dispatch({\n type: 'setDeviceBySerial',\n payload: verifySerialResponse.payload\n });\n var isExpresExchangeAllowed = payload.isExpresExchangeAllowed,\n isSpeakerReplacementAllowed = payload.isSpeakerReplacementAllowed,\n isRepairAllowed = payload.isRepairAllowed;\n dispatch({\n type: 'setAllowedServiceOrderTypes',\n payload: {\n isExpresExchangeAllowed: isExpresExchangeAllowed && ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_EXPRESS_EXCHANGE_SERVICE),\n isSpeakerReplacementAllowed: isSpeakerReplacementAllowed && ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_SPEAKER_REPLACEMENT_SERVICE),\n isRepairAllowed: isRepairAllowed && ConfigurationManager.isFeatureFlagEnabled(FeatureFlags.CAN_SEE_REPAIR_SERVICE)\n }\n });\n }\n if (copyOrEditService) {\n dispatch({\n type: 'setVerificationStatus',\n payload: 'VERIFIED'\n });\n } else {\n dispatch({\n type: 'setVerificationStatus',\n payload: verifySerialResponse.verificationStatus\n });\n }\n }\n }, [verifySerialResponse]);\n\n /**\n * set our accountInformation as soon as it loads from api.\n */\n useEffect(function () {\n dispatch({\n type: 'setAccountInformation',\n payload: accountInformation\n });\n }, [accountInformation]);\n\n /**\n * set our hcp information as soon as it loads from the api\n */\n useEffect(function () {\n dispatch({\n type: 'setHCPInformation',\n payload: hcpInformation\n });\n }, [hcpInformation]);\n\n /* edit / copy code */\n useEffect(function () {\n var urlSerialNumber = UrlUtils.getParameterByName(QueryStrings.SERIAL_NUMBER, '');\n var urlOrderId = UrlUtils.getParameterByName(QueryStrings.ORDER_ID, '');\n var urlOperationType = UrlUtils.getParameterByName(QueryStrings.OPERATION_TYPE, '');\n var urlOrderType = UrlUtils.getParameterByName(QueryStrings.ORDER_TYPE, '');\n var urlNaural = UrlUtils.getParameterByName(QueryStrings.NAURAL, '');\n if (urlOrderType) {\n dispatch({\n type: 'setCopyOrEditService',\n payload: true\n });\n dispatch({\n type: 'setCopyOrEditData',\n payload: {\n urlOperationType: urlOperationType,\n urlOrderId: urlOrderId,\n urlSerialNumber: urlSerialNumber,\n urlOrderType: urlOrderType,\n urlNaural: urlNaural\n }\n });\n }\n if (urlOrderType === 'repair') {\n history.push('/repair');\n dispatch({\n type: 'setViewState',\n payload: {\n path: '/repair',\n code: 'RP',\n fullName: 'Repair Service'\n }\n });\n }\n }, []);\n useEffect(function () {\n if (copyOrEditService && !hcpInfoLoading && !accountInfoLoading) {\n verifySerial(copyOrEditData.urlSerialNumber, false);\n }\n }, [hcpInfoLoading, accountInfoLoading]);\n useEffect(function () {\n if (copyOrEditData.urlOrderType === 'repair' && copyOrEditData.urlOperationType === 'edit' && !hcpInfoLoading && !accountInfoLoading && appState.symptomCodes && appState.speakers) {\n if (cart) {\n Object.values(ServiceOrderConfigurations).forEach(function (soConfig) {\n var orders = cart[soConfig.ordersPath];\n if (!CheckUtils.isNullOrEmptyArray(orders)) {\n orders.forEach(function (order) {\n var orderLines = order[soConfig.orderDetailsPath];\n if (order.id === copyOrEditData.urlOrderId) {\n orderLines.forEach(function (orderItem) {\n if (orderItem.serialNo === copyOrEditData.urlSerialNumber) {\n var _orderItem$bteHearing2, _orderItem$bteHearing3, _speakerDetails$, _orderItem$bteHearing4, _orderItem$bteHearing5, _orderItem$bteHearing6, _orderItem$bteHearing7, _orderItem$bteHearing8, _orderItem$bteHearing9, _orderItem$bteHearing10, _orderItem$bteHearing11, _orderItem$symptomLis, _orderItem$symptomLis2, _orderItem$symptomLis3, _orderItem$symptomLis4, _orderItem$symptomLis5;\n var speakerDetails = appState.speakers.filter(function (speaker) {\n var _orderItem$bteHearing;\n return speaker.itemNo === ((_orderItem$bteHearing = orderItem.bteHearingAidData) === null || _orderItem$bteHearing === void 0 ? void 0 : _orderItem$bteHearing.speaker.itemNo);\n });\n var orderDetailsInfo = {\n fitter: {\n text: orderItem.fitterInformation.fitterName,\n value: orderItem.fitterInformation.fitterEmail,\n email: orderItem.fitterInformation.fitterEmail,\n phone: orderItem.fitterInformation.fitterPhoneNumber\n },\n billTo: orderItem.billTo,\n sellTo: orderItem.sellTo,\n poNumber: orderItem.poNumber,\n shippingAddress: orderItem.sellToAddress,\n isPOMandatory: orderItem.isPOMandatory,\n comments: orderItem.specialInstrunctions,\n billToAddress: orderItem.billToAddress,\n sellToAddress: orderItem.sellToAddress,\n speakerDescription: (_orderItem$bteHearing2 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing2 === void 0 ? void 0 : _orderItem$bteHearing2.speaker.name,\n speakerItemNumber: (_orderItem$bteHearing3 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing3 === void 0 ? void 0 : _orderItem$bteHearing3.speaker.itemNo,\n speakerSide: (_speakerDetails$ = speakerDetails[0]) === null || _speakerDetails$ === void 0 ? void 0 : _speakerDetails$.ear,\n domeItemNo: (_orderItem$bteHearing4 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing4 === void 0 ? void 0 : _orderItem$bteHearing4.dome.itemNo,\n domeDescription: (_orderItem$bteHearing5 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing5 === void 0 ? void 0 : _orderItem$bteHearing5.dome.name,\n excludeSpeaker: !((_orderItem$bteHearing6 = orderItem.bteHearingAidData) !== null && _orderItem$bteHearing6 !== void 0 && _orderItem$bteHearing6.speaker.itemNo),\n excludeDome: !((_orderItem$bteHearing7 = orderItem.bteHearingAidData) !== null && _orderItem$bteHearing7 !== void 0 && _orderItem$bteHearing7.dome.itemNo),\n model: (_orderItem$bteHearing8 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing8 === void 0 ? void 0 : _orderItem$bteHearing8.model,\n style: (_orderItem$bteHearing9 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing9 === void 0 ? void 0 : _orderItem$bteHearing9.style,\n circuit: (_orderItem$bteHearing10 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing10 === void 0 ? void 0 : _orderItem$bteHearing10.circuit,\n color: (_orderItem$bteHearing11 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing11 === void 0 ? void 0 : _orderItem$bteHearing11.color\n };\n dispatch({\n type: 'setOrderDetailsFromCart',\n payload: orderDetailsInfo\n });\n var notFunctioning = (_orderItem$symptomLis = orderItem.symptomListData) === null || _orderItem$symptomLis === void 0 ? void 0 : _orderItem$symptomLis.notFunctioning;\n var brokenDamaged = (_orderItem$symptomLis2 = orderItem.symptomListData) === null || _orderItem$symptomLis2 === void 0 ? void 0 : _orderItem$symptomLis2.brokenDamaged;\n var soundQuality = (_orderItem$symptomLis3 = orderItem.symptomListData) === null || _orderItem$symptomLis3 === void 0 ? void 0 : _orderItem$symptomLis3.soundQuality;\n var wirelessAccessoryRepair = (_orderItem$symptomLis4 = orderItem.symptomListData) === null || _orderItem$symptomLis4 === void 0 ? void 0 : _orderItem$symptomLis4.wirelessAccessoryRepair;\n var remakeModifications = (_orderItem$symptomLis5 = orderItem.symptomListData) === null || _orderItem$symptomLis5 === void 0 ? void 0 : _orderItem$symptomLis5.remakeModifications;\n brokenDamaged = new Set(brokenDamaged);\n notFunctioning = new Set(notFunctioning);\n soundQuality = new Set(soundQuality);\n wirelessAccessoryRepair = new Set(wirelessAccessoryRepair);\n remakeModifications = new Set(remakeModifications);\n var symptomCodes = {\n brokenDamaged: brokenDamaged,\n notFunctioning: notFunctioning,\n soundQuality: soundQuality,\n wirelessAccessoryRepair: wirelessAccessoryRepair,\n remakeModifications: remakeModifications\n };\n dispatch({\n type: 'setSelectedServiceCode',\n payload: symptomCodes\n });\n }\n });\n }\n });\n }\n ;\n });\n }\n }\n }, [cart, hcpInfoLoading, accountInfoLoading, appState.symptomCodes, appState.speakers]);\n\n // when copying to other ear\n useEffect(function () {\n if (copyOrEditData.urlOrderType === 'repair' && copyOrEditData.urlOperationType === 'copy' && !hcpInfoLoading && !accountInfoLoading && appState.symptomCodes && appState.speakers) {\n if (cart) {\n Object.values(ServiceOrderConfigurations).forEach(function (soConfig) {\n var orders = cart[soConfig.ordersPath];\n if (!CheckUtils.isNullOrEmptyArray(orders)) {\n orders.forEach(function (order) {\n var orderLines = order[soConfig.orderDetailsPath];\n if (order.id === copyOrEditData.urlOrderId) {\n orderLines.forEach(function (orderItem) {\n var _orderItem$bteHearing13, _orderItem$bteHearing14, _speakerDetails$2, _orderItem$bteHearing15, _orderItem$bteHearing16, _orderItem$bteHearing17, _orderItem$bteHearing18, _orderItem$symptomLis6, _orderItem$symptomLis7, _orderItem$symptomLis8, _orderItem$symptomLis9, _orderItem$symptomLis10;\n var speakerDetails = appState.speakers.filter(function (speaker) {\n var _orderItem$bteHearing12;\n return speaker.itemNo === ((_orderItem$bteHearing12 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing12 === void 0 ? void 0 : _orderItem$bteHearing12.speaker.itemNo);\n });\n var orderDetailsInfo = {\n fitter: {\n text: orderItem.fitterInformation.fitterName,\n value: orderItem.fitterInformation.fitterEmail,\n email: orderItem.fitterInformation.fitterEmail,\n phone: orderItem.fitterInformation.fitterPhoneNumber\n },\n billTo: orderItem.billTo,\n sellTo: orderItem.sellTo,\n poNumber: orderItem.poNumber,\n shippingAddress: orderItem.sellToAddress,\n isPOMandatory: orderItem.isPOMandatory,\n comments: '',\n billToAddress: orderItem.billToAddress,\n sellToAddress: orderItem.sellToAddress,\n speakerDescription: (_orderItem$bteHearing13 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing13 === void 0 ? void 0 : _orderItem$bteHearing13.speaker.name,\n speakerItemNumber: (_orderItem$bteHearing14 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing14 === void 0 ? void 0 : _orderItem$bteHearing14.speaker.itemNo,\n speakerSide: (_speakerDetails$2 = speakerDetails[0]) === null || _speakerDetails$2 === void 0 ? void 0 : _speakerDetails$2.ear,\n domeItemNo: (_orderItem$bteHearing15 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing15 === void 0 ? void 0 : _orderItem$bteHearing15.dome.itemNo,\n domeDescription: (_orderItem$bteHearing16 = orderItem.bteHearingAidData) === null || _orderItem$bteHearing16 === void 0 ? void 0 : _orderItem$bteHearing16.dome.name,\n excludeSpeaker: !((_orderItem$bteHearing17 = orderItem.bteHearingAidData) !== null && _orderItem$bteHearing17 !== void 0 && _orderItem$bteHearing17.speaker.itemNo),\n excludeDome: !((_orderItem$bteHearing18 = orderItem.bteHearingAidData) !== null && _orderItem$bteHearing18 !== void 0 && _orderItem$bteHearing18.dome.itemNo)\n };\n dispatch({\n type: 'setOrderDetailsFromCart',\n payload: orderDetailsInfo\n });\n var notFunctioning = (_orderItem$symptomLis6 = orderItem.symptomListData) === null || _orderItem$symptomLis6 === void 0 ? void 0 : _orderItem$symptomLis6.notFunctioning;\n var brokenDamaged = (_orderItem$symptomLis7 = orderItem.symptomListData) === null || _orderItem$symptomLis7 === void 0 ? void 0 : _orderItem$symptomLis7.brokenDamaged;\n var soundQuality = (_orderItem$symptomLis8 = orderItem.symptomListData) === null || _orderItem$symptomLis8 === void 0 ? void 0 : _orderItem$symptomLis8.soundQuality;\n var wirelessAccessoryRepair = (_orderItem$symptomLis9 = orderItem.symptomListData) === null || _orderItem$symptomLis9 === void 0 ? void 0 : _orderItem$symptomLis9.wirelessAccessoryRepair;\n var remakeModifications = (_orderItem$symptomLis10 = orderItem.symptomListData) === null || _orderItem$symptomLis10 === void 0 ? void 0 : _orderItem$symptomLis10.remakeModifications;\n brokenDamaged = new Set(brokenDamaged);\n notFunctioning = new Set(notFunctioning);\n soundQuality = new Set(soundQuality);\n wirelessAccessoryRepair = new Set(wirelessAccessoryRepair);\n remakeModifications = new Set(remakeModifications);\n var symptomCodes = {\n brokenDamaged: brokenDamaged,\n notFunctioning: notFunctioning,\n soundQuality: soundQuality,\n wirelessAccessoryRepair: wirelessAccessoryRepair,\n remakeModifications: remakeModifications\n };\n dispatch({\n type: 'setSelectedServiceCode',\n payload: symptomCodes\n });\n });\n }\n });\n }\n });\n }\n }\n }, [cart, hcpInfoLoading, accountInfoLoading, appState.symptomCodes, appState.speakers]);\n\n /**\n * renders Status Message based on status returned from checkSerial\n * @returns {JSX.Element}\n */\n var renderSerialCheckStatusMessage = function renderSerialCheckStatusMessage() {\n var message = '';\n var ctaMessage = '';\n var isError = !!error;\n switch (verificationStatus) {\n case ServiceOrderStatus.VERIFIED:\n message = translations.serialCheckVerified;\n break;\n case ServiceOrderStatus.NOT_FOUND:\n message = translations.serialCheckNotFound;\n break;\n case ServiceOrderStatus.TOO_MANY_ATTEMPTS:\n message = translations.serialCheckTooManyAttempts;\n ctaMessage = translations.serialCheckTooManyAttemptsCTA;\n break;\n case ServiceOrderStatus.BLANK_SERIAL:\n message = translations.serviceOrderValidationCannotBeBlank;\n break;\n case ServiceOrderStatus.SERIAL_INCORRECT:\n message = translations.serviceOrderValidationIncorrect;\n break;\n case ServiceOrderStatus.UNKNOWN_ERROR:\n message = translations.serviceOrderValidationUnknownError;\n break;\n case ServiceOrderStatus.THIRD_PARTY_PURCHASE:\n message = '';\n ctaMessage = translations.serviceOrderValidationThirdPartyPurchaseCta;\n break;\n case ServiceOrderStatus.DUPLICATE_IN_CART:\n message = translations.serviceOrderValidationDuplicateInCart;\n break;\n case ServiceOrderStatus.USED_SERIAL_NUMBER:\n message = translations.serviceOrderValidationUsedSerialNumber;\n break;\n case ServiceOrderStatus.OTHER_CLINIC_PURCHASE:\n message = translations.serviceOrderValidationOtherClinicPurchase;\n ctaMessage = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RadioList, {\n id: \"verifiedSerial\",\n items: [{\n text: translations.serviceOrderValidationOtherClinicPurchaseCtaOptionYes,\n value: 'yes'\n }, {\n text: translations.serviceOrderValidationOtherClinicPurchaseCtaOptionNo,\n value: 'no'\n }],\n label: \"\"\n // selectedValue={selectedValue}\n ,\n onValueChange: function onValueChange(e) {\n if (e.target.value === 'yes') {\n dispatch({\n type: 'setVerificationStatus',\n payload: ServiceOrderStatus.VERIFIED\n });\n } else {\n dispatch({\n type: 'setVerificationStatus',\n payload: ServiceOrderStatus.SERIAL_INCORRECT\n });\n }\n }\n }));\n break;\n default:\n break;\n }\n var cta = '';\n if (_typeof(ctaMessage) === 'object') {\n cta = /*#__PURE__*/React.createElement(React.Fragment, null, ctaMessage);\n } else if (typeof ctaMessage === 'string' && !CheckUtils.isNullOrEmptyString(ctaMessage)) {\n cta = /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: ctaMessage\n }\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"status-message\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: \"\".concat(isError ? 'error' : 'no-error')\n }, message), cta);\n };\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", {\n className: \"service-header-text\"\n }, translations.serviceOrderHeaderText), !copyOrEditService && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", {\n className: \"service-order-description\"\n }, translations.serviceOrderDescription), /*#__PURE__*/React.createElement(\"p\", {\n className: \"service-order-message\",\n dangerouslySetInnerHTML: {\n __html: translations.serviceOrderMessageCta\n }\n })), /*#__PURE__*/React.createElement(Loader, {\n show: cartIsLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, copyOrEditService && /*#__PURE__*/React.createElement(\"div\", {\n className: \"static-serialNo\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: \"serial-no-text service-order-label\"\n }, translations.serialNoText, \":\"), /*#__PURE__*/React.createElement(\"p\", null, copyOrEditData.urlSerialNumber)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"serialNo-div\"\n }, !copyOrEditService && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"row two-section\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"po-container\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: \"serial-no-text service-order-label\"\n }, translations.serialNoText), /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n id: \"serial-number\",\n className: \"po-number-txt\",\n placeholder: \"Enter Serial Number\",\n value: serialNo,\n onChange: function onChange(e) {\n return setSerialNo(e.currentTarget.value);\n },\n disabled: isVerified\n }), !isVerified && /*#__PURE__*/React.createElement(Loader, {\n show: serialCheckLoading,\n message: spinner,\n contentBlur: loaderOpacity,\n backgroundStyle: loaderBackgroundStyle\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: \"button dark-bg\",\n onClick: function onClick(e) {\n e.preventDefault();\n verifySerialNumber(serialNo);\n }\n }, translations.enterText)), isVerified && /*#__PURE__*/React.createElement(\"button\", {\n className: \"like-a\",\n type: \"button\",\n onClick: function onClick(e) {\n e.preventDefault();\n clearSerialNumber(e);\n }\n }, \"X Remove\"), renderSerialCheckStatusMessage()), /*#__PURE__*/React.createElement(SavedDraftsSpot, null))), isVerified && /*#__PURE__*/React.createElement(React.Fragment, null, !copyOrEditService && /*#__PURE__*/React.createElement(ServiceOrderOptionsSpot, null), /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/exchange\"\n }, /*#__PURE__*/React.createElement(ExpressExchange, null)), /*#__PURE__*/React.createElement(Route, {\n path: ['/repair', '/remake']\n }, /*#__PURE__*/React.createElement(RepairRemake, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/speaker\"\n }, /*#__PURE__*/React.createElement(SpeakerReplacement, null)), /*#__PURE__*/React.createElement(Route, {\n path: \"/replace\"\n }, /*#__PURE__*/React.createElement(\"p\", null, \"Coming Soon\")), /*#__PURE__*/React.createElement(Route, {\n exact: true,\n path: \"/\"\n }))))), /*#__PURE__*/React.createElement(ModalDialog, {\n isOpen: displayCartConflictModal,\n onOkClick: function onOkClick() {\n setDisplayCartConflictModal(false);\n handleClearCartConflict();\n },\n onCancelClick: function onCancelClick() {\n setDisplayCartConflictModal(false);\n NavigationManager.navigateToCartDetails();\n },\n type: ModalDialog.types.okCancel,\n okLabel: \"Continue\",\n cancelLabel: \"Go to cart\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, \"Conflicting orders\"), /*#__PURE__*/React.createElement(\"p\", null, \"You have an unfinished order in your cart. Click \\u2018Go to cart\\u2019 to finish placing your order. If you click \\u2018Continue\\u2019 the unfinished order will be removed from your cart.\")));\n};\n\n// init our service order page.\nexport default WdhServiceOrderSpot;\nnew WdhServiceOrderSpot().run();","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { TranslationKeys } from '../infrastructure/const';\nimport TranslationManager from '../infrastructure/translation-manager';\nimport NavigationManager from '../infrastructure/navigation-manager';\nimport CheckUtils from '../utilities/check-utils';\n\n/**\n * Component showing a general error message and a button to link to the shop front page\n * @memberOf module:wdh-feature-b2b\n * @example\n * import GeneralError from 'wdh-feature-b2b/src/js/components/general-error';\n * \n */\nvar GeneralError = /*#__PURE__*/function (_React$Component) {\n /**\n * @constructor\n * @param {String} props.header Header shown\n * @param {String} props.message Message shown\n * @param {Object} props.error Error details\n * @param {String} props.error.area Area of the error\n * @param {String} props.error.code Error code\n * @param {String} props.error.message Error message\n * @param {String} props.error.correlationId CorrelationId if its a network related error\n * @param {String} props.error.timestamp Timestamp when the error occurred\n */\n function GeneralError(props) {\n var _this;\n _classCallCheck(this, GeneralError);\n _this = _callSuper(this, GeneralError, [props]);\n _this.state = {};\n\n /**\n * Translation texts for the component\n * @private\n * @type {Object}\n */\n _this.translations = {\n generalErrorHeader: TranslationManager.getTranslation(TranslationKeys.SHARED_ERRORHEADER),\n generalErrorMessage: TranslationManager.getTranslation(TranslationKeys.SHARED_ERRORMESSAGE),\n errorButton: TranslationManager.getTranslation(TranslationKeys.SHARED_ERRORBUTTON)\n };\n return _this;\n }\n\n /**\n * Click to go to the frontpage\n */\n _inherits(GeneralError, _React$Component);\n return _createClass(GeneralError, [{\n key: \"onClick\",\n value: function onClick() {\n NavigationManager.navigateToShopFrontPage();\n }\n }, {\n key: \"renderError\",\n value: function renderError() {\n if (CheckUtils.isNullObject(this.props.error) || CheckUtils.isNullOrEmptyString(this.props.error.area)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h5\", null, \"Details\"), /*#__PURE__*/React.createElement(\"b\", null, \"CorrelationId: \"), this.props.error.correlationId, /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"br\", null));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"wdh-feature-b2b-general-error\"\n }, /*#__PURE__*/React.createElement(\"h2\", null, this.props.header === null ? this.translations.generalErrorHeader : this.props.header), /*#__PURE__*/React.createElement(\"p\", null, this.props.message === null ? this.translations.generalErrorMessage : this.props.message), this.renderError(), /*#__PURE__*/React.createElement(\"button\", {\n className: \"wdh-feature-b2b-button\",\n type: \"button\",\n onClick: function onClick(event) {\n return _this2.onClick(event);\n }\n }, this.translations.errorButton), /*#__PURE__*/React.createElement(\"br\", null));\n }\n }]);\n}(React.Component);\nGeneralError.propTypes = {\n header: PropTypes.string,\n message: PropTypes.string,\n error: PropTypes.shape({\n area: PropTypes.string,\n code: PropTypes.string,\n message: PropTypes.string,\n correlationId: PropTypes.string,\n timestamp: PropTypes.string\n })\n};\nGeneralError.defaultProps = {\n header: null,\n message: null,\n error: {\n area: '',\n code: '',\n message: '',\n correlationId: '',\n timestamp: ''\n }\n};\nexport default GeneralError;","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport { useState, useEffect } from 'react';\nvar useApi = function useApi(fn) {\n var resolve = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var deps = arguments.length > 2 ? arguments[2] : undefined;\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n var _useState5 = useState(),\n _useState6 = _slicedToArray(_useState5, 2),\n response = _useState6[0],\n setResponse = _useState6[1];\n\n /*\n function for user to use as needed\n */\n var request = function request() {\n setLoading(true);\n var cancelled = false;\n fn.apply(void 0, arguments).then(function (resp) {\n if (cancelled) return;\n setLoading(false);\n setResponse(resp);\n }).catch(function (err) {\n if (cancelled) return;\n setLoading(false);\n setError(err);\n });\n return function () {\n // prevent any unwanted side-effects if component is unmounted before it returns\n cancelled = true;\n };\n };\n\n /*\n allows user to use the api as they deem necessary\n */\n if (resolve) {\n useEffect(request, deps);\n }\n return [request, response, loading, error];\n};\nexport default useApi;"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","_slicedToArray","r","e","Array","isArray","_arrayWithHoles","l","t","n","i","u","a","f","call","next","Object","done","push","value","length","return","_iterableToArrayLimit","_arrayLikeToArray","toString","slice","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","validations","arguments","undefined","_useState2","useState","errors","setErrors","_useState4","isValid","setIsValid","data","keys","newErrors","newIsValid","forEach","key","_validation$required","_validation$pattern","_validation$pattern2","_validation$custom","_validation$custom2","_validation$required2","validation","required","message","pattern","RegExp","_validation$pattern3","custom","func","_validation$custom3","_result$message","_result$passed","result","passed","_validation$custom4","_defineProperties","enumerable","configurable","writable","defineProperty","_toPropertyKey","toPrimitive","String","Number","_toPrimitive","_callSuper","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","ErrorBoundary","_React$Component","props","_this","_classCallCheck","this","state","hasError","create","_inherits","error","errorInfo","children","propTypes","defaultProps","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","initialState","serialNumber","deviceInfo","verificationStatus","UNVERIFIED","isWarrantyValid","hasExtendedWarranty","extendedWarrantyInfo","viewState","NONE","orderDetails","orderPlacer","email","selectedServiceCode","symptomCodes","speakers","accountInformation","hcpInformation","formValidations","formIsValid","showErrors","defaultFitter","isQuoteRequested","allowedServiceOrderTypes","isExpresExchangeAllowed","isSpeakerReplacementAllowed","isRepairAllowed","isRemakeAllowed","cartDetails","copyOrEditService","copyOrEditData","urlOperationType","urlOrderId","urlSerialNumber","urlOrderType","urlNaural","makeStore","userReducer","dispatchContext","createContext","storeContext","JSON","parse","sessionStorage","getItem","_unused","console","warn","reducer","action","newState","setItem","stringify","_ref","_useReducer2","useReducer","store","dispatch","Provider","useContext","isRequired","_makeStore","currentState","type","payload","_payload$fitterContac","serialNo","VERIFIED","isNullOrEmptyString","fitterName","text","fitterEmail","phone","fitterPhoneNo","contactNo","fitterContactNo","status","isWarrantyExpiring","_currentState","subCode","fitter","concat","_makeStore2","ServiceOrderProvider","useServiceOrderState","useServiceOrderDispatch","ServiceOrderOptionsSpot","_state$viewState$code","history","translations","optionsSpotLabelText","getTranslation","SERVICE_ORDER_OPTIONS_SPOT_LABEL_TEXT","expressExchangeLabelText","SERVICE_ORDER_OPTIONS_SPOT_EXPRESS_EXCHANGE_LABEL_TEXT","repairLabelText","SERVICE_ORDER_OPTIONS_SPOT_REPAIR_LABEL_TEXT","speakerReplacementLabelText","SERVICE_ORDER_OPTIONS_SPOT_SPEAKER_REPLACEMENT_LABEL_TEXT","replacementLabelText","SERVICE_ORDER_OPTIONS_SPOT_REPLACEMENT_LABEL_TEXT","serviceOrderOptions","EXCHANGE","code","SPEAKER_REPLACE","REPAIR","REPLACE","className","label","selectedValue","items","arrangeVertically","onValueChange","loc","entries","find","_ref3","_loc$target","target","replace","path","_appState$orderDetail","_appState$orderDetail2","_appState$orderDetail3","_appState$orderDetail4","_appState$orderDetail5","_appState$orderDetail6","appState","_useApi2","useApi","sellTo","A","serviceOrder","getShippingInformation","shippingInformation","isLoading","billTos","setBillTos","sellTos","setSellTos","_useState6","poNumber","setPoNumber","_useState8","billTo","defaultBillTo","selectedBillTo","setSelectedBillTo","_useState10","defaultSellTo","selectedSellTo","setSelectedSellTo","_useState12","forceValidation","setForceValidation","useEffect","isPONumberMandatory","_useValidation2","useValidation","validator","validationErrors","accounts","map","bt","billToId","billToLabel","selectedBillToAccount","account","st","sellToId","sellToLabel","sellToInfo","btst","customerId","billToInfo","shippingAddress","shippingAddresses","classnames","show","contentBlur","backgroundStyle","addressLine2","addressLine1","city","county","postalCode","renderAddress","showFloatLabel","addBlankItem","dataset","billToAddress","nameLine1","sellToAddress","preventDefault","inputValue","helpTextHTML","showHelpText","icons","expired","ServiceOrderWarrantyDownloadServiceFormButtonText","SERVICE_ORDER_WARRANTY_DOWNLOAD_SERVICE_FORM_BUTTON_TEXT","ServiceOrderWarrantyExpirationDateLabel","SERVICE_ORDER_WARRANTY_EXPIRATION_DATE_LABEL","ServiceOrderWarrantyExpiredWarningMessage","SERVICE_ORDER_WARRANTY_EXPIRED_WARNING_MESSAGE","ServiceOrderWarrantyExtendedWarrantyCoverageLabel","SERVICE_ORDER_WARRANTY_EXTENDED_WARRANTY_COVERAGE_LABEL","ServiceOrderWarrantyExtendWarrantyButtonLabel","SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_BUTTON_LABEL","ServiceOrderWarrantyExtendWarrantyLaterButtonLabel","SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_LATER_BUTTON_LABEL","ServiceOrderWarrantyExtendWarrantySectionInstructionText","SERVICE_ORDER_WARRANTY_EXTEND_WARRANTY_SECTION_INSTRUCTION_TEXT","ServiceOrderWarrantyGetRepairQuoteButtonText","SERVICE_ORDER_WARRANTY_GET_REPAIR_QUOTE_BUTTON_TEXT","ServiceOrderWarrantyStatusLabel","SERVICE_ORDER_WARRANTY_STATUS_LABEL","ServiceOrderWarrantyServiceChargeMessage","SERVICE_ORDER_WARRANTY_SERVICE_CHARGE_MESSAGE","ServiceOrderWarrantyServiceChargeTooltip","SERVICE_ORDER_WARRANTY_SERVICE_CHARGE_TOOLTIP","showWarrantySelector","setShowWarrantySelector","hasExtendedWarrantyOptions","setHasExtendedWarrantyOptions","allowedWarrantyItems","warrantyHistory","allowedWarranty","getAllowedWarrantyItems","warranty","price","canSeePrice","itemNo","description","handleWarrantySelection","warrantyItem","warrantyEndDate","format","tooltip","showArrow","colorVariant","WHITE","position","RIGHT","onClick","window","location","renderWarrantyExpiredOptions","view","_appState$extendedWar","renderExtendedWarrantySelections","_deviceInfo$circuit","_deviceInfo$selectedC","_deviceInfo$selectedC2","colorChange","selectedColor","setSelectedColor","productInformationNotice","SERVICE_ORDER_EXPRESS_EXCHANGE_PRODUCT_INFORMATION_NOTICE","model","style","circuit","color","rgbCode","availableColors","dangerouslySetInnerHTML","__html","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","selectedFitter","setSelectedFitter","selectedFitterInfo","setSelectedFitterInfo","findFitter","desiredFitter","isNullOrEmptyObject","tempHcp","forceable","_moment$format","_appState$deviceInfo","endUserName","patientAge","medicaidId","purchaseDate","warrantyStartDate","AddToCartButtons","handleQuoteButtonClick","handleSaveButtonClick","disabled","comments","setComments","saveComments","useCallback","useDebounce","id","cols","rows","placeholder","maxLength","onChange","onBlur","tacIsVisible","setTacIsVisible","agreedToTerms","setAgreedToTerms","checked","htmlFor","setSelectedServiceCode","showErrorModal","setShowErrorModal","order","addExpressExchangeToCart","addToCart","addToCartResponse","savingToCart","addToCartError","navigateToCartDetails","saveExpressExchange","hasErrors","some","document","querySelector","scrollIntoView","behavior","formattedOrder","serviceCode","ear","currentColor","colorCode","exchangeColor","warrantyStatus","fitterInformation","fitterPhoneNumber","isPOMandatory","specialInstrunctions","patientInformation","patientName","age","invoiceDate","fittingDate","warranties","itemNumber","ProductInformationSection","isOpen","types","okOnly","onOkClick","okLabel","Drafts","drafts","errorMsg","handleRemoveDraft","handleRestoreDraft","response","SavedDraftsNoSavedDraftsText","val","draft","cartId","orderType","isNullOrEmptyArray","flat","setDrafts","showRemoveModal","setShowRemoveModal","showRestoreModal","setShowRestoreModal","currentDraftId","setCurrentDraftId","currentDraftOrderType","setCurrentDraftOrderType","getServiceOrderDrafts","draftsRequest","draftsResponse","draftsLoading","draftsError","_useApi4","continueServiceOrderDraft","restoreDraftRequest","restoreDraftResponse","restoreDraftLoading","restoreDraftError","_useApi6","draftId","removeServiceOrderDraft","removeRequest","removeResponse","removeLoading","removeError","draftErrors","setDraftErrors","_useState14","draftErrorMsg","setDraftErrorMsg","SAVED_DRAFTS_NO_SAVED_DRAFTS_TEXT","SavedDraftsRemoveErrorMsg","SAVED_DRAFTS_REMOVE_ERROR_MSG","SavedDraftsRemoveModalHeading","SAVED_DRAFTS_REMOVE_MODAL_HEADING","SavedDraftsRemoveModalText","SAVED_DRAFTS_REMOVE_MODAL_TEXT","SavedDraftsRestoreErrorMsg","SAVED_DRAFTS_RESTORE_ERROR_MSG","SavedDraftsRestoreModalHeading","SAVED_DRAFTS_RESTORE_MODAL_HEADING","SavedDraftsRestoreModalText","SAVED_DRAFTS_RESTORE_MODAL_TEXT","SavedDraftsRetrieveDraftsErrorMsg","SAVED_DRAFTS_RETRIEVE_DRAFTS_ERROR_MSG","serviceOrderType","expressExchangeOrders","_drafts","_draft$expressExchang","expressExchangeOrderDetails","speakerReplacementOrders","spdrafts","_draft$speakerReplace","speakerReplacementOrderDetails","repairOrders","rpdrafts","_draft$repairOrderDet","repairOrderDetails","onCancelClick","okCancel","cancelLabel","_useCheckCartContents","allowedItems","allowedTypes","setAllowedTypes","cartIsEmpty","setCartIsEmpty","useDebugValue","cartIsValid","setCartIsValid","cart","getCart","cartResponse","ordersInCart","Set","values","entry","_cartResponse$entry","_cartResponse$entry2","add","includes","size","hasOrderType","contains","bulkOrder","productOrder","patientOrder","expressExchangeOrder","speakerReplacementOrder","repairOrder","getDetails","apiVerifySerial","apiResponse","apiError","numAttempts","setNumAttempts","setResponse","setError","deviceType","OTHER_CLINIC_PURCHASE","THIRD_PARTY_PURCHASE","UNKNOWN_ERROR","isSerialNumberInProcessForService","USED_SERIAL_NUMBER","TOO_MANY_ATTEMPTS","NOT_FOUND","serialsInCart","trim","toUpperCase","has","DUPLICATE_IN_CART","BLANK_SERIAL","setAccountInformation","token","getTokenDetails","getAccountBillToRelation","loading","accountInfo","defaultBillToId","defaultSellToId","isDefault","userManagement","getUserData","usersList","item","userMap","Map","fitters","set","loginId","usersLists","setSpeakers","filteredSpeakers","setFilteredSpeakers","selectedSide","setSelectedSide","selectedSpeaker","setSelectedSpeaker","accessory","get","getSpeakers","getSpeakersResponse","speakerDetails","speaker","replacedSpeakerDescription","optionDescription","replacedSpeakerItemNumber","replacedSpeakerSide","kitItemNo","filtered","toLowerCase","event","getAttribute","addSpeakerReplacementOrder","saveSpeakerReplacementOrder","deviceItemNumber","currentSpeakerDescription","currentSpeakerItemNumber","_appState$orderDetail7","_appState$orderDetail8","_appState$orderDetail9","_appState$orderDetail10","_products$bteProductI","_products$bteProductI2","_products$bteProductI3","_products$bteProductI4","speakerItemNumber","domeItemNo","selectedDome","setSelectedDome","domes","setDomes","getDomes","getDomesResponse","aidType","getRepairProductInformation","getProdInfoBte","getProdInfoBteResponse","_useState16","products","setProducts","_useState18","excludeSpeaker","excludeSpeakerOption","setExcludeSpeakerOption","_useState20","excludeDome","excludeDomeOption","setExcludeDomeOption","addSpeakers","US_BULKORDER_ADD_SPEAKERS","excludeSpeakers","US_BULKORDER_EXCLUDE_SPEAKERS","addDomes","US_BULKORDER_ADD_DOMES","excludeDomes","US_BULKORDER_EXCLUDE_DOMES","speakerOrCordaOptions","domeOptions","validateSpeaker","domeValidations","_useValidation4","domeValidator","domeValidationErrors","isValidDome","speakerDescription","speakerSide","domeDetails","dm","domeDescription","categoryCode","bteProductInfo","domeClassnames","_appState$orderDetail11","toggleSpeaker","dome","toggleDome","_appState$deviceInfo3","_appState$deviceInfo4","_appState$deviceInfo5","features","setFeatures","setLocalFeatures","serial","getFeatures","getFeaturesResponse","feature","salesItemNo","updateRepairProductInformation","updateFeatures","updateFeaturesResponse","updatesLoading","updateFeaturesError","iteProductInfo","localOptions","iteProductInformation","_feature$values$find$","_feature$values$find","comment","featureValue","valueId","addBlankItems","featureId","_appState$deviceInfo2","featuresCopy","featureIndex","valuesCopy","variableId","findIndex","v","excludeSpeakerOrCorda","ServiceOrderImpressionSelector","selectedType","isValidOtoscan","showOtoscanMessage","showSpinner","otoscanPackageId","impressionOnFile","isDuplicate","left","isExpired","showMessage","right","stlOtiscanLimitation","CLIENTORDERSTEP3_IMPRESSIONS_STL_OTISCAN_LIMITATION","sendingImpressionSeparate","CLIENTORDERSTEP3_IMPRESSIONS_SEND_SEPARATE","impressionIsMandatoryErrorMsg","CLIENT_ORDERSTEP_3_IMPRESSION_IS_MANDATORY_ERROR_MSG","selectImpressionTextLeft","SERVICE_ORDER_IMPRESSIONS_SELECT_IMPRESSION_TEXT","selectImpressionTextRight","CLIENTORDERSTEP3_SELECT_IMPRESSION_TEXT_RIGHT","selectFileButtonLabel","CLIENTORDERSTEP3_SELECT_FILE_BUTTON_LABEL","chooseFileLabel","CLIENTORDERSTEP3_CHOOSE_FILE_LABEL","impressionsSectionHeaderText","CLIENTORDERSTEP3_IMPRESSIONS_SECTION_HEADER_TEXT","impressionsCheckboxImpressionsLabel","CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_IMPRESSIONS_LABEL","impressionsCheckboxOtoscanIdLabel","CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_OTOSCAN_ID_LABEL","impressionsCheckboxImpressionOnFileLabel","CLIENTORDERSTEP3_IMPRESSIONS_CHECKBOX_IMPRESSION_ON_FILE_LABEL","impressionsEnterOtoscanTextboxLabel","CLIENTORDERSTEP3_IMPRESSIONS_ENTER_OTOSCAN_TEXTBOX_LABEL","impressionsEnterLeftImpressionOnFileTextboxLabel","SERVICE_ORDER_IMPRESSIONS_ENTER_IMPRESSION_ON_FILE_TEXTBOX_LABEL","impressionsEnterRightImpressionOnFileTextboxLabel","CLIENTORDERSTEP3_IMPRESSIONS_ENTER_RIGHT_IMPRESSION_ON_FILE_TEXTBOX_LABEL","impressionsEnterYourSerialNoPlaceholder","CLIENTORDERSTEP3_IMPRESSIONS_ENTER_YOUR_SERIAL_NO_PLACEHOLDER","impressionsValidOtoscanMessage","CLIENTORDERSTEP3_VALID_OTOSCAN_MESSAGE","impressionsInvalidOtoscanMessage","CLIENTORDERSTEP3_INVALID_OTOSCAN_MESSAGE","impressionsValidImpressionsOnFileMessage","CLIENTORDERSTEP3_VALID_IMPRESSION_ON_FILE_MESSAGE","impressionsInvalidImpressionsOnFileMessage","CLIENTORDERSTEP3_INVALID_IMPRESSION_ON_FILE_MESSAGE","impressionsExpiredImpressionsOnFileMessage","CLIENTORDERSTEP3_EXPIRED_IMPRESSION_ON_FILE_MESSAGE","impressionsDuplicateImpressionsOnFileMessage","CLIENTORDERSTEP3_DUPLICATE_IMPRESSION_ON_FILE_MESSAGE","otoscanIdFieldRef","leftImpressionFieldRef","rightImpressionFieldRef","leftImpressionOnFileFieldRef","rightImpressionOnFileFieldRef","deleteImpressionImage","_createClass","serviceOrderImpressions","_this$state","detailsLeft","impressionImage","detailsRight","earScanPackageId","setState","_this$props","handleSendImpressionSeparate","removeOtoscanID","clearImpressionImages","clearImpressionsOnFile","hasLeftImpression","hasRightImpression","hasLeftImpressionOnFile","hasRightImpressionOnFile","removeImpressionOnFile","side","_this$props2","deleteBinauralImpressionImages","setImpressionFile","current","_this2","_this$props3","setOtoscanPackageId","validateOtoscanImpression","clientOrderId","then","_this3","_this$props4","setImpressionOnFile","leftSideEnabled","rightSideEnabled","leftImpressionInputText","rightImpressionInputText","isBinaural","validateImpressionOnFile","leftIsValid","leftSerialNumber","rightIsValid","rightSerialNumber","catch","err","_this4","_this$props5","leftSerial","rightSerial","_this5","_this$props6","currentTarget","uploadImpressionFiles","_this6","_this$props7","impressionFiles","onSubmit","accept","ref","files","valid","file","role","_this7","onOtoscanTextFieldChange","onKeyUp","validateOtoscanID","renderValidationMessage","_this8","_this$props8","onImpressionOnFileTextFieldChange","renderImpressionOnFileValidationMessage","_this9","_this$props9","isImpressionMandatory","showError","onToggleSelection","renderImpressionImages","renderOtoscan","renderImpressionOnFile","renderImpressionSeparate","ImpressionFilesSection","_appState$earScanPack","_appState$detailsLeft","_appState$detailsLeft2","_appState$detailsLeft3","_appState$detailsLeft4","_appState$sendImpress","setImpressionFiles","sendImpressionsSeparate","setServiceOrderImpressions","validateFile","substr","lastIndexOf","onlyStlFiles","maxFileSizeDescription","updatedOrder","newImpressions","clientOrder","impression","leftFile","rightFile","updateImpressionImages","leftFileName","packageId","clearPackageId","impressions","clearId","isSelected","addRepairOrderToCart","serviceOrderSymptomCodes","getQuote","navigate","saveRepairOrder","_orderDetails$earScan","_orderDetails$details","_orderDetails$details2","_orderDetails$details3","_orderDetails$details4","_orderDetails$sendImp","formattedServiceCodes","category","bteHearingData","quantity","iteHearingData","moldData","wirelessAccessoryInfoDTO","impressionFileSerialNumber","impressionFileName","sendImpressionSeparate","symptomListData","renderFormElements","speakerOption","setSpeakerOption","shellColor","setShellColor","ventType","setVentType","earpieceVent","setEarpieceVent","fittingLevel","setFittingLevel","otherOption","setOtherOption","colorLabel","SHARED_COLOR_SELECT_LABEL","saveRemakeOrder","getSymptomCodes","codesResponse","codesLoading","setSymptomCodes","selectedCategories","setSelectedCategories","selectedCodes","setSelectedCodes","remakeCodeList","setRemakeCodeList","notFunctioning","brokenDamaged","soundQuality","wirelessAccessoryRepair","remakeModifications","isRemake","symptomCode","REMAKE","repairCodes","codes","routingType","categoryText","filterCodes","isFeatureFlagEnabled","CAN_SEE_REPAIR_SERVICE","CAN_SEE_REMAKE_SERVICE","header","classes","evt","categories","delete","handleOnCategoryChange","_selectedCodes$header","_selectedCodes$header2","selected","handleOnSymptomCodeChange","symptomName","SIX","selection","setSelection","isDevicePastCutoff","Date","diff","ServiceQuoteSelectOptionText","SERVICE_QUOTE_SELECT_OPTION_TEXT","ServiceQuoteSixMonthOptionText","SERVICE_QUOTE_SIX_MONTH_OPTION_TEXT","ServiceQuoteTwelveMonthOptionText","SERVICE_QUOTE_TWELVE_MONTH_OPTION_TEXT","quoteOptions","TWELVE","quoteType","showForm","setShowForm","EventBus","DGS","Event","getInstance","WdhServiceOrderSpot","_WDHComponent","component","shopInitReady","renderComponent","on","SHOP_INIT_READY","pathname","subPathIndex","indexOf","basename","ServiceOrderSpot","serviceOrderHeaderText","SERVICE_ORDER_HEADER_TEXT","serviceOrderDescription","SERVICE_ORDER_DESCRIPTION_TEXT","serviceOrderMessageCta","SERVICE_ORDER_HOME_PAGE_MESSAGE_CTA_TEXT","serialNoText","SERVICE_ORDER_SERIAL_NO_TEXT","enterText","SERVICE_ORDER_BUTTON_ENTER_TEXT","serialCheckVerified","SERVICE_ORDER_VALIDATION_VERIFIED_MESSAGE","serialCheckNotFound","SERVICE_ORDER_VALIDATION_NOT_FOUND_MESSAGE","serialCheckTooOld","SERVICE_ORDER_VALIDATION_TOO_OLD_MESSAGE","serialCheckTooManyAttempts","SERVICE_ORDER_VALIDATION_TOO_MANY_ATTEMPTS_MESSAGE","serialCheckTooManyAttemptsCTA","SERVICE_ORDER_VALIDATION_TOO_MANY_ATTEMPTS_CTA","serviceOrderValidationDuplicateInCart","SERVICE_ORDER_VALIDATION_DUPLICATE_IN_CART","serviceOrderValidationCannotBeBlank","SERVICE_ORDER_VALIDATION_CANNOT_BE_BLANK","serviceOrderValidationIncorrect","SERVICE_ORDER_VALIDATION_INCORRECT","serviceOrderValidationUnknownError","SERVICE_ORDER_VALIDATION_UNKNOWN_ERROR","serviceOrderValidationThirdPartyPurchaseCta","SERVICE_ORDER_VALIDATION_THIRD_PARTY_PURCHASE_CTA","serviceOrderValidationOtherClinicPurchase","SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE","serviceOrderValidationOtherClinicPurchaseCtaOptionYes","SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE_CTA_OPTION_YES","serviceOrderValidationOtherClinicPurchaseCtaOptionNo","SERVICE_ORDER_VALIDATION_OTHER_CLINIC_PURCHASE_CTA_OPTION_NO","serviceOrderValidationUsedSerialNumber","SERVICE_ORDER_VALIDATION_USED_SERIAL_NUMBER","setSerialNo","displayCartConflictModal","setDisplayCartConflictModal","isVerified","useCheckCartContents","cartContentsIsEmpty","cartContentsIsValid","cartIsLoading","_useVerifySerial2","verifySerial","verifySerialResponse","serialCheckLoading","_useAccountInformatio2","accountInfoLoading","_useHCPInformation2","hcpInfoLoading","setSerialsInCart","clearSerialNumber","verifySerialNumber","serialNumbersInCart","soConfig","orders","ordersPath","orderLines","orderDetailsPath","getParameterByName","SERIAL_NUMBER","colors","availableColorList","index","colorName","CAN_SEE_EXPRESS_EXCHANGE_SERVICE","CAN_SEE_SPEAKER_REPLACEMENT_SERVICE","ORDER_ID","OPERATION_TYPE","ORDER_TYPE","NAURAL","fullName","orderItem","_orderItem$bteHearing2","_orderItem$bteHearing3","_speakerDetails$","_orderItem$bteHearing4","_orderItem$bteHearing5","_orderItem$bteHearing6","_orderItem$bteHearing7","_orderItem$bteHearing8","_orderItem$bteHearing9","_orderItem$bteHearing10","_orderItem$bteHearing11","_orderItem$symptomLis","_orderItem$symptomLis2","_orderItem$symptomLis3","_orderItem$symptomLis4","_orderItem$symptomLis5","_orderItem$bteHearing","bteHearingAidData","orderDetailsInfo","_orderItem$bteHearing13","_orderItem$bteHearing14","_speakerDetails$2","_orderItem$bteHearing15","_orderItem$bteHearing16","_orderItem$bteHearing17","_orderItem$bteHearing18","_orderItem$symptomLis6","_orderItem$symptomLis7","_orderItem$symptomLis8","_orderItem$symptomLis9","_orderItem$symptomLis10","_orderItem$bteHearing12","ctaMessage","isError","SERIAL_INCORRECT","cta","renderSerialCheckStatusMessage","exact","deleteAll","removeClientOrders","trigger","REFRESH_CART_COUNT","run","GeneralError","generalErrorHeader","SHARED_ERRORHEADER","generalErrorMessage","SHARED_ERRORMESSAGE","errorButton","SHARED_ERRORBUTTON","navigateToShopFrontPage","isNullObject","area","correlationId","renderError","timestamp","fn","resolve","deps","setLoading","request","cancelled","resp"],"sourceRoot":""}