{"version":3,"file":"marketing.chunk.16b63f14a4a4b4df191a.js","mappings":"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","sources":["webpack://CATSAS/./javascript/react/app/components/common/MyEquipmentFilter/EquipmentInformation/EquipmentNoResults/EquipmentNoResults.js","webpack://CATSAS/./javascript/react/app/components/common/ProductListFilterBoxes/ProductListFilterBoxes.js","webpack://CATSAS/./javascript/react/app/components/common/VideoWarning/VideoWarning.js","webpack://CATSAS/./javascript/react/app/components/common/myEquipmentHeader/equipmentPanel/AddEquipmentCTA.js","webpack://CATSAS/./javascript/react/app/components/common/myEquipmentHeader/equipmentPanel/DisplayEquipment.js","webpack://CATSAS/./javascript/react/app/components/common/myEquipmentHeader/equipmentPanel/SelectEquipmentCTA.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/utils.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/hooks/useLayoutService.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/templates/SingleColumn.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/Espot.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/MyEquipmentCTA.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/MyEquipmentCTA.scss?dbc3","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/WidgetTitle/WidgetTitle.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/constants.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/EquipmentImageWithDescription/EquipmentImageWithDescription.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/PMKitWidget.scss?6f80","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/ServiceOptionsDropdown/ServiceOptionsDropdown.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/FooterLinksAndButtons/FooterLinksAndButtons.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/EquipmentRangeDropdown/EquipmentRangeDropdown.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitWidget/PMKitWidget.js","webpack://CATSAS/./javascript/react/app/components/common/PMKit/PMKitCTA/PMKitCTA.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/PMKitWidgetCTA.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/PMKitWidgetCTA.scss?4096","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/ProductSpecificationModalContainer/ProductSpecificationModalContainer.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/ProductCardGrid/ProductCardSidebar/ProductCardSidebar.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/ProductCardGrid/ProductCardGrid.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/YoutubeWidget/constants.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/YoutubeWidget/YoutubeWidget.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/components/YoutubeWidget/youtubeWidget.module.scss?b8a2","webpack://CATSAS/./javascript/react/app/components/pages/marketing/mapping.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/templates/index.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/TemplateManager.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/Container.js","webpack://CATSAS/./javascript/react/app/components/pages/marketing/marketing.module.scss?3e9a","webpack://CATSAS/./javascript/react/app/store/mlp/utils.js","webpack://CATSAS/./javascript/react/app/store/mlp/actions.js","webpack://CATSAS/./javascript/react/app/components/common/myEquipmentHeader/myEquipmentHeader.scss?d161"],"sourcesContent":["import { useSelector } from 'react-redux';\nimport styles from '../../styles.module.scss';\nimport cx from 'classnames';\nimport { AlloyButton } from 'cat-ecommerce-alloy';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { useReplaceTokenWithElement } from '@app/hooks';\n\nconst EquipmentNoResults = ({ onCheck }) => {\n const [t] = useTranslation();\n const imageUrl = useSelector(\n s => s.myEquipment?.equipments?.selectedEquipment?.imageURL\n );\n const model = useSelector(\n s => s.myEquipment?.equipments?.selectedEquipment?.model\n );\n\n const serialNumber = useSelector(\n s => s.myEquipment?.equipments?.selectedEquipment?.serialNumber\n );\n\n const equipmentFamily = useSelector(\n s => s.myEquipment?.equipments?.selectedEquipment?.equipmentFamily\n );\n const { replaceTokenWithElement } = useReplaceTokenWithElement();\n const className = 'text-xl';\n const noMatchingPartsText = replaceTokenWithElement(\n t('MEQ_NO_PARTS_FOUND_SUB_CATEGORY'),\n className,\n \n {model} {equipmentFamily}\n \n );\n return (\n
\n \n

{noMatchingPartsText}

\n onCheck(false)}\n >\n {t('VIEW_ALL_PARTS')}\n \n
\n );\n};\n\nEquipmentNoResults.propTypes = {\n onCheck: PropTypes.func\n};\n\nexport default EquipmentNoResults;\n","import { AlloyButton } from 'cat-ecommerce-alloy';\nimport { useTranslation } from 'react-i18next';\nimport { isEmpty } from '@app/utils';\nimport { useDispatch } from 'react-redux';\nimport { getActiveFacets } from '@app/components/pages/marketing/components/ProductCardGrid/utils';\nimport queryString from 'query-string';\nimport { useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { activeFacetsPropTypes } from '../SpecificationFacets/declarations.propTypes';\n\nconst ProductListFilterBoxes = ({\n activeFacets,\n queryActionParam,\n widgetId,\n setUrlToPageOneWithFilter,\n fbeEnabled\n}) => {\n const [t] = useTranslation();\n const dispatch = useDispatch();\n const { hash } = useLocation();\n\n const { facets: facetsFromHash } = queryString.parse(hash);\n const facetsArray = !Array.isArray(facetsFromHash)\n ? [facetsFromHash]\n : facetsFromHash;\n const {\n orderBy: orderByFromUrl,\n filterByEquipment: filterByEquipmentFromUrl\n } = queryString.parse(hash);\n const updatedOrderBy = orderByFromUrl ? 'orderBy' : 'sortBy';\n const handleClick = facetbox => {\n const updatedActiveFacets = activeFacets.filter(\n ({ facet }) => facet !== facetbox\n );\n dispatch(\n queryActionParam(\n widgetId\n ? {\n widgetId: widgetId,\n data: {\n activeFacets: updatedActiveFacets,\n pageNumber: 1,\n batchPartNumbers: []\n }\n }\n : { activeFacets: updatedActiveFacets },\n true\n )\n );\n if (widgetId) {\n facetsArray.forEach(item => {\n const widgetUrlValue = item.split('|');\n if (widgetUrlValue[0] === facetbox) {\n facetsArray.splice(facetsArray.indexOf(item), 1);\n }\n });\n setUrlToPageOneWithFilter({\n filterByEquipment: filterByEquipmentFromUrl,\n facets: getActiveFacets(facetsArray, updatedActiveFacets, widgetId),\n [updatedOrderBy]: orderByFromUrl,\n isMarketingPage: true,\n fbeEnabledValue: fbeEnabled\n });\n } else {\n setUrlToPageOneWithFilter({\n filterByEquipment: filterByEquipmentFromUrl,\n facets: updatedActiveFacets,\n [updatedOrderBy]: orderByFromUrl\n });\n }\n };\n\n const clearHandleClick = () => {\n dispatch(\n queryActionParam(\n widgetId\n ? {\n widgetId: widgetId,\n data: {\n activeFacets: [],\n pageNumber: 1,\n batchPartNumbers: []\n }\n }\n : { activeFacets: [] },\n true\n )\n );\n\n if (widgetId) {\n let activeFacetsWithWidgetId = [];\n activeFacets.forEach(j => {\n activeFacetsWithWidgetId.push(`${j.facet}|${widgetId}`);\n });\n\n const finalUrlFacets = facetsArray\n .filter(facet => !activeFacetsWithWidgetId.includes(facet))\n .map(item => ({ facet: item }));\n setUrlToPageOneWithFilter({\n filterByEquipment: filterByEquipmentFromUrl,\n facets: finalUrlFacets,\n [updatedOrderBy]: orderByFromUrl,\n isMarketingPage: true,\n fbeEnabledValue: fbeEnabled\n });\n } else {\n setUrlToPageOneWithFilter({\n filterByEquipment: filterByEquipmentFromUrl,\n facets: [],\n [updatedOrderBy]: orderByFromUrl\n });\n }\n };\n\n return (\n !isEmpty(activeFacets) && (\n <>\n
\n {activeFacets.map(({ facet, label, groupLabel = '' }) => {\n return (\n handleClick(facet)}\n >\n {label}\n \n );\n })}\n
\n \n {t('CLEAR_ALL_FILTERS')}\n \n \n )\n );\n};\nProductListFilterBoxes.propTypes = {\n activeFacets: activeFacetsPropTypes,\n queryActionParam: PropTypes.func,\n fbeEnabled: PropTypes.bool,\n widgetId: PropTypes.string,\n setUrlToPageOneWithFilter: PropTypes.func\n};\nexport default ProductListFilterBoxes;\n","import React from 'react';\nimport cx from 'classnames';\nimport { useTranslation } from 'react-i18next';\nimport { AlloyButton, SystemFeedback } from 'cat-ecommerce-alloy';\n\nconst VideoWarning = ({ className = '' }) => {\n const [t] = useTranslation();\n\n return (\n \n \n
\n {t('COOKIES_REQUIRED')}\n
\n
\n {t('COOKIES_WATCH_VIDEOS_ACCEPT')}\n
\n
\n \n {t('COOKIE_SETTINGS')}\n \n
\n
\n \n );\n};\n\nexport default VideoWarning;\n","import PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { ComponentLoader } from 'cat-ecommerce-alloy';\nimport styles from '../myEquipmentHeader.scss';\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer';\n\nconst AddEquipmentCTA = ({ loading, isPM }) => {\n const { t } = useTranslation();\n const { openAddDrawer, getDrawerComponent } = useEquipmentDrawer();\n\n let addEquipmentCTADescription;\n let addEquipmentCTATitle;\n if (isPM) {\n addEquipmentCTATitle = t('ADD_EQUIPMENT_ICON');\n addEquipmentCTADescription = (\n

\n {t('PM_KIT_CTA_TAG')}\n

\n );\n } else {\n addEquipmentCTATitle = t('MEQ_ADD_EQUIP_CTA');\n addEquipmentCTADescription =

{t('MEQ_PARTS_FIT_CTA')}

;\n }\n\n return (\n <>\n \n {loading ? (\n \n ) : (\n <>\n \n {addEquipmentCTATitle}\n \n {addEquipmentCTADescription}\n \n )}\n \n {getDrawerComponent()}\n \n );\n};\n\nAddEquipmentCTA.propTypes = {\n loading: PropTypes.bool,\n storeId: PropTypes.string,\n widgetIdentifier: PropTypes.string,\n isPM: PropTypes.bool\n};\n\nexport default AddEquipmentCTA;\n","import { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport queryString from 'query-string';\nimport { useTranslation } from 'react-i18next';\nimport {\n Checkbox,\n ModalContext,\n ComponentLoader,\n AlloyButton\n} from 'cat-ecommerce-alloy';\nimport { replaceTokensInString } from '../../../../utils';\nimport SaveEquipment from '../../../pages/my-equipment/AddEquipmentModal/SearchSuggestions/EquipmentSuggestions/SaveEquipment';\nimport styles from '../myEquipmentHeader.scss';\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer/useEquipmentDrawer';\n\nconst DisplayEquipment = props => {\n const { mccRedirect } = queryString.parse(window.location.href);\n const {\n selectedEquipment,\n isFilteredByEquipment,\n loading,\n myEquipmentList,\n hideCheckbox,\n displaySSROCTA,\n widgetIdentifier,\n openEditDrawer\n } = props;\n const { openSelectDrawer, getDrawerComponent } = useEquipmentDrawer();\n const modalCtx = useContext(ModalContext);\n const { t } = useTranslation();\n const str = !!isFilteredByEquipment\n ? 'MEQ2_SHOWINGPARTS4'\n : 'MEQ2_SHOWPARTS4';\n const label = replaceTokensInString(t(str), selectedEquipment.model);\n const { isQRCodeTempEquipment } = selectedEquipment;\n const modalTitle = t('SAVE_MY_EQUIPMENT');\n const defaultProps = {\n modalTitle,\n currentEquipment: selectedEquipment,\n widgetIdentifier\n };\n\n const filterResultsForEquipment = () => {\n const url = new URL(window.location.href);\n url.searchParams.set('filterByEquipment', !isFilteredByEquipment);\n window.location.href = `${url.pathname}${url.search}`;\n };\n return (\n <>\n \n {loading ? (\n \n ) : (\n <>\n
\n \n
\n
\n

\n {selectedEquipment.model} {selectedEquipment.equipmentFamily}\n

\n {selectedEquipment.serialNumber && (\n

\n {t('MEQ_SERIAL')} {selectedEquipment.serialNumber}\n

\n )}\n {!selectedEquipment.serialNumber && (\n

\n {\n isQRCodeTempEquipment\n ? modalCtx.addModalWithOptions(\n ,\n modalTitle\n )\n : openEditDrawer();\n }}\n >\n {t('MEQ_ENTER_SERIAL_CAT1')}\n {' '}\n {t('MEQ_ENTER_SERIAL_CAT2')}\n

\n )}\n {!hideCheckbox && !mccRedirect ? (\n \n ) : (\n !hideCheckbox &&

{label}

\n )}\n {/** This condition is for ssro campaign page */}\n {displaySSROCTA && (\n
\n \n {t('PARTS_RESOURCES_SSRO')}\n \n \n {t('CHANGE_EQUIPMENT')}\n \n
\n )}\n
\n \n )}\n \n {getDrawerComponent({\n currentEquipment: selectedEquipment,\n myEquipmentList: myEquipmentList\n })}\n \n );\n};\n\nDisplayEquipment.propTypes = {\n selectedEquipment: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\n ),\n isFilteredByEquipment: PropTypes.bool,\n myEquipmentList: PropTypes.arrayOf(\n PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string]))\n ),\n loading: PropTypes.bool,\n hideCheckbox: PropTypes.bool,\n displaySSROCTA: PropTypes.bool,\n widgetIdentifier: PropTypes.string,\n openEditDrawer: PropTypes.func\n};\n\nexport default DisplayEquipment;\n","import PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { ComponentLoader } from 'cat-ecommerce-alloy';\nimport styles from '../myEquipmentHeader.scss';\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer';\n\nconst SelectEquipmentCTA = ({\n selectedEquipment,\n myEquipmentList,\n loading,\n isPM\n}) => {\n const { t } = useTranslation();\n let selectedEquipmentCTADescription;\n let selectedEquipmentCTATitle;\n const { openSelectDrawer, getDrawerComponent } = useEquipmentDrawer();\n if (isPM) {\n selectedEquipmentCTATitle = t('SELECT_EQUIPMENT');\n selectedEquipmentCTADescription = (\n

