{"version":3,"file":"js/766-58f1070b855bbb9571f7.js","mappings":"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,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,mCAER,CACEnE,GAAI,MACJmE,KAAM,oCAER,CACEnE,GAAI,MACJmE,KAAM,0BAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,kCAER,CACEnE,GAAI,MACJmE,KAAM,qBAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,gBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,kBAER,CACEnE,GAAI,MACJmE,KAAM,4BAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,oBAER,CACEnE,GAAI,MACJmE,KAAM,2BAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,yCAER,CACEnE,GAAI,MACJmE,KAAM,gBAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,oBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,kBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,sBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,qBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,+BAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,oBAER,CACEnE,GAAI,MACJmE,KAAM,+BAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,qCAER,CACEnE,GAAI,MACJmE,KAAM,iCAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,6BAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,0CAER,CACEnE,GAAI,MACJmE,KAAM,sBAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,oCAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,8CAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,oBAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,mCAER,CACEnE,GAAI,MACJmE,KAAM,wBAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,iBAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,kBAER,CACEnE,GAAI,MACJmE,KAAM,4BAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,mCAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,oBAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,sBAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,uBAER,CACEnE,GAAI,MACJmE,KAAM,gDAER,CACEnE,GAAI,MACJmE,KAAM,yBAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,8BAER,CACEnE,GAAI,MACJmE,KAAM,6BAER,CACEnE,GAAI,MACJmE,KAAM,oCAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,yBAER,CACEnE,GAAI,MACJmE,KAAM,gBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,gBAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,6BAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,mBAER,CACEnE,GAAI,MACJmE,KAAM,WAER,CACEnE,GAAI,MACJmE,KAAM,gBAER,CACEnE,GAAI,MACJmE,KAAM,gDAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,SAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,0BAER,CACEnE,GAAI,MACJmE,KAAM,aAER,CACEnE,GAAI,MACJmE,KAAM,UAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,wBAER,CACEnE,GAAI,MACJmE,KAAM,6BAER,CACEnE,GAAI,MACJmE,KAAM,cAER,CACEnE,GAAI,MACJmE,KAAM,gCAER,CACEnE,GAAI,MACJmE,KAAM,YAER,CACEnE,GAAI,MACJmE,KAAM,eAER,CACEnE,GAAI,MACJmE,KAAM,QAER,CACEnE,GAAI,MACJ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","sources":["webpack://epos-atc-headset-configurator/./app/javascript/constants.jsx","webpack://epos-atc-headset-configurator/./app/javascript/actions.jsx","webpack://epos-atc-headset-configurator/./app/javascript/cartSelector.jsx","webpack://epos-atc-headset-configurator/./app/javascript/components/AccessoryInfo/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/AddOnSelect/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/Buttons/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/CableCardWithDropdown/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/data/countries.jsx","webpack://epos-atc-headset-configurator/./app/javascript/components/CustomerDetailsModal.jsx","webpack://epos-atc-headset-configurator/./app/javascript/components/Dropdown/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/Header/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/HeadsetCard/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/InputField/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/OrderDetails/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/OrderDetailsVisual/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/ProgressBar/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/ProgressFooter/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/PttCard/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/PttCardWithDropdown/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/StepHeader.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/TextArea/index.tsx","webpack://epos-atc-headset-configurator/./app/javascript/components/Tooltip.tsx","webpack://epos-atc-headset-configurator/./app/javascript/helpers/IncompatibilityHelper.js","webpack://epos-atc-headset-configurator/./app/javascript/hooks/useWindowWidth.tsx","webpack://epos-atc-headset-configurator/./app/javascript/utils/getFooterArray.ts"],"sourcesContent":["export const API_URL = \"/api\"\n","import fetch from \"cross-fetch\"\nimport { API_URL } from \"./constants\"\n\nexport const REQUEST_HEADSET_SERIES = \"REQUEST_HEADSET_SERIES\"\nexport const RECEIVE_HEADSET_SERIES = \"RECEIVE_HEADSET_SERIES\"\nexport const SELECT_HEADSET_SERIES = \"SELECT_HEADSET_SERIES\"\n\nexport const REQUEST_HEADSETS = \"REQUEST_HEADSETS\"\nexport const RECEIVE_HEADSETS = \"RECEIVE_HEADSETS\"\nexport const SELECT_HEADSET = \"SELECT_HEADSET\"\n\nexport const REQUEST_TOP_CABLES = \"REQUEST_TOP_CABLES\"\nexport const RECEIVE_TOP_CABLES = \"RECEIVE_TOP_CABLES\"\nexport const SELECT_TOP_CABLE = \"SELECT_TOP_CABLE\"\n\nexport const REQUEST_PTT_SERIES = \"REQUEST_PTT_SERIES\"\nexport const RECEIVE_PTT_SERIES = \"RECEIVE_PTT_SERIES\"\nexport const SELECT_PTT_SERIES = \"SELECT_PTT_SERIES\"\n\nexport const REQUEST_PTTS = \"REQUEST_PTTS\"\nexport const RECEIVE_PTTS = \"RECEIVE_PTTS\"\nexport const SELECT_PTT = \"SELECT_PTT\"\n\nexport const REQUEST_BOTTOM_CABLES = \"REQUEST_BOTTOM_CABLES\"\nexport const RECEIVE_BOTTOM_CABLES = \"RECEIVE_BOTTOM_CABLES\"\nexport const SELECT_BOTTOM_CABLE = \"SELECT_BOTTOM_CABLE\"\n\nexport const REQUEST_CABLE_WITHOUT_PTTS = \"REQUEST_CABLE_WITHOUT_PTTS\"\nexport const RECEIVE_CABLE_WITHOUT_PTTS = \"RECEIVE_CABLE_WITHOUT_PTTS\"\nexport const SELECT_CABLE_WITHOUT_PTT = \"SELECT_CABLE_WITHOUT_PTT\"\n\nexport const REQUEST_PLUGS = \"REQUEST_PLUGS\"\nexport const RECEIVE_PLUGS = \"RECEIVE_PLUGS\"\nexport const SELECT_PLUG = \"SELECT_PLUG\"\n\nexport const REQUEST_STEP_SKIPPERS = \"REQUEST_STEP_SKIPPERS\"\nexport const RECEIVE_STEP_SKIPPERS = \"RECEIVE_STEP_SKIPPERS\"\n\nexport const REQUEST_INCOMPATIBILITIES = \"REQUEST_INCOMPATIBILITIES\"\nexport const RECEIVE_INCOMPATIBILITIES = \"RECEIVE_INCOMPATIBILITIES\"\n\nexport const SET_PLUG_CONFIGURATION = \"SET_PLUG_CONFIGURATION\"\nexport const RESET_PLUG_CONFIGURATION = \"RESET_PLUG_CONFIGURATION\"\nexport const INQUIRY_SUBMITTED = \"INQUIRY_SUBMITTED\"\n\nexport const RESET_CART = \"RESET_CART\"\n\nexport const SET_HEADSET_FILTER = \"SET_HEADSET_FILTER\"\nexport const SET_PTT_FILTER = \"SET_PTT_FILTER\"\n\nexport const UPDATE_CUSTOMER_DETAILS = \"UPDATE_CUSTOMER_DETAILS\"\nexport const RESET_CUSTOMER_DETAILS = \"RESET_CUSTOMER_DETAILS\"\n\nexport const setPTTFilter = (filter) => (dispatch) => {\n dispatch({\n type: SET_PTT_FILTER,\n filter,\n })\n}\n\nexport const setHeadsetFilter = (filtering) => (dispatch) => {\n dispatch({\n type: SET_HEADSET_FILTER,\n filtering,\n })\n}\n\nexport const fetchHeadsetSeries = () => (dispatch) => {\n return fetch(`${API_URL}/headset_series.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveHeadsetSeries(json)))\n}\n\nconst receiveHeadsetSeries = (items) => ({\n type: RECEIVE_HEADSET_SERIES,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectHeadsetSeries = (selectedHeadsetSeriesId) => (dispatch) => {\n dispatch({\n type: SELECT_HEADSET_SERIES,\n selectedHeadsetSeriesId,\n })\n return Promise.resolve()\n}\n\nexport const fetchHeadsets =\n (headsetSeriesId = null) =>\n (dispatch) => {\n const url = headsetSeriesId\n ? `${API_URL}/headsets?headset_series_id=${headsetSeriesId}.json`\n : `${API_URL}/headsets`\n\n return fetch(url)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveHeadsets(json)))\n }\n\nconst receiveHeadsets = (items) => ({\n type: RECEIVE_HEADSETS,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectHeadset = (selectedHeadsetId) => (dispatch) => {\n dispatch({\n type: SELECT_HEADSET,\n selectedHeadsetId,\n })\n return Promise.resolve()\n}\n\nexport const fetchTopCables = () => (dispatch) => {\n return fetch(`${API_URL}/top_cables.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveTopCables(json)))\n}\n\nconst receiveTopCables = (items) => ({\n type: RECEIVE_TOP_CABLES,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectTopCable = (selectedTopCableId) => (dispatch) => {\n dispatch({\n type: SELECT_TOP_CABLE,\n selectedTopCableId,\n })\n return Promise.resolve()\n}\n\nexport const fetchPttSeries = () => (dispatch) => {\n return fetch(`${API_URL}/ptt_series.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receivePttSeries(json)))\n}\n\nconst receivePttSeries = (items) => ({\n type: RECEIVE_PTT_SERIES,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectPttSeries = (selectedPttSeriesId) => (dispatch) => {\n dispatch({\n type: SELECT_PTT_SERIES,\n selectedPttSeriesId,\n })\n return Promise.resolve()\n}\n\nexport const fetchPtts =\n (pttSeriesId = null) =>\n (dispatch) => {\n const url = pttSeriesId\n ? `${API_URL}/ptts?ptt_series_id=${pttSeriesId}.json`\n : `${API_URL}/ptts`\n\n return fetch(url)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receivePtts(json)))\n }\n\nconst receivePtts = (items) => ({\n type: RECEIVE_PTTS,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectPtt = (selectedPttId) => (dispatch) => {\n dispatch({\n type: SELECT_PTT,\n selectedPttId,\n })\n return Promise.resolve()\n}\n\nexport const fetchBottomCables = () => (dispatch) => {\n return fetch(`${API_URL}/bottom_cables.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveBottomCables(json)))\n}\n\nconst receiveBottomCables = (items) => ({\n type: RECEIVE_BOTTOM_CABLES,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectBottomCable = (selectedBottomCableId) => (dispatch) => {\n dispatch({\n type: SELECT_BOTTOM_CABLE,\n selectedBottomCableId,\n })\n return Promise.resolve()\n}\n\nexport const fetchCableWithoutPtts = () => (dispatch) => {\n return fetch(`${API_URL}/cable_without_ptts.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveCableWithoutPtts(json)))\n}\n\nconst receiveCableWithoutPtts = (items) => ({\n type: RECEIVE_CABLE_WITHOUT_PTTS,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectCableWithoutPtt =\n (selectedCableWithoutPttId) => (dispatch) => {\n dispatch({\n type: SELECT_CABLE_WITHOUT_PTT,\n selectedCableWithoutPttId,\n })\n return Promise.resolve()\n }\n\nexport const fetchPlugs = () => (dispatch) => {\n return fetch(`${API_URL}/plugs.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receivePlugs(json)))\n}\n\nconst receivePlugs = (items) => ({\n type: RECEIVE_PLUGS,\n items,\n receivedAt: Date.now(),\n})\n\nexport const selectPlug =\n (selectedPlugId, customSpecification = undefined) =>\n (dispatch) => {\n dispatch({\n type: SELECT_PLUG,\n selectedPlugId,\n customSpecification,\n })\n return Promise.resolve()\n }\n\nexport const fetchStepSkippers = () => (dispatch) => {\n return fetch(`${API_URL}/step_skippers.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveStepSkippers(json)))\n}\n\nconst receiveStepSkippers = (items) => ({\n type: RECEIVE_STEP_SKIPPERS,\n items,\n receivedAt: Date.now(),\n})\n\nexport const fetchIncompatibilities = () => (dispatch) => {\n return fetch(`${API_URL}/incompatibilities.json`)\n .then(\n (response) => response.json(),\n (error) => console.log(\"An error occurred.\", error),\n )\n .then((json) => dispatch(receiveIncompatibilities(json)))\n}\n\nconst receiveIncompatibilities = (items) => ({\n type: RECEIVE_INCOMPATIBILITIES,\n items,\n receivedAt: Date.now(),\n})\n\nexport const setPlugConfiguration = (plugConfiguration) => (dispatch) => {\n dispatch({\n type: SET_PLUG_CONFIGURATION,\n payload: plugConfiguration,\n })\n return Promise.resolve()\n}\n\nexport const submitInquiry = (inquiry) => (dispatch) => {\n return fetch(`${API_URL}/inquiries.json`, {\n method: \"post\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n inquiry: inquiry,\n }),\n }).then((response) => {\n console.log(\"RESPONSE FROM SUBMIT INQUIRY\", response)\n dispatch(inquirySubmitted(response))\n })\n}\n\nconst inquirySubmitted = (response) => ({\n type: INQUIRY_SUBMITTED,\n response,\n})\n\nexport const resetCart = () => (dispatch) => {\n dispatch({\n type: RESET_CART,\n })\n return Promise.resolve()\n}\n\nexport const resetPlugConfiguration = () => (dispatch) => {\n dispatch({\n type: RESET_PLUG_CONFIGURATION,\n })\n return Promise.resolve()\n}\n\nexport const updateCustomerDetails = (values) => (dispatch) => {\n dispatch({\n type: UPDATE_CUSTOMER_DETAILS,\n payload: values,\n })\n}\nexport const resetCustomerDetails = () => (dispatch) => {\n dispatch({\n type: RESET_CUSTOMER_DETAILS,\n })\n}\n","import { createSelector } from \"reselect\"\nimport plugImage from \"images/ATC-Generic-Connector.png\"\nimport { map, toPairs, join, merge, find } from \"ramda\"\n\nconst objToS = ([key, value]) => `* ${key}: ${value}`\n\nconst convertToCartItem = (plugConfiguration) => ({\n name: \"\",\n description: join(\"\\n\", map(objToS, toPairs(plugConfiguration))) || undefined,\n htmlDescription:\n join(\"
\", map(objToS, toPairs(plugConfiguration))) || undefined,\n image_url: plugImage,\n})\n\nconst addTitle = (title, obj) => merge(obj, { title })\n\nconst getHeadsetSeries = (state) => state.headsetSeries\nconst getHeadsets = (state) => state.headsets\nconst getTopCables = (state) => state.topCables\nconst getPttSeries = (state) => state.pttSeries\nconst getPtts = (state) => state.ptts\nconst getBottomCables = (state) => state.bottomCables\nconst getCableWithoutPtts = (state) => state.cableWithoutPtts\nconst getPlugs = (state) => state.plugs\nconst getCartIds = (state) => state.cartIds\nconst getPlugConfiguration = (state) => state.plugConfiguration\n\nconst findItem = (id, list) => find((item) => item.id == id, list)\nconst customPlugItem = (cartIds) => {\n return {\n name: \"Custom Plug\",\n description: cartIds.customPlugSpecification,\n // Missing custom plug image\n }\n}\n\nexport const getCart = createSelector(\n [\n getHeadsetSeries,\n getHeadsets,\n getTopCables,\n getPttSeries,\n getPtts,\n getBottomCables,\n getCableWithoutPtts,\n getPlugs,\n getCartIds,\n getPlugConfiguration,\n ],\n (\n headsetSeries,\n headsets,\n topCables,\n pttSeries,\n ptts,\n bottomCables,\n cableWithoutPtts,\n plugs,\n cartIds,\n plugConfiguration,\n ) => ({\n headsetSeries: addTitle(\n \"Headset Series\",\n findItem(cartIds.headsetSeriesId, headsetSeries.items),\n ),\n headset: addTitle(\"Headset\", findItem(cartIds.headsetId, headsets.items)),\n topCable: addTitle(\n \"Top Cable\",\n findItem(cartIds.topCableId, topCables.items),\n ),\n pttSeries: addTitle(\n \"PTT Series\",\n findItem(cartIds.pttSeriesId, pttSeries.items),\n ),\n ptt: addTitle(\"PTT\", findItem(cartIds.pttId, ptts.items)),\n bottomCable: addTitle(\n \"Bottom Cable\",\n findItem(cartIds.bottomCableId, bottomCables.items),\n ),\n cableWithoutPtt: addTitle(\n \"Cable without PTT\",\n findItem(cartIds.cableWithoutPttId, cableWithoutPtts.items),\n ),\n plug:\n (cartIds.plugId &&\n addTitle(\"Plugs\", findItem(cartIds.plugId, plugs.items))) ||\n (cartIds.customPlugSpecification &&\n addTitle(\"Custom Plug\", customPlugItem(cartIds))) ||\n \"\",\n plugConfiguration: addTitle(\n \"Plug Configuration\",\n convertToCartItem(plugConfiguration),\n ),\n }),\n)\n","import React from \"react\"\n\ntype Props = {\n accessoryType: string\n accessoryName: string\n}\n\nconst AccessoryInfo = ({ accessoryType, accessoryName }: Props) => {\n return (\n

\n {accessoryType}\n {accessoryName}\n

\n )\n}\n\nexport default AccessoryInfo\n","import React, { Dispatch, SetStateAction } from \"react\"\nimport { isEmpty } from \"ramda\"\n\nexport type TopCable = {\n description: string\n id: number\n image_url: string\n name: string\n}\n\ntype AddOnSelectProps = {\n onAddOnSelect: (addOnId: number) => void\n className: string\n addOn: TopCable[]\n selectedAddOn: number\n setSelectedAddOn: Dispatch>\n optionName: string\n}\n\nconst AddOnSelect = (props: AddOnSelectProps) => {\n const {\n onAddOnSelect,\n className,\n addOn,\n selectedAddOn,\n setSelectedAddOn,\n optionName,\n } = props\n\n const onChange = (e: React.ChangeEvent) => {\n e.stopPropagation()\n\n const { value } = e.target\n const addOnType = isEmpty(value) ? \"\" : value\n\n const foundAddOn = addOn.find((addOn) => addOn.id === parseInt(addOnType))\n\n if (!foundAddOn) return\n\n setSelectedAddOn(foundAddOn.id)\n onAddOnSelect(foundAddOn.id)\n }\n return (\n
\n e.stopPropagation()}\n value={selectedAddOn}\n >\n \n {addOn &&\n addOn.map((addOn) => (\n \n ))}\n \n
\n )\n}\n\nexport default AddOnSelect\n","import React from \"react\"\n\ntype ButtonProps = {\n text: string\n onClick: () => void\n className: string\n style: Object\n}\nconst PrimaryButton = ({ text, onClick, className, style }: ButtonProps) => (\n \n {text}\n \n)\n\nconst SecondaryButton = ({ text, onClick, className, style }: ButtonProps) => (\n \n {text}\n \n)\n\nexport { PrimaryButton, SecondaryButton }\n","import React, { useMemo, useState } from \"react\"\nimport AddOnSelect from \"../AddOnSelect\"\nimport { ConnectorType } from \"../utils/types\"\nimport attentionImage from \"images/attention.svg\"\nimport { connect } from \"react-redux\"\nimport { filterIncompatiblePlugs } from \"../../helpers/IncompatibilityHelper\"\n\ntype Props = {\n id: number\n name: string\n image_url: string\n onSelect?: (bottomCableId: number, plugId: number) => void\n className?: string\n description?: string\n addOnName: string\n cartIds: number[]\n plugs: ConnectorType[] | undefined\n incompatibilities: any\n cableIdName: \"bottomCableId\" | \"cableWithoutPttId\"\n}\n\nconst CableCardWithDropdown = (props: Props) => {\n const {\n id,\n name,\n image_url,\n onSelect,\n className,\n description,\n addOnName,\n plugs,\n incompatibilities,\n cartIds,\n cableIdName,\n } = props\n\n const [selectedConnector, setSelectedConnector] = useState(0)\n\n if (plugs === undefined) return\n\n const handleSelect = (plugId: number) => {\n onSelect && onSelect(id, plugId)\n }\n\n const compatiblePlugs = useMemo(() => {\n const filtered = plugs.filter((plug: ConnectorType) => {\n const incompatiblePlugs = filterIncompatiblePlugs(\n plugs,\n incompatibilities,\n // Pass in this card's id to check its compatibility with the top cables\n { ...cartIds, [cableIdName]: id },\n )\n\n const isCompatible =\n incompatiblePlugs.find(\n (incompatiblePlug: any) => incompatiblePlug.id === plug.id,\n // We did not find any incompatibility\n ) === undefined\n\n return isCompatible\n })\n return filtered\n }, [\n JSON.stringify(plugs),\n JSON.stringify(incompatibilities),\n JSON.stringify(cartIds),\n ])\n\n return (\n \n
\n {onSelect !== undefined && (\n
\n

\n \n Select a {addOnName} from the dropdown below\n

\n
\n )}\n {name}\n
\n
\n

