{"version":3,"file":"js/react.js","mappings":"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","sources":["webpack://MainModule/webpack/runtime/chunk loaded","webpack://MainModule/webpack/runtime/create fake namespace object","webpack://MainModule/./src/core-react/actions/actionTypes.ts","webpack://MainModule/./src/core-react/reducers/SampleReducer.ts","webpack://MainModule/./src/core-react/reducers/ShoppingBasketReducer.ts","webpack://MainModule/./src/core-react/reducers/index.ts","webpack://MainModule/./src/core-react/reducers/FavouriteReducer.ts","webpack://MainModule/./src/core-react/stores/main.ts","webpack://MainModule/./src/core-react/utils/ComponentToElementMap.tsx","webpack://MainModule/./src/core-react/containers/HeaderSearchContainer.tsx","webpack://MainModule/./src/core-react/utils/Debounce.tsx","webpack://MainModule/./src/core-react/components/Form/toggleButton.tsx","webpack://MainModule/./src/core-react/components/Accordion.tsx","webpack://MainModule/./src/core-react/utils/localStorage.ts","webpack://MainModule/./src/core-react/components/icon/icon.tsx","webpack://MainModule/./src/core-react/containers/Favourites/FavouriteContainer.tsx","webpack://MainModule/./src/core-react/actions/favouriteActions.ts","webpack://MainModule/./src/core-react/utils/URLparamsHelper.ts","webpack://MainModule/./src/core-react/containers/ProductListsFilterContainer.tsx","webpack://MainModule/./src/core-react/containers/OurPeopleContainer.tsx","webpack://MainModule/./src/core-react/containers/SiteSearchContainer.tsx","webpack://MainModule/./src/core-react/containers/ArticleListContainer.tsx","webpack://MainModule/./src/core-react/actions/quoteFormActions.ts","webpack://MainModule/./src/core-react/containers/QuoteProductsListContainer.tsx","webpack://MainModule/./src/core-react/containers/ProductListsContainer.tsx","webpack://MainModule/./src/core-react/actions/productConfiguratorActions.ts","webpack://MainModule/./src/core-react/components/Modal.tsx","webpack://MainModule/./src/common/components/product-config/product-config-image.ts","webpack://MainModule/./src/core-react/containers/ProductConfiguratorContainer.tsx","webpack://MainModule/./src/core-react/actions/shoppingBasketActions.ts","webpack://MainModule/./src/core-react/containers/ShoppingBasketContainer.tsx","webpack://MainModule/./src/core-react/entries/sebel-index.ts","webpack://MainModule/./src/core-react/providers/sebel/HeaderSearchProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/ProductListsFilterProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/OurPeopleProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/SiteSearchProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/ArticleListingProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/QuoteProductsListProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/ProductListsProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/ProductConfiguratorProvider.tsx","webpack://MainModule/./src/core-react/providers/sebel/ShoppingBasketProvider.tsx","webpack://MainModule/webpack/bootstrap","webpack://MainModule/webpack/runtime/compat get default export","webpack://MainModule/webpack/runtime/define property getters","webpack://MainModule/webpack/runtime/global","webpack://MainModule/webpack/runtime/hasOwnProperty shorthand","webpack://MainModule/webpack/runtime/make namespace object","webpack://MainModule/webpack/runtime/runtimeId","webpack://MainModule/webpack/runtime/jsonp chunk loading","webpack://MainModule/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","export const LOAD = \"LOAD\";\r\nexport const UPDATE = \"UPDATE\";\r\nexport const LOAD_SAMPLE = \"LOAD_SAMPLE\";\r\n\r\nexport const UPDATE_SHOPPING_PRODUCT_COUNT = \"UPDATE_SHOPPING_PRODUCT_COUNT\";\r\nexport const LOAD_SHOPPING_PRODUCT_COUNT = \"LOAD_SHOPPING_PRODUCT_COUNT\"; \r\nexport const LOAD_PRODUCT_FOR_QUOTE_FORM = \"LOAD_PRODUCT_FOR_QUOTE_FORM\"; \r\nexport const UPDATE_PRODUCT_IN_COOKIE = \"UPDATE_PRODUCT_IN_COOKIE\"; \r\nexport const REMOVE_ALL_PRODUCT_IN_COOKIE = \"REMOVE_ALL_PRODUCT_IN_COOKIE\"; \r\n\r\n// For favourite\r\nexport const UPDATE_FAVOURITE = \"UPDATE_FAVOURITE\";\r\nexport const LOAD_FAVOURITE = \"LOAD_FAVOURITE\";\r\nexport const REMOVE_FAVOURITE = \"REMOVE_FAVOURITE\";\r\n","import * as types from \"../actions/actionTypes\";\r\n\r\nconst initialState = {\r\n  loading: false\r\n};\r\n\r\nexport default function SampleReducer(state = initialState, action) {\r\n  switch (action.type) {\r\n    case types.LOAD_SAMPLE:\r\n      return {\r\n        ...state,\r\n        loading: action.loading,\r\n      };\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import * as types from \"../actions/actionTypes\";\r\n\r\nconst initialState = { \r\n  productInBasket: [],\r\n  totalProductCount: 0\r\n};\r\n\r\nexport default function ShoppingBasketReducer(state = initialState, action) {\r\n  \r\n  switch (action.type) {\r\n    case types.UPDATE_SHOPPING_PRODUCT_COUNT:\r\n      return {\r\n        productInBasket: [...action.basketList ],\r\n        totalProductCount: action.totalProductCount\r\n      };\r\n    case types.LOAD_SHOPPING_PRODUCT_COUNT:\r\n        return {\r\n          productInBasket: [...action.basketList ],\r\n          totalProductCount: action.totalProductCount\r\n        };\r\n    case types.REMOVE_ALL_PRODUCT_IN_COOKIE:\r\n        return {\r\n          productInBasket: [],\r\n          totalProductCount: 0\r\n        };\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport SampleReducer from \"./SampleReducer\";\r\nimport ShoppingBasketReducer from \"./ShoppingBasketReducer\";\r\nimport FavouriteReducer from \"./FavouriteReducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n  SampleReducer\r\n});\r\n\r\nexport const ReseroRootReducer = combineReducers({\r\n  ShoppingBasketReducer,\r\n  FavouriteReducer\r\n});\r\n;\r\n\r\nexport default rootReducer;","import * as types from \"../actions/actionTypes\";\r\n\r\nexport default function FavouriteReducer(state = {}, action) {\r\n  \r\n  switch (action.type) {\r\n    case types.LOAD_FAVOURITE:\r\n      return { favouriteList: action.favouriteList };\r\n    case types.UPDATE_FAVOURITE:\r\n      return { favouriteList: action.favouriteList };\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport rootReducer  from \"../reducers\";\r\nimport { ReseroRootReducer }  from \"../reducers\";\r\n\r\ndeclare global {\r\n  interface Window {\r\n    __REDUX_DEVTOOLS_EXTENSION__?: typeof compose;\r\n  }\r\n}\r\n\r\nlet enhancer;\r\nconst composeEnhancer =\r\n  window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__();\r\nconst middleware = applyMiddleware(thunk);\r\n\r\nif (window.__REDUX_DEVTOOLS_EXTENSION__) {\r\n  enhancer = compose(middleware, composeEnhancer);\r\n} else {\r\n  enhancer = compose(middleware);\r\n}\r\n\r\nexport default function configurationStore() {\r\n  return createStore(rootReducer, enhancer);\r\n}\r\n\r\nexport const SebelConfigurationStore = function() {\r\n  return createStore(ReseroRootReducer, enhancer);\r\n}\r\n\r\nexport const QualConfigurationStore = function() {\r\n  return createStore(ReseroRootReducer, enhancer);\r\n}","import React, { Suspense, lazy, ComponentType } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\ntype LazyLoadedComponent = () => Promise<{ default: ComponentType<any> }>;\r\ntype EagerLoadedComponent = ComponentType<any>;\r\n\r\nexport type RenderTarget =\r\n  | {\r\n      nodeSelector: string;\r\n      lazyComponent: LazyLoadedComponent;\r\n    }\r\n  | {\r\n      nodeSelector: string;\r\n      component: EagerLoadedComponent;\r\n    };\r\n\r\nexport default class ComponentToElementMap {\r\n  targets: RenderTarget[];\r\n  constructor(targets: RenderTarget[]) {\r\n    if (Boolean(targets.length)) {      \r\n      this.targets = targets;\r\n      this.init();\r\n    }\r\n  }\r\n\r\n  private init() {\r\n    this.targets.map((target) => {\r\n      const nodeElements = document.querySelectorAll(target.nodeSelector);\r\n      if (nodeElements.length) {\r\n        \"lazyComponent\" in target\r\n          ? this.renderLazyComponent(target.lazyComponent, nodeElements)\r\n          : this.renderEagerComponent(target.component, nodeElements);\r\n      }\r\n    });\r\n  }\r\n\r\n  private renderLazyComponent(\r\n    lazyComponent: LazyLoadedComponent,\r\n    nodeElements: NodeListOf<Element>\r\n  ) {\r\n    const LazyComponent = lazy(lazyComponent);\r\n    nodeElements.forEach((node) => {\r\n      const options = node.attributes[\"data-options\"];\r\n      ReactDOM.render(\r\n        <Suspense fallback={null}>\r\n          <LazyComponent options={options && JSON.parse(options.value)} />\r\n        </Suspense>,\r\n        node\r\n      );\r\n    });\r\n  }\r\n\r\n  private renderEagerComponent(\r\n    component: EagerLoadedComponent,\r\n    nodeElements: NodeListOf<Element>\r\n  ) {\r\n    const Component = component;\r\n    nodeElements.forEach((node) => {\r\n      const options = node.attributes[\"data-options\"];\r\n      ReactDOM.render(\r\n        <Component options={options && JSON.parse(options.value)} />,\r\n        node\r\n      );\r\n    });\r\n  }\r\n}\r\n","import React, { createRef, PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport { debounce } from '../utils/Debounce';\r\nimport {\r\n  headerSearchState,\r\n  GlobalEndpoints,\r\n} from '../types/HeaderSearchInterface';\r\n\r\nclass HeaderSearchContainer extends PureComponent<{}, headerSearchState> {\r\n  private searchAutoCompleteElement =\r\n    createRef() as React.MutableRefObject<HTMLDivElement>;\r\n\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      headerSearch: false,\r\n      headerSearchTerm: '',\r\n      headerSearchList: [],\r\n      headerSearchListFiltered: [],\r\n      currentCultureCodeAlias: null\r\n    };\r\n    this.headerSearchTermChange = this.headerSearchTermChange.bind(this);\r\n    this.headerSearchTermKeypress = this.headerSearchTermKeypress.bind(this);\r\n    this.handleOutsideClick = this.handleOutsideClick.bind(this);\r\n    this.headerSearchBtnClick = this.headerSearchBtnClick.bind(this);\r\n    this.handleSearchEnterPress = this.handleSearchEnterPress.bind(this);\r\n    this.handleSearchOpen = this.handleSearchOpen.bind(this);\r\n  }\r\n\r\n  componentDidMount(): void {\r\n    document.addEventListener('click', this.handleOutsideClick, false);\r\n  }\r\n\r\n  handleOutsideClick(e) {\r\n    if (this.searchAutoCompleteElement.current) {\r\n      this.setState({ headerSearch: false });\r\n    }\r\n  }\r\n\r\n  headerSearchTermChange(event) {\r\n    this.setState({ headerSearchTerm: event.target.value }, () => {\r\n      this.headerSearchTermKeypress();\r\n    });\r\n  }\r\n\r\n  headerSearchTermKeypress = debounce(function () {\r\n    const { headerSearchTerm, headerSearchList } = this.state;\r\n    const filteredSearchList = [];\r\n    if (headerSearchTerm !== '') {\r\n      headerSearchList.forEach((el) => {\r\n        if (el.Name.toLowerCase().indexOf(headerSearchTerm.toLowerCase()) !== -1) {\r\n          filteredSearchList.push(el);\r\n        }\r\n      });\r\n    }\r\n    if (filteredSearchList.length) {\r\n      this.setState(\r\n        { headerSearch: true, headerSearchListFiltered: filteredSearchList });\r\n    } else {\r\n      this.setState({\r\n        headerSearch: false,\r\n        headerSearchListFiltered: filteredSearchList,\r\n      });\r\n    }\r\n  }, 1000);\r\n\r\n  headerSearchBtnClick() {\r\n    const { headerSearchTerm, currentCultureCodeAlias } = this.state;\r\n    window.location.href = `/${currentCultureCodeAlias}/system/search-results?term=${headerSearchTerm}`;\r\n  }\r\n\r\n  handleSearchEnterPress(e) {\r\n    if (e.key === 'Enter') {\r\n      this.headerSearchBtnClick();\r\n    }\r\n  }\r\n\r\n  handleSearchOpen() {\r\n    const { headerSearchList } = this.state;\r\n    if(headerSearchList.length === 0) {\r\n      const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n      const $element = document.querySelector('.js-sebel-header-search');\r\n      const culture = $element.getAttribute('data-culture-code');\r\n      const cultureCodeAlias = $element.getAttribute('data-culture-alias');\r\n      axios\r\n        .get(`${endpointsData.headerSearch}?culture=${culture}`)\r\n        .then((headerSearchListsresponse: AxiosResponse) => {\r\n          this.setState({\r\n            headerSearchList: headerSearchListsresponse.data,\r\n            headerSearchListFiltered: headerSearchListsresponse.data,\r\n            currentCultureCodeAlias: cultureCodeAlias\r\n          });\r\n        })\r\n        .catch(function (error: AxiosResponse) {});\r\n    }\r\n  }\r\n\r\n  render(): React.ReactNode {\r\n    const { headerSearch, headerSearchListFiltered, headerSearchTerm } = this.state;\r\n    return (\r\n      <>\r\n        <button className=\"header__nav__search__btn p-0 accordion__button\" onClick={this.handleSearchOpen}>\r\n          <i className=\"header__nav__search__btn__icon fa-regular fa-magnifying-glass\"></i>\r\n        </button>\r\n        <div className=\"header__nav__search__wrapper accordion__content accordion__content--closed\">\r\n          <div className=\"header__nav__search__container site-container\">\r\n            <h4 className=\"header__nav__search__heading\">\r\n              What are you looking for today?\r\n            </h4>\r\n            <div className=\"header__nav__search__form\">\r\n              <div className=\"header__nav__search__form__wrapper\">\r\n                <input\r\n                  type=\"search\"\r\n                  className=\"header__nav__search__form__input para-medium\"\r\n                  placeholder=\"Search\"\r\n                  value={headerSearchTerm}\r\n                  onChange={this.headerSearchTermChange}\r\n                  onKeyPress={(e) => this.handleSearchEnterPress(e)}\r\n                />\r\n                <button\r\n                  className=\"header__nav__search__form__search__btn\"\r\n                  onClick={this.headerSearchBtnClick}>\r\n                  <i className=\"header__nav__search__form__search__btn__icon icon-md fa-regular fa-magnifying-glass\"></i>\r\n                </button>\r\n              </div>\r\n              {headerSearch && headerSearchListFiltered.length > 0 && (\r\n                <div\r\n                  className=\"header__nav__search__form__autocomplete\"\r\n                  ref={this.searchAutoCompleteElement}>\r\n                  <ul className=\"header__nav__search__form__autocomplete__list m-0 p-0\">\r\n                    {headerSearchListFiltered.map((el, index) => {\r\n                      return (\r\n                        <li\r\n                          className=\"header__nav__search__form__autocomplete__item\"\r\n                          key={index}>\r\n                          <a className=\"header__nav__search__form__autocomplete__link para-medium m-0\" href={el.Link}>\r\n                            {el.Name}\r\n                          </a>\r\n                        </li>\r\n                      );\r\n                    })}\r\n                  </ul>\r\n                </div>\r\n              )}\r\n              <button\r\n                className=\"header__nav__search__form__btn button button--primary\"\r\n                onClick={this.headerSearchBtnClick}>\r\n                Search\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nexport default HeaderSearchContainer;\r\n","// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\n// https://davidwalsh.name/javascript-debounce-function\r\n\r\nexport const debounce = (func, wait, immediate?) => {\r\n  var timeout;\r\n  return function () {\r\n    var context = this, args = arguments;\r\n    var later = function () {\r\n      timeout = null;\r\n      if (!immediate) func.apply(context, args);\r\n    };\r\n    var callNow = immediate && !timeout;\r\n    clearTimeout(timeout);\r\n    timeout = setTimeout(later, wait);\r\n    if (callNow) func.apply(context, args);\r\n  };\r\n};","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ToggleButton = (props) => {\r\n  const { id, text, isChecked, handleCheckboxChange, hasIcon } = props;\r\n\r\n  return (\r\n    <div className=\"btn--toggle\">\r\n      <input type=\"checkbox\" id={id} className=\"visually-hidden btn--toggle-input\" name={text} checked={isChecked} onChange={handleCheckboxChange}/>\r\n      <label className={`btn btn--toggle-handler ${hasIcon ? 'btn--toggle-handler--v2' : ''}`} htmlFor={id} >\r\n        {hasIcon && <span className=\"btn--toggle-handler-icon\"></span>}\r\n        <span>{text}</span>\r\n      </label>\r\n    </div>\r\n  )\r\n}\r\n\r\nToggleButton.defaultProps = {\r\n  id: null,\r\n  text: null,\r\n  isChecked: false,\r\n  handleCheckboxChange: null,\r\n  hasIcon: false\r\n}\r\n\r\nToggleButton.propTypes = {\r\n  id: PropTypes.string,\r\n  text: PropTypes.string,\r\n  isChecked: PropTypes.bool,\r\n  handleCheckboxChange: PropTypes.func,\r\n  hasIcon: PropTypes.bool\r\n}\r\n\r\nexport default ToggleButton;","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Accordion = (props) => {\r\n  const { title, children  } = props;\r\n  const [isActive, setIsActive] = useState(false);\r\n\r\n  return (\r\n    <section className={`accordion ${ isActive ? 'accordion--is-expanded' : ''}`}>\r\n      <h6 className=\"accordion__heading\" onClick={() => setIsActive(!isActive)}>\r\n        <button type=\"button\" className=\"accordion__button\">\r\n          {title}\r\n          <i className=\"accordion__button-icon icon-md fa-regular fa-chevron-down\"></i>\r\n        </button>\r\n      </h6>\r\n      <div className={`accordion__content ${ isActive ? '' : 'accordion__content--closed'}`}>\r\n        <div className=\"accordion__content__wrapper\">\r\n          {children}\r\n        </div>\r\n      </div>\r\n  </section>\r\n  );\r\n};\r\n\r\nAccordion.defaultProps = {\r\n  title: null,\r\n  children: null\r\n}\r\n\r\nAccordion.propTypes = {\r\n  title: PropTypes.string,\r\n  children: PropTypes.element\r\n}\r\n\r\nexport default Accordion;","export const getLocalStorage = function (name): any {\r\n  return localStorage.getItem(name);\r\n}\r\n\r\nexport const setLocalStorage = function (name, value) {\r\n  return localStorage.setItem(name, value);\r\n}\r\n\r\nexport const deleteAllLocalStorage = function () {\r\n  return localStorage.clear();\r\n}\r\n\r\nexport const deleteLocalStorage = function(name) {\r\n  return localStorage.removeItem(name);\r\n}\r\n","import React from 'react';\r\n\r\ninterface IconProps {\r\n  className?: string;\r\n  name: string;\r\n}\r\n\r\nconst Icon: React.FunctionComponent<IconProps> = (props) => {\r\n  const baseClass = 'icon';\r\n  return (\r\n    <svg\r\n      viewBox=\"0 0 45 45\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlnsXlink=\"http:://www.w3.org/1999/xlink\"\r\n      focusable=\"false\"\r\n      aria-hidden=\"true\"\r\n      className={baseClass + (props.className ? ' ' + props.className : '')}\r\n    >\r\n       {/* TODO, Update site name dynamically */}\r\n      <use href={`/qual/assets/icons/spritemap.svg#${props.name}`} />\r\n    </svg>\r\n  );\r\n};\r\n\r\nexport default Icon;\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport * as $ from \"jquery\";\r\nimport { updateFavourite } from \"../../actions/favouriteActions\";\r\nimport Icon from '../../components/icon/icon';\r\nexport interface RootState {\r\n  FavouriteReducer: FavouriteReducer;\r\n}\r\n\r\ninterface FavouriteReducer {\r\n  favouriteList: Array<string>\r\n}\r\n\r\nconst FavouriteContainer = () => {\r\n  const favRef = useRef<HTMLDivElement>(null);\r\n  const [productGUID, setproductGUID] = useState<string>(null);\r\n  const [isFavourite, setIsFavourite] = useState<boolean>(false);\r\n\r\n  const dispatch = useDispatch();\r\n  const favouriteList = useSelector((state: RootState) => state.FavouriteReducer.favouriteList);\r\n  \r\n  useEffect(() => {\r\n    if(favouriteList) {\r\n      if(favouriteList.includes(productGUID)) {\r\n        setIsFavourite(true);\r\n      } else {\r\n        setIsFavourite(false);\r\n      }\r\n    }\r\n  }, [favouriteList, productGUID])\r\n\r\n  useEffect(() => {\r\n    let $favRef = $(favRef.current);\r\n    if($favRef.parents('.dynamic-card').length !== 0) {\r\n      setproductGUID($favRef.parents('.dynamic-card').data('node-id'));\r\n    } else if($favRef.parents('.product-category__product__container').length !== 0) {\r\n      setproductGUID($favRef.parents('.product-category__product__container').data('node-id'));\r\n    } else if($favRef.parents('.product-config__content__btns').length !== 0) {\r\n      setproductGUID($favRef.parents('.product-config__content__btns').data('node-id'));\r\n    }\r\n  }, [])\r\n\r\n  const handleUpdateFavourite = (e, state) => {\r\n    e.preventDefault();\r\n    if(productGUID) {\r\n      dispatch(updateFavourite(productGUID, state));\r\n    }\r\n  }\r\n\r\n  return (\r\n    <div className=\"dynamic-card__favourite\" ref={favRef}>\r\n      {isFavourite && <button className=\"dynamic-card__favourite-icon p-0\" onClick={(e) => handleUpdateFavourite(e, \"Remove\")}><Icon name='fav-heart-filled' className='dynamic-card__favourite-icon--filled' /></button>}\r\n      {isFavourite === false && <button className=\"dynamic-card__favourite-icon p-0\" onClick={(e) => handleUpdateFavourite(e, \"Add\")}> <Icon name='fav-heart' className='dynamic-card__favourite-icon--regular' /></button>}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default FavouriteContainer;","import * as types from \"./actionTypes\";\r\nimport { getLocalStorage, setLocalStorage, deleteLocalStorage } from '../utils/localStorage';\r\n\r\n\r\nexport const loadFavouriteOnPageLoad = () => (dispatch) => {\r\n  const favouriteList = JSON.parse(getLocalStorage(\"favouriteList\"));\r\n  \r\n  dispatch({ \r\n    type: types.LOAD_FAVOURITE,\r\n    favouriteList\r\n   })\r\n};\r\n\r\nexport const updateFavourite = (NodeID, State) => (dispatch) => {\r\n  let favouriteList = JSON.parse(getLocalStorage(\"favouriteList\"));\r\n  \r\n  if(favouriteList === null) {\r\n    favouriteList = [NodeID];\r\n  } else {\r\n    if(State === \"Add\") {\r\n      favouriteList.push(NodeID);\r\n    } else {\r\n      favouriteList = favouriteList.filter((favNodeID) => favNodeID !== NodeID);\r\n    }\r\n  }\r\n  \r\n  setLocalStorage(\"favouriteList\", JSON.stringify(favouriteList));\r\n\r\n  dispatch({ \r\n    type: types.UPDATE_FAVOURITE,\r\n    favouriteList\r\n   })\r\n};\r\n\r\n\r\n","export const insertUrlParam = (key, value) => {\r\n  if (history.pushState) {\r\n      let searchParams = new URLSearchParams(window.location.search);\r\n      searchParams.set(key, value);\r\n      let newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + '?' + searchParams.toString();\r\n      window.history.pushState({path: newurl}, '', newurl);\r\n  }\r\n}\r\n\r\nexport const removeUrlParameter = (paramKey) => {\r\n  const url = window.location.href\r\n  var r = new URL(url)\r\n  r.searchParams.delete(paramKey)\r\n  const newUrl = r.href\r\n  window.history.pushState({ path: newUrl }, '', newUrl)\r\n}\r\n\r\nexport const getUrlParameter = () => {\r\n  const urlSearchParams = new URLSearchParams(window.location.search);\r\n  return Object.fromEntries(urlSearchParams.entries());\r\n}\r\n\r\nexport const deleteAllUrlParameter = () => {\r\n  const url = window.location;\r\n\tnew URL(url.toString()).searchParams.forEach(function (val, key) {\r\n\t\tremoveUrlParameter(key)\r\n\t});\r\n}\r\n\r\nexport const getAllURLParameters  = (url = window.location) => {\r\n\t// Create a params object\r\n\tlet params = {};\r\n\tnew URL(url.toString()).searchParams.forEach(function (val, key) {\r\n\t\tif (params[key] !== undefined) {\r\n\t\t\tif (!Array.isArray(params[key])) {\r\n\t\t\t\tparams[key] = [params[key]];\r\n\t\t\t}\r\n\t\t\tparams[key].push(val);\r\n\t\t} else {\r\n\t\t\tparams[key] = val;\r\n\t\t}\r\n\t});\r\n\treturn params;\r\n}","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport Select from 'react-select';\r\nimport * as $ from 'jquery';\r\nimport ToggleButton from '../components/Form/toggleButton';\r\nimport Accordion from '../components/Accordion';\r\nimport FavouriteContainer from './Favourites/FavouriteContainer';\r\nimport {\r\n\tProductListsFilterState,\r\n\tGlobalEndpoints,\r\n} from '../types/ProductListFilterInterface';\r\nimport {\r\n\tinsertUrlParam,\r\n\tdeleteAllUrlParameter,\r\n\tgetAllURLParameters,\r\n} from '../utils/URLparamsHelper';\r\nclass ProductListsFilterContainer extends PureComponent<\r\n\t{},\r\n\tProductListsFilterState\r\n> {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tsiteName: null,\r\n\t\t\taddOverlay: false,\r\n\t\t\tproductList: [],\r\n\t\t\tprevProductListFiltered: [],\r\n\t\t\tproductListFiltered: [],\r\n\t\t\tproductListFilters: [],\r\n\t\t\tproductFilterSelectedByUser: [],\r\n\t\t\tproductVisibleCount: 12,\r\n\t\t\tfilterbyExpress: false,\r\n\t\t\tfilterbyType: '',\r\n\t\t\tfilterbySector: '',\r\n\t\t\tfilterbySpace: '',\r\n\t\t\tfilterbyBrand: '',\r\n\t\t\tfilterbySize: '',\r\n\t\t\tfilterbyCollection: '',\r\n\t\t\tfilterbyPortal: '',\r\n\t\t\tfilterbyTypeCodeName: '',\r\n\t\t\tfilterbySectorCodeName: '',\r\n\t\t\tfilterbySpaceCodeName: '',\r\n\t\t\tfilterbyBrandCodeName: '',\r\n\t\t\tfilterbySizeCodeName: '',\r\n\t\t\tfilterbyCollectionCodeName: '',\r\n\t\t\tfilterbyPortalCodeName: '',\r\n\t\t\tfilterPanelVisible: false,\r\n\t\t\tproductSorting: { value: 'All Products', label: 'All Products' },\r\n\t\t\tfilterSortingOptions: [\r\n\t\t\t\t{ value: 'All Products', label: 'All Products' },\r\n\t\t\t\t{ value: 'Bestseller', label: 'Bestseller' },\r\n\t\t\t\t{ value: 'Express', label: 'Express' },\r\n\t\t\t\t// { value: 'Price Low to High', label: 'Price Low to High' },\r\n\t\t\t\t// { value: 'Price High to Low', label: 'Price High to Low' },\r\n\t\t\t],\r\n\t\t\tproductsVisible: false,\r\n\t\t\tshowFilterPanel: false,\r\n\t\t};\r\n\t\tthis.handleFilterCheckboxChange =\r\n\t\t\tthis.handleFilterCheckboxChange.bind(this);\r\n\t\tthis.handleApplyFilterChange = this.handleApplyFilterChange.bind(this);\r\n\t\tthis.handleRemoveFilter = this.handleRemoveFilter.bind(this);\r\n\t\tthis.handleProductFilterCondition =\r\n\t\t\tthis.handleProductFilterCondition.bind(this);\r\n\t\tthis.toggleFilterPanelVisibility =\r\n\t\t\tthis.toggleFilterPanelVisibility.bind(this);\r\n\t\tthis.handlePopularityChange = this.handlePopularityChange.bind(this);\r\n\t\tthis.handleFilterExpressChange = this.handleFilterExpressChange.bind(this);\r\n\t\tthis.handleLoadMoreClick = this.handleLoadMoreClick.bind(this);\r\n\t\tthis.handleUpdatingQueryParams = this.handleUpdatingQueryParams.bind(this);\r\n\t\tthis.handleCodenameConversion = this.handleCodenameConversion.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount(): void {\r\n\t\tconst endpointsData: GlobalEndpoints = JSON.parse(\r\n\t\t\tdocument.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML\r\n\t\t);\r\n\t\tconst $element = document.querySelector('.js-sebel-product-subcategory');\r\n\t\tconst nodeId = $element.getAttribute('data-node-id');\r\n\t\tconst currentCulture = $element.getAttribute('data-culture-code');\r\n\t\tconst siteName = $element.getAttribute('data-site-name');\r\n\t\tconst addOverlay =\r\n\t\t\t$element.getAttribute('data-add-overlay') === 'true' ? true : false;\r\n\r\n\t\taxios\r\n\t\t\t.get(\r\n\t\t\t\t`${endpointsData.productFilters}?productSubCategoryNodeId=${nodeId}&culture=${currentCulture}`\r\n\t\t\t)\r\n\t\t\t.then((productSubCategoryFiltersresponse: AxiosResponse) => {\r\n\t\t\t\taxios\r\n\t\t\t\t\t.get(\r\n\t\t\t\t\t\t`${endpointsData.productSubCategory}?nodeId=${nodeId}&culture=${currentCulture}`\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.then((productSubCategoryresponse: AxiosResponse) => {\r\n\t\t\t\t\t\tlet productSubCategoryFilters = [];\r\n\t\t\t\t\t\tlet showFilterPanel = true;\r\n\r\n\t\t\t\t\t\tif (productSubCategoryFiltersresponse.data.length === 0) {\r\n\t\t\t\t\t\t\tshowFilterPanel = false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// Adding isChecked to the response data, using this for toggling the filter state's.\r\n\t\t\t\t\t\t\tproductSubCategoryFilters =\r\n\t\t\t\t\t\t\t\tproductSubCategoryFiltersresponse.data.map((filter) => {\r\n\t\t\t\t\t\t\t\t\tlet modifiedFilterItems = filter.FilterItems.map(\r\n\t\t\t\t\t\t\t\t\t\t(filterItems) => ({ ...filterItems, isChecked: false })\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\treturn { ...filter, FilterItems: [...modifiedFilterItems] };\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tsiteName,\r\n\t\t\t\t\t\t\t\tshowFilterPanel,\r\n\t\t\t\t\t\t\t\taddOverlay,\r\n\t\t\t\t\t\t\t\tproductList: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tproductListFiltered: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tprevProductListFiltered: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tproductListFilters: productSubCategoryFilters,\r\n\t\t\t\t\t\t\t\tproductsVisible: true,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t() => this.handleQueryParamsOnPageLoad()\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(function (error: AxiosResponse) {});\r\n\t}\r\n\r\n\thandleQueryParamsOnPageLoad() {\r\n\t\tlet currentState = { ...this.state };\r\n\t\tconst queryParams = getAllURLParameters();\r\n\t\tfor (var key of Object.keys(queryParams)) {\r\n\t\t\tswitch (key) {\r\n\t\t\t\tcase 'type':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Type',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'sector':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Sector',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'space':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Space',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'brand':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Brand',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'size':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Size',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'collection':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Collection',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\tcase 'portal':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Portal',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\tcase 'express':\r\n\t\t\t\t\tcurrentState.filterbyExpress =\r\n\t\t\t\t\t\tqueryParams[key] === 'true' ? true : false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'productSorting':\r\n\t\t\t\t\tcurrentState.productSorting = {\r\n\t\t\t\t\t\tvalue: queryParams[key],\r\n\t\t\t\t\t\tlabel: queryParams[key],\r\n\t\t\t\t\t};\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconsole.log('Query Parms Error ==>', key);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst latestState = {\r\n\t\t\tfilterbyType: currentState.filterbyType,\r\n\t\t\tfilterbySector: currentState.filterbySector,\r\n\t\t\tfilterbySpace: currentState.filterbySpace,\r\n\t\t\tfilterbyBrand: currentState.filterbyBrand,\r\n\t\t\tfilterbySize: currentState.filterbySize,\r\n\t\t\tfilterbyCollection: currentState.filterbyCollection,\r\n\t\t\tfilterbyPortal: currentState.filterbyPortal,\r\n\t\t\tfilterbyTypeCodeName: currentState.filterbyTypeCodeName,\r\n\t\t\tfilterbySectorCodeName: currentState.filterbySectorCodeName,\r\n\t\t\tfilterbySpaceCodeName: currentState.filterbySpaceCodeName,\r\n\t\t\tfilterbyBrandCodeName: currentState.filterbyBrandCodeName,\r\n\t\t\tfilterbySizeCodeName: currentState.filterbySizeCodeName,\r\n\t\t\tfilterbyCollectionCodeName: currentState.filterbyCollectionCodeName,\r\n\t\t\tfilterbyPortalCodeName: currentState.filterbyPortalCodeName,\r\n\t\t\tfilterbyExpress: currentState.filterbyExpress,\r\n\t\t\tproductSorting: currentState.productSorting,\r\n\t\t};\r\n\t\tthis.setState({ ...latestState }, this.handleApplyFilterChange);\r\n\t}\r\n\r\n\thandleCodeNameMappingToGUID(filtertype, codename, currentState) {\r\n\t\tlet tempProductListFilters = [...currentState.productListFilters];\r\n\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\t// Match item with the title\r\n\t\t\tif (filter.FilterTitle === filtertype) {\r\n\t\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\t\tif (filterItem.CodeName === codename) {\r\n\t\t\t\t\t\tfilterItem.isChecked = true;\r\n\t\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyType =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyType + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyTypeCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySector =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySector + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySectorCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySpace =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySpace + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySpaceCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyBrand =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyBrand + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyBrandCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySize =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySize + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySizeCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyCollection =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyCollection + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyCollectionCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Portal':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyPortal =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyPortal + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyPortalCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tconsole.log('CodeName mapping Error ->', filter.FilterTitle);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.setState({ productListFilters: [...tempProductListFilters] });\r\n\t}\r\n\r\n\thandleUpdatingQueryParams() {\r\n\t\tconst {\r\n\t\t\tfilterbyTypeCodeName,\r\n\t\t\tfilterbySectorCodeName,\r\n\t\t\tfilterbySpaceCodeName,\r\n\t\t\tfilterbyBrandCodeName,\r\n\t\t\tfilterbySizeCodeName,\r\n\t\t\tfilterbyCollectionCodeName,\r\n\t\t\tfilterbyPortalCodeName,\r\n\t\t\tfilterbyExpress,\r\n\t\t\tproductSorting,\r\n\t\t} = this.state;\r\n\t\tdeleteAllUrlParameter();\r\n\t\tfilterbyTypeCodeName && insertUrlParam('type', filterbyTypeCodeName);\r\n\t\tfilterbySectorCodeName && insertUrlParam('sector', filterbySectorCodeName);\r\n\t\tfilterbySpaceCodeName && insertUrlParam('space', filterbySpaceCodeName);\r\n\t\tfilterbyBrandCodeName && insertUrlParam('brand', filterbyBrandCodeName);\r\n\t\tfilterbyCollectionCodeName &&\r\n\t\t\tinsertUrlParam('collection', filterbyCollectionCodeName);\r\n\t\tfilterbySizeCodeName && insertUrlParam('size', filterbySizeCodeName);\r\n\t\tfilterbyPortalCodeName && insertUrlParam('portal', filterbyPortalCodeName);\r\n\t\tfilterbyExpress && insertUrlParam('express', filterbyExpress);\r\n\t\tproductSorting.value !== 'Popularity' &&\r\n\t\t\tinsertUrlParam('productSorting', productSorting.value);\r\n\t}\r\n\r\n\thandleCodenameConversion(currentvalue, newvalue, state) {\r\n\t\tlet updatedValue = null;\r\n\t\tif (state === 'add') {\r\n\t\t\t// Add ',' for the second item onwards\r\n\t\t\tif (currentvalue === '') {\r\n\t\t\t\tupdatedValue = newvalue;\r\n\t\t\t} else {\r\n\t\t\t\tupdatedValue = currentvalue + ',' + newvalue;\r\n\t\t\t}\r\n\t\t\treturn updatedValue;\r\n\t\t} else {\r\n\t\t\t// Remove ',' along with the codeName\r\n\t\t\tupdatedValue = currentvalue\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.filter((codename) => codename !== newvalue);\r\n\t\t\tif (updatedValue.length === 1) {\r\n\t\t\t\tupdatedValue = updatedValue.join('');\r\n\t\t\t} else {\r\n\t\t\t\tupdatedValue = updatedValue.join(',');\r\n\t\t\t}\r\n\t\t\treturn updatedValue;\r\n\t\t}\r\n\t}\r\n\r\n\thandleAddFilterState(filterTitle, filterItem) {\r\n\t\tswitch (filterTitle) {\r\n\t\t\tcase 'Filter by Type':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyType: this.state.filterbyType + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Sector':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySector: this.state.filterbySector + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Space':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySpace: this.state.filterbySpace + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Brand':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Size':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySize: this.state.filterbySize + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Collection':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyCollection:\r\n\t\t\t\t\t\tthis.state.filterbyCollection + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Portal':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconsole.log('Add Filters Error ->', filterTitle);\r\n\t\t}\r\n\t}\r\n\r\n\thandleFilterCheckboxChange(event) {\r\n\t\tconst { productListFilters } = this.state;\r\n\t\tconst target = event.target;\r\n\t\tconst value = target.type === 'checkbox' ? target.checked : target.value;\r\n\t\tlet tempProductListFilters = productListFilters;\r\n\t\tconst selectedFilter = {\r\n\t\t\ttile: event.target.id.split(';')[0],\r\n\t\t\tGUID: event.target.id.split(';')[1],\r\n\t\t\tcodeName: event.target.id.split(';')[2],\r\n\t\t};\r\n\t\t// CodeName is used to push the selected filter to url, GUID is used to filter teh items\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\t// Match item with the title\r\n\t\t\tif (filter.FilterTitle === selectedFilter.tile) {\r\n\t\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\t\t// Match item with the GUID\r\n\t\t\t\t\tif (filterItem.GUID === selectedFilter.GUID) {\r\n\t\t\t\t\t\tfilterItem.isChecked = value;\r\n\t\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\t\tthis.handleAddFilterState(filter.FilterTitle, { ...filterItem });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyType: this.state.filterbyType.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySector: this.state.filterbySector.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySpace: this.state.filterbySpace.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySize: this.state.filterbySize.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyCollection: this.state.filterbyCollection.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.setState(\r\n\t\t\t{ productListFilters: [...tempProductListFilters] },\r\n\t\t\tthis.handleUpdatingQueryParams\r\n\t\t);\r\n\t}\r\n\r\n\thandleApplyFilterChange() {\r\n\t\tconst {\r\n\t\t\tproductList,\r\n\t\t\tfilterbyType,\r\n\t\t\tfilterbySector,\r\n\t\t\tfilterbySpace,\r\n\t\t\tfilterbyBrand,\r\n\t\t\tfilterbySize,\r\n\t\t\tfilterbyCollection,\r\n\t\t\tfilterbyPortal,\r\n\t\t\tproductListFilters,\r\n\t\t} = this.state;\r\n\t\tconst filteredProducts = [];\r\n\t\tconst filtersSelected = [];\r\n\t\t// Filter products based on selection\r\n\t\tproductList.forEach((product) => {\r\n\t\t\tif (\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyType,\r\n\t\t\t\t\tproduct.RelatedTypes,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyBrand,\r\n\t\t\t\t\tproduct.Brand,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySector,\r\n\t\t\t\t\tproduct.RelatedSectors,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySpace,\r\n\t\t\t\t\tproduct.RelatedSpaces,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySize,\r\n\t\t\t\t\tproduct.RelatedSizes,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyCollection,\r\n\t\t\t\t\tproduct.RelatedCollections,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyPortal,\r\n\t\t\t\t\tproduct.RelatedPortals,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tfilteredProducts.push(product);\r\n\t\t\t}\r\n\t\t});\r\n\t\t// Pushing selected tags\r\n\t\tproductListFilters.forEach((filter) => {\r\n\t\t\tfilter.FilterItems.forEach((filterItem) => {\r\n\t\t\t\tif (filterItem.isChecked) {\r\n\t\t\t\t\tfiltersSelected.push(filterItem);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tproductListFiltered: filteredProducts,\r\n\t\t\t\tprevProductListFiltered: filteredProducts,\r\n\t\t\t\tproductFilterSelectedByUser: filtersSelected,\r\n\t\t\t},\r\n\t\t\t() => {\r\n\t\t\t\tthis.handlePopularityChange(this.state.productSorting.value);\r\n\t\t\t}\r\n\t\t);\r\n\t\tthis.toggleFilterPanelVisibility(false);\r\n\t}\r\n\r\n\thandleProductFilterCondition(data, productItem, product) {\r\n\t\tconst { filterbyExpress } = this.state;\r\n\t\tlet selectedValue = data.split(';');\r\n\t\tlet selectedValueLength = selectedValue.length - 1;\r\n\t\tlet productFilterFound = false;\r\n\r\n\t\tconst filter = (selectedValueLength) => {\r\n\t\t\tif (selectedValueLength === 0) {\r\n\t\t\t\tif (filterbyExpress) {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tproductItem.indexOf(selectedValue[0]) !== -1 &&\r\n\t\t\t\t\t\tfilterbyExpress === product.Express;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproductFilterFound = productItem.indexOf(selectedValue[0]) !== -1;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (filterbyExpress) {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tselectedValue[selectedValueLength - 1] === '' &&\r\n\t\t\t\t\t\tfilterbyExpress === product.Express\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: productItem.indexOf(selectedValue[selectedValueLength - 1]) !==\r\n\t\t\t\t\t\t\t\t\t-1 && filterbyExpress === product.Express\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tselectedValue[selectedValueLength - 1] === ''\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: productItem.indexOf(selectedValue[selectedValueLength - 1]) !==\r\n\t\t\t\t\t\t\t  -1\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (productFilterFound) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (selectedValueLength === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfilter(selectedValueLength - 1);\r\n\t\t};\r\n\r\n\t\tfilter(selectedValueLength);\r\n\t\treturn productFilterFound;\r\n\t}\r\n\r\n\thandleRemoveFilter(selectedFilter) {\r\n\t\tconst { productListFilters, productFilterSelectedByUser } = this.state;\r\n\t\tlet tempProductListFilters = productListFilters;\r\n\t\tlet temSelectedFilter = productFilterSelectedByUser;\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\tif (filterItem.GUID === selectedFilter.GUID) {\r\n\t\t\t\t\tfilterItem.isChecked = false;\r\n\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\tfilterbyType: this.state.filterbyType.replace(\r\n\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySector: this.state.filterbySector.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySpace: this.state.filterbySpace.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySize: this.state.filterbySize.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyCollection: this.state.filterbyCollection.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\ttemSelectedFilter = temSelectedFilter.filter(\r\n\t\t\t(el) => el.GUID !== selectedFilter.GUID\r\n\t\t);\r\n\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tproductListFilters: [...tempProductListFilters],\r\n\t\t\t\tproductFilterSelectedByUser: [...temSelectedFilter],\r\n\t\t\t},\r\n\t\t\t() => this.handleApplyFilterChange()\r\n\t\t);\r\n\t}\r\n\r\n\ttoggleFilterPanelVisibility(panelVisibility) {\r\n\t\tthis.setState({ filterPanelVisible: panelVisibility }, () => {\r\n\t\t\tif (this.state.filterPanelVisible) {\r\n\t\t\t\t$('.product-list__filter__backdrop').fadeIn(300);\r\n\t\t\t} else {\r\n\t\t\t\t$('.product-list__filter__backdrop').fadeOut(300);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandlePopularityChange(selectedOption) {\r\n\t\tconst { productList, prevProductListFiltered } = this.state;\r\n\t\tlet productsDup = productList;\r\n\t\tswitch (selectedOption) {\r\n\t\t\t// Currently removing it, price not showing now\r\n\t\t\t// case 'Price Low to High':\r\n\t\t\t//   productsDup.sort(function(a, b){return a.Price - b.Price});\r\n\t\t\t//   this.setState({productSorting: {'value':  selectedOption, 'label' :  selectedOption},productListFiltered : [...productsDup]}, () => { this.handleUpdatingQueryParams() });\r\n\t\t\t//   break;\r\n\t\t\t// Currently removing it, price not showing now\r\n\t\t\t// case 'Price High to Low':\r\n\t\t\t//   productsDup.sort(function(a, b){return b.Price - a.Price});\r\n\t\t\t//   this.setState({productSorting: {'value':  selectedOption, 'label' :  selectedOption},productListFiltered : [...productsDup]}, () => { this.handleUpdatingQueryParams() });\r\n\t\t\t//   break;\r\n\t\t\tcase 'Bestseller':\r\n\t\t\t\tlet BestsellerArray = [];\r\n\t\t\t\tproductsDup.map((product) => {\r\n\t\t\t\t\tif (product.Bestseller) {\r\n\t\t\t\t\t\tBestsellerArray.push(product);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: [...BestsellerArray],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Express':\r\n\t\t\t\tlet ExpressArray = [];\r\n\t\t\t\tproductsDup.map((product) => {\r\n\t\t\t\t\tif (product.Express) {\r\n\t\t\t\t\t\tExpressArray.push(product);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: [...ExpressArray],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: prevProductListFiltered,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\thandleFilterExpressChange(event) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.setState({ filterbyExpress: !this.state.filterbyExpress }, () =>\r\n\t\t\tthis.handleApplyFilterChange()\r\n\t\t);\r\n\t}\r\n\r\n\thandleLoadMoreClick() {\r\n\t\tthis.setState({ productVisibleCount: this.state.productVisibleCount * 2 });\r\n\t}\r\n\r\n\trender(): React.ReactNode {\r\n\t\tconst {\r\n\t\t\tsiteName,\r\n\t\t\tshowFilterPanel,\r\n\t\t\taddOverlay,\r\n\t\t\tfilterSortingOptions,\r\n\t\t\tproductListFiltered,\r\n\t\t\tproductVisibleCount,\r\n\t\t\tproductListFilters,\r\n\t\t\tproductFilterSelectedByUser,\r\n\t\t\tfilterPanelVisible,\r\n\t\t\tfilterbyExpress,\r\n\t\t\tproductSorting,\r\n\t\t\tproductsVisible,\r\n\t\t} = this.state;\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t<div className=\"product-list\">\r\n\t\t\t\t\t<div className=\"product-list__container\">\r\n\t\t\t\t\t\t<div className=\"product-list__wrapper\">\r\n\t\t\t\t\t\t\t<div className=\"product-list__filter\">\r\n\t\t\t\t\t\t\t\t<div className=\"product-list__filter__container\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__wrapper site-container\">\r\n\t\t\t\t\t\t\t\t\t\t{showFilterPanel && (\r\n\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-list__filter__btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.toggleFilterPanelVisibility(true)}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-md fa-regular fa-filter\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\tFilter\r\n\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__dropdown\">\r\n\t\t\t\t\t\t\t\t\t\t\t<Select\r\n\t\t\t\t\t\t\t\t\t\t\t\toptions={filterSortingOptions}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassNamePrefix=\"select\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Popularity\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={productSorting}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(event) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handlePopularityChange(event.value)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__express\">\r\n\t\t\t\t\t\t\t\t\t\t\t<ToggleButton\r\n\t\t\t\t\t\t\t\t\t\t\t\ttext=\"Express\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"Express\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tisChecked={filterbyExpress}\r\n\t\t\t\t\t\t\t\t\t\t\t\thasIcon={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleCheckboxChange={this.handleFilterExpressChange}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t{productFilterSelectedByUser.map(\r\n\t\t\t\t\t\t\t\t\t\t\t(selectedFIlter, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={'form-filter-tag'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveFilter(selectedFIlter)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedFIlter.Title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-sm fa-regular fa-xmark\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={`product-list__filter__backdrop ${\r\n\t\t\t\t\t\t\t\t\t\t\t\tfilterPanelVisible\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'product-list__filter__backdrop--active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.toggleFilterPanelVisibility(false)}\r\n\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t\t{showFilterPanel && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`product-list__filter__panel ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilterPanelVisible\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'product-list__filter__panel--active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__top\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button className=\"button button--text-only\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-md fa-regular fa-filter\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-list__filter__panel__top__close-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleFilterPanelVisibility(false)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left product-list__filter__panel__top__close-btn__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-lg fa-regular fa-xmark product-list__filter__panel__top__close-btn__icon\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{productListFilters.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductListFilters.map((productFilter, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (productFilter.FilterEnabled) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn productFilter.FilterTitle !=\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Filter by Portal' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Accordion\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={productFilter.FilterTitle}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{productFilter.FilterItems.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(filter) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ToggleButton\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={filter.GUID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisChecked={filter.isChecked}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.Title +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' (' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.Count +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t')'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductFilter.FilterTitle +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t';' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.GUID +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t';' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.CodeName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleCheckboxChange={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleFilterCheckboxChange\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__btn\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.handleApplyFilterChange()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tApply filter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div className=\"product-list__grid site-container\">\r\n\t\t\t\t\t\t\t\t{productsVisible && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__grid__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t{productListFiltered?.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\tproductListFiltered\r\n\t\t\t\t\t\t\t\t\t\t\t\t.slice(0, productVisibleCount)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((el, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`dynamic-card dynamic-card--product ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual' && 'dynamic-card--qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}  ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taddOverlay ? 'dynamic-card--overlay' : ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} fade-in`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={el.NodeID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-node-id={el.NodeID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={el.PageRelativeURL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dynamic-card__image\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{siteName === 'Qual' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FavouriteContainer />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={el.Image} alt={el.ProductName} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{siteName === 'Qual' && el.BrandName && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"dynamic-card__sub-heading\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.BrandName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={el.PageRelativeURL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dynamic-card__title h5\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t__html: el.ProductName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(el.Bestseller ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tel.AustralianMade ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tel.Express) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.Bestseller && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBestseller\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.AustralianMade && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAustralian Made\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.Express && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExpress\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t<h3 className=\"product-list__no-result\">\r\n\t\t\t\t\t\t\t\t\t\t\t\tNo results found.\r\n\t\t\t\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t{productsVisible &&\r\n\t\t\t\t\t\t\t\tproductListFiltered.length > productVisibleCount && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__bottom\">\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--primary product-list__bottom__load-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={this.handleLoadMoreClick}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">Load more</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default ProductListsFilterContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport {\r\n  OurPeopleState,\r\n  OurPeopleData,\r\n  GlobalEndpoints,\r\n} from '../types/OurPeopleInterface';\r\nclass OurPeopleContainer extends PureComponent<{}, OurPeopleState> {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      siteName: null,\r\n      locationArray: [],\r\n      internationalTab: [],\r\n      newzealandTab: [],\r\n      australiaTab: [],\r\n      readBioArray: [],\r\n      peopleData: [],\r\n      australiaTabActive: true,\r\n      newzealandTabActive: false,\r\n      internationalTabActive: false,\r\n      readBio: false,\r\n    };\r\n  }\r\n\r\n  componentDidMount(): void {\r\n    const { internationalTab, newzealandTab, australiaTab } = this.state;\r\n    const endpointsData: GlobalEndpoints = JSON.parse(\r\n      document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML\r\n    );\r\n    const $element = document.querySelector('.js-sebel-our-people');\r\n    const siteName = $element.getAttribute('data-site-name');\r\n      \r\n    axios\r\n      .get(`${endpointsData.people}?culture=en-au`)\r\n      .then((australiaListResponse: AxiosResponse) => {\r\n        axios\r\n          .get(`${endpointsData.people}?culture=en-nz`)\r\n          .then((newzealandListResponse: AxiosResponse) => {\r\n            axios\r\n              .get(`${endpointsData.people}?culture=en-in`)\r\n              .then((InternationalListResponse: AxiosResponse) => {\r\n\r\n                if (australiaListResponse.data.length > 0) {\r\n                  this.setState({\r\n                    australiaTab: australiaListResponse.data,\r\n                    newzealandTab: newzealandListResponse.data,\r\n                    internationalTab: InternationalListResponse.data,\r\n                    locationArray: australiaListResponse.data,\r\n                    australiaTabActive: true,\r\n                    siteName\r\n                  });\r\n                } else if (newzealandListResponse.data.length > 0) {\r\n                  this.setState({\r\n                    australiaTab: australiaListResponse.data,\r\n                    newzealandTab: newzealandListResponse.data,\r\n                    internationalTab: InternationalListResponse.data,\r\n                    locationArray: newzealandListResponse.data,\r\n                    newzealandTabActive: true,\r\n                    siteName\r\n                  });\r\n                } else if (InternationalListResponse.data.length > 0) {\r\n                  this.setState({\r\n                    australiaTab: australiaListResponse.data,\r\n                    newzealandTab: newzealandListResponse.data,\r\n                    internationalTab: InternationalListResponse.data,\r\n                    locationArray: InternationalListResponse.data,\r\n                    internationalTabActive: true,\r\n                    siteName\r\n                  });\r\n                }\r\n              })\r\n              .catch(function (error: AxiosResponse) {});\r\n          })\r\n          .catch(function (error: AxiosResponse) {});\r\n      })\r\n      .catch(function (error: AxiosResponse) {});\r\n  }\r\n\r\n  handleLocation = (location: string) => {\r\n    const { internationalTab, newzealandTab, australiaTab } = this.state;\r\n    switch (location) {\r\n      case 'international':\r\n        this.setState({\r\n          locationArray: internationalTab,\r\n          australiaTabActive: false,\r\n          internationalTabActive: true,\r\n          newzealandTabActive: false,\r\n          readBio: false,\r\n        });\r\n        break;\r\n      case 'newzealand':\r\n        this.setState({\r\n          locationArray: newzealandTab,\r\n          australiaTabActive: false,\r\n          internationalTabActive: false,\r\n          newzealandTabActive: true,\r\n          readBio: false,\r\n        });\r\n        break;\r\n      default:\r\n        this.setState({\r\n          locationArray: australiaTab,\r\n          australiaTabActive: true,\r\n          newzealandTabActive: false,\r\n          internationalTabActive: false,\r\n          readBio: false,\r\n        });\r\n    }\r\n  };\r\n  handleReadBio = (data) => {\r\n    this.setState({ readBio: true, readBioArray: [data] });\r\n  };\r\n  handleBackButton = (el) => {\r\n    this.setState({ readBio: false });\r\n  };\r\n  render(): React.ReactNode {\r\n    const {\r\n      australiaTabActive,\r\n      newzealandTabActive,\r\n      internationalTabActive,\r\n      readBioArray,\r\n      readBio,\r\n      locationArray,\r\n      australiaTab,\r\n      newzealandTab,\r\n      internationalTab,\r\n      siteName\r\n    } = this.state;\r\n\r\n    return (\r\n      <>\r\n        <div className=\"our-people\">\r\n          <div className=\"our-people__container site-container\">\r\n            <div className=\"our-people__wrapper\">\r\n             { siteName !== \"Qual\" && <div className=\"our-people__tab__wrapper\">\r\n                {australiaTab.length > 0 && (\r\n                  <div\r\n                    className={`${\r\n                      australiaTabActive\r\n                        ? 'our-people__tab__item__active'\r\n                        : 'our-people__tab__item'\r\n                    }`}\r\n                  >\r\n                    <button\r\n                      className=\"our-people__tab__item__button\"\r\n                      onClick={() => this.handleLocation('australia')}\r\n                    >\r\n                      Australia\r\n                    </button>\r\n                  </div>\r\n                )}\r\n                {newzealandTab.length > 0 && (\r\n                  <div\r\n                    className={`${\r\n                      newzealandTabActive\r\n                        ? 'our-people__tab__item__active'\r\n                        : 'our-people__tab__item'\r\n                    }`}\r\n                  >\r\n                    <button\r\n                      className=\"our-people__tab__item__button\"\r\n                      onClick={() => this.handleLocation('newzealand')}\r\n                    >\r\n                      New Zealand\r\n                    </button>\r\n                  </div>\r\n                )}\r\n                {internationalTab.length > 0 && (\r\n                  <div\r\n                    className={`${\r\n                      internationalTabActive\r\n                        ? 'our-people__tab__item__active'\r\n                        : 'our-people__tab__item'\r\n                    }`}\r\n                  >\r\n                    <button\r\n                      className=\"our-people__tab__item__button\"\r\n                      onClick={() => this.handleLocation('international')}\r\n                    >\r\n                      International\r\n                    </button>\r\n                  </div>\r\n                )}\r\n              </div>}\r\n              {readBio\r\n                ? readBioArray?.map((el, index) => (\r\n                    <div key={index} className=\"our-people__read-bio\">\r\n                      <div className=\"our-people__read-bio__container site-container\">\r\n                        <div className=\"our-people__read-bio__button\">\r\n                          <button\r\n                            className=\"our-people__read-bio__back-btn button button--text-only\"\r\n                            onClick={() => {\r\n                              this.handleBackButton('back');\r\n                            }}\r\n                          >\r\n                            <span className=\"button__icon__left\">\r\n                              <i className=\"fa-solid fa-arrow-left icon-md\"></i>\r\n                            </span>\r\n                            <span className=\"button__label\">Back</span>\r\n                          </button>\r\n                        </div>\r\n\r\n                        <div className=\"our-people__read-bio__wrapper\">\r\n                          <div\r\n                            className=\"our-people__read-bio__image\"\r\n                            style={{\r\n                              backgroundImage: `url(${el?.Image})`,\r\n                            }}\r\n                          ></div>\r\n                          <div className=\"our-people__read-bio__content\">\r\n                            <h4 className=\"our-people__read-bio__name\">\r\n                              {el?.FullName}\r\n                            </h4>\r\n                            <p className=\"our-people__read-bio__position\">\r\n                              {el?.Position}\r\n                            </p>\r\n                            <div className=\"our-people__read-bio__icons\">\r\n                              {el?.LinkedInLink && (\r\n                                <a href={el?.LinkedInLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#linkedin\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.TwitterLink && (\r\n                                <a href={el?.TwitterLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#twitter\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.FacebookLink && (\r\n                                <a href={el?.FacebookLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#facebook\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.InstagramLink && (\r\n                                <a href={el?.InstagramLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#instagram\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                            </div>\r\n                            <div className=\"our-people__read-bio__phone\">\r\n                              <a href={`tel:${el.Phone}`}>{el?.Phone}</a>\r\n                            </div>\r\n                            <div className=\"our-people__read-bio__email\">\r\n                              <a href={`mailto:${el.Email}`}>{el?.Email}</a>\r\n                            </div>\r\n                            <div className=\"rte js-slide-toggle\">\r\n                              <p\r\n                                dangerouslySetInnerHTML={{\r\n                                  __html: el?.Biography,\r\n                                }}\r\n                              ></p>\r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  ))\r\n                : locationArray?.map((el, index) => (\r\n                    <div key={index} className=\"our-people__details__container\">\r\n                      <div className=\"our-people__details__wrapper\">\r\n                        <div className=\"our-people__details__content__wrapper\">\r\n                          <div className=\"our-people__details__content__text__wrapper\">\r\n                            <h4 className=\"our-people__details__content__title\">\r\n                              {el?.FullName}\r\n                            </h4>\r\n                            <p className=\"our-people__details__content__position\">\r\n                              {el?.Position}\r\n                            </p>\r\n                          </div>\r\n                          <div className=\"our-people__details__content__links__wrapper\">\r\n                            <div className=\"our-people__details__content__links__icon\">\r\n                              {el?.LinkedInLink && (\r\n                                <a href={el?.LinkedInLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#linkedin\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.TwitterLink && (\r\n                                <a href={el?.TwitterLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#twitter\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.FacebookLink && (\r\n                                <a href={el?.FacebookLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#facebook\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                              {el?.InstagramLink && (\r\n                                <a href={el?.InstagramLink}>\r\n                                  <svg\r\n                                    className=\"social-icons\"\r\n                                    viewBox=\"0 0 15 15\"\r\n                                    xmlns=\"http://www.w3.org/2000/svg\"\r\n                                    xmlnsXlink=\"http://www.w3.org/1999/xlink\"\r\n                                    focusable=\"false\"\r\n                                  >\r\n                                    <use xlinkHref=\"/qual/assets/icons/spritemap.svg#instagram\"></use>\r\n                                  </svg>\r\n                                </a>\r\n                              )}\r\n                            </div>\r\n                            <div className=\"our-people__details__content__links__phone\">\r\n                              <a href={`tel:${el.Phone}`}>{el?.Phone}</a>\r\n                            </div>\r\n                            <div className=\"our-people__details__content__links__email\">\r\n                              <a href={`mailto:${el.Email}`}>{el?.Email}</a>\r\n                            </div>\r\n                          </div>\r\n                          { el.Biography && <div className=\"our-people__details__content__button\">\r\n                            <button\r\n                              className=\"button button--text-only\"\r\n                              onClick={() => this.handleReadBio(el)}\r\n                            >\r\n                              Read bio\r\n                              <span className=\"button__icon__right\">\r\n                                <i className=\"fa-solid fa-arrow-right icon-md\"></i>\r\n                              </span>\r\n                            </button>\r\n                          </div>}\r\n                        </div>\r\n                        <div\r\n                          className=\"our-people__details__image\"\r\n                          style={{\r\n                            backgroundImage: `url(${el?.Image})`,\r\n                          }}\r\n                        ></div>\r\n                      </div>\r\n                    </div>\r\n                  ))}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nexport default OurPeopleContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport { getUrlParameter, insertUrlParam } from \"../utils/URLparamsHelper\";\r\nimport { SiteSearchState, GlobalEndpoints } from '../types/SiteSearchInterface';\r\nimport FavouriteContainer from './Favourites/FavouriteContainer';\r\n\r\nclass SiteSearchContainer extends PureComponent<{}, SiteSearchState> {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      addProductOverlay: false,\r\n      siteName: null,\r\n      productsList: [],\r\n      allresultsList: [],\r\n      productVisibleCount: 3,\r\n      allResultsVisibleCount: 4,\r\n      searchTerm: '',\r\n    };\r\n    this.fetchSearchList = this.fetchSearchList.bind(this);\r\n    this.handleProductLoadBtnClick = this.handleProductLoadBtnClick.bind(this);\r\n    this.handleResultsLoadBtnClick = this.handleResultsLoadBtnClick.bind(this);\r\n    this.handleSearchTermChange = this.handleSearchTermChange.bind(this);\r\n    this.handleSearchbtnClick = this.handleSearchbtnClick.bind(this);\r\n    this.handleSearchEnterPress = this.handleSearchEnterPress.bind(this);\r\n  }\r\n\r\n  componentDidMount(): void {\r\n    let queryParams = getUrlParameter();\r\n    this.fetchSearchList(queryParams.term);\r\n  }\r\n\r\n  fetchSearchList(query: string) {\r\n    const searchQuery = query ? query : ' ';\r\n    const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n    const $element = document.querySelector('.js-sebel-search-results');\r\n    const currentCulture = $element.getAttribute('data-culture-code');\r\n    const siteName = $element.getAttribute('data-site-name');\r\n    const addOverlay = $element.getAttribute('data-add-overlay') === \"true\" ? true : false;\r\n    let productVisibleCount = 3;\r\n    axios.get(`${endpointsData.search}?term=${searchQuery}&culture=${currentCulture}`).then((searchListsresponse: AxiosResponse) => {\r\n      const products = [];\r\n      const allresults = [];\r\n      searchListsresponse.data.forEach((searchItem) => {\r\n        if(searchItem.ClassName === \"Sebel.Product\") {\r\n          products.push(searchItem);\r\n        } else {\r\n          allresults.push(searchItem)\r\n        }\r\n      })\r\n      if(siteName && siteName === \"Qual\") {\r\n        productVisibleCount = 4;\r\n      }\r\n      this.setState({productsList: products, productVisibleCount, allresultsList: allresults, searchTerm: searchQuery, siteName, addProductOverlay: addOverlay})\r\n    })\r\n    .catch(function (error: AxiosResponse) {});\r\n  }\r\n\r\n  handleProductLoadBtnClick() {\r\n    this.setState({productVisibleCount : (this.state.productVisibleCount * 2)})\r\n  }\r\n\r\n  handleResultsLoadBtnClick() {\r\n    this.setState({allResultsVisibleCount : (this.state.allResultsVisibleCount * 2)})\r\n  }\r\n\r\n  handleSearchTermChange(event) {\r\n    this.setState({searchTerm : event.target.value})\r\n  }\r\n\r\n  handleSearchbtnClick() {\r\n    const { searchTerm } = this.state;\r\n    insertUrlParam(\"term\", searchTerm);\r\n    this.fetchSearchList(searchTerm);\r\n  }\r\n\r\n  handleSearchEnterPress(e) {\r\n    if(e.key === 'Enter') {\r\n      this.handleSearchbtnClick();\r\n    }\r\n  }\r\n\r\n  render(): React.ReactNode {\r\n    const { productsList, allresultsList, productVisibleCount, allResultsVisibleCount, searchTerm, siteName, addProductOverlay } = this.state;\r\n    \r\n    return (\r\n      <div className={`site-search ${siteName === \"Qual\" && \"site-search--qual\"}`}>\r\n      <div className=\"site-search__wrapper\">\r\n        <div className=\"site-search__container\">\r\n          { siteName && siteName !== \"Qual\" && <h4 className=\"site-search__heading site-container\">What are you looking for today?</h4>}\r\n          { siteName && siteName === \"Qual\" && <h4 className=\"site-search__heading site-container\">Your search results for:</h4>}\r\n          <div className=\"site-search__form\">\r\n            <div className=\"site-search__form__container site-container\">\r\n              <div className=\"site-search__form__wrapper\">\r\n                <input\r\n                  type=\"search\"\r\n                  className=\"site-search__form__input para-medium\"\r\n                  placeholder=\"Search\"\r\n                  value={searchTerm}\r\n                  onChange={this.handleSearchTermChange}\r\n                  onKeyPress={(e) => this.handleSearchEnterPress(e)}\r\n                />\r\n                <button className=\"site-search__form__search__btn\">\r\n                  <i className=\"site-search__form__search__btn__icon icon-lg fa-regular fa-magnifying-glass\"></i>\r\n                </button>\r\n              </div>\r\n              <button className=\"site-search__form__btn button button--primary\" onClick={this.handleSearchbtnClick}>\r\n                Search\r\n              </button>\r\n            </div>\r\n          </div>\r\n          <div className=\"site-search__products\">\r\n            <div className=\"site-search__products__container site-container\">\r\n              <h4 className=\"site-search__products__heading\">Products</h4>\r\n              <div className=\"site-search__products__grid\">\r\n                {productsList.length > 0 ? productsList.slice(0, productVisibleCount).map((el) => {\r\n                  return <div className={`dynamic-card ${(siteName && siteName === \"Qual\") ? \"dynamic-card--qual\" : \"\"} dynamic-card--product ${addProductOverlay ? \"dynamic-card--overlay\" : \"\"} fade-in`} key={el.NodeID} data-node-id={el.NodeID}>\r\n                    <div className=\"dynamic-card__wrapper\">\r\n                        <a href={el.PageRelativeURL} className=\"dynamic-card__image\">\r\n                           {(siteName && siteName === \"Qual\") && <FavouriteContainer /> } \r\n                          <img src={el.Image} alt={el.Title} />\r\n                        </a>\r\n                        { el.BrandName && <p className=\"dynamic-card__sub-heading\">{el.BrandName}</p> }\r\n                        <a  href={el.PageRelativeURL} className=\"dynamic-card__title h5\" dangerouslySetInnerHTML={{ __html : el.Title}}></a>\r\n                        {(el.Bestseller || el.AustralianMade) && (\r\n                          <div className=\"dynamic-card__tags\">\r\n                            { el.Bestseller && <div className=\"dynamic-card__tags__item\">\r\n                              <span className={siteName === \"Qual\" ? \"tag__secondary\" : \"tag__primary\"}>\r\n                                  <h6 className={`tag__text ${siteName === \"Qual\" ? \"tag--secondary\" : \"tag--primary\"}`}>Bestseller</h6>\r\n                              </span>\r\n                            </div> }\r\n                            { el.AustralianMade && <div className=\"dynamic-card__tags__item\"> \r\n                              <span className={siteName === \"Qual\" ? \"tag__secondary\" : \"tag__primary\"}>\r\n                                  <h6 className={`tag__text ${siteName === \"Qual\" ? \"tag--secondary\" : \"tag--primary\"}`}>Australian Made</h6>\r\n                              </span>\r\n                            </div>}\r\n                          </div>\r\n                          )}\r\n                      </div>\r\n                  </div>\r\n                }) :  <h5 className=\"site-search__no-results\">No Results found</h5>}\r\n              </div>\r\n              {productVisibleCount < productsList.length && (\r\n              <div className=\"site-search__products__bottom\">\r\n                { (siteName && siteName !== \"Qual\") && <button className=\"button button--primary site-search__products__bottom__load-btn\" onClick={this.handleProductLoadBtnClick}>\r\n                  <span className=\"button__label\">Load more</span>\r\n                </button>}\r\n                { (siteName && siteName === \"Qual\") && <button className=\"button button--primary site-search__products__bottom__load-btn\" onClick={this.handleProductLoadBtnClick}>\r\n                  <span className=\"button__label\">Load more</span>\r\n                </button>}\r\n              </div>\r\n              )}\r\n            </div>\r\n          </div>\r\n          <div className=\"site-search__results\">\r\n            <div className=\"site-search__results__container site-container\">\r\n              <h4 className=\"site-search__results__heading\">All results</h4>\r\n              <ul className=\"site-search__results__list m-0 p-0\">\r\n                {allresultsList.length > 0 ? allresultsList.slice(0, allResultsVisibleCount).map((result, index) => {\r\n                    return (\r\n                      <li className=\"site-search__results__item\" key={index}>\r\n                        <a href={result.PageRelativeURL} className=\"site-search__results__item__link\">\r\n                          <div className=\"site-search__results__left\">\r\n                            <img\r\n                              src={result.Image}\r\n                              alt={result.Title}\r\n                              className=\"site-search__results__img\"\r\n                            />\r\n                          </div>\r\n                          <div className=\"site-search__results__right\">\r\n                            <h5 className=\"site-search__results__right__heading\" dangerouslySetInnerHTML={{ __html : result.Title}}></h5>\r\n                            <p className=\"site-search__results__description para-small m-0\" dangerouslySetInnerHTML={{ __html : result.Description}}></p>\r\n                            { result.Tags && result.Tags.length > 0 && <ul className=\"site-search__results__tags__list m-0 p-0\">\r\n                              {result.Tags.map((tag) => {\r\n                              return (\r\n                                  <li className=\"site-search__results__tags__item\" key={tag.Name}>\r\n                                    <span className={siteName === \"Qual\" ? \"tag__secondary\" : \"tag__primary\"}>\r\n                                      <h6 className={`tag__text ${siteName === \"Qual\" ? \"tag--secondary\" : \"tag--primary\"}`}>{tag.Name}</h6>\r\n                                    </span>\r\n                                  </li>)\r\n                              })}\r\n                            </ul>}\r\n                          </div>\r\n                      </a>\r\n                    </li>\r\n                    )\r\n                  }) : <h5 className=\"site-search__no-results\">No Results found</h5>}\r\n              </ul>\r\n\r\n              {allResultsVisibleCount < allresultsList.length && (\r\n                <div className=\"site-search__results__bottom\">\r\n                  <button className=\"button button--primary site-search__results__bottom__load-btn\" onClick={this.handleResultsLoadBtnClick}>\r\n                    <span className=\"button__label\">Load more</span>\r\n                  </button>\r\n                </div>)}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    );\r\n  }\r\n}\r\n\r\nexport default SiteSearchContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport Select from 'react-select';\r\nimport * as $ from 'jquery';\r\n\r\nimport ToggleButton from '../components/Form/toggleButton';\r\nimport Accordion from '../components/Accordion';\r\nimport { ArticleListState, GlobalEndpoints } from '../types/ArticleListingInterface';\r\nimport { insertUrlParam, deleteAllUrlParameter, getAllURLParameters } from '../utils/URLparamsHelper';\r\n\r\nclass ArticleListContainer extends PureComponent<{}, ArticleListState> {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      siteName: null,\r\n      articleList: [],\r\n      articleListFiltered: [],\r\n      articleListFilters: [],\r\n      articleFilterSelectedByUser : [],\r\n      filterbyType: '',\r\n      filterbyTypeCodeName: '',\r\n      filterbyTag: '',\r\n      filterbyTagCodeName: '',\r\n      articleVisibleCount : 9,\r\n      filterPanelVisible : false,\r\n      currentCulture: '',\r\n      articleSorting: { value: 'Latest', label: 'Latest' },\r\n      filterSortingOptions: [\r\n        { value: 'Latest', label: 'Latest' },\r\n        { value: 'Oldest', label: 'Oldest' },\r\n        { value: 'Name A to Z', label: 'Name A to Z' },\r\n        { value: 'Name Z to A', label: 'Name Z to A' },\r\n      ],\r\n    };\r\n    this.handleFilterCheckboxChange = this.handleFilterCheckboxChange.bind(this);\r\n    this.handleApplyFilterChange = this.handleApplyFilterChange.bind(this);\r\n    this.handleRemoveFilter = this.handleRemoveFilter.bind(this);\r\n    this.handleProductFilterCondition = this.handleProductFilterCondition.bind(this);\r\n    this.toggleFilterPanelVisibility = this.toggleFilterPanelVisibility.bind(this);\r\n    this.handlePopularityChange = this.handlePopularityChange.bind(this);\r\n    this.handleLoadMoreClick = this.handleLoadMoreClick.bind(this);\r\n    this.handleQueryParamsOnPageLoad = this.handleQueryParamsOnPageLoad.bind(this);\r\n  }\r\n\r\n  componentDidMount(): void {\r\n    const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n    const $element = document.querySelector('.js-sebel-articles');\r\n    const culture = $element.getAttribute('data-culture');\r\n    const siteName = $element.getAttribute('data-site-name');\r\n    axios.get(`${endpointsData.articleFilters}?culture=${culture}`).then((articleFiltersresponse: AxiosResponse) => {\r\n        axios.get(`${endpointsData.articles}?culture=${culture}`).then((articleListresponse: AxiosResponse) => {\r\n          // Adding isChecked to the response data, using this for toggling the filter state's.\r\n          const articleFilters = articleFiltersresponse.data.map((filter) => {\r\n            let modifiedFilterItems = filter.FilterItems.map((filterItems) => (\r\n              { ...filterItems , isChecked : false }\r\n            ))\r\n           return { ...filter, FilterItems : [ ...modifiedFilterItems]}\r\n          })\r\n          \r\n          articleListresponse.data.forEach(element => {\r\n            element.CreatedOn = new Date(element.CreatedOn);\r\n          });\r\n          \r\n          this.setState({ siteName, articleList: articleListresponse.data, articleListFiltered: articleListresponse.data, \r\n            articleListFilters: articleFilters, currentCulture: culture }, this.handleQueryParamsOnPageLoad);\r\n        });\r\n      })\r\n      .catch(function (error: AxiosResponse) {});\r\n  }\r\n\r\n  handleCodeNameMappingToGUID(filtertype, codename, currentState){\r\n    let tempArticleListFilters = [...currentState.articleListFilters];\r\n    \r\n    tempArticleListFilters.map((filter) => {\r\n       // Match item with the title\r\n       if(filter.FilterTitle === filtertype) {\r\n        filter.FilterItems.map((filterItem) => {\r\n          if(filterItem.CodeName === codename ) {\r\n            filterItem.isChecked = true;\r\n            switch(filter.FilterTitle) {\r\n              case 'Filter by Type':\r\n                currentState.filterbyType = currentState.filterbyType+filterItem.GUID+\";\";\r\n                currentState.filterbyTypeCodeName = this.handleCodenameConversion(currentState.filterbyTypeCodeName , filterItem.CodeName, 'add');\r\n                break;\r\n              case 'Filter by Tag':\r\n                currentState.filterbyTag = currentState.filterbyTag+filterItem.GUID+\";\";\r\n                currentState.filterbyTagCodeName = this.handleCodenameConversion(currentState.filterbyTagCodeName , filterItem.CodeName, 'add');\r\n                  break;       \r\n              default:\r\n                console.log('CodeName mapping Error ->', filter.FilterTitle);\r\n            }\r\n          }\r\n        })\r\n       }\r\n    })\r\n    \r\n    this.setState({ articleListFilters : [...tempArticleListFilters] })\r\n  }\r\n\r\n  handleQueryParamsOnPageLoad() {\r\n    let currentState = {...this.state};\r\n    const queryParams = getAllURLParameters();\r\n    for (var key of Object.keys(queryParams)) {\r\n      switch(key) {\r\n        case 'type':\r\n          queryParams[key].split(\",\").forEach((params) => {\r\n            this.handleCodeNameMappingToGUID('Filter by Type', params, currentState);\r\n          });\r\n          break;\r\n        case 'tag':\r\n          queryParams[key].split(\",\").forEach((params) => {\r\n            this.handleCodeNameMappingToGUID('Filter by Tag', params, currentState);\r\n          });\r\n          break;\r\n        case 'articleSorting':\r\n          currentState.articleSorting = {'value': queryParams[key], 'label' : queryParams[key]};\r\n          break;\r\n        default:\r\n          console.log('Query Parms Error ==>', key );\r\n      }\r\n    }\r\n    const latestState = { \"filterbyType\": currentState.filterbyType, \"filterbyTag\": currentState.filterbyTag,\r\n     \"filterbyTypeCodeName\": currentState.filterbyTypeCodeName,\"filterbyTagCodeName\": currentState.filterbyTagCodeName, \"articleSorting\": currentState.articleSorting }\r\n    this.setState({...latestState}, this.handleApplyFilterChange)\r\n  }\r\n\r\n  handleUpdatingQueryParams() {\r\n    const {  filterbyTypeCodeName, filterbyTagCodeName, articleSorting  } = this.state;    \r\n    deleteAllUrlParameter();\r\n    filterbyTypeCodeName && insertUrlParam(\"type\", filterbyTypeCodeName);\r\n    filterbyTagCodeName && insertUrlParam(\"tag\", filterbyTagCodeName);\r\n    articleSorting.value !== 'Popularity' && insertUrlParam(\"articleSorting\", articleSorting.value);\r\n  }\r\n\r\n  handleFilterCheckboxChange(event) {\r\n    const { articleListFilters } = this.state;\r\n    const target = event.target;\r\n    const value = target.type === 'checkbox' ? target.checked : target.value;\r\n    let tempProductListFilters = articleListFilters;\r\n    const selectedFilter = {\r\n      tile: event.target.id.split(\";\")[0],\r\n      GUID: event.target.id.split(\";\")[1],\r\n      codeName: event.target.id.split(\";\")[2]\r\n    }\r\n    // CodeName is used to push the selected filter to url, GUID is used to filter teh items\r\n    tempProductListFilters.map((filter) => {\r\n      // Match item with the title\r\n      if(filter.FilterTitle === selectedFilter.tile) {\r\n        filter.FilterItems.map((filterItem) => {\r\n          // Match item with the GUID\r\n          if(filterItem.GUID === selectedFilter.GUID ) {\r\n            filterItem.isChecked = value;\r\n            if(value) {\r\n              this.handleAddFilterState(filter.FilterTitle, {...filterItem })\r\n            } else {\r\n              switch(filter.FilterTitle) {                \r\n                case 'Filter by Type':\r\n                  this.setState({filterbyType: (this.state.filterbyType).replace(filterItem.GUID+\";\", \"\"),\r\n                  filterbyTypeCodeName: this.handleCodenameConversion(this.state.filterbyTypeCodeName, filterItem.CodeName, 'remove') });\r\n                  break;\r\n                case 'Filter by Tag':\r\n                  this.setState({filterbyTag: (this.state.filterbyTag).replace(filterItem.GUID+\";\", \"\"),\r\n                  filterbyTagCodeName: this.handleCodenameConversion(this.state.filterbyTagCodeName , filterItem.CodeName, 'remove')});\r\n                  break;\r\n                default:\r\n                  console.log('Remove Filters Error ->', filter.FilterTitle);\r\n              }\r\n            }\r\n          }\r\n        })\r\n      }\r\n    })\r\n    this.setState({ articleListFilters : [...tempProductListFilters] }, this.handleUpdatingQueryParams)\r\n  }\r\n\r\n  handleAddFilterState(filterTitle, filterItem) {\r\n    switch(filterTitle) {\r\n      case 'Filter by Type':\r\n        this.setState({filterbyType: this.state.filterbyType+filterItem.GUID+\";\",\r\n         filterbyTypeCodeName: this.handleCodenameConversion(this.state.filterbyTypeCodeName , filterItem.CodeName, 'add')});\r\n        break;\r\n      case 'Filter by Tag':\r\n        this.setState({filterbyTag: this.state.filterbyTag+filterItem.GUID+\";\",\r\n        filterbyTagCodeName: this.handleCodenameConversion(this.state.filterbyTagCodeName , filterItem.CodeName, 'add')});\r\n        break;       \r\n      default:\r\n        console.log('Add Filters Error ->', filterTitle);\r\n    }\r\n  }\r\n\r\n  handleCodenameConversion(currentvalue, newvalue, state) {\r\n    let updatedValue = null;\r\n    if(state === 'add') {\r\n      // Add ',' for the second item onwards\r\n      if(currentvalue === \"\"){\r\n        updatedValue = newvalue;\r\n      } else {\r\n        updatedValue = currentvalue + ',' +newvalue;\r\n      }\r\n      return updatedValue\r\n    } else {\r\n      // Remove ',' along with the codeName\r\n      updatedValue = currentvalue.split(',').filter((codename) => codename !== newvalue);\r\n      if(updatedValue.length === 1) {\r\n        updatedValue = updatedValue.join('');\r\n      } else {\r\n        updatedValue = updatedValue.join(',');\r\n      }\r\n      return updatedValue;\r\n    }\r\n  }\r\n\r\n  handleApplyFilterChange() {\r\n    const { articleList, filterbyType, filterbyTag, articleListFilters } = this.state;\r\n    const filteredProducts = [];\r\n    const filtersSelected = [];\r\n    // Filter products based on selection\r\n    articleList.forEach((product) => {\r\n      if(this.handleProductFilterCondition(filterbyType, product.Type) && this.handleProductFilterCondition(filterbyTag, product.Tags)) {\r\n        filteredProducts.push(product);\r\n      }\r\n    })\r\n    // Pushing selected tags\r\n    articleListFilters.forEach( filter => {\r\n      filter.FilterItems.forEach(filterItem => {\r\n        if(filterItem.isChecked) {\r\n          filtersSelected.push(filterItem);\r\n        }\r\n      })\r\n    })\r\n    \r\n    this.setState({articleListFiltered : filteredProducts, articleFilterSelectedByUser : filtersSelected},  () => {\r\n      this.handlePopularityChange(this.state.articleSorting.value)\r\n      this.handleUpdatingQueryParams()\r\n    });\r\n    this.toggleFilterPanelVisibility(false)\r\n  }\r\n\r\n  handleProductFilterCondition(data, productItem) {\r\n\r\n    let selectedValue = data.split(\";\");\r\n    let selectedValueLength = selectedValue.length - 1;\r\n    let productFilterFound = false;\r\n    \r\n    const filter = (selectedValueLength) => {\r\n      if(selectedValueLength === 0) {\r\n        productFilterFound = productItem.indexOf(selectedValue[0]) !== -1;\r\n      } else {\r\n        productFilterFound = selectedValue[selectedValueLength - 1] === \"\" ? true :  productItem.indexOf(selectedValue[selectedValueLength - 1]) !== -1 ? true : false;\r\n      }\r\n      if(productFilterFound) {\r\n        return\r\n      }\r\n      if(selectedValueLength === 0) {\r\n        return\r\n      }\r\n      filter(selectedValueLength - 1);\r\n    }\r\n    \r\n    filter(selectedValueLength);    \r\n    return productFilterFound;\r\n  }\r\n\r\n  handleRemoveFilter(selectedFilter) {\r\n      const { articleListFilters,  articleFilterSelectedByUser} = this.state;\r\n      let tempArticleListFilters = articleListFilters;\r\n      let temSelectedFilter = articleFilterSelectedByUser;\r\n       tempArticleListFilters.map((filter) => {\r\n          filter.FilterItems.map((filterItem) => {\r\n            if(filterItem.GUID === selectedFilter.GUID ) {\r\n              filterItem.isChecked = false;\r\n              switch(filter.FilterTitle) {\r\n                case 'Filter by Type':\r\n                  this.setState({filterbyType: (this.state.filterbyType).replace(filterItem.GUID+\";\", \"\"),\r\n                  filterbyTypeCodeName: this.handleCodenameConversion(this.state.filterbyTypeCodeName , filterItem.CodeName, 'remove')},\r\n                    this.handleUpdatingQueryParams);\r\n                  break;\r\n                case 'Filter by Tag':\r\n                  this.setState({filterbyTag: (this.state.filterbyTag).replace(filterItem.GUID+\";\", \"\"),\r\n                  filterbyTagCodeName: this.handleCodenameConversion(this.state.filterbyTagCodeName , filterItem.CodeName, 'remove')},\r\n                    this.handleUpdatingQueryParams);\r\n                  break;\r\n                default:\r\n                  console.log('Remove Filters Error ->', filter.FilterTitle);\r\n              }\r\n            }\r\n          })\r\n      })\r\n      temSelectedFilter = temSelectedFilter.filter(el => ( el.GUID !== selectedFilter.GUID))      \r\n      \r\n      this.setState({ articleListFilters : [...tempArticleListFilters], articleFilterSelectedByUser : [...temSelectedFilter]  }, () => this.handleApplyFilterChange())\r\n  }\r\n\r\n  toggleFilterPanelVisibility(panelVisibility) {\r\n    this.setState({filterPanelVisible : panelVisibility}, () => {\r\n      if(this.state.filterPanelVisible) {\r\n        $('.product-list__filter__backdrop').fadeIn(300);\r\n      } else {\r\n        $('.product-list__filter__backdrop').fadeOut(300);\r\n      }\r\n    })\r\n  }\r\n\r\n  handlePopularityChange(selectedOption) {\r\n    let articlesDup = [...this.state.articleListFiltered]\r\n    switch(selectedOption) {\r\n      case 'Name Z to A':\r\n        // Z - A\r\n        articlesDup.sort(function(a, b){\r\n          if(a.Title > b.Title) { return -1; }\r\n          if(a.Title < b.Title) { return 1; }\r\n          return 0;\r\n        })\r\n        break;\r\n      case 'Name A to Z':\r\n        // A - Z\r\n        articlesDup.sort(function(a, b){\r\n          if(a.Title < b.Title) { return -1; }\r\n          if(a.Title > b.Title) { return 1; }\r\n          return 0;\r\n        })\r\n        break;\r\n      case 'Latest':\r\n        articlesDup.sort(function(a, b) {return b.CreatedOn - a.CreatedOn})\r\n        break;\r\n      case 'Oldest':\r\n        articlesDup.sort(function(a, b) {return a.CreatedOn - b.CreatedOn})\r\n        break;\r\n      default:\r\n        console.log('Popularity change Error ->', selectedOption);\r\n    }\r\n    \r\n    this.setState({articleSorting: {'value':  selectedOption, 'label' :  selectedOption}, articleListFiltered : [...articlesDup]}, () => { this.handleUpdatingQueryParams() });\r\n  }\r\n\r\n  handleLoadMoreClick() {\r\n    this.setState({articleVisibleCount: this.state.articleVisibleCount * 2})\r\n  }\r\n\r\n  render(): React.ReactNode {\r\n    const { siteName, filterSortingOptions, articleListFiltered, articleVisibleCount, articleListFilters, articleFilterSelectedByUser, filterPanelVisible, articleSorting, currentCulture } = this.state;\r\n    \r\n    return (\r\n      <>\r\n       <div className=\"product-list article-list\">\r\n          <div className=\"product-list__container\">\r\n            <div className=\"product-list__wrapper\">\r\n              <div className={`product-list__filter ${siteName === \"Qual\" && \"product-list--transparent\"}`}>\r\n                <div className=\"product-list__filter__container\">\r\n                  <div className=\"product-list__filter__wrapper site-container\">\r\n                    <button className=\"button button--text-only product-list__filter__btn\" onClick={() => this.toggleFilterPanelVisibility(true)}>\r\n                      <span className=\"button__icon__left\">\r\n                        <i className=\"icon-md fa-regular fa-filter\"></i>\r\n                      </span>\r\n                      Filter\r\n                    </button>\r\n                    <div className=\"product-list__filter__dropdown\">\r\n                      <Select\r\n                        options={filterSortingOptions}\r\n                        classNamePrefix=\"select\"\r\n                        placeholder=\"Popularity\"\r\n                        value={articleSorting}\r\n                        onChange={(event) => this.handlePopularityChange(event.value)}\r\n                      />\r\n                    </div>\r\n                    <div className=\"product-list__filter__selected\">\r\n                      {articleFilterSelectedByUser.map((selectedFIlter, index) => (\r\n                          <button className={\"form-filter-tag\"} onClick={() => this.handleRemoveFilter(selectedFIlter)} key={selectedFIlter.Title + index}>\r\n                            {selectedFIlter.Title}<i className=\"icon-sm fa-regular fa-xmark\"></i>\r\n                          </button>\r\n                        ))}\r\n                    </div>\r\n                    <div className={`product-list__filter__backdrop ${filterPanelVisible ? 'product-list__filter__backdrop--active':'' }`} onClick={() => this.toggleFilterPanelVisibility(false)}></div>\r\n                    <div className={`product-list__filter__panel ${filterPanelVisible ? 'product-list__filter__panel--active':'' }`}>\r\n                      <div className=\"product-list__filter__panel__wrapper\">\r\n                        <div className=\"product-list__filter__panel__top\">\r\n                          <button className=\"button button--text-only\">\r\n                            <span className=\"button__icon__left\">\r\n                              <i className=\"icon-md fa-regular fa-filter\"></i>\r\n                            </span>\r\n                            Filter\r\n                          </button>\r\n                          <button className=\"button button--text-only product-list__filter__panel__top__close-btn\" onClick={() => this.toggleFilterPanelVisibility(false)}>\r\n                            <span className=\"button__icon__left product-list__filter__panel__top__close-btn__wrapper\">\r\n                              <i className=\"icon-lg fa-regular fa-xmark product-list__filter__panel__top__close-btn__icon\"></i>\r\n                            </span>\r\n                          </button>\r\n                        </div>\r\n                        { articleListFilters.length > 0 && articleListFilters.map((productFilter, index) => {\r\n                            if(productFilter.FilterEnabled) {\r\n                              return (\r\n                                <Accordion title={productFilter.FilterTitle} key={productFilter.FilterCodeName}>\r\n                                <>\r\n                                  {productFilter.FilterItems.map((filter) => (\r\n                                      <ToggleButton key={filter.GUID} isChecked={filter.isChecked} text={filter.Title + \" (\" + filter.Count + \")\" } id={productFilter.FilterTitle+\";\"+filter.GUID} handleCheckboxChange={this.handleFilterCheckboxChange}/>\r\n                                    )\r\n                                  )}\r\n                                </>\r\n                              </Accordion>\r\n                              )\r\n                            }\r\n                          }\r\n                        ) }\r\n                        <div className=\"product-list__filter__panel__btn\">\r\n                          <button className=\"button button--primary\" onClick={() => this.handleApplyFilterChange()}>\r\n                            <span className=\"button__label\">Apply filter</span>\r\n                          </button>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div className=\"product-list__grid site-container\">\r\n              <div className=\"product-list__grid__wrapper\">\r\n              { articleListFiltered?.length > 0 ? articleListFiltered.slice(0, articleVisibleCount).map((el, index) => {\r\n                  return (\r\n                    <div className={`dynamic-card dynamic-card--article fade-in ${siteName === \"Qual\" && \"dynamic-card--qual\"}`} key={el.Title +  index}>\r\n                      <div className=\"dynamic-card__wrapper\">\r\n                      <a href={el.PageRelativeURL} className=\"dynamic-card__image\">\r\n                        { el.TypeItem.Icon && el.TypeItem.Name && <div className=\"dynamic-card__featured-icon\">\r\n                          <span className=\"tag__media-type\">\r\n                            <i className={`fa-regular ${el.TypeItem.Icon} icon-sm tag__media-type--icon m-0`}></i>\r\n                            <h6 className=\"tag__text tag--media-type\">{el.TypeItem.Name}</h6>\r\n                          </span>\r\n                        </div> }\r\n                        <img src={el.Image} alt={el.Title} />\r\n\t\t\t\t\t\t          </a>\r\n                      <a href={el.PageRelativeURL} className=\"dynamic-card__title h5\" dangerouslySetInnerHTML={{ __html : el.Title}}></a>\r\n                      { el.TagList.length > 0 && <div className=\"dynamic-card__tags  p-0\">\r\n                        {el.TagList.map(tag => (\r\n                          <div className=\"dynamic-card__tags__item\">\r\n                            <a href={`/${currentCulture}/articles?tag=${tag.CodeName}`} className=\"tag__secondary\">\r\n                              <h6 className=\"tag__text tag--secondary\">{tag.Name}</h6>\r\n                            </a>\r\n                            </div>\r\n                          ))}\r\n                        </div>}\r\n                        <p className=\"dynamic-card__desc\" dangerouslySetInnerHTML={{ __html : el.Description}}></p>\r\n                      </div>\r\n                    </div>\r\n                  );\r\n                }) : <h3>No results found</h3>}\r\n                </div>\r\n              </div>\r\n              { articleListFiltered.length > articleVisibleCount && <div className=\"product-list__bottom\">\r\n                  <button className=\"button button--primary product-list__bottom__load-btn\" onClick={this.handleLoadMoreClick}>\r\n                    <span className=\"button__label\">Load more</span>\r\n                  </button>\r\n              </div> }\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nexport default ArticleListContainer;\r\n","import * as types from \"./actionTypes\";\r\nimport { getLocalStorage, setLocalStorage, deleteLocalStorage } from '../utils/localStorage';\r\n\r\n\r\nexport const removeAllProductsInCookieSuccess = () => {\r\n  return {type: types.REMOVE_ALL_PRODUCT_IN_COOKIE};\r\n};\r\n\r\nexport const updateShoppingBasketCountSuccess = (basketList, totalProductCount) => {\r\n  return { \r\n    type: types.UPDATE_SHOPPING_PRODUCT_COUNT, \r\n    basketList,\r\n    totalProductCount\r\n   };\r\n};\r\n\r\nexport const updateProductsInCookie = (updatedProducts) => (dispatch) => {\r\n  let updatedBucketListProduct = [];\r\n  let selectedProductInCookie = getLocalStorage(\"selectedProduct\");\r\n  if(selectedProductInCookie) {\r\n    selectedProductInCookie = JSON.parse(selectedProductInCookie);\r\n    updatedBucketListProduct = selectedProductInCookie.currentBasketList.filter((product) => product.SKUId !== updatedProducts.SKUId);    \r\n    \r\n    let totalProductCount = 0;\r\n    if(updatedBucketListProduct.length) {\r\n      totalProductCount = updatedBucketListProduct.reduce(function(sum, value) \r\n      { return sum + value.Quantity; }\r\n      , 0);\r\n    }\r\n    \r\n    // Set cookie, this will be retrived in quote form to fetch selected products from API\r\n    setLocalStorage('selectedProduct', JSON.stringify({currentBasketList: updatedBucketListProduct, totalProductCount}));\r\n    dispatch(updateShoppingBasketCountSuccess(updatedBucketListProduct, totalProductCount));\r\n  }\r\n};\r\n\r\nexport const removeAllProductsInCookie = () => (dispatch) => {\r\n    deleteLocalStorage('selectedProduct');\r\n    dispatch(removeAllProductsInCookieSuccess());\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as $ from 'jquery';\r\n\r\nimport * as actions from \"../actions/quoteFormActions\";\r\nimport { getLocalStorage } from '../utils/localStorage';\r\nimport { QuoteProductsListState, QuoteProductsListProps, productsForFormItem, QuoteProductsLisItem,  GlobalEndpoints} from '../types/QuoteProductsListInterface';\r\n\r\nclass QuoteProductsListContainer extends PureComponent<QuoteProductsListProps,QuoteProductsListState> {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = {\r\n      productList: null,\r\n      productListInCookie: null,\r\n      totalPrice: 0,\r\n      totalPriceWithGST: 0,\r\n      GST: 10,\r\n      GSTPrice: 0\r\n    };\r\n    this.handlePriceCalculations = this.handlePriceCalculations.bind(this);\r\n    this.handleProductRemove = this.handleProductRemove.bind(this);\r\n    this.handleRequestQuoteClick = this.handleRequestQuoteClick.bind(this);\r\n    this.handleClearQuoteClick = this.handleClearQuoteClick.bind(this);\r\n  }\r\n\r\n  componentDidMount(): void {\r\n    const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n    \r\n    // Get selected products from Cookie\r\n    let productsInCookie = getLocalStorage('selectedProduct');\r\n    let productsList = null;\r\n    \r\n    if(productsInCookie) {\r\n      productsInCookie = JSON.parse(productsInCookie);\r\n      if(productsInCookie.currentBasketList.length) {\r\n        let productSKUids = '';\r\n        productsInCookie.currentBasketList.forEach(productInCookie => {\r\n          productSKUids = productSKUids+productInCookie.SKUId+\",\"\r\n        })\r\n        \r\n        productSKUids = productSKUids.slice(0, -1)\r\n        \r\n        axios.get(`${endpointsData.productVariants}?skuIds=${productSKUids}`).then((quoteProductsListresponse: AxiosResponse) => {\r\n          productsList = quoteProductsListresponse.data;\r\n          productsInCookie.currentBasketList.forEach(productInCookie => {\r\n            productsList.forEach(product => {\r\n              if(productInCookie.SKUId === product.SKUId) {\r\n                product.Quantity = productInCookie.Quantity;\r\n              }\r\n            });\r\n          });        \r\n          \r\n          this.setState({ productList: quoteProductsListresponse.data }, () => {\r\n            this.handlePriceCalculations(this.state.productList);\r\n          });\r\n  \r\n        })\r\n        .catch(function (error: AxiosResponse) {});\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  handleProductRemove(product) {  \r\n    let bodyFormData = new FormData();\r\n    let keyValueString = '';\r\n    const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n    Object.entries(product).forEach(([key]) => {\r\n      if (key === 'SKUId') {\r\n        keyValueString += `<b>SKU Id:</b> ${product[key]}<br>`;\r\n      }\r\n      if (key === 'Name') {\r\n        keyValueString += `<b>Product Name:</b> ${product[key]}<br>`;\r\n      }\r\n      if (Array.isArray(product[key])) {\r\n        keyValueString += '<b>Variant:</b> ';\r\n        product[key].map((options, i) => {\r\n          keyValueString += `${options.OptionCategoryDisplayName} : ${\r\n            options.OptionName\r\n          }${i !== product[key].length - 1 ? ', ' : ''}`;\r\n        });\r\n      }\r\n    });\r\n    bodyFormData.append('activityType', 'RemoveFromQuoteRequestActivity');\r\n    bodyFormData.append('activityDescription', keyValueString);\r\n\r\n    axios({\r\n      method: 'post',\r\n      maxBodyLength: Infinity,\r\n      url: `${endpointsData.logActivities}`,\r\n      headers: { 'Content-Type': 'multipart/form-data' },\r\n      data: bodyFormData,\r\n    });\r\n\r\n    const { actions }  = this.props;\r\n    const { productList } = this.state;\r\n    const latestProductsList = productList.filter((productDetail) => productDetail !== product);\r\n    actions.updateProductsInCookie(product);\r\n    this.setState({ productList: latestProductsList }, () => {\r\n      this.handlePriceCalculations(this.state.productList)\r\n    });\r\n  }\r\n\r\n  handlePriceCalculations(products): void {\r\n    const { GST } = this.state;\r\n    let totalPrice = 0;\r\n    let totalGSTPrice = 0;\r\n    \r\n    if(products.length) {\r\n      products.forEach(element => {\r\n        if(element.Price && element.Quantity) {\r\n          totalPrice = totalPrice + (Number(element.Price.substring(1)) * Number(element.Quantity))\r\n        }\r\n      });\r\n  \r\n      totalGSTPrice = totalPrice + (totalPrice * ( GST / 100 ));\r\n  \r\n      this.setState({ totalPriceWithGST: totalGSTPrice, GSTPrice: totalGSTPrice - totalPrice });\r\n    } else {\r\n      this.setState({ totalPriceWithGST: 0, GSTPrice: 0 });\r\n    }\r\n  }\r\n\r\n  handleRequestQuoteClick() {\r\n    const { shoppingBasket: {totalProductCount} } = this.props;\r\n    const { productList, totalPrice, GST, GSTPrice, totalPriceWithGST  } = this.state;\r\n    \r\n    let productData = {\r\n      Products : {\r\n          Items: [],\r\n          TotalQuantity: null,\r\n          TotalPrice: null,\r\n          GST: null,\r\n          TotalPriceWithGST: null\r\n        }\r\n      }\r\n    \r\n    if(productList) {\r\n      if(productList.length) {\r\n        productList.forEach((product) => {\r\n          productData.Products.Items.push({\r\n              SKUId: product.SKUId,\r\n              Quantity: product.Quantity\r\n            })\r\n          })\r\n          productData.Products.TotalQuantity =  totalProductCount,\r\n          productData.Products.TotalPrice = totalPrice,\r\n          productData.Products.GST =  GST,\r\n          productData.Products.TotalPriceWithGST =  totalPriceWithGST\r\n  \r\n          const stringfyProducts = JSON.stringify(productData);\r\n          $('.quote-request__form').find('.ktc-default-section:nth-child(2)').find('textarea').val(stringfyProducts);\r\n        } else {\r\n          $('.quote-request__form').find('.ktc-default-section:nth-child(2)').find('textarea').val('');\r\n        }\r\n      } else {\r\n        $('.quote-request__form').find('.ktc-default-section:nth-child(2)').find('textarea').val('');\r\n      }\r\n      \r\n      $('.quote-request__form input[type=\"submit\"]').click();\r\n    \r\n    }\r\n\r\n  handleClearQuoteClick() {\r\n    const { productList } = this.state;\r\n    let bodyFormData = new FormData();\r\n    let keyValueString = '';\r\n    const endpointsData: GlobalEndpoints = JSON.parse(document.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML);\r\n    productList.forEach((product,i) => {\r\n      Object.entries(product).forEach(([key]) => {\r\n        if (key === 'SKUId') {\r\n          keyValueString += `<b>SKU Id:</b> ${product[key]}<br>`;\r\n        }\r\n        if (key === 'Name') {\r\n          keyValueString += `<b>Product Name:</b> ${product[key]}<br>`;\r\n        }\r\n        if (Array.isArray(product[key])) {\r\n          keyValueString += '<b>Variant:</b> ';\r\n          product[key].map((options, i) => {\r\n            keyValueString += `${options.OptionCategoryDisplayName} : ${\r\n              options.OptionName\r\n            }${i !== product[key].length - 1 ? ', ' : ''}`;\r\n          });\r\n        }\r\n      });\r\n      keyValueString += `${i !== productList.length - 1 ? '<br><br>' : ''}`\r\n    });\r\n    bodyFormData.append('activityType', 'RemoveFromQuoteRequestActivity');\r\n    bodyFormData.append('activityDescription', keyValueString);\r\n  \r\n    axios({\r\n      method: 'post',\r\n      maxBodyLength: Infinity,\r\n      url: `${endpointsData.logActivities}`,\r\n      headers: { 'Content-Type': 'multipart/form-data' },\r\n      data: bodyFormData,\r\n    });\r\n\r\n    const { actions } = this.props;\r\n    actions.removeAllProductsInCookie();\r\n    this.setState({productList: []}, () => this.handlePriceCalculations(this.state.productList));\r\n    window.scroll({\r\n      top: 0,\r\n      left: 0,\r\n      behavior: 'smooth',\r\n    });\r\n  }\r\n\r\n  render(): React.ReactNode {\r\n    const { productList, totalPriceWithGST, GSTPrice,  } = this.state;\r\n\r\n    return (\r\n      <>\r\n        <h5 className=\"quote-request__product-list__title\">\r\n          Your product list\r\n        </h5>\r\n        {productList && productList.length > 0 ? productList.map((product) => {\r\n          let productPrice = product.Price.substring(1);\r\n          let productImage  = product.Image;\r\n          \r\n          if(productImage === \"\") {\r\n            productImage = product.ParentProductImage;\r\n          }\r\n\r\n            return (\r\n                <div className=\"quote-request__product-list__product__wrapper\" key={product.SKUId} >\r\n                  <div className=\"quote-request__product-list__product__image__wrapper\">\r\n                    <img className=\"quote-request__product-list__product__image\" src={productImage} alt={product.Name} />\r\n                  </div>\r\n                  <div className=\"quote-request__product-list__product__wrapper__main\">\r\n                    <div className=\"quote-request__product-list__product__details__wrapper\">\r\n                      <div className=\"quote-request__product-list__product__details__content\">\r\n                        <h5 className=\"quote-request__product-list__product__details__title\" dangerouslySetInnerHTML={{ __html : product.ParentProductName}}></h5>\r\n                        <div className=\"quote-request__product-list__product__details__option\">\r\n                        {product.Options.map((option) => {\r\n                          return (\r\n                              <div className=\"quote-request__product-list__product__details__options\" key={option.OptionId}>\r\n                                <p className=\"quote-request__product-list__product__details__options__category-name para-small\">{option.OptionCategoryDisplayName}</p>\r\n                                <div className=\"quote-request__product-list__product__details__options__details\">\r\n                                  { option.OptionImage && <img src={option.OptionImage} alt={`${product.Name} Image`}  />}\r\n                                  <p className=\"quote-request__product-list__product__details__options__name para-small m-0\">{option.OptionName}</p>\r\n                                </div>\r\n                              </div>\r\n                          )\r\n                      })}\r\n                      </div>\r\n                        <div className=\"quote-request__product-list__product__details__price__wrapper\">\r\n                          {/* Hide Price */}\r\n                          {/* <h5 className=\"product-price\">{product.Price}</h5> */}\r\n                          <div className=\"product-price__remove-btn\">\r\n                            <button className=\"button button--text-only\" onClick={() => this.handleProductRemove(product)} >\r\n                              Remove\r\n                              <span className=\"button__icon__right\">\r\n                                <i className=\"fa-solid fa-xmark icon-md\"></i>\r\n                              </span>\r\n                            </button>\r\n                          </div>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                    <div className=\"quote-request__product-list__product__quantity__wrapper\">\r\n                      <p className=\"para-small\">Quantity: {product.Quantity}</p>\r\n                      {/* Hide Price */}\r\n                      {/* {!isNaN( Number(productPrice) * Number(product.Quantity)) && (\r\n                        <h5> Total {Number(productPrice) * Number(product.Quantity)} </h5>\r\n                      )} */}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              );\r\n            })\r\n          : null}\r\n        {/* Hide Price */}\r\n        {/* <div className=\"quote-request__product-list__product__total__wrapper\">\r\n          <h5>Estimated Grand Total ${totalPriceWithGST}</h5>\r\n          <p className=\"para-small\">includes ${GSTPrice} of GST</p>\r\n        </div> */}\r\n        <div className=\"quote-request__submit-btn\">\r\n          <div className=\"site-container\">\r\n            <div className=\"quote-request__submit-btn__wrapper \">\r\n              <button className=\"button button--primary quote-request__button\" onClick={this.handleRequestQuoteClick}>\r\n                <span className=\"button__label\">Request a quote</span>\r\n                <span className=\"button__icon__right\">\r\n                  <i className=\"fa-solid fa-arrow-right icon-md\"></i>\r\n                </span>\r\n              </button>\r\n              <button className=\"button button--secondary\" onClick={this.handleClearQuoteClick}>\r\n                <span className=\"button__label\">Clear quote</span>\r\n                <span className=\"button__icon__right\">\r\n                  <i className=\"fa-solid fa-xmark icon-md\"></i>\r\n                </span>\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n  \r\n  const shoppingBasket = { ...state.ShoppingBasketReducer };\r\n  return { shoppingBasket };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n  return {\r\n    actions: bindActionCreators(actions, dispatch),\r\n  };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QuoteProductsListContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport Select from 'react-select';\r\nimport * as $ from 'jquery';\r\nimport ToggleButton from '../components/Form/toggleButton';\r\nimport Accordion from '../components/Accordion';\r\nimport FavouriteContainer from './Favourites/FavouriteContainer';\r\nimport {\r\n\tProductListsFilterState,\r\n\tGlobalEndpoints,\r\n} from '../types/ProductListFilterInterface';\r\nimport {\r\n\tinsertUrlParam,\r\n\tdeleteAllUrlParameter,\r\n\tgetAllURLParameters,\r\n} from '../utils/URLparamsHelper';\r\nclass ProductListsContainer extends PureComponent<{}, ProductListsFilterState> {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\taddOverlay: false,\r\n\t\t\tsiteName: null,\r\n\t\t\tproductList: [],\r\n\t\t\tprevProductListFiltered: [],\r\n\t\t\tproductListFiltered: [],\r\n\t\t\tproductListFilters: [],\r\n\t\t\tproductFilterSelectedByUser: [],\r\n\t\t\tproductVisibleCount: 12,\r\n\t\t\tfilterbyExpress: false,\r\n\t\t\tfilterbyType: '',\r\n\t\t\tfilterbySector: '',\r\n\t\t\tfilterbySpace: '',\r\n\t\t\tfilterbyBrand: '',\r\n\t\t\tfilterbySize: '',\r\n\t\t\tfilterbyCollection: '',\r\n\t\t\tfilterbyPortal: '',\r\n\t\t\tfilterbyTypeCodeName: '',\r\n\t\t\tfilterbySectorCodeName: '',\r\n\t\t\tfilterbySpaceCodeName: '',\r\n\t\t\tfilterbyBrandCodeName: '',\r\n\t\t\tfilterbySizeCodeName: '',\r\n\t\t\tfilterbyCollectionCodeName: '',\r\n\t\t\tfilterbyPortalCodeName: '',\r\n\t\t\tfilterPanelVisible: false,\r\n\t\t\tproductSorting: { value: 'All Products', label: 'All Products' },\r\n\t\t\tfilterSortingOptions: [\r\n\t\t\t\t{ value: 'All Products', label: 'All Products' },\r\n\t\t\t\t{ value: 'Bestseller', label: 'Bestseller' },\r\n\t\t\t\t{ value: 'Express', label: 'Express' },\r\n\t\t\t\t// { value: 'Price Low to High', label: 'Price Low to High' },\r\n\t\t\t\t// { value: 'Price High to Low', label: 'Price High to Low' }\r\n\t\t\t],\r\n\t\t\tproductsVisible: false,\r\n\t\t\tshowFilterPanel: true,\r\n\t\t};\r\n\t\tthis.handleFilterCheckboxChange =\r\n\t\t\tthis.handleFilterCheckboxChange.bind(this);\r\n\t\tthis.handleApplyFilterChange = this.handleApplyFilterChange.bind(this);\r\n\t\tthis.handleRemoveFilter = this.handleRemoveFilter.bind(this);\r\n\t\tthis.handleProductFilterCondition =\r\n\t\t\tthis.handleProductFilterCondition.bind(this);\r\n\t\tthis.toggleFilterPanelVisibility =\r\n\t\t\tthis.toggleFilterPanelVisibility.bind(this);\r\n\t\tthis.handlePopularityChange = this.handlePopularityChange.bind(this);\r\n\t\tthis.handleFilterExpressChange = this.handleFilterExpressChange.bind(this);\r\n\t\tthis.handleLoadMoreClick = this.handleLoadMoreClick.bind(this);\r\n\t\tthis.handleUpdatingQueryParams = this.handleUpdatingQueryParams.bind(this);\r\n\t\tthis.handleCodenameConversion = this.handleCodenameConversion.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount(): void {\r\n\t\tconst endpointsData: GlobalEndpoints = JSON.parse(\r\n\t\t\tdocument.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML\r\n\t\t);\r\n\t\tconst $element = document.querySelector('.js-sebel-products');\r\n\t\tconst currentCulture = $element.getAttribute('data-culture-code');\r\n\t\tconst siteName = $element.getAttribute('data-site-name');\r\n\t\tconst addOverlay =\r\n\t\t\t$element.getAttribute('data-add-overlay') === 'true' ? true : false;\r\n\r\n\t\taxios\r\n\t\t\t.get(`${endpointsData.productFilters}?culture=${currentCulture}`)\r\n\t\t\t.then((productSubCategoryFiltersresponse: AxiosResponse) => {\r\n\t\t\t\taxios\r\n\t\t\t\t\t.get(`${endpointsData.products}?culture=${currentCulture}`)\r\n\t\t\t\t\t.then((productSubCategoryresponse: AxiosResponse) => {\r\n\t\t\t\t\t\tlet productSubCategoryFilters = [];\r\n\t\t\t\t\t\tlet showFilterPanel = true;\r\n\t\t\t\t\t\tif (productSubCategoryFiltersresponse.data.length === 0) {\r\n\t\t\t\t\t\t\tshowFilterPanel = false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t// Adding isChecked to the response data, using this for toggling the filter state's in the filter panel.\r\n\t\t\t\t\t\t\tproductSubCategoryFilters =\r\n\t\t\t\t\t\t\t\tproductSubCategoryFiltersresponse.data.map((filter) => {\r\n\t\t\t\t\t\t\t\t\tlet modifiedFilterItems = filter.FilterItems.map(\r\n\t\t\t\t\t\t\t\t\t\t(filterItems) => ({ ...filterItems, isChecked: false })\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\treturn { ...filter, FilterItems: [...modifiedFilterItems] };\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tsiteName,\r\n\t\t\t\t\t\t\t\taddOverlay,\r\n\t\t\t\t\t\t\t\tshowFilterPanel,\r\n\t\t\t\t\t\t\t\tproductList: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tproductListFiltered: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tprevProductListFiltered: productSubCategoryresponse.data,\r\n\t\t\t\t\t\t\t\tproductListFilters: productSubCategoryFilters,\r\n\t\t\t\t\t\t\t\tproductsVisible: true,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t() => this.handleQueryParamsOnPageLoad()\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(function (error: AxiosResponse) {});\r\n\t}\r\n\r\n\thandleQueryParamsOnPageLoad() {\r\n\t\tlet currentState = { ...this.state };\r\n\t\tconst queryParams = getAllURLParameters();\r\n\t\tfor (var key of Object.keys(queryParams)) {\r\n\t\t\tswitch (key) {\r\n\t\t\t\tcase 'type':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Type',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'sector':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Sector',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'space':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Space',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'brand':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Brand',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'size':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Size',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'collection':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Collection',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\tcase 'portal':\r\n\t\t\t\t\tqueryParams[key].split(',').forEach((params) => {\r\n\t\t\t\t\t\tthis.handleCodeNameMappingToGUID(\r\n\t\t\t\t\t\t\t'Filter by Portal',\r\n\t\t\t\t\t\t\tparams,\r\n\t\t\t\t\t\t\tcurrentState\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t});\r\n\t\t\t\tcase 'express':\r\n\t\t\t\t\tcurrentState.filterbyExpress =\r\n\t\t\t\t\t\tqueryParams[key] === 'true' ? true : false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'productSorting':\r\n\t\t\t\t\tcurrentState.productSorting = {\r\n\t\t\t\t\t\tvalue: queryParams[key],\r\n\t\t\t\t\t\tlabel: queryParams[key],\r\n\t\t\t\t\t};\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconsole.log('Query Parms Error ==>', key);\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst latestState = {\r\n\t\t\tfilterbyType: currentState.filterbyType,\r\n\t\t\tfilterbySector: currentState.filterbySector,\r\n\t\t\tfilterbySpace: currentState.filterbySpace,\r\n\t\t\tfilterbyBrand: currentState.filterbyBrand,\r\n\t\t\tfilterbySize: currentState.filterbySize,\r\n\t\t\tfilterbyCollection: currentState.filterbyCollection,\r\n\t\t\tfilterbyPortal: currentState.filterbyPortal,\r\n\t\t\tfilterbyTypeCodeName: currentState.filterbyTypeCodeName,\r\n\t\t\tfilterbySectorCodeName: currentState.filterbySectorCodeName,\r\n\t\t\tfilterbySpaceCodeName: currentState.filterbySpaceCodeName,\r\n\t\t\tfilterbyBrandCodeName: currentState.filterbyBrandCodeName,\r\n\t\t\tfilterbySizeCodeName: currentState.filterbySizeCodeName,\r\n\t\t\tfilterbyCollectionCodeName: currentState.filterbyCollectionCodeName,\r\n\t\t\tfilterbyPortalCodeName: currentState.filterbyPortalCodeName,\r\n\t\t\tfilterbyExpress: currentState.filterbyExpress,\r\n\t\t\tproductSorting: currentState.productSorting,\r\n\t\t};\r\n\t\tthis.setState({ ...latestState }, this.handleApplyFilterChange);\r\n\t}\r\n\r\n\thandleCodeNameMappingToGUID(filtertype, codename, currentState) {\r\n\t\tlet tempProductListFilters = [...currentState.productListFilters];\r\n\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\t// Match item with the title\r\n\t\t\tif (filter.FilterTitle === filtertype) {\r\n\t\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\t\tif (filterItem.CodeName === codename) {\r\n\t\t\t\t\t\tfilterItem.isChecked = true;\r\n\t\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyType =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyType + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyTypeCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySector =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySector + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySectorCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySpace =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySpace + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySpaceCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyBrand =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyBrand + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyBrandCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySize =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbySize + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbySizeCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyCollection =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyCollection + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyCollectionCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'Filter by Portal':\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyPortal =\r\n\t\t\t\t\t\t\t\t\tcurrentState.filterbyPortal + filterItem.GUID + ';';\r\n\t\t\t\t\t\t\t\tcurrentState.filterbyPortalCodeName =\r\n\t\t\t\t\t\t\t\t\tthis.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tcurrentState.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tconsole.log('CodeName mapping Error ->', filter.FilterTitle);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.setState({ productListFilters: [...tempProductListFilters] });\r\n\t}\r\n\r\n\thandleUpdatingQueryParams() {\r\n\t\tconst {\r\n\t\t\tfilterbyTypeCodeName,\r\n\t\t\tfilterbySectorCodeName,\r\n\t\t\tfilterbySpaceCodeName,\r\n\t\t\tfilterbyBrandCodeName,\r\n\t\t\tfilterbySizeCodeName,\r\n\t\t\tfilterbyCollectionCodeName,\r\n\t\t\tfilterbyPortalCodeName,\r\n\t\t\tfilterbyExpress,\r\n\t\t\tproductSorting,\r\n\t\t} = this.state;\r\n\t\tdeleteAllUrlParameter();\r\n\t\tfilterbyTypeCodeName && insertUrlParam('type', filterbyTypeCodeName);\r\n\t\tfilterbySectorCodeName && insertUrlParam('sector', filterbySectorCodeName);\r\n\t\tfilterbySpaceCodeName && insertUrlParam('space', filterbySpaceCodeName);\r\n\t\tfilterbyBrandCodeName && insertUrlParam('brand', filterbyBrandCodeName);\r\n\t\tfilterbyCollectionCodeName &&\r\n\t\t\tinsertUrlParam('collection', filterbyCollectionCodeName);\r\n\t\tfilterbySizeCodeName && insertUrlParam('size', filterbySizeCodeName);\r\n\t\tfilterbyPortalCodeName && insertUrlParam('portal', filterbyPortalCodeName);\r\n\t\tfilterbyExpress && insertUrlParam('express', filterbyExpress);\r\n\t\tproductSorting.value !== 'Popularity' &&\r\n\t\t\tinsertUrlParam('productSorting', productSorting.value);\r\n\t}\r\n\r\n\thandleCodenameConversion(currentvalue, newvalue, state) {\r\n\t\tlet updatedValue = null;\r\n\t\tif (state === 'add') {\r\n\t\t\t// Add ',' for the second item onwards\r\n\t\t\tif (currentvalue === '') {\r\n\t\t\t\tupdatedValue = newvalue;\r\n\t\t\t} else {\r\n\t\t\t\tupdatedValue = currentvalue + ',' + newvalue;\r\n\t\t\t}\r\n\t\t\treturn updatedValue;\r\n\t\t} else {\r\n\t\t\t// Remove ',' along with the codeName\r\n\t\t\tupdatedValue = currentvalue\r\n\t\t\t\t.split(',')\r\n\t\t\t\t.filter((codename) => codename !== newvalue);\r\n\t\t\tif (updatedValue.length === 1) {\r\n\t\t\t\tupdatedValue = updatedValue.join('');\r\n\t\t\t} else {\r\n\t\t\t\tupdatedValue = updatedValue.join(',');\r\n\t\t\t}\r\n\t\t\treturn updatedValue;\r\n\t\t}\r\n\t}\r\n\r\n\thandleAddFilterState(filterTitle, filterItem) {\r\n\t\tswitch (filterTitle) {\r\n\t\t\tcase 'Filter by Type':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyType: this.state.filterbyType + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Sector':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySector: this.state.filterbySector + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Space':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySpace: this.state.filterbySpace + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Brand':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Size':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbySize: this.state.filterbySize + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Collection':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyCollection:\r\n\t\t\t\t\t\tthis.state.filterbyCollection + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Filter by Portal':\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal + filterItem.GUID + ';',\r\n\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t'add'\r\n\t\t\t\t\t),\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconsole.log('Add Filters Error ->', filterTitle);\r\n\t\t}\r\n\t}\r\n\r\n\thandleFilterCheckboxChange(event) {\r\n\t\tconst { productListFilters } = this.state;\r\n\t\tconst target = event.target;\r\n\t\tconst value = target.type === 'checkbox' ? target.checked : target.value;\r\n\t\tlet tempProductListFilters = productListFilters;\r\n\t\tconst selectedFilter = {\r\n\t\t\ttile: event.target.id.split(';')[0],\r\n\t\t\tGUID: event.target.id.split(';')[1],\r\n\t\t\tcodeName: event.target.id.split(';')[2],\r\n\t\t};\r\n\t\t// CodeName is used to push the selected filter to url, GUID is used to filter teh items\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\t// Match item with the title\r\n\t\t\tif (filter.FilterTitle === selectedFilter.tile) {\r\n\t\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\t\t// Match item with the GUID\r\n\t\t\t\t\tif (filterItem.GUID === selectedFilter.GUID) {\r\n\t\t\t\t\t\tfilterItem.isChecked = value;\r\n\t\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\t\tthis.handleAddFilterState(filter.FilterTitle, { ...filterItem });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyType: this.state.filterbyType.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySector: this.state.filterbySector.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySpace: this.state.filterbySpace.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbySize: this.state.filterbySize.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyCollection:\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyCollection + filterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'add'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal.replace(\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.setState(\r\n\t\t\t{ productListFilters: [...tempProductListFilters] },\r\n\t\t\tthis.handleUpdatingQueryParams\r\n\t\t);\r\n\t}\r\n\r\n\thandleApplyFilterChange() {\r\n\t\tconst {\r\n\t\t\tproductList,\r\n\t\t\tfilterbyType,\r\n\t\t\tfilterbySector,\r\n\t\t\tfilterbySpace,\r\n\t\t\tfilterbyBrand,\r\n\t\t\tfilterbySize,\r\n\t\t\tfilterbyCollection,\r\n\t\t\tfilterbyPortal,\r\n\t\t\tproductListFilters,\r\n\t\t} = this.state;\r\n\t\tconst filteredProducts = [];\r\n\t\tconst filtersSelected = [];\r\n\r\n\t\t// Filter products based on selection\r\n\t\tproductList.forEach((product) => {\r\n\t\t\tif (\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyType,\r\n\t\t\t\t\tproduct.RelatedTypes,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyBrand,\r\n\t\t\t\t\tproduct.Brand,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySector,\r\n\t\t\t\t\tproduct.RelatedSectors,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySpace,\r\n\t\t\t\t\tproduct.RelatedSpaces,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbySize,\r\n\t\t\t\t\tproduct.RelatedSizes,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyCollection,\r\n\t\t\t\t\tproduct.RelatedCollections,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t) &&\r\n\t\t\t\tthis.handleProductFilterCondition(\r\n\t\t\t\t\tfilterbyPortal,\r\n\t\t\t\t\tproduct.RelatedPortals,\r\n\t\t\t\t\tproduct\r\n\t\t\t\t)\r\n\t\t\t) {\r\n\t\t\t\tfilteredProducts.push(product);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Pushing selected tags\r\n\t\tproductListFilters.forEach((filter) => {\r\n\t\t\tfilter.FilterItems.forEach((filterItem) => {\r\n\t\t\t\tif (filterItem.isChecked) {\r\n\t\t\t\t\tfiltersSelected.push(filterItem);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tproductListFiltered: filteredProducts,\r\n\t\t\t\tprevProductListFiltered: filteredProducts,\r\n\t\t\t\tproductFilterSelectedByUser: filtersSelected,\r\n\t\t\t},\r\n\t\t\t() => {\r\n\t\t\t\tthis.handlePopularityChange(this.state.productSorting.value);\r\n\t\t\t}\r\n\t\t);\r\n\t\tthis.toggleFilterPanelVisibility(false);\r\n\t}\r\n\r\n\thandleProductFilterCondition(data, productItem, product) {\r\n\t\tconst { filterbyExpress } = this.state;\r\n\t\tlet selectedValue = data.split(';');\r\n\t\tlet selectedValueLength = selectedValue.length - 1;\r\n\t\tlet productFilterFound = false;\r\n\r\n\t\tconst filter = (selectedValueLength) => {\r\n\t\t\tif (selectedValueLength === 0) {\r\n\t\t\t\tif (filterbyExpress) {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tproductItem.indexOf(selectedValue[0]) !== -1 &&\r\n\t\t\t\t\t\tfilterbyExpress === product.Express;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproductFilterFound = productItem.indexOf(selectedValue[0]) !== -1;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (filterbyExpress) {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tselectedValue[selectedValueLength - 1] === '' &&\r\n\t\t\t\t\t\tfilterbyExpress === product.Express\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: productItem.indexOf(selectedValue[selectedValueLength - 1]) !==\r\n\t\t\t\t\t\t\t\t\t-1 && filterbyExpress === product.Express\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproductFilterFound =\r\n\t\t\t\t\t\tselectedValue[selectedValueLength - 1] === ''\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: productItem.indexOf(selectedValue[selectedValueLength - 1]) !==\r\n\t\t\t\t\t\t\t  -1\r\n\t\t\t\t\t\t\t? true\r\n\t\t\t\t\t\t\t: false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (productFilterFound) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (selectedValueLength === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfilter(selectedValueLength - 1);\r\n\t\t};\r\n\r\n\t\tfilter(selectedValueLength);\r\n\t\treturn productFilterFound;\r\n\t}\r\n\r\n\thandleRemoveFilter(selectedFilter) {\r\n\t\tconst { productListFilters, productFilterSelectedByUser } = this.state;\r\n\t\tlet tempProductListFilters = productListFilters;\r\n\t\tlet temSelectedFilter = productFilterSelectedByUser;\r\n\t\ttempProductListFilters.map((filter) => {\r\n\t\t\tfilter.FilterItems.map((filterItem) => {\r\n\t\t\t\tif (filterItem.GUID === selectedFilter.GUID) {\r\n\t\t\t\t\tfilterItem.isChecked = false;\r\n\t\t\t\t\tswitch (filter.FilterTitle) {\r\n\t\t\t\t\t\tcase 'Filter by Type':\r\n\t\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\t\tfilterbyType: this.state.filterbyType.replace(\r\n\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\tfilterbyTypeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\tthis.state.filterbyTypeCodeName,\r\n\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Sector':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySector: this.state.filterbySector.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySectorCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySectorCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Space':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySpace: this.state.filterbySpace.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySpaceCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySpaceCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Brand':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyBrand: this.state.filterbyBrand.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyBrandCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyBrandCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Size':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbySize: this.state.filterbySize.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbySizeCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbySizeCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'Filter by Collection':\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyCollection: this.state.filterbyCollection.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyCollectionCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyCollectionCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterbyPortal: this.state.filterbyPortal.replace(\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.GUID + ';',\r\n\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tfilterbyPortalCodeName: this.handleCodenameConversion(\r\n\t\t\t\t\t\t\t\t\t\tthis.state.filterbyPortalCodeName,\r\n\t\t\t\t\t\t\t\t\t\tfilterItem.CodeName,\r\n\t\t\t\t\t\t\t\t\t\t'remove'\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tthis.handleUpdatingQueryParams\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\ttemSelectedFilter = temSelectedFilter.filter(\r\n\t\t\t(el) => el.GUID !== selectedFilter.GUID\r\n\t\t);\r\n\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tproductListFilters: [...tempProductListFilters],\r\n\t\t\t\tproductFilterSelectedByUser: [...temSelectedFilter],\r\n\t\t\t},\r\n\t\t\t() => this.handleApplyFilterChange()\r\n\t\t);\r\n\t}\r\n\r\n\ttoggleFilterPanelVisibility(panelVisibility) {\r\n\t\tthis.setState({ filterPanelVisible: panelVisibility }, () => {\r\n\t\t\tif (this.state.filterPanelVisible) {\r\n\t\t\t\t$('.product-list__filter__backdrop').fadeIn(300);\r\n\t\t\t} else {\r\n\t\t\t\t$('.product-list__filter__backdrop').fadeOut(300);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thandlePopularityChange(selectedOption) {\r\n\t\tconst { productList, prevProductListFiltered } = this.state;\r\n\t\tlet productsDup = productList;\r\n\t\tswitch (selectedOption) {\r\n\t\t\t// Currently removing it, price not showing now\r\n\t\t\t// case 'Price Low to High':\r\n\t\t\t//   productsDup.sort(function(a, b){return a.Price - b.Price});\r\n\t\t\t//   this.setState({productSorting: {'value':  selectedOption, 'label' :  selectedOption},productListFiltered : [...productsDup]}, () => { this.handleUpdatingQueryParams() });\r\n\t\t\t//   break;\r\n\t\t\t// Currently removing it, price not showing now\r\n\t\t\t// case 'Price High to Low':\r\n\t\t\t//   productsDup.sort(function(a, b){return b.Price - a.Price});\r\n\t\t\t//   this.setState({productSorting: {'value':  selectedOption, 'label' :  selectedOption},productListFiltered : [...productsDup]}, () => { this.handleUpdatingQueryParams() });\r\n\t\t\t//   break;\r\n\t\t\tcase 'Bestseller':\r\n\t\t\t\tlet BestsellerArray = [];\r\n\t\t\t\tproductsDup.map((product) => {\r\n\t\t\t\t\tif (product.Bestseller) {\r\n\t\t\t\t\t\tBestsellerArray.push(product);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: [...BestsellerArray],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'Express':\r\n\t\t\t\tlet ExpressArray = [];\r\n\t\t\t\tproductsDup.map((product) => {\r\n\t\t\t\t\tif (product.Express) {\r\n\t\t\t\t\t\tExpressArray.push(product);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: [...ExpressArray],\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthis.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tproductSorting: { value: selectedOption, label: selectedOption },\r\n\t\t\t\t\t\tproductListFiltered: prevProductListFiltered,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.handleUpdatingQueryParams();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\thandleFilterExpressChange(event) {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.setState({ filterbyExpress: !this.state.filterbyExpress }, () =>\r\n\t\t\tthis.handleApplyFilterChange()\r\n\t\t);\r\n\t}\r\n\r\n\thandleLoadMoreClick() {\r\n\t\tthis.setState({ productVisibleCount: this.state.productVisibleCount * 2 });\r\n\t}\r\n\r\n\trender(): React.ReactNode {\r\n\t\tconst {\r\n\t\t\tsiteName,\r\n\t\t\tshowFilterPanel,\r\n\t\t\taddOverlay,\r\n\t\t\tproductsVisible,\r\n\t\t\tfilterSortingOptions,\r\n\t\t\tproductListFiltered,\r\n\t\t\tproductVisibleCount,\r\n\t\t\tproductListFilters,\r\n\t\t\tproductFilterSelectedByUser,\r\n\t\t\tfilterPanelVisible,\r\n\t\t\tfilterbyExpress,\r\n\t\t\tproductSorting,\r\n\t\t} = this.state;\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t<div className=\"product-list\">\r\n\t\t\t\t\t<div className=\"product-list__container\">\r\n\t\t\t\t\t\t<div className=\"product-list__wrapper\">\r\n\t\t\t\t\t\t\t<div className=\"product-list__filter\">\r\n\t\t\t\t\t\t\t\t<div className=\"product-list__filter__container\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__wrapper site-container\">\r\n\t\t\t\t\t\t\t\t\t\t{showFilterPanel && (\r\n\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-list__filter__btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.toggleFilterPanelVisibility(true)}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-md fa-regular fa-filter\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\tFilter\r\n\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__dropdown\">\r\n\t\t\t\t\t\t\t\t\t\t\t<Select\r\n\t\t\t\t\t\t\t\t\t\t\t\toptions={filterSortingOptions}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassNamePrefix=\"select\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Popularity\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={productSorting}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(event) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handlePopularityChange(event.value)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__express\">\r\n\t\t\t\t\t\t\t\t\t\t\t<ToggleButton\r\n\t\t\t\t\t\t\t\t\t\t\t\ttext=\"Express\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tid=\"Express\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tisChecked={filterbyExpress}\r\n\t\t\t\t\t\t\t\t\t\t\t\thasIcon={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleCheckboxChange={this.handleFilterExpressChange}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t{productFilterSelectedByUser.map(\r\n\t\t\t\t\t\t\t\t\t\t\t(selectedFIlter, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={'form-filter-tag'}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveFilter(selectedFIlter)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedFIlter.Title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-sm fa-regular fa-xmark\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={`product-list__filter__backdrop ${\r\n\t\t\t\t\t\t\t\t\t\t\t\tfilterPanelVisible\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'product-list__filter__backdrop--active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.toggleFilterPanelVisibility(false)}\r\n\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t\t{showFilterPanel && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`product-list__filter__panel ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilterPanelVisible\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'product-list__filter__panel--active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__top\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button className=\"button button--text-only\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-md fa-regular fa-filter\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-list__filter__panel__top__close-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleFilterPanelVisibility(false)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left product-list__filter__panel__top__close-btn__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"icon-lg fa-regular fa-xmark product-list__filter__panel__top__close-btn__icon\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{productListFilters.length > 0 &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductListFilters.map((productFilter, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (productFilter.FilterEnabled) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn productFilter.FilterTitle !=\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Filter by Portal' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Accordion\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={productFilter.FilterTitle}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{productFilter.FilterItems.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(filter) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ToggleButton\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={filter.GUID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisChecked={filter.isChecked}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.Title +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t' (' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.Count +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t')'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tid={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductFilter.FilterTitle +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t';' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.GUID +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t';' +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.CodeName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleCheckboxChange={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleFilterCheckboxChange\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-list__filter__panel__btn\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.handleApplyFilterChange()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tApply filter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div className=\"product-list__grid site-container\">\r\n\t\t\t\t\t\t\t\t{productsVisible && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__grid__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t{productListFiltered?.length > 0 ? (\r\n\t\t\t\t\t\t\t\t\t\t\tproductListFiltered\r\n\t\t\t\t\t\t\t\t\t\t\t\t.slice(0, productVisibleCount)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((el, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`dynamic-card dynamic-card--product ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual' && 'dynamic-card--qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taddOverlay ? 'dynamic-card--overlay' : ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} fade-in`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={el.NodeID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-node-id={el.NodeID}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={el.PageRelativeURL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dynamic-card__image\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{siteName === 'Qual' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FavouriteContainer />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={el.Image} alt={el.ProductName} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{siteName === 'Qual' && el.BrandName && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"dynamic-card__sub-heading\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.BrandName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={el.PageRelativeURL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dynamic-card__title h5\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t__html: el.ProductName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(el.Bestseller || el.AustralianMade) && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.Bestseller && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBestseller\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.AustralianMade && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAustralian Made\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{el.Express && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"dynamic-card__tags__item\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag__secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag__primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`tag__text ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsiteName === 'Qual'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'tag--secondary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'tag--primary'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tExpress\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t<h3 className=\"product-list__no-result\">\r\n\t\t\t\t\t\t\t\t\t\t\t\tNo results found.\r\n\t\t\t\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t{productsVisible &&\r\n\t\t\t\t\t\t\t\tproductListFiltered.length > productVisibleCount && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-list__bottom\">\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--primary product-list__bottom__load-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={this.handleLoadMoreClick}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">Load more</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nexport default ProductListsContainer;\r\n","import * as types from \"./actionTypes\";\r\nimport { getLocalStorage, setLocalStorage } from '../utils/localStorage';\r\n\r\nexport const updateShoppingBasketCountSuccess = (basketList, totalProductCount) => {\r\n  return { \r\n    type: types.UPDATE_SHOPPING_PRODUCT_COUNT, \r\n    basketList,\r\n    totalProductCount\r\n   };\r\n};\r\n\r\nexport const updateShoppingBasketCount = (currentBasketList) => (dispatch) => {\r\n  let updatedBucketListProduct = [];\r\n  let savedProductsInCookie = getLocalStorage('selectedProduct');\r\n  if(savedProductsInCookie) {\r\n    let savedProductsObjInCookie = JSON.parse(savedProductsInCookie)\r\n    let savedProductsArray = savedProductsObjInCookie.currentBasketList;\r\n    let productFoundInCookie = false;\r\n    currentBasketList.forEach((currentProduct) => {\r\n      savedProductsArray.forEach((savedItem, savedIndex) => {\r\n        if(currentProduct.SKUId === savedItem.SKUId) {\r\n          savedProductsArray[savedIndex] = {...currentProduct};\r\n          productFoundInCookie = true;\r\n        }\r\n      });\r\n    })\r\n    if(!productFoundInCookie) {\r\n      savedProductsArray.push(...currentBasketList);\r\n    }\r\n    \r\n    updatedBucketListProduct = savedProductsArray;\r\n  } else {\r\n    updatedBucketListProduct = currentBasketList;\r\n  }\r\n    \r\n  let totalProductCount = 0;\r\n  if(updatedBucketListProduct.length) {\r\n    totalProductCount = updatedBucketListProduct.reduce(function(sum, value) \r\n    { return sum + value.Quantity; }\r\n    , 0);\r\n  }\r\n  // Set cookie, this will be retrived in quote form to fetch selected products from API\r\n  setLocalStorage('selectedProduct', JSON.stringify({currentBasketList: updatedBucketListProduct, totalProductCount}));\r\n  dispatch(updateShoppingBasketCountSuccess(currentBasketList, totalProductCount));\r\n\r\n};\r\n","import React from 'react';\r\n\r\nconst Modal = (props) => {\r\n  const { children, handleModalVisibility, handleModalClose } = props;\r\n  let modifier = handleModalVisibility ? 'visible' : '';\r\n\r\n  return (\r\n    <>\r\n      <div className={`modal ${modifier}`}>\r\n        <div className=\"modal__wrapper\">\r\n          <div className=\"modal__container site-container\">\r\n            <div className=\"modal__body\">\r\n              <button className=\"modal__btn-close\" onClick={handleModalClose}>\r\n                <i className=\"fa-regular fa-xmark icon-lg\"></i>\r\n              </button>\r\n              {children}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n\r\nexport default Modal;","import Panzoom from '@panzoom/panzoom';\r\nimport * as $ from 'jquery';\r\n\r\nclass ProductConfigImage {\r\n  init = () => {\r\n    // const productCongImageElements = document.querySelectorAll('.product-config__image__bg');\r\n    // ! TODO, currently not using\r\n    const productCongImageElements = null\r\n\r\n    if (!productCongImageElements) {\r\n      return;\r\n    }\r\n    \r\n    productCongImageElements.forEach((element: HTMLElement) => {\r\n      const panZoom = Panzoom(element, { contain: 'outside'});\r\n      const $parentElement = $(element).parents(\".product-config__image__container\");\r\n      $parentElement.find('.product-config__image__btn--zoom-in').on('click', function() { panZoom.zoomIn();})\r\n      $parentElement.find('.product-config__image__btn--zoom-out').on('click', function() { panZoom.zoomOut(); })\r\n    })\r\n\r\n  };\r\n\r\n}\r\n\r\nconst ProductConfigImageInstance = new ProductConfigImage();\r\nProductConfigImageInstance.init();\r\n\r\nexport { ProductConfigImage, ProductConfigImageInstance };\r\n","import React, { PureComponent } from 'react';\r\nimport axios, { AxiosResponse } from 'axios';\r\nimport Select from 'react-select';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as actions from '../actions/productConfiguratorActions';\r\nimport Modal from '../components/Modal';\r\nimport {\r\n\tProductConfiguratorState,\r\n\tProductConfiguratorProps,\r\n\tGlobalEndpoints,\r\n\tproducts,\r\n\tproductsInCookie,\r\n\tproductVariants,\r\n} from '../types/ProductConfiguratorInterface';\r\nimport { ProductConfigImageInstance } from '../../common/components/product-config/product-config-image';\r\nimport tippy from 'tippy.js';\r\nimport Slider from 'react-slick';\r\n\r\nclass ProductConfiguratorContainer extends PureComponent<\r\n\tProductConfiguratorProps,\r\n\tProductConfiguratorState\r\n> {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tproductQuantity: '',\r\n\t\t\tproductImage: '',\r\n\t\t\tselectedProduct: null,\r\n\t\t\tproducts: null,\r\n\t\t\tproductName: null,\r\n\t\t\tproductIntro: null,\r\n\t\t\tsizeGuideLink: null,\r\n\t\t\tsizeGuideModal: false,\r\n\t\t\tselectedProductInCookie: [],\r\n\t\t\tparentImage: null,\r\n\t\t\tproductGallery: null,\r\n\t\t\tproductVariants: null,\r\n\t\t\tproductVariantsCopy: null,\r\n\t\t\tproductsList: null,\r\n\t\t\tparentProductImage: null,\r\n\t\t\ttoolTipElements: null,\r\n\t\t\tproductConfigVisible: false,\r\n\t\t\tcolorSwatchVisibleCount: 18,\r\n\t\t\tproductCertificates: null,\r\n\t\t\tgalleryNav1: null,\r\n\t\t\tgalleryNav2: null,\r\n\t\t\tcolorSelected: false,\r\n\t\t\tproductGalleryActiveIndex: null,\r\n\t\t\tproductTags: null,\r\n\t\t};\r\n\t\tthis.handleSelectChange = this.handleSelectChange.bind(this);\r\n\t\tthis.handleProductQuantityChange =\r\n\t\t\tthis.handleProductQuantityChange.bind(this);\r\n\t\tthis.handleAddToQuoteClick = this.handleAddToQuoteClick.bind(this);\r\n\t\tthis.handleSizeModalVisibility = this.handleSizeModalVisibility.bind(this);\r\n\t\tthis.handleProductVariantsAvailableState =\r\n\t\t\tthis.handleProductVariantsAvailableState.bind(this);\r\n\t\tthis.handleTooltipState = this.handleTooltipState.bind(this);\r\n\t\tthis.handleResetBtnClick = this.handleResetBtnClick.bind(this);\r\n\t\tthis.handleMenuDropdownOpen = this.handleMenuDropdownOpen.bind(this);\r\n\t\tthis.handleColorSwatchShowMoreClick =\r\n\t\t\tthis.handleColorSwatchShowMoreClick.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount(): void {\r\n\t\tconst endpointsData: GlobalEndpoints = JSON.parse(\r\n\t\t\tdocument.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML\r\n\t\t);\r\n\t\tconst $element = document.querySelector('.js-sebel-product-configurator');\r\n\t\tconst culture = $element.getAttribute('data-culture-code');\r\n\t\tconst nodeID = $element.getAttribute('data-node-id');\r\n\t\tconst sizeGuideLink = $element.getAttribute('data-size-guide-link');\r\n\t\tconst productName = $element.getAttribute('data-product-name');\r\n\t\tconst productIntro = $element.getAttribute('data-intro');\r\n\t\tconst parentProductImage = $element.getAttribute('data-image');\r\n\t\tconst productCertificates = JSON.parse(\r\n\t\t\t$element.getAttribute('data-certificates')\r\n\t\t);\r\n\t\tconst productTags = JSON.parse($element.getAttribute('data-tags'));\r\n\r\n\t\tconst _this = this;\r\n\r\n\t\taxios\r\n\t\t\t.get(\r\n\t\t\t\t`${endpointsData.productVariantsAvailableOptions}?nodeId=${nodeID}&culture=${culture}`\r\n\t\t\t)\r\n\t\t\t.then((productVariantsresponse: AxiosResponse) => {\r\n\t\t\t\taxios\r\n\t\t\t\t\t.get(\r\n\t\t\t\t\t\t`${endpointsData.productVariantsForParentProduct}?nodeId=${nodeID}&culture=${culture}`\r\n\t\t\t\t\t)\r\n\t\t\t\t\t.then(async (productsListresponse: AxiosResponse) => {\r\n\t\t\t\t\t\tlet productsList = productsListresponse.data;\r\n\t\t\t\t\t\tlet productVariants: Array<productVariants> =\r\n\t\t\t\t\t\t\tproductVariantsresponse.data;\r\n\t\t\t\t\t\tlet productGallery: Array<string> = await this.getProductGallery(\r\n\t\t\t\t\t\t\tendpointsData,\r\n\t\t\t\t\t\t\tnodeID,\r\n\t\t\t\t\t\t\tculture\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tlet productVariantsCopy: Array<productVariants> = null;\r\n\t\t\t\t\t\tlet selectedProduct: products = null;\r\n\t\t\t\t\t\tlet productImage = '';\r\n\r\n\t\t\t\t\t\tproductVariants.forEach((product, productIndex) => {\r\n\t\t\t\t\t\t\t// Add new variable to show more colors\r\n\t\t\t\t\t\t\tproduct.ShowColorCount = 18;\r\n\t\t\t\t\t\t\tproduct.ShowColorLabel = 'Show more colours';\r\n\r\n\t\t\t\t\t\t\t// Add new [] to modal data for react select\r\n\t\t\t\t\t\t\tproduct.ReactSelect = [];\r\n\t\t\t\t\t\t\tproduct.ReactSelectValue = null;\r\n\r\n\t\t\t\t\t\t\tproduct.Options.forEach((option, index) => {\r\n\t\t\t\t\t\t\t\tproduct.ReactSelect.push({\r\n\t\t\t\t\t\t\t\t\tvalue: `${product.CategoryName};${product.CategoryId};${option.OptionId}`,\r\n\t\t\t\t\t\t\t\t\tlabel: option.OptionName,\r\n\t\t\t\t\t\t\t\t\tisOptionAvailable: false,\r\n\t\t\t\t\t\t\t\t\titemIndex: productIndex,\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t// By default select 1st items as value\r\n\t\t\t\t\t\t\t\tif (index === 0) {\r\n\t\t\t\t\t\t\t\t\tproduct.ReactSelectValue = {\r\n\t\t\t\t\t\t\t\t\t\tvalue: `${product.CategoryName};${product.CategoryId};${option.OptionId}`,\r\n\t\t\t\t\t\t\t\t\t\tlabel: option.OptionName,\r\n\t\t\t\t\t\t\t\t\t\tisOptionAvailable: true,\r\n\t\t\t\t\t\t\t\t\t\titemIndex: productIndex,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tproduct.ReactSelect[index].isOptionAvailable = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tproductVariantsCopy = productVariants;\r\n\r\n\t\t\t\t\t\tif (productVariantsCopy.length) {\r\n\t\t\t\t\t\t\tselectedProduct = this.handleFindProduct(\r\n\t\t\t\t\t\t\t\tproductsList,\r\n\t\t\t\t\t\t\t\tproductVariantsCopy,\r\n\t\t\t\t\t\t\t\t[]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tproductVariantsCopy = this.handleProductVariantsAvailableState(\r\n\t\t\t\t\t\t\t\tproductsList,\r\n\t\t\t\t\t\t\t\tproductVariantsCopy,\r\n\t\t\t\t\t\t\t\tproductVariantsCopy[0].ReactSelectValue\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\tif (!selectedProduct.Image) {\r\n\t\t\t\t\t\t\t\tproductImage = parentProductImage;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tproductImage = selectedProduct.Image;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tproductCertificates,\r\n\t\t\t\t\t\t\t\t\tproductGallery,\r\n\t\t\t\t\t\t\t\t\tproductVariants,\r\n\t\t\t\t\t\t\t\t\tproductVariantsCopy,\r\n\t\t\t\t\t\t\t\t\tselectedProduct,\r\n\t\t\t\t\t\t\t\t\tproductImage,\r\n\t\t\t\t\t\t\t\t\tproductsList,\r\n\t\t\t\t\t\t\t\t\tproductName,\r\n\t\t\t\t\t\t\t\t\tproductIntro,\r\n\t\t\t\t\t\t\t\t\tparentProductImage,\r\n\t\t\t\t\t\t\t\t\tsizeGuideLink,\r\n\t\t\t\t\t\t\t\t\tproductConfigVisible: true,\r\n\t\t\t\t\t\t\t\t\tproductTags,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t() => {\r\n\t\t\t\t\t\t\t\t\t// To add image zoom functionality\r\n\t\t\t\t\t\t\t\t\tProductConfigImageInstance.init();\r\n\t\t\t\t\t\t\t\t\tthis.handleTooltipState();\r\n\t\t\t\t\t\t\t\t\tthis.handleCertificateTooltipState();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.setState({ productConfigVisible: true });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(function (error: AxiosResponse) {\r\n\t\t\t\t// If server responds with 500, Hide loader and component\r\n\t\t\t\t_this.setState({ productConfigVisible: true });\r\n\t\t\t});\r\n\t}\r\n\r\n\thandleCertificateTooltipState = () => {\r\n\t\tconst { productCertificates } = this.state;\r\n\r\n\t\tif (!productCertificates) return false;\r\n\r\n\t\tconst $productCertificateElements = document.querySelectorAll(\r\n\t\t\t'.product-config__certificate__item'\r\n\t\t);\r\n\r\n\t\tfor (let p = 0; p < productCertificates.length; p++) {\r\n\t\t\ttippy($productCertificateElements[p], {\r\n\t\t\t\tcontent: productCertificates[p].title,\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\thandleTooltipState() {\r\n\t\tlet tippyElements = this.state.toolTipElements || [];\r\n\t\tif (this.state.toolTipElements) {\r\n\t\t\ttippyElements.forEach((element) => {\r\n\t\t\t\telement.destroy();\r\n\t\t\t});\r\n\t\t}\r\n\t\ttippyElements = tippy(\r\n\t\t\tdocument.querySelectorAll('.select__option--is-disabled'),\r\n\t\t\t{ content: 'Not Available in this Combination' }\r\n\t\t);\r\n\t\tthis.setState({ toolTipElements: tippyElements });\r\n\t}\r\n\r\n\t//Onchange{\r\n\t//Option1\r\n\t//foreach\r\n\t// {\r\n\t// if(selected item don't do anything))\r\n\t// else\r\n\t// {\r\n\t// Get value of that item and we store in variable X. Get calue of selected item of 2 , 3 & 4\r\n\t//Make a call to findproduct for X,2,3,4. If product found. Don't do anything.\r\n\t//If product not found , add disable in the dropdown for X\r\n\t// }\r\n\t// }\r\n\t// }\r\n\r\n\thandleProductVariantsAvailableState(\r\n\t\tproductsList,\r\n\t\tproductVariants,\r\n\t\tcurrentSelectedOption\r\n\t) {\r\n\t\tlet totalProductVariantsCount = Array.from(\r\n\t\t\t{ length: productVariants.length },\r\n\t\t\t(x, i) => i\r\n\t\t);\r\n\r\n\t\tconst findAvailableVariants = (productVariantsCount) => {\r\n\t\t\tif (1 === productVariantsCount) {\r\n\t\t\t\t// On option change this loop will run first to get the availabe and unavailable option items for the selected option\r\n\t\t\t\tfor (let t = 0; t < productVariants.length; t++) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tproductVariants[t].ReactSelectValue.itemIndex ===\r\n\t\t\t\t\t\tcurrentSelectedOption.itemIndex\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tfor (let k = 0; k < productVariants[t].ReactSelect.length; k++) {\r\n\t\t\t\t\t\t\tlet selectedVariants = [];\r\n\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].value !==\r\n\t\t\t\t\t\t\t\tcurrentSelectedOption.value\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t// Push the unselected value only\r\n\t\t\t\t\t\t\t\tselectedVariants.push(productVariants[t].ReactSelect[k].value);\r\n\r\n\t\t\t\t\t\t\t\t// Push the other options selected value\r\n\t\t\t\t\t\t\t\tproductVariants.forEach((product) => {\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\tproduct.ReactSelectValue.itemIndex !==\r\n\t\t\t\t\t\t\t\t\t\tcurrentSelectedOption.itemIndex\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\tselectedVariants.push(product.ReactSelectValue.value);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t// Try to find the product for the combination\r\n\t\t\t\t\t\t\t\tlet productFound = this.handleFindProduct(\r\n\t\t\t\t\t\t\t\t\tproductsList,\r\n\t\t\t\t\t\t\t\t\tproductVariants,\r\n\t\t\t\t\t\t\t\t\tselectedVariants\r\n\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\tif (productFound !== null) {\r\n\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].isOptionAvailable = true;\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].isOptionAvailable = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\ttotalProductVariantsCount = totalProductVariantsCount.filter(\r\n\t\t\t\t\t(el) => el !== currentSelectedOption.itemIndex\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\t// On option change this loop will run second on rest of the options to get the availabe and unavailable option items\r\n\t\t\t\tfor (let tp = 0; tp < totalProductVariantsCount.length; tp++) {\r\n\t\t\t\t\tfor (let t = 0; t < productVariants.length; t++) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tproductVariants[t].ReactSelectValue.itemIndex ===\r\n\t\t\t\t\t\t\ttotalProductVariantsCount[tp]\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tfor (let k = 0; k < productVariants[t].ReactSelect.length; k++) {\r\n\t\t\t\t\t\t\t\tlet selectedVariants = [];\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].value !==\r\n\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelectValue.value\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t// Push the unselected value only\r\n\t\t\t\t\t\t\t\t\tselectedVariants.push(\r\n\t\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].value\r\n\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t// Push the other options selected value\r\n\t\t\t\t\t\t\t\t\tproductVariants.forEach((product) => {\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\tproduct.ReactSelectValue.itemIndex !==\r\n\t\t\t\t\t\t\t\t\t\t\ttotalProductVariantsCount[tp]\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tselectedVariants.push(product.ReactSelectValue.value);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\t\t// Try to find the product for the combination\r\n\t\t\t\t\t\t\t\t\tlet productFound = this.handleFindProduct(\r\n\t\t\t\t\t\t\t\t\t\tproductsList,\r\n\t\t\t\t\t\t\t\t\t\tproductVariants,\r\n\t\t\t\t\t\t\t\t\t\tselectedVariants\r\n\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\tif (productFound !== null) {\r\n\t\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].isOptionAvailable = true;\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tproductVariants[t].ReactSelect[k].isOptionAvailable = false;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (productVariantsCount > 0) {\r\n\t\t\t\tfindAvailableVariants(productVariantsCount - 1);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfindAvailableVariants(1);\r\n\r\n\t\treturn productVariants;\r\n\t}\r\n\r\n\thandleResetBtnClick() {\r\n\t\tlet { productsList, productVariantsCopy, parentProductImage } = this.state;\r\n\t\tlet allCategoryVariantValues = [];\r\n\t\tlet categoryVariant = [];\r\n\t\tlet selectedProduct = null;\r\n\t\tlet productImage = null;\r\n\r\n\t\tproductVariantsCopy.forEach((product) => {\r\n\t\t\tproduct.ReactSelect.forEach((option, index) => {\r\n\t\t\t\tif (index === 0) {\r\n\t\t\t\t\toption.isOptionAvailable = true;\r\n\t\t\t\t\tproduct.ReactSelectValue = option;\r\n\t\t\t\t\tallCategoryVariantValues.push(product.ReactSelectValue.value);\r\n\t\t\t\t\tcategoryVariant.push(product.ReactSelectValue);\r\n\t\t\t\t} else {\r\n\t\t\t\t\toption.isOptionAvailable = false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tselectedProduct = this.handleFindProduct(\r\n\t\t\tproductsList,\r\n\t\t\tproductVariantsCopy,\r\n\t\t\tallCategoryVariantValues\r\n\t\t);\r\n\t\tproductVariantsCopy = this.handleProductVariantsAvailableState(\r\n\t\t\tproductsList,\r\n\t\t\tproductVariantsCopy,\r\n\t\t\tcategoryVariant[0]\r\n\t\t);\r\n\r\n\t\tif (selectedProduct.Image === '') {\r\n\t\t\tproductImage = parentProductImage;\r\n\t\t} else {\r\n\t\t\tproductImage = selectedProduct.Image;\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\t{ productVariantsCopy, selectedProduct, productImage },\r\n\t\t\t() => {\r\n\t\t\t\tthis.handleTooltipState();\r\n\t\t\t}\r\n\t\t);\r\n\t\tthis.setState({\r\n\t\t\tcolorSelected: false,\r\n\t\t\tproductImage:\r\n\t\t\t\tthis.state.productGallery[this.state.productGalleryActiveIndex],\r\n\t\t});\r\n\t}\r\n\r\n\thandleFindProduct(productsList, productCatgeoryList, categoryVariant) {\r\n\t\tlet selectedCategoryVariant = [...categoryVariant];\r\n\t\tlet allCategories = [];\r\n\t\tlet productFound = null;\r\n\r\n\t\tfor (let a = 0; a < productCatgeoryList.length; a++) {\r\n\t\t\tallCategories.push({\r\n\t\t\t\tCategoryName: productCatgeoryList[a].CategoryName,\r\n\t\t\t\tisFound: false,\r\n\t\t\t});\r\n\t\t\t// On pageload and select change, use the selected value in the obj to fetch the selected product.\r\n\t\t\tif (categoryVariant.length === 0) {\r\n\t\t\t\tselectedCategoryVariant.push(\r\n\t\t\t\t\tproductCatgeoryList[a].ReactSelectValue.value\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Loop through products[]\r\n\t\tfor (let p = 0; p < productsList.length; p++) {\r\n\t\t\t// Loop through productsList option[];\r\n\t\t\tlet selectedObj = allCategories.map((a) => {\r\n\t\t\t\treturn { ...a };\r\n\t\t\t});\r\n\t\t\tfor (let k = 0; k < productsList[p].Options.length; k++) {\r\n\t\t\t\t// Loop through selected variants[]\r\n\t\t\t\tfor (let s = 0; s < selectedCategoryVariant.length; s++) {\r\n\t\t\t\t\tvar splitArray = selectedCategoryVariant[s].split(';');\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tsplitArray[0] === productsList[p].Options[k].OptionCategoryName &&\r\n\t\t\t\t\t\tNumber(splitArray[1]) ===\r\n\t\t\t\t\t\t\tproductsList[p].Options[k].OptionCategoryId &&\r\n\t\t\t\t\t\tNumber(splitArray[2]) === productsList[p].Options[k].OptionId\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t// This is to get the selected product\r\n\t\t\t\t\t\tselectedObj.forEach((obj) => {\r\n\t\t\t\t\t\t\tif (obj['CategoryName'] === splitArray[0]) {\r\n\t\t\t\t\t\t\t\tobj.isFound = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (selectedObj.findIndex((x) => !x.isFound) === -1) {\r\n\t\t\t\tproductFound = productsList[p];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn productFound;\r\n\t}\r\n\r\n\thandleProductOptionActiveState(selectedOption) {\r\n\t\tconst { productVariantsCopy } = this.state;\r\n\t\t// Updated the selected value to add active state\r\n\t\tfor (let p = 0; p < productVariantsCopy.length; p++) {\r\n\t\t\tif (\r\n\t\t\t\tproductVariantsCopy[p].CategoryId ===\r\n\t\t\t\tNumber(selectedOption.value.split(';')[1])\r\n\t\t\t) {\r\n\t\t\t\tproductVariantsCopy[p].ReactSelectValue = selectedOption;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn productVariantsCopy;\r\n\t}\r\n\r\n\thandleSelectChange(event) {\r\n\t\tif (!this.state.colorSelected) {\r\n\t\t\tthis.setState({ colorSelected: true });\r\n\t\t}\r\n\t\tconst { productsList, parentProductImage } = this.state;\r\n\t\tlet updatedproductVariantsCopy = null;\r\n\t\tlet updatedSelectedProduct = null;\r\n\t\tlet updatedImage = '';\r\n\t\tupdatedproductVariantsCopy = this.handleProductOptionActiveState(event);\r\n\t\tupdatedproductVariantsCopy = this.handleProductVariantsAvailableState(\r\n\t\t\tproductsList,\r\n\t\t\tupdatedproductVariantsCopy,\r\n\t\t\tevent\r\n\t\t);\r\n\t\tupdatedSelectedProduct = this.handleFindProduct(\r\n\t\t\tproductsList,\r\n\t\t\tupdatedproductVariantsCopy,\r\n\t\t\t[]\r\n\t\t);\r\n\r\n\t\tif (\r\n\t\t\tupdatedSelectedProduct === null ||\r\n\t\t\tupdatedSelectedProduct.Image === ''\r\n\t\t) {\r\n\t\t\tconsole.log('No Product variant Image found for this combination');\r\n\t\t\tupdatedImage = parentProductImage;\r\n\t\t} else {\r\n\t\t\tconsole.log('Product variant Image found for this combination');\r\n\t\t\tupdatedImage = updatedSelectedProduct.Image;\r\n\t\t}\r\n\r\n\t\tif (updatedSelectedProduct) {\r\n\t\t\tconsole.log('Product variant found for this combination');\r\n\t\t\tthis.setState(\r\n\t\t\t\t{\r\n\t\t\t\t\tproductVariantsCopy: [...updatedproductVariantsCopy],\r\n\t\t\t\t\tselectedProduct: updatedSelectedProduct,\r\n\t\t\t\t\tproductImage: updatedImage,\r\n\t\t\t\t},\r\n\t\t\t\t() => this.handleTooltipState()\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tconsole.log('No Product variant found for this combination');\r\n\t\t\tthis.setState(\r\n\t\t\t\t{\r\n\t\t\t\t\tproductVariantsCopy: [...updatedproductVariantsCopy],\r\n\t\t\t\t\tproductImage: updatedImage,\r\n\t\t\t\t\tselectedProduct: null,\r\n\t\t\t\t},\r\n\t\t\t\t() => this.handleTooltipState()\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\thandleProductQuantityChange(event) {\r\n\t\t// Allow only number Regex\r\n\t\tconst re = /^[0-9\\b]+$/;\r\n\t\tif (event.target.value === '' || re.test(event.target.value)) {\r\n\t\t\tthis.setState({ productQuantity: event.target.value });\r\n\t\t}\r\n\t}\r\n\r\n\thandleAddToQuoteClick(productName) {\r\n\t\tconst { selectedProduct, productQuantity } = this.state;\r\n\t\tconst { actions } = this.props;\r\n\t\tlet userSelectedProductInCookie: Array<productsInCookie> = [];\r\n\t\tconst endpointsData: GlobalEndpoints = JSON.parse(\r\n\t\t\tdocument.querySelector(`[data-config-id=\"endpoints\"]`).innerHTML\r\n\t\t);\r\n\r\n\t\tlet bodyFormData = new FormData();\r\n\t\tlet keyValueString = `<b>Product Name:</b> ${productName}<br><b>Product URL:</b> ${window.location.href}<br><b>Product Quantity:</b> ${productQuantity}<br>`;\r\n\t\tif (Number(productQuantity)) {\r\n\t\t\tlet updatedSelectedProduct: any = selectedProduct;\r\n\t\t\tdelete updatedSelectedProduct.Name;\r\n\t\t\tdelete updatedSelectedProduct.ParentProductName;\r\n\r\n\t\t\tObject.entries(updatedSelectedProduct).forEach(([key]) => {\r\n\t\t\t\tif (key === 'SKUId') {\r\n\t\t\t\t\tkeyValueString += `<b>SKU Id</b>: ${updatedSelectedProduct[key]}<br><b>Variant:</b> `;\r\n\t\t\t\t}\r\n\t\t\t\tif (Array.isArray(updatedSelectedProduct[key])) {\r\n\t\t\t\t\tupdatedSelectedProduct[key].map((options, i) => {\r\n\t\t\t\t\t\tkeyValueString += `${options.OptionCategoryDisplayName} : ${\r\n\t\t\t\t\t\t\toptions.OptionName\r\n\t\t\t\t\t\t}${i !== updatedSelectedProduct[key].length - 1 ? ', ' : ''}`;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tbodyFormData.append('activityType', 'AddToQuoteRequestActivity');\r\n\t\t\tbodyFormData.append('activityDescription', keyValueString);\r\n\r\n\t\t\taxios({\r\n\t\t\t\tmethod: 'post',\r\n\t\t\t\tmaxBodyLength: Infinity,\r\n\t\t\t\turl: `${endpointsData.logActivities}`,\r\n\t\t\t\theaders: { 'Content-Type': 'multipart/form-data' },\r\n\t\t\t\tdata: bodyFormData,\r\n\t\t\t});\r\n\r\n\t\t\tuserSelectedProductInCookie.push({\r\n\t\t\t\t...updatedSelectedProduct,\r\n\t\t\t\tQuantity: parseInt(productQuantity),\r\n\t\t\t});\r\n\t\t\tactions.updateShoppingBasketCount(userSelectedProductInCookie);\r\n\t\t}\r\n\r\n\t\twindow.scroll({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t});\r\n\t}\r\n\r\n\thandleSizeModalVisibility(visible) {\r\n\t\tthis.setState({ sizeGuideModal: visible });\r\n\t}\r\n\r\n\thandleMenuDropdownOpen() {\r\n\t\tlet _this = this;\r\n\t\tsetTimeout(function () {\r\n\t\t\t_this.handleTooltipState();\r\n\t\t}, 0);\r\n\t}\r\n\r\n\thandleColorSwatchShowMoreClick(product) {\r\n\t\tconst { productVariantsCopy, colorSwatchVisibleCount } = this.state;\r\n\r\n\t\tfor (let v = 0; v < productVariantsCopy.length; ++v) {\r\n\t\t\tif (\r\n\t\t\t\tproductVariantsCopy[v].CategoryId === product.CategoryId &&\r\n\t\t\t\tproductVariantsCopy[v].ShowColorSwatch\r\n\t\t\t) {\r\n\t\t\t\tif (productVariantsCopy[v].ShowColorLabel === 'Show more colours') {\r\n\t\t\t\t\tproductVariantsCopy[v].ShowColorCount =\r\n\t\t\t\t\t\tproductVariantsCopy[v].Options.length;\r\n\t\t\t\t\tproductVariantsCopy[v].ShowColorLabel = 'Show less colours';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tproductVariantsCopy[v].ShowColorCount = colorSwatchVisibleCount;\r\n\t\t\t\t\tproductVariantsCopy[v].ShowColorLabel = 'Show more colours';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState({ productVariantsCopy: [...productVariantsCopy] });\r\n\t}\r\n\r\n\tasync getProductGallery(\r\n\t\tendpointsData,\r\n\t\tnodeID,\r\n\t\tculture\r\n\t): Promise<Array<string>> {\r\n\t\treturn (\r\n\t\t\t(await axios\r\n\t\t\t\t.get(\r\n\t\t\t\t\t`${endpointsData.productGalleryForParentProduct}?nodeId=${nodeID}&culture=${culture}`\r\n\t\t\t\t)\r\n\t\t\t\t.then((productGalleryresponse: AxiosResponse) => {\r\n\t\t\t\t\treturn productGalleryresponse.data.gallery;\r\n\t\t\t\t})) ?? []\r\n\t\t);\r\n\t}\r\n\r\n\tloadGallery(imgList, isHide) {\r\n\t\treturn (\r\n\t\t\t<div className={`product-config__image__gallery ${isHide ? 'hide' : ''}`}>\r\n\t\t\t\t<Slider\r\n\t\t\t\t\tinfinite={false}\r\n\t\t\t\t\tarrows={imgList.length > 1}\r\n\t\t\t\t\tasNavFor={this.state.galleryNav2}\r\n\t\t\t\t\tref={(slider1) => this.setState({ galleryNav1: slider1 })}\r\n\t\t\t\t\tonInit={() => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tproductImage: imgList[0],\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tafterChange={(current) => {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tproductImage: imgList[current],\r\n\t\t\t\t\t\t\tproductGalleryActiveIndex: current,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tclassName=\"product-config__image__container\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{imgList.map((img, index) => (\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tsrc={img}\r\n\t\t\t\t\t\t\talt={`${this.state.productName} Image`}\r\n\t\t\t\t\t\t\tkey={`product-${index}`}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</Slider>\r\n\t\t\t\t<a\r\n\t\t\t\t\thref={this.state.productImage}\r\n\t\t\t\t\tclassName=\"product-config__image__btn product-config__image__btn__tag product-config__image__btn--download\"\r\n\t\t\t\t\tdownload={this.state.productName}\r\n\t\t\t\t>\r\n\t\t\t\t\t<i className=\"fa-regular fa-arrow-down-to-bracket\"></i>\r\n\t\t\t\t</a>\r\n\t\t\t\t{imgList.length > 1 && (\r\n\t\t\t\t\t<Slider\r\n\t\t\t\t\t\tarrows={false}\r\n\t\t\t\t\t\tinfinite={false}\r\n\t\t\t\t\t\tvariableWidth={true}\r\n\t\t\t\t\t\tasNavFor={this.state.galleryNav1}\r\n\t\t\t\t\t\tref={(slider2) => this.setState({ galleryNav2: slider2 })}\r\n\t\t\t\t\t\tslidesToShow={5}\r\n\t\t\t\t\t\tswipeToSlide={true}\r\n\t\t\t\t\t\tfocusOnSelect={true}\r\n\t\t\t\t\t\tclassName=\"product-config__image__thumbnail\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{imgList.map((img, index) => (\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc={img}\r\n\t\t\t\t\t\t\t\talt={`${this.state.productName} Image`}\r\n\t\t\t\t\t\t\t\tkey={`product-${index}`}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</Slider>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\trender(): React.ReactNode {\r\n\t\tconst {\r\n\t\t\tproductQuantity,\r\n\t\t\tproductGallery,\r\n\t\t\tproductImage,\r\n\t\t\tproductName,\r\n\t\t\tproductIntro,\r\n\t\t\tsizeGuideLink,\r\n\t\t\tproductVariantsCopy,\r\n\t\t\tselectedProduct,\r\n\t\t\tsizeGuideModal,\r\n\t\t\tproductConfigVisible,\r\n\t\t\tcolorSwatchVisibleCount,\r\n\t\t\tproductCertificates,\r\n\t\t\tproductTags,\r\n\t\t} = this.state;\r\n\t\t// Map size guide modal link to the first dropdown\r\n\t\tlet count = 0;\r\n\t\tlet colorName = '';\r\n\r\n\t\tconst isNewTemplate = document\r\n\t\t\t.querySelector('.js-sebel-product-configurator')\r\n\t\t\t.getAttribute('data-isnewtemplate');\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{!productConfigVisible && (\r\n\t\t\t\t\t<div className=\"loading-icon\">\r\n\t\t\t\t\t\t<div className=\"loadingio-spinner-spin-ztcmt0hrnrs\">\r\n\t\t\t\t\t\t\t<div className=\"ldio-x4ag8ngi77f\">\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<h5 className=\"m-0\">Please wait.</h5>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t\t{/* {productConfigVisible && selectedProduct && ( */}\r\n\t\t\t\t{productConfigVisible && selectedProduct && (\r\n\t\t\t\t\t<div className={`product-config ${isNewTemplate ? 'pt-2rem' : ''}`}>\r\n\t\t\t\t\t\t<div className=\"product-config__wrapper\">\r\n\t\t\t\t\t\t\t<div className=\"product-config__container site-container\">\r\n\t\t\t\t\t\t\t\t{/* Start: Product Header */}\r\n\t\t\t\t\t\t\t\t<div className=\"product-config__header mobile-header\">\r\n\t\t\t\t\t\t\t\t\t{isNewTemplate && (productCertificates || productTags) && (\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__tags-certificate\">\r\n\t\t\t\t\t\t\t\t\t\t\t{productTags && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__tags\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{productTags.map((tag) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li className=\"tag__primary\" key={tag.id}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 className=\"tag__text tag--primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tag.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Certificates goes here */}\r\n\t\t\t\t\t\t\t\t\t\t\t{productCertificates &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tproductCertificates.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__certificate__list\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{productCertificates.map((product) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__certificate__item\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={product.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={product.image}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={product.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t<h4\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__name\"\r\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: productName }}\r\n\t\t\t\t\t\t\t\t\t></h4>\r\n\t\t\t\t\t\t\t\t\t{isNewTemplate && (productIntro || productIntro !== '') && (\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-header__description\"\r\n\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t__html: productIntro,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t{/* End : Product Header */}\r\n\t\t\t\t\t\t\t\t<div className=\"product-config__left\">\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-config__image\">\r\n\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__image__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`product-config__image__container product-config__image__overlay ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisNewTemplate && !this.state.colorSelected\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'hide'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={productImage} alt=\"\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thref={productImage}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__image__btn product-config__image__btn__tag product-config__image__btn--download\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdownload={productName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-regular fa-arrow-down-to-bracket\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t{isNewTemplate &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.loadGallery(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tproductGallery,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.state.colorSelected\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tclassName={`product-config__right ${\r\n\t\t\t\t\t\t\t\t\t\tisNewTemplate ? 'product-config__right--template-2' : ''\r\n\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{/* Start: Product Header */}\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-config__header desktop-header\">\r\n\t\t\t\t\t\t\t\t\t\t{isNewTemplate && (productCertificates || productTags) && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__tags-certificate\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{productTags && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__tags\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{productTags.map((tag) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li className=\"tag__primary\" key={tag.id}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h6 className=\"tag__text tag--primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{tag.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* Certificates goes here */}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{productCertificates &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tproductCertificates.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__certificate__list\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{productCertificates.map((product) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__certificate__item\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={product.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={product.image}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt={product.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<h4\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__name\"\r\n\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: productName }}\r\n\t\t\t\t\t\t\t\t\t\t></h4>\r\n\t\t\t\t\t\t\t\t\t\t{isNewTemplate && (productIntro || productIntro !== '') && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-header__description\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t__html: productIntro,\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t{/* End : Product Header */}\r\n\t\t\t\t\t\t\t\t\t<div className=\"product-config__quote\">\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"string\"\r\n\t\t\t\t\t\t\t\t\t\t\tname=\"quote\"\r\n\t\t\t\t\t\t\t\t\t\t\tvalue={productQuantity}\r\n\t\t\t\t\t\t\t\t\t\t\tmaxLength={5}\r\n\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Quantity\"\r\n\t\t\t\t\t\t\t\t\t\t\tonChange={this.handleProductQuantityChange}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={`button button--primary ${\r\n\t\t\t\t\t\t\t\t\t\t\t\tselectedProduct === null ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tproductQuantity === '' ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tproductQuantity === '0' ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tproductQuantity === '00' ||\r\n\t\t\t\t\t\t\t\t\t\t\t\tisNewTemplate && (productVariantsCopy.some(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(el) => el.ShowColorSwatch === true\r\n\t\t\t\t\t\t\t\t\t\t\t\t)) && !this.state.colorSelected\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'disabled'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.handleAddToQuoteClick(productName)}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">Add to quote</span>\r\n\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t{productVariantsCopy &&\r\n\t\t\t\t\t\t\t\t\t\tproductVariantsCopy.map((product, productIndex) => {\r\n\t\t\t\t\t\t\t\t\t\t\t++count;\r\n\t\t\t\t\t\t\t\t\t\t\tif (!product.ShowColorSwatch) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__size\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={product.CategoryId + productIndex}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__size__top\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 className=\"m-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelect {product.CategoryDisplayName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h5>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__buttons\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{count === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-config__size__modal-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.handleResetBtnClick()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-regular fa-arrow-rotate-right\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReset\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{count === 1 && sizeGuideLink && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-config__size__modal-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleSizeModalVisibility(true)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-regular fa-circle-info\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSize guide\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{count === 1 && sizeGuideLink && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Modal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleModalVisibility={sizeGuideModal}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleModalClose={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleSizeModalVisibility(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__size__modal\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__size__modal__image__wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__size__modal__image\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={sizeGuideLink}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"Size guide image\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Modal>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__size__controls\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Select\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions={product.ReactSelect}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassNamePrefix=\"select\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Choose one\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={this.handleSelectChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={product.ReactSelectValue}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSearchable={false}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionDisabled={(option) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isOptionAvailable === false\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonMenuOpen={this.handleMenuDropdownOpen}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.Options &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.Options.map((productEl, index) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (index === 0) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorName = '';\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.ReactSelectValue.value.split(';')[2] ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductEl.OptionId.toString()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorName = product.ReactSelectValue.label;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__color\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={product.CategoryId}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__size__top product-config__color__top\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 className=\"product-config__color__heading m-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelect {product.CategoryDisplayName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{isNewTemplate ? this.state.colorSelected && ` : ${colorName}` : ` : ${colorName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</h5>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{count === 1 && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"product-config__buttons\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"button button--text-only product-config__size__modal-btn\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.handleResetBtnClick()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__left\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-regular fa-arrow-rotate-right\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tReset\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__color__list\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.Options &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.Options.slice(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.ShowColorCount\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t).map((products, optionsIndex) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst btnActive =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.ReactSelectValue.value.split(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t';'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)[2] === products.OptionId.toString();\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst colorBtnValue = {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: `${product.CategoryName};${product.CategoryId};${products.OptionId}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: products.OptionName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionAvailable:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.ReactSelect[optionsIndex]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isOptionAvailable,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemIndex: productIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`product-config__color__item ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.ReactSelect[optionsIndex]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isOptionAvailable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? ''\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'disabled itemNotAvailable select__option--is-disabled'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={products.OptionId}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`product-config__color__item__btn ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisNewTemplate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? this.state.colorSelected &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  btnActive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ' '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: btnActive\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'active'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ' '\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleSelectChange(colorBtnValue)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{products.OptionImage === '' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>No image</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__color__item__btn__img\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc={products.OptionImage}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.Options.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolorSwatchVisibleCount && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`button button--text-only product-config__load-more ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.Description ? '' : 'mb-0'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.handleColorSwatchShowMoreClick(product)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__label\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.ShowColorLabel}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"button__icon__right\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.ShowColorLabel ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Show more colours' ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-solid fa-plus icon-md\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i className=\"fa-solid fa-minus icon-md\"></i>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{product.Description && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__color__description\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t__html: product.Description,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t></div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\r\n\t\t\t\t\t\t\t\t\t{/* Certificates goes here */}\r\n\t\t\t\t\t\t\t\t\t{!isNewTemplate &&\r\n\t\t\t\t\t\t\t\t\t\tproductCertificates &&\r\n\t\t\t\t\t\t\t\t\t\tproductCertificates.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t<ul className=\"product-config__certificate__list\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{productCertificates.map((product) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"product-config__certificate__item\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={product.id}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img src={product.image} alt={product.title} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</>\r\n\t\t);\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n\tconst shoppingBasket = { ...state.ShoppingBasketReducer };\r\n\treturn { shoppingBasket };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n\treturn {\r\n\t\tactions: bindActionCreators(actions, dispatch),\r\n\t};\r\n};\r\n\r\nexport default connect(\r\n\tmapStateToProps,\r\n\tmapDispatchToProps\r\n)(ProductConfiguratorContainer);\r\n","import * as types from \"./actionTypes\";\r\nimport { getLocalStorage, deleteLocalStorage } from '../utils/localStorage';\r\n\r\nexport const loadShoppingBasketCountSuccess = (selectedProductInCookie) => {\r\n  return { \r\n    type: types.LOAD_SHOPPING_PRODUCT_COUNT, \r\n    basketList: selectedProductInCookie.currentBasketList,\r\n    totalProductCount: selectedProductInCookie.totalProductCount\r\n   };\r\n};\r\n\r\nexport const loadShoppingBasketCount = () => (dispatch) => {\r\n  let selectedProductInCookie = getLocalStorage(\"selectedProduct\");\r\n  // In some cases, product name have special characters and it will break IOS browsers so the below condition\r\n  if(selectedProductInCookie && selectedProductInCookie.charAt(selectedProductInCookie.length - 1) === '}') {\r\n    selectedProductInCookie = JSON.parse(selectedProductInCookie);\r\n    dispatch(loadShoppingBasketCountSuccess(selectedProductInCookie));\r\n  } else if(selectedProductInCookie) {\r\n    deleteLocalStorage(\"selectedProduct\");\r\n  }\r\n};\r\n","import React, { PureComponent } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../actions/shoppingBasketActions\";\r\nimport { deleteLocalStorage } from '../utils/localStorage';\r\nimport { ShoppingBasketInterfaceProps } from '../types/ShoppingBasketInterface';\r\n\r\nclass ShoppingBasketContainer extends PureComponent< ShoppingBasketInterfaceProps, {}> {\r\n\r\n  componentDidMount(): void {\r\n    const { actions } = this.props;\r\n\r\n    // Delete cookie once form is submitted and re-directed to suucess page\r\n    if(window.location.href.indexOf(\"quote-request/order-enquiry-success\") > -1 || window.location.href.indexOf(\"quote-request/success\") > -1){\r\n      deleteLocalStorage('selectedProduct');\r\n    }\r\n\r\n    actions.loadShoppingBasketCount()\r\n  }\r\n  \r\n  render(): React.ReactNode {\r\n    const { totalProductCount } = this.props;\r\n      return <span>{totalProductCount}</span>\r\n  }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n  \r\n  const { ShoppingBasketReducer : {productInBasket, totalProductCount} } = state;\r\n  return {  totalProductCount };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n  return {\r\n    actions: bindActionCreators(actions, dispatch),\r\n  };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ShoppingBasketContainer);","import { SebelConfigurationStore } from \"../stores/main\";\r\nimport ComponentToElementMap from \"../utils/ComponentToElementMap\";\r\n// import SampleProvider from \"../providers/SampleProvider\";\r\nimport HeaderSearchProvider from \"../providers/sebel/HeaderSearchProvider\";\r\nimport ProductListsFilterProvider from \"../providers/sebel/ProductListsFilterProvider\";\r\nimport OurPeopleProvider from \"../providers/sebel/OurPeopleProvider\";\r\nimport SiteSearchProvider from \"../providers/sebel/SiteSearchProvider\";\r\nimport ArticleListingProvider from \"../providers/sebel/ArticleListingProvider\";\r\nimport QuoteProductsListProvider from \"../providers/sebel/QuoteProductsListProvider\";\r\nimport ProductListsProvider from \"../providers/sebel/ProductListsProvider\";\r\nimport ProductConfiguratorProvider from \"../providers/sebel/ProductConfiguratorProvider\";\r\nimport ShoppingBasketProvider from \"../providers/sebel/ShoppingBasketProvider\";\r\n\r\nconst map = [\r\n  // { nodeSelector: \".js-mw-sample\", component: SampleProvider },\r\n  { nodeSelector: \".js-sebel-header-search\", component: HeaderSearchProvider },\r\n  { nodeSelector: \".js-sebel-product-subcategory\", component: ProductListsFilterProvider },\r\n  { nodeSelector: \".js-sebel-our-people\", component: OurPeopleProvider },\r\n  { nodeSelector: \".js-sebel-search-results\", component: SiteSearchProvider },\r\n  { nodeSelector: \".js-sebel-articles\", component: ArticleListingProvider },\r\n  { nodeSelector: \".js-sebel-quote-products\", component: QuoteProductsListProvider },\r\n  { nodeSelector: \".js-sebel-products\", component: ProductListsProvider },\r\n  { nodeSelector: \".js-sebel-product-configurator\", component: ProductConfiguratorProvider },\r\n  { nodeSelector: \".js-sebel-shopping-basket\", component: ShoppingBasketProvider }\r\n];\r\n\r\n// export const store = configurationStore();\r\nexport const store = SebelConfigurationStore();\r\n\r\nnew ComponentToElementMap(map);\r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport HeaderSearchContainer from '../../containers/HeaderSearchContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <HeaderSearchContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport ProductListsFilterContainer from '../../containers/ProductListsFilterContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <ProductListsFilterContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport OurPeopleContainer from '../../containers/OurPeopleContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <OurPeopleContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport SiteSearchContainer from '../../containers/SiteSearchContainer';\r\n\r\nexport default (props) => {\r\n\treturn (\r\n\t\t<Provider store={store}>\r\n\t\t\t<SiteSearchContainer />\r\n\t\t</Provider>\r\n\t);\r\n};\r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport ArticleListContainer from '../../containers/ArticleListContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <ArticleListContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport QuoteProductsListContainer from '../../containers/QuoteProductsListContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <QuoteProductsListContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport ProductListsContainer from '../../containers/ProductListsContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <ProductListsContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport ProductConfiguratorContainer from '../../containers/ProductConfiguratorContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <ProductConfiguratorContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { store } from '../../entries/sebel-index';\r\nimport ShoppingBasketContainer from '../../containers/ShoppingBasketContainer';\r\n\r\nexport default (props) => {\r\n  return (\r\n    <Provider store={store}>\r\n      <ShoppingBasketContainer />\r\n    </Provider>\r\n  );\r\n} \r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 514;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t514: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkMainModule\"] = self[\"webpackChunkMainModule\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [216], () => (__webpack_require__(8277)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(7021)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","UPDATE_SHOPPING_PRODUCT_COUNT","LOAD_SHOPPING_PRODUCT_COUNT","REMOVE_ALL_PRODUCT_IN_COOKIE","UPDATE_FAVOURITE","initialState","loading","productInBasket","totalProductCount","combineReducers","SampleReducer","state","action","type","ReseroRootReducer","ShoppingBasketReducer","types","basketList","FavouriteReducer","favouriteList","enhancer","composeEnhancer","window","__REDUX_DEVTOOLS_EXTENSION__","middleware","applyMiddleware","thunk","compose","targets","Boolean","length","this","init","ComponentToElementMap","map","target","nodeElements","document","querySelectorAll","nodeSelector","_this","renderLazyComponent","lazyComponent","renderEagerComponent","component","LazyComponent","lazy","forEach","node","options","attributes","ReactDOM","React","Suspense","fallback","JSON","parse","value","Component","props","func","wait","immediate","timeout","_super","createRef","headerSearchTerm","headerSearchList","filteredSearchList","el","Name","toLowerCase","indexOf","push","setState","headerSearch","headerSearchListFiltered","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","currentCultureCodeAlias","headerSearchTermChange","bind","headerSearchTermKeypress","handleOutsideClick","headerSearchBtnClick","handleSearchEnterPress","handleSearchOpen","__extends","HeaderSearchContainer","addEventListener","e","searchAutoCompleteElement","current","event","location","href","key","endpointsData","querySelector","innerHTML","$element","culture","getAttribute","cultureCodeAlias_1","axios","then","headerSearchListsresponse","data","error","className","onClick","placeholder","onChange","onKeyPress","ref","index","Link","PureComponent","ToggleButton","id","text","isChecked","handleCheckboxChange","hasIcon","name","checked","htmlFor","defaultProps","propTypes","PropTypes","Accordion","title","children","useState","isActive","setIsActive","getLocalStorage","localStorage","getItem","setLocalStorage","setItem","deleteLocalStorage","removeItem","viewBox","xmlns","xmlnsXlink","focusable","favRef","useRef","productGUID","setproductGUID","isFavourite","setIsFavourite","dispatch","useDispatch","useSelector","useEffect","includes","$favRef","$","parents","handleUpdateFavourite","NodeID","State","preventDefault","filter","favNodeID","stringify","Icon","insertUrlParam","history","pushState","searchParams","URLSearchParams","search","set","newurl","protocol","host","pathname","toString","path","deleteAllUrlParameter","url","URL","val","paramKey","r","newUrl","removeUrlParameter","getAllURLParameters","params","undefined","Array","isArray","siteName","addOverlay","productList","prevProductListFiltered","productListFiltered","productListFilters","productFilterSelectedByUser","productVisibleCount","filterbyExpress","filterbyType","filterbySector","filterbySpace","filterbyBrand","filterbySize","filterbyCollection","filterbyPortal","filterbyTypeCodeName","filterbySectorCodeName","filterbySpaceCodeName","filterbyBrandCodeName","filterbySizeCodeName","filterbyCollectionCodeName","filterbyPortalCodeName","filterPanelVisible","productSorting","label","filterSortingOptions","productsVisible","showFilterPanel","handleFilterCheckboxChange","handleApplyFilterChange","handleRemoveFilter","handleProductFilterCondition","toggleFilterPanelVisibility","handlePopularityChange","handleFilterExpressChange","handleLoadMoreClick","handleUpdatingQueryParams","handleCodenameConversion","ProductListsFilterContainer","nodeId","currentCulture","productFilters","productSubCategoryFiltersresponse","productSubCategory","productSubCategoryresponse","productSubCategoryFilters","modifiedFilterItems","FilterItems","filterItems","handleQueryParamsOnPageLoad","currentState","queryParams","Object","keys","_i","split","handleCodeNameMappingToGUID","console","log","latestState","__assign","filtertype","codename","tempProductListFilters","FilterTitle","filterItem","CodeName","GUID","currentvalue","newvalue","updatedValue","join","filterTitle","selectedFilter","handleAddFilterState","replace","filteredProducts","filtersSelected","product","RelatedTypes","Brand","RelatedSectors","RelatedSpaces","RelatedSizes","RelatedCollections","RelatedPortals","productItem","selectedValue","selectedValueLength","productFilterFound","Express","temSelectedFilter","panelVisibility","fadeIn","fadeOut","selectedOption","productsDup","BestsellerArray_1","Bestseller","ExpressArray_1","stopPropagation","Select","classNamePrefix","selectedFIlter","Title","productFilter","FilterEnabled","Count","slice","PageRelativeURL","FavouriteContainer","src","Image","alt","ProductName","BrandName","dangerouslySetInnerHTML","__html","AustralianMade","internationalTab","newzealandTab","australiaTab","locationArray","australiaTabActive","internationalTabActive","newzealandTabActive","readBio","readBioArray","peopleData","OurPeopleContainer","people","australiaListResponse","newzealandListResponse","InternationalListResponse","handleLocation","handleBackButton","style","backgroundImage","FullName","Position","LinkedInLink","xlinkHref","TwitterLink","FacebookLink","InstagramLink","Phone","Email","Biography","handleReadBio","addProductOverlay","productsList","allresultsList","allResultsVisibleCount","searchTerm","fetchSearchList","handleProductLoadBtnClick","handleResultsLoadBtnClick","handleSearchTermChange","handleSearchbtnClick","SiteSearchContainer","urlSearchParams","fromEntries","entries","term","query","searchQuery","searchListsresponse","products","allresults","searchItem","ClassName","result","Description","Tags","tag","articleList","articleListFiltered","articleListFilters","articleFilterSelectedByUser","filterbyTag","filterbyTagCodeName","articleVisibleCount","articleSorting","ArticleListContainer","articleFilters","articleFiltersresponse","articles","articleListresponse","element","CreatedOn","Date","tempArticleListFilters","Type","articlesDup","sort","a","b","FilterCodeName","TypeItem","TagList","removeAllProductsInCookieSuccess","updateShoppingBasketCountSuccess","updateProductsInCookie","updatedProducts","updatedBucketListProduct","selectedProductInCookie","currentBasketList","SKUId","reduce","sum","Quantity","removeAllProductsInCookie","productListInCookie","totalPrice","totalPriceWithGST","GST","GSTPrice","handlePriceCalculations","handleProductRemove","handleRequestQuoteClick","handleClearQuoteClick","QuoteProductsListContainer","productsInCookie","productSKUids_1","productInCookie","productVariants","quoteProductsListresponse","bodyFormData","FormData","keyValueString","_a","i","OptionCategoryDisplayName","OptionName","append","method","maxBodyLength","Infinity","logActivities","headers","actions","latestProductsList","productDetail","totalGSTPrice","Price","Number","substring","shoppingBasket","productData","Products","Items","TotalQuantity","TotalPrice","TotalPriceWithGST","stringfyProducts","find","click","scroll","top","left","behavior","productImage","ParentProductImage","ParentProductName","Options","option","OptionId","OptionImage","connect","bindActionCreators","ProductListsContainer","updateShoppingBasketCount","savedProductsInCookie","savedProductsArray_1","productFoundInCookie_1","currentProduct","savedItem","savedIndex","handleModalVisibility","handleModalClose","modifier","ProductConfigImageInstance","_this_1","productCertificates","$productCertificateElements","p","tippy","content","productQuantity","selectedProduct","productName","productIntro","sizeGuideLink","sizeGuideModal","parentImage","productGallery","productVariantsCopy","parentProductImage","toolTipElements","productConfigVisible","colorSwatchVisibleCount","galleryNav1","galleryNav2","colorSelected","productGalleryActiveIndex","productTags","handleSelectChange","handleProductQuantityChange","handleAddToQuoteClick","handleSizeModalVisibility","handleProductVariantsAvailableState","handleTooltipState","handleResetBtnClick","handleMenuDropdownOpen","handleColorSwatchShowMoreClick","ProductConfiguratorContainer","nodeID","productVariantsAvailableOptions","productVariantsresponse","productVariantsForParentProduct","productsListresponse","getProductGallery","productIndex","ShowColorCount","ShowColorLabel","ReactSelect","ReactSelectValue","CategoryName","CategoryId","isOptionAvailable","itemIndex","handleFindProduct","handleCertificateTooltipState","tippyElements","destroy","currentSelectedOption","totalProductVariantsCount","from","x","findAvailableVariants","productVariantsCount","t","k","selectedVariants","productFound","tp","allCategoryVariantValues","categoryVariant","productCatgeoryList","selectedCategoryVariant","allCategories","isFound","selectedObj","s","splitArray","OptionCategoryName","OptionCategoryId","obj","findIndex","updatedSelectedProduct","updatedproductVariantsCopy","updatedImage","handleProductOptionActiveState","test","userSelectedProductInCookie","updatedSelectedProduct_1","parseInt","visible","v","ShowColorSwatch","productGalleryForParentProduct","productGalleryresponse","gallery","_b","imgList","isHide","Slider","infinite","arrows","asNavFor","slider1","onInit","afterChange","img","download","variableWidth","slider2","slidesToShow","swipeToSlide","focusOnSelect","count","colorName","isNewTemplate","image","loadGallery","maxLength","some","productEl","CategoryDisplayName","optionsIndex","btnActive","colorBtnValue","Modal","isSearchable","isOptionDisabled","onMenuOpen","loadShoppingBasketCountSuccess","loadShoppingBasketCount","charAt","ShoppingBasketContainer","Provider","store","createStore","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","chunkIds","fn","priority","notFulfilled","fulfilled","j","every","splice","n","getter","__esModule","d","getPrototypeOf","mode","ns","create","def","getOwnPropertyNames","definition","o","defineProperty","enumerable","get","g","globalThis","Function","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}