\n {t('PM_KIT_CTA_TAG')}\n

\n );\n } else {\n selectedEquipmentCTATitle = t('MEQ_SELECT_EQUIP_CTA');\n selectedEquipmentCTADescription =

{t('MEQ_PARTS_FIT_CTA')}

;\n }\n return (\n \n {loading ? (\n \n ) : (\n <>\n \n {selectedEquipmentCTATitle}\n \n {selectedEquipmentCTADescription}\n \n )}\n {getDrawerComponent({\n currentEquipment: selectedEquipment,\n myEquipmentList: myEquipmentList\n })}\n \n );\n};\n\nSelectEquipmentCTA.propTypes = {\n loading: PropTypes.bool,\n selectedEquipment: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n ),\n myEquipmentList: PropTypes.arrayOf(\n PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string]))\n ),\n isPM: PropTypes.bool\n};\n\nexport default SelectEquipmentCTA;\n","import { CMC_MARKETING_TARGET } from '../../../constants/targets';\nimport { ESPOT_COMPONENT } from './constants';\n\nexport const getPageId = () => {\n return document\n .getElementById(CMC_MARKETING_TARGET)\n ?.getAttribute('data-pageid');\n};\n\nexport const getPropMap = (propArray = []) =>\n propArray.reduce(\n (acc, cur) => ({\n ...acc,\n [cur.name]: cur.value\n }),\n {}\n );\n\nexport const enrichLayoutData = layout => ({\n ...layout,\n childWidget: layout.childWidget.map(child => {\n const {\n widgetProperty,\n slot: { internalSlotId },\n ...rest\n } = child;\n return {\n ...rest,\n widgetProps: getPropMap(widgetProperty),\n slot: internalSlotId\n };\n })\n});\nexport const getPartNumbers = (partNumberData, productsArray) => {\n let data = partNumberData?.split(',');\n return productsArray?.map(product => {\n let partObj = {};\n data.forEach(item => {\n if (item === product.partNumber || item === product.itemPartNumber) {\n partObj = {\n partNumber: product.itemPartNumber ?? product.partNumber,\n quantity: 1,\n uniqueId: product.uniqueId\n };\n }\n });\n return partObj;\n });\n};\nexport const getEspotNames = enrichedLayout =>\n enrichedLayout.childWidget\n .filter(child => child.widgetDefinitionIdentifier === ESPOT_COMPONENT)\n .map(ems => ems.widgetProps.emsName);\n","import { useEffect, useState } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { getHttpInstance } from '../../../../services/defaultHttpService';\r\nimport { replaceTokensInString } from '../../../../utils';\r\nimport endpoints from '../../../../constants/endpoints';\r\nimport { enrichLayoutData, getEspotNames, getPageId } from '../utils';\r\nimport { setError } from '../../../../store/exception/actions';\r\nimport { ERROR_DOMAIN, ERROR_PATH } from '../../../../constants/errorConstants';\r\nimport { normalizeError } from '../../../../store/exception/utils';\r\n\r\nexport default () => {\r\n const [layoutData, setLayoutData] = useState({});\r\n const [espotNames, setEspotNames] = useState([]);\r\n const [isLayoutLoading, setIsLayoutLoading] = useState(true);\r\n const { storeId } = useSelector(state => state.common);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const pageId = getPageId();\r\n const url = replaceTokensInString(\r\n endpoints.CMC_MARKETING_LAYOUT_DATA_URL,\r\n storeId,\r\n pageId\r\n );\r\n const http = getHttpInstance();\r\n http\r\n .get(url)\r\n .then(({ data }) => {\r\n const serverLayoutData = data.resultList[0].widget;\r\n const enrichedLayout = enrichLayoutData(serverLayoutData);\r\n setEspotNames(getEspotNames(enrichedLayout));\r\n setLayoutData(enrichedLayout);\r\n })\r\n .catch(err =>\r\n dispatch(\r\n setError(\r\n ERROR_DOMAIN.MARKETING,\r\n ERROR_PATH.PAGE_LAYOUT,\r\n normalizeError(err)\r\n )\r\n )\r\n )\r\n .finally(() => setIsLayoutLoading(false));\r\n }, [dispatch, storeId]);\r\n\r\n return { layoutData, espotNames, isLayoutLoading };\r\n};\r\n","import PropTypes from 'prop-types';\nimport { componentMapping } from '../mapping';\n\nconst SingleColumn = ({ widgets, espotData, getEspotContent }) => {\n const slot1Widgets = widgets.filter(widget => widget.slot === '1');\n return slot1Widgets.map(widget => {\n const {\n widgetDefinitionIdentifier,\n widgetId,\n widgetProps = {},\n name\n } = widget;\n const Comp = componentMapping[widgetDefinitionIdentifier];\n\n // TODO: Error Handling\n return !!Comp ? (\n
\n \n
\n ) : (\n {`Component with id ${widgetDefinitionIdentifier} does not exist.`}\n );\n });\n};\n\nSingleColumn.propTypes = {\n widgets: PropTypes.arrayOf(\n PropTypes.shape({\n slot: PropTypes.string,\n widgetDefinitionIdentifier: PropTypes.string.isRequired,\n widgetSequence: PropTypes.number.isRequired,\n widgetProps: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n )\n })\n ).isRequired,\n espotData: PropTypes.objectOf(PropTypes.string)\n};\n\nexport default SingleColumn;\n","import PropTypes from 'prop-types';\nimport { useEffect } from 'react';\nimport { default as LoadEspot } from '../../../common/Espot/Espot';\nimport { isCookiesEnable } from '../../help-center/marketingSupport';\n\nconst Espot = props => {\n const { widgetProps, getEspotContent } = props;\n const espotContent = getEspotContent(widgetProps.emsName);\n\n useEffect(() => {\n isCookiesEnable();\n\n window.addEventListener('OneTrustGroupsUpdated', () => {\n isCookiesEnable();\n });\n }, [espotContent]);\n return !!espotContent ? : null;\n};\n\nEspot.propTypes = {\n widgetProps: PropTypes.shape({\n emsName: PropTypes.string\n }),\n getEspotContent: PropTypes.func\n};\n\nexport default Espot;\n","import PropTypes from 'prop-types';\nimport { ComponentLoader } from 'cat-ecommerce-alloy';\nimport { useSelector } from 'react-redux';\nimport AddEquipmentCTA from '../../../../components/common/myEquipmentHeader/equipmentPanel/AddEquipmentCTA';\nimport SelectEquipmentCTA from '../../../../components/common/myEquipmentHeader/equipmentPanel/SelectEquipmentCTA';\nimport DisplayEquipment from '../../../../components/common/myEquipmentHeader/equipmentPanel/DisplayEquipment';\nimport { FLEX_ALIGNMENT } from '../constants';\nimport cpStyles from './MyEquipmentCTA.scss';\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer';\n\nconst MyEquipmentCTA = ({ widgetProps, widgetIdentifier }) => {\n const selectedEquipment = useSelector(\n s => s.myEquipment.equipments?.selectedEquipment\n );\n const storeId = useSelector(s => s.common?.storeId);\n const myEquipmentList = useSelector(\n s => s.myEquipment.equipments?.myEquipmentList\n );\n const initialLoading = useSelector(s => s.myEquipment?.initialLoading);\n const isLoading = useSelector(s => s.myEquipment?.isLoading);\n const { openEditDrawer, openAddDrawer, getDrawerComponent } =\n useEquipmentDrawer();\n const serialNumValidationStatus = useSelector(\n state => state.myEquipment?.serialNumValidationStatus\n );\n\n let equipmentWidget;\n\n /** case 1: blank status while loading equipment data or page loading */\n if (\n (isLoading && serialNumValidationStatus !== 'pending') ||\n initialLoading\n ) {\n equipmentWidget = ;\n } else if (!selectedEquipment?.model) {\n /**case 2: Add Equipment : when there is no selected equipment\n * 2.a: no equipment in the list -- Add Equipment\n * 2.b: otherwise -- selected equipment */\n if (myEquipmentList.length === 0) {\n equipmentWidget = (\n \n );\n } else {\n equipmentWidget = (\n \n );\n }\n } else {\n /** case 3: We have data ! display information */\n equipmentWidget = (\n \n );\n }\n\n return (\n <>\n \n
\n {equipmentWidget}\n
\n \n {getDrawerComponent({ currentEquipment: selectedEquipment })}\n \n );\n};\n\nMyEquipmentCTA.propTypes = {\n widgetProps: PropTypes.shape({\n width: PropTypes.string,\n widgetAlignment: PropTypes.string\n }),\n widgetIdentifier: PropTypes.string\n};\n\nexport default MyEquipmentCTA;\n","// extracted by mini-css-extract-plugin\nexport default {\"myequip-widget-container\":\"myequip-widget-container\",\"campaignPage--myequip--widget\":\"campaignPage--myequip--widget\",\"equipment-fitment__selected-equipment\":\"equipment-fitment__selected-equipment\",\"equipment-fitment__details\":\"equipment-fitment__details\"};","import PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst WidgetTitle = ({ isCampaignLandingPage }) => {\r\n const [t] = useTranslation();\r\n\r\n return (\r\n

\r\n {isCampaignLandingPage ? t('PM_CAMPAIGN_WIDGET') : t('PM_KIT_UI1')}\r\n