{name}

\n
{description}
\n
\n \n \n )\n}\n\nconst mapStateToProps = (state: any) => ({\n cartIds: state.cartIds,\n plugs: state.plugs.items,\n incompatibilities: state.incompatibilities.items,\n})\n\nexport default connect(mapStateToProps)(CableCardWithDropdown)\n","export default [\n {\n id: \"AFG\",\n html: \"Afghanistan\",\n },\n {\n id: \"ALA\",\n html: \"Åland Islands\",\n },\n {\n id: \"ALB\",\n html: \"Albania\",\n },\n {\n id: \"DZA\",\n html: \"Algeria\",\n },\n {\n id: \"ASM\",\n html: \"American Samoa\",\n },\n {\n id: \"AND\",\n html: \"Andorra\",\n },\n {\n id: \"AGO\",\n html: \"Angola\",\n },\n {\n id: \"AIA\",\n html: \"Anguilla\",\n },\n {\n id: \"ATA\",\n html: \"Antarctica\",\n },\n {\n id: \"ATG\",\n html: \"Antigua and Barbuda\",\n },\n {\n id: \"ARG\",\n html: \"Argentina\",\n },\n {\n id: \"ARM\",\n html: \"Armenia\",\n },\n {\n id: \"ABW\",\n html: \"Aruba\",\n },\n {\n id: \"AUS\",\n html: \"Australia\",\n },\n {\n id: \"AUT\",\n html: \"Austria\",\n },\n {\n id: \"AZE\",\n html: \"Azerbaijan\",\n },\n {\n id: \"BHS\",\n html: \"Bahamas\",\n },\n {\n id: \"BHR\",\n html: \"Bahrain\",\n },\n {\n id: \"BGD\",\n html: \"Bangladesh\",\n },\n {\n id: \"BRB\",\n html: \"Barbados\",\n },\n {\n id: \"BLR\",\n html: \"Belarus\",\n },\n {\n id: \"BEL\",\n html: \"Belgium\",\n },\n {\n id: \"BLZ\",\n html: \"Belize\",\n },\n {\n id: \"BEN\",\n html: \"Benin\",\n },\n {\n id: \"BMU\",\n html: \"Bermuda\",\n },\n {\n id: \"BTN\",\n html: \"Bhutan\",\n },\n {\n id: \"BOL\",\n html: \"Bolivia, Plurinational State of\",\n },\n {\n id: \"BES\",\n html: \"Bonaire, Sint Eustatius and Saba\",\n },\n {\n id: \"BIH\",\n html: \"Bosnia and Herzegovina\",\n },\n {\n id: \"BWA\",\n html: \"Botswana\",\n },\n {\n id: \"BVT\",\n html: \"Bouvet Island\",\n },\n {\n id: \"BRA\",\n html: \"Brazil\",\n },\n {\n id: \"IOT\",\n html: \"British Indian Ocean Territory\",\n },\n {\n id: \"BRN\",\n html: \"Brunei Darussalam\",\n },\n {\n id: \"BGR\",\n html: \"Bulgaria\",\n },\n {\n id: \"BFA\",\n html: \"Burkina Faso\",\n },\n {\n id: \"BDI\",\n html: \"Burundi\",\n },\n {\n id: \"KHM\",\n html: \"Cambodia\",\n },\n {\n id: \"CMR\",\n html: \"Cameroon\",\n },\n {\n id: \"CAN\",\n html: \"Canada\",\n },\n {\n id: \"CPV\",\n html: \"Cape Verde\",\n },\n {\n id: \"CYM\",\n html: \"Cayman Islands\",\n },\n {\n id: \"CAF\",\n html: \"Central African Republic\",\n },\n {\n id: \"TCD\",\n html: \"Chad\",\n },\n {\n id: \"CHL\",\n html: \"Chile\",\n },\n {\n id: \"CHN\",\n html: \"China\",\n },\n {\n id: \"CXR\",\n html: \"Christmas Island\",\n },\n {\n id: \"CCK\",\n html: \"Cocos (Keeling) Islands\",\n },\n {\n id: \"COL\",\n html: \"Colombia\",\n },\n {\n id: \"COM\",\n html: \"Comoros\",\n },\n {\n id: \"COG\",\n html: \"Congo\",\n },\n {\n id: \"COD\",\n html: \"Congo, the Democratic Republic of the\",\n },\n {\n id: \"COK\",\n html: \"Cook Islands\",\n },\n {\n id: \"CRI\",\n html: \"Costa Rica\",\n },\n {\n id: \"CIV\",\n html: \"Côte d'Ivoire\",\n },\n {\n id: \"HRV\",\n html: \"Croatia\",\n },\n {\n id: \"CUB\",\n html: \"Cuba\",\n },\n {\n id: \"CUW\",\n html: \"Curaçao\",\n },\n {\n id: \"CYP\",\n html: \"Cyprus\",\n },\n {\n id: \"CZE\",\n html: \"Czech Republic\",\n },\n {\n id: \"DNK\",\n html: \"Denmark\",\n },\n {\n id: \"DJI\",\n html: \"Djibouti\",\n },\n {\n id: \"DMA\",\n html: \"Dominica\",\n },\n {\n id: \"DOM\",\n html: \"Dominican Republic\",\n },\n {\n id: \"ECU\",\n html: \"Ecuador\",\n },\n {\n id: \"EGY\",\n html: \"Egypt\",\n },\n {\n id: \"SLV\",\n html: \"El Salvador\",\n },\n {\n id: \"GNQ\",\n html: \"Equatorial Guinea\",\n },\n {\n id: \"ERI\",\n html: \"Eritrea\",\n },\n {\n id: \"EST\",\n html: \"Estonia\",\n },\n {\n id: \"ETH\",\n html: \"Ethiopia\",\n },\n {\n id: \"FLK\",\n html: \"Falkland Islands (Malvinas)\",\n },\n {\n id: \"FRO\",\n html: \"Faroe Islands\",\n },\n {\n id: \"FJI\",\n html: \"Fiji\",\n },\n {\n id: \"FIN\",\n html: \"Finland\",\n },\n {\n id: \"FRA\",\n html: \"France\",\n },\n {\n id: \"GUF\",\n html: \"French Guiana\",\n },\n {\n id: \"PYF\",\n html: \"French Polynesia\",\n },\n {\n id: \"ATF\",\n html: \"French Southern Territories\",\n },\n {\n id: \"GAB\",\n html: \"Gabon\",\n },\n {\n id: \"GMB\",\n html: \"Gambia\",\n },\n {\n id: \"GEO\",\n html: \"Georgia\",\n },\n {\n id: \"DEU\",\n html: \"Germany\",\n },\n {\n id: \"GHA\",\n html: \"Ghana\",\n },\n {\n id: \"GIB\",\n html: \"Gibraltar\",\n },\n {\n id: \"GRC\",\n html: \"Greece\",\n },\n {\n id: \"GRL\",\n html: \"Greenland\",\n },\n {\n id: \"GRD\",\n html: \"Grenada\",\n },\n {\n id: \"GLP\",\n html: \"Guadeloupe\",\n },\n {\n id: \"GUM\",\n html: \"Guam\",\n },\n {\n id: \"GTM\",\n html: \"Guatemala\",\n },\n {\n id: \"GGY\",\n html: \"Guernsey\",\n },\n {\n id: \"GIN\",\n html: \"Guinea\",\n },\n {\n id: \"GNB\",\n html: \"Guinea-Bissau\",\n },\n {\n id: \"GUY\",\n html: \"Guyana\",\n },\n {\n id: \"HTI\",\n html: \"Haiti\",\n },\n {\n id: \"HMD\",\n html: \"Heard Island and McDonald Islands\",\n },\n {\n id: \"VAT\",\n html: \"Holy See (Vatican City State)\",\n },\n {\n id: \"HND\",\n html: \"Honduras\",\n },\n {\n id: \"HKG\",\n html: \"Hong Kong\",\n },\n {\n id: \"HUN\",\n html: \"Hungary\",\n },\n {\n id: \"ISL\",\n html: \"Iceland\",\n },\n {\n id: \"IND\",\n html: \"India\",\n },\n {\n id: \"IDN\",\n html: \"Indonesia\",\n },\n {\n id: \"IRN\",\n html: \"Iran, Islamic Republic of\",\n },\n {\n id: \"IRQ\",\n html: \"Iraq\",\n },\n {\n id: \"IRL\",\n html: \"Ireland\",\n },\n {\n id: \"IMN\",\n html: \"Isle of Man\",\n },\n {\n id: \"ITA\",\n html: \"Italy\",\n },\n {\n id: \"JAM\",\n html: \"Jamaica\",\n },\n {\n id: \"JPN\",\n html: \"Japan\",\n },\n {\n id: \"JEY\",\n html: \"Jersey\",\n },\n {\n id: \"JOR\",\n html: \"Jordan\",\n },\n {\n id: \"KAZ\",\n html: \"Kazakhstan\",\n },\n {\n id: \"KEN\",\n html: \"Kenya\",\n },\n {\n id: \"KIR\",\n html: \"Kiribati\",\n },\n {\n id: \"PRK\",\n html: \"Korea, Democratic People's Republic of\",\n },\n {\n id: \"KOR\",\n html: \"Korea, Republic of\",\n },\n {\n id: \"KWT\",\n html: \"Kuwait\",\n },\n {\n id: \"KGZ\",\n html: \"Kyrgyzstan\",\n },\n {\n id: \"LAO\",\n html: \"Lao People's Democratic Republic\",\n },\n {\n id: \"LVA\",\n html: \"Latvia\",\n },\n {\n id: \"LBN\",\n html: \"Lebanon\",\n },\n {\n id: \"LSO\",\n html: \"Lesotho\",\n },\n {\n id: \"LBR\",\n html: \"Liberia\",\n },\n {\n id: \"LBY\",\n html: \"Libya\",\n },\n {\n id: \"LIE\",\n html: \"Liechtenstein\",\n },\n {\n id: \"LTU\",\n html: \"Lithuania\",\n },\n {\n id: \"LUX\",\n html: \"Luxembourg\",\n },\n {\n id: \"MAC\",\n html: \"Macao\",\n },\n {\n id: \"MKD\",\n html: \"Macedonia, the former Yugoslav Republic of\",\n },\n {\n id: \"MDG\",\n html: \"Madagascar\",\n },\n {\n id: \"MWI\",\n html: \"Malawi\",\n },\n {\n id: \"MYS\",\n html: \"Malaysia\",\n },\n {\n id: \"MDV\",\n html: \"Maldives\",\n },\n {\n id: \"MLI\",\n html: \"Mali\",\n },\n {\n id: \"MLT\",\n html: \"Malta\",\n },\n {\n id: \"MHL\",\n html: \"Marshall Islands\",\n },\n {\n id: \"MTQ\",\n html: \"Martinique\",\n },\n {\n id: \"MRT\",\n html: \"Mauritania\",\n },\n {\n id: \"MUS\",\n html: \"Mauritius\",\n },\n {\n id: \"MYT\",\n html: \"Mayotte\",\n },\n {\n id: \"MEX\",\n html: \"Mexico\",\n },\n {\n id: \"FSM\",\n html: \"Micronesia, Federated States of\",\n },\n {\n id: \"MDA\",\n html: \"Moldova, Republic of\",\n },\n {\n id: \"MCO\",\n html: \"Monaco\",\n },\n {\n id: \"MNG\",\n html: \"Mongolia\",\n },\n {\n id: \"MNE\",\n html: \"Montenegro\",\n },\n {\n id: \"MSR\",\n html: \"Montserrat\",\n },\n {\n id: \"MAR\",\n html: \"Morocco\",\n },\n {\n id: \"MOZ\",\n html: \"Mozambique\",\n },\n {\n id: \"MMR\",\n html: \"Myanmar\",\n },\n {\n id: \"NAM\",\n html: \"Namibia\",\n },\n {\n id: \"NRU\",\n html: \"Nauru\",\n },\n {\n id: \"NPL\",\n html: \"Nepal\",\n },\n {\n id: \"NLD\",\n html: \"Netherlands\",\n },\n {\n id: \"NCL\",\n html: \"New Caledonia\",\n },\n {\n id: \"NZL\",\n html: \"New Zealand\",\n },\n {\n id: \"NIC\",\n html: \"Nicaragua\",\n },\n {\n id: \"NER\",\n html: \"Niger\",\n },\n {\n id: \"NGA\",\n html: \"Nigeria\",\n },\n {\n id: \"NIU\",\n html: \"Niue\",\n },\n {\n id: \"NFK\",\n html: \"Norfolk Island\",\n },\n {\n id: \"MNP\",\n html: \"Northern Mariana Islands\",\n },\n {\n id: \"NOR\",\n html: \"Norway\",\n },\n {\n id: \"OMN\",\n html: \"Oman\",\n },\n {\n id: \"PAK\",\n html: \"Pakistan\",\n },\n {\n id: \"PLW\",\n html: \"Palau\",\n },\n {\n id: \"PSE\",\n html: \"Palestinian Territory, Occupied\",\n },\n {\n id: \"PAN\",\n html: \"Panama\",\n },\n {\n id: \"PNG\",\n html: \"Papua New Guinea\",\n },\n {\n id: \"PRY\",\n html: \"Paraguay\",\n },\n {\n id: \"PER\",\n html: \"Peru\",\n },\n {\n id: \"PHL\",\n html: \"Philippines\",\n },\n {\n id: \"PCN\",\n html: \"Pitcairn\",\n },\n {\n id: \"POL\",\n html: \"Poland\",\n },\n {\n id: \"PRT\",\n html: \"Portugal\",\n },\n {\n id: \"PRI\",\n html: \"Puerto Rico\",\n },\n {\n id: \"QAT\",\n html: \"Qatar\",\n },\n {\n id: \"REU\",\n html: \"Réunion\",\n },\n {\n id: \"ROU\",\n html: \"Romania\",\n },\n {\n id: \"RUS\",\n html: \"Russian Federation\",\n },\n {\n id: \"RWA\",\n html: \"Rwanda\",\n },\n {\n id: \"BLM\",\n html: \"Saint Barthélemy\",\n },\n {\n id: \"SHN\",\n html: \"Saint Helena, Ascension and Tristan da Cunha\",\n },\n {\n id: \"KNA\",\n html: \"Saint Kitts and Nevis\",\n },\n {\n id: \"LCA\",\n html: \"Saint Lucia\",\n },\n {\n id: \"MAF\",\n html: \"Saint Martin (French part)\",\n },\n {\n id: \"SPM\",\n html: \"Saint Pierre and Miquelon\",\n },\n {\n id: \"VCT\",\n html: \"Saint Vincent and the Grenadines\",\n },\n {\n id: \"WSM\",\n html: \"Samoa\",\n },\n {\n id: \"SMR\",\n html: \"San Marino\",\n },\n {\n id: \"STP\",\n html: \"Sao Tome and Principe\",\n },\n {\n id: \"SAU\",\n html: \"Saudi Arabia\",\n },\n {\n id: \"SEN\",\n html: \"Senegal\",\n },\n {\n id: \"SRB\",\n html: \"Serbia\",\n },\n {\n id: \"SYC\",\n html: \"Seychelles\",\n },\n {\n id: \"SLE\",\n html: \"Sierra Leone\",\n },\n {\n id: \"SGP\",\n html: \"Singapore\",\n },\n {\n id: \"SXM\",\n html: \"Sint Maarten (Dutch part)\",\n },\n {\n id: \"SVK\",\n html: \"Slovakia\",\n },\n {\n id: \"SVN\",\n html: \"Slovenia\",\n },\n {\n id: \"SLB\",\n html: \"Solomon Islands\",\n },\n {\n id: \"SOM\",\n html: \"Somalia\",\n },\n {\n id: \"ZAF\",\n html: \"South Africa\",\n },\n {\n id: \"SGS\",\n html: \"South Georgia and the South Sandwich Islands\",\n },\n {\n id: \"SSD\",\n html: \"South Sudan\",\n },\n {\n id: \"ESP\",\n html: \"Spain\",\n },\n {\n id: \"LKA\",\n html: \"Sri Lanka\",\n },\n {\n id: \"SDN\",\n html: \"Sudan\",\n },\n {\n id: \"SUR\",\n html: \"Suriname\",\n },\n {\n id: \"SJM\",\n html: \"Svalbard and Jan Mayen\",\n },\n {\n id: \"SWZ\",\n html: \"Swaziland\",\n },\n {\n id: \"SWE\",\n html: \"Sweden\",\n },\n {\n id: \"CHE\",\n html: \"Switzerland\",\n },\n {\n id: \"SYR\",\n html: \"Syrian Arab Republic\",\n },\n {\n id: \"TWN\",\n html: \"Taiwan, Province of China\",\n },\n {\n id: \"TJK\",\n html: \"Tajikistan\",\n },\n {\n id: \"TZA\",\n html: \"Tanzania, United Republic of\",\n },\n {\n id: \"THA\",\n html: \"Thailand\",\n },\n {\n id: \"TLS\",\n html: \"Timor-Leste\",\n },\n {\n id: \"TGO\",\n html: \"Togo\",\n },\n {\n id: \"TKL\",\n html: \"Tokelau\",\n },\n {\n id: \"TON\",\n html: \"Tonga\",\n },\n {\n id: \"TTO\",\n html: \"Trinidad and Tobago\",\n },\n {\n id: \"TUN\",\n html: \"Tunisia\",\n },\n {\n id: \"TUR\",\n html: \"Turkey\",\n },\n {\n id: \"TKM\",\n html: \"Turkmenistan\",\n },\n {\n id: \"TCA\",\n html: \"Turks and Caicos Islands\",\n },\n {\n id: \"TUV\",\n html: \"Tuvalu\",\n },\n {\n id: \"UGA\",\n html: \"Uganda\",\n },\n {\n id: \"UKR\",\n html: \"Ukraine\",\n },\n {\n id: \"ARE\",\n html: \"United Arab Emirates\",\n },\n {\n id: \"GBR\",\n html: \"United Kingdom\",\n },\n {\n id: \"USA\",\n html: \"United States\",\n },\n {\n id: \"UMI\",\n html: \"United States Minor Outlying Islands\",\n },\n {\n id: \"URY\",\n html: \"Uruguay\",\n },\n {\n id: \"UZB\",\n html: \"Uzbekistan\",\n },\n {\n id: \"VUT\",\n html: \"Vanuatu\",\n },\n {\n id: \"VEN\",\n html: \"Venezuela, Bolivarian Republic of\",\n },\n {\n id: \"VNM\",\n html: \"Viet Nam\",\n },\n {\n id: \"VGB\",\n html: \"Virgin Islands, British\",\n },\n {\n id: \"VIR\",\n html: \"Virgin Islands, U.S.\",\n },\n {\n id: \"WLF\",\n html: \"Wallis and Futuna\",\n },\n {\n id: \"ESH\",\n html: \"Western Sahara\",\n },\n {\n id: \"YEM\",\n html: \"Yemen\",\n },\n {\n id: \"ZMB\",\n html: \"Zambia\",\n },\n {\n id: \"ZWE\",\n html: \"Zimbabwe\",\n },\n]\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { PrimaryButton } from \"./Buttons\"\nimport countries from \"../data/countries\"\nimport { useForm } from \"react-hook-form\"\nimport { updateCustomerDetails } from \"../actions\"\nimport { connect } from \"react-redux\"\nimport { bindActionCreators } from \"redux\"\n\nconst CustomerDetailsModal = ({\n onClose,\n show,\n customerDetails,\n updateCustomerDetails,\n onModalSubmit,\n}) => {\n const { register, handleSubmit } = useForm({ defaultValues: customerDetails })\n\n const onSubmit = (data) => {\n onModalSubmit?.(data)\n }\n\n const onChange = (event) => {\n const name = event.target.name\n const value = event.target.value\n updateCustomerDetails({ [name]: value })\n }\n\n return (\n \n
\n
\n \n X\n
\n
\n
Your details
\n\n
\n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n \n \n
\n \n \n )\n}\n\nconst Field = ({ input, placeholder, wrapperClass, className, type }) => (\n
\n \n
\n)\n\nconst TextAreaField = ({\n input,\n placeholder,\n wrapperClass,\n className,\n type,\n}) => (\n
\n \n
\n)\n\nconst CountrySelect = ({ input, placeholder, wrapperClass, className }) => (\n
\n \n
\n)\n\nCustomerDetailsModal.propTypes = {\n show: PropTypes.bool.isRequired,\n handleSubmit: PropTypes.func,\n onClose: PropTypes.func.isRequired,\n customerDetails: PropTypes.shape(),\n updateCustomerDetails: PropTypes.func,\n onModalSubmit: PropTypes.func,\n}\n\nconst mapStateToProps = (state) => ({ customerDetails: state.customerDetails })\n\nconst mapDispatchToProps = (dispatch) =>\n bindActionCreators({ updateCustomerDetails }, dispatch)\nexport default connect(\n mapStateToProps,\n mapDispatchToProps,\n)(CustomerDetailsModal)\n","import React from \"react\"\n\ntype DropdownProps = {\n label?: string\n value?: string\n onChange: (option: Option) => void\n options: Option[]\n className?: string\n defaultName?: string\n}\n\ntype Option = {\n label: string\n value: string\n}\n\nconst Dropdown = ({\n label,\n value,\n onChange,\n options,\n className,\n defaultName,\n}: DropdownProps) => {\n const onSelect = (e: any) => {\n let labelValue = e.target.value\n if (label) labelValue = label\n\n onChange({ label: labelValue, value: e.target.value })\n }\n return (\n
\n {label &&
{label}
}\n \n \n {options.map((option, index) => (\n \n ))}\n \n
\n )\n}\n\nexport default Dropdown\n","import React from \"react\"\nimport Logo from \"images/EPOS_ikon.svg\"\nimport LogoFull from \"images/Epos.jpg\"\nimport useWindowWidth from \"hooks/useWindowWidth\"\n\nconst Header = () => {\n const { isMobile } = useWindowWidth()\n\n return (\n <>\n {isMobile ? (\n
\n \n
\n
\n COMMAND line\n headset configurator\n
\n \n

