{"version":3,"file":"contactUs.0762b8fcdb5d6ea68677.chunk.js","mappings":"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","sources":["webpack://AlfaLaval/./node_modules/classnames/index.js","webpack://AlfaLaval/./components/Accordion/Accordion.tsx","webpack://AlfaLaval/./components/Accordion/index.ts","webpack://AlfaLaval/./components/Button/Button.tsx","webpack://AlfaLaval/./components/Input/Input.tsx","webpack://AlfaLaval/./components/Select/components/CategoryList.tsx","webpack://AlfaLaval/./components/Select/components/SubCategoriesList.tsx","webpack://AlfaLaval/./components/Select/Select.tsx","webpack://AlfaLaval/./components/Select/Select.hooks.ts","webpack://AlfaLaval/./components/SimpleSelect/SimpleSelect.tsx","webpack://AlfaLaval/./helpers/stringHelpers.ts","webpack://AlfaLaval/./hooks/useOutsideClick.tsx","webpack://AlfaLaval/./pages/ContactUs/ContactUs.service.ts","webpack://AlfaLaval/./pages/ContactUs/components/ContactCard/ContactCard.tsx","webpack://AlfaLaval/./pages/ContactUs/components/ContactUsSideView/ContactUsSideView.tsx","webpack://AlfaLaval/./pages/ContactUs/components/ContactUsOfficeView/ContactUsOfficeView.tsx","webpack://AlfaLaval/./helpers/countries.ts","webpack://AlfaLaval/./pages/ContactUs/components/ContactUsFilter/ContactUsFilter.helpers.ts","webpack://AlfaLaval/./pages/ContactUs/components/ContactUsFilter/ContactUsFilter.tsx","webpack://AlfaLaval/./pages/ContactUs/components/FindOffice/components/ContactCard.tsx","webpack://AlfaLaval/./pages/ContactUs/components/FindOffice/components/SubOfficeList.tsx","webpack://AlfaLaval/./pages/ContactUs/components/FindOffice/FindOffice.tsx","webpack://AlfaLaval/./pages/ContactUs/ContactUs.tsx","webpack://AlfaLaval/./pages/ContactUs/index.ts","webpack://AlfaLaval/./services/endpoints.ts"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { useWinSize } from '@contexts/WinSizeContext';\r\nimport classNames from 'classnames';\r\nimport React, { useState, useEffect } from 'react';\r\nimport './Accordion.scss';\r\n\r\ninterface ContainerProps {\r\n  className?: string;\r\n  children: React.ReactNode;\r\n}\r\n\r\nconst Container = ({ className, children }: ContainerProps) => {\r\n  return <div className={`c-accordion-tabs ${className}`}>{children}</div>;\r\n};\r\n\r\ninterface Tab {\r\n  id: string | number;\r\n  name: string | React.ReactNode;\r\n}\r\n\r\ninterface SectionProps {\r\n  isOpen?: boolean;\r\n  index?: number;\r\n  // used to open first accordion of a specific block on mobile\r\n  accordionBlockSelector?: string;\r\n  onClick?: (tab: Tab) => void;\r\n  children: React.ReactNode;\r\n  tab: Tab;\r\n  className?: string;\r\n  url?: string | null;\r\n  iconUrl?: string;\r\n  hasIcon?: boolean;\r\n  isLight?: boolean;\r\n}\r\n\r\nconst Section = ({\r\n  isOpen,\r\n  index,\r\n  onClick,\r\n  accordionBlockSelector = '#RelatedTabs',\r\n  children,\r\n  tab,\r\n  className,\r\n  url,\r\n  iconUrl,\r\n  isLight,\r\n  hasIcon,\r\n}: SectionProps) => {\r\n  const tabHead = '.c-accordion-tabs-head';\r\n  const tabBody = '.c-accordion-tabs-body';\r\n  const firstAccordionStyle = 'c-accordion-tabs-is-open';\r\n\r\n  const [isOpened, setIsOpened] = useState<boolean>(!!isOpen);\r\n  const { isDesktop } = useWinSize();\r\n  const isMobile = !isDesktop;\r\n\r\n  useEffect(() => {\r\n    openFirstAccordion();\r\n\r\n    if (isDesktop) {\r\n      window.addEventListener('resize', openFirstAccordion);\r\n      return () => {\r\n        window.removeEventListener('resize', openFirstAccordion);\r\n      };\r\n    }\r\n  }, []);\r\n\r\n  const handleClick = (tab: Tab) => {\r\n    const firstAccordionIsOpen =\r\n      index == 0 &&\r\n      document\r\n        .querySelector(`${accordionBlockSelector} ${tabHead}`)\r\n        .classList.contains(firstAccordionStyle);\r\n\r\n    if (firstAccordionIsOpen) {\r\n      closeFirstAccordion();\r\n    } else {\r\n      setIsOpened(!isOpened);\r\n    }\r\n\r\n    if (onClick) onClick(tab);\r\n  };\r\n\r\n  // To open 1st accordion(related tabs) by default for screens < 800 px\r\n  const openFirstAccordion = () => {\r\n    const accordionHead = document.querySelector(`${accordionBlockSelector} ${tabHead}`);\r\n    const accordionBody = document.querySelector(`${accordionBlockSelector} ${tabBody}`);\r\n    if (window.innerWidth < 800 && accordionHead && accordionBody) {\r\n      accordionHead.classList.add(firstAccordionStyle);\r\n      accordionBody.classList.add(firstAccordionStyle);\r\n    }\r\n  };\r\n\r\n  // To close 1st accordion(related tabs) conditionally for screens < 800 px as state is common for all accordions\r\n  const closeFirstAccordion = () => {\r\n    const accordionHead = document.querySelector(`${accordionBlockSelector} ${tabHead}`);\r\n    const accordionBody = document.querySelector(`${accordionBlockSelector} ${tabBody}`);\r\n    if (window.innerWidth < 800 && accordionHead && accordionBody) {\r\n      accordionHead.classList.remove(firstAccordionStyle);\r\n      accordionBody.classList.remove(firstAccordionStyle);\r\n      setIsOpened(false);\r\n    }\r\n  };\r\n\r\n  const itemheading = !(className || isMobile) ? 'c-accordion-tabs-is-open' : '';\r\n\r\n  return (\r\n    <div className='c-accordion-tabs-wrapper'>\r\n      <div\r\n        onClick={() => handleClick(tab)}\r\n        className={classNames(\r\n          `c-accordion-tabs-head ${className}`,\r\n          `c-tabs-${tab.id}`,\r\n          itemheading || '',\r\n          isOpened ? 'c-accordion-tabs-is-open' : '',\r\n          isLight ? 'c-accordion-tabs-head-light' : ''\r\n        )}\r\n      >\r\n        <div className='c-accordion-tabs-head-container is-bound'>\r\n          {hasIcon && (\r\n            <div\r\n              className='c-accordion-tabs-head-title-icon'\r\n              style={{ background: `url(${iconUrl}) no-repeat` }}\r\n            />\r\n          )}\r\n          <h4 className='c-accordion-tabs-head-title'>\r\n            {url !== null ? (\r\n              <a href={url}>\r\n                <span onClick={(event) => event.stopPropagation()}>{tab.name}</span>\r\n              </a>\r\n            ) : (\r\n              tab.name\r\n            )}\r\n          </h4>\r\n          {(!!className || isMobile) && (\r\n            <i className='c-accordion-tabs-chevron-down c-accordion-tabs-head-icon' />\r\n          )}\r\n        </div>\r\n      </div>\r\n      <div\r\n        className={`c-accordion-tabs-body ${itemheading} ${\r\n          isOpened ? 'c-accordion-tabs-is-open' : ''\r\n        }`}\r\n      >\r\n        {children}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport { Container, Section };\r\n","import {Section, Container} from \"./Accordion\";\r\n\r\nexport const Accordion = {Section, Container};\r\n","import { createElement, ReactNode, MouseEvent } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\r\n  text: string;\r\n  className?: string;\r\n  type?: 'button' | 'submit' | 'reset';\r\n  onClick?: (e: MouseEvent<HTMLButtonElement>) => void;\r\n  href?: string;\r\n  size?: 'xs' | 'small' | 'medium' | 'large';\r\n  disabled?: boolean;\r\n  color?: 'grey' | 'default' | 'primary' | 'cta';\r\n  border?: boolean;\r\n  children?: ReactNode;\r\n}\r\n\r\nexport const Button = ({\r\n  text,\r\n  className = '',\r\n  onClick = () => {},\r\n  href,\r\n  size = 'medium',\r\n  disabled = false,\r\n  color = 'default',\r\n  border = false,\r\n  children,\r\n  type,\r\n  ...props\r\n}: ButtonProps) => {\r\n  const tag = href ? 'a' : 'button';\r\n\r\n  return createElement(\r\n    tag,\r\n    {\r\n      onClick,\r\n      className:\r\n        classNames('c-button', {\r\n          'is-xs': size === 'xs',\r\n          'is-small': size === 'small',\r\n          'is-medium': size === 'medium',\r\n          'is-large': size === 'large',\r\n          'is-disabled': !!disabled,\r\n          'is-grey': color === 'grey',\r\n          'is-default': color === 'default',\r\n          'is-primary': color === 'primary',\r\n          'is-cta': color === 'cta',\r\n          'is-border': !!border,\r\n        }) +\r\n        ' ' +\r\n        className,\r\n      href,\r\n      ...(tag === 'a' && { target: '_blank' }),\r\n      type,\r\n      ...props,\r\n    },\r\n    [text, children]\r\n  );\r\n};\r\n","import React, { forwardRef } from 'react';\r\nimport './Input.scss';\r\n\r\ninterface InputProps extends React.HTMLAttributes<HTMLInputElement> {\r\n  type: 'text' | 'email';\r\n  label?: string;\r\n  name: string;\r\n  placeholder?: string;\r\n  required?: boolean;\r\n  value?: string;\r\n  defaultValue?: string;\r\n}\r\n\r\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\r\n  (\r\n    {\r\n      type = 'text',\r\n      label,\r\n      name,\r\n      placeholder,\r\n      required,\r\n      className = '',\r\n      defaultValue = '',\r\n      value,\r\n      ...props\r\n    },\r\n    ref\r\n  ) => {\r\n    return (\r\n      <label className={'c-input ' + className}>\r\n        {label && <span className='c-input-label'>{`${label} ${required ? '*' : ''}`}</span>}\r\n        <input\r\n          ref={ref}\r\n          type={type}\r\n          name={name}\r\n          id={name}\r\n          placeholder={placeholder}\r\n          className='c-input-field'\r\n          defaultValue={defaultValue}\r\n          value={value}\r\n          {...props}\r\n        />\r\n      </label>\r\n    );\r\n  }\r\n);\r\n","import React from 'react';\r\nimport { SelectItem } from '../Select.types';\r\n\r\ninterface CategoryListProps {\r\n  name: string;\r\n  sub: string;\r\n  selectableTitle: boolean;\r\n  onClickSelectableTitle?: () => void;\r\n  onSelect: (item: SelectItem[]) => void;\r\n  defaultTitle: string;\r\n  list: SelectItem[];\r\n}\r\n\r\nexport const CategoryList = ({\r\n  name,\r\n  sub,\r\n  selectableTitle,\r\n  onClickSelectableTitle,\r\n  onSelect,\r\n  defaultTitle,\r\n  list,\r\n}: CategoryListProps) => {\r\n  return (\r\n    <div>\r\n      <li key={-1} onClick={onClickSelectableTitle} className={selectableTitle ? '' : 'inactive'}>\r\n        {defaultTitle}\r\n      </li>\r\n      {...list.map((item, index) => (\r\n        <li key={index} onClick={() => onSelect(item[sub])}>\r\n          <span>{item[name]}</span>\r\n          <i className='icon-angle-right' />\r\n        </li>\r\n      ))}\r\n    </div>\r\n  );\r\n};\r\n","import React from 'react';\r\nimport { SelectItem } from '../Select.types'\r\n\r\ninterface SubCategoriesListProps {\r\n  name: string;\r\n  backLabel?: string;\r\n  onClickBack?: () => void;\r\n  list: SelectItem[];\r\n  onSelect: (item: SelectItem) => void;\r\n}\r\n\r\nexport const SubCategoriesList = ({\r\n  name,\r\n  backLabel,\r\n  onClickBack,\r\n  list,\r\n  onSelect,\r\n}: SubCategoriesListProps) => {\r\n  return (\r\n    <div>\r\n      <li onClick={onClickBack} key={-1}>\r\n        <span>\r\n          <i className='icon-angle-left' />\r\n          {backLabel || 'Back'}\r\n        </span>\r\n      </li>\r\n      {...list.map((item, index) => (\r\n        <li key={index} onClick={() => onSelect(item)}>\r\n          {item[name]}\r\n        </li>\r\n      ))}\r\n    </div>\r\n  );\r\n};\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useOutsideClick } from '@hooks/useOutsideClick';\r\nimport { CategoryList } from './components/CategoryList';\r\nimport { SubCategoriesList } from './components/SubCategoriesList';\r\nimport { useReset } from './Select.hooks';\r\nimport { getComputerName } from '@helpers/stringHelpers';\r\nimport { SelectItem } from './Select.types';\r\nimport './Select.scss';\r\n\r\ninterface List {\r\n  [key: string]: Array<SelectItem> | string;\r\n  Id: string;\r\n  Name: string;\r\n}\r\n\r\ninterface SelectProps {\r\n  name: string;\r\n  sub: string;\r\n  resetTime?: number | null;\r\n  selectFunction: (item: SelectItem) => void;\r\n  defaultTitle: string;\r\n  selectableTitle?: boolean;\r\n  title: string;\r\n  list: List[];\r\n  label?: string;\r\n  backLabel?: string;\r\n  required?: boolean;\r\n}\r\n\r\nexport const Select = ({\r\n  name,\r\n  sub,\r\n  resetTime,\r\n  selectFunction,\r\n  defaultTitle,\r\n  selectableTitle,\r\n  required = false,\r\n  title,\r\n  list,\r\n  label = '',\r\n  backLabel,\r\n}: SelectProps) => {\r\n  const [isShowing, setIsShowing] = useState<boolean>(false);\r\n  const [selectedCategory, setSelectedCategory] = useState<SelectItem[]>(null);\r\n  const [selectedCategoryItem, setSelectedCategoryItem] = useState<SelectItem>(null);\r\n\r\n  const doReset = () => {\r\n    setIsShowing(false);\r\n    setSelectedCategory(null);\r\n    setSelectedCategoryItem(null);\r\n  };\r\n\r\n  useReset(resetTime, doReset);\r\n\r\n  useEffect(() => {\r\n    doReset();\r\n  }, [list]);\r\n\r\n  const selectRef = useRef<HTMLDivElement>(null);\r\n  const handleClickOutside = () => {\r\n    setIsShowing(false);\r\n  };\r\n  useOutsideClick(selectRef, handleClickOutside);\r\n\r\n  const handleClick = () => {\r\n    setIsShowing(!isShowing);\r\n  };\r\n\r\n  const selectCategory = (category: SelectItem[]) => {\r\n    setSelectedCategory(category);\r\n  };\r\n\r\n  const selectCategoryItem = (item: SelectItem) => {\r\n    selectFunction(item);\r\n    setSelectedCategoryItem(item);\r\n    setIsShowing(false);\r\n    setSelectedCategory(null);\r\n  };\r\n\r\n  const onClickSelectableTitle = () => {\r\n    if (selectableTitle) {\r\n      selectFunction(null);\r\n      doReset();\r\n    }\r\n  };\r\n\r\n  const back = () => {\r\n    setSelectedCategory(null);\r\n  };\r\n\r\n  return (\r\n    <div ref={selectRef} className='c-select'>\r\n      {label && (\r\n        <label htmlFor={getComputerName(label)}>\r\n          {label}\r\n          {required && ' *'}\r\n        </label>\r\n      )}\r\n\r\n      <div className='c-button'>\r\n        <div className='c-select-wrapper' data-name={getComputerName(label)} onClick={handleClick}>\r\n          <span>{selectedCategoryItem ? selectedCategoryItem[name] : title}</span>\r\n          <i className='icon-angle-down' />\r\n        </div>\r\n        {isShowing && (\r\n          <div className='c-select-list'>\r\n            <ul>\r\n              {!selectedCategory ? (\r\n                <CategoryList\r\n                  name={name}\r\n                  sub={sub}\r\n                  list={list}\r\n                  onSelect={selectCategory}\r\n                  selectableTitle={selectableTitle}\r\n                  onClickSelectableTitle={onClickSelectableTitle}\r\n                  defaultTitle={defaultTitle}\r\n                />\r\n              ) : (\r\n                <SubCategoriesList\r\n                  name={name}\r\n                  list={selectedCategory}\r\n                  backLabel={backLabel}\r\n                  onClickBack={back}\r\n                  onSelect={selectCategoryItem}\r\n                />\r\n              )}\r\n            </ul>\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import { useState, useEffect } from 'react';\r\n\r\nexport const useReset = (resetTime: number | null, doReset: () => void) => {\r\n  const [reset, setReset] = useState<number>(resetTime);\r\n\r\n  useEffect(() => {\r\n    if (resetTime && resetTime !== reset) {\r\n      doReset();\r\n      setReset(resetTime);\r\n    }\r\n  }, [resetTime]);\r\n};\r\n","import React, { useRef, useState, useMemo } from 'react';\r\nimport { useOutsideClick } from '@hooks/useOutsideClick';\r\nimport { getComputerName } from '@helpers/stringHelpers';\r\nimport './SimpleSelect.scss';\r\n\r\nexport interface SimpleSelectProps<T> {\r\n  disabled?: boolean;\r\n  selectFunction: (item: T) => void;\r\n  list: T[];\r\n  name: string;\r\n  label?: string;\r\n  required?: boolean;\r\n  title: string;\r\n}\r\n\r\nexport const SimpleSelect = <T,>({\r\n  disabled = false,\r\n  selectFunction,\r\n  list,\r\n  name,\r\n  label,\r\n  required = false,\r\n  title,\r\n}: SimpleSelectProps<T>) => {\r\n  const [isShowing, setIsShowing] = useState(false);\r\n\r\n  const selectRef = useRef(null);\r\n  const handleClickOutside = () => {\r\n    setIsShowing(false);\r\n  };\r\n  useOutsideClick(selectRef, handleClickOutside);\r\n\r\n  const handleClick = () => {\r\n    if (!disabled) {\r\n      setIsShowing(!isShowing);\r\n    }\r\n  };\r\n\r\n  const onSelect = (item: T) => {\r\n    selectFunction(item);\r\n    setIsShowing(false);\r\n  };\r\n\r\n  const listItems = useMemo(() => {\r\n    return list\r\n      ? list.map((item, key) => (\r\n          <li key={key} onClick={() => onSelect(item)}>\r\n            {name ? item[name] : item}\r\n          </li>\r\n        ))\r\n      : [];\r\n  }, [list, name]);\r\n\r\n  return (\r\n    <div ref={selectRef} className={disabled ? 'c-simple-select disabled' : 'c-simple-select'}>\r\n      {label && (\r\n        <label htmlFor={getComputerName(label)}>\r\n          {label}\r\n          {required && ' *'}\r\n        </label>\r\n      )}\r\n      <div className='c-button' data-name={getComputerName(label)}>\r\n        <div className='c-simple-select-wrapper' onClick={handleClick}>\r\n          <span>{title}</span>\r\n          <i className='icon-angle-down' />\r\n        </div>\r\n        {isShowing && (\r\n          <div className='c-simple-select-list'>\r\n            <ul>{listItems}</ul>\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","// replaces all spaces with -\r\nexport const getComputerName = (str: string): string => {\r\n  if (!str) return '';\r\n  const computerName = str.replace(/\\s+/g, '-').toLowerCase();\r\n  return computerName;\r\n};\r\n\r\nexport const truncateString = (str: string, limit: number): string => {\r\n  if (!str) return '';\r\n  let truncated = str.substring(0, limit);\r\n  truncated += '...';\r\n  return truncated;\r\n};\r\n\r\nexport const normalizeInput = (value: string): string => {\r\n  return value.toLowerCase().trim();\r\n};\r\n\r\nexport const interpolateString = (str: string, ...args: string[]): string => {\r\n  let interpolatedString = str;\r\n  args.forEach((arg, index) => {\r\n    interpolatedString = interpolatedString.replace(`{${index}}`, arg);\r\n  });\r\n  return interpolatedString;\r\n};\r\n","import { useEffect } from \"react\";\r\n\r\nexport const useOutsideClick = (\r\n  ref: React.RefObject<any>,\r\n  handler: Function\r\n) => {\r\n  return useEffect(() => {\r\n    const handleClick = (e: any) => {\r\n      if (ref.current && !ref.current.contains(e.target)) {\r\n        handler(e);\r\n      }\r\n    };\r\n\r\n    document.addEventListener(\"mousedown\", handleClick);\r\n    document.addEventListener(\"touchstart\", handleClick);\r\n\r\n    return () => {\r\n      document.removeEventListener(\"mousedown\", handleClick);\r\n      document.removeEventListener(\"touchstart\", handleClick);\r\n    };\r\n  }, [ref, handler]);\r\n};\r\n","import { apiSlice } from '@services/apiSlice';\r\nimport { ContactUs as endpoints } from '@services/endpoints';\r\nimport { FindContactData, ContactUsForm } from './ContactUs.types';\r\n\r\ninterface FindOfficeQueryParams {\r\n  countryId?: number;\r\n  officeTypeId?: number;\r\n}\r\n\r\ninterface ContactUsFormQueryParams {\r\n  countryId?: number;\r\n  type?: string;\r\n}\r\n\r\nconst contactUsApi = apiSlice.injectEndpoints({\r\n  endpoints: (build) => ({\r\n    fetchFindOfficeData: build.query<FindContactData, FindOfficeQueryParams>({\r\n      query: ({ countryId, officeTypeId }) => ({\r\n        url: endpoints.fetchFindOfficeData,\r\n        params: {\r\n          lang: window.lang,\r\n          countryId: countryId || 2000,\r\n          officeTypeId: officeTypeId || 0,\r\n        },\r\n      }),\r\n    }),\r\n    fetchContactUsForm: build.query<ContactUsForm, ContactUsFormQueryParams | void>({\r\n      query: (params) => ({\r\n        url: endpoints.fetchContactUsForm,\r\n        params: {\r\n          lang: window.lang,\r\n          pageId: window.pageId,\r\n          type: params ? params.type : 'RequestAQuote',\r\n          countryId: params && params.countryId ? params.countryId : 0,\r\n        },\r\n      }),\r\n    }),\r\n  }),\r\n  overrideExisting: false,\r\n});\r\n\r\nexport const { useFetchContactUsFormQuery, useLazyFetchFindOfficeDataQuery } = contactUsApi;\r\n","import React from 'react';\r\nimport { Button } from '@components/Button';\r\nimport dataLayer from '@helpers/dataLayer';\r\nimport './ContactCard.scss';\r\n\r\nexport interface ContactCardProps {\r\n  title: string;\r\n  description: string;\r\n  buttonText: string;\r\n  typeLink: string;\r\n  enqType: string;\r\n}\r\n\r\nexport const ContactCard = ({\r\n  title,\r\n  enqType,\r\n  description,\r\n  buttonText,\r\n  typeLink,\r\n}: ContactCardProps) => {\r\n  const loadForm = () => {\r\n    dataLayer.push('contact_button', {\r\n      contact_type: enqType,\r\n    });\r\n\r\n    const url = new URL(window.location.toString());\r\n    const newUrl = url.origin + typeLink;\r\n    // quoteOriginPageID is used as parent page id in contact-us/enquiry type form\r\n    localStorage.setItem('quoteOriginPageID', window.pageId);\r\n    localStorage.setItem('quoteOriginPageUrl', window.location.href);\r\n    localStorage.setItem('backButtonUrl', window.location.href);\r\n    window.history.pushState({}, null, newUrl);\r\n    window.history.go();\r\n  };\r\n  return (\r\n    <div className='c-contact-type-card-container c-contact-type-card'>\r\n      <div className='c-contact-type-card-alignmnt'>\r\n        <h3>\r\n          <span className='c-contact-right-arrow'>\r\n            <i className='icon-arrow-right' onClick={loadForm}></i>\r\n          </span>\r\n          {title}\r\n        </h3>\r\n        <p>{description}</p>\r\n      </div>\r\n      <div className='c-contact-type-card-more-btn-new'>\r\n        <Button color='primary' onClick={loadForm} text={buttonText} size='small' />\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import { ContactUsPage, SubOffices } from '@pages/ContactUs/ContactUs.types';\r\nimport React from 'react';\r\nimport './ContactUsSideView.scss';\r\n\r\ninterface ContactUsSideViewProps {\r\n  subOfficeList: SubOffices;\r\n  pageLabels: ContactUsPage;\r\n  onShowFindContactsBtnClick: () => void;\r\n  showOffices: boolean;\r\n}\r\n\r\nexport const ContactSideView = ({\r\n  subOfficeList,\r\n  pageLabels,\r\n  onShowFindContactsBtnClick,\r\n  showOffices,\r\n}: ContactUsSideViewProps) => {\r\n  return (\r\n    <div className='c-card-margin'>\r\n      {showOffices && Object.entries(subOfficeList).map(([key, value]) => {\r\n        const officeType = key ? key.split('|') : '';\r\n        if (officeType[1] == 'Main office' && value && Array.isArray(value)) {\r\n          return (\r\n            <div key={key} className='c-contact-main-office-section'>\r\n              <div className='c-contact-heading-font'>\r\n                <p>{officeType ? officeType[0] : ''}</p>\r\n                {value.length <= 1 && <p>{value[0].OfficeName}</p>}\r\n              </div>\r\n              {value.length > 0 && (\r\n                <div className='c-contact-main-office'>\r\n                  {value.map((e, index) => {\r\n                    if (e) {\r\n                      return (\r\n                        <div className='c-contact-main-office-list' key={index}>\r\n                          {value.length > 1 && (\r\n                            <>\r\n                              <p>{e.OfficeName}</p>\r\n                            </>\r\n                          )}\r\n                          <div className='labels-font' key={index.toString()}>\r\n                            <p>{e.Address1}</p>\r\n                            <p>{e.Address2}</p>\r\n                            <p>{e.Address3}</p>\r\n                            {e.Postal && <p>{e.Postal}</p>}\r\n                            {e.City && <p>{e.City}</p>}\r\n                            {e.State && <p>{e.State}</p>}\r\n                            {e.PhoneNumber && e.PhoneNumber.trim() !== '' && (\r\n                              <p>\r\n                                {e.PhoneLabel && <span>{e.PhoneLabel}: </span>}\r\n                                <a href={'tel:' + e.PhoneNumber}>{e.PhoneNumber}</a>\r\n                              </p>\r\n                            )}\r\n                            {e.Fax && e.Fax != '' && (\r\n                              <p>\r\n                                {e.FaxLabel}: {e.Fax}\r\n                              </p>\r\n                            )}\r\n                            {e.EmailAddress && e.EmailAddress.trim() !== '' && (\r\n                              <p>\r\n                                {e.EmailLabel && <span>{e.EmailLabel}: </span>}\r\n                                <a href={'mailto:' + e.EmailAddress}>{e.EmailAddress}</a>\r\n                              </p>\r\n                            )}\r\n                          </div>\r\n                          <br />\r\n                        </div>\r\n                      );\r\n                    }\r\n                    return null;\r\n                  })}\r\n                </div>\r\n              )}\r\n            </div>\r\n          );\r\n        }\r\n      })}\r\n      <a className='c-contact-color-labels' onClick={onShowFindContactsBtnClick}>\r\n        {pageLabels.FindYourContactsLinkText}\r\n      </a>\r\n      <br />\r\n      <h4 className='partner-label'>{pageLabels.PartnersLabel}</h4>\r\n      <p className='partner-description'>{pageLabels.PartnerDescription}</p>\r\n      <br />\r\n      <a href={pageLabels.PartnerLink} target='_blank' rel='noreferrer'>\r\n        <span className='c-contact-color-labels'>{pageLabels.FindYourPartnerLinkText}</span>\r\n      </a>\r\n    </div>\r\n  );\r\n};\r\n","import { ContactUsPage, SubOffices } from '@pages/ContactUs/ContactUs.types';\r\nimport React from 'react';\r\nimport '../ContactUsSideView/ContactUsSideView.scss';\r\n\r\ninterface ContactOfficeViewProps {\r\n  subOfficeList: SubOffices;\r\n  pageLabels: ContactUsPage;\r\n  onShowFindContactsBtnClick: () => void;\r\n}\r\n\r\nexport const ContactOfficeView = ({\r\n  subOfficeList,\r\n  pageLabels,\r\n  onShowFindContactsBtnClick,\r\n}: ContactOfficeViewProps) => {\r\n  return (\r\n    <>\r\n      {Object.entries(subOfficeList)?.map(([key, value]) => {\r\n        const officeType = key ? key.split('|') : '';\r\n        if (officeType[1]?.trim() == 'Main office' && value && Array.isArray(value)) {\r\n          return (\r\n            <div key={key} className='c-contact-main-office-section'>\r\n              <p className='c-contact-main-office-section-title'>{officeType ? officeType[0] : ''}</p>\r\n              {value.length > 0 && (\r\n                <div className='c-contact-main-office'>\r\n                  {value.map((e, index) => {\r\n                    if (e) {\r\n                      return (\r\n                        <div className='c-contact-main-office-list' key={index}>\r\n                          <div className='c-contact-heading-font'>\r\n                            <p>{e.OfficeName}</p>\r\n                          </div>\r\n                          <div className='labels-font' key={index.toString()}>\r\n                            <p>{e.Address1}</p>\r\n                            <p>{e.Address2}</p>\r\n                            <p>{e.Address3}</p>\r\n                            {e.Postal && <p>{e.Postal}</p>}\r\n                            {e.City && <p>{e.City}</p>}\r\n                            {e.State && <p>{e.State}</p>}\r\n                            {e.PhoneNumber && e.PhoneNumber.trim() !== '' && (\r\n                              <p>\r\n                                {e.PhoneLabel && <span>{e.PhoneLabel}: </span>}\r\n                                <a href={'tel:' + e.PhoneNumber}>{e.PhoneNumber}</a>\r\n                              </p>\r\n                            )}\r\n                            {e.Fax && e.Fax != '' && (\r\n                              <p>\r\n                                {e.FaxLabel}: {e.Fax}\r\n                              </p>\r\n                            )}\r\n                            {e.EmailAddress && e.EmailAddress.trim() !== '' && (\r\n                              <p>\r\n                                {e.EmailLabel && <span>{e.EmailLabel}: </span>}\r\n                                <a href={'mailto:' + e.EmailAddress}>{e.EmailAddress}</a>\r\n                              </p>\r\n                            )}\r\n                          </div>\r\n                        </div>\r\n                      );\r\n                    }\r\n                    return null;\r\n                  })}\r\n                </div>\r\n              )}\r\n            </div>\r\n          );\r\n        }\r\n      })}\r\n      <div className=\"c-contact-info-wrapper\">\r\n        <a className='c-contact-color-labels' onClick={onShowFindContactsBtnClick}>\r\n          {pageLabels.FindYourContactsLinkText}\r\n        </a>\r\n        <br />\r\n        <h4 className='partner-label'>{pageLabels.PartnersLabel}</h4>\r\n        <p className='partner-description'>{pageLabels.PartnerDescription}</p>\r\n        <br />\r\n        <a href={pageLabels.PartnerLink} target='_blank' rel='noreferrer'>\r\n          <span className='c-contact-color-labels'>{pageLabels.FindYourPartnerLinkText}</span>\r\n        </a>\r\n      </div>\r\n    </>\r\n  );\r\n};\r\n","interface CountryObj {\r\n  Id: string;\r\n  Name: string;\r\n}\r\n\r\ninterface Region extends CountryObj {\r\n  Countries: CountryObj[];\r\n}\r\n\r\nexport const findCountryNameById = (countryId: string, regions: Region[], defaultValue: string) => {\r\n  let countryName = \"\";\r\n  regions?.forEach((region: Region) => {\r\n    region.Countries?.forEach((country: CountryObj) => {\r\n      if (country?.Id == countryId) {\r\n        countryName = country.Name;\r\n      }\r\n    });\r\n  });\r\n\r\n  return countryName != \"\" ? countryName : defaultValue;\r\n};\r\n","import dataLayer from '@helpers/dataLayer';\r\nimport { CountryItem, SublistItem } from '@type/common';\r\n\r\nexport const setURLfromFilters = (f: {\r\n  country?: string;\r\n  countryId: string;\r\n  officeType?: string;\r\n  officeTypeId: string;\r\n  zipcode: string;\r\n  isFilter: boolean;\r\n  countryName: string;\r\n  officeName: string;\r\n}) => {\r\n  const url: any = new URL(window.location.toString());\r\n  url.searchParams.set('countryId', f.country || f.countryId);\r\n  url.searchParams.set('officeTypeId', f.officeType || f.officeTypeId);\r\n  url.searchParams.set('zipcode', f.zipcode);\r\n  url.searchParams.set('isFilter', f.isFilter);\r\n\r\n  dataLayer.push('find_contact_search', {\r\n    find_contact_country: f.countryName,\r\n    find_contact_type: f.officeName,\r\n  });\r\n\r\n  window.location = url;\r\n};\r\n\r\nexport const getFiltersFromURL = () => {\r\n  const url = new URL(window.location.toString());\r\n  let zipcode = url.searchParams.get('zipcode');\r\n  if (zipcode == null || zipcode == 'null') zipcode = '';\r\n  return {\r\n    countryId: getCountryIdFromUrl(url),\r\n    officeTypeId: getOfficeIdFromUrl(url),\r\n    zipcode,\r\n    isFilter: url.searchParams.get('isFilter'),\r\n  };\r\n};\r\n\r\nexport const getItemFromSubList = (id: string, list: CountryItem[], subListName: string) => {\r\n  let returnItem = null;\r\n\r\n  list?.forEach((item) => {\r\n    item[subListName]?.forEach((subListItem) => {\r\n      if (parseInt(subListItem?.Id) === parseInt(id)) returnItem = subListItem;\r\n    });\r\n  });\r\n\r\n  return returnItem;\r\n};\r\n\r\nexport const getItemFromList = (id: string, list: SublistItem[]) => {\r\n  let returnItem = null;\r\n\r\n  list.forEach((item) => {\r\n    if (parseInt(item.Id) === parseInt(id)) returnItem = item;\r\n  });\r\n  return returnItem;\r\n};\r\n\r\nconst getCountryIdFromUrl = (url: URL) => {\r\n  const countryId = url.searchParams.get('countryId');\r\n  return countryId && countryId != ''\r\n    ? countryId == '2000'\r\n      ? '2000'\r\n      : countryId\r\n    : window.countryId;\r\n};\r\n\r\nconst getOfficeIdFromUrl = (url: URL) => {\r\n  const officeTypeId = url.searchParams.get('officeTypeId');\r\n  return officeTypeId || '0';\r\n};\r\n\r\nexport const findOfficeNameById = (\r\n  officeTypeId: string,\r\n  offices = [] as { Id: string; Name: string }[],\r\n  defaultValue: string,\r\n  select: string\r\n): string => {\r\n  let officeName = '';\r\n  offices.forEach((office) => {\r\n    if (office.Id == officeTypeId) {\r\n      officeName = office.Name;\r\n    }\r\n  });\r\n  return officeName != '' ? officeName : officeTypeId == '-1' ? select : defaultValue;\r\n};\r\n","import React, { useState, useEffect, MouseEvent, ChangeEvent } from 'react';\r\nimport { findCountryNameById } from '@helpers/countries';\r\nimport { Select } from '@components/Select';\r\nimport { SimpleSelect } from '@components/SimpleSelect';\r\nimport {\r\n  getItemFromList,\r\n  getFiltersFromURL,\r\n  getItemFromSubList,\r\n  setURLfromFilters,\r\n  findOfficeNameById,\r\n} from './ContactUsFilter.helpers';\r\nimport './ContactUsFilter.scss';\r\nimport { Button } from '@components/Button';\r\nimport {\r\n  useFetchContactUsFormQuery,\r\n  useLazyFetchFindOfficeDataQuery,\r\n} from '@pages/ContactUs/ContactUs.service';\r\nimport { CountryItem, SublistItem } from '@type/common';\r\nimport { Input } from '@components/Input';\r\n\r\nconst ContactUsFilter = () => {\r\n  const initialFilters = getFiltersFromURL();\r\n  const [filters, setFilters] = useState({\r\n    countryId: initialFilters.countryId || window.countryId,\r\n    officeTypeId: initialFilters.officeTypeId || '0',\r\n    zipcode: initialFilters.zipcode || '',\r\n    isFilter: false,\r\n  });\r\n\r\n  const { data: contactUsForm } = useFetchContactUsFormQuery();\r\n  const [fetchFindOfficeData, { data: findOfficeData }] = useLazyFetchFindOfficeDataQuery();\r\n  const [selectedOffice, setSelectedOffice] = useState<SublistItem>(null);\r\n  const [selectedCountry, setSelectedCountry] = useState<CountryItem>(null);\r\n\r\n  const i18n = contactUsForm?.I18;\r\n\r\n  useEffect(() => {\r\n    fetchFindOfficeData({\r\n      countryId: +filters.countryId,\r\n      officeTypeId: +filters.officeTypeId,\r\n    }).then(({ data: findOfficeData }) => {\r\n      setSelectedCountry(\r\n        getItemFromSubList(filters.countryId, findOfficeData.Regions, 'Countries')\r\n      );\r\n      setSelectedOffice(\r\n        getItemFromList(filters.officeTypeId.toString(), findOfficeData.Officetype)\r\n      );\r\n    });\r\n  }, []);\r\n\r\n  const selectOffice = (officeType: SublistItem) => {\r\n    const selectedOffId = officeType?.Id ?? 0;\r\n    setSelectedOffice(officeType);\r\n    setFilters({\r\n      ...filters,\r\n      officeTypeId: selectedOffId.toString(),\r\n    });\r\n\r\n    fetchFindOfficeData({\r\n      countryId: +filters.countryId,\r\n      officeTypeId: +selectedOffId,\r\n    });\r\n  };\r\n\r\n  const selectZipcode = (code: { Name: string }) => {\r\n    setFilters({ ...filters, zipcode: code.Name });\r\n  };\r\n\r\n  const selectCountry = (country) => {\r\n    const countryId = country ? country.Id : window.countryId;\r\n    setSelectedCountry(country);\r\n    setFilters({ ...filters, countryId, zipcode: '' });\r\n\r\n    fetchFindOfficeData({\r\n      countryId: +countryId,\r\n      officeTypeId: +filters.officeTypeId,\r\n    });\r\n  };\r\n\r\n  const doSetUrlFromFilters = (e: MouseEvent<HTMLButtonElement>) => {\r\n    e.preventDefault();\r\n\r\n    const selectedCountryName =\r\n      selectedCountry?.Name || (filters.countryId === '0' && i18n.International) || '';\r\n    const selectedOfficeName =\r\n      selectedOffice?.Name || (filters.officeTypeId === '0' && i18n.All) || '';\r\n\r\n    const updatedFilters = {\r\n      ...filters,\r\n      isFilter: true,\r\n      zipcode: filters.zipcode === '' ? null : filters.zipcode,\r\n    };\r\n\r\n    setFilters(updatedFilters);\r\n    setURLfromFilters({\r\n      ...updatedFilters,\r\n      countryName: selectedCountryName,\r\n      officeName: selectedOfficeName,\r\n    });\r\n    localStorage.setItem('OffBtnClicked', 'true');\r\n  };\r\n\r\n  // TODO: make select as lang specific\r\n  return i18n && findOfficeData ? (\r\n    <div className='c-contact-block'>\r\n      <Select\r\n        label={i18n.ChooseCountry}\r\n        title={findCountryNameById(filters.countryId, findOfficeData.Regions, i18n.International)}\r\n        defaultTitle={i18n.International}\r\n        selectableTitle={true}\r\n        list={findOfficeData.Regions}\r\n        name='Name'\r\n        sub='Countries'\r\n        selectFunction={selectCountry}\r\n        backLabel={i18n.Back}\r\n      />\r\n\r\n      <SimpleSelect\r\n        label={i18n.TypeOfContact}\r\n        title={findOfficeNameById(\r\n          filters.officeTypeId,\r\n          findOfficeData.Officetype,\r\n          i18n.All,\r\n          'Select'\r\n        )}\r\n        list={[\r\n          {\r\n            Id: '0',\r\n            Name: i18n.All,\r\n          },\r\n          ...findOfficeData.Officetype,\r\n        ]}\r\n        name='Name'\r\n        selectFunction={selectOffice}\r\n      />\r\n\r\n      {/* select zip code from pre-defined values if there are such values\r\n          type manually if there are no such values */}\r\n      {findOfficeData.ZipCodes && findOfficeData.ZipCodes.length > 0 ? (\r\n        <SimpleSelect\r\n          label={i18n.Zipcode}\r\n          title={filters.zipcode}\r\n          list={findOfficeData.ZipCodes}\r\n          name='Name'\r\n          selectFunction={selectZipcode}\r\n        />\r\n      ) : (\r\n        <Input\r\n          label={i18n.Zipcode}\r\n          type='text'\r\n          name='zipcode'\r\n          defaultValue={filters.zipcode}\r\n          onChange={(e: ChangeEvent<HTMLInputElement>) =>\r\n            setFilters({ ...filters, zipcode: e.target.value })\r\n          }\r\n        />\r\n      )}\r\n\r\n      <Button\r\n        onClick={doSetUrlFromFilters}\r\n        color='primary'\r\n        size='small'\r\n        text={i18n.FindYourContact}\r\n      />\r\n    </div>\r\n  ) : null;\r\n};\r\n\r\nexport default ContactUsFilter;\r\n","import React from 'react';\r\n\r\nconst ContactCardRecord = ({ title, value }: { title: string; value: string }) => {\r\n  if (!value || value.trim() === '') {\r\n    return null;\r\n  }\r\n\r\n  return (\r\n    <p className='c-contact-card-record'>\r\n      <span className='is-block'>\r\n        {title}: {value}\r\n      </span>\r\n    </p>\r\n  );\r\n};\r\n\r\nexport const ContactCard = ({ office }) => (\r\n  <div className='c-contact-card is-office'>\r\n    <p className='c-contact-card-name'>{office.OfficeName}</p>\r\n    <ContactCardRecord title='Address1' value={office.Address1} />\r\n    <ContactCardRecord title='Address2' value={office.Address2} />\r\n    <ContactCardRecord title='Address3' value={office.Address3} />\r\n    <span className='is-block'>\r\n      {office.Postal} {office.City}\r\n    </span>\r\n    {office.PhoneNumber && office.PhoneNumber.trim() !== '' && (\r\n    <p className='c-contact-card-record phone-p'>   \r\n      <span className='is-block'>Phone: </span>\r\n      <span className='phone-number-span'>\r\n        {office.PhoneNumber.split(',').map((num: string, i: number) =>\r\n          num.trim() !== '' ? (\r\n            <React.Fragment key={`phone-${i}`}>\r\n              <a href={'tel:' + `${num}`}>{num}</a>\r\n              <br />\r\n            </React.Fragment>\r\n          ) : null\r\n        )}\r\n      </span>\r\n    </p>\r\n    )}\r\n    <ContactCardRecord title='Fax' value={office.Fax} />\r\n    {office.EmailAddress && office.EmailAddress.trim() !== '' && (\r\n      <span className='is-block'>\r\n        Email:{' '}\r\n        <a className='word-break' href={'mailto:' + office.EmailAddress}>\r\n          {office.EmailAddress}\r\n        </a>\r\n      </span>\r\n    )}\r\n  </div>\r\n);\r\n","import React from 'react';\r\nimport './SubOfficeList.scss';\r\nimport { ContactUsData } from '../../../ContactUs.types';\r\nimport { useWinSize } from '@contexts/WinSizeContext';\r\nimport { Accordion } from '@components/Accordion';\r\nimport { ContactCard } from './ContactCard';\r\n\r\nexport interface SubOfficeListProps {\r\n  data: ContactUsData;\r\n}\r\n\r\nexport const SubOfficeList = ({ data }: SubOfficeListProps) => {\r\n  if (!data || !data.SubOffices) return null;\r\n\r\n  const { isMobile } = useWinSize();\r\n\r\n  return (\r\n    <section className='c-sub-office-list'>\r\n      {Object.entries(data.SubOffices).map(([key, value = []], index) => {\r\n        // array-like values are the ones with offices\r\n        if (!(value && Array.isArray(value))) return null;\r\n        const officeType = key.split('|');\r\n        const title = officeType[0];\r\n\r\n        if (!isMobile) {\r\n          return (\r\n            <div key={key} className='l-content l-page-center'>\r\n              <div className='l-section l-section-100'>\r\n                <div className='c-l-contact-section'>\r\n                  <h3 className='c-contact-group-title'>{title}</h3>\r\n                </div>\r\n              </div>\r\n              {value.map((office, index) => (\r\n                <div key={index} className='l-section l-section-25'>\r\n                  <ContactCard office={office} />\r\n                </div>\r\n              ))}\r\n            </div>\r\n          );\r\n        }\r\n\r\n        return (\r\n          <Accordion.Container key={key} className='is-related'>\r\n            <Accordion.Section\r\n              index={+key}\r\n              tab={{ id: 1, name: title }}\r\n              url={null}\r\n              isLight\r\n              accordionBlockSelector='.c-sub-office-list'\r\n              // 0 index is $id\r\n              isOpen={index === 1}\r\n            >\r\n              {value.map((office, index) => (\r\n                <div key={index} className='l-section l-section-25'>\r\n                  <ContactCard office={office} />\r\n                </div>\r\n              ))}\r\n            </Accordion.Section>\r\n          </Accordion.Container>\r\n        );\r\n      })}\r\n    </section>\r\n  );\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { ContactUsFilter } from '../ContactUsFilter';\r\nimport { SubOfficeList } from './components';\r\nimport './FindOffice.scss';\r\n\r\nimport { ContactUsData } from '../../ContactUs.types';\r\n\r\ninterface FindOfficeProps {\r\n  data: ContactUsData;\r\n  onBackClick: () => void;\r\n}\r\n\r\nexport const FindOffice = ({ data, onBackClick }: FindOfficeProps) => {\r\n  const isBtnClicked = localStorage.getItem('OffBtnClicked');\r\n\r\n  useEffect(() => {\r\n    const allMatchedElements = document.getElementsByClassName('contact-font');\r\n    if (allMatchedElements.length)\r\n      allMatchedElements[0].scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n  }, []);\r\n\r\n  const goBack = () => {\r\n    const url = window.location.href;\r\n    const newURL = url.split('?');\r\n    if (newURL && isBtnClicked == 'true') {\r\n      localStorage.removeItem('OffBtnClicked');\r\n      window.history.pushState({}, null, newURL[0]);\r\n      window.history.go();\r\n    } else {\r\n      onBackClick();\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div className='c-contact-find-off l-content l-page-center'>\r\n      <div className='l-section l-section-100 c-contact-findoff'>\r\n        <p className='c-contact-find-update' onClick={goBack}>\r\n          <i className='icon-arrow-left'></i>\r\n        </p>\r\n        <h1 className='contact-font'>{data && data.Page && data.Page.FindYourContactsLinkText}</h1>\r\n        <div className='c-contact-filter'>\r\n          <ContactUsFilter />\r\n        </div>\r\n        <SubOfficeList data={data} />\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport classNames from 'classnames';\r\nimport { ContactCard } from './components/ContactCard/ContactCard';\r\nimport { ContactSideView } from './components/ContactUsSideView/ContactUsSideView';\r\nimport { ContactOfficeView } from './components/ContactUsOfficeView/ContactUsOfficeView';\r\nimport { FindOffice } from './components/FindOffice';\r\nimport './ContactUs.scss';\r\n\r\nimport { ContactUsData } from './ContactUs.types';\r\n\r\nconst ContactUs = () => {\r\n  const contactusRef = useRef(null);\r\n  const [data, setData] = useState<ContactUsData>();\r\n  const [showFindOffice, setShowFindOffice] = useState(false);\r\n  const [addresses, setAddresses] = useState(null);\r\n  const [subOfficeListCount, setSubOfficeListCount] = useState(0);\r\n\r\n  useEffect(() => {\r\n    const url = new URL(window.location.toString());\r\n    if (url.searchParams.get('countryId') || url.searchParams.get('isFilter'))\r\n      setShowFindOffice(true);\r\n    // get data from backend\r\n    const init = async () => {\r\n      try {\r\n        const dataset = contactusRef.current?.parentElement?.dataset;\r\n        const data = JSON.parse(dataset.data);\r\n        const addresses = data?.MainOffices ?? data?.SubOffices ?? {};\r\n        const countMainOffices = Object.entries(data?.MainOffices ?? data?.SubOffices ?? {}).reduce(\r\n          (count, [key, value]) => {\r\n            const officeType = key.split('|')[1];\r\n            if (officeType?.trim() === 'Main office' && Array.isArray(value)) {\r\n              return count + value.length;\r\n            }\r\n            return count;\r\n          },\r\n          0\r\n        );\r\n        setSubOfficeListCount(countMainOffices);\r\n        setAddresses(addresses);\r\n        setData(data);\r\n      } catch (e) {\r\n        console.log(e);\r\n      }\r\n    };\r\n    init();\r\n  }, []);\r\n\r\n  return (\r\n    <div className='contactus c-contact-main-top' ref={contactusRef}>\r\n      <div className='l-section l-section-100'>\r\n        <div className='l-content l-page-center'>\r\n          {!showFindOffice ? (\r\n            <div className='c_contact_us_body'>\r\n              <h1 className='c_contact_us_heading'>{data?.Page?.Title}</h1>\r\n              <div className='c_cards_sideview_section c-cards-sideview-top'>\r\n                <div className='c_cards_layout'>\r\n                  {data &&\r\n                    data.EnquiryTypeLinks.map((eType, index) => {\r\n                      return (\r\n                        !eType.HideEnquiry && (\r\n                          <ContactCard\r\n                            key={index}\r\n                            title={eType.EnquiryTitle}\r\n                            description={eType.EnquiryDescription}\r\n                            buttonText={eType.EnquiryButtonText}\r\n                            typeLink={eType.EnquiryTypeLink}\r\n                            enqType={eType.EnquiryTypeName}\r\n                          />\r\n                        )\r\n                      );\r\n                    })}\r\n                </div>\r\n                <div className={classNames('c_side_view', {\r\n                  'no-padding': subOfficeListCount > 2,\r\n                })}>\r\n                  {data && data.Page && (\r\n                    <ContactSideView\r\n                      subOfficeList={addresses}\r\n                      showOffices={subOfficeListCount < 3}\r\n                      onShowFindContactsBtnClick={() => {\r\n                        setShowFindOffice(true);\r\n                      }}\r\n                      pageLabels={data.Page}\r\n                    />\r\n                  )}\r\n                </div>\r\n\r\n              </div>\r\n\r\n              {data && subOfficeListCount > 2 && <div className=\"c_contact_us_offices-view-body\">\r\n                <ContactOfficeView\r\n                  subOfficeList={addresses}\r\n                  onShowFindContactsBtnClick={() => {\r\n                    setShowFindOffice(true);\r\n                  }}\r\n                  pageLabels={data.Page}\r\n                />\r\n              </div>}\r\n            </div>\r\n          ) : (\r\n            <FindOffice\r\n              onBackClick={() => {\r\n                setShowFindOffice(false);\r\n              }}\r\n              data={data}\r\n            />\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ContactUs;\r\n","import ContactUs from './ContactUs';\r\nexport default ContactUs;\r\n","export const Breadcrumb = {\r\n  fetchBreadcrumb: '/webapi/Breadcrumb/Get',\r\n};\r\n\r\nexport const Footer = {\r\n  fetchFooter: '/api/footer',\r\n};\r\n\r\nexport const CountrySelector = {\r\n  fetchCountrySelectList: '/webapi/CountrySelector/Get',\r\n};\r\n\r\nexport const RelatedTabs = {\r\n  fetchRelatedTabs: '/webapi/RelatedTabs/Get',\r\n  relatedTabs: '/webapi/RelatedTabs/GetTabs', // NOT IN USE\r\n};\r\n\r\nexport const Search = {\r\n  doSearch: '/webapi/SearchApi/SearchFor',\r\n  doSearchAutocomplete: '/webapi/SearchApi/GetAutocomplete',\r\n};\r\n\r\nexport const NewsAndStories = {\r\n  fetchNewsAndStoriesData: '/webapi/NewsListingApi/GetNewsListItems',\r\n  fetchNews: '/webapi/NewsListingApi/GetNewsList',\r\n  fetchStories: '/webapi/StoriesList/Get',\r\n};\r\n\r\nexport const Webinars = {\r\n  fetchWebinarBanner: '/webapi/WebinarLandingPage/Get',\r\n  fetchWebinarList: '/webapi/WebinarPage/Get',\r\n};\r\n\r\nexport const Header = {\r\n  fetchHeader: '/webapi/Header/Get', //NOT IN USE\r\n  fetchSubNavigation: '/webapi/SubNavigation/Get',\r\n  fetchMegaMenuNavigation: '/api/mainmenu',\r\n  fetchGeolocation: '/api/Geolocation',\r\n  fetchTopMenu: '/api/TopNavigation/',\r\n  fetchMegaMenuColumn: '/webapi/menuitems/columns',\r\n};\r\n\r\nexport const Stories = {\r\n  fetchStories: '/webapi/StoriesList/Get',\r\n};\r\n\r\nexport const News = {\r\n  fetchNews: '/webapi/NewsListPage/Get',\r\n};\r\n\r\nexport const Vacancies = {\r\n  fetchVacancies: '/webapi/Vacancy/Get', // NOT IN USE\r\n};\r\n\r\nexport const Webshop = {\r\n  fetchWebshop: '/webapi/WebShop/Get', // NOT IN USE\r\n};\r\n\r\nexport const ContactUs = {\r\n  fetchContactUsForm: '/webapi/ContactUsForm/GetForm',\r\n  fetchFindOfficeData: '/webapi/CountriesCategories/Get',\r\n  fetchEnquiryForm: '/webapi/contactus/getenquiryform',\r\n  fetchEnquirySerialLinkData: '/webapi/contactus/GetModalPopUp',\r\n  submitEnquiryForm: '/Quote/ProcessForm',\r\n  fetchEnquiryApplicationList: '/webapi/contactus/GetIndustryApplication',\r\n};\r\n\r\nexport const InvestorRelations = {\r\n  fetchPressReleaseFilterData: '/api/v1/ir/pressrelease',\r\n  fetchInvestorRelationsNews: '/api/v1/ir/news',\r\n  fetchInvestorRelationsPage: '/api/v1/ir/page2',\r\n  fetchInvestorRelationsMenu: '/api/v1/ir/menu2',\r\n  makeSubscription: '//publish.ne.cision.com/Subscription/SubscribeWithCaptcha',\r\n};\r\n\r\nexport const CoolCalc = {\r\n  getCoolCalc: '/webapi/CoolCalc/Get', // NOT IN USE\r\n  shareCoolCalc: '/webapi/CoolCalc/Save',\r\n};\r\n\r\nexport const Hexpert = {\r\n  fetchHexpertPage: '/api/v1/hex/page',\r\n  getAntiForgeryToken: '/api/v1/hex/GetAntiForgery',\r\n  submitHexpertForm: '/EPiServer.Forms/DataSubmit/Submit',\r\n  createHexpertPdf: '/api/v1/hex/CreatePdf',\r\n  getIsMatchingProducts: '/api/v1/hex/IsMatchingProduct',\r\n  getHexpertResult: '/api/v1/hex/GetResult',\r\n  mailResult: '/api/v1/hex/SendMail',\r\n};\r\n\r\nexport const SafetyDatasheet = {\r\n  fetchSafetyDatasheet: '/webapi/SafetyDataSheet/GetSafetyDataSheetResult',\r\n};\r\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","define","window","Accordion","Section","isOpen","index","onClick","accordionBlockSelector","children","tab","className","url","iconUrl","isLight","hasIcon","tabHead","tabBody","firstAccordionStyle","isOpened","setIsOpened","useState","isDesktop","isMobile","useEffect","openFirstAccordion","addEventListener","removeEventListener","accordionHead","document","querySelector","accordionBody","innerWidth","classList","add","closeFirstAccordion","remove","itemheading","contains","handleClick","id","style","background","href","event","stopPropagation","name","Container","Button","text","size","disabled","color","border","type","props","tag","createElement","target","Input","forwardRef","label","placeholder","required","defaultValue","value","ref","CategoryList","sub","selectableTitle","onClickSelectableTitle","onSelect","defaultTitle","list","map","item","SubCategoriesList","backLabel","onClickBack","Select","resetTime","selectFunction","title","isShowing","setIsShowing","selectedCategory","setSelectedCategory","selectedCategoryItem","setSelectedCategoryItem","doReset","reset","setReset","useReset","selectRef","useRef","useOutsideClick","htmlFor","category","SimpleSelect","listItems","useMemo","getComputerName","str","replace","toLowerCase","truncateString","limit","truncated","substring","interpolateString","args","interpolatedString","forEach","handler","e","current","contactUsApi","endpoints","build","fetchFindOfficeData","query","countryId","officeTypeId","params","lang","fetchContactUsForm","pageId","overrideExisting","useFetchContactUsFormQuery","useLazyFetchFindOfficeDataQuery","ContactCard","enqType","description","buttonText","typeLink","loadForm","dataLayer","contact_type","newUrl","URL","location","origin","localStorage","setItem","history","pushState","go","ContactSideView","subOfficeList","pageLabels","onShowFindContactsBtnClick","showOffices","entries","officeType","split","OfficeName","Address1","Address2","Address3","Postal","City","State","PhoneNumber","trim","PhoneLabel","Fax","FaxLabel","EmailAddress","EmailLabel","FindYourContactsLinkText","PartnersLabel","PartnerDescription","PartnerLink","rel","FindYourPartnerLinkText","ContactOfficeView","findCountryNameById","regions","countryName","region","Countries","country","Id","Name","getCountryIdFromUrl","searchParams","get","getOfficeIdFromUrl","findOfficeNameById","offices","select","officeName","office","initialFilters","zipcode","isFilter","getFiltersFromURL","filters","setFilters","data","contactUsForm","findOfficeData","selectedOffice","setSelectedOffice","selectedCountry","setSelectedCountry","i18n","I18","then","subListName","returnItem","subListItem","parseInt","getItemFromSubList","Regions","getItemFromList","Officetype","ChooseCountry","International","Back","TypeOfContact","All","selectedOffId","ZipCodes","Zipcode","code","I","onChange","preventDefault","selectedCountryName","selectedOfficeName","updatedFilters","f","set","find_contact_country","find_contact_type","setURLfromFilters","FindYourContact","ContactCardRecord","num","SubOfficeList","SubOffices","FindOffice","onBackClick","isBtnClicked","getItem","allMatchedElements","getElementsByClassName","scrollIntoView","behavior","block","newURL","removeItem","Page","contactusRef","setData","showFindOffice","setShowFindOffice","addresses","setAddresses","subOfficeListCount","setSubOfficeListCount","async","dataset","parentElement","JSON","parse","MainOffices","countMainOffices","reduce","count","console","log","init","Title","EnquiryTypeLinks","eType","HideEnquiry","EnquiryTitle","EnquiryDescription","EnquiryButtonText","EnquiryTypeLink","EnquiryTypeName","Breadcrumb","fetchBreadcrumb","Footer","fetchFooter","CountrySelector","fetchCountrySelectList","RelatedTabs","fetchRelatedTabs","relatedTabs","Search","doSearch","doSearchAutocomplete","NewsAndStories","fetchNewsAndStoriesData","fetchNews","fetchStories","Webinars","fetchWebinarBanner","fetchWebinarList","Header","fetchHeader","fetchSubNavigation","fetchMegaMenuNavigation","fetchGeolocation","fetchTopMenu","fetchMegaMenuColumn","Stories","News","ContactUs","fetchEnquiryForm","fetchEnquirySerialLinkData","submitEnquiryForm","fetchEnquiryApplicationList","InvestorRelations","fetchPressReleaseFilterData","fetchInvestorRelationsNews","fetchInvestorRelationsPage","fetchInvestorRelationsMenu","makeSubscription","CoolCalc","getCoolCalc","shareCoolCalc","Hexpert","fetchHexpertPage","getAntiForgeryToken","submitHexpertForm","createHexpertPdf","getIsMatchingProducts","getHexpertResult","mailResult","SafetyDatasheet","fetchSafetyDatasheet"],"sourceRoot":""}