\r\n );\r\n};\r\n\r\nWidgetTitle.propTypes = {\r\n isCampaignLandingPage: PropTypes.bool\r\n};\r\n\r\nexport default WidgetTitle;\r\n","import { getImageUrl } from '../../../../utils';\r\n\r\nexport const MLP_IMAGE_URL = getImageUrl('CM20130722-53469-03363');\r\n","import PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useReplaceTokenWithElement } from '../../../../../hooks';\r\nimport { MLP_IMAGE_URL } from '../constants';\r\nimport pmStyles from '../PMKitWidget.scss';\r\nimport { getImageUrlPM } from '../../../../../utils';\r\n\r\nconst EquipmentImageWithDescription = ({\r\n isMachineLandingPage,\r\n selectedEquipment,\r\n selectedSerial,\r\n serialNumber,\r\n isPmKitsLoadedSuccessfully,\r\n salesModel\r\n}) => {\r\n const [t] = useTranslation();\r\n const { replaceTokenWithElement } = useReplaceTokenWithElement();\r\n const className = 'exclude-global color-dark-gray text-md';\r\n const pmKitText = replaceTokenWithElement(\r\n isPmKitsLoadedSuccessfully ? t('PM_KIT_WIDGET_ALT1') : t('PM_KIT_UI3'),\r\n className,\r\n {salesModel},\r\n \r\n {selectedEquipment?.equipmentFamily?.toLowerCase()}\r\n \r\n );\r\n const pmKitModelText = replaceTokenWithElement(\r\n t('PM_KIT_UI3'),\r\n className,\r\n {salesModel},\r\n \r\n {selectedEquipment?.equipmentFamily?.toLowerCase()}\r\n \r\n );\r\n const nonSerialNumberText = isPmKitsLoadedSuccessfully\r\n ? `${t('PM_KIT_Serial1')}`\r\n : `${t('PM_KIT_MODEL3')}`;\r\n const serialNumberText = isPmKitsLoadedSuccessfully\r\n ? `${t('PM_KIT_Serial1')}`\r\n : '';\r\n const widgetText = (\r\n

\r\n {pmKitText}\r\n  \r\n {serialNumber ? serialNumberText : nonSerialNumberText}\r\n

\r\n );\r\n\r\n const modelTextOnly = (\r\n

\r\n {pmKitModelText}\r\n  \r\n {t('PM_KIT_MODEL3')}\r\n

\r\n );\r\n const imageUrlPM = getImageUrlPM(selectedEquipment.imageURL);\r\n return (\r\n
\r\n
\r\n {isMachineLandingPage ? (\r\n \r\n ) : (\r\n {selectedEquipment.equipmentFamily}\r\n )}\r\n
\r\n {selectedSerial || serialNumber ? widgetText : modelTextOnly}\r\n
\r\n );\r\n};\r\n\r\nEquipmentImageWithDescription.propTypes = {\r\n isMachineLandingPage: PropTypes.bool,\r\n selectedEquipment: PropTypes.shape({\r\n equipmentFamily: PropTypes.string,\r\n imageURL: PropTypes.string\r\n }),\r\n selectedSerial: PropTypes.shape({\r\n displayValue: PropTypes.string,\r\n value: PropTypes.number\r\n }),\r\n serialNumber: PropTypes.string,\r\n isPmKitsLoadedSuccessfully: PropTypes.bool,\r\n salesModel: PropTypes.string\r\n};\r\n\r\nexport default EquipmentImageWithDescription;\r\n","// extracted by mini-css-extract-plugin\nexport default {\"pmkit-widget__container\":\"pmkit-widget__container\",\"pm-kit-btn\":\"pm-kit-btn\",\"btn-learn-more\":\"btn-learn-more\",\"pmkit-image__box\":\"pmkit-image__box\",\"pmkit-model\":\"pmkit-model\",\"btn\":\"btn\",\"btn-dropdown\":\"btn-dropdown\",\"dropdown-menu\":\"dropdown-menu\",\"us-metric-box\":\"us-metric-box\",\"custom-control-label\":\"custom-control-label\",\"btn-secondary\":\"btn-secondary\",\"form-group\":\"form-group\",\"dropdown-invalid\":\"dropdown-invalid\",\"display-3\":\"display-3\"};","import PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { InlineLoader, Dropdown, RadioGroup, Radio } from 'cat-ecommerce-alloy';\nimport sortBy from 'lodash/sortBy';\nimport pmStyles from '../PMKitWidget.scss';\nimport UnitOfMeasureToggle from '@app/components/common/UnitOfMeasureToggle';\n\nconst ServiceOptionsDropdown = ({\n selectedUnit,\n setSelectedUnit,\n pmKitOptions,\n itemToString,\n pmKitsList,\n pmKitErrors,\n getPMKitValue,\n selectedPMKit\n}) => {\n const [t] = useTranslation();\n const catGroupHead = {\n displayValue: t('PM_KIT_TYPE2'),\n value: 'Caterpillar',\n itemType: 'optGroupHead'\n };\n const dealerGroupHead = {\n displayValue: t('PM_KIT_TYPE1'),\n value: 'Dealer',\n itemType: 'optGroupHead'\n };\n const pmKitDropdown = () => {\n let catKitList = [];\n let dealerKitList = [];\n //Sorting the list based on firstInterval value\n const sortedCatKitList = sortBy(pmKitsList, 'firstInterval');\n sortedCatKitList?.length > 0 &&\n sortedCatKitList.map(item => {\n const pmKitObj = {\n displayValue: `${item.description}`,\n value: `${item.serviceOptionID}`\n };\n //This logic seperate the Caterpillar and Dealer kits\n if (item.isCATKit) {\n catKitList.push(pmKitObj);\n } else {\n dealerKitList.push(pmKitObj);\n }\n });\n dealerKitList = dealerKitList.length\n ? [dealerGroupHead, ...dealerKitList]\n : [];\n catKitList = catKitList.length ? [catGroupHead, ...catKitList] : [];\n //This is final array that we pass to dropdown component with Dealer and Caterpillar group heads\n return [...dealerKitList, ...catKitList];\n };\n\n return (\n
\n
\n \n
\n {pmKitOptions.isLoading ? (\n \n ) : (\n <>\n value}\n onChange={getPMKitValue}\n placeholder={{\n displayValue: t('PM_KIT_MODEL2'),\n value: 'placeholder'\n }}\n selected={selectedPMKit}\n className={pmKitErrors ? 'dropdown-invalid' : ''}\n />\n {pmKitErrors &&

{t('PM_KIT_SERVICE_ERR')}

}\n \n )}\n
\n );\n};\n\nServiceOptionsDropdown.propTypes = {\n selectedUnit: PropTypes.string,\n setSelectedUnit: PropTypes.func,\n pmKitOptions: PropTypes.shape({\n data: PropTypes.shape({\n ssroBundlesExist: PropTypes.bool,\n bundleData: PropTypes.shape({\n bundles: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n serviceOptionID: PropTypes.string,\n url: PropTypes.string,\n isPMKit: PropTypes.bool\n })\n )\n })\n }),\n isLoading: PropTypes.bool\n }),\n pmKitErrors: PropTypes.shape({ message: PropTypes.string }),\n itemToString: PropTypes.func,\n pmKitsList: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n serviceOptionID: PropTypes.string,\n url: PropTypes.string,\n isPMKit: PropTypes.bool\n })\n ),\n getPMKitValue: PropTypes.func,\n selectedPMKit: PropTypes.string\n};\n\nexport default ServiceOptionsDropdown;\n","import { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n ModalContext,\r\n AlloyButton,\r\n ChevronRightIcon\r\n} from 'cat-ecommerce-alloy';\r\nimport { navigateToUrl } from '../../../../../services/windowService';\r\nimport SaveEquipment from '../../../../pages/my-equipment/AddEquipmentModal/SearchSuggestions/EquipmentSuggestions/SaveEquipment';\r\nimport cx from 'classnames';\r\nimport pmStyles from '../PMKitWidget.scss';\r\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer';\r\n\r\nconst FooterLinksAndButtons = ({\r\n isDataLoaded,\r\n isMachineLandingPage,\r\n pmKitLearnMoreLink,\r\n serialNumber,\r\n myEquipmentList,\r\n selectedEquipment,\r\n widgetIdentifier,\r\n isCEModel,\r\n openAddDrawer,\r\n openEditDrawer\r\n}) => {\r\n const [t] = useTranslation();\r\n const modalCtx = useContext(ModalContext);\r\n const { openSelectDrawer, getDrawerComponent } = useEquipmentDrawer();\r\n\r\n const { isQRCodeTempEquipment } = selectedEquipment;\r\n\r\n const modalTitle = t('SAVE_MY_EQUIPMENT');\r\n const buttonTitle = isQRCodeTempEquipment\r\n ? t('MEQ_SAVE_EQUIP')\r\n : t('MEQ_EDIT_EQUIP');\r\n const defaultProps = {\r\n modalTitle,\r\n widgetIdentifier,\r\n currentEquipment: selectedEquipment\r\n };\r\n const openModal = () => {\r\n isQRCodeTempEquipment\r\n ? modalCtx.addModalWithOptions(\r\n ,\r\n modalTitle\r\n )\r\n : openEditDrawer();\r\n };\r\n let meqButton;\r\n if (serialNumber) {\r\n if (myEquipmentList.length === 1) {\r\n meqButton = (\r\n \r\n \r\n {t('ADD_EQUIPMENT_ICON')}\r\n \r\n \r\n \r\n );\r\n } else if (myEquipmentList.length > 1) {\r\n meqButton = (\r\n \r\n \r\n {t('CHANGE_EQUIPMENT')}\r\n \r\n \r\n \r\n );\r\n }\r\n } else {\r\n meqButton = (\r\n \r\n \r\n {buttonTitle}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n
{meqButton}
\r\n
\r\n {isMachineLandingPage && (\r\n navigateToUrl(pmKitLearnMoreLink)}\r\n >\r\n \r\n {t('PM_KIT_UI4')}\r\n \r\n \r\n \r\n )}\r\n {getDrawerComponent({\r\n currentEquipment: selectedEquipment,\r\n myEquipmentList: myEquipmentList\r\n })}\r\n
\r\n \r\n );\r\n};\r\n\r\nFooterLinksAndButtons.propTypes = {\r\n isMachineLandingPage: PropTypes.bool,\r\n isDataLoaded: PropTypes.bool,\r\n serialNumber: PropTypes.string,\r\n pmKitLearnMoreLink: PropTypes.string,\r\n myEquipmentList: PropTypes.arrayOf(\r\n PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string]))\r\n ),\r\n storeId: PropTypes.string,\r\n selectedEquipment: PropTypes.shape({\r\n unValidatedEquipmentId: PropTypes.string,\r\n model: PropTypes.string,\r\n assetId: PropTypes.string,\r\n productId: PropTypes.string,\r\n equipmentFamily: PropTypes.string,\r\n uniqueIndex: PropTypes.string,\r\n serialNumber: PropTypes.string,\r\n validatedAsset: PropTypes.bool,\r\n imageURL: PropTypes.string\r\n }),\r\n widgetIdentifier: PropTypes.string,\r\n isCEModel: PropTypes.bool,\r\n openAddDrawer: PropTypes.func,\r\n openEditDrawer: PropTypes.func\r\n};\r\n\r\nexport default FooterLinksAndButtons;\r\n","import PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Dropdown } from 'cat-ecommerce-alloy';\r\n\r\nconst EquipmentRangeDropdown = ({\r\n modelsList,\r\n itemToString,\r\n getSerialRangeValue,\r\n selectedSerial,\r\n serialRangeErrors\r\n}) => {\r\n const [t] = useTranslation();\r\n const serialRangeList = modelsList.map((item, index) => ({\r\n displayValue: `${item.salesModel} ${item.serialNumberOrPrefix.prefix} ${item.serialNumberOrPrefix.low} ${item.serialNumberOrPrefix.high}`,\r\n value: index\r\n }));\r\n\r\n return (\r\n <>\r\n value}\r\n onChange={getSerialRangeValue}\r\n placeholder={{\r\n displayValue: t('PM_KIT_MODEL1'),\r\n value: 'placeholder'\r\n }}\r\n selected={selectedSerial}\r\n className={serialRangeErrors ? 'dropdown-invalid' : ''}\r\n />\r\n {serialRangeErrors &&

{t('PM_KIT_SERVICE_ERR')}

}\r\n \r\n );\r\n};\r\n\r\nEquipmentRangeDropdown.propTypes = {\r\n serialRangeErrors: PropTypes.shape({ message: PropTypes.string }),\r\n itemToString: PropTypes.func,\r\n modelsList: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n serialNumberOrPrefix: PropTypes.shape({\r\n prefix: PropTypes.string,\r\n high: PropTypes.string,\r\n low: PropTypes.string\r\n })\r\n })\r\n ),\r\n getSerialRangeValue: PropTypes.func,\r\n selectedSerial: PropTypes.shape({\r\n displayValue: PropTypes.string,\r\n value: PropTypes.number\r\n })\r\n};\r\n\r\nexport default EquipmentRangeDropdown;\r\n","import { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { InlineLoader } from 'cat-ecommerce-alloy';\nimport { replaceTokensInUrl, isEmpty } from '../../../../utils';\nimport { navigateToUrl } from '../../../../services/windowService';\nimport links from '../../../../constants/links';\nimport {\n IS_PM,\n CATCORP_ESITE_URL,\n UOM\n} from '../../../../constants/commonConstants';\nimport { useSelector, useDispatch } from 'react-redux';\nimport WidgetTitle from './WidgetTitle';\nimport EquipmentImageWithDescription from './EquipmentImageWithDescription';\nimport ServiceOptionsDropdown from './ServiceOptionsDropdown';\nimport FooterLinksAndButtons from './FooterLinksAndButtons';\nimport EquipmentRangeDropdown from './EquipmentRangeDropdown';\nimport useAnalytics from '../../../../hooks/useAnalytics/useAnalytics';\nimport cx from 'classnames';\nimport { LIST_SELECT_PM_KIT } from '../../analytics/analyticsConstants';\nimport {\n loadSSROBySerial,\n loadPMKitEquipmentDetails\n} from '../../../../store/mlp/actions';\nimport pmStyles from './PMKitWidget.scss';\nimport { getUnitOfMeasureCookie } from '../../UnitOfMeasureToggle/utils';\n\nconst PMKitWidget = ({\n selectedEquipment,\n myEquipmentList,\n storeId,\n widgetIdentifier,\n isCampaignLandingPage,\n isMachineLandingPage,\n openAddDrawer,\n openEditDrawer\n}) => {\n const [t] = useTranslation();\n const dispatch = useDispatch();\n const esiteURL = useSelector(s => s.common?.esiteURL);\n const catalogId = useSelector(s => s.common?.catalogId);\n const langId = useSelector(s => s.common?.langId);\n const defaultUnitOfMeasure = useSelector(s => s.common?.defaultUnitOfMeasure);\n const equipmentList = useSelector(s => s.mlp?.equipmentList);\n const pmKitOptions = useSelector(s => s.mlp?.pmKitOptions);\n const [selectedSerial, setSelectedSerial] = useState();\n const [selectedUnit, setSelectedUnit] = useState(\n getUnitOfMeasureCookie('uom') ??\n (defaultUnitOfMeasure?.toLowerCase() === UOM.metric ? UOM.metric : UOM.us)\n );\n const [selectedPMKit, setSelectedPMKit] = useState();\n const {\n firePMKitImpressionEvent,\n firePMKitProductClickEvent,\n firePMKitFormSubmitEvent\n } = useAnalytics();\n const { PMKIT_SSRO_BUNDLE_PAGE, PMKIT_LEARNMORE_LINK } = links;\n const serialNumber = selectedEquipment?.serialNumber;\n const salesModel = selectedEquipment?.model;\n const modelsList = equipmentList.data?.models || [];\n const serialRangeErrors = useSelector(s => s.errors?.mlp?.equipmentList);\n const pmKitErrors = useSelector(s => s.errors?.mlp?.selfServiceRepairOptions);\n const itemToString = item =>\n item && item.displayValue ? item.displayValue : '';\n const pmKitsList =\n pmKitOptions.data.bundleData?.bundles || pmKitErrors\n ? pmKitOptions.data.bundleData?.bundles\n : [];\n const isDataLoaded =\n (equipmentList.isLoaded && modelsList?.length === 0) ||\n (pmKitOptions.data.loaded && pmKitsList?.length === 0);\n const isCEModel = selectedEquipment.isCEModel;\n\n useEffect(() => {\n if (serialNumber) {\n dispatch(loadSSROBySerial(serialNumber, salesModel, IS_PM, isCEModel));\n } else {\n selectedEquipment.model &&\n !isCEModel &&\n dispatch(loadPMKitEquipmentDetails());\n }\n }, [dispatch, selectedEquipment, serialNumber, salesModel, isCEModel]);\n\n const loadServiceOption = serialValue => {\n equipmentList &&\n dispatch(\n loadSSROBySerial(serialValue.value, salesModel, IS_PM, isCEModel)\n );\n };\n\n const getSerialRangeValue = serialValue => {\n setSelectedSerial(serialValue);\n !isEmpty(serialValue) && loadServiceOption(serialValue);\n };\n\n const getCATKitValue = ssId =>\n pmKitOptions?.data?.bundleData?.bundles?.find(\n item => item.serviceOptionID === ssId\n );\n const isPmKitsLoadedSuccessfully =\n pmKitOptions.data.loaded && pmKitsList?.length > 0;\n\n useEffect(() => {\n isPmKitsLoadedSuccessfully &&\n firePMKitImpressionEvent(pmKitOptions, LIST_SELECT_PM_KIT, salesModel);\n }, [\n firePMKitImpressionEvent,\n pmKitOptions,\n salesModel,\n isPmKitsLoadedSuccessfully\n ]);\n\n if (pmKitErrors) {\n firePMKitFormSubmitEvent();\n }\n\n const redirectToBundlePage = ssId => {\n const { prefix, low, high } = serialNumber\n ? { prefix: '', low: '', high: '' }\n : equipmentList.data?.models[selectedSerial?.value]?.serialNumberOrPrefix;\n const isCATKitData = getCATKitValue(ssId);\n firePMKitFormSubmitEvent(\n prefix,\n low,\n high,\n isCATKitData,\n isPmKitsLoadedSuccessfully,\n salesModel,\n serialNumber,\n selectedUnit\n );\n const redirectUrl = replaceTokensInUrl(\n PMKIT_SSRO_BUNDLE_PAGE,\n storeId,\n catalogId,\n langId,\n ssId,\n IS_PM,\n serialNumber,\n salesModel,\n low,\n high,\n prefix,\n selectedUnit,\n isCATKitData?.isCATKit\n );\n navigateToUrl(redirectUrl);\n };\n\n const getPMKitValue = pmKitValue => {\n setSelectedPMKit(pmKitValue);\n !isEmpty(pmKitValue) && redirectToBundlePage(pmKitValue.value);\n !isEmpty(pmKitValue) &&\n firePMKitProductClickEvent({\n products: pmKitValue,\n list: LIST_SELECT_PM_KIT,\n dealerStore: storeId\n });\n };\n\n let serialNumberSection;\n if (serialNumber) {\n serialNumberSection = (\n
\n {salesModel} {serialNumber}\n
\n );\n } else {\n serialNumberSection = equipmentList.isEquipmentLoading ? (\n !isCEModel && \n ) : (\n \n );\n }\n\n const pmKitReplacedTokensInUrl = esiteURL\n ? replaceTokensInUrl(PMKIT_LEARNMORE_LINK, esiteURL)\n : replaceTokensInUrl(PMKIT_LEARNMORE_LINK, CATCORP_ESITE_URL);\n const pmKitLearnMoreLink = decodeURIComponent(pmKitReplacedTokensInUrl);\n\n return (\n
\n \n {isCEModel && !serialNumber &&

{t('ADD_SERIAL_NUMBER')}

}\n {isDataLoaded ? (\n

{t('PM_KIT_UI2')}

\n ) : (\n
\n {(!isCEModel || serialNumber) && (\n \n )}\n\n \n {serialNumberSection}\n {(selectedSerial || serialNumber) && (\n \n )}\n
\n
\n )}\n \n \n );\n};\n\nPMKitWidget.propTypes = {\n selectedEquipment: PropTypes.shape({\n unValidatedEquipmentId: PropTypes.string,\n model: PropTypes.string,\n assetId: PropTypes.string,\n productId: PropTypes.string,\n equipmentFamily: PropTypes.string,\n uniqueIndex: PropTypes.string,\n serialNumber: PropTypes.string,\n validatedAsset: PropTypes.bool,\n imageURL: PropTypes.string,\n isCEModel: PropTypes.bool\n }),\n myEquipmentList: PropTypes.arrayOf(\n PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string]))\n ),\n storeId: PropTypes.string,\n widgetIdentifier: PropTypes.string,\n isCampaignLandingPage: PropTypes.bool,\n isMachineLandingPage: PropTypes.bool,\n openAddDrawer: PropTypes.func,\n openEditDrawer: PropTypes.func\n};\n\nexport default PMKitWidget;\n","import PropTypes from 'prop-types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSelector } from 'react-redux';\r\nimport { ComponentLoader } from 'cat-ecommerce-alloy';\r\nimport AddEquipmentCTA from '../../../../components/common/myEquipmentHeader/equipmentPanel/AddEquipmentCTA';\r\nimport SelectEquipmentCTA from '../../../../components/common/myEquipmentHeader/equipmentPanel/SelectEquipmentCTA';\r\nimport { IS_PM } from '../../../../constants/commonConstants';\r\nimport PMKitWidget from '../PMKitWidget/PMKitWidget';\r\n\r\nconst PMKitCTA = ({\r\n selectedEquipment,\r\n myEquipmentList,\r\n widgetIdentifier,\r\n isCampaignLandingPage,\r\n isMachineLandingPage,\r\n openAddDrawer,\r\n openEditDrawer\r\n}) => {\r\n const [t] = useTranslation();\r\n const storeId = useSelector(s => s.common?.storeId);\r\n const isLoading = useSelector(s => s.myEquipment?.isLoading);\r\n const initialLoading = useSelector(s => s.myEquipment?.initialLoading);\r\n const serialNumValidationStatus = useSelector(\r\n state => state.myEquipment?.serialNumValidationStatus\r\n );\r\n const getPMKitCTAWidget = () => {\r\n if (\r\n (isLoading && serialNumValidationStatus !== 'pending') ||\r\n initialLoading\r\n ) {\r\n return ;\r\n } else if (!selectedEquipment?.model) {\r\n if (myEquipmentList.length === 0) {\r\n return (\r\n <>\r\n