Main site

\n
\n
\n
\n ) : (\n
\n \n \n
\n

COMMAND line headset configurator

\n \n

Back to the main site

\n
\n
\n
\n )}\n \n )\n}\n\nexport default Header\n","import React from \"react\"\nimport AccessoryInfo from \"../AccessoryInfo\"\n\ntype Props = {\n id: number\n name: string\n microphone_type: string | null | string[]\n active_gard: string | null | string[]\n wearing_style: string | null | string[]\n image_url: string\n onSelect?: (id: number) => void\n series?: boolean\n className?: string\n description?: string\n}\n\nconst HeadsetCard = (props: Props) => {\n const {\n id,\n name,\n microphone_type,\n active_gard,\n wearing_style,\n image_url,\n onSelect,\n series,\n className,\n description,\n } = props\n\n const transformWearingStyle = (wearing_style: string | string[] | null) => {\n if (!wearing_style || wearing_style.length === 0) return \"-\"\n\n if (Array.isArray(wearing_style)) {\n if (wearing_style.length === 2) return \"Single sided | Double sided\"\n return wearing_style.includes(\"single_sided\")\n ? \"Single sided\"\n : \"Double sided\"\n }\n\n return wearing_style === \"single_sided\" ? \"Single sided\" : \"Double sided\"\n }\n\n const transformMicrophoneName = (\n microphone_type: string | string[] | null,\n ) => {\n if (!microphone_type || microphone_type.length === 0) return \"-\"\n if (typeof microphone_type === \"string\")\n return microphone_type[0].toUpperCase() + microphone_type.slice(1)\n\n return microphone_type\n .map((microphone) => microphone[0].toUpperCase() + microphone.slice(1))\n .join(\" | \")\n }\n\n const transformActiveGuard = (active_gard: string | string[] | null) => {\n if (!active_gard || active_gard.length === 0) return \"-\"\n if (active_gard === \"both\")\n return \"With ActiveGard™ | Without ActiveGard™\"\n if (active_gard === \"only_with\") return \"With ActiveGard™\"\n if (active_gard === \"only_without\") return \"Without ActiveGard™\"\n\n if (Array.isArray(active_gard)) {\n if (active_gard.includes(\"Both\")) {\n return \"With ActiveGard™ | Without ActiveGard™\"\n } else {\n return active_gard.join(\" | \")\n }\n }\n return \"-\"\n }\n\n const listOfAccessories = [\n {\n accessoryType: \"Microphone\",\n accessoryName: transformMicrophoneName(microphone_type),\n },\n {\n accessoryType: \"ActiveGuard\",\n accessoryName: transformActiveGuard(active_gard),\n },\n {\n accessoryType: \"Headset Type\",\n accessoryName: transformWearingStyle(wearing_style),\n },\n ]\n\n return (\n onSelect(id) : undefined}\n >\n
\n {onSelect !== undefined && (\n
\n

\n Choose and continue\n

\n
\n )}\n {name}\n
\n
\n

