{"version":3,"file":"static/js/572.647091c9.chunk.js","mappings":"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","sources":["components/ProductContactsConfigurator/utils/getFormId.js","components/ProductContactsConfigurator/ProductsSearchBox.jsx","components/ProductContactsConfigurator/ConfiguratorFooter.jsx","components/ProductContactsConfigurator/LinksList.jsx","components/ProductContactsConfigurator/NextSteps.jsx","components/ProductContactsConfigurator/Steps.jsx","components/ProductContactsConfigurator/ProductContactsConfigurator.jsx","containers/ProductContactsConfiguratorContainer.jsx"],"sourcesContent":["async function getFormId(url) {\n const res = await fetch(url);\n const data = res.json();\n if (res.status !== 200) {\n throw new Error(\"Failed fetch form ID\");\n }\n\n return data;\n}\n\nexport default getFormId;\n","import React, { useState } from \"react\";\nimport { SearchProvider, SearchBox } from \"@elastic/react-search-ui\";\nimport PropTypes from \"prop-types\";\nimport searchConnector from \"../../config/searchConnector\";\nimport getFormId from \"./utils/getFormId\";\nimport Autocomplete from \"../Autocomplete/Autocomplete\";\n\nconst searchConfig = {\n debug: false,\n apiConnector: searchConnector,\n autocompleteQuery: {\n suggestions: {\n filters: [\n {\n field: \"type\",\n type: \"any\",\n values: [\"Capabilities\", \"Solutions\"],\n },\n ],\n top: 5,\n },\n },\n};\n\nconst ProductsSearchBox = ({ onFormSelection, defaultFormId }) => {\n const [selectedValue, setSelectedValue] = useState(null);\n const onSelectionSelect = (id) => onFormSelection(id);\n const resetSelectedValue = () => {\n setSelectedValue(null);\n onSelectionSelect(\"\");\n };\n const productsSearchBoxAnalytic = (val) => {\n const { drupalSettings } = window;\n if (drupalSettings && drupalSettings.L3harAnalytics) {\n const { L3harAnalytics } = drupalSettings;\n const searchType = \"Contact Us Inquiry\";\n const eventLabel = `Search Type: ${searchType} | Query: ${val}`;\n const eventVars = {\n searchType,\n query: val,\n };\n\n L3harAnalytics.dataLayerPush(\n eventLabel,\n eventVars,\n \"contactUsInquirySearchPerformed\",\n \"Performed Inquiry Search For Capability-Product\",\n \"Form Submissions\"\n );\n }\n };\n\n return (\n <>\n

\n Enter and select the capability name below:\n

\n \n (\n \n )}\n inputView={({ getAutocomplete, getInputProps }) => (\n <>\n
\n resetSelectedValue()}\n />\n {getAutocomplete()}\n
\n \n )}\n onSelectAutocomplete={(\n selection,\n /* eslint-disable-next-line no-empty-pattern */\n {},\n defaultOnSelectAutocomplete\n ) => {\n if (selection.suggestion) {\n const productId = selection.id.match(/\\d+/g);\n const url =\n window && productId\n ? `${window.location.origin}/webform_product_webform_id/${productId}`\n : \"\";\n if (url) {\n getFormId(url)\n .then((data) => {\n setSelectedValue(selection);\n onSelectionSelect(data.data);\n })\n .catch(() => {\n setSelectedValue({\n suggestion: \"Seems this product has no own form\",\n id: defaultFormId,\n });\n onSelectionSelect(defaultFormId);\n });\n }\n productsSearchBoxAnalytic(selection.suggestion);\n } else {\n defaultOnSelectAutocomplete(selection);\n }\n }}\n />\n
\n \n );\n};\n\nProductsSearchBox.defaultProps = {\n onFormSelection: () => {},\n};\n\nProductsSearchBox.propTypes = {\n onFormSelection: PropTypes.func,\n defaultFormId: PropTypes.string.isRequired,\n};\n\nexport default ProductsSearchBox;\n","import React, { useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport classnames from \"classnames\";\n\nconst ConfiguratorFooter = ({ selectedFormId }) => {\n const onBackBtnClick = () => window.history.back();\n const nextLinkRef = useRef(null);\n useEffect(() => {\n // Re init Drupal behaviors only wend product form link selected.\n if (\n window.Drupal &&\n typeof window.Drupal.attachBehaviors === \"function\" &&\n selectedFormId\n ) {\n setTimeout(() => {\n window.Drupal.attachBehaviors();\n nextLinkRef.current.focus();\n }, 100);\n }\n }, [selectedFormId]);\n return (\n
\n

\n \n Back\n \n \n Next\n \n

\n
\n );\n};\n\nConfiguratorFooter.defaultProps = {\n selectedFormId: \"\",\n};\n\nConfiguratorFooter.propTypes = {\n selectedFormId: PropTypes.string,\n};\n\nexport default ConfiguratorFooter;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst LinksList = ({ links, defaultFormId }) => {\n useEffect(() => {\n if (window.Drupal && typeof window.Drupal.attachBehaviors === \"function\") {\n // This will attach AJAX and analytic for links list.\n window.Drupal.attachBehaviors();\n }\n }, []);\n const linksList = links.map((link) => (\n
  • \n \n {link.title}\n {link.description}\n \n
  • \n ));\n return (\n <>\n

    \n Select the category below that best describes what you are inquiring about:\n

    \n \n

    \n \n None of these categories are relevant\n \n

    \n \n );\n};\n\nLinksList.propTypes = {\n links: PropTypes.array.isRequired,\n defaultFormId: PropTypes.string.isRequired,\n};\n\nexport default LinksList;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\nimport ProductsSearchBox from \"./ProductsSearchBox\";\nimport ConfiguratorFooter from \"./ConfiguratorFooter\";\nimport LinksList from \"./LinksList\";\n\nconst NextSteps = ({ step, links, formId }) => {\n const [selectedFormId, setSelectedFormId] = useState(\"\");\n const onFormSelection = (selectedId) => setSelectedFormId(selectedId);\n\n useEffect(() => {\n const staticFormLinks = document.querySelector(\n \".contact-us-first__form-links\"\n );\n if (staticFormLinks) {\n staticFormLinks.style.display = \"none\";\n }\n }, []);\n return (\n <>\n {step === \"search\" && (\n <>\n onFormSelection(id)}\n defaultFormId={formId}\n />\n

    \n onFormSelection(\"\")}\n >\n I do not know the name or cannot find the capability\n \n

    \n \n )}\n\n {step === \"select\" && }\n\n \n \n );\n};\n\nNextSteps.propTypes = {\n step: PropTypes.string.isRequired,\n links: PropTypes.array.isRequired,\n formId: PropTypes.string.isRequired,\n};\n\nexport default NextSteps;\n","import React, { useEffect } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport NextSteps from \"./NextSteps\";\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nconst Steps = ({ links, defaultFormId }) => {\n const query = useQuery();\n const steps = window.location.search\n ? window.location.search.match(\"step=\")\n : null;\n\n useEffect(() => {\n const staticFormLinks = document.querySelector(\n \".contact-us-first__form-links\"\n );\n if (staticFormLinks && !steps) {\n staticFormLinks.style.display = \"\";\n }\n }, [steps]);\n\n const inquiryTypeAnalytic = (type) => {\n const { drupalSettings } = window;\n if (drupalSettings && drupalSettings.L3harAnalytics) {\n const { L3harAnalytics } = drupalSettings;\n const inquiryType = type;\n const eventLabel = `Inquiry Type: ${inquiryType}`;\n const eventVars = {\n inquiryType,\n };\n\n L3harAnalytics.dataLayerPush(\n eventLabel,\n eventVars,\n \"inquiryTypeSelected\",\n \"Selected Inquiry Contact Type\",\n \"Form Submissions\"\n );\n }\n };\n\n return (\n
    \n {!query.get(\"step\") && (\n inquiryTypeAnalytic(\"Capability/Product Inquiries\")}\n >\n Capability-Related Inquiries\n \n Contact us about a specific capability or accessory\n \n \n )}\n\n {query.get(\"step\") && (\n \n )}\n
    \n );\n};\n\nSteps.propTypes = {\n links: PropTypes.array.isRequired,\n defaultFormId: PropTypes.string.isRequired,\n};\n\nexport default Steps;\n","import React from \"react\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport PropTypes from \"prop-types\";\nimport Steps from \"./Steps\";\n\nconst ProductContactsConfigurator = ({ links, defaultFormId }) => {\n return (\n
    \n \n \n \n
    \n );\n};\n\nProductContactsConfigurator.propTypes = {\n links: PropTypes.array.isRequired,\n defaultFormId: PropTypes.string.isRequired,\n};\n\nexport default ProductContactsConfigurator;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport ProductContactsConfigurator from \"../components/ProductContactsConfigurator/ProductContactsConfigurator\";\n\nconst drupalSettings = window.drupalSettings || {};\nconst links = drupalSettings.contactUs\n ? drupalSettings.contactUs.contact_us_links\n : null;\nconst defaultFormId = drupalSettings.contactUs\n ? drupalSettings.contactUs.default_webform_id\n : null;\n\nconst ProductContactsConfiguratorContainer = () => {\n return ReactDOM.createPortal(\n ,\n document.getElementById(\"ProductContactsConfiguratorContainer\")\n );\n};\n\nexport default ProductContactsConfiguratorContainer;\n"],"names":["_getFormId","_asyncToGenerator","_regeneratorRuntime","mark","_callee","url","res","data","wrap","_context","prev","next","fetch","sent","json","status","Error","abrupt","stop","apply","arguments","_x","searchConfig","debug","apiConnector","searchConnector","autocompleteQuery","suggestions","filters","field","type","values","top","ProductsSearchBox","_ref","onFormSelection","defaultFormId","_useState","useState","_useState2","_slicedToArray","selectedValue","setSelectedValue","onSelectionSelect","id","React","className","SearchProvider","config","SearchBox","autocompleteMinimumCharacters","autocompleteSuggestions","autocompleteView","props","Autocomplete","Object","assign","hideInputValue","inputView","_ref2","getAutocomplete","getInputProps","placeholder","value","suggestion","undefined","onFocus","onSelectAutocomplete","selection","_ref3","defaultOnSelectAutocomplete","_objectDestructuringEmpty","productId","match","window","concat","location","origin","getFormId","then","catch","val","drupalSettings","L3harAnalytics","searchType","eventLabel","eventVars","query","dataLayerPush","productsSearchBoxAnalytic","defaultProps","ConfiguratorFooter","selectedFormId","nextLinkRef","useRef","useEffect","Drupal","attachBehaviors","setTimeout","current","focus","onClick","history","back","href","classnames","ref","links","linksList","map","link","key","title","webform_id","description","step","formId","setSelectedFormId","selectedId","staticFormLinks","document","querySelector","style","display","Link","to","LinksList","URLSearchParams","useLocation","search","steps","get","inquiryType","inquiryTypeAnalytic","NextSteps","Router","Steps","contactUs","contact_us_links","default_webform_id","ReactDOM","ProductContactsConfigurator","getElementById"],"sourceRoot":""}