\r\n {isCampaignLandingPage\r\n ? t('PM_CAMPAIGN_WIDGET')\r\n : t('PM_KIT_UI1')}\r\n

\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

\r\n {isCampaignLandingPage\r\n ? t('PM_CAMPAIGN_WIDGET')\r\n : t('PM_KIT_UI1')}\r\n

\r\n \r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {getPMKitCTAWidget()}\r\n
\r\n );\r\n};\r\n\r\nPMKitCTA.propTypes = {\r\n myEquipmentList: PropTypes.arrayOf(\r\n PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string]))\r\n ),\r\n selectedEquipment: PropTypes.shape({\r\n unValidatedEquipmentId: PropTypes.string,\r\n model: PropTypes.string,\r\n assetId: PropTypes.string,\r\n productId: PropTypes.string,\r\n equipmentFamily: PropTypes.string,\r\n uniqueIndex: PropTypes.string,\r\n serialNumber: PropTypes.string,\r\n validatedAsset: PropTypes.bool,\r\n imageURL: PropTypes.string\r\n }),\r\n widgetIdentifier: PropTypes.string,\r\n isCampaignLandingPage: PropTypes.bool,\r\n isMachineLandingPage: PropTypes.bool,\r\n openAddDrawer: PropTypes.func,\r\n openEditDrawer: PropTypes.func\r\n};\r\n\r\nexport default PMKitCTA;\r\n","import PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { IS_CAMPAIGN_LANDING_PAGE } from '../../../../constants/commonConstants';\nimport PMKitCTA from '../../../../components/common/PMKit/PMKitCTA';\nimport { FLEX_ALIGNMENT } from '../constants';\nimport cpStyles from './PMKitWidgetCTA.scss';\nimport useEquipmentDrawer from '@app/hooks/useEquipmentDrawer';\n\nconst PMKitWidgetCTA = ({ widgetProps }) => {\n const selectedEquipment = useSelector(\n s => s.myEquipment.equipments.selectedEquipment\n );\n const myEquipmentList = useSelector(\n s => s.myEquipment.equipments.myEquipmentList\n );\n const { openAddDrawer, openEditDrawer, getDrawerComponent } =\n useEquipmentDrawer();\n return (\n <>\n \n
\n \n
\n \n {getDrawerComponent({ currentEquipment: selectedEquipment })}\n \n );\n};\n\nPMKitWidgetCTA.propTypes = {\n widgetProps: PropTypes.shape({\n width: PropTypes.string,\n widgetAlignment: PropTypes.string\n })\n};\n\nexport default PMKitWidgetCTA;\n","// extracted by mini-css-extract-plugin\nexport default {\"PM-Kit-widget-container\":\"PM-Kit-widget-container\"};","import ProductListSpecificationsModal from '@app/components/common/ProductListSpecificationsModal';\nimport usePagination from '@app/components/pages/plp/usePagination';\nimport { useSelector } from 'react-redux';\nimport { useHistory, useLocation, useRouteMatch } from 'react-router-dom';\n\nconst ProductSpecificationModalContainer = ({\n widgetId,\n orderBy,\n queryActionParam,\n removeCurrentModal,\n handleCancelButton,\n title,\n className,\n isModal,\n bucketModelNumberFacet,\n setExpanded: productCardExpanded,\n detailsStatus,\n showSpecificationsToggle,\n appliedFacets,\n showLeftNav,\n productsArrayLength,\n fbeEnabled,\n setAppliedFacets\n}) => {\n const { hash, search } = useLocation();\n const { url } = useRouteMatch();\n const history = useHistory();\n const queryParamsObject = { history, url, hash, search };\n\n const {\n activeFacets,\n batchPartNumbers,\n unitOfMeasure,\n facets,\n filterByEquipment,\n partNumbers\n } = useSelector(state => state.marketingLandingPageUI[widgetId]);\n\n const { setUrlToPageOneWithFilter } = usePagination();\n return (\n \n );\n};\n\nexport default ProductSpecificationModalContainer;\n","import ProductListSpecifications from '@app/components/common/ProductListSpecifications';\nimport PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\nimport {\n marketingSetQueryParam,\n setMarketingProductCardExpanded,\n getMarketingProductDetails\n} from '@app/store/marketing/actions';\nimport MyEquipmentFilter from '@app/components/common/MyEquipmentFilter';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n APPLICATION_AND_MATERIAL_FACET_ID,\n PAGE_BREAKPOINTS,\n STATUS\n} from '@app/constants/commonConstants';\nimport { useBreakpoint, usePrevious } from '@app/hooks';\nimport queryString from 'query-string';\nimport { useLocation } from 'react-router-dom';\nimport usePagination from '@app/components/pages/plp/usePagination';\n\nconst ProductCardSidebar = ({\n isModal,\n widgetId,\n handleEquipmentCheck,\n showLeftNav\n}) => {\n const {\n facets,\n activeFacets,\n unitOfMeasure,\n showSpecificationsToggle,\n fbeEnabled,\n filterByEquipment,\n recordSetTotal,\n partNumbers,\n getProductDetailsStatus\n } = useSelector(state =>\n state.marketingLandingPageUI[widgetId]\n ? state.marketingLandingPageUI[widgetId]\n : {}\n );\n const [loadActivefacets, setLoadActivefacets] = useState(true);\n const { hash } = useLocation();\n const equipmentList = useSelector(\n s => s.myEquipment.equipments.myEquipmentList || []\n );\n const isMD = useBreakpoint(PAGE_BREAKPOINTS.MD);\n const dispatch = useDispatch();\n const { selectedEquipment } = useSelector(s => s.myEquipment.equipments);\n const { model, serialNumber } = selectedEquipment ? selectedEquipment : {};\n const isFilterByEquipment = partNumbers && showLeftNav && recordSetTotal > 0;\n const { setUrlToPageOneWithFilter } = usePagination();\n const initialEquipmentLoading = useSelector(\n s => s.myEquipment?.initialLoading\n );\n const uniqueIndex = useSelector(\n s => s.myEquipment?.equipments?.selectedEquipment?.uniqueIndex\n );\n const prevUniqueIndex = usePrevious(uniqueIndex);\n const equipmentChanged = !!(\n !initialEquipmentLoading &&\n getProductDetailsStatus !== STATUS.IDLE &&\n uniqueIndex !== prevUniqueIndex\n );\n const getfilterFromUrl = () => {\n const { filterByEquipment: filterFromHash } = queryString.parse(hash);\n let filterByValue;\n if (\n (!filterFromHash && selectedEquipment) ||\n !filterFromHash.includes(widgetId)\n ) {\n filterByValue = true;\n } else if (filterFromHash && filterFromHash.includes(widgetId)) {\n filterFromHash.split(',').forEach(item => {\n const widgetUrlValue = item.split('|');\n if (widgetUrlValue[1] == widgetId) {\n filterByValue = widgetUrlValue[0] === 'true' ? true : false;\n }\n });\n }\n return filterByValue;\n };\n const getFacetsValueFromUrl = () => {\n const { facets: facetsFromHash } = queryString.parse(hash);\n let facetsArray = [];\n if (facetsFromHash) {\n const newFacetsFromHash = Array.isArray(facetsFromHash)\n ? facetsFromHash\n : [facetsFromHash];\n if (newFacetsFromHash) {\n newFacetsFromHash.forEach(item => {\n const widgetUrlValue = item.split('|');\n if (widgetUrlValue[1] == widgetId) {\n facetsArray.push({ facet: widgetUrlValue[0] });\n }\n });\n }\n }\n return facetsArray;\n };\n const filterFromUrl = getfilterFromUrl();\n useEffect(() => {\n const facetsFromUrl = getFacetsValueFromUrl();\n isFilterByEquipment &&\n dispatch(\n marketingSetQueryParam({\n widgetId: widgetId,\n data: {\n pageNumber: 1,\n batchPartNumbers: [],\n filterByEquipment: filterFromUrl,\n activeFacets: activeFacets.length ? activeFacets : facetsFromUrl\n }\n })\n );\n isFilterByEquipment &&\n dispatch(getMarketingProductDetails(partNumbers, widgetId));\n }, [\n widgetId,\n partNumbers,\n filterByEquipment,\n selectedEquipment,\n dispatch,\n isFilterByEquipment\n ]);\n // this use effect will trigger the redraw if equipment changes\n useEffect(() => {\n const { orderBy: orderByFromUrl } = queryString.parse(hash);\n const facetsFromUrl = getFacetsValueFromUrl();\n if (equipmentChanged) {\n // when selecting equipment when none is selected we mimic checking the check to update redux, url and fetch\n if (prevUniqueIndex) {\n handleEquipmentCheck(true);\n // when selecting different equipment or deselecting\n } else {\n // update the url to remove filterByEquipment param when deselecting equipment\n if (!uniqueIndex) {\n setUrlToPageOneWithFilter({\n removeFilterByEquipment: true\n });\n }\n }\n }\n }, [\n dispatch,\n filterByEquipment,\n equipmentChanged,\n uniqueIndex,\n setUrlToPageOneWithFilter,\n handleEquipmentCheck\n ]);\n\n useEffect(() => {\n if (loadActivefacets && activeFacets?.length && facets.length) {\n let updatedActiveFacet = [];\n facets.forEach(facet => {\n facet.value.forEach(value => {\n if (facet.facetId === APPLICATION_AND_MATERIAL_FACET_ID) {\n Object.values(value).forEach(item => {\n item.forEach(i => {\n activeFacets.forEach(f => {\n if (i.facet === f.facet) {\n updatedActiveFacet.push(i);\n }\n });\n });\n });\n } else {\n let facetValueId = value.facet;\n activeFacets.forEach(f => {\n if (facetValueId === f.facet) {\n updatedActiveFacet.push(value);\n }\n });\n }\n });\n });\n dispatch(\n marketingSetQueryParam({\n widgetId: widgetId,\n data: {\n activeFacets: updatedActiveFacet\n }\n })\n );\n setLoadActivefacets(false);\n }\n }, [facets]);\n return (\n \n {fbeEnabled && (\n
\n \n
\n )}\n {isMD && (\n \n )}\n \n );\n};\nProductCardSidebar.propTypes = {\n widgetId: PropTypes.string,\n isModal: PropTypes.bool,\n handleEquipmentCheck: PropTypes.func\n};\n\nexport default ProductCardSidebar;\n","import ProductComparisonGrid from '@app/components/common/ProductComparisonGrid/ProductComparisonGrid';\nimport ProductListItemsCount from '@app/components/common/ProductListItemsCount';\nimport ProductListKey from '@app/components/common/ProductListKey';\nimport ProductListSortBy from '@app/components/common/ProductListSortBy';\nimport ProductSpecificationModalContainer from '../ProductSpecificationModalContainer';\nimport { PAGE_BREAKPOINTS, STATUS, UOM } from '@app/constants/commonConstants';\nimport { ERROR_DOMAIN, ERROR_PATH } from '@app/constants/errorConstants';\nimport { useBreakpoint, useEspot, useAnalytics } from '@app/hooks';\nimport {\n getMarketingProductDetails,\n marketingSetQueryParam,\n setMarketingProductCardExpanded\n} from '@app/store/marketing/actions';\nimport { getPriceAndAvailability } from '@app/store/products/actions';\nimport { isEmpty } from '@app/utils';\nimport {\n AlloyButton,\n FilterIcon,\n Loader,\n ModalContext\n} from 'cat-ecommerce-alloy';\nimport cx from 'classnames';\nimport React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n MARKETING_PAGE_UNIQUEID,\n GA_TRACKING_MARKETING_PRODUCT_CARD,\n MARKETING_PRODUCT_PAGE_SIZE\n} from '../../constants';\nimport { getPartNumbers } from '../../utils';\nimport ProductCardSidebar from './ProductCardSidebar/ProductCardSidebar';\nimport { useLocation } from 'react-router-dom';\nimport queryString from 'query-string';\nimport ProductListFilterBoxes from '@app/components/common/ProductListFilterBoxes';\nimport usePagination from '@app/components/pages/plp/usePagination';\nimport EquipmentNoResults from '@app/components/common/MyEquipmentFilter/EquipmentInformation/EquipmentNoResults/EquipmentNoResults';\nimport { getUrlByHashValue } from '@app/store/marketing/utils';\nimport { PRICE_AVAILABILITY_DEFAULT_ATTRIBUTE_PART_NUMBER } from '@app/store/products/constants';\n\nconst ProductCardGrid = props => {\n const widgetId = props.widgetId;\n const { addModalWithOptions, removeCurrentModal } = useContext(ModalContext);\n const partNumbersEspotName = props.widgetProps?.emsName;\n const widgetHeaderName = props.widgetProps?.productCardWidgetHeader;\n\n const [isOpen, setIsOpen] = useState(false);\n const [t] = useTranslation();\n const { fireProductImpressionEvent } = useAnalytics();\n const { setUrlToPageOneWithFilter } = usePagination();\n const { hash } = useLocation();\n const { filterByEquipment: filterByEquipmentUrl } = queryString.parse(hash);\n const { sortBy: orderByFromHashUrl } = queryString.parse(hash);\n const dispatch = useDispatch();\n const priceAndAvailibiltyStatus = useSelector(\n state =>\n state.marketingLandingPageUI[widgetId]?.getMarketingProductPriceStatus\n );\n const sortBy = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.sortBy\n );\n const getProductDetailsStatus = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.getProductDetailsStatus\n );\n const productCardExpandedArr = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.productCardExpandedArr\n );\n const batchPartNumbers = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.batchPartNumbers\n );\n const activeFacets = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.activeFacets\n );\n const unitOfMeasure = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.unitOfMeasure\n );\n const showSpecificationsToggle = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.showSpecificationsToggle\n );\n const recordSetTotal = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.recordSetTotal\n );\n const fireImpressionEvent = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.fireImpressionEvent\n );\n const filterByEquipment = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.filterByEquipment\n );\n const fbeEnabled = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.fbeEnabled\n );\n const pageNumber = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.pageNumber\n );\n const partNumbers = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.partNumbers\n );\n\n const facets = useSelector(\n state => state.marketingLandingPageUI[widgetId]?.facets\n );\n const { espotData } = useEspot(partNumbersEspotName);\n const getPartNumbersfromEspot = useCallback(() => {\n const partsObj = espotData?.[0] && espotData[0][partNumbersEspotName];\n let partnumbers = '';\n partsObj?.parts?.forEach(part => (partnumbers += `,${part.partNumber}`));\n return partnumbers.substring(1);\n }, [espotData]);\n const partNumber = getPartNumbersfromEspot();\n const { selectedEquipment } = useSelector(s => s.myEquipment.equipments);\n const getOrderByValueFromUrl = () => {\n const { sortBy: orderByFromHash } = queryString.parse(hash);\n let orderByValue = '0';\n if (orderByFromHash && orderByFromHash.includes(widgetId)) {\n orderByFromHash.split(',').forEach(item => {\n const widgetUrlValue = item.split('|');\n if (widgetUrlValue[1] == widgetId) {\n orderByValue = widgetUrlValue[0];\n }\n });\n }\n return orderByValue;\n };\n useEffect(() => {\n const orderByFromUrl = getOrderByValueFromUrl();\n dispatch(\n marketingSetQueryParam({\n widgetId: widgetId,\n isProductCardWidgetAvailable: true,\n data: {\n pageNumber: 1,\n getMarketingProductPriceStatus: STATUS.IDLE,\n getProductDetailsStatus: STATUS.IDLE,\n sortBy: orderByFromUrl,\n partNumbers: partNumber,\n current: '',\n unitOfMeasure: UOM.us,\n activeFacets: [],\n facets: [],\n showSpecificationsToggle: false\n }\n })\n );\n }, [widgetId, partNumber]);\n const getEspotProperties = useCallback(\n key => {\n const espotProperties =\n espotData?.[0] && espotData[0][partNumbersEspotName];\n let flag = 'false';\n espotProperties?.properties?.forEach(item => {\n if (item[key]) {\n flag = item[key];\n }\n });\n return flag;\n },\n [espotData, partNumbersEspotName]\n );\n const showLeftNav =\n getEspotProperties('enableMarketingPageFacets') === 'true';\n const showKeyComponent =\n getEspotProperties('enableMarketingPageKeyComponent') === 'true';\n\n const { byId: products, priceAndAvailability } = useSelector(\n state => state.products\n );\n const partNumbersArray = partNumber?.split(',');\n const productsArray = batchPartNumbers\n ?.map(part => {\n if (products[part]) {\n return products[part];\n }\n })\n .filter(item => item);\n const productsArrayLength = productsArray?.length;\n const currencyCode = useSelector(s => s.dealerCustomer?.currency) ?? '';\n\n useEffect(() => {\n fireImpressionEvent &&\n productsArrayLength &&\n fireProductImpressionEvent(\n GA_TRACKING_MARKETING_PRODUCT_CARD,\n productsArray,\n currencyCode\n );\n fireImpressionEvent &&\n productsArrayLength &&\n dispatch(\n marketingSetQueryParam({\n widgetId: widgetId,\n data: { fireImpressionEvent: false }\n })\n );\n }, [fireImpressionEvent, widgetId, productsArrayLength]);\n const hasCatalogEntries = !isEmpty(productsArray);\n useEffect(() => {\n partNumber &&\n dispatch(getMarketingProductDetails(partNumber, widgetId, true));\n }, [partNumber]);\n\n useEffect(() => {\n partNumber &&\n getProductDetailsStatus === STATUS.RESOLVED &&\n dispatch(\n getPriceAndAvailability({\n partsList: getPartNumbers(partNumber, productsArray),\n namespace: 'priceAndAvailability',\n statusActionPrefix: MARKETING_PAGE_UNIQUEID,\n errorInfo: {\n domain: ERROR_DOMAIN.MARKETING,\n path: ERROR_PATH.PRICE_AND_AVAILABILITY\n },\n widgetId,\n attributeId: PRICE_AVAILABILITY_DEFAULT_ATTRIBUTE_PART_NUMBER\n })\n );\n }, [partNumber, getProductDetailsStatus]);\n\n const handleSetExpanded = uniqueId => {\n dispatch(setMarketingProductCardExpanded(uniqueId, widgetId));\n };\n const loading = getProductDetailsStatus === STATUS.PENDING;\n const totalPartNumber = partNumbersArray?.length;\n const handleShowMoreClick = () => {\n dispatch(\n marketingSetQueryParam(\n {\n widgetId: widgetId,\n data: {\n pageNumber: pageNumber + 1\n }\n },\n true\n )\n );\n };\n const handleCancelButton = () => {\n removeCurrentModal();\n };\n const handleEquipmentCheck = useCallback(\n value => {\n dispatch(\n marketingSetQueryParam({\n widgetId: widgetId,\n data: {\n filterByEquipment: value,\n pageNumber: 1,\n batchPartNumbers: []\n }\n })\n );\n let activeFacetWithWidgetId = [];\n activeFacets?.forEach(item => {\n activeFacetWithWidgetId.push({ facet: `${item.facet}|${widgetId}` });\n });\n const filterByEqValue = widgetId\n ? getUrlByHashValue(value, widgetId, filterByEquipmentUrl)\n : value;\n const orderByValue = widgetId\n ? getUrlByHashValue(sortBy, widgetId, orderByFromHashUrl)\n : sortBy;\n\n setUrlToPageOneWithFilter({\n filterByEquipment: filterByEqValue,\n orderBy: orderByValue,\n fbeEnabledValue: fbeEnabled,\n isMarketingPage: true,\n facets: activeFacetWithWidgetId\n });\n dispatch(getMarketingProductDetails(partNumber, widgetId, true));\n },\n [\n dispatch,\n widgetId,\n filterByEquipmentUrl,\n sortBy,\n orderByFromHashUrl,\n setUrlToPageOneWithFilter,\n fbeEnabled,\n partNumber,\n activeFacets\n ]\n );\n const [appliedFacets, setAppliedFacets] = useState(activeFacets);\n const restoreInitialActiveFacets = useCallback(() => {\n dispatch(\n marketingSetQueryParam(\n {\n widgetId: widgetId,\n data: {\n activeFacets: appliedFacets ? appliedFacets : [],\n pageNumber: 1,\n batchPartNumbers: []\n }\n },\n true\n )\n );\n }, [appliedFacets]);\n const isMD = useBreakpoint(PAGE_BREAKPOINTS.MD);\n useEffect(() => {\n if (!isOpen && !isMD) {\n restoreInitialActiveFacets();\n }\n }, [isOpen, isMD, restoreInitialActiveFacets]);\n\n const showSpecificationsModal = useCallback(() => {\n setAppliedFacets(activeFacets);\n const title = t('Filter_And_Sort');\n const onOpen = () => setIsOpen(true);\n const onClose = () => {\n setIsOpen(false);\n };\n addModalWithOptions(\n ,\n {\n isRequired: false,\n onOpen,\n onClose,\n title\n }\n );\n }, [\n addModalWithOptions,\n removeCurrentModal,\n t,\n productCardExpandedArr,\n productsArrayLength,\n activeFacets\n ]);\n\n useEffect(() => {\n if (isOpen && isMD) {\n removeCurrentModal();\n }\n }, [isMD, isOpen, removeCurrentModal]);\n\n return (\n
\n

\n {widgetHeaderName ? widgetHeaderName : t('SHOP_PARTS')}\n

\n \n
\n \n
\n {productsArrayLength > 0 && (\n
\n {isMD ? (\n \n ) : (\n \n {`(${\n productsArrayLength ?? 0\n })`}\n {t('Filter_And_Sort')}\n \n \n )}\n
\n )}\n
\n\n
\n {showLeftNav && (\n \n )}\n \n {isMD && (\n \n )}\n {(() => {\n if (hasCatalogEntries) {\n return (\n \n );\n } else if (\n selectedEquipment &&\n filterByEquipment &&\n getProductDetailsStatus !== STATUS.PENDING\n ) {\n return ;\n } else {\n return null;\n }\n })()}\n\n {recordSetTotal > productsArrayLength &&\n productsArrayLength >= MARKETING_PRODUCT_PAGE_SIZE && (\n
\n {loading && }\n \n {t('LOAD_MORE')}\n \n
\n )}\n {showKeyComponent && (\n \n )}\n
\n \n \n );\n};\n\nexport default ProductCardGrid;\n","export const CONTENT_ALIGNMENT = {\n TOP: 'top',\n BOTTOM: 'bottom',\n LEFT: 'left',\n RIGHT: 'right'\n};\nexport const HALF_WIDTH_CLASSNAME = 'col-sm-12 col-md-6 float-start';\nexport const FULL_WIDTH_CLASSNAME = 'col-sm-12';\n","import { useEffect, useState, useCallback } from 'react';\nimport { useEspot } from '@app/hooks';\nimport cx from 'classnames';\nimport { EmbeddedVideo } from 'cat-ecommerce-alloy';\nimport { v4 } from 'uuid';\nimport VideoWarning from '../../../../common/VideoWarning/VideoWarning';\nimport Espot from '@app/components/common/Espot/Espot';\nimport styles from './youtubeWidget.module.scss';\nimport {\n CONTENT_ALIGNMENT,\n HALF_WIDTH_CLASSNAME,\n FULL_WIDTH_CLASSNAME\n} from './constants';\nimport PropTypes from 'prop-types';\nimport { isConsentTypeAvailable } from '@app/utils';\nimport { ONETRUST } from '@app/constants/commonConstants';\n\nconst YoutubeWidget = ({ widgetProps }) => {\n const { emsName } = widgetProps;\n const { espotData } = useEspot(emsName);\n const [widgetLayout, setWidgetLayout] = useState([]);\n const [isCookiesAccepted, setIsCookiesAccepted] = useState(\n isConsentTypeAvailable(ONETRUST.TARGET_COOKIES_ACCEPTED)\n );\n const videoUrls = espotData[0] && espotData[0][emsName].properties[0].url;\n\n const contentAlignment =\n espotData[0] && espotData[0][emsName].properties[0].contentAlignment;\n const contents = espotData[0] && espotData[0][emsName].contents;\n const urlArray = videoUrls?.split(';');\n const widthAndAlignment =\n contentAlignment === CONTENT_ALIGNMENT.LEFT ||\n contentAlignment === CONTENT_ALIGNMENT.RIGHT\n ? HALF_WIDTH_CLASSNAME\n : FULL_WIDTH_CLASSNAME;\n\n const getEmbedVideoRenderData = useCallback(\n url => {\n const contentAlignDirection =\n contentAlignment === CONTENT_ALIGNMENT.LEFT ||\n contentAlignment === CONTENT_ALIGNMENT.RIGHT ||\n urlArray?.length > 1\n ? styles.video_height_half_width\n : styles.video_height_full_width;\n return {\n id: v4(),\n component: isCookiesAccepted ? EmbeddedVideo : VideoWarning,\n class: isCookiesAccepted\n ? widthAndAlignment\n : `${widthAndAlignment} position-relative ${styles.warning_message}`,\n props: {\n url,\n className: isCookiesAccepted\n ? contentAlignDirection\n : `${styles.warning_width}`\n }\n };\n },\n [isCookiesAccepted, contentAlignment, videoUrls]\n );\n\n const getEspotRenderData = useCallback(\n contents => {\n return {\n id: v4(),\n component: Espot,\n class: widthAndAlignment,\n props: {\n html: { contents }\n }\n };\n },\n [contentAlignment]\n );\n\n const getLayoutData = useCallback(\n urlList => {\n const layoutData = [];\n urlList.forEach((item, index) => {\n const rowContainer = {\n id: v4(),\n class:\n urlList.length > 1 ? HALF_WIDTH_CLASSNAME : FULL_WIDTH_CLASSNAME,\n children: []\n };\n if (\n contentAlignment === CONTENT_ALIGNMENT.TOP ||\n contentAlignment === CONTENT_ALIGNMENT.LEFT\n ) {\n rowContainer.children.push(getEspotRenderData(contents[index]));\n rowContainer.children.push(getEmbedVideoRenderData(item));\n } else if (\n contentAlignment === CONTENT_ALIGNMENT.BOTTOM ||\n contentAlignment === CONTENT_ALIGNMENT.RIGHT\n ) {\n rowContainer.children.push(getEmbedVideoRenderData(item));\n rowContainer.children.push(getEspotRenderData(contents[index]));\n } else {\n rowContainer.children.push(getEmbedVideoRenderData(item));\n }\n layoutData.push(rowContainer);\n });\n return layoutData;\n },\n [contentAlignment, contents, getEmbedVideoRenderData, getEspotRenderData]\n );\n\n useEffect(() => {\n urlArray?.length && setWidgetLayout(getLayoutData(urlArray));\n }, [videoUrls, getLayoutData]);\n\n useEffect(() => {\n window.addEventListener('OneTrustGroupsUpdated', () => {\n const consentTypeAvailable = isConsentTypeAvailable(\n ONETRUST.TARGET_COOKIES_ACCEPTED\n );\n if (consentTypeAvailable) {\n setIsCookiesAccepted(consentTypeAvailable);\n }\n });\n }, [widgetLayout]);\n\n return (\n
\n
\n
\n {widgetLayout.map(item => {\n return (\n \n {item.children.map(elem => {\n const Comp = elem.component;\n return (\n \n \n
\n );\n })}\n
\n );\n })}\n
\n \n \n );\n};\n\nYoutubeWidget.propTypes = {\n widgetProps: PropTypes.shape({\n emsName: PropTypes.string\n })\n};\n\nexport default YoutubeWidget;\n","// extracted by mini-css-extract-plugin\nexport default {\"warning_message\":\"warning_message_ltwcOegL\",\"warning_width\":\"warning_width_f0nCZbXo\",\"youtube-widget--container\":\"youtube-widget--container_aajP0hue\",\"video_height_half_width\":\"video_height_half_width_GF_E1L92\",\"video_height_full_width\":\"video_height_full_width_vkpCoOSS\",\"youtube-widget--children\":\"youtube-widget--children_K_O6hE7y\"};","import {\n SINGLE_COLUMN_TEMPLATE,\n ESPOT_COMPONENT,\n MY_EQUIPMENT_COMPONENT,\n PM_KIT_WIDGET_COMPONENT,\n PRODUCTCARD_COMPONENT,\n YOUTUBE_COMPONENT\n} from './constants';\n\n// Templates\nimport SingleColumn from './templates/SingleColumn';\n\n// Components\nimport Espot from './components/Espot';\nimport MyEquipmentCTA from './components/MyEquipmentCTA';\nimport PMKitWidgetCTA from './components/PMKitWidgetCTA';\nimport ProductCardGrid from './components/ProductCardGrid/ProductCardGrid';\nimport YoutubeWidget from './components/YoutubeWidget/YoutubeWidget';\n\nexport const templateMapping = {\n [SINGLE_COLUMN_TEMPLATE]: SingleColumn\n};\nexport const componentMapping = {\n [ESPOT_COMPONENT]: Espot,\n [MY_EQUIPMENT_COMPONENT]: MyEquipmentCTA,\n [PM_KIT_WIDGET_COMPONENT]: PMKitWidgetCTA,\n [PRODUCTCARD_COMPONENT]: ProductCardGrid,\n [YOUTUBE_COMPONENT]: YoutubeWidget\n};\n","import { createElement } from 'react';\nimport { templateMapping } from '../mapping';\n\n// TODO: Error Handling\nexport const getTemplate = (templateId, props = {}) => {\n return !!templateMapping[templateId] ? (\n createElement(templateMapping[templateId], props)\n ) : (\n
{`Template with id ${templateId} does not exist.`}
\n );\n};\n","import PropTypes from 'prop-types';\nimport { getSessionStorage } from '@app/utils';\nimport { memo, useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport {\n LEGAL_PRIVACY_PAGE,\n STICKY_TIMEOUT\n} from '@app/constants/commonConstants';\nimport { getTemplate } from './templates';\n\nconst TemplateManager = ({ layoutData, espotData, getEspotContent }) => {\n const { hash } = useLocation();\n const { widgetDefinitionIdentifier: templateId, childWidget = [] } =\n layoutData;\n\n const sortedWidgets = [...childWidget].sort(\n (a, b) => a.widgetSequence - b.widgetSequence\n );\n\n const legalPrivacyPageStorage = getSessionStorage(LEGAL_PRIVACY_PAGE);\n\n useEffect(() => {\n const LegalNotices = document.getElementById(hash.substring(1));\n if (LegalNotices) {\n const stickyHeaderHeight = document\n ?.getElementById('react-root-header')\n ?.getBoundingClientRect()?.height;\n\n if (window?.scrollY) {\n setTimeout(() => {\n window.scroll({\n behavior: 'smooth',\n left: 0,\n top: window?.scrollY - stickyHeaderHeight\n });\n }, STICKY_TIMEOUT);\n }\n }\n }, [hash, legalPrivacyPageStorage]);\n\n return (\n
\n {getTemplate(templateId, {\n widgets: sortedWidgets,\n espotData: espotData,\n getEspotContent: getEspotContent\n })}\n
\n );\n};\n\nTemplateManager.propTypes = {\n layoutData: PropTypes.shape({\n widgetDefinitionIdentifier: PropTypes.string.isRequired,\n childWidget: PropTypes.arrayOf(\n PropTypes.shape({\n slot: PropTypes.string.isRequired,\n widgetDefinitionIdentifier: PropTypes.string.isRequired,\n widgetSequence: PropTypes.number.isRequired,\n widgetProps: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n )\n })\n ).isRequired\n }).isRequired,\n espotData: PropTypes.objectOf(PropTypes.string),\n getEspotContent: PropTypes.func\n};\n\nexport default memo(TemplateManager);\n","import { PageLoader } from 'cat-ecommerce-alloy';\nimport { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useLocation } from 'react-router';\nimport { ERROR_DOMAIN, ERROR_PATH } from '../../../constants/errorConstants';\nimport { CMC_MARKETING_TARGET } from '../../../constants/targets';\nimport { useEspot, usePopulateDataLayer } from '../../../hooks';\nimport { setError } from '../../../store/exception/actions';\nimport { normalizeError } from '../../../store/exception/utils';\nimport ExceptionFeedbackBySelector from '../../common/Exception/ExceptionFeedbackBySelector';\nimport { GA_TRACKING_TEMPLATE_NAME } from './constants';\nimport useLayoutService from './hooks/useLayoutService';\nimport styles from './marketing.module.scss';\nimport TemplateManager from './TemplateManager';\nimport '@app/special-characters-support.scss';\n\nconst MarketingPageContainer = () => {\n const errors = useSelector(state => state.errors);\n const dispatch = useDispatch();\n const location = useLocation();\n\n const { layoutData, espotNames, isLayoutLoading } = useLayoutService();\n const { espotData, isEspotLoading, espotError, getEspotContent } =\n useEspot(espotNames);\n\n useEffect(() => {\n if (espotError) {\n dispatch(\n setError(\n ERROR_DOMAIN.MARKETING,\n ERROR_PATH.PAGE_LAYOUT,\n normalizeError(espotError)\n )\n );\n }\n }, [espotError, dispatch]);\n\n const urlArr = location.pathname.split('/');\n const urlParam = urlArr[urlArr.length - 1];\n const templateName = `${GA_TRACKING_TEMPLATE_NAME} ${urlParam}`;\n usePopulateDataLayer(templateName);\n\n const getErrorOrLoading = () => {\n if (!!errors?.[ERROR_DOMAIN.MARKETING]?.[ERROR_PATH.PAGE_LAYOUT]) {\n return (\n
\n \n state.errors?.[ERROR_DOMAIN.MARKETING]?.[ERROR_PATH.PAGE_LAYOUT]\n }\n errorCodeLabel={'MLP_ERROR4'}\n showContactUs={true}\n />\n
\n );\n }\n if (isLayoutLoading || isEspotLoading) {\n return ;\n }\n return null;\n };\n\n return createPortal(\n
\n {getErrorOrLoading() || (\n \n )}\n
,\n document.getElementById(CMC_MARKETING_TARGET)\n );\n};\n\nexport default MarketingPageContainer;\n","// extracted by mini-css-extract-plugin\nexport default {\"marketing-page__container\":\"marketing-page__container_PohtuUu9\"};","import { normalizeError } from '../exception/utils';\r\nimport { MLP_ERROR_MESSAGE } from '../../constants/errorConstants';\r\n\r\nexport const normalizeServerError = (\r\n payload,\r\n errorMessage = MLP_ERROR_MESSAGE\r\n) => {\r\n const err = normalizeError(payload, errorMessage);\r\n const errorObj = Array.isArray(payload.data.errors)\r\n ? payload.data.errors[0]\r\n : payload.data.errors;\r\n err.code = errorObj?.errorCode;\r\n return err;\r\n};\r\n","import resolvedEndpoints from '../../constants/endpoints';\nimport { getHttpInstance } from '../../services/defaultHttpService';\nimport * as types from './constants';\nimport { normalizeError } from '../exception/utils';\nimport {\n ERROR_DOMAIN,\n ERROR_PATH,\n MLP_ERROR_MESSAGE,\n PMKIT_ERROR_MESSAGE\n} from '../../constants/errorConstants';\nimport { setError, clearError } from '../exception/actions';\nimport { replaceTokensInString, isEmpty } from '../../utils';\nimport {\n NO_CACHE_HEADER,\n TIMEOUT_EXTENDED\n} from '../../constants/commonConstants';\nimport { normalizeServerError } from './utils';\nimport { replaceTokensInUrl } from '@app/utils';\nimport { replaceFromString } from '@app/utils/stringUtils';\n\nconst {\n MACHINE_DETAILS_LUCID,\n LOAD_MACHINE_DETAILS,\n LOAD_SSRO_URLFORSERIALNUMBER,\n LOAD_SSRO_URLFORMODEL,\n PMKIT_EQUIPMENT_DETAILS_URL,\n EQUIPMENT_SPECIFIC_PART_CATEGORIES,\n BEST_SELLER\n} = resolvedEndpoints;\n\nexport const loadMachineDetails =\n (isMachineDetailsFlag, serialNumber = '', salesModel = '') =>\n (dispatch, getState) => {\n const http = getHttpInstance();\n const {\n locale,\n langId,\n catalogId,\n storeId,\n storeIdentifier,\n featureDetails\n } = getState().common;\n const featureValues = featureDetails.data ?? {};\n const { current: productId } = getState().products;\n dispatch({ type: types.MLP_LOAD_EQUIPMENTDETAILS_BEGIN });\n\n const urlParams = isMachineDetailsFlag\n ? { serialNumber, locale, storeIdentifier, salesModel, langId }\n : {\n langId,\n catalogId,\n storeId,\n productId,\n serialNumber\n };\n const url = isMachineDetailsFlag\n ? replaceTokensInString(MACHINE_DETAILS_LUCID, storeId)\n : LOAD_MACHINE_DETAILS;\n const config = { headers: NO_CACHE_HEADER };\n return http\n .get(url, { params: urlParams }, config)\n .then(response => {\n if (response.data.errors) {\n const err = normalizeServerError(response);\n dispatch(\n setError(ERROR_DOMAIN.MLP, ERROR_PATH.EQUIPMENT_DETAILS, err)\n );\n dispatch({ type: types.MLP_LOAD_EQUIPMENTDETAILS_FAIL }, response);\n } else {\n const { equipmentDetails } = response.data;\n if (isMachineDetailsFlag) {\n const { model, name } = equipmentDetails;\n equipmentDetails.family = replaceFromString(model, name);\n }\n if (\n equipmentDetails.categories &&\n equipmentDetails.code === types.ELECTRIC_MACHINE_CODE\n ) {\n equipmentDetails.categories = equipmentDetails.categories.filter(\n part =>\n !featureValues.PCC_ALP_NON_RELATED_CATEGORIES.includes(\n part.identifier\n )\n );\n }\n dispatch({\n type: types.MLP_LOAD_EQUIPMENTDETAILS_SUCCESS,\n payload: {\n equipmentDetails: equipmentDetails\n }\n });\n }\n })\n .catch(payload => {\n const err = normalizeError(payload, MLP_ERROR_MESSAGE);\n dispatch(setError(ERROR_DOMAIN.MLP, ERROR_PATH.EQUIPMENT_DETAILS, err));\n dispatch({ type: types.MLP_LOAD_EQUIPMENTDETAILS_FAIL }, payload);\n });\n };\n\nexport const loadPartsByCategory =\n (serialNumber, salesModel, subCategoryLimit = 0) =>\n (dispatch, getState) => {\n const http = getHttpInstance(TIMEOUT_EXTENDED);\n const { code } = getState().mlp.equipmentDetails.data ?? '';\n const { langId, storeId, featureDetails } = getState().common;\n const featureValues = featureDetails.data ?? {};\n\n dispatch({ type: types.MLP_LOAD_CATEGORIES_BEGIN });\n const urlParams = {\n langId,\n serialNumber,\n salesModel,\n subCategoryLimit\n };\n const url = replaceTokensInUrl(EQUIPMENT_SPECIFIC_PART_CATEGORIES, storeId);\n const config = { headers: NO_CACHE_HEADER };\n return http\n .get(url, { params: urlParams }, config)\n .then(response => {\n let { categories, totalCount } =\n response.data.categoriesForSelectedEquipment;\n if (code === types.ELECTRIC_MACHINE_CODE) {\n categories =\n response.data.categoriesForSelectedEquipment.categories.filter(\n part =>\n !featureValues.PCC_ALP_NON_RELATED_CATEGORIES.includes(\n part.identifier\n )\n );\n totalCount = categories.length;\n }\n dispatch({\n type: types.MLP_LOAD_CATEGORIES_SUCCESS,\n payload: {\n partsByCategory: categories,\n totalCount: totalCount\n }\n });\n })\n .catch(payload => {\n const err = normalizeError(payload, MLP_ERROR_MESSAGE);\n dispatch(setError(ERROR_DOMAIN.MLP, ERROR_PATH.PARTS_BY_CATEGORY, err));\n dispatch({ type: types.MLP_LOAD_CATEGORIES_FAIL }, payload);\n });\n };\n\nexport const loadTopSellingPartsInfo =\n (salesModel, category, serialNumber = '') =>\n (dispatch, getState) => {\n const http = getHttpInstance();\n const { storeIdentifier, langId, storeId } = getState().common;\n dispatch({ type: types.MLP_LOAD_TOPSELLINGPARTS_BEGIN });\n const url = replaceTokensInUrl(\n BEST_SELLER,\n langId,\n storeId,\n storeIdentifier,\n salesModel,\n category,\n serialNumber\n );\n return http\n .get(url)\n .then(response => {\n const parts = response.data?.BestSellers ?? [];\n dispatch({\n type: types.MLP_LOAD_TOPSELLINGPARTS_SUCCESS,\n payload: {\n topSellingParts: {\n topSellingParts: parts,\n viewMore: '',\n totalCount: parts.length\n }\n }\n });\n })\n .catch(payload => {\n dispatch({ type: types.MLP_LOAD_TOPSELLINGPARTS_FAIL }, payload);\n });\n };\nconst dispatchSsroError = (payload, dispatch, error) => {\n dispatch(\n setError(ERROR_DOMAIN.MLP, ERROR_PATH.SELF_SERVICE_REPAIR_OPTIONS, error)\n );\n dispatch({ type: types.MLP_LOAD_SSRO_FAIL }, payload);\n};\n\nconst handleSsroServerError = (payload, dispatch) => {\n const err = normalizeServerError(payload);\n dispatchSsroError(payload, dispatch, err);\n};\n\nconst handleSsroClientError = (payload, dispatch) => {\n const err = normalizeError(payload, MLP_ERROR_MESSAGE);\n dispatchSsroError(payload, dispatch, err);\n};\n\nexport const loadSSROBySerial =\n (serialNumber, salesModel, isPM, isCE) => (dispatch, getState) => {\n const http = getHttpInstance();\n const {\n common: { langId, catalogId, storeId },\n mlp: { equipmentList },\n products: { current: productId }\n } = getState();\n const { prefix, low, high } =\n typeof serialNumber === 'number' &&\n equipmentList.data.models[serialNumber]?.serialNumberOrPrefix;\n serialNumber = typeof serialNumber === 'number' ? prefix : serialNumber;\n const config = { headers: NO_CACHE_HEADER };\n if (isPM) {\n dispatch({ type: types.MLP_LOAD_SSRO_PM_KIT_BEGIN });\n } else {\n dispatch({ type: types.MLP_LOAD_SSRO_BEGIN });\n }\n const urlParams = {\n productId,\n langId,\n catalogId,\n serialNumber,\n salesModel,\n serialNoBegin: low,\n serialNoEnd: high,\n isPM,\n isCE\n };\n const url = replaceTokensInString(LOAD_SSRO_URLFORSERIALNUMBER, storeId);\n return http\n .get(url, { params: urlParams }, config)\n .then(response => {\n if (response.data.errors) {\n handleSsroServerError(response, dispatch);\n } else {\n if (response.data.bundles?.length) {\n dispatch({\n type: types.MLP_LOAD_SSRO_SERIAL_SUCCESS,\n payload: {\n bundleData: response.data\n }\n });\n } else {\n dispatch({\n type: types.MLP_LOAD_SSRO_FAIL,\n payload: { isPMKit: isPM }\n });\n }\n }\n })\n .catch(payload => {\n if (isPM) {\n const err = normalizeError(payload, MLP_ERROR_MESSAGE);\n dispatch(\n setError(\n ERROR_DOMAIN.MLP,\n ERROR_PATH.SELF_SERVICE_REPAIR_OPTIONS,\n err\n )\n );\n dispatch({\n type: types.MLP_LOAD_SSRO_FAIL,\n payload: { isPMKit: isPM }\n });\n } else {\n handleSsroClientError(payload, dispatch);\n }\n });\n };\n\nexport const loadSSROByModel = (model, isPM) => (dispatch, getState) => {\n const http = getHttpInstance();\n const { langId, catalogId, storeId } = getState().common;\n const { current: productId } = getState().products;\n const config = { headers: NO_CACHE_HEADER };\n if (isPM) {\n dispatch({ type: types.MLP_LOAD_SSRO_PM_KIT_BEGIN });\n } else {\n dispatch({ type: types.MLP_LOAD_SSRO_BEGIN });\n }\n\n const urlParams = {\n productId,\n langId,\n catalogId\n };\n const url = replaceTokensInString(\n LOAD_SSRO_URLFORMODEL,\n storeId,\n encodeURIComponent(model)\n );\n return http\n .get(url, { params: urlParams }, config)\n .then(response => {\n if (response.data.errors) {\n handleSsroServerError(response, dispatch);\n } else {\n const { ssroBundlesExist } = response.data;\n dispatch({\n type: types.MLP_LOAD_SSRO_MODEL_SUCCESS,\n payload: {\n ssroBundlesExist: ssroBundlesExist,\n bundleData: { bundles: [] }\n }\n });\n }\n })\n .catch(payload => {\n handleSsroClientError(payload, dispatch);\n });\n};\n\nexport const loadSSROOptions =\n (runDispatch, serialNumber, model) => (dispatch, getState) => {\n if (runDispatch && serialNumber && model) {\n dispatch(loadSSROBySerial(serialNumber, model)).then(() => {\n const { ssroBundlesExist, bundleData } =\n getState().mlp.ssroOptions.data;\n if (\n (ssroBundlesExist === null || ssroBundlesExist === undefined) &&\n isEmpty(bundleData)\n ) {\n dispatch(loadSSROByModel(model));\n }\n });\n } else if (runDispatch && model) {\n dispatch(loadSSROByModel(model));\n } else if (isEmpty(model)) {\n handleSsroServerError({}, dispatch);\n }\n };\n\nexport const loadPMKitEquipmentDetails =\n (equipmentModel = null) =>\n (dispatch, getState) => {\n const http = getHttpInstance();\n const {\n common: { storeId, langId },\n myEquipment: { equipments }\n } = getState();\n const salesModel = equipmentModel ?? equipments.selectedEquipment.model;\n dispatch({ type: types.PMKIT_EQUIPMENTDETAILS_BEGIN });\n const url = replaceTokensInString(\n PMKIT_EQUIPMENT_DETAILS_URL,\n storeId,\n salesModel,\n langId\n );\n return http\n .get(url)\n .then(response => {\n if (response.data.errors) {\n const err = normalizeServerError(response);\n dispatch(setError(ERROR_DOMAIN.MLP, ERROR_PATH.EQUIPMENT_LIST, err));\n dispatch({ type: types.PMKIT_EQUIPMENTDETAILS_FAIL });\n } else {\n if (response.data.equipment?.models?.length) {\n dispatch(clearError(ERROR_DOMAIN.MLP, ERROR_PATH.EQUIPMENT_LIST));\n dispatch({\n type: types.PMKIT_EQUIPMENTDETAILS_SUCCESS,\n payload: response.data.equipment\n });\n } else {\n dispatch({ type: types.PMKIT_EQUIPMENTDETAILS_FAIL });\n }\n }\n })\n .catch(payload => {\n const err = normalizeError(payload, PMKIT_ERROR_MESSAGE);\n dispatch(setError(ERROR_DOMAIN.MLP, ERROR_PATH.EQUIPMENT_LIST, err));\n dispatch({ type: types.PMKIT_EQUIPMENTDETAILS_FAIL });\n });\n };\n\nexport default {\n loadMachineDetails,\n loadPartsByCategory,\n loadTopSellingPartsInfo,\n loadSSROBySerial,\n loadSSROByModel,\n loadSSROOptions,\n loadPMKitEquipmentDetails\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"equipment-fitment__no-equipment\":\"equipment-fitment__no-equipment\",\"pm-kit-text\":\"pm-kit-text\",\"equipment-fitment__selected-equipment\":\"equipment-fitment__selected-equipment\",\"equipment-fitment__img\":\"equipment-fitment__img\",\"equipment-fitment__details\":\"equipment-fitment__details\",\"custom-checkbox\":\"custom-checkbox\"};"],"names":["EquipmentNoResults","_ref","onCheck","t","useTranslation","imageUrl","useSelector","s","_s$myEquipment","myEquipment","equipments","selectedEquipment","imageURL","model","_s$myEquipment2","serialNumber","_s$myEquipment3","equipmentFamily","_s$myEquipment4","noMatchingPartsText","replaceTokenWithElement","useReplaceTokenWithElement","_jsxs","className","children","_jsx","src","alt","concat","width","height","cx","styles","AlloyButton","buttonType","size","onClick","propTypes","PropTypes","ProductListFilterBoxes","activeFacets","queryActionParam","widgetId","setUrlToPageOneWithFilter","fbeEnabled","dispatch","useDispatch","hash","useLocation","facetsFromHash","queryString","parse","facets","facetsArray","Array","isArray","_queryString$parse2","orderByFromUrl","orderBy","filterByEquipmentFromUrl","filterByEquipment","updatedOrderBy","isEmpty","_Fragment","map","_ref3","facet","label","_ref3$groupLabel","groupLabel","chipLabel","facetbox","updatedActiveFacets","filter","_ref2","data","pageNumber","batchPartNumbers","forEach","item","split","splice","indexOf","_defineProperty","getActiveFacets","activeFacetsWithWidgetId","j","push","finalUrlFacets","includes","activeFacetsPropTypes","_ref$className","SystemFeedback","type","AddEquipmentCTA","addEquipmentCTADescription","addEquipmentCTATitle","loading","isPM","_useEquipmentDrawer","useEquipmentDrawer","openAddDrawer","getDrawerComponent","id","ComponentLoader","storeId","widgetIdentifier","DisplayEquipment","props","mccRedirect","window","location","href","isFilteredByEquipment","myEquipmentList","hideCheckbox","displaySSROCTA","openEditDrawer","openSelectDrawer","modalCtx","useContext","ModalContext","str","replaceTokensInString","isQRCodeTempEquipment","modalTitle","defaultProps","currentEquipment","addModalWithOptions","SaveEquipment","_objectSpread","isTempEquipmentMessage","Checkbox","name","onChange","url","URL","searchParams","set","pathname","search","checked","seoUrl","SelectEquipmentCTA","selectedEquipmentCTADescription","selectedEquipmentCTATitle","getPropMap","arguments","length","undefined","reduce","acc","cur","value","getPartNumbers","partNumberData","productsArray","product","partObj","_product$itemPartNumb","partNumber","itemPartNumber","quantity","uniqueId","_useState2","_slicedToArray","useState","layoutData","setLayoutData","_useState4","espotNames","setEspotNames","_useState6","isLayoutLoading","setIsLayoutLoading","state","common","useEffect","_document$getElementB","pageId","document","getElementById","CMC_MARKETING_TARGET","getAttribute","endpoints","CMC_MARKETING_LAYOUT_DATA_URL","getHttpInstance","get","then","layout","serverLayoutData","resultList","widget","enrichedLayout","childWidget","child","widgetProperty","internalSlotId","slot","_objectWithoutProperties","_excluded","widgetProps","widgetDefinitionIdentifier","ESPOT_COMPONENT","ems","emsName","getEspotNames","catch","err","setError","ERROR_DOMAIN","MARKETING","ERROR_PATH","PAGE_LAYOUT","normalizeError","finally","SingleColumn","widgets","espotData","getEspotContent","_widget$widgetProps","Comp","componentMapping","isRequired","widgetSequence","Espot","espotContent","isCookiesEnable","addEventListener","LoadEspot","html","MyEquipmentCTA","equipmentWidget","_s$myEquipment$equipm","_s$common","_s$myEquipment$equipm2","initialLoading","isLoading","serialNumValidationStatus","_state$myEquipment","style","justifyContent","FLEX_ALIGNMENT","widgetAlignment","WidgetTitle","isCampaignLandingPage","MLP_IMAGE_URL","getImageUrl","EquipmentImageWithDescription","_selectedEquipment$eq","_selectedEquipment$eq2","isMachineLandingPage","selectedSerial","isPmKitsLoadedSuccessfully","salesModel","pmKitText","toLowerCase","pmKitModelText","nonSerialNumberText","serialNumberText","widgetText","modelTextOnly","imageUrlPM","getImageUrlPM","displayValue","ServiceOptionsDropdown","catKitList","dealerKitList","sortedCatKitList","selectedUnit","setSelectedUnit","pmKitOptions","itemToString","pmKitsList","pmKitErrors","getPMKitValue","selectedPMKit","catGroupHead","itemType","dealerGroupHead","UnitOfMeasureToggle","setUnitOfMeasure","showToggle","unitOfMeasure","InlineLoader","Dropdown","items","sortBy","pmKitObj","description","serviceOptionID","isCATKit","_toConsumableArray","keyToString","placeholder","selected","ssroBundlesExist","bundleData","bundles","isPMKit","message","FooterLinksAndButtons","meqButton","isDataLoaded","pmKitLearnMoreLink","isCEModel","buttonTitle","ChevronRightIcon","navigateToUrl","unValidatedEquipmentId","assetId","productId","uniqueIndex","validatedAsset","EquipmentRangeDropdown","modelsList","getSerialRangeValue","serialRangeErrors","serialRangeList","index","serialNumberOrPrefix","prefix","low","high","PMKitWidget","_getUnitOfMeasureCook","_equipmentList$data","_pmKitOptions$data$bu","_pmKitOptions$data$bu2","esiteURL","catalogId","_s$common2","langId","_s$common3","defaultUnitOfMeasure","_s$common4","equipmentList","_s$mlp","mlp","_s$mlp2","setSelectedSerial","getUnitOfMeasureCookie","UOM","metric","us","setSelectedPMKit","_useAnalytics","useAnalytics","firePMKitImpressionEvent","firePMKitProductClickEvent","firePMKitFormSubmitEvent","PMKIT_SSRO_BUNDLE_PAGE","links","PMKIT_LEARNMORE_LINK","models","_s$errors","errors","_s$errors2","selfServiceRepairOptions","isLoaded","loaded","loadSSROBySerial","IS_PM","loadPMKitEquipmentDetails","LIST_SELECT_PM_KIT","serialNumberSection","isEquipmentLoading","serialValue","loadServiceOption","pmKitReplacedTokensInUrl","replaceTokensInUrl","CATCORP_ESITE_URL","decodeURIComponent","pmKitValue","ssId","_equipmentList$data2","isCATKitData","_pmKitOptions$data","find","getCATKitValue","redirectUrl","redirectToBundlePage","products","list","dealerStore","PMKitCTA","PMKitWidgetCTA","IS_CAMPAIGN_LANDING_PAGE","removeCurrentModal","handleCancelButton","title","isModal","bucketModelNumberFacet","productCardExpanded","setExpanded","detailsStatus","showSpecificationsToggle","appliedFacets","showLeftNav","productsArrayLength","setAppliedFacets","_useLocation","useRouteMatch","queryParamsObject","history","useHistory","_useSelector","marketingLandingPageUI","partNumbers","usePagination","ProductListSpecificationsModal","showTotalResultsCount","ProductCardSidebar","filterByValue","filterFromHash","handleEquipmentCheck","recordSetTotal","getProductDetailsStatus","loadActivefacets","setLoadActivefacets","isMD","useBreakpoint","PAGE_BREAKPOINTS","MD","isFilterByEquipment","initialEquipmentLoading","prevUniqueIndex","usePrevious","equipmentChanged","STATUS","IDLE","getFacetsValueFromUrl","newFacetsFromHash","widgetUrlValue","filterFromUrl","facetsFromUrl","marketingSetQueryParam","getMarketingProductDetails","removeFilterByEquipment","updatedActiveFacet","facetId","APPLICATION_AND_MATERIAL_FACET_ID","Object","values","i","f","facetValueId","MyEquipmentFilter","ProductListSpecifications","setMarketingProductCardExpanded","CONTENT_ALIGNMENT","HALF_WIDTH_CLASSNAME","FULL_WIDTH_CLASSNAME","YoutubeWidget","useEspot","widgetLayout","setWidgetLayout","isConsentTypeAvailable","ONETRUST","TARGET_COOKIES_ACCEPTED","isCookiesAccepted","setIsCookiesAccepted","videoUrls","properties","contentAlignment","contents","urlArray","widthAndAlignment","getEmbedVideoRenderData","useCallback","contentAlignDirection","v4","component","EmbeddedVideo","VideoWarning","class","getEspotRenderData","getLayoutData","urlList","rowContainer","consentTypeAvailable","elem","templateMapping","SINGLE_COLUMN_TEMPLATE","MY_EQUIPMENT_COMPONENT","PM_KIT_WIDGET_COMPONENT","PRODUCTCARD_COMPONENT","_props$widgetProps","_props$widgetProps2","_useSelector3","_useContext","partNumbersEspotName","widgetHeaderName","productCardWidgetHeader","isOpen","setIsOpen","fireProductImpressionEvent","filterByEquipmentUrl","orderByFromHashUrl","priceAndAvailibiltyStatus","_state$marketingLandi","getMarketingProductPriceStatus","_state$marketingLandi2","_state$marketingLandi3","productCardExpandedArr","_state$marketingLandi4","_state$marketingLandi5","_state$marketingLandi6","_state$marketingLandi7","_state$marketingLandi8","_state$marketingLandi9","fireImpressionEvent","_state$marketingLandi10","_state$marketingLandi11","_state$marketingLandi12","_state$marketingLandi13","_state$marketingLandi14","_state$marketingLandi15","_partsObj$parts","partsObj","partnumbers","parts","part","substring","getPartNumbersfromEspot","orderByFromHash","orderByValue","isProductCardWidgetAvailable","current","getEspotProperties","key","_espotProperties$prop","espotProperties","flag","showKeyComponent","_useSelector2","byId","priceAndAvailability","partNumbersArray","currencyCode","_s$dealerCustomer","dealerCustomer","currency","GA_TRACKING_MARKETING_PRODUCT_CARD","hasCatalogEntries","RESOLVED","getPriceAndAvailability","partsList","namespace","statusActionPrefix","MARKETING_PAGE_UNIQUEID","errorInfo","domain","path","PRICE_AND_AVAILABILITY","attributeId","PRICE_AVAILABILITY_DEFAULT_ATTRIBUTE_PART_NUMBER","PENDING","totalPartNumber","activeFacetWithWidgetId","filterByEqValue","getUrlByHashValue","fbeEnabledValue","isMarketingPage","restoreInitialActiveFacets","showSpecificationsModal","ProductSpecificationModalContainer","onOpen","onClose","ProductListItemsCount","currentItemsCount","totalItemsCount","ProductListSortBy","sortByAction","FilterIcon","ProductComparisonGrid","isCanonicalUrl","preventProductReload","MAIN","handleSetExpanded","isMarketingCards","gaListName","MARKETING_PRODUCT_PAGE_SIZE","Loader","disabled","ProductListKey","YOUTUBE_COMPONENT","getTemplate","templateId","createElement","TemplateManager","_layoutData$childWidg","sortedWidgets","sort","a","b","legalPrivacyPageStorage","getSessionStorage","LEGAL_PRIVACY_PAGE","_document","_window","stickyHeaderHeight","getBoundingClientRect","scrollY","setTimeout","_window2","scroll","behavior","left","top","STICKY_TIMEOUT","memo","_useLayoutService","useLayoutService","_useEspot","isEspotLoading","espotError","_errors$ERROR_DOMAIN$","urlArr","urlParam","templateName","GA_TRACKING_TEMPLATE_NAME","usePopulateDataLayer","createPortal","ExceptionFeedbackBySelector","selector","_state$errors","errorCodeLabel","showContactUs","PageLoader","normalizeServerError","payload","errorMessage","MLP_ERROR_MESSAGE","errorObj","code","errorCode","MACHINE_DETAILS_LUCID","resolvedEndpoints","LOAD_MACHINE_DETAILS","LOAD_SSRO_URLFORSERIALNUMBER","LOAD_SSRO_URLFORMODEL","PMKIT_EQUIPMENT_DETAILS_URL","EQUIPMENT_SPECIFIC_PART_CATEGORIES","BEST_SELLER","loadMachineDetails","isMachineDetailsFlag","getState","_featureDetails$data","http","_getState$common","locale","storeIdentifier","featureValues","featureDetails","types","urlParams","config","headers","NO_CACHE_HEADER","params","response","MLP","EQUIPMENT_DETAILS","equipmentDetails","family","replaceFromString","categories","PCC_ALP_NON_RELATED_CATEGORIES","identifier","loadPartsByCategory","subCategoryLimit","_getState$mlp$equipme","_featureDetails$data2","TIMEOUT_EXTENDED","_getState$common2","_response$data$catego","categoriesForSelectedEquipment","totalCount","partsByCategory","PARTS_BY_CATEGORY","loadTopSellingPartsInfo","category","_getState$common3","_response$data$BestSe","_response$data","BestSellers","topSellingParts","viewMore","dispatchSsroError","error","SELF_SERVICE_REPAIR_OPTIONS","handleSsroServerError","handleSsroClientError","isCE","_equipmentList$data$m","_getState","_getState$common4","serialNoBegin","serialNoEnd","_response$data$bundle","loadSSROByModel","_getState$common5","encodeURIComponent","loadSSROOptions","runDispatch","_getState$mlp$ssroOpt","ssroOptions","equipmentModel","_getState2","_getState2$common","EQUIPMENT_LIST","_response$data$equipm","equipment","clearError","PMKIT_ERROR_MESSAGE"],"sourceRoot":""}