\n {series ? `${name} Series` : name}\n

\n {!series && (\n
\n            {description}\n          
\n )}\n
\n {listOfAccessories.map((accessory) => (\n \n ))}\n
\n
\n \n )\n}\n\nexport default HeadsetCard\n","import React from \"react\"\n\ntype InputFieldProps = {\n label: string\n placeholder: string\n style: Object\n value: string\n onChange: () => void\n}\n\nconst InputField = ({\n label,\n style,\n placeholder,\n onChange,\n value,\n}: InputFieldProps) => {\n return (\n
\n
{label}
\n \n
\n )\n}\n\nexport default InputField\n","import React from \"react\"\nimport \"./style.scss\"\n\nexport type Order = {\n name: string\n image_url: string\n title: string\n content: string\n}\ntype OrderDetailsProps = {\n order: Order[]\n}\n\nconst OrderDetails = ({ order }: OrderDetailsProps) => {\n\n const arrayOfItems: any = []\n\n const itemsToDisplay = (order: any) => {\n const headset = order.find(\n (item: { title: string }) => item.title === \"Headset\",\n )\n const ptt = order.find((item: { title: string }) => item.title === \"PTT\")\n\n if (headset) {\n if (headset.microphone_type === \"electret\") {\n arrayOfItems.push({\n title: \"Microphone\",\n subtitle: \"Electret\",\n })\n } else {\n arrayOfItems.push({\n title: \"Microphone\",\n subtitle: \"Dynamic\",\n })\n }\n if (headset.wearing_style === \"single_sided\") {\n arrayOfItems.push({\n title: \"Headset Type\",\n subtitle: \"Single Sided\",\n })\n } else {\n arrayOfItems.push({\n title: \"Headset Type\",\n subtitle: \"Double Sided\",\n })\n }\n\n if (headset.active_gard === \"only_with\") {\n arrayOfItems.push({\n title: \"ActiveGard\",\n subtitle: \"With ActiveGard™\",\n })\n } else if (headset.active_gard === \"only_without\") {\n arrayOfItems.push({\n title: \"ActiveGard\",\n subtitle: \"Without ActiveGard™\",\n })\n } else {\n arrayOfItems.push({\n title: \"ActiveGard\",\n subtitle: \"With/ Without ActiveGard™\",\n })\n }\n }\n\n if (ptt) {\n if (ptt.port_type === \"usb\") {\n arrayOfItems.push({\n title: \"Interface\",\n subtitle: \"USB\",\n })\n } else {\n arrayOfItems.push({\n title: \"Interface\",\n subtitle: \"Analogue\",\n })\n }\n if (ptt.microphone_preamplifier) {\n arrayOfItems.push({\n title: \"Micrphone Preamplifier\",\n subtitle: \"With Preamplifier\",\n })\n } else {\n arrayOfItems.push({\n title: \"Micrphone Preamplifier\",\n subtitle: \"Without Preamplifier\",\n })\n }\n\n if (ptt.plug_type === \"direct\") {\n arrayOfItems.push({\n title: \"Connector Type\",\n subtitle: \"Direct\",\n })\n } else {\n arrayOfItems.push({\n title: \"Connector Type\",\n subtitle: \"TA6\",\n })\n }\n }\n }\n itemsToDisplay(order)\n\n return (\n
\n
\n {arrayOfItems.map((order: any) => (\n
\n
{order.title}
\n\n
\n {order.subtitle}\n
\n
\n ))}\n {/* {order.map((order: Order) => (\n
\n
\n {order.title == \"Plugs\" ? \"Connector Type\" : order.title}\n
\n {order.title == \"Plug Configuration\" ? (\n
\n {order.content}\n
\n ) : (\n
\n {order.name}\n
\n )}\n
\n ))} */}\n
\n
\n )\n}\n\nexport default OrderDetails\n","import React from \"react\"\nimport { Order } from \"../OrderDetails\"\n\ntype OrderDetailsVisualProps = {\n order: Order[]\n}\n\nconst OrderDetailsVisual = ({ order }: OrderDetailsVisualProps) => {\n const plugConfigurationObject = order.find(\n (item: { title: string }) => item.title === \"Plug Configuration\",\n )\n\n let string = plugConfigurationObject?.content.replace(\n \"resistorValue\",\n \"Resistor Value\",\n )\n string = string?.replace(\"additionalRequirements\", \"Comments\")\n\n const arrayToJoin = string?.split(\"* \").slice(1)\n\n return (\n
\n {order.map((value: Order, index: number) => (\n \n
\n \n
\n {value.title == \"Plug Configuration\" ? (\n
\n {arrayToJoin &&\n arrayToJoin.map((item: any) => (\n

{item}

\n ))}\n
\n ) : (\n
{value.name}
\n )}\n
\n ))}\n \n )\n}\n\nexport default OrderDetailsVisual\n","import React, { useState, useEffect } from \"react\"\nimport \"./style.scss\"\n\ntype ProgressBarType = {\n numberOfSteps: number\n activeStep: number\n title?: string\n}\n\nconst ProgressBar = ({ numberOfSteps, activeStep, title }: ProgressBarType) => {\n const [width, setWidth] = useState(0)\n\n useEffect(() => {\n setWidth((activeStep / numberOfSteps) * 100)\n }, [numberOfSteps, activeStep])\n\n return (\n
\n
\n
\n
\n {title && (\n
\n {/*
*/}\n \n {title}\n
\n \n )}\n \n )\n}\n\nexport default ProgressBar\n","import React from \"react\"\nimport smallArrow from \"images/small-arrow.svg\"\nimport useWindowWidth from \"hooks/useWindowWidth\"\nimport { useSelector } from \"react-redux\"\nimport { getCart } from \"../../cartSelector\"\nimport { getFooterArray } from \"../../utils/getFooterArray\"\n\ntype ProgressFooterProps = {\n skipStep?: () => void\n backStep?: () => void\n skipStepText?: String\n}\n\nconst ProgressFooter = ({\n skipStep,\n backStep,\n skipStepText,\n}: ProgressFooterProps) => {\n const { isMobile, isScreenSmaller } = useWindowWidth()\n\n const cartObject = useSelector((state: any) => getCart(state))\n\n const [variant, ...sections] = getFooterArray(cartObject)\n\n const Section = ({ section }: any) => {\n if (!section) return
\n\n return (\n
{section}
\n )\n }\n\n return (\n
\n \n \n
\n\n
\n
\n {isScreenSmaller ? (\n
\n ...\n
\n
\n ) : (\n
\n {variant}\n {sections.map((section: String, index: number) => (\n
\n ))}\n
\n )}\n
\n
\n\n {skipStep && (\n <>\n {isMobile ? (\n \n \n \n ) : (\n \n
\n {skipStepText ?? \"Skip this step\"}\n
\n
\n \n )}\n \n )}\n \n )\n}\n\nexport default ProgressFooter\n","import React from \"react\"\nimport AccessoryInfo from \"../AccessoryInfo\"\n\ntype Props = {\n id: number\n name: string\n microphone_preamplifier: boolean | null | boolean[]\n plug_type: string | null | string[]\n port_type: string | null | string[]\n image_url: string\n onSelect?: (id: number) => void\n series?: boolean\n className?: string\n description?: string\n}\n\nconst PttCard = (props: Props) => {\n const {\n id,\n name,\n microphone_preamplifier,\n plug_type,\n port_type,\n image_url,\n onSelect,\n series,\n className,\n description,\n } = props\n\n const transformPreamplifier = (\n microphone_preamplifier: boolean | boolean[] | null,\n ) => {\n if (microphone_preamplifier == null) return \"-\"\n if (microphone_preamplifier === false) {\n return \"Without Preamplifier\"\n }\n if (microphone_preamplifier === true) {\n return \"With Preamplifier\"\n }\n if (Array.isArray(microphone_preamplifier)) {\n if (microphone_preamplifier.length > 1) {\n return \"With Preamplifier | Without Preamplifier\"\n } else if (microphone_preamplifier[0] === true) {\n return \"With Preamplifier\"\n } else if (microphone_preamplifier[0] === false) {\n return \"Without Preamplifier\"\n } else {\n return \"-\"\n }\n }\n return \"-\"\n }\n\n const transformPlugOrPort = (accessory: string | string[] | null) => {\n if (accessory == null || accessory.length == 0 || accessory[0] == null)\n return \"-\"\n if (typeof accessory === \"string\") {\n if (accessory === \"analogue\" || accessory === \"direct\") {\n return accessory[0].toUpperCase() + accessory.slice(1)\n }\n return accessory.toUpperCase()\n }\n if (Array.isArray(accessory)) {\n if (accessory.length === 0) return \"-\"\n if (accessory.length > 1 && accessory.includes(\"analogue\")) {\n return \"Analogue | USB\"\n } else if (accessory.length > 1 && accessory.includes(\"direct\")) {\n return \"Direct | TA6\"\n }\n if (accessory[0] === \"analogue\" || accessory[0] === \"direct\") {\n return accessory[0][0].toUpperCase() + accessory[0].slice(1)\n } else {\n return accessory[0].toUpperCase()\n }\n }\n return \"-\"\n }\n\n const listOfAccessories = [\n {\n accessoryType: \"Interface\",\n accessoryName: transformPlugOrPort(port_type),\n },\n {\n accessoryType: \"Microphone Preamplifier\",\n accessoryName: transformPreamplifier(microphone_preamplifier),\n },\n {\n accessoryType: \"Connector Type\",\n accessoryName: transformPlugOrPort(plug_type),\n },\n ]\n\n return (\n onSelect(id) : undefined}\n >\n
\n {onSelect !== undefined && (\n
\n

\n Choose and continue\n

\n
\n )}\n {name}\n
\n
\n

\n {series ? `${name} Series` : name}\n

\n {!description && (\n
{description}
\n )}\n
\n {listOfAccessories.map((accessory) => (\n \n ))}\n
\n
\n \n )\n}\n\nexport default PttCard\n","import React, { useMemo, useState } from \"react\"\nimport AddOnSelect, { TopCable } from \"../AddOnSelect\"\nimport AccessoryInfo from \"../AccessoryInfo\"\nimport attentionImage from \"images/attention.svg\"\nimport { connect } from \"react-redux\"\nimport { filterIncompatibleTopCables } from \"../../helpers/IncompatibilityHelper\"\n\ntype Props = {\n id: number\n name: string\n microphone_preamplifier: boolean | null | boolean[]\n plug_type: string | null | string[]\n port_type: string | null | string[]\n image_url: string\n onSelect?: (pttId: number, topCableId: number) => void\n series?: boolean\n className?: string\n description?: string\n topCables: TopCable[]\n incompatibilities: any\n cartIds: number[]\n addOnName: string\n}\n\nconst PttCardWithDropdown = (props: Props) => {\n const {\n id,\n name,\n microphone_preamplifier,\n plug_type,\n port_type,\n image_url,\n onSelect,\n series,\n className,\n description,\n topCables,\n incompatibilities,\n cartIds,\n addOnName,\n } = props\n\n const [selectedCable, setSelectedCable] = useState(0)\n\n const handleCableSelect = (topCableId: number) => {\n onSelect && onSelect(id, topCableId)\n }\n\n const compatibleTopCables = useMemo(() => {\n\n const filtered = topCables.filter((topCable: any) => {\n const incompatibleTopCables = filterIncompatibleTopCables(\n topCables,\n incompatibilities,\n // Pass in this card's pttId to check its compatibility with the top cables\n { ...cartIds, pttId: id },\n )\n\n const isCompatible =\n incompatibleTopCables.find(\n (incompatibleTopCable: any) =>\n incompatibleTopCable.id === topCable.id,\n // We did not find any incompatibility\n ) === undefined\n\n return isCompatible\n\n })\n return filtered\n }, [\n JSON.stringify(topCables),\n JSON.stringify(incompatibilities),\n JSON.stringify(cartIds),\n ])\n\n const transformPreamplifier = (\n microphone_preamplifier: boolean | boolean[] | null,\n ) => {\n if (microphone_preamplifier == null) return \"-\"\n if (microphone_preamplifier === false) {\n return \"Without Preamplifier\"\n }\n if (microphone_preamplifier === true) {\n return \"With Preamplifier\"\n }\n if (Array.isArray(microphone_preamplifier)) {\n if (microphone_preamplifier.length > 1) {\n return \"With Preamplifier | Without Preamplifier\"\n } else if (microphone_preamplifier[0] === true) {\n return \"With Preamplifier\"\n } else if (microphone_preamplifier[0] === false) {\n return \"Without Preamplifier\"\n } else {\n return \"-\"\n }\n }\n return \"-\"\n }\n\n const transformPlugOrPort = (accessory: string | string[] | null) => {\n if (accessory == null) return \"-\"\n if (typeof accessory === \"string\") {\n if (accessory === \"analogue\" || accessory === \"direct\") {\n return accessory[0].toUpperCase() + accessory.slice(1)\n }\n return accessory.toUpperCase()\n }\n if (Array.isArray(accessory)) {\n if (accessory.length === 0) return \"-\"\n if (accessory.length > 1 && accessory.includes(\"analogue\")) {\n return \"Analogue | USB\"\n } else if (accessory.length > 1 && accessory.includes(\"direct\")) {\n return \"Direct | TA6\"\n }\n if (accessory[0] === \"analogue\" || accessory[0] === \"direct\") {\n return accessory[0][0].toUpperCase() + accessory[0].slice(1)\n } else {\n return accessory[0].toUpperCase()\n }\n }\n return \"-\"\n }\n\n const listOfAccessories = [\n {\n accessoryType: \"Interface\",\n accessoryName: transformPlugOrPort(port_type),\n },\n {\n accessoryType: \"Microphone Preamplifier\",\n accessoryName: transformPreamplifier(microphone_preamplifier),\n },\n {\n accessoryType: \"Connector Type\",\n accessoryName: transformPlugOrPort(plug_type),\n },\n ]\n\n return (\n \n
\n {onSelect !== undefined && (\n
\n

\n \n Select a {addOnName} from the dropdown below\n

\n
\n )}\n {name}\n
\n
\n

\n {series ? `${name} Series` : name}\n

\n {!series && (\n
{description}
\n )}\n
\n {listOfAccessories.map((accessory) => (\n \n ))}\n
\n
\n \n \n )\n}\n\nconst mapStateToProps = (state: any) => ({\n topCables: state.topCables.items,\n cartIds: state.cartIds,\n incompatibilities: state.incompatibilities.items,\n})\n\nexport default connect(mapStateToProps)(PttCardWithDropdown)\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nconst StepHeader = ({ text = \"\" }) => (\n

\n {text}\n

\n)\n\nStepHeader.propTypes = {\n text: PropTypes.string,\n}\n\nexport default StepHeader\n","import React from \"react\"\n\ntype TextAreaProps = {\n label: string\n placeholder: string\n style: Object\n value: string\n onChange: () => void\n}\nconst TextArea = ({\n label,\n placeholder,\n style,\n value,\n onChange,\n}: TextAreaProps) => {\n return (\n
\n
{label}
\n \n
\n )\n}\n\nexport default TextArea\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\ntype Props = {\n text: string\n className: string\n}\n\nconst Tooltip = ({ text = \"\", className }: Props) => (\n \n i\n {text}\n \n)\n\nTooltip.propTypes = {\n text: PropTypes.string,\n}\n\nexport default Tooltip\n","import React from \"react\"\n\n// I could meta program this, but it would become hard to understand.\n// The element being compared is not checked against the cartIds.\nexport const getIncompatiblePttSeries = ({\n pttSeries,\n incompatibilities,\n cartIds,\n}) =>\n pttSeries.reduce((filtered, element) => {\n const pttIncompatibilites = elementPttSeriesIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (pttIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: pttIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n\nconst elementPttSeriesIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.ptt_series_ids.indexOf(element.id) > -1 &&\n (incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.plug_ids.indexOf(cartIds.plugId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > -1)\n )\n })\n}\n\nexport const filterIncompatiblePtts = ({ ptts, incompatibilities, cartIds }) =>\n ptts.reduce((filtered, element) => {\n const pttIncompatibilites = elementPttIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (pttIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: pttIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n\nexport const elementPttIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.ptt_ids.indexOf(element.id) > -1 &&\n (incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.plug_ids.indexOf(cartIds.plugId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > 1)\n )\n })\n}\n\nexport const filterIncompatibleBottomCables = (\n list,\n incompatibilities,\n cartIds,\n) => {\n return list.reduce((filtered, element) => {\n const bottomCableIncompatibilites = elementBottomCableIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (bottomCableIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: bottomCableIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n}\n\nconst elementBottomCableIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n cableId,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.bottom_cable_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.plug_ids.indexOf(cartIds.plugId) > -1 ||\n incompatibility.plug_ids.indexOf(cableId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > -1)\n )\n })\n}\n\nexport const getIncompatibleHeadsetSeries = ({\n headsetSeriess = [],\n incompatibilities,\n cartIds,\n}) =>\n headsetSeriess.reduce((filtered, element) => {\n const headsetSeriesIncompatibilites = elementHeadsetSeriesIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (headsetSeriesIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: headsetSeriesIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n\nconst elementHeadsetSeriesIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.headset_series_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.plug_ids.indexOf(cartIds.plugId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > -1)\n )\n })\n}\n\nexport const filterCompatibleHeadsets = ({\n headsets,\n incompatibilities,\n cartIds,\n}) =>\n headsets.filter(\n (headset) =>\n !filterIncompatibleHeadsets({\n headsets,\n incompatibilities,\n cartIds,\n }).some((incompatibleHeadset) => incompatibleHeadset.id == headset.id),\n )\n\nexport const filterIncompatibleHeadsets = ({\n headsets,\n incompatibilities,\n cartIds,\n}) => {\n return headsets.reduce((filtered, element) => {\n const headsetIncompatibilites = elementHeadsetIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (headsetIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: headsetIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n}\n\nconst elementHeadsetIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.headset_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.plug_ids.indexOf(cartIds.plugId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > -1)\n )\n })\n}\n\nexport const filterIncompatiblePlugs = (\n list,\n incompatibilities,\n cartIds,\n currentCableId,\n withPTT,\n) => {\n return list.reduce((filtered, element) => {\n const plugIncompatibilites = elementPlugIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n currentCableId,\n withPTT,\n )\n if (plugIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: plugIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n}\n\nconst elementPlugIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n currentCableId,\n withPTT,\n) => {\n return incompatibilities.filter((incompatibility) => {\n const {\n headsetSeriesId,\n headsetId,\n bottomCableId,\n pttId,\n pttSeriesId,\n cableWithoutPttId,\n topCableId,\n } = cartIds\n\n return (\n incompatibility.plug_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_series_ids.indexOf(headsetSeriesId) > -1 ||\n incompatibility.headset_ids.indexOf(headsetId) > -1 ||\n incompatibility.bottom_cable_ids.indexOf(bottomCableId) > -1 ||\n (withPTT &&\n incompatibility.bottom_cable_ids.indexOf(currentCableId) > -1) ||\n incompatibility.ptt_ids.indexOf(pttId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(pttSeriesId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(cableWithoutPttId) > -1 ||\n (!withPTT &&\n incompatibility.cable_without_ptt_ids.indexOf(cableWithoutPttId) >\n -1) ||\n incompatibility.top_cable_ids.indexOf(topCableId) > -1)\n )\n })\n}\n\nexport const filterIncompatibleTopCables = (\n list,\n incompatibilities,\n cartIds,\n) => {\n return list.reduce((filtered, element) => {\n const topCableIncompatibilites = elementTopCableIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (topCableIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: topCableIncompatibilites.map((i) => i.message).join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n}\n\nconst elementTopCableIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.top_cable_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.cable_without_ptt_ids.indexOf(\n cartIds.cableWithoutPttId,\n ) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1)\n )\n })\n}\n\nexport const filterIncompatibleCableWithoutPtts = (\n list,\n incompatibilities,\n cartIds,\n) => {\n return list.reduce((filtered, element) => {\n const cableWithoutPttIncompatibilites =\n elementCableWithoutPttIncompatibilities(\n element,\n incompatibilities,\n cartIds,\n )\n if (cableWithoutPttIncompatibilites.length) {\n let incompatibleElement = Object.assign({}, element, {\n message: cableWithoutPttIncompatibilites\n .map((i) => i.message)\n .join(\". \"),\n })\n filtered.push(incompatibleElement)\n }\n return filtered\n }, [])\n}\n\nconst elementCableWithoutPttIncompatibilities = (\n element,\n incompatibilities,\n cartIds,\n) => {\n return incompatibilities.filter((incompatibility) => {\n return (\n incompatibility.cable_without_ptt_ids.indexOf(element.id) > -1 &&\n (incompatibility.headset_series_ids.indexOf(cartIds.headsetSeriesId) >\n -1 ||\n incompatibility.headset_ids.indexOf(cartIds.headsetId) > -1 ||\n incompatibility.bottom_cable_ids.indexOf(cartIds.bottomCableId) > -1 ||\n incompatibility.ptt_ids.indexOf(cartIds.pttId) > -1 ||\n incompatibility.top_cable_ids.indexOf(cartIds.topCableId) > -1 ||\n incompatibility.ptt_series_ids.indexOf(cartIds.pttSeriesId) > -1)\n )\n })\n}\n","import { useState, useEffect } from \"react\"\n\nconst useWindowWidth = () => {\n const [width, setWidth] = useState(window.innerWidth)\n\n const handleWindowSizeChange = () => {\n setWidth(window.innerWidth)\n }\n\n useEffect(() => {\n window.addEventListener(\"resize\", handleWindowSizeChange)\n return () => {\n window.removeEventListener(\"resize\", handleWindowSizeChange)\n }\n }, [])\n\n const isMobile = width <= 768\n const isScreenSmaller = width <= 1024\n\n return { width, isMobile, isScreenSmaller }\n}\n\nexport default useWindowWidth\n","export const getFooterArray = (cartObj: any) => {\n const footerArray: string[] = []\n\n const addNameToFooter = (name?: string) => {\n if (!name) return\n\n footerArray.push(name.substring(0, 15))\n }\n\n addNameToFooter(cartObj.headsetSeries.name)\n addNameToFooter(cartObj.headset.name)\n addNameToFooter(cartObj.pttSeries.name)\n addNameToFooter(cartObj.ptt.name)\n addNameToFooter(cartObj.topCable.name)\n addNameToFooter(cartObj.cableWithoutPtt.name)\n addNameToFooter(cartObj.bottomCable.name)\n addNameToFooter(cartObj.plug.name)\n // i removed the plug configuration from the footer, because it is not in design\n // addNameToFooter(cartObj.plugConfiguration.description)\n\n return footerArray\n}\n"],"names":["API_URL","REQUEST_HEADSET_SERIES","RECEIVE_HEADSET_SERIES","SELECT_HEADSET_SERIES","REQUEST_HEADSETS","RECEIVE_HEADSETS","SELECT_HEADSET","REQUEST_TOP_CABLES","RECEIVE_TOP_CABLES","SELECT_TOP_CABLE","REQUEST_PTT_SERIES","RECEIVE_PTT_SERIES","SELECT_PTT_SERIES","REQUEST_PTTS","RECEIVE_PTTS","SELECT_PTT","REQUEST_BOTTOM_CABLES","RECEIVE_BOTTOM_CABLES","SELECT_BOTTOM_CABLE","REQUEST_CABLE_WITHOUT_PTTS","RECEIVE_CABLE_WITHOUT_PTTS","SELECT_CABLE_WITHOUT_PTT","REQUEST_PLUGS","RECEIVE_PLUGS","SELECT_PLUG","REQUEST_STEP_SKIPPERS","RECEIVE_STEP_SKIPPERS","REQUEST_INCOMPATIBILITIES","RECEIVE_INCOMPATIBILITIES","SET_PLUG_CONFIGURATION","RESET_PLUG_CONFIGURATION","RESET_CART","SET_HEADSET_FILTER","SET_PTT_FILTER","UPDATE_CUSTOMER_DETAILS","RESET_CUSTOMER_DETAILS","setPTTFilter","filter","dispatch","type","setHeadsetFilter","filtering","fetchHeadsetSeries","fetch","then","response","json","error","console","log","receiveHeadsetSeries","items","receivedAt","Date","now","selectHeadsetSeries","selectedHeadsetSeriesId","Promise","resolve","fetchHeadsets","headsetSeriesId","url","receiveHeadsets","selectHeadset","selectedHeadsetId","fetchTopCables","receiveTopCables","selectTopCable","selectedTopCableId","fetchPttSeries","receivePttSeries","selectPttSeries","selectedPttSeriesId","fetchPtts","pttSeriesId","receivePtts","selectPtt","selectedPttId","fetchBottomCables","receiveBottomCables","selectBottomCable","selectedBottomCableId","fetchCableWithoutPtts","receiveCableWithoutPtts","selectCableWithoutPtt","selectedCableWithoutPttId","fetchPlugs","receivePlugs","selectPlug","selectedPlugId","customSpecification","fetchStepSkippers","receiveStepSkippers","fetchIncompatibilities","receiveIncompatibilities","setPlugConfiguration","plugConfiguration","payload","submitInquiry","inquiry","method","headers","Accept","body","JSON","stringify","inquirySubmitted","resetCart","updateCustomerDetails","values","objToS","key","value","convertToCartItem","name","description","join","map","toPairs","undefined","htmlDescription","image_url","plugImage","addTitle","title","obj","merge","findItem","id","list","find","item","customPlugItem","cartIds","customPlugSpecification","getCart","createSelector","state","headsetSeries","headsets","topCables","pttSeries","ptts","bottomCables","cableWithoutPtts","plugs","headset","headsetId","topCable","topCableId","ptt","pttId","bottomCable","bottomCableId","cableWithoutPtt","cableWithoutPttId","plug","plugId","accessoryType","accessoryName","className","props","onAddOnSelect","addOn","selectedAddOn","setSelectedAddOn","optionName","onChange","e","stopPropagation","target","addOnType","isEmpty","foundAddOn","parseInt","onClick","PrimaryButton","text","style","SecondaryButton","connect","incompatibilities","onSelect","addOnName","cableIdName","selectedConnector","setSelectedConnector","useState","compatiblePlugs","useMemo","filterIncompatiblePlugs","incompatiblePlug","src","attentionImage","alt","html","CustomerDetailsModal","onClose","show","customerDetails","onModalSubmit","register","handleSubmit","useForm","defaultValues","event","onSubmit","data","Field","input","required","placeholder","wrapperClass","CountrySelect","TextAreaField","countries","country","propTypes","PropTypes","bindActionCreators","label","options","defaultName","labelValue","option","index","isMobile","useWindowWidth","Logo","href","LogoFull","microphone_type","active_gard","wearing_style","series","listOfAccessories","length","toUpperCase","slice","microphone","transformMicrophoneName","Array","isArray","includes","transformActiveGuard","transformWearingStyle","accessory","order","arrayOfItems","push","subtitle","port_type","microphone_preamplifier","plug_type","itemsToDisplay","string","content","replace","arrayToJoin","split","substring","numberOfSteps","activeStep","width","setWidth","useEffect","skipStep","backStep","skipStepText","isScreenSmaller","cartObject","useSelector","variant","sections","getFooterArray","Section","section","smallArrow","transformPlugOrPort","transformPreamplifier","selectedCable","setSelectedCable","compatibleTopCables","filterIncompatibleTopCables","incompatibleTopCable","StepHeader","Tooltip","getIncompatiblePttSeries","reduce","filtered","element","pttIncompatibilites","elementPttSeriesIncompatibilities","incompatibleElement","Object","assign","message","i","incompatibility","ptt_series_ids","indexOf","bottom_cable_ids","headset_series_ids","headset_ids","plug_ids","ptt_ids","cable_without_ptt_ids","top_cable_ids","filterIncompatiblePtts","elementPttIncompatibilities","filterIncompatibleBottomCables","bottomCableIncompatibilites","elementBottomCableIncompatibilities","cableId","getIncompatibleHeadsetSeries","headsetSeriess","headsetSeriesIncompatibilites","elementHeadsetSeriesIncompatibilities","filterCompatibleHeadsets","filterIncompatibleHeadsets","some","incompatibleHeadset","headsetIncompatibilites","elementHeadsetIncompatibilities","currentCableId","withPTT","plugIncompatibilites","elementPlugIncompatibilities","topCableIncompatibilites","elementTopCableIncompatibilities","filterIncompatibleCableWithoutPtts","cableWithoutPttIncompatibilites","elementCableWithoutPttIncompatibilities","window","innerWidth","handleWindowSizeChange","addEventListener","removeEventListener","cartObj","footerArray","addNameToFooter"],"sourceRoot":""}