{"version":3,"sources":["../webpack/bootstrap","../external \"React\"","../external \"ReactDOM\"","data/pages lazy /^/.//.*$/ groupOptions: {} namespace object","theme/mediaQueries.js","theme/spacings.js","components/ui/Layout/Layout.styles.tsx","components/ui/Layout/Layout.tsx","components/ui/Layout/index.js","theme/colors.js","components/ui/Button/index.tsx","components/ui/Button/Button.tsx","components/common/Carousel/Carousel.styles.js","hooks/useToggle.js","hooks/useMedia.js","hooks/useDebounce.js","context/form.context.js","components/ui/Form/Form.js","theme/typography.js","components/ui/Typography/Typography.js","components/ui/Form/Form.styles.js","components/ui/Form/Field.js","components/ui/Form/TextArea.js","components/ui/Form/Checkbox.js","components/ui/Form/RadioButton.js","components/ui/Form/Select.tsx","components/ui/Form/Button.js","components/ui/Form/Fieldset.js","hooks/useChildClones.js","hooks/useFieldValidation.tsx","hooks/useForceUpdate.js","components/common/PromoBlock/circle-pattern.svg","components/ui/EpiForms/EpiForms.actions.js","context/localization.context.js","components/ui/FormEpi/hooks/useFieldValidation.js","components/ui/FormEpi/context/Form.context.js","components/ui/FormEpi/Form.styles.js","components/ui/FormEpi/fields/Field.js","components/ui/FormEpi/fields/TextArea.js","components/ui/FormEpi/fields/Checkbox.js","components/ui/FormEpi/fields/RadioButton.js","components/ui/FormEpi/fields/Select.js","components/ui/FormEpi/fields/Multiselect.js","components/ui/FormEpi/fields/Button.tsx","components/ui/FormEpi/Labels.tsx","components/ui/FormEpi/fields/Fieldset.js","components/ui/EpiForms/FormButtons.tsx","components/ui/EpiForms/FormStep.tsx","components/ui/FormEpi/hooks/useChildClones.js","components/ui/FormEpi/Form.js","components/ui/FormEpi/FormComponent.js","components/ui/EpiForms/EpiForms.dependencies.js","components/ui/Icon/icons/IconSquare.tsx","components/ui/Icon/icons/IconCheckSquare.tsx","components/ui/Icon/icons/index.ts","components/ui/Icon/icons/IconPlus.tsx","components/ui/Icon/icons/IconMinus.tsx","components/ui/Icon/icons/IconArrow.tsx","components/ui/Icon/icons/IconMenu.tsx","components/ui/Icon/icons/IconSearch.tsx","components/ui/Icon/icons/IconSwitchLink.tsx","components/ui/Icon/icons/IconExternalLink.tsx","components/ui/Icon/icons/IconColumnlink.tsx","components/ui/Icon/icons/IconChevron.tsx","components/ui/Icon/icons/IconChevrons.tsx","components/ui/Icon/icons/IconClear.tsx","components/ui/Icon/icons/IconTwitter.tsx","components/ui/Icon/icons/IconTwitterX.tsx","components/ui/Icon/icons/IconFacebook.tsx","components/ui/Icon/icons/IconLinkedin.tsx","components/ui/Icon/icons/IconYoutube.tsx","components/ui/Icon/icons/IconClose.tsx","components/ui/Icon/icons/IconQuestion.tsx","components/ui/Icon/icons/IconLoader.tsx","components/ui/Icon/icons/IconZoomIn.tsx","components/ui/Icon/icons/IconPrint.tsx","components/ui/Icon/icons/IconMail.tsx","components/ui/Icon/icons/IconSliders.tsx","components/ui/Icon/icons/IconDownload.tsx","components/ui/Icon/icons/IconCopy.tsx","components/ui/Icon/icons/IconCart.tsx","components/ui/Icon/icons/IconCalendarPlus.tsx","components/ui/Icon/icons/IconFile.tsx","components/ui/Icon/icons/IconCamera.tsx","components/ui/Icon/icons/IconTag.tsx","components/ui/Icon/icons/IconHome.tsx","components/ui/Icon/icons/IconBox.tsx","components/ui/Icon/icons/IconTruck.tsx","components/ui/Icon/icons/IconTrash.tsx","components/ui/Icon/icons/IconSave.tsx","components/ui/Icon/icons/IconRedo.tsx","components/ui/Icon/icons/IconCheckCircle.tsx","components/ui/Icon/icons/IconAlertTriangle.tsx","components/ui/Icon/icons/IconCheck.tsx","components/ui/Icon/icons/IconUser.tsx","components/ui/Icon/icons/IconUsers.tsx","components/ui/Icon/icons/IconArchive.tsx","components/ui/Icon/icons/IconMapPin.tsx","components/ui/Icon/icons/IconShoppingCart.tsx","components/ui/Icon/icons/IconSortAscending.tsx","components/ui/Icon/icons/IconSortDescending.tsx","components/ui/Icon/icons/IconEdit.tsx","components/ui/Icon/icons/IconCalendar.tsx","components/ui/Icon/icons/IconLock.tsx","components/ui/Icon/icons/IconFilter.tsx","components/ui/Icon/icons/IconToggleDesktop.tsx","components/ui/Icon/icons/IconToggleMobile.tsx","components/ui/Icon/icons/IconClock.tsx","components/ui/Icon/Icon.tsx","store/api/cartApi.ts","store/modules/configurator.ts","store/modules/cart.ts","store/modules/localization.ts","store/modules/ordermatrix.ts","store/modules/user.ts","store/index.ts","common/helpers.js","components/ui/RichText/RichText.styles.js","components/ui/RichText/index.tsx","components/ui/RichText/RichText.tsx","hooks/useFormRenderer.js","hooks/usePrevious.js","components/common/Carousel/CarouselItem.tsx","components/common/Carousel/index.tsx","components/common/Carousel/Carousel.tsx","components/common/PromoBlock/circle2-pattern.svg","components/common/PromoBlock/PromoBlock.styles.js","components/common/PromoBlock/PromoContent.tsx","components/common/PromoBlock/PromoFullWidthImage.tsx","components/common/PromoBlock/PromoImageOutside.tsx","components/common/PromoBlock/PromoVideoFull.tsx","components/ui/ResponsiveIframe/ResponsiveIframe.tsx","components/ui/ResponsiveIframe/index.ts","components/common/PromoBlock/PromoVideoOutside.tsx","components/ui/Grid/Grid.tsx","components/common/ImageGalleryBlock/ImageGalleryBlock.tsx","components/common/ImageGalleryBlock/ImageGalleryBlockItem.tsx","components/common/ImageGalleryBlock/ImageGalleryBlockModal.tsx","components/common/PromoBlock/PromoBlock.tsx","components/common/PromoBlock/index.tsx","components/common/ColumnBlock/ColumnBlock.tsx","components/common/ColumnBlock/index.ts","components/common/RteBlock/RteBlock.tsx","components/common/RteBlock/index.tsx","components/common/RteWithImageBlock/RteWithImageBlock.tsx","components/common/RteWithImageBlock/index.tsx","components/ui/EpiForms/EpiForms.helpers.js","components/ui/EpiForms/EpiForms.submit.js","components/ui/EpiForms/FormMessage.tsx","components/ui/EpiForms/EpiForms.tsx","components/ui/EpiForms/index.tsx","components/common/PressCalendariumBlock/PressCalendariumBlock.styles.js","components/common/PressCalendariumBlock/PressReleaseItem.js","components/common/PressCalendariumBlock/CalendarItem.js","components/common/PressCalendariumBlock/index.js","components/common/PressCalendariumBlock/PressCalendariumBlock.js","components/framework/ImageBlock/ImageBlock.styles.tsx","components/framework/ImageBlock/ImageBlock.tsx","components/common/NewsBlock/index.tsx","components/common/NewsBlock/NewsBlock.tsx","components/common/IframeBlock/index.ts","components/common/IframeBlock/IframeBlock.tsx","common/toastHelpers.js","components/common/ConfiguratorIframeBlock/index.ts","components/common/ConfiguratorIframeBlock/ConfiguratorIframeBlock.tsx","components/common/AccordionBlock/index.ts","components/common/AccordionBlock/AccordionBlock.tsx","components/common/MediaBlock/index.ts","components/common/MediaBlock/MediaBlock.tsx","components/ui/Text/Text.tsx","components/ui/Text/index.ts","components/common/FloatingBlock/FloatingBlock.tsx","components/common/FloatingBlock/index.ts","components/framework/ContentArea/ContentArea.tsx","components/framework/ContentArea/index.js","components/ui/SectionHeader/SectionHeader.styles.js","components/ui/Button/Button.styles.js","components/framework/CustomExternalScript/CustomIcons/square.svg","components/framework/CustomExternalScript/CustomIcons/check-square.svg","components/framework/CustomExternalScript/CustomIcons/circle.svg","components/framework/CustomExternalScript/CustomIcons/check-circle.svg","components/framework/CustomExternalScript/CustomExternalScript.styles.js","components/framework/CustomExternalScript/index.js","components/framework/CustomExternalScript/CustomExternalScript.js","components/ui/SectionHeader/index.js","components/ui/SectionHeader/SectionHeader.tsx","components/framework/Breadcrumbs/Breadcrumbs.styles.js","components/framework/Breadcrumbs/index.js","components/framework/Breadcrumbs/Breadcrumbs.tsx","pages/ArticlePage/index.js","pages/ArticlePage/ArticlePage.js","pages/StartPage/index.ts","pages/StartPage/StartPage.tsx","pages/CatalogPage/index.js","pages/CatalogPage/CatalogPage.js","pages/ErrorPage404/index.js","pages/ErrorPage404/ErrorPage404.js","components/framework/ImageBlock/index.js","pages/ProductDivisionPage/index.js","pages/ProductDivisionPage/ProductDivisionPage.js","components/ui/FilterField/FilterField.styles.tsx","components/ui/FilterField/FilterField.tsx","components/ui/FilterField/index.js","pages/ProductCategoryPage/ProductCategoryPage.styles.js","api/general.js","api/index.ts","reducers/listFilterReducer.tsx","components/ui/MobileSelect/MobileSelect.styles.js","components/ui/MobileSelect/index.tsx","components/ui/MobileSelect/MobileSelect.tsx","components/ui/FilterBar/index.ts","components/ui/FilterBar/FilterBar.tsx","hooks/usePopState.tsx","components/framework/CategoryList/CategoryList.tsx","components/framework/CategoryList/CategoryListItem.tsx","components/ui/Pager/Pager.styles.js","components/ui/Pager/Pager.js","components/ui/Tooltip/Tooltip.tsx","types/common.ts","components/ui/Pager/index.js","pages/ProductCategoryPage/ProductCategoryPage.js","pages/ProductCategoryPage/index.js","components/framework/MediaGallery/MediaGallery.styles.ts","components/framework/MediaGallery/MediaThumbnail.tsx","components/framework/MediaGallery/MediaView.tsx","components/ui/SimpleModal/utils.tsx","components/ui/SimpleModal/Modal.tsx","components/framework/MediaGallery/MediaModal.tsx","components/framework/MediaGallery/index.ts","components/framework/MediaGallery/MediaGallery.tsx","components/ui/Certificate/ToolTip.tsx","components/ui/Certificate/Certificate.tsx","components/ui/Certificate/index.ts","common/constants.js","components/ui/ProductCounter/index.ts","components/ui/ProductCounter/ProductCounter.tsx","components/framework/ArticleRow/ArticleRow.styles.js","components/framework/ArticleRow/index.tsx","components/framework/ArticleRow/ArticleRow.tsx","components/ui/FilterChip/FilterChip.styles.js","components/ui/FilterChip/index.js","components/ui/FilterChip/FilterChip.js","components/ui/Icon/icons/IconLink.tsx","components/ui/Modal/index.js","components/ui/Modal/Modal.tsx","components/framework/LinkList/LinkList.styles.js","components/framework/LinkList/LinkList.tsx","components/framework/LinkList/index.tsx","components/framework/SpecificationsList/SpecificationsList.styles.js","components/ui/ColorBlocks/ColorBlocks.styles.js","components/ui/ColorBlocks/index.js","components/ui/ColorBlocks/ColorBlocks.js","components/framework/SpecificationsList/SpecificationsList.js","components/framework/ItemRow/ItemRow.styles.js","components/common/ArticleDetail/index.tsx","components/common/ArticleDetail/ArticleDetail.tsx","components/framework/SpecificationsList/index.js","components/ui/Tooltip/Tooltip.styles.ts","components/ui/Tooltip/index.tsx","components/common/ArticleDetailConfiguration/index.ts","components/common/ArticleDetailConfiguration/ArticleDetailConfiguration.tsx","components/framework/FilterFieldSet/FilterFieldSet.styles.js","components/framework/FilterFieldSet/FilterOption.tsx","components/framework/FilterFieldSet/FilterByRegion.tsx","components/framework/FilterFieldSet/FilterByLocationType.tsx","components/framework/FilterFieldSet/FilterFieldSet.tsx","components/framework/FilterFieldSet/index.tsx","pages/ProductDetailPage/ProductDetailPage.styles.js","components/ui/ExpansionPanel/ExpansionPanel.styles.js","components/ui/ExpansionPanel/ExpansionPanel.js","pages/ProductDetailPage/index.tsx","pages/ProductDetailPage/ProductDetailPage.tsx","components/ui/AddNotesModal/index.ts","components/ui/AddNotesModal/AddNotesModal.tsx","components/ui/DatePickerInput/DatePickerInput.tsx","components/ui/DatePickerInput/index.ts","components/framework/CartArticleRow/CartArticleRow.tsx","components/framework/CartArticleRow/index.ts","components/ui/ExpansionPanel/index.js","components/ui/SaveCartModal/SaveCartModal.styles.js","components/ui/SaveCartModal/SaveCartModal.js","components/ui/SaveCartModal/index.js","components/ui/AddGoodsmarkModal/AddGoodsmarkModal.tsx","components/ui/AddGoodsmarkModal/index.ts","components/ui/AlertModal/AlertModal.tsx","components/ui/AlertModal/index.ts","pages/CheckoutPage/CheckoutPage.tsx","pages/CheckoutPage/index.ts","api/quickadd.ts","components/ui/Loader/Loader.tsx","components/ui/Loader/index.tsx","components/ui/AutoComplete/AutoComplete.js","components/ui/AutoComplete/index.js","components/ui/SearchResultSummary/SearchResultSummary.tsx","components/ui/SearchResultSummary/index.ts","components/ui/QuickAddToCart/QuickAddToCart.tsx","components/ui/QuickAddToCart/index.ts","components/ui/QuickImportArticlesModal/QuickImportArticlesModal.tsx","components/ui/QuickImportArticlesModal/index.ts","pages/CartPage/CartPage.tsx","pages/CartPage/index.ts","pages/OrderConfirmationPage/OrderConfirmationPage.tsx","pages/OrderConfirmationPage/index.ts","pages/LoginPage/LoginPage.tsx","api/login.js","pages/LoginPage/index.ts","components/framework/ItemRow/ItemRow.tsx","components/framework/ItemRow/index.tsx","components/framework/LocationRow/LocationRow.styles.js","components/framework/LocationRow/Contacts/Contacts.styles.js","components/framework/LocationRow/Contacts/Contacts.js","components/framework/LocationRow/Milkrun/Milkrun.styles.js","components/framework/LocationRow/Milkrun/Milkrun.js","components/framework/LocationRow/LocationRow.tsx","components/framework/LocationRow/index.tsx","pages/SearchPage/SearchPage.styles.js","pages/SearchPage/SearchPage.js","api/autocomplete.js","pages/SearchPage/index.js","pages/MyPage/MyPage.js","pages/MyPage/index.js","components/ui/Table/table.styles.js","components/ui/Table/table.js","pages/MyProjectsPage/MyProjectsPage.styles.js","pages/MyProjectsPage/MyProjectsPage.js","pages/MyProjectsPage/index.js","pages/MyAccountPage/MyAccountPage.styles.js","api/myaccount.ts","pages/MyAccountPage/MyAccountPage.js","pages/MyAccountPage/index.js","pages/MyAddressesPage/MyAddressesPage.styles.js","pages/MyAddressesPage/MyAddressesPage.js","api/addresses.js","pages/MyAddressesPage/index.js","pages/OrderDetailsPage/OrderDetailsPage.tsx","pages/OrderDetailsPage/index.tsx","pages/QuotationDetailsPage/QuotationDetailsPage.tsx","pages/QuotationDetailsPage/index.tsx","pages/MyNewsDeskItemPage/MyNewsDeskItemPage.styles.js","pages/MyNewsDeskItemPage/MyNewsDeskItemPage.js","pages/MyNewsDeskItemPage/index.js","pages/CisionPressReleaseListPage/CisionPressReleaseListPage.styles.js","pages/MyNewsDeskListPage/MyNewsDeskListPage.tsx","pages/MyNewsDeskListPage/index.tsx","components/ui/OrderHistoryFilter/OrderHistoryFilter.tsx","components/ui/OrderHistoryFilter/index.ts","components/ui/ExportDocuments/ExportDocuments.tsx","components/ui/ExportDocuments/index.ts","pages/OrderHistoryPage/OrderHistoryPage.tsx","api/orderhistory.js","pages/OrderHistoryPage/index.ts","components/ui/QuotationHistoryFilter/QuotationHistoryFilter.tsx","pages/QuotationHistoryPage/QuotationHistoryPage.tsx","api/quotationhistory.js","pages/QuotationHistoryPage/index.ts","pages/SavedCartPage/SavedCartPage.tsx","pages/SavedCartPage/index.ts","pages/MySavedCartsPage/MySavedCartsPage.styles.js","pages/MySavedCartsPage/MySavedCartsPage.js","pages/MySavedCartsPage/index.js","components/framework/NewLocationRow/NewLocationRow.tsx","components/framework/NewLocationRow/index.ts","pages/ContactPage/NewContactPage.tsx","pages/ContactPage/ContactPage.tsx","pages/ContactPage/index.tsx","api/forgotpassword.js","pages/ForgotPasswordPage/ForgotPasswordPage.tsx","pages/ForgotPasswordPage/index.js","pages/ResetPasswordPage/ResetPasswordPage.tsx","pages/ResetPasswordPage/index.ts","components/common/NewsList/NewsList.tsx","components/common/NewsList/NewsList.styles.js","components/common/NewsList/NewsListItem.tsx","pages/CisionPressReleaseListPage/CisionPressReleaseListPage.tsx","pages/CisionPressReleaseListPage/index.tsx","pages/CisionPressReleasePage/CisionPressReleasePage.styles.js","pages/CisionPressReleasePage/CisionPressReleasePage.tsx","pages/CisionPressReleasePage/index.tsx","components/common/ReportBlock/ReportBlock.tsx","components/common/ReportBlock/index.tsx","components/common/ArchiveBlock/ArchiveBlock.tsx","components/common/ArchiveBlock/index.ts","pages/CisionFinancialReportsPage/CisionFinancialReportsPage.styles.js","pages/CisionFinancialReportsPage/CisionFinancialReportsPage.js","pages/CisionFinancialReportsPage/index.js","pages/CisionOwnershipPage/CisionOwnershipPage.styles.js","pages/CisionOwnershipPage/CisionOwnershipPage.tsx","pages/CisionOwnershipPage/index.tsx","pages/CalendariumListPage/CalendariumListPage.tsx","pages/CalendariumListPage/index.tsx","pages/CalendariumPage/CalendariumPage.tsx","pages/CalendariumPage/index.ts","pages/SubscribePage/SubscribePage.styles.js","pages/SubscribePage/SubscribePage.tsx","pages/SubscribePage/index.tsx","pages/CisionStockDiagramPage/CisionStockDiagramPage.styles.js","pages/CisionStockDiagramPage/CisionStockDiagramPage.js","pages/CisionStockDiagramPage/index.js","components/framework/ProductMatrix/ProductMatrix.tsx","components/framework/ProductMatrix/ProductMatrixRow.tsx","pages/OrderMatrixLandingPage/OrderMatrixLandingPage.tsx","pages/OrderMatrixLandingPage/index.ts","pages/DocumentSearchPage/DocumentSearchPage.tsx","pages/DocumentSearchPage/index.tsx","pages/index.js","components/ui/StyledToast/StyledToast.styles.js","components/framework/PageHeader/logotype.svg","components/framework/PageHeader/PageHeader.styles.js","api/quicksearch.ts","components/ui/SearchField/SearchField.styles.js","components/ui/SearchField/SearchField.js","components/ui/SearchField/index.js","components/ui/QuickSearch/QuickSearch.styles.js","components/ui/QuickSearch/QuickSearchResult.js","components/ui/QuickSearch/index.js","components/ui/QuickSearch/QuickSearch.js","api/customersearch.ts","components/ui/CustomerModal/index.ts","components/ui/CustomerModal/CustomerModal.tsx","components/ui/IconSelect/index.tsx","components/ui/IconSelect/IconSelect.tsx","components/framework/MenuOptions/index.ts","components/framework/MenuOptions/MenuOptions.tsx","components/common/MegaMenu/MegaMenuDropdown.tsx","components/common/MegaMenu/MegaMenuItem.tsx","components/common/MegaMenu/MegaMenu.tsx","components/ui/Cart/Cart.styles.js","context/view.context.js","hooks/useWindowSize.tsx","components/ui/Cart/index.ts","components/ui/Cart/Cart.tsx","components/framework/MobileMenu/MobileMenu.styles.js","components/framework/MobileMenu/index.js","components/framework/MobileMenu/MobileMenu.js","components/common/MobileMegaMenu/MobileMegaMenu.styles.js","components/common/MobileMegaMenu/MobileMegaMenuSubSection.js","components/common/MobileMegaMenu/index.js","components/common/MobileMegaMenu/MobileMegaMenu.js","components/ui/MyPagesMenuDropdown/index.ts","components/ui/MyPagesMenuDropdown/MyPagesMenuDropdown.tsx","components/framework/LanguageSelector/LanguageSelector.styles.js","components/framework/LanguageSelector/LanguageSelector.tsx","components/framework/LanguageSelector/index.tsx","components/framework/LanguageSelector/LanguageSelectorOld.styles.js","components/framework/LanguageSelector/LanguageSelectorOld.js","components/framework/AnnouncementBar/index.ts","components/framework/AnnouncementBar/AnnouncementBar.tsx","components/framework/Ticker/Ticker.styles.tsx","components/framework/Ticker/index.ts","components/framework/Ticker/Ticker.tsx","components/framework/PageHeader/index.js","components/framework/PageHeader/PageHeader.js","components/framework/PageFooter/PageFooter.styles.js","components/framework/PageFooter/logotype_white.svg","components/framework/PageFooter/PageFooter.js","components/framework/PageFooter/index.js","layouts/StandardLayout/index.ts","layouts/StandardLayout/StandardLayout.tsx","hooks/useAnchorLinkNavigation.js","components/framework/LogoHeader/logotype.svg","components/framework/LogoHeader/index.js","components/framework/LogoHeader/LogoHeader.js","layouts/LogoOnlyLayout/index.ts","layouts/LogoOnlyLayout/LogoOnlyLayout.tsx","common/polyfills.js","App.js","index.js","common/dataHandler.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","42","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","this","oldJsonpFunction","slice","React","ReactDOM","map","webpackAsyncContext","req","then","code","ids","id","keys","deviceLargeMax","deviceMediumMax","deviceMediumMin","deviceSmallMax","spacing05x","spacing1x","spacing2x","spacing3x","spacing4x","spacing5x","spacing6x","spacing7x","spacing10x","Content","styled","div","Layout","backgroundColor","className","children","childClassName","clsx","white","black","greyLight","grey","greyDark","greyDarker","greyDarkest","greyPlaceholder","blueLight","blue","blueDark","blueDarker","indigo","turquoise","green","orangeLight","orange","orangeDark","errorRed","Button","buttonColor","onClick","url","disabled","tabIndex","noMarginBottom","noMargin","href","toString","ContentButton","SliderWrapper","Slider","SliderDot","props","selected","useToggle","initialState","dropdown","useState","expanded","setExpanded","containerRef","useRef","handleClickOutsideComponent","current","contains","useEffect","addEventListener","removeEventListener","isClient","window","matchMedia","useMedia","query","defaultState","state","setState","mounted","mql","onChange","matches","addListener","removeListener","useDebounce","delay","debouncedValue","setDebouncedValue","handler","FormContext","createContext","useFormValue","useContext","getUniqueKey","Math","random","substr","Form","method","action","enctype","initialValues","onSubmit","sendDataType","defaultSubmit","multiStep","getCurrentStep","formKey","setFormKey","showError","setShowError","visibleFields","setVisibleFields","formRef","values","invalidFields","validationMessages","dispatch","useChildClones","renderChildren","formFieldNameCounter","encType","FormData","preventDefault","index","messages","updatedInvalidFields","formData","stepIndex","currentStepFields","filter","fieldId","some","field","indexOf","reduce","obj","ref","noValidate","autoSubmit","checked","valueIsArray","Array","isArray","newValue","item","defaultProps","fontFamily","fontWeightLight","fontWeightNormal","fontWeightMedium","fontWeightSemiBold","fontWeightBold","paragraph","desktop","large","fontSize","lineHeight","default","small","mobile","paragraphCss","css","size","H1Css","H2Css","H3Css","H4Css","H5Css","H6Css","H2","h1","h2","H3","h3","H4","h4","H5","h5","Paragraph","h6","fieldCss","touched","Input","input","SelectField","select","SelectPlaceholderOption","option","DefaultButton","span","displayBlock","label","button","colors","darken","StyledTextArea","textarea","Field","placeholder","description","onFieldChange","defaultValue","resetForm","setFocus","validationMessage","patternMessage","validate","onBlur","helpText","describedby","required","isValid","maxLength","allProps","setValue","valid","setValid","setTouched","fieldRef","useFieldValidation","validateField","showFieldError","hideFieldError","validatedField","fieldIsValid","includes","focus","title","aria-invalid","aria-describedby","TextArea","readOnly","translations","Checkbox","single","shouldBeChecked","setChecked","RadioButton","defaultChecked","Select","options","multiple","selectedValue","handleChange","selectedOption","selectedIndex","text","formattedOptions","formatMultiselectOptions","defaultValues","opt","classNamePrefix","isMulti","noOptionsMessage","loadingMessage","hidden","propsToTransfer","toLowerCase","Fieldset","errorRef","isInvalid","visibleLabel","partOfVisibleFields","fieldName","errorClassname","aria-live","renderedChildren","Children","child","isValidElement","element","isValidFormElement","useFormRef","cloneElement","fieldProps","pattern","min","max","rangeMessage","fieldsetHasOneCheckedInput","allInputs","querySelectorAll","hasOneValidInput","forEach","fieldIsNotValid","checkValidity","requiredFieldIsNotFilledIn","fieldDoesNotMatchPattern","match","singleInputIsNotChecked","fieldIsNotWithinRange","fieldType","querySelector","invalidLabel","fieldNode","classList","add","textContent","remove","_desc","_g","checkOperator","operator","dependencyField","compareValue","LocalizationContext","LocalizationProvider","term","model","Provider","Component","Consumer","removeAttribute","FormReducer","validationMessageHasNotChanged","currentInvalidFields","updatedFields","updatedMessages","FormProvider","useReducer","FieldWrapper","CheckboxLabel","Textarea","fieldset","Legend","legend","log","describedByAttribute","as","caption","Multiselect","htmlFor","FormEpiButton","Label","ErrorSpan","invalid","NextButton","nextId","isExpanded","aria-controls","aria-expanded","PreviousButton","previousIndex","previousId","onPrevious","color","currentStep","FormStep","step","formId","nrOfSteps","stepId","isFirstStep","isLastStep","nextIndex","aria-hidden","getStepFields","FormComponent","checkFieldConditions","dependency","conditions","currentFieldValue","expectedValue","fieldValue","checkIfAnyConditionIsTrue","checkIfAllConditionsAreTrue","performAction","htmlAttributes","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","style","x","y","rx","ry","points","plus","x1","y1","x2","y2","minus","arrow","version","fillRule","transform","menu","search","cx","cy","switchLink","externalLink","externalLink2","xmlns","stroke-linecap","stroke-linejoin","chevron","ariaHidden","chevrons","clear","twitter","twitterX","stroke-width","facebook","linkedin","youtube","close","question","loader","zoomIn","print","mail","sliders","download","copy","square","checkSquare","cart","calendarPlus","file","camera","in","tag","home","box","truck","trash","save","redo","checkCircle","alertTriangle","check","user","users","archive","mapPin","shoppingCart","sortAscending","role","sortDescending","edit","calendar","lock","toggleDesktop","clipRule","opacity","toggleMobile","clock","getSize","getRotation","direction","Icon","icon","animate","fillCurrent","IconSvg","icons","cancelToken","Axios","CancelToken","source","cancelPricingRequest","cancel","getApiUrl","cartObjectType","cartId","article","note","empty","withPrice","priceReloadCounter","checkout","punchout","itemCode","lineItemId","sort","deliveryMethod","location","desiredDate","tab","table","singleShipment","date","getState","apiBaseUrl","concat","FetchCartApi","apiUrl","cancelSource","a","token","AddToCartApi","articleList","headers","sendTableDataApi","body","parsedBody","JSON","parse","RemoveItemApi","delete","ClearCartApi","patch","SaveCartApi","saveCartData","AddNotesApi","notesData","notes","UpdateWithArticleDeliveryDates","updateDeliveryDates","dates","DeleteCartApi","UpdateCartApi","CheckoutApi","requestData","post","confContent","confPrices","fieldLoading","priceLoading","loading","createSlice","reducers","confStart","confSuccess","payload","confValidateStart","confValidateSuccess","confData","confPriceStart","confPriceSuccess","confFailed","confReset","fetchConfArticle","routeApiUrl","getConfArticle","isCancel","fetchConfValidate","quantity","fieldIndex","getConfData","confOptions","itemId","changedField","axios","defaults","common","response","confPriceApi","params","selectConfigurator","configurator","selectConfContent","selectConfOptions","selectConfSummary","summary","selectConfQuantity","selectConfConfigId","configId","selectConfItemId","selectConfPrices","selectConfPriceLoading","selectConfFieldLoading","actions","cartObject","cartType","cartLink","link","limitation","articleGoodsMarkingLength","articleCommentsLength","cartDisabled","cartHidden","goodsMarkingHidden","items","cartStatus","shipments","cartStart","cartSuccess","cartFailed","cartUpdatePriceReloadCounter","FetchCart","availableDeliveryMethods","locations","getSelectedWarehouse","getSelectedDeliveryMethod","statusCode","status","errorCode","errorMessage","ReloadCartPriceError","CancelCartPriceError","GenericWarning","ServerError","FetchSavedCart","sendCartTable","SendTableError","AddToCart","AddToSavedCart","RemoveItem","SaveCart","overwrite","shared","SaveCartError","UpdateArticleDeliveryDates","deliveryDates","AddNotes","selectedSort","DeleteCart","UpdateCart","selectedDeliveryMethod","selectedLocation","selectedDesiredDate","UpdateSavedCart","CheckoutError","Checkout","selectCartObject","selectCartLoading","selectCartPriceReloadCounter","LocalizationInit","orderMatrixObject","orderMatrixTabPages","properties","activeTabObj","heading","isActive","totalQuantity","activeTabQuantity","orderMatrixStart","orderMatrixSuccess","accumulator","currentValue","orderMatrixUpdateTotalQuanity","orderMatrixUpdateActiveTabQuanity","orderMatrixFailed","UpdateActiveTabQuantity","activeTabQty","ChangeTab","selectedTab","encodeURIComponent","ChangeTabApi","AddToOrderMatrixCart","ordermatrix","ClearOrderMatrix","AddAllToCart","selectOrderMatrixData","selectOrderMatrixObject","userObject","customers","projects","warehouses","types","customerLoading","projectLoading","warehouseLoading","typeLoading","userStart","userCustomer","userProjects","userWarehouses","userTypes","userFailed","FetchUser","customerId","baseUrl","UserApi","UpdateTypes","typeArray","stringify","userTypeId","UpdateProjects","projectArray","projectId","UpdateWarehouses","warehouseArray","warehouseId","userData","selectUserObject","selectUserData","rootReducer","combineReducers","localization","localizationReducer","configuratorReducer","cartReducer","ordermatrixReducer","userReducer","store","preloadedState","configureStore","reducer","renderElementBasedOnEditMode","isInEditMode","Tag","content","data-epi-property-name","dangerouslySetInnerHTML","composeQueryString","sortBy","display","currentPage","facets","group","sortDir","queryParams","facetParams","composeFacetUrlParams","join","facet","active","esc","getURLParameter","decodeURIComponent","RegExp","exec","replace","setUrlLocation","queryString","hasRendered","noUpdate","hash","windowLocation","pathname","history","pushState","page","replaceState","modal","parseAndFormatRows","split","row","parseInt","scrollToTop","pixel","smooth","scrollTo","top","behavior","getHeadingLevel","level","find","deliveryMethods","deliveryMethodId","getPreloadedState","framework","siteType","api","cartApiBaseUrl","header","userApiBaseUrl","modelType","PunchOutError","QuickImportArticlesError","RichTextWrapper","RichText","boldText","footerCss","__html","useFormRenderer","fields","dependencies","isLoading","fieldActionExists","renderLabel","renderFieldError","renderField","failedMessage","fieldActions","captchaImageHandler","imageWidth","imageHeight","allowMultiple","siteKey","buttonText","alt","Date","now","reload","data-f-captcha-image-handler","data-f-captcha-refresh","data-sk","allActionOutcomes","thenAction","operatorResult","whenValue","attribute","checkFieldActions","renderFieldset","FieldComponent","renderSingleInput","fieldLabel","paragraphText","renderAsFieldset","singleCheckboxOrRadio","conditionsFulFilled","checkDependency","usePrevious","Media","video","image","videoPosterImage","canPlay","setCanPlay","playsInline","autoPlay","preload","muted","loop","videoElement","currentTarget","paused","play","pause","onCanPlayThrough","srcSet","webpSizes","sizes","CarouselItem","currentIndex","keyNav","setKeyNav","headingLevel","headingStyleLevel","heightLevel","carouselItem","createRef","carouselContentRef","focused","setFocused","shouldFocus","parentElement","Heading","headingCss","Carousel","carouselItems","autoTransition","transitionTime","isMobile","setAutoPlay","currentSlideIndex","setCurrentSlideIndex","navByKey","setNavByKey","slider","sliderSettings","accessibility","dots","arrows","adaptiveHeight","lazyLoad","customPaging","onKeyDown","keyCode","slickGoTo","handleKeyDown","onFocus","autoplay","autoplaySpeed","speed","inifinite","pauseOnHover","pauseOnDotsHover","afterChange","_extends","assign","arguments","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgCirclePattern","_ref","svgRef","titleId","xmlnsXlink","ForwardRef","SvgCircle2Pattern","theme","headingColor","background","PromoPatternWrapper","getPatternFill","PromoPattern","CirclePattern","PromoPattern2","Circle2Pattern","Picture","picture","PromoImage","img","PromoContent","outside","contentLeft","videoPreference","PromoFullWidthContent","hasImage","PromoBlockContent","fullWidth","ButtonWrapper","FullWidthButtonWrapper","PromoButtonWrapper","baseButtonStyling","Link","darkBackground","PromoButton","styling","FullWidthHeading","Text","ContentHeading","imageOutside","buttons","confArticle","toggleModal","toggleImageGallery","toggleOnImage","useDispatch","handleClick","imageGallery","PromoFullWidthImage","media","fullHeight","imagePreference","imageLink","imageLinkTarget","PromoImageOutside","backgroundPattern","imageRight","isImageOutside","PromoVideoFull","CookieInformation","getConsentGivenFor","getIframeSrc","data-consent-src","data-category-consent","allowFullScreen","frameBorder","allow","ResponsiveIframe","aspectRatio","dataConsentSrc","dataCategoryConsent","data-cid","PromoVideoOutside","videoRight","margin","Grid","padding","getWidthClass","Cell","tablet","ImageGalleryBlock","columnAlignment","activeItem","setActiveItem","modalActive","setModalActive","handleToggleModal","itemIndex","ImageGalleryBlockModal","onToggle","showPreviousMedia","currentItemIndex","showNextMedia","ImageGalleryBlockItem","aria-label","ImageGalleryModal","innerWidth","imagesPerPage","start","end","visible","setVisible","handlePreviousClick","handleNextClick","onExit","titleText","underlayClickExits","focusDialog","verticallyCenter","underlayClass","thumbnail","msg","paginationInfo","PromoBlock","block","showImageGallery","setShowImageGallery","setImageGallery","imageGalleryBlockItems","setToggleOnImage","previousItemIndex","nextItemIndex","renderImage","layout","linkProps","ColumnBlock","linkB","linkC","linkD","linkType","RteBlock","RteWithImageBlock","isLandscapeImage","isLandscapeImageBig","currentStepNode","getElementById","getHiddenFieldValues","getAttribute","getSelectValue","getCheckboxAndRadioValue","getUploadedFiles","getFieldValue","hiddenFieldHolder","append","files","handleResponse","nextStep","redirectUrl","IsSuccess","handleServerValidationError","AdditionalParams","__FormField","submissionId","Data","SubmissionId","Message","RedirectUrl","successMessage","fieldErrors","InvalidElement","InvalidElementLabel","ValidationMessage","serverValidationError","ErrorSummary","FormMessage","forwardRef","confirmationMessage","hasMessageToShow","messageType","imageHash","EpiForms","encodingType","steps","_properties","loadFailureText","forceUpdate","useForceUpdate","renderFormElement","showForm","formValues","el","predefinedValue","getInitialFormValues","messageHolderRef","prevInvalidFields","prevStep","successfullySubmitted","formMessageElement","currentValidationMessages","form","set","fetch","cache","credentials","redirect","referrer","ok","statusText","json","catch","alert","submitForm","ReleaseItemStyle","CalendarItemStyle","DateStyle","DateHeader","DateContent","CalendarEventStyle","PressReleaseItem","CalendarItem","day","month","PressCalendariumBlock","latestPressReleasesText","calendarText","pressReleases","calendarEvents","allPressReleasesText","allPressReleasesLink","allCalendarEventsText","allCalendarEventsLink","release","calendarEvent","ImageWrapper","attrs","Description","BlockLink","Image","PublishedDate","ImageBlock","highlight","publishedDate","shortDescription","preamble","headingSize","NewsBlock","linkToListingPage","textLinkToListingPage","published","IframeBlock","ToastLink","toastWithLink","linkText","toast","closeDelay","ConfiguratorIframeBlock","useSelector","handleAddToCart","TYPE","SUCCESS","ERROR","WARNING","handleSendTableData","decodedData","newArray","parseFloat","AccordionBlock","open","setOpen","aria-labelledby","MediaBlock","tagMapper","screenReader","typographyClasses","typographyMarginClasses","styleAs","FloatingBlock","links","contactList","contact","WaterMark","renderBlock","carouselBlock","columnBlock","imageGalleryBlock","iframeBlock","accordionBlock","contentArea","mediaBlock","floatingBlock","ContentArea","SectionHeaderLayout","SectionHeaderWrapper","buttonBaseStyle","LinkButton","CustomExternalScriptContainer","squareIcon","checkSquareIcon","circleIcon","checkCircleIcon","CustomExternalScript","SectionHeader","BreadCrumbsList","ol","BreadCrumbsItem","li","SeperatorIcon","FiChevronRight","HomeIcon","FaHome","PreviousPageIcon","FiChevronLeft","BreadCrumbsLink","LinkRichText","Breadcrumbs","isLastLink","isFirstLink","aria-current","ArticlePage","topContentArea","breadcrumbs","slideContentArea","StartPage","CatalogPage","ErrorPage404","ProductDivisionPage","categories","InputField","searchIcon","FilterField","onSearch","colorIcon","setQuery","debouncedQuery","Preamble","useFilterSearch","prevent","useFetch","responseDefault","disableCancel","preventRequest","usePressRelease","usePriceStockDetail","articlesArray","companyId","desiredDeliveryDate","includeTotal","itemCodes","readThroughCache","dataHash","fetchArticleDetail","setResponse","setError","setLoading","listFilterReducer","Option","Wrapper","SelectedValue","MobileSelect","preselected","queryBase","toggle","handleLinkClick","handleKeyboardNavigation","handleBlur","aria-owns","FilterBar","defaultDisplayOption","defaultSortByItem","displayOptions","sortByItems","onFilter","sortLabel","sortLabelMobile","isFilter","setIsMobile","setSortBy","setDisplay","handleSortChange","handleDisplayChange","test","navigator","userAgent","displayItem","usePopState","popState","setPopState","stringState","savedState","useDefaultPopState","CategoryList","CategoryListItem","PagerItemCss","IconCss","PagerList","InactiveItemCss","btn","InactiveItem","NextPageIcon","InactiveItemLink","ActiveItem","ActiveItemLink","EmptyItem","Pager","pageNumber","onPageChange","nrOfPages","numbers","b","pageNumbers","pages","handlePageChange","number","getFirstLink","getLinks","getLastLink","context","shouldRenderNextBtn","getPagerBtn","getPageLinks","getPageNumbers","total","renderPagination","contextType","buttonRefRef","HighlightColor","FilterFacets","ContactPageTheme","ProductCategoryPage","pagination","products","subcategories","mainContentArea","didRender","preventHistoryEntry","popStateString","paginationObject","productsArray","dataLayer","art","item_name","item_id","item_category","item_category2","domain","activeMarket","ecommerce","sortProperties","category","pageCount","ThumbnailWrapper","overlay","VideoThumbnail","ToggleWrapper","ViewWrapper","iframe3d","ZoomInIcon","FiZoomIn","PlayIcon","FiPlay","iconsize","BoxIcon","FiBox","MediaThumbnail","renderMediaView","showMore","setShowMore","activeIndex","setActiveIndex","totalItems","nrOfhiddenItems","hiddenItemsArray","sortedItems","acc","renderThumbnail","MediaView","currentValues","setAutoplay","mediaViewIframeRef","setIsLoading","handleReadyMessage","ready","iframeWindow","contentWindow","postMessage","onLoad","getFocusableElements","parent","from","hasAttribute","aIndex","Number","bIndex","nextFocus","elements","forward","findIndex","activeElement","Modal","closeOnClickOutside","closeOnEsc","onClose","portal","removeChild","usePortal","previousFocus","container","shiftKey","createPortal","classNames","zIndex","MediaModal","isAutoplay","mediaModalIframeRef","MediaGallery","mediaGallery","defaultItemArray","isMain","defaultItem","Tooltip","imageUrl","hover","setHover","tooltipRef","triggerRef","timeoutId","handleClickOutside","tooltipId","onMouseEnter","onMouseLeave","aria-haspopup","left","Certificate","altText","tooltipText","tooltipLink","ToolTip","Int32MaxValue","ProductCounter","productName","inputRef","handleQuantityChanged","inputValue","isNaN","textCss","bold","Article","ContentLeft","Body","ContentMiddle","TextWrapper","PriceOnDemandWrapper","LoginForPriceWrapper","ContentRight","Counter","AddButton","ConfButton","Img","LinkWrapper","LoginForPriceText","PriceOnDemandText","OrangeText","Span","noWrap","withPadding","ItemCodeAttributeNameWrapper","ArticleRow","priceInfo","certificates","openModal","trackClick","loginLink","isDesktopOrSmaller","currentQuantity","setCurrentQuantity","renderNetPrice","price","currency","unit","itemName","defaultPrice","item_variant","attributeName","hitId","trackId","renderAddToCartButton","isConfArticle","configurable","packingQuantity","stockQty","leadTime","netPrice","grossPrice","discount","RemoveIcon","FaTimesCircle","Item","Name","FilterChip","facetId","onDelete","roundedCorners","hasBreadcrumbs","copyUrl","focusTrapPaused","dialogStyle","clipboard","writeText","IconLink","List","ul","LinkList","documents","renderIcon","SpecificationList","Row","tr","Property","td","VisuallyHiddenTd","Value","colorBlocks","priceList","BlueText","ColorList","ColorImg","ColorItem","Title","ColorBlocks","colorName","ncs","ral","SpecificationsList","specifications","prices","dictionary","scope","renderPricelist","ContentImg","SeparatorIcon","FaChevronRight","ArticleDetail","articleApiUrl","disableControls","setItem","getArticleData","shouldHaveSeparator","longDescription","rangeSpecifications","informationHeading","informationText","contentsAndAvailability","noPadding","FiHelpCircle","Popout","buttonRef","popoutRef","handleKeyPress","which","handleTouchStart","handleTouchEnd","handleTouchMove","bounding","getBoundingClientRect","viewportWidth","documentElement","clientWidth","right","whiteSpace","minWidth","onMouseOver","onMouseOut","ArticleDetailConfiguration","closeModal","setValues","errorMessages","setErrorMessages","agreementsConfirmed","setAgreementsConfirmed","autoValidation","setAutoValidation","setCurrentValues","configDescription","getValues","handleOnChange","productConfiguratorValidate","handleOnBlur","setMessagesAndValues","initialMessages","minValue","maxValue","tmpValues","blur","click","productConfiguratorPrice","renderBreadCrumbs","inEditMode","onWheel","count","SquareIcon","FiSquare","SquareCheckIcon","FiCheckSquare","FilterOption","alternateDisplay","isOrderHistory","FilterByRegion","FilterByLocationType","FilterFieldSet","defaultNumberToShow","isNewContactPage","numberToShow","totalLength","LOCATION_TYPE","REGION","TopContent","LeftContent","RightContent","ArticleWrapper","SlidersIcon","FiSliders","SlidersButton","FilterCol","ArticleCol","FieldSet","showFieldset","PagerWrapper","ClearFilterButton","LinkButtonWrapper","Expander","Div","ShowMore","IconDown","FiChevronDown","IconUp","FiChevronUp","ExpansionPanel","toggleExpansionPanel","ProductDetailPage","articleModal","confDispatch","articleDetailModal","setArticleModal","confModalOpen","setConfModalOpen","toggleConfModal","showFilter","setShowFilter","tabletView","handleFacet","f","anyActiveFacetFilter","hasArticles","shouldShowListing","priceStockDetailsUrl","priceResponse","priceInformation","Fragment","facetItem","clearFacets","AddNotesModal","handleAddNotes","defaultGoodMarking","goodsMarking","defaultComment","comment","commentHidden","maxLengthLimits","goodsmarking","setGoodsmarking","setComment","registerLocale","sv","hu","nl","fr","cs","da","fi","de","enGB","enUS","enIE","frCH","nlBE","it","nb","ro","et","DatePickerInput","minDate","daysDisabled","language","minimumDate","locale","datePicker","dateFormat","timeInputLabel","filterDate","CartArticleRow","prop","stockQuantity","handleQuantityChange","handleOpenArticleModal","handleRemoveArticle","handleCheck","addToCartBtnDisabled","notesModalDisabled","cartLoading","shipDate","earliestShipDate","shipDateChanged","isRemovable","isEditableQuantity","noteModalActive","setNoteModalActive","toggleNoteModal","notesArray","comments","amountGrossPriceFormatted","adjustForTimezone","timeOffsetInMS","getTimezoneOffset","setTime","getTime","getDateString","getFullYear","getMonth","getDate","handleDateChanged","getDay","amountNetPriceFormatted","netPriceFormatted","grossPriceFormatted","discountFormatted","SaveButton","SaveCartModal","onSave","cartName","setCartName","setShared","AddGoodsmarkModal","handleAddGoodsmark","warningMessage","AlertModal","cancelButtonText","actionButtonText","isNewAddress","address","addressId","CheckoutPage","desiredDateTooltip","leadTimeTooltip","disclaimerText","confirmButton","backToCartButton","saveCartButton","desiredDateFormatted","customerRequisition","projectName","projectNumber","goodsReceptionContactName","goodsReceptionPhoneNumber","responsiblePerson","deliveryAddressList","fieldRoles","cartPriceReloadCounter","goodsmarkModalOpen","setGoodsmarkModalOpen","clearGoodsmarkModalOpen","setClearGoodsmarkModalOpen","checkoutErrorMessage","setCheckoutErrorMessage","saveCartModalOpen","setSaveCartModalOpen","overwriteCartModal","setOverwriteCartModal","hasReloadButton","reloadPricesModal","setReloadPricesModal","city","postalCode","street","saveAddress","setSaveAddress","addressList","getDefaultSelectedAddress","selectedAddress","setSelectedAddress","countryName","countryCode","organizationId","responsiblePersonId","setRequestData","totalAmountOfArticles","next","totalAmountofShipmentArticles","checkPostalCode","shipment","fieldMask","regex","isInvalidField","errMsgs","substring","controlledTextArea","v","handleCheckout","validationPromises","reqData","firstErrorField","handleSaveCart","handleOverwriteCart","getInitialCheckedBoxes","initialArticleList","articleItem","toolbarActive","setToolbarActive","checkedBoxes","setCheckedBoxes","isAllChecked","isAtLeastOneChecked","handleCheckSingle","newCheckedBoxes","handleCheckAll","getCheckboxIndex","shipmentIndex","articleIndex","handleSelectedGoodsmark","handleReloadPrices","fetchCartObject","isEditable","startsWith","trim","person","firstItem","shipmentItem","shipDateFormatted","amountArticleGrossPriceFormatted","amountWebShopDiscountFormatted","amountArticleNetPriceFormatted","shippingCostFormatted","administrationCostFormatted","freeShippingLimitFormatted","freeAdministrationLimitFormatted","quickAddSearch","quickAddDetail","quickAddValidateCode","Loader","screenreaderText","AutoComplete","handleSearch","itemToString","autoCompleteLoading","labelText","isQuickSearch","quickSearchIsEmpty","setRef","inputValues","setInputValues","useCombobox","onInputValueChange","selectedItem","onSelectedItemChange","isOpen","selectItem","getLabelProps","getMenuProps","getInputProps","highlightedIndex","getComboboxProps","getItemProps","setInputValue","closeMenu","openMenu","renderSuggestions","suggestions","handleSuggestion","SearchResultSummary","onFirstPage","onSecondPage","QuickAddToCart","sortSelection","setQuantity","selectedArticle","setSelectedArticle","selectionExpanded","toggleSelection","SelectionRef","articleItems","setArticleItems","setSuggestions","getSuggestions","quickAddSearchUrl","handleQueryOnFocus","handleItem","originalCode","autoComplete","newQuery","QuickImportArticlesModal","articles","setArticles","newRowAdded","setNewRowAdded","quantities","setQuantities","isValidating","setIsValidating","qtys","handlePaste","clipboardData","getData","codesAndQuantity","validateCodeUrl","useMemo","columns","Header","accessor","useTable","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","handleAddRow","handleInputChange","cell","column","newQuantities","newState","handleRowInputBlur","validArticles","newInput","onPaste","headerGroup","getHeaderGroupProps","getHeaderProps","render","original","newArticles","handleRemoveRow","cells","getCellProps","CartPage","desiredDeliveryDateTooltip","desiredPickupDateTooltip","checkoutButton","punchoutButton","saveButton","deleteButton","exportLinks","errorList","desiredStartDate","importArticlesModalOpen","setImportArticlesModalOpen","emptyCartModalOpen","setEmptyCartModalOpen","redirectingToCheckout","setRedirectingToCheckout","redirectingToPunchout","setRedirectingToPunchout","sortDefault","setSortSelection","initArticleList","handleDeliveryMethodChange","handleWarehouseChange","handlePunchout","handleClearCart","errormsg","exportLink","stockInfoText","OrderConfirmationPage","punchoutHtml","order","orderId","tax","shipping","transaction_id","trackingId","LoginPage","forgotPasswordLink","requestAccountLink","returnUrl","useCookie","rememberMeCookie","setRememberMeCookie","username","setUsername","password","setPassword","setErrorMessage","isChecked","setIsChecked","loginRequest","setLoginRequest","antiForgery","datHash","useLogin","loginResponse","loginError","loginLoading","success","antiForgeryElement","antiforgeryValue","ItemRow","getTarget","fileType","fileSize","RowWrapper","InfoRow","BottomContent","PhoneIcon","FiPhone","GlobeIcon","FiGlobe","MailIcon","FiMail","LargerContainer","FiUsers","SmallerContainer","OpeningHoursRichText","AddressRichText","ContactText","CategoryWrapper","ContentWrapper","ContactWrapper","padTop","ContactRowsWrapper","ContactRow","ContactImage","first","ToggleRow","ContactInfo","UsersIcon","ToggleIcon","ToggleCloseIcon","ToggleOpenIcon","FiPlusSquare","FiMinusSquare","ToggleButton","ToggleText","IconWrapper","Contacts","contacts","lowerCaseName","contactOpenDefault","contactDropDownOpen","setContactDropdownOpen","productArea","phone","email","upper","lower","MilkrunWrapper","MilkrunRichText","MilkRunToggleWrapper","MilkRunIcon","FiAlignLeft","MilkrunText","Milkrun","milkRun","milkRunOpen","setMilkRunOpen","LocationRow","emailTooltip","email2","email2Tooltip","mapImageUrl","mapLinkUrl","openingHours","phoneTooltip","phone2","phone2Tooltip","phone3","phone3Tooltip","streetAddress","website","websiteTooltip","rel","FilterBarWrapper","SearchPage","searchTerm","setSearchTerm","articleWrapper","handleAutocompleteChange","filters","suggestionList","hasFacets","handleTrackClick","trackObject","clickTrackUrl","useAutoComplete","autocompleteSearchUrl","autoCompleteResponse","priceArticles","pa","groups","MyPage","columnList","subIndex","Table","TableRow","TableHeadRow","thead","TableHead","TableHeadContent","th","center","TableData","SortWrapper","sortIconCss","filterProps","isSorted","isDescending","SortAscIcon","SortDscIcon","VisuallyHiddenCaption","CellLink","focusCell","newrow","newcol","tgt","focusTableHead","colIndex","tableHead","handleCtrlHome","currentRow","ctrlKey","handleCtrlEnd","maxRow","maxColumn","maxRows","maxColumns","handleSortByKeyDown","toggleSortBy","formatAndGetCellValue","cellId","cellData","MyProjectsPage","useSortBy","getSortByToggleProps","aria-sort","isSortedDesc","data-header-col","canSort","getRowProps","data-row","data-col","Caption","fetchAccount","MyAccountPage","accountColumns","setAccountColumns","fetchAccountColumns","VisuallyHidden","EditAddressLink","DeleteAddressButton","UndeletableButton","DeleteAddressIcon","FiTrash2","ModalInputWrapper","ModalLabel","ModalInputField","ModalTextArea","SaveChangesButton","SaveChangesButtonWrapper","DeleteDialogMessage","DeleteDialogButton","DeleteDialogButtonWrapper","ErrorText","ErrorTextWrapper","UndeletablePopout","MyAddressesPage","addresses","editLink","deleteLink","addressesState","setAddressesState","modalItem","setModalItem","deleteItem","setDeleteItem","deleteDialogOpen","setDeleteDialogOpen","handleModalInputChange","newItem","trimStart","setCustomValidity","innerText","showToast","isSuccess","handleDeleteAddress","deleteAddress","handleUndeletablePopout","domRect","scrollY","scrollWidth","visibility","invalidElement","validateAddressChanges","changedItem","IndeterminateCheckbox","indeterminate","rest","defaultRef","resolvedRef","Boolean","OrderDetailsPage","backButton","externalId","lines","showRemainingColumn","goodsReceiverName","copyOrder","firstRender","showOrderInformationModal","setShowOrderInformationModal","copyOrderError","setCopyOrderError","copyingOrders","setCopyingOrders","useRowSelect","hooks","visibleColumns","getToggleAllRowsSelectedProps","getToggleRowSelectedProps","selectedFlatRows","toggleAllRowsSelected","orderInformation","handleAddAllToCart","eL","modalHeading","modalText","copyOrderErr","modalClose","modalConfirmation","info","isFirst","doc","OrderDetailPage","QuotationDetailsPage","expiryDate","PublishInfoWrapper","PublishText","SocialLink","FacebookIcon","FaFacebookF","TwitterIcon","FaXTwitter","LinedInIcon","FaLinkedinIn","EmailIcon","FaEnvelope","ReturnButton","MyNewsDeskItemPage","publishDate","returnButton","saveAsPdfButton","windowUrl","setWindowUrl","RightContentWrapper","LeftContentWrapper","FaCheckSquare","DefaultCheckbox","SelectWrapper","SelectLabel","MyNewsDeskListPage","isSelect","itemArray","IconSquare","IconCheckSquare","OrderHistoryFilter","onReset","filterState","setFilterState","handleFilterInputChange","handleDateChange","newFacets","renderInput","invoiceNumber","createdFrom","createdTo","ExportDocuments","forMobile","selectedDocumnet","setSelectedDocumnet","OrderHistoryPage","defaultCreatedFrom","orders","orderState","setOrderState","filterRequest","setFilterRequest","useFilterOrders","autoClose","pageIndex","pageSize","desc","usePagination","pageOptions","gotoPage","composeQuery","currentPageIndex","facetQuery","composeAndSetQuery","handleOnFilter","setFilters","exportQuery","handleOrderHistoryUrlLocation","currentQuery","QuotationHistoryFilter","quotationId","expiryFrom","expiryTo","QuotationHistoryPage","quotations","exportButton","quotationsState","setQuotationState","useFilterQuotations","SavedCartPage","defaultSavedCartObject","savedCartObject","addAllToCartButton","setSavedCartObject","setCartLoading","SavedCartsCell","alignRight","NoResultsMessage","DeleteCartButton","DeleteLinkWrapper","MySavedCartsPage","carts","overflow","owner","owners","savedCarts","setSavedCarts","itemToDelete","setItemToDelete","selectedOwner","setSelectedOwner","removeCartItemFromState","handleDeleteCart","ownerOption","cellColumnId","deletable","renderContacts","NewLocationRow","highlightedContacts","nestedOpen","setNestedOpen","NewContactPage","subHeading","inputplaceholder","onChangeFacet","hasLocations","handlePagination","ContactPage","locationsArray","VERSION_2","toLocaleLowerCase","useChangePassword","ForgotPasswordPage","isError","setMessage","submitted","setSubmitted","passwordRequest","setPasswordRequest","setKey","responseText","ResetPasswordPage","userId","setModal","f1","f2","formElements","repeatpassword","NewsList","borderTop","Li","Category","NewsListItem","CisionPressReleaseListPage","mobileView","SubHeadingCss","Container","SubHeading","FileIcon","FiFile","DownloadIcon","FiDownload","CisionPressReleasePage","company","downloadImageButton","ReportBlock","linkToPdf","buttonLink","ArchiveBlock","reports","year","report","informationType","ButtonShowMore","CisionFinancialReportsPage","latestInterimReport","latestAnnualReport","cisionFinancialReports","showOlderReportsText","showOlderReportsLink","orderPrintedReportText","orderPrintedReportLink","reverse","LinkedInIcon","CisionOwnershipPage","contentAreaTop","contentAreaBottom","data-toggle","CalendariumListPage","calendarium","setIsActive","renderAddToCalendar","itemPreamble","startTime","endTime","moment","format","buttonLabel","listItems","outlook","apple","google","list","eventMonthFormatted","eventDayFormatted","eventDateFormatted","addToCalendarStartDate","addToCalendarEndDate","addToCalendarLocation","addToCalendarText","CalendariumPage","backToCalendariumListPageText","linkToCalendariumListPage","SocialWrapper","CheckboxWrapper","CheckText","SubscribePage","data-sitekey","data-size","data-theme","data-dismiss","StockDiagramPage","CisionStockDiagramPage","ProductMatrix","ProductMatrixRow","displayQuantity","setDisplayQuantity","blurQuantity","setBlurQuantity","previousBlurQuantity","articleNumber","getColSpan","renderColumn","isVisible","colSpan","hiddenColumns","OrderMatrixPage","clearButton","clearArticlesModalOpen","setClearArticlesModalOpen","handleScrollTo","targetId","targetElement","scroll","offsetTop","previousQuantity","handleChangeTab","tabDefault","handleClearArticles","orderMatrixSectionBlocks","section","orderMatrixProductBlocks","requestArticleList","handleScroll","stickyBar","main","pageYOffset","innerHeight","offsetHeight","sectionIndex","hideHeading","blockIndex","OrderMatrixLandingPage","DocumentSearchPage","entryname","documenttype","documentformat","sortConfig","setSortConfig","expandedArray","setExpandedArray","documentArray","setDocuments","handleSort","handleSearchOnChange","expandArray","ea","sd","entryName","downloadLink","Pages","NotImplemented","StyledToastContainer","ToastContainer","HeaderLayout","LogoLink","LogoImg","TopBar","LeftWrapper","RightWrapper","MenuWrapper","LinkItem","CartWrapper","CartWrapperMobile","MobileMenuWrapper","MobileMegaMenuWrapper","noSearch","MobileMenuOptionsWrapper","MegaMenuLayout","TickerWrapperMobile","TickerWrapperDesktop","quickSearch","origin","ClearButton","fieldSize","SearchField","onClear","QuickSearchWrapper","QuickSearchResultContainer","QuickSearchSpinner","QuickSearchResultRow","RowTitle","ParentCategory","ArticleText","BoldText","NoResultMessage","SmallMessage","ContentResult","parentCategory","ArticleResult","QuickSearchResult","QuickSearch","searchLink","quickSearchLink","searchPlaceholder","responseHasResult","customerSearch","CustomerModal","setCustomers","getCustomers","minHeight","onKeyPress","newNumber","prevQuery","newName","newEmail","maxHeight","overflowY","paddingRight","position","handleCustomerClick","IconSelect","memo","warehouseTooltip","salesUser","handleOpenCustomerSearch","setSelectedItem","selectedItemLabel","externId","handleItemClick","MenuOptions","setCustomerSearch","isSalesUser","setIsSalesUser","selectedCustomer","selectedProject","selectedWarehouse","selectedType","handleCustomerChange","handleTypeChange","handleProjectChange","MegaMenuDropdown","setCurrentExpanded","MegaMenuDropdownColumn","shouldGrow","columnKey","isLink","sizeCount","blockItem","isBlock","MegaMenuItem","currentExpanded","currentlyExpanded","toggleDropDown","Modernizr","touchevents","tagName","handleTouchHover","MegaMenu","menuItems","debouncedCurrentExpanded","CartIcon","FaShoppingCart","Items","ViewContext","ViewProvider","view","setView","storedValue","localStorage","getItem","handleViewChange","useWindowSize","threshold","isWindowSizeSmaller","setIsWindowSizeSmaller","handleResize","Cart","marginRight","MenuIcon","FiMenu","XIcon","FiX","MenuLink","VisuallyHiddenSpan","MobileMenu","MobileNav","nav","linkBaseCss","MainLink","SublinkWrapper","SubSubWrapper","SubLink","isHeading","isLastItem","PlusButton","FaRegPlusSquare","transparentize","MinusButton","FaRegMinusSquare","LoginIcon","FiLogIn","MobileMegaMenuSubSection","isBlockList","sublink","subIsActive","sublinkIndex","subHasChildren","setSubLinkIndex","subsub","k","MobileMegaMenu","myPagesLink","logoutLink","mainIndex","setMainIndex","sublinkIndex1","setSubLinkIndex1","sublinkIndex2","setSubLinkIndex2","mobileMegaMenuItems","megaMenu","mypagesItem","loginItem","isLogin","getMobileMegaMenuItems","hasChildren","MyPagesMenuDropdown","myPagesDropdownOpen","setMyPagesDropdownOpen","arrowStyling","ArrowUp","ArrowDown","renderDropDownItem","countryLink","splitToChunks","array","parts","ceil","LanguageSelector","languages","languagesLeftCol","languagesRightCol","counter","lang","languageHeading","LanguageSelectorWrapper","LanguageSelectorDropDown","offSetHeight","DropdownItem","DropDownToggle","LanguageSelectorOld","setOffset","AnnouncementBar","setIsVisible","announcementCookie","cname","ca","cookie","charAt","getCookie","cvalue","exdays","path","cookieContent","toUTCString","setCookie","ArrowCss","TickerWrapper","PriceWrapper","Delta","deltaColor","ArrowDownRight","FiArrowDownRight","ArrowRight","FiArrowRight","ArrowUpRight","FiArrowUpRight","Ticker","tradeCurrency","delta","toFixed","PageHeader","includeHeading","mobileMenuExpanded","setMobileMenuExpanded","isSmallMobile","logo","announcements","ticker","accessKey","logoSrc","logotype","logoAlt","shoppingCartUrl","languageSelector","FooterContainer","BottomWrapper","ColumnsWrapper","Column","FiFacebook","YoutubeIcon","FiYoutube","InstagramIcon","FiInstagram","LinkedinIcon","FiLinkedin","PageFooter","footer","socialLinks","copyright","StandardLayout","isChrome","vendor","LogoHeader","LogoOnlyLayout","NodeList","downloadAttributeSupport","msSaveBlob","evt","fileName","URL","pop","xhr","XMLHttpRequest","responseType","onreadystatechange","readyState","send","polyfillDownload","App","Page","objectFitImages","loggedIn","PageLayout","react","containerId","clientOnly","renderWithMockupData","frameworkData","translationsData","pageData","getPageData","initStore","__model"],"mappings":"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QACxB,IAAI,IAAI7F,EAAI,EAAGA,EAAI0F,EAAWxF,OAAQF,IAAKP,EAAqBiG,EAAW1F,IAC3E,IAAIU,EAAsBkF,EAM1B,OAFAhF,EAAgBJ,KAAK,CAAC,IAAI,GAAG,KAEtBM,I,kBC5NTY,EAAOD,QAAUqE,O,yvyDCAjBpE,EAAOD,QAAUsE,U,gECAjB,IAAIC,EAAM,CACT,QAAS,CACR,IACA,GAED,aAAc,CACb,IACA,GAED,kBAAmB,CAClB,IACA,GAED,uBAAwB,CACvB,IACA,GAED,gBAAiB,CAChB,IACA,GAED,qCAAsC,CACrC,IACA,GAED,0CAA2C,CAC1C,IACA,GAED,qBAAsB,CACrB,IACA,GAED,gBAAiB,CAChB,IACA,GAED,qBAAsB,CACrB,IACA,GAED,oBAAqB,CACpB,IACA,GAED,yBAA0B,CACzB,IACA,GAED,aAAc,CACb,IACA,GAED,uBAAwB,CACvB,IACA,GAED,4BAA6B,CAC5B,IACA,GAED,kBAAmB,CAClB,IACA,GAED,kBAAmB,CAClB,IACA,GAED,uBAAwB,CACvB,IACA,GAED,gBAAiB,CAChB,IACA,GAED,qBAAsB,CACrB,IACA,GAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,YAAa,CACZ,IACA,IAED,iBAAkB,CACjB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,UAAW,CACV,IACA,IAED,eAAgB,CACf,IACA,IAED,cAAe,CACd,IACA,IAED,mBAAoB,CACnB,IACA,IAED,gBAAiB,CAChB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,WAAY,CACX,IACA,IAED,gBAAiB,CAChB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,2BAA4B,CAC3B,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,gBAAiB,CAChB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,cAAe,CACd,IACA,IAED,mBAAoB,CACnB,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,oBAAqB,CACpB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,kBAAmB,CAClB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,oBAAqB,CACpB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,qBAAsB,CACrB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,kBAAmB,CAClB,IACA,IAED,uBAAwB,CACvB,IACA,IAED,cAAe,CACd,IACA,IAED,mBAAoB,CACnB,IACA,IAED,WAAY,CACX,IACA,IAED,gBAAiB,CAChB,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,UAAW,CACV,IACA,IAED,eAAgB,CACf,IACA,IAED,iBAAkB,CACjB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,cAAe,CACd,IACA,IAED,mBAAoB,CACnB,IACA,KAGF,SAASC,EAAoBC,GAC5B,IAAI7E,EAAoBgD,EAAE2B,EAAKE,GAC9B,OAAOlE,QAAQC,UAAUkE,MAAK,WAC7B,IAAIvE,EAAI,IAAImB,MAAM,uBAAyBmD,EAAM,KAEjD,MADAtE,EAAEwE,KAAO,mBACHxE,KAIR,IAAIyE,EAAML,EAAIE,GAAMI,EAAKD,EAAI,GAC7B,OAAOhF,EAAoBO,EAAEyE,EAAI,IAAIF,MAAK,WACzC,OAAO9E,EAAoBwD,EAAEyB,EAAI,MAGnCL,EAAoBM,KAAO,WAC1B,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","file":"client/client-main.94d36711.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t42: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"0\":\"a14fb58b\",\"1\":\"9028092f\",\"2\":\"6793dd61\",\"3\":\"f8055a7f\",\"4\":\"9154b261\",\"5\":\"bb482585\",\"6\":\"09d67608\",\"7\":\"8b227765\",\"8\":\"15f6e410\",\"9\":\"b8f49435\",\"10\":\"d1d04ed9\",\"11\":\"473ccef9\",\"12\":\"6f70a09f\",\"13\":\"fed3a0a8\",\"14\":\"02e0ea98\",\"15\":\"31436377\",\"16\":\"69609cf1\",\"17\":\"1a47f4c4\",\"18\":\"d085aeea\",\"19\":\"3773d5bc\",\"20\":\"a922a4d5\",\"21\":\"5d1993e9\",\"22\":\"5740d142\",\"23\":\"2c799e4e\",\"24\":\"8421ed25\",\"25\":\"c31a3175\",\"26\":\"d73200ea\",\"27\":\"f89727eb\",\"28\":\"77bf0b5b\",\"29\":\"f83cdbad\",\"30\":\"86af1832\",\"31\":\"22f9a005\",\"32\":\"232b8366\",\"33\":\"ff383f0e\",\"34\":\"d3fde20e\",\"35\":\"e41ca099\",\"36\":\"78ac036c\",\"37\":\"09223d66\",\"38\":\"f39a056e\",\"39\":\"aa51fef8\",\"40\":\"f1aec137\",\"41\":\"e95f5c3c\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/assets/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = this[\"webpackJsonplindab-2019-frontend-lindab-web.develop\"] = this[\"webpackJsonplindab-2019-frontend-lindab-web.develop\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([664,43,44]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = React;","module.exports = ReactDOM;","var map = {\n\t\"./404\": [\n\t\t291,\n\t\t0\n\t],\n\t\"./404.json\": [\n\t\t291,\n\t\t0\n\t],\n\t\"./articlePageV2\": [\n\t\t292,\n\t\t1\n\t],\n\t\"./articlePageV2.json\": [\n\t\t292,\n\t\t1\n\t],\n\t\"./articlepage\": [\n\t\t294,\n\t\t3\n\t],\n\t\"./articlepage-configurator-belgium\": [\n\t\t293,\n\t\t2\n\t],\n\t\"./articlepage-configurator-belgium.json\": [\n\t\t293,\n\t\t2\n\t],\n\t\"./articlepage.json\": [\n\t\t294,\n\t\t3\n\t],\n\t\"./calendarium\": [\n\t\t295,\n\t\t4\n\t],\n\t\"./calendarium.json\": [\n\t\t295,\n\t\t4\n\t],\n\t\"./calendariumlist\": [\n\t\t296,\n\t\t5\n\t],\n\t\"./calendariumlist.json\": [\n\t\t296,\n\t\t5\n\t],\n\t\"./checkout\": [\n\t\t298,\n\t\t7\n\t],\n\t\"./checkout-shipments\": [\n\t\t297,\n\t\t6\n\t],\n\t\"./checkout-shipments.json\": [\n\t\t297,\n\t\t6\n\t],\n\t\"./checkout.json\": [\n\t\t298,\n\t\t7\n\t],\n\t\"./contactPageV2\": [\n\t\t299,\n\t\t8\n\t],\n\t\"./contactPageV2.json\": [\n\t\t299,\n\t\t8\n\t],\n\t\"./contactpage\": [\n\t\t300,\n\t\t9\n\t],\n\t\"./contactpage.json\": [\n\t\t300,\n\t\t9\n\t],\n\t\"./documentsearch\": [\n\t\t301,\n\t\t10\n\t],\n\t\"./documentsearch.json\": [\n\t\t301,\n\t\t10\n\t],\n\t\"./epiform\": [\n\t\t302,\n\t\t11\n\t],\n\t\"./epiform.json\": [\n\t\t302,\n\t\t11\n\t],\n\t\"./financialreports\": [\n\t\t303,\n\t\t12\n\t],\n\t\"./financialreports.json\": [\n\t\t303,\n\t\t12\n\t],\n\t\"./forgotpassword\": [\n\t\t304,\n\t\t13\n\t],\n\t\"./forgotpassword.json\": [\n\t\t304,\n\t\t13\n\t],\n\t\"./login\": [\n\t\t305,\n\t\t14\n\t],\n\t\"./login.json\": [\n\t\t305,\n\t\t14\n\t],\n\t\"./myaccount\": [\n\t\t306,\n\t\t15\n\t],\n\t\"./myaccount.json\": [\n\t\t306,\n\t\t15\n\t],\n\t\"./myaddresses\": [\n\t\t307,\n\t\t16\n\t],\n\t\"./myaddresses.json\": [\n\t\t307,\n\t\t16\n\t],\n\t\"./mynewsdeskitem\": [\n\t\t308,\n\t\t17\n\t],\n\t\"./mynewsdeskitem.json\": [\n\t\t308,\n\t\t17\n\t],\n\t\"./mynewsdesklist\": [\n\t\t309,\n\t\t18\n\t],\n\t\"./mynewsdesklist.json\": [\n\t\t309,\n\t\t18\n\t],\n\t\"./mypage\": [\n\t\t310,\n\t\t19\n\t],\n\t\"./mypage.json\": [\n\t\t310,\n\t\t19\n\t],\n\t\"./myprojectspage\": [\n\t\t311,\n\t\t20\n\t],\n\t\"./myprojectspage.json\": [\n\t\t311,\n\t\t20\n\t],\n\t\"./mysavedcarts\": [\n\t\t312,\n\t\t21\n\t],\n\t\"./mysavedcarts.json\": [\n\t\t312,\n\t\t21\n\t],\n\t\"./newContactPage\": [\n\t\t313,\n\t\t22\n\t],\n\t\"./newContactPage.json\": [\n\t\t313,\n\t\t22\n\t],\n\t\"./orderconfirmation\": [\n\t\t314,\n\t\t23\n\t],\n\t\"./orderconfirmation.json\": [\n\t\t314,\n\t\t23\n\t],\n\t\"./orderdetails\": [\n\t\t315,\n\t\t24\n\t],\n\t\"./orderdetails.json\": [\n\t\t315,\n\t\t24\n\t],\n\t\"./orderhistory\": [\n\t\t316,\n\t\t25\n\t],\n\t\"./orderhistory.json\": [\n\t\t316,\n\t\t25\n\t],\n\t\"./ordermatrix\": [\n\t\t317,\n\t\t26\n\t],\n\t\"./ordermatrix.json\": [\n\t\t317,\n\t\t26\n\t],\n\t\"./ownership\": [\n\t\t318,\n\t\t27\n\t],\n\t\"./ownership.json\": [\n\t\t318,\n\t\t27\n\t],\n\t\"./pressrelease\": [\n\t\t319,\n\t\t28\n\t],\n\t\"./pressrelease.json\": [\n\t\t319,\n\t\t28\n\t],\n\t\"./pressreleaselist\": [\n\t\t320,\n\t\t29\n\t],\n\t\"./pressreleaselist.json\": [\n\t\t320,\n\t\t29\n\t],\n\t\"./productcategory\": [\n\t\t321,\n\t\t30\n\t],\n\t\"./productcategory.json\": [\n\t\t321,\n\t\t30\n\t],\n\t\"./productdetail\": [\n\t\t322,\n\t\t31\n\t],\n\t\"./productdetail.json\": [\n\t\t322,\n\t\t31\n\t],\n\t\"./productdivision\": [\n\t\t323,\n\t\t32\n\t],\n\t\"./productdivision.json\": [\n\t\t323,\n\t\t32\n\t],\n\t\"./quotationdetails\": [\n\t\t324,\n\t\t33\n\t],\n\t\"./quotationdetails.json\": [\n\t\t324,\n\t\t33\n\t],\n\t\"./quotationhistory\": [\n\t\t325,\n\t\t34\n\t],\n\t\"./quotationhistory.json\": [\n\t\t325,\n\t\t34\n\t],\n\t\"./resetpassword\": [\n\t\t326,\n\t\t35\n\t],\n\t\"./resetpassword.json\": [\n\t\t326,\n\t\t35\n\t],\n\t\"./savedcart\": [\n\t\t327,\n\t\t36\n\t],\n\t\"./savedcart.json\": [\n\t\t327,\n\t\t36\n\t],\n\t\"./search\": [\n\t\t328,\n\t\t37\n\t],\n\t\"./search.json\": [\n\t\t328,\n\t\t37\n\t],\n\t\"./shoppingcart\": [\n\t\t329,\n\t\t38\n\t],\n\t\"./shoppingcart.json\": [\n\t\t329,\n\t\t38\n\t],\n\t\"./start\": [\n\t\t330,\n\t\t39\n\t],\n\t\"./start.json\": [\n\t\t330,\n\t\t39\n\t],\n\t\"./stockdiagram\": [\n\t\t331,\n\t\t40\n\t],\n\t\"./stockdiagram.json\": [\n\t\t331,\n\t\t40\n\t],\n\t\"./subscribe\": [\n\t\t332,\n\t\t41\n\t],\n\t\"./subscribe.json\": [\n\t\t332,\n\t\t41\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 459;\nmodule.exports = webpackAsyncContext;","// Large (desktop)\nexport const deviceLargeMax = '1190px';\nexport const deviceLargeMin = '1025px';\n\n// Medium (tablet landscape)\nexport const deviceMediumLargeMax = '1024px';\nexport const deviceMediumLargeMin = '770px';\n\n// Medium (tablet portrait)\nexport const deviceMediumMax = '769px';\nexport const deviceMediumMin = '768px';\n\n// Small (phone)\nexport const deviceSmallMax = '767px';\nexport const deviceSmallMin = '0px';\n","export const spacing05x = '0.4rem';\nexport const spacing1x = '0.8rem';\nexport const spacing2x = '1.6rem';\nexport const spacing3x = '2.4rem';\nexport const spacing4x = '3.2rem';\nexport const spacing5x = '4rem';\nexport const spacing6x = '4.8rem';\nexport const spacing7x = '5.6rem';\nexport const spacing8x = '6.4rem';\nexport const spacing9x = '7.2rem';\nexport const spacing10x = '8rem';\nexport const spacing12x = '9.6rem';\nexport const spacing15x = '12rem';\n","import styled from 'styled-components';\nimport { deviceSmallMax, deviceLargeMax } from 'theme/mediaQueries';\nimport { spacing10x, spacing3x, spacing2x } from 'theme/spacings';\n\nexport const Content = styled.div`\n\tmargin: 0 auto;\n\tmax-width: ${deviceLargeMax};\n\n\t@media (max-width: ${deviceLargeMax}) {\n\t\tmargin: 0 ${spacing10x};\n\t}\n\n\t@media (max-width: 1220px) {\n\t\tmargin: 0 ${spacing3x};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: 0 ${spacing2x};\n\t}\n`;\n","/**\n * Layout\n * @module components/Layout\n */\n\nimport { Content } from './Layout.styles';\nimport { ReactNode } from 'react';\nimport clsx from 'clsx';\n\ntype LayoutProps = {\n\tbackgroundColor?: string;\n\tclassName?: string;\n\tchildClassName?: string;\n\tchildren: ReactNode;\n};\n\nconst Layout = ({\n\tbackgroundColor,\n\tclassName,\n\tchildren,\n\tchildClassName,\n}: LayoutProps) => (\n\t\n\t\t{children}\n\t\n);\n\nexport default Layout;\n","import Layout from './Layout';\n\nexport default Layout;\n","export const white = '#ffffff';\nexport const black = '#2A2A2A';\n\nexport const greyLight = '#FAFAFA';\nexport const grey = '#F6F6F6';\nexport const greyDark = '#E4E4E4';\nexport const greyDarker = '#C9C9C9';\nexport const greyDarkest = '#949494';\nexport const greyPlaceholder = '#919191';\n\nexport const blueLight = '#E5F6FF';\nexport const blue = '#0075BF';\nexport const blueDark = '#005E94';\nexport const blueDarker = '#003D61';\n\nexport const indigo = '#01416F';\nexport const turquoise = '#3AB5E8';\nexport const green = '#00B900';\n\nexport const orangeLight = '#F5822B';\nexport const orange = '#FF6600';\nexport const orangeDark = '#BE5709';\n\nexport const errorRed = '#D0021B';\n","import Button from './Button';\n\nexport default Button;\n","/**\n * Button\n * @module components/Button\n */\n\nimport { ButtonColorTypes } from 'types/common';\nimport clsx from 'clsx';\n\ninterface ButtonModel {\n\tdisabled?: boolean;\n\ttype?: 'link' | 'button' | 'submit' | 'reset';\n\tbuttonColor: ButtonColorTypes;\n\turl?: string;\n\tonClick?: (e: React.MouseEvent) => void;\n\tdarkBackground?: any;\n\ttarget?: string;\n\ttabIndex?: number;\n\tchildren?: React.ReactNode;\n\tclassName?: string;\n\tname?: string;\n\tid?: string | number;\n\tnoMarginBottom?: string;\n\tnoMargin?: boolean;\n}\n\nconst Button = ({\n\ttype,\n\tbuttonColor,\n\tonClick,\n\turl,\n\tchildren,\n\tdisabled,\n\tclassName,\n\ttarget,\n\ttabIndex,\n\tname,\n\tid,\n\tnoMarginBottom,\n\tnoMargin = false,\n}: ButtonModel) => {\n\treturn (\n\t\t<>\n\t\t\t{type === 'link' ? (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Button;\n","import styled from 'styled-components';\nimport { blue, white, greyDark } from 'theme/colors';\nimport {\n\tspacing3x,\n\tspacing4x,\n\tspacing2x,\n\tspacing1x,\n\tspacing05x,\n} from 'theme/spacings';\nimport Button from 'components/ui/Button';\nimport { deviceSmallMax } from 'theme/mediaQueries';\n\nimport Slider from 'react-slick';\n\nexport const ContentButton = styled(Button)`\n\tposition: absolute;\n\tmargin: 0;\n\tpadding: ${spacing1x} ${spacing2x} ${spacing1x} ${spacing1x};\n\tbottom: ${`-${spacing4x}`};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tposition: static;\n\t\tmargin-top: ${spacing1x};\n\t\t& > svg {\n\t\t\tmargin: 0 ${spacing05x} 0.1rem 0;\n\t\t}\n\t}\n\t& > svg {\n\t\tmargin-right: ${spacing05x};\n\t\tmargin-bottom: 0.1rem;\n\t}\n`;\n\nexport const SliderWrapper = styled(Slider)`\n\t& > .slick-dots {\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tbackground-color: rgba(0, 0, 0, 0.25);\n\t\twidth: auto;\n\t\tleft: 50%;\n\t\ttransform: translateX(-50%);\n\t\tpadding: ${spacing05x} ${spacing3x} 0 ${spacing3x};\n\t}\n\t& > .slick-dots > .slick-active > div {\n\t\tbackground-color: ${white} !important;\n\t\tborder: none;\n\t}\n\t& > .slick-dots > li > button:before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\t& > .slick-dots {\n\t\t\tposition: relative;\n\t\t\tbackground-color: transparent;\n\t\t}\n\t\t& > .slick-dots > .slick-active > div {\n\t\t\tbackground-color: ${blue} !important;\n\t\t\tborder: none;\n\t\t}\n\t}\n`;\n\nexport const SliderDot = styled.div`\n\tborder-radius: 50%;\n\twidth: 1.2rem;\n\theight: 1.2rem;\n\tborder: 0.2rem solid ${(props) => (props.selected ? white : white)};\n\tbackground-color: ${(props) => (props.selected ? white : 'transparent')};\n\tmargin: ${spacing05x} 0;\n\n\t&:hover,\n\t:active {\n\t\tbackground-color: ${white};\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tborder: 0.2rem solid ${greyDark};\n\t\tbackground-color: ${(props) => (props.selected ? white : 'transparent')};\n\t}\n`;\n","import { useState, useRef, useEffect } from 'react';\n\n/**\n * For toggle content functionality\n * Returns expanded state, toggle function and containerRef\n *\n * @param {Boolean} initialState - Initial toggle state\n * @param {Boolean} dropdown - If toggled content is a dropdown or not\n * @returns {Array}\n */\nexport const useToggle = (initialState, dropdown) => {\n\tconst [expanded, setExpanded] = useState(initialState || false);\n\tconst containerRef = useRef(null);\n\n\tconst handleClickOutsideComponent = (e) => {\n\t\tif (containerRef && !containerRef.current?.contains(e.target) && expanded) {\n\t\t\tsetExpanded(false);\n\t\t}\n\t};\n\n\tconst toggle = (value) => setExpanded(value || !expanded);\n\n\tuseEffect(() => {\n\t\tif (dropdown) {\n\t\t\tdocument.addEventListener('click', handleClickOutsideComponent);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (dropdown) {\n\t\t\t\tdocument.removeEventListener('click', handleClickOutsideComponent);\n\t\t\t}\n\t\t};\n\t});\n\n\treturn [expanded, toggle, containerRef];\n};\n","import { useEffect, useState } from 'react';\n\n//Extracted from react-use lib https://github.com/streamich/react-use\n\nconst isClient =\n\ttypeof window === 'object' && typeof window.matchMedia === 'function';\n\nexport const useMedia = (query, defaultState = false) => {\n\tconst [state, setState] = useState(defaultState);\n\n\tuseEffect(() => {\n\t\tif (isClient) {\n\t\t\tlet mounted = true;\n\t\t\tconst mql = window.matchMedia(query);\n\t\t\tconst onChange = () => {\n\t\t\t\tif (!mounted) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsetState(mql.matches);\n\t\t\t};\n\n\t\t\tmql.addListener(onChange);\n\t\t\tsetState(mql.matches);\n\n\t\t\treturn () => {\n\t\t\t\tmounted = false;\n\t\t\t\tmql.removeListener(onChange);\n\t\t\t};\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [query]);\n\treturn state;\n};\n","import { useState, useEffect } from 'react';\n\n// Our hook\nexport function useDebounce(value, delay) {\n\t// State and setters for debounced value\n\tconst [debouncedValue, setDebouncedValue] = useState(value);\n\n\tuseEffect(() => {\n\t\tconst handler = setTimeout(() => {\n\t\t\tsetDebouncedValue(value);\n\t\t}, delay);\n\n\t\treturn () => {\n\t\t\tclearTimeout(handler);\n\t\t};\n\t}, [delay, value]);\n\n\treturn debouncedValue;\n}\n","import React, { createContext, useContext, useReducer } from 'react';\n\nconst FORM_UPDATE = 'FORM_UPDATE';\nconst FIELD_INVALID = 'FIELD_INVALID';\nconst FIELD_VALID = 'FIELD_VALID';\n\nconst FormReducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase FORM_UPDATE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tvalues: action.values,\n\t\t\t};\n\t\tcase FIELD_INVALID:\n\t\t\tconst validationMessageHasNotChanged =\n\t\t\t\tstate.validationMessages.hasOwnProperty(action.field.id) &&\n\t\t\t\tstate.validationMessages[action.field.id].message &&\n\t\t\t\tstate.validationMessages[action.field.id].message ===\n\t\t\t\t\taction.field.message;\n\n\t\t\tif (\n\t\t\t\tstate.invalidFields.includes(action.field.id) &&\n\t\t\t\tvalidationMessageHasNotChanged\n\t\t\t) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tconst currentInvalidFields = state.invalidFields.slice(0).filter(item => {\n\t\t\t\treturn item !== action.field.id;\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinvalidFields: [...currentInvalidFields, action.field.id],\n\t\t\t\tvalidationMessages: {\n\t\t\t\t\t...state.validationMessages,\n\t\t\t\t\t[action.field.id]: action.field,\n\t\t\t\t},\n\t\t\t};\n\t\tcase FIELD_VALID:\n\t\t\tconst updatedFields = state.invalidFields.slice(0).filter(item => {\n\t\t\t\treturn item !== action.field.id;\n\t\t\t});\n\n\t\t\tlet updatedMessages = { ...state.validationMesssages };\n\n\t\t\tif (Object.keys(updatedMessages).length > 0) {\n\t\t\t\tupdatedMessages = Object.keys(state.validationMesssages).filter(\n\t\t\t\t\tkey => state.validationMesssages[key].id !== action.field.id\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinvalidFields: updatedFields,\n\t\t\t\tvalidationMessages: updatedMessages,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport const FormContext = createContext();\n\nexport const FormProvider = ({ initialState, children }) => (\n\t\n\t\t{children}\n\t\n);\n\nexport const useFormValue = () => useContext(FormContext);\n","/**\n * Form\n * @module components/Form\n * @version 1.0\n */\n\nimport React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport 'formdata-polyfill';\nimport { useFormValue } from 'context/form.context';\nimport { useChildClones } from 'hooks';\n\n/**\n * Generates a unique key (used by the reset-method).\n */\nconst getUniqueKey = () =>\n\t'_' +\n\tMath.random()\n\t\t.toString(36)\n\t\t.substr(2, 9);\n\nconst Form = props => {\n\tconst {\n\t\tchildren,\n\t\tmethod,\n\t\taction,\n\t\tenctype,\n\t\tinitialValues,\n\t\tclassName,\n\t\tid,\n\t\tonChange,\n\t\tonSubmit,\n\t\tsendDataType,\n\t\tdefaultSubmit,\n\t\tmultiStep,\n\t\tgetCurrentStep,\n\t} = props;\n\tconst [formKey, setFormKey] = useState(getUniqueKey());\n\tconst [showError, setShowError] = useState(false);\n\tconst [visibleFields, setVisibleFields] = useState(false);\n\tconst formRef = useRef(null);\n\n\tlet [\n\t\t{ values, invalidFields, validationMessages },\n\t\tdispatch,\n\t] = useFormValue();\n\tconst [renderChildren, formFieldNameCounter] = useChildClones(\n\t\tshowError,\n\t\tvisibleFields\n\t);\n\n\tconst resetForm = () => setFormKey(getUniqueKey());\n\n\tconst onFieldChange = ({ name, value, type, autoSubmit, checked }) => {\n\t\tconst valueIsArray =\n\t\t\tvalues[name] && Array.isArray(values[name]) && checked !== undefined;\n\n\t\tlet newValue = value;\n\n\t\t// Handle checkboxes when they have array values\n\t\tif (type === 'Checkbox') {\n\t\t\tif (valueIsArray) {\n\t\t\t\tnewValue = checked\n\t\t\t\t\t? [...values[name], value]\n\t\t\t\t\t: values[name].filter(item => item !== value);\n\t\t\t} else if (formFieldNameCounter[name] > 1 && checked !== undefined) {\n\t\t\t\tnewValue = [value];\n\t\t\t} else if (checked === false) {\n\t\t\t\tnewValue = '';\n\t\t\t}\n\t\t}\n\n\t\tdispatch({ type: 'FORM_UPDATE', values: { ...values, [name]: newValue } });\n\n\t\tif (autoSubmit) {\n\t\t\tonSubmit();\n\t\t}\n\t\tif (onChange) {\n\t\t\tonChange({ name, value: newValue }, { ...values, [name]: newValue });\n\t\t}\n\t};\n\n\tconst handleOnSubmit = e => {\n\t\tif (sendDataType === 'formdata' && typeof FormData === 'undefined') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (e && !defaultSubmit) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tlet index = null;\n\t\tlet messages = { ...validationMessages };\n\t\tlet updatedInvalidFields = invalidFields;\n\n\t\tif (multiStep) {\n\t\t\tconst [formData, stepIndex, currentStepFields] = getCurrentStep();\n\t\t\tsetVisibleFields(currentStepFields);\n\n\t\t\tvalues = formData;\n\t\t\tindex = stepIndex;\n\t\t\tupdatedInvalidFields = invalidFields.filter(fieldId =>\n\t\t\t\tcurrentStepFields.some(field => field.indexOf(fieldId) >= 0)\n\t\t\t);\n\n\t\t\tmessages = Object.keys(validationMessages)\n\t\t\t\t.filter(key => currentStepFields.some(field => field.indexOf(key) >= 0))\n\t\t\t\t.reduce((obj, key) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t[key]: validationMessages[key],\n\t\t\t\t\t};\n\t\t\t\t}, {});\n\t\t} else if (sendDataType === 'formdata') {\n\t\t\tvalues = new FormData(formRef.current);\n\t\t}\n\n\t\tif (updatedInvalidFields.length > 0) {\n\t\t\tsetShowError(true);\n\t\t}\n\n\t\tif (onSubmit) {\n\t\t\tonSubmit(values, index, messages, updatedInvalidFields);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{renderChildren(\n\t\t\t\tchildren,\n\t\t\t\tinitialValues,\n\t\t\t\tresetForm,\n\t\t\t\tonFieldChange,\n\t\t\t\tformRef\n\t\t\t)}\n\t\t\n\t);\n};\n\nForm.propTypes = {\n\tinitialValues: PropTypes.object,\n\tmethod: PropTypes.string,\n\taction: PropTypes.string,\n\tenctype: PropTypes.string,\n\tsendDataType: PropTypes.string,\n\tonSubmit: PropTypes.func,\n\tonChange: PropTypes.func,\n\tdefaultSubmit: PropTypes.bool,\n};\n\nForm.defaultProps = {\n\tmethod: 'post',\n\taction: '',\n\tenctype: 'application/x-www-form-urlencoded',\n};\n\nexport default Form;\n","import 'styles/fonts.scss';\n\nexport const fontFamily = 'raleway, sans-serif';\n\nexport const fontWeightSlim = 200;\nexport const fontWeightLight = 300;\nexport const fontWeightNormal = 400;\nexport const fontWeightMedium = 500;\nexport const fontWeightSemiBold = 600;\nexport const fontWeightBold = 700;\nexport const fontWeightVeryBold = 700;\nexport const fontWeightExtraBold = 800;\n","/**\n * Typography\n * @module components/Typography\n */\n\nimport styled, { css } from 'styled-components';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport {\n\tfontFamily,\n\tfontWeightNormal,\n\tfontWeightMedium,\n\tfontWeightSemiBold,\n} from 'theme/typography';\nimport { blue } from 'theme/colors';\n\nconst paragraph = {\n\tdesktop: {\n\t\tlarge: {\n\t\t\tfontSize: '1.6rem',\n\t\t\tlineHeight: '2.4rem',\n\t\t},\n\t\tdefault: {\n\t\t\tfontSize: '1.6rem',\n\t\t\tlineHeight: '2.4rem',\n\t\t},\n\t\tsmall: {\n\t\t\tfontSize: '1.4rem',\n\t\t\tlineHeight: '2.4rem',\n\t\t},\n\t},\n\tmobile: {\n\t\tlarge: {\n\t\t\tfontSize: '1.4rem',\n\t\t\tlineHeight: '2rem',\n\t\t},\n\t\tdefault: {\n\t\t\tfontSize: '1.4rem',\n\t\t\tlineHeight: '2rem',\n\t\t},\n\t\tsmall: {\n\t\t\tfontSize: '1.4rem',\n\t\t\tlineHeight: '2rem',\n\t\t},\n\t},\n};\n\nexport const paragraphCss = css`\n\tfont-family: ${fontFamily};\n\tfont-size: ${({ size }) =>\n\t\tsize\n\t\t\t? paragraph.desktop[size].fontSize\n\t\t\t: paragraph.desktop.default.fontSize};\n\tline-height: ${({ size }) =>\n\t\tsize\n\t\t\t? paragraph.desktop[size].lineHeight\n\t\t\t: paragraph.desktop.default.lineHeight};\n\tmargin-bottom: 1.2rem;\n\tmargin-top: 1.6rem;\n\tfont-weight: ${fontWeightNormal};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: ${({ size }) =>\n\t\t\tsize\n\t\t\t\t? paragraph.mobile[size].fontSize\n\t\t\t\t: paragraph.mobile.default.fontSize};\n\t\tline-height: ${({ size }) =>\n\t\t\tsize\n\t\t\t\t? paragraph.mobile[size].lineHeight\n\t\t\t\t: paragraph.mobile.default.lineHeight};\n\t}\n`;\n\nexport const H1Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightNormal};\n\tfont-size: 4.8rem;\n\tline-height: 5.6rem;\n\tmargin-bottom: 2rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 3.2rem;\n\t\tline-height: 4rem;\n\t\tmargin-bottom: 1.6rem;\n\t}\n`;\n\nexport const H2Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightNormal};\n\tfont-size: 3.2rem;\n\tline-height: 4rem;\n\tmargin-bottom: 1.8rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 2.4rem;\n\t\tline-height: 3.2rem;\n\t\tmargin-bottom: 1.6rem;\n\t}\n`;\nexport const H3Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightMedium};\n\tfont-size: 2.4rem;\n\tline-height: 3.2rem;\n\tmargin-bottom: 1.8rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.8rem;\n\t\tline-height: 2.4rem;\n\t\tmargin-bottom: 1.6rem;\n\t}\n`;\n\nexport const H4Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightMedium};\n\tfont-size: 1.8rem;\n\tline-height: 2.4rem;\n\tmargin-bottom: 1.6rem;\n`;\n\nexport const H5Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightMedium};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tmargin-bottom: 1.6rem;\n`;\n\nexport const H6Css = css`\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightSemiBold};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tmargin-bottom: 1.6rem;\n`;\n\nexport const Hero = styled.h1`\n\tfont-weight: ${fontWeightSemiBold};\n\tfont-size: 6.1rem;\n\tline-height: 7.2rem;\n\tmargin-bottom: 3.2rem;\n`;\n\nexport const H1 = styled.h1`\n\t${H1Css}\n`;\n\nexport const H2 = styled.h2`\n\t${H2Css}\n`;\n\nexport const H3 = styled.h3`\n\t${H3Css}\n`;\n\nexport const H4 = styled.h4`\n\t${H4Css}\n`;\n\nexport const H5 = styled.h5`\n\t${H5Css}\n`;\n\nexport const H6 = styled.h6`\n\t${H6Css}\n`;\n\nexport const Paragraph = styled.p`\n\t${paragraphCss}\n`;\n\nexport const HtmlText = styled.div`\n\tp {\n\t\t${paragraphCss}\n\t}\n\n\ta {\n\t\tcolor: ${blue};\n\t}\n`;\n","/**\n * Form\n * @module components/Form\n */\n\nimport styled, { css } from 'styled-components';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport {\n\tblack,\n\tgreyDark,\n\terrorRed,\n\twhite,\n\tblue,\n\tgreyDarker,\n\tgreyPlaceholder,\n\tgreen,\n\tgrey,\n} from 'theme/colors';\nimport * as colors from 'theme/colors';\nimport { fontFamily, fontWeightBold, fontWeightNormal } from 'theme/typography';\nimport { paragraphCss } from '../Typography';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { darken } from 'polished';\n\nexport const fieldCss = css`\n\tpadding: ${spacing1x} ${spacing2x};\n\tborder: 0.1rem solid ${greyDark};\n\tborder-radius: 0.4rem;\n\tfont-family: ${fontFamily};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\twidth: 100%;\n\t@media (max-width: 1150px) {\n\t\tfont-size: 1.4rem;\n\t\theight: 3.2rem;\n\t}\n\t:read-only,\n\t:disabled {\n\t\tbackground-color: ${grey};\n\t}\n\t:invalid {\n\t\tborder-color: ${props => (props.touched ? errorRed : greyDark)};\n\t}\n\t:valid {\n\t\tborder-color: ${props => (props.touched ? green : greyDark)};\n\t}\n`;\n\nexport const Input = styled.input`\n\t${fieldCss};\n\n\t::placeholder {\n\t\tcolor: ${greyPlaceholder};\n\t}\n`;\n\nexport const SelectField = styled.select`\n\t${fieldCss};\n\theight: 4.2rem;\n\n\t:read-only {\n\t\tbackground-color: ${white};\n\t}\n\t:required:invalid {\n\t\tcolor: ${greyDarker};\n\t}\n\t> option {\n\t\tcolor: ${black};\n\t}\n\t> option[value=''][disabled] {\n\t\tdisplay: none;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0 ${spacing1x};\n\t}\n`;\nexport const SelectPlaceholderOption = styled.option`\n\tcolor: ${greyDark};\n`;\n\nexport const ErrorText = styled.span`\n\t${paragraphCss};\n\tcolor: ${errorRed};\n\tmargin-top: 1.2rem;\n\tdisplay: ${props => (props.displayBlock ? 'block' : 'inline')};\n`;\n\nexport const Label = styled.label`\n\t${paragraphCss};\n\tfont-weight: ${fontWeightBold};\n`;\n\nexport const DefaultButton = styled.button`\n\t${paragraphCss};\n\tfont-weight: ${fontWeightNormal};\n\tvertical-align: middle;\n\ttext-align: center;\n\tpadding: ${spacing1x} 1.2rem;\n\tdisplay: inline-block;\n\tborder-radius: 0.5rem;\n\ttext-transform: uppercase;\n\ttransition: background-color 0.4s ease-out, border-color 0.4s ease-out;\n\tcursor: pointer;\n\ttext-decoration: none;\n\tbackground-color: ${({ buttonColor }) => colors[buttonColor]};\n\tcolor: ${({ buttonColor }) =>\n\t\tbuttonColor !== 'white' && buttonColor !== 'grey'\n\t\t\t? colors['white']\n\t\t\t: colors['greyDarkest']};\n\tborder: 0.2rem solid ${({ buttonColor }) => colors[buttonColor]};\n\t:hover {\n\t\tbackground-color: ${({ buttonColor }) =>\n\t\t\tdarken('0.1', colors[buttonColor])};\n\t}\n\n\t:hover {\n\t\tbackground-color: ${darken('0.1', blue)};\n\t}\n\n\t:disabled {\n\t\tcolor: ${greyDarker};\n\t\tbackground-color: ${grey};\n\t\tborder: 0.2rem solid ${grey};\n\t\tcursor: inherit;\n\t}\n\t& svg {\n\t\tcolor: inherit;\n\t\tfont-size: 2rem;\n\t\tvertical-align: middle;\n\t\tmargin-left: 0.6rem;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t\tpadding: 0.2rem 0.6rem;\n\t\t& svg {\n\t\t\tfont-size: 1.6rem;\n\t\t}\n\t}\n`;\n\nexport const StyledTextArea = styled.textarea`\n\twidth: 100%;\n\theight: 10rem;\n\tpadding: ${spacing1x};\n\tborder: 0.1rem solid ${greyDark};\n\tborder-radius: 0.4rem;\n\tmin-width: 100%;\n\tmax-width: 100%;\n\tmin-height: 10rem;\n\n\tfont-family: ${fontFamily};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\t::placeholder {\n\t\tcolor: ${greyPlaceholder};\n\t}\n\t:read-only {\n\t\tbackground-color: ${grey};\n\t}\n\t:invalid {\n\t\tborder-color: ${props => (props.touched ? errorRed : grey)};\n\t}\n\t:valid {\n\t\tborder-color: ${props => (props.touched ? green : grey)};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-bottom: ${spacing2x};\n\t}\n`;\n","/**\n * Field\n * @module components/Field\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\nimport { Input } from './Form.styles';\n\nconst Field = (props) => {\n\tconst {\n\t\tclassName,\n\t\tplaceholder,\n\t\tdescription,\n\t\tonFieldChange,\n\t\tdefaultValue,\n\t\tresetForm,\n\t\tautoSubmit,\n\t\tname,\n\t\tid,\n\t\tshowError,\n\t\tsetFocus,\n\t\tvisibleFields,\n\t\tvalidationMessage,\n\t\tpatternMessage,\n\t\tnoValidate,\n\t\ttype,\n\t\tvalidate,\n\t\tlabel,\n\t\thelpText,\n\t\tonBlur,\n\t\tdescribedby,\n\t\trequired,\n\t\tisValid,\n\t\tmaxLength,\n\t\t...allProps\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || '');\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField(value);\n\t\tconst fieldIsValid = !validatedField.message;\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\tif (isValid) {\n\t\t\t\tisValid(false, id);\n\t\t\t}\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t\tif (isValid) {\n\t\t\t\tisValid(true, id);\n\t\t\t}\n\t\t}\n\n\t\tif (!noValidate) {\n\t\t\tif (touched && !fieldIsValid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError &&\n\t\t\t\t\t!fieldIsValid &&\n\t\t\t\t\tvisibleFields &&\n\t\t\t\t\tvisibleFields.includes(id)) ||\n\t\t\t\t(showError && !fieldIsValid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\n\t\t\tif (setFocus) {\n\t\t\t\tfieldRef.current.focus();\n\t\t\t}\n\t\t} else if (validate && touched) {\n\t\t\tvalidate({ name, value });\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, value, setFocus, visibleFields, required]);\n\n\tconst onChange = (e) => {\n\t\tsetValue(e.target.value);\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: e.target.value,\n\t\t\ttype: 'Field',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\tif (noValidate) {\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetTouched(true);\n\t\t\t\t\tif (onBlur) onBlur(value);\n\t\t\t\t}}\n\t\t\t\tref={fieldRef}\n\t\t\t\tid={id}\n\t\t\t\ttype={type === null ? 'text' : type}\n\t\t\t\t{...allProps}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t {\n\t\t\t\tsetTouched(true);\n\t\t\t\tif (onBlur) onBlur({ [name]: value }, valid);\n\t\t\t}}\n\t\t\tref={fieldRef}\n\t\t\tid={id}\n\t\t\taria-describedby={`form${id}__desc${\n\t\t\t\tdescribedby ? ` ${describedby}` : ''\n\t\t\t}`}\n\t\t\ttype={type === null ? 'text' : type}\n\t\t\t{...allProps}\n\t\t/>\n\t);\n};\n\nField.propTypes = {\n\tclassName: PropTypes.string,\n\ttype: PropTypes.string,\n\tid: PropTypes.string,\n\tdescription: PropTypes.string,\n\tname: PropTypes.string,\n\tplaceholder: PropTypes.string,\n\tpattern: PropTypes.string,\n\trequired: PropTypes.bool,\n\tvalue: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t]),\n\tdefaultValue: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.any,\n\t]),\n\tsetFocus: PropTypes.bool,\n\tautoSubmit: PropTypes.bool,\n\tonFieldChange: PropTypes.func,\n\tdisabled: PropTypes.bool,\n\tshowError: PropTypes.bool,\n\tvisibleFields: PropTypes.any,\n\tvalidationMessage: PropTypes.string,\n\tpatternMessage: PropTypes.string,\n\tnoValidate: PropTypes.bool,\n};\n\nexport default Field;\n","/**\n * TextArea\n * @module components/Form/TextArea\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\nimport { StyledTextArea } from './Form.styles';\n\nconst TextArea = (props) => {\n\tconst {\n\t\tclassName,\n\t\ttype,\n\t\tid,\n\t\tdescription,\n\t\tname,\n\t\tplaceholder,\n\t\tdefaultValue,\n\t\trequired,\n\t\treadOnly,\n\t\tdisabled,\n\t\tautoSubmit,\n\t\tonFieldChange,\n\t\tshowError,\n\t\tvisibleFields,\n\t\ttranslations,\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || '');\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField(value);\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t}\n\n\t\tif (touched && !valid) {\n\t\t\tshowFieldError(validatedField);\n\t\t} else if (\n\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t(showError && !valid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(validatedField);\n\t\t} else {\n\t\t\thideFieldError();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, value]);\n\n\tconst onChange = (e) => {\n\t\tsetValue(e.target.value);\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: e.target.value,\n\t\t\ttype: 'TextArea',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\treturn (\n\t\t setTouched(true)}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t/>\n\t);\n};\n\nTextArea.propTypes = {\n\tclassName: PropTypes.string,\n\tid: PropTypes.string,\n\tdescription: PropTypes.string,\n\tname: PropTypes.string,\n\tplaceholder: PropTypes.string,\n\trequired: PropTypes.bool,\n\tvalue: PropTypes.string,\n\tdefaultValue: PropTypes.string,\n\tautoSubmit: PropTypes.bool,\n\tsetFocus: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\tonFieldChange: PropTypes.func,\n\tshowError: PropTypes.bool,\n\tvisibleFields: PropTypes.any,\n};\n\nexport default TextArea;\n","/**\n * Checkbox\n * @module components/Checkbox\n */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\n\n/**\n * Checks if the checkbox should be checked.\n */\nconst shouldBeChecked = (value, defaultValue) => {\n\tif (Array.isArray(defaultValue)) {\n\t\treturn defaultValue.indexOf(value) !== -1;\n\t} else {\n\t\treturn value === defaultValue;\n\t}\n};\n\nconst Checkbox = (props) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tvalue,\n\t\tsingle,\n\t\tshowError,\n\t\tclassName,\n\t\tvisibleFields,\n\t\tindex,\n\t\tvalidate,\n\t} = props;\n\tconst [checked, setChecked] = useState(\n\t\tshouldBeChecked(props.value, props.defaultValue)\n\t);\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tif (single) {\n\t\t\tconst validatedField = validateField(checked);\n\n\t\t\tif (validatedField.message) {\n\t\t\t\tsetValid(false);\n\t\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\t} else {\n\t\t\t\tsetValid(true);\n\n\t\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (touched && !valid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t\t(showError && !valid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\t\t} else if (validate && touched) {\n\t\t\tvalidate({ name, value });\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [\n\t\tvalid,\n\t\tdispatch,\n\t\ttouched,\n\t\tshowError,\n\t\tsetValid,\n\t\tvalidateField,\n\t\tshowFieldError,\n\t\thideFieldError,\n\t\tinvalidFields,\n\t\tvisibleFields,\n\t\tid,\n\t\tsingle,\n\t\tchecked,\n\t]);\n\n\tconst onChange = (e) => {\n\t\tsetChecked(e.target.checked);\n\t\tif (!touched) {\n\t\t\tsetTouched(true);\n\t\t}\n\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: e.target.value,\n\t\t\tchecked: e.target.checked,\n\t\t\tautoSubmit,\n\t\t\ttype: 'Checkbox',\n\t\t});\n\t};\n\n\treturn (\n\t\t= 0 ? `${id}-${index}` : id}\n\t\t\tname={name}\n\t\t\tclassName={className}\n\t\t\tvalue={value}\n\t\t\tchecked={checked}\n\t\t\tonChange={onChange}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t\taria-invalid={single ? !valid : undefined}\n\t\t/>\n\t);\n};\n\nCheckbox.propTypes = {\n\ttype: PropTypes.string,\n\tid: PropTypes.string,\n\tname: PropTypes.string,\n\tplaceholder: PropTypes.string,\n\tvalue: PropTypes.string,\n\tdefaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n\tautoSubmit: PropTypes.bool,\n\tonFieldChange: PropTypes.func,\n\tsingle: PropTypes.bool,\n\tshowError: PropTypes.bool,\n\tvisibleFields: PropTypes.any,\n\tindex: PropTypes.number,\n};\n\nexport default Checkbox;\n","/**\n * RadioButton\n * @module components/RadioButton\n */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\n\nconst RadioButton = (props) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\tdefaultValue,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tvalue,\n\t\tsingle,\n\t\tshowError,\n\t\tclassName,\n\t\tvisibleFields,\n\t\tindex,\n\t\ttranslations,\n\t} = props;\n\tconst [checked, setChecked] = useState('');\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tif (single) {\n\t\t\tconst validatedField = validateField(checked);\n\n\t\t\tif (validatedField.message) {\n\t\t\t\tsetValid(false);\n\t\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\t} else {\n\t\t\t\tsetValid(true);\n\n\t\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (touched && !valid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t\t(showError && !valid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tvalid,\n\t\tdispatch,\n\t\ttouched,\n\t\tshowError,\n\t\tsetValid,\n\t\tvalidateField,\n\t\tshowFieldError,\n\t\thideFieldError,\n\t\tinvalidFields,\n\t\tvisibleFields,\n\t\tid,\n\t\tsingle,\n\t\tchecked,\n\t]);\n\n\tconst onChange = (e) => {\n\t\tsetChecked(e.target.value);\n\t\tif (!touched) {\n\t\t\tsetTouched(true);\n\t\t}\n\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: e.target.value,\n\t\t\ttype: 'RadioButton',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\treturn (\n\t\t= 0 ? `${id}-${index}` : id}\n\t\t\tname={name}\n\t\t\tvalue={value}\n\t\t\tclassName={className}\n\t\t\tdefaultChecked={value === defaultValue}\n\t\t\tref={fieldRef}\n\t\t\tonChange={onChange}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t/>\n\t);\n};\n\nRadioButton.propTypes = {\n\ttype: PropTypes.string,\n\tid: PropTypes.string,\n\tname: PropTypes.string,\n\tplaceholder: PropTypes.string,\n\tvalue: PropTypes.string,\n\tdefaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n\tautoSubmit: PropTypes.bool,\n\tonFieldChange: PropTypes.func,\n\tsingle: PropTypes.bool,\n\tshowError: PropTypes.bool,\n\tvisibleFields: PropTypes.any,\n\tindex: PropTypes.number,\n};\n\nexport default RadioButton;\n","/**\n * Select\n * @module components/Select\n */\n\nimport React, { useRef, useState, useEffect } from 'react';\nimport ReactSelect from 'react-select';\n\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\nimport { SelectField, SelectPlaceholderOption } from './Form.styles';\nimport { FieldChangeModel, FieldGeneralPropsModel } from 'types/common';\n\n/**\n * Formats the select options to work with ReactSelect component\n * @param {Array} options\n */\n\ninterface OptionsItemModel {\n\ttext: string;\n\tvalue: string;\n}\n\ninterface SelectModel extends FieldGeneralPropsModel {\n\tdescription?: string;\n\tname: string;\n\toptions: OptionsItemModel[];\n\tplaceholder?: string;\n\tselectedValue: string;\n\tdefaultValue?: string | [];\n\tautoSubmit?: boolean;\n\tonFieldChange?: ({}: FieldChangeModel) => void;\n\tonChange: ({}: any, valid: boolean) => void;\n\tshowError?: boolean;\n\tvisibleFields?: any;\n\tclassName?: string;\n\thelpText?: string;\n}\n\nconst formatMultiselectOptions = (options: OptionsItemModel[]) => {\n\treturn options.map((option) => {\n\t\treturn {\n\t\t\tvalue: option.value,\n\t\t\tlabel: option.text,\n\t\t};\n\t});\n};\n\nconst Select = (props: SelectModel) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\toptions,\n\t\tmultiple,\n\t\tdefaultValue,\n\t\tdescription,\n\t\tplaceholder,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tshowError,\n\t\tvalidationMessage,\n\t\tlabel,\n\t\tvisibleFields,\n\t\tclassName,\n\t\thelpText,\n\t\tselectedValue,\n\t\trequired,\n\t\tonChange,\n\t\t...allProps\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || selectedValue || '');\n\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst fieldNode = multiple ? null : fieldRef;\n\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldNode,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tselectedValue !== null &&\n\t\t\tselectedValue !== '' &&\n\t\t\ttypeof selectedValue !== 'undefined' &&\n\t\t\tselectedValue !== value\n\t\t) {\n\t\t\tsetValue(selectedValue);\n\t\t\tonFieldChange &&\n\t\t\t\tonFieldChange({\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: selectedValue,\n\t\t\t\t\ttype: 'Select',\n\t\t\t\t\tautoSubmit: autoSubmit ? autoSubmit : false,\n\t\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [selectedValue]);\n\n\tuseEffect(() => {\n\t\tlet validatedField = null;\n\t\tconst message = '';\n\t\tif (multiple) {\n\t\t\tvalidatedField = { id, label, message };\n\t\t\tif (value.length === 0) {\n\t\t\t\tvalidatedField.message =\n\t\t\t\t\tvalidationMessage ||\n\t\t\t\t\t'Du måste fylla i det här fältet för att gå vidare.';\n\t\t\t}\n\t\t} else {\n\t\t\tvalidatedField = validateField(value);\n\t\t}\n\n\t\tif (validatedField && validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (validatedField) {\n\t\t\t\tif (invalidFields.includes(validatedField?.id)) {\n\t\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (touched && !valid) {\n\t\t\tshowFieldError(\n\t\t\t\tvalidatedField as any,\n\t\t\t\tmultiple ? 'multiselect' : undefined\n\t\t\t);\n\t\t} else if (\n\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t(showError && !valid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(\n\t\t\t\tvalidatedField as any,\n\t\t\t\tmultiple ? 'multiselect' : undefined\n\t\t\t);\n\t\t} else {\n\t\t\thideFieldError(\n\t\t\t\tvalidatedField as any,\n\t\t\t\tmultiple ? 'multiselect' : undefined\n\t\t\t);\n\t\t}\n\t}, [\n\t\tvalid,\n\t\tdispatch,\n\t\ttouched,\n\t\tshowError,\n\t\tsetValid,\n\t\tvalue,\n\t\tvalidateField,\n\t\tshowFieldError,\n\t\thideFieldError,\n\t\tinvalidFields,\n\t\tid,\n\t\tlabel,\n\t\tvalidationMessage,\n\t\tmultiple,\n\t\tvisibleFields,\n\t\tclassName,\n\t]);\n\n\tconst handleChange = (e: React.ChangeEvent) => {\n\t\tif (multiple) {\n\t\t\tsetValue(e);\n\t\t\tonFieldChange &&\n\t\t\t\tonFieldChange({\n\t\t\t\t\tname,\n\t\t\t\t\tvalue,\n\t\t\t\t\ttype: 'Select',\n\t\t\t\t\tautoSubmit: autoSubmit ? autoSubmit : false,\n\t\t\t\t});\n\t\t} else {\n\t\t\tconst selectedOption = e.target.options[e.target.selectedIndex];\n\t\t\tsetValue(selectedOption.value || selectedOption.text);\n\t\t\tonFieldChange &&\n\t\t\t\tonFieldChange({\n\t\t\t\t\tname,\n\t\t\t\t\tvalue: selectedOption.value || selectedOption.text,\n\t\t\t\t\ttype: 'Select',\n\t\t\t\t\tautoSubmit: autoSubmit ? autoSubmit : false,\n\t\t\t\t});\n\n\t\t\tif (onChange) {\n\t\t\t\tonChange(\n\t\t\t\t\t{ [name]: selectedOption.value || selectedOption.text },\n\t\t\t\t\tvalid\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (multiple) {\n\t\tconst formattedOptions = formatMultiselectOptions(options);\n\t\tconst defaultValues = (defaultValue as []).map((option: string) => {\n\t\t\treturn formattedOptions.filter((opt) => opt.value === option)[0];\n\t\t});\n\n\t\treturn (\n\t\t\t//@ts-ignore\n\t\t\t 'Inga alternativ'}\n\t\t\t\tloadingMessage=\"Laddar\"\n\t\t\t\tref={fieldRef}\n\t\t\t\tonChange={handleChange}\n\t\t\t\taria-describedby={`form${id}__desc`}\n\t\t\t\taria-invalid={!valid}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t setTouched(true)}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t\tclassName={className}\n\t\t\trequired={required}\n\t\t\t{...allProps}\n\t\t>\n\t\t\t{placeholder && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{options.map(({ value, text }) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\nexport default Select;\n","/**\n * Button\n * @module components/Button\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { DefaultButton } from './Form.styles';\n\nconst Button = props => {\n\tconst {\n\t\ttype,\n\t\tbuttonColor,\n\t\tonFieldChange,\n\t\tresetForm,\n\t\tshowError,\n\t\tvisibleFields,\n\t\t...propsToTransfer\n\t} = props;\n\n\tif (type.toLowerCase() === 'reset') {\n\t\treturn (\n\t\t\t\n\t\t\t\t{props.children}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t{props.children}\n\t\t\t\n\t\t);\n\t}\n};\n\nButton.propTypes = {\n\ttype: PropTypes.string,\n\tonFieldChange: PropTypes.func,\n\tresetForm: PropTypes.func,\n\tshowError: PropTypes.bool,\n\tvisibleFields: PropTypes.any,\n};\n\nButton.defaultProps = {\n\ttype: 'button',\n};\n\nexport default Button;\n","/**\n * Fieldset\n * @module components/Fieldset\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useFieldValidation } from 'hooks';\nimport { useFormValue } from 'context/form.context';\n\nconst Fieldset = props => {\n\tconst {\n\t\tlabel,\n\t\tdescription,\n\t\tchildren,\n\t\tid,\n\t\trequired,\n\t\tvalidationMessage,\n\t\terrorRef,\n\t\tisInvalid,\n\t\tshowError,\n\t\tvisibleFields,\n\t\tclassName,\n\t\tvisibleLabel,\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField('fieldset');\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t}\n\n\t\tconst partOfVisibleFields =\n\t\t\tvisibleFields &&\n\t\t\tvisibleFields.filter(fieldName => fieldName.includes(id));\n\n\t\tif (touched && !valid) {\n\t\t\tshowFieldError(validatedField, 'fieldset');\n\t\t} else if (\n\t\t\t(showError &&\n\t\t\t\t!valid &&\n\t\t\t\tvisibleFields &&\n\t\t\t\tpartOfVisibleFields &&\n\t\t\t\tpartOfVisibleFields.length > 0) ||\n\t\t\t(showError && !valid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(validatedField, 'fieldset');\n\t\t} else {\n\t\t\thideFieldError('fieldset');\n\t\t}\n\t}, [\n\t\tvalid,\n\t\tdispatch,\n\t\ttouched,\n\t\tshowError,\n\t\tsetValid,\n\t\tvalidateField,\n\t\tshowFieldError,\n\t\thideFieldError,\n\t\tinvalidFields,\n\t\tvisibleFields,\n\t\tid,\n\t]);\n\n\tconst errorClassname = isInvalid\n\t\t? 'form__label--invalid'\n\t\t: 'form__label--invalid form__label--hidden';\n\n\treturn (\n\t\t setTouched(true)}\n\t\t>\n\t\t\t\n\t\t\t\t{label}\n\t\t\t\t{required && (\n\t\t\t\t\t\n\t\t\t\t\t\t*\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t
{children}
\n\n\t\t\t\n\t\t\t\t{validationMessage || ''}\n\t\t\t\n\t\t\n\t);\n};\n\nFieldset.propTypes = {\n\tid: PropTypes.string,\n\tdescription: PropTypes.string,\n\tvalidationMessage: PropTypes.string,\n\trequired: PropTypes.bool,\n\tisInvalid: PropTypes.bool,\n\tlabel: PropTypes.string,\n\terrorRef: PropTypes.any,\n\tshowError: PropTypes.bool,\n\tclassName: PropTypes.string,\n\tvisibleFields: PropTypes.any,\n\tvisibleLabel: PropTypes.bool,\n};\n\nexport default Fieldset;\n","import React from 'react';\nimport {\n\tField,\n\tTextArea,\n\tCheckbox,\n\tRadioButton,\n\tSelect,\n\tButton,\n\tFieldset,\n} from 'components/ui/Form';\n\n/**\n * Custom hook for cloning and rendering children with custom props in form\n * @param {Boolean} showError - Boolean indicating if field errors should be shown or hidden\n */\nexport const useChildClones = (showError, visibleFields) => {\n\tconst formFieldNameCounter = {};\n\n\t/**\n\t * Returns true if element is a Form field type.\n\t */\n\tconst isValidFormElement = (element) => {\n\t\tswitch (element.type) {\n\t\t\tcase Checkbox:\n\t\t\tcase Field:\n\t\t\tcase TextArea:\n\t\t\tcase RadioButton:\n\t\t\tcase Button:\n\t\t\tcase Select:\n\t\t\tcase Fieldset:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n\n\tconst renderChildren = (\n\t\tchildren,\n\t\tinitialValues,\n\t\tresetForm,\n\t\tonFieldChange,\n\t\tformRef\n\t) => {\n\t\tif (!children) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst renderedChildren = React.Children.map(children, (child) => {\n\t\t\tconst props = child && child.props ? { ...child.props } : {};\n\n\t\t\tif (!React.isValidElement(child)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tif (isValidFormElement(child) || child.props.useFormRef) {\n\t\t\t\tconst { name } = child.props;\n\t\t\t\tprops.onFieldChange = onFieldChange;\n\t\t\t\tprops.resetForm = resetForm;\n\t\t\t\tprops.showError = showError;\n\t\t\t\tprops.visibleFields = visibleFields;\n\n\t\t\t\t// Only send refernece to the form to form elements with prop useFormRef added\n\t\t\t\tif (child.props.useFormRef) {\n\t\t\t\t\tprops.formRef = formRef;\n\t\t\t\t}\n\n\t\t\t\tif (initialValues[name]) {\n\t\t\t\t\tprops.defaultValue = initialValues[name];\n\t\t\t\t}\n\n\t\t\t\tif (!formFieldNameCounter[name]) {\n\t\t\t\t\tformFieldNameCounter[name] = 1;\n\t\t\t\t} else {\n\t\t\t\t\tformFieldNameCounter[name] += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (child.props && child.props.children) {\n\t\t\t\tprops.children = renderChildren(\n\t\t\t\t\tchild.props.children,\n\t\t\t\t\tinitialValues,\n\t\t\t\t\tresetForm,\n\t\t\t\t\tonFieldChange,\n\t\t\t\t\tformRef\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn React.cloneElement(child, props);\n\t\t});\n\n\t\tif (renderedChildren.length === 1) {\n\t\t\treturn renderedChildren[0];\n\t\t} else {\n\t\t\treturn renderedChildren;\n\t\t}\n\t};\n\n\treturn [renderChildren, formFieldNameCounter];\n};\n","import { RefObject } from 'react';\nimport { FieldPropsModel } from 'types/common';\n\n/**\n * Custom hook for validating a field\n * @param {Node} fieldRef - The field node\n * @param {Object} fieldProps - The field component props\n */\n\nexport interface FieldModel {\n\tid: string;\n\tlabel: string;\n\tmessage: string;\n}\n\nexport const useFieldValidation = (\n\tfieldRef: RefObject | null,\n\tfieldProps: FieldPropsModel\n) => {\n\tconst {\n\t\trequired,\n\t\tpattern,\n\t\tlabel,\n\t\tid,\n\t\ttype,\n\t\tvalidationMessage,\n\t\tpatternMessage,\n\t\tsingle,\n\t\tmultiple,\n\t\tmin,\n\t\tmax,\n\t\trangeMessage,\n\t} = fieldProps;\n\n\tconst validateField = (value: string | number) => {\n\t\tconst message = '';\n\t\tlet field = { id, label, message };\n\n\t\tconst fieldIsNotValid = value !== '' && !fieldRef?.current?.checkValidity();\n\t\tconst requiredFieldIsNotFilledIn =\n\t\t\t(required && value === '') ||\n\t\t\t(required && value === 'fieldset' && !fieldsetHasOneCheckedInput());\n\t\tconst fieldDoesNotMatchPattern =\n\t\t\t!value.toString().match(pattern ? pattern : '') && value !== '';\n\t\tconst singleInputIsNotChecked = single && required && !value;\n\t\tconst fieldIsNotWithinRange =\n\t\t\t((value as number) - (min ? min : 0)) *\n\t\t\t\t((value as number) - (max ? max : 0)) >\n\t\t\t0;\n\n\t\tif (type && type.toLowerCase() === 'url' && fieldIsNotValid) {\n\t\t\tfield.message = validationMessage || 'Ange en giltig url';\n\t\t} else if (type && type.toLowerCase() === 'email' && fieldIsNotValid) {\n\t\t\tfield.message =\n\t\t\t\tpatternMessage || validationMessage || 'Ange en giltig e-postadress';\n\t\t} else if (requiredFieldIsNotFilledIn || singleInputIsNotChecked) {\n\t\t\tfield.message = validationMessage || 'Obligatoriskt fält';\n\t\t} else if (pattern && fieldDoesNotMatchPattern) {\n\t\t\tfield.message =\n\t\t\t\tpatternMessage || 'Vänligen matcha det förväntade formatet.';\n\t\t} else if (rangeMessage && fieldIsNotWithinRange) {\n\t\t\tfield.message =\n\t\t\t\trangeMessage || 'Vänligen matcha det förväntade formatet.';\n\t\t}\n\n\t\treturn field;\n\t};\n\n\t/**\n\t * Checks if any input (radio/checkbox) within the fieldset group has been checked\n\t */\n\tconst fieldsetHasOneCheckedInput = () => {\n\t\tvar allInputs = fieldRef?.current?.querySelectorAll('input'),\n\t\t\thasOneValidInput = false;\n\n\t\tallInputs?.forEach((field: { checked: any }) => {\n\t\t\tif (field.checked) {\n\t\t\t\thasOneValidInput = true;\n\t\t\t}\n\t\t});\n\n\t\treturn hasOneValidInput;\n\t};\n\n\t/**\n\t * Displays a field error with message\n\t * @param {Node} field - Field object with message, id and label\n\t * @param {Boolean} fieldType - The field type\n\t */\n\tconst showFieldError = (field: FieldModel, fieldType?: string) => {\n\t\tlet label = document.querySelector(`#form${id}__desc`);\n\n\t\tif (fieldRef === null && multiple) {\n\t\t\tfieldRef = document.querySelector('.select__control') as any;\n\t\t}\n\n\t\tif (fieldType === 'fieldset') {\n\t\t\tconst invalidLabel = fieldRef?.current?.querySelector(\n\t\t\t\t'.form__label--invalid'\n\t\t\t);\n\t\t\tif (label && invalidLabel !== undefined) {\n\t\t\t\tlabel = invalidLabel;\n\t\t\t}\n\t\t} else if (fieldType === 'multiselect') {\n\t\t\tconst fieldNode = document.querySelector('.select__control');\n\t\t\tfieldNode && fieldNode.classList.add('form__field--invalid');\n\t\t} else {\n\t\t\tfieldRef?.current?.classList.add('form__field--invalid');\n\t\t}\n\n\t\tif (label) {\n\t\t\tlabel.textContent = field.message;\n\t\t\tlabel.classList.remove('form__label--hidden');\n\t\t}\n\t};\n\n\t/**\n\t * Hides field error and clears message\n\t * @param {Boolean} fieldType - The field type\n\t */\n\tconst hideFieldError = (fieldType: string) => {\n\t\tlet label = document.querySelector(`#form${id}__desc`);\n\n\t\tif (fieldRef === null && multiple) {\n\t\t\tfieldRef = document.querySelector('.select__control') as any;\n\t\t}\n\n\t\tif (fieldType === 'fieldset') {\n\t\t\tconst invalidLabel = fieldRef?.current?.querySelector(\n\t\t\t\t'.form__label--invalid'\n\t\t\t);\n\t\t\tif (label && invalidLabel !== undefined) {\n\t\t\t\tlabel = invalidLabel;\n\t\t\t}\n\t\t} else if (fieldType === 'multiselect') {\n\t\t\tconst fieldNode = document.querySelector('.select__control');\n\t\t\tfieldNode && fieldNode.classList.remove('form__field--invalid');\n\t\t} else if (fieldType !== 'fieldset') {\n\t\t\tfieldRef?.current?.classList.remove('form__field--invalid');\n\t\t}\n\n\t\tif (label) {\n\t\t\tlabel.textContent = '';\n\t\t\tlabel.classList.add('form__label--hidden');\n\t\t}\n\t};\n\n\treturn [validateField, showFieldError, hideFieldError];\n};\n","import { useState } from 'react';\n\nexport const useForceUpdate = () => {\n\tconst [value, setValue] = useState(0);\n\treturn () => setValue(value => ++value);\n};\n","var _desc, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCirclePattern(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"482px\",\n height: \"345px\",\n viewBox: \"0 0 482 345\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Circle Pattern\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Images\",\n strokeWidth: 1,\n fillRule: \"evenodd\",\n opacity: 0.25\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_-/-BG-Pattern-/-v2---White---25%\",\n transform: \"translate(-82.000000, -90.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_-/-BG-Pattern-/-v1---Lindab-Blue---25%\",\n transform: \"translate(82.000000, 90.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.9452265,258.861489 C34.0345446,136.765858 132.143097,37.8345826 254,35.9529846 L254,0 C112.846254,3.03636072 0,118.548274 0,260 C0,401.451726 112.846254,516.963639 254,520 L254,482.848583 C131.781452,480.829786 33.57915,381.324817 32.9452265,258.861489 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140,259.46064 C139.957817,323.279416 190.348854,375.676984 254,378 L254,342.042661 C209.995209,340.357091 175.189023,304.123659 175.189023,260 C175.189023,215.876341 209.995209,179.642909 254,177.957339 L254,142 C190.575072,143.877464 140.101585,195.883161 140,259.46064 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.6756,259.398734 C105.049669,175.8551 172.182211,107.836008 256,106.075949 L256,70 C153.338006,73.640407 72,157.63074 72,260 C72,362.36926 153.338006,446.359593 256,450 L256,413.924051 C171.768909,412.026435 104.52274,343.35783 104.6756,259.398734 L104.6756,259.398734 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M482,259.459372 C481.747804,137.039109 383.759861,37.5102915 262,36 L262,70.1196031 C366.277047,70.1196031 450.810296,155.105058 450.810296,259.93993 C450.810296,364.774802 366.277047,449.760257 262,449.760257 L262,484 C384.096576,482.290495 482.142492,382.220918 482,259.459372 L482,259.459372 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M376.326818,259.518374 C376.287984,324.010902 325.629511,376.77645 262,378.600469 L262,414 C345.947282,414 414,345.051851 414,260 C414,174.948149 345.947282,106 262,106 L262,141.279124 C325.36169,142.968008 375.963821,195.301818 376.326818,259.518374 Z\",\n id: \"Path\"\n })))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCirclePattern);\nexport default __webpack_public_path__ + \"static/media/circle-pattern.9afde409.svg\";\nexport { ForwardRef as ReactComponent };","/**\n * Checks and returns outcome of field actions the given field is dependent on\n * @param {Array} fieldActions - Actions the field is depending on\n * @param {Object} values - The current values in form\n */\nexport const checkFieldActions = (fieldActions, values) => {\n\tlet actions = {};\n\tif (fieldActions && fieldActions.length > 0) {\n\t\tlet allActionOutcomes = {\n\t\t\trequired: [],\n\t\t};\n\n\t\tfieldActions.forEach(action => {\n\t\t\tconst fieldId = `__field_${action.field}`;\n\n\t\t\tswitch (action.thenAction) {\n\t\t\t\tcase 'Hem.Features.Forms.Validators.IsRequiredValidator':\n\t\t\t\t\tconst operatorResult = checkOperator(\n\t\t\t\t\t\taction.operator,\n\t\t\t\t\t\tvalues[fieldId],\n\t\t\t\t\t\taction.whenValue\n\t\t\t\t\t);\n\t\t\t\t\tallActionOutcomes.required.push(operatorResult);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\tObject.keys(allActionOutcomes).forEach(attribute => {\n\t\t\tif (allActionOutcomes[attribute].includes(false)) {\n\t\t\t\tactions = { ...actions, [attribute]: false };\n\t\t\t} else {\n\t\t\t\tactions = { ...actions, [attribute]: true };\n\t\t\t}\n\t\t});\n\t}\n\treturn actions;\n};\n\n/**\n * Checks the outcome of an operator\n * @param {String} operator - equal\n * @param {String/Number} dependencyField - Value of the field the action is connected to\n * @param {String} compareValue - Value to compare against/expected value\n */\nconst checkOperator = (operator, dependencyField, compareValue) => {\n\tswitch (operator) {\n\t\tcase 'equal':\n\t\t\treturn dependencyField === compareValue;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n","import React, { Component } from 'react';\n\nexport const LocalizationContext = React.createContext({});\n\nexport class LocalizationProvider extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tmodel: props.model.translations || {},\n\t\t};\n\t}\n\n\t/**\n\t * Translate a given term\n\t */\n\tt = (term) => {\n\t\treturn this.state.model[`/frontend/${term}`]\n\t\t\t? this.state.model[`/frontend/${term}`]\n\t\t\t: `/frontend/${term}`;\n\t};\n\n\t/**\n\t * The render function\n\t */\n\trender() {\n\t\tconst { children } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport const LocalizationConsumer = LocalizationContext.Consumer;\n","import { LocalizationContext } from 'context/localization.context';\nimport { useContext } from 'react';\n\n/**\n * Custom hook for validating a field\n */\nexport const useFieldValidation = (fieldRef, fieldProps) => {\n\tconst {\n\t\trequired,\n\t\tpattern,\n\t\tlabel,\n\t\tid,\n\t\ttype,\n\t\tvalidationMessage,\n\t\tpatternMessage,\n\t\tsingle,\n\t\tmin,\n\t\tmax,\n\t\trangeMessage,\n\t\ttranslations,\n\t} = fieldProps;\n\n\tconst validateField = (value) => {\n\t\tlet field = { id, label };\n\n\t\tconst fieldIsNotValid = value !== '' && !fieldRef.current.checkValidity();\n\t\tconst requiredFieldIsNotFilledIn =\n\t\t\t(required && value === '') ||\n\t\t\t(required && value === 'fieldset' && !fieldsetHasOneCheckedInput());\n\t\tconst fieldDoesNotMatchPattern =\n\t\t\tpattern && !value.toString().match(pattern) && value !== '';\n\t\tconst singleInputIsNotChecked = single && required && !value;\n\t\tconst fieldIsNotWithinRange = (value - min) * (value - max) > 0;\n\n\t\tif (type === 'url' && fieldIsNotValid) {\n\t\t\tfield.message =\n\t\t\t\tvalidationMessage ||\n\t\t\t\ttranslations['/frontend/shared/form/urlvalidationmessage'];\n\t\t} else if (type === 'email' && fieldIsNotValid) {\n\t\t\tfield.message =\n\t\t\t\tpatternMessage ||\n\t\t\t\tvalidationMessage ||\n\t\t\t\ttranslations['/frontend/shared/form/emailvalidationmessage'];\n\t\t} else if (requiredFieldIsNotFilledIn || singleInputIsNotChecked) {\n\t\t\tfield.message =\n\t\t\t\tvalidationMessage ||\n\t\t\t\ttranslations['/frontend/shared/form/requiredfieldmessage'];\n\t\t} else if (pattern && fieldDoesNotMatchPattern) {\n\t\t\tfield.message =\n\t\t\t\tpatternMessage ||\n\t\t\t\ttranslations['/frontend/articledetailconfpage/patternmessage'];\n\t\t} else if (rangeMessage && fieldIsNotWithinRange) {\n\t\t\tfield.message =\n\t\t\t\trangeMessage ||\n\t\t\t\ttranslations['/frontend/articledetailconfpage/patternmessage'];\n\t\t}\n\n\t\treturn field;\n\t};\n\n\t/**\n\t * Checks if any input (radio/checkbox) within the fieldset group has been checked\n\t */\n\tconst fieldsetHasOneCheckedInput = () => {\n\t\tconst allInputs = fieldRef.current.querySelectorAll('input');\n\t\tlet hasOneValidInput = false;\n\n\t\tallInputs.forEach((field) => {\n\t\t\tif (field.checked) {\n\t\t\t\thasOneValidInput = true;\n\t\t\t}\n\t\t});\n\n\t\treturn hasOneValidInput;\n\t};\n\n\t/**\n\t * Displays a field error with message\n\t */\n\tconst showFieldError = (field) => {\n\t\tlet label = document.querySelector(`#form${id}__desc`);\n\t\tfieldRef.current.classList.add('invalid');\n\n\t\tif (label) {\n\t\t\tlabel.textContent = field.message;\n\t\t\tlabel.removeAttribute('hidden');\n\t\t}\n\t};\n\n\t/**\n\t * Hides field error and clears message\n\t */\n\tconst hideFieldError = () => {\n\t\tlet label = document.querySelector(`#form${id}__desc`);\n\t\tfieldRef.current.classList.remove('invalid');\n\n\t\tif (label) {\n\t\t\tlabel.textContent = '';\n\t\t\tlabel.setAttribute('hidden', 'true');\n\t\t}\n\t};\n\n\treturn [validateField, showFieldError, hideFieldError];\n};\n","import React, { createContext, useContext, useReducer } from 'react';\n\nconst FORM_UPDATE = 'FORM_UPDATE';\nconst FIELD_INVALID = 'FIELD_INVALID';\nconst FIELD_VALID = 'FIELD_VALID';\n\nconst FormReducer = (state, action) => {\n\tswitch (action.type) {\n\t\tcase FORM_UPDATE:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tvalues: action.values,\n\t\t\t};\n\t\tcase FIELD_INVALID:\n\t\t\tconst validationMessageHasNotChanged =\n\t\t\t\tstate.validationMessages.hasOwnProperty(action.field.id) &&\n\t\t\t\tstate.validationMessages[action.field.id].message &&\n\t\t\t\tstate.validationMessages[action.field.id].message ===\n\t\t\t\t\taction.field.message;\n\n\t\t\tif (\n\t\t\t\tstate.invalidFields.includes(action.field.id) &&\n\t\t\t\tvalidationMessageHasNotChanged\n\t\t\t) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tconst currentInvalidFields = state.invalidFields.slice(0).filter(item => {\n\t\t\t\treturn item !== action.field.id;\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinvalidFields: [...currentInvalidFields, action.field.id],\n\t\t\t\tvalidationMessages: {\n\t\t\t\t\t...state.validationMessages,\n\t\t\t\t\t[action.field.id]: action.field,\n\t\t\t\t},\n\t\t\t};\n\t\tcase FIELD_VALID:\n\t\t\tconst updatedFields = state.invalidFields.slice(0).filter(item => {\n\t\t\t\treturn item !== action.field.id;\n\t\t\t});\n\n\t\t\tconst updatedMessages = { ...state.validationMessages };\n\n\t\t\tif (updatedMessages[action.field.id]) {\n\t\t\t\tdelete updatedMessages[action.field.id];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tinvalidFields: updatedFields,\n\t\t\t\tvalidationMessages: updatedMessages,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport const FormContext = createContext([]);\n\nexport const FormProvider = ({ initialState, children }) => (\n\t\n\t\t{children}\n\t\n);\n\nexport const useFormValue = () => useContext(FormContext);\n","/**\n * Form - styles\n */\n\nimport styled, { css } from 'styled-components';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport {\n\tblack,\n\tgreyDark,\n\terrorRed,\n\twhite,\n\tgreyDarker,\n\tgreyPlaceholder,\n\tgrey,\n} from 'theme/colors';\nimport * as colors from 'theme/colors';\nimport { fontFamily, fontWeightBold } from 'theme/typography';\nimport { darken } from 'polished';\n\nexport const FieldWrapper = styled.div`\n\tmargin-bottom: ${spacing2x};\n`;\n\nexport const fieldCss = css`\n\tpadding: ${spacing1x} ${spacing2x};\n\tborder: 0.1rem solid ${greyDark};\n\tborder-radius: 0.4rem;\n\tfont-family: ${fontFamily};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\twidth: 100%;\n\t@media (max-width: 1150px) {\n\t\tfont-size: 1.4rem;\n\t\theight: 3.2rem;\n\t\tpadding: 0 ${spacing1x};\n\t}\n\t:read-only,\n\t:disabled {\n\t\tbackground-color: ${grey};\n\t}\n\t&.invalid {\n\t\tborder-color: ${errorRed};\n\t}\n\t&[type='file'] {\n\t\theight: 4.2rem;\n\t\tpadding: ${spacing1x};\n\t}\n`;\n\nexport const Input = styled.input`\n\t${fieldCss};\n\n\t::placeholder {\n\t\tcolor: ${greyPlaceholder};\n\t}\n`;\n\nexport const Select = styled.select`\n\t${fieldCss};\n\n\t:read-only {\n\t\tbackground-color: ${white};\n\t}\n\t:required:invalid {\n\t\tcolor: ${greyDarker};\n\t}\n\t> option {\n\t\tcolor: ${black};\n\t}\n\t> option[value=''][disabled] {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const CheckboxLabel = styled.label`\n\tdisplay: block;\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n`;\n\nexport const Textarea = styled(Input)`\n\t${fieldCss};\n\theight: 10rem;\n\tmin-height: 10rem;\n`;\n\nexport const Fieldset = styled.fieldset`\n\tborder: 0;\n\tpadding: 0;\n\n\tlabel {\n\t\tdisplay: block;\n\t\tfont-size: 1.6rem;\n\t\tline-height: 2.4rem;\n\t}\n`;\n\nexport const Legend = styled.legend`\n\tdisplay: block;\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: ${fontWeightBold};\n\n\tabbr {\n\t\ttext-decoration: none;\n\t}\n`;\n\nexport const Button = styled.button`\n\tmargin: 0 ${spacing2x} 0 0;\n\tfont-family: ${fontFamily};\n\tbackground-color: ${({ buttonColor }) => colors[buttonColor]};\n\tcolor: ${({ buttonColor }) =>\n\t\tbuttonColor !== 'white' && buttonColor !== 'grey'\n\t\t\t? colors['white']\n\t\t\t: colors['greyDarkest']};\n\tborder: 0.2rem solid ${({ buttonColor }) => colors[buttonColor]};\n\t:hover {\n\t\tbackground-color: ${({ buttonColor }) =>\n\t\t\tdarken('0.1', colors[buttonColor])};\n\t}\n\n\t:disabled {\n\t\tcolor: ${greyDarker};\n\t\tbackground-color: ${grey};\n\t\tborder: 0.2rem solid ${grey};\n\t\tcursor: inherit;\n\t}\n`;\n","/**\n * Field\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\n\nimport { useFormValue } from '../context/Form.context';\nimport { Input } from '../Form.styles';\n\nconst Field = (props) => {\n\tconst {\n\t\tclassName,\n\t\tplaceholder,\n\t\tdescription,\n\t\tonFieldChange,\n\t\tdefaultValue,\n\t\tautoSubmit,\n\t\tname,\n\t\tid,\n\t\tshowError,\n\t\tsetFocus,\n\t\tvisibleFields,\n\t\tnoValidate,\n\t\ttype,\n\t\tlabel,\n\t\tdescribedby,\n\t\trequired,\n\t\tresetForm,\n\t\tpatternMessage,\n\t\tvalidationMessage,\n\t\tisValid,\n\t\tonBlur,\n\t\ttranslations,\n\t\t...allProps\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || '');\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField(value);\n\t\tconst fieldIsValid = !validatedField.message;\n\t\tconsole.log(validatedField);\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\tif (isValid) {\n\t\t\t\tisValid(false, id);\n\t\t\t}\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t\tif (isValid) {\n\t\t\t\tisValid(true, id);\n\t\t\t}\n\t\t}\n\n\t\tif (!noValidate) {\n\t\t\tif (touched && !fieldIsValid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError &&\n\t\t\t\t\t!fieldIsValid &&\n\t\t\t\t\tvisibleFields &&\n\t\t\t\t\tvisibleFields.includes(id)) ||\n\t\t\t\t(showError && !fieldIsValid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\n\t\t\tif (setFocus) {\n\t\t\t\tfieldRef.current.focus();\n\t\t\t}\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, value, setFocus, visibleFields, required]);\n\n\tconst onChange = (e) => {\n\t\tconst target = e.target;\n\n\t\tsetValue(target.value);\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: target.value,\n\t\t\ttype: 'Field',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\tconst describedByAttribute = `form${id}__desc${\n\t\tdescribedby ? ` ${describedby}` : ''\n\t}`;\n\n\treturn (\n\t\t {\n\t\t\t\tsetTouched(true);\n\t\t\t\tif (onBlur) onBlur({ [name]: value }, valid);\n\t\t\t}}\n\t\t\tref={fieldRef}\n\t\t\tid={id}\n\t\t\taria-describedby={!noValidate ? describedByAttribute : undefined}\n\t\t\ttype={type === null ? 'text' : type === 'fileupload' ? 'file' : type}\n\t\t\t{...allProps}\n\t\t/>\n\t);\n};\n\nexport default Field;\n","/**\n * TextArea\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\nimport { useFormValue } from '../context/Form.context';\nimport { Textarea } from '../Form.styles';\n\nconst TextArea = (props) => {\n\tconst {\n\t\tclassName,\n\t\tid,\n\t\tdescription,\n\t\tname,\n\t\tplaceholder,\n\t\tdefaultValue,\n\t\trequired,\n\t\tdisabled,\n\t\tautoSubmit,\n\t\tonFieldChange,\n\t\tshowError,\n\t\tvisibleFields,\n\t\ttranslations,\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || '');\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField(value);\n\t\tconst fieldIsValid = !validatedField.message;\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t}\n\n\t\tif (touched && !fieldIsValid) {\n\t\t\tshowFieldError(validatedField);\n\t\t} else if (\n\t\t\t(showError &&\n\t\t\t\t!fieldIsValid &&\n\t\t\t\tvisibleFields &&\n\t\t\t\tvisibleFields.includes(id)) ||\n\t\t\t(showError && !fieldIsValid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(validatedField);\n\t\t} else {\n\t\t\thideFieldError();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, value]);\n\n\tconst onChange = (e) => {\n\t\tconst target = e.target;\n\n\t\tsetValue(target.value);\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: target.value,\n\t\t\ttype: 'TextArea',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\treturn (\n\t\t setTouched(true)}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t/>\n\t);\n};\n\nexport default TextArea;\n","/**\n * Checkbox\n */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\nimport { useFormValue } from '../context/Form.context';\nimport clsx from 'clsx';\n\n/**\n * Checks if the checkbox should be checked.\n */\nconst shouldBeChecked = (value, defaultValue) => {\n\tif (Array.isArray(defaultValue)) {\n\t\treturn defaultValue.indexOf(value) !== -1;\n\t} else {\n\t\treturn value === defaultValue;\n\t}\n};\n\nconst Checkbox = (props) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tvalue,\n\t\tsingle,\n\t\tshowError,\n\t\tclassName,\n\t\tvisibleFields,\n\t\tdisabled,\n\t\tindex,\n\t\ttranslations,\n\t} = props;\n\tconst [checked, setChecked] = useState(\n\t\tshouldBeChecked(props.value, props.defaultValue)\n\t);\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tif (single) {\n\t\t\tconst validatedField = validateField(checked);\n\n\t\t\tif (validatedField.message) {\n\t\t\t\tsetValid(false);\n\t\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\t} else {\n\t\t\t\tsetValid(true);\n\n\t\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (touched && !valid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t\t(showError && !valid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, invalidFields, visibleFields, checked]);\n\n\tconst onChange = (e) => {\n\t\tconst target = e.target;\n\n\t\tsetChecked(target.checked);\n\t\tif (!touched) {\n\t\t\tsetTouched(true);\n\t\t}\n\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: target.value,\n\t\t\tchecked: target.checked,\n\t\t\tautoSubmit,\n\t\t\ttype: 'Checkbox',\n\t\t});\n\t};\n\n\treturn (\n\t\t= 0 ? `${id}-${index}` : id}\n\t\t\tname={name}\n\t\t\tclassName={clsx(className, 'mr-2')}\n\t\t\tvalue={value}\n\t\t\tchecked={checked}\n\t\t\tdisabled={disabled}\n\t\t\tonChange={onChange}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t\taria-invalid={single ? !valid : undefined}\n\t\t/>\n\t);\n};\n\nexport default Checkbox;\n","/**\n * RadioButton\n */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\nimport { useFormValue } from '../context/Form.context';\nimport clsx from 'clsx';\n\nconst RadioButton = (props) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\tdefaultValue,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tvalue,\n\t\tsingle,\n\t\tshowError,\n\t\tdisabled,\n\t\tclassName,\n\t\tvisibleFields,\n\t\tindex,\n\t\ttranslations,\n\t} = props;\n\tconst [checked, setChecked] = useState('');\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops,\n\t\ttranslations\n\t);\n\n\tuseEffect(() => {\n\t\tif (single) {\n\t\t\tconst validatedField = validateField(checked);\n\n\t\t\tif (validatedField.message) {\n\t\t\t\tsetValid(false);\n\t\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t\t} else {\n\t\t\t\tsetValid(true);\n\n\t\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (touched && !valid) {\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else if (\n\t\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t\t(showError && !valid && !visibleFields)\n\t\t\t) {\n\t\t\t\tsetTouched(true);\n\t\t\t\tshowFieldError(validatedField);\n\t\t\t} else {\n\t\t\t\thideFieldError();\n\t\t\t}\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, invalidFields, visibleFields, checked]);\n\n\tconst onChange = (e) => {\n\t\tconst target = e.target;\n\n\t\tsetChecked(target.value);\n\t\tif (!touched) {\n\t\t\tsetTouched(true);\n\t\t}\n\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: target.value,\n\t\t\ttype: 'RadioButton',\n\t\t\tautoSubmit,\n\t\t});\n\t};\n\n\treturn (\n\t\t= 0 ? `${id}-${index}` : id}\n\t\t\tname={name}\n\t\t\tvalue={value}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={clsx(className, 'mr-2')}\n\t\t\tdefaultChecked={value === defaultValue}\n\t\t\tref={fieldRef}\n\t\t\tonChange={onChange}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t/>\n\t);\n};\n\nexport default RadioButton;\n","/**\n * Select\n */\n\nimport React, { useRef, useState, useEffect } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\nimport { useFormValue } from '../context/Form.context';\nimport { Select as SelectStyle } from '../Form.styles';\n\nconst Select = (props) => {\n\tconst {\n\t\tid,\n\t\tname,\n\t\toptions,\n\t\tdefaultValue,\n\t\tdescription,\n\t\tonFieldChange,\n\t\tautoSubmit,\n\t\tshowError,\n\t\tonChange,\n\t\tvalidationMessage,\n\t\tlabel,\n\t\tvisibleFields,\n\t\tclassName,\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [value, setValue] = useState(defaultValue || options[0] || '');\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField(value);\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t}\n\n\t\tif (touched && !valid) {\n\t\t\tshowFieldError(validatedField);\n\t\t} else if (\n\t\t\t(showError && !valid && visibleFields && visibleFields.includes(id)) ||\n\t\t\t(showError && !valid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(validatedField);\n\t\t} else {\n\t\t\thideFieldError();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [touched, showError, value, invalidFields, visibleFields]);\n\n\tconst handleChange = (e) => {\n\t\tconst target = e.target;\n\t\tconst selectedOption = target.options[target.selectedIndex];\n\n\t\tsetValue(selectedOption.value || selectedOption.caption);\n\t\tonFieldChange({\n\t\t\tname,\n\t\t\tvalue: selectedOption.value || selectedOption.caption,\n\t\t\ttype: 'Select',\n\t\t\tautoSubmit,\n\t\t});\n\n\t\tif (onChange) {\n\t\t\tonChange({ [name]: selectedOption.value || selectedOption.text }, valid);\n\t\t}\n\t};\n\n\treturn (\n\t\t setTouched(true)}\n\t\t\tref={fieldRef}\n\t\t\taria-describedby={`form${id}__desc`}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t{options.map(({ value, caption }) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\nexport default Select;\n","/**\n * Multiselect\n */\n\nimport React from 'react';\nimport { Fieldset, Checkbox } from '../index';\n\nconst Multiselect = ({\n\tid,\n\tdescription,\n\trequired,\n\tlabel,\n\tisInvalid,\n\tvalidationMessage,\n\toptions,\n\tonFieldChange,\n}) => {\n\treturn (\n\t\t\n\t\t\t{options.map((opt, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\nexport default Multiselect;\n","/**\n * Button\n */\nimport Button from 'components/ui/Button';\n\ninterface ButtonModel {\n\ttype: 'button' | 'submit' | 'reset';\n\tname: string;\n\tid: string | number;\n\tresetForm?: () => void;\n\tchildren: JSX.Element | JSX.Element[];\n}\n\nconst FormEpiButton = ({\n\ttype = 'button',\n\tname,\n\tid,\n\tresetForm,\n\tchildren,\n\t...propsToTransfer\n}: ButtonModel) => {\n\tif (type === 'reset') {\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default FormEpiButton;\n","interface LabelProp {\n\thtmlFor: string;\n\tchildren?: JSX.Element | string;\n\trequired: boolean;\n}\n\ninterface ErrorSpanProp {\n\tfieldId: string;\n\tinvalid?: boolean;\n\tchildren?: JSX.Element;\n\tprops?: any;\n}\n\nexport const Label = ({ htmlFor, required, children }: LabelProp) => (\n\t\n\t\t{children}\n\t\t{required && (\n\t\t\t\n\t\t\t\t*\n\t\t\t\n\t\t)}\n\t\n);\n\nexport const ErrorSpan = ({\n\tfieldId,\n\tinvalid,\n\tchildren,\n\t...props\n}: ErrorSpanProp) => (\n\t\n\t\t{children}\n\t\n);\n","/**\n * Fieldset\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport { useFieldValidation } from '../hooks/useFieldValidation';\nimport { useFormValue } from '../context/Form.context';\nimport { ErrorSpan } from '../Labels';\nimport { Fieldset as FieldsetStyle, Legend } from '../Form.styles';\n\nconst Fieldset = props => {\n\tconst {\n\t\tlabel,\n\t\tdescription,\n\t\tchildren,\n\t\tid,\n\t\trequired,\n\t\tvalidationMessage,\n\t\tisInvalid,\n\t\tshowError,\n\t\tvisibleFields,\n\t\tclassName,\n\t} = props;\n\n\tconst [{ invalidFields }, dispatch] = useFormValue();\n\tconst [valid, setValid] = useState(false);\n\tconst [touched, setTouched] = useState(false);\n\tconst fieldRef = useRef(null);\n\tconst [validateField, showFieldError, hideFieldError] = useFieldValidation(\n\t\tfieldRef,\n\t\tprops\n\t);\n\n\tuseEffect(() => {\n\t\tconst validatedField = validateField('fieldset');\n\n\t\tif (validatedField.message) {\n\t\t\tsetValid(false);\n\t\t\tdispatch({ type: 'FIELD_INVALID', field: validatedField });\n\t\t} else {\n\t\t\tsetValid(true);\n\n\t\t\tif (invalidFields.includes(validatedField.id)) {\n\t\t\t\tdispatch({ type: 'FIELD_VALID', field: validatedField });\n\t\t\t}\n\t\t}\n\n\t\tconst partOfVisibleFields =\n\t\t\tvisibleFields &&\n\t\t\tvisibleFields.filter(fieldName => fieldName.includes(id));\n\n\t\tif (touched && !valid) {\n\t\t\tshowFieldError(validatedField);\n\t\t} else if (\n\t\t\t(showError &&\n\t\t\t\t!valid &&\n\t\t\t\tvisibleFields &&\n\t\t\t\tpartOfVisibleFields &&\n\t\t\t\tpartOfVisibleFields.length > 0) ||\n\t\t\t(showError && !valid && !visibleFields)\n\t\t) {\n\t\t\tsetTouched(true);\n\t\t\tshowFieldError(validatedField);\n\t\t} else {\n\t\t\thideFieldError();\n\t\t}\n\t}, [\n\t\tvalid,\n\t\tdispatch,\n\t\ttouched,\n\t\tshowError,\n\t\tsetValid,\n\t\tvalidateField,\n\t\tshowFieldError,\n\t\thideFieldError,\n\t\tinvalidFields,\n\t\tvisibleFields,\n\t\tid,\n\t]);\n\n\treturn (\n\t\t setTouched(true)}\n\t\t>\n\t\t\t\n\t\t\t\t{label}\n\t\t\t\t{required && *}\n\t\t\t\n\n\t\t\t
{children}
\n\n\t\t\t\n\t\t\t\t{validationMessage || ''}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Fieldset;\n","/**\n * FormButtons\n */\n\nimport { Button } from 'components/ui/FormEpi';\nimport StandardButton from 'components/ui/Button';\nimport { EpiserverFormsPageModel } from 'types';\n\ninterface NextButtonProp {\n\tnextId?: string;\n\tisExpanded: boolean;\n\tid: string | number;\n\ttranslations: any;\n}\n\ninterface PreviousButtonProp {\n\tpreviousIndex?: number;\n\tpreviousId?: string;\n\tisExpanded: boolean;\n\tid: string | number;\n\tonPrevious: (state: EpiserverFormsPageModel) => void;\n\ttranslations: any;\n}\n\nconst NextButton = ({\n\tnextId,\n\tisExpanded,\n\tid,\n\ttranslations,\n}: NextButtonProp) => {\n\treturn (\n\t\t\n\t\t\t{translations['/shared/form/next']}\n\t\t\n\t);\n};\n\nconst PreviousButton = ({\n\tpreviousIndex,\n\tpreviousId,\n\tisExpanded,\n\tid,\n\tonPrevious,\n\ttranslations,\n}: PreviousButtonProp) => {\n\treturn (\n\t\t\n\t\t\t\tonPrevious({\n\t\t\t\t\tcurrentStep: previousIndex,\n\t\t\t\t\tinvalidFields: [],\n\t\t\t\t})\n\t\t\t}\n\t\t>\n\t\t\t{translations['/shared/form/previous']}\n\t\t\n\t);\n};\n\nexport { PreviousButton, NextButton };\n","/**\n * FormStep\n */\n\nimport { EpiserverFormsPageModel } from 'types/page-types';\nimport { NextButton, PreviousButton } from './FormButtons';\n\ninterface Step {\n\ttitle: string;\n\tdescription?: string;\n\tindex: number;\n}\n\ninterface FormStepProp {\n\tstep: Step;\n\tformId: string;\n\tnrOfSteps: number;\n\tcurrentStep: number;\n\tchildren: JSX.Element | JSX.Element[];\n\tonPrevious: (state: EpiserverFormsPageModel) => void;\n\ttranslations: any;\n}\n\nconst FormStep = ({\n\tstep,\n\tformId,\n\tnrOfSteps,\n\tcurrentStep,\n\tchildren,\n\tonPrevious,\n\ttranslations,\n}: FormStepProp) => {\n\tconst { title, description, index } = step;\n\n\tconst stepId = `form-${formId}-step-${index}`;\n\tconst isFirstStep = index === 0;\n\tconst isLastStep = index + 2 === nrOfSteps;\n\n\tconst previousIndex = isFirstStep ? undefined : index - 1;\n\tconst previousId = isFirstStep\n\t\t? undefined\n\t\t: `form-${formId}-step-${previousIndex}`;\n\n\tconst nextIndex = isLastStep ? undefined : index + 1;\n\tconst nextId = isLastStep ? undefined : `form-${formId}-step-${nextIndex}`;\n\n\treturn (\n\t\t\n\t\t\t{title && (\n\t\t\t\t
\n\t\t\t\t\t

{title}

\n\t\t\t\t\t{description &&

{description}

}\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{children}\n\n\t\t\t
\n\t\t\t\t{!isFirstStep && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{!isLastStep && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default FormStep;\n","import React from 'react';\nimport {\n\tField,\n\tTextArea,\n\tCheckbox,\n\tRadioButton,\n\tSelect,\n\tMultiselect,\n\tButton,\n\tFieldset,\n} from '../index';\nimport FormStep from 'components/ui/EpiForms/FormStep';\n\nconst isValidFormElement = element => {\n\tswitch (element.type) {\n\t\tcase Checkbox:\n\t\tcase Field:\n\t\tcase TextArea:\n\t\tcase RadioButton:\n\t\tcase Button:\n\t\tcase Select:\n\t\tcase Multiselect:\n\t\tcase Fieldset:\n\t\tcase FormStep:\n\t\t\treturn true;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\n/**\n * Custom hook for cloning pand rendering children with custom props in form\n */\nexport const useChildClones = (showError, visibleFields) => {\n\tconst formFieldNameCounter = {};\n\n\tconst renderChildren = (\n\t\tchildren,\n\t\tinitialValues,\n\t\tresetForm,\n\t\tonFieldChange\n\t) => {\n\t\tif (!children) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst renderedChildren = React.Children.map(children, child => {\n\t\t\tconst props = child && child.props ? { ...child.props } : {};\n\n\t\t\tif (!React.isValidElement(child)) {\n\t\t\t\treturn child;\n\t\t\t}\n\n\t\t\tif (isValidFormElement(child)) {\n\t\t\t\tconst { name } = props;\n\n\t\t\t\tprops.onFieldChange = onFieldChange;\n\t\t\t\tprops.resetForm = resetForm;\n\t\t\t\tprops.showError = showError;\n\t\t\t\tprops.visibleFields = visibleFields;\n\n\t\t\t\tif (initialValues[name]) {\n\t\t\t\t\tprops.defaultValue = initialValues[name];\n\t\t\t\t}\n\n\t\t\t\tif (!formFieldNameCounter[name]) {\n\t\t\t\t\tformFieldNameCounter[name] = 1;\n\t\t\t\t} else {\n\t\t\t\t\tformFieldNameCounter[name] += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (props && props.children) {\n\t\t\t\tprops.children = renderChildren(\n\t\t\t\t\tprops.children,\n\t\t\t\t\tinitialValues,\n\t\t\t\t\tresetForm,\n\t\t\t\t\tonFieldChange\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn React.cloneElement(child, props);\n\t\t});\n\n\t\treturn renderedChildren.length === 1\n\t\t\t? renderedChildren[0]\n\t\t\t: renderedChildren;\n\t};\n\n\treturn [renderChildren, formFieldNameCounter];\n};\n","/**\n * Form\n */\n\nimport React, { useState, useRef } from 'react';\nimport { useFormValue } from './context/Form.context';\nimport { useChildClones } from './hooks/useChildClones';\n\n// Generates a unique key (used by the reset-method).\nconst getUniqueKey = () =>\n\t'_' +\n\tMath.random()\n\t\t.toString(36)\n\t\t.substr(2, 9);\n\nconst Form = ({\n\tchildren,\n\tmethod = 'post',\n\taction = '',\n\tenctype = 'application/x-www-form-urlencoded',\n\tinitialValues,\n\tclassName,\n\tid,\n\tonChange,\n\tonSubmit,\n\tsendDataType,\n\tdefaultSubmit,\n\tmultiStep,\n\tcurrentStep,\n\tgetStepFields,\n}) => {\n\tconst [formKey, setFormKey] = useState(getUniqueKey());\n\tconst [showError, setShowError] = useState(false);\n\tconst [visibleFields, setVisibleFields] = useState(false);\n\tconst formRef = useRef(null);\n\tlet [\n\t\t{ values, invalidFields, validationMessages },\n\t\tdispatch,\n\t] = useFormValue();\n\tconst [renderChildren, formFieldNameCounter] = useChildClones(\n\t\tshowError,\n\t\tvisibleFields\n\t);\n\n\tconst resetForm = () => setFormKey(getUniqueKey());\n\n\tconst onFieldChange = field => {\n\t\tconst { name, value, type, autoSubmit, checked } = field;\n\n\t\tconst valueIsArray =\n\t\t\tvalues[name] && Array.isArray(values[name]) && checked !== undefined;\n\n\t\tlet newValue = value;\n\n\t\t// Handle checkboxes when they have array values\n\t\tif (type === 'Checkbox') {\n\t\t\tif (valueIsArray) {\n\t\t\t\tnewValue = checked\n\t\t\t\t\t? [...values[name], value]\n\t\t\t\t\t: values[name].filter(item => item !== value);\n\t\t\t} else if (formFieldNameCounter[name] > 1 && checked !== undefined) {\n\t\t\t\tnewValue = [value];\n\t\t\t} else if (checked === false) {\n\t\t\t\tnewValue = '';\n\t\t\t}\n\t\t}\n\n\t\tdispatch({ type: 'FORM_UPDATE', values: { ...values, [name]: newValue } });\n\n\t\tif (autoSubmit) {\n\t\t\tonSubmit();\n\t\t}\n\t\tif (onChange) {\n\t\t\tonChange({ name, value: newValue }, { ...values, [name]: newValue });\n\t\t}\n\t};\n\n\tconst handleOnSubmit = e => {\n\t\tif (sendDataType === 'formdata' && typeof FormData === 'undefined') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (e && !defaultSubmit) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tlet index = null;\n\t\tlet messages = { ...validationMessages };\n\t\tlet updatedInvalidFields = invalidFields;\n\n\t\tif (multiStep) {\n\t\t\tconst [formData, stepIndex, currentStepFields] = getStepFields(\n\t\t\t\tcurrentStep,\n\t\t\t\tid\n\t\t\t);\n\t\t\tsetVisibleFields(currentStepFields);\n\n\t\t\tvalues = formData;\n\t\t\tindex = stepIndex;\n\t\t\tupdatedInvalidFields = invalidFields.filter(fieldId =>\n\t\t\t\tcurrentStepFields.some(field => field.indexOf(fieldId) >= 0)\n\t\t\t);\n\n\t\t\tmessages = Object.keys(validationMessages)\n\t\t\t\t.filter(key => currentStepFields.some(field => field.indexOf(key) >= 0))\n\t\t\t\t.reduce((obj, key) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...obj,\n\t\t\t\t\t\t[key]: validationMessages[key],\n\t\t\t\t\t};\n\t\t\t\t}, {});\n\t\t} else if (sendDataType === 'formdata') {\n\t\t\tvalues = new FormData(formRef.current);\n\t\t}\n\n\t\tif (updatedInvalidFields.length > 0) {\n\t\t\tsetShowError(true);\n\t\t}\n\n\t\tif (onSubmit) {\n\t\t\tonSubmit(values, index, messages, updatedInvalidFields);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{renderChildren(children, initialValues, resetForm, onFieldChange)}\n\t\t\n\t);\n};\n\nexport default Form;\n","import React from 'react';\nimport { FormProvider } from './context/Form.context';\nimport Form from './Form';\n\nconst FormComponent = ({ initialValues, children, ...props }) => {\n\tconst initialState = {\n\t\tvalues: initialValues || {},\n\t\tvalidationMessages: {},\n\t\tinvalidFields: [],\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t{children}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default FormComponent;\n","/**\n * Runs through and checks a field's conditions/dependencies\n */\nexport const checkDependency = (name, dependencies, values) => {\n\tconst dependency = dependencies.filter(field => field.fieldName === name)[0];\n\n\tconst conditions = checkFieldConditions(dependency, values);\n\tlet conditionsFulFilled = null;\n\n\tif (dependency.type === 'any') {\n\t\tconditionsFulFilled = checkIfAnyConditionIsTrue(conditions);\n\t} else if (dependency.type === 'all') {\n\t\tconditionsFulFilled = checkIfAllConditionsAreTrue(conditions);\n\t}\n\n\treturn conditionsFulFilled\n\t\t? performAction(dependency.action)\n\t\t: performAction(dependency.action === 'show' ? 'hide' : 'show');\n};\n\n/**\n * Loops through all conditions and checks if they're fulfilled.\n */\nconst checkFieldConditions = (dependency, values) => {\n\tlet conditions = [];\n\n\tdependency.conditions.forEach(field => {\n\t\tconst currentFieldValue = values[field.fieldName];\n\t\tconst expectedValue = field.fieldValue;\n\n\t\tswitch (field.operator) {\n\t\t\tcase 'equals':\n\t\t\t\tconditions.push(currentFieldValue === expectedValue);\n\t\t\t\tbreak;\n\t\t\tcase 'notEquals':\n\t\t\t\tconditions.push(currentFieldValue !== expectedValue);\n\t\t\t\tbreak;\n\t\t\tcase 'contains':\n\t\t\t\t!currentFieldValue\n\t\t\t\t\t? conditions.push(false)\n\t\t\t\t\t: conditions.push(currentFieldValue.includes(expectedValue));\n\t\t\t\tbreak;\n\t\t\tcase 'notContains':\n\t\t\t\t!currentFieldValue\n\t\t\t\t\t? conditions.push(true)\n\t\t\t\t\t: conditions.push(!currentFieldValue.includes(expectedValue));\n\t\t\t\tbreak;\n\t\t\tcase 'notApplicable':\n\t\t\t\tconditions.push(false);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.log(`The operator '${field.operator}' is not yet implemented.`);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn conditions;\n};\n\nconst checkIfAnyConditionIsTrue = conditions => {\n\treturn conditions.includes(true);\n};\n\nconst checkIfAllConditionsAreTrue = conditions => {\n\treturn conditions.includes(false) ? false : true;\n};\n\n/**\n * Performs the given action and returns true/false based on if field should be rendered\n */\nconst performAction = action => {\n\tswitch (action) {\n\t\tcase 'show':\n\t\t\treturn true;\n\t\tcase 'hide':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tconsole.log(`The action ${action} is not yet implemented.`);\n\t\t\tbreak;\n\t}\n};\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import plus from './IconPlus';\nimport minus from './IconMinus';\nimport arrow from './IconArrow';\nimport menu from './IconMenu';\nimport search from './IconSearch';\nimport switchLink from './IconSwitchLink';\nimport externalLink from './IconExternalLink';\nimport externalLink2 from './IconColumnlink';\nimport chevron from './IconChevron';\nimport chevrons from './IconChevrons';\nimport clear from './IconClear';\nimport twitter from './IconTwitter';\nimport twitterX from './IconTwitterX';\nimport facebook from './IconFacebook';\nimport linkedin from './IconLinkedin';\nimport youtube from './IconYoutube';\nimport close from './IconClose';\nimport question from './IconQuestion';\nimport loader from './IconLoader';\nimport zoomIn from './IconZoomIn';\nimport print from './IconPrint';\nimport mail from './IconMail';\nimport sliders from './IconSliders';\nimport download from './IconDownload';\nimport copy from './IconCopy';\nimport square from './IconSquare';\nimport cart from './IconCart';\nimport calendarPlus from './IconCalendarPlus';\nimport file from './IconFile';\nimport checkSquare from './IconCheckSquare';\nimport camera from './IconCamera';\nimport tag from './IconTag';\nimport home from './IconHome';\nimport box from './IconBox';\nimport truck from './IconTruck';\nimport trash from './IconTrash';\nimport save from './IconSave';\nimport redo from './IconRedo';\nimport checkCircle from './IconCheckCircle';\nimport alertTriangle from './IconAlertTriangle';\nimport check from './IconCheck';\nimport shoppingCart from './IconShoppingCart';\nimport user from './IconUser';\nimport users from './IconUsers';\nimport archive from './IconArchive';\nimport mapPin from './IconMapPin';\nimport sortAscending from './IconSortAscending';\nimport sortDescending from './IconSortDescending';\nimport edit from './IconEdit';\nimport calendar from './IconCalendar';\nimport lock from './IconLock';\nimport filter from './IconFilter';\nimport toggleDesktop from './IconToggleDesktop';\nimport toggleMobile from './IconToggleMobile';\nimport clock from './IconClock';\n\nexport default {\n\tplus,\n\tminus,\n\tarrow,\n\tmenu,\n\tsearch,\n\tswitchLink,\n\texternalLink,\n\texternalLink2,\n\tchevron,\n\tchevrons,\n\tclear,\n\ttwitter,\n\ttwitterX,\n\tfacebook,\n\tlinkedin,\n\tyoutube,\n\tclose,\n\tquestion,\n\tloader,\n\tzoomIn,\n\tprint,\n\tmail,\n\tsliders,\n\tdownload,\n\tcopy,\n\tsquare,\n\tcheckSquare,\n\tcart,\n\tcalendarPlus,\n\tfile,\n\tcamera,\n\ttag,\n\thome,\n\tbox,\n\ttruck,\n\ttrash,\n\tsave,\n\tredo,\n\tcheckCircle,\n\talertTriangle,\n\tcheck,\n\tuser,\n\tusers,\n\tarchive,\n\tmapPin,\n\tshoppingCart,\n\tsortAscending,\n\tsortDescending,\n\tedit,\n\tcalendar,\n\tlock,\n\tfilter,\n\ttoggleDesktop,\n\ttoggleMobile,\n\tclock,\n};\n","export default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({\n\tclassName,\n\t'aria-hidden': ariaHidden,\n\tcolor,\n}: {\n\tclassName?: string;\n\t'aria-hidden'?: boolean;\n\tcolor?: string;\n}) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import React from 'react';\nexport default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","/**\n * Icon\n */\nimport icons from './icons';\nimport clsx from 'clsx';\n\nexport type iconTypes =\n\t| 'plus'\n\t| 'minus'\n\t| 'arrow'\n\t| 'menu'\n\t| 'search'\n\t| 'switchLink'\n\t| 'externalLink'\n\t| 'externalLink2'\n\t| 'chevron'\n\t| 'chevrons'\n\t| 'clear'\n\t| 'close'\n\t| 'twitter'\n\t| 'twitterX'\n\t| 'facebook'\n\t| 'youtube'\n\t| 'linkedin'\n\t| 'question'\n\t| 'loader'\n\t| 'zoomIn'\n\t| 'print'\n\t| 'mail'\n\t| 'sliders'\n\t| 'download'\n\t| 'square'\n\t| 'checkSquare'\n\t| 'cart'\n\t| 'calendarPlus'\n\t| 'file'\n\t| 'camera'\n\t| 'tag'\n\t| 'home'\n\t| 'box'\n\t| 'truck'\n\t| 'trash'\n\t| 'save'\n\t| 'copy'\n\t| 'checkCircle'\n\t| 'alertTriangle'\n\t| 'redo'\n\t| 'shoppingCart'\n\t| 'check'\n\t| 'user'\n\t| 'users'\n\t| 'archive'\n\t| 'mapPin'\n\t| 'sortAscending'\n\t| 'sortDescending'\n\t| 'edit'\n\t| 'calendar'\n\t| 'filter'\n\t| 'toggleDesktop'\n\t| 'toggleMobile'\n\t| 'lock'\n\t| 'clock';\n\nexport interface IconList {\n\t/** The icon to be shown */\n\ticon: iconTypes;\n}\n\ntype IconSizes = 0.75 | 1 | 1.25 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;\ntype IconDirections = 'left' | 'up' | 'right' | 'down';\n\ninterface Props extends IconList {\n\t/** Set the size of the icon.
1 = 24px
2 = 32px
3 = 40px
4 = 48px*/\n\tsize?: IconSizes;\n\n\t/** Set the color of the icon */\n\tcolor?: string;\n\n\t/** Set the direction of the icon. */\n\tdirection?: IconDirections;\n\n\t/** Animate the icon. */\n\tanimate?: 'spin';\n\n\t/** Pass optional classnames for the html */\n\tclassName?: string;\n\n\t/** Do not fill current */\n\tfillCurrent?: boolean;\n\n\t[htmlAttributes: string]: any;\n}\n\nconst getSize = (size: IconSizes) => {\n\tswitch (size) {\n\t\tcase 0.75:\n\t\t\treturn 'w-3 h-3';\n\t\tcase 1:\n\t\t\treturn 'w-4 h-4';\n\t\tcase 1.25:\n\t\t\treturn 'w-5 h-5';\n\t\tcase 2:\n\t\t\treturn 'w-6 h-6';\n\t\tcase 3:\n\t\t\treturn 'w-8 h-8';\n\t\tcase 4:\n\t\t\treturn 'w-10 h-10';\n\t\tcase 5:\n\t\t\treturn 'w-12 h-12';\n\t\tcase 6:\n\t\t\treturn 'w-14 h-14';\n\t\tcase 7:\n\t\t\treturn 'w-16 h-16';\n\t\tcase 8:\n\t\t\treturn 'w-18 h-18';\n\t\tcase 9:\n\t\t\treturn 'w-20 h-20';\n\t}\n};\n\nconst getRotation = (direction: IconDirections) => {\n\tswitch (direction) {\n\t\tcase 'up':\n\t\t\treturn '-rotate-90';\n\t\tcase 'right':\n\t\t\treturn 'rotate-0';\n\t\tcase 'down':\n\t\t\treturn 'rotate-90';\n\t\tcase 'left':\n\t\t\treturn 'rotate-180';\n\t}\n};\n\n/** This is the icon component that handles all the icons in the project.
The user will be able to set the color, size, direction and animation for all the icons. */\nconst Icon = ({\n\ticon,\n\tsize = 1,\n\tdirection = 'right',\n\tanimate = undefined,\n\tclassName,\n\texpanded,\n\tfillCurrent,\n\t...htmlAttributes\n}: Props): JSX.Element => {\n\tconst IconSvg = icons[icon];\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default Icon;\n","import Axios, { CancelTokenSource } from 'axios';\nimport { AppThunk } from 'store';\nimport {\n\tAddNotesModel,\n\tAjaxMethodTypes,\n\tCheckoutReqestDataModel,\n} from 'types/common';\n\nimport { ArticleDeliveryDatesModel } from 'types/article';\nimport { CartObjectModel, CartObjectTypes } from 'types/cart-types';\nimport { OrderMatrixObjectModel } from 'types/matrix-types';\n\nexport let cancelToken: CancelTokenSource = Axios.CancelToken.source();\nexport const cancelPricingRequest = () => {\n\tif (cancelToken) {\n\t\tcancelToken.cancel();\n\t}\n\n\tconst CancelToken = Axios.CancelToken;\n\tcancelToken = CancelToken.source();\n};\n\ninterface ApiUrlModel {\n\tcartObjectType?: CartObjectTypes;\n\tcartId?: string;\n\tarticle?: boolean;\n\tnote?: boolean;\n\tcheckout?: boolean;\n\tpunchout?: boolean;\n\twithPrice?: boolean;\n\tpriceReloadCounter?: number;\n\tempty?: boolean;\n\titemCode?: string;\n\tlineItemId?: number;\n\tsort?: string;\n\tdeliveryMethod?: string;\n\tlocation?: string;\n\tdesiredDate?: string;\n\ttab?: string;\n\tsingleShipment?: boolean;\n\tdate?: boolean;\n\ttable?: boolean;\n}\n\nexport const getApiUrl = ({\n\tcartObjectType,\n\tcartId = '',\n\tarticle = false,\n\tnote = false,\n\tempty = false,\n\twithPrice = false,\n\tpriceReloadCounter = 0,\n\tcheckout = false,\n\tpunchout = false,\n\titemCode = '',\n\tlineItemId,\n\tsort = '',\n\tdeliveryMethod = '',\n\tlocation = '',\n\tdesiredDate = '',\n\ttab = '',\n\ttable = false,\n\tsingleShipment,\n\tdate,\n}: ApiUrlModel): AppThunk => (dispatch: any, getState: any) => {\n\tconst apiBaseUrl = getState().cart.apiBaseUrl;\n\tlet query = '';\n\n\treturn query.concat(\n\t\t`${apiBaseUrl}/cart`,\n\t\tcartId && `/${cartId}`,\n\t\tcheckout ? '/checkout' : '',\n\t\tpunchout ? '/punchout' : '',\n\t\tarticle ? '/article' : '',\n\t\tnote ? '/note' : '',\n\t\ttable ? '/table' : '',\n\t\titemCode && `/${itemCode}`,\n\t\tlineItemId ? `/${lineItemId}` : '',\n\t\tdate ? '/date' : '',\n\t\tcartObjectType ? `?type=${cartObjectType}` : '',\n\t\twithPrice ? `&withprice=${withPrice}` : '',\n\t\tpriceReloadCounter ? `&priceReloadCounter=${priceReloadCounter}` : '',\n\t\tempty ? '&empty=true' : '',\n\t\tsort && `&sort=${sort}`,\n\t\tdeliveryMethod && `&deliverymethod=${deliveryMethod}`,\n\t\tlocation ? `&location=${location}` : '',\n\t\tdesiredDate && `&desireddate=${desiredDate}`,\n\t\ttab && `&tab=${tab}`,\n\t\tsingleShipment === true\n\t\t\t? `&singleshipment=true`\n\t\t\t: singleShipment === false\n\t\t\t? `&singleshipment=false`\n\t\t\t: ''\n\t);\n};\n\nexport const FetchCartApi = async (\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios({\n\t\tmethod: 'GET',\n\t\turl: apiUrl,\n\t\tcancelToken: cancelSource?.token,\n\t});\n\n\treturn data;\n};\n\nexport const AddToCartApi = async (\n\tmethod: AjaxMethodTypes,\n\tapiUrl: string,\n\tarticleList?: any,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios({\n\t\tmethod,\n\t\turl: apiUrl,\n\t\tdata: {\n\t\t\tarticleList: articleList,\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const sendTableDataApi = async (\n\tmethod: AjaxMethodTypes,\n\tapiUrl: string,\n\tbody: string,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tlet parsedBody;\n\ttry {\n\t\tparsedBody = JSON.parse(body);\n\t} catch (error) {\n\t\tconsole.error('Error parsing JSON:', error.message);\n\t}\n\n\tconst { data } = await Axios({\n\t\tmethod,\n\t\turl: apiUrl,\n\t\tdata: parsedBody,\n\t\tcancelToken: cancelSource?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const RemoveItemApi = async (\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios.delete(apiUrl, {\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const ClearCartApi = async (\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios.patch(apiUrl, {\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const SaveCartApi = async (\n\tsaveCartData: { name: string; overwrite: boolean; shared: boolean },\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n): Promise<{ errorCode: number; message: string }> => {\n\tconst { data } = await Axios({\n\t\tmethod: 'POST',\n\t\turl: apiUrl,\n\t\tdata: {\n\t\t\t...saveCartData,\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const AddNotesApi = async (\n\tapiUrl: string,\n\tnotesData: AddNotesModel[],\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios({\n\t\tmethod: 'PATCH',\n\t\turl: apiUrl,\n\t\tdata: {\n\t\t\tnotes: notesData,\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const UpdateWithArticleDeliveryDates = async (\n\tapiUrl: string,\n\tupdateDeliveryDates: ArticleDeliveryDatesModel[],\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios({\n\t\tmethod: 'PATCH',\n\t\turl: apiUrl,\n\t\tdata: {\n\t\t\tdates: updateDeliveryDates,\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const DeleteCartApi = async (\n\tapiUrl: string\n): Promise<{ statusCode: number; message: string }> => {\n\tconst { data } = await Axios.delete(apiUrl);\n\treturn data;\n};\n\nexport const UpdateCartApi = async (\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n): Promise => {\n\tconst { data } = await Axios.patch(apiUrl, {\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const CheckoutApi = async (\n\tapiUrl: string,\n\trequestData?: CheckoutReqestDataModel\n): Promise => {\n\tconst { data } = await Axios.post(apiUrl, requestData);\n\treturn data;\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport {\n\tConfNumberModel,\n\tConfSelectModel,\n\tConfTextModel,\n\tDictionaryModel,\n\tDocumentModel,\n\tLinkModel,\n\tMediaGalleryItemModel,\n\tSpecificationsModel,\n} from 'types/common';\n\nimport axios, { CancelTokenSource } from 'axios';\nimport { RootState } from 'store';\nimport { cancelPricingRequest, cancelToken } from 'store/api/cartApi';\nimport Axios from 'axios';\nimport { FrameworkModel } from 'types/framework';\n\ninterface ArticleDetailConfigurationModel {\n\tmediaGallery?: MediaGalleryItemModel[];\n\tdocuments?: DocumentModel[];\n\trangeSpecifications?: SpecificationsModel;\n\tconfData?: ConfDataModel;\n\tunit?: string;\n\tcurrency?: string;\n\titemCode?: string;\n\titemName?: string;\n\tlongDescription?: string;\n\tshortDescription?: string;\n\tname?: string;\n\tframework?: FrameworkModel;\n\tbreadcrumbs?: LinkModel[];\n\tcopyUrl?: string;\n}\n\ninterface ConfDataModel {\n\tconfOptions: Array;\n\tsummary?: string;\n\titemId: string;\n\tquantity: number;\n\tconfigId: string;\n}\n\ninterface ConfState {\n\tconfContent: ArticleDetailConfigurationModel;\n\tconfPrices: { dictionary: DictionaryModel } | null;\n\tpriceLoading: boolean;\n\tfieldLoading: boolean;\n\terror: string | null;\n\tloading: boolean;\n}\n\nconst initialState: ConfState = {\n\tconfContent: {},\n\tconfPrices: null,\n\tfieldLoading: false,\n\tpriceLoading: false,\n\terror: null,\n\tloading: false,\n};\n\nconst slice = createSlice({\n\tname: 'configurator',\n\tinitialState,\n\treducers: {\n\t\tconfStart: (state) => {\n\t\t\tstate.loading = true;\n\t\t},\n\t\tconfSuccess: (\n\t\t\tstate,\n\t\t\taction: PayloadAction\n\t\t) => {\n\t\t\tstate.confContent = { ...state.confContent, ...action.payload };\n\t\t\tstate.loading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tconfValidateStart: (state) => {\n\t\t\tstate.fieldLoading = true;\n\t\t},\n\t\tconfValidateSuccess: (state, action: PayloadAction) => {\n\t\t\tstate.confContent.confData = { ...action.payload };\n\t\t\tstate.confPrices = null;\n\t\t\tstate.fieldLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tconfPriceStart: (state) => {\n\t\t\tstate.priceLoading = true;\n\t\t},\n\t\tconfPriceSuccess: (\n\t\t\tstate,\n\t\t\taction: PayloadAction<{ dictionary: DictionaryModel }>\n\t\t) => {\n\t\t\tstate.confPrices = { ...action.payload };\n\t\t\tstate.priceLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tconfFailed: (state, action: PayloadAction) => {\n\t\t\tstate.error = action.payload;\n\t\t\tstate.loading = false;\n\t\t},\n\t\tconfReset: () => initialState,\n\t},\n});\n\nexport const fetchConfArticle = (routeApiUrl: string) => async (\n\tdispatch: any\n) => {\n\tlet data;\n\tdispatch(confStart());\n\ttry {\n\t\tdata = await getConfArticle(routeApiUrl, cancelToken);\n\t} catch (err: any) {\n\t\tif (Axios.isCancel(err)) {\n\t\t\tconsole.log('Request cancelled: ', err.message);\n\t\t} else {\n\t\t\tconsole.log(err);\n\t\t}\n\t\treturn;\n\t}\n\tdispatch(confSuccess(data));\n};\n\nexport const fetchConfValidate = (\n\trouteApiUrl: string,\n\tvalues: any,\n\titemCode: string,\n\tquantity: number,\n\tfieldIndex: number\n) => async (dispatch: any) => {\n\tlet data;\n\tdispatch(confValidateStart());\n\ttry {\n\t\tdata = await getConfData(\n\t\t\trouteApiUrl,\n\t\t\tvalues,\n\t\t\titemCode,\n\t\t\tquantity,\n\t\t\tfieldIndex\n\t\t);\n\t\tdispatch(confValidateSuccess(data));\n\t} catch (err) {\n\t\tconsole.log(err);\n\t\treturn;\n\t}\n};\n\nexport const fetchConfPrices = (routeApiUrl: string) => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst {\n\t\tconfigId,\n\t\tquantity,\n\t\titemId,\n\t} = getState().configurator.confContent.confData;\n\n\tdispatch(confPriceStart());\n\tlet data;\n\tlet requestData = {\n\t\tconfigId: configId,\n\t\tquantity: quantity,\n\t\titemId: itemId,\n\t};\n\n\tcancelPricingRequest();\n\ttry {\n\t\tdata = await confPriceApi(routeApiUrl, requestData, cancelToken);\n\t\tdispatch(confPriceSuccess(data as { dictionary: DictionaryModel }));\n\t} catch (err) {\n\t\tconsole.log(err);\n\t\treturn;\n\t}\n};\n\nexport const getConfData = async (\n\tapiUrl: string,\n\tvalues: string,\n\titemCode: string,\n\tquantity: number,\n\tfieldIndex: number\n) => {\n\tconst url = `${apiUrl}`;\n\tlet body = {\n\t\tconfOptions: values,\n\t\titemId: itemCode,\n\t\tquantity: quantity,\n\t\t//If changedField is -1 that means it's manual validation\n\t\tchangedField: fieldIndex === -1 ? 999 : fieldIndex,\n\t};\n\n\taxios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\treturn axios.post(url, body).then(\n\t\t(response) => {\n\t\t\treturn response.data;\n\t\t},\n\t\t(error) => {\n\t\t\treturn error;\n\t\t}\n\t);\n};\n\nexport const getConfArticle = async (\n\tapiUrl: string,\n\tcancelSource?: CancelTokenSource\n) => {\n\tconst url = `${apiUrl}`;\n\tconst { data } = await axios.get(url, {\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const confPriceApi = async (\n\tapiUrl: string,\n\trequestData: { configId: string; quantity: number; itemId: string },\n\tcancelSource?: CancelTokenSource\n) => {\n\tconst url = `${apiUrl}`;\n\tconst { data } = await axios.get(url, {\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t\tparams: requestData,\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const selectConfigurator = (state: RootState) => state.configurator;\nexport const selectConfContent = (state: RootState) =>\n\tstate.configurator.confContent;\nexport const selectConfOptions = (state: RootState) =>\n\tstate.configurator.confContent.confData?.confOptions;\nexport const selectConfSummary = (state: RootState) =>\n\tstate.configurator.confContent.confData?.summary;\nexport const selectConfQuantity = (state: RootState) =>\n\tstate.configurator.confContent.confData?.quantity;\nexport const selectConfConfigId = (state: RootState) =>\n\tstate.configurator.confContent.confData?.configId;\nexport const selectConfItemId = (state: RootState) =>\n\tstate.configurator.confContent.confData?.itemId;\nexport const selectConfPrices = (state: RootState) =>\n\tstate.configurator.confPrices;\nexport const selectConfPriceLoading = (state: RootState) =>\n\tstate.configurator.priceLoading;\nexport const selectConfFieldLoading = (state: RootState) =>\n\tstate.configurator.fieldLoading;\n\nexport const {\n\tconfStart,\n\tconfSuccess,\n\tconfValidateStart,\n\tconfValidateSuccess,\n\tconfPriceStart,\n\tconfPriceSuccess,\n\tconfFailed,\n\tconfReset,\n} = slice.actions;\n\nexport default slice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ArticleDeliveryDatesModel } from 'types/article';\nimport { AddToCartModel, CartObjectModel } from 'types/cart-types';\nimport {\n\tAjaxMethodTypes,\n\tCheckoutReqestDataModel,\n\tAddNotesModel,\n} from 'types/common';\n\nimport { AppThunk, RootState } from 'store';\nimport {\n\tCancelCartPriceError,\n\tCheckoutError,\n\tGenericWarning,\n\tgetSelectedDeliveryMethod,\n\tgetSelectedWarehouse,\n\tPunchOutError,\n\tReloadCartPriceError,\n\tSaveCartError,\n\tSendTableError,\n\tServerError,\n} from 'common/helpers';\nimport {\n\tAddToCartApi,\n\tFetchCartApi,\n\tRemoveItemApi,\n\tClearCartApi,\n\tSaveCartApi,\n\tAddNotesApi,\n\tDeleteCartApi,\n\tUpdateCartApi,\n\tCheckoutApi,\n\tgetApiUrl,\n\tcancelToken,\n\tcancelPricingRequest,\n\tUpdateWithArticleDeliveryDates,\n\tsendTableDataApi,\n} from 'store/api/cartApi';\nimport Axios from 'axios';\n\ninterface CartState {\n\tcartObject: CartObjectModel;\n\tapiBaseUrl: string;\n\terror: string | null;\n\tloading: boolean;\n\tpriceReloadCounter: number;\n}\n\ninterface UpdateCartModel {\n\tselectedSort?: string;\n\tselectedDeliveryMethod?: string;\n\tselectedLocation?: string;\n\tselectedDesiredDate?: string;\n\tsingleShipment?: boolean;\n}\n\nconst initialState: CartState = {\n\tcartObject: {\n\t\tcartId: '',\n\t\tcartType: 'slim',\n\t\tcartLink: {\n\t\t\ttext: '',\n\t\t\tlink: '',\n\t\t},\n\t\tlimitation: {\n\t\t\tarticleGoodsMarkingLength: 0,\n\t\t\tarticleCommentsLength: 0,\n\t\t},\n\t\tcartDisabled: false,\n\t\tcartHidden: false,\n\t\tgoodsMarkingHidden: false,\n\t\titems: 0,\n\t\tcartStatus: 'invalid',\n\t\tshipments: [],\n\t\tsingleShipment: false,\n\t},\n\tapiBaseUrl: '',\n\terror: null,\n\tloading: false,\n\tpriceReloadCounter: 0,\n};\n\nconst slice = createSlice({\n\tname: 'cart',\n\tinitialState,\n\treducers: {\n\t\tcartStart: (state) => {\n\t\t\tstate.loading = true;\n\t\t},\n\t\tcartSuccess: (state, action: PayloadAction) => {\n\t\t\tstate.cartObject = { ...state.cartObject, ...action.payload };\n\t\t\tstate.loading = false;\n\t\t\tstate.priceReloadCounter = 0;\n\t\t},\n\t\tcartFailed: (state, action: PayloadAction) => {\n\t\t\tstate.error = action.payload;\n\t\t\tstate.loading = false;\n\t\t},\n\t\tcartUpdatePriceReloadCounter: (state, action: PayloadAction) => {\n\t\t\tstate.priceReloadCounter = action.payload;\n\t\t},\n\t},\n});\n\n//---------------------------------- Fetch CartObject --------------------------------------------------\n\nexport const FetchCart = (sort?: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst {\n\t\tcartId,\n\t\tcartType,\n\t\tavailableDeliveryMethods,\n\t\tlocations,\n\t\tdesiredDate,\n\t\twithPrice,\n\t\tsingleShipment,\n\t} = getState().cart.cartObject;\n\tconst priceReloadCounter = getState().cart.priceReloadCounter;\n\n\tcancelPricingRequest();\n\n\tdispatch(cartStart());\n\tconst location = getSelectedWarehouse(locations);\n\tconst deliveryMethod = getSelectedDeliveryMethod(availableDeliveryMethods);\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tsort,\n\t\t\tdeliveryMethod,\n\t\t\tlocation,\n\t\t\tdesiredDate,\n\t\t\twithPrice: !withPrice,\n\t\t\tpriceReloadCounter,\n\t\t\tsingleShipment,\n\t\t})\n\t);\n\ttry {\n\t\tlet data = await FetchCartApi(apiUrl, cancelToken);\n\t\tawait dispatch(cartSuccess(data));\n\t} catch (err: any) {\n\t\tdispatch(cartFailed(err.toString()));\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tif (Axios.isCancel(err)) {\n\t\t\tconsole.log('Request cancelled: ', err.message);\n\t\t}\n\t\t// Expcted errors\n\t\telse if (statusCode === 400) {\n\t\t\t// 700 - Reload prices\n\t\t\tif (errorCode === 700) {\n\t\t\t\tthrow new ReloadCartPriceError(errorCode, errorMessage);\n\t\t\t}\n\t\t\t// 800 - Cancel reload prices\n\t\t\telse if (errorCode === 800) {\n\t\t\t\tthrow new CancelCartPriceError(errorCode, errorMessage);\n\t\t\t} else if (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n//---------------------------------- Fetch SavedCartObject --------------------------------------------------\n\nexport const FetchSavedCart = (\n\tcartId: string,\n\twithPrice?: boolean,\n\tsort?: string\n): any => async (dispatch: any, getState: any) => {\n\tconst priceReloadCounter = getState().cart.priceReloadCounter;\n\tdispatch(cartStart());\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: 'saved',\n\t\t\tcartId,\n\t\t\twithPrice: !withPrice,\n\t\t\tsort,\n\t\t\tpriceReloadCounter,\n\t\t})\n\t);\n\ttry {\n\t\treturn await FetchCartApi(apiUrl, cancelToken);\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (Axios.isCancel(err)) {\n\t\t\tconsole.log('Request cancelled: ', err.message);\n\t\t}\n\t\t// Expcted errors\n\t\telse if (statusCode === 400) {\n\t\t\t// 700 - Reload prices\n\t\t\tif (errorCode === 700) {\n\t\t\t\tthrow new ReloadCartPriceError(errorCode, errorMessage);\n\t\t\t}\n\t\t\t// 800 - Cancel reload prices\n\t\t\telse if (errorCode === 800) {\n\t\t\t\tthrow new CancelCartPriceError(errorCode, errorMessage);\n\t\t\t} else if (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\nexport const sendCartTable = (\n\tmethod: AjaxMethodTypes,\n\tbody: string,\n\tsort?: string\n): any => async (dispatch: any, getState: any) => {\n\tconst { cartId } = getState().cart.cartObject;\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartId,\n\t\t\ttable: true,\n\t\t})\n\t);\n\ttry {\n\t\tlet data = await sendTableDataApi(method, apiUrl, body, cancelToken);\n\t\treturn data;\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Quick import articles - Transfer warning\n\t\t\tif (errorCode === 500) {\n\t\t\t\tthrow new SendTableError(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n//---------------------------- add one or more items---------------------------\n\nexport const AddToCart = (\n\tmethod: AjaxMethodTypes,\n\tarticleList: AddToCartModel[],\n\tsort?: string\n): AppThunk => async (dispatch: any, getState: any) => {\n\tconst {\n\t\tcartId,\n\t\tcartType,\n\t\tavailableDeliveryMethods,\n\t\tlocations,\n\t\tdesiredDate,\n\t} = getState().cart.cartObject;\n\n\tdispatch(cartStart());\n\tconst location = getSelectedWarehouse(locations);\n\tconst deliveryMethod = getSelectedDeliveryMethod(availableDeliveryMethods);\n\n\tif (cartType !== 'slim') {\n\t\tcancelPricingRequest();\n\t}\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tarticle: true,\n\t\t\tsort,\n\t\t\tdeliveryMethod,\n\t\t\tlocation,\n\t\t\tdesiredDate,\n\t\t})\n\t);\n\ttry {\n\t\tlet data = await AddToCartApi(method, apiUrl, articleList, cancelToken);\n\n\t\tdispatch(cartSuccess(data as CartObjectModel));\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.error(err);\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Quick import articles - Transfer warning\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n//--------------------------- Add item to Saved cart ---------------------------\n\nexport const AddToSavedCart = (\n\tcartId: string,\n\tmethod: AjaxMethodTypes,\n\tarticleList: AddToCartModel[],\n\tsort?: string\n): any => async (dispatch: any, getState: any) => {\n\tcancelPricingRequest();\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: 'saved',\n\t\t\tcartId,\n\t\t\tarticle: true,\n\t\t\tsort,\n\t\t})\n\t);\n\ttry {\n\t\treturn await AddToCartApi(method, apiUrl, articleList, cancelToken);\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.error(err);\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Quick import articles - Transfer warning\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ---------------------------Remove item - add one or more items---------------------------\n\nexport const RemoveItem = (\n\titemCode: string,\n\tlineItemId: number,\n\tsort: string\n): AppThunk => async (dispatch: any, getState: any) => {\n\tconst {\n\t\tcartType,\n\t\tcartId,\n\t\tavailableDeliveryMethods,\n\t\tlocations,\n\t\tdesiredDate,\n\t} = getState().cart.cartObject;\n\tconst location = getSelectedWarehouse(locations);\n\tconst deliveryMethod = getSelectedDeliveryMethod(availableDeliveryMethods);\n\tcancelPricingRequest();\n\tdispatch(cartStart());\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\titemCode,\n\t\t\tlineItemId,\n\t\t\tarticle: true,\n\t\t\tsort,\n\t\t\tdeliveryMethod,\n\t\t\tlocation,\n\t\t\tdesiredDate,\n\t\t})\n\t);\n\n\ttry {\n\t\tlet data = await RemoveItemApi(apiUrl, cancelToken);\n\t\tdispatch(cartSuccess(data));\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ------------------------------ Clear cart ------------------------------\n\nexport const ClearCart = (): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst { cartType, cartId } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tdispatch(cartStart());\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tempty: true,\n\t\t})\n\t);\n\n\ttry {\n\t\tlet data = await ClearCartApi(apiUrl, cancelToken);\n\t\tdispatch(cartSuccess(data as CartObjectModel));\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ------------------------------ Save cart ------------------------------\n\nexport const SaveCart = (\n\tname: string,\n\toverwrite: boolean = false,\n\tshared: boolean\n): AppThunk => async (dispatch: any, getState: any) => {\n\tconst { cartId, cartType } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tlet saveCartData = { name, overwrite, shared };\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t})\n\t);\n\n\ttry {\n\t\tawait SaveCartApi(saveCartData, apiUrl, cancelToken);\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.error(err);\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Cart already exists - Overwrite cart errorCode and message\n\t\t\tif (errorCode === 600) {\n\t\t\t\tthrow new SaveCartError(errorCode, errorMessage);\n\t\t\t}\n\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t\treturn;\n\t}\n};\n// -------------------------- Uppdating article delivery date -----------------------------\n\nexport const UpdateArticleDeliveryDates = (\n\tdeliveryDates: ArticleDeliveryDatesModel[]\n): AppThunk => async (dispatch: any, getState: any) => {\n\tconst { cartType, cartId } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tarticle: true,\n\t\t\tdate: true,\n\t\t})\n\t);\n\n\ttry {\n\t\tlet data = await UpdateWithArticleDeliveryDates(\n\t\t\tapiUrl,\n\t\t\tdeliveryDates,\n\t\t\tcancelToken\n\t\t);\n\t\tdispatch(cartSuccess(data as CartObjectModel));\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ---------------------------Add notes - goodsmark and comment ---------------------------\n\nexport const AddNotes = (\n\tnotesData: AddNotesModel[],\n\tselectedSort?: string\n): AppThunk => async (dispatch: any, getState: any) => {\n\tconst {\n\t\tcartType,\n\t\tcartId,\n\t\tavailableDeliveryMethods,\n\t\tlocations,\n\t\tsingleShipment,\n\t\tdesiredDate,\n\t} = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tconst location = getSelectedWarehouse(locations);\n\tconst deliveryMethod = getSelectedDeliveryMethod(availableDeliveryMethods);\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tarticle: true,\n\t\t\tnote: true,\n\t\t\tsort: selectedSort || '',\n\t\t\tdeliveryMethod,\n\t\t\tlocation,\n\t\t\tdesiredDate,\n\t\t\tsingleShipment,\n\t\t})\n\t);\n\n\ttry {\n\t\tlet data = await AddNotesApi(apiUrl, notesData, cancelToken);\n\t\tdispatch(cartSuccess(data as CartObjectModel));\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// --------------------------- Delete cart ------------------------------------\n\nexport const DeleteCart = (cartId: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst { cartType } = getState().cart.cartObject;\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t})\n\t);\n\n\ttry {\n\t\tawait DeleteCartApi(apiUrl);\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ---------------------------Update Cart - Sort/location/deliveryMethod/desiredDate---------------------------\n// ---------------------------Single shipment - cartType/cartId/desiredDate/singleShipment\n\nexport const UpdateCart = ({\n\tselectedSort = '',\n\tselectedDeliveryMethod = '',\n\tselectedLocation = '',\n\tselectedDesiredDate = '',\n\tsingleShipment,\n}: UpdateCartModel): AppThunk => async (dispatch: any, getState: any) => {\n\tconst {\n\t\tcartType,\n\t\tcartId,\n\t\tlocations,\n\t\tavailableDeliveryMethods,\n\t\tdesiredDate,\n\t} = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tdispatch(cartStart());\n\n\tconst deliveryMethod =\n\t\tselectedDeliveryMethod ||\n\t\tgetSelectedDeliveryMethod(availableDeliveryMethods);\n\n\tconst location = getSelectedWarehouse(locations);\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tsort: selectedSort,\n\t\t\tdeliveryMethod,\n\t\t\tlocation: selectedLocation || location,\n\t\t\tdesiredDate: selectedDesiredDate || desiredDate,\n\t\t\tsingleShipment: singleShipment,\n\t\t})\n\t);\n\n\ttry {\n\t\tlet data = await UpdateCartApi(apiUrl, cancelToken);\n\t\tdispatch(cartSuccess(data));\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// ---------------------------Update Saved Cart - Sort ---------------------------\nexport const UpdateSavedCart = (\n\tcartId: string,\n\tselectedSort: string = ''\n): any => async (dispatch: any) => {\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartId,\n\t\t\tcartObjectType: 'saved',\n\t\t\tsort: selectedSort,\n\t\t})\n\t);\n\ttry {\n\t\treturn await UpdateCartApi(apiUrl);\n\t} catch (err: any) {\n\t\tconsole.error(err);\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 500) {\n\t\t\t\tthrow new CheckoutError(errorCode, errorMessage);\n\t\t\t}\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\n// --------------------------- Proceed punchout-------------------------------------------------\n\nexport const PunchOut = (): any => async (dispatch: any, getState: any) => {\n\tconst { cartId } = getState().cart.cartObject;\n\n\tdispatch(cartStart());\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartId,\n\t\t\tpunchout: true,\n\t\t})\n\t);\n\n\ttry {\n\t\treturn await CheckoutApi(apiUrl);\n\t} catch (err: any) {\n\t\tdispatch(cartFailed(err.toString()));\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.error(err);\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Couldn't proceed checkout\n\t\t\tif (errorCode === 500) {\n\t\t\t\tthrow new PunchOutError(errorCode, errorMessage);\n\t\t\t}\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t\treturn;\n\t}\n};\n\n// --------------------------- Proceed Checkout -------------------------------------------------\n\nexport const Checkout = (requestData: CheckoutReqestDataModel): any => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst { cartId } = getState().cart.cartObject;\n\n\tdispatch(cartStart());\n\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartId,\n\t\t\tcheckout: true,\n\t\t})\n\t);\n\n\ttry {\n\t\treturn await CheckoutApi(apiUrl, requestData);\n\t} catch (err: any) {\n\t\tdispatch(cartFailed(err.toString()));\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.error(err);\n\t\t// Expcted errors\n\t\tif (statusCode === 400) {\n\t\t\t// Couldn't proceed checkout\n\t\t\tif (errorCode === 500) {\n\t\t\t\tthrow new CheckoutError(errorCode, errorMessage);\n\t\t\t}\n\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t\treturn;\n\t}\n};\n\nexport const selectCartObject = (state: RootState) => state.cart.cartObject;\nexport const selectCartLoading = (state: RootState) => state.cart.loading;\nexport const selectCartPriceReloadCounter = (state: RootState) =>\n\tstate.cart.priceReloadCounter;\n\nexport const {\n\tcartStart,\n\tcartSuccess,\n\tcartFailed,\n\tcartUpdatePriceReloadCounter,\n} = slice.actions;\n\nexport default slice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { DictionaryModel } from 'types/common';\n\ninterface LocalizationState {\n\ttranslations?: DictionaryModel;\n\terror: string | null;\n\tloading: boolean;\n}\n\nconst initialState: LocalizationState = {\n\ttranslations: {},\n\terror: null,\n\tloading: false,\n};\n\nconst slice = createSlice({\n\tname: 'localization',\n\tinitialState,\n\treducers: {\n\t\tLocalizationInit: (state, action: PayloadAction) => {\n\t\t\tstate.loading = true;\n\t\t\tstate.translations = action.payload.translations;\n\t\t},\n\t},\n});\n\nexport const { LocalizationInit } = slice.actions;\n\nexport default slice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { AddToCartModel } from 'types/cart-types';\n\nimport { OrderMatrixTabPageModel } from 'types/page-types';\nimport { OrderMatrixObjectModel } from 'types/matrix-types';\nimport { AjaxMethodTypes } from 'types/common';\nimport axios from 'axios';\nimport { AppThunk, RootState } from 'store';\nimport { AddToCartApi, ClearCartApi, getApiUrl } from 'store/api/cartApi';\nimport { GenericWarning, ServerError } from 'common/helpers';\n\ninterface OrderMatrixState {\n\torderMatrixObject: OrderMatrixObjectModel;\n\tactiveTabObj: OrderMatrixTabPageModel;\n\tactiveTabQuantity: number;\n\ttotalQuantity: number;\n\terror: string | null;\n\tloading: boolean;\n}\n\nconst initialState: OrderMatrixState = {\n\torderMatrixObject: {\n\t\tcartId: '',\n\t\tcartType: 'ordermatrix',\n\t\tcartStatus: 'invalid',\n\t\torderMatrixTabPages: [],\n\t\tproperties: [],\n\t},\n\tactiveTabObj: {\n\t\theading: '',\n\t\tid: '',\n\t\tisActive: true,\n\t\tquantity: 0,\n\t},\n\ttotalQuantity: 0,\n\tactiveTabQuantity: 0,\n\terror: null,\n\tloading: false,\n};\n\nconst slice = createSlice({\n\tname: 'ordermatrix',\n\tinitialState,\n\treducers: {\n\t\torderMatrixStart: (state) => {\n\t\t\tstate.loading = true;\n\t\t},\n\t\torderMatrixSuccess: (\n\t\t\tstate,\n\t\t\taction: PayloadAction\n\t\t) => {\n\t\t\tstate.orderMatrixObject = { ...action.payload };\n\n\t\t\tstate.activeTabObj = {\n\t\t\t\t...action.payload?.orderMatrixTabPages?.filter(\n\t\t\t\t\t(tab) => tab.isActive\n\t\t\t\t)[0],\n\t\t\t};\n\n\t\t\tstate.activeTabQuantity = action.payload?.orderMatrixTabPages?.filter(\n\t\t\t\t(tab) => tab.isActive\n\t\t\t)[0].quantity;\n\n\t\t\tstate.totalQuantity = action.payload?.orderMatrixTabPages?.reduce(\n\t\t\t\t(accumulator, currentValue) => accumulator + currentValue.quantity,\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tstate.loading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\torderMatrixUpdateTotalQuanity: (state, action: PayloadAction) => {\n\t\t\tstate.totalQuantity = action.payload;\n\t\t},\n\t\torderMatrixUpdateActiveTabQuanity: (\n\t\t\tstate,\n\t\t\taction: PayloadAction\n\t\t) => {\n\t\t\tstate.activeTabQuantity = action.payload;\n\t\t},\n\t\torderMatrixFailed: (state, action: PayloadAction) => {\n\t\t\tstate.error = action.payload;\n\t\t\tstate.loading = false;\n\t\t},\n\t},\n});\n\nexport const UpdateActiveTabQuantity = (\n\tarticleList: { itemCode: string; quantity: number }[]\n): AppThunk => (dispatch: any, getState: any) => {\n\tlet activeTabQty: number = 0;\n\tactiveTabQty = articleList.reduce(\n\t\t(accumulator, currentValue) => accumulator + currentValue.quantity,\n\t\t0\n\t);\n\tdispatch(orderMatrixUpdateActiveTabQuanity(activeTabQty));\n};\n\nexport const UpdateTotalQuantity = (): AppThunk => (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst { activeTabQuantity } = getState().ordermatrix;\n\tconst { orderMatrixTabPages } = getState().ordermatrix.orderMatrixObject;\n\n\tlet totalQuantity = 0;\n\torderMatrixTabPages.forEach((tab: OrderMatrixTabPageModel) => {\n\t\tif (tab.isActive) {\n\t\t\ttotalQuantity += activeTabQuantity;\n\t\t} else {\n\t\t\ttotalQuantity += tab.quantity;\n\t\t}\n\t});\n\tdispatch(orderMatrixUpdateTotalQuanity(totalQuantity));\n};\n\nexport const ChangeTab = (\n\tapiUrl: string,\n\tselectedTab?: string\n): AppThunk => async (dispatch: any, getState: any) => {\n\tlet data;\n\tdispatch(orderMatrixStart());\n\n\tif (selectedTab) {\n\t\tapiUrl = `${apiUrl}?tab=${encodeURIComponent(selectedTab)}`;\n\t}\n\ttry {\n\t\tdata = await ChangeTabApi(apiUrl);\n\t\tdispatch(orderMatrixSuccess(data));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const ChangeTabApi = async (\n\tapiUrl: string\n): Promise => {\n\tconst { data } = await axios({\n\t\tmethod: 'GET',\n\t\turl: apiUrl,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t});\n\treturn data;\n};\n\nexport const AddToOrderMatrixCart = (\n\tmethod: AjaxMethodTypes,\n\tarticleList: AddToCartModel[]\n): any => async (dispatch: any, getState: any) => {\n\tconst { cartId, cartType } = getState().ordermatrix.orderMatrixObject;\n\tlet apiUrl = dispatch(\n\t\tgetApiUrl({\n\t\t\tcartObjectType: cartType,\n\t\t\tcartId,\n\t\t\tarticle: true,\n\t\t})\n\t);\n\ttry {\n\t\treturn await AddToCartApi(method, apiUrl, articleList);\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const ClearOrderMatrix = (apiUrl: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tlet data;\n\ttry {\n\t\tdata = await ClearCartApi(apiUrl);\n\t\tdispatch(orderMatrixSuccess(data as OrderMatrixObjectModel));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\tthrow new ServerError();\n\t}\n};\n\nexport const AddAllToCart = (apiUrl: string): any => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tlet data;\n\tdispatch(orderMatrixStart());\n\n\ttry {\n\t\tdata = await AddToCartApi('POST', apiUrl);\n\t\tconsole.log(data);\n\t\tdispatch(orderMatrixSuccess(data as OrderMatrixObjectModel));\n\t} catch (err: any) {\n\t\tconst statusCode = err.response.status;\n\t\tconst errorCode: number = err.response.data.errorCode;\n\t\tconst errorMessage: string = err.response.data.message;\n\n\t\tconsole.log(statusCode, errorMessage);\n\n\t\tif (statusCode === 400) {\n\t\t\tif (errorCode === 510) {\n\t\t\t\tthrow new GenericWarning(errorCode, errorMessage);\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new ServerError();\n\t\t}\n\t}\n};\n\nexport const selectOrderMatrixData = (state: RootState) => state.ordermatrix;\nexport const selectOrderMatrixObject = (state: RootState) =>\n\tstate.ordermatrix.orderMatrixObject;\n\nexport const {\n\torderMatrixStart,\n\torderMatrixSuccess,\n\torderMatrixUpdateActiveTabQuanity,\n\torderMatrixUpdateTotalQuanity,\n\torderMatrixFailed,\n} = slice.actions;\n\nexport default slice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport {\n\tProjectModel,\n\tUserObjectModel,\n\tWarehouseModel,\n\tUserTypeModel,\n} from 'types/common';\nimport axios, { CancelTokenSource } from 'axios';\nimport { AppThunk, RootState } from 'store';\nimport { cancelPricingRequest, cancelToken } from 'store/api/cartApi';\n\ninterface UserState {\n\tuserObject: UserObjectModel;\n\tapiBaseUrl: string;\n\terror: string | null;\n\tcustomerLoading: boolean;\n\tprojectLoading: boolean;\n\twarehouseLoading: boolean;\n\ttypeLoading: boolean;\n}\n\nconst initialState: UserState = {\n\tuserObject: {\n\t\tcustomers: [],\n\t\tprojects: [],\n\t\twarehouses: [],\n\t\ttypes: [],\n\t},\n\tapiBaseUrl: '',\n\terror: null,\n\tcustomerLoading: false,\n\tprojectLoading: false,\n\twarehouseLoading: false,\n\ttypeLoading: false,\n};\n\nconst slice = createSlice({\n\tname: 'user',\n\tinitialState,\n\treducers: {\n\t\tuserStart: (\n\t\t\tstate,\n\t\t\taction: PayloadAction<'customer' | 'project' | 'warehouse' | 'type'>\n\t\t) => {\n\t\t\tswitch (action.payload) {\n\t\t\t\tcase 'customer':\n\t\t\t\t\tstate.customerLoading = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'project':\n\t\t\t\t\tstate.projectLoading = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'warehouse':\n\t\t\t\t\tstate.warehouseLoading = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'type':\n\t\t\t\t\tstate.typeLoading = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tuserCustomer: (state, action: PayloadAction) => {\n\t\t\tstate.userObject = { ...state.userObject, ...action.payload };\n\t\t\tstate.customerLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tuserProjects: (state, action: PayloadAction) => {\n\t\t\tstate.userObject = { ...state.userObject, projects: action.payload };\n\t\t\tstate.projectLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tuserWarehouses: (state, action: PayloadAction) => {\n\t\t\tstate.userObject = { ...state.userObject, warehouses: action.payload };\n\t\t\tstate.warehouseLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tuserTypes: (state, action: PayloadAction) => {\n\t\t\tstate.userObject = { ...state.userObject, types: action.payload };\n\t\t\tstate.typeLoading = false;\n\t\t\tstate.error = null;\n\t\t},\n\t\tuserFailed: (state, action: PayloadAction) => {\n\t\t\tstate.error = action.payload;\n\t\t\tstate.customerLoading = false;\n\t\t\tstate.projectLoading = false;\n\t\t\tstate.warehouseLoading = false;\n\t\t},\n\t},\n});\n\nexport const FetchUser = (customerId: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst baseUrl = getState().user.apiBaseUrl;\n\tconst { cartType } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tlet data;\n\tdispatch(userStart('customer'));\n\n\ttry {\n\t\tdata = await UserApi(\n\t\t\t`${baseUrl}/user?type=${cartType}`,\n\t\t\t{\n\t\t\t\tcustomerId: customerId,\n\t\t\t},\n\t\t\tcancelToken\n\t\t);\n\t\tdispatch(userCustomer(data));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const UpdateTypes = (id: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst baseUrl = getState().user.apiBaseUrl;\n\tconst { types } = getState().user.userObject;\n\tconst { cartType } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tdispatch(userStart('type'));\n\n\tlet typeArray = JSON.parse(JSON.stringify(types));\n\n\ttypeArray.forEach((item: UserTypeModel, i: number) => {\n\t\tif (item.id === id) {\n\t\t\ttypeArray[i].selected = true;\n\t\t} else {\n\t\t\ttypeArray[i].selected = false;\n\t\t}\n\t});\n\n\ttry {\n\t\tawait UserApi(\n\t\t\t`${baseUrl}/user?type=${cartType}`,\n\t\t\t{ userTypeId: id },\n\t\t\tcancelToken\n\t\t);\n\t\tdispatch(userTypes(typeArray));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const UpdateProjects = (id: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst baseUrl = getState().user.apiBaseUrl;\n\tconst { projects } = getState().user.userObject;\n\tconst { cartType } = getState().cart.cartObject;\n\n\tcancelPricingRequest();\n\n\tdispatch(userStart('project'));\n\n\tlet projectArray = JSON.parse(JSON.stringify(projects));\n\n\tprojectArray.forEach((item: ProjectModel, i: number) => {\n\t\tif (item.id === id) {\n\t\t\tprojectArray[i].selected = true;\n\t\t} else {\n\t\t\tprojectArray[i].selected = false;\n\t\t}\n\t});\n\n\ttry {\n\t\tawait UserApi(\n\t\t\t`${baseUrl}/user?type=${cartType}`,\n\t\t\t{ projectId: id },\n\t\t\tcancelToken\n\t\t);\n\t\tdispatch(userProjects(projectArray));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const UpdateWarehouses = (id: string): AppThunk => async (\n\tdispatch: any,\n\tgetState: any\n) => {\n\tconst baseUrl = getState().user.apiBaseUrl;\n\tconst { warehouses } = getState().user.userObject;\n\tconst { cartType, withPrice } = getState().cart.cartObject;\n\n\tif (cartType !== 'slim' && !withPrice) {\n\t\tcancelPricingRequest();\n\t}\n\n\tdispatch(userStart('warehouse'));\n\n\tlet warehouseArray = JSON.parse(JSON.stringify(warehouses));\n\n\twarehouseArray.forEach((item: ProjectModel, i: number) => {\n\t\tif (item.id === id) {\n\t\t\twarehouseArray[i].selected = true;\n\t\t} else {\n\t\t\twarehouseArray[i].selected = false;\n\t\t}\n\t});\n\n\ttry {\n\t\tawait UserApi(\n\t\t\t`${baseUrl}/user?type=${cartType}`,\n\t\t\t{ warehouseId: id },\n\t\t\tcancelToken\n\t\t);\n\t\tdispatch(userWarehouses(warehouseArray));\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn;\n\t}\n};\n\nexport const UserApi = async (\n\tapiUrl: string,\n\tuserData: any,\n\tcancelSource: CancelTokenSource\n): Promise => {\n\tconst { data } = await axios({\n\t\tmethod: 'PATCH',\n\t\turl: apiUrl,\n\t\tdata: userData,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t\tcancelToken: cancelSource?.token,\n\t});\n\treturn data;\n};\n\nexport const selectUserObject = (state: RootState) => state.user.userObject;\n\nexport const selectUserData = (state: RootState) => state.user;\n\nexport const {\n\tuserStart,\n\tuserCustomer,\n\tuserProjects,\n\tuserTypes,\n\tuserWarehouses,\n\tuserFailed,\n} = slice.actions;\n\nexport default slice.reducer;\n","import { configureStore, combineReducers, Action } from '@reduxjs/toolkit';\nimport { ThunkAction } from 'redux-thunk';\nimport configuratorReducer from './modules/configurator';\nimport cartReducer from './modules/cart';\nimport localizationReducer from './modules/localization';\nimport ordermatrixReducer from './modules/ordermatrix';\nimport userReducer from './modules/user';\n\nconst rootReducer = combineReducers({\n\tlocalization: localizationReducer,\n\tconfigurator: configuratorReducer,\n\tcart: cartReducer,\n\tordermatrix: ordermatrixReducer,\n\tuser: userReducer,\n});\nexport type RootState = ReturnType;\n\nlet store: any = null;\n\nexport default (preloadedState?: any) => {\n\tif (preloadedState != null) {\n\t\tstore = configureStore({\n\t\t\treducer: rootReducer,\n\t\t\tpreloadedState,\n\t\t});\n\t}\n\n\treturn store;\n};\n\n// export type AppDispatch = typeof store.dispatch\nexport type AppThunk = ThunkAction>;\n","import store from 'store';\n\n/**\n * Renders an element based on whether or not we're in EPI's edit mode:\n * -If we're in edit mode, add data-epi-property-name attribute to element and always render\n * -If we're on site, render element if we have content, return empty string if no content\n *\n * @param {Boolean} isInEditMode - True if in Epi's edit mode, false if on site\n * @param {String} name - The name of the field in EPI\n * @param {String} Tag - The tag name, i.e. 'p', 'div' etc...\n * @param {Object} props - The props as an object to add to the HTML element, ie. className, id etc.\n * @param {String} content - The innerHTML of the tag\n */\nexport const renderElementBasedOnEditMode = (\n\tisInEditMode,\n\tname,\n\tTag,\n\tprops,\n\tcontent\n) => {\n\tif (isInEditMode) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{content}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn content || props.dangerouslySetInnerHTML ? (\n\t\t\t{content}\n\t\t) : (\n\t\t\t''\n\t\t);\n\t}\n};\n\n/**\n * Sets a cookie.\n * @param {String} cname - The name of the cookie.\n * @param {String} cvalue - The value of the cookie.\n * @param {Number|Null} exdays - The number of days until the cookie should expire (can be null).\n * @param {String|Null} path - The path to set the cookie to (can be null).\n * @public\n */\nexport const setCookie = (cname, cvalue, exdays, path) => {\n\tlet d = new Date(),\n\t\tcookieContent = cname + '=' + cvalue,\n\t\texpires;\n\n\tif (exdays !== null && exdays !== undefined) {\n\t\td.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n\t\texpires = '; expires=' + d.toUTCString();\n\t\tcookieContent += expires;\n\t}\n\n\tif (path !== null && path !== undefined) {\n\t\tcookieContent += '; path=' + path;\n\t}\n\tdocument.cookie = cookieContent;\n};\n\n/**\n * Gets a cookie.\n * @param {String} cname - The name of the cookie.\n * @public\n */\nexport const getCookie = (cname) => {\n\tlet name = cname + '=',\n\t\tca = document.cookie.split(';');\n\n\tfor (let i = 0; i < ca.length; i++) {\n\t\tlet c = ca[i];\n\t\twhile (c.charAt(0) === ' ') {\n\t\t\tc = c.substring(1);\n\t\t}\n\t\tif (c.indexOf(name) === 0) {\n\t\t\treturn c.substring(name.length, c.length);\n\t\t}\n\t}\n\n\treturn '';\n};\n\n/*\n * Compose query string for search and filter.\n */\nexport const composeQueryString = (\n\tquery,\n\tsortBy,\n\tdisplay,\n\tcurrentPage,\n\tfacets,\n\tgroup,\n\tsortDir,\n\tarticle\n) => {\n\tlet queryParams = [];\n\n\tif (query && query !== '') {\n\t\tqueryParams.push(`query=${query}`);\n\t}\n\tif (sortBy || sortBy === 0) {\n\t\tqueryParams.push(`sort=${sortBy}`);\n\t}\n\tif (display) {\n\t\tqueryParams.push(`display=${display}`);\n\t}\n\tif (currentPage) {\n\t\tqueryParams.push(`page=${currentPage}`);\n\t}\n\tif (sortDir) {\n\t\tqueryParams.push(`sortDir=${sortDir}`);\n\t}\n\tif (facets && facets.length > 0) {\n\t\tconst facetParams = composeFacetUrlParams(facets);\n\t\tfacetParams && queryParams.push(facetParams);\n\t}\n\tif (group || group === 0) {\n\t\tqueryParams.push(`group=${group}`);\n\t}\n\tif (article) {\n\t\tqueryParams.push(`article=${article}`);\n\t}\n\n\tconst queryString = queryParams.join('&');\n\treturn queryString;\n};\n\nexport const composeFacetUrlParams = (facets) => {\n\tlet params = {};\n\tfacets.forEach((fieldset) => {\n\t\tfieldset.items.forEach((facet) => {\n\t\t\tif (facet.active) {\n\t\t\t\tif (params[fieldset.id]) {\n\t\t\t\t\tparams[fieldset.id].push(facet.id);\n\t\t\t\t} else {\n\t\t\t\t\tparams[fieldset.id] = [facet.id];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n\tconst esc = encodeURIComponent;\n\tconst queryString = Object.keys(params)\n\t\t.filter((key) => params[key].length > 0 && params[key][0])\n\t\t.map(\n\t\t\t(key) => esc(key) + '=' + params[key].map((value) => `${value}`).join(',')\n\t\t)\n\t\t.join('&');\n\treturn queryString || null;\n};\n\n/*\n * Get a param from window.location;\n */\nexport const getURLParameter = (name) => {\n\tif (!window || !window.location || !window.location.search) return null;\n\treturn (\n\t\tdecodeURIComponent(\n\t\t\t(new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(\n\t\t\t\twindow.location.search\n\t\t\t) || [null, ''])[1].replace(/\\+/g, '%20')\n\t\t) || null\n\t);\n};\n\n/*\n * Set the window.location based on query and filter options.\n */\nexport const setUrlLocation = (\n\tqueryString,\n\tquery,\n\tsortBy,\n\tdisplay,\n\tcurrentPage,\n\tfacets,\n\tgroup,\n\tsortDir,\n\thasRendered,\n\tnoUpdate,\n\thash,\n\tarticle\n) => {\n\tif (noUpdate !== true) {\n\t\tlet windowLocation = window.location.pathname + '?' + queryString;\n\t\tif (hash) {\n\t\t\twindowLocation += hash;\n\t\t}\n\n\t\tif (hasRendered) {\n\t\t\twindow.history.pushState(\n\t\t\t\t{\n\t\t\t\t\tsearch: query,\n\t\t\t\t\tsortBy: {\n\t\t\t\t\t\tsortBy,\n\t\t\t\t\t\tdisplay,\n\t\t\t\t\t\tfacets,\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tsortDir,\n\t\t\t\t\t},\n\t\t\t\t\tpage: currentPage,\n\t\t\t\t\tarticle: article,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindowLocation\n\t\t\t);\n\t\t} else {\n\t\t\twindow.history.replaceState(\n\t\t\t\t{\n\t\t\t\t\tsearch: query,\n\t\t\t\t\tsortBy: {\n\t\t\t\t\t\tsortBy,\n\t\t\t\t\t\tdisplay,\n\t\t\t\t\t\tfacets,\n\t\t\t\t\t\tgroup,\n\t\t\t\t\t\tsortDir,\n\t\t\t\t\t},\n\t\t\t\t\tpage: currentPage,\n\t\t\t\t\tmodal: article,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindowLocation\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const formatDate = (dateString) => {\n\tif (!dateString || dateString === '') {\n\t\treturn '';\n\t}\n\tlet date = new Date(dateString);\n\treturn date.toISOString().slice(0, 10);\n};\n\nexport const parseAndFormatRows = (value) => {\n\tconst items = [];\n\tconst rows = value.split('\\n');\n\trows.forEach((row) => {\n\t\tconst item = row.split('\\t');\n\t\tif (row[0] && row[2]) {\n\t\t\titems.push({\n\t\t\t\tcode: item[0],\n\t\t\t\tquantity: parseInt(item[1]),\n\t\t\t});\n\t\t}\n\t});\n\treturn items && items.length > 0 ? items : [];\n};\n\nexport const formElementsAreEqual = (f1, f2) => {\n\treturn f1 && f1.value && f2 && f2.value && f1.value === f2.value;\n};\n\nexport const scrollToTop = (pixel = 0, smooth) => {\n\tif (window) {\n\t\twindow.scrollTo({ top: pixel, behavior: smooth ? 'smooth' : 'auto' });\n\t}\n};\n\nexport const getHeadingLevel = (level) => {\n\tswitch (level) {\n\t\tcase 1:\n\t\t\treturn 'h1';\n\t\tcase 2:\n\t\t\treturn 'h2';\n\t\tcase 3:\n\t\t\treturn 'h3';\n\t\tcase 4:\n\t\t\treturn 'h4';\n\t\tcase 5:\n\t\t\treturn 'h5';\n\t\tcase 6:\n\t\t\treturn 'h6';\n\t\tdefault:\n\t\t\treturn 'h2';\n\t}\n};\n\nexport const t = (term) => {\n\tconst state = store().getState().localization.translations;\n\treturn state[`/frontend/${term}`]\n\t\t? state[`/frontend/${term}`]\n\t\t: `/frontend/${term}`;\n};\n\n// type WarehouseModel[]\nexport const getSelectedWarehouse = (locations) => {\n\treturn locations?.find((item) => item.selected === true)?.id;\n};\n\nexport const getSelectedDeliveryMethod = (deliveryMethods) => {\n\treturn deliveryMethods?.find((item) => item.selected === true)\n\t\t?.deliveryMethodId;\n};\n\nexport const getPreloadedState = (model) => {\n\tlet preloadedState = {};\n\tif (model.framework.siteType === 'Lindab') {\n\t\tpreloadedState = {\n\t\t\t...preloadedState,\n\t\t\tcart: {\n\t\t\t\tcartObject: model.cartObject,\n\t\t\t\tapiBaseUrl: model.framework.api.cartApiBaseUrl,\n\t\t\t\tpriceReloadCounter: 0,\n\t\t\t},\n\t\t\tuser: {\n\t\t\t\tuserObject: model.framework.header.userObject,\n\t\t\t\tapiBaseUrl: model.framework.api.userApiBaseUrl,\n\t\t\t},\n\t\t};\n\t\tif (model.modelType === 'OrderMatrixLandingPage') {\n\t\t\tpreloadedState = {\n\t\t\t\t...preloadedState,\n\t\t\t\tordermatrix: {\n\t\t\t\t\torderMatrixObject: model.orderMatrixObject,\n\t\t\t\t\tactiveTabObj: model.orderMatrixObject?.orderMatrixTabPages?.filter(\n\t\t\t\t\t\t(tab) => tab.isActive\n\t\t\t\t\t)[0],\n\t\t\t\t\tactiveTabQuantity: model.orderMatrixObject?.orderMatrixTabPages?.filter(\n\t\t\t\t\t\t(tab) => tab.isActive\n\t\t\t\t\t)[0]?.quantity,\n\t\t\t\t\ttotalQuantity: model.orderMatrixObject?.orderMatrixTabPages?.reduce(\n\t\t\t\t\t\t(accumulator, currentValue) => accumulator + currentValue.quantity,\n\t\t\t\t\t\t0\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\n\treturn preloadedState;\n};\n\nexport class SaveCartError extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\n\nexport class SendTableError extends Error {\n\tconstructor(errorCode, message, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t\tthis.message = message;\n\t}\n}\n\nexport class CheckoutError extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\nexport class PunchOutError extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\nexport class ReloadCartPriceError extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\nexport class CancelCartPriceError extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\n\nexport class GenericWarning extends Error {\n\tconstructor(errorCode, ...params) {\n\t\tsuper(...params);\n\t\tthis.errorCode = errorCode;\n\t}\n}\n\nexport class QuickImportArticlesError extends Error {}\nexport class ServerError extends Error {}\n","import styled from 'styled-components';\nimport {\n\tH1Css,\n\tH2Css,\n\tH3Css,\n\tH4Css,\n\tH5Css,\n\tparagraphCss,\n} from 'components/ui/Typography';\nimport { spacing2x } from 'theme/spacings';\nimport { fontWeightSemiBold } from 'theme/typography';\nimport { blue } from 'theme/colors';\n\nexport const RichTextWrapper = styled.div`\n\th1 {\n\t\t${H1Css};\n\t}\n\th2 {\n\t\t${H2Css};\n\t}\n\th3 {\n\t\t${H3Css};\n\t}\n\th4 {\n\t\t${H4Css};\n\t}\n\th5 {\n\t\t${H5Css};\n\t}\n\n\tp {\n\t\t${paragraphCss};\n\n\t\tstrong,\n\t\tb {\n\t\t\tfont-weight: ${fontWeightSemiBold};\n\n\t\t\ta {\n\t\t\t\tfont-weight: ${fontWeightSemiBold};\n\t\t\t}\n\t\t}\n\t}\n\n\t.align-left {\n\t\tfloat: left;\n\t\tmargin: ${spacing2x} ${spacing2x} ${spacing2x} 0;\n\t}\n\n\t.align-right {\n\t\tfloat: right;\n\t\tmargin: ${spacing2x} 0 ${spacing2x} ${spacing2x};\n\t}\n\n\t.align-center {\n\t\tdisplay: block;\n\t\tmargin: ${spacing2x} auto;\n\t}\n\ta {\n\t\t${paragraphCss};\n\t\tcolor: ${blue};\n\t\ttext-decoration: none;\n\t\t:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t.youtube-wrapper {\n\t\tposition: relative;\n\t\tpadding-bottom: 56.25%; /* 16:9 */\n\t\theight: 0;\n\t\t> iframe {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t}\n\n\timg {\n\t\tmax-width: 100%;\n\t}\n`;\n","import RichText from './RichText';\n\nexport default RichText;\n","/**\n * RichText\n * @module components/RichText\n */\n\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { RichTextWrapper } from './RichText.styles';\nimport clsx from 'clsx';\n\ninterface RichTextmodel {\n\tbackgroundColor?: string;\n\tboldText?: any;\n\tfooterCss?: any;\n\ttext?: string;\n\tname?: string;\n\tsize?: 'small' | 'large' | 'default';\n\tisInEditMode?: boolean;\n\tclassName?: string;\n}\n\nconst RichText = (props: RichTextmodel) => {\n\tconst {\n\t\tboldText,\n\t\ttext,\n\t\tsize,\n\t\tisInEditMode,\n\t\tname,\n\t\tclassName,\n\t\tfooterCss,\n\t} = props;\n\n\treturn (\n\t\t<>\n\t\t\t{text\n\t\t\t\t? renderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode || false,\n\t\t\t\t\t\tname || '',\n\t\t\t\t\t\tRichTextWrapper,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName: clsx(className, 'richtext'),\n\t\t\t\t\t\t\tsize,\n\t\t\t\t\t\t\tboldText,\n\t\t\t\t\t\t\tfooterCss,\n\t\t\t\t\t\t\tdangerouslySetInnerHTML: { __html: text },\n\t\t\t\t\t\t},\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\tnull\n\t\t\t\t )\n\t\t\t\t: null}\n\t\t\n\t);\n};\n\nexport default RichText;\n","import { useEffect, useRef } from 'react';\nimport { checkFieldActions } from 'components/ui/EpiForms/EpiForms.actions';\nimport {\n\tField,\n\tTextArea,\n\tSelect,\n\tMultiselect,\n\tRadioButton,\n\tCheckbox,\n\tFieldset,\n\tButton,\n\tLabel,\n\tErrorSpan,\n} from 'components/ui/FormEpi';\nimport { checkDependency } from 'components/ui/EpiForms/EpiForms.dependencies';\nimport Icon from 'components/ui/Icon';\nimport { FieldWrapper, CheckboxLabel } from 'components/ui/FormEpi/Form.styles';\nimport RichText from 'components/ui/RichText';\n\nexport const useFormRenderer = (fields, state, dependencies, translations) => {\n\tconst { invalidFields, validationMessages, isLoading, values } = state;\n\tlet fieldActionExists = false;\n\n\tconst renderFormElement = (fieldName) => {\n\t\tconst field = fields[fieldName];\n\t\tconst { name, paragraphText } = fields[fieldName];\n\t\tlet { type } = fields[fieldName];\n\n\t\tif (type === null) {\n\t\t\ttype = 'text';\n\t\t}\n\n\t\tconst renderAsFieldset =\n\t\t\t(type === 'radio' || type === 'checkbox') && field.options.length > 1;\n\t\tconst singleCheckboxOrRadio =\n\t\t\t(type === 'radio' || type === 'checkbox') && field.options.length === 1;\n\n\t\tconst fieldHasDependency =\n\t\t\tdependencies &&\n\t\t\tdependencies.filter((field) => field.fieldName === name).length > 0;\n\n\t\tif (fieldHasDependency) {\n\t\t\tconst fieldShouldBeRendered = checkDependency(name, dependencies, values);\n\n\t\t\tif (!fieldShouldBeRendered) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (renderAsFieldset) {\n\t\t\treturn {renderFieldset(field)};\n\t\t} else if (singleCheckboxOrRadio) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{renderSingleInput(field)}\n\t\t\t\t\t{renderFieldError(field.name)}\n\t\t\t\t\n\t\t\t);\n\t\t} else if (type === 'paragraphtext') {\n\t\t\treturn ;\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{field.type !== 'multiselect' && renderLabel(field)}\n\t\t\t\t\t{renderField(field)}\n\t\t\t\t\t{renderFieldError(field.name)}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst renderLabel = ({ id, label, required, type }) => {\n\t\tif (!label || type === 'submit' || type === 'reset') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderFieldError = (id) => {\n\t\tconst validationMessage =\n\t\t\tvalidationMessages[id] && validationMessages[id].message;\n\t\tconst isInvalid = invalidFields.indexOf(id) !== -1;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{validationMessage}\n\t\t\t\n\t\t);\n\t};\n\n\t// RECAPTCHA RELATED METHODS\n\n\tconst loadRecaptcha = (siteKey, inputId) => {\n\t\tif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n\t\t\tlet existingScripts = document.head.getElementsByTagName('script');\n\t\t\tlet scriptExists = false;\n\t\t\tfor (var i = 0; i < existingScripts.length; i++) {\n\t\t\t\tif (\n\t\t\t\t\texistingScripts[i].src ===\n\t\t\t\t\t'https://www.google.com/recaptcha/api.js?render=' + siteKey\n\t\t\t\t) {\n\t\t\t\t\tscriptExists = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!scriptExists) {\n\t\t\t\tvar script = document.createElement('script');\n\n\t\t\t\tscript.src =\n\t\t\t\t\t'https://www.google.com/recaptcha/api.js?render=' + siteKey;\n\n\t\t\t\tdocument.head.appendChild(script);\n\t\t\t}\n\n\t\t\tdocument.addEventListener('click', (e) => {\n\t\t\t\twindow.grecaptcha &&\n\t\t\t\t\twindow.grecaptcha.ready((_) => {\n\t\t\t\t\t\twindow.grecaptcha\n\t\t\t\t\t\t\t.execute(siteKey, { action: 'submit' })\n\t\t\t\t\t\t\t.then((token) => {\n\t\t\t\t\t\t\t\tlet gId = document.getElementById(inputId);\n\t\t\t\t\t\t\t\tgId && gId.setAttribute('value', token);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => console.log(error));\n\t\t\t\t\t});\n\t\t\t});\n\t\t}\n\t};\n\n\tconst ref = useRef();\n\n\t// useEffect(() => {\n\t// \tref.current && loadRecaptcha(ref.current.dataset.sk, ref.current.id);\n\t// }, []);\n\n\tconst renderField = ({\n\t\tname,\n\t\ttype,\n\t\trequired,\n\t\tpattern,\n\t\tplaceholder,\n\t\tdisabled,\n\t\tdescription,\n\t\tmin,\n\t\tmax,\n\t\tlabel,\n\t\tfailedMessage,\n\t\tpatternMessage,\n\t\toptions,\n\t\tfieldActions,\n\t\tcaptchaImageHandler,\n\t\timageWidth,\n\t\timageHeight,\n\t\tallowMultiple,\n\t\tsiteKey,\n\t}) => {\n\t\tlet buttonText = label || type;\n\n\t\tswitch (type) {\n\t\t\tcase 'submit':\n\t\t\tcase 'reset':\n\t\t\t\tif (type === 'submit' && isLoading) {\n\t\t\t\t\tbuttonText = 'Loading...';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'textarea':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'select':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'multiselect':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'captcha':\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-f-captcha-image-handler={\n\t\t\t\t\t\t\t\tcaptchaImageHandler.split('elementGuid=')[1] &&\n\t\t\t\t\t\t\t\tcaptchaImageHandler.split('elementGuid=')[1]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue=\"RefreshCaptcha\"\n\t\t\t\t\t\t\tdata-f-captcha-refresh=\"\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'googlecaptcha':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'text':\n\t\t\tdefault:\n\t\t\t\tlet actions = {};\n\t\t\t\tif (fieldActions) {\n\t\t\t\t\tactions = checkFieldActions(fieldActions, values);\n\t\t\t\t\tfieldActionExists = true;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t}\n\t};\n\n\tconst renderFieldset = ({\n\t\tname,\n\t\ttype,\n\t\toptions,\n\t\tlabel,\n\t\trequired,\n\t\tdescription,\n\t\tvalidationMessage,\n\t}) => {\n\t\tconst isInvalid = invalidFields.indexOf(name) !== -1;\n\t\tconst FieldComponent = type === 'radio' ? RadioButton : Checkbox;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{options.map((opt, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderSingleInput = ({\n\t\tname,\n\t\ttype,\n\t\toptions,\n\t\trequired,\n\t\tdisabled,\n\t\tdescription,\n\t\tvalidationMessage,\n\t}) => {\n\t\tconst fieldLabel = options[0].caption;\n\t\tconst fieldValue = options[0].value;\n\n\t\tconst FieldComponent = type === 'radio' ? RadioButton : Checkbox;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{fieldLabel}\n\t\t\t\t\t{required && *}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn [renderFormElement, fieldActionExists];\n};\n","import { useEffect, useRef } from 'react';\n\nexport const usePrevious = value => {\n\tconst ref = useRef();\n\tuseEffect(() => {\n\t\tref.current = value;\n\t});\n\treturn ref.current;\n};\n","/**\n * Carousel\n * @module components/CarouselItem\n */\n\nimport { useState, useEffect, MouseEvent } from 'react';\n\nimport { ContentButton } from './Carousel.styles';\nimport { FiChevronsRight } from 'react-icons/fi';\nimport { CarouselItemModel } from 'types/block-types';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { getHeadingLevel } from 'common/helpers.js';\n\ninterface MediaProps {\n\titem: CarouselItemModel;\n}\n\ninterface CarouselModel {\n\titem: CarouselItemModel;\n\theadingLevel: number;\n\theadingStyleLevel: number;\n\tcurrentIndex: number;\n\tindex: number;\n\theightLevel: string;\n\tkeyNav: boolean;\n\tsetKeyNav: (value: boolean) => void;\n}\n\nconst Media = (props: MediaProps) => {\n\tconst { video, image, videoPosterImage } = props && props.item;\n\tconst [canPlay, setCanPlay] = useState(false);\n\n\tconst handleClick = (e: MouseEvent) => {\n\t\tlet videoElement = e.currentTarget;\n\t\tif (videoElement) {\n\t\t\tvideoElement.paused ? videoElement.play() : videoElement.pause();\n\t\t}\n\t};\n\n\tif (video) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{videoPosterImage && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t {\n\t\t\t\t\t\tsetCanPlay(true);\n\t\t\t\t\t\tif (e.currentTarget && e.currentTarget.play) {\n\t\t\t\t\t\t\te.currentTarget.play();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\tif (image && image.src) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\treturn null;\n};\n\nconst CarouselItem = (props: CarouselModel) => {\n\tconst {\n\t\titem,\n\t\tcurrentIndex,\n\t\tindex,\n\t\tkeyNav,\n\t\tsetKeyNav,\n\t\theadingLevel,\n\t\theadingStyleLevel,\n\t\theightLevel,\n\t} = props;\n\n\tconst carouselItem = React.createRef() as React.RefObject;\n\tconst carouselContentRef = React.createRef() as React.RefObject;\n\tconst [focused, setFocused] = useState(currentIndex === index);\n\n\t// This handles aria tags of the shadow copies the carousel creates to loop infinitely.\n\tuseEffect(() => {\n\t\tlet shouldFocus = currentIndex === index;\n\t\tif (\n\t\t\tcarouselItem &&\n\t\t\tcarouselItem.current &&\n\t\t\tcarouselItem?.current?.parentElement?.parentElement?.classList.contains(\n\t\t\t\t'slick-cloned'\n\t\t\t)\n\t\t) {\n\t\t\tshouldFocus = false;\n\t\t}\n\n\t\tsetFocused(shouldFocus);\n\t\t//eslint-disable-next-line\n\t}, [currentIndex, index, setFocused]);\n\n\t// If this is navigated to by keyboard focus the first paragraph in the slide.\n\tuseEffect(() => {\n\t\tif (focused && keyNav) {\n\t\t\tcarouselContentRef?.current?.focus();\n\t\t\tsetKeyNav(false);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [focused, keyNav, setKeyNav]);\n\n\tif (!item) return null;\n\n\tconst tabIndex = focused ? { tabIndex: 0 } : {};\n\tconst Heading = getHeadingLevel(headingLevel);\n\tconst headingCss =\n\t\theadingStyleLevel === 1\n\t\t\t? 'text-h2 md:text-h1'\n\t\t\t: `text-${getHeadingLevel(headingStyleLevel)}`;\n\n\treturn (\n\t\t\n\t\t\t{(heightLevel === 'normal' || heightLevel === 'medium') && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{item.heading && (\n\t\t\t\t\n\t\t\t\t\t{heightLevel === 'normal' || heightLevel === 'medium' ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.heading}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.description && (\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{item.button && item.button.text && item.button.link && (\n\t\t\t\t\t\t\t\t//@ts-ignore too much work for now\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{item.button.text}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.heading}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.description}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{item.button && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{item.button.text}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default CarouselItem;\n","import Carousel from './Carousel';\n\nexport default Carousel;\n","/**\n * Carousel\n * @module components/Carousel\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\n\nimport { SliderWrapper, SliderDot } from './Carousel.styles';\nimport { useMedia } from 'hooks';\nimport 'slick-carousel/slick/slick.css';\nimport 'slick-carousel/slick/slick-theme.css';\n\nimport CarouselItem from './CarouselItem';\nimport { CarouselBlockModel } from 'types/block-types';\n\nconst Carousel = (props: CarouselBlockModel) => {\n\tconst {\n\t\tcarouselItems,\n\t\tautoTransition,\n\t\ttransitionTime,\n\t\theadingLevel,\n\t\theadingStyleLevel,\n\t\theightLevel,\n\t} = props;\n\tconst isMobile = useMedia('(max-width: 768px)');\n\tconst [autoPlay, setAutoPlay] = useState(\n\t\tautoTransition ? autoTransition : false\n\t);\n\n\tuseEffect(() => {\n\t\tsetAutoPlay(autoTransition ? !isMobile : false);\n\t}, [autoTransition, isMobile]);\n\n\tconst [currentSlideIndex, setCurrentSlideIndex] = useState(0);\n\tconst [navByKey, setNavByKey] = useState(false);\n\tconst slider = useRef();\n\n\tconst handleKeyDown = (\n\t\te: React.KeyboardEvent,\n\t\tindex: number\n\t) => {\n\t\tif (e.keyCode === 13) {\n\t\t\t// @ts-ignore\n\t\t\tslider.current.slickGoTo(index);\n\t\t\tsetNavByKey(true);\n\t\t}\n\t};\n\tconst sliderSettings = {\n\t\taccessibility: true,\n\t\tdots: true,\n\t\tarrows: false,\n\t\tadaptiveHeight: true,\n\t\tlazyLoad: true,\n\t\tcustomPaging: (i: number) => {\n\t\t\treturn (\n\t\t\t\t handleKeyDown(e, i)}\n\t\t\t\t\tonFocus={() => setAutoPlay(false)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{`${i + 1} ${carouselItems && carouselItems[i].heading}`}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t},\n\t\tautoplay: autoPlay,\n\t\tautoplaySpeed: autoPlay && transitionTime ? transitionTime * 1000 : 3000,\n\t\tspeed: 300,\n\t\tinifinite: true,\n\t\tpauseOnHover: true,\n\t\tpauseOnDotsHover: true,\n\t\tafterChange: (current: any) => {\n\t\t\tsetCurrentSlideIndex(current);\n\t\t},\n\t};\n\n\tif (carouselItems && carouselItems.length > 0) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{carouselItems.map((item, i) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexport default Carousel;\n","var _desc, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCircle2Pattern(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 646 289\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Circle Pattern 2 \") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _desc || (_desc = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Images\",\n strokeWidth: 1,\n fillRule: \"evenodd\",\n opacity: 0.25\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_-/-BG-Pattern-/-v1---White---25%\",\n transform: \"translate(0.000000, -73.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_-/-BG-Pattern-/-v1---Lindab-Blue---25%\",\n transform: \"translate(0.000000, 73.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(525.000000, 159.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.30115943,64.7153722 C8.5756333,34.1914645 33.2958985,9.45864566 64,8.98824614 L64,0 C28.4337018,0.75909018 0,29.6370686 0,65 C0,100.362931 28.4337018,129.24091 64,130 L64,120.712146 C33.2047753,120.207446 8.46088819,95.3312043 8.30115943,64.7153722 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35,65.36516 C34.9892691,81.319854 47.8080419,94.4192461 64,95 L64,86.0106653 C52.8057987,85.5892726 43.9515935,76.5309148 43.9515935,65.5 C43.9515935,54.4690852 52.8057987,45.4107274 64,44.9893347 L64,36 C47.8655886,36.4693659 35.0258419,49.4707902 35,65.36516 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.1688999,65.3496835 C26.2624173,44.463775 43.0455528,27.459002 64,27.0189873 L64,18 C38.3345016,18.9101018 18,39.9076849 18,65.5 C18,91.0923151 38.3345016,112.089898 64,113 L64,103.981013 C42.9422274,103.506609 26.1306851,86.3394574 26.1688999,65.3496835 L26.1688999,65.3496835 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121,64.8648431 C120.936951,34.2597772 96.4399653,9.37757287 66,9 L66,17.5299008 C92.0692617,17.5299008 113.202574,38.7762646 113.202574,64.9849826 C113.202574,91.1937005 92.0692617,112.440064 66,112.440064 L66,121 C96.5241441,120.572624 121.035623,95.5552295 121,64.8648431 L121,64.8648431 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.5817045,65.3795934 C94.571996,81.5027255 81.9073776,94.6941124 66,95.1501173 L66,104 C86.9868205,104 104,86.7629629 104,65.5 C104,44.2370371 86.9868205,27 66,27 L66,35.8197811 C81.8404225,36.2420021 94.4909552,49.3254546 94.5817045,65.3795934 Z\",\n id: \"Path\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.4726132,129.430744 C17.0172723,68.3829291 66.0715486,18.9172913 127,17.9764923 L127,0 C56.423127,1.51818036 0,59.2741372 0,130 C0,200.725863 56.423127,258.48182 127,260 L127,241.424291 C65.8907261,240.414893 16.789575,190.662409 16.4726132,129.430744 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70,129.73032 C69.9789083,161.639708 95.1744272,187.838492 127,189 L127,171.021331 C104.997604,170.178545 87.5945113,152.06183 87.5945113,130 C87.5945113,107.93817 104.997604,89.8214547 127,88.9786694 L127,71 C95.2875362,71.9387318 70.0507926,97.9415804 70,129.73032 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.3377998,129.699367 C52.5248346,87.92755 86.0911056,53.9180041 128,53.0379747 L128,35 C76.6690031,36.8202035 36,78.8153698 36,130 C36,181.18463 76.6690031,223.179796 128,225 L128,206.962025 C85.8844547,206.013218 52.2613702,171.678915 52.3377998,129.699367 L52.3377998,129.699367 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M241,129.729686 C240.873902,68.5195543 191.879931,18.7551457 131,18 L131,35.0598016 C183.138523,35.0598016 225.405148,77.5525292 225.405148,129.969965 C225.405148,182.387401 183.138523,224.880129 131,224.880129 L131,242 C192.048288,241.145247 241.071246,191.110459 241,129.729686 L241,129.729686 Z\",\n id: \"Path\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M188.163409,129.759187 C188.143992,162.005451 162.814755,188.388225 131,189.300235 L131,207 C172.973641,207 207,172.525926 207,130 C207,87.4740743 172.973641,53 131,53 L131,70.6395622 C162.680845,71.4840041 187.98191,97.6509091 188.163409,129.759187 Z\",\n id: \"Path\"\n })))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCircle2Pattern);\nexport default __webpack_public_path__ + \"static/media/circle2-pattern.358f1af9.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport Button from 'components/ui/Button';\nimport { ReactComponent as CirclePattern } from './circle-pattern.svg';\nimport { ReactComponent as Circle2Pattern } from './circle2-pattern.svg';\n\nimport { Paragraph } from 'components/ui/Typography';\nimport {\n\tspacing05x,\n\tspacing1x,\n\tspacing2x,\n\tspacing3x,\n\tspacing8x,\n} from 'theme/spacings';\nimport {\n\tblue,\n\tblueLight,\n\twhite,\n\tgreyDarker,\n\tgreyLight,\n\tblack,\n\tblueDark,\n} from 'theme/colors';\nimport { deviceSmallMax, deviceLargeMax } from 'theme/mediaQueries';\nimport { fontWeightLight } from 'theme/typography';\n\nconst theme = {\n\tblue: {\n\t\theadingColor: white,\n\t\tbackground: blue,\n\t\tcolor: white,\n\t},\n\tblueLight: {\n\t\tbackground: blueLight,\n\t\theadingColor: blue,\n\t\tcolor: black,\n\t},\n\twhite: {\n\t\theadingColor: blue,\n\t\tbackground: white,\n\t\tcolor: black,\n\t},\n\tgreyLight: {\n\t\tbackground: greyLight,\n\t\theadingColor: blue,\n\t\tcolor: black,\n\t},\n};\n\nexport const PromoPatternWrapper = styled.div`\n\theight: 35.5rem;\n\tposition: relative;\n\t@media (max-width: 981px) {\n\t\theight: 20rem;\n\t}\n`;\n\nconst getPatternFill = (theme) => {\n\tswitch (theme) {\n\t\tcase 'blue':\n\t\t\treturn white;\n\t\tcase 'blueLight':\n\t\t\treturn blue;\n\t\tdefault:\n\t\t\treturn greyDarker;\n\t}\n};\n\nexport const PromoPattern = styled(CirclePattern)`\n\tposition: absolute;\n\tdisplay: block;\n\tleft: 50%;\n\tbottom: 0;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\ttransform: translateX(-50%);\n\tfill: ${(props) => getPatternFill(props.theme)};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmax-width: 80%;\n\t}\n`;\n\nexport const PromoPattern2 = styled(Circle2Pattern)`\n\tposition: absolute;\n\tdisplay: block;\n\tleft: 50%;\n\tbottom: 0;\n\tmax-width: 100%;\n\theight: 100%;\n\ttransform: translateX(-50%);\n\tfill: ${(props) => getPatternFill(props.theme)};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\theight: 80%;\n\t\tmax-width: 100%;\n\t}\n`;\n\nexport const Picture = styled.picture`\n\theight: 100%;\n`;\n\nexport const PromoImage = styled.img`\n\tobject-fit: cover;\n\tfont-family: 'object-fit: cover;';\n\tposition: absolute;\n\tdisplay: block;\n\tleft: 50%;\n\tbottom: 0;\n\tmax-height: 120%;\n\tmin-height: 110%;\n\tmax-width: 100%;\n\ttransform: translateX(-50%);\n\t@media (max-width: ${deviceLargeMax}) {\n\t\tmax-height: 100%;\n\t\tmin-height: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmax-height: 100%;\n\t\tmin-height: 100%;\n\t}\n`;\n\nexport const PromoContent = styled.div`\n\tpadding-top: ${(props) => (props.outside ? '5.1rem' : 0)};\n\tpadding-left: ${(props) => (props.contentLeft ? 0 : spacing2x)};\n\tpadding-right: ${(props) => (props.contentLeft ? spacing2x : 0)};\n\n\tpadding-bottom: 0;\n\n\twidth: 50%;\n\tdisplay: ${(props) =>\n\t\tprops.videoPreference === 'videoLeft' ||\n\t\tprops.videoPreference === 'videoRight'\n\t\t\t? 'flex'\n\t\t\t: 'inline-block'};\n\tflex-direction: column;\n\talign-self: center;\n\tcolor: ${(props) => theme[props.theme]?.color};\n\t@media (max-width: ${deviceLargeMax}) {\n\t\tpadding: ${(props) =>\n\t\t\tprops.outside\n\t\t\t\t? `5.1rem 0 ${spacing2x} ${spacing2x}`\n\t\t\t\t: `${spacing2x} 0 ${spacing2x} ${spacing3x} `};\n\t}\n\t@media (max-width: 981px) {\n\t\twidth: 100%;\n\t\tpadding: ${spacing2x};\n\t}\n`;\nexport const PromoFullWidthContent = styled.div`\n\tposition: absolute;\n\twidth: 58rem;\n\tpadding: ${spacing3x};\n\tright: 0;\n\tbottom: ${spacing8x};\n\tbackground-color: ${(props) =>\n\t\t!props.hasImage && theme[props.theme]?.background};\n\tdisplay: inline-block;\n\t@media (max-width: ${deviceLargeMax}) {\n\t\tright: ${spacing2x};\n\t\tcolor: inherit;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t\tposition: static;\n\t\tpadding-bottom: ${spacing2x};\n\t\tcolor: ${(props) => !props.hasImage && theme[props.theme]?.color};\n\t\tbackground-color: ${(props) =>\n\t\t\t!props.hasImage && theme[props.theme]?.background};\n\t\tcolor: ${(props) =>\n\t\t\tprops.theme !== 'blue' ? theme[props.theme]?.color : 'white'};\n\t}\n`;\n\nexport const PromoBlockContent = (props) => {\n\treturn props.fullWidth ? (\n\t\t\n\t) : (\n\t\t\n\t);\n};\n\nexport const ButtonWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n`;\nexport const FullWidthButtonWrapper = styled.div`\n\tdisplay: flex;\n\tposition: absolute;\n\tbottom: -3rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tflex-wrap: wrap;\n\t\tposition: static;\n\t}\n`;\n\nexport const PromoButtonWrapper = (props) => {\n\treturn props && props.fullWidth ? (\n\t\t{props.children}\n\t) : (\n\t\t{props.children}\n\t);\n};\n\nconst baseButtonStyling = css`\n\tmargin: 0 ${spacing2x} ${spacing1x} 0;\n\tpadding: ${spacing1x} ${spacing2x} ${spacing1x} ${spacing1x};\n\tdisplay: flex;\n\talign-items: center;\n\ttext-align: left;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tposition: static;\n\t\tmargin: 0 ${spacing2x} 0 0;\n\t\tmargin-top: ${spacing1x};\n\t\t& > svg {\n\t\t\tmargin-right: 0.4rem;\n\t\t\tmargin-left: 0.4rem;\n\t\t}\n\t}\n\t& > svg {\n\t\tmargin-right: 0.4rem;\n\t\tmargin-left: 0.4rem;\n\t\tmin-width: 2rem;\n\t\tmin-height: 2rem;\n\t}\n`;\n\nconst ContentButton = styled(Button)`\n\t${baseButtonStyling}\n\tfont-size: 1.6rem;\n`;\n\nconst Link = styled(ContentButton)`\n\t${baseButtonStyling}\n\tfont-weight: ${fontWeightLight};\n\tfont-size: 1.6rem;\n\tbackground-color: transparent;\n\tborder: none;\n\tcursor: pointer;\n\n\tcolor: ${({ darkBackground }) => (darkBackground ? white : blueDark)};\n\t:hover {\n\t\tbackground-color: transparent;\n\t\tcolor: ${({ darkBackground }) => (darkBackground ? white : blueDark)};\n\t\ttext-decoration: underline;\n\t}\n\tspan {\n\t\tpointer-events: none;\n\t}\n`;\n\nexport const PromoButton = (props) => {\n\treturn props.styling === 'button' || props.fullWidth ? (\n\t\t\n\t) : (\n\t\t\n\t);\n};\n\n//Typography\n\nexport const Heading = styled.div`\n\tcolor: ${(props) => theme[props.theme]?.headingColor};\n\tmargin: 0 0 ${spacing1x} 0;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tcolor: ${(props) => theme[props.theme]?.headingColor};\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\nexport const FullWidthHeading = styled(Heading)`\n\tcolor: ${(props) => theme[props.theme]?.headingColor};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tcolor: ${(props) => theme[props.theme]?.headingColor};\n\t}\n`;\n\nexport const Text = styled(Paragraph)`\n\tcolor: ${(props) => theme[props.theme]?.color};\n\tfont-weight: ${fontWeightLight};\n\tmargin-top: 0;\n\tmargin-bottom: ${spacing3x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t}\n`;\n\nexport const FullWidthText = styled(Text)`\n\tcolor: ${(props) =>\n\t\tprops.theme === 'blue' && !props.hasImage\n\t\t\t? theme['white']?.color\n\t\t\t: theme[props.theme]?.color};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tcolor: ${(props) => theme[props.theme]?.color};\n\t}\n`;\n\nexport const ContentHeading = (props) => {\n\treturn props.fullWidth ? (\n\t\t\n\t) : (\n\t\t\n\t);\n};\n\nexport const ContentText = (props) => {\n\treturn props.fullWidth ? : ;\n};\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\n\nimport React from 'react';\nimport {\n\tPromoBlockContent,\n\tContentHeading,\n\tPromoButtonWrapper,\n\tPromoButton,\n} from './PromoBlock.styles';\n\nimport RichText from 'components/ui/RichText';\n\nimport { FiChevronsRight } from 'react-icons/fi';\nimport { getHeadingLevel } from 'common/helpers';\nimport { useDispatch } from 'react-redux';\nimport { fetchConfArticle } from 'store/modules/configurator';\nimport { PromoBlockModel } from 'types/block-types';\nimport { BackgroundColorTypes } from 'types/common';\nimport clsx from 'clsx';\n\nexport interface PromoContentModel extends PromoBlockModel {\n\ttheme?: BackgroundColorTypes;\n\timageOutside?: boolean;\n\tcontentLeft?: boolean;\n\tfullWidth?: boolean;\n\tvideoPreference?: string;\n}\n\nconst PromoContent = (props: PromoContentModel) => {\n\tconst {\n\t\ttheme,\n\t\timageOutside,\n\t\tcontentLeft,\n\t\theading,\n\t\ttext,\n\t\tbuttons,\n\t\tfullWidth,\n\t\tconfArticle,\n\t\ttoggleModal,\n\t\theadingLevel,\n\t\theadingStyleLevel,\n\t\tvideoPreference,\n\t\ttoggleImageGallery,\n\t\ttoggleOnImage,\n\t} = props;\n\n\tconst dispatch = useDispatch();\n\n\tconst handleClick = async (\n\t\te: MouseEvent,\n\t\turl: string,\n\t\tindex: number,\n\t\timageGallery: any\n\t) => {\n\t\ttry {\n\t\t\tif (confArticle && index === 0) {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleModal && toggleModal();\n\t\t\t\tawait dispatch(fetchConfArticle(url));\n\t\t\t}\n\n\t\t\tif (!toggleOnImage && toggleImageGallery && imageGallery) {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleImageGallery();\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t}\n\t};\n\n\tconst headingCss =\n\t\theadingStyleLevel === 1\n\t\t\t? 'text-h2 md:text-h1'\n\t\t\t: `text-${getHeadingLevel(headingStyleLevel)}`;\n\n\treturn (\n\t\t\n\t\t\t{heading && (\n\t\t\t\t\n\t\t\t\t\t{heading}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{text && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{buttons && (\n\t\t\t\t\n\t\t\t\t\t{buttons.map((button, i) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\thandleClick(e, button.link, i, button.imageGallery)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default PromoContent;\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\n\nimport React from 'react';\nimport { Picture } from './PromoBlock.styles';\nimport PromoContent from './PromoContent';\nimport { PromoBlockModel } from 'types/block-types';\nimport clsx from 'clsx';\n\nconst PromoFullWidthImage = (props: PromoBlockModel) => {\n\tconst { media, backgroundColor } = props;\n\tconst theme = backgroundColor;\n\tconst fullHeight =\n\t\tmedia?.imagePreference &&\n\t\tmedia.imagePreference === 'fullWidthBackgroundImageFullHeight';\n\n\tconst hasImage =\n\t\tmedia?.image &&\n\t\tmedia.image.src &&\n\t\tmedia.image.sizes &&\n\t\tmedia.image.sizes.length > 0 &&\n\t\tmedia.image.webpSizes &&\n\t\tmedia.image.webpSizes.length > 0;\n\n\treturn (\n\t\t\n\t\t\t{hasImage && media?.image?.webpSizes && media.image.sizes && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PromoFullWidthImage;\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\n\nimport {\n\tPromoPatternWrapper,\n\tPromoPattern,\n\tPromoPattern2,\n\tPromoImage,\n} from './PromoBlock.styles';\n\nimport PromoContent from './PromoContent';\nimport { PromoBlockModel } from 'types/block-types';\nimport { ImagePreferenceTypes } from 'types/common';\nimport clsx from 'clsx';\n\nconst isImageRight = (imagePreference: ImagePreferenceTypes | undefined) => {\n\treturn imagePreference && imagePreference.includes('imageRight');\n};\n\nconst isImageOutside = (imagePreference: ImagePreferenceTypes | undefined) => {\n\treturn imagePreference && imagePreference.includes('Outside');\n};\n\nconst PromoImageOutside = (props: PromoBlockModel) => {\n\tconst { backgroundColor, backgroundPattern, media } = props;\n\n\tconst theme = backgroundColor;\n\tconst imageRight = isImageRight(media?.imagePreference);\n\tconst imageOutside = isImageOutside(media?.imagePreference);\n\n\tconst hasImage =\n\t\tmedia?.image &&\n\t\tmedia.image.src &&\n\t\tmedia.image.sizes &&\n\t\tmedia.image.sizes.length > 0 &&\n\t\tmedia.image.webpSizes &&\n\t\tmedia.image.webpSizes.length > 0;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{backgroundPattern &&\n\t\t\t\t\t\t\tbackgroundPattern !== 'none' &&\n\t\t\t\t\t\t\t(backgroundPattern === 'circle' ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\t{hasImage && media?.image?.webpSizes && media.image.sizes && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PromoImageOutside;\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\nimport clsx from 'clsx';\nimport { MouseEvent, useState } from 'react';\n\nimport { PromoBlockModel } from 'types/block-types';\nimport PromoContent from './PromoContent';\n\nconst PromoVideoFull = (props: PromoBlockModel) => {\n\tconst { media, backgroundColor, heading } = props;\n\tconst theme = backgroundColor;\n\tconst [canPlay, setCanPlay] = useState(false);\n\tconst handleClick = (e: MouseEvent) => {\n\t\tlet videoElement = e.currentTarget;\n\t\tif (videoElement) {\n\t\t\tvideoElement.paused ? videoElement.play() : videoElement.pause();\n\t\t}\n\t};\n\n\tconst getIframeSrc = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.CookieInformation &&\n\t\t\twindow.CookieInformation.getConsentGivenFor &&\n\t\t\twindow.CookieInformation.getConsentGivenFor('cookie_cat_marketing')\n\t\t) {\n\t\t\treturn `${media?.video?.link}${\n\t\t\t\tmedia?.video?.autoplay ? '?autoplay=1&mute=1' : ''\n\t\t\t}`;\n\t\t} else {\n\t\t\tif (process.env.NODE_ENV === 'development') {\n\t\t\t\treturn `${media?.video?.link}${\n\t\t\t\t\tmedia?.video?.autoplay ? '?autoplay=1&mute=1' : ''\n\t\t\t\t}`;\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t{media && media?.video && (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{media.type === 'youtube' || media.type === 'twentythree' ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{media.videoPosterImage && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCanPlay(true);\n\t\t\t\t\t\t\t\t\t\t\tif (e.currentTarget && e.currentTarget.play) {\n\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.play();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{heading && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default PromoVideoFull;\n","/**\n * ResponsiveIframe\n */\n\nimport React from 'react';\nimport clsx from 'clsx';\n\ninterface Props {\n\t/** Iframe src */\n\tsrc: string;\n\n\t/** The aspect ratio of the video:\n\t *\n\t * - 16:9 - most common format, used by YouTube videos.\n\t * - 4:3 - used mostly by older videos.\n\t */\n\taspectRatio?: '16:9' | '4:3';\n\n\ttitle: string;\n\n\t/** Cookie Information - custom attribute */\n\t'data-consent-src'?: string;\n\n\t/** Cookie Information - custom attribute */\n\t'data-category-consent'?: string;\n}\n\n/** Used to render a responsive iframe. */\nconst ResponsiveIframe: React.FC = ({\n\tsrc,\n\ttitle,\n\taspectRatio = '16:9',\n\t'data-consent-src': dataConsentSrc,\n\t'data-category-consent': dataCategoryConsent,\n}) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ResponsiveIframe;\n","import ResponsiveIframe from './ResponsiveIframe';\n\nexport default ResponsiveIframe;\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\n\nimport clsx from 'clsx';\nimport { MouseEvent, useState } from 'react';\n\nimport { PromoBlockModel } from 'types/block-types';\nimport { VideoPreferenceTypes } from 'types/common';\nimport PromoContent from './PromoContent';\nimport ResponsiveIframe from 'components/ui/ResponsiveIframe';\n\nconst isVideoRight = (videoPreference: VideoPreferenceTypes | undefined) => {\n\treturn videoPreference && videoPreference.includes('videoRight');\n};\n\n// const isVideoLeft = (videoPreference: VideoPreferenceTypes | undefined) => {\n// \treturn videoPreference && videoPreference.includes('videoLeft');\n// };\n\nconst PromoVideoOutside = (props: PromoBlockModel) => {\n\tconst { media, backgroundColor, heading } = props;\n\tconst theme = backgroundColor;\n\tconst [canPlay, setCanPlay] = useState(false);\n\tconst handleClick = (e: MouseEvent) => {\n\t\tlet videoElement = e.currentTarget;\n\t\tif (videoElement) {\n\t\t\tvideoElement.paused ? videoElement.play() : videoElement.pause();\n\t\t}\n\t};\n\n\tconst videoRight = isVideoRight(media?.videoPreference);\n\n\tconst getIframeSrc = () => {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.CookieInformation &&\n\t\t\twindow.CookieInformation.getConsentGivenFor &&\n\t\t\twindow.CookieInformation.getConsentGivenFor('cookie_cat_marketing')\n\t\t) {\n\t\t\treturn `${media?.video?.link}${\n\t\t\t\tmedia?.video?.autoplay ? '?autoplay=1&mute=1' : ''\n\t\t\t}`;\n\t\t} else return '';\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{media && media?.video && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{media.type === 'youtube' || media.type === 'twentythree' ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{media.videoPosterImage && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCanPlay(true);\n\t\t\t\t\t\t\t\t\t\t\tif (e.currentTarget && e.currentTarget.play) {\n\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.play();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PromoVideoOutside;\n","/**\n * GridNew\n * @module components/GridNew\n */\n\nimport React from 'react';\nimport clsx from 'clsx';\n\n// Interfaces\ninterface GridProps {\n\t/** Option to remove default grid padding */\n\tpadding?: boolean;\n\n\t/** Option to remove default grid margin */\n\tmargin?: boolean;\n\n\t/** Pass optional classnames for the html */\n\tclassName?: string;\n\n\tchildren?: React.ReactNode;\n}\n\ninterface CellProps {\n\t/** Specifies the number of columns the cell spans */\n\tspan?: number;\n\n\t/** Specifies the number of columns the cell spans on a type of device (desktop) */\n\tdesktop?: number;\n\n\t/** Specifies the number of columns the cell spans on a type of device (tablet) */\n\ttablet?: number;\n\n\t/** Pass optional classnames for the html */\n\tclassName?: string;\n\n\t/** Option to remove default grid margin */\n\tmargin?: boolean;\n\n\tchildren?: React.ReactNode;\n}\n\nconst renderChildren = (children: any, margin: boolean) => {\n\tconst renderedChildren = React.Children.map(children, (child) => {\n\t\tconst props: any = child && child.props ? { ...child.props } : {};\n\t\tprops.margin = margin;\n\t\tif (child) {\n\t\t\treturn React.cloneElement(child, props);\n\t\t} else return false;\n\t});\n\n\treturn renderedChildren;\n};\n\n/** Grid component using tailwind classes. */\nconst Grid = ({\n\tpadding = true,\n\tmargin = true,\n\tclassName,\n\tchildren,\n}: GridProps): JSX.Element => {\n\treturn (\n\t\t
\n\t\t\t{children && (\n\t\t\t\t\n\t\t\t\t\t{renderChildren(children, margin)}\n\t\t\t\t
\n\t\t\t)}\n\t\t\n\t);\n};\n\nconst getWidthClass = (span: number, margin: boolean) => {\n\tif (!span) {\n\t\treturn span;\n\t}\n\tif (span === 12) {\n\t\treturn 'w-full';\n\t} else if (margin) {\n\t\treturn `w-grid-${span}/12`;\n\t} else {\n\t\treturn `w-${span}/12`;\n\t}\n};\n\n/** Grid Cell component using tailwind classes. */\nconst Cell = ({\n\tspan,\n\tdesktop,\n\ttablet,\n\tclassName,\n\tmargin = true,\n\tchildren,\n}: CellProps): JSX.Element => {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport { Grid, Cell };\n","/**\n * ImageGalleryBlock\n * @module components/ImageGalleryBlock\n */\n\nimport React, { useState } from 'react';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport Layout from 'components/ui/Layout';\nimport clsx from 'clsx';\nimport { ButtonColorTypes, LinkModel } from 'types/common';\nimport { ImageGalleryBlockItemModel } from 'types/block-types';\nimport Icon from 'components/ui/Icon';\nimport Button from 'components/ui/Button';\nimport { ImageGalleryBlockItem, ImageGalleryBlockModal } from '.';\n\ninterface Props {\n\tbutton?: LinkModel;\n\tcolumnAlignment?: 'left' | 'center' | 'right';\n\titems?: ImageGalleryBlockItemModel[];\n\ttranslations: any;\n}\n\nconst ImageGalleryBlock = ({\n\tbutton,\n\tcolumnAlignment,\n\titems,\n\ttranslations,\n}: Props) => {\n\tconst [\n\t\tactiveItem,\n\t\tsetActiveItem,\n\t] = useState(null);\n\n\tconst [modalActive, setModalActive] = useState(false);\n\n\tconst handleToggleModal = () => {\n\t\tsetModalActive(!modalActive);\n\t};\n\tconst handleClick = (itemIndex: number) => {\n\t\tif (items && items.length > 0) {\n\t\t\tsetActiveItem(items[itemIndex]);\n\t\t}\n\t\thandleToggleModal();\n\t};\n\n\tconst showPreviousMedia = (e: any) => {\n\t\te.preventDefault();\n\t\tif (items && items.length > 0) {\n\t\t\tconst currentItemIndex = activeItem && items.indexOf(activeItem);\n\t\t\tif (currentItemIndex !== null && currentItemIndex > 0) {\n\t\t\t\tconst previousItemIndex = currentItemIndex - 1;\n\t\t\t\tsetActiveItem(items[previousItemIndex]);\n\t\t\t} else {\n\t\t\t\tsetActiveItem(items[items.length - 1]);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst showNextMedia = (e: any) => {\n\t\te.preventDefault();\n\t\tif (items && items.length > 0) {\n\t\t\tconst currentItemIndex = activeItem && items.indexOf(activeItem);\n\t\t\tif (currentItemIndex !== null && currentItemIndex < items.length - 1) {\n\t\t\t\tconst nextItemIndex = currentItemIndex + 1;\n\t\t\t\tsetActiveItem(items[nextItemIndex]);\n\t\t\t} else {\n\t\t\t\tsetActiveItem(items[0]);\n\t\t\t}\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{items?.map((item: ImageGalleryBlockItemModel, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\t{button && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t
\n\t\t\t{modalActive && activeItem?.image && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ImageGalleryBlock;\n","/**\n * ImageGalleryBlockItem\n * @module components/ImageGalleryBlock\n */\n\nimport LazyLoad from 'react-lazyload';\nimport { getHeadingLevel } from 'common/helpers.js';\nimport { ImageModel } from 'types';\n\ninterface Props {\n\theading: string;\n\n\ttext?: string;\n\n\timage?: ImageModel;\n\n\theadingLevel?: number;\n\n\tonClick?: any;\n\n\titemIndex: number;\n\n\ttranslations: any;\n}\n\nconst ImageGalleryBlockItem = ({\n\theading,\n\ttext,\n\timage,\n\theadingLevel = 2,\n\tonClick = () => {},\n\titemIndex,\n\ttranslations,\n}: Props) => {\n\tconst Heading = getHeadingLevel(headingLevel);\n\n\treturn (\n\t\t onClick(itemIndex)}\n\t\t\taria-label={translations['shared/mediagallery/openimageinmodal']}\n\t\t>\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{image && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{image.webpSizes && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{image.sizes && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t\t{heading && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{text &&

{text}

}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default ImageGalleryBlockItem;\n","/**\n * ImageGalleryModal\n * @module components/ImageGalleryModal\n */\n\nimport { useState } from 'react';\nimport Modal from 'react-aria-modal';\nimport Icon from 'components/ui/Icon';\nimport { ImageModel } from 'types/common';\nimport clsx from 'clsx';\n\ninterface Props {\n\timage: ImageModel;\n\n\tonToggle: any;\n\n\tshowPreviousMedia?: any;\n\n\tshowNextMedia?: any;\n\n\titems?: any;\n\n\tsetActiveItem?: any;\n\n\ttranslations: {\n\t\t'/frontend/shared/mediagallery/pagination': any;\n\t\t'/frontend/shared/modal/closemodal': any;\n\t\t'/frontend/shared/modal/showpreviousmedia': any;\n\t\t'/frontend/shared/modal/shownextmedia': any;\n\t};\n}\n\nconst ImageGalleryModal = ({\n\timage,\n\tonToggle = () => {},\n\tshowPreviousMedia,\n\tshowNextMedia,\n\titems,\n\tsetActiveItem,\n\ttranslations,\n}: Props) => {\n\tconst isMobile = window.innerWidth <= 768;\n\n\tconst imagesPerPage = isMobile ? 2 : 7;\n\n\tconst [visible, setVisible] = useState({\n\t\tstart: 0,\n\t\tend: items.length > 7 ? 7 : items.length,\n\t});\n\n\tconst handlePreviousClick = (e: any) => {\n\t\tshowPreviousMedia(e);\n\t\tif (visible.start === 0) {\n\t\t\tsetVisible({\n\t\t\t\tstart: items.length > 7 ? items.length - imagesPerPage : 0,\n\t\t\t\tend: items.length,\n\t\t\t});\n\t\t} else {\n\t\t\tsetVisible({ start: visible.start - 1, end: visible.end - 1 });\n\t\t}\n\t};\n\n\tconst handleNextClick = (e: any) => {\n\t\tshowNextMedia(e);\n\t\tif (visible.end === items.length) {\n\t\t\tsetVisible({\n\t\t\t\tstart: 0,\n\t\t\t\tend: items.length > 7 ? imagesPerPage : items.length,\n\t\t\t});\n\t\t} else {\n\t\t\tsetVisible({ start: visible.start + 1, end: visible.end + 1 });\n\t\t}\n\t};\n\n\tconst handleSetActiveItem = (tn: ImageModel) => {\n\t\tsetActiveItem(tn);\n\t};\n\n\tconst paginationInfo = () => {\n\t\tlet msg = translations['/frontend/shared/mediagallery/pagination'];\n\n\t\tmsg = msg.replace('{START}', visible.start + 1);\n\t\tmsg = msg.replace('{END}', visible.end);\n\t\tmsg = msg.replace('{TOTAL}', items.length);\n\n\t\treturn msg;\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{image && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{image.webpSizes && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{image.sizes && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{image.text && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{image.text}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{showPreviousMedia && (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandlePreviousClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={translations['/frontend/shared/modal/showpreviousmedia']}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{showNextMedia && (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleNextClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={translations['/frontend/shared/modal/shownextmedia']}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t
\n\t\t\t{items && (\n\t\t\t\t<>\n\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandlePreviousClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{items\n\t\t\t\t\t\t\t\t.slice(visible.start, visible.end)\n\t\t\t\t\t\t\t\t.map((thumbnail: any, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t handleSetActiveItem(thumbnail)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleNextClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{paginationInfo()}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ImageGalleryModal;\n","/**\n * PromoBlock\n * @module components/PromoBlock\n */\n\nimport PromoFullWidthImage from './PromoFullWidthImage';\nimport PromoImageOutside from './PromoImageOutside';\nimport LazyLoad from 'react-lazyload';\nimport { ImageGalleryBlockModel, PromoBlockModel } from 'types/block-types';\n\nimport PromoVideoFull from './PromoVideoFull';\nimport PromoVideoOutside from './PromoVideoOutside';\nimport { useState } from 'react';\nimport { ImageGalleryBlockModal } from '../ImageGalleryBlock';\n\ninterface PromoBlockWrapperModel {\n\tblock: PromoBlockModel;\n}\n\nconst PromoBlock = ({ block }: PromoBlockWrapperModel) => {\n\tconst [showImageGallery, setShowImageGallery] = useState(false);\n\tconst [imageGallery, setImageGallery] = useState();\n\tconst [activeItem, setActiveItem] = useState(\n\t\timageGallery?.imageGalleryBlockItems[0] ?? null\n\t);\n\tconst [toggleOnImage, setToggleOnImage] = useState(false);\n\n\t// Check if any buttons have an image gallery attached to it\n\n\tif (block && block.buttons) {\n\t\tblock.buttons.forEach((button) => {\n\t\t\tif (button.imageGallery && !imageGallery) {\n\t\t\t\tsetImageGallery(button.imageGallery);\n\t\t\t\tsetToggleOnImage(false);\n\t\t\t}\n\t\t});\n\t}\n\n\t// Check if any media has image gallery\n\n\tif (block && block.media && block.media.imageGallery && !imageGallery) {\n\t\tsetImageGallery(block.media.imageGallery);\n\t\tsetToggleOnImage(true);\n\t}\n\n\tblock.toggleImageGallery = () => setShowImageGallery(!showImageGallery);\n\tblock.toggleOnImage = toggleOnImage;\n\n\tconst showPreviousMedia = (e: any) => {\n\t\te.preventDefault();\n\t\tif (\n\t\t\timageGallery?.imageGalleryBlockItems &&\n\t\t\timageGallery?.imageGalleryBlockItems.length > 0\n\t\t) {\n\t\t\tconst currentItemIndex =\n\t\t\t\tactiveItem && imageGallery?.imageGalleryBlockItems.indexOf(activeItem);\n\t\t\tif (currentItemIndex !== null && currentItemIndex > 0) {\n\t\t\t\tconst previousItemIndex = currentItemIndex - 1;\n\t\t\t\tsetActiveItem(imageGallery?.imageGalleryBlockItems[previousItemIndex]);\n\t\t\t} else {\n\t\t\t\tsetActiveItem(\n\t\t\t\t\timageGallery?.imageGalleryBlockItems[\n\t\t\t\t\t\timageGallery?.imageGalleryBlockItems.length - 1\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst showNextMedia = (e: any) => {\n\t\te.preventDefault();\n\t\tif (\n\t\t\timageGallery?.imageGalleryBlockItems &&\n\t\t\timageGallery?.imageGalleryBlockItems.length > 0\n\t\t) {\n\t\t\tconst currentItemIndex =\n\t\t\t\tactiveItem && imageGallery?.imageGalleryBlockItems.indexOf(activeItem);\n\n\t\t\tif (\n\t\t\t\tcurrentItemIndex !== null &&\n\t\t\t\tcurrentItemIndex < imageGallery?.imageGalleryBlockItems.length - 1\n\t\t\t) {\n\t\t\t\tconst nextItemIndex = currentItemIndex + 1;\n\t\t\t\tsetActiveItem(imageGallery?.imageGalleryBlockItems[nextItemIndex]);\n\t\t\t} else {\n\t\t\t\tsetActiveItem(imageGallery?.imageGalleryBlockItems[0]);\n\t\t\t}\n\t\t}\n\t};\n\n\t!activeItem &&\n\t\timageGallery &&\n\t\tsetActiveItem(imageGallery.imageGalleryBlockItems[0]);\n\n\treturn (\n\t\t<>\n\t\t\t{block.media?.image &&\n\t\t\tblock.media?.imagePreference?.includes('fullWidthBackgroundImage') ? (\n\t\t\t\t\n\t\t\t) : block.media?.video ? (\n\t\t\t\tblock.media?.videoPreference?.includes('videoFull') ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{imageGallery && showImageGallery && activeItem && (\n\t\t\t\t setShowImageGallery(!showImageGallery)}\n\t\t\t\t\tshowPreviousMedia={(e: MouseEvent) => showPreviousMedia(e)}\n\t\t\t\t\tshowNextMedia={(e: MouseEvent) => showNextMedia(e)}\n\t\t\t\t\titems={imageGallery.imageGalleryBlockItems}\n\t\t\t\t\tsetActiveItem={(e: any) => setActiveItem(e)}\n\t\t\t\t\ttranslations={imageGallery.translations}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default PromoBlock;\n","import PromoBlock from './PromoBlock';\n\nexport default PromoBlock;\n","/**\n * ColumnBlock\n * @module components/ColumnBlock\n */\n\nimport LazyLoad from 'react-lazyload';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport { getHeadingLevel } from 'common/helpers.js';\nimport clsx from 'clsx';\n\nimport { ImageModel, ButtonColorTypes, LinkModel } from 'types/common';\nimport { ColumnBlockItemModel } from 'types/block-types';\nimport Icon from 'components/ui/Icon';\nimport Button from 'components/ui/Button';\n\ninterface Props {\n\tbutton?: LinkModel;\n\theadingLevel: number;\n\tlayout: 'line' | 'column';\n\tcolumnAlignment: 'left' | 'center' | 'right';\n\titems: ColumnBlockItemModel[];\n}\n\nconst renderImage = (\n\timage: ImageModel,\n\tlink: string,\n\tlayout: 'line' | 'column'\n) => {\n\tlet linkProps = {};\n\tif (link) {\n\t\tlinkProps = { as: 'a', href: link };\n\t}\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{image.webpSizes && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{image.sizes && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nconst ColumnBlock = ({\n\titems,\n\tbutton,\n\tlayout = 'column',\n\theadingLevel,\n\tcolumnAlignment,\n}: Props) => {\n\tif (!items || items.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst Heading = getHeadingLevel(headingLevel);\n\treturn (\n\t\t
\n\t\t\t{layout === 'column' ? (\n\t\t\t\t\n\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\tconst { heading, link, linkB, linkC, linkD, image } = item;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{image &&\n\t\t\t\t\t\t\t\t\t\t\t\trenderImage(\n\t\t\t\t\t\t\t\t\t\t\t\t\timage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tlink && link.link ? link.link : '',\n\t\t\t\t\t\t\t\t\t\t\t\t\tlayout\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{item.heading && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{item.text}

\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{link && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{link.linkType === 'Document' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{link.text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{linkB && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkB.linkType === 'Document' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkB.text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{linkC && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkC.linkType === 'Document' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkC.text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{linkD && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkD.linkType === 'Document' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{linkD.text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{items.map((item) => {\n\t\t\t\t\t\tconst { link, image } = item;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{image &&\n\t\t\t\t\t\t\t\t\t\t\trenderImage(\n\t\t\t\t\t\t\t\t\t\t\t\timage,\n\t\t\t\t\t\t\t\t\t\t\t\tlink && link.link ? link.link : '',\n\t\t\t\t\t\t\t\t\t\t\t\tlayout as 'line' | 'column'\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{item.heading && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{link && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{button && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default ColumnBlock;\n","import ColumnBlock from './ColumnBlock';\n\nexport default ColumnBlock;\n","/**\n * RteBlock\n * @module components/RteBlock\n */\nimport RichText from 'components/ui/RichText';\nimport Layout from 'components/ui/Layout';\n\ninterface RteBlockData {\n\ttext: string;\n\tbackgroundColor: string;\n}\n\nconst RteBlock = ({ text, backgroundColor }: RteBlockData) => (\n\t\n\t\t
\n\t\t\t\n\t\t
\n\t
\n);\n\nexport default RteBlock;\n","import RteBlock from './RteBlock';\n\nexport default RteBlock;\n","/**\n * RteWithImageBlock\n * @module components/RteWithImageBlock\n */\n\nimport Layout from 'components/ui/Layout';\nimport { RteWithImageBlockModel } from 'types/block-types';\nimport clsx from 'clsx';\n\nconst RteWithImageBlock = (block: RteWithImageBlockModel) => {\n\tconst {\n\t\tname,\n\t\timage,\n\t\ttext,\n\t\tbackgroundColor,\n\t\tisLandscapeImage,\n\t\tisLandscapeImageBig,\n\t} = block;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{image && image.src && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{name && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{text && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RteWithImageBlock;\n","import RteWithImageBlock from './RteWithImageBlock';\n\nexport default RteWithImageBlock;\n","/**\n * Extracts the initial form values for the Form-component.\n */\nexport const getInitialFormValues = (fields, currentStep) => {\n\tconst formValues = {};\n\n\tObject.keys(fields).forEach((key) => {\n\t\tconst el = fields[key];\n\n\t\tif (\n\t\t\tel.type === 'select' ||\n\t\t\tel.type === 'radio' ||\n\t\t\tel.type === 'checkbox' ||\n\t\t\tel.type === 'multiselect'\n\t\t) {\n\t\t\tformValues[el.name] = [];\n\n\t\t\tel.options.forEach((opt) => {\n\t\t\t\tif (opt.checked) {\n\t\t\t\t\tformValues[el.name].push(opt.value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (el.type === 'select') {\n\t\t\t\tformValues[el.name] = formValues[el.name][0]\n\t\t\t\t\t? formValues[el.name][0]\n\t\t\t\t\t: '';\n\t\t\t}\n\t\t} else if (el.predefinedValue) {\n\t\t\tif (el.name === '__FormCurrentStepIndex') {\n\t\t\t\tformValues[el.name] = currentStep;\n\t\t\t} else {\n\t\t\t\tformValues[el.name] = el.predefinedValue;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn formValues;\n};\n\n/**\n * Returns data and visible fields for current form step\n */\nexport const getStepFields = (currentStep, formId) => {\n\tconst stepId = `form-${formId}-step-${currentStep}`;\n\tconst currentStepNode = document.getElementById(stepId);\n\tlet formData = new FormData();\n\tlet currentStepFields = [];\n\n\tformData = getHiddenFieldValues(formData, formId);\n\n\tif (currentStepNode) {\n\t\tcurrentStepFields = currentStepNode.querySelectorAll(\n\t\t\t'input, select, textarea'\n\t\t);\n\t\tconst visibleFields = [];\n\n\t\tcurrentStepFields.forEach((field) => {\n\t\t\tconst type = field.getAttribute('type');\n\t\t\tconst fieldId = field.getAttribute('id') || field.getAttribute('name');\n\n\t\t\tif (fieldId.indexOf('-') !== -1) {\n\t\t\t\tvisibleFields.push(fieldId.slice(0, fieldId.indexOf('-')));\n\t\t\t} else {\n\t\t\t\tvisibleFields.push(fieldId);\n\t\t\t}\n\n\t\t\tif (field.options) {\n\t\t\t\tformData = getSelectValue(field, formData);\n\t\t\t} else if (type === 'checkbox' || type === 'radio') {\n\t\t\t\tformData = getCheckboxAndRadioValue(field, formData);\n\t\t\t} else if (type === 'fileupload') {\n\t\t\t\tformData = getUploadedFiles(field, formData);\n\t\t\t} else {\n\t\t\t\tformData = getFieldValue(field, formData);\n\t\t\t}\n\t\t});\n\n\t\treturn [formData, currentStep, visibleFields];\n\t}\n};\n\n/**\n * Appends values of hidden fields to formData\n */\nconst getHiddenFieldValues = (formData, formId) => {\n\tconst hiddenFieldHolder = document.getElementById(\n\t\t`form-${formId}-hiddenfields`\n\t);\n\n\tif (hiddenFieldHolder) {\n\t\tconst hiddenFields = hiddenFieldHolder.querySelectorAll('input, select');\n\n\t\thiddenFields.forEach((field) => {\n\t\t\tformData.append(field.getAttribute('name'), field.value);\n\t\t});\n\t}\n\treturn formData;\n};\n\n/**\n * Appends value of select element to formData\n */\nconst getSelectValue = (field, formData) => {\n\tfor (var i = 0; i < field.options.length; i++) {\n\t\tif (field.options[i].selected) {\n\t\t\tformData.append(field.getAttribute('name'), field.options[i].value);\n\t\t}\n\t}\n\treturn formData;\n};\n\n/**\n * Appends value of checkbox or radio button to formData\n */\nconst getCheckboxAndRadioValue = (field, formData) => {\n\tif (field.checked) {\n\t\tformData.append(field.getAttribute('name'), field.value);\n\t}\n\treturn formData;\n};\n\n/**\n * Appends value of uploaded files to formData\n */\nconst getUploadedFiles = (field, formData) => {\n\tfor (var j = 0; j < field.files.length; j++) {\n\t\tformData.append(field.getAttribute('name'), field.files[j]);\n\t}\n\treturn formData;\n};\n\n/**\n * Appends value of input field to formData\n */\nconst getFieldValue = (field, formData) => {\n\tformData.append(field.getAttribute('name'), field.value);\n\treturn formData;\n};\n","// import fetch from 'unfetch';\n\n/**\n * Submits an Episerver form\n */\n\nexport const submitForm = (values, stepIndex, dispatch, steps, form) => {\n\tconst { currentStep, submissionId, action, method, redirectUrl } = form;\n\n\tconst multiStep = steps.length > 2 && stepIndex !== steps.length - 2;\n\tconst nextStep = multiStep ? stepIndex + 1 : currentStep + 1;\n\tvalues.set('__FormCurrentStepIndex', currentStep);\n\tvalues.set('__FormSubmissionId', submissionId);\n\n\tdispatch({\n\t\ttype: 'UPDATE_STATE',\n\t\tpayload: { isLoading: true, serverValidationError: false },\n\t});\n\n\tfetch(action, {\n\t\tbody: values,\n\t\tcache: 'no-cache',\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t\tmethod,\n\t\tcredentials: 'same-origin',\n\t\tredirect: 'follow',\n\t\treferrer: 'no-referrer',\n\t})\n\t\t.then((response) => {\n\t\t\tif (response.ok) {\n\t\t\t\treturn response;\n\t\t\t} else {\n\t\t\t\tthrow new Error(response.statusText);\n\t\t\t}\n\t\t})\n\t\t.then((response) => response.json())\n\t\t.then((response) => {\n\t\t\treturn handleResponse(\n\t\t\t\tresponse,\n\t\t\t\tmultiStep,\n\t\t\t\tnextStep,\n\t\t\t\tdispatch,\n\t\t\t\tredirectUrl\n\t\t\t);\n\t\t})\n\t\t.catch((error) => {\n\t\t\tconst message =\n\t\t\t\ttypeof error === 'string'\n\t\t\t\t\t? error\n\t\t\t\t\t: 'An error occurred, try again later';\n\n\t\t\talert(message);\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STATE',\n\t\t\t\tpayload: { isLoading: false },\n\t\t\t});\n\t\t});\n};\n\n/**\n * Handles the submission response\n */\nconst handleResponse = (\n\tresponse,\n\tmultiStep,\n\tnextStep,\n\tdispatch,\n\tredirectUrl\n) => {\n\tif (!response.IsSuccess) {\n\t\tnextStep--;\n\t}\n\tdispatch({\n\t\ttype: 'UPDATE_STATE',\n\t\tpayload: {\n\t\t\tisLoading: false,\n\t\t\tinvalidFields: [],\n\t\t\tvalidationMessages: {},\n\t\t\tcurrentStep: nextStep,\n\t\t},\n\t});\n\n\tif (!response.IsSuccess) {\n\t\thandleServerValidationError(\n\t\t\tresponse.AdditionalParams.__FormField,\n\t\t\tdispatch\n\t\t);\n\t}\n\n\tif (multiStep && response.IsSuccess) {\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_STATE',\n\t\t\tpayload: {\n\t\t\t\tsubmissionId: response.Data ? response.Data.SubmissionId : '',\n\t\t\t},\n\t\t});\n\t} else if (response.Message && response.Message !== '') {\n\t\tif (\n\t\t\t(response.RedirectUrl && response.RedirectUrl.length > 0) ||\n\t\t\t(redirectUrl && redirectUrl.length > 0)\n\t\t) {\n\t\t\twindow.location.href = response.RedirectUrl || redirectUrl;\n\t\t\treturn;\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_STATE',\n\t\t\tpayload: { successMessage: response.Message },\n\t\t});\n\t}\n};\n\n/**\n * Sums up server validation errors with fields and validationmessages\n */\nconst handleServerValidationError = (fieldErrors, dispatch) => {\n\tconst invalidFields = [];\n\tconst validationMessages = {};\n\n\tfieldErrors.forEach((field) => {\n\t\tinvalidFields.push(field.InvalidElement);\n\t\tvalidationMessages[field.InvalidElement] = {\n\t\t\tlabel: field.InvalidElementLabel,\n\t\t\tmessage: field.ValidationMessage,\n\t\t};\n\t});\n\n\tdispatch({\n\t\ttype: 'UPDATE_STATE',\n\t\tpayload: {\n\t\t\tinvalidFields,\n\t\t\tvalidationMessages,\n\t\t\tserverValidationError: true,\n\t\t},\n\t});\n};\n","import clsx from 'clsx';\nimport { forwardRef } from 'react';\nimport { EpiserverFormsPageModel } from 'types';\n\ninterface ErrorSummaryItemModel {\n\tid: string;\n\tlabel: string;\n\tmessage: string;\n}\n\ninterface ErrorSummaryModel {\n\t[key: string]: ErrorSummaryItemModel[];\n\ttranslations: any;\n}\n\nconst ErrorSummary = ({\n\tvalidationMessages,\n\ttranslations,\n}: ErrorSummaryModel) => {\n\treturn (\n\t\t<>\n\t\t\t

\n\t\t\t\t{translations['shared/form/formcontains']}{' '}\n\t\t\t\t{Object.keys(validationMessages).length}{' '}\n\t\t\t\t{translations['shared/form/formissues']}:\n\t\t\t

\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t{validationMessages &&\n\t\t\t\t\t\tObject.keys(validationMessages).map((key: any, i) => (\n\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{validationMessages[key].message}\n\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n};\n\ninterface FormMessageModel {\n\tconfirmationMessage: string;\n\tstate: EpiserverFormsPageModel;\n\ttranslations: any;\n}\n\nconst FormMessage = forwardRef(\n\t(\n\t\t{ confirmationMessage, state, translations }: FormMessageModel,\n\t\tref: any\n\t) => {\n\t\tconst {\n\t\t\tsuccessMessage,\n\t\t\tinvalidFields,\n\t\t\tserverValidationError,\n\t\t\tvalidationMessages,\n\t\t} = state;\n\t\tconst hasMessageToShow = confirmationMessage || successMessage;\n\t\tconst messageType =\n\t\t\tserverValidationError || invalidFields.length > 0 ? 'error' : 'success';\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{(serverValidationError || invalidFields.length > 0) && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{confirmationMessage &&

{confirmationMessage}

}\n\t\t\t\t\t{successMessage && (\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n);\n\nexport default FormMessage;\n","/**\n * EpiForms\n */\n\nimport { useReducer, useRef, useEffect } from 'react';\nimport { useFormRenderer, usePrevious, useForceUpdate } from 'hooks';\nimport { getInitialFormValues, getStepFields } from './EpiForms.helpers';\nimport { submitForm } from './EpiForms.submit';\nimport { Form } from 'components/ui/FormEpi';\nimport FormStep from './FormStep';\nimport FormMessage from './FormMessage';\nimport { H2 } from '../Typography';\nimport { EpiFormsBlockModel } from 'types/block-types';\nimport { EpiserverFormsPageModel } from 'types/page-types';\n\nconst initialState: EpiserverFormsPageModel = {\n\tisLoading: false,\n\tinvalidFields: [],\n\tvalidationMessages: {},\n\tsuccessMessage: '',\n\tcurrentStep: 0,\n\tvalues: {},\n\tsubmissionId: '',\n\tserverValidationError: false,\n\timageHash: Date.now(),\n};\n\nconst reducer = (state: EpiserverFormsPageModel, action: any) => {\n\tswitch (action.type) {\n\t\tcase 'UPDATE_STATE':\n\t\t\treturn { ...state, ...action.payload };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\n/** Rendering of an EpiForms block. */\nconst EpiForms = ({\n\tfields,\n\tmethod = 'GET',\n\taction,\n\tencodingType = 'multipart/form-data',\n\tsteps,\n\tdependencies,\n\tid,\n\ttitle,\n\tdescription,\n\tconfirmationMessage,\n\tredirectUrl,\n\t_properties = {},\n\thtmlAttributes,\n\tloadFailureText,\n\ttranslations,\n}: EpiFormsBlockModel) => {\n\tconst [state, dispatch] = useReducer(reducer, initialState);\n\tconst { currentStep, successMessage, submissionId, invalidFields } = state;\n\n\tconst forceUpdate = useForceUpdate();\n\tconst [renderFormElement, fieldActionExists] = useFormRenderer(\n\t\tfields,\n\t\tstate,\n\t\tdependencies,\n\t\ttranslations\n\t);\n\n\tconst showForm = !confirmationMessage && !successMessage;\n\tconst formValues = getInitialFormValues(fields, currentStep);\n\n\tconst messageHolderRef = useRef(null);\n\tconst prevInvalidFields = usePrevious(invalidFields);\n\tlet prevStep = usePrevious(currentStep) as any;\n\n\tif (prevStep === undefined) {\n\t\tprevStep = 0;\n\t}\n\n\t// Focus messageHolderRef if success or error\n\tuseEffect(() => {\n\t\tconst successfullySubmitted =\n\t\t\tinvalidFields.length > 0 || confirmationMessage || successMessage;\n\t\tconst formMessageElement = messageHolderRef && messageHolderRef.current;\n\n\t\tif (\n\t\t\tsuccessfullySubmitted &&\n\t\t\tformMessageElement &&\n\t\t\tprevInvalidFields !== invalidFields\n\t\t) {\n\t\t\tmessageHolderRef?.current?.focus();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [invalidFields, messageHolderRef]);\n\n\t// Jump back to top if step changes\n\tuseEffect(() => {\n\t\tif (window && prevStep !== currentStep && steps.length > 2) {\n\t\t\twindow.location.href = `#${id}`;\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [currentStep]);\n\n\t// If we have dependencies (conditional fields), we re-render.\n\tconst onChange = (field: any, values: any) => {\n\t\tif ((dependencies && dependencies.length > 0) || fieldActionExists) {\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STATE',\n\t\t\t\tpayload: { values },\n\t\t\t});\n\n\t\t\tif (dependencies && dependencies.length > 0) {\n\t\t\t\tforceUpdate();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst onSubmit = (\n\t\tvalues: any[],\n\t\tstepIndex: number,\n\t\tcurrentValidationMessages: any[],\n\t\tcurrentInvalidFields: string[]\n\t) => {\n\t\tif (currentInvalidFields && currentInvalidFields.length > 0) {\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STATE',\n\t\t\t\tpayload: {\n\t\t\t\t\tinvalidFields: currentInvalidFields,\n\t\t\t\t\tvalidationMessages: currentValidationMessages,\n\t\t\t\t},\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tsubmitForm(values, stepIndex, dispatch, steps, {\n\t\t\tcurrentStep,\n\t\t\tsubmissionId,\n\t\t\taction,\n\t\t\tmethod,\n\t\t\tredirectUrl,\n\t\t});\n\t};\n\n\treturn (\n\t\t
\n\t\t\t 2}\n\t\t\t\tcurrentStep={currentStep}\n\t\t\t\tgetStepFields={getStepFields}\n\t\t\t\tid={id}\n\t\t\t\t{...htmlAttributes}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t{title &&

{title}

}\n\n\t\t\t\t\t{description && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\t\t\t\t\t{loadFailureText &&
{loadFailureText}
}\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t{showForm && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{steps.map((step, i) =>\n\t\t\t\t\t\t\tstep.index === -1 ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : steps.length === 2 ? (\n\t\t\t\t\t\t\t\tstep.fields.map(renderFormElement)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\t\t\t\ttype: 'UPDATE_STATE',\n\t\t\t\t\t\t\t\t\t\t\tpayload: state,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttranslations={translations}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{step.fields.map(renderFormElement)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default EpiForms;\n","import EpiForms from './EpiForms';\n\nexport default EpiForms;\n","import styled from 'styled-components';\nimport { white, blueDark, indigo } from 'theme/colors';\nimport { spacing05x, spacing2x } from 'theme/spacings';\nimport { H2, Paragraph, H3Css } from 'components/ui/Typography';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { fontWeightMedium, fontWeightSemiBold } from 'theme/typography';\n\nexport const Heading = styled(H2)`\n\tcolor: ${blueDark};\n\tmargin: ${spacing2x} 0;\n\tfont-weight: ${fontWeightMedium};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\t${H3Css}\n\t\tcolor: ${blueDark};\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const Link = styled.a`\n\tfont-weight: ${fontWeightSemiBold};\n\tfont-size: 1.8rem;\n\tline-height: 2.4rem;\n\ttext-decoration: none;\n\tcolor: ${blueDark};\n\tmargin: 0;\n\tdisplay: flex;\n\n\t&:hover {\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const Text = styled(Paragraph)`\n\tmargin: 0 0 ${spacing05x} 0;\n`;\n\nexport const ReleaseItemStyle = styled.div`\n\tborder-bottom: 0.1rem solid #d0d0d0;\n\tpadding: ${spacing2x} 0;\n`;\n\nexport const CalendarItemStyle = styled.div`\n\tdisplay: flex;\n\tborder-bottom: 0.1rem solid #d0d0d0;\n\tpadding: ${spacing2x} 0;\n`;\n\nexport const DateStyle = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tborder-radius: 0 0 3px 3px;\n\tbackground-color: #ffffff;\n\tbox-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);\n\theight: 54px;\n\twidth: 40px;\n`;\nexport const DateHeader = styled.div`\n\tbackground-color: ${indigo};\n\tcolor: ${white};\n\tfont-size: 1rem;\n\tfont-weight: ${fontWeightMedium};\n\tline-height: 1.8rem;\n\tletter-spacing: 0;\n\ttext-align: center;\n\ttext-transform: uppercase;\n\theight: 18px;\n\twidth: 40px;\n`;\nexport const DateContent = styled.div`\n\tcolor: ${indigo};\n\tfont-size: 2.2rem;\n\tfont-weight: ${fontWeightSemiBold};\n\tline-height: 4rem;\n\ttext-align: center;\n`;\n\nexport const CalendarEventStyle = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-left: 2rem;\n`;\n","/**\n * PressReleaseItem\n * @module components/PressReleaseItem\n */\n\nimport PropTypes from 'prop-types';\nimport { Link, Text, ReleaseItemStyle } from './PressCalendariumBlock.styles';\n\nconst PressReleaseItem = ({ date, name, link }) => (\n\t\n\t\t{date}\n\t\t{name}\n\t\n);\n\nPressReleaseItem.propTypes = {\n\tdate: PropTypes.string,\n\tname: PropTypes.string,\n};\n\nexport default PressReleaseItem;\n","/**\n * CalendarItem\n * @module components/CalendarItem\n */\nimport PropTypes from 'prop-types';\nimport {\n\tLink,\n\tText,\n\tCalendarItemStyle,\n\tDateStyle,\n\tDateHeader,\n\tDateContent,\n\tCalendarEventStyle,\n} from './PressCalendariumBlock.styles';\n\nconst CalendarItem = ({ day, month, date, name, link }) => (\n\t\n\t\t\n\t\t\t{month}\n\t\t\t{day}\n\t\t\n\t\t\n\t\t\t{date}\n\t\t\t{name}\n\t\t\n\t\n);\n\nCalendarItem.propTypes = {\n\tday: PropTypes.string,\n\tmonth: PropTypes.string,\n\tdate: PropTypes.string,\n\tname: PropTypes.string,\n};\n\nexport default CalendarItem;\n","import PressCalendariumBlock from './PressCalendariumBlock';\n\nexport default PressCalendariumBlock;\n","/**\n * PressCalendariumBlock\n * @module components/PressCalendariumBlock\n */\nimport PropTypes from 'prop-types';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport Button from 'components/ui/Button';\nimport { Heading } from './PressCalendariumBlock.styles.js';\nimport PressReleaseItem from './PressReleaseItem.js';\nimport CalendarItem from './CalendarItem.js';\nimport Layout from 'components/ui/Layout/Layout';\nimport Icon from 'components/ui/Icon';\n\nconst PressCalendariumBlock = ({\n\tlatestPressReleasesText,\n\tcalendarText,\n\tpressReleases,\n\tcalendarEvents,\n\tallPressReleasesText,\n\tallPressReleasesLink,\n\tallCalendarEventsText,\n\tallCalendarEventsLink,\n}) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\t{latestPressReleasesText}\n\t\t\t\t{pressReleases.map((release, i) => {\n\t\t\t\t\treturn ;\n\t\t\t\t})}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{calendarText}\n\t\t\t\t{calendarEvents.map((calendarEvent, i) => {\n\t\t\t\t\treturn ;\n\t\t\t\t})}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nPressCalendariumBlock.propTypes = {\n\tblock: PropTypes.shape({\n\t\tlatestPressReleasesText: PropTypes.string,\n\t\tcalendarText: PropTypes.string,\n\t\tpressReleases: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tdate: PropTypes.string,\n\t\t\t\tname: PropTypes.string,\n\t\t\t\tlink: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tcalendarEvents: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tdate: PropTypes.string,\n\t\t\t\tname: PropTypes.string,\n\t\t\t\tmonth: PropTypes.string,\n\t\t\t\tday: PropTypes.string,\n\t\t\t\taddToCalendarStartDate: PropTypes.string,\n\t\t\t\taddToCalendarEndDate: PropTypes.string,\n\t\t\t\taddToCalendarLocation: PropTypes.string,\n\t\t\t\tlink: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tallPressReleasesText: PropTypes.string,\n\t\tallPressReleasesLink: PropTypes.string,\n\t\tallCalendarEventsText: PropTypes.string,\n\t\tallCalendarEventsLink: PropTypes.string,\n\t}),\n};\n\nexport default PressCalendariumBlock;\n","import styled from 'styled-components';\nimport { H3, H4, Paragraph, paragraphCss } from 'components/ui/Typography';\n\nimport * as colors from 'theme/colors';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { spacing1x, spacing05x } from 'theme/spacings';\nimport { fontWeightMedium } from 'theme/typography';\n\nexport const ImageWrapper = styled.div`\n\tposition: relative;\n\t/* height is temporary */\n\theight: 20.8rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\theight: 16rem;\n\t}\n`;\n\ninterface HeadingModel {\n\tas: string;\n\tsize: string;\n}\n\nexport const Heading = styled(H4).attrs((props: HeadingModel) => ({\n\tas: props.as,\n\tsize: props.size,\n}))`\n\t${H3};\n\tcolor: ${colors.blue};\n\tfont-weight: ${fontWeightMedium};\n\tmargin: ${spacing1x} 0 0 0;\n`;\n\nexport const Description = styled.span`\n\t${paragraphCss};\n\tcolor: ${colors.blue};\n`;\n\nexport const BlockLink = styled.a`\n\tdisplay: block;\n\ttext-decoration: none;\n\n\t:hover ${Heading} {\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const Text = styled(Paragraph)`\n\tcolor: ${colors.black};\n\tmargin: ${spacing05x} 0 0 0;\n`;\n\ninterface LabelModel {\n\tcolor: string;\n}\n\nexport const Label = styled.span.attrs((props: LabelModel) => ({\n\tcolor: props.color,\n}))`\n\ttext-transform: uppercase;\n\tbackground-color: ${({ color }) =>\n\t\tcolor === 'orange' ? colors.orangeLight : (colors as any)[color]};\n\tcolor: ${colors.white};\n\tfont-size: 1.3rem;\n\tpadding: ${spacing05x} ${spacing1x};\n\tbottom: 0.9rem;\n\tleft: -0.5rem;\n\tposition: absolute;\n`;\n\nexport const Image = styled.img`\n\twidth: 100%;\n\t/* height is temporary */\n\theight: 100%;\n\tobject-fit: cover;\n\tfont-family: 'object-fit: cover;';\n\tposition: relative;\n\ttransition: all 2s ease-out;\n\tborder: 0.1rem solid ${colors.greyDark};\n`;\n\nexport const PublishedDate = styled(Paragraph)`\n\tmargin: ${spacing05x} 0 -${spacing1x} 0;\n\tcolor: ${colors.greyDarker};\n`;\n","/**\n * ImageBlock\n * @module components/ImageBlock\n */\n\nimport LazyLoad from 'react-lazyload';\nimport { Hightlight, ImageModel } from 'types/common';\n\nimport {\n\tBlockLink,\n\tImageWrapper,\n\tHeading,\n\tDescription,\n\tText,\n\tLabel,\n\tImage,\n\tPublishedDate,\n} from './ImageBlock.styles';\n\ninterface ImageBlockProp {\n\tlink: string;\n\theading: string;\n\tshortDescription?: string;\n\tpreamble: string;\n\tpublishedDate?: string;\n\theadingSize?: string;\n\timage?: ImageModel;\n\thighlight?: Hightlight;\n}\n\nconst ImageBlock = (block: ImageBlockProp) => {\n\tconst {\n\t\tlink,\n\t\timage,\n\t\thighlight,\n\t\tpublishedDate,\n\t\theading,\n\t\tshortDescription,\n\t\tpreamble,\n\t\theadingSize,\n\t} = block;\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{image ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{image.webpSizes && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{image.sizes && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{highlight && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\thighlight && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{publishedDate && {publishedDate}}\n\t\t\t\t\t{heading && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t{shortDescription && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{` - ${shortDescription}`}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{preamble && {preamble}}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ImageBlock;\n","import NewsBlock from './NewsBlock';\n\nexport default NewsBlock;\n","/**\n * RteWithImageBlock\n * @module components/NewsBlock\n */\n\nimport ImageBlock from '../../framework/ImageBlock/ImageBlock';\nimport { NewsBlockModel } from 'types/block-types';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport Layout from 'components/ui/Layout';\nimport clsx from 'clsx';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\n\nconst NewsBlock = (block: NewsBlockModel) => {\n\tconst {\n\t\theading,\n\t\tlinkToListingPage,\n\t\ttextLinkToListingPage,\n\t\titems,\n\t\tdescription,\n\t} = block;\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-2 font-regular text-h2 md:mt-8 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\t\t\t\t{description && {description}}\n\t\t\t\t\n\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tlink,\n\t\t\t\t\t\t\theading,\n\t\t\t\t\t\t\tpreamble,\n\t\t\t\t\t\t\timage,\n\t\t\t\t\t\t\thighlight,\n\t\t\t\t\t\t\tpublished,\n\t\t\t\t\t\t} = item;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t true}\n\t\t\t\t\t\tclassName=\"\"\n\t\t\t\t\t\tdarkBackground=\"\"\n\t\t\t\t\t\ttarget=\"\"\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\ttype=\"link\"\n\t\t\t\t\t\tbuttonColor={'blue'}\n\t\t\t\t\t\turl={linkToListingPage}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{textLinkToListingPage}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default NewsBlock;\n","import IframeBlock from './IframeBlock';\n\nexport default IframeBlock;\n","/**\n * IframeBlock\n */\n\nimport clsx from 'clsx';\nimport Layout from 'components/ui/Layout';\nimport React from 'react';\n\ninterface Props {\n\t/** Iframe title */\n\ttitle: string;\n\n\t/** Iframe url */\n\turl: string;\n\n\t/** Optional className */\n\tclassName?: string;\n\n\t/** Iframe Height */\n\theight?: string;\n\n\t/** Iframe Width */\n\twidth?: string;\n}\n\n/** Main description for this component. */\nconst IframeBlock = ({\n\ttitle,\n\turl,\n\tclassName,\n\theight = '100%',\n\twidth = '100%',\n}: Props): JSX.Element => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default IframeBlock;\n","import styled from 'styled-components';\nimport { white } from 'theme/colors';\nimport { toast } from 'react-toastify';\n\nexport const ToastLink = styled.a`\n\ttext-decoration: underline;\n\tcolor: ${white};\n`;\n\nexport const toastWithLink = (linkText, url, type) => {\n\tlet href = '';\n\tswitch (typeof url) {\n\t\tcase 'object':\n\t\t\tif (url && url.link) {\n\t\t\t\thref = url.link;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'string':\n\t\t\thref = url;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thref = '';\n\t}\n\ttoast(\n\t\t\n\t\t\t{linkText}\n\t\t,\n\t\t{\n\t\t\ttype: type,\n\t\t\tcloseDelay: 2500,\n\t\t}\n\t);\n};\n","import ConfiguratorIframeBlock from './ConfiguratorIframeBlock';\n\nexport default ConfiguratorIframeBlock;\n","import { GenericWarning, SendTableError, ServerError } from 'common/helpers';\nimport { toastWithLink } from 'common/toastHelpers';\nimport { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { AddToCart, sendCartTable, selectCartObject } from 'store/modules/cart';\nimport { AddToCartModel } from 'types/cart-types';\nimport IframeBlock from '../IframeBlock';\n\ninterface Props {\n\t/** Iframe title */\n\ttitle: string;\n\n\t/** Iframe url */\n\turl: string;\n\n\t/** Optional className */\n\tclassName?: string;\n\n\ttranslations: {\n\t\t'/frontend/shared/toast/cartaddsuccess': any;\n\t\t'/frontend/shared/toast/cartupdateerror': any;\n\t};\n}\n\n/** Main description for this component. */\nconst ConfiguratorIframeBlock = ({\n\ttitle,\n\turl,\n\tclassName,\n\ttranslations,\n}: Props): JSX.Element => {\n\tconst dispatch = useDispatch();\n\tconst { cartLink } = useSelector(selectCartObject);\n\tconst handleAddToCart = async (items: AddToCartModel[]) => {\n\t\ttry {\n\t\t\tawait dispatch(AddToCart('POST', items));\n\t\t\ttoastWithLink(\n\t\t\t\ttranslations['/frontend/shared/toast/cartaddsuccess'],\n\t\t\t\tcartLink?.link,\n\t\t\t\ttoast.TYPE.SUCCESS\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(translations['/frontend/shared/toast/cartupdateerror'], {\n\t\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\t});\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleSendTableData = async (body: string) => {\n\t\ttry {\n\t\t\tconst data = await dispatch(sendCartTable('POST', body));\n\n\t\t\tif (data.errorCode === 200) {\n\t\t\t\ttoast(data.message, { type: toast.TYPE.SUCCESS });\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// Handle errors during the API call\n\t\t\tif (err instanceof SendTableError) {\n\t\t\t\ttoast(err.message, {\n\t\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\ttoast(err.message || 'An error occurred', { type: toast.TYPE.ERROR });\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('message', function (e) {\n\t\t\t// Get the sent data\n\t\t\tif (e.data && typeof e.data === 'string') {\n\t\t\t\tconst decodedData = JSON.parse(e.data);\n\t\t\t\tif (\n\t\t\t\t\tdecodedData?.data?.length > 0 &&\n\t\t\t\t\tdecodedData?.type === 'ADD_TO_CART'\n\t\t\t\t) {\n\t\t\t\t\tlet newArray: any = [];\n\t\t\t\t\tdecodedData?.data.forEach((item: any) =>\n\t\t\t\t\t\tnewArray.push({\n\t\t\t\t\t\t\t...item,\n\t\t\t\t\t\t\tquantity: parseFloat(item.quantity),\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t\thandleAddToCart(newArray);\n\t\t\t\t} else if (\n\t\t\t\t\tdecodedData?.data?.length > 0 &&\n\t\t\t\t\tdecodedData?.type === 'CART_TABLE'\n\t\t\t\t) {\n\t\t\t\t\thandleSendTableData(e.data);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t//eslint-disable-next-line\n\t}, []);\n\treturn ;\n};\n\nexport default ConfiguratorIframeBlock;\n","import AccordionBlock from './AccordionBlock';\n\nexport default AccordionBlock;\n","/**\n * Accordion\n */\n\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useState } from 'react';\nimport Icon from '../../ui/Icon';\n\ninterface Props {\n\tid: string;\n\n\t/** Title of the accordion */\n\ttitle: string;\n\n\t/** Content area */\n\tchildren: any[];\n}\n\nconst Accordion = ({ id, title, children }: Props): JSX.Element => {\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t setOpen(!open)}\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
{title}
\n\t\t\t\n\n\t\t\t{open && (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Accordion;\n","import MediaBlock from './MediaBlock';\n\nexport default MediaBlock;\n","/**\n * MediaBlock\n */\n\nimport clsx from 'clsx';\nimport { getHeadingLevel } from 'common/helpers';\nimport { MediaBlockModel } from 'types/block-types';\n\n/** Main description for this component. */\nconst MediaBlock = (props: MediaBlockModel) => {\n\tconst {\n\t\timage,\n\t\tid,\n\t\ttranslations,\n\t\theading,\n\t\theadingLevel,\n\t\theadingStyleLevel,\n\t\theightLevel,\n\t} = props;\n\tconst Heading = getHeadingLevel(headingLevel);\n\n\tconst headingCss =\n\t\theadingStyleLevel === 1\n\t\t\t? 'text-h2 md:text-h1'\n\t\t\t: `text-${getHeadingLevel(headingStyleLevel)}`;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{heading}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default MediaBlock;\n","/**\n * Text\n */\n\nimport React from 'react';\nimport clsx from 'clsx';\n\ntype Tags =\n\t| 'h1'\n\t| 'h2'\n\t| 'h3'\n\t| 'h4'\n\t| 'h5'\n\t| 'h6'\n\t| 'p'\n\t| 'preamble'\n\t| 'span'\n\t| 'div'\n\t| 'screenReader';\n\nexport interface TextProps {\n\t/** The text to render (if no children are present) */\n\ttext?: string;\n\n\t/** The html-tag/Component that will be outputted */\n\tas: Tags;\n\n\t/** The style that will be used (instead of the tag default style) */\n\tstyleAs?: Tags;\n\n\t/** Option to remove default text margin */\n\tmargin?: boolean;\n\n\t/** Pass optional classnames for the html */\n\tclassName?: string;\n\n\t/** Optional other html props will be spread on the component */\n\t[htmlAttributes: string]: any;\n}\n\nconst tagMapper = {\n\th1: 'h1',\n\th2: 'h2',\n\th3: 'h3',\n\th4: 'h4',\n\th5: 'h5',\n\th6: 'h6',\n\tp: 'p',\n\tpreamble: 'p',\n\tspan: 'span',\n\tdiv: 'div',\n\tscreenReader: 'div',\n};\n\nconst typographyClasses: any = {\n\th1: 'font-standard font-normal sm:text-h2 md:text-h1',\n\th2: 'font-standard font-normal sm:text-h3 md:text-h2',\n\th3: 'font-standard font-medium sm:text-h4 md:text-h3',\n\th4: 'font-standard font-medium text-h4',\n\th5: 'font-standard font-medium text-h5',\n\th6: 'font-standard font-semibold text-h6',\n\tp: 'font-standard text-p',\n\tpreamble: 'font-standard font-medium text-preamble',\n\tspan: 'font-standard',\n\tdiv: 'font-standard',\n\tscreenReader: 'sr-only',\n};\n\nconst typographyMarginClasses: any = {\n\th1: 'mb-8',\n\th2: 'mb-2 mt-14',\n\th3: 'mt-8 mb-2',\n\th4: 'mb-2',\n\th5: 'mb-2',\n\th6: 'mb-2',\n\tp: 'mb-4',\n\tpreamble: 'mb-4',\n\tspan: '',\n\tdiv: '',\n\tscreenReader: '',\n};\n\n/** Text component to render texts, also has handling for Epi server on page editor. */\nconst Text = ({\n\tchildren,\n\ttext,\n\tstyleAs,\n\tas,\n\tmargin = true,\n\tclassName = '',\n\t...htmlAttributes\n}: TextProps): JSX.Element | null => {\n\tconst content = children || text;\n\tconst Component: any = tagMapper[as];\n\n\tif (!content) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{content}\n\t\t\n\t);\n};\n\nexport default Text;\n","import Text, { TextProps } from './Text';\nexport default Text;\nexport type { TextProps };\n","/**\n * FloatingBlock\n */\n\nimport Icon from 'components/ui/Icon';\nimport { FloatingBlockModel } from 'types/block-types';\nimport { ExtendedLinkModel } from 'types/common';\nimport Text from 'components/ui/Text';\nimport clsx from 'clsx';\n\n/** Main description for this component. */\nconst FloatingBlock = (props: FloatingBlockModel) => {\n\tconst { title, links, contactList } = props;\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default FloatingBlock;\n\nexport const WaterMark = () => (\n\t
\n\t\t\n\t
\n);\n","import FloatingBlock from './FloatingBlock';\n\nexport default FloatingBlock;\n","/**\n * ContentArea\n * @module components/ContentArea\n */\nimport Layout from 'components/ui/Layout';\nimport Carousel from 'components/common/Carousel';\nimport PromoBlock from 'components/common/PromoBlock';\nimport ColumnBlock from 'components/common/ColumnBlock';\nimport RteBlock from 'components/common/RteBlock';\nimport RteWithImageBlock from 'components/common/RteWithImageBlock';\nimport EpiForms from 'components/ui/EpiForms';\nimport PressCalendariumBlock from 'components/common/PressCalendariumBlock';\nimport NewsBlock from 'components/common/NewsBlock';\nimport {\n\tBlockModel,\n\tNewsBlockModel,\n\tPressCalendariumBlockModel,\n\tRteWithImageBlockModel,\n\tRteBlockModel,\n\tColumnBlockModel,\n\tCarouselBlockModel,\n\tImageGalleryBlockModel,\n\tIframeBlockModel,\n\tAccordionBlockModel,\n\tMediaBlockModel,\n\tFloatingBlockModel,\n} from 'types/block-types';\nimport { ImageGalleryBlock } from 'components/common/ImageGalleryBlock';\nimport IframeBlock from 'components/common/IframeBlock';\nimport ConfiguratorIframeBlock from 'components/common/ConfiguratorIframeBlock';\nimport AccordionBlock from 'components/common/AccordionBlock';\nimport MediaBlock from 'components/common/MediaBlock';\nimport FloatingBlock from 'components/common/FloatingBlock';\n\nconst renderBlock = (block: BlockModel, i: number) => {\n\tswitch (block.modelType) {\n\t\tcase 'FormContainer':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase 'CarouselBlock':\n\t\t\tconst carouselBlock = block as CarouselBlockModel;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'ColumnBlock':\n\t\t\tconst columnBlock = block as ColumnBlockModel;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'PromoBlock':\n\t\t\treturn ;\n\t\tcase 'RteBlock':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'RteWithImageBlock':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'PressCalendariumBlock':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'NewsBlock':\n\t\t\treturn ;\n\t\tcase 'ImageGalleryBlock':\n\t\t\tconst imageGalleryBlock = block as ImageGalleryBlockModel;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'FrameBlock':\n\t\t\tconst iframeBlock = block as IframeBlockModel;\n\t\t\tswitch (iframeBlock.type) {\n\t\t\t\tcase 'BLConfig':\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t}\n\t\tcase 'AccordionBlock':\n\t\t\tconst accordionBlock = block as AccordionBlockModel;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{accordionBlock.contentArea.map((content, index) =>\n\t\t\t\t\t\trenderBlock(content, index)\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t);\n\t\tcase 'MediaBlock':\n\t\t\tconst mediaBlock = block as MediaBlockModel;\n\t\t\treturn ;\n\t\tcase 'FloatingBlock':\n\t\t\tconst floatingBlock = block as FloatingBlockModel;\n\t\t\treturn ;\n\n\t\tdefault:\n\t\t\treturn '';\n\t}\n};\n\nconst ContentArea = ({ contentArea, className }: any) => {\n\treturn (\n\t\t
\n\t\t\t{contentArea ? contentArea.map(renderBlock) : null}\n\t\t
\n\t);\n};\n\nexport default ContentArea;\n","import ContentArea from './ContentArea';\n\nexport default ContentArea;\n","import styled from 'styled-components';\nimport { H3Css } from 'components/ui/Typography';\nimport { spacing1x, spacing3x } from 'theme/spacings';\nimport { deviceSmallMax, deviceMediumMax } from 'theme/mediaQueries';\nimport Layout from 'components/ui/Layout';\n\nexport const SectionHeaderLayout = styled(Layout)`\n\tmargin-bottom: ${spacing3x};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\t${H3Css};\n\t\tmargin: ${spacing1x} 0;\n\t}\n`;\n\nexport const SectionHeaderWrapper = styled.div`\n\tmax-width: 66%;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n`;\n","import styled, { css } from 'styled-components';\nimport { Paragraph } from 'components/ui/Typography';\nimport { darken } from 'polished';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport * as colors from 'theme/colors';\nimport { fontWeightBold } from 'theme/typography';\nimport { spacing1x } from 'theme/spacings';\n\nexport const buttonBaseStyle = css`\n\tcolor: ${colors.white};\n\tfont-weight: ${fontWeightBold};\n\tvertical-align: middle;\n\ttext-align: center;\n\tpadding: ${spacing1x} 1.2rem;\n\tdisplay: inline-block;\n\tborder-radius: 0.5rem;\n\ttext-transform: uppercase;\n\ttransition: background-color 0.4s ease-out, border-color 0.4s ease-out;\n\tcursor: pointer;\n\ttext-decoration: none;\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\t& svg {\n\t\tcolor: inherit;\n\t\tfont-size: 2rem;\n\t\tvertical-align: sub;\n\t\tmargin-left: 1rem;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t\tline-height: 2rem;\n\t\tpadding: 0.2rem 0.6rem;\n\t\t& svg {\n\t\t\tfont-size: 1.6rem;\n\t\t}\n\t}\n`;\n\nexport const DefaultButton = styled(Paragraph)`\n\t${buttonBaseStyle}\n\tbackground-color: ${({ buttonColor }) => colors[buttonColor]};\n\tcolor: ${({ buttonColor }) =>\n\t\tbuttonColor !== 'white' && buttonColor !== 'grey'\n\t\t\t? colors['white']\n\t\t\t: colors['greyDarkest']};\n\tborder: 0.2rem solid ${({ buttonColor }) => colors[buttonColor]};\n\t:hover {\n\t\tbackground-color: ${({ buttonColor }) => darken('0.1', colors[buttonColor])};\n\t}\n\n\t:disabled {\n\t\tcolor: ${colors.greyDarker};\n\t\tbackground-color: ${colors.grey};\n\t\tborder: 0.2rem solid ${colors.grey};\n\t\tcursor: inherit;\n\t}\n`;\n\nexport const LinkButton = styled(DefaultButton)``;\n","export default __webpack_public_path__ + \"static/media/square.8c2fd5ee.svg\";","export default __webpack_public_path__ + \"static/media/check-square.6ffba6b5.svg\";","export default __webpack_public_path__ + \"static/media/circle.aeb8a724.svg\";","export default __webpack_public_path__ + \"static/media/check-circle.fc206c2b.svg\";","import styled from 'styled-components';\nimport { paragraphCss, H6Css } from 'components/ui/Typography';\nimport { fieldCss } from 'components/ui/Form/Form.styles';\nimport {\n\twhite,\n\tgreyDark,\n\tgreyPlaceholder,\n\tblue,\n\tgreyDarkest,\n\terrorRed,\n} from 'theme/colors';\nimport { buttonBaseStyle } from 'components/ui/Button/Button.styles';\nimport { fontFamily, fontWeightBold } from 'theme/typography';\nimport { spacing1x } from 'theme/spacings';\nimport squareIcon from './CustomIcons/square.svg';\nimport checkSquareIcon from './CustomIcons/check-square.svg';\nimport circleIcon from './CustomIcons/circle.svg';\nimport checkCircleIcon from './CustomIcons/check-circle.svg';\n\nexport const CustomExternalScriptContainer = styled.div`\n\t> form,\n\t> form > * {\n\t\tpadding: ${spacing1x};\n\n\t\tp,\n\t\tspan,\n\t\tlegend {\n\t\t\t${paragraphCss};\n\t\t}\n\t\tlabel,\n\t\tlabel > span {\n\t\t\t${H6Css};\n\t\t\twidth: auto;\n\t\t\tdisplay: inline-block;\n\t\t\tfont-weight: ${fontWeightBold};\n\t\t\tfont-family: ${fontFamily};\n\t\t\tmargin-bottom: ${spacing1x};\n\t\t\tposition: relative;\n\t\t\tdisplay > svg {\n\t\t\t\tcolor: ${greyDarkest};\n\t\t\t\tmargin-left: ${spacing1x};\n\t\t\t}\n\t\t\t:hover div {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t\t:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\t\tul,\n\t\tol {\n\t\t\tlist-style: none;\n\t\t\tpadding: 0;\n\t\t}\n\t\tli {\n\t\t\ttext-decoration: none;\n\t\t\tlist-style: none;\n\t\t}\n\t\ttextarea {\n\t\t\twidth: 100%;\n\t\t\theight: 10rem;\n\t\t\tpadding: ${spacing1x};\n\t\t\tborder: 0.1rem solid ${greyDark};\n\t\t\tborder-radius: 0.4rem;\n\n\t\t\tfont-family: ${fontFamily};\n\t\t\tfont-size: 1.6rem;\n\t\t\tline-height: 2.4rem;\n\t\t}\n\n\t\tselect,\n\t\tinput[type='email'],\n\t\tinput[type='text'],\n\t\tinput[type='number'] {\n\t\t\t${fieldCss};\n\n\t\t\t::placeholder {\n\t\t\t\tcolor: ${greyPlaceholder};\n\t\t\t}\n\t\t}\n\t\tselect {\n\t\t\tbackground-color: ${white} !important;\n\t\t}\n\n\t\tinput[type='submit'] {\n\t\t\t${buttonBaseStyle};\n\t\t\tcolor: ${white};\n\t\t\tbackground-color: ${blue};\n\t\t\tborder: 0.2rem solid ${white};\n\t\t\tfont-family: ${fontFamily};\n\t\t\tpadding: 0.8rem 1.2rem;\n\t\t\tfont-size: 1.6rem;\n\t\t}\n\t\t.hs-form-checkbox,\n\t\t.hs-form-booleancheckbox {\n\t\t\tdisplay: inline-block;\n\t\t\t> label > input[type='checkbox'] {\n\t\t\t\tborder-color: white;\n\t\t\t\tposition: relative;\n\t\t\t\twidth: 2rem;\n\t\t\t\tmargin-right: ${spacing1x};\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 50%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-image: url(${squareIcon});\n\t\t\t\t\tbackground-color: white;\n\t\t\t\t\tbackground-size: 2rem 2rem;\n\t\t\t\t\theight: 2rem;\n\t\t\t\t\twidth: 2rem;\n\t\t\t\t\tcolor: ${greyDarkest};\n\t\t\t\t\topacity: 1;\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t}\n\t\t\t}\n\t\t\t> label > input:checked[type='checkbox'] {\n\t\t\t\t&:before {\n\t\t\t\t\tbackground-image: url(${checkSquareIcon});\n\t\t\t\t}\n\t\t\t}\n\t\t\t> label > span {\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\t\t.hs-form-checkbox {\n\t\t\tdisplay: block;\n\t\t\t> label > input {\n\t\t\t\tfloat: left;\n\t\t\t}\n\t\t}\n\t\t.hs-form-booleancheckbox-display {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t.hs-form-radio-display {\n\t\t\t> input[type='radio'] {\n\t\t\t\tborder-color: white;\n\t\t\t\tposition: relative;\n\t\t\t\tfloat: left;\n\t\t\t\twidth: 2rem;\n\t\t\t\tmargin-right: ${spacing1x};\n\n\t\t\t\t&:before {\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\tcontent: ' ';\n\t\t\t\t\tbackground-image: url(${circleIcon});\n\t\t\t\t\tbackground-size: 2rem 2rem;\n\t\t\t\t\tbackground-color: white;\n\t\t\t\t\ttop: 50%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\theight: 2rem;\n\t\t\t\t\twidth: 2rem;\n\t\t\t\t\tcolor: ${greyDarkest};\n\t\t\t\t\topacity: 1;\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t}\n\t\t\t}\n\t\t\t> input:checked[type='radio'] {\n\t\t\t\t&:before {\n\t\t\t\t\tbackground-image: url(${checkCircleIcon});\n\t\t\t\t}\n\t\t\t}\n\t\t\t> span {\n\t\t\t\tdisplay: block;\n\t\t\t\tfloat: left;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t}\n\n\t\t.hs-form-required {\n\t\t\tmargin-top: 0;\n\t\t\tcolor: ${greyDarkest};\n\t\t}\n\t\t.hs-error-msgs > li {\n\t\t\t> label {\n\t\t\t\tcolor: ${errorRed};\n\t\t\t}\n\t\t\ta {\n\t\t\t\tcolor: ${blue};\n\t\t\t\ttext-decoration: none;\n\t\t\t\t:hover {\n\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t.submitted-message {\n\t\t${paragraphCss};\n\t\tpadding: 0 ${spacing1x};\n\t}\n\n\t.hs-richtext {\n\t\ta {\n\t\t\tcolor: ${blue};\n\t\t\ttext-decoration: none;\n\t\t\t:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n`;\n","import CustomExternalScript from './CustomExternalScript';\n\nexport default CustomExternalScript;\n","/**\n * CustomExternalScript\n * @module components/CustomExternalScript\n */\n\nimport { CustomExternalScriptContainer } from './CustomExternalScript.styles';\n\nconst CustomExternalScript = () => {\n\treturn (\n\t\t\n\t);\n};\n\nexport default CustomExternalScript;\n","import SectionHeader from './SectionHeader';\n\nexport default SectionHeader;\n","/**\n * SectionHeader\n * @module components/SectionHeader\n */\n\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport {\n\tSectionHeaderLayout,\n\tSectionHeaderWrapper,\n} from './SectionHeader.styles';\n\nimport RichText from 'components/ui/RichText';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\n\ninterface Sectionheader {\n\ttitle?: string;\n\theading: string;\n\theadingLevel?: string;\n\ttext?: string;\n\tsize: 'small' | 'large' | 'default';\n\tisInEditMode?: boolean;\n\tclassName?: string;\n}\n\nconst SectionHeader = (props: Sectionheader) => {\n\tconst { heading, text, size, isInEditMode, headingLevel, className } = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode || false,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-6 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\tas: headingLevel,\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SectionHeader;\n","import styled from 'styled-components';\nimport { FiChevronRight, FiChevronLeft } from 'react-icons/fi';\nimport { FaHome } from 'react-icons/fa';\nimport { greyDarker, black, greyDarkest } from 'theme/colors';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport RichText from 'components/ui/RichText';\nimport { spacing05x, spacing3x } from 'theme/spacings';\n\nexport const BreadCrumbsList = styled.ol`\n\tlist-style: none;\n\tdisplay: inline-block;\n\tpadding: 0;\n\tmargin: ${spacing3x} 0 0 0;\n\n\t:last-child:after {\n\t\tcontent: '';\n\t}\n\t@media (max-width: 1010px) {\n\t\tmargin: 0;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 1rem 0;\n\t}\n`;\n\nexport const BreadCrumbsItem = styled.li`\n\tdisplay: inline-block;\n\tpadding-left: ${spacing05x};\n\tcolor: ${greyDarker};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: none;\n\t\t:last-of-type {\n\t\t\tdisplay: inline-block;\n\t\t\tsvg {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const SeperatorIcon = styled(FiChevronRight)`\n\tfont-size: 1.5rem;\n\tvertical-align: middle;\n\tmargin: 0 0.5rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const HomeIcon = styled(FaHome)`\n\tfont-size: 1.6rem;\n\tcolor: ${greyDarkest};\n\topacity: 0.5;\n\tvertical-align: middle;\n\tmargin-right: 0.5rem;\n`;\n\nexport const PreviousPageIcon = styled(FiChevronLeft)`\n\tdisplay: none;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: inline-block;\n\t\tfont-size: 1.5rem;\n\t\tvertical-align: middle;\n\t\tmargin: 0 0.5rem;\n\t}\n`;\n\nexport const BreadCrumbsLink = styled.a`\n\ttext-decoration: none;\n\t&:hover {\n\t\ttext-decoration: underline;\n\t}\n\t&:active {\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const LinkRichText = styled(RichText)`\n\tdisplay: inline-block;\n\tfont-size: 1.6rem;\n\tcolor: ${black};\n\topacity: 0.5;\n`;\n","import Breadcrumbs from './Breadcrumbs';\n\nexport default Breadcrumbs;\n","/**\n * Breadcrumbs\n * @module components/Breadcrumbs\n */\n\nimport { useContext } from 'react';\nimport {\n\tBreadCrumbsList,\n\tBreadCrumbsItem,\n\tBreadCrumbsLink,\n\tSeperatorIcon,\n\tHomeIcon,\n\tPreviousPageIcon,\n\tLinkRichText,\n} from './Breadcrumbs.styles';\nimport { LinkModel } from 'types/common';\nimport { LocalizationContext } from 'context/localization.context';\nimport clsx from 'clsx';\n\ninterface BreadCrumbsModel {\n\tlinks: LinkModel[];\n\tclassName?: string;\n}\n\nconst Breadcrumbs = ({ links, className }: BreadCrumbsModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{links &&\n\t\t\t\t\tlinks.map((item, i) => {\n\t\t\t\t\t\tconst isLastLink = i === links.length - 1;\n\t\t\t\t\t\tconst isFirstLink = i === 0;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isFirstLink ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : isLastLink ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Breadcrumbs;\n","import ArticlePage from './ArticlePage';\n\nexport default ArticlePage;\n","/**\n * ArticlePage\n * @module pages/ArticlePage\n */\n\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Layout from 'components/ui/Layout';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nconst ArticlePage = (props) => {\n\tconst {\n\t\theading,\n\t\ttext,\n\t\tcontentArea,\n\t\ttopContentArea,\n\t\tisInEditMode,\n\t\tbreadcrumbs,\n\t\tslideContentArea,\n\t} = props;\n\tif (slideContentArea && slideContentArea?.length > 0) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{breadcrumbs && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{breadcrumbs && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n};\n\nexport default ArticlePage;\n","import StartPage from './StartPage';\n\nexport default StartPage;\n","/**\n * StartPage\n */\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { StartPageModel } from 'types/page-types';\n\nconst StartPage = ({\n\theading,\n\ttext,\n\tcontentArea,\n\ttopContentArea,\n}: StartPageModel): JSX.Element => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default StartPage;\n","import CatalogPage from './CatalogPage';\n\nexport default CatalogPage;\n","/**\n * CatalogPage\n * @module pages/CatalogPage\n */\n\nimport React from 'react';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\n\nconst CatalogPage = props => {\n\tconst { heading, text, contentArea, topContentArea, isInEditMode } = props;\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default CatalogPage;\n","import ErrorPage404 from './ErrorPage404';\n\nexport default ErrorPage404;\n","/**\n * ErrorPage404\n * @module pages/ErrorPage404\n */\n\nimport React from 'react';\nimport Layout from 'components/ui/Layout';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport SectionHeader from 'components/ui/SectionHeader';\n\nconst ErrorPage404 = ({ heading, text, isInEditMode }) => (\n\t
\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n);\n\nexport default ErrorPage404;\n","import ImageBlock from './ImageBlock';\n\nexport default ImageBlock;\n","import ProductDivisionPage from './ProductDivisionPage';\n\nexport default ProductDivisionPage;\n","/**\n * ProductDivisionPage\n * @module pages/ProductDivisionPage\n */\n\nimport React from 'react';\nimport Layout from 'components/ui/Layout';\nimport ContentArea from 'components/framework/ContentArea';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport ImageBlock from 'components/framework/ImageBlock';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport SectionHeader from 'components/ui/SectionHeader';\n\nconst ProductDivisionPage = ({\n\theading,\n\tbreadcrumbs,\n\tisInEditMode,\n\ttext,\n\tcategories,\n\tcontentArea,\n}) => (\n\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{categories.map((item, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t\n\n\t\t\n\t
\n);\n\nexport default ProductDivisionPage;\n","import styled from 'styled-components';\nimport { Input } from 'components/ui/Form/Form.styles';\nimport { spacing1x, spacing5x, spacing3x } from 'theme/spacings';\nimport { greyDarker, blue } from 'theme/colors';\n\ninterface FilterFieldButtonProps {\n\tsearchIcon?: boolean;\n}\n\nexport const FilterFieldButton = styled.button`\n\tbackground-color: transparent;\n\tborder: none;\n\tposition: absolute;\n\ttop: ${(props) => props.searchIcon && '14px'};\n\tleft: ${(props) => (props.searchIcon ? '18px' : '0')};\n\tpadding: ${(props) => !props.searchIcon && `${spacing1x} 1rem`};\n\n\t@media (max-width: 500px) {\n\t\ttop: ${(props) => props.searchIcon && '10px'};\n\t}\n\n\t@media (max-width: 890px) {\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t}\n\n\tsvg {\n\t\tfont-size: 2.2rem;\n\t\theight: 2.4rem;\n\t\twidth: 2.4rem;\n\t\tcolor: ${(props) => (props.searchIcon ? blue : greyDarker)};\n\t\t@media (max-width: 890px) {\n\t\t\tfont-size: 1.8rem;\n\t\t\theight: 1.6rem;\n\t\t\twidth: 1.6rem;\n\t\t}\n\t}\n\n\t@media (max-width: 890px) {\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t}\n`;\n\nexport const InputField = styled(Input)`\n\twidth: 100%;\n\theight: 4rem !important;\n\tpadding: ${spacing1x} ${spacing3x} ${spacing1x} ${spacing5x};\n`;\n","/**\n * FilterField\n * @module components/FilterField\n */\n\nimport { useContext, useState, useEffect } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport { FiFilter, FiSearch } from 'react-icons/fi';\nimport { FilterFieldButton, InputField } from './FilterField.styles';\nimport { useDebounce } from 'hooks';\nimport clsx from 'clsx';\n\ninterface FilterFieldModel {\n\tmethod: string;\n\taction: string;\n\tid: string;\n\tname: string;\n\tonSearch: (query: string) => void;\n\tclassName?: string;\n\tvalue: string;\n\tsearchIcon?: boolean;\n\tcolorIcon?: string;\n\tplaceholder?: string;\n}\n\nconst FilterField = ({\n\tmethod,\n\taction,\n\tid,\n\tname,\n\tonSearch,\n\tclassName,\n\tvalue,\n\tsearchIcon,\n\tcolorIcon,\n\tplaceholder,\n}: FilterFieldModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [query, setQuery] = useState(value);\n\tconst debouncedQuery = useDebounce(query, 300);\n\n\tconst handleSubmit = (e: React.SyntheticEvent) => {\n\t\te.preventDefault();\n\n\t\tif (onSearch) {\n\t\t\tonSearch(debouncedQuery);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (onSearch) {\n\t\t\tonSearch(debouncedQuery);\n\t\t}\n\t}, [onSearch, debouncedQuery]);\n\n\tuseEffect(() => {\n\t\tif (value !== debouncedQuery) {\n\t\t\tsetQuery(value);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [value]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t setQuery(e.target.value)}\n\t\t\t/>\n\t\t\t
\n\t\t\t\t{searchIcon ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}{' '}\n\t\t\t
\n\n\t\t\t{t('shared/filter/filterphrase')}\n\t\t\n\t);\n};\n\nexport default FilterField;\n","import FilterField from './FilterField';\n\nexport default FilterField;\n","import { Paragraph } from 'components/ui/Typography';\nimport styled from 'styled-components';\nimport FilterField from 'components/ui/FilterField';\nimport RichTextWrapper from 'components/ui/RichText';\nimport { fontWeightSemiBold } from 'theme/typography';\nimport { deviceSmallMax, deviceMediumMax } from 'theme/mediaQueries';\nimport { spacing05x, spacing2x, spacing3x } from 'theme/spacings';\nimport Button from 'components/ui/Button';\n\nexport const Preamble = styled(Paragraph)`\n\tmax-width: 66%;\n\tfont-weight: ${fontWeightSemiBold};\n\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const RichText = styled(RichTextWrapper)`\n\tmax-width: 66%;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const LinkButton = styled(Button)`\n\tmargin: 0 0 ${spacing2x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0.8rem 1.2rem;\n\t}\n`;\n\nexport const InputField = styled(FilterField)`\n\tfloat: right;\n\tmargin-bottom: ${spacing3x};\n\twidth: 40%;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfloat: none;\n\t\twidth: 100%;\n\t\tpadding: ${spacing05x};\n\t}\n\tsvg {\n\t\theight: 2rem;\n\t\twidth: 2rem;\n\t}\n`;\n","import { useFetch } from './index.ts';\nimport axios from 'axios';\nimport Axios from 'axios';\n\nexport const useFilterSearch = (\n\tquery,\n\turl,\n\tprevent = false,\n\tdocumentSearch = false\n) => {\n\tif (process.env.NODE_ENV === 'development' && url) {\n\t\tif (query && query.includes('group=')) {\n\t\t\turl = 'http://localhost:4000/api/searchpage';\n\t\t} else if (documentSearch) {\n\t\t\turl = 'http://localhost:4000/api/documentsearch';\n\t\t} else {\n\t\t\turl = 'http://localhost:4000/api/search';\n\t\t}\n\t}\n\treturn useFetch({\n\t\turl: `${url}?${query}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tdisableCancel: true,\n\t\tpreventRequest:\n\t\t\tquery === null ||\n\t\t\ttypeof query === 'undefined' ||\n\t\t\turl === null ||\n\t\t\ttypeof url === 'undefined' ||\n\t\t\tprevent,\n\t});\n};\n\nexport const usePressRelease = (query, url, prevent = false) => {\n\tif (process.env.NODE_ENV === 'development' && url) {\n\t\turl = `http://localhost:4000/api/pressreleaselist`;\n\t}\n\treturn useFetch({\n\t\turl: `${url}?${query}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tdisableCancel: true,\n\t\tpreventRequest:\n\t\t\tquery === null ||\n\t\t\ttypeof query === 'undefined' ||\n\t\t\turl === null ||\n\t\t\ttypeof url === 'undefined' ||\n\t\t\tprevent,\n\t});\n};\n\nexport const usePriceStockDetail = ({\n\tarticlesArray,\n\tcompanyId,\n\tcustomerId,\n\tprojectId,\n\twarehouseId,\n\turl,\n\tdesiredDeliveryDate,\n\tpreventRequest,\n\tincludeTotal = false,\n}) => {\n\tconst itemCodes =\n\t\tarticlesArray &&\n\t\tarticlesArray.length > 0 &&\n\t\tarticlesArray.map((item) => {\n\t\t\treturn {\n\t\t\t\tcode: item.itemCode,\n\t\t\t\tquantity: item.quantity || 1,\n\t\t\t\tconfigId: item.configId || '',\n\t\t\t\tlineItemId: item.lineItemId || 0,\n\t\t\t};\n\t\t});\n\n\tconst body = itemCodes && {\n\t\titemCodes: itemCodes,\n\t\tcompanyId: companyId || '',\n\t\tcustomerId: customerId || '',\n\t\tprojectId: projectId || '',\n\t\twarehouseId: warehouseId || '',\n\t\tdesiredDeliveryDate: desiredDeliveryDate || '',\n\t\treadThroughCache: true,\n\t\tincludeTotal: includeTotal,\n\t};\n\n\tconst dataHash = JSON.stringify(body);\n\tlet result = useFetch({\n\t\turl: `${url}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tpreventRequest:\n\t\t\turl === null ||\n\t\t\ttypeof url === 'undefined' ||\n\t\t\tbody === null ||\n\t\t\titemCodes === false ||\n\t\t\tpreventRequest,\n\t\tdata: body,\n\t\tdataHash: dataHash,\n\t});\n\n\treturn result;\n};\n\nexport const fetchPriceStockDetail = async ({\n\tarticlesArray,\n\tcompanyId,\n\tcustomerId,\n\tprojectId,\n\twarehouseId,\n\turl,\n\tdesiredDeliveryDate,\n\tincludeTotal = false,\n}) => {\n\tconst itemCodes =\n\t\tarticlesArray &&\n\t\tarticlesArray.length > 0 &&\n\t\tarticlesArray.map((item) => {\n\t\t\treturn {\n\t\t\t\tcode: item.itemCode,\n\t\t\t\tquantity: item.quantity || 1,\n\t\t\t\tconfigId: item.configId || '',\n\t\t\t\tlineItemId: item.lineItemId || 0,\n\t\t\t};\n\t\t});\n\n\tconst body = itemCodes && {\n\t\titemCodes: itemCodes,\n\t\tcompanyId: companyId || '',\n\t\tcustomerId: customerId || '',\n\t\tprojectId: projectId || '',\n\t\twarehouseId: warehouseId || '',\n\t\tdesiredDeliveryDate: desiredDeliveryDate || '',\n\t\treadThroughCache: true,\n\t\tincludeTotal: includeTotal,\n\t};\n\n\tconst dataHash = JSON.stringify(body);\n\n\ttry {\n\t\tconst result = await Axios({\n\t\t\turl: `${url}`,\n\t\t\tmethod: 'post',\n\t\t\tdata: body,\n\t\t\tdataHash: dataHash,\n\t\t\theaders: {\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t});\n\n\t\treturn result.data || null;\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn null;\n\t}\n};\n\nexport const fetchArticleDetail = async (url) => {\n\tif (process.env.NODE_ENV === 'development' && url) {\n\t\turl = `http://localhost:4000${url}`;\n\t}\n\ttry {\n\t\tconst result = await Axios({\n\t\t\turl: `${url}`,\n\t\t\tmethod: 'get',\n\t\t\theaders: {\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t});\n\n\t\treturn result.data || null;\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn null;\n\t}\n};\n\nexport const trackClick = (url, trackObject) => {\n\tlet query = '';\n\tObject.keys(trackObject).forEach((key, i) => {\n\t\tquery += `${key}=${trackObject[key]}&`;\n\t});\n\tconst request = `${url}?${query}`;\n\n\taxios.post(request).catch((error) => {});\n};\n","// eslint-disable-next-line\nimport { useState, useContext, useEffect, useRef } from 'react';\nimport {\n\tuseFilterSearch,\n\tusePressRelease,\n\tusePriceStockDetail,\n\ttrackClick,\n} from './general.js';\nimport { cancelPricingRequest, cancelToken } from 'store/api/cartApi';\n\nimport { useAutoComplete } from './autocomplete.js';\nimport { useLogin } from './login.js';\n\nimport axios, { Method } from 'axios';\n\nconst useFetch = ({\n\turl,\n\tdata = {},\n\tmethod = 'get',\n\tresponseDefault = null,\n\tpreventRequest = false,\n\theaders = {},\n\tdisableCancel = false,\n\tdataHash,\n}: {\n\turl: string;\n\tdata: any;\n\tmethod: Method;\n\tresponseDefault: null;\n\tpreventRequest: boolean;\n\theaders: {};\n\tdisableCancel: boolean;\n\tdataHash: string;\n}) => {\n\tconst [response, setResponse] = useState(responseDefault);\n\tconst [error, setError] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (preventRequest) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Cancel previous ongoing pricing request\n\t\tif (!disableCancel) {\n\t\t\tcancelPricingRequest();\n\t\t}\n\t\tsetLoading(true);\n\n\t\taxios({\n\t\t\tmethod,\n\t\t\turl,\n\t\t\tdata,\n\t\t\tcancelToken: cancelToken?.token,\n\t\t\theaders: {\n\t\t\t\t...headers,\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t})\n\t\t\t.then(({ data }) => {\n\t\t\t\tsetLoading(false);\n\t\t\t\tsetResponse(data);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tsetError(error);\n\t\t\t\tif (!axios.isCancel) {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t// eslint-disable-next-line\n\t}, [url, dataHash]);\n\treturn [response, error, loading];\n};\n\nexport {\n\tuseFetch,\n\tuseFilterSearch,\n\tusePressRelease,\n\tusePriceStockDetail,\n\tuseLogin,\n\ttrackClick,\n\tuseAutoComplete,\n};\n","import { FilterState, FilterStateAction } from 'types/filter-types';\n\nexport const listFilterReducer = (\n\tstate: FilterState,\n\taction: FilterStateAction\n) => {\n\tswitch (action.type) {\n\t\tcase 'SET_STATE':\n\t\t\treturn action.payload;\n\t\tcase 'SORT_BY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsortBy: action.sortBy,\n\t\t\t\tsortDir: action.sortDir,\n\t\t\t\tcurrentPage: 1,\n\t\t\t} as FilterState;\n\t\tcase 'DISPLAY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tdisplay: action.display,\n\t\t\t\tcurrentPage: 1,\n\t\t\t} as FilterState;\n\t\tcase 'CURRENT_PAGE':\n\t\t\treturn { ...state, currentPage: action.currentPage } as FilterState;\n\t\tcase 'QUERY':\n\t\t\treturn { ...state, query: action.query, currentPage: 1 } as FilterState;\n\t\tcase 'FACETS':\n\t\t\treturn action.currentPage\n\t\t\t\t? ({\n\t\t\t\t\t\t...state,\n\t\t\t\t\t\tfacets: action.facets,\n\t\t\t\t\t\tcurrentPage: action.currentPage,\n\t\t\t\t } as FilterState)\n\t\t\t\t: ({ ...state, facets: action.facets } as FilterState);\n\t\tcase 'GROUP':\n\t\t\treturn { ...state, group: action.group } as FilterState;\n\t\tcase 'ARTICLE':\n\t\t\treturn { ...state, article: action.article } as FilterState;\n\n\t\tdefault:\n\t\t\tthrow new Error();\n\t}\n};\n\nexport default listFilterReducer;\n","import styled from 'styled-components';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { spacing05x } from 'theme/spacings';\nimport { white, black } from 'theme/colors';\nimport { fontFamily, fontWeightBold, fontWeightSlim } from 'theme/typography';\n\nexport const Select = styled.select`\n\tdisplay: none;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: inline-block;\n\t\tborder: none;\n\t\toutline: none;\n\t\tappearance: none;\n\t\tcolor: transparent;\n\t\tbackground-color: transparent;\n\t\tfont-family: ${fontFamily};\n\t\tfont-weight: ${fontWeightBold};\n\t\tfont-size: 1.4rem;\n\t\tline-height: 2rem;\n\t\tmargin: ${spacing05x};\n\t\tcursor: pointer;\n\t\twidth: 100%;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\theight: 100%;\n\t}\n`;\nexport const Option = styled.option`\n\tcolor: ${black};\n\tbackground-color: transparent;\n`;\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\tposition: relative;\n`;\n\nexport const Link = styled.li`\n\tmargin: ${spacing05x};\n\ta {\n\t\tfont-size: 1.4rem;\n\t\tfont-weight: ${fontWeightSlim};\n\t\tline-height: 2rem;\n\t\tcolor: ${black};\n\t\ttext-decoration: none;\n\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\nexport const SelectedValue = styled.p`\n\tcolor: ${white};\n\tbackground-color: transparent;\n\tfont-weight: ${fontWeightBold};\n\tfont-size: 1.4rem;\n\tline-height: 2.2rem;\n\tmargin: ${spacing05x};\n\tdisplay: flex;\n\talign-items: center;\n\tcursor: pointer;\n\tsvg {\n\t\theight: 1.6rem;\n\t\twidth: 1.6rem;\n\t\tline-height: 2rem;\n\t}\n`;\n","import MobileSelect from './MobileSelect';\n\nexport default MobileSelect;\n","/**\n * MobileSelect\n * @module components/MobileSelect\n */\nimport {\n\tSelect,\n\tWrapper,\n\tOption,\n\tLink,\n\tSelectedValue,\n} from './MobileSelect.styles';\nimport { useToggle } from 'hooks';\nimport { FiChevronDown, FiChevronUp } from 'react-icons/fi';\nimport { ChangeEvent, KeyboardEvent } from 'react';\nimport { MouseEvent } from 'react';\nimport clsx from 'clsx';\n\ninterface ItemModel {\n\tvalue?: any;\n\tname: string | number;\n\tid?: string | number;\n}\n\ninterface MobileSelectModel {\n\tid: string;\n\tclassName?: string;\n\tpreselected?: string | number;\n\titems: ItemModel[];\n\tonClick: any;\n\tonChange: any;\n\tqueryBase: string;\n\tisMobile: boolean;\n}\n\n// This component shows a native select if the device has orientation,\n// otherwise show a dropdown for smaller screens.\nconst MobileSelect = (props: MobileSelectModel) => {\n\tconst {\n\t\tid,\n\t\tclassName,\n\t\tpreselected,\n\t\titems,\n\t\tonClick,\n\t\tonChange,\n\t\tqueryBase,\n\t\tisMobile,\n\t} = props;\n\tconst [expanded, toggle, ref] = useToggle(false, true);\n\n\tconst handleChange = (e: ChangeEvent) => {\n\t\tconst value = e.target.value;\n\t\tonChange(e, value);\n\t};\n\n\tconst handleClick = () => {\n\t\ttoggle();\n\n\t\tif (isMobile) {\n\t\t\tref.current.focus();\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst handleLinkClick = (\n\t\te: MouseEvent,\n\t\tid: string | number\n\t) => {\n\t\tonClick(e, id);\n\t\ttoggle();\n\t};\n\n\tconst handleKeyboardNavigation = (e: KeyboardEvent) => {\n\t\tif (e.keyCode === 13) {\n\t\t\ttoggle();\n\t\t\tif (expanded) {\n\t\t\t\tref.current.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleBlur = () => {\n\t\tif (expanded) {\n\t\t\ttoggle();\n\t\t}\n\t};\n\n\tconst value = items && items.find((x) => x.id === preselected);\n\tif (items) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{isMobile && (\n\t\t\t\t\t\n\t\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t{value && value.name}\n\t\t\t\t\t{expanded ? : }\n\t\t\t\t\n\t\t\t\t{!isMobile && (\n\t\t\t\t\t\n\t\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t handleLinkClick(e, item.id ? item.id : '')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexport default MobileSelect;\n","import FilterBar from './FilterBar';\n\nexport default FilterBar;\n","/**\n * FilterBar\n * @module components/FilterBar\n */\n\nimport { useContext, useState, useEffect } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport MobileSelect from 'components/ui/MobileSelect';\nimport clsx from 'clsx';\n\ninterface Props {\n\tdefaultDisplayOption?: number;\n\tdefaultSortByItem: string;\n\tsortByItems: { name: string; id: string }[];\n\tonFilter: Function;\n\tdisplayOptions?: number[];\n\tsortLabel?: string;\n\tsortLabelMobile?: string;\n\tisFilter?: boolean;\n}\n\nconst FilterBar = ({\n\tdefaultDisplayOption,\n\tdefaultSortByItem,\n\tdisplayOptions,\n\tsortByItems,\n\tonFilter,\n\tsortLabel,\n\tsortLabelMobile,\n\tisFilter = false,\n}: Props) => {\n\tconst [isMobile, setIsMobile] = useState(false);\n\tconst [sortBy, setSortBy] = useState(defaultSortByItem);\n\tconst [display, setDisplay] = useState(defaultDisplayOption || []);\n\tconst { t } = useContext(LocalizationContext);\n\n\tconst handleSortChange = (e: any, id: string) => {\n\t\te.preventDefault();\n\t\tsetSortBy(id);\n\t\tonFilter(id, display);\n\t};\n\n\tconst handleDisplayChange = (e: any, value: number) => {\n\t\te.preventDefault();\n\t\tsetDisplay(value);\n\t\tonFilter(sortBy, value);\n\t};\n\n\tuseEffect(() => {\n\t\tif (defaultSortByItem !== sortBy) {\n\t\t\tsetSortBy(defaultSortByItem);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [defaultSortByItem]);\n\n\tuseEffect(() => {\n\t\tif (defaultDisplayOption !== display) {\n\t\t\tsetDisplay(defaultDisplayOption);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [defaultDisplayOption]);\n\n\tuseEffect(() => {\n\t\tconst isDevice = () => {\n\t\t\tif (\n\t\t\t\t/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n\t\t\t\t\tnavigator.userAgent\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\tsetIsMobile(isDevice());\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\t{sortLabel || t('shared/filter/sortarticlesby')}\n\t\t\t\t\t

\n\t\t\t\t\t{sortByItems &&\n\t\t\t\t\t\tsortByItems.map((item: any, i: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\thandleSortChange(e, item.id);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tkey={`sortBy-link-${i}`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{isMobile ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{sortLabelMobile || t('shared/filter/sortby')}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{sortLabelMobile || t('shared/filter/sortby')}\n\t\t\t\t\t\t

\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t{displayOptions && (\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('shared/filter/display')}\n\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t\t{displayOptions &&\n\t\t\t\t\t\t\tdisplayOptions.length > 0 &&\n\t\t\t\t\t\t\tdisplayOptions.map((displayItem: number, i: number) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t handleDisplayChange(e, displayItem)}\n\t\t\t\t\t\t\t\t\t\tkey={`display-link-${i}`}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{displayItem}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{displayOptions && displayOptions.length > 0 && (\n\t\t\t\t
\n\t\t\t\t\t{isMobile ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('shared/filter/display')}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{t('shared/filter/display')}\n\t\t\t\t\t\t

\n\t\t\t\t\t)}\n\t\t\t\t\t ({\n\t\t\t\t\t\t\tname: item,\n\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t}))}\n\t\t\t\t\t\tpreselected={display}\n\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\tonClick={handleDisplayChange}\n\t\t\t\t\t\tonChange={handleDisplayChange}\n\t\t\t\t\t\tqueryBase={'display'}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default FilterBar;\n","import { useEffect, useState } from 'react';\nimport { FilterState } from 'types/filter-types';\n\nexport const usePopState = (state: FilterState) => {\n\tconst [popState, setPopState] = useState(null);\n\tconst stringState = JSON.stringify(state);\n\tuseEffect(() => {\n\t\tconst onChange = (e: any) => {\n\t\t\tif (e.state) {\n\t\t\t\tconst savedState = e.state.sortBy;\n\t\t\t\tsetPopState({\n\t\t\t\t\tsortBy: savedState.sortBy,\n\t\t\t\t\tdisplay: savedState.display,\n\t\t\t\t\tquery: e.state.search,\n\t\t\t\t\tcurrentPage: e.state.page,\n\t\t\t\t\tfacets: savedState.facets,\n\t\t\t\t\tgroup: savedState.group,\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('popstate', onChange);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('popstate', onChange);\n\t\t};\n\t\t//eslint-disable-next-line\n\t}, [stringState]);\n\treturn popState;\n};\n\nexport const useDefaultPopState = (state: FilterState) => {\n\tconst [popState, setPopState] = useState(null);\n\tconst stringState = JSON.stringify(state);\n\tuseEffect(() => {\n\t\tconst onChange = (e: any) => {\n\t\t\tif (e.state) {\n\t\t\t\tsetPopState(e.state);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('popstate', onChange);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('popstate', onChange);\n\t\t};\n\t\t//eslint-disable-next-line\n\t}, [stringState]);\n\treturn popState;\n};\n","/**\n * CategoryList\n * @module components/CategoryList\n */\n\nimport clsx from 'clsx';\n\ninterface Props {\n\t/** Pass an optional className */\n\tclassName?: string;\n\n\tchildren?: any;\n}\n\nconst CategoryList = ({ className, children }: Props): JSX.Element => {\n\treturn
    {children}
;\n};\n\nexport default CategoryList;\n","/**\n * CategoryListItem\n * @module components/CategoryListItem\n */\n\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\nimport { MouseEventHandler } from 'react';\n\ninterface Props {\n\t/** Pass an optional className */\n\tclassName?: string;\n\n\t/** Link text */\n\ttext: string;\n\n\t/** Link url */\n\turl: string;\n\n\t/** Link target */\n\ttarget?: string;\n\n\t/** Pass an optional onClick Function */\n\tonClick?: MouseEventHandler;\n}\n\nconst CategoryListItem = ({\n\tclassName,\n\ttext,\n\turl,\n\ttarget,\n\tonClick = () => {},\n}: Props): JSX.Element => {\n\treturn (\n\t\t
  • \n\t\t\t onClick(e)}\n\t\t\t\tclassName=\"flex items-baseline text-p hover:underline\"\n\t\t\t>\n\t\t\t\t\n\t\t\t\t{text}\n\t\t\t\n\t\t
  • \n\t);\n};\n\nexport default CategoryListItem;\n","import styled, { css } from 'styled-components';\nimport { FiChevronLeft, FiChevronRight } from 'react-icons/fi';\nimport { fontWeightBold } from 'theme/typography';\nimport { black, grey, greyDark, orangeLight } from 'theme/colors';\nimport { spacing05x } from 'theme/spacings';\n\nconst PagerItemCss = css`\n\tdisplay: inline-block;\n\theight: 4.2rem;\n\twidth: 4.2rem;\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder-radius: 10%;\n\ttext-decoration: none;\n\tfont-size: 1.4rem;\n\tfont-weight: ${fontWeightBold};\n\tcolor: ${black};\n`;\n\nconst IconCss = css`\n\tcolor: ${black};\n\tbackground-color: ${grey};\n\tfont-size: 1.8rem;\n`;\n\nexport const PagerList = styled.ol`\n\tlist-style: none;\n\tdisplay: flex;\n\tpadding: 0;\n\tmargin: 0;\n\tposition: relative;\n\tjustify-content: center;\n\t@media (max-width: (width: 42rem)) {\n\t\tjustify-content: space-evenly;\n\t}\n`;\n\nexport const InactiveItemCss = css`\n\tdisplay: inline-block;\n\tmargin: 0 ${spacing05x};\n\tposition: ${({ btn }) =>\n\t\tbtn === 'prev' || btn === 'next' ? 'absolute' : false};\n\tleft: ${({ btn }) => (btn === 'prev' ? '0' : false)};\n\tright: ${({ btn }) => (btn === 'next' ? '0' : false)};\n\t@media (max-width: 49rem) {\n\t\tposition: static;\n\t}\n\t@media (max-width: 33rem) {\n\t\t/* display: ${({ btn }) =>\n\t\t\tbtn === 'prev' || btn === 'next' ? 'inline-block' : 'none'}; */\n\t}\n`;\n\nexport const InactiveItem = styled.li`\n\t${InactiveItemCss}\n`;\n\nexport const PreviousPageIcon = styled(FiChevronLeft)`\n\t${IconCss}\n`;\n\nexport const NextPageIcon = styled(FiChevronRight)`\n\t${IconCss}\n`;\n\nexport const InactiveItemLink = styled.a`\n\t${PagerItemCss}\n background-color: ${grey};\n\n\tcursor: pointer;\n\t&:hover {\n\t\ttext-decoration: underline;\n\t}\n\n\t&:hover {\n\t\tbackground-color: ${({ btn }) =>\n\t\t\tbtn === 'prev' || btn === 'next' ? greyDark : false};\n\t}\n\n\t&:hover ${PreviousPageIcon}, &:hover ${NextPageIcon}{\n\t\tbackground-color: ${greyDark};\n\t}\n`;\n\nexport const ActiveItem = styled.li`\n\tdisplay: inline-block;\n\tpointer-events: none;\n\tmargin: 0 ${spacing05x};\n`;\n\nexport const ActiveItemLink = styled.a`\n ${PagerItemCss}\n border: 0.25rem solid ${orangeLight};\n\tpointer-events: none;\n\n`;\n\nexport const EmptyItem = styled.li`\n\t${InactiveItem}\n ${PagerItemCss}\n margin: 0 ${spacing05x};\n`;\n","/**\n * Pager\n * @module components/Pager\n */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tPagerList,\n\tPreviousPageIcon,\n\tNextPageIcon,\n\tActiveItem,\n\tActiveItemLink,\n\tInactiveItem,\n\tInactiveItemLink,\n\tEmptyItem,\n} from './Pager.styles';\nimport { LocalizationContext } from 'context/localization.context';\n\nclass Pager extends Component {\n\tstatic contextType = LocalizationContext;\n\n\t/**\n\t * Handles page change when a new page is clicked\n\t * @param {Object} e - The event object\n\t */\n\n\thandlePageChange(e, pageNumber) {\n\t\te.preventDefault();\n\n\t\tthis.props.onPageChange(pageNumber);\n\t}\n\n\t/**\n\t * Returns the array of page numbers to display, based on current page\n\t * @returns {Array}\n\t */\n\tgetPageNumbers() {\n\t\tconst { currentPage, nrOfPages } = this.props;\n\t\tlet numbers = [];\n\t\tif (!this.props.isMobile) {\n\t\t\tif (currentPage >= 1) {\n\t\t\t\t// If current is bigger than first\n\t\t\t\tnumbers.push(currentPage);\n\t\t\t}\n\n\t\t\tif (currentPage >= 3) {\n\t\t\t\t// If current is bigger than 3\n\t\t\t\tnumbers.push(currentPage - 1);\n\t\t\t\tnumbers.push(currentPage - 2);\n\t\t\t}\n\n\t\t\tif (currentPage + 2 <= nrOfPages) {\n\t\t\t\t//if current + 2 is bigger than total number of pages\n\t\t\t\tnumbers.push(currentPage + 2);\n\t\t\t\tnumbers.push(currentPage + 1);\n\t\t\t}\n\t\t} else if (nrOfPages < 5) {\n\t\t\t// when all pages fits on the screen add all.\n\t\t\tfor (let index = 0; index < nrOfPages; index++) {\n\t\t\t\tnumbers.push(index + 1);\n\t\t\t}\n\t\t} else {\n\t\t\t// If current is firstPage show 2 and 3\n\t\t\tif (currentPage === 1) {\n\t\t\t\tnumbers.push(currentPage + 1);\n\t\t\t\tnumbers.push(currentPage + 2);\n\t\t\t}\n\t\t\t// If current is bigger than first add current\n\t\t\tif (currentPage >= 1) {\n\t\t\t\tnumbers.push(currentPage);\n\t\t\t}\n\t\t\t// if current is 2 show third.\n\t\t\tif (currentPage === 2) {\n\t\t\t\tnumbers.push(currentPage + 1);\n\t\t\t}\n\t\t\t// If current is third show second.\n\t\t\tif (currentPage === 3) {\n\t\t\t\tnumbers.push(currentPage - 1);\n\t\t\t}\n\t\t\t// If currentPage is last show second and third to last.\n\t\t\tif (currentPage === nrOfPages) {\n\t\t\t\tnumbers.push(currentPage - 1);\n\t\t\t\tnumbers.push(currentPage - 2);\n\t\t\t}\n\t\t\t// If current is second to last show third to last.\n\t\t\tif (currentPage === nrOfPages - 1) {\n\t\t\t\tnumbers.push(currentPage - 1);\n\t\t\t}\n\t\t\t//If current is third to last show second to last.\n\t\t\tif (currentPage === nrOfPages - 2) {\n\t\t\t\tnumbers.push(currentPage + 1);\n\t\t\t}\n\t\t}\n\n\t\tnumbers.sort((a, b) => a - b);\n\t\treturn numbers;\n\t}\n\n\t/**\n\t * Adds link to first page if it doesn't already exist, and '...' if needed\n\t * @param {Array} pageNumbers - Array of page numbers to display\n\t * @param {Array} pages - Array of pagination list elements\n\t */\n\tgetFirstLink(pageNumbers, pages) {\n\t\tconst { currentPage } = this.props;\n\n\t\tif (!pageNumbers.includes(0)) {\n\t\t\tif (currentPage === 1) {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, 1)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t1\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!this.props.isMobile &&\n\t\t\t\tpageNumbers.length > 1 &&\n\t\t\t\t!pageNumbers.includes(2)\n\t\t\t) {\n\t\t\t\tpages.push(...);\n\t\t\t}\n\t\t\tif (this.props.isMobile && currentPage > 3) {\n\t\t\t\tpages.push(...);\n\t\t\t}\n\t\t}\n\n\t\treturn pages;\n\t}\n\n\t/**\n\t * Loops through numbers array and adds JSX element for each number\n\t * @param {Array} pageNumbers - Array of page numbers to display\n\t * @param {Array} pages - Array of pagination list elements\n\t */\n\tgetLinks(pageNumbers, pages) {\n\t\tconst { currentPage } = this.props;\n\n\t\tpageNumbers.forEach(number => {\n\t\t\tif (number === 1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (currentPage === number) {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, number)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{number}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, number)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{number}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\treturn pages;\n\t}\n\n\t/**\n\t * Adds link to last page if it doesn't already exist, and '...' if needed\n\t * @param {Array} pageNumbers - Array of page numbers to display\n\t * @param {Array} pages - Array of pagination list elements\n\t */\n\tgetLastLink(pageNumbers, pages) {\n\t\tconst { nrOfPages, currentPage, isMobile } = this.props;\n\n\t\tif (!pageNumbers.includes(nrOfPages)) {\n\t\t\tif (!isMobile && !pageNumbers.includes(nrOfPages - 1)) {\n\t\t\t\tpages.push(...);\n\t\t\t}\n\t\t\tif (isMobile && currentPage < nrOfPages - 2) {\n\t\t\t\tpages.push(...);\n\t\t\t}\n\n\t\t\tif (currentPage === nrOfPages) {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, nrOfPages)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{nrOfPages}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpages.push(\n\t\t\t\t\t\n\t\t\t\t\t\t this.handlePageChange(e, nrOfPages)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{nrOfPages}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn pages;\n\t}\n\n\t/**\n\t * Gets JSX for all page numbers\n\t * @param {Array} pageNumbers - The page numbers to render\n\t * @param {Array} pages - Array of pagination links (JSX)\n\t */\n\tgetPageLinks(pageNumbers, pages) {\n\t\tpages = this.getFirstLink(pageNumbers, pages);\n\t\tpages = this.getLinks(pageNumbers, pages);\n\t\tpages = this.getLastLink(pageNumbers, pages);\n\n\t\treturn pages;\n\t}\n\n\t/**\n\t * Returns a Pagination button for next/previous behavior\n\t * @param {JSX} content - Content to render inside link\n\t * @param {String} pageNumber - Page number to go to\n\t * @param {String} key - Element key\n\t * @param {String} title - Title to make link accessible\n\t * @returns {JSX}\n\t */\n\tgetPagerBtn(content, pageNumber, key, title) {\n\t\treturn (\n\t\t\t\n\t\t\t\t this.handlePageChange(e, pageNumber)}\n\t\t\t\t\taria-label={title}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\t/**\n\t * Renders the pagination\n\t * @param {Array} pageNumbers - Array of page numbers to render\n\t */\n\trenderPagination(pageNumbers) {\n\t\tconst { t } = this.context;\n\n\t\tconst { nrOfPages, currentPage } = this.props;\n\n\t\tconst shouldRenderPreviousBtn = currentPage !== 1;\n\n\t\tconst shouldRenderNextBtn = currentPage < nrOfPages;\n\n\t\tlet pages = [];\n\n\t\tif (shouldRenderPreviousBtn) {\n\t\t\tpages.push(\n\t\t\t\tthis.getPagerBtn(\n\t\t\t\t\t,\n\t\t\t\t\tcurrentPage - 1,\n\t\t\t\t\t'prev',\n\t\t\t\t\tt('shared/pager/previouspage')\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tpages = this.getPageLinks(pageNumbers, pages);\n\n\t\tif (shouldRenderNextBtn) {\n\t\t\tpages.push(\n\t\t\t\tthis.getPagerBtn(\n\t\t\t\t\t,\n\t\t\t\t\tcurrentPage + 1,\n\t\t\t\t\t'next',\n\t\t\t\t\tt('shared/pager/nextpage')\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn pages;\n\t}\n\n\trender() {\n\t\tconst pageNumbers = this.getPageNumbers();\n\t\tconst { t } = this.context;\n\t\tconst { total } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t{total > 0 && (\n\t\t\t\t\t{this.renderPagination(pageNumbers)}\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n\nPager.propTypes = {\n\tnrOfPages: PropTypes.number,\n\tcurrentPage: PropTypes.number,\n\tonPageChange: PropTypes.func,\n};\n\nexport default Pager;\n","/**\n * Tooltip\n * @module components/Tooltip\n */\n\nimport { useRef, useState, useEffect } from 'react';\nimport { Button, Icon, Popout } from './Tooltip.styles';\n\nlet buttonRefRef: HTMLButtonElement;\n\ninterface ToolTipModel {\n\tchildren: JSX.Element | JSX.Element[] | string;\n\ttitle?: string;\n\ticon?: any;\n\thover?: boolean;\n\tnoPadding?: boolean;\n}\n\nconst Tooltip = ({\n\tchildren,\n\ttitle,\n\ticon,\n\thover = false,\n\tnoPadding,\n}: ToolTipModel) => {\n\tconst buttonRef = useRef(null);\n\tconst popoutRef = useRef(null);\n\tconst [expanded, setExpanded] = useState(false);\n\n\tconst handleClickOutside = (e: any) => {\n\t\tif (buttonRef.current && !buttonRef.current.contains(e.target)) {\n\t\t\tsetExpanded(false);\n\t\t}\n\t};\n\n\tconst handleKeyPress = (e: KeyboardEvent) => {\n\t\tif ((e.keyCode || e.which) === 27) {\n\t\t\tsetExpanded(false);\n\t\t}\n\t};\n\n\tconst handleBlur = () => {\n\t\tsetExpanded(false);\n\t};\n\n\tconst handleTouchStart = () => {\n\t\tdocument.addEventListener('touchend', handleTouchEnd);\n\t};\n\n\tconst handleTouchEnd = () => {\n\t\tdocument.removeEventListener('touchend', handleTouchEnd);\n\t\tsetExpanded(false);\n\t};\n\n\tconst handleTouchMove = () => {\n\t\tdocument.removeEventListener('touchend', handleTouchEnd);\n\t};\n\n\tuseEffect(() => {\n\t\tif (buttonRef.current) {\n\t\t\tbuttonRefRef = buttonRef.current;\n\t\t\tbuttonRefRef.addEventListener('blur', handleBlur);\n\t\t}\n\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\tdocument.addEventListener('keydown', handleKeyPress);\n\t\tdocument.addEventListener('touchstart', handleTouchStart);\n\t\tdocument.addEventListener('touchmove', handleTouchMove);\n\t\treturn () => {\n\t\t\tif (buttonRefRef && buttonRefRef.removeEventListener) {\n\t\t\t\tbuttonRefRef.removeEventListener('blur', handleBlur);\n\t\t\t}\n\t\t\tdocument.removeEventListener('mousedown', handleClickOutside);\n\t\t\tdocument.removeEventListener('keydown', handleKeyPress);\n\t\t\tdocument.removeEventListener('touchstart', handleTouchStart);\n\t\t\tdocument.removeEventListener('touchmove', handleTouchMove);\n\t\t};\n\t});\n\n\t// Makes sure the tooltip is within view\n\tuseEffect(() => {\n\t\tif (window && expanded && popoutRef && popoutRef.current) {\n\t\t\tlet bounding = popoutRef.current.getBoundingClientRect();\n\t\t\tlet viewportWidth =\n\t\t\t\twindow.innerWidth || document.documentElement.clientWidth;\n\n\t\t\tif (bounding.right > viewportWidth) {\n\t\t\t\tpopoutRef.current.style.whiteSpace = 'normal';\n\t\t\t\tpopoutRef.current.style.minWidth = '320px';\n\t\t\t\tpopoutRef.current.style.left = `-110px`;\n\t\t\t}\n\t\t}\n\t}, [expanded]);\n\n\tconst openTooltip = () => {\n\t\tif (expanded) {\n\t\t\tsetExpanded(false);\n\t\t}\n\n\t\twindow.setTimeout(() => {\n\t\t\tsetExpanded(true);\n\t\t}, 100);\n\t};\n\n\treturn (\n\t\t\n\t\t\t{children && (\n\t\t\t\t hover && setExpanded(true)}\n\t\t\t\t\tonMouseOut={() => hover && setExpanded(false)}\n\t\t\t\t\tonClick={openTooltip}\n\t\t\t\t\tref={buttonRef}\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t>\n\t\t\t\t\t{icon ? icon : }\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{expanded && children && (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Tooltip;\n","import { ArticleModel } from './article';\n\nexport interface LinkModel {\n\timageGallery?: any;\n\ttext: string;\n\tlink: string;\n\tname?: string;\n\ttarget?: string;\n\tlinkType?: 'Document' | 'Arrow';\n\tcolor?: string;\n}\n\nexport interface CertificatesItem {\n\ticon: string;\n\tlink: string;\n\ttext: string;\n}\n\nexport interface ExtendedLinkModel extends LinkModel {\n\tactive?: boolean;\n\tid?: number;\n\tisLink?: boolean;\n}\n\nexport type ImageType = 'Image' | 'Video';\n\nexport interface ImageModel {\n\tsrc?: string;\n\talt?: string;\n\tsizes?: string[];\n\twebpSizes?: string[];\n\tthumbnail?: string;\n\ttype?: ImageType;\n\tisMain?: boolean;\n\ttext?: string;\n}\n\nexport interface VideoModel {\n\tlink: string;\n\tautoplay: boolean;\n}\n\nexport interface MediaModel {\n\tvideo?: VideoModel;\n\tvideoPreference?: VideoPreferenceTypes;\n\ttype?: string;\n\timage?: ImageModel;\n\timageLink?: string;\n\timageLinkTarget?: string;\n\timagePreference?: ImagePreferenceTypes;\n\tvideoPosterImage?: string;\n\timageGallery?: any;\n}\n\nexport interface MediaGalleryItemModel {\n\ttype: 'Image' | 'Video' | '3DConfig';\n\tisMain?: boolean;\n\tsrc: string;\n\tid?: string;\n\turl?: string;\n\talt?: string;\n\tsizes: string[];\n\tkeyValues?: Array>;\n\ttitle?: string;\n\twebpSizes: string[];\n\tthumbnail?: string;\n}\n\nexport type BackgroundColorTypes =\n\t| 'blue'\n\t| 'blueLight'\n\t| 'white'\n\t| 'greyLight'\n\t| 'orange'\n\t| 'transparent';\n\nexport type ImagePreferenceTypes =\n\t| 'imageLeft'\n\t| 'imageRight'\n\t| 'imageLeftOutsideBlock'\n\t| 'imageRightOutsideBlock'\n\t| 'fullWidthBackgroundImage'\n\t| 'fullWidthBackgroundImageFullHeight';\n\nexport type VideoPreferenceTypes = 'videoLeft' | 'videoRight' | 'videoFull';\n\nexport interface BreadCrumbsModel {\n\tlink: string;\n\ttext: string;\n}\n\nexport interface PaginationModel {\n\ttotal?: number;\n\tdisplay?: number;\n\tcurrentPage?: number;\n\tpageCount?: number;\n}\n\nexport interface SearchDocumentModel {\n\tname: string;\n\tentryName: string;\n\ttype: string;\n\tsize: string;\n\tformat: string;\n\tdownloadLink: string;\n}\n\nexport interface DocumentModel {\n\ttext: string;\n\tlink: string;\n\ttype: 'document' | 'download' | 'external-link' | 'internal-link' | 'video';\n}\n\nexport interface ErrorObjectModel {\n\terrorCode: number;\n\tmessage: string;\n}\n\nexport enum HighlightColor {\n\torange = 'orange',\n\tblue = 'blue',\n}\n\nexport interface Hightlight {\n\ttext: string;\n\tcolor: HighlightColor;\n}\n\nexport type ButtonColorTypes =\n\t| 'blue'\n\t| 'orange'\n\t| 'green'\n\t| 'white'\n\t| 'grey'\n\t| 'greyDark'\n\t| 'greyDarker'\n\t| 'greyDarkest';\n\nexport interface ContactModel {\n\tname: string;\n\trole: string;\n\temail: string;\n\tphone: string;\n\timage: ImageModel;\n\tproductAreaList: string;\n}\n\nexport interface CategoryModel {\n\tregion: string;\n\tcity: string;\n\tlocationType: string;\n}\n\nexport type AjaxMethodTypes = 'POST' | 'GET' | 'PATCH' | 'DELETE';\n\nexport interface NotesModel {\n\tgoodsMarking: string;\n\tcomments: string;\n}\n\nexport interface CustomerModel {\n\tid: string;\n\texternId: string;\n\tname: string;\n\tselected: boolean;\n}\n\nexport interface WarehouseModel {\n\tid: string;\n\texternId: string;\n\tname: string;\n\tselected: boolean;\n}\n\nexport interface ProjectModel {\n\tid: string;\n\tname: string;\n\tselected: boolean;\n}\n\nexport interface DeliveryAddressModel {\n\taddressId: string;\n\tname: string;\n\tcountryName: string;\n\tcountryCode: string;\n\tcity: string;\n\tpostalCode: string;\n\tstreet: string;\n\torganizationId: string;\n\tisEditable: boolean;\n\tselected: boolean;\n}\n\nexport interface UserObjectModel {\n\tcustomers: CustomerModel[];\n\tprojects?: ProjectModel[];\n\twarehouses?: WarehouseModel[];\n\tsalesUser?: boolean;\n\ttypes?: UserTypeModel[];\n}\n\nexport interface UserTypeModel {\n\tid: string;\n\textenalId: string;\n\tname: string;\n\tselected: boolean;\n}\n\nexport interface ShipmentModel {\n\tshipDate?: string;\n\tshipDateFormatted?: string;\n\tshipDateChanged?: boolean;\n\tarticleList: ArticleModel[];\n}\n\nexport interface SingleShipmentModel {\n\tselectedSort?: string;\n\tselectedDeliveryMethod?: string;\n\tselectedLocation?: string;\n\tselectedDesiredDate?: string;\n\tsingleShipment?: boolean;\n}\n\nexport interface AddNotesModel {\n\titemCode: string;\n\tlineItemId: number;\n\tgoodsMarking?: string;\n\tcomments?: string;\n}\n\nexport interface CheckoutReqestDataModel {\n\taddress: {\n\t\taddressId: string;\n\t\tname: string;\n\t\tcountryName: string;\n\t\tcountryCode: string;\n\t\tcity: string;\n\t\tpostalCode: string;\n\t\tstreet: string;\n\t\torganizationId: string;\n\t\tsave?: boolean;\n\t};\n\tgoodsReceptionContactName: string;\n\tgoodsReceptionPhoneNumber: string;\n\tresponsiblePersonId: string;\n\tcustomerRequisition: string;\n\tprojectName: string;\n\tprojectNumber: string;\n\tcomment: string;\n}\n\nexport interface LocationRowModel {\n\tcategories: CategoryModel;\n\tcity: string;\n\tcontacts: ContactModel[];\n\thighlightedContacts: ContactModel[];\n\temail: string;\n\temailTooltip?: string;\n\temail2?: string;\n\temail2Tooltip?: string;\n\tmapImageUrl: string;\n\tmapLinkUrl: string;\n\topeningHours: string;\n\tphone: string;\n\tphoneTooltip?: string;\n\tphone2?: string;\n\tphone2Tooltip?: string;\n\tphone3?: string;\n\tphone3Tooltip?: string;\n\tstreetAddress: string;\n\ttitle: string;\n\ttrackClick: (hitId: string, trackId: string) => void;\n\twebsite: string;\n\twebsiteTooltip?: string;\n\tquery: string;\n\tmilkRun: string;\n\thitId: string;\n\ttrackId: string;\n}\n\nexport interface SpecificationsModel {\n\tdictionary: DictionaryModel;\n\tcolors?: Array<{\n\t\tcolorName: string;\n\t\tncs: string;\n\t\tral: string;\n\t\timage: {\n\t\t\tsrc: string;\n\t\t\talt: string;\n\t\t};\n\t}>;\n}\n\nexport interface DictionaryModel {\n\t[key: string]: string;\n}\n\nexport interface FieldChangeModel {\n\tname: string;\n\tvalue: string;\n\ttype?: string;\n\tautoSubmit: boolean;\n}\n\nexport interface FieldGeneralPropsModel {\n\trequired?: boolean;\n\tlabel?: string;\n\tid: string;\n\ttype?: string;\n\tvalidationMessage?: string;\n\tmultiple?: string | boolean;\n}\n\nexport interface FieldPropsModel extends FieldGeneralPropsModel {\n\tpattern?: string;\n\tpatternMessage?: string;\n\tsingle?: boolean;\n\tmin?: number;\n\tmax?: number;\n\trangeMessage?: string;\n}\n\nexport interface ConfSelectModel {\n\tname: string;\n\tid: string;\n\ttype: 'select';\n\tvalue: string;\n\toptions: Array<{\n\t\tname: string;\n\t\tvalue: string;\n\t}>;\n\tdisabled: boolean;\n}\n\nexport interface ConfNumberModel {\n\tname: string;\n\tid: string;\n\ttype: 'number';\n\tvalue: string;\n\tminValue: string;\n\tmaxValue: string;\n\tdisabled: boolean;\n}\n\nexport interface ConfTextModel {\n\tname: string;\n\tid: string;\n\ttype: 'text';\n\tvalue: string;\n\tdisabled?: boolean;\n}\n\nexport interface MegaMenuModel {\n\titems: MegaMenuItemModel[];\n}\n\nexport interface MegaMenuItemModel {\n\tlink: string;\n\ttext: string;\n\tactive: boolean;\n\tisLink: boolean;\n\tisBlock?: boolean;\n\ttarget?: string;\n\tchildren?: MegaMenuItemModel[];\n}\n\nexport enum FilterFacets {\n\tREGION = 'region',\n\tLOCATION_TYPE = 'locationType',\n}\n\nexport enum ContactPageTheme {\n\tVERSION_1 = 'v1',\n\tVERSION_2 = 'v2',\n}\n","import Pager from './Pager';\n\nexport default Pager;\n","/**\n * ProductCategoryPage\n * @module pages/ProductCategoryPage\n */\n\nimport React, {\n\tuseState,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseReducer,\n} from 'react';\nimport Layout from 'components/ui/Layout';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { renderElementBasedOnEditMode, scrollToTop } from 'common/helpers';\n\nimport {\n\tPreamble,\n\tRichText,\n\tLinkButton,\n\tInputField,\n} from './ProductCategoryPage.styles';\n\nimport { Paragraph } from 'components/ui/Typography';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport ImageBlock from 'components/framework/ImageBlock';\nimport ContentArea from 'components/framework/ContentArea';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useFilterSearch } from 'api';\nimport { useMedia } from 'hooks';\nimport { composeQueryString, setUrlLocation } from 'common/helpers';\nimport listFilterReducer from 'reducers/listFilterReducer';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport FilterBar from 'components/ui/FilterBar';\nimport { usePopState } from 'hooks/usePopState';\nimport {\n\tCategoryList,\n\tCategoryListItem,\n} from 'components/framework/CategoryList';\nimport Icon from 'components/ui/Icon';\nimport Pager from 'components/ui/Pager';\n\nconst ProductCategoryPage = ({\n\tpagination,\n\tproducts,\n\tbreadcrumbs,\n\theading,\n\tpreamble,\n\ttext,\n\tlinks,\n\tfilter,\n\tsubcategories,\n\tisInEditMode,\n\tcontentArea,\n\tframework,\n\tmainContentArea,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\t// Handle filter, query and pagination.\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tdisplay: pagination.display,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t});\n\n\tconst [query, setQuery] = useState(null);\n\tconst [response, error, loading] = useFilterSearch(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null\n\t);\n\n\tconst isMobile = useMedia('(max-width: 490px)');\n\n\tconst didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = usePopState(state);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tdispatch({ type: 'SET_STATE', payload: popState });\n\t\t\tpreventHistoryEntry.current = true;\n\t\t}\n\t}, [popState, popStateString]);\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\n\t\tsetUrlLocation(\n\t\t\tqueryString,\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\thasRendered,\n\t\t\tpreventHistoryEntry.current\n\t\t);\n\t\tif (preventHistoryEntry.current) {\n\t\t\tpreventHistoryEntry.current = !preventHistoryEntry.current;\n\t\t}\n\t}, [state]);\n\n\tconst handleFilterRequest = (sortBy, display) => {\n\t\tdispatch({ type: 'SORT_BY', sortBy: sortBy });\n\t\tdispatch({ type: 'DISPLAY', display: display });\n\t};\n\n\tconst handleSearch = (value) => {\n\t\tif (state.query !== value) {\n\t\t\tdispatch({ type: 'QUERY', query: value });\n\t\t}\n\t};\n\n\tconst handlePagination = (value) => {\n\t\tscrollToTop();\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value });\n\t};\n\n\tconst paginationObject = response.pagination || pagination;\n\n\tconst productsArray = response.products || products;\n\n\tuseEffect(() => {\n\t\tif (productsArray.length > 0 && window.dataLayer) {\n\t\t\tlet items = [];\n\n\t\t\tproductsArray.map((art) => {\n\t\t\t\treturn items.push({\n\t\t\t\t\titem_name: art.name,\n\t\t\t\t\titem_id: art.id,\n\t\t\t\t\titem_category: breadcrumbs[1]?.text,\n\t\t\t\t\titem_category2: breadcrumbs[2]?.text,\n\t\t\t\t\tquantity: 1,\n\t\t\t\t});\n\t\t\t});\n\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'view_item_list',\n\t\t\t\tdomain: framework.header.activeMarket,\n\t\t\t\tecommerce: {\n\t\t\t\t\titems: items,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [productsArray]);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-2 font-regular text-h2 md:mt-8 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\n\t\t\t\t{preamble &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\tPreamble,\n\t\t\t\t\t\t{ size: 'large' },\n\t\t\t\t\t\tpreamble\n\t\t\t\t\t)}\n\n\t\t\t\t{text && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{links && links.length > 0 && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{links.map((item, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{subcategories && subcategories.length > 0 && (\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{t('productcategorypage/subcategories')}\n\t\t\t\t\t\t

    \n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t{subcategories?.map((item, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{t('shared/filter/errormessage')}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t{loading && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t{productsArray && !loading && !error && productsArray.length > 0\n\t\t\t\t\t\t? productsArray.map((item) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t ))\n\t\t\t\t\t\t: !error &&\n\t\t\t\t\t\t !loading && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{t('shared/filter/noresultmessage')}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t )}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\nexport default ProductCategoryPage;\n","import ProductCategoryPage from './ProductCategoryPage';\n\nexport default ProductCategoryPage;\n","import styled from 'styled-components';\nimport { grey, black, blue, orange, white } from 'theme/colors';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport { FiBox, FiPlay, FiZoomIn } from 'react-icons/fi';\nimport { deviceMediumMax } from 'theme/mediaQueries';\n\ntype Overlay = 'Video' | 'Image' | '3DConfig';\n\ninterface PlayIconProps {\n\ticonsize: 'small' | 'medium' | 'large'; // Define the possible values for iconsize\n}\ninterface BoxIconProps {\n\ticonsize: 'small' | 'medium' | 'large'; // Define the possible values for iconsize\n}\n\ninterface ButtonProps {\n\toverlay?: Overlay;\n\tisIframe?: boolean;\n}\n\ninterface ThumbnailWrapperProps {\n\tisActive?: boolean;\n\toverlay?: Overlay;\n}\n\ninterface ViewWrapperProps {\n\tiframe3d?: boolean;\n\toverlay?: Overlay;\n}\n\n/* MediaThumbnail */\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n`;\n\nexport const ThumbnailWrapper = styled.a`\n\tposition: relative;\n\theight: 6rem;\n\twidth: 10.3rem;\n\toutline: 0.2rem solid ${({ isActive }) => (isActive ? orange : grey)};\n\tdisplay: inline-block;\n\tmargin-right: ${spacing2x};\n\tmargin-bottom: ${spacing1x};\n\tbackground-color: transparent;\n\ttransition: all 0.25s ease-out;\n\tcursor: pointer;\n\toverflow: hidden;\n\n\t:focus {\n\t\toutline: 0.2rem solid ${blue};\n\t}\n\n\t:active {\n\t\toutline: none;\n\t}\n\n\t:hover {\n\t\toutline: 0.2rem solid ${blue};\n\t}\n\n\t@media (max-width: ${deviceMediumMax}) {\n\t\theight: 5.4rem;\n\t\twidth: 8.6rem;\n\t\tmargin-right: ${spacing1x};\n\t}\n\t${({ overlay }) =>\n\t\t(overlay === 'Video' || overlay === '3DConfig') &&\n\t\t`\n\t:after {\n\t\tcontent: ' ';\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tleft: 0; \n\t\tright 0;\n\t\tbackground-color: rgba(0, 0, 0, 0.25);\n\t}\n\t`}\n`;\nexport const VideoThumbnail = styled.div`\n\tdisplay: inline-block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: ${black};\n\topacity: 0.15;\n\tposition: relative;\n`;\n\nexport const ToggleWrapper = styled.button`\n\tfont-size: 1.6rem;\n\tcolor: ${blue};\n\theight: 6.4rem;\n\twidth: 10.3rem;\n\tdisplay: inline-block;\n\toutline: none;\n\tbackground-color: transparent;\n\tborder: none;\n\tcursor: pointer;\n\tmargin-bottom: 1rem;\n\n\t:focus {\n\t\ttext-decoration: underline;\n\t}\n\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n`;\n\n/* MediaView */\n\nexport const ViewWrapper = styled.div`\n\twidth: 100%;\n\t${({ iframe3d }) =>\n\t\tiframe3d &&\n\t\t`\n height: 548px;\n `}\n\tborder: 0.2rem solid ${grey};\n\tposition: relative;\n\tmargin-bottom: ${spacing2x};\n\toverflow: hidden;\n`;\n\nexport const ZoomInIcon = styled(FiZoomIn)`\n\tposition: absolute;\n\tright: 1.6rem;\n\tbottom: 1.6rem;\n\tcolor: ${black};\n\tfont-size: 2.4rem;\n\topacity: 0.25;\n`;\n\nexport const Button = styled.button`\n\tcursor: pointer;\n\tbackground-color: transparent;\n\tborder: none;\n\tpadding: 0;\n\n\t:after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\tbackground-color: ${({ overlay }) =>\n\t\t\t(overlay === 'Video' || overlay === '3DConfig') && 'rgba(0, 0, 0, 0.25)'};\n\t}\n\t:focus svg {\n\t\toutline: 0.2rem solid ${blue};\n\t}\n`;\n\n/* MediaModal */\n\nexport const VideoModal = styled(VideoThumbnail)``;\n\nexport const Image = styled.img`\n\twidth: 100%;\n\tobject-fit: cover;\n\tfont-family: 'object-fit: cover;';\n\n\t:focus {\n\t\toutline: none;\n\t}\n`;\nexport const PlayIcon = styled(FiPlay)`\n\tposition: absolute;\n\tz-index: 100;\n\tcolor: ${white};\n\topacity: 0.75;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n\tfont-size: ${({ iconsize }) =>\n\t\ticonsize === 'large' ? '8rem' : iconsize === 'medium' ? '5rem' : '2rem'};\n\t:hover {\n\t\topacity: 1;\n\t}\n`;\n\nexport const BoxIcon = styled(FiBox)`\n\tposition: absolute;\n\tz-index: 100;\n\tcolor: ${white};\n\topacity: 0.75;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n\tfont-size: ${({ iconsize }) =>\n\t\ticonsize === 'large' ? '8rem' : iconsize === 'medium' ? '5rem' : '2rem'};\n\t:hover {\n\t\topacity: 1;\n\t}\n`;\n","/**\n * MediaThumbnail\n * @module components/MediaThumbnail\n */\n\nimport { useContext, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport {\n\tThumbnailWrapper,\n\tImage,\n\tToggleWrapper,\n\tWrapper,\n\tPlayIcon,\n\tBoxIcon,\n} from './MediaGallery.styles';\nimport { MediaGalleryItemModel } from 'types/common';\n\nexport interface MediaThumbnailProps {\n\titems: MediaGalleryItemModel[];\n\trenderMediaView: any;\n\tactiveItem: MediaGalleryItemModel;\n}\n\nconst MediaThumbnail = ({ items, renderMediaView }: MediaThumbnailProps) => {\n\tconst [showMore, setShowMore] = useState(false);\n\tconst [activeIndex, setActiveIndex] = useState(0);\n\tconst { t } = useContext(LocalizationContext as any);\n\tconst totalItems = items.length;\n\tconst nrOfhiddenItems = totalItems - 4;\n\tlet hiddenItemsArray = [];\n\n\tif (nrOfhiddenItems > 0) {\n\t\tfor (var i = 4; i < totalItems; i++) {\n\t\t\thiddenItemsArray.push(items[i]);\n\t\t}\n\t}\n\n\tconst sortedItems = items.reduce((acc, item) => {\n\t\tif (item.type === '3DConfig') {\n\t\t\treturn [item, ...acc]; // Add 3DConfig item first\n\t\t}\n\t\treturn [...acc, item]; // Add other items to the end\n\t}, [] as MediaGalleryItemModel[]);\n\n\tconst renderThumbnail = (item: MediaGalleryItemModel, i: number) => {\n\t\treturn (\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetActiveIndex(i);\n\t\t\t\t\trenderMediaView(item);\n\t\t\t\t}}\n\t\t\t\thref=\"#\"\n\t\t\t\toverlay={item?.type}\n\t\t\t>\n\t\t\t\t{item.thumbnail && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{item.type === 'Video' && }\n\t\t\t\t{item.type === '3DConfig' && }\n\t\t\t\n\t\t);\n\t};\n\n\tconst toggleHiddenItems = () => {\n\t\tsetShowMore(!showMore);\n\t};\n\n\treturn (\n\t\t\n\t\t\t{sortedItems.map((item, i) => {\n\t\t\t\treturn i < 4 && renderThumbnail(item, i);\n\t\t\t})}\n\t\t\t{showMore &&\n\t\t\t\thiddenItemsArray.map((item, i) => {\n\t\t\t\t\treturn renderThumbnail(item, i + 4);\n\t\t\t\t})}\n\t\t\t{nrOfhiddenItems > 0 && (\n\t\t\t\t\n\t\t\t\t\t{!showMore\n\t\t\t\t\t\t? `+ ${nrOfhiddenItems} ${t('shared/mediagallery/showmore')}`\n\t\t\t\t\t\t: t('shared/mediagallery/showless')}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default MediaThumbnail;\n","/**\n * MediaView\n * @module components/MediaView\n */\n\nimport { SetStateAction, useContext, useEffect, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { MediaGalleryItemModel } from 'types/common';\nimport {\n\tViewWrapper,\n\tImage,\n\tZoomInIcon,\n\tButton,\n\tPlayIcon,\n} from './MediaGallery.styles';\nimport { Dispatch } from 'react';\nimport { useState } from 'react';\n\nexport interface MediaViewProps {\n\tsetAutoplay: Dispatch>;\n\tcurrentValues?: Record;\n\titem: MediaGalleryItemModel;\n\ttoggleModal: () => void;\n}\n\nconst MediaView = ({\n\titem,\n\tcurrentValues,\n\ttoggleModal,\n\tsetAutoplay,\n}: MediaViewProps) => {\n\tconst { t } = useContext(LocalizationContext as any);\n\tconst mediaViewIframeRef = useRef(null);\n\n\tconst [isLoading, setIsLoading] = useState(true); // Initial3d iframe loading state\n\n\tuseEffect(() => {\n\t\tconst handleReadyMessage = (event: MessageEvent) => {\n\t\t\tif (event.data?.ready) {\n\t\t\t\tsetIsLoading(false); // set iframe loading to false\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('message', handleReadyMessage);\n\n\t\t// Cleanup function to remove event listener on unmount\n\t\treturn () => {\n\t\t\twindow.removeEventListener('message', handleReadyMessage);\n\t\t};\n\t}, []);\n\n\tconst handleOnLoad = () => {\n\t\tsetIsLoading(true);\n\t};\n\n\tuseEffect(() => {\n\t\tif (item.type === '3DConfig' && mediaViewIframeRef && !isLoading) {\n\t\t\tconst iframeWindow = mediaViewIframeRef?.current?.contentWindow;\n\t\t\tiframeWindow?.window?.postMessage(\n\t\t\t\tJSON.stringify(currentValues),\n\t\t\t\titem?.url as string\n\t\t\t);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [currentValues, item?.type, mediaViewIframeRef, isLoading]);\n\n\treturn (\n\t\t\n\t\t\t{item.type === '3DConfig' && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{item.type === 'Image' && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{item.type === 'Video' && (\n\t\t\t\t<>\n\t\t\t\t\t{item.alt\n\n\t\t\t\t\t {\n\t\t\t\t\t\t\ttoggleModal();\n\t\t\t\t\t\t\tsetAutoplay(1);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttitle={`${t('shared/mediagallery/openvideoinmodal')}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default MediaView;\n","import { useEffect, useRef } from 'react';\n\nexport const usePortal = () => {\n\tconst portal = useRef(document.createElement('div'));\n\n\tuseEffect(() => {\n\t\tconst current = portal.current;\n\t\tdocument.body.appendChild(portal.current);\n\t\treturn () => void document.body.removeChild(current);\n\t}, []);\n\n\treturn portal;\n};\n\nexport const getFocusableElements = (\n\tparent?: HTMLElement | null\n): HTMLElement[] => {\n\tif (!parent) return [];\n\n\treturn (\n\t\tArray.from(\n\t\t\tparent.querySelectorAll(\n\t\t\t\t'a[href], button, input, textarea, select, details,[tabindex]'\n\t\t\t)\n\t\t)\n\t\t\t.filter(\n\t\t\t\t(el) =>\n\t\t\t\t\tel.getAttribute('tabindex') !== '-1' &&\n\t\t\t\t\t!el.hasAttribute('disabled') &&\n\t\t\t\t\t!el.getAttribute('aria-hidden')\n\t\t\t)\n\t\t\t// sort tabindexes as follows: 1, 2, 3, 4, ..., 0, 0, 0\n\t\t\t.sort((a, b) => {\n\t\t\t\tconst aIndex = Number(a.getAttribute('tabindex')) ?? 0;\n\t\t\t\tconst bIndex = Number(b.getAttribute('tabindex')) ?? 0;\n\t\t\t\tif (aIndex === bIndex) return 0;\n\t\t\t\tif (aIndex === 0) return 1;\n\t\t\t\tif (bIndex === 0) return -1;\n\t\t\t\treturn aIndex < bIndex ? -1 : 1;\n\t\t\t}) as HTMLElement[]\n\t);\n};\n\nexport const nextFocus = (elements: HTMLElement[], forward = true) => {\n\tconst currentIndex = elements.findIndex((e) => e === document.activeElement);\n\tlet nextIndex = 0;\n\n\tif (currentIndex > -1) {\n\t\tif (forward) {\n\t\t\tnextIndex = currentIndex < elements.length - 1 ? currentIndex + 1 : 0;\n\t\t} else {\n\t\t\tnextIndex = currentIndex > 0 ? currentIndex - 1 : elements.length - 1;\n\t\t}\n\t}\n\n\telements[nextIndex]?.focus();\n};\n","import classNames from 'classnames';\nimport React, { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { getFocusableElements, nextFocus, usePortal } from './utils';\n\nconst Frame: React.FC<{\n\tcloseOnClickOutside?: boolean;\n\tcloseOnEsc?: boolean;\n\tonClose: () => void;\n\topen?: boolean;\n}> = ({\n\tchildren,\n\tcloseOnClickOutside = true,\n\tcloseOnEsc = true,\n\tonClose,\n\topen = true,\n}) => {\n\tconst portal = usePortal();\n\tconst previousFocus = useRef(null);\n\n\t// close on click outside\n\tconst container = useRef(null);\n\tconst onOverlayClick = (e: React.MouseEvent) => {\n\t\tif (!container.current?.contains(e.target as Node)) onClose();\n\t};\n\n\t// close on esc\n\tuseEffect(() => {\n\t\tconst onKeyDown = (e: KeyboardEvent) => {\n\t\t\tif (!open) return;\n\n\t\t\tswitch (e.key) {\n\t\t\t\tcase 'Escape': {\n\t\t\t\t\tif (closeOnEsc) onClose();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'Tab': {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tnextFocus(getFocusableElements(container.current), !e.shiftKey);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('keydown', onKeyDown);\n\t\treturn () => window.removeEventListener('keydown', onKeyDown);\n\t}, [closeOnEsc, onClose, open]);\n\n\tuseEffect(() => {\n\t\t// aria-hidden\n\t\tdocument\n\t\t\t.getElementById('root')\n\t\t\t?.setAttribute('aria-hidden', open.toString());\n\t\tportal.current?.setAttribute('aria-hidden', (!open).toString());\n\n\t\tif (open) {\n\t\t\tpreviousFocus.current = (document.activeElement as HTMLElement) ?? null;\n\t\t\tnextFocus(getFocusableElements(container.current));\n\t\t} else {\n\t\t\tpreviousFocus.current?.focus?.();\n\t\t\tpreviousFocus.current = null;\n\t\t}\n\t}, [open, portal]); // note: when importing, eslint doesn't recognise that portal is a ref, so it doesn't need to be in the deps array\n\n\treturn ReactDOM.createPortal(\n\t\t// transparent overlay: `inset-0` to stretch over the entire screen (combines`top-0`, `right-0`, `bottom-0`, and `left-0`)\n\t\t\n\t\t\t{/* container: `max-w-sm` to make it reasonably narrow, `mx-auto` to center horizontally */}\n\t\t\t
    \n\t\t\t\t{/* contents */}\n\t\t\t\t
    \n\t\t\t\t\t{children}\n\t\t\t\t
    \n\t\t\t
    \n\t\t,\n\t\tportal.current\n\t);\n};\n\nconst Head: React.FC = ({ children }) => (\n\t
    \n\t\t

    {children}

    \n\t
    \n);\n\nconst Body: React.FC = ({ children }) => <>{children};\n\nexport const Modal = { Frame, Head, Body };\n","/**\n * MediaModal\n * @module components/MediaModal\n */\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n\tDispatch,\n\tMouseEvent,\n\tSetStateAction,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { PlayIcon } from './MediaGallery.styles';\nimport { Modal as SimpleModal } from 'components/ui/SimpleModal/Modal';\nimport Icon from 'components/ui/Icon';\nimport clsx from 'clsx';\nimport { MediaGalleryItemModel } from 'types/common';\n\nexport interface MediaModalProps {\n\titem: MediaGalleryItemModel;\n\ttoggleModal: () => void;\n\tshowPreviousMedia: (e: MouseEvent) => void;\n\tmodalActive: boolean;\n\tcurrentValues: Record;\n\tshowNextMedia: (e: MouseEvent) => void;\n\tisAutoplay: number;\n\tsetAutoplay: Dispatch>;\n}\n\nconst MediaModal = ({\n\titem,\n\ttoggleModal,\n\tshowPreviousMedia,\n\tmodalActive,\n\tcurrentValues,\n\tshowNextMedia,\n\tisAutoplay,\n\tsetAutoplay,\n}: MediaModalProps) => {\n\tconst { t } = useContext(LocalizationContext as any);\n\tconst isMobile = window.innerWidth <= 768;\n\tconst handlePreviousClick = (e: MouseEvent) => {\n\t\tshowPreviousMedia(e);\n\t\tsetAutoplay(0);\n\t};\n\n\tconst handleNextClick = (e: MouseEvent) => {\n\t\tshowNextMedia(e);\n\t\tsetAutoplay(0);\n\t};\n\tconst mediaModalIframeRef = useRef(null);\n\tconst [isLoading, setIsLoading] = useState(true); // Initial3d iframe loading state\n\n\tuseEffect(() => {\n\t\tconst handleReadyMessage = (event: MessageEvent) => {\n\t\t\tif (event.data?.ready) {\n\t\t\t\tsetIsLoading(false); // set iframe loading to false\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('message', handleReadyMessage);\n\n\t\t// Cleanup function to remove event listener on unmount\n\t\treturn () => {\n\t\t\twindow.removeEventListener('message', handleReadyMessage);\n\t\t};\n\t}, []);\n\n\tconst handleOnLoad = () => {\n\t\tsetTimeout(() => {\n\t\t\tsetIsLoading(true);\n\t\t}, 500);\n\t};\n\n\tuseEffect(() => {\n\t\tif (item.type === '3DConfig' && mediaModalIframeRef && !isLoading) {\n\t\t\tconst iframeWindow = mediaModalIframeRef?.current?.contentWindow;\n\t\t\tiframeWindow?.window?.postMessage(\n\t\t\t\tJSON.stringify(currentValues),\n\t\t\t\titem?.url as string\n\t\t\t);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [isLoading]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{item.type === 'Image' ? (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t) : item.type === '3DConfig' ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : item.type === 'Video' ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\ttoggleModal();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandlePreviousClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={t('shared/modal/showpreviousmedia')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleNextClick(e);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={t('shared/modal/shownextmedia')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default MediaModal;\n","import MediaGallery from './MediaGallery';\n\nexport default MediaGallery;\n","/**\n * MediaGallery\n * @module components/MediaGallery\n */\n\nimport { useState } from 'react';\nimport MediaThumbnail from './MediaThumbnail';\nimport MediaView from './MediaView';\nimport MediaModal from './MediaModal';\nimport { MediaGalleryItemModel } from 'types/common';\n\nexport interface MediaGalleryProps {\n\tmediaGallery: MediaGalleryItemModel[];\n\tcurrentValues?: any;\n}\n\nconst MediaGallery = ({ mediaGallery, currentValues }: MediaGalleryProps) => {\n\tconst defaultItemArray =\n\t\tmediaGallery && mediaGallery.filter((item) => item.isMain);\n\tconst defaultItem =\n\t\tdefaultItemArray.length > 0 ? defaultItemArray[0] : mediaGallery[0];\n\tconst [activeItem, setActiveItem] = useState(defaultItem);\n\tconst [modalActive, setModalActive] = useState(false);\n\tconst [autoplay, setAutoplay] = useState(0);\n\n\tconst renderMediaView = (item: any) => {\n\t\tsetActiveItem(item);\n\t};\n\n\tconst toggleModal = () => {\n\t\tsetModalActive(!modalActive);\n\t};\n\n\tconst showPreviousMedia = (e: React.MouseEvent) => {\n\t\te.preventDefault();\n\t\tconst currentItemIndex = mediaGallery.indexOf(activeItem);\n\t\tif (currentItemIndex > 0) {\n\t\t\tconst previousItemIndex = currentItemIndex - 1;\n\t\t\tsetActiveItem(mediaGallery[previousItemIndex]);\n\t\t} else {\n\t\t\tsetActiveItem(mediaGallery[mediaGallery.length - 1]);\n\t\t}\n\t};\n\n\tconst showNextMedia = (e: React.MouseEvent) => {\n\t\te.preventDefault();\n\t\tconst currentItemIndex = mediaGallery.indexOf(activeItem);\n\t\tif (currentItemIndex < mediaGallery.length - 1) {\n\t\t\tconst nextItemIndex = currentItemIndex + 1;\n\t\t\tsetActiveItem(mediaGallery[nextItemIndex]);\n\t\t} else {\n\t\t\tsetActiveItem(mediaGallery[0]);\n\t\t}\n\t};\n\n\tif (!activeItem) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\n\t\t\t{modalActive && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default MediaGallery;\n","import React, { useState, useRef, useEffect } from 'react';\n\ninterface TooltipProps {\n\timageUrl?: string;\n\talt?: string;\n\tchildren: React.ReactNode;\n\tdelay?: number; // Optional delay prop for hover show/hide (milliseconds)\n\tid?: string; // Optional ID prop for the tooltip element\n}\n\nconst Tooltip: React.FC = ({\n\timageUrl,\n\talt,\n\tchildren,\n\tdelay = 0,\n\tid,\n}) => {\n\t// State to manage tooltip visibility\n\tconst [hover, setHover] = useState(false);\n\n\t// Ref to store the tooltip element\n\tconst tooltipRef = useRef(null);\n\tconst triggerRef = useRef(null); // Ref for the trigger element (image or other)\n\n\t// Timeout ID for show/hide delays\n\tlet timeoutId: any | null = null;\n\n\t// Functions to handle hover events with delay\n\tconst handleMouseEnter = () => {\n\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\ttimeoutId = setTimeout(() => setHover(true), delay);\n\t};\n\tconst handleMouseLeave = () => {\n\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\ttimeoutId = setTimeout(() => setHover(false), delay);\n\t};\n\n\t// Function to dismiss tooltip on click anywhere\n\tconst handleClick = () => setHover(!hover);\n\n\t// Function to handle clicks outside the tooltip (excluding trigger element)\n\tconst handleClickOutside = (event: MouseEvent) => {\n\t\tif (\n\t\t\ttooltipRef.current &&\n\t\t\t!tooltipRef.current.contains(event.target as Node) &&\n\t\t\t!triggerRef.current?.contains(event.target as Node)\n\t\t) {\n\t\t\tsetHover(false);\n\t\t}\n\t};\n\n\t// Add/remove click listener on document for outside clicks and re-enter handling\n\tuseEffect(() => {\n\t\tdocument.addEventListener('click', handleClickOutside);\n\t\treturn () => document.removeEventListener('click', handleClickOutside);\n\t}, [hover]); // Re-run useEffect only on hover state change\n\n\t// Generate a unique ID for the tooltip if not provided\n\tconst tooltipId = id || `tooltip-${Math.random().toString(36).substr(2, 9)}`;\n\n\treturn (\n\t\t\n\t\t\t{imageUrl && (\n\t\t\t\t{alt // Assuming image size is small\n\t\t\t)}\n\t\t\t
    \n\t\t\t\t{hover && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{children}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Tooltip;\n","import React, { useContext } from 'react';\nimport ToolTip from 'components/ui/Certificate/ToolTip';\nimport { LocalizationContext } from 'context/localization.context';\n\ninterface CertificateProps {\n\timageUrl: string;\n\taltText: string;\n\ttooltipText: string;\n\ttooltipLink: string;\n}\n\nconst Certificate: React.FC = ({\n\timageUrl,\n\taltText,\n\ttooltipText,\n\ttooltipLink,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t{tooltipText &&

    {tooltipText}

    }\n\t\t\t\t{tooltipLink && (\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/popover/buttonText')}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default Certificate;\n","import Certificate from './Certificate';\n\nexport default Certificate;\n","export const Int32MaxValue = 2147483647;\n","import ProductCounter from './ProductCounter';\n\nexport default ProductCounter;\n","/**\n * ProductCounter\n * @module components/ProductCounter\n */\n\nimport React, { useContext, useState, useEffect, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Icon from 'components/ui/Icon';\nimport { useDebounce } from 'hooks';\nimport { Int32MaxValue } from 'common/constants';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\nimport clsx from 'clsx';\n\ninterface Props {\n\t/** The ProductCounter id */\n\tid: string;\n\n\t/** The product name of what ProductCounter is counting */\n\tproductName: string;\n\n\t/** Optional className */\n\tclassName?: string;\n\n\t/** Initial quantity */\n\tquantity: number;\n\n\t/** Itemcode the counter belongs to */\n\titemCode: string;\n\n\t/** Optional callback function */\n\tonChange?: Function;\n}\n\nconst ProductCounter = ({\n\tid,\n\tproductName,\n\tclassName,\n\tquantity,\n\titemCode,\n\tonChange = () => {},\n}: Props): JSX.Element => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { cartDisabled } = useSelector(selectCartObject);\n\tconst inputRef = useRef();\n\tconst [value, setValue] = useState(quantity || 1);\n\tconst debouncedValue = useDebounce(value, 300);\n\n\tconst handleChange = (e: any) => {\n\t\tlet inputValue = e.currentTarget.value;\n\t\tif (inputValue > Int32MaxValue) {\n\t\t\tinputValue = Int32MaxValue;\n\t\t}\n\n\t\tif (isNaN(inputValue) || inputValue === '' || inputValue === 0) {\n\t\t\thandleQuantityChanged(undefined);\n\t\t} else {\n\t\t\thandleQuantityChanged(parseInt(inputValue));\n\t\t}\n\t};\n\n\tconst handleKeyDown = (e: any) => {\n\t\tif (e.keyCode === 69 || e.keyCode === 189 || e.keyCode === 187) {\n\t\t\te.preventDefault();\n\t\t}\n\t};\n\n\tconst handleQuantityChanged = (quantity: number | undefined) => {\n\t\tsetValue(quantity);\n\t};\n\n\tuseEffect(() => {\n\t\tif (quantity !== value) {\n\t\t\tsetValue(quantity || 1);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [quantity]);\n\n\tuseEffect(() => {\n\t\tif (value === debouncedValue && debouncedValue !== quantity) {\n\t\t\tonChange(itemCode, debouncedValue);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [debouncedValue, value]);\n\n\treturn (\n\t\t
    \n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\thandleQuantityChanged(value && (value <= 1 ? 0 : value - 1));\n\t\t\t\t}}\n\t\t\t\tdisabled={!value || value <= 1}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{`${t('shared/articlerow/decreaseamountfor')} ${productName}-${id}`}\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\thandleQuantityChanged(value ? value + 1 : 1);\n\t\t\t\t}}\n\t\t\t\tdisabled={cartDisabled}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{`${t('shared/articlerow/increaseamountfor')} ${productName}-${id}`}\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default ProductCounter;\n","import styled, { css } from 'styled-components';\nimport ProductCounter from 'components/ui/ProductCounter';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { fontWeightMedium, fontWeightSemiBold } from 'theme/typography';\nimport { grey, greyDarker, black, blue, orange } from 'theme/colors';\nimport {\n\tspacing05x,\n\tspacing4x,\n\tspacing5x,\n\tspacing2x,\n\tspacing1x,\n} from 'theme/spacings';\nimport Button from 'components/ui/Button';\n\nconst textCss = css`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: ${({ bold }) => (bold ? fontWeightSemiBold : fontWeightMedium)};\n\tmargin: ${spacing05x} 0 ${spacing05x};\n\ttext-transform: lowercase;\n`;\n\nexport const Article = styled.article`\n\tdisplay: flex;\n\tpadding: ${spacing2x};\n\tborder-bottom: 0.1rem solid ${greyDarker};\n\talign-items: center;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tflex-wrap: wrap;\n\t\tpadding: 0;\n\t\tdisplay: block;\n\t}\n`;\n\nexport const ContentLeft = styled.div`\n\tflex: 4 1 45%;\n\tdisplay: flex;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tjustify-content: space-between;\n\t}\n`;\n\nexport const Image = styled.div`\n\tdisplay: flex;\n\tborder: 0.2rem solid ${grey};\n\theight: 14rem;\n\twidth: 14rem;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-shrink: 0;\n\n\tsvg {\n\t\tfont-size: 8rem;\n\t\topacity: 0.1;\n\n\t\t@media (max-width: 1150px) {\n\t\t\theight: 5.6rem;\n\t\t\twidth: 5.6rem;\n\t\t}\n\t}\n\n\timg {\n\t\twidth: 14rem;\n\t}\n\n\t@media (max-width: 1150px) {\n\t\theight: 8.6rem;\n\t\twidth: 8.6rem;\n\n\t\timg {\n\t\t\twidth: 8.6rem;\n\t\t}\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-top: ${spacing5x};\n\t}\n`;\n\nexport const Body = styled.div`\n\tpadding: 0 ${spacing2x};\n\tdisplay: inline-block;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\torder: 1;\n\t\tpadding: ${spacing2x} ${spacing2x} ${spacing2x} 0;\n\t}\n`;\n\nexport const ContentMiddle = styled.div`\n\tflex: 1 1 20%;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t}\n`;\n\nexport const Content = styled.div`\n\tmargin: auto 0;\n\ttext-align: center;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0;\n\t}\n`;\n\nexport const PriceWrapper = styled.div`\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t}\n`;\n\nexport const TextWrapper = styled.div`\n\tdisplay: none;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n`;\n\nexport const PriceOnDemandWrapper = styled(TextWrapper)`\n\tdisplay: flex;\n\tmargin: auto 0;\n\ttext-align: center;\n\tpadding: 0 1.6rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0;\n\t}\n`;\n\nexport const LoginForPriceWrapper = styled.div`\n\tmargin: auto 0;\n\ttext-align: center;\n\tpadding: 0 1.6rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const LoaderWrapper = styled.div`\n\tmargin: auto 0;\n\ttext-align: center;\n\tpadding: 0 ${spacing4x};\n\tmin-width: 17rem;\n`;\n\nexport const ContentRight = styled(Content)`\n\tflex: 1 1 25%;\n\tpadding-right: 0;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: flex;\n\t\tpadding: 0;\n\t\tmargin: ${spacing1x} 0;\n\t}\n`;\n\nexport const Counter = styled(ProductCounter)`\n\tjustify-content: center;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\theight: 3.2rem;\n\t}\n`;\n\nexport const AddButton = styled(Button)`\n\twhite-space: nowrap;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: 0 0 ${spacing1x} ${spacing2x};\n\t\t:disabled {\n\t\t\tmargin: ${spacing2x} 0;\n\t\t}\n\t}\n`;\n\nexport const ConfButton = styled(AddButton)`\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-left: 0;\n\t}\n`;\nexport const Img = styled.img`\n\tmax-width: 100%;\n\tmax-height: 100%;\n`;\nexport const LinkWrapper = styled.a`\n\ttext-decoration: none;\n\t:hover {\n\t\th1 {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\tp {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\n\nexport const Heading = styled.h2`\n\tfont-size: 2.5rem;\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightMedium};\n\tmargin-top: 0;\n\tmargin-bottom: ${spacing1x};\n`;\n\nexport const Text = styled.p`\n\t${textCss}\n\tcolor: ${black};\n\n\tsvg {\n\t\tmargin-right: ${spacing1x};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t\tmargin: -0.1rem 0;\n\t}\n`;\n\nexport const LoginForPriceText = styled(Text)`\n\ttext-transform: none;\n`;\nexport const PriceOnDemandText = styled(Text)`\n\ttext-transform: none;\n\ttext-align: center;\n\twidth: 100%;\n`;\n\nexport const OrangeText = styled.span`\n\t${textCss}\n\tcolor: ${orange};\n\tmargin-left: ${spacing1x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t}\n`;\n\nexport const BlueText = styled(Heading)`\n\twhite-space: ${(props) => (props.noWrap ? 'nowrap' : 'normal')};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: -0.5rem 0;\n\t\tpadding: ${(props) => (props.withPadding ? `${spacing1x} 0` : '0')};\n\t}\n`;\n\nexport const Span = styled.span`\n\t${textCss};\n\tcolor: ${black};\n\n\t:before {\n\t\tcontent: ' / ';\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t}\n`;\n\nexport const ItemCodeAttributeNameWrapper = styled.div`\n\t> p {\n\t\ttext-transform: uppercase;\n\t\tdisplay: inline-block;\n\t\t:first-child {\n\t\t\tmargin-right: ${spacing1x};\n\t\t}\n\t}\n`;\n","import ArticleRow from './ArticleRow';\n\nexport default ArticleRow;\n","/**\n * ArticleRow\n * @module components/ArticleRow\n */\n\nimport { useContext, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport { LocalizationContext } from 'context/localization.context';\nimport { GenericWarning, ServerError } from 'common/helpers';\nimport { useMedia } from 'hooks';\nimport { FiShoppingCart } from 'react-icons/fi';\nimport { FaEdit, FaCamera } from 'react-icons/fa';\nimport { FiBox, FiHome, FiTruck } from 'react-icons/fi';\nimport Certificate from 'components/ui/Certificate';\nimport {\n\tArticle,\n\tBody,\n\tImg,\n\tText,\n\tOrangeText,\n\tContent,\n\tLinkWrapper,\n\tSpan,\n\tCounter,\n\tContentRight,\n\tImage,\n\tTextWrapper,\n\tContentLeft,\n\tContentMiddle,\n\tAddButton,\n\tConfButton,\n\tItemCodeAttributeNameWrapper,\n\tLoginForPriceWrapper,\n\tLoginForPriceText,\n\tPriceOnDemandWrapper,\n\tPriceOnDemandText,\n} from './ArticleRow.styles';\nimport { toastWithLink } from 'common/toastHelpers';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchConfArticle } from 'store/modules/configurator';\nimport { MouseEvent } from 'react';\nimport ProductCounter from 'components/ui/ProductCounter';\nimport { ArticlePriceInfoModel, ArticleRowItemModel } from 'types/article';\nimport { AddToCartModel } from 'types/cart-types';\nimport { CertificatesItem, LinkModel } from 'types/common';\n\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport Icon from 'components/ui/Icon';\n\nexport interface ArticleRowModel {\n\tactiveMarket?: string;\n\titem: ArticleRowItemModel;\n\tpriceInfo?: ArticlePriceInfoModel;\n\tpriceLoading?: boolean;\n\tcertificates?: CertificatesItem[];\n\topenModal?: any;\n\ttrackClick?: (hitId: string, trackId: string) => void;\n\tloginLink?: LinkModel;\n}\n\nconst ArticleRow = ({\n\tactiveMarket,\n\titem,\n\tpriceInfo,\n\tpriceLoading,\n\tcertificates,\n\topenModal,\n\ttrackClick,\n\tloginLink,\n}: ArticleRowModel) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst { cartDisabled, cartHidden, cartLink } = useSelector(selectCartObject);\n\tconst isDesktopOrSmaller = useMedia('(max-width: 1024px)');\n\tconst isMobile = useMedia('(max-width: 767px)');\n\tconst [currentQuantity, setCurrentQuantity] = useState(1);\n\n\tconst renderNetPrice = (price: string) => {\n\t\treturn (\n\t\t\t

    \n\t\t\t\t{`${price} ${item && item.currency ? item.currency : ''}`}\n\t\t\t\t{item && item.unit && {item.unit}}\n\t\t\t

    \n\t\t);\n\t};\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tlet quantity = (document.getElementById(\n\t\t\t\t'Counter-' + item.itemCode\n\t\t\t) as HTMLInputElement).value;\n\n\t\t\tif (item) {\n\t\t\t\tconst articleList: AddToCartModel[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\titemCode: item?.itemCode,\n\t\t\t\t\t\tquantity: currentQuantity,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t\t}\n\t\t\ttoastWithLink(\n\t\t\t\tt('shared/toast/cartaddsuccess'),\n\t\t\t\tcartLink?.link,\n\t\t\t\ttoast.TYPE.SUCCESS\n\t\t\t);\n\n\t\t\tif (window.dataLayer) {\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\tevent: 'add_to_cart',\n\t\t\t\t\tdomain: activeMarket,\n\t\t\t\t\tecommerce: {\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem_name: item.itemName,\n\t\t\t\t\t\t\t\titem_id: item.itemCode,\n\t\t\t\t\t\t\t\tprice: item.defaultPrice,\n\t\t\t\t\t\t\t\titem_variant: item.attributeName,\n\t\t\t\t\t\t\t\tquantity: quantity,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\ttrackClick && trackClick(item.hitId, item.trackId);\n\t\t}\n\t};\n\n\tconst renderAddToCartButton = () => {\n\t\treturn (\n\t\t\t {\n\t\t\t\t\thandleAddToCart();\n\t\t\t\t\tsetCurrentQuantity(1);\n\t\t\t\t}}\n\t\t\t\tdisabled={cartDisabled}\n\t\t\t\t//@ts-ignore\n\t\t\t\titem={item}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{isDesktopOrSmaller\n\t\t\t\t\t\t? t('shared/articlerow/add')\n\t\t\t\t\t\t: t('shared/articlerow/addtocart')}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t`${t('shared/articlerow/add')} ${item.itemName}-${item.itemCode}`\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst getConfArticle = async (e: any, url: string) => {\n\t\te.preventDefault();\n\t\ttry {\n\t\t\topenModal && openModal();\n\t\t\tawait dispatch(fetchConfArticle(url));\n\t\t} catch (err: any) {\n\t\t\tconsole.log(err);\n\t\t}\n\t};\n\n\tconst handleLinkClick = (e: MouseEvent) => {\n\t\te.preventDefault();\n\n\t\tif (isConfArticle) {\n\t\t\tgetConfArticle(e, item.link);\n\t\t} else {\n\t\t\topenModal && openModal({ link: item.link, isActive: true });\n\t\t}\n\t};\n\n\tconst renderConfButton = () => {\n\t\treturn (\n\t\t\t getConfArticle(e, item.link)}\n\t\t\t\tdisabled={cartDisabled}\n\t\t\t\t//@ts-ignore\n\t\t\t\titem={item}\n\t\t\t>\n\t\t\t\t{t('shared/articlerow/configure')}\n\n\t\t\t\t\n\t\t\t\t\t{`${t('shared/articlerow/configure')} ${item.itemName}-${\n\t\t\t\t\t\titem.itemCode\n\t\t\t\t\t}`}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst isConfArticle = item.modelType === 'ConfArticle' || item.configurable;\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\ttrackClick && trackClick(item.hitId, item.trackId);\n\t\t\t\t\t\thandleLinkClick(e);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{isMobile ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.image && item.image.thumbnail ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{item.image && item.image.thumbnail ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\ttrackClick && trackClick(item.hitId, item.trackId);\n\t\t\t\t\t\t\thandleLinkClick(e);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{item.category && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    {item.category}

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/*@ts-ignore*/}\n\t\t\t\t\t\t\t{`#${item.itemCode}`}\n\t\t\t\t\t\t\t{item.attributeName}\n\t\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{item.itemName}\n\t\t\t\t\t\t

    \n\t\t\t\t\t\n\n\t\t\t\t\t{item.packingQuantity && item.unit && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('shared/articlerow/packagesize')}\n\t\t\t\t\t\t\t{`${item.packingQuantity} ${item.unit}`}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{!cartDisabled && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{priceInfo && priceInfo.stockQty && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('shared/articlerow/stocklevel')}\n\t\t\t\t\t\t\t\t\t{priceInfo.stockQty}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{item.leadTime && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('shared/articlerow/leadtime')}\n\t\t\t\t\t\t\t\t\t{`${item.leadTime} ${t(\n\t\t\t\t\t\t\t\t\t\t'shared/articlerow/days'\n\t\t\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{certificates && certificates?.length > 0 && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{certificates?.map((c) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
    \n\t\t\t{cartDisabled && !priceInfo?.netPrice && !isConfArticle ? (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t{item.defaultPrice != null ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{priceInfo && priceInfo.netPrice && (\n\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/netprice')}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item && renderNetPrice(item.defaultPrice)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{loginLink ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/loginforprice')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tt('shared/articlerow/loginforprice')\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!cartDisabled && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentQuantity(quantity);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!cartHidden && renderAddToCartButton()}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t{priceInfo ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{!!priceInfo.netPrice && priceInfo.netPrice != null ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{!!priceInfo.netPrice && (\n\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/netprice')}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{!!priceInfo.grossPrice && (\n\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/grossprice')}\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{!!priceInfo.discount && (\n\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/discount')}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t!priceLoading && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/priceondemand')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!isConfArticle && priceInfo?.netPrice && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item && renderNetPrice(priceInfo.netPrice)}\n\t\t\t\t\t\t\t\t\t\t{!priceLoading && priceInfo?.grossPrice && (\n\t\t\t\t\t\t\t\t\t\t\t{`${priceInfo.grossPrice} ${\n\t\t\t\t\t\t\t\t\t\t\t\titem && item.currency ? item.currency : ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{!priceLoading && priceInfo?.discount && (\n\t\t\t\t\t\t\t\t\t\t\t{`- ${priceInfo.discount} ${t(\n\t\t\t\t\t\t\t\t\t\t\t\t'shared/articlerow/discountunit'\n\t\t\t\t\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{priceLoading && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : cartDisabled && isConfArticle ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{loginLink ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/loginforprice')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tt('shared/articlerow/loginforprice')\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{!cartHidden && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{isConfArticle ? (\n\t\t\t\t\t\t\t\t\trenderConfButton()\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentQuantity(quantity);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{renderAddToCartButton()}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default ArticleRow;\n","import styled from 'styled-components';\nimport { grey, black, greyDarker } from 'theme/colors';\nimport { FaTimesCircle } from 'react-icons/fa';\nimport { spacing05x, spacing1x } from 'theme/spacings';\nimport { fontWeightBold, fontWeightLight } from 'theme/typography';\nimport { Paragraph } from '../Typography';\n\nexport const RemoveIcon = styled(FaTimesCircle)`\n\tfont-size: 1.3rem;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tcolor: ${greyDarker};\n`;\n\nexport const Item = styled.li`\n\tbackground-color: ${grey};\n\tpadding: 0 ${spacing05x} 0 ${spacing05x};\n\tborder: 0.2rem solid ${grey};\n\tborder-radius: 0.3rem;\n\tlist-style: none;\n\tdisplay: inline-block;\n\tmargin-right: ${spacing1x};\n\n\t&:hover ${RemoveIcon} {\n\t\tcolor: ${black};\n\t}\n`;\n\nexport const Button = styled.a`\n\tbackground: none;\n\tcolor: inherit;\n\tborder: none;\n\tpadding: 0;\n\tfont: inherit;\n\tcursor: pointer;\n\toutline: inherit;\n`;\n\nexport const Name = styled(Paragraph)`\n\tfont-size: 1.3rem;\n\tdisplay: inline-block;\n\tmargin: 0;\n\tvertical-align: middle;\n\tcolor: ${black};\n\tfont-weight: ${fontWeightLight};\n`;\n\nexport const Option = styled(Name)`\n\tfont-weight: ${fontWeightBold};\n\tmargin-left: ${spacing05x};\n\tmargin-right: ${spacing05x};\n`;\n","import FilterChip from './FilterChip';\n\nexport default FilterChip;\n","/**\n * FilterChip\n * @module components/FilterChip\n */\n\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Name, RemoveIcon, Option, Item, Button } from './FilterChip.styles';\nimport { LocalizationContext } from 'context/localization.context';\n\nconst FilterChip = ({ name, facetId, item, onDelete }) => {\n\tconst { t } = useContext(LocalizationContext);\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tonDelete(facetId, item.id, false);\n\t\t\t\t}}\n\t\t\t\ttitle={`${t('shared/filter/removefilter')} ${name}`}\n\t\t\t>\n\t\t\t\t{name}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nFilterChip.propTypes = {\n\tname: PropTypes.string,\n\titem: PropTypes.shape({\n\t\tid: PropTypes.string,\n\t\tcount: PropTypes.number,\n\t\tname: PropTypes.string,\n\t}),\n};\n\nexport default FilterChip;\n","export default ({ className, ...htmlAttributes }: { className?: string }) => (\n\t\n\t\t\n\t\t\n\t\n);\n","import Modal from './Modal';\n\nexport default Modal;\n","/**\n * Modal\n * @module components/Modal\n */\n\nimport { useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Icon from 'components/ui/Icon';\nimport { toast } from 'react-toastify';\nimport AriaModal from 'react-aria-modal';\nimport clsx from 'clsx';\nimport IconLink from '../Icon/icons/IconLink';\n\ninterface ModalModel {\n\troundedCorners?: boolean;\n\ttoggleModal: () => void;\n\twidth: 'large' | 'medium' | 'small' | 'max';\n\ttitle: string;\n\theading: string;\n\tchildren: JSX.Element | JSX.Element[];\n\thasBreadcrumbs?: boolean;\n\titemCode?: string;\n\tcopyUrl?: string;\n}\n\nconst Modal = ({\n\ttoggleModal,\n\twidth,\n\ttitle,\n\theading,\n\tchildren,\n\troundedCorners,\n\thasBreadcrumbs = false,\n\titemCode,\n\tcopyUrl,\n}: ModalModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst copyItemCode = () => {\n\t\tif (copyUrl) {\n\t\t\tnavigator.clipboard.writeText(copyUrl);\n\n\t\t\ttoast(t('productdetailpage/linkcopied'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t}\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading}\n\t\t\t\t\t

    \n\t\t\t\t\t{itemCode && copyUrl && (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tcopyItemCode();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t-\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\ttoggleModal();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Modal;\n","import styled, { css } from 'styled-components';\nimport { Paragraph } from 'components/ui/Typography';\nimport { fontWeightBold } from 'theme/typography';\nimport { black, grey, blue } from 'theme/colors';\nimport { spacing05x, spacing1x } from 'theme/spacings';\n\nconst icons = css`\n\t& svg {\n\t\tcolor: ${black};\n\t\tvertical-align: middle;\n\t\tfont-size: 1.6rem;\n\t\tmargin-bottom: 0.5rem;\n\t}\n`;\n\nexport const Heading = styled(Paragraph)`\n\tfont-weight: ${fontWeightBold};\n\ttext-align: left;\n`;\n\nexport const List = styled.ul`\n\tlist-style: none;\n\tpadding: 0;\n\tmargin-top: 0;\n`;\n\nexport const Item = styled.li`\n\t${icons};\n\t:nth-of-type(odd) {\n\t\tbackground-color: ${grey};\n\t}\n\tpadding: ${spacing05x} ${spacing1x};\n`;\n\nexport const Link = styled(Paragraph)`\n\ttext-decoration: none;\n\tcolor: ${blue};\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n\tmargin-left: ${spacing1x};\n`;\n","/**\n * LinkList\n * @module components/LinkList\n */\n\nimport { useContext } from 'react';\nimport { List, Item, Link, Heading } from './LinkList.styles';\nimport {\n\tFiFile,\n\tFiDownload,\n\tFiLink,\n\tFiExternalLink,\n\tFiFilm,\n} from 'react-icons/fi';\nimport { LocalizationContext } from 'context/localization.context';\nimport { LinkModel } from 'types/common';\n\ninterface LinkListLinkModel extends LinkModel {\n\ttype: string;\n}\n\ninterface LinkListModel {\n\tdocuments: LinkListLinkModel[];\n\tclassName?: string;\n\texpanded: boolean;\n}\n\nconst LinkList = ({ documents, expanded, className }: LinkListModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst renderIcon = (icon: string) => {\n\t\tswitch (icon) {\n\t\t\tcase 'document':\n\t\t\t\treturn ;\n\t\t\tcase 'download':\n\t\t\t\treturn ;\n\t\t\tcase 'external-link':\n\t\t\t\treturn ;\n\t\t\tcase 'internal-link':\n\t\t\t\treturn ;\n\t\t\tcase 'video':\n\t\t\t\treturn ;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n\treturn (\n\t\t
    \n\t\t\t{t('shared/linklist/relatedlinks')}\n\t\t\t\n\t\t\t\t{documents.map((item, i) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{renderIcon(item.type)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default LinkList;\n","import LinkList from './LinkList';\n\nexport default LinkList;\n","import styled from 'styled-components';\nimport { Paragraph } from 'components/ui/Typography';\nimport { fontWeightBold, fontWeightNormal } from 'theme/typography';\nimport { grey, blue } from 'theme/colors';\nimport { spacing05x, spacing1x, spacing3x, spacing4x } from 'theme/spacings';\nimport { deviceSmallMax } from 'theme/mediaQueries';\n\nexport const Heading = styled(Paragraph)`\n\tfont-weight: ${fontWeightBold};\n\ttext-align: left;\n`;\n\nexport const SpecificationList = styled(Paragraph)`\n\tborder-collapse: collapse;\n\twidth: 100%\n\tmargin-bottom: ${spacing3x};\n`;\n\nexport const Row = styled.tr`\n\t:nth-of-type(odd) {\n\t\tbackground-color: ${grey};\n\t}\n`;\n\nexport const Property = styled.td`\n\tfloat: left;\n\tclear: left;\n\ttext-align: left;\n\twidth: 100%;\n\tpadding: ${spacing05x} ${spacing4x} ${spacing05x} ${spacing1x};\n\twhite-space: nowrap;\n\n\t:after {\n\t\tcontent: ':';\n\t}\n`;\n\nexport const VisuallyHiddenTd = styled.td`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n\nexport const Value = styled.td`\n\tmargin: 0;\n\twidth: 100%;\n\tpadding: ${({ colorBlocks }) =>\n\t\tcolorBlocks ? '0.6rem 3.2rem 0 3.2rem' : '0.4rem 3.2rem'};\n\ttext-align: ${({ priceList }) => (priceList ? 'center' : 'inherit')};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\ttext-align: ${({ priceList }) => (priceList ? 'right' : 'inherit')};\n\t\tpadding: 0.4rem 0.8rem 0.4rem 3.2rem;\n\t}\n`;\n\nexport const BlueText = styled(Paragraph)`\n\tdisplay: inline-block;\n\tfont-size: 2.5rem;\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightNormal};\n\tmargin: 0;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 2rem;\n\t}\n`;\n","import styled from 'styled-components';\nimport { Paragraph } from '../Typography';\nimport { blue, white } from 'theme/colors';\nimport { spacing05x, spacing1x, spacing2x } from 'theme/spacings';\n\nexport const ColorList = styled.ul`\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n`;\n\nexport const Tooltip = styled.div`\n\tvisibility: hidden;\n\twidth: 30rem;\n\tbackground-color: ${blue};\n\tborder-radius: 0.2rem;\n\tpadding: ${spacing1x} ${spacing2x};\n\tposition: absolute;\n\tz-index: 1;\n\ttop: 4rem;\n\tleft: -13.7rem;\n\n\t:after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: 100%;\n\t\tleft: 50%;\n\t\tmargin-left: -1rem;\n\t\tborder-width: 1rem;\n\t\tborder-style: solid;\n\t\tborder-color: transparent transparent ${blue} transparent;\n\t}\n`;\n\nexport const ColorImg = styled.img`\n\tcursor: pointer;\n\tmargin-right: ${spacing05x};\n\tpadding: 0.2rem;\n\theight: 2.4rem;\n\twidth: 2.4rem;\n`;\n\nexport const ColorItem = styled.li`\n\tdisplay: inline-block;\n\tposition: relative;\n\twhite-space: nowrap;\n\n\t:hover img {\n\t\toutline: 0.3rem solid ${blue};\n\t}\n\n\t:hover ${Tooltip} {\n\t\tvisibility: visible;\n\t}\n`;\n\nexport const Title = styled(Paragraph)`\n\ttext-weight: normal;\n\tcolor: ${white};\n\tmargin: 0;\n`;\n\nexport const Text = styled(Paragraph)`\n\tcolor: ${white};\n\tmargin: 0;\n\tdisplay: flex;\n`;\n\nexport const Property = styled.span`\n\tmargin-right: ${spacing2x};\n\twidth: 13rem;\n`;\n\nexport const Value = styled.span``;\n","import ColorBlocks from './ColorBlocks';\n\nexport default ColorBlocks;\n","/**\n * ColorBlocks\n * @module components/ColorBlocks\n */\n\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tColorList,\n\tColorItem,\n\tColorImg,\n\tTooltip,\n\tTitle,\n\tText,\n\tProperty,\n\tValue,\n} from './ColorBlocks.styles';\nimport { LocalizationContext } from 'context/localization.context';\n\nconst ColorBlocks = ({ colors }) => {\n\tconst { t } = useContext(LocalizationContext);\n\treturn (\n\t\t\n\t\t\t{colors.map((item, i) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{item.colorName}\n\t\t\t\t\t\t\t{item.ncs && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{`${t('productdetailpage/nearest')} NCS`}\n\t\t\t\t\t\t\t\t\t{item.ncs}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{item.ral && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{`${t('productdetailpage/nearest')} RAL`}\n\t\t\t\t\t\t\t\t\t{item.ral}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\nColorBlocks.propTypes = {\n\tcolors: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tcolorName: PropTypes.string,\n\t\t\tncs: PropTypes.string,\n\t\t\tral: PropTypes.string,\n\t\t\timage: PropTypes.shape({\n\t\t\t\tsrc: PropTypes.string,\n\t\t\t\talt: PropTypes.string,\n\t\t\t}),\n\t\t})\n\t),\n};\n\nexport default ColorBlocks;\n","/**\n * SpecificationsList\n * @module components/SpecificationsList\n */\n\nimport { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tHeading,\n\tSpecificationList,\n\tRow,\n\tValue,\n\tProperty,\n\tVisuallyHiddenTd,\n\tBlueText,\n} from './SpecificationsList.styles';\nimport { LocalizationContext } from 'context/localization.context';\nimport ColorBlocks from 'components/ui/ColorBlocks';\n\nconst SpecificationsList = ({\n\tspecifications,\n\theading,\n\tprices,\n\tunit,\n\tcurrency,\n\tclassName,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst renderPricelist = (key, i) => {\n\t\tif (specifications.dictionary[key]) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{key}\n\t\t\t\t\t{prices && i === 0 ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{specifications.dictionary[key]}\n\t\t\t\t\t\t\t\t{currency && ` ${currency}`}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{unit && ` /${unit}`}\n\t\t\t\t\t\t\n\t\t\t\t\t) : prices && i === 1 ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{specifications.dictionary[key]}\n\t\t\t\t\t\t\t{currency && unit && ` ${currency}/${unit}`}\n\t\t\t\t\t\t\n\t\t\t\t\t) : prices && i === 2 ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`- ${specifications.dictionary[key]} %`}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{specifications &&\n\t\t\t\tspecifications.dictionary &&\n\t\t\t\tObject.keys(specifications.dictionary).length > 0 && (\n\t\t\t\t\t{heading}\n\t\t\t\t)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shared/specificationslist/property')}\n\t\t\t\t\t{t('shared/specificationslist/value')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{specifications &&\n\t\t\t\t\tspecifications.dictionary &&\n\t\t\t\t\tObject.keys(specifications.dictionary).length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{prices &&\n\t\t\t\t\t\t\tspecifications.dictionary[\n\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary)[0]\n\t\t\t\t\t\t\t] &&\n\t\t\t\t\t\t\tspecifications.dictionary[\n\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary)[1]\n\t\t\t\t\t\t\t] ? (\n\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary).map((key, i) =>\n\t\t\t\t\t\t\t\t\trenderPricelist(key, i)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : (prices &&\n\t\t\t\t\t\t\t\t\tspecifications.dictionary[\n\t\t\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary)[0]\n\t\t\t\t\t\t\t\t\t] === null) ||\n\t\t\t\t\t\t\t specifications.dictionary[\n\t\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary)[1]\n\t\t\t\t\t\t\t ] === null ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/priceondemand')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : !prices ? (\n\t\t\t\t\t\t\t\tObject.keys(specifications.dictionary).map((key, i) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{key}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{specifications.dictionary[key]}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t{specifications.colors && specifications.colors.length > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{specifications.colors.length === 1\n\t\t\t\t\t\t\t\t? t('shared/specificationslist/color')\n\t\t\t\t\t\t\t\t: t('shared/specificationslist/colors')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nSpecificationsList.propTypes = {\n\trangeSpecifications: PropTypes.shape({\n\t\tdictionary: PropTypes.shape,\n\t\tcolors: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tcolorName: PropTypes.string,\n\t\t\t\tncs: PropTypes.string,\n\t\t\t\tral: PropTypes.string,\n\t\t\t\timage: PropTypes.shape({\n\t\t\t\t\tsrc: PropTypes.string,\n\t\t\t\t\talt: PropTypes.string,\n\t\t\t\t}),\n\t\t\t})\n\t\t),\n\t}),\n\theading: PropTypes.string,\n\tprices: PropTypes.bool,\n\tunit: PropTypes.string,\n\tcurrency: PropTypes.string,\n\tactiveMarket: PropTypes.string,\n\tclassName: PropTypes.string,\n};\n\nexport default SpecificationsList;\n","import styled, { css } from 'styled-components';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { fontWeightBold, fontWeightNormal } from 'theme/typography';\nimport { grey, greyDarker, black, blue } from 'theme/colors';\nimport { spacing05x, spacing3x, spacing2x, spacing1x } from 'theme/spacings';\nimport { FaChevronRight } from 'react-icons/fa';\n\nconst textCss = css`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: ${({ bold }) => (bold ? fontWeightBold : fontWeightNormal)};\n\tmargin: ${spacing05x} 0 ${spacing05x};\n`;\n\nexport const Article = styled.article`\n\tdisplay: flex;\n\tpadding: ${spacing2x};\n\tborder-bottom: 0.1rem solid ${greyDarker};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tjustify-content: space-between;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const Image = styled.div`\n\tdisplay: flex;\n\tborder: 0.2rem solid ${grey};\n\theight: 14rem;\n\twidth: 14rem;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-shrink: 0;\n\n\tsvg {\n\t\tfont-size: 8rem;\n\t\topacity: 0.1;\n\t\t@media (max-width: 1150px) {\n\t\t\theight: 5.6rem;\n\t\t\twidth: 5.6rem;\n\t\t}\n\t\t@media (max-width: ${deviceSmallMax}) {\n\t\t\theight: 5.6rem;\n\t\t\twidth: 5.6rem;\n\t\t}\n\t}\n\t@media (max-width: 1150px) {\n\t\theight: 8.6rem;\n\t\twidth: 8.6rem;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\theight: 8.6rem;\n\t\twidth: 8.6rem;\n\t\torder: 2;\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-top: ${spacing3x};\n\t}\n`;\n\nexport const Img = styled.img`\n\tmax-width: 100%;\n\tmax-height: 100%;\n\t@media (max-width: 1150px) {\n\t\theight: 8.6rem;\n\t\twidth: 8.6rem;\n\t}\n`;\n\nexport const ContentImg = styled(Img)`\n\tpadding: 0.4rem;\n\twidth: auto;\n\t@media (max-width: 1150px) {\n\t\twidth: auto;\n\t}\n`;\n\nexport const Body = styled.div`\n\tpadding: 0 ${spacing2x};\n\tdisplay: block;\n\tmin-height: 14rem;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\torder: 1;\n\t\tpadding: ${spacing2x} ${spacing2x} ${spacing2x} 0;\n\t}\n`;\n\nexport const LinkWrapper = styled.a`\n\ttext-decoration: none;\n\t:hover {\n\t\th1 {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\tp {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\n\nexport const Heading = styled.h2`\n\tfont-size: 2.5rem;\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightNormal};\n\tmargin-top: 0;\n\tmargin-bottom: ${spacing1x};\n`;\n\nexport const Text = styled.p`\n\t${textCss}\n\tcolor: ${black};\n\tsvg {\n\t\tmargin-right: ${spacing1x};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n\t\tmargin: -0.1rem 0;\n\t}\n`;\n\nexport const Value = styled.p`\n\t${textCss}\n\tcolor: ${black};\n\tposition: absolute;\n\tleft: 14rem;\n\ttop: 0;\n\tmargin: 0;\n`;\n\nexport const SeparatorIcon = styled(FaChevronRight)`\n\tfont-size: 1rem;\n\tvertical-align: middle;\n\tmargin: 0 0.5rem;\n`;\n","import ArticleDetail from './ArticleDetail';\n\nexport default ArticleDetail;\n","/**\n * ArticleDetail\n * @module components/ArticleDetail\n */\n\nimport { useContext, useState, useEffect } from 'react';\nimport Modal from 'components/ui/Modal';\nimport { LocalizationContext } from 'context/localization.context';\nimport MediaGallery from 'components/framework/MediaGallery';\nimport {\n\tGenericWarning,\n\trenderElementBasedOnEditMode,\n\tServerError,\n} from 'common/helpers';\nimport LinkList from 'components/framework/LinkList';\nimport Button from 'components/ui/Button';\nimport ProductCounter from 'components/ui/ProductCounter';\nimport { useMedia } from 'hooks';\nimport { toast } from 'react-toastify';\nimport { toastWithLink } from 'common/toastHelpers';\nimport RichText from 'components/ui/RichText';\n\nimport { AddToCartModel } from 'types/cart-types';\nimport { ArticleRowItemModel } from 'types/article';\nimport Certificate from 'components/ui/Certificate/Certificate';\nimport {\n\tBreadCrumbsModel,\n\tDocumentModel,\n\tLinkModel,\n\tMediaGalleryItemModel,\n\tSpecificationsModel,\n} from 'types/common';\n\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport SpecificationsList from 'components/framework/SpecificationsList/SpecificationsList';\nimport { SeparatorIcon } from 'components/framework/ItemRow/ItemRow.styles';\nimport Icon from 'components/ui/Icon';\nimport { fetchArticleDetail } from 'api/general';\nimport { useDispatch, useSelector } from 'react-redux';\n\ninterface ArticleDetailModel {\n\tonToggle: any;\n\tarticleApiUrl: string | null;\n\tdisableControls?: boolean;\n\tapi?: ArticleApiModel;\n\tactiveMarket?: string;\n}\n\ninterface ArticleApiModel {\n\tproductConfiguratorValidate: string;\n\tproductConfiguratorCreate: string;\n\tproductConfiguratorShutdown: string;\n}\n\nexport interface ArticleDetailArticleModel extends ArticleRowItemModel {\n\tmediaGallery: MediaGalleryItemModel[];\n\tdocuments: DocumentModel[];\n\tshortDescription: string;\n\tname: string;\n\tisInEditMode: boolean;\n\tlongDescription: string;\n\tprices: SpecificationsModel;\n\trangeSpecifications: SpecificationsModel;\n\tcontentsAndAvailability: SpecificationsModel;\n\tbreadcrumbs: LinkModel[];\n\tinformationHeading?: string;\n\tinformationText?: string;\n\tcopyUrl?: string;\n}\n\nconst ArticleDetail = ({\n\tonToggle,\n\tarticleApiUrl = null,\n\tdisableControls,\n\tactiveMarket,\n}: ArticleDetailModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [item, setItem] = useState();\n\tconst [currentQuantity, setCurrentQuantity] = useState(1);\n\tconst isMobile = useMedia('(max-width: 767px)');\n\tconst dispatch = useDispatch();\n\tconst { cartDisabled, cartHidden, cartLink } = useSelector(selectCartObject);\n\n\tconst getArticleData = async () => {\n\t\ttry {\n\t\t\tconst data = await fetchArticleDetail(articleApiUrl);\n\t\t\tsetItem(data);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\tuseEffect(() => {\n\t\tif (articleApiUrl) {\n\t\t\tgetArticleData();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tif (item) {\n\t\t\t\tconst articleList: AddToCartModel[] = [\n\t\t\t\t\t{\n\t\t\t\t\t\titemCode: item?.itemCode,\n\t\t\t\t\t\tquantity: currentQuantity,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t\t}\n\t\t\ttoastWithLink(\n\t\t\t\tt('shared/toast/cartaddsuccess'),\n\t\t\t\tcartLink?.link,\n\t\t\t\ttoast.TYPE.SUCCESS\n\t\t\t);\n\t\t\tif (item?.itemCode !== undefined && window.dataLayer) {\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\tevent: 'add_to_cart',\n\t\t\t\t\tdomain: activeMarket,\n\t\t\t\t\tecommerce: {\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem_name: item?.itemName,\n\t\t\t\t\t\t\t\titem_id: item?.itemCode,\n\t\t\t\t\t\t\t\tprice: item?.defaultPrice,\n\t\t\t\t\t\t\t\tquantity: 1,\n\t\t\t\t\t\t\t\titem_category: item?.breadcrumbs[0].text,\n\t\t\t\t\t\t\t\titem_category2: item?.breadcrumbs[1].text,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (item?.itemCode !== undefined && window.dataLayer) {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'view_item',\n\t\t\t\tecommerce: {\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\titem_name: item?.itemName,\n\t\t\t\t\t\t\titem_id: item?.itemCode,\n\t\t\t\t\t\t\tprice: item?.defaultPrice,\n\t\t\t\t\t\t\tquantity: 1,\n\t\t\t\t\t\t\titem_category: item?.breadcrumbs[0].text,\n\t\t\t\t\t\t\titem_category2: item?.breadcrumbs[1].text,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [item]);\n\n\tconst renderBreadCrumbs = (breadcrumbs: BreadCrumbsModel[]) => {\n\t\treturn (\n\t\t\t
      \n\t\t\t\t{breadcrumbs.map((item, key) => {\n\t\t\t\t\tconst shouldHaveSeparator = key !== breadcrumbs.length - 1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{shouldHaveSeparator && }\n\t\t\t\t\t\t
    • \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t);\n\t};\n\n\treturn (\n\t\t {\n\t\t\t\tonToggle && onToggle();\n\t\t\t}}\n\t\t\thasBreadcrumbs={item?.breadcrumbs ? true : false}\n\t\t\titemCode={item?.itemCode}\n\t\t\tcopyUrl={item?.copyUrl}\n\t\t>\n\t\t\t{item ? (\n\t\t\t\t
    \n\t\t\t\t\t{item.breadcrumbs && renderBreadCrumbs(item.breadcrumbs)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t{!isMobile && item.mediaGallery && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!isMobile && item.documents && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{(item.shortDescription || item.name) && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{item.name &&\n\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\titem.isInEditMode,\n\t\t\t\t\t\t\t\t\t\t'name',\n\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t{ className: 'text-orange text-h3 block' },\n\t\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{item.shortDescription &&\n\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\titem.isInEditMode,\n\t\t\t\t\t\t\t\t\t\t'shortDescription',\n\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tclassName: 'text-blue text-h2-large md:block mb-3',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\titem.shortDescription\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{item.longDescription && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{isMobile && item?.mediaGallery?.length > 0 && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isMobile && item?.certificates && item?.certificates?.length > 0 && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{item?.certificates?.map((c) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{isMobile && item.documents && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{item.prices && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{cartDisabled && (\n\t\t\t\t\t\t\t

    {t('shared/articlerow/loginforprice')}

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!disableControls && !cartHidden && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentQuantity(quantity);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\thandleAddToCart();\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentQuantity(1);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdisabled={cartDisabled}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{isMobile\n\t\t\t\t\t\t\t\t\t\t\t? t('shared/articlerow/add')\n\t\t\t\t\t\t\t\t\t\t\t: t('shared/articlerow/addtocart')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{item?.certificates && item?.certificates?.length > 0 && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{item?.certificates?.map((c) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{item.rangeSpecifications && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(item?.informationHeading || item.informationText) && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{item.informationHeading && (\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{item.informationHeading}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{item.informationText && (\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{item.informationText}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{item.contentsAndAvailability && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ArticleDetail;\n","import SpecificationsList from './SpecificationsList';\n\nexport default SpecificationsList;\n","import styled from 'styled-components';\nimport { FiHelpCircle } from 'react-icons/fi';\nimport { greyDarker, greyDarkest, grey } from 'theme/colors';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport { paragraphCss } from '../Typography';\n\ninterface ButtonProps {\n\tnoPadding?: boolean;\n\texpanded?: boolean;\n}\n\nexport const TooltipWrapper = styled.span`\n\tdisplay: inline-block;\n\tposition: relative;\n`;\n\nexport const Button = styled.button`\n\tborder: 0;\n\tvertical-align: top;\n\tbackground-color: transparent;\n\tpadding: ${({ noPadding }) => (noPadding ? '0' : '0 0.8rem ')};\n\tcursor: pointer;\n\tfont-size: 1.6rem;\n\tcolor: ${greyDarker};\n\t&:hover,\n\t&:focus {\n\t\tcolor: ${greyDarkest};\n\t}\n\n\t& * {\n\t\tpointer-events: none;\n\t}\n\t:before {\n\t\tcontent: '';\n\t\tdisplay: ${({ expanded }) => (expanded ? 'block' : 'none')};\n\t\tposition: absolute;\n\t\tbottom: -0.5rem;\n\t\tleft: 50%;\n\t\tmargin-left: -1rem;\n\t\tborder-width: 1rem;\n\t\tborder-style: solid;\n\t\tborder-color: transparent transparent ${grey} transparent;\n\t}\n`;\n\nexport const Icon = styled(FiHelpCircle)`\n\tvertical-align: middle;\n`;\n\nexport const Popout = styled.div`\n\t${paragraphCss}\n\tbackground-color: ${grey};\n\tpointer-events: none;\n\tz-index: 1000;\n\tbox-shadow: 0 0.6rem 1rem -0.5rem rgba(0, 0, 0, 0.38);\n\twidth: auto;\n\twhite-space: nowrap;\n\ttext-align: center;\n\tborder-radius: 0.2rem;\n\tpadding: ${spacing1x} ${spacing2x};\n\tposition: absolute;\n\ttop: 1.5rem;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n`;\n","import Tooltip from './Tooltip';\n\nexport default Tooltip;\n","import ArticleDetailConfiguration from './ArticleDetailConfiguration';\n\nexport default ArticleDetailConfiguration;\n","/**\n * ArticleDetailConfiguration\n * @module components/ArticleDetailConfiguration\n */\n\nimport LinkList from 'components/framework/LinkList';\nimport MediaGallery from 'components/framework/MediaGallery';\nimport SpecificationsList from 'components/framework/SpecificationsList';\nimport Modal from 'components/ui/Modal';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useContext, useEffect, useState } from 'react';\nimport {\n\tGenericWarning,\n\trenderElementBasedOnEditMode,\n\tServerError,\n} from 'common/helpers';\nimport Button from 'components/ui/Button';\nimport Tooltip from 'components/ui/Tooltip';\nimport Icon from 'components/ui/Icon';\nimport clsx from 'clsx';\nimport { toast } from 'react-toastify';\nimport ProductCounter from 'components/ui/ProductCounter';\nimport RichText from 'components/ui/RichText';\n\nimport { AddToCartModel } from 'types/cart-types';\nimport {\n\tBreadCrumbsModel,\n\tConfNumberModel,\n\tConfSelectModel,\n\tConfTextModel,\n} from 'types/common';\n\nimport {\n\tselectConfContent,\n\tselectConfOptions,\n\tselectConfSummary,\n\tselectConfQuantity,\n\tselectConfigurator,\n\tselectConfConfigId,\n\tselectConfItemId,\n\tfetchConfValidate,\n\tselectConfFieldLoading,\n\tselectConfPriceLoading,\n\tselectConfPrices,\n\tfetchConfPrices,\n} from 'store/modules/configurator';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useMedia } from 'hooks';\nimport { SeparatorIcon } from 'components/framework/ItemRow/ItemRow.styles';\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport { toastWithLink } from 'common/toastHelpers';\n\ninterface ArticleDetailConfPageModel {\n\tcloseModal: () => void;\n}\n\nconst ArticleDetailConfiguration = ({\n\tcloseModal,\n}: ArticleDetailConfPageModel): JSX.Element => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { loading } = useSelector(selectConfigurator);\n\tconst {\n\t\tmediaGallery,\n\t\tdocuments,\n\t\trangeSpecifications,\n\t\tunit,\n\t\tcurrency,\n\t\titemName,\n\t\titemCode,\n\t\tlongDescription,\n\t\tshortDescription,\n\t\tname,\n\t\tframework,\n\t\tbreadcrumbs,\n\t\tcopyUrl,\n\t} = useSelector(selectConfContent);\n\tconst { cartDisabled, cartHidden, cartLink } = useSelector(selectCartObject);\n\tconst confOptions = useSelector(selectConfOptions);\n\tconst summary = useSelector(selectConfSummary);\n\tconst quantity = useSelector(selectConfQuantity);\n\tconst configId = useSelector(selectConfConfigId);\n\tconst itemId = useSelector(selectConfItemId);\n\tconst prices = useSelector(selectConfPrices);\n\tconst priceLoading = useSelector(selectConfPriceLoading);\n\tconst fieldLoading = useSelector(selectConfFieldLoading);\n\tconst [values, setValues] = useState<\n\t\t{ id: string; value: string; type: string }[]\n\t>([]);\n\tconst [errorMessages, setErrorMessages] = useState({});\n\tconst [agreementsConfirmed, setAgreementsConfirmed] = useState(\n\t\tfalse\n\t);\n\tconst [autoValidation, setAutoValidation] = useState(true);\n\tconst dispatch = useDispatch();\n\tconst [currentQuantity, setCurrentQuantity] = useState(quantity || 1);\n\tconst [currentValues, setCurrentValues] = useState({});\n\tconst isMobile = useMedia('(max-width: 767px)');\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tlet articleList: AddToCartModel[] = [\n\t\t\t\t{\n\t\t\t\t\titemCode: itemCode || '',\n\t\t\t\t\tquantity: currentQuantity,\n\t\t\t\t\tconfigId: configId,\n\t\t\t\t\tconfigDescription: summary,\n\t\t\t\t},\n\t\t\t];\n\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t\ttoastWithLink(\n\t\t\t\tt('shared/toast/cartaddsuccess'),\n\t\t\t\tcartLink?.link,\n\t\t\t\ttoast.TYPE.SUCCESS\n\t\t\t);\n\n\t\t\tif (itemCode !== undefined && window.dataLayer) {\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\tevent: 'add_to_cart',\n\t\t\t\t\tdomain: framework?.header.activeMarket,\n\t\t\t\t\tecommerce: {\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem_name: itemName,\n\t\t\t\t\t\t\t\titem_id: itemCode,\n\t\t\t\t\t\t\t\tprice: prices && prices.dictionary['Bruttopris'],\n\t\t\t\t\t\t\t\tquantity: 1,\n\t\t\t\t\t\t\t\titem_category: breadcrumbs && breadcrumbs[0].text,\n\t\t\t\t\t\t\t\titem_category2: breadcrumbs && breadcrumbs[1].text,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst validateField = (\n\t\ttype: string,\n\t\tvalue: any,\n\t\tmin?: number,\n\t\tmax?: number\n\t) => {\n\t\tlet message: string = '';\n\t\tif ((type !== 'text' && value === '') || null) {\n\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t}\n\t\tif (type === 'number' && value !== '' && min && max) {\n\t\t\tconst fieldIsNotWithinRange =\n\t\t\t\t(parseInt(value) - min) * (parseInt(value) - max) > 0;\n\t\t\tif (fieldIsNotWithinRange)\n\t\t\t\tmessage = `${t('articledetailconfpage/rangemessage')} ${min}-${max}`;\n\t\t}\n\t\treturn message;\n\t};\n\n\tconst getValues = (id: string, value: string) => {\n\t\treturn values.map((item: { id: string; value: string; type: string }) => {\n\t\t\tif (item.id === id) {\n\t\t\t\treturn { ...item, value: value };\n\t\t\t} else return item;\n\t\t});\n\t};\n\n\tconst handleOnChange = (e: any, fieldIndex: number) => {\n\t\tconst { type, id, value, max, min } = e.target;\n\t\tsetCurrentValues({ ...currentValues, [id]: value });\n\t\tlet message: string = '';\n\t\tmessage = validateField(type, value, min, max);\n\t\tsetErrorMessages({ ...errorMessages, [id]: message });\n\n\t\t// Select - Make a request right after an option is selected\n\t\tif (type === 'select-one') {\n\t\t\tif (itemId && quantity !== undefined && autoValidation) {\n\t\t\t\tdispatch(\n\t\t\t\t\tfetchConfValidate(\n\t\t\t\t\t\tframework?.api.productConfiguratorValidate,\n\t\t\t\t\t\tgetValues(id, value),\n\t\t\t\t\t\titemId,\n\t\t\t\t\t\tquantity,\n\t\t\t\t\t\tfieldIndex\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetValues(getValues(id, value));\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleOnBlur = (e: any, defaultValue: string, fieldIndex: number) => {\n\t\tconst { id, value } = e.target;\n\t\tif (errorMessages[`${id}`] === '' && value !== defaultValue) {\n\t\t\tif (itemId && quantity !== undefined && autoValidation) {\n\t\t\t\tdispatch(\n\t\t\t\t\tfetchConfValidate(\n\t\t\t\t\t\tframework?.api.productConfiguratorValidate,\n\t\t\t\t\t\tgetValues(id, value),\n\t\t\t\t\t\titemId,\n\t\t\t\t\t\tquantity,\n\t\t\t\t\t\tfieldIndex\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tsetValues(getValues(id, value));\n\t\t\t}\n\t\t}\n\t};\n\n\tconst setMessagesAndValues = () => {\n\t\tlet message: string = '';\n\t\tlet initialMessages: { [key: string]: string } = {};\n\t\tlet defaultValues: { [key: string]: string } = {};\n\t\tconfOptions?.forEach((item: any) => {\n\t\t\tif (item.type === 'number' && !item.disabled) {\n\t\t\t\tmessage = validateField(\n\t\t\t\t\titem.type,\n\t\t\t\t\titem.value,\n\t\t\t\t\tparseInt(item.minValue),\n\t\t\t\t\tparseInt(item.maxValue)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmessage = validateField(item.type, item.value);\n\t\t\t}\n\t\t\tinitialMessages = { ...initialMessages, [item.id]: message };\n\t\t\tdefaultValues = { ...defaultValues, [item.id]: item.value };\n\t\t});\n\t\tsetErrorMessages(initialMessages);\n\t\tsetCurrentValues(defaultValues);\n\t};\n\n\tuseEffect(() => {\n\t\tsetMessagesAndValues();\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetMessagesAndValues();\n\t\tlet tmpValues: { id: string; value: string; type: string }[] = [];\n\t\tconfOptions?.forEach((item: any) => {\n\t\t\ttmpValues.push({\n\t\t\t\tid: item.id,\n\t\t\t\tvalue: item.value,\n\t\t\t\ttype: item.type,\n\t\t\t});\n\t\t});\n\t\tsetValues(tmpValues);\n\t\t//eslint-disable-next-line\n\t}, [confOptions]);\n\n\tuseEffect(() => {\n\t\tif (quantity) {\n\t\t\tsetCurrentQuantity(quantity);\n\t\t}\n\t}, [quantity]);\n\n\tconst handleKeyDown = (e: any) => {\n\t\tif (\n\t\t\t(e.target.type === 'number' || e.target.type === 'text') &&\n\t\t\te.keyCode === 13\n\t\t) {\n\t\t\te.target.blur();\n\t\t}\n\t\tif (e.target.type === 'checkbox' && e.keyCode === 13) {\n\t\t\te.preventDefault();\n\t\t\te.target.click();\n\t\t}\n\t};\n\n\tconst renderBreadCrumbs = (breadcrumbs: BreadCrumbsModel[]) => {\n\t\treturn (\n\t\t\t
      \n\t\t\t\t{breadcrumbs.map((item, key) => {\n\t\t\t\t\tconst shouldHaveSeparator = key !== breadcrumbs.length - 1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{shouldHaveSeparator && }\n\t\t\t\t\t\t
    • \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!cartDisabled && configId) {\n\t\t\tdispatch(fetchConfPrices(framework?.api.productConfiguratorPrice));\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [configId]);\n\n\treturn (\n\t\t\n\t\t\t{loading ? (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{breadcrumbs && renderBreadCrumbs(breadcrumbs)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{!isMobile && mediaGallery && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!isMobile && documents && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{name &&\n\t\t\t\t\t\t\t\t\tframework?.inEditMode &&\n\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t'name',\n\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t{ className: 'text-orange text-h3 block mt-3' },\n\t\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{shortDescription &&\n\t\t\t\t\t\t\t\t\tframework?.inEditMode &&\n\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\t\t\t'shortDescription',\n\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t{ className: 'text-blue text-h2-large md:block mb-3' },\n\t\t\t\t\t\t\t\t\t\tshortDescription\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{longDescription && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isMobile && mediaGallery && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isMobile && documents && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!cartDisabled ? (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{rangeSpecifications && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/configurateyourarticle')}\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{fieldLoading && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{confOptions?.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| ConfSelectModel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| ConfNumberModel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| ConfTextModel,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: number\n\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.type === 'select' && field.options ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnChange(e, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.options?.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(option: any, index: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!autoValidation || !field.disabled) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages[field.id]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : field.type === 'number' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Cast e.target to HTMLInputElement to access .blur()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst target = e.target as HTMLInputElement;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget.blur();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={`min. ${field.minValue} ${t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'articledetailconfpage/and'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)} max. ${field.maxValue}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnChange(e, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnBlur(e, field.value, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!autoValidation || !field.disabled) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages[field.id]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : field.type === 'text' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnChange(e, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOnBlur(e, field.value, index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={field.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(!autoValidation || !field.disabled) && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages[field.id]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (itemId && quantity !== undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfetchConfValidate(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tframework?.api.productConfiguratorValidate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tquantity,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/validate')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/summary')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/summarytooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t

    {summary}

    \n\t\t\t\t\t\t\t\t\t\t\t{prices && !priceLoading && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{priceLoading && (\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{configId && !cartHidden && (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/readytoorder')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('articledetailconfpage/readytoordertooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentQuantity(count);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleAddToCart();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t('shared/articlerow/add')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: t('shared/articlerow/addtocart')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{t('shared/articlerow/needtobeloggedintoconfigure')}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ArticleDetailConfiguration;\n","import styled from 'styled-components';\nimport { FiSquare, FiCheckSquare } from 'react-icons/fi';\nimport { Paragraph, H5 } from 'components/ui/Typography';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport { blue, greyDarkest, black } from 'theme/colors';\nimport { fontWeightSemiBold } from 'theme/typography';\nimport { deviceSmallMax } from 'theme/mediaQueries';\n\nexport const SquareIcon = styled(FiSquare)`\n\tcolor: ${greyDarkest};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\nexport const SquareCheckIcon = styled(FiCheckSquare)`\n\tdisplay: none;\n\tcolor: ${blue};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\n\nexport const Fieldset = styled.fieldset`\n\tborder: 0;\n\tpadding: 0;\n`;\n\nexport const Heading = styled(H5)`\n\tfont-weight: ${fontWeightSemiBold};\n\tmargin: 0;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.6rem;\n\t}\n`;\n\nexport const DefaultCheckbox = styled.input`\n\topacity: 0;\n\tposition: relative;\n\n\t:checked + ${SquareIcon} {\n\t\tdisplay: none;\n\t}\n\n\t:checked ~ ${SquareCheckIcon} {\n\t\tdisplay: inline-block;\n\t}\n`;\n\nexport const Body = styled(Paragraph)`\n\twidth: 100%;\n\tdisplay: inline-flex;\n\tjustify-content: space-between;\n\tmargin: 0 0 0 ${spacing2x};\n`;\n\nexport const RightContent = styled.span`\n\tcolor: ${greyDarkest};\n`;\n\nexport const LeftContent = styled.span`\n\tcolor: ${black};\n`;\n\nexport const Button = styled(Paragraph)`\n\tborder: 0;\n\tpadding: 0;\n\tbackground: none;\n\tcolor: ${greyDarkest};\n\tcursor: pointer;\n\toutline: none;\n\tmargin-top: 0;\n\tmargin-left: ${spacing1x};\n\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-bottom: 0;\n\t}\n`;\n","import clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\nimport { FacetItemModel } from 'types/filter-types';\n\nconst FilterOption = (props: {\n\talternateDisplay?: boolean;\n\tisOrderHistory?: boolean;\n\titem: FacetItemModel;\n\tfacetId: string;\n\tonChange: (facetId: string, id: string, active: boolean) => void;\n}) => {\n\tconst { facetId, item, onChange, alternateDisplay, isOrderHistory } = props;\n\tconst handleCheckbox = () => {\n\t\tonChange(facetId, item.id, !item.active);\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{item.active ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t{item.name}\n\t\t\t\t\n\t\t\t\t\t{item.count}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FilterOption;\n","import clsx from 'clsx';\nimport { FacetItemModel } from 'types/filter-types';\n\nconst FilterByRegion = (props: {\n\talternateDisplay?: boolean;\n\titem: FacetItemModel;\n\tfacetId: string;\n\tonChange: (facetId: string, id: string, active: boolean) => void;\n\tclassName?: string;\n}) => {\n\tconst { facetId, item, onChange, alternateDisplay, className } = props;\n\n\tconst handleClick = () => {\n\t\tonChange(facetId, item.id, !item.active);\n\t};\n\treturn (\n\t\t
  • \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{item.name} ({item.count})\n\t\t\t\t\n\t\t\t\n\t\t
  • \n\t);\n};\n\nexport default FilterByRegion;\n","import clsx from 'clsx';\nimport { FacetItemModel } from 'types/filter-types';\n\nconst FilterByLocationType = (props: {\n\titem: FacetItemModel;\n\tfacetId: string;\n\tonChange: (facetId: string, id: string, active: boolean) => void;\n\tclassName?: string;\n}) => {\n\tconst { facetId, item, onChange, className } = props;\n\n\tconst handleClick = () => {\n\t\tonChange(facetId, item.id, !item.active);\n\t};\n\treturn (\n\t\t
  • \n\t\t\t\n\t\t\t\t{item.name}\n\t\t\t\n\t\t
  • \n\t);\n};\n\nexport default FilterByLocationType;\n","/**\n * FilterFieldSet\n * @module components/FilterFieldSet\n */\n\nimport { useContext, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { Fieldset, Heading, Button } from './FilterFieldSet.styles';\nimport { FacetItemModel } from 'types/filter-types';\nimport FilterOption from './FilterOption';\nimport FilterByRegion from './FilterByRegion';\nimport { FilterFacets } from 'types/common';\nimport FilterByLocationType from './FilterByLocationType';\nimport { useMedia } from 'hooks';\nimport { FiChevronDown } from 'react-icons/fi';\n\ninterface FilterFieldSetModel {\n\tname: string;\n\titems: FacetItemModel[];\n\tfacetId: string;\n\tclassName?: string;\n\tonChange: (facetId: string, id: string, active: boolean) => void;\n\tdefaultNumberToShow?: number;\n\talternateDisplay?: boolean;\n\tshowFieldset?: boolean;\n\tisNewContactPage?: boolean;\n\tisOrderHistory?: boolean;\n}\n\nconst FilterFieldSet = ({\n\talternateDisplay,\n\tname,\n\titems,\n\tfacetId,\n\tclassName,\n\tonChange,\n\tdefaultNumberToShow,\n\tisNewContactPage = false,\n\tisOrderHistory = false,\n}: FilterFieldSetModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst isMobile = useMedia('(max-width: 1300px)');\n\tconst [expanded, setExpanded] = useState(false);\n\n\tconst toggleShowMore = () => {\n\t\tsetExpanded(!expanded);\n\t};\n\n\tconst numberToShow = defaultNumberToShow || 5;\n\n\tconst handleChange = (event: any) => {\n\t\tonChange(facetId, event.target.value, true);\n\t};\n\n\t// Calculate if there are more items to show to show dropdown if it does not fit in the container\n\tconst names: string[] = items.map((item) => item.name);\n\tconst totalLength: number = names.reduce(\n\t\t(acc, name) =>\n\t\t\tacc + name.length + (FilterFacets.LOCATION_TYPE === facetId ? 0 : 3),\n\t\t0\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{isNewContactPage ? (\n\t\t\t\t<>\n\t\t\t\t\t{(isMobile || totalLength > 114) &&\n\t\t\t\t\t(FilterFacets.REGION === facetId ||\n\t\t\t\t\t\tFilterFacets.LOCATION_TYPE === facetId) ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{items.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{FilterFacets.REGION === facetId && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{FilterFacets.LOCATION_TYPE === facetId && (\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t{name && {name}}\n\t\t\t\t\t{items && items.length < numberToShow ? (\n\t\t\t\t\t\titems.map((item) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\t\t\tif (expanded || i < numberToShow - 1) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\ttoggleShowMore();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{expanded ? (\n\t\t\t\t\t\t\t\t\t<>{`- ${t('shared/filter/lessoptions')}`}\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>{`+ ${t('shared/filter/moreoptions')}`}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default FilterFieldSet;\n","import FilterFieldSet from './FilterFieldSet';\n\nexport default FilterFieldSet;\n","import { Paragraph } from 'components/ui/Typography';\nimport styled from 'styled-components';\nimport {\n\tspacing05x,\n\tspacing1x,\n\tspacing2x,\n\tspacing3x,\n\tspacing4x,\n\tspacing5x,\n\tspacing9x,\n} from 'theme/spacings';\nimport { blue, grey, greyDarkest } from 'theme/colors';\nimport FilterField from 'components/ui/FilterField';\nimport FilterFieldSet from 'components/framework/FilterFieldSet';\nimport Pager from 'components/ui/Pager';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { FiSliders } from 'react-icons/fi';\nimport Button from 'components/ui/Button';\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\tmargin-bottom: ${spacing5x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: block;\n\t\tmargin-bottom: ${spacing2x};\n\t}\n`;\n\nexport const TopContent = styled.div`\n\twidth: 100%;\n\tpadding-right: ${spacing4x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t}\n`;\n\nexport const LeftContent = styled.div`\n\twidth: 50%;\n\tpadding-right: ${spacing4x};\n\tposition: relative;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin-top: inherit;\n\t}\n`;\n\nexport const RightContent = styled.div`\n\twidth: 50%;\n\tpadding-top: ${spacing9x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: none;\n\t}\n`;\n\nexport const Heading = styled.h1`\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: 0;\n\t}\n`;\n\nexport const ArticleWrapper = styled.div`\n\tdisplay: flex;\n\tmargin-bottom: ${spacing5x};\n\n\t@media (max-width: 890px) {\n\t\tdisplay: block;\n\t}\n`;\n\nexport const SlidersIcon = styled(FiSliders)`\n\tdisplay: inherit;\n\tcolor: ${greyDarkest};\n\tfont-size: 2.4rem;\n\n\t:focus {\n\t\tcolor: ${blue};\n\t}\n`;\nexport const SlidersButton = styled.button`\n\tdisplay: inline-block;\n\tborder: none;\n\tbackground: none;\n\tposition: absolute;\n\tright: 1.4rem;\n\ttop: 1.5rem;\n`;\n\nexport const FilterCol = styled.div`\n\tbackground-color: ${grey};\n\twidth: 25%;\n\tpadding: 1.2rem;\n\tmargin-right: ${spacing2x};\n\tposition: relative;\n\n\t@media (max-width: 890px) {\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t}\n`;\n\nexport const ArticleCol = styled.div`\n\twidth: ${(props) => (props.fullWidth ? '100%' : '75%')};\n\n\t@media (max-width: 890px) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const InputField = styled(FilterField)`\n\tmargin-top: ${spacing1x};\n\tmargin-bottom: ${spacing3x};\n\n\t@media (max-width: 890px) {\n\t\twidth: ${(props) => (props.fullWidth ? '100%' : '85%')};\n\t\tdisplay: inline-block;\n\t\tmargin: 0;\n\t}\n`;\n\nexport const FieldSet = styled(FilterFieldSet)`\n\t@media (max-width: 890px) {\n\t\tmargin: ${spacing2x} 0;\n\t\tdisplay: ${({ showFieldset }) => (showFieldset ? 'inherit' : 'none')};\n\t}\n`;\n\nexport const PagerWrapper = styled(Pager)`\n\tmargin: 2rem 0;\n`;\n\nexport const ClearFilterButton = styled(Paragraph)`\n\tborder: none;\n\tbackground: none;\n\tcolor: ${blue};\n\tcursor: pointer;\n\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const LinkButtonWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n\tmargin-top: ${spacing5x};\n`;\n\nexport const LinkButton = styled(Button)`\n\tmargin: 0 0 ${spacing2x};\n\t& > svg {\n\t\tmargin: 0 ${spacing05x} 0 0;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0.8rem 1.2rem;\n\t}\n`;\n","import styled from 'styled-components';\nimport { greyDarker, blue, white } from 'theme/colors';\nimport { Paragraph } from 'components/ui/Typography';\nimport { FiChevronDown, FiChevronUp } from 'react-icons/fi';\nimport { fontWeightLight } from 'theme/typography';\n\nexport const Expander = styled.div`\n\tdisplay: flex;\n\tpadding: 0.1rem 0;\n\tposition: relative;\n\n\t&::before {\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\tcontent: '';\n\t\theight: 0.1rem;\n\t\twidth: 100%;\n\t\tbackground-color: ${greyDarker};\n\t\ttop: 1.3rem;\n\t}\n`;\n\nexport const Div = styled.div`\n\tmargin: 0 auto;\n\tz-index: 100;\n\tpadding: 0 1rem;\n\tbackground: ${white};\n`;\n\nexport const ShowMore = styled(Paragraph)`\n\tfont-weight: ${fontWeightLight};\n\tmargin: 0 0.2rem 0 0;\n\tcolor: ${blue};\n\tdisplay: inline-block;\n`;\n\nexport const IconDown = styled(FiChevronDown)`\n\tvertical-align: middle;\n\tcolor: ${blue};\n\tfont-size: 1.6rem;\n`;\n\nexport const IconUp = styled(FiChevronUp)`\n\tvertical-align: middle;\n\tcolor: ${blue};\n\tfont-size: 1.6rem;\n`;\n\nexport const Link = styled.a`\n\ttext-decoration: none;\n\n\t&:hover ${ShowMore} {\n\t\ttext-decoration: underline;\n\t}\n`;\n","/**\n * ExpansionPanel\n * @module components/ExpansionPanel\n */\n\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\nimport {\n\tShowMore,\n\tExpander,\n\tLink,\n\tDiv,\n\tIconDown,\n\tIconUp,\n} from './ExpansionPanel.styles';\n\nconst ExpansionPanel = ({ toggleExpansionPanel, expanded, className }) => {\n\tconst { t } = useContext(LocalizationContext);\n\n\treturn (\n\t\t {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleExpansionPanel();\n\t\t\t}}\n\t\t\tclassName={className}\n\t\t>\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{expanded ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('shared/expansionpanel/showless')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('shared/expansionpanel/showmore')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t);\n};\n\nExpansionPanel.propTypes = {\n\ttoggleExpansionPanel: PropTypes.func,\n\texpanded: PropTypes.bool,\n};\n\nexport default ExpansionPanel;\n","import ProductDetailPage from './ProductDetailPage';\n\nexport default ProductDetailPage;\n","/**\n * ProductDetailPage\n * @module pages/ProductDetailPage\n */\n\nimport React, {\n\tuseState,\n\tuseEffect,\n\tuseContext,\n\tuseRef,\n\tuseReducer,\n} from 'react';\n\nimport { LocalizationContext } from 'context/localization.context';\nimport { renderElementBasedOnEditMode, scrollToTop } from 'common/helpers';\nimport { useFilterSearch } from 'api';\nimport { useMedia } from 'hooks';\nimport { composeQueryString, setUrlLocation } from 'common/helpers';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport MediaGallery from 'components/framework/MediaGallery';\nimport ArticleRow from 'components/framework/ArticleRow';\nimport Layout from 'components/ui/Layout';\nimport FilterBar from 'components/ui/FilterBar';\nimport FilterChip from 'components/ui/FilterChip';\nimport { Paragraph } from 'components/ui/Typography';\nimport ArticleDetail from 'components/common/ArticleDetail';\nimport ArticleDetailConfiguration from 'components/common/ArticleDetailConfiguration';\nimport PromoBlock from 'components/common/PromoBlock';\nimport listFilterReducer from 'reducers/listFilterReducer';\n\nimport {\n\tWrapper,\n\tHeading,\n\tTopContent,\n\tLeftContent,\n\tRightContent,\n\tArticleWrapper,\n\tFilterCol,\n\tSlidersButton,\n\tSlidersIcon,\n\tArticleCol,\n\tInputField,\n\tPagerWrapper,\n\tClearFilterButton,\n\tLinkButton,\n\tLinkButtonWrapper,\n} from './ProductDetailPage.styles';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport { usePopState } from 'hooks/usePopState';\nimport ContentArea from 'components/framework/ContentArea';\nimport { FiChevronsRight } from 'react-icons/fi';\nimport {\n\tFacetItemModel,\n\tFacetsItemModel,\n\tFilterStateAction,\n} from 'types/filter-types';\nimport clsx from 'clsx';\nimport SpecificationsList from 'components/framework/SpecificationsList/SpecificationsList';\nimport ExpansionPanel from 'components/ui/ExpansionPanel/ExpansionPanel';\nimport LinkList from 'components/framework/LinkList/LinkList';\nimport FilterFieldSet from 'components/framework/FilterFieldSet';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { selectUserObject } from 'store/modules/user';\nimport { usePriceStockDetail } from 'api/general';\nimport { selectCartObject } from 'store/modules/cart';\nimport Icon from 'components/ui/Icon';\nimport RichText from 'components/ui/RichText';\nimport { confReset } from 'store/modules/configurator';\nimport { ProductDetailPageModel } from 'types/page-types';\nimport { ArticleRowItemModel } from 'types/article';\n\nconst ProductDetailPage = ({\n\tname,\n\tbreadcrumbs,\n\tcontentArea,\n\tshortDescription,\n\tlongDescription,\n\trangeSpecifications,\n\tdocuments,\n\tmediaGallery,\n\tpagination,\n\tfilter,\n\tarticleList,\n\tpriceInfo,\n\tframework,\n\tisInEditMode,\n\tconfArticle,\n\tlinks,\n\tarticleModal,\n}: ProductDetailPageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst confDispatch = useDispatch();\n\tconst { cartDisabled } = useSelector(selectCartObject);\n\n\tconst { customers, projects, warehouses } = useSelector(selectUserObject);\n\tconst [showMore, setShowMore] = useState(false);\n\tconst toggleExpansionPanel = () => {\n\t\tsetShowMore(!showMore);\n\t};\n\tconst [articleDetailModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null as any,\n\t});\n\n\tconst [confModalOpen, setConfModalOpen] = useState(false);\n\tconst toggleConfModal = () => {\n\t\tsetConfModalOpen(!confModalOpen);\n\t\tconfDispatch(confReset());\n\t};\n\n\tconst [showFilter, setShowFilter] = useState(false);\n\n\tconst toggleMobileFilter = () => {\n\t\tsetShowFilter(!showFilter);\n\t};\n\n\tconst [query, setQuery] = useState(null);\n\tconst [response, error, loading] = useFilterSearch(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null\n\t);\n\n\t//const [priceInformation, setPriceInformation] = useState([]);\n\t//const [priceLoading, setPriceLoading] = useState(false);\n\n\tconst isMobile = useMedia('(max-width: 490px)');\n\t//const mobileView = useMedia('(max-width: 767px)');\n\tconst tabletView = useMedia('(max-width: 890px)');\n\n\t// Handle filter, query and pagination.\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tdisplay: pagination.display,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t\tfacets: filter.facets,\n\t\tarticle: filter.article,\n\t});\n\n\tlet didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = usePopState(state);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tdispatch({ type: 'SET_STATE', payload: popState });\n\t\t\tpreventHistoryEntry.current = true;\n\t\t}\n\t}, [popState, popStateString]);\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets,\n\t\t\tnull,\n\t\t\tnull,\n\t\t\tstate.article\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\n\t\tif (queryString !== query) {\n\t\t\tsetUrlLocation(\n\t\t\t\tqueryString,\n\t\t\t\tstate.query,\n\t\t\t\tstate.sortBy,\n\t\t\t\tstate.display,\n\t\t\t\tstate.currentPage,\n\t\t\t\tstate.facets,\n\t\t\t\tnull,\n\t\t\t\thasRendered,\n\t\t\t\tpreventHistoryEntry.current,\n\t\t\t\tstate.article\n\t\t\t);\n\t\t}\n\t}, [query, state]);\n\n\tuseEffect(() => {\n\t\tarticleModal && setArticleModal({ isActive: true, link: articleModal });\n\t}, []);\n\n\tconst removeArticleParam = () => {\n\t\tdispatch({ type: 'ARTICLE', article: '' } as FilterStateAction);\n\t};\n\n\tconst handleFilterRequest = (\n\t\tid?: string | number,\n\t\tdisplay?: string | number,\n\t\tarticle?: string | number\n\t) => {\n\t\tdispatch({ type: 'SORT_BY', sortBy: id } as FilterStateAction);\n\t\tdispatch({ type: 'DISPLAY', display: display } as FilterStateAction);\n\t\tdispatch({ type: 'ARTICLE', article: article } as FilterStateAction);\n\t};\n\n\tconst handleFacet = (facetId: string, itemId: string, value: any) => {\n\t\tconst facet = state.facets?.find((f: FacetsItemModel) => f.id === facetId);\n\t\tconst item = facet?.items.find((i: FacetItemModel) => i.id === itemId);\n\t\titem && (item.active = value);\n\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [] });\n\t};\n\n\tconst clearFacets = () => {\n\t\tstate.facets?.forEach((facet: FacetsItemModel) =>\n\t\t\tfacet.items.forEach((item) => (item.active = false))\n\t\t);\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [] });\n\t};\n\n\tconst handleSearch = (value: string) => {\n\t\tif (state.query !== value) {\n\t\t\tdispatch({ type: 'QUERY', query: value } as FilterStateAction);\n\t\t}\n\t};\n\n\tconst handlePagination = (value: number) => {\n\t\tscrollToTop(tabletView ? 0 : 800);\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value } as FilterStateAction);\n\t};\n\n\tconst paginationObject = response.pagination || pagination;\n\n\tconst articlesArray = response.articleList || articleList;\n\n\tconst anyActiveFacetFilter = state.facets?.some((facet: FacetsItemModel) =>\n\t\tfacet.items.some((item) => item.active === true)\n\t);\n\n\tuseEffect(() => {\n\t\tif (response && response.filter && response.filter.facets) {\n\t\t\tdispatch({ type: 'FACETS', facets: response.filter.facets });\n\t\t}\n\t}, [response]);\n\n\tconst hasArticles = articlesArray && articlesArray.length > 0;\n\tconst shouldShowListing =\n\t\tarticleList && articleList.length >= 0 && articleList !== null;\n\n\tconst [priceResponse, priceError, priceLoading] = usePriceStockDetail({\n\t\tarticlesArray: response.articleList\n\t\t\t? [...response.articleList]\n\t\t\t: articleList,\n\t\tcompanyId: framework.header.activeMarket,\n\t\tcustomerId: customers?.filter((item: any) => item.selected === true)[0]?.id,\n\t\tprojectId: projects?.filter((item: any) => item.selected === true)[0]?.id,\n\t\twarehouseId: warehouses?.filter((item: any) => item.selected === true)[0]\n\t\t\t?.id,\n\t\turl: framework.api.priceStockDetailsUrl,\n\t\tdesiredDeliveryDate: '',\n\t\tpreventRequest: cartDisabled,\n\t});\n\n\tconst priceInformation =\n\t\tpriceResponse && priceResponse.articleList ? priceResponse.articleList : [];\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{(shortDescription || name) && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{name &&\n\t\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t\t\t\t\t\t'name',\n\t\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t\t{ className: 'text-orange text-h3 block mt-4' },\n\t\t\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{shortDescription &&\n\t\t\t\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t\t\t\t\t\t'shortDescription',\n\t\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t\t{ className: 'text-blue text-h2-large md:block mb-3' },\n\t\t\t\t\t\t\t\t\t\t\tshortDescription\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{longDescription && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{links && links.length > 0 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{links.map((item, index) => (\n\t\t\t\t\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{mediaGallery && mediaGallery.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{rangeSpecifications && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{documents && documents.length === 0 ? (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t) : documents.length > 3 ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : documents && documents.length < 4 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{mediaGallery && mediaGallery.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{shouldShowListing && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{shouldShowListing && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tabletView && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{state.facets && state.facets && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{state.facets.map((fieldset: FacetsItemModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{fieldset.name && fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{anyActiveFacetFilter && (\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{state.facets?.map((facet: FacetsItemModel, i: number) => {\n\t\t\t\t\t\t\t\t\t\treturn facet.items.map((facetItem, j) => {\n\t\t\t\t\t\t\t\t\t\t\treturn facetItem.active ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : null;\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{anyActiveFacetFilter && (\n\t\t\t\t\t\t\t\t clearFacets()}>\n\t\t\t\t\t\t\t\t\t{t('shared/filter/clearallfilters')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!loading && error && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{t('shared/filter/errormessage')}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{hasArticles && !error && !loading\n\t\t\t\t\t\t\t\t? articlesArray.map((item: ArticleRowItemModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\t x.itemCode === item.itemCode\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\topenModal={\n\t\t\t\t\t\t\t\t\t\t\t\titem.configurable ? toggleConfModal : setArticleModal\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tpriceLoading={priceLoading}\n\t\t\t\t\t\t\t\t\t\t\tcertificates={item?.certificates}\n\t\t\t\t\t\t\t\t\t\t\tkey={`articleRow-${i}`}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t ))\n\t\t\t\t\t\t\t\t: !error &&\n\t\t\t\t\t\t\t\t !loading && (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/filter/noresultmessage')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t )}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\t{confArticle && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{contentArea && contentArea.length > 0 && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{articleDetailModal.isActive && (\n\t\t\t\t {\n\t\t\t\t\t\tremoveArticleParam();\n\t\t\t\t\t\tsetArticleModal({ link: null, isActive: false });\n\t\t\t\t\t}}\n\t\t\t\t\tarticleApiUrl={articleDetailModal.link}\n\t\t\t\t\tactiveMarket={framework.header.activeMarket}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{confModalOpen && (\n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default ProductDetailPage;\n","import AddNotesModal from './AddNotesModal';\n\nexport default AddNotesModal;\n","/**\n * AddNotesModal\n * @module components/AddNotesModal\n */\n\nimport React, { useContext, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Modal from 'components/ui/Modal';\nimport Button from '../Button';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\n\ninterface Props {\n\t/** Toggle modal callback */\n\tonToggle: any;\n\n\thandleAddNotes: any;\n\n\tgoodsMarking?: string;\n\n\tcomment?: string;\n\n\tcommentHidden?: boolean;\n\n\tmaxLengthLimits?: {\n\t\tarticleGoodsMarkingLength: number;\n\t\tarticleCommentsLength: number;\n\t};\n}\nconst AddNotesModal = ({\n\tonToggle,\n\thandleAddNotes,\n\tgoodsMarking: defaultGoodMarking,\n\tcomment: defaultComment,\n\tcommentHidden,\n\tmaxLengthLimits,\n}: Props) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst { goodsMarkingHidden } = useSelector(selectCartObject);\n\tconst [goodsmarking, setGoodsmarking] = useState(defaultGoodMarking || '');\n\tconst [comment, setComment] = useState(defaultComment || '');\n\treturn (\n\t\t\n\t\t\t{!goodsMarkingHidden ? (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t setGoodsmarking(e.target.value)}\n\t\t\t\t\t\tmaxLength={maxLengthLimits?.articleGoodsMarkingLength}\n\t\t\t\t\t>\n\t\t\t\t
    \n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t)}\n\n\t\t\t{commentHidden ? (\n\t\t\t\t<>\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t setComment(e.target.value)}\n\t\t\t\t\t\tmaxLength={maxLengthLimits?.articleCommentsLength}\n\t\t\t\t\t/>\n\t\t\t\t
    \n\t\t\t)}\n\n\t\t\t
    \n\t\t\t\t handleAddNotes(goodsmarking, comment)}\n\t\t\t\t>\n\t\t\t\t\t{t('shared/articlerow/savenote')}\n\t\t\t\t\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default AddNotesModal;\n","/**\n * DatePickerInput\n * @module components/DatePickerInput\n */\n\nimport React, { useContext, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport DatePicker, { registerLocale } from 'react-datepicker';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport clsx from 'clsx';\nimport {\n\tsv,\n\tda,\n\tde,\n\tfi,\n\tnlBE,\n\tnb,\n\tro,\n\thu,\n\tcs,\n\tenGB,\n\tenUS,\n\tenIE,\n\tfr,\n\tnl,\n\tfrCH,\n\tit,\n\tet,\n} from 'date-fns/locale';\nimport Icon from '../Icon';\n\nregisterLocale('sv', sv);\nregisterLocale('hu', hu);\nregisterLocale('nl', nl);\nregisterLocale('fr', fr);\nregisterLocale('cs', cs);\nregisterLocale('da', da);\nregisterLocale('fi', fi);\nregisterLocale('de', de);\nregisterLocale('enGB', enGB);\nregisterLocale('enUS', enUS);\nregisterLocale('enIE', enIE);\nregisterLocale('frCH', frCH);\nregisterLocale('nlBE', nlBE);\nregisterLocale('it', it);\nregisterLocale('no', nb);\nregisterLocale('ro', ro);\nregisterLocale('et', et);\n\ninterface DatePickerProps {\n\tminDate?: Date;\n\n\tdaysDisabled?: any;\n\n\tid?: any;\n\n\tactiveMarket?: any;\n\n\tselected?: Date;\n\n\tonSelected?: any;\n\n\tonChange: any;\n\n\tclassName?: string;\n\n\tdisabled?: boolean;\n\n\tlanguage?: string;\n\n\tsize?: 'small' | 'default';\n}\n\nconst DatePickerInput: React.FC = (props) => {\n\tconst {\n\t\tminDate,\n\t\tclassName,\n\t\tdaysDisabled,\n\t\tid,\n\t\tactiveMarket,\n\t\tdisabled,\n\t\tlanguage,\n\t\tsize = 'default',\n\t} = props;\n\tconst minimumDate = minDate || new Date();\n\n\tlet locale = language ? language.toLowerCase() : 'sv';\n\n\t// specific cases, e.g. when the activeMarket is Switzerland but the chosen language is French\n\n\tswitch (language + '-' + activeMarket) {\n\t\tcase 'fr-CHE':\n\t\t\tlocale = 'frCH';\n\t\t\tbreak;\n\t\tcase 'en-IRL':\n\t\t\tlocale = 'enIE';\n\t\t\tbreak;\n\t\tcase 'en-GBR':\n\t\t\tlocale = 'enGB';\n\t\t\tbreak;\n\t\tcase 'en-COM':\n\t\t\tlocale = 'enUS';\n\t\t\tbreak;\n\t\tcase 'nl-BEL':\n\t\t\tlocale = 'nlBE';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst datePicker = useRef();\n\n\treturn (\n\t\t\n\t\t\t (datePicker.current = ref)}\n\t\t\t\ttimeInputLabel=\"Date\"\n\t\t\t\tfilterDate={daysDisabled}\n\t\t\t/>\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\t(datePicker.current as any).setOpen(true);\n\t\t\t\t}}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\tdisabled && 'bg-greyDark',\n\t\t\t\t\t'datepicker__button',\n\t\t\t\t\tsize === 'small'\n\t\t\t\t\t\t? 'datepicker__button--small'\n\t\t\t\t\t\t: 'datepicker__button--default'\n\t\t\t\t)}\n\t\t\t\tdisabled={disabled}\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DatePickerInput;\n","import DatePickerInput from './DatePickerInput';\n\nexport default DatePickerInput;\n","/**\n * CartArticleRow\n */\n\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport ProductCounter from 'components/ui/ProductCounter';\nimport { useMedia } from 'hooks';\nimport { useContext, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport {\n\tAddNotes,\n\tAddToCart,\n\tselectCartObject,\n\tUpdateArticleDeliveryDates,\n} from 'store/modules/cart';\n\nimport { ArticleDeliveryDatesModel, ArticleModel } from 'types/article';\nimport { AddToCartModel } from 'types/cart-types';\nimport { AddNotesModel, CertificatesItem } from 'types/common';\n\nimport { GenericWarning, ServerError } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport AddNotesModal from 'components/ui/AddNotesModal';\nimport DatePickerInput from 'components/ui/DatePickerInput';\nimport { getDay } from 'date-fns';\nimport clsx from 'clsx';\nimport Certificate from 'components/ui/Certificate';\n\ninterface Props extends ArticleModel {\n\thandleQuantityChange?: Function;\n\n\thandleOpenArticleModal?: any;\n\n\thandleRemoveArticle?: any;\n\n\thandleCheck?: any;\n\n\tchecked?: boolean;\n\n\taddToCartBtnDisabled?: boolean;\n\n\tnotesModalDisabled?: boolean;\n\n\tcartLoading?: boolean;\n\n\tfirstItem?: boolean;\n\n\tshipDate?: string;\n\n\tearliestShipDate?: string;\n\n\tshipDateChanged?: boolean;\n\n\tdisabled?: boolean;\n\n\tsort?: string;\n\n\tactiveMarket?: string;\n\n\tcertificates?: CertificatesItem[];\n\n\tlanguage?: string;\n\n\tmessage?: string;\n\n\tconfigId?: string;\n}\n\n/** Main description for this component. */\nconst CartArticleRow = (prop: Props): JSX.Element => {\n\tconst {\n\t\tattributeName,\n\t\titemName,\n\t\tunit,\n\t\tlineItemId,\n\t\titemCode,\n\t\tpackingQuantity,\n\t\tstockQuantity,\n\t\tquantity,\n\t\tconfigDescription,\n\t\timage,\n\t\tleadTime,\n\t\tnotes,\n\t\tcertificates,\n\t\tprices,\n\t\tlink,\n\t\thandleQuantityChange,\n\t\thandleOpenArticleModal,\n\t\thandleRemoveArticle,\n\t\thandleCheck,\n\t\tchecked,\n\t\taddToCartBtnDisabled = true,\n\t\tnotesModalDisabled = false,\n\t\tcartLoading = false,\n\t\tshipDate,\n\t\tearliestShipDate,\n\t\tshipDateChanged,\n\t\tsort,\n\t\tactiveMarket,\n\t\tlanguage,\n\t\tisRemovable,\n\t\tisEditableQuantity,\n\t\tmessage,\n\t\tconfigId,\n\t} = prop;\n\n\tconst {\n\t\twithPrice,\n\t\tgoodsMarkingHidden,\n\t\tshipments,\n\t\tsingleShipment,\n\t\tcommentHidden,\n\t\tlimitation,\n\t} = useSelector(selectCartObject);\n\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst isMobile = useMedia('(max-width: 1024px)');\n\tconst [noteModalActive, setNoteModalActive] = useState(false);\n\tconst toggleNoteModal = () => {\n\t\tsetNoteModalActive(!noteModalActive);\n\t};\n\n\tconst handleAddNotes = async (goodsmarking?: string, comment?: string) => {\n\t\ttry {\n\t\t\tconst notesArray: AddNotesModel[] = [\n\t\t\t\t{\n\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\tlineItemId: lineItemId,\n\t\t\t\t\tgoodsMarking: goodsmarking,\n\t\t\t\t\tcomments: comment,\n\t\t\t\t},\n\t\t\t];\n\t\t\tawait dispatch(AddNotes(notesArray, sort));\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartaddnoteserror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\ttoggleNoteModal();\n\t\t}\n\t};\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tconst articleList: AddToCartModel[] = [\n\t\t\t\t{\n\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\tquantity: quantity,\n\t\t\t\t\tconfigId: configId,\n\t\t\t\t\tconfigDescription: configDescription,\n\t\t\t\t\tgoodsMarking: notes.goodsMarking,\n\t\t\t\t\tcomments: notes.comments,\n\t\t\t\t},\n\t\t\t];\n\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t\ttoast(t('shared/toast/cartaddsuccess'), { type: toast.TYPE.SUCCESS });\n\n\t\t\tif (window.dataLayer) {\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\tevent: 'add_to_cart',\n\t\t\t\t\tdomain: activeMarket,\n\t\t\t\t\tecommerce: {\n\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem_name: itemName,\n\t\t\t\t\t\t\t\titem_id: itemCode,\n\t\t\t\t\t\t\t\tprice: prices.amountGrossPriceFormatted,\n\t\t\t\t\t\t\t\titem_variant: attributeName,\n\t\t\t\t\t\t\t\tquantity: quantity,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\tconst adjustForTimezone = (date: Date) => {\n\t\tlet timeOffsetInMS = date.getTimezoneOffset() * 60000;\n\t\tdate.setTime(date.getTime() - timeOffsetInMS);\n\t\treturn date;\n\t};\n\tconst getDateString = (date: Date) => {\n\t\treturn `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${(\n\t\t\t'0' + date.getDate()\n\t\t).slice(-2)}`;\n\t};\n\tconst handleDateChanged = async (date: Date) => {\n\t\ttry {\n\t\t\tconst updateDeliveryDates: ArticleDeliveryDatesModel[] = [\n\t\t\t\t{\n\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\tlineItemId: lineItemId,\n\t\t\t\t\tshipDate: getDateString(adjustForTimezone(date)),\n\t\t\t\t},\n\t\t\t];\n\t\t\tawait dispatch(UpdateArticleDeliveryDates(updateDeliveryDates));\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartaddnoteserror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t 0\n\t\t\t\t\t\t\t? 'lg:max-w-137.5'\n\t\t\t\t\t\t\t: 'lg:max-w-160'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{!goodsMarkingHidden && handleCheck && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleCheck(itemCode, lineItemId)}\n\t\t\t\t\t\t\t\tdefaultChecked={checked}\n\t\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\t\tclassName=\"w-4.5 h-4.5\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/goodsmark/selectarticle')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t{image && image.src ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{link ? (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleOpenArticleModal({ link: link, isActive: true });\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    {`#${itemCode}`}

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{attributeName}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{itemName && (\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{itemName}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    {`#${itemCode}`}

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{attributeName}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{itemName && (\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{itemName}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{packingQuantity && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/articlerow/packagesize')}\n\t\t\t\t\t\t\t\t{`${packingQuantity} ${unit}`}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{stockQuantity && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/articlerow/stocklevel')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{stockQuantity}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{leadTime && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/articlerow/leadtime')}\n\t\t\t\t\t\t\t\t{`${leadTime} ${t(\n\t\t\t\t\t\t\t\t\t'shared/articlerow/days'\n\t\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{notesModalDisabled && (notes?.goodsMarking || notes?.comments) && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{!goodsMarkingHidden && notes.goodsMarking && (\n\t\t\t\t\t\t\t\t\t\t{notes.goodsMarking}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{notes.comments && (\n\t\t\t\t\t\t\t\t\t\t{notes.comments}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{configDescription && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleOpenArticleModal({ link: link, isActive: true });\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{configDescription}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!(commentHidden && goodsMarkingHidden) &&\n\t\t\t\t\t\t\t!notesModalDisabled &&\n\t\t\t\t\t\t\tnotes && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\ttoggleNoteModal();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{notes.goodsMarking || notes.comments ? (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{!goodsMarkingHidden && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{notes.goodsMarking}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{notes.comments}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tt('shared/articlerow/addanote')\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{certificates && certificates?.length > 0 && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{certificates?.map((c) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!handleQuantityChange && shipments && shipments?.length > 0 && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('checkoutpage/shipdate')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{isEditableQuantity && handleQuantityChange && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tif (handleQuantityChange)\n\t\t\t\t\t\t\t\t\t\t\thandleQuantityChange(prop, itemCode, count);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{!addToCartBtnDisabled && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t('shared/articlerow/add')\n\t\t\t\t\t\t\t\t\t\t\t\t\t: t('shared/articlerow/addtocart')}\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{`${t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'shared/articlerow/add'\n\t\t\t\t\t\t\t\t\t\t\t\t)} ${itemName}-${itemCode}`}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t)}{' '}\n\t\t\t\t\t{!isEditableQuantity && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t 0\n\t\t\t\t\t\t\t\t\t\t\t? 'justify-end'\n\t\t\t\t\t\t\t\t\t\t\t: 'justify-center'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{quantity}\n\t\t\t\t\t\t\t\t\t{unit}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{((!handleQuantityChange &&\n\t\t\t\t\t\t\t\t\tshipments &&\n\t\t\t\t\t\t\t\t\tshipments.length > 0) ||\n\t\t\t\t\t\t\t\t\tshipDateChanged ||\n\t\t\t\t\t\t\t\t\tmessage) && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{shipDateChanged && (\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/newdatesetbythesystem')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{!handleQuantityChange &&\n\t\t\t\t\t\t\t\t\t\t\tshipments &&\n\t\t\t\t\t\t\t\t\t\t\tshipments.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t handleDateChanged(date)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdaysDisabled={(date: Date) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetDay(date) !== 0 && getDay(date) !== 6\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore:next-line\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mt-0 mb-0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={singleShipment}\n\t\t\t\t\t\t\t\t\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{message && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!addToCartBtnDisabled && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t('shared/articlerow/add')\n\t\t\t\t\t\t\t\t\t\t\t\t\t: t('shared/articlerow/addtocart')}\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{`${t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'shared/articlerow/add'\n\t\t\t\t\t\t\t\t\t\t\t\t)} ${itemName}-${itemCode}`}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t

    \n\t\t\t\t\t\t{prices?.amountNetPriceFormatted\n\t\t\t\t\t\t\t? `${prices.amountNetPriceFormatted} ${prices?.currency || ''}`\n\t\t\t\t\t\t\t: t('shared/articlerow/priceondemand')}\n\t\t\t\t\t

    {' '}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{cartLoading && !withPrice ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{(prices?.netPriceFormatted || prices?.grossPriceFormatted) && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{prices?.netPriceFormatted && (\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/netprice')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{`${prices?.netPriceFormatted} ${prices.currency} / ${prices.unit}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{prices?.grossPriceFormatted && (\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/grossprice')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{`${prices?.grossPriceFormatted} ${prices.currency} / ${prices.unit}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{prices?.discountFormatted && (\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/articlerow/discount')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{`- ${\n\t\t\t\t\t\t\t\t\t\t\t\t\tprices.discountFormatted\n\t\t\t\t\t\t\t\t\t\t\t\t} ${t('shared/articlerow/discountunit')}`}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t{isRemovable && handleRemoveArticle && (\n\t\t\t\t\t handleRemoveArticle(itemCode, lineItemId)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\n\t\t\t{noteModalActive && (\n\t\t\t\t setNoteModalActive(false)}\n\t\t\t\t\tcommentHidden={commentHidden!}\n\t\t\t\t\thandleAddNotes={handleAddNotes}\n\t\t\t\t\tgoodsMarking={notes.goodsMarking}\n\t\t\t\t\tcomment={notes.comments}\n\t\t\t\t\tmaxLengthLimits={limitation}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default CartArticleRow;\n","import CartArticleRow from './CartArticleRow';\n\nexport default CartArticleRow;\n","import ExpansionPanel from './ExpansionPanel';\n\nexport default ExpansionPanel;\n","import styled from 'styled-components';\nimport { Input } from '../Form/Form.styles';\nimport { spacing5x, spacing2x, spacing4x } from 'theme/spacings';\nimport { Paragraph } from '../Typography';\nimport Button from 'components/ui/Button';\n\nexport const Label = styled(Paragraph)`\n\tdisplay: block;\n`;\n\nexport const InputField = styled(Input)`\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-bottom: ${spacing2x};\n\tpadding-left: ${spacing2x};\n`;\n\nexport const SaveButton = styled(Button)`\n\tdisplay: block;\n\tmargin: 0;\n`;\nexport const OverwriteButton = styled(SaveButton)`\n\tmargin-left: ${spacing2x};\n`;\nexport const CancelButton = styled(SaveButton)``;\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin: ${spacing4x} 0 ${spacing4x} 0;\n\tmargin: 0;\n`;\n","/**\n * SaveCartModal\n * @module components/SaveCartModal\n */\n\nimport React, { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\nimport Modal from 'components/ui/Modal';\nimport { Label, InputField, Wrapper, SaveButton } from './SaveCartModal.styles';\nimport Icon from 'components/ui/Icon';\nimport clsx from 'clsx';\n\nconst SaveCartModal = ({ onToggle, onSave }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [cartName, setCartName] = useState('');\n\tconst [shared, setShared] = useState(false);\n\treturn (\n\t\t {\n\t\t\t\tonToggle && onToggle();\n\t\t\t}}\n\t\t>\n\t\t\t\n\t\t\t setCartName(e.target.value)}\n\t\t\t\trequired\n\t\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tonSave && onSave(cartName, shared);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{t('cartpage/savecart')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nSaveCartModal.propTypes = {\n\tonToggle: PropTypes.func,\n\tonSave: PropTypes.func,\n};\n\nexport default SaveCartModal;\n","import SaveCartModal from './SaveCartModal';\n\nexport default SaveCartModal;\n","/**\n * AddGoodsmarkModal\n */\n\nimport React, { useContext, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Modal from 'components/ui/Modal';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\ninterface Props {\n\t/** Toggle modal callback */\n\tonToggle: any;\n\n\thandleAddGoodsmark: any;\n\n\tgoodsMarking?: string;\n\n\twarningMessage?: string;\n\n\tmaxLength?: number;\n}\nconst AddGoodsmarkModal = ({\n\tonToggle,\n\thandleAddGoodsmark,\n\tgoodsMarking: defaultGoodMarking,\n\twarningMessage,\n\tmaxLength = 21,\n}: Props): JSX.Element => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [goodsmarking, setGoodsmarking] = useState(defaultGoodMarking || '');\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t setGoodsmarking(e.target.value)}\n\t\t\t\t>\n\t\t\t
    \n\n\t\t\t{warningMessage ? (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{warningMessage}\n\t\t\t\t
    \n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t)}\n\n\t\t\t
    \n\t\t\t\t handleAddGoodsmark(goodsmarking)}\n\t\t\t\t>\n\t\t\t\t\t{t('shared/articlerow/savenote')}\n\t\t\t\t\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default AddGoodsmarkModal;\n","import AddGoodsmarkModal from './AddGoodsmarkModal';\n\nexport default AddGoodsmarkModal;\n","/**\n * AlertModal\n */\n\nimport React from 'react';\nimport Button from '../Button';\nimport Modal from '../Modal';\n\ninterface Props {\n\t/** Modal title */\n\ttitle: string;\n\n\t/** Modal heading */\n\theading: string;\n\n\t/** Message text showing in the alert modal */\n\tmessage: string;\n\n\t/** Text to cancel button */\n\tcancelButtonText?: string;\n\n\t/** Toogle modal callback */\n\tonToggle: any;\n\n\t/** Text to optional action button */\n\tactionButtonText?: string;\n\n\t/** Callback to optional action button */\n\tonClick?: any;\n}\n\n/** Main description for this component. */\nconst AlertModal = ({\n\ttitle,\n\theading,\n\tmessage,\n\tcancelButtonText,\n\tactionButtonText,\n\tonToggle,\n\tonClick,\n}: Props): JSX.Element => {\n\treturn (\n\t\t {\n\t\t\t\tonToggle && onToggle();\n\t\t\t}}\n\t\t>\n\t\t\t

    {message}

    \n\t\t\t
    \n\t\t\t\t{cancelButtonText && (\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonToggle && onToggle();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{cancelButtonText}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{actionButtonText && (\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonClick && onClick();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{actionButtonText}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default AlertModal;\n","import AlertModal from './AlertModal';\n\nexport default AlertModal;\n","/**\n * CheckoutPage\n */\n\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport Layout from 'components/ui/Layout';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Tooltip from 'components/ui/Tooltip';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useContext, useEffect, useState } from 'react';\n\nimport { ArticleModel } from 'types/article';\nimport {\n\tAddNotesModel,\n\tShipmentModel,\n\tDeliveryAddressModel,\n\tCheckoutReqestDataModel,\n} from 'types/common';\nimport { CheckoutPageModel } from 'types/page-types';\nimport {\n\tCancelCartPriceError,\n\tCheckoutError,\n\tGenericWarning,\n\tReloadCartPriceError,\n\tSaveCartError,\n\tServerError,\n} from 'common/helpers';\nimport clsx from 'clsx';\nimport CartArticleRow from 'components/framework/CartArticleRow';\nimport ExpansionPanel from 'components/ui/ExpansionPanel';\nimport Icon from 'components/ui/Icon';\nimport RichText from 'components/ui/RichText';\nimport Button from 'components/ui/Button';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n\tAddNotes,\n\tcartUpdatePriceReloadCounter,\n\tCheckout,\n\tFetchCart,\n\tSaveCart,\n\tselectCartLoading,\n\tselectCartObject,\n\tselectCartPriceReloadCounter,\n\tUpdateCart,\n} from 'store/modules/cart';\nimport { toast } from 'react-toastify';\nimport SaveCartModal from 'components/ui/SaveCartModal';\nimport ArticleDetail from 'components/common/ArticleDetail';\nimport AddGoodsmarkModal from 'components/ui/AddGoodsmarkModal';\nimport AlertModal from 'components/ui/AlertModal';\nimport axios, { AxiosResponse } from 'axios';\n\nconst isNewAddress = (address: DeliveryAddressModel) =>\n\taddress &&\n\t(address.addressId === '00000000-0000-0000-0000-000000000000' || false);\n\nconst getDefaultSelectedAddress = (\n\taddressList: DeliveryAddressModel[] | undefined\n) => {\n\tif (addressList && addressList.length > 0) {\n\t\tlet address = addressList.find((a) => a.selected) as DeliveryAddressModel;\n\t\tif (isNewAddress(address)) {\n\t\t\taddress = { ...address, name: '' };\n\t\t}\n\t\treturn address;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nconst CheckoutPage = ({\n\tbreadcrumbs,\n\tframework,\n\theading,\n\ttext,\n\tdesiredDateTooltip,\n\tleadTimeTooltip,\n\tdisclaimerText,\n\tconfirmButton,\n\tbackToCartButton,\n\tsaveCartButton,\n}: CheckoutPageModel) => {\n\tconst {\n\t\twithPrice,\n\t\tleadTime,\n\t\tdesiredDateFormatted,\n\t\tcustomerRequisition,\n\t\tprojectName,\n\t\tprojectNumber,\n\t\tgoodsReceptionContactName,\n\t\tgoodsReceptionPhoneNumber,\n\t\tresponsiblePerson,\n\t\tarticleList,\n\t\ttotal,\n\t\tdeliveryAddressList,\n\t\tdeliveryMethod,\n\t\tgoodsMarkingHidden,\n\t\tshipments,\n\t\tsingleShipment,\n\t\tfieldRoles,\n\t} = useSelector(selectCartObject);\n\tconst cartObject = useSelector(selectCartObject);\n\tconst cartLoading = useSelector(selectCartLoading);\n\tconst cartPriceReloadCounter = useSelector(selectCartPriceReloadCounter);\n\tconst { t } = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst [showMore, setShowMore] = useState(false);\n\tconst [comment, setComment] = useState('');\n\tconst [agreementsConfirmed, setAgreementsConfirmed] = useState(\n\t\tfalse\n\t);\n\tconst [goodsmarkModalOpen, setGoodsmarkModalOpen] = useState(false);\n\tconst [clearGoodsmarkModalOpen, setClearGoodsmarkModalOpen] = useState(false);\n\tconst [checkoutErrorMessage, setCheckoutErrorMessage] = useState('');\n\tconst [saveCartModalOpen, setSaveCartModalOpen] = useState(false);\n\tconst [overwriteCartModal, setOverwriteCartModal] = useState({\n\t\tisActive: false,\n\t\tcartName: '',\n\t\tmessage: '',\n\t});\n\tconst [articleModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null,\n\t});\n\n\tconst [reloadPricesModal, setReloadPricesModal] = useState({\n\t\tisActive: false,\n\t\thasReloadButton: true,\n\t\tmessage: '',\n\t});\n\n\t// null: field untouched, \"\": toutched & valid, \"error message\": touched & invalid\n\tconst [errorMessages, setErrorMessages] = useState<{\n\t\t[key: string]: string | null;\n\t}>({\n\t\tname: null,\n\t\tcity: null,\n\t\tpostalCode: null,\n\t\tstreet: null,\n\t\tgoodsReceptionContactName: null,\n\t\tgoodsReceptionPhoneNumber: null,\n\t\tprojectName: null,\n\t\tprojectNumber: null,\n\t\tcomment: null,\n\t\tcustomerRequisition: null,\n\t});\n\n\tconst [saveAddress, setSaveAddress] = useState(false);\n\n\tconst [\n\t\tselectedAddress,\n\t\tsetSelectedAddress,\n\t] = useState(\n\t\tgetDefaultSelectedAddress(deliveryAddressList)\n\t);\n\n\tconst [requestData, setRequestData] = useState({\n\t\taddress: {\n\t\t\taddressId: selectedAddress?.addressId || '',\n\t\t\tname: selectedAddress?.name || '',\n\t\t\tcountryName: selectedAddress?.countryName || '',\n\t\t\tcountryCode: selectedAddress?.countryCode || '',\n\t\t\tcity: selectedAddress?.city || '',\n\t\t\tpostalCode: selectedAddress?.postalCode || '',\n\t\t\tstreet: selectedAddress?.street || '',\n\t\t\torganizationId: selectedAddress?.organizationId || '',\n\t\t\tsave: false,\n\t\t},\n\t\tgoodsReceptionContactName: goodsReceptionContactName || '',\n\t\tgoodsReceptionPhoneNumber: goodsReceptionPhoneNumber || '',\n\t\tresponsiblePersonId:\n\t\t\tresponsiblePerson?.find((x: any) => x.selected)?.id ||\n\t\t\tresponsiblePerson?.[0]?.id ||\n\t\t\t'',\n\t\tcustomerRequisition: customerRequisition || '',\n\t\tprojectName: projectName || '',\n\t\tprojectNumber: projectNumber || '',\n\t\tcomment: '',\n\t});\n\n\tconst totalAmountOfArticles = articleList?.reduce(\n\t\t(total: any, next: ArticleModel) => {\n\t\t\treturn total + next.quantity;\n\t\t},\n\t\t0\n\t);\n\n\tlet totalAmountofShipmentArticles: number = 0;\n\n\tshipments?.forEach((shipment: ShipmentModel) => {\n\t\tshipment?.articleList?.forEach((article: ArticleModel) => {\n\t\t\ttotalAmountofShipmentArticles += article.quantity;\n\t\t});\n\t});\n\n\tasync function checkPostalCode(apiUrl: string): Promise {\n\t\ttry {\n\t\t\tconst response: AxiosResponse = await axios.post(apiUrl);\n\n\t\t\t// Assuming the API returns a well-structured response\n\t\t\treturn response.data;\n\t\t} catch (error) {\n\t\t\t// Log or handle the error as needed\n\t\t\tconsole.error('Error fetching boolean data:', error);\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst validateField = async (value: string | null, id: string) => {\n\t\tlet message: string = '';\n\t\tconst field = fieldRoles?.find(\n\t\t\t(field) => field.fieldName.toLowerCase() === id.toLowerCase()\n\t\t);\n\t\tconst fieldType = field?.fieldType;\n\t\tconst fieldMask = field?.fieldMask;\n\n\t\tconst regex = fieldMask && new RegExp(fieldMask);\n\n\t\tif (id === 'postalCode') {\n\t\t\tif (fieldType === 'optionalapi') {\n\t\t\t\tconst isValid: boolean | null = await checkPostalCode(\n\t\t\t\t\t`${field?.fieldMask}${value}`\n\t\t\t\t);\n\n\t\t\t\tif (!isValid && field?.message) {\n\t\t\t\t\tmessage = `optional${field?.message}`;\n\t\t\t\t\treturn message;\n\t\t\t\t} else if (!isValid && !field?.message) {\n\t\t\t\t\tmessage = `optional${t('shared/form/optionalInvalidPostalCode')}`;\n\t\t\t\t\treturn message;\n\t\t\t\t}\n\t\t\t} else if (fieldType === 'mandatoryapi') {\n\t\t\t\tconst isValid: boolean | null = await checkPostalCode(\n\t\t\t\t\t`${field?.fieldMask}${value}`\n\t\t\t\t);\n\n\t\t\t\tif (!isValid && field?.message) {\n\t\t\t\t\tmessage = field?.message;\n\t\t\t\t\treturn message;\n\t\t\t\t} else if (!isValid && !field?.message) {\n\t\t\t\t\tmessage = t('shared/form/mandatoryInvalidPostalCode');\n\t\t\t\t\treturn message;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tswitch (id) {\n\t\t\tcase 'name':\n\t\t\tcase 'city':\n\t\t\tcase 'goodsReceptionContactName':\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'goodsReceptionPhoneNumber':\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'projectName':\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'projectNumber':\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'customerRequisition':\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn message;\n\t};\n\n\tconst isInvalidField = (id: string) => {\n\t\tif (errorMessages[id] !== '' && errorMessages[id] !== null) {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst isValid = (errMsgs: { [key: string]: string | null }) => {\n\t\treturn !Object.keys(errorMessages).some((key) => {\n\t\t\t// Do not block checkout if errorMessage is optional\n\t\t\tif (\n\t\t\t\terrMsgs[key] !== '' &&\n\t\t\t\terrMsgs[key] &&\n\t\t\t\terrMsgs[key]?.substring(0, 8) !== 'optional'\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t};\n\n\tconst handleAddressSelectChange = (e: any) => {\n\t\tlet address = deliveryAddressList?.find(\n\t\t\t(a: DeliveryAddressModel) => a.addressId === e.target.value\n\t\t) as DeliveryAddressModel;\n\n\t\tif (\n\t\t\tselectedAddress === null ||\n\t\t\taddress?.addressId !== selectedAddress?.addressId\n\t\t) {\n\t\t\tsetErrorMessages({\n\t\t\t\t...errorMessages,\n\t\t\t\tname: null,\n\t\t\t\tcity: null,\n\t\t\t\tpostalCode: null,\n\t\t\t\tstreet: null,\n\t\t\t});\n\n\t\t\tif (isNewAddress(address)) {\n\t\t\t\taddress = { ...address, name: '' };\n\t\t\t}\n\t\t\tsetSelectedAddress(address);\n\t\t\tsetRequestData({\n\t\t\t\t...requestData,\n\t\t\t\taddress: {\n\t\t\t\t\taddressId: address.addressId,\n\t\t\t\t\tname: address.name,\n\t\t\t\t\tcountryName: address.countryName,\n\t\t\t\t\tcountryCode: address.countryCode,\n\t\t\t\t\tcity: address.city,\n\t\t\t\t\tpostalCode: address.postalCode,\n\t\t\t\t\tstreet: address.street,\n\t\t\t\t\torganizationId: address.organizationId,\n\t\t\t\t\tsave: false,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleSaveAddress = () => {\n\t\tsetSaveAddress(!saveAddress);\n\t\tsetRequestData({\n\t\t\t...requestData,\n\t\t\taddress: { ...requestData.address, save: !saveAddress },\n\t\t});\n\t};\n\n\tconst handleKeyDown = (e: any) => {\n\t\tif (e.target.type === 'checkbox' && e.keyCode === 13) {\n\t\t\te.preventDefault();\n\t\t\te.target.click();\n\t\t}\n\t};\n\n\tconst handleOnChange = async (e: any) => {\n\t\tconst { id, value } = e.target;\n\n\t\tlet message = await validateField(value, id);\n\n\t\tsetErrorMessages({ ...errorMessages, [id]: message });\n\t};\n\n\tconst controlledTextArea = (e: any) => {\n\t\tlet message: string = '';\n\t\tconst { id, value } = e.target;\n\t\tconst field = fieldRoles?.find(\n\t\t\t(field) => field.fieldName.toLowerCase() === id.toLowerCase()\n\t\t);\n\t\tconst fieldType = field?.fieldType;\n\t\tconst fieldMask = field?.fieldMask;\n\t\tconst regex = fieldMask && new RegExp(fieldMask);\n\t\tif (id === 'comment') {\n\t\t\tconst v = value.replace(/[\\r\\n\\v]+/g, '');\n\t\t\tsetComment(v);\n\t\t}\n\t\tif (fieldType !== undefined) {\n\t\t\tif (id === 'comment') {\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (id === 'street') {\n\t\t\t\tif (fieldType === 'mandatory') {\n\t\t\t\t\t// required field\n\n\t\t\t\t\tif (value === '' || value === null || value === undefined) {\n\t\t\t\t\t\tmessage = t('shared/form/requiredfieldmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fieldMask) {\n\t\t\t\t\t// contains invalid characters\n\t\t\t\t\tif (value && regex && !regex.test(value)) {\n\t\t\t\t\t\tmessage = t('shared/form/invalidcharactersmessage');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn message;\n\t\t}\n\t\tsetErrorMessages({ ...errorMessages, [id]: message });\n\t};\n\n\tconst handleOnBlur = async (e: any) => {\n\t\tconst { id, value } = e.target;\n\t\tlet message = await validateField(value, id);\n\t\tsetErrorMessages({ ...errorMessages, [id]: message });\n\n\t\tif (\n\t\t\tid === 'name' ||\n\t\t\tid === 'street' ||\n\t\t\tid === 'postalCode' ||\n\t\t\tid === 'city'\n\t\t) {\n\t\t\tsetRequestData({\n\t\t\t\t...requestData,\n\t\t\t\taddress: { ...requestData.address, [id]: value },\n\t\t\t});\n\t\t} else {\n\t\t\tsetRequestData({ ...requestData, [id]: value });\n\t\t}\n\t};\n\n\tconst handleCheckout = async () => {\n\t\t// Validate all fields before checkout\n\t\tlet messages: { [key: string]: string | null } = { ...errorMessages };\n\t\tconst validationPromises: Promise[] = [];\n\n\t\tfor (const key of Object.keys(messages).filter(\n\t\t\t(key) => messages[key] === null\n\t\t)) {\n\t\t\tconst reqData = { ...requestData } as any;\n\t\t\tconst value = reqData[key] || reqData.address[key];\n\n\t\t\tvalidationPromises.push(\n\t\t\t\t(async () => {\n\t\t\t\t\tif (value !== null) {\n\t\t\t\t\t\tmessages[key] = await validateField(value, key);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmessages[key] = null; // Or any default value for nullish cases\n\t\t\t\t\t}\n\t\t\t\t})()\n\t\t\t);\n\t\t}\n\n\t\tawait Promise.all(validationPromises);\n\t\tsetErrorMessages(messages);\n\n\t\tif (isValid(messages)) {\n\t\t\ttry {\n\t\t\t\tconst data = await dispatch(Checkout(requestData));\n\t\t\t\twindow.location.href = data.url;\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof CheckoutError) {\n\t\t\t\t\tsetCheckoutErrorMessage(err.message);\n\t\t\t\t} else if (err instanceof ServerError) {\n\t\t\t\t\tsetCheckoutErrorMessage(t('shared/toast/servererror'));\n\t\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst firstErrorField = Object.keys(messages).find(\n\t\t\t\t(key) =>\n\t\t\t\t\tmessages[key] !== '' &&\n\t\t\t\t\tmessages[key] !== null &&\n\t\t\t\t\tmessages[key]?.substring(0, 8) !== 'optional'\n\t\t\t);\n\t\t\tif (firstErrorField) document.getElementById(firstErrorField)?.focus();\n\t\t}\n\t};\n\n\tconst handleSaveCart = async (cartName: string, shared: boolean) => {\n\t\ttry {\n\t\t\tawait dispatch(SaveCart(cartName, false, shared));\n\t\t\ttoast(t('shared/toast/savecartsuccess'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\t// SaveCartError - Cart already exists\n\t\t\tif (err instanceof SaveCartError) {\n\t\t\t\tsetOverwriteCartModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\tcartName,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/savecarterror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetSaveCartModalOpen(false);\n\t\t}\n\t};\n\n\tconst handleOverwriteCart = async (shared: boolean) => {\n\t\ttry {\n\t\t\tawait dispatch(SaveCart(overwriteCartModal.cartName, true, shared));\n\t\t\ttoast(t('shared/toast/savecartsuccess'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof SaveCartError) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.ERROR });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetOverwriteCartModal({ ...overwriteCartModal, isActive: false });\n\t\t}\n\t};\n\tconst hasArticles = articleList && articleList.length > 0;\n\n\tconst getInitialCheckedBoxes = () => {\n\t\tlet initialArticleList: any = [];\n\t\t!goodsMarkingHidden &&\n\t\t\tshipments &&\n\t\t\tshipments.length > 0 &&\n\t\t\tshipments?.forEach((shipment: ShipmentModel) => {\n\t\t\t\tshipment?.articleList?.forEach((articleItem: ArticleModel) => {\n\t\t\t\t\tinitialArticleList.push({\n\t\t\t\t\t\titemCode: articleItem?.itemCode,\n\t\t\t\t\t\tlineItemId: articleItem?.lineItemId,\n\t\t\t\t\t\tcomments: articleItem?.notes?.comments || '',\n\t\t\t\t\t\tselected: false,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t!goodsMarkingHidden &&\n\t\t\tarticleList &&\n\t\t\tarticleList.length > 0 &&\n\t\t\tarticleList?.forEach((item: ArticleModel) => {\n\t\t\t\tinitialArticleList.push({\n\t\t\t\t\titemCode: item?.itemCode,\n\t\t\t\t\tlineItemId: item?.lineItemId,\n\t\t\t\t\tcomments: item?.notes?.comments || '',\n\t\t\t\t\tselected: false,\n\t\t\t\t});\n\t\t\t});\n\t\treturn initialArticleList;\n\t};\n\n\tinterface checkbox {\n\t\titemCode: string;\n\t\tlineItemId: number;\n\t\tcomments: string;\n\t\tselected: boolean;\n\t}\n\n\tconst [toolbarActive, setToolbarActive] = useState(false);\n\tconst [checkedBoxes, setCheckedBoxes] = useState(\n\t\tgetInitialCheckedBoxes()\n\t);\n\n\tconst isAllChecked = () => {\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (!checkedBoxes[index].selected) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\n\tconst isAtLeastOneChecked = () => {\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (checkedBoxes[index].selected) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tconst handleCheckSingle = (itemCode: string, lineItemId: number) => {\n\t\tlet newCheckedBoxes: any = [...checkedBoxes];\n\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (\n\t\t\t\tcheckedBoxes[index].itemCode === itemCode &&\n\t\t\t\tcheckedBoxes[index].lineItemId === lineItemId\n\t\t\t) {\n\t\t\t\tnewCheckedBoxes[index].selected = !checkedBoxes[index].selected;\n\t\t\t\tsetCheckedBoxes(newCheckedBoxes);\n\t\t\t\tsetToolbarActive(isAtLeastOneChecked());\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleCheckAll = () => {\n\t\tlet newCheckedBoxes: any = [];\n\n\t\tif (isAllChecked()) {\n\t\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\t\tsetToolbarActive(false);\n\t\t} else {\n\t\t\tarticleList &&\n\t\t\t\tarticleList.length > 0 &&\n\t\t\t\tarticleList?.forEach((item: ArticleModel) => {\n\t\t\t\t\tnewCheckedBoxes.push({\n\t\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\tcomments: item.notes.comments || '',\n\t\t\t\t\t\tselected: true,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tshipments &&\n\t\t\t\tshipments.length > 0 &&\n\t\t\t\tshipments?.forEach((shipment: ShipmentModel) => {\n\t\t\t\t\tshipment?.articleList?.forEach((item: ArticleModel) => {\n\t\t\t\t\t\tnewCheckedBoxes.push({\n\t\t\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\t\tcomments: item.notes.comments || '',\n\t\t\t\t\t\t\tselected: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\tsetCheckedBoxes(newCheckedBoxes);\n\t\t\tsetToolbarActive(true);\n\t\t}\n\t};\n\n\tconst getCheckboxIndex = (shipmentIndex: number, articleIndex: number) => {\n\t\tlet index = 0;\n\t\tif (shipments && shipments.length > 0) {\n\t\t\tfor (let i = 0; i < shipmentIndex; i++) {\n\t\t\t\tindex += shipments[i].articleList.length;\n\t\t\t}\n\t\t}\n\t\treturn index + articleIndex;\n\t};\n\n\tconst handleSelectedGoodsmark = async (goodsmarking?: string) => {\n\t\ttry {\n\t\t\tlet notesArray: AddNotesModel[] = [];\n\t\t\tcheckedBoxes?.forEach((item) => {\n\t\t\t\tif (item.selected) {\n\t\t\t\t\tnotesArray.push({\n\t\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\tcomments: item.comments,\n\t\t\t\t\t\tgoodsMarking: goodsmarking || '',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tawait dispatch(AddNotes(notesArray));\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartaddnoteserror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tif (goodsmarkModalOpen) {\n\t\t\t\tsetGoodsmarkModalOpen(false);\n\t\t\t} else if (clearGoodsmarkModalOpen) {\n\t\t\t\tsetClearGoodsmarkModalOpen(false);\n\t\t\t}\n\t\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\t\tsetToolbarActive(false);\n\t\t}\n\t};\n\n\tconst handleReloadPrices = async () => {\n\t\ttry {\n\t\t\tawait dispatch(cartUpdatePriceReloadCounter(cartPriceReloadCounter + 1));\n\t\t\tfetchCartObject();\n\t\t} catch (err) {\n\t\t} finally {\n\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false });\n\t\t}\n\t};\n\n\tconst fetchCartObject = async () => {\n\t\ttry {\n\t\t\tawait dispatch(FetchCart());\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof ReloadCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: true,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof CancelCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: false,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (withPrice === false) {\n\t\t\tfetchCartObject();\n\t\t}\n\t\t//eslint-disable-next-line\n\n\t\tlet items: any = [];\n\n\t\tcartObject.articleList?.map((art) => {\n\t\t\treturn items.push({\n\t\t\t\titem_name: art.itemName,\n\t\t\t\titem_id: art.itemCode,\n\t\t\t\tprice: art.prices.grossPriceFormatted,\n\t\t\t\titem_variant: art.attributeName,\n\t\t\t\tquantity: art.quantity,\n\t\t\t});\n\t\t});\n\n\t\tif (window.dataLayer) {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'begin_checkout',\n\t\t\t\tdomain: framework.header.activeMarket,\n\t\t\t\tecommerce: {\n\t\t\t\t\titems: items,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [cartObject]);\n\n\tuseEffect(() => {\n\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\tsetToolbarActive(false);\n\t\t//eslint-disable-next-line\n\t}, [articleList]);\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{breadcrumbs && }\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{deliveryMethod === 'delivery' &&\n\t\t\t\t\t\t\t\t\tt('checkoutpage/deliverydetails')}\n\t\t\t\t\t\t\t\t{deliveryMethod === 'pickup' && t('checkoutpage/pickupdetails')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{deliveryMethod === 'pickup' &&\n\t\t\t\t\t\t\t\tdeliveryAddressList &&\n\t\t\t\t\t\t\t\tdeliveryAddressList.length > 0 && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/pickupadress')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t

    {deliveryAddressList[0].name}

    \n\t\t\t\t\t\t\t\t\t\t\t

    {deliveryAddressList[0].street}

    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{deliveryAddressList[0].postalCode}{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{deliveryAddressList[0].city}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{deliveryAddressList[0].countryName}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{deliveryMethod === 'delivery' &&\n\t\t\t\t\t\t\t\tdeliveryAddressList &&\n\t\t\t\t\t\t\t\tdeliveryAddressList.length > 0 && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/deliveryadress')}\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{deliveryAddressList?.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(address: DeliveryAddressModel, index: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t{selectedAddress && (\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(`checkoutpage/deliveryaddressname`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages['name']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(`checkoutpage/deliveryaddress`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages['street']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(`checkoutpage/deliveryaddresspostalcode`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages['postalCode']?.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'optional'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terrorMessages['postalCode'].slice(8).trim()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(`checkoutpage/deliveryaddresscity`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages['city']}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(`checkoutpage/deliveryaddresscountry`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedAddress.isEditable && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{deliveryMethod === 'delivery' && leadTime && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/estimatedleadtime')}\n\t\t\t\t\t\t\t\t\t\t{leadTimeTooltip && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{leadTimeTooltip}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t

    \n\n\t\t\t\t\t\t\t\t\t

    {`${leadTime} ${t(\n\t\t\t\t\t\t\t\t\t\t'checkoutpage/businessdaysafterorderconfirmation'\n\t\t\t\t\t\t\t\t\t)}`}

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{deliveryMethod === 'delivery' &&\n\t\t\t\t\t\t\t\t\tt('checkoutpage/desireddeliverydate')}\n\t\t\t\t\t\t\t\t{deliveryMethod === 'pickup' &&\n\t\t\t\t\t\t\t\t\tt('checkoutpage/desiredpickupdate')}\n\t\t\t\t\t\t\t\t{desiredDateTooltip && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{desiredDateTooltip}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t

    {desiredDateFormatted}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{t('checkoutpage/goodsreceptionandreferences')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t'goodsreceptioncontactname'\n\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t? 'validation-required'\n\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t'mb-6'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('checkoutpage/goodsreceptioncontactname')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t\t'goodsreceptioncontactname'\n\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errorMessages['goodsReceptionContactName']}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t'goodsreceptionphonenumber'\n\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t? 'validation-required'\n\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t'my-6'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('checkoutpage/goodsreceptionphonenumber')}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() ===\n\t\t\t\t\t\t\t\t\t\t\t\t'goodsreceptionphonenumber'\n\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tid={'goodsReceptionPhoneNumber'}\n\t\t\t\t\t\t\t\t\tname={'goodsReceptionPhoneNumber'}\n\t\t\t\t\t\t\t\t\tdefaultValue={goodsReceptionPhoneNumber}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t\t\t'checkoutpage/goodsreceptionphonenumberplaceholder'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tonChange={handleOnChange}\n\t\t\t\t\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\tisInvalidField('goodsReceptionPhoneNumber')\n\t\t\t\t\t\t\t\t\t\t\t? 'border-red'\n\t\t\t\t\t\t\t\t\t\t\t: 'border-greyDark',\n\t\t\t\t\t\t\t\t\t\t'font-standard text-p px-4 py-2 border rounded w-full placeholder-greyDarkest'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errorMessages['goodsReceptionPhoneNumber']}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{responsiblePerson && responsiblePerson.length > 0 && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/responsiblefordelivery')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t p.selected)?.id || ''\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{responsiblePerson?.map((person: any, index: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('checkoutpage/additionalcomments')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errorMessages['comment']}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t field.fieldName.toLowerCase() === 'projectname'\n\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t? 'validation-required'\n\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t'my-6'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{projectName ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/projectname')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t

    {projectName}

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/projectname')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() === 'projectname'\n\t\t\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\tid={'projectName'}\n\t\t\t\t\t\t\t\t\t\t\tname={'projectName'}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t('checkoutpage/projectnameplaceholder')}\n\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalidField('projectName')\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'border-red'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'border-greyDark',\n\t\t\t\t\t\t\t\t\t\t\t\t'font-standard text-p px-4 py-2 border rounded w-full placeholder-greyDarkest'\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\tonChange={handleOnChange}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{errorMessages['projectName']}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{fieldRoles\n\t\t\t\t\t\t\t\t?.find(\n\t\t\t\t\t\t\t\t\t(field) => field.fieldName.toLowerCase() === 'projectnumber'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t?.fieldType.toLowerCase() !== 'hidden' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() === 'projectnumber'\n\t\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t? 'validation-required'\n\t\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t\t'my-6'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{projectNumber ? (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/projectnumber')}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t

    {projectNumber}

    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/projectnumber')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() === 'projectnumber'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tid={'projectNumber'}\n\t\t\t\t\t\t\t\t\t\t\t\tname={'projectNumber'}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t('checkoutpage/projectnumberplaceholder')}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t\tisInvalidField('projectNumber')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'border-red'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'border-greyDark',\n\t\t\t\t\t\t\t\t\t\t\t\t\t'font-standard text-p px-4 py-2 border rounded w-full placeholder-greyDarkest'\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleOnChange}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={20}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{errorMessages['projectNumber']}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() === 'customerrequisition'\n\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t? 'validation-required'\n\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t'my-6'\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('checkoutpage/customerrequisition')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tfield.fieldName.toLowerCase() === 'customerrequisition'\n\t\t\t\t\t\t\t\t\t\t)?.fieldType === 'mandatory'\n\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tid={'customerRequisition'}\n\t\t\t\t\t\t\t\t\tname={'customerRequisition'}\n\t\t\t\t\t\t\t\t\tdefaultValue={customerRequisition}\n\t\t\t\t\t\t\t\t\tplaceholder={t('checkoutpage/customerrequisitionplaceholder')}\n\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\tisInvalidField('customerRequisition')\n\t\t\t\t\t\t\t\t\t\t\t? 'border-red'\n\t\t\t\t\t\t\t\t\t\t\t: 'border-greyDark',\n\t\t\t\t\t\t\t\t\t\t'font-standard text-p px-4 py-2 border rounded w-full placeholder-greyDarkest'\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tonChange={handleOnChange}\n\t\t\t\t\t\t\t\t\tonBlur={handleOnBlur}\n\t\t\t\t\t\t\t\t\tmaxLength={30}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{errorMessages['customerRequisition']}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{t('checkoutpage/articlelist')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{articleList && articleList.length > 0 && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{`${t('checkoutpage/total')} ${totalAmountOfArticles} ${t(\n\t\t\t\t\t\t\t\t\t\t'checkoutpage/itemsincart'\n\t\t\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t\t\t{shipments && shipments.length > 0 && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{`${t(\n\t\t\t\t\t\t\t\t\t\t'checkoutpage/total'\n\t\t\t\t\t\t\t\t\t)} ${totalAmountofShipmentArticles} ${t(\n\t\t\t\t\t\t\t\t\t\t'checkoutpage/itemsincart'\n\t\t\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{shipments && shipments.length > 0 && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{shipments?.some(\n\t\t\t\t\t\t\t\t\t\t\t(shipment: ShipmentModel) => shipment.shipDateChanged\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t\t!cartLoading && (\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'checkoutpage/desireddateandshipdateisnotmatched'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{articleList && articleList.length > 0 && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{!goodsMarkingHidden && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/editgoodsmark')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetClearGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/deletegoodsmark')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{articleList?.map((item: ArticleModel, index: number) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{articleList.length > 3 && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t setShowMore(!showMore)}\n\t\t\t\t\t\t\t\t\t\t\t\texpanded={showMore}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{cartLoading && articleList?.length === 0 ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('checkoutpage/waitingforarticlelists')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tshipments &&\n\t\t\t\t\t\t\t\tshipments.length > 0 && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{!goodsMarkingHidden && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/editgoodsmark')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetClearGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/deletegoodsmark')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{shipments?.map(\n\t\t\t\t\t\t\t\t\t\t\t(shipmentItem: ShipmentModel, shipmentIndex: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{`${t('checkoutpage/shipdate')} ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshipmentItem?.shipDateFormatted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{shipmentItem?.articleList?.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: ArticleModel, articleIndex: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{shipments?.map((shipmentItem: ShipmentModel) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\tshipmentItem.articleList.length > 3 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetShowMore(!showMore)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texpanded={showMore}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{total?.amountArticleGrossPriceFormatted && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{t('cartpage/amountarticlegrossprice')}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{`${total?.amountArticleGrossPriceFormatted} ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{total?.amountWebShopDiscountFormatted && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    {t('cartpage/webshopdiscount')}

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{`- ${total.amountWebShopDiscountFormatted} ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\n\t\t\t\t\t{total?.amountArticleNetPriceFormatted && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{total?.amountArticleNetPriceFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/amountarticlenetprice')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t${total?.amountArticleNetPriceFormatted} \n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{total?.shippingCostFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/shippingcost')}*\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t${total?.shippingCostFormatted}\n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{total?.administrationCostFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/administrationcost')}**\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t${total?.administrationCostFormatted} \n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{total?.freeShippingLimitFormatted && (\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t*{' '}\n\t\t\t\t\t\t\t\t\t\t\t{`${t('cartpage/freeshippinglimit')}\n\t\t\t\t\t\t\t\t\t\t\t${total?.freeShippingLimitFormatted} \n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{total?.freeAdministrationLimitFormatted && (\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t**\n\t\t\t\t\t\t\t\t\t\t\t{`${t('cartpage/freeadministrationlimit')}\n\t\t\t\t\t\t\t\t\t\t\t${total?.freeAdministrationLimitFormatted} \n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{(total?.amountArticleNetPriceFormatted ||\n\t\t\t\t\t\ttotal?.amountArticleGrossPriceFormatted ||\n\t\t\t\t\t\ttotal?.amountWebShopDiscountFormatted) && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{t('checkoutpage/orderconfirmation')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{total?.amountNetPriceFormatted && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{t('cartpage/total')}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t${total?.amountNetPriceFormatted} \n\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{total?.amountGrossPriceFormatted && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    {t('cartpage/grosstotal')}

    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{`${total?.amountGrossPriceFormatted} ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{checkoutErrorMessage && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{checkoutErrorMessage}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{saveCartButton && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetSaveCartModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{saveCartButton.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{confirmButton && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\thandleCheckout();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdisabled={!agreementsConfirmed || cartLoading}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{confirmButton.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{backToCartButton && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{backToCartButton.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t{saveCartModalOpen && (\n\t\t\t\t setSaveCartModalOpen(false)}\n\t\t\t\t\tonSave={handleSaveCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{overwriteCartModal.isActive && (\n\t\t\t\t\n\t\t\t\t\t\tsetOverwriteCartModal({ ...overwriteCartModal, isActive: false })\n\t\t\t\t\t}\n\t\t\t\t\tonClick={handleOverwriteCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{articleModal.isActive && (\n\t\t\t\t setArticleModal({ link: null, isActive: false })}\n\t\t\t\t\tarticleApiUrl={articleModal.link}\n\t\t\t\t\tdisableControls\n\t\t\t\t\tactiveMarket={framework.header.activeMarket}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{goodsmarkModalOpen && (\n\t\t\t\t setGoodsmarkModalOpen(false)}\n\t\t\t\t\thandleAddGoodsmark={handleSelectedGoodsmark}\n\t\t\t\t\twarningMessage={t('shared/goodsmark/warningmessage')}\n\t\t\t\t\tmaxLength={cartObject?.limitation.articleGoodsMarkingLength}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{clearGoodsmarkModalOpen && (\n\t\t\t\t setClearGoodsmarkModalOpen(false)}\n\t\t\t\t\tonClick={handleSelectedGoodsmark}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{reloadPricesModal.isActive && (\n\t\t\t\t\n\t\t\t\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false })\n\t\t\t\t\t}\n\t\t\t\t\tonClick={reloadPricesModal.hasReloadButton && handleReloadPrices}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default CheckoutPage;\n","import CheckoutPage from './CheckoutPage';\n\nexport default CheckoutPage;\n","import axios from 'axios';\nimport { cancelPricingRequest, cancelToken } from 'store/api/cartApi';\n\nexport const quickAddSearch = (\n\tquery: string,\n\turl: string,\n\twithPrice?: boolean\n) => {\n\tif (!withPrice) {\n\t\tcancelPricingRequest();\n\t}\n\n\tconst display = 5;\n\treturn axios({\n\t\turl: `${url}?query=${query}&display=${display}`,\n\t\tmethod: 'post',\n\t\tcancelToken: cancelToken?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t},\n\t})\n\t\t.then((response) => {\n\t\t\treturn response.data || null;\n\t\t})\n\t\t.catch((error) => {\n\t\t\tconsole.log(error);\n\t\t});\n};\n\nexport const quickAddDetail = async (url: string, withPrice?: boolean) => {\n\ttry {\n\t\tconst response = await axios({\n\t\t\turl: `${url}`,\n\t\t\tmethod: 'post',\n\t\t\theaders: {\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t});\n\t\treturn response.data;\n\t} catch (error) {\n\t\tconsole.log(error);\n\t}\n};\n\ninterface ItemProp {\n\tcode: string;\n\tquantity?: number;\n}\n\nexport const quickAddValidateCode = async (\n\turl: string,\n\titemCodes: ItemProp[]\n) => {\n\tconst body = { itemCodes };\n\ttry {\n\t\tconst result = await axios({\n\t\t\turl: `${url}`,\n\t\t\tmethod: 'post',\n\t\t\tdata: body,\n\t\t\theaders: {\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t});\n\n\t\treturn (result.data && result.data.itemCodes) || null;\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn null;\n\t}\n};\n","/**\n * Loader\n * @module components/Loader\n */\nimport { FaSpinner } from 'react-icons/fa';\nimport clsx from 'clsx';\n\ninterface LoaderModel {\n\tscreenreaderText?: string;\n\tsize?: 'small' | 'large';\n\tclassName?: string;\n}\n\nconst Loader = ({ screenreaderText, size, className }: LoaderModel) => (\n\t\n\t\t\n\t\t{screenreaderText || 'Laddar...'}\n\t\n);\n\nexport default Loader;\n","import Loader from './Loader';\n\nexport default Loader;\n","/**\n * AutoComplete\n * @module components/AutoComplete\n */\n\nimport { useState, useEffect, useContext } from 'react';\nimport { useCombobox } from 'downshift';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\nimport clsx from 'clsx';\nimport Icon from '../Icon';\nimport Loader from '../Loader';\n\nconst AutoComplete = ({\n\tquery,\n\thandleChange,\n\thandleSearch,\n\titems,\n\titemToString,\n\tautoCompleteLoading,\n\tlabelText,\n\tplaceholder,\n\tclassName,\n\tonBlur,\n\tonFocus,\n\tid,\n\tisQuickSearch,\n\tquickSearchIsEmpty,\n\tsetRef,\n}) => {\n\tconst [value, setValue] = useState(query);\n\tconst [inputValues, setInputValues] = useState(items);\n\n\tconst { t } = useContext(LocalizationContext);\n\n\tuseEffect(() => {\n\t\tsetValue(query);\n\t}, [query]);\n\n\tconst {\n\t\tisOpen,\n\t\tselectItem,\n\t\tgetLabelProps,\n\t\tgetMenuProps,\n\t\tgetInputProps,\n\t\tgetComboboxProps,\n\t\thighlightedIndex,\n\t\tgetItemProps,\n\t\tsetInputValue,\n\t\tcloseMenu,\n\t\topenMenu,\n\t} = useCombobox({\n\t\titems: inputValues,\n\t\titemToString,\n\t\t// Dont use query here to prevent cursor move bug in useCombobox\n\t\t// https://github.com/downshift-js/downshift/issues/1108\n\t\tinputValue: value,\n\t\tonInputValueChange: ({ inputValue, selectedItem }) => {\n\t\t\tif (isQuickSearch) {\n\t\t\t\thandleChange && handleChange(inputValue);\n\t\t\t} else {\n\t\t\t\thandleChange && handleChange(inputValue, selectedItem);\n\t\t\t}\n\t\t\tif (inputValue.length > 0 && items && items.length > 0) {\n\t\t\t\tsetInputValues(\n\t\t\t\t\titems.filter((item) =>\n\t\t\t\t\t\titem.name.toLowerCase().startsWith(inputValue.toLowerCase())\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tonSelectedItemChange: ({ inputValue, selectedItem }) => {\n\t\t\tif (isQuickSearch) {\n\t\t\t\thandleSearch && handleSearch(inputValue, selectedItem);\n\t\t\t\thandleChange && handleChange(inputValue, selectedItem);\n\t\t\t} else {\n\t\t\t\thandleSearch && handleSearch(selectedItem.value);\n\t\t\t\thandleChange && handleChange(selectedItem.value);\n\t\t\t}\n\t\t},\n\t});\n\n\tconst handleInputKeyDown = (e) => {\n\t\tif (e.keyCode === 13 && handleSearch) {\n\t\t\thandleSearch && handleSearch(query);\n\t\t\tcloseMenu();\n\t\t}\n\n\t\tif (\n\t\t\t(e.keyCode === 13 || e.keyCode === 9) &&\n\t\t\tisQuickSearch &&\n\t\t\tinputValues &&\n\t\t\tinputValues.length === 1 &&\n\t\t\thighlightedIndex < 0\n\t\t) {\n\t\t\tselectItem(inputValues[0]);\n\t\t\tcloseMenu();\n\t\t}\n\t};\n\n\tconst handleBlur = (e) => {\n\t\tif (inputValues && inputValues.length > 0 && highlightedIndex >= 0) {\n\t\t\tconst index = highlightedIndex > -1 ? highlightedIndex : 0;\n\t\t\tselectItem(inputValues[index]);\n\t\t\tonBlur && onBlur(inputValues[index]);\n\t\t}\n\t\tcloseMenu();\n\t\treturn true;\n\t};\n\n\tconst handleOnFocus = () => {\n\t\tonFocus && onFocus();\n\t\tif (query.length > 0 && !isOpen) {\n\t\t\topenMenu();\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetInputValues(items);\n\t\t//eslint-disable-next-line\n\t}, [items]);\n\n\tuseEffect(() => {\n\t\tsetInputValue(query);\n\t\t//eslint-disable-next-line\n\t}, [query]);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t
    \n\t\t\t\t{!isQuickSearch && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t {\n\t\t\t\t\t\t\thandleInputKeyDown(event);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonChange: (e) => {\n\t\t\t\t\t\t\tsetValue(e.target.value);\n\t\t\t\t\t\t},\n\t\t\t\t\t})}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonFocus={handleOnFocus}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\tisQuickSearch\n\t\t\t\t\t\t\t? ' h-11 pt-2.5 bg-transparent rounded-tr-none rounded-br-none rounded-bl-none md:rounded-bl pr-0 text-sm md:text-p'\n\t\t\t\t\t\t\t: 'text-p pr-12',\n\t\t\t\t\t\tquickSearchIsEmpty ? 'pl-4' : 'pl-10',\n\t\t\t\t\t\t'pt-2 pb-3 w-full md:pr-6 h-10 rounded border border-greyDark'\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t
    \n\t\t\t 0 ? 'visible py-0 px-2' : 'invisible p-0',\n\t\t\t\t\t'absolute mt-0 bg-white w-full max-w-full md:max-w-none z-300'\n\t\t\t\t)}\n\t\t\t\t{...getMenuProps()}\n\t\t\t>\n\t\t\t\t{autoCompleteLoading && }\n\t\t\t\t{!autoCompleteLoading &&\n\t\t\t\t\tisOpen &&\n\t\t\t\t\titems.map((item, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{itemToString(item)}\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\n\t\t
    \n\t);\n};\n\nAutoComplete.propTypes = {\n\tquery: PropTypes.string,\n\thandleChange: PropTypes.func,\n\thandleSearch: PropTypes.func,\n\titems: PropTypes.any,\n\titemToString: PropTypes.any,\n\tautoCompleteLoading: PropTypes.any,\n\tlabelText: PropTypes.any,\n\tplaceholder: PropTypes.any,\n\tclassName: PropTypes.any,\n\tonBlur: PropTypes.any,\n\tonFocus: PropTypes.any,\n\tid: PropTypes.any,\n\tisQuickSearch: PropTypes.any,\n\tquickSearchIsEmpty: PropTypes.any,\n};\n\nexport default AutoComplete;\n","import AutoComplete from './AutoComplete';\n\nexport default AutoComplete;\n","/**\n * SearchsummarySummary\n * @module components/SearchsummarySummary\n */\n\nimport React, { useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\ninterface Props {\n\tquery: string;\n\tpagination?: any;\n\tsuggestions: string[];\n\thandleSuggestion: any;\n\tclassName?: string;\n}\nconst renderSuggestions = (suggestions: string[], handleSuggestion: any) => {\n\treturn suggestions.map((item: string, key: number) => {\n\t\tconst onClick = (e: any) => {\n\t\t\te.preventDefault();\n\t\t\thandleSuggestion && handleSuggestion(item);\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{item}?\n\t\t\t\n\t\t);\n\t});\n};\n\nconst SearchResultSummary = ({\n\tquery,\n\tpagination,\n\tsuggestions,\n\thandleSuggestion,\n\tclassName,\n}: Props) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\n\tlet summary = '';\n\tif (pagination) {\n\t\tsummary += `${pagination.total || 0} ${\n\t\t\tpagination.total === 1\n\t\t\t\t? t('shared/searchsummary/hit')\n\t\t\t\t: t('shared/searchsummary/hits')\n\t\t}`;\n\t\tif (query) summary += ` ${t('shared/searchsummary/for')} '${query}'`;\n\t\tsummary += '.';\n\t\tif (pagination.total > 0) {\n\t\t\tconst onFirstPage = pagination.currentPage === 1;\n\t\t\tconst onSecondPage = pagination.currentPage === 2;\n\n\t\t\tsummary += ` ${t('shared/searchsummary/displaying')}`;\n\t\t\tif (onFirstPage) {\n\t\t\t\tsummary += ` 1 - ${pagination.display}`;\n\t\t\t} else if (onSecondPage) {\n\t\t\t\tsummary += ` ${pagination.display + 1} - ${\n\t\t\t\t\tpagination.display * pagination.currentPage\n\t\t\t\t}`;\n\t\t\t} else {\n\t\t\t\tsummary += ` ${\n\t\t\t\t\tpagination.display * (pagination.currentPage - 1) + 1\n\t\t\t\t} - ${pagination.display * pagination.currentPage} `;\n\t\t\t}\n\t\t\tsummary += '.';\n\t\t}\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t

    \n\t\t\t\t{summary}\n\t\t\t\t{suggestions && suggestions.length > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{` ${t('shared/searchsummary/didyoumean')} `}\n\t\t\t\t\t\t{renderSuggestions(suggestions, handleSuggestion)}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t

    \n\t\t
    \n\t);\n};\nexport default SearchResultSummary;\n","import SearchResultSummary from './SearchResultSummary';\n\nexport default SearchResultSummary;\n","/**\n * QuickAddToCart\n * @module components/QuickAddToCart\n */\n\nimport { quickAddDetail, quickAddSearch } from 'api/quickadd';\nimport clsx from 'clsx';\nimport { Int32MaxValue } from 'common/constants';\nimport { GenericWarning, ServerError } from 'common/helpers';\nimport ArticleDetailConfiguration from 'components/common/ArticleDetailConfiguration';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useDebounce, useToggle } from 'hooks';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { cancelPricingRequest } from 'store/api/cartApi';\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport { confReset, fetchConfArticle } from 'store/modules/configurator';\nimport { DictionaryModel } from 'types/common';\nimport AutoComplete from '../AutoComplete';\nimport Icon from '../Icon';\nimport SearchResultSummary from '../SearchResultSummary';\nimport { set } from 'date-fns';\n\ninterface Props {\n\t/** Pass optional className */\n\tclassName?: string;\n\n\t/** Api urls */\n\tapi: DictionaryModel;\n\n\tsortSelection: string;\n\n\tfetchCartObject: any;\n\n\tactiveMarket?: string;\n}\n\ninterface ArticleProps {\n\tmodelType: 'Article' | 'ConfArticle';\n\tlink: string;\n\tname: string;\n\titemName: string;\n\titemCode: string;\n\toriginalCode: string;\n\tstockQuantity: string;\n\tpackingQuantity: string;\n\tunit: string;\n}\n\nconst QuickAddToCart = ({\n\tclassName,\n\tapi,\n\tsortSelection,\n\tfetchCartObject,\n\tactiveMarket,\n}: Props) => {\n\tconst { withPrice } = useSelector(selectCartObject);\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst inputRef = useRef(null);\n\tconst [query, setQuery] = useState('');\n\tconst debouncedQuery = useDebounce(query, 500);\n\tconst [quantity, setQuantity] = useState(1);\n\tconst [selectedArticle, setSelectedArticle] = useState(\n\t\tnull\n\t);\n\tconst [confModalOpen, setConfModalOpen] = useState(false);\n\n\tconst [selectionExpanded, toggleSelection, SelectionRef] = useToggle(\n\t\tfalse,\n\t\tfalse\n\t);\n\tconst [articleItems, setArticleItems] = useState([]);\n\tconst [suggestions, setSuggestions] = useState([]);\n\n\tconst getSuggestions = async () => {\n\t\ttry {\n\t\t\tconst data = await quickAddSearch(\n\t\t\t\tdebouncedQuery,\n\t\t\t\tapi.quickAddSearchUrl,\n\t\t\t\twithPrice\n\t\t\t);\n\t\t\tif (data) {\n\t\t\t\tsetArticleItems(data.items);\n\t\t\t\tsetSuggestions(data.suggestions);\n\t\t\t\t!withPrice && fetchCartObject();\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (query !== '') {\n\t\t\tgetSuggestions();\n\t\t} else {\n\t\t\tsetArticleItems([]);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [debouncedQuery]);\n\n\tconst handleQueryOnFocus = () => {\n\t\tsetQuery('');\n\t\tsetQuantity(1);\n\t\tsetSelectedArticle(null);\n\t\ttoggleSelection(true);\n\t};\n\n\tconst handleItem = async (item: ArticleProps) => {\n\t\ttry {\n\t\t\tconst data = await quickAddDetail(item.link, withPrice);\n\n\t\t\tif (data) {\n\t\t\t\tsetSelectedArticle(data);\n\t\t\t\tsetQuery(data.itemCode);\n\t\t\t\t(document.getElementById('qatc-quantity') as HTMLInputElement).select();\n\n\t\t\t\tif (window.dataLayer) {\n\t\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\t\tevent: 'add_to_cart',\n\t\t\t\t\t\tdomain: activeMarket,\n\t\t\t\t\t\tecommerce: {\n\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\titem_name: item.itemName,\n\t\t\t\t\t\t\t\t\titem_id: item.itemCode,\n\t\t\t\t\t\t\t\t\titem_variant: item.name,\n\t\t\t\t\t\t\t\t\toriginalCode: item.originalCode,\n\t\t\t\t\t\t\t\t\tquantity: (document.getElementById(\n\t\t\t\t\t\t\t\t\t\t'qatc-quantity'\n\t\t\t\t\t\t\t\t\t) as HTMLInputElement).value,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\n\tconst handleQueryOnBlur = (item: ArticleProps) => {\n\t\tif (query !== '' && item) {\n\t\t\ttoggleSelection(true);\n\t\t\tsetQuery(item.itemCode);\n\t\t}\n\t};\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tif (selectedArticle && selectedArticle.itemCode) {\n\t\t\t\tconst articleList = [\n\t\t\t\t\t{\n\t\t\t\t\t\titemCode: selectedArticle.itemCode,\n\t\t\t\t\t\toriginalCode: selectedArticle.originalCode,\n\t\t\t\t\t\tquantity: quantity,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tawait dispatch(AddToCart('POST', articleList, sortSelection));\n\n\t\t\t\ttoast(t('shared/toast/cartaddsuccess'), {\n\t\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleQuantityChange = (e: any) => {\n\t\tlet value = e.currentTarget.value;\n\t\tif (parseInt(value) > Int32MaxValue) {\n\t\t\tvalue = Int32MaxValue;\n\t\t}\n\n\t\tif (\n\t\t\tparseInt(value) > -1 ||\n\t\t\tvalue === undefined ||\n\t\t\tvalue === null ||\n\t\t\tvalue === ''\n\t\t) {\n\t\t\tsetQuantity(value);\n\t\t}\n\t};\n\n\tconst handleQuantityKeyDown = (e: any) => {\n\t\tif (e.keyCode === 13) {\n\t\t\tinputRef && inputRef.current?.focus();\n\t\t\thandleAddToCart();\n\t\t\thandleQueryOnFocus();\n\t\t}\n\t};\n\n\tconst getConfArticle = async (url: string) => {\n\t\ttry {\n\t\t\tsetConfModalOpen(true);\n\t\t\tif (!withPrice) {\n\t\t\t\tcancelPricingRequest();\n\t\t\t}\n\t\t\tawait dispatch(fetchConfArticle(url));\n\t\t} catch (err: any) {\n\t\t\tconsole.log(err);\n\t\t}\n\t};\n\n\tconst handleQueryChange = (value: string, item: ArticleProps) => {\n\t\tif (\n\t\t\titem &&\n\t\t\titem.itemCode !== (selectedArticle && selectedArticle.itemCode)\n\t\t) {\n\t\t\tif (item.modelType === 'ConfArticle') {\n\t\t\t\tgetConfArticle(item.link);\n\t\t\t\thandleQueryOnFocus();\n\t\t\t} else {\n\t\t\t\thandleItem(item);\n\t\t\t\tsetQuery(item.itemCode);\n\t\t\t}\n\t\t} else {\n\t\t\tsetQuery(value);\n\t\t}\n\t};\n\n\tconst handleSuggestion = (newQuery: string) => {\n\t\tif (query !== newQuery) {\n\t\t\tinputRef && inputRef.current?.focus();\n\t\t\tsetQuery(newQuery);\n\t\t}\n\t};\n\n\tconst toggleConfModal = () => {\n\t\tsetConfModalOpen(false);\n\t\tdispatch(confReset());\n\t\tsetQuery('');\n\t\tif (!withPrice) {\n\t\t\tfetchCartObject();\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{selectedArticle && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\titem ? `${item.itemCode} ${item.itemName} ${item.name}` : ''\n\t\t\t\t\t}\n\t\t\t\t\tautoCompleteLoading={false}\n\t\t\t\t\tisQuickSearch\n\t\t\t\t\tquickSearchIsEmpty={!selectedArticle}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t\t{selectedArticle && selectedArticle.itemName}\n\t\t\t\t\t

    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{selectedArticle && selectedArticle.name}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{selectedArticle?.stockQuantity && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{`${t('shared/articlerow/stocklevel')}: ${\n\t\t\t\t\t\t\t\t\t\tselectedArticle.stockQuantity\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{`${t('shared/articlerow/packagesize')}: ${\n\t\t\t\t\t\t\t\t\tselectedArticle && selectedArticle.packingQuantity\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t\t{selectedArticle && selectedArticle?.unit}\n\t\t\t\t

    \n\t\t\t\t {\n\t\t\t\t\t\tinputRef && inputRef.current?.focus();\n\t\t\t\t\t\thandleAddToCart();\n\t\t\t\t\t\thandleQueryOnFocus();\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"font-standard button text-white bg-blue border-blue border-2 border-solid font-bold align-middle text-center cursor-pointer inline-block uppercase py-2 px-3 rounded-lg no-underline text-p smMax:py-0.5 smMax:px-1.5 smMax:text-sm disabled:text-greyDarker disabled:bg-grey disabled:border-grey disabled:border-solid disabled:border-2 w-full md:w-2/12 mb-0 mt-0 sm-text md:p-text rounded-tr-none rounded-tl-none md:rounded-tr md:rounded-bl-none order-5 md:order-none hover:bg-blue-hover\"\n\t\t\t\t>\n\t\t\t\t\t{t('quickadd/addtocart')}\n\t\t\t\t\n\t\t\t\n\t\t\t{query && articleItems?.length === 0 && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{confModalOpen && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default QuickAddToCart;\n","import QuickAddToCart from './QuickAddToCart';\n\nexport default QuickAddToCart;\n","/**\n * QuickImportArticlesModal\n */\n\nimport clsx from 'clsx';\nimport { useContext, useEffect, useMemo, useState } from 'react';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport Modal from '../Modal';\nimport Tooltip from '../Tooltip';\nimport { useTable } from 'react-table';\nimport { quickAddValidateCode } from 'api/quickadd';\nimport { DictionaryModel } from 'types/common';\nimport { AddToCartModel } from 'types/cart-types';\nimport {\n\tGenericWarning,\n\tparseAndFormatRows,\n\tQuickImportArticlesError,\n\tServerError,\n} from 'common/helpers';\nimport { useDispatch } from 'react-redux';\nimport { AddToCart } from 'store/modules/cart';\nimport { toast } from 'react-toastify';\nimport { Int32MaxValue } from 'common/constants';\nimport { LocalizationContext } from 'context/localization.context';\n\ninterface Props {\n\t/** Pass a toggle modal callback function */\n\tonToggle: Function;\n\n\tapi: DictionaryModel;\n\n\tsortSelection: string;\n}\n\ninterface ArticleProps {\n\t/** Alias code of an article */\n\tcode: string;\n\n\t/** Item code of an article */\n\titemCode?: string;\n\n\t/** Item code of an article */\n\toriginalCode?: string;\n\n\t/** Selected quantity of an article */\n\tquantity?: number;\n\n\t/** If the entered article code is valid */\n\tisValid?: boolean;\n\n\t/** The name of an article */\n\tname?: string;\n}\n\n/** Main description for this component. */\nconst QuickImportArticlesModal = ({\n\tonToggle,\n\tapi,\n\tsortSelection,\n}: Props): JSX.Element => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [articles, setArticles] = useState([]);\n\tconst [newRowAdded, setNewRowAdded] = useState(false);\n\tconst [quantities, setQuantities] = useState([]);\n\tconst [isValidating, setIsValidating] = useState(false);\n\n\tconst clearInput = () => {\n\t\tsetInputValue('');\n\t};\n\n\tuseEffect(() => {\n\t\tconst qtys = articles.map((item: ArticleProps) => item.quantity as number);\n\t\tsetQuantities(qtys);\n\t}, [articles]);\n\n\tconst handlePaste = async (e: any) => {\n\t\tconst clipboardData = e.clipboardData || (window as any).clipboardData;\n\t\tconst value = clipboardData.getData('Text');\n\t\t//setArticles([]);\n\t\tif (value !== '') {\n\t\t\tlet codesAndQuantity = parseAndFormatRows(value);\n\t\t\tsetIsValidating(true);\n\n\t\t\ttry {\n\t\t\t\tconst data = await quickAddValidateCode(\n\t\t\t\t\tapi.validateCodeUrl,\n\t\t\t\t\tcodesAndQuantity\n\t\t\t\t);\n\t\t\t\tsetArticles([...articles, ...data]);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t} finally {\n\t\t\t\tsetIsValidating(false);\n\t\t\t}\n\t\t}\n\t\tsetInputValue('');\n\t};\n\n\tconst data = useMemo(() => articles, [articles]);\n\tconst columns: any = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('quickadd/itemcode'), accessor: 'itemCode' },\n\t\t\t{ Header: t('quickadd/name'), accessor: 'name' },\n\t\t\t{ Header: t('quickadd/quantity'), accessor: 'quantity' }, // even though quantity may exist on the article it's handled separatly to facilitate better UX.\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = useTable({\n\t\tcolumns,\n\t\tdata,\n\t});\n\n\tconst handleAddRow = () => {\n\t\tsetArticles([\n\t\t\t...articles,\n\t\t\t{\n\t\t\t\tcode: '',\n\t\t\t},\n\t\t]);\n\n\t\tsetQuantities([...quantities, 1]);\n\t\tsetNewRowAdded(true);\n\t};\n\n\tconst handleInputChange = (e: any, cell: any) => {\n\t\tlet value;\n\t\tswitch (cell.column.id) {\n\t\t\tcase 'quantity':\n\t\t\t\tvalue = e.target.value || undefined;\n\t\t\t\tif (isNaN(value) || value === '' || value < 1) {\n\t\t\t\t\tvalue = undefined;\n\t\t\t\t} else if (value > Int32MaxValue) {\n\t\t\t\t\tvalue = Int32MaxValue;\n\t\t\t\t}\n\t\t\t\tlet newQuantities = [...quantities];\n\t\t\t\tnewQuantities[cell.row.id] = value ? parseInt(value) : value;\n\t\t\t\tsetQuantities(newQuantities);\n\t\t\t\tbreak;\n\n\t\t\tcase 'itemCode':\n\t\t\t\tvalue = e.target.value;\n\t\t\t\tconst newState: ArticleProps[] = [...articles];\n\t\t\t\tnewState[cell.row.id].itemCode = value;\n\t\t\t\tsetArticles(newState);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst handleRowInputBlur = async (cell: any) => {\n\t\tif (typeof cell?.value !== 'undefined' && cell?.value !== '') {\n\t\t\tlet codesAndQuantity =\n\t\t\t\tarticles &&\n\t\t\t\tarticles.map((item: ArticleProps, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcode: item.itemCode as string,\n\t\t\t\t\t\toriginalCode: item.originalCode as string,\n\t\t\t\t\t\tquantity: quantities[index] as number,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\tif (codesAndQuantity?.length > 0) {\n\t\t\t\tsetIsValidating(true);\n\t\t\t\ttry {\n\t\t\t\t\tconst data = await quickAddValidateCode(\n\t\t\t\t\t\tapi.validateCodeUrl,\n\t\t\t\t\t\tcodesAndQuantity\n\t\t\t\t\t);\n\t\t\t\t\tsetIsValidating(false);\n\t\t\t\t\tsetArticles(data || []);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tsetIsValidating(false);\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleKeyDown = (e: any) => {\n\t\tif (e.key === 'Enter' && !isValidating) {\n\t\t\thandleAddRow();\n\t\t}\n\t};\n\n\tconst handleRemoveRow = (index: number) => {\n\t\tconst newArticles = articles.filter((item, i) => {\n\t\t\treturn i !== index;\n\t\t});\n\t\tconst newQuantities = quantities.filter((item, i) => {\n\t\t\treturn i !== index;\n\t\t});\n\n\t\tsetArticles(newArticles);\n\t\tsetQuantities(newQuantities);\n\t};\n\n\tconst handleAddToCart = async () => {\n\t\tif (articles && articles.length > 0) {\n\t\t\tconst validArticles = articles.filter((item) => item.isValid === true);\n\t\t\tif (validArticles.length > 0) {\n\t\t\t\tlet articleList: AddToCartModel[] = [];\n\n\t\t\t\tvalidArticles.forEach((article) => {\n\t\t\t\t\tarticleList.push({\n\t\t\t\t\t\titemCode: article.itemCode!,\n\t\t\t\t\t\toriginalCode: article.originalCode!,\n\t\t\t\t\t\tquantity: article.quantity!,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\ttry {\n\t\t\t\t\tawait dispatch(AddToCart('POST', articleList, sortSelection));\n\t\t\t\t\ttoast(t('quickadd/transfersuccess'), {\n\t\t\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t\t\t});\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (err instanceof QuickImportArticlesError) {\n\t\t\t\t\t\ttoast(t('quickadd/transferwarning'), { type: toast.TYPE.ERROR });\n\t\t\t\t\t} else if (err instanceof ServerError) {\n\t\t\t\t\t\ttoast(t('quickadd/transfererror'), { type: toast.TYPE.ERROR });\n\t\t\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tsetArticles([]);\n\t\t\t\t\tsetQuantities([]);\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t//Focus new row when created.\n\tuseEffect(() => {\n\t\tif (newRowAdded) {\n\t\t\tconst newInput = document.querySelector(\n\t\t\t\t`#rowinput-${data.length - 1}-itemCode`\n\t\t\t);\n\t\t\t(newInput as HTMLElement)?.focus();\n\t\t\tsetNewRowAdded(false);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [newRowAdded]);\n\n\treturn (\n\t\t onToggle && onToggle()}\n\t\t\theading={t('quickadd/importheading')}\n\t\t\ttitle={t('quickadd/importheading')}\n\t\t\twidth=\"max\"\n\t\t>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t clearInput()}\n\t\t\t\t\tonChange={() => {}}\n\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\tplaceholder={t('quickadd/importpasteplaceholder')}\n\t\t\t\t\tclassName=\"text-p py-2 px-4 my-4 w-full md:w-6/12 h-10 rounded border border-greyDark\"\n\t\t\t\t/>\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{headerGroups.map((headerGroup: any, index: number) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t{headerGroup.headers.map((column: any, index: number) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{rows.map((row: any, index: number) => {\n\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{row.cells.map((cell: any, index: number) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{t('quickadd/remove')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('quickadd/status')}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t handleRemoveRow(index)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{cell.column.id === 'quantity' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t handleInputChange(e, cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : cell.column.id === 'itemCode' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t handleInputChange(e, cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() => handleRowInputBlur(cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{isValidating ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{row.original.isValid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t('quickadd/validarticletooltip')\n\t\t\t\t\t\t\t\t\t\t\t\t\t: t('quickadd/invalidarticletooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('quickadd/transfertocart')}\n\t\t\t\t\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default QuickImportArticlesModal;\n","import QuickImportArticlesModal from './QuickImportArticlesModal';\n\nexport default QuickImportArticlesModal;\n","/**\n * CartPage\n */\n\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n\tFetchCart,\n\tAddToCart,\n\tselectCartObject,\n\tClearCart,\n\tSaveCart,\n\tUpdateCart,\n\tRemoveItem,\n\tselectCartLoading,\n\tAddNotes,\n\tselectCartPriceReloadCounter,\n\tcartUpdatePriceReloadCounter,\n\tPunchOut,\n} from 'store/modules/cart';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nimport { ShoppingCartPageModel } from 'types/page-types';\nimport {\n\tLinkModel,\n\tAddNotesModel,\n\tErrorObjectModel,\n\tWarehouseModel,\n} from 'types/common';\nimport { SortPropertyModel } from 'types/filter-types';\nimport { ArticleModel } from 'types/article';\n\nimport SectionHeader from 'components/ui/SectionHeader';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport QuickAddToCart from 'components/ui/QuickAddToCart';\nimport FilterBar from 'components/ui/FilterBar';\nimport {\n\tCancelCartPriceError,\n\tGenericWarning,\n\tgetSelectedDeliveryMethod,\n\tgetURLParameter,\n\tPunchOutError,\n\tReloadCartPriceError,\n\tSaveCartError,\n\tServerError,\n} from 'common/helpers';\nimport CartArticleRow from 'components/framework/CartArticleRow';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport Tooltip from 'components/ui/Tooltip';\nimport DatePickerInput from 'components/ui/DatePickerInput';\nimport { getDay } from 'date-fns';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport SaveCartModal from 'components/ui/SaveCartModal';\nimport { toast } from 'react-toastify';\nimport QuickImportArticlesModal from 'components/ui/QuickImportArticlesModal';\nimport ArticleDetail from 'components/common/ArticleDetail';\nimport { selectUserObject } from 'store/modules/user';\nimport { LocalizationContext } from 'context/localization.context';\nimport ContentArea from 'components/framework/ContentArea';\nimport clsx from 'clsx';\nimport AddGoodsmarkModal from 'components/ui/AddGoodsmarkModal';\nimport AlertModal from 'components/ui/AlertModal';\nimport { DeliveryMethodModel } from 'types/cart-types';\n\nconst CartPage = ({\n\theading,\n\tbreadcrumbs,\n\ttext,\n\tfilter,\n\tdesiredDeliveryDateTooltip,\n\tdesiredPickupDateTooltip,\n\tleadTimeTooltip,\n\tcheckoutButton,\n\tpunchoutButton,\n\tsaveButton,\n\tdeleteButton,\n\tframework,\n\tlinks,\n\tcontentArea,\n\texportLinks,\n}: ShoppingCartPageModel): JSX.Element => {\n\tconst {\n\t\tcartStatus,\n\t\terrorList,\n\t\twithPrice,\n\t\tarticleList,\n\t\ttotal,\n\t\tdesiredStartDate,\n\t\tdesiredDate,\n\t\tleadTime,\n\t\tavailableDeliveryMethods,\n\t\tlocations,\n\t\tgoodsMarkingHidden,\n\t\tsingleShipment,\n\t} = useSelector(selectCartObject);\n\tconst cartObject = useSelector(selectCartObject);\n\tconst cartLoading = useSelector(selectCartLoading);\n\tconst cartPriceReloadCounter = useSelector(selectCartPriceReloadCounter);\n\tconst userObject = useSelector(selectUserObject);\n\tconst { t } = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst didRender = useRef(false);\n\tconst [goodsmarkModalOpen, setGoodsmarkModalOpen] = useState(false);\n\tconst [clearGoodsmarkModalOpen, setClearGoodsmarkModalOpen] = useState(false);\n\tconst [importArticlesModalOpen, setImportArticlesModalOpen] = useState(false);\n\tconst [emptyCartModalOpen, setEmptyCartModalOpen] = useState(false);\n\tconst [saveCartModalOpen, setSaveCartModalOpen] = useState(false);\n\tconst [articleModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null,\n\t});\n\tconst [redirectingToCheckout, setRedirectingToCheckout] = useState(false);\n\tconst [redirectingToPunchout, setRedirectingToPunchout] = useState(false);\n\tconst [overwriteCartModal, setOverwriteCartModal] = useState({\n\t\tisActive: false,\n\t\tcartName: '',\n\t\tmessage: '',\n\t});\n\tconst [reloadPricesModal, setReloadPricesModal] = useState({\n\t\tisActive: false,\n\t\thasReloadButton: true,\n\t\tmessage: '',\n\t});\n\t// null: field untouched, \"\": toutched & valid, \"error message\": touched & invalid\n\tconst [errorMessages, setErrorMessages] = useState<{\n\t\t[key: string]: string | null;\n\t}>({\n\t\tname: null,\n\t\tcity: null,\n\t\tpostalCode: null,\n\t\tstreet: null,\n\t\tgoodsReceptionContactName: null,\n\t\tgoodsReceptionPhoneNumber: null,\n\t\tprojectName: null,\n\t\tprojectNumber: null,\n\t\tcomment: null,\n\t\tcustomerRequisition: null,\n\t});\n\n\tconst sortDefault = getURLParameter('sort') || filter?.sortBy;\n\tconst [sortSelection, setSortSelection] = useState(sortDefault);\n\n\t// Temp variables\n\n\tconst hasArticles = articleList && articleList.length > 0;\n\n\tconst getInitialCheckedBoxes = () => {\n\t\tlet initArticleList: any = [];\n\t\tarticleList?.forEach((item: ArticleModel) => {\n\t\t\tinitArticleList.push({\n\t\t\t\titemCode: item.itemCode,\n\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\tcomments: item.notes.comments || '',\n\t\t\t\tselected: false,\n\t\t\t});\n\t\t});\n\t\treturn initArticleList;\n\t};\n\tconst [toolbarActive, setToolbarActive] = useState(false);\n\tconst [checkedBoxes, setCheckedBoxes] = useState<\n\t\t{\n\t\t\titemCode: string;\n\t\t\tlineItemId: number;\n\t\t\tcomments: string;\n\t\t\tselected: boolean;\n\t\t}[]\n\t>(getInitialCheckedBoxes());\n\n\tconst isAllChecked = () => {\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (!checkedBoxes[index].selected) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\n\tconst isAtLeastOneChecked = () => {\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (checkedBoxes[index].selected) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tconst handleCheckSingle = (itemCode: string, lineItemId: number) => {\n\t\tlet newCheckedBoxes: any = [...checkedBoxes];\n\n\t\tfor (let index in checkedBoxes) {\n\t\t\tif (\n\t\t\t\tcheckedBoxes[index].itemCode === itemCode &&\n\t\t\t\tcheckedBoxes[index].lineItemId === lineItemId\n\t\t\t) {\n\t\t\t\tnewCheckedBoxes[index].selected = !checkedBoxes[index].selected;\n\t\t\t\tsetCheckedBoxes(newCheckedBoxes);\n\t\t\t\tsetToolbarActive(isAtLeastOneChecked());\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleCheckAll = () => {\n\t\tlet newCheckedBoxes: any = [];\n\n\t\tif (isAllChecked()) {\n\t\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\t\tsetToolbarActive(false);\n\t\t} else {\n\t\t\tarticleList?.forEach((item: ArticleModel) => {\n\t\t\t\tnewCheckedBoxes.push({\n\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\tcomments: item.notes.comments || '',\n\t\t\t\t\tselected: true,\n\t\t\t\t});\n\t\t\t});\n\t\t\tsetCheckedBoxes(newCheckedBoxes);\n\t\t\tsetToolbarActive(true);\n\t\t}\n\t};\n\tconst handleDeliveryMethodChange = async (e: any) => {\n\t\ttry {\n\t\t\tawait dispatch(\n\t\t\t\tUpdateCart({\n\t\t\t\t\tselectedSort: sortSelection,\n\t\t\t\t\tselectedDeliveryMethod: e.target.value,\n\t\t\t\t})\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst adjustForTimezone = (date: Date) => {\n\t\tlet timeOffsetInMS = date.getTimezoneOffset() * 60000;\n\t\tdate.setTime(date.getTime() - timeOffsetInMS);\n\t\treturn date;\n\t};\n\tconst getDateString = (date: Date) => {\n\t\treturn `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${(\n\t\t\t'0' + date.getDate()\n\t\t).slice(-2)}`;\n\t};\n\tconst handleDateChanged = async (date: Date) => {\n\t\ttry {\n\t\t\tawait dispatch(\n\t\t\t\tUpdateCart({\n\t\t\t\t\tselectedSort: sortSelection,\n\t\t\t\t\tselectedDesiredDate: getDateString(adjustForTimezone(date)),\n\t\t\t\t})\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\tconst handleWarehouseChange = async (e: any) => {\n\t\ttry {\n\t\t\tawait dispatch(\n\t\t\t\tUpdateCart({\n\t\t\t\t\tselectedSort: sortSelection,\n\t\t\t\t\tselectedLocation: e.target.value,\n\t\t\t\t})\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleSortChange = async (sortBy: any) => {\n\t\tif (sortBy !== sortSelection) {\n\t\t\twindow?.history?.pushState(\n\t\t\t\t{},\n\t\t\t\tdocument.title,\n\t\t\t\t`${window.location.pathname}?sort=${sortBy}`\n\t\t\t);\n\t\t\tsetSortSelection(sortBy);\n\n\t\t\ttry {\n\t\t\t\tawait dispatch(UpdateCart({ selectedSort: sortBy }));\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof ServerError) {\n\t\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handlePunchout = async () => {\n\t\tsetRedirectingToPunchout(true);\n\t\tlet messages: { [key: string]: string | null } = { ...errorMessages };\n\t\tsetErrorMessages(messages);\n\t\ttry {\n\t\t\tconst data = await dispatch(PunchOut());\n\t\t\twindow.location.href = data.url;\n\t\t} catch (err) {\n\t\t\tif (err instanceof PunchOutError) {\n\t\t\t\tsetRedirectingToPunchout(false);\n\t\t\t\ttoast(err.message, { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof ServerError) {\n\t\t\t\tsetRedirectingToPunchout(false);\n\t\t\t\ttoast(err.message, { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\tsetRedirectingToPunchout(false);\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleQuantityChange = async (\n\t\titem: ArticleModel,\n\t\titemCode: string,\n\t\tcurrentQuantity: number\n\t) => {\n\t\ttry {\n\t\t\tif (currentQuantity && currentQuantity !== item.quantity) {\n\t\t\t\tconst articleList = [\n\t\t\t\t\t{\n\t\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\t\tquantity: currentQuantity,\n\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\tconfigId: item.configId,\n\t\t\t\t\t\tconfigDescription: item.configDescription,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tawait dispatch(AddToCart('PATCH', articleList, sortSelection));\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleClearCart = async () => {\n\t\ttry {\n\t\t\tawait dispatch(ClearCart());\n\t\t\ttoast(t('cartpage/carthasbeenemptied'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetEmptyCartModalOpen(false);\n\t\t}\n\t};\n\n\tconst handleSaveCart = async (cartName: string, shared: boolean) => {\n\t\ttry {\n\t\t\tawait dispatch(SaveCart(cartName, false, shared));\n\t\t\ttoast(t('shared/toast/savecartsuccess'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\t// SaveCartError - Cart already exists\n\t\t\tif (err instanceof SaveCartError) {\n\t\t\t\tsetOverwriteCartModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\tcartName,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/savecarterror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetSaveCartModalOpen(false);\n\t\t\t!withPrice && fetchCartObject();\n\t\t}\n\t};\n\n\tconst handleOverwriteCart = async (shared: boolean) => {\n\t\ttry {\n\t\t\tawait dispatch(SaveCart(overwriteCartModal.cartName, true, shared));\n\t\t\ttoast(t('shared/toast/savecartsuccess'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/savecarterror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetOverwriteCartModal({ ...overwriteCartModal, isActive: false });\n\t\t}\n\t};\n\n\tconst handleRemoveArticle = async (itemCode: string, lineItemId: number) => {\n\t\ttry {\n\t\t\tawait dispatch(RemoveItem(itemCode, lineItemId, sortSelection));\n\t\t\ttoast(t('shared/toast/cartdeletesuccess'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartdeleteerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleSelectedGoodsmark = async (goodsmarking?: string) => {\n\t\ttry {\n\t\t\tlet notesArray: AddNotesModel[] = [];\n\t\t\tcheckedBoxes?.forEach((item) => {\n\t\t\t\tif (item.selected) {\n\t\t\t\t\tnotesArray.push({\n\t\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\tcomments: item.comments,\n\t\t\t\t\t\tgoodsMarking: goodsmarking || '',\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tawait dispatch(AddNotes(notesArray, sortSelection));\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartaddnoteserror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tif (goodsmarkModalOpen) {\n\t\t\t\tsetGoodsmarkModalOpen(false);\n\t\t\t} else if (clearGoodsmarkModalOpen) {\n\t\t\t\tsetClearGoodsmarkModalOpen(false);\n\t\t\t}\n\t\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\t\tsetToolbarActive(false);\n\t\t}\n\t};\n\n\tconst handleReloadPrices = async () => {\n\t\ttry {\n\t\t\tawait dispatch(cartUpdatePriceReloadCounter(cartPriceReloadCounter + 1));\n\t\t\tfetchCartObject();\n\t\t} catch (err) {\n\t\t} finally {\n\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false });\n\t\t}\n\t};\n\n\tconst fetchCartObject = async () => {\n\t\ttry {\n\t\t\tawait dispatch(FetchCart(sortSelection));\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof ReloadCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: true,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof CancelCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: false,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleKeyDown = (e: any) => {\n\t\tif (e.target.type === 'checkbox' && e.keyCode === 13) {\n\t\t\te.preventDefault();\n\t\t\te.target.click();\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (didRender.current) {\n\t\t\tfetchCartObject();\n\t\t}\n\t\tif (!didRender.current && typeof userObject !== 'undefined') {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [userObject]);\n\n\tuseEffect(() => {\n\t\tif (cartStatus === 'invalid' && errorList && errorList.length > 0) {\n\t\t\terrorList?.forEach((error: ErrorObjectModel) => {\n\t\t\t\tconst errormsg = `Error ${error.errorCode} - ${error.message}`;\n\t\t\t\ttoast(errormsg, {\n\t\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [cartStatus]);\n\n\tuseEffect(() => {\n\t\tsetCheckedBoxes(getInitialCheckedBoxes());\n\t\tsetToolbarActive(false);\n\t\t//eslint-disable-next-line\n\t}, [articleList]);\n\n\tuseEffect(() => {\n\t\tif (withPrice === false) {\n\t\t\tfetchCartObject();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [cartObject]);\n\n\tuseEffect(() => {\n\t\tlet items: any = [];\n\n\t\tarticleList?.map((art) => {\n\t\t\treturn items.push({\n\t\t\t\titem_name: art.itemName,\n\t\t\t\titem_id: art.itemCode,\n\t\t\t\tprice: art.prices.grossPriceFormatted,\n\t\t\t\titem_variant: art.attributeName,\n\t\t\t\tquantity: art.quantity,\n\t\t\t});\n\t\t});\n\n\t\tif (window.dataLayer) {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'view_cart',\n\t\t\t\tdomain: framework.header.activeMarket,\n\t\t\t\tecommerce: {\n\t\t\t\t\titems: items,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{breadcrumbs && }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tsetImportArticlesModalOpen(true);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('quickadd/importfromexcel')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{links &&\n\t\t\t\t\t\t\tlinks.length > 0 &&\n\t\t\t\t\t\t\tlinks.map((item, index) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t{!goodsMarkingHidden && articleList && articleList.length > 0 && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/editgoodsmark')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetClearGoodsmarkModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-blue hover:underline\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{t('shared/goodsmark/deletegoodsmark')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t{articleList &&\n\t\t\t\t\t\tarticleList.length > 0 &&\n\t\t\t\t\t\tarticleList.map((item: ArticleModel, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t{hasArticles &&\n\t\t\t\t\t\twindow &&\n\t\t\t\t\t\twindow.document &&\n\t\t\t\t\t\tdocument &&\n\t\t\t\t\t\texportLinks?.map((exportLink: LinkModel, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{exportLink?.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{leadTime && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{t('cartpage/estimatedleadtime')}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{leadTimeTooltip && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{leadTimeTooltip}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t

    {`${leadTime} ${t(\n\t\t\t\t\t\t\t\t\t\t'cartpage/businessdaysafterorderconfirmation'\n\t\t\t\t\t\t\t\t\t)}`}

    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{availableDeliveryMethods &&\n\t\t\t\t\t\t\t\t\tavailableDeliveryMethods?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/choosedeliverymethod')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/pleasechoosedesireddeliverymethod')}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t\t\t\t{availableDeliveryMethods?.map(\n\t\t\t\t\t\t\t\t\t(method: DeliveryMethodModel, index: number) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{(typeof singleShipment === 'undefined' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\tmethod.deliveryMethodId !== 'partialdelivery') && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleDeliveryMethodChange(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmethod.deliveryMethodId ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetSelectedDeliveryMethod(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tavailableDeliveryMethods\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{method.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t\t\tmethod.deliveryMethodId &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tmethod.stockInfoText && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{method.stockInfoText}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'delivery' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tmethod.deliveryMethodId === 'delivery' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof singleShipment !== 'undefined' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{locations && locations.length > 0 && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{(getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t'delivery' ||\n\t\t\t\t\t\t\t\t\t\t\tgetSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t\t'partialdelivery') &&\n\t\t\t\t\t\t\t\t\t\t\tt('cartpage/selectdesiredwarehousefordelivery')}\n\t\t\t\t\t\t\t\t\t\t{getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t'pickup' && t('cartpage/selectdesiredwarehouseforpickup')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{locations?.map(\n\t\t\t\t\t\t\t\t\t\t\t(location: WarehouseModel, index: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{location.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{(getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t'delivery' ||\n\t\t\t\t\t\t\t\t\t\tgetSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t\t'partialdelivery') && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/selectdesireddeliverydate')}\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{desiredDeliveryDateTooltip}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{getSelectedDeliveryMethod(availableDeliveryMethods) ===\n\t\t\t\t\t\t\t\t\t\t'pickup' && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/selectdesiredpickupdate')}\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{desiredPickupDateTooltip}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{desiredDate && (\n\t\t\t\t\t\t\t\t\t handleDateChanged(date)}\n\t\t\t\t\t\t\t\t\t\tdaysDisabled={(date: Date) =>\n\t\t\t\t\t\t\t\t\t\t\tgetDay(date) !== 0 && getDay(date) !== 6\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tactiveMarket={framework.header.activeMarket}\n\t\t\t\t\t\t\t\t\t\tlanguage={framework.language}\n\t\t\t\t\t\t\t\t\t\tclassName=\"mb-4\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{total?.amountNetPriceFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/total')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${total?.amountNetPriceFormatted} \n\t\t\t\t\t\t\t\t\t\t\t\t\t ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{total?.amountGrossPriceFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    {t('cartpage/grosstotal')}

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`${total?.amountGrossPriceFormatted} ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{total?.amountWebShopDiscountFormatted && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    {t('cartpage/webshopdiscount')}

    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{`- ${total.amountWebShopDiscountFormatted} ${total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* {checkoutErrorMessage && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{checkoutErrorMessage}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)} */}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{hasArticles && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetEmptyCartModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{deleteButton.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetSaveCartModalOpen(true);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tdisabled={!hasArticles}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{saveButton.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t{checkoutButton?.text && checkoutButton?.link && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetRedirectingToCheckout(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2\"\n\t\t\t\t\t\t\t\t\t\tdisabled={!hasArticles || redirectingToCheckout}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{checkoutButton.text}\n\t\t\t\t\t\t\t\t\t\t\t{redirectingToCheckout ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{punchoutButton?.text && punchoutButton?.link && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetRedirectingToPunchout(true);\n\t\t\t\t\t\t\t\t\t\t\thandlePunchout();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2\"\n\t\t\t\t\t\t\t\t\t\tdisabled={!hasArticles || redirectingToCheckout}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{punchoutButton?.text}\n\t\t\t\t\t\t\t\t\t\t\t{redirectingToPunchout ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{importArticlesModalOpen && (\n\t\t\t\t setImportArticlesModalOpen(false)}\n\t\t\t\t\tapi={framework.api}\n\t\t\t\t\tsortSelection={sortSelection}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{emptyCartModalOpen && (\n\t\t\t\t setEmptyCartModalOpen(false)}\n\t\t\t\t\tonClick={handleClearCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{saveCartModalOpen && (\n\t\t\t\t {\n\t\t\t\t\t\tsetSaveCartModalOpen(false);\n\t\t\t\t\t\t!withPrice && fetchCartObject();\n\t\t\t\t\t}}\n\t\t\t\t\tonSave={handleSaveCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{overwriteCartModal.isActive && (\n\t\t\t\t\n\t\t\t\t\t\tsetOverwriteCartModal({ ...overwriteCartModal, isActive: false })\n\t\t\t\t\t}\n\t\t\t\t\tonClick={handleOverwriteCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{articleModal.isActive && (\n\t\t\t\t {\n\t\t\t\t\t\tsetArticleModal({ link: null, isActive: false });\n\t\t\t\t\t\t!withPrice && fetchCartObject();\n\t\t\t\t\t}}\n\t\t\t\t\tarticleApiUrl={articleModal.link}\n\t\t\t\t\tdisableControls\n\t\t\t\t\tactiveMarket={framework.header.activeMarket}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{goodsmarkModalOpen && (\n\t\t\t\t setGoodsmarkModalOpen(false)}\n\t\t\t\t\thandleAddGoodsmark={handleSelectedGoodsmark}\n\t\t\t\t\twarningMessage={t('shared/goodsmark/warningmessage')}\n\t\t\t\t\tmaxLength={cartObject?.limitation?.articleGoodsMarkingLength}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{clearGoodsmarkModalOpen && (\n\t\t\t\t setClearGoodsmarkModalOpen(false)}\n\t\t\t\t\tonClick={handleSelectedGoodsmark}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{reloadPricesModal.isActive && (\n\t\t\t\t\n\t\t\t\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false })\n\t\t\t\t\t}\n\t\t\t\t\tonClick={reloadPricesModal.hasReloadButton && handleReloadPrices}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default CartPage;\n","import CartPage from './CartPage';\n\nexport default CartPage;\n","/**\n * OrderConfirmationPage\n * @module pages/OrderConfirmationPage\n */\n\nimport React, { useEffect } from 'react';\nimport Layout from 'components/ui/Layout';\n//\nimport ContentArea from 'components/framework/ContentArea';\nimport RichText from 'components/ui/RichText';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport Icon from 'components/ui/Icon';\nimport { OrderConfirmationPageModel } from 'types/page-types';\n\nconst OrderConfirmationPage = ({\n\theading,\n\ttext,\n\tpunchoutHtml,\n\tmessage,\n\tcontentArea,\n\tisInEditMode,\n\torder,\n\torderId,\n\tframework,\n}: OrderConfirmationPageModel) => {\n\tuseEffect(() => {\n\t\tlet items: any = [];\n\n\t\torder.articles?.map((art: any) => {\n\t\t\treturn items.push({\n\t\t\t\titem_name: art.itemName,\n\t\t\t\titem_id: art.itemCode,\n\t\t\t\tprice: art.prices.grossPriceFormatted,\n\t\t\t\titem_variant: art.attributeName,\n\t\t\t\tquantity: art.quantity,\n\t\t\t});\n\t\t});\n\n\t\tif (window.dataLayer) {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'purchase',\n\t\t\t\tdomain: framework?.header.activeMarket,\n\t\t\t\tecommerce: {\n\t\t\t\t\tcurrency: order.currency,\n\t\t\t\t\tvalue: order.total,\n\t\t\t\t\ttax: order.tax,\n\t\t\t\t\tshipping: order.shipping,\n\t\t\t\t\ttransaction_id: order.trackingId,\n\t\t\t\t\titems: items,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{heading && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{heading && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\t{orderId && (\n\t\t\t\t\t\t\t\t\t\t{orderId}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\n\t\t\t\t\t{text && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{punchoutHtml && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t\n\t\t\t\t\t{message &&

    {message}

    }\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{contentArea && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default OrderConfirmationPage;\n","import OrderConfirmationPage from './OrderConfirmationPage';\n\nexport default OrderConfirmationPage;\n","/**\n * LoginPage\n * @module pages/LoginPage\n */\n\nimport { useContext, useState, useEffect, useRef } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport RichText from 'components/ui/RichText';\nimport clsx from 'clsx';\nimport Button from 'components/ui/Button';\nimport ContentArea from 'components/framework/ContentArea';\nimport { useLogin } from 'api';\nimport useCookie from 'react-use-cookie';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport Icon from 'components/ui/Icon';\nimport { LoginPageModel } from 'types/page-types';\n\nconst LoginPage = ({\n\theading,\n\ttext,\n\tbutton,\n\tforgotPasswordLink,\n\trequestAccountLink,\n\tcontentArea,\n\treturnUrl,\n}: LoginPageModel): JSX.Element => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [rememberMeCookie, setRememberMeCookie] = useCookie(\n\t\t'rememberMeCookie',\n\t\t''\n\t);\n\tconst formRef = useRef();\n\tconst [username, setUsername] = useState(rememberMeCookie || '');\n\tconst [password, setPassword] = useState('');\n\tconst [errorMessage, setErrorMessage] = useState('');\n\tconst [isChecked, setIsChecked] = useState(rememberMeCookie !== '' || false);\n\tconst [loginRequest, setLoginRequest] = useState({});\n\tconst [loginResponse, loginError, loginLoading] = useLogin(loginRequest);\n\n\tuseEffect(() => {\n\t\tif ((loginResponse as any).modelType === 'LoginResponse') {\n\t\t\tif ((loginResponse as any).success) {\n\t\t\t\twindow.location.href = (loginResponse as any).redirectUrl;\n\t\t\t} else {\n\t\t\t\tsetErrorMessage((loginResponse as any).errorMessage);\n\t\t\t}\n\t\t}\n\t\tif (loginError) {\n\t\t\tsetErrorMessage('shared/toast/servererror');\n\t\t}\n\t\tsetPassword('');\n\t\tsetLoginRequest({});\n\t\t//eslint-disable-next-line\n\t}, [loginResponse, loginError]);\n\n\tconst handleCheckbox = () => {\n\t\tsetIsChecked(!isChecked);\n\t};\n\n\tconst handleSubmit = (e: any) => {\n\t\te.preventDefault();\n\t\tif (username.length === 0 || password.length === 0) {\n\t\t\tsetErrorMessage(t('loginpage/errormessage'));\n\t\t} else {\n\t\t\tsetErrorMessage('');\n\t\t\tif (isChecked) {\n\t\t\t\tsetRememberMeCookie(username);\n\t\t\t} else {\n\t\t\t\tsetRememberMeCookie('');\n\t\t\t}\n\t\t\tconst antiForgeryElement = document.querySelector(\n\t\t\t\t'#antiforgery > input[name=\"__RequestVerificationToken\"]'\n\t\t\t);\n\t\t\tconst antiforgeryValue =\n\t\t\t\tantiForgeryElement && (antiForgeryElement as HTMLInputElement).value;\n\t\t\tsetLoginRequest({\n\t\t\t\turl: button && button.link,\n\t\t\t\tform: formRef.current,\n\t\t\t\tantiForgery: antiforgeryValue,\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{heading &&\n\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-10 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theading\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('loginpage/usernameoremail')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setUsername(e.target.value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('loginpage/password')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setPassword(e.target.value)}\n\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{errorMessage && (\n\t\t\t\t\t\t\t\t

    {errorMessage}

    \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{button && button.text && button.link && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{forgotPasswordLink && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{forgotPasswordLink.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{requestAccountLink && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{requestAccountLink.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{contentArea && }\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default LoginPage;\n","import { useFetch } from 'api';\n\nexport const useLogin = ({ url, form, antiForgery }) => {\n\tconst preventRequest = typeof url === 'undefined' || url === '';\n\tlet body = {};\n\tif (window && window.FormData) {\n\t\tbody = new FormData(form);\n\t\tbody.append('__RequestVerificationToken', antiForgery);\n\t}\n\tconst hash = JSON.stringify(body);\n\treturn useFetch({\n\t\turl: `${url}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tpreventRequest: preventRequest,\n\t\tdisableCancel: true,\n\t\tdata: body,\n\t\tdatHash: hash,\n\t});\n};\n","import LoginPage from './LoginPage';\n\nexport default LoginPage;\n","/**\n * ItemRow\n * @module components/ItemRow\n */\n\nimport { useContext } from 'react';\nimport {\n\tArticle,\n\tImage,\n\tContentImg,\n\tImg,\n\tBody,\n\tLinkWrapper,\n\tHeading,\n\tText,\n\tValue,\n\tSeparatorIcon,\n} from './ItemRow.styles';\nimport { FaCamera, FaFileAlt, FaDownload, FaTh } from 'react-icons/fa';\nimport { LocalizationContext } from 'context/localization.context';\nimport { BreadCrumbsModel, ImageModel } from 'types/common';\n\ninterface ItemRowModel {\n\titem: ItemModel;\n\ttrackClick: (hitId: string, trackId: string) => void;\n}\n\ninterface ItemModel {\n\tmodelType: string;\n\tlink: string;\n\tcategory: string;\n\tname: string;\n\tfileType: string;\n\tfileSize: string;\n\ttext?: string;\n\timage: ImageModel;\n\tbreadcrumbs: BreadCrumbsModel[];\n\thitId: string;\n\ttrackId: string;\n}\n\nconst ItemRow = ({ item, trackClick }: ItemRowModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\n\tconst renderIcon = () => {\n\t\tswitch (item.modelType) {\n\t\t\tcase 'Document':\n\t\t\t\treturn ;\n\t\t\tcase 'Download':\n\t\t\t\treturn ;\n\t\t\tcase 'Category':\n\t\t\t\treturn ;\n\t\t\tcase 'ProductDivisionPage':\n\t\t\t\treturn ;\n\t\t\tcase 'ProductDetailPage':\n\t\t\t\treturn ;\n\t\t\tcase 'ArticlePage':\n\t\t\t\treturn ;\n\t\t\tcase 'Content':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n\n\tconst renderBreadCrumbs = (breadcrumbs: BreadCrumbsModel[]) => {\n\t\treturn (\n\t\t\t
      \n\t\t\t\t{breadcrumbs.map((item, key) => {\n\t\t\t\t\tconst shouldHaveSeparator = key !== breadcrumbs.length - 1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{shouldHaveSeparator && }\n\t\t\t\t\t\t
    • \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t);\n\t};\n\n\tconst getTarget = () => {\n\t\tswitch (item.modelType) {\n\t\t\tcase 'Document':\n\t\t\tcase 'Download':\n\t\t\t\treturn '_blank';\n\t\t\tdefault:\n\t\t\t\treturn '_self';\n\t\t}\n\t};\n\treturn (\n\t\t
    \n\t\t\t {\n\t\t\t\t\ttrackClick && trackClick(item.hitId, item.trackId);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{item.image && item.image.thumbnail ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\trenderIcon()\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\ttrackClick && trackClick(item.hitId, item.trackId);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{item && item.category && {item.category}}\n\t\t\t\t\t{item && item.name && {item.name}}\n\t\t\t\t\t{item && item.text && {item.text}}\n\t\t\t\t\n\n\t\t\t\t{item.fileType && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{t('searchpage/filetype')}\n\t\t\t\t\t\t{item.fileType}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t{item.fileSize && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{t('searchpage/filesize')}\n\t\t\t\t\t\t{item.fileSize}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t{item.modelType === 'Category' &&\n\t\t\t\t\titem.breadcrumbs &&\n\t\t\t\t\trenderBreadCrumbs(item.breadcrumbs)}\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default ItemRow;\n","import ItemRow from './ItemRow';\n\nexport default ItemRow;\n","import styled, { css } from 'styled-components';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport {\n\tfontWeightBold,\n\tfontWeightNormal,\n\tfontWeightSemiBold,\n\tfontWeightMedium,\n} from 'theme/typography';\nimport { grey, greyDarker, black, blue } from 'theme/colors';\nimport { spacing05x, spacing2x, spacing1x } from 'theme/spacings';\nimport { Paragraph } from 'components/ui/Typography';\nimport { FiPhone, FiUsers, FiGlobe, FiMail } from 'react-icons/fi';\nimport RichText from 'components/ui/RichText';\n\nconst textCss = css`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: ${({ bold }) => (bold ? fontWeightBold : fontWeightNormal)};\n\tmargin: ${spacing05x} 0 ${spacing05x};\n`;\n\nexport const RowWrapper = styled.div`\n\tborder-bottom: 0.1rem solid ${greyDarker};\n`;\n\nexport const InfoRow = styled.div`\n\tdisplay: flex;\n\tpadding: ${spacing2x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tjustify-content: space-between;\n\t\tpadding: 0;\n\t\tmargin: ${spacing2x} 0;\n\t}\n`;\n\nexport const Image = styled.div`\n\tdisplay: flex;\n\tborder: 0.2rem solid ${grey};\n\theight: 15.2rem;\n\twidth: 15.2rem;\n\tmin-width: 15.2rem;\n\tjustify-content: center;\n\talign-items: center;\n\torder: 0;\n\tmargin-right: ${spacing2x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-right: 0;\n\t\tmargin-left: ${spacing1x};\n\t\torder: 2;\n\t}\n`;\n\nexport const LinkWrapper = styled.a`\n\twidth: 100%;\n\tdisplay: block;\n\ttext-decoration: none;\n\t:hover {\n\t\th2 {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t\tp {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\n\nexport const Heading = styled.h2`\n\tfont-size: 2.5rem;\n\tcolor: ${blue};\n\tfont-weight: ${fontWeightNormal};\n\tmargin-top: ${spacing05x};\n\tmargin-bottom: ${spacing1x};\n`;\n\nexport const Text = styled.p`\n\t${textCss}\n font-weight: ${props =>\n\t\t\tprops.bold ? fontWeightSemiBold : fontWeightMedium};\n color: ${black};\n margin-right: ${spacing1x};\n\twhite-space: nowrap;\n\n\tsvg {\n\t\tmargin-right: ${spacing1x};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.3rem;\n margin: 0;\n margin-right: ${spacing1x}\n\t}\n\n`;\n\nexport const Img = styled.img`\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tobject-fit: cover;\n\tfont-family: 'object-fit: cover;';\n`;\n\nexport const Body = styled.div`\n\tpadding: 0;\n\tdisplay: flex;\n\tmin-height: 14rem;\n\tflex-wrap: wrap;\n\twidth: 100%;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0;\n\t}\n`;\nexport const TopContent = styled.div`\n\tdisplay: flex;\n\tflex: 1 0 100%;\n\twidth: 100%;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tjustify-content: space-between;\n\t}\n`;\nexport const LeftContent = styled.div`\n\tdisplay: flex;\n\tflex: 0 1 30%;\n\twidth: 30%;\n\tflex-wrap: wrap;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tflex: 1 0 100%;\n\t}\n`;\nexport const RightContent = styled.div`\n\tflex: 0 1 70%;\n\twidth: 70%;\n\tdisplay: flex;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-top: ${spacing2x};\n\t\tflex: 1 0 100%;\n\t}\n`;\n\nexport const BottomContent = styled.div`\n\tflex: 1 0 100%;\n\twidth: 100%;\n\tpadding-bottom: 1.6rem;\n`;\n\nexport const IconCss = css`\n\twidth: 1.6rem;\n\theight: 1.6rem;\n\tcolor: ${black};\n\tmargin-right: ${spacing1x};\n\tmargin-top: 0.2rem;\n`;\n\nexport const PhoneIcon = styled(FiPhone)`\n\t${IconCss};\n`;\nexport const GlobeIcon = styled(FiGlobe)`\n\t${IconCss};\n`;\nexport const MailIcon = styled(FiMail)`\n\t${IconCss};\n`;\nexport const FriendsIcon = styled(FiUsers)`\n\t${IconCss};\n`;\n\nexport const LargerContainer = styled.div`\n\tflex: 1 0 60%;\n\tmax-width: 60%;\n`;\nexport const SmallerContainer = styled.div`\n\tflex: 1 0 40%;\n\tmax-width: 40%;\n`;\n\nexport const OpeningHoursRichText = styled(RichText)`\n\ttext-align: left;\n\tfont-size: 1.6rem;\n\tp {\n\t\tmargin-top: 0;\n\t\tfont-size: 1.6rem;\n\t\t:first-child {\n\t\t\tmargin-top: 0rem;\n\t\t}\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t\tp {\n\t\t\tfont-size: 1.4rem;\n\t\t}\n\t}\n`;\nexport const AddressRichText = styled(RichText)`\n\tfont-size: 1.6rem;\n\tmargin-top: -0.2rem;\n\tp {\n\t\tfont-size: 1.6rem;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t\tp {\n\t\t\tfont-size: 1.4rem;\n\t\t}\n\t}\n`;\n\nexport const ContactText = styled(Paragraph)`\n\tfont-size: 1.6rem;\n\tmargin: 0;\n\tpadding: 0;\n\tflex: 0 1 100%;\n\tdisplay: flex;\n\t> a {\n\t\ttext-decoration: none;\n\t\tcolor: ${blue};\n\t\toverflow-wrap: break-word;\n\t\tmax-width: 80%;\n\n\t\t:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t}\n`;\nexport const CategoryWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n`;\n\nexport const ContentWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tflex-direction: column;\n`;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { fontWeightMedium, fontWeightSemiBold } from 'theme/typography';\nimport { greyDarker, blue } from 'theme/colors';\nimport { spacing2x, spacing1x } from 'theme/spacings';\nimport { FiUsers, FiPlusSquare, FiMinusSquare } from 'react-icons/fi';\nimport { IconCss } from '../LocationRow.styles';\n\nexport const ContactWrapper = styled.div`\n\tpadding: ${(props) =>\n\t\tprops.padTop ? `${spacing2x} ${spacing2x} 0 ${spacing2x}` : '0 1.6rem'};\n\toverflow: hidden;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0;\n\t}\n`;\n\nexport const ContactRowsWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tvisibility: ${(props) => (props.isOpen ? 'visible' : 'hidden')};\n\theight: ${(props) => (props.isOpen ? 'auto' : '0')};\n\tpadding: 0;\n\tmargin: 0;\n`;\nexport const ContactRow = styled.div`\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tmin-width: 100%;\n\talign-items: center;\n`;\n\nexport const LeftContent = styled.div`\n\twidth: 15.2rem;\n\theight: 8.4rem;\n\tmin-width: 15.2rem;\n\tmargin-right: 2rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: auto;\n\t\tmin-width: 8rem;\n\t}\n`;\n\nexport const ContactImage = styled.img`\n\twidth: 6rem;\n\theight: 6rem;\n\tborder-radius: 50%;\n\tfloat: right;\n\tmargin-top: 1.2rem;\n\tborder: solid 1px ${greyDarker};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfloat: none;\n\t\tmargin-left: 1rem;\n\t}\n`;\n\nexport const RightContent = styled.div`\n\tborder-top: ${(props) => (props.first ? `1px solid ${greyDarker}` : 'none')};\n\tborder-bottom: 1px solid ${greyDarker};\n\tdisplay: flex;\n\twidth: 100%;\n\tmin-width: 100%;\n\t@media (max-width: 1000px) {\n\t\tflex-wrap: wrap;\n\t}\n`;\n\nexport const ToggleRow = styled.div`\n\tdisplay: flex;\n\tflex-wrap: none;\n\ttext-align: right;\n\tmargin: ${(props) =>\n\t\tprops.isOpen\n\t\t\t? `${spacing2x} ${spacing2x} 0 ${spacing2x}`\n\t\t\t: `0 ${spacing2x}`};\n\tmin-width: 100%;\n\tjustify-content: flex-end;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: 0 1.6rem 0 0;\n\t}\n`;\n\nexport const TextWrapper = styled.div`\n\tdisplay: flex;\n\tflex: 1 0 50%;\n\tflex-wrap: wrap;\n\tmin-width: 27rem;\n\tmax-width: 27rem;\n\tpadding: ${spacing2x} 0;\n\t@media (max-width: 1000px) {\n\t\tpadding: ${spacing1x} 0 0 0;\n\t}\n`;\nexport const ContactInfo = styled.div`\n\tpadding: ${spacing2x} 0;\n\t@media (max-width: 1000px) {\n\t\tpadding: ${spacing1x} 0;\n\t}\n`;\n\nexport const Text = styled.p`\n\tpadding: 0;\n\tmargin: 0;\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\twidth: 100%;\n\tfont-weight: ${(props) =>\n\t\tprops.bold ? fontWeightSemiBold : fontWeightMedium};\n\n\t> a {\n\t\ttext-decoration: none;\n\t\tcolor: ${blue};\n\n\t\t:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\t@media (max-width: 1000px) {\n\t\tpadding: 0;\n\t}\n`;\n\nexport const UsersIcon = styled(FiUsers)`\n\t${IconCss};\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n`;\n\nexport const ToggleIcon = (props) => {\n\tconst { isOpen } = props;\n\treturn isOpen ? : ;\n};\n\nexport const ToggleOpenIcon = styled(FiPlusSquare)`\n\t${IconCss};\n\tcolor: ${blue};\n`;\nexport const ToggleCloseIcon = styled(FiMinusSquare)`\n\t${IconCss};\n\tcolor: ${blue};\n`;\n\nexport const ToggleButton = styled.button`\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: 100%;\n\tfont-family: inherit;\n\tbackground-color: transparent;\n\tdisplay: flex;\n\tcursor: pointer;\n\t> svg {\n\t\tmargin-left: ${spacing1x};\n\t\tmargin-top: 0.6rem;\n\t}\n`;\n\nexport const ToggleText = styled.p`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tpadding: 0;\n\tmargin: 0;\n\tcolor: ${blue};\n`;\n\nexport const IconWrapper = styled.div`\n\theight: 2.4rem;\n`;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport {\n\tContactRow,\n\tContactRowsWrapper,\n\tContactInfo,\n\tLeftContent,\n\tContactWrapper,\n\tToggleRow,\n\tToggleText,\n\tToggleButton,\n\tContactImage,\n\tRightContent,\n\tText,\n\tTextWrapper,\n\tToggleIcon,\n\tUsersIcon,\n\tIconWrapper,\n} from './Contacts.styles';\nimport { PhoneIcon, MailIcon } from '../LocationRow.styles';\n\nconst renderImage = image => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst contactOpenDefault = (contacts, query) => {\n\tlet result = false;\n\tif (!contacts || contacts.length === 0 || query === '') return result;\n\tfor (let i = 0; i < contacts.length; i++) {\n\t\tif (contacts[i].name) {\n\t\t\tconst lowerCaseName = contacts[i].name.toLowerCase();\n\t\t\tif (lowerCaseName !== '' && lowerCaseName.includes(query.toLowerCase())) {\n\t\t\t\tresult = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn result;\n};\n\nconst Contacts = ({ contacts, query }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [contactDropDownOpen, setContactDropdownOpen] = useState(\n\t\tcontactOpenDefault(contacts, query)\n\t);\n\n\tconst toggleDropDown = e => {\n\t\te.preventDefault();\n\t\tsetContactDropdownOpen(!contactDropDownOpen);\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{contacts.map((contact, i) => {\n\t\t\t\t\tconst { name, role, productArea, image, phone, email } = contact;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{image && renderImage(image)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{name && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{role && {role}}\n\t\t\t\t\t\t\t\t\t{productArea && {productArea}}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{phone && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{phone}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{email && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{email}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{contactDropDownOpen\n\t\t\t\t\t\t\t? t('contactpage/hidesellersandexperts')\n\t\t\t\t\t\t\t: t('contactpage/showsellersandexperts')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Contacts;\n\nContacts.propTypes = {\n\tname: PropTypes.string,\n\trole: PropTypes.string,\n\temail: PropTypes.string,\n\tphone: PropTypes.string,\n\timage: PropTypes.shape({\n\t\tsrc: PropTypes.string,\n\t\talt: PropTypes.string,\n\t\tsizes: [PropTypes.string, PropTypes.string],\n\t\twebpSizes: [PropTypes.string, PropTypes.string],\n\t}),\n\tproductAreaList: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport RichText from 'components/ui/RichText';\nimport { spacing2x } from 'theme/spacings';\nimport { FiAlignLeft } from 'react-icons/fi';\nimport { IconCss } from '../LocationRow.styles';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { blue } from 'theme/colors';\nimport { H2Css, H3Css, H4Css, H5Css } from 'components/ui/Typography';\nimport { fontWeightLight } from 'theme/typography';\n\nexport const MilkrunWrapper = styled.div`\n\tpadding: ${(props) => (props.padTop ? '1.6rem' : '0 1.6rem')};\n\toverflow: hidden;\n\tpadding: 0 1.6rem 0 0;\n\tpadding-left: 18.2rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding-left: 0rem;\n\t}\n`;\n\nexport const MilkrunRichText = styled(RichText)`\n\tvisibility: ${(props) => (props.open ? 'visible' : 'hidden')};\n\theight: ${(props) => (props.open ? 'auto' : '0')};\n\toverflow: hidden;\n\t& > h1:first-child {\n\t\tmargin-top: 0;\n\t}\n\th1 {\n\t\t${H2Css};\n\t\tcolor: ${blue};\n\t\tfont-weight: ${fontWeightLight};\n\t}\n\th2 {\n\t\t${H3Css};\n\t}\n\th3 {\n\t\t${H4Css};\n\t}\n\th4 {\n\t\t${H5Css};\n\t}\n\th5 {\n\t\tfont-size: 1.6rem;\n\t}\n\tp {\n\t\tfont-size: 1.6rem;\n\t}\n\ta {\n\t\tfont-size: 1.6rem;\n\t}\n\tul,\n\tol {\n\t\tfont-size: 1.6rem;\n\t}\n`;\n\nexport const MilkRunToggleWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: none;\n\ttext-align: right;\n\tmargin: ${(props) =>\n\t\tprops.isOpen\n\t\t\t? `${spacing2x} ${spacing2x} 0 ${spacing2x}`\n\t\t\t: `0 ${spacing2x}`};\n\tmin-width: 100%;\n\tjustify-content: flex-end;\n`;\n\nexport const MilkRunIcon = styled(FiAlignLeft)`\n\t${IconCss};\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n`;\n\nexport const MilkrunText = styled.p`\n\tmargin: 0;\n\tpadding: 0;\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tcolor: ${blue};\n`;\n","import React, { useState, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport {\n\tMilkrunWrapper,\n\tMilkRunToggleWrapper,\n\tMilkrunRichText,\n\tMilkrunText,\n\tMilkRunIcon,\n} from './Milkrun.styles';\nimport {\n\tToggleIcon,\n\tToggleButton,\n\tIconWrapper,\n} from '../Contacts/Contacts.styles';\n\nconst Milkrun = ({ milkRun }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [milkRunOpen, setMilkRunOpen] = useState(false);\n\n\tconst toggleMilkrun = () => {\n\t\tsetMilkRunOpen(!milkRunOpen);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{milkRunOpen\n\t\t\t\t\t\t\t? t('contactpage/hidemilkrun')\n\t\t\t\t\t\t\t: t('contactpage/showmilkrun')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Milkrun;\n","/**\n * LocationRow\n * @module components/LocationRow\n */\n\nimport { useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Tooltip from 'components/ui/Tooltip';\n\nimport {\n\tAddressRichText,\n\tBody,\n\tCategoryWrapper,\n\tContactText,\n\tContentWrapper,\n\tImage,\n\tImg,\n\tLinkWrapper,\n\tTopContent,\n\tLeftContent,\n\tRightContent,\n\tBottomContent,\n\tOpeningHoursRichText,\n\tRowWrapper,\n\tInfoRow,\n\tText,\n\tHeading,\n\tPhoneIcon,\n\tMailIcon,\n\tGlobeIcon,\n\tLargerContainer,\n\tSmallerContainer,\n} from './LocationRow.styles';\nimport Contacts from './Contacts/Contacts';\nimport { useMedia } from 'hooks';\nimport Milkrun from './Milkrun/Milkrun';\nimport { LocationRowModel } from 'types/common';\nimport Icon from 'components/ui/Icon';\n\nconst LocationRow = ({\n\tcategories,\n\tcity,\n\tcontacts,\n\temail,\n\temailTooltip,\n\temail2,\n\temail2Tooltip,\n\tmapImageUrl,\n\tmapLinkUrl,\n\topeningHours,\n\tphone,\n\tphoneTooltip,\n\tphone2,\n\tphone2Tooltip,\n\tphone3,\n\tphone3Tooltip,\n\tstreetAddress,\n\ttitle,\n\ttrackClick,\n\twebsite,\n\twebsiteTooltip,\n\tquery,\n\tmilkRun,\n\thitId,\n\ttrackId,\n\t...restProps\n}: LocationRowModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst isMobile = useMedia('(max-width: 767px)');\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{!isMobile && (\n\t\t\t\t\t\n\t\t\t\t\t\t{t('contactpage/mapalt')}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isMobile && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('contactpage/mapalt')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\ttrackClick && hitId && trackId && trackClick(hitId, trackId);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{categories && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{city && (\n\t\t\t\t\t\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{city}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{categories.city && (\n\t\t\t\t\t\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{categories.city}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{title && {title}}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isMobile && streetAddress && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!isMobile && streetAddress && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{phone && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{phone}\n\t\t\t\t\t\t\t\t\t{phoneTooltip && (\n\t\t\t\t\t\t\t\t\t\t{phoneTooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{phone2 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{phone2}\n\t\t\t\t\t\t\t\t\t{phone2Tooltip && (\n\t\t\t\t\t\t\t\t\t\t{phone2Tooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{phone3 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{phone3}\n\t\t\t\t\t\t\t\t\t{phone3Tooltip && (\n\t\t\t\t\t\t\t\t\t\t{phone3Tooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{email && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{email}\n\t\t\t\t\t\t\t\t\t{emailTooltip && (\n\t\t\t\t\t\t\t\t\t\t{emailTooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{email2 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{email2}\n\t\t\t\t\t\t\t\t\t{email2Tooltip && (\n\t\t\t\t\t\t\t\t\t\t{email2Tooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{website && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{website}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{websiteTooltip && (\n\t\t\t\t\t\t\t\t\t\t{websiteTooltip}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{contacts && contacts.length > 0 && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{milkRun && }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LocationRow;\n","import LocationRow from './LocationRow';\n\nexport default LocationRow;\n","import { Paragraph } from 'components/ui/Typography';\nimport styled from 'styled-components';\nimport { fontWeightMedium } from 'theme/typography';\nimport { deviceSmallMax, deviceMediumMax } from 'theme/mediaQueries';\nimport FilterField from 'components/ui/FilterField';\nimport Pager from 'components/ui/Pager';\n\nimport { spacing05x, spacing3x } from 'theme/spacings';\n\nexport const Preamble = styled(Paragraph)`\n\tmax-width: 66%;\n\tfont-weight: ${fontWeightMedium};\n\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const SearchInput = styled(FilterField)`\n\tmargin-bottom: ${spacing3x};\n\twidth: 50rem;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfloat: none;\n\t\tpadding: ${spacing05x};\n\t}\n\tsvg {\n\t\theight: 2.4rem;\n\t\twidth: 2.4rem;\n\t\tmargin-bottom: 0.4rem;\n\t}\n`;\n\nexport const PagerWrapper = styled(Pager)`\n\tmargin: 2rem 0;\n`;\n\nexport const FilterBarWrapper = styled.div`\n\tmargin-top: 2rem;\n`;\n","/**\n * SearchPage\n * @module pages/SearchPage\n */\n\nimport React, {\n\tuseContext,\n\tuseState,\n\tuseEffect,\n\tuseReducer,\n\tuseRef,\n} from 'react';\n\nimport { useMedia, useDebounce } from 'hooks';\nimport { useFilterSearch, trackClick, useAutoComplete } from 'api';\nimport { LocalizationContext } from 'context/localization.context';\nimport { listFilterReducer } from 'reducers/listFilterReducer';\nimport { renderElementBasedOnEditMode, scrollToTop } from 'common/helpers';\nimport { composeQueryString, setUrlLocation } from 'common/helpers';\nimport ArticleRow from 'components/framework/ArticleRow';\nimport ItemRow from 'components/framework/ItemRow';\nimport ContentArea from 'components/framework/ContentArea';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport SearchResultSummary from 'components/ui/SearchResultSummary';\nimport AutoComplete from 'components/ui/AutoComplete';\nimport FilterChip from 'components/ui/FilterChip';\nimport { Paragraph } from 'components/ui/Typography';\nimport Layout from 'components/ui/Layout';\nimport ArticleDetail from 'components/common/ArticleDetail';\nimport LocationRow from 'components/framework/LocationRow';\nimport { Preamble, PagerWrapper, FilterBarWrapper } from './SearchPage.styles';\nimport {\n\tArticleWrapper,\n\tFilterCol,\n\tSlidersButton,\n\tSlidersIcon,\n\tArticleCol,\n\tFieldSet,\n\tClearFilterButton,\n} from '../ProductDetailPage/ProductDetailPage.styles';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport FilterBar from 'components/ui/FilterBar';\nimport { usePopState } from 'hooks/usePopState';\nimport ArticleDetailConfiguration from 'components/common/ArticleDetailConfiguration';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { usePriceStockDetail } from 'api/general';\nimport { selectUserObject } from 'store/modules/user';\nimport Icon from 'components/ui/Icon';\nimport { selectCartObject } from 'store/modules/cart';\nimport { confReset } from 'store/modules/configurator';\n\nconst SearchPage = ({\n\tbreadcrumbs,\n\theading,\n\tpreamble,\n\tfilter,\n\tarticleList,\n\tpagination,\n\tcontentArea,\n\tisInEditMode,\n\tsuggestions,\n\tframework,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst confDispatch = useDispatch();\n\tconst { customers, projects, warehouses } = useSelector(selectUserObject);\n\tconst { cartDisabled } = useSelector(selectCartObject);\n\tconst [query, setQuery] = useState(null);\n\tconst [searchTerm, setSearchTerm] = useState((filter && filter.query) || '');\n\tconst [response, error, loading] = useFilterSearch(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null\n\t);\n\n\tconst isMobile = useMedia('(max-width: 490px)', true);\n\tconst tabletView = useMedia('(max-width: 890px)', true);\n\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tdisplay: pagination.display,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t\tgroup: filter.group,\n\t\tfacets: filter.facets,\n\t});\n\n\tconst [articleModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null,\n\t});\n\n\tconst [confModalOpen, setConfModalOpen] = useState(false);\n\n\tconst toggleConfModal = () => {\n\t\tsetConfModalOpen(!confModalOpen);\n\t\tconfDispatch(confReset());\n\t};\n\n\tconst articleWrapper = useRef();\n\n\tlet didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = usePopState(state);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tdispatch({ type: 'SET_STATE', payload: popState });\n\t\t\tpreventHistoryEntry.current = true;\n\t\t}\n\t}, [popState, popStateString]);\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tnull,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets,\n\t\t\tstate.group\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\t\tif (queryString !== query) {\n\t\t\tsetUrlLocation(\n\t\t\t\tqueryString,\n\t\t\t\tstate.query,\n\t\t\t\tnull,\n\t\t\t\tstate.display,\n\t\t\t\tstate.currentPage,\n\t\t\t\tstate.facets,\n\t\t\t\tstate.group,\n\t\t\t\thasRendered,\n\t\t\t\tpreventHistoryEntry.current\n\t\t\t);\n\t\t}\n\t}, [query, state]);\n\n\tuseEffect(() => {\n\t\tif (response && response.filter && response.filter.facets) {\n\t\t\tdispatch({ type: 'FACETS', facets: response.filter.facets });\n\t\t}\n\t}, [response]);\n\n\tconst handleFilterRequest = (sortBy, display) => {\n\t\tdispatch({ type: 'SORT_BY', sortBy: 1 });\n\t\tdispatch({ type: 'GROUP', group: sortBy });\n\t\tdispatch({ type: 'DISPLAY', display: display });\n\t};\n\n\tconst handleFacet = (facetId, itemId, value) => {\n\t\tconst facet = state.facets.find((f) => f.id === facetId);\n\t\tconst item = facet.items.find((i) => i.id === itemId);\n\t\titem && (item.active = value);\n\n\t\tdispatch({ type: 'FACETS', facets: state.facets });\n\t};\n\n\tconst clearFacets = () => {\n\t\tstate.facets.forEach((facet) =>\n\t\t\tfacet.items.forEach((item) => (item.active = false))\n\t\t);\n\t\tdispatch({ type: 'FACETS', facets: state.facets });\n\t};\n\n\tconst handleSearch = (value) => {\n\t\tif (state.query !== value) {\n\t\t\tdispatch({ type: 'QUERY', query: value });\n\t\t}\n\t};\n\n\tconst handleAutocompleteChange = (value) => {\n\t\tif (value !== searchTerm) {\n\t\t\tsetSearchTerm(value);\n\t\t}\n\t};\n\n\tconst handlePagination = (value) => {\n\t\tscrollToTop();\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value });\n\t};\n\n\tconst [showFilter, setShowFilter] = useState(false);\n\tconst toggleMobileFilter = () => {\n\t\tsetShowFilter(!showFilter);\n\t};\n\n\tconst paginationObject = response.pagination || pagination;\n\n\tconst articlesArray = response.articleList || articleList;\n\n\tconst filters = response.filter || filter;\n\n\tconst suggestionList = response.suggestions || suggestions;\n\n\tconst anyActiveFacetFilter = state.facets.some((facet) =>\n\t\tfacet.items.some((item) => item.active === true)\n\t);\n\n\tconst hasFacets = filters && filters.facets && filters.facets.length > 0;\n\n\tconst handleSuggestion = (newQuery) => {\n\t\tif (state.query !== newQuery) {\n\t\t\tsetSearchTerm(newQuery);\n\t\t\tdispatch({ type: 'QUERY', query: newQuery });\n\t\t}\n\t};\n\n\tconst handleTrackClick = (hitId, trackId) => {\n\t\ttrackClick(framework.api.clickTrackUrl, {\n\t\t\tquery: state.query,\n\t\t\thitId,\n\t\t\ttrackId,\n\t\t});\n\t};\n\tconst debouncedSearchTerm = useDebounce(searchTerm, 100);\n\tconst [\n\t\tautoCompleteResponse,\n\t\tautoCompleteError,\n\t\tautoCompleteLoading,\n\t] = useAutoComplete(debouncedSearchTerm, framework.api.autocompleteSearchUrl);\n\n\tconst priceArticles = response.articleList\n\t\t? [...response.articleList]\n\t\t: articleList;\n\tconst [priceResponse, priceError, priceLoading] = usePriceStockDetail({\n\t\tarticlesArray: priceArticles.filter(\n\t\t\t(pa) => pa.modelType === 'Article' || pa.modelType === 'ConfArticle'\n\t\t),\n\t\tcompanyId: framework.header.activeMarket,\n\t\tcustomerId: customers?.filter((item) => item.selected === true)[0]?.id,\n\t\tprojectId: projects?.filter((item) => item.selected === true)[0]?.id,\n\t\twarehouseId: warehouses?.filter((item) => item.selected === true)[0]?.id,\n\t\turl: framework.api.priceStockDetailsUrl,\n\t\tdesiredDeliveryDate: '',\n\t\tpreventRequest: cartDisabled,\n\t});\n\n\tconst priceInformation =\n\t\tpriceResponse && priceResponse.articleList ? priceResponse.articleList : [];\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\n\t\t\t\t{preamble &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\tPreamble,\n\t\t\t\t\t\t{ size: 'large' },\n\t\t\t\t\t\tpreamble\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{!tabletView && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t 0 && autoCompleteResponse) ||\n\t\t\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\titemToString={(item) => (item ? item.name : '')}\n\t\t\t\t\t\t\t\tautoCompleteLoading={autoCompleteLoading}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{!tabletView && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{(hasFacets || tabletView) && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tabletView && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\tautoCompleteResponse) ||\n\t\t\t\t\t\t\t\t\t\t\t[]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\titemToString={(item) => (item ? item.name : '')}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{tabletView && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{hasFacets && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{hasFacets && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{state.facets.map((fieldset, i) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{fieldset.name && fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t{hasFacets && anyActiveFacetFilter && !loading && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{state.facets.map((facet, i) => {\n\t\t\t\t\t\t\t\t\t\treturn facet.items.map((facetItem, j) => {\n\t\t\t\t\t\t\t\t\t\t\treturn facetItem.active ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : null;\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t\t clearFacets()}>\n\t\t\t\t\t\t\t\t\t{t('shared/filter/clearallfilters')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!loading && error && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{t('shared/filter/errormessage')}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{articlesArray && !error && !loading && articlesArray.length > 0\n\t\t\t\t\t\t\t? articlesArray.map((item, i) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.modelType === 'Article' ||\n\t\t\t\t\t\t\t\t\t\titem.modelType === 'ConfArticle' ? (\n\t\t\t\t\t\t\t\t\t\t\t x.itemCode === item.itemCode\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tpriceLoading={priceLoading}\n\t\t\t\t\t\t\t\t\t\t\t\tcertificates={item?.certificates}\n\t\t\t\t\t\t\t\t\t\t\t\topenModal={\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.modelType === 'Article'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? setArticleModal\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: toggleConfModal\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttrackClick={handleTrackClick}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : item.modelType === 'LocationPage' ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t ))\n\t\t\t\t\t\t\t: !error &&\n\t\t\t\t\t\t\t !loading && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{t('shared/filter/noresultmessage')}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t )}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t{articleModal.isActive && (\n\t\t\t\t setArticleModal({ link: null, isActive: false })}\n\t\t\t\t\tarticleApiUrl={articleModal.link}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{confModalOpen && (\n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default SearchPage;\n","import { useFetch } from './index.ts';\n\nexport const useAutoComplete = (query, url) => {\n\tconst preventRequest =\n\t\turl === null ||\n\t\ttypeof url === 'undefined' ||\n\t\tquery === null ||\n\t\ttypeof query === 'undefined' ||\n\t\tquery === '';\n\n\treturn useFetch({\n\t\turl: `${url}?term=${query}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'get',\n\t\tdisableCancel: true,\n\t\tpreventRequest: preventRequest,\n\t\tdataHash: query,\n\t});\n};\n","import SearchPage from './SearchPage';\n\nexport default SearchPage;\n","/**\n * MyPage\n * @module pages/MyPage\n */\n\nimport Layout from 'components/ui/Layout';\nimport ContentArea from 'components/framework/ContentArea';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport {\n\tCategoryList,\n\tCategoryListItem,\n} from 'components/framework/CategoryList';\nimport { Cell, Grid } from 'components/ui/Grid';\n\nconst MyPage = ({\n\theading,\n\tbreadcrumbs,\n\ttext,\n\tisInEditMode,\n\tcolumnList,\n\tcontentArea,\n}) => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{columnList?.map((column, index) => (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{column.heading}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{column.links?.map((item, subIndex) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{contentArea && }\n\t\t
    \n\t);\n};\n\nexport default MyPage;\n","import MyPage from './MyPage';\n\nexport default MyPage;\n","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport { spacing2x, spacing1x, spacing05x } from 'theme/spacings';\nimport { fontFamily, fontWeightBold, fontWeightNormal } from 'theme/typography';\nimport { blue, white, greyLight } from 'theme/colors';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { FiChevronUp, FiChevronDown } from 'react-icons/fi';\nimport { paragraphCss } from '../Typography';\n\nexport const Table = styled.table`\n\tborder-spacing: 0;\n\twidth: 100%;\n\tfont-family: ${fontFamily};\n`;\n\nexport const TableRow = styled.tr`\n\tbackground-color: ${white};\n\t:nth-child(even) {\n\t\tbackground-color: ${greyLight};\n\t}\n`;\n\nexport const TableHeadRow = styled.thead`\n\tbackground-color: ${blue};\n`;\nexport const TableHead = styled.tr`\n\tcolor: ${white};\n\tfont-size: 1.6rem;\n\tpadding: ${spacing1x};\n\tfont-family: ${fontFamily};\n`;\nexport const TableHeadContent = styled.th`\n\tpadding: ${spacing1x} ${spacing2x};\n\tfont-size: 1.6rem;\n\tfont-weight: ${fontWeightNormal};\n\ttext-align: ${props => (props.center ? 'center' : 'left')};\n\twhite-space: nowrap;\n\n\t&:active {\n\t\tfont-weight: ${fontWeightBold};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t\tline-height: 2rem;\n\t}\n`;\nexport const TableData = styled.div`\n\tfont-size: 1.6rem;\n\tpadding: ${spacing1x} ${spacing2x};\n\tfont-family: ${fontFamily};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tfont-size: 1.4rem;\n\t\tline-height: 2rem;\n\t}\n`;\n\nexport const SortWrapper = styled.div`\n\tposition: relative;\n\theight: 100%;\n\twidth: 1rem;\n\tdisplay: inline-block;\n\tmargin-left: ${spacing05x};\n`;\n\nconst sortIconCss = css`\n\tposition: absolute;\n\tcolor: ${white};\n\tfill: ${white};\n\tfont-size: 1.4rem;\n\topacity: 0.4;\n`;\n\nconst filterProps = props => {\n\tconst { isSorted, isDescending, ...rest } = props;\n\treturn rest;\n};\n\nexport const SortAscIcon = styled(props => (\n\t\n))`\n\t${sortIconCss}\n\ttop: -1.5rem;\n\topacity: ${props => (props.isSorted && !props.isDescending ? 1 : 0.4)};\n`;\n\nexport const SortDscIcon = styled(props => (\n\t\n))`\n\t${sortIconCss}\n\ttop: -0.9rem;\n\topacity: ${props => (props.isSorted && props.isDescending ? 1 : 0.4)};\n`;\n\nexport const VisuallyHiddenCaption = styled.caption`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n\nexport const CellLink = styled.a`\n\n\t${paragraphCss}\n color: ${blue};\n display: inline-block;\n\tmargin: 0;\n\tpadding: 0;\n\tcursor: pointer;\n\ttext-decoration: none;\n\tfont-weight: ${fontWeightNormal};\n\n :hover {\n text-decoration: underline;\n }\n`;\n","import { CellLink } from './table.styles';\n\nexport const focusCell = (newrow, newcol) => {\n\tlet tgt = document.querySelector(\n\t\t'[data-row=\"' + newrow + '\"][data-col=\"' + newcol + '\"]'\n\t);\n\tif (tgt && tgt.getAttribute('role') === 'cell') {\n\t\tdocument\n\t\t\t.querySelectorAll('[role=cell]')\n\t\t\t.forEach((el) => el.setAttribute('tabindex', '-1'));\n\n\t\ttgt.setAttribute('tabindex', '0');\n\t\ttgt.focus();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexport const focusTableHead = (colIndex) => {\n\tdocument\n\t\t.querySelectorAll('[role=cell]')\n\t\t.forEach((el) => el.setAttribute('tabindex', '-1'));\n\tconst tableHead = document.querySelector(\n\t\t'[data-header-col=\"' + colIndex + '\"]'\n\t);\n\ttableHead && tableHead.focus();\n};\n\nconst handleCtrlHome = (e, currentRow) => {\n\tif (e.ctrlKey) {\n\t\tfocusCell(0, 0);\n\t} else {\n\t\tfocusCell(currentRow, 0);\n\t}\n};\n\nconst handleCtrlEnd = (e, maxRow, maxColumn, currentRow) => {\n\tmaxRow = maxRow - 1;\n\tmaxColumn = maxColumn - 1;\n\tif (e.ctrlKey) {\n\t\tfocusCell(maxRow, maxColumn);\n\t} else {\n\t\tfocusCell(currentRow, maxColumn);\n\t}\n};\n\nexport const handleKeyboardNavigation = (\n\te,\n\tmaxRows,\n\tmaxColumns,\n\tcurrentRow\n) => {\n\tswitch (e.key) {\n\t\tcase 'ArrowRight':\n\t\t\tfocusCell(\n\t\t\t\tparseInt(e.target.getAttribute('data-row')),\n\t\t\t\tparseInt(e.target.getAttribute('data-col')) + 1\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'ArrowLeft':\n\t\t\tfocusCell(\n\t\t\t\tparseInt(e.target.getAttribute('data-row')),\n\t\t\t\tparseInt(e.target.getAttribute('data-col')) - 1\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'ArrowDown':\n\t\t\tfocusCell(\n\t\t\t\tparseInt(e.target.getAttribute('data-row')) + 1,\n\t\t\t\tparseInt(e.target.getAttribute('data-col'))\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'ArrowUp':\n\t\t\tconst success = focusCell(\n\t\t\t\tparseInt(e.target.getAttribute('data-row') - 1),\n\t\t\t\tparseInt(e.target.getAttribute('data-col'))\n\t\t\t);\n\t\t\tif (!success) {\n\t\t\t\tfocusTableHead(parseInt(e.target.getAttribute('data-col')));\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Home':\n\t\t\thandleCtrlHome(e, currentRow);\n\t\t\tbreak;\n\t\tcase 'End':\n\t\t\thandleCtrlEnd(e, maxRows, maxColumns, currentRow);\n\t\t\tbreak;\n\t\tcase 'PageDown':\n\t\t\tfocusCell(maxRows - 1, 0);\n\t\t\tbreak;\n\t\tcase 'PageUp':\n\t\t\tif (currentRow !== 0) {\n\t\t\t\tfocusCell(0, 0);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'Tab':\n\t\t\treturn true;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\te.preventDefault();\n};\n\nexport const handleSortByKeyDown = (\n\te,\n\tcolumn,\n\tcurrentRow,\n\tmaxRows,\n\tmaxColumns\n) => {\n\tswitch (e.key) {\n\t\tcase 'Enter':\n\t\t\tcolumn && column.toggleSortBy();\n\t\t\tbreak;\n\t\tcase 'ArrowDown':\n\t\t\tfocusCell(0, currentRow);\n\t\t\tbreak;\n\t\tcase 'ArrowRight':\n\t\t\tfocusTableHead(currentRow + 1);\n\t\t\tbreak;\n\t\tcase 'ArrowLeft':\n\t\t\tfocusTableHead(currentRow - 1);\n\t\t\tbreak;\n\t\tcase 'Tab':\n\t\t\treturn true;\n\t\tcase 'Home':\n\t\t\thandleCtrlHome(e);\n\t\t\tbreak;\n\t\tcase 'End':\n\t\t\thandleCtrlEnd(e, maxRows, maxColumns, currentRow);\n\t\t\tbreak;\n\t\tcase 'PageDown':\n\t\t\tfocusCell(maxRows - 1, 0);\n\t\t\tbreak;\n\t\tcase 'PageUp':\n\t\t\tif (currentRow !== 0) {\n\t\t\t\tfocusCell(0, 0);\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn true;\n\t}\n\te.preventDefault();\n};\n\nexport const formatAndGetCellValue = (cell) => {\n\tconst cellId = cell && cell.column && cell.column.id;\n\tconst cellData = cell && cell.row && cell.row.original;\n\tswitch (cellId) {\n\t\tcase 'date':\n\t\t\treturn cell.value;\n\t\tcase 'externalId':\n\t\t\treturn {cell.value};\n\t\tdefault:\n\t\t\treturn cell.render('Cell');\n\t}\n};\n","import styled from 'styled-components';\nimport { spacing3x } from 'theme/spacings';\nimport { deviceSmallMax } from 'theme/mediaQueries';\n\nexport const Body = styled.div`\n\tmax-width: 60%;\n\tpadding-bottom: ${spacing3x};\n\toverflow-y: auto;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmax-width: 100%;\n\t}\n`;\n\nexport const VisuallyHiddenCaption = styled.caption`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n","/**\n * MyProjectsPage\n * @module pages/MyProjectsPage\n */\n\nimport React, { useMemo, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useTable, useSortBy } from 'react-table';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n} from 'components/ui/Table';\n\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Layout from 'components/ui/Layout';\nimport { Body, VisuallyHiddenCaption } from './MyProjectsPage.styles';\n\nimport {\n\tTable,\n\tTableHeadRow,\n\tTableHead,\n\tTableHeadContent,\n\tTableData,\n\tTableRow,\n\tSortWrapper,\n\tSortAscIcon,\n\tSortDscIcon,\n} from 'components/ui/Table/table.styles';\n\nconst MyProjectsPage = ({\n\theading,\n\ttext,\n\tprojects,\n\tcontentArea,\n\tisInEditMode,\n\tbreadcrumbs,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\n\tconst data = useMemo(() => projects, [projects]);\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('myprojectspage/customer'), accessor: 'organizationName' },\n\t\t\t{ Header: t('myprojectspage/project'), accessor: 'projectName' },\n\t\t\t{ Header: t('myprojectspage/projectId'), accessor: 'projectId' },\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t},\n\t\tuseSortBy\n\t);\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{rows.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default MyProjectsPage;\n","import MyProjectsPage from './MyProjectsPage';\n\nexport default MyProjectsPage;\n","import { Paragraph } from 'components/ui/Typography';\nimport styled from 'styled-components';\nimport { blue, grey, white } from 'theme/colors';\nimport {\n\tdeviceSmallMax,\n\tdeviceMediumMax,\n\tdeviceMediumMin,\n} from 'theme/mediaQueries';\nimport {\n\tspacing4x,\n\tspacing15x,\n\tspacing7x,\n\tspacing3x,\n\tspacing05x,\n\tspacing1x,\n} from 'theme/spacings';\nimport { fontWeightSemiBold } from 'theme/typography';\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\tmargin-bottom: ${spacing15x};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: block;\n\t\tmargin: ${spacing3x} 0 ${spacing7x};\n\t}\n`;\n\nexport const Table = styled(Paragraph)`\n\tborder-collapse: collapse;\n\twidth: 49%;\n\tmargin-bottom: ${spacing3x};\n\n\t@media (min-width: ${deviceMediumMax}) and (max-width: 890px) {\n\t\twidth: 66%;\n\t}\n\n\t@media (max-width: ${deviceMediumMin}) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const Caption = styled(Paragraph)`\n\tfont-weight: ${fontWeightSemiBold};\n\ttext-align: left;\n\tbackground-color: ${blue};\n\tcolor: ${white};\n\tpadding: ${spacing05x} ${spacing4x} ${spacing05x} ${spacing1x};\n\tmargin-bottom: 0;\n`;\n\nexport const Row = styled.tr`\n\t:nth-of-type(odd) {\n\t\tbackground-color: ${grey};\n\t}\n`;\n\nexport const Property = styled.td`\n\tfloat: left;\n\tclear: left;\n\ttext-align: left;\n\twidth: 20rem;\n\tpadding: ${spacing05x} ${spacing4x} ${spacing05x} ${spacing1x};\n\n\t:after {\n\t\tcontent: ':';\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 16rem;\n\t}\n`;\n\nexport const Value = styled.td`\n\tmargin: 0;\n\twidth: 100%;\n\tpadding: 0.4rem 3.2rem;\n\ttext-align: inherit;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\ttext-align: inherit;\n\t\tpadding: 0.4rem 0.8rem 0.4rem 0;\n\t}\n`;\n","import Axios from 'axios';\n\nexport const fetchAccount = async (url: string) => {\n\tif (process.env.NODE_ENV === 'development') {\n\t\t// if Biltema is selected\n\t\t//url = `http://localhost:4000/api/myaccount?customerCookie=55443`;\n\n\t\t// if XL-bygg is selected\n\t\turl = `http://localhost:4000/api/myaccount?customerCookie=12312`;\n\t}\n\ttry {\n\t\tconst result = await Axios({\n\t\t\tmethod: 'PATCH',\n\t\t\turl: url,\n\t\t\theaders: {\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t\t},\n\t\t});\n\t\treturn (result.data && result.data.columnList) || null;\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\treturn null;\n\t}\n};\n","/**\n * MyAccountPage\n * @module pages/MyAccountPage\n */\n\nimport React, { useContext, useEffect, useState, useRef } from 'react';\nimport Layout from 'components/ui/Layout';\nimport {\n\tWrapper,\n\tTable,\n\tRow,\n\tProperty,\n\tValue,\n\tCaption,\n} from './MyAccountPage.styles';\nimport ContentArea from 'components/framework/ContentArea';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { LocalizationContext } from 'context/localization.context';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { useSelector } from 'react-redux';\nimport { selectUserObject } from 'store/modules/user';\nimport { fetchAccount } from 'api/myaccount';\n\nconst MyAccountPage = ({\n\theading,\n\tbreadcrumbs,\n\ttext,\n\tcolumnList,\n\tisInEditMode,\n\tcontentArea,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { customers } = useSelector(selectUserObject);\n\tconst [accountColumns, setAccountColumns] = useState(columnList);\n\n\tconst didRender = useRef(false);\n\n\tconst fetchAccountColumns = async () => {\n\t\ttry {\n\t\t\tif (window?.location?.href) {\n\t\t\t\tconst data = await fetchAccount(window.location.href);\n\t\t\t\tsetAccountColumns(data);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t};\n\tuseEffect(() => {\n\t\tif (didRender.current) {\n\t\t\tfetchAccountColumns();\n\t\t}\n\t\tif (!didRender.current && typeof customers !== 'undefined') {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [customers]);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{accountColumns &&\n\t\t\t\t\t\taccountColumns.map((item, i) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.heading && }\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{item &&\n\t\t\t\t\t\t\t\t\t\titem.dictionary &&\n\t\t\t\t\t\t\t\t\t\tObject.keys(item.dictionary).map((key, i) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{key}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.dictionary[key]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    {item.heading}
    \n\t\t\t\t\t\t\t\t\t\t\t{t('shared/specificationslist/property')}\n\t\t\t\t\t\t\t\t\t\t{t('shared/specificationslist/value')}
    \n\t\t\t\t\t\t))}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{contentArea && }\n\t\t
    \n\t);\n};\n\nexport default MyAccountPage;\n","import MyAccountPage from './MyAccountPage';\n\nexport default MyAccountPage;\n","import styled from 'styled-components';\nimport { spacing1x, spacing2x, spacing5x, spacing10x } from 'theme/spacings';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { FiTrash2 } from 'react-icons/fi';\nimport {\n\tgreyDark,\n\tgreyPlaceholder,\n\tblue,\n\tgrey,\n\terrorRed,\n\tgreyDarkest,\n} from 'theme/colors';\nimport { fontFamily, fontWeightBold } from 'theme/typography';\nimport { paragraphCss } from 'components/ui/Typography';\nimport Button from 'components/ui/Button';\nimport { Popout } from 'components/ui/Tooltip/Tooltip.styles';\n\nexport const Body = styled.div`\n\tpadding-bottom: ${spacing10x};\n\toverflow-x: auto;\n\tposition: static;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding-bottom: ${spacing5x};\n\t}\n`;\n\nexport const VisuallyHidden = styled.td`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n\nexport const EditAddressLink = styled.a`\n\tpointer-events: all;\n\ttext-decoration: none;\n\tcolor: ${blue};\n\t&:hover {\n\t\ttext-decoration: underline;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t}\n`;\n\nexport const DeleteAddressButton = styled.button`\n\tborder: 0;\n\tbackground-color: transparent;\n\ttransition: opacity 0.4s ease-out;\n\tpointer-events: all;\n\ttext-decoration: none;\n\tcursor: pointer;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tright: 0;\n\t}\n`;\n\nexport const UndeletableButton = styled(DeleteAddressButton)`\n\t> svg {\n\t\twidth: 1.6rem;\n\t\theight: 1.6rem;\n\t\tcolor: ${greyDark};\n\t}\n`;\n\nexport const DeleteAddressIcon = styled(FiTrash2)`\n\twidth: 1.6rem;\n\theight: 1.6rem;\n\tcolor: ${greyDarkest};\n`;\n\nexport const ModalInputWrapper = styled.div`\n\tdisplay: inline-block;\n\twidth: 50%;\n\t&:not(:first-of-type) {\n\t\tpadding-left: ${spacing2x};\n\t}\n`;\n\nexport const ModalLabel = styled.label`\n\t${paragraphCss};\n\tfont-weight: ${fontWeightBold};\n`;\nexport const ModalInputField = styled.input`\n\tflex: 1 1;\n\tpadding: ${spacing1x} ${spacing2x};\n\tborder: 0.1rem solid ${greyDark};\n\tborder-radius: 0.4rem;\n\tfont-family: ${fontFamily};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\twidth: 100%;\n\t@media (max-width: 890px) {\n\t\tfont-size: 1.4rem;\n\t\theight: 3.2rem;\n\t}\n\t:read-only,\n\t:disabled {\n\t\tbackground-color: ${grey};\n\t}\n\t:invalid {\n\t\tborder-color: ${errorRed};\n\t}\n`;\n\nexport const ModalTextArea = styled.textarea`\n\twidth: 100%;\n\tmax-width: 100%;\n\tmin-height: 5rem;\n\theight: 10rem;\n\tpadding: ${spacing1x};\n\tborder: 0.1rem solid ${greyDark};\n\tborder-radius: 0.4rem;\n\n\tfont-family: ${fontFamily};\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\t:read-only,\n\t:disabled {\n\t\tbackground-color: ${grey};\n\t}\n\t:invalid {\n\t\tborder-color: ${errorRed};\n\t}\n\t::placeholder {\n\t\tcolor: ${greyPlaceholder};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin-bottom: ${spacing2x};\n\t}\n`;\n\nexport const SaveChangesButton = styled(Button)``;\n\nexport const SaveChangesButtonWrapper = styled.div`\n\ttext-align: right;\n`;\n\nexport const DeleteDialogMessage = styled.p`\n\t${paragraphCss};\n\tfont-weight: ${fontWeightBold};\n`;\nexport const DeleteDialogButton = styled(Button)`\n\t:first-child {\n\t\tmargin-right: ${spacing2x};\n\t}\n`;\nexport const DeleteDialogButtonWrapper = styled.div`\n\ttext-align: right;\n`;\n\nexport const ErrorText = styled.span`\n\t${paragraphCss};\n\tcolor: ${errorRed};\n\tmargin-top: 1.2rem;\n\tdisplay: ${(props) => (props.displayBlock ? 'block' : 'inline')};\n`;\n\nexport const ErrorTextWrapper = styled.div`\n\twidth: 50%;\n\tdisplay: inline-block;\n\t&:not(:first-child) {\n\t\tpadding-left: ${spacing2x};\n\t}\n`;\n\nexport const UndeletablePopout = styled(Popout)`\n\tbox-shadow: 0 0.2rem 0.5rem 0rem rgba(0, 0, 0, 0.38);\n\twhite-space: pre-wrap;\n\tmax-width: 20rem;\n\tmin-width: 25rem;\n\t:after {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbottom: 100%;\n\t\tleft: 96%;\n\t\tmargin-left: -1rem;\n\t\tborder-width: 1rem;\n\t\tborder-style: solid;\n\t\tborder-color: transparent transparent ${grey} transparent;\n\t}\n`;\n","/**\n * MyAddressesPage\n * @module pages/MyAddressesPage\n */\n\nimport React, { useMemo, useContext, useState, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useTable, useSortBy } from 'react-table';\nimport { saveAddressChanges, deleteAddress } from 'api/addresses';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n} from 'components/ui/Table';\n\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Modal from 'components/ui/Modal';\nimport Layout from 'components/ui/Layout';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nimport {\n\tTable,\n\tTableHeadRow,\n\tTableHead,\n\tTableHeadContent,\n\tTableData,\n\tTableRow,\n\tSortWrapper,\n\tSortAscIcon,\n\tSortDscIcon,\n} from 'components/ui/Table/table.styles';\n\nimport {\n\tBody,\n\tVisuallyHidden,\n\tDeleteAddressButton,\n\tDeleteAddressIcon,\n\tEditAddressLink,\n\tModalInputWrapper,\n\tModalInputField,\n\tModalTextArea,\n\tModalLabel,\n\tSaveChangesButton,\n\tSaveChangesButtonWrapper,\n\tDeleteDialogButtonWrapper,\n\tDeleteDialogButton,\n\tUndeletableButton,\n\tUndeletablePopout,\n\tDeleteDialogMessage,\n\tErrorText,\n\tErrorTextWrapper,\n} from './MyAddressesPage.styles';\nimport { toast } from 'react-toastify';\nimport { FiTrash2 } from 'react-icons/fi';\n\nconst MyAddressesPage = ({\n\taddresses,\n\tbreadcrumbs,\n\tcontentArea,\n\theading,\n\ttext,\n\teditLink,\n\tdeleteLink,\n\tisInEditMode,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [addressesState, setAddressesState] = useState(addresses);\n\tconst [modalItem, setModalItem] = useState(null);\n\tconst [deleteItem, setDeleteItem] = useState(null);\n\tconst [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tconst data = useMemo(() => addressesState, [addressesState]);\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('myaddressespage/name'), accessor: 'name' },\n\t\t\t{ Header: t('myaddressespage/customer'), accessor: 'organizationName' },\n\t\t\t{ Header: t('myaddressespage/address'), accessor: 'street' },\n\t\t\t{ Header: t('myaddressespage/postalcode'), accessor: 'postalCode' },\n\t\t\t{ Header: t('myaddressespage/city'), accessor: 'city' },\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t},\n\t\tuseSortBy\n\t);\n\n\tconst closeModal = () => {\n\t\tsetModalItem(null);\n\t};\n\n\tconst handleModalInputChange = (e) => {\n\t\tconst { item } = modalItem;\n\t\tconst input = document.getElementById(e.target.name);\n\n\t\tconst newItem = { ...item };\n\t\tnewItem[e.target.name] = e.target.value.trimStart();\n\t\tif (e.target.value.trimStart() === '') {\n\t\t\tinput && input.setCustomValidity('invalid');\n\t\t\tdocument.getElementById(`val-msg-${e.target.name}`).innerText = t(\n\t\t\t\t'shared/form/requiredfieldmessage'\n\t\t\t);\n\t\t} else {\n\t\t\tinput && input.setCustomValidity('');\n\t\t\tdocument.getElementById(`val-msg-${e.target.name}`).innerText = '';\n\t\t}\n\t\tsetModalItem({ ...modalItem, item: newItem });\n\t};\n\n\tconst showToast = (message, isSuccess) => {\n\t\ttoast(message, {\n\t\t\ttype: isSuccess ? toast.TYPE.SUCCESS : toast.TYPE.ERROR,\n\t\t\tcloseDelay: 1500,\n\t\t});\n\t};\n\n\tconst validateAddressChanges = () => {\n\t\tconst modal = document.querySelector('#editaddressmodal');\n\t\tconst elements = modal.querySelectorAll('input,textarea');\n\t\tconst invalidElement =\n\t\t\telements &&\n\t\t\tArray.from(elements).find((el) => el.value.trimStart() === '');\n\n\t\tif (invalidElement) {\n\t\t\tinvalidElement.focus();\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tconst handleSaveChanges = (e) => {\n\t\te.preventDefault();\n\t\tif (\n\t\t\tmodalItem &&\n\t\t\tmodalItem.item &&\n\t\t\tmodalItem.item.isEditable &&\n\t\t\tvalidateAddressChanges(modalItem)\n\t\t) {\n\t\t\tsetIsLoading(true);\n\t\t\tsaveAddressChanges(editLink, modalItem.item).then((response) => {\n\t\t\t\tif (response === true) {\n\t\t\t\t\tconst newState = [...addressesState];\n\t\t\t\t\tconst changedItem = newState.find(\n\t\t\t\t\t\t(a) => a.addressId === modalItem.item.addressId\n\t\t\t\t\t);\n\t\t\t\t\tObject.keys(changedItem).forEach((key) => {\n\t\t\t\t\t\tchangedItem[key] = modalItem.item[key];\n\t\t\t\t\t});\n\t\t\t\t\tsetAddressesState(newState);\n\t\t\t\t\tcloseModal();\n\t\t\t\t\tsetModalItem(null);\n\t\t\t\t\tshowToast(t('myaddressespage/adresseditedmessage'), true);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t} else {\n\t\t\t\t\tshowToast(t('shared/toast/servererror'));\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleDeleteAddress = (addressId, organizationId) => {\n\t\tsetIsLoading(true);\n\t\tdeleteAddress(deleteLink, addressId, organizationId).then((response) => {\n\t\t\tif (response === true) {\n\t\t\t\tconst newState = [...addressesState].filter(\n\t\t\t\t\t(a) => a.addressId !== addressId\n\t\t\t\t);\n\t\t\t\tsetAddressesState(newState);\n\t\t\t\tshowToast(t('myaddressespage/removedaddressmessage'), true);\n\t\t\t\tsetIsLoading(false);\n\t\t\t\tsetDeleteDialogOpen(false);\n\t\t\t\tsetDeleteItem(null);\n\t\t\t} else {\n\t\t\t\tshowToast(t('shared/toast/servererror'));\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t});\n\t};\n\tconst popoutRef = useRef();\n\tconst handleUndeletablePopout = (e) => {\n\t\tconst element = e.currentTarget;\n\t\tif (element) {\n\t\t\tconst domRect = element.getBoundingClientRect();\n\t\t\tif (domRect && popoutRef.current && window) {\n\t\t\t\tpopoutRef.current.style.top = `${domRect.top + window.scrollY + 15}px`;\n\t\t\t\tpopoutRef.current.style.left = `${\n\t\t\t\t\tdomRect.right - popoutRef.current.scrollWidth / 2\n\t\t\t\t}px`;\n\t\t\t\tpopoutRef.current.style.visibility = 'visible';\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\tdata.length + 2,\n\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('myaddressespage/deleteaddress')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{rows.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\tconst original = row.original;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.column.id === 'name' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetModalItem({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem: original,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOpen: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{original && original.isEditable ? (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteItem(original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteDialogOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteItem(original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteDialogOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('myaddressespage/deleteaddress')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpopoutRef.current.style.visibility = 'hidden';\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('myaddressespage/undeletableaddressmessage')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t\t\t{t('myaddressespage/undeletableaddressmessage')}\n\t\t\t\n\t\t\t\n\t\t\t{modalItem && modalItem.isOpen && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('myaddressespage/name')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('myaddressespage/address')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('myaddressespage/postalcode')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('myaddressespage/city')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('myaddressespage/country')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isLoading\n\t\t\t\t\t\t\t\t\t? t('myaddressespage/savingchanges')\n\t\t\t\t\t\t\t\t\t: t('myaddressespage/savechanges')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{deleteDialogOpen && (\n\t\t\t\t setDeleteDialogOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{t('myaddressespage/deletedialogmessage')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetDeleteItem(null);\n\t\t\t\t\t\t\t\tsetDeleteDialogOpen(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('myaddressespage/deletedialogcancel')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\thandleDeleteAddress(\n\t\t\t\t\t\t\t\t\tdeleteItem.addressId,\n\t\t\t\t\t\t\t\t\tdeleteItem.organizationId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('myaddressespage/deleteaddress')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default MyAddressesPage;\n","import axios from 'axios';\n\nexport const saveAddressChanges = (url, address) => {\n\treturn axios({\n\t\turl: `${url}`,\n\t\tmethod: 'post',\n\t\tdata: address,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t},\n\t})\n\t\t.then(response => {\n\t\t\treturn response.data || false;\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.log(error);\n\t\t\treturn false;\n\t\t});\n};\n\nexport const deleteAddress = (url, addressId, organizationId) => {\n\treturn axios({\n\t\turl: `${url}?addressId=${addressId}&organizationId=${organizationId}`,\n\t\tmethod: 'post',\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t},\n\t})\n\t\t.then(response => {\n\t\t\treturn response.data || false;\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.log(error);\n\t\t\treturn false;\n\t\t});\n};\n","import MyAddressesPage from './MyAddressesPage';\n\nexport default MyAddressesPage;\n","/**\n * OrderDetailPage\n * @module pages/OrderDetailPage\n */\n\nimport React, {\n\tuseMemo,\n\tuseContext,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tFC,\n\tforwardRef,\n} from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport {\n\tuseTable,\n\tuseSortBy,\n\tuseRowSelect,\n\tHeaderProps,\n\tTableToggleCommonProps,\n} from 'react-table';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n} from 'components/ui/Table';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport Layout from 'components/ui/Layout';\nimport Modal from 'components/ui/Modal';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport { toast } from 'react-toastify';\nimport { OrderDetailsPageModel } from 'types/page-types';\n\ninterface IndeterminateCheckboxProps {\n\tindeterminate?: boolean;\n}\n\nconst IndeterminateCheckbox = forwardRef<\n\tHTMLInputElement,\n\tIndeterminateCheckboxProps\n>(({ indeterminate, ...rest }, ref) => {\n\tconst defaultRef = React.useRef(null);\n\tconst resolvedRef = ref || defaultRef;\n\n\tReact.useEffect(() => {\n\t\tif (typeof resolvedRef === 'object' && resolvedRef.current) {\n\t\t\tresolvedRef.current.indeterminate = Boolean(indeterminate);\n\t\t}\n\t}, [resolvedRef, indeterminate]);\n\n\treturn ;\n});\n\nconst OrderDetailsPage: FC = ({\n\theading,\n\ttext,\n\tbackButton,\n\texternalId,\n\tlines,\n\tdocuments,\n\tshowRemainingColumn,\n\tdate,\n\tstatus,\n\tgoodsReceiverName,\n\tcustomerRequisition,\n\tprojectId,\n\tprojectName,\n\tcontentArea,\n\tisInEditMode,\n\tbreadcrumbs,\n\tcopyOrder,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst firstRender = useRef(true);\n\n\tconst data = useMemo(() => lines, [lines]);\n\tconst [showOrderInformationModal, setShowOrderInformationModal] = useState(\n\t\tfalse\n\t);\n\tconst [copyOrderError, setCopyOrderError] = useState([]);\n\tconst [copyingOrders, setCopyingOrders] = useState(false);\n\tconst dispatch = useDispatch();\n\n\tconst { cartLink, errorList, items } = useSelector(selectCartObject);\n\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('orderdetailspage/article'), accessor: 'itemId' },\n\t\t\t{ Header: t('orderdetailspage/description'), accessor: 'description' },\n\t\t\t{ Header: t('orderdetailspage/status'), accessor: 'status' },\n\t\t\t{ Header: t('orderdetailspage/deliverydate'), accessor: 'deliveryDate' },\n\t\t\t{ Header: t('orderdetailspage/quantity'), accessor: 'quantity' },\n\t\t\t...(showRemainingColumn\n\t\t\t\t? [{ Header: t('orderdetailspage/remaining'), accessor: 'remaining' }]\n\t\t\t\t: []),\n\t\t\t{ Header: t('orderdetailspage/currencylabel'), accessor: 'totalPrice' },\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t\tselectedFlatRows,\n\t\ttoggleAllRowsSelected,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t},\n\t\tuseSortBy,\n\t\tuseRowSelect,\n\t\t(hooks) => {\n\t\t\thooks.visibleColumns.push((columns) => [\n\t\t\t\t...columns,\n\t\t\t\t{\n\t\t\t\t\tid: 'selection',\n\t\t\t\t\tHeader: ({ getToggleAllRowsSelectedProps }: HeaderProps<{}>) => (\n\t\t\t\t\t\t\n\t\t\t\t\t),\n\t\t\t\t\tCell: ({\n\t\t\t\t\t\trow,\n\t\t\t\t\t}: {\n\t\t\t\t\t\trow: { getToggleRowSelectedProps: () => TableToggleCommonProps };\n\t\t\t\t\t}) => (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\t);\n\n\tuseEffect(() => {\n\t\ttoggleAllRowsSelected();\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tconst orderInformation = useMemo(\n\t\t() => [\n\t\t\t{ field: t('orderdetailspage/ordernumber'), value: externalId },\n\t\t\t{\n\t\t\t\tfield: t('orderdetailspage/customerrequisition'),\n\t\t\t\tvalue: customerRequisition,\n\t\t\t},\n\t\t\t{ field: t('orderdetailspage/deliverydate'), value: date },\n\t\t\t{ field: t('orderdetailspage/status'), value: status },\n\t\t\t{ field: t('orderdetailspage/projectnumber'), value: projectId },\n\t\t\t{ field: t('orderdetailspage/projectname'), value: projectName },\n\t\t\t{ field: t('orderdetailspage/goodsreceiver'), value: goodsReceiverName },\n\t\t],\n\t\t[\n\t\t\tcustomerRequisition,\n\t\t\tdate,\n\t\t\texternalId,\n\t\t\tgoodsReceiverName,\n\t\t\tprojectId,\n\t\t\tprojectName,\n\t\t\tstatus,\n\t\t\tt,\n\t\t]\n\t);\n\n\tconst handleAddAllToCart = async () => {\n\t\tsetCopyingOrders(true);\n\n\t\ttry {\n\t\t\tlet articleList: any = [];\n\t\t\tselectedFlatRows.forEach((item: any) => {\n\t\t\t\tarticleList.push({\n\t\t\t\t\titemCode: item.original.itemId,\n\t\t\t\t\tquantity: item.original.quantity,\n\t\t\t\t\tconfigId: item.original.configId,\n\t\t\t\t\tconfigDescription: item.original.configDescription,\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t} finally {\n\t\t\tsetCopyingOrders(false);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\terrorList &&\n\t\t\terrorList.length > 0 &&\n\t\t\terrorList.find((eL: any) => eL.errorCode === 550)\n\t\t) {\n\t\t\tsetShowOrderInformationModal(true);\n\t\t\tsetCopyOrderError(errorList);\n\t\t}\n\t}, [errorList]);\n\n\tuseEffect(() => {\n\t\tif (errorList?.length === 0 && !firstRender.current) {\n\t\t\ttoast(t('savedcartpage/alladdedtocartmessage'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t}\n\t\tfirstRender.current = false;\n\t\t//eslint-disable-next-line\n\t}, [items]);\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{copyOrder && showOrderInformationModal && (\n\t\t\t\t\t\t setShowOrderInformationModal(false)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t

    {copyOrder.modalText}

    \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t{copyOrderError.map((copyOrderErr: any, index: number) => {\n\t\t\t\t\t\t\t\t\treturn
    • {copyOrderErr.message}
    • ;\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t setShowOrderInformationModal(false)}\n\t\t\t\t\t\t\t\t\tbuttonColor=\"grey\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{copyOrder.modalClose}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{orderInformation.map((info, index) => {\n\t\t\t\t\t\t\t\tconst isFirst = index === 0;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t{t('orderdetailspage/orderinformationcaption')}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{info.field}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{info.value}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('orderdetailspage/orderrows')}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t{column.id !== 'selection' && (\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && !column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{rows.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(cell.column.id === 'itemId' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell.column.id === 'description') &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tcell.value ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell.render('Cell')\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{copyOrder && selectedFlatRows.length > 0 && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{copyOrder.buttonText}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('orderdetailspage/document')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('orderdetailspage/date')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{documents &&\n\t\t\t\t\t\t\t\tdocuments.map((doc: any, key: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t{t('orderdetailspage/documenttablecaption')}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{doc.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{doc.date}
    \n\t\t\t\t
    \n\t\t\t\t{backButton && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{backButton.text}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default OrderDetailsPage;\n","import OrderDetailPage from './OrderDetailsPage';\n\nexport default OrderDetailPage;\n","/**\n * QuotationDetailsPage\n * @module pages/QuotationDetailsPage\n */\n\nimport React, {\n\tuseMemo,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tFC,\n\tforwardRef,\n} from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport {\n\tuseTable,\n\tuseSortBy,\n\tuseRowSelect,\n\tHeaderProps,\n\tTableToggleCommonProps,\n} from 'react-table';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n} from 'components/ui/Table';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { AddToCart, selectCartObject } from 'store/modules/cart';\nimport Layout from 'components/ui/Layout';\n\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport { toast } from 'react-toastify';\nimport { QuotationDetailsPageModel } from 'types/page-types';\n\nconst QuotationDetailsPage: FC = ({\n\theading,\n\ttext,\n\tbackButton,\n\texternalId,\n\tlines,\n\tdocuments,\n\texpiryDate,\n\tstatus,\n\tgoodsReceiverName,\n\tcustomerRequisition,\n\tprojectId,\n\tprojectName,\n\tcontentArea,\n\tisInEditMode,\n\tbreadcrumbs,\n\tcopyOrder,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst firstRender = useRef(true);\n\tconst data = useMemo(() => lines, [lines]);\n\n\tconst { cartLink, errorList, items } = useSelector(selectCartObject);\n\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('orderdetailspage/article'), accessor: 'itemId' },\n\t\t\t{ Header: t('orderdetailspage/description'), accessor: 'description' },\n\t\t\t{ Header: t('orderdetailspage/quantity'), accessor: 'quantity' },\n\t\t\t{ Header: t('quotationdetailspage/price'), accessor: 'price' },\n\t\t\t{ Header: t('quotationdetailspage/discount'), accessor: 'discount' },\n\t\t\t{ Header: t('orderdetailspage/currencylabel'), accessor: 'totalPrice' },\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t\tselectedFlatRows,\n\t\ttoggleAllRowsSelected,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t},\n\t\tuseSortBy,\n\t\tuseRowSelect\n\t);\n\n\tuseEffect(() => {\n\t\ttoggleAllRowsSelected();\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tconst orderInformation = useMemo(\n\t\t() => [\n\t\t\t{ field: t('quotationdetailspage/quotationnumber'), value: externalId },\n\t\t\t{ field: t('quotationdetailspage/expirydate'), value: expiryDate },\n\t\t\t{ field: t('orderdetailspage/projectnumber'), value: projectId },\n\t\t\t{ field: t('orderdetailspage/projectname'), value: projectName },\n\t\t\t{\n\t\t\t\tfield: t('quotationdetailspage/requisitionnumber'),\n\t\t\t\tvalue: customerRequisition,\n\t\t\t},\n\t\t],\n\t\t[customerRequisition, expiryDate, externalId, projectId, projectName, t]\n\t);\n\n\tuseEffect(() => {\n\t\tif (errorList?.length === 0 && !firstRender.current) {\n\t\t\ttoast(t('savedcartpage/alladdedtocartmessage'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t}\n\t\tfirstRender.current = false;\n\t\t//eslint-disable-next-line\n\t}, [items]);\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{orderInformation.map((info, index) => {\n\t\t\t\t\t\t\t\tconst isFirst = index === 0;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t{t('orderdetailspage/orderinformationcaption')}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{info.field}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{info.value}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('orderdetailspage/orderrows')}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t{column.id !== 'selection' && (\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && !column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{rows.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{(cell.column.id === 'itemId' ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell.column.id === 'description') &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tcell.value ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcell.render('Cell')\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('orderdetailspage/document')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('orderdetailspage/date')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{documents &&\n\t\t\t\t\t\t\t\tdocuments.map((doc: any, key: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t{t('orderdetailspage/documenttablecaption')}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{doc.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{doc.date}
    \n\t\t\t\t
    \n\t\t\t\t{backButton && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{backButton.text}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default QuotationDetailsPage;\n","import QuotationDetailsPage from './QuotationDetailsPage';\n\nexport default QuotationDetailsPage;\n","import styled from 'styled-components';\nimport { Paragraph, H3Css } from 'components/ui/Typography';\nimport * as colors from 'theme/colors';\nimport { black, blue, greyDarkest, greyDark, grey } from 'theme/colors';\nimport {\n\tspacing1x,\n\tspacing05x,\n\tspacing3x,\n\tspacing2x,\n\tspacing4x,\n} from 'theme/spacings';\nimport { fontWeightMedium } from 'theme/typography';\nimport { deviceSmallMax, deviceMediumMax } from 'theme/mediaQueries';\nimport RichTextWrapper from 'components/ui/RichText';\nimport Button from 'components/ui/Button';\nimport {\n\tFaFacebookF,\n\tFaTwitter,\n\tFaLinkedinIn,\n\tFaEnvelope,\n} from 'react-icons/fa';\nimport { FaXTwitter } from 'react-icons/fa6';\nconst IconCss = `\n color: ${greyDarkest};\n background-color: ${grey};\n font-size: 3.5rem;\n padding: ${spacing1x};\n margin-left: ${spacing05x};\n\n :hover {\n background-color: ${greyDark};\n }\n\n @media (max-width: 520px) {\n margin-left: 0;\n margin-right: ${spacing05x};\n }\n`;\n\nexport const PublishInfoWrapper = styled.div`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\twidth: 66%;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\twidth: 100%;\n\t}\n\t@media (max-width: 520px) {\n\t\tdisplay: block;\n\t}\n`;\n\nexport const Wrapper = styled.div`\n\t@media (max-width: 520px) {\n\t\tmargin-top: ${spacing2x};\n\t}\n`;\n\nexport const Label = styled.span`\n\ttext-transform: uppercase;\n\tbackground-color: ${({ color }) =>\n\t\tcolor === 'orange' ? colors.orangeLight : colors[color]};\n\tcolor: ${colors.white};\n\tfont-size: 1.3rem;\n\tpadding: ${spacing05x} ${spacing1x};\n\tmargin-right: ${spacing1x};\n\tfont-weight: ${fontWeightMedium};\n`;\n\nexport const PublishText = styled.span`\n\tfont-size: 1.6rem;\n\tcolor: ${black};\n\topacity: 0.5;\n\ttext-decoration: none;\n`;\n\nexport const SocialLink = styled.a`\n\tmargin: 0;\n`;\n\nexport const FacebookIcon = styled(FaFacebookF)`\n\t${IconCss};\n`;\n\nexport const TwitterIcon = styled(FaXTwitter)`\n\t${IconCss};\n`;\n\nexport const LinedInIcon = styled(FaLinkedinIn)`\n\t${IconCss};\n`;\n\nexport const EmailIcon = styled(FaEnvelope)`\n\t${IconCss};\n`;\n\nexport const Image = styled.img`\n\twidth: 66%;\n\n\t@media (max-width: ${deviceMediumMax}) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const Preamble = styled(Paragraph)`\n\tmax-width: 66%;\n\tfont-weight: ${fontWeightMedium};\n\tfont-size: 2.2rem;\n\tline-height: 2.8rem;\n\tmargin-bottom: ${spacing4x};\n\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const RichText = styled(RichTextWrapper)`\n\tmax-width: 66%;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n\n\th2 {\n\t\t${H3Css};\n\t\tmargin-bottom: ${spacing1x};\n\t\tcolor: ${blue};\n\t}\n\n\tp {\n\t\tmargin: 0 0 ${spacing2x};\n\t}\n`;\n\nexport const ButtonWrapper = styled.div`\n\tmax-width: 66%;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tmargin: ${spacing3x} 0;\n\tflex-wrap: wrap;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t}\n`;\n\nexport const SaveButton = styled(Button)`\n\tmargin: ${spacing1x} 0 ${spacing1x} ${spacing1x};\n`;\nexport const ReturnButton = styled(Button)`\n\tmargin: ${spacing1x} 0;\n\tsvg {\n\t\tmargin: 0 ${spacing1x} 0 0;\n\t}\n`;\n","/**\n * MyNewsDeskItemPage\n * @module pages/MyNewsDeskItemPage\n */\n\nimport React, { useContext, useEffect, useState } from 'react';\nimport ContentArea from 'components/framework/ContentArea';\nimport Layout from 'components/ui/Layout';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport { FiChevronsLeft, FiDownload } from 'react-icons/fi';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\tPublishInfoWrapper,\n\tWrapper,\n\tLabel,\n\tPublishText,\n\tSocialLink,\n\tFacebookIcon,\n\tTwitterIcon,\n\tLinedInIcon,\n\tEmailIcon,\n\tImage,\n\tPreamble,\n\tRichText,\n\tButtonWrapper,\n\tReturnButton,\n\tSaveButton,\n} from './MyNewsDeskItemPage.styles';\n\nconst MyNewsDeskItemPage = ({\n\tbreadcrumbs,\n\theading,\n\tpreamble,\n\ttext,\n\thighlight,\n\tpublishDate,\n\timage,\n\treturnButton,\n\tsaveAsPdfButton,\n\tcontentArea,\n\tisInEditMode,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\tuseEffect(() => {\n\t\tsetWindowUrl(window.location.href);\n\t}, []);\n\n\tconst renderSocialLinks = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{highlight && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{publishDate && {publishDate}}\n\t\t\t\t\t\n\n\t\t\t\t\t{renderSocialLinks()}\n\t\t\t\t\n\t\t\t\t{image && image.src && image.sizes.length > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{preamble &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\tPreamble,\n\t\t\t\t\t\t{ size: 'large' },\n\t\t\t\t\t\tpreamble\n\t\t\t\t\t)}\n\n\t\t\t\t{text && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{returnButton.text}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{saveAsPdfButton.text}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default MyNewsDeskItemPage;\n","import MyNewsDeskItemPage from './MyNewsDeskItemPage';\n\nexport default MyNewsDeskItemPage;\n","import { SelectField } from 'components/ui/Form/Form.styles';\nimport Pager from 'components/ui/Pager';\nimport { FaCheckSquare } from 'react-icons/fa';\nimport { FiSquare } from 'react-icons/fi';\nimport styled from 'styled-components';\nimport { blue } from 'theme/colors';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { spacing1x, spacing2x, spacing5x } from 'theme/spacings';\n\nexport const ContentWrapper = styled.div`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: row-reverse;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: block;\n\t}\n`;\n\nexport const RightContentWrapper = styled.div`\n\twidth: 25%;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const LeftContentWrapper = styled.div`\n\twidth: 66%;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const Fieldset = styled.fieldset`\n\tborder: 0;\n\tpadding: 0;\n\tmargin-bottom: ${spacing2x};\n`;\n\nexport const Legend = styled.legend`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: bold;\n\tmargin-bottom: ${spacing1x};\n`;\n\nexport const Label = styled.label`\n\tdisplay: block;\n\tposition: relative;\n`;\n\nexport const SquareIcon = styled(FiSquare)`\n\tcolor: ${blue};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\n\nexport const SquareCheckIcon = styled(FaCheckSquare)`\n\tdisplay: none;\n\tcolor: ${blue};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\n\nexport const DefaultCheckbox = styled.input`\n\topacity: 0;\n\tposition: relative;\n\n\t:checked + ${SquareIcon} {\n\t\tdisplay: none;\n\t}\n\n\t:checked ~ ${SquareCheckIcon} {\n\t\tdisplay: inline-block;\n\t}\n`;\n\nexport const Span = styled.span`\n\tfont-size: 1.8rem;\n\tline-height: 2.2rem;\n\tmargin-left: ${spacing1x};\n`;\n\nexport const SelectWrapper = styled.div`\n\tmargin-bottom: ${spacing2x};\n`;\n\nexport const SelectLabel = styled.label`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tfont-weight: bold;\n\tdisplay: block;\n\tmargin-bottom: ${spacing1x};\n`;\n\nexport const Select = styled(SelectField)``;\n\nexport const PagerWrapper = styled(Pager)`\n\tmargin: ${spacing5x} 0;\n`;\n","/**\n * MyNewsDeskListPage\n * @module pages/MyNewsDeskListPage\n */\nimport { useReducer, useEffect, useState, useRef } from 'react';\nimport Layout from 'components/ui/Layout';\nimport ContentArea from 'components/framework/ContentArea';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport ImageBlock from 'components/framework/ImageBlock';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport { usePressRelease } from 'api';\nimport { NewsBlockItemModel } from 'types/block-types';\nimport { FacetItemModel, FacetsItemModel } from 'types/filter-types';\nimport { MyNewsDeskListPageModel } from 'types/page-types';\nimport listFilterReducer from 'reducers/listFilterReducer';\nimport {\n\tcomposeQueryString,\n\trenderElementBasedOnEditMode,\n\tsetUrlLocation,\n} from 'common/helpers';\nimport IconSquare from 'components/ui/Icon/icons/IconSquare';\nimport IconCheckSquare from 'components/ui/Icon/icons/IconCheckSquare';\nimport {\n\tSelect,\n\tDefaultCheckbox,\n} from '../CisionPressReleaseListPage/CisionPressReleaseListPage.styles';\nimport RichText from 'components/ui/RichText';\nimport clsx from 'clsx';\n\nconst MyNewsDeskListPage = ({\n\theading,\n\tbreadcrumbs,\n\tisInEditMode,\n\ttext,\n\titems,\n\tpagination,\n\tcontentArea,\n\tfilter,\n}: MyNewsDeskListPageModel) => {\n\tconst [query, setQuery] = useState();\n\tconst preventHistoryEntry = useRef(false);\n\n\tlet didRender = useRef(false);\n\tconst [response] = usePressRelease(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null\n\t);\n\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tgroup: undefined,\n\t\tdisplay: 21,\n\t\tquery: filter.query,\n\t\tcurrentPage: 1,\n\t\tfacets: filter.facets as FacetsItemModel[],\n\t});\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\t\tif (queryString !== query) {\n\t\t\tsetUrlLocation(\n\t\t\t\tqueryString,\n\t\t\t\tstate.query,\n\t\t\t\tstate.sortBy,\n\t\t\t\tstate.display,\n\t\t\t\tstate.currentPage,\n\t\t\t\tstate.facets,\n\t\t\t\tnull,\n\t\t\t\thasRendered,\n\t\t\t\tpreventHistoryEntry.current\n\t\t\t);\n\t\t}\n\t}, [query, state]);\n\n\tconst handleFacet = (\n\t\tfacetId: string,\n\t\titemId: string,\n\t\tvalue: boolean,\n\t\tisSelect = false\n\t) => {\n\t\tconst facet = state.facets?.find(\n\t\t\t(f: FacetsItemModel) => f.id === facetId\n\t\t) as FacetsItemModel;\n\t\tconst item = facet.items.find((i: FacetItemModel) => i.id === itemId);\n\t\tif (isSelect) {\n\t\t\tfacet.items.forEach((item) => {\n\t\t\t\titem.active = false;\n\t\t\t});\n\t\t}\n\t\titem && (item.active = value);\n\t\t//@ts-ignore\n\t\tdispatch({ type: 'FACETS', facets: state.facets });\n\t};\n\n\tconst itemArray = (response.items as NewsBlockItemModel[]) || items;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading &&\n\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-2 font-regular text-h2 md:mt-8 md:text-h1 text-blue',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theading\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{filter &&\n\t\t\t\t\t\t\t\tfilter.facets &&\n\t\t\t\t\t\t\t\tfilter.facets.length > 0 &&\n\t\t\t\t\t\t\t\tfilter.facets.map((facet: any, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{facet.type === 'checkbox' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.name && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.items &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.items.length > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.items.map((item: any, key: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleFacet(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!item.active\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{itemArray &&\n\t\t\t\t\t\titemArray.length > 0 &&\n\t\t\t\t\t\titemArray.map((item, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t
    \n\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default MyNewsDeskListPage;\n","import MyNewsDeskListPage from './MyNewsDeskListPage';\n\nexport default MyNewsDeskListPage;\n","/**\n * OrderHistoryFilter\n * @module components/OrderHistoryFilter\n */\n\nimport { useContext, useState, useEffect, ChangeEvent } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useMedia } from 'hooks';\nimport FilterFieldSet from 'components/framework/FilterFieldSet/FilterFieldSet';\nimport Icon from '../Icon';\nimport Button from '../Button';\nimport clsx from 'clsx';\nimport DatePickerInput from '../DatePickerInput';\nimport {\n\tFacetModel,\n\tOrderHistoryFilterModel,\n} from 'types/order-history-filter';\n\ninterface OrderHistoryFilterProps {\n\t/** filter object */\n\tfilter: OrderHistoryFilterModel;\n\n\t/** onFilter callback */\n\tonFilter: Function;\n\n\t/** onReset callback to reset filter object*/\n\tonReset: () => void;\n\n\t/** loading state*/\n\tloading?: boolean;\n\n\t/** Active market for user */\n\tactiveMarket: string;\n\n\t/** user language */\n\tlanguage?: string;\n}\n\nconst OrderHistoryFilter: React.FC = ({\n\tfilter,\n\tonFilter,\n\tonReset,\n\tloading,\n\tactiveMarket,\n\tlanguage,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [showFilter, setShowFilter] = useState(false);\n\tconst isMobile = useMedia('(max-width: 767px)');\n\tconst [filterState, setFilterState] = useState(filter);\n\n\tuseEffect(() => {\n\t\tsetFilterState(filter);\n\t}, [filter]);\n\n\tconst toggleFilters = () => {\n\t\tsetShowFilter(!showFilter);\n\t};\n\n\tconst handleFilterInputChange = (e: ChangeEvent) => {\n\t\tconst newState = { ...filterState };\n\t\t(newState[\n\t\t\te.target.name as keyof OrderHistoryFilterModel\n\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]) = e.target.value;\n\n\t\tsetFilterState(newState);\n\t};\n\n\tconst adjustForTimezone = (date: Date) => {\n\t\tlet timeOffsetInMS = date.getTimezoneOffset() * 60000;\n\t\tdate.setTime(date.getTime() - timeOffsetInMS);\n\t\treturn date;\n\t};\n\n\tconst getDateString = (date: Date) => {\n\t\treturn `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${(\n\t\t\t'0' + date.getDate()\n\t\t).slice(-2)}`;\n\t};\n\n\tconst handleDateChange = (name: string, value: Date) => {\n\t\tconst newState = { ...filterState };\n\t\t(newState[\n\t\t\tname as keyof OrderHistoryFilterModel\n\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]) =\n\t\t\t(value && getDateString(adjustForTimezone(value))) || null;\n\t\tsetFilterState(newState);\n\t};\n\n\tconst handleFacet = (facetId: string, itemId: string, value: boolean) => {\n\t\tconst newFacets: FacetModel[] = [...(filterState?.facets as FacetModel[])];\n\n\t\tconst facet = newFacets.find((f) => f.id === facetId);\n\t\tconst item = facet?.items.find((i: any) => i.id === itemId);\n\t\titem && (item.active = value);\n\n\t\tsetFilterState({ ...filterState, facets: newFacets });\n\t};\n\n\tconst handleApplyFilter = (e: any) => {\n\t\te.preventDefault();\n\t\tonFilter && onFilter(filterState);\n\t};\n\n\tconst handleReset = (e: any) => {\n\t\te.preventDefault();\n\t\tconst newState = { ...filterState };\n\t\tObject.keys(newState).forEach((key) => {\n\t\t\tif (key === 'facets' && newState?.facets) {\n\t\t\t\tnewState?.facets.forEach((facet: FacetModel) => {\n\t\t\t\t\tfacet.items &&\n\t\t\t\t\t\tfacet.items.forEach((item) => {\n\t\t\t\t\t\t\titem.active = false;\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t(newState[\n\t\t\t\t\tkey as keyof OrderHistoryFilterModel\n\t\t\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]) = '';\n\t\t\t}\n\t\t});\n\t\tsetFilterState(newState);\n\t\tonReset && onReset();\n\t};\n\n\tconst renderInput = (\n\t\tid: string,\n\t\tlabel: string,\n\t\tplaceholder: string,\n\t\tvalue: string\n\t) => {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{label}\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t{isMobile && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('orderhistorypage/filterordersheading')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/filter/showfilter')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{!isMobile && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('orderhistorypage/filterordersheading')}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'orderId',\n\t\t\t\t\t\t\t\tt('shared/order/ordernumber'),\n\t\t\t\t\t\t\t\tt('shared/order/ordernumberplaceholder'),\n\t\t\t\t\t\t\t\tfilterState && (filterState.orderId as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'projectId',\n\t\t\t\t\t\t\t\tt('shared/order/projectnumber'),\n\t\t\t\t\t\t\t\tt('shared/order/projectnumberplaceholder'),\n\t\t\t\t\t\t\t\tfilterState && (filterState.projectId as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'projectName',\n\t\t\t\t\t\t\t\tt('shared/order/projectname'),\n\t\t\t\t\t\t\t\tt('shared/order/projectnameplaceholder'),\n\t\t\t\t\t\t\t\tfilterState && (filterState.projectName as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'goodsReceiverName',\n\t\t\t\t\t\t\t\tt('shared/order/goodsreceiver'),\n\t\t\t\t\t\t\t\tt('shared/order/goodsreceiverplaceholder'),\n\t\t\t\t\t\t\t\tfilterState && (filterState.goodsReceiverName as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'customerRequisition',\n\t\t\t\t\t\t\t\tt('shared/order/customerrequisition'),\n\t\t\t\t\t\t\t\tt('shared/order/customerrequisitionplaceholder'),\n\t\t\t\t\t\t\t\tfilterState && (filterState.customerRequisition as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'invoiceNumber',\n\t\t\t\t\t\t\t\tt('shared/order/invoiceNumber'),\n\t\t\t\t\t\t\t\tt('shared/order/invoiceNumber'),\n\t\t\t\t\t\t\t\tfilterState && (filterState?.invoiceNumber as string)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('orderhistorypage/orderdate')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/order/from')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleDateChange('createdFrom', date)}\n\t\t\t\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/order/to')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleDateChange('createdTo', date)}\n\t\t\t\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{filterState?.facets &&\n\t\t\t\t\t\tfilterState?.facets.map((fieldset: any) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{t('orderhistorypage/applyfilter')}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{t('shared/filter/resetfilter')}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default OrderHistoryFilter;\n","import OrderHistoryFilter from './OrderHistoryFilter';\n\nexport default OrderHistoryFilter;\n","/**\n * ExportDocuments\n * @module components/ExportDocuments\n */\n\nimport React, { ChangeEvent, useContext, useEffect, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport clsx from 'clsx';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\ninterface DocumentItem {\n\tlink: string;\n\ttext: string;\n\tactive: boolean;\n\tid: number;\n\tisLink: boolean;\n\tlinkType: string;\n}\n\ninterface ExportDocumentsProps {\n\tdocuments?: DocumentItem[];\n\tforMobile?: boolean;\n\tquery?: string;\n}\n\nconst ExportDocuments: React.FC = ({\n\tdocuments,\n\tquery,\n\tforMobile,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [selectedDocumnet, setSelectedDocumnet] = useState<\n\t\tDocumentItem | undefined\n\t>(undefined);\n\n\tconst handleChange = (e: ChangeEvent) => {\n\t\te.preventDefault();\n\t\tsetSelectedDocumnet(\n\t\t\tdocuments?.find((doc) => doc.text === e?.target?.value) ?? undefined\n\t\t);\n\t};\n\n\tuseEffect(() => {\n\t\tif (documents && documents?.length > 0) {\n\t\t\tsetSelectedDocumnet(documents[0]);\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t{t('orderhistorypage/exportdocumentheading')}\n\t\t\t\t

    \n\t\t\t\t

    \n\t\t\t\t\t{t('orderhistorypage/exportdocumenttext')}\n\t\t\t\t

    \n\t\t\t
    \n\t\t\t{documents && documents?.length > 0 && (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{documents?.map((document: DocumentItem, index: number) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (window && window.open) {\n\t\t\t\t\t\t\t\twindow.open(`${selectedDocumnet?.link}?${query}`);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tbuttonColor=\"greyDarkest\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\tclassName=\"pl-1 w-full lg:w-1/3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{t('orderhistorypage/exportdocumentbuttontext')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ExportDocuments;\n","import ExportDocuments from './ExportDocuments';\n\nexport default ExportDocuments;\n","/**\n * OrderHistoryPage\n * @module pages/OrderHistoryPage\n */\n\nimport { useContext, useMemo, useState, useEffect, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Layout from 'components/ui/Layout';\nimport OrderHistoryFilter from 'components/ui/OrderHistoryFilter';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nimport Pager from 'components/ui/Pager';\nimport { useTable, useSortBy, usePagination } from 'react-table';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n\tformatAndGetCellValue,\n} from 'components/ui/Table';\n\nimport {\n\tcomposeFacetUrlParams,\n\tgetURLParameter,\n\tscrollToTop,\n} from 'common/helpers';\nimport { useMedia } from 'hooks';\nimport { useFilterOrders } from 'api/orderhistory';\nimport { toast } from 'react-toastify';\nimport ExportDocuments from 'components/ui/ExportDocuments';\nimport { useDefaultPopState } from 'hooks/usePopState';\nimport { useSelector } from 'react-redux';\nimport { selectUserObject } from 'store/modules/user';\nimport Icon from 'components/ui/Icon';\nimport { OrderHistoryPageModel } from 'types/page-types';\nimport { OrderHistoryFilterModel } from 'types/order-history-filter';\n\nconst OrderHistoryPage: React.FC = ({\n\tbreadcrumbs,\n\tdefaultCreatedFrom,\n\theading,\n\texportLinks,\n\ttext,\n\tfilter,\n\torders,\n\tisInEditMode,\n\tcontentArea,\n\tframework,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst { customers, projects, warehouses } = useSelector(selectUserObject);\n\tconst isMobile = useMedia('(max-width: 490px)');\n\tconst [orderState, setOrderState] = useState(orders);\n\tconst [filterRequest, setFilterRequest] = useState(null);\n\tconst [query, setQuery] = useState('');\n\tconst currentPage = parseInt(getURLParameter('page') || '1');\n\n\tconst didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst [response, error, loading]: any = useFilterOrders(filterRequest ?? '');\n\n\tuseEffect(() => {\n\t\tif (response && response.orders) {\n\t\t\tsetOrderState(response.orders);\n\t\t} else if (error) {\n\t\t\ttoast(t('shared/toast/servererror'), {\n\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\tautoClose: 2500,\n\t\t\t});\n\t\t}\n\t\tsetFilterRequest(null);\n\t\t//eslint-disable-next-line\n\t}, [response, error]);\n\n\tconst data = useMemo(() => orderState, [orderState]);\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('orderhistorypage/order'), accessor: 'externalId' },\n\t\t\t{ Header: t('shared/order/orderdate'), accessor: 'date' },\n\t\t\t{ Header: t('shared/order/status'), accessor: 'status' },\n\t\t\t{\n\t\t\t\tHeader: t('shared/order/goodsreceiver'),\n\t\t\t\taccessor: 'goodsReceiverName',\n\t\t\t},\n\t\t\t{ Header: t('orderhistorypage/project'), accessor: 'projectId' },\n\t\t\t{ Header: t('shared/order/projectname'), accessor: 'projectName' },\n\t\t\t{\n\t\t\t\tHeader: t('shared/order/customerrequisition'),\n\t\t\t\taccessor: 'customerrequisition',\n\t\t\t},\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tprepareRow,\n\t\tpage,\n\t\tpageOptions,\n\t\tgotoPage,\n\t\tstate: { pageIndex },\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tinitialState: {\n\t\t\t\tpageIndex: !isNaN(currentPage) ? currentPage - 1 : 0,\n\t\t\t\tpageSize: 25,\n\t\t\t\tsortBy: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'date',\n\t\t\t\t\t\tdesc: true,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tuseSortBy,\n\t\tusePagination\n\t);\n\n\tconst composeQuery = (\n\t\tfilterState: OrderHistoryFilterModel,\n\t\tcurrentPageIndex: number\n\t) => {\n\t\tlet query = '';\n\t\tif (filterState) {\n\t\t\tObject.keys(filterState).forEach((key) => {\n\t\t\t\tif (key === 'facets') {\n\t\t\t\t\tconst facetQuery = composeFacetUrlParams(filterState[key]);\n\t\t\t\t\tif (facetQuery) {\n\t\t\t\t\t\tquery += `${facetQuery}&`;\n\t\t\t\t\t}\n\t\t\t\t} else if (\n\t\t\t\t\t(filterState?.[\n\t\t\t\t\t\tkey as keyof OrderHistoryFilterModel\n\t\t\t\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]) &&\n\t\t\t\t\t(filterState?.[\n\t\t\t\t\t\tkey as keyof OrderHistoryFilterModel\n\t\t\t\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]) !== ''\n\t\t\t\t) {\n\t\t\t\t\tquery += `${key}=${\n\t\t\t\t\t\tfilterState?.[\n\t\t\t\t\t\t\tkey as keyof OrderHistoryFilterModel\n\t\t\t\t\t\t] as OrderHistoryFilterModel[keyof OrderHistoryFilterModel]\n\t\t\t\t\t}&`;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (currentPageIndex) {\n\t\t\tquery += `page=${currentPageIndex}`;\n\t\t}\n\t\t//remove & at end of string if present;\n\t\treturn query.replace(/&$/, '');\n\t};\n\n\tconst composeAndSetQuery = (filterState: any) => {\n\t\tconst query = composeQuery(filterState, pageIndex + 1);\n\t\tsetQuery(query);\n\t\tsetFilterRequest({ url: window.location.pathname, query: query });\n\t};\n\n\tconst handleOnFilter = (filterState: any) => {\n\t\tcomposeAndSetQuery(filterState);\n\t\tgotoPage(0);\n\t};\n\n\tconst resetFilter = () => {\n\t\tcomposeAndSetQuery({ createdFrom: defaultCreatedFrom });\n\t};\n\n\tconst [filters, setFilters] = useState(filter);\n\n\tuseEffect(() => {\n\t\tif (didRender.current) {\n\t\t\thandleOnFilter(filters);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [customers, projects, warehouses]);\n\n\t//const overflowItem = response.overflow || overflow;\n\n\tconst exportQuery = query || composeQuery(filters, pageIndex + 1);\n\n\tconst popState: any = useDefaultPopState(filters);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tpreventHistoryEntry.current = true;\n\t\t\tcomposeAndSetQuery(popState.filters);\n\t\t\tif (popState.page && popState.page >= 1) {\n\t\t\t\tgotoPage(popState.page - 1);\n\t\t\t}\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [popStateString]);\n\n\tconst handleOrderHistoryUrlLocation = (\n\t\tcurrentQuery: string,\n\t\tfilters: any,\n\t\tpageIndex: number\n\t) => {\n\t\tconst hasRendered = didRender.current;\n\t\tif (hasRendered && !preventHistoryEntry.current) {\n\t\t\twindow.history.pushState(\n\t\t\t\t{\n\t\t\t\t\tdata: currentQuery,\n\t\t\t\t\tfilters: filters,\n\t\t\t\t\tpage: pageIndex,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindow.location.pathname + '?' + currentQuery\n\t\t\t);\n\t\t} else {\n\t\t\twindow.history.replaceState(\n\t\t\t\t{\n\t\t\t\t\tdata: currentQuery,\n\t\t\t\t\tfilters: filters,\n\t\t\t\t\tpage: pageIndex,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindow.location.pathname + '?' + currentQuery\n\t\t\t);\n\t\t}\n\t\tif (!didRender.current) {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\tif (preventHistoryEntry.current) {\n\t\t\tdidRender.current = false;\n\t\t}\n\t};\n\n\t//Set query to url on filterchange\n\tuseEffect(() => {\n\t\tlet currentQuery = '';\n\t\tif (response && response.filter) {\n\t\t\tcurrentQuery = composeQuery(response.filter, pageIndex + 1);\n\t\t\t// localStorage &&\n\t\t\t// \tlocalStorage.setItem(\n\t\t\t// \t\t'orderhistoryfilter',\n\t\t\t// \t\tJSON.stringify(response.filter)\n\t\t\t// \t);\n\t\t\tsetFilters(response.filter);\n\t\t} else {\n\t\t\tcurrentQuery = composeQuery(filters, pageIndex + 1);\n\t\t}\n\t\tif (currentQuery !== query) {\n\t\t\thandleOrderHistoryUrlLocation(\n\t\t\t\tcurrentQuery,\n\t\t\t\tresponse.filter,\n\t\t\t\tpageIndex + 1\n\t\t\t);\n\t\t\tsetQuery(currentQuery);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [response, pageIndex]);\n\n\tuseEffect(() => {\n\t\tconst currentQuery = composeQuery(filters, pageIndex + 1);\n\t\thandleOrderHistoryUrlLocation(currentQuery, response.filter, pageIndex + 1);\n\t\t//eslint-disable-next-line\n\t}, [pageIndex, filters]);\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t{/* // Not currently in use.\n\t\t\t\t\n\t\t\t */}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t{exportLinks && exportLinks?.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && !column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!loading && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{page.map((row, i) => {\n\t\t\t\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatAndGetCellValue(cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{orderState && orderState && orderState.length === 0 && (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{t('orderhistorypage/noresultmessage')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tscrollToTop();\n\t\t\t\t\t\t\t\t\tgotoPage(value - 1);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default OrderHistoryPage;\n","import { useFetch } from './index.ts';\n\nexport const useFilterOrders = ({ url, query, prevent = false }) => {\n\tif (process.env.NODE_ENV === 'development' && url) {\n\t\turl = 'http://localhost:4000/api/orderhistory';\n\t}\n\treturn useFetch({\n\t\turl: `${url}?${query}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tdisableCancel: true,\n\t\tpreventRequest:\n\t\t\tquery === null ||\n\t\t\ttypeof query === 'undefined' ||\n\t\t\turl === null ||\n\t\t\ttypeof url === 'undefined' ||\n\t\t\tprevent,\n\t});\n};\n","import OrderHistoryPage from './OrderHistoryPage';\n\nexport default OrderHistoryPage;\n","/**\n * QuotationHistoryFilter\n * @module components/QuotationHistoryFilter\n */\n\nimport { useContext, useState, useEffect } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useMedia } from 'hooks';\n\nimport Icon from '../Icon';\nimport Button from '../Button';\nimport clsx from 'clsx';\nimport DatePickerInput from '../DatePickerInput';\nimport { FacetsItemModel } from 'types/filter-types';\n\ninterface QuotationHistoryFilterProps {\n\tfilter: any;\n\n\tonFilter: Function;\n\n\tonReset: () => void;\n\n\tloading?: boolean;\n\n\tactiveMarket: string;\n\n\tlanguage?: string;\n}\n\nconst QuotationHistoryFilter: React.FC = ({\n\tfilter,\n\tonFilter,\n\tonReset,\n\tloading,\n\tactiveMarket,\n\tlanguage,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [showFilter, setShowFilter] = useState(false);\n\tconst isMobile = useMedia('(max-width: 767px)');\n\n\tconst [filterState, setFilterState] = useState(filter);\n\n\tuseEffect(() => {\n\t\tsetFilterState(filter);\n\t}, [filter]);\n\n\tconst toggleFilters = () => {\n\t\tsetShowFilter(!showFilter);\n\t};\n\n\tconst handleFilterInputChange = (e: any) => {\n\t\tconst newState = { ...filterState };\n\t\tnewState[e.target.name] = e.target.value;\n\t\tsetFilterState(newState);\n\t};\n\n\tconst adjustForTimezone = (date: Date) => {\n\t\tlet timeOffsetInMS = date.getTimezoneOffset() * 60000;\n\t\tdate.setTime(date.getTime() - timeOffsetInMS);\n\t\treturn date;\n\t};\n\n\tconst getDateString = (date: Date) => {\n\t\treturn `${date.getFullYear()}-${('0' + (date.getMonth() + 1)).slice(-2)}-${(\n\t\t\t'0' + date.getDate()\n\t\t).slice(-2)}`;\n\t};\n\n\tconst handleDateChange = (name: string, value: Date) => {\n\t\tconst newState = { ...filterState };\n\t\tnewState[name] = (value && getDateString(adjustForTimezone(value))) || null;\n\t\tsetFilterState(newState);\n\t};\n\n\tconst handleFacet = (facetId: any, itemId: any, value: any) => {\n\t\tconst newFacets = [...filterState.facets];\n\n\t\tconst facet = newFacets.find((f) => f.id === facetId);\n\t\tconst item = facet.items.find((i: any) => i.id === itemId);\n\t\titem && (item.active = value);\n\n\t\tsetFilterState({ ...filterState, facets: newFacets });\n\t};\n\n\tconst handleApplyFilter = (e: any) => {\n\t\te.preventDefault();\n\t\tonFilter && onFilter(filterState);\n\t};\n\n\tconst handleReset = (e: any) => {\n\t\te.preventDefault();\n\t\tconst newState = { ...filterState };\n\t\tObject.keys(newState).forEach((key) => {\n\t\t\tif (key === 'facets') {\n\t\t\t\tnewState.facets.forEach((facet: FacetsItemModel) => {\n\t\t\t\t\tfacet.items &&\n\t\t\t\t\t\tfacet.items.forEach((item) => {\n\t\t\t\t\t\t\titem.active = false;\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewState[key] = '';\n\t\t\t}\n\t\t});\n\t\tsetFilterState(newState);\n\t\tonReset && onReset();\n\t};\n\n\tconst renderInput = (\n\t\tid: string,\n\t\tlabel: string,\n\t\tplaceholder: string,\n\t\tvalue: string\n\t) => {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{label}\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t{isMobile && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('quotationhistorypage/filterquotation')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/filter/showfilter')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{!isMobile && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('quotationhistorypage/filterquotation')}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'quotationId',\n\t\t\t\t\t\t\t\tt('quotationhistorypage/quotationnumber'),\n\t\t\t\t\t\t\t\tt('quotationhistorypage/quotationnumber'),\n\t\t\t\t\t\t\t\tfilterState && filterState.quotationId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'customerRequisition',\n\t\t\t\t\t\t\t\tt('quotationhistorypage/requisitionnumber'),\n\t\t\t\t\t\t\t\tt('quotationhistorypage/requisitionnumber'),\n\t\t\t\t\t\t\t\tfilterState && filterState.customerRequisition\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'email',\n\t\t\t\t\t\t\t\tt('quotationhistorypage/email'),\n\t\t\t\t\t\t\t\tt('quotationhistorypage/email'),\n\t\t\t\t\t\t\t\tfilterState && filterState.email\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'projectId',\n\t\t\t\t\t\t\t\tt('quotationhistorypage/projectnumber'),\n\t\t\t\t\t\t\t\tt('quotationhistorypage/projectnumber'),\n\t\t\t\t\t\t\t\tfilterState && filterState.projectId\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{renderInput(\n\t\t\t\t\t\t\t\t'projectName',\n\t\t\t\t\t\t\t\tt('quotationhistorypage/projectname'),\n\t\t\t\t\t\t\t\tt('quotationhistorypage/projectname'),\n\t\t\t\t\t\t\t\tfilterState && filterState.projectName\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('quotationhistorypage/expirydate')}\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('shared/order/from')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t handleDateChange('expiryFrom', date)}\n\t\t\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('shared/order/to')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t handleDateChange('expiryTo', date)}\n\t\t\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{t('orderhistorypage/applyfilter')}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{t('shared/filter/resetfilter')}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default QuotationHistoryFilter;\n","/**\n * QuotationHistoryPage\n * @module pages/QuotationHistoryPage\n */\n\nimport { useContext, useMemo, useState, useEffect, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport ContentArea from 'components/framework/ContentArea';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Layout from 'components/ui/Layout';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nimport Pager from 'components/ui/Pager';\nimport { useTable, useSortBy, usePagination } from 'react-table';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n\tformatAndGetCellValue,\n} from 'components/ui/Table';\n\nimport {\n\tcomposeFacetUrlParams,\n\tgetURLParameter,\n\tscrollToTop,\n} from 'common/helpers';\nimport { useMedia } from 'hooks';\nimport { useFilterQuotations } from 'api/quotationhistory';\nimport { toast } from 'react-toastify';\nimport ExportDocuments from 'components/ui/ExportDocuments';\nimport { useDefaultPopState } from 'hooks/usePopState';\nimport { useSelector } from 'react-redux';\nimport { selectUserObject } from 'store/modules/user';\nimport Icon from 'components/ui/Icon';\nimport { QuotationHistoryPageModel } from 'types/page-types';\nimport QuotationHistoryFilter from 'components/ui/QuotationHistoryFilter/QuotationHistoryFilter';\n\nconst QuotationHistoryPage: React.FC = ({\n\tbreadcrumbs,\n\tdefaultCreatedFrom,\n\theading,\n\ttext,\n\tfilter,\n\tquotations,\n\texportButton,\n\tisInEditMode,\n\tcontentArea,\n\tframework,\n}) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst { customers, projects, warehouses } = useSelector(selectUserObject);\n\tconst isMobile = useMedia('(max-width: 490px)');\n\tconst [quotationsState, setQuotationState] = useState(quotations);\n\tconst [filterRequest, setFilterRequest] = useState(null);\n\tconst [query, setQuery] = useState('');\n\tconst currentPage = parseInt(getURLParameter('page') || '1');\n\n\tconst didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst [response, error, loading]: any = useFilterQuotations(\n\t\tfilterRequest ?? ''\n\t);\n\n\tuseEffect(() => {\n\t\tif (response && response.quotations) {\n\t\t\tsetQuotationState(response.quotations);\n\t\t} else if (error) {\n\t\t\ttoast(t('shared/toast/servererror'), {\n\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\tautoClose: 2500,\n\t\t\t});\n\t\t}\n\t\tsetFilterRequest(null);\n\t\t//eslint-disable-next-line\n\t}, [response, error]);\n\n\tconst data = useMemo(() => quotationsState, [quotationsState]);\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tHeader: t('quotationhistorypage/quotationnumber'),\n\t\t\t\taccessor: 'externalId',\n\t\t\t},\n\t\t\t{ Header: t('quotationhistorypage/expirydate'), accessor: 'date' },\n\t\t\t{ Header: t('quotationhistorypage/email'), accessor: 'email' },\n\t\t\t{\n\t\t\t\tHeader: t('orderdetailspage/projectnumber'),\n\t\t\t\taccessor: 'projectId',\n\t\t\t},\n\t\t\t{ Header: t('orderdetailspage/projectname'), accessor: 'projectName' },\n\t\t\t{\n\t\t\t\tHeader: t('quotationdetailspage/requisitionnumber'),\n\t\t\t\taccessor: 'customerRequisition',\n\t\t\t},\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tprepareRow,\n\t\tpage,\n\t\tpageOptions,\n\t\tgotoPage,\n\t\tstate: { pageIndex },\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tinitialState: {\n\t\t\t\tpageIndex: !isNaN(currentPage) ? currentPage - 1 : 0,\n\t\t\t\tpageSize: 25,\n\t\t\t\tsortBy: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'date',\n\t\t\t\t\t\tdesc: false,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tuseSortBy,\n\t\tusePagination\n\t);\n\n\tconst composeQuery = (filterState: any, currentPageIndex: number) => {\n\t\tlet query = '';\n\t\tif (filterState) {\n\t\t\tObject.keys(filterState).forEach((key) => {\n\t\t\t\tif (key === 'facets') {\n\t\t\t\t\tconst facetQuery = composeFacetUrlParams(filterState[key]);\n\t\t\t\t\tif (facetQuery) {\n\t\t\t\t\t\tquery += `${facetQuery}&`;\n\t\t\t\t\t}\n\t\t\t\t} else if (filterState[key] && filterState[key] !== '') {\n\t\t\t\t\tquery += `${key}=${filterState[key]}&`;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (currentPageIndex) {\n\t\t\tquery += `page=${currentPageIndex}`;\n\t\t}\n\t\t//remove & at end of string if present;\n\t\treturn query.replace(/&$/, '');\n\t};\n\n\tconst composeAndSetQuery = (filterState: any) => {\n\t\tconst query = composeQuery(filterState, pageIndex + 1);\n\t\tsetQuery(query);\n\t\tsetFilterRequest({ url: window.location.pathname, query: query });\n\t};\n\n\tconst handleOnFilter = (filterState: any) => {\n\t\tcomposeAndSetQuery(filterState);\n\t\tgotoPage(0);\n\t};\n\n\tconst resetFilter = () => {\n\t\tcomposeAndSetQuery({ createdFrom: defaultCreatedFrom });\n\t};\n\n\tconst [filters, setFilters] = useState(filter);\n\n\tuseEffect(() => {\n\t\tif (didRender.current) {\n\t\t\thandleOnFilter(filters);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [customers, projects, warehouses]);\n\n\t//const overflowItem = response.overflow || overflow;\n\n\tconst exportQuery = query || composeQuery(filters, pageIndex + 1);\n\n\tconst popState: any = useDefaultPopState(filters);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tpreventHistoryEntry.current = true;\n\t\t\tcomposeAndSetQuery(popState.filters);\n\t\t\tif (popState.page && popState.page >= 1) {\n\t\t\t\tgotoPage(popState.page - 1);\n\t\t\t}\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [popStateString]);\n\n\tconst handleOrderHistoryUrlLocation = (\n\t\tcurrentQuery: string,\n\t\tfilters: any,\n\t\tpageIndex: number\n\t) => {\n\t\tconst hasRendered = didRender.current;\n\t\tif (hasRendered && !preventHistoryEntry.current) {\n\t\t\twindow.history.pushState(\n\t\t\t\t{\n\t\t\t\t\tdata: currentQuery,\n\t\t\t\t\tfilters: filters,\n\t\t\t\t\tpage: pageIndex,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindow.location.pathname + '?' + currentQuery\n\t\t\t);\n\t\t} else {\n\t\t\twindow.history.replaceState(\n\t\t\t\t{\n\t\t\t\t\tdata: currentQuery,\n\t\t\t\t\tfilters: filters,\n\t\t\t\t\tpage: pageIndex,\n\t\t\t\t},\n\t\t\t\t'',\n\t\t\t\twindow.location.pathname + '?' + currentQuery\n\t\t\t);\n\t\t}\n\t\tif (!didRender.current) {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\tif (preventHistoryEntry.current) {\n\t\t\tdidRender.current = false;\n\t\t}\n\t};\n\n\t//Set query to url on filterchange\n\tuseEffect(() => {\n\t\tlet currentQuery = '';\n\t\tif (response && response.filter) {\n\t\t\tcurrentQuery = composeQuery(response.filter, pageIndex + 1);\n\t\t\t// localStorage &&\n\t\t\t// \tlocalStorage.setItem(\n\t\t\t// \t\t'orderhistoryfilter',\n\t\t\t// \t\tJSON.stringify(response.filter)\n\t\t\t// \t);\n\t\t\tsetFilters(response.filter);\n\t\t} else {\n\t\t\tcurrentQuery = composeQuery(filters, pageIndex + 1);\n\t\t}\n\t\tif (currentQuery !== query) {\n\t\t\thandleOrderHistoryUrlLocation(\n\t\t\t\tcurrentQuery,\n\t\t\t\tresponse.filter,\n\t\t\t\tpageIndex + 1\n\t\t\t);\n\t\t\tsetQuery(currentQuery);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [response, pageIndex]);\n\n\tuseEffect(() => {\n\t\tconst currentQuery = composeQuery(filters, pageIndex + 1);\n\t\thandleOrderHistoryUrlLocation(currentQuery, response.filter, pageIndex + 1);\n\t\t//eslint-disable-next-line\n\t}, [pageIndex, filters]);\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.isSorted && !column.isSortedDesc && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!loading && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{page.map((row, i) => {\n\t\t\t\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatAndGetCellValue(cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{quotationsState &&\n\t\t\t\t\t\t\tquotationsState &&\n\t\t\t\t\t\t\tquotationsState.length === 0 && (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{t('orderhistorypage/noresultmessage')}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tscrollToTop();\n\t\t\t\t\t\t\t\t\tgotoPage(value - 1);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default QuotationHistoryPage;\n","import { useFetch } from './index.ts';\n\nexport const useFilterQuotations = ({ url, query, prevent = false }) => {\n\tif (process.env.NODE_ENV === 'development' && url) {\n\t\turl = 'http://localhost:4000/api/quotation-history';\n\t}\n\treturn useFetch({\n\t\turl: `${url}?${query}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tdisableCancel: true,\n\t\tpreventRequest:\n\t\t\tquery === null ||\n\t\t\ttypeof query === 'undefined' ||\n\t\t\turl === null ||\n\t\t\ttypeof url === 'undefined' ||\n\t\t\tprevent,\n\t});\n};\n","import QuotationHistoryPage from './QuotationHistoryPage';\n\nexport default QuotationHistoryPage;\n","/**\n * SavedCartPage\n * @module pages/SavedCartPage\n */\n\nimport { cloneElement, useContext, useEffect, useRef, useState } from 'react';\nimport {\n\tCancelCartPriceError,\n\tGenericWarning,\n\tgetURLParameter,\n\tReloadCartPriceError,\n\tServerError,\n} from 'common/helpers';\nimport Layout from 'components/ui/Layout';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport FilterBar from 'components/ui/FilterBar';\nimport Tooltip from 'components/ui/Tooltip';\nimport ArticleDetail from 'components/common/ArticleDetail';\nimport { toast } from 'react-toastify';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { AddToCartModel, CartObjectModel } from 'types/cart-types';\nimport { ArticleModel } from 'types/article';\nimport { SavedCartPageModel } from 'types/page-types';\nimport { SortPropertyModel } from 'types/filter-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n\tAddToCart,\n\tAddToSavedCart,\n\tcartUpdatePriceReloadCounter,\n\tFetchSavedCart,\n\tselectCartObject,\n\tselectCartPriceReloadCounter,\n\tUpdateSavedCart,\n} from 'store/modules/cart';\nimport CartArticleRow from 'components/framework/CartArticleRow';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport { selectUserObject } from 'store/modules/user';\nimport { LocalizationContext } from 'context/localization.context';\nimport AlertModal from 'components/ui/AlertModal';\n\nconst SavedCartPage = ({\n\theading,\n\tbreadcrumbs,\n\ttext,\n\tfilter,\n\tleadTimeTooltip,\n\tsavedCartObject: defaultSavedCartObject,\n\taddAllToCartButton,\n\tframework,\n}: SavedCartPageModel): JSX.Element => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\tconst userObject = useSelector(selectUserObject);\n\tconst cartObject = useSelector(selectCartObject);\n\tconst didRender = useRef(false);\n\tconst [savedCartObject, setSavedCartObject] = useState(\n\t\tdefaultSavedCartObject\n\t);\n\tconst [articleModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null,\n\t});\n\n\tconst [reloadPricesModal, setReloadPricesModal] = useState({\n\t\tisActive: false,\n\t\thasReloadButton: true,\n\t\tmessage: '',\n\t});\n\n\tconst [cartLoading, setCartLoading] = useState(false);\n\tconst cartPriceReloadCounter = useSelector(selectCartPriceReloadCounter);\n\n\t// Handle sort change\n\tconst sortDefault = getURLParameter('sort') || filter?.sortBy;\n\tconst [sortSelection, setSortSelection] = useState(sortDefault);\n\n\tconst handleSortChange = async (sortBy: any) => {\n\t\tif (sortBy !== sortSelection) {\n\t\t\twindow?.history?.pushState(\n\t\t\t\t{},\n\t\t\t\tdocument.title,\n\t\t\t\t`${window.location.pathname}?sort=${sortBy}`\n\t\t\t);\n\t\t\tsetSortSelection(sortBy);\n\n\t\t\ttry {\n\t\t\t\tlet data = await dispatch(\n\t\t\t\t\tUpdateSavedCart(savedCartObject.cartId, sortBy)\n\t\t\t\t);\n\t\t\t\tsetSavedCartObject(data);\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof ServerError) {\n\t\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleQuantityChange = async (\n\t\titem: ArticleModel,\n\t\titemCode: string,\n\t\tcurrentQuantity: number\n\t) => {\n\t\ttry {\n\t\t\tsetCartLoading(true);\n\t\t\tif (currentQuantity !== item.quantity) {\n\t\t\t\tconst articleList = [\n\t\t\t\t\t{\n\t\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\t\tquantity: currentQuantity,\n\t\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\t\tconfigId: item.configId,\n\t\t\t\t\t\tconfigDescription: item.configDescription,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t\tconst data = await dispatch(\n\t\t\t\t\tAddToSavedCart(\n\t\t\t\t\t\tsavedCartObject.cartId,\n\t\t\t\t\t\t'PATCH',\n\t\t\t\t\t\tarticleList,\n\t\t\t\t\t\tsortSelection\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tsetSavedCartObject(data);\n\t\t\t}\n\t\t\tsetCartLoading(false);\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleAddAllToCart = async () => {\n\t\ttry {\n\t\t\tlet articleList: AddToCartModel[] = [];\n\t\t\tsavedCartObject.articleList?.forEach((item) => {\n\t\t\t\tarticleList.push({\n\t\t\t\t\titemCode: item.itemCode,\n\t\t\t\t\tquantity: item.quantity,\n\t\t\t\t\tlineItemId: item.lineItemId,\n\t\t\t\t\tconfigId: item.configId,\n\t\t\t\t\tconfigDescription: item.configDescription,\n\t\t\t\t\tgoodsMarking: item.notes.goodsMarking,\n\t\t\t\t\tcomments: item.notes.comments,\n\t\t\t\t});\n\t\t\t});\n\t\t\tawait dispatch(AddToCart('POST', articleList));\n\t\t\ttoast(t('savedcartpage/alladdedtocartmessage'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleReloadPrices = async () => {\n\t\ttry {\n\t\t\tawait dispatch(cartUpdatePriceReloadCounter(cartPriceReloadCounter + 1));\n\t\t\tfetchCartObject();\n\t\t} catch (err) {\n\t\t} finally {\n\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false });\n\t\t}\n\t};\n\n\tconst fetchCartObject = async () => {\n\t\ttry {\n\t\t\tsetCartLoading(true);\n\t\t\tconst data = await dispatch(\n\t\t\t\tFetchSavedCart(\n\t\t\t\t\tsavedCartObject.cartId,\n\t\t\t\t\tsavedCartObject.withPrice,\n\t\t\t\t\tsortSelection\n\t\t\t\t)\n\t\t\t);\n\t\t\tif (data) {\n\t\t\t\tsetSavedCartObject(data);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof ReloadCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: true,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof CancelCartPriceError) {\n\t\t\t\tsetReloadPricesModal({\n\t\t\t\t\tisActive: true,\n\t\t\t\t\thasReloadButton: false,\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t});\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetCartLoading(false);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (didRender.current) {\n\t\t\tfetchCartObject();\n\t\t}\n\t\tif (!didRender.current && typeof userObject !== 'undefined') {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [userObject]);\n\n\tuseEffect(() => {\n\t\tif (savedCartObject?.withPrice === false) {\n\t\t\tfetchCartObject();\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [savedCartObject, cartObject]);\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{breadcrumbs && }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{savedCartObject?.articleList?.map(\n\t\t\t\t\t\t(item: ArticleModel, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{savedCartObject?.leadTime && (\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t{t('cartpage/estimatedleadtime')}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{leadTimeTooltip && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{leadTimeTooltip}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{savedCartObject?.leadTime && (\n\t\t\t\t\t\t\t\t\t\t

    {`${savedCartObject.leadTime} ${t(\n\t\t\t\t\t\t\t\t\t\t\t'cartpage/businessdaysafterorderconfirmation'\n\t\t\t\t\t\t\t\t\t\t)}`}

    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{savedCartObject?.total?.amountNetPriceFormatted && (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{t('cartpage/total')}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${savedCartObject.total.amountNetPriceFormatted} \n\t\t\t\t\t\t\t\t\t\t\t\t\t ${savedCartObject.total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{savedCartObject?.total?.amountGrossPriceFormatted && (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t

    {t('cartpage/grosstotal')}

    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{`${savedCartObject.total.amountGrossPriceFormatted} ${savedCartObject.total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{savedCartObject?.total?.amountWebShopDiscountFormatted && (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t

    {t('cartpage/webshopdiscount')}

    \n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t{`- ${savedCartObject.total.amountWebShopDiscountFormatted} ${savedCartObject.total?.currency}`}\n\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{addAllToCartButton.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{articleModal.isActive && (\n\t\t\t\t {\n\t\t\t\t\t\tsetArticleModal({ link: null, isActive: false });\n\t\t\t\t\t\t!savedCartObject.withPrice && fetchCartObject();\n\t\t\t\t\t}}\n\t\t\t\t\tarticleApiUrl={articleModal.link}\n\t\t\t\t\tdisableControls\n\t\t\t\t\tactiveMarket={framework.header.activeMarket}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{reloadPricesModal.isActive && (\n\t\t\t\t\n\t\t\t\t\t\tsetReloadPricesModal({ ...reloadPricesModal, isActive: false })\n\t\t\t\t\t}\n\t\t\t\t\tonClick={reloadPricesModal.hasReloadButton && handleReloadPrices}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default SavedCartPage;\n","import SavedCartPage from './SavedCartPage';\n\nexport default SavedCartPage;\n","import styled from 'styled-components';\nimport { Table, TableData } from 'components/ui/Table/table.styles';\nimport Pager from 'components/ui/Pager';\nimport { paragraphCss } from 'components/ui/Typography';\nimport { spacing3x } from 'theme/spacings';\nimport { deviceSmallMax } from 'theme/mediaQueries';\n\nexport const SavedCartsTable = styled(Table)`\n\toverflow-y: auto;\n`;\n\nexport const SavedCartsCell = styled(TableData)`\n\ttext-align: ${(props) => (props.alignRight ? 'right' : 'left')};\n\twhite-space: nowrap;\n\tpadding: 0;\n`;\n\nexport const PagerWrapper = styled(Pager)`\n\tmargin: 2rem 0;\n`;\n\nexport const NoResultsMessage = styled.p`\n\t${paragraphCss};\n\ttext-align: center;\n`;\n\nexport const Body = styled.div`\n\tmax-width: 100%;\n\tpadding-bottom: ${spacing3x};\n\toverflow-y: auto;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmax-width: 100%;\n\t}\n`;\n\nexport const DeleteCartButton = styled.button`\n\twidth: 6rem;\n\tborder: 0;\n\tbackground-color: transparent;\n\twhite-space: nowrap;\n\ttext-decoration: none;\n\tcursor: pointer;\n`;\nexport const DeleteLinkWrapper = styled.td`\n\twidth: 6rem;\n\ttext-align: right;\n`;\n","/**\n * MySavedCartsPage\n * @module pages/MySavedCartsPage\n */\n\nimport React, { useMemo, useContext, useEffect, useState, useRef } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useTable, useSortBy, usePagination } from 'react-table';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\thandleSortByKeyDown,\n\thandleKeyboardNavigation,\n\tformatAndGetCellValue,\n} from 'components/ui/Table';\nimport { useMedia } from 'hooks';\n\nimport Layout from 'components/ui/Layout';\nimport { useSelector } from 'react-redux';\nimport {\n\tTable,\n\tTableHeadRow,\n\tTableHead,\n\tTableHeadContent,\n\tTableData,\n\tTableRow,\n\tSortWrapper,\n\tSortAscIcon,\n\tSortDscIcon,\n\tCellLink,\n} from 'components/ui/Table/table.styles';\n\nimport {\n\tBody,\n\tNoResultsMessage,\n\tPagerWrapper,\n\tSavedCartsCell,\n\tDeleteCartButton,\n\tDeleteLinkWrapper,\n} from './MySavedCartsPage.styles';\n\nimport SectionHeader from 'components/ui/SectionHeader';\n//import OverflowMessage from 'components/common/OverflowMessage';\nimport ContentArea from 'components/framework/ContentArea';\nimport { toast } from 'react-toastify';\nimport { useDefaultPopState } from 'hooks/usePopState';\nimport {\n\tgetURLParameter,\n\tscrollToTop,\n\tServerError,\n\tGenericWarning,\n} from 'common/helpers';\nimport { useDispatch } from 'react-redux';\nimport { DeleteCart } from 'store/modules/cart';\nimport AlertModal from 'components/ui/AlertModal';\nimport Icon from 'components/ui/Icon';\nimport { selectUserData } from 'store/modules/user';\nconst MySavedCartsPage = ({\n\tbreadcrumbs,\n\theading,\n\ttext,\n\tcarts,\n\tcontentArea,\n\toverflow,\n\tisInEditMode,\n\towner,\n\towners,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst isMobile = useMedia('(max-width: 490px)');\n\tconst [savedCarts, setSavedCarts] = useState(carts || []);\n\tconst [deleteDialogOpen, setDeleteDialogOpen] = useState(false);\n\tconst [itemToDelete, setItemToDelete] = useState(null);\n\tconst currentPage = parseInt(getURLParameter('page'));\n\tconst { userObject } = useSelector(selectUserData);\n\tconst [selectedOwner, setSelectedOwner] = useState(\n\t\towner ?? getURLParameter('owner') ?? 'shared'\n\t);\n\tconst dispatch = useDispatch();\n\tconst data = useMemo(() => savedCarts, [savedCarts]);\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('mysavedcartspage/date'), accessor: 'date' },\n\t\t\t{ Header: t('mysavedcartspage/carttitle'), accessor: 'name' },\n\t\t\t{ Header: t('mysavedcartspage/numberofrows'), accessor: 'articleRows' },\n\t\t\t{\n\t\t\t\tHeader: t('mysavedcartspage/totalarticles'),\n\t\t\t\taccessor: 'totalArticles',\n\t\t\t},\n\t\t\t{\n\t\t\t\tHeader: t('mysavedcartspage/visibility'),\n\t\t\t\taccessor: 'visibility',\n\t\t\t},\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tprepareRow,\n\t\tpage,\n\t\tpageOptions,\n\t\tgotoPage,\n\t\tstate: { pageIndex },\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tinitialState: {\n\t\t\t\tpageIndex: !isNaN(currentPage) ? currentPage - 1 : 0,\n\t\t\t\tpageSize: 25,\n\t\t\t},\n\t\t},\n\t\tuseSortBy,\n\t\tusePagination\n\t);\n\n\tconst removeCartItemFromState = (cart) => {\n\t\tif (cart && cart.id) {\n\t\t\tlet newState = savedCarts && savedCarts.filter((c) => c.id !== cart.id);\n\t\t\tnewState && setSavedCarts(newState);\n\t\t}\n\t};\n\n\tconst didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = useDefaultPopState({ page: pageIndex + 1 });\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState && popState.page !== pageIndex + 1) {\n\t\t\tpreventHistoryEntry.current = true;\n\t\t\tgotoPage(popState.page - 1);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [popStateString]);\n\n\tuseEffect(() => {\n\t\tif (!preventHistoryEntry.current) {\n\t\t\tif (didRender.current) {\n\t\t\t\twindow.history.pushState(\n\t\t\t\t\t{\n\t\t\t\t\t\tpage: pageIndex + 1,\n\t\t\t\t\t},\n\t\t\t\t\tnull,\n\t\t\t\t\twindow.location.pathname + `?page=${pageIndex + 1}`\n\t\t\t\t);\n\n\t\t\t\tif (selectedOwner) {\n\t\t\t\t\twindow.history.pushState(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpage: pageIndex + 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twindow.location.pathname +\n\t\t\t\t\t\t\t`?page=${pageIndex + 1}&owner=${selectedOwner}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t{\n\t\t\t\t\t\tpage: pageIndex + 1,\n\t\t\t\t\t},\n\t\t\t\t\tnull,\n\t\t\t\t\twindow.location.pathname + `?page=${pageIndex + 1}`\n\t\t\t\t);\n\n\t\t\t\tif (selectedOwner) {\n\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpage: pageIndex + 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twindow.location.pathname +\n\t\t\t\t\t\t\t`?page=${pageIndex + 1}&owner=${selectedOwner}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!didRender.current) {\n\t\t\tdidRender.current = true;\n\t\t}\n\t\tif (preventHistoryEntry.current) {\n\t\t\tdidRender.current = false;\n\t\t}\n\t}, [pageIndex, selectedOwner]);\n\n\tuseEffect(() => {\n\t\ttry {\n\t\t\tfetch(window.location.href.split('?')[0] + '?owner=' + selectedOwner, {\n\t\t\t\tmethod: 'GET',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t\t},\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\treturn response.json();\n\t\t\t\t})\n\t\t\t\t.then((data) => {\n\t\t\t\t\tdata && setSavedCarts(data.carts);\n\t\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t}, [selectedOwner, userObject]);\n\n\tconst handleDeleteCart = async () => {\n\t\ttry {\n\t\t\tawait dispatch(DeleteCart(itemToDelete.id));\n\t\t\tremoveCartItemFromState(itemToDelete);\n\t\t\ttoast(t('mysavedcartspage/carthasbeenremoved'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetItemToDelete(null);\n\t\t\tsetDeleteDialogOpen(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t{breadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t{/* // Not currently in use\n\t\t\t\t\n\t\t\t */}\n\n\t\t\t\n\t\t\t\t setSelectedOwner(e.target.value)}\n\t\t\t\t>\n\t\t\t\t\t{owners &&\n\t\t\t\t\t\towners.map((ownerOption, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\t\t\tdata.length + 1,\n\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('mysavedcartspage/removecart')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{page.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell, index) => {\n\t\t\t\t\t\t\t\t\t\t\tconst cellColumnId = cell.column.id;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cellColumnId !== 'name' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatAndGetCellValue(cell)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{row.original.deletable ? (\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpage.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetItemToDelete(row.original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteDialogOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === ' ' || e.key === 'Enter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetItemToDelete(row.original);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetDeleteDialogOpen(true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('mysavedcartspage/removecart')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t
    {heading}
    \n\t\t\t\t\n\t\t\t\t{carts && carts.length === 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{t('mysavedcartspage/noresultmessage')}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t {\n\t\t\t\t\t\tscrollToTop();\n\t\t\t\t\t\tgotoPage(value - 1);\n\t\t\t\t\t}}\n\t\t\t\t\tisMobile={isMobile}\n\t\t\t\t/>\n\t\t\t
    \n\t\t\t\n\t\t\t{deleteDialogOpen && (\n\t\t\t\t setDeleteDialogOpen(false)}\n\t\t\t\t\tonClick={handleDeleteCart}\n\t\t\t\t/>\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default MySavedCartsPage;\n","import MySavedCartsPage from './MySavedCartsPage';\n\nexport default MySavedCartsPage;\n","/**\n * NewLocationRow\n */\n\nimport { useContext, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Tooltip from 'components/ui/Tooltip';\nimport { ContactModel, LocationRowModel } from 'types/common';\nimport RichText from 'components/ui/RichText';\nimport Icon from 'components/ui/Icon';\nimport { PhoneIcon } from '../LocationRow/LocationRow.styles';\nimport { FiChevronDown, FiChevronUp } from 'react-icons/fi';\nimport clsx from 'clsx';\n\nconst renderContacts = (items: ContactModel[]) => {\n\tif (!items || items?.length < 0) return;\n\treturn items.map((contact: any, i: number) => {\n\t\tconst { name, role, image, productArea, phone, email } = contact;\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{image && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t

    {name}

    \n\t\t\t\t\t\t{role}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{productArea}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t {phone}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {email}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t});\n};\n\n/** Main description for this component. */\nconst NewLocationRow = ({\n\ttitle,\n\tcategories,\n\tcity,\n\tcontacts,\n\thighlightedContacts,\n\temail,\n\temailTooltip,\n\temail2,\n\temail2Tooltip,\n\tmapLinkUrl,\n\topeningHours,\n\tphone,\n\tphoneTooltip,\n\tphone2,\n\tphone2Tooltip,\n\tphone3,\n\tphone3Tooltip,\n\tstreetAddress,\n\twebsite,\n\twebsiteTooltip,\n\tquery,\n\tmilkRun,\n\thitId,\n\t...restProps\n}: LocationRowModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [nestedOpen, setNestedOpen] = useState(false);\n\n\treturn (\n\t\t
    \n\t\t\t{title &&

    {title}

    }\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t

    {city}

    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('contactpage/openmap')}{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{t('contactpage/oppetider')}\n\t\t\t\t\t\t

    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{t('contactpage/kontakt')}\n\t\t\t\t\t\t

    \n\t\t\t\t\t
    \n\t\t\t\t\t{phone}\n\t\t\t\t\t{phoneTooltip && {phoneTooltip}}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t{highlightedContacts && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('contactpage/showfilteredsellersandexperts')}\n\t\t\t\t\t\t{}\n\t\t\t\t\t\n\t\t\t\t\t
      {renderContacts(highlightedContacts)}
    \n\t\t\t\t\t{contacts && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('contactpage/showunfilteredsellersandexperts')}\n\t\t\t\t\t\t\t\t{nestedOpen ? (\n\t\t\t\t\t\t\t\t\t setNestedOpen(!nestedOpen)}\n\t\t\t\t\t\t\t\t\t\tsize={25}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t setNestedOpen(!nestedOpen)}\n\t\t\t\t\t\t\t\t\t\tsize={25}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      {renderContacts(contacts)}
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t)}\n\n\t\t\t{contacts && !highlightedContacts && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('contactpage/showsellersandexperts')}\n\t\t\t\t\t\t{}\n\t\t\t\t\t\n\t\t\t\t\t
      {renderContacts(contacts)}
    \n\t\t\t\t
    \n\t\t\t)}\n\n\t\t\t{milkRun && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('contactpage/showmilkrun')}\n\t\t\t\t\t\t{milkRun && }\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default NewLocationRow;\n","import NewLocationRow from './NewLocationRow';\n\nexport default NewLocationRow;\n","import ContentArea from 'components/framework/ContentArea';\nimport { Paragraph } from 'components/ui/Typography';\nimport FilterFieldSet from 'components/framework/FilterFieldSet/FilterFieldSet';\nimport FilterField from 'components/ui/FilterField/FilterField';\nimport Layout from 'components/ui/Layout';\nimport Text from 'components/ui/Text';\nimport React, { useContext } from 'react';\nimport { ContentAreaModelTypes } from 'types/block-types';\nimport { LocationRowModel } from 'types/common';\nimport { FacetsItemModel, FilterState } from 'types/filter-types';\nimport Icon from 'components/ui/Icon';\nimport NewLocationRow from 'components/framework/NewLocationRow';\nimport Pager from 'components/ui/Pager';\nimport { LocalizationContext } from 'context/localization.context';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\ninterface Props {\n\tfilter: FilterState;\n\tsubHeading?: string;\n\tisInEditMode: boolean;\n\tlocations: LocationRowModel[];\n\tpagination: any;\n\ttopContentArea?: ContentAreaModelTypes[];\n\tcontentArea?: ContentAreaModelTypes[];\n\tslideContentArea?: ContentAreaModelTypes[];\n\tstate: FilterState;\n\t// input search props\n\thandleSearch: (value: string) => void;\n\tinputplaceholder?: string;\n\t// filter buttons props\n\tonChangeFacet: (facetId: string, itemId: string, value: boolean) => void;\n\tshowFilter: boolean;\n\tloading?: any;\n\terror?: any;\n\thasLocations: boolean;\n\thandlePagination?: (value: number) => void;\n\tisMobile?: boolean;\n\tbreadcrumbs?: any;\n}\n\nconst NewContactPage = ({\n\tsubHeading,\n\ttopContentArea,\n\tslideContentArea,\n\tstate,\n\thandleSearch,\n\tbreadcrumbs,\n\tinputplaceholder,\n\tonChangeFacet,\n\tshowFilter = false,\n\tloading,\n\terror,\n\tisInEditMode = false,\n\tfilter,\n\tlocations,\n\tpagination,\n\tcontentArea,\n\thasLocations,\n\thandlePagination,\n\tisMobile,\n}: Props) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{subHeading && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{subHeading}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{state &&\n\t\t\t\t\t\t\tstate.facets &&\n\t\t\t\t\t\t\tstate.facets?.some((f) => f?.items?.length > 0) && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{state.facets.map((fieldset: FacetsItemModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{fieldset.name && fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!loading && error && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{t('shared/filter/errormessage')}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{hasLocations && !error && !loading\n\t\t\t\t\t\t\t? locations.map((item: LocationRowModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t ))\n\t\t\t\t\t\t\t: !error &&\n\t\t\t\t\t\t\t !loading && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{t('shared/filter/noresultmessage')}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t )}\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default NewContactPage;\n","/**\n * ContactPage\n * @module pages/ContactPage\n */\n\nimport React, {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseContext,\n\tuseReducer,\n} from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport Layout from 'components/ui/Layout';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { useMedia } from 'hooks';\nimport { useFilterSearch } from 'api/general';\nimport {\n\tFilterCol,\n\tInputField,\n\tClearFilterButton,\n\tSlidersButton,\n\tSlidersIcon,\n\tArticleCol,\n\tFieldSet,\n} from 'pages/ProductDetailPage/ProductDetailPage.styles';\nimport { Paragraph } from 'components/ui/Typography';\nimport {\n\tcomposeQueryString,\n\tsetUrlLocation,\n\tscrollToTop,\n} from 'common/helpers';\nimport listFilterReducer from 'reducers/listFilterReducer';\nimport FilterChip from 'components/ui/FilterChip';\nimport ContentArea from 'components/framework/ContentArea';\nimport LocationRow from 'components/framework/LocationRow';\nimport { PagerWrapper } from 'pages/SearchPage/SearchPage.styles';\nimport { usePopState } from 'hooks/usePopState';\nimport { ContactPageModel } from 'types/page-types';\nimport {\n\tFacetItemModel,\n\tFacetsItemModel,\n\tFilterState,\n} from 'types/filter-types';\nimport { ContactPageTheme, LocationRowModel } from 'types/common';\nimport Icon from 'components/ui/Icon';\nimport NewContactPage from './NewContactPage';\n\nconst ContactPage = ({\n\tbreadcrumbs,\n\tcontentArea,\n\tfilter,\n\theading,\n\tsubHeading,\n\tisInEditMode,\n\tlocations,\n\tpagination,\n\ttext,\n\ttopContentArea,\n\ttheme,\n\tslideContentArea,\n}: ContactPageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [query, setQuery] = useState(null);\n\tconst [showFilter, setShowFilter] = useState(false);\n\n\tconst initialState: FilterState = {\n\t\tsortBy: undefined,\n\t\tgroup: undefined,\n\t\tdisplay: 16,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t\tfacets: filter.facets as FacetsItemModel[],\n\t};\n\n\tconst [state, dispatch] = useReducer(listFilterReducer, initialState);\n\n\tlet didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = usePopState(state);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tdispatch({ type: 'SET_STATE', payload: popState });\n\t\t\tpreventHistoryEntry.current = true;\n\t\t}\n\t}, [popState, popStateString]);\n\n\tconst [response, error, loading]: any = useFilterSearch(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null,\n\t\tfalse\n\t);\n\n\t/* State handling START */\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\t\tlet hash = (window && window.location && window.location.hash) || null;\n\t\tsetUrlLocation(\n\t\t\tqueryString,\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets,\n\t\t\tnull,\n\t\t\thasRendered,\n\t\t\tpreventHistoryEntry.current,\n\t\t\thash\n\t\t);\n\t}, [state]);\n\t/* State handling END */\n\n\t/* Functions START */\n\tconst toggleMobileFilter = () => {\n\t\tsetShowFilter(!showFilter);\n\t};\n\n\tconst handleFacet = (facetId: string, itemId: string, value: boolean) => {\n\t\tconst facet = state.facets?.find((f: FacetsItemModel) => f.id === facetId);\n\t\tconst item = facet?.items.find((i: FacetItemModel) => i.id === itemId);\n\t\titem && (item.active = value);\n\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [] });\n\t};\n\n\tconst handleFacetToggle = (\n\t\tfacetId: string,\n\t\titemId: string,\n\t\tvalue: boolean\n\t) => {\n\t\tconst facet = state.facets?.find((f: FacetsItemModel) => f.id === facetId);\n\t\tif (facet) {\n\t\t\t// Iterate through the items in the same fieldset\n\t\t\tfacet.items.forEach((item: FacetItemModel) => {\n\t\t\t\t// Set the active property based on the chosen item\n\t\t\t\titem.active = item.id === itemId && value;\n\t\t\t});\n\t\t}\n\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [] });\n\t};\n\n\tconst handlePagination = (value: number) => {\n\t\tscrollToTop();\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value });\n\t};\n\n\tconst clearFacets = () => {\n\t\tstate.facets?.forEach((facet: FacetsItemModel) =>\n\t\t\tfacet.items.forEach((item) => (item.active = false))\n\t\t);\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [] });\n\t};\n\n\tconst handleSearch = (value: string) => {\n\t\tif (state.query !== value) {\n\t\t\tdispatch({ type: 'QUERY', query: value });\n\t\t}\n\t};\n\n\t/*Functions END */\n\n\t/* Display constants START */\n\n\tconst locationsArray = (response && response.locations) || locations;\n\tconst paginationObject = (response && response.pagination) || pagination;\n\n\tconst isMobile = useMedia('(max-width: 490px)', true);\n\tconst tabletView = useMedia('(max-width: 890px)', true);\n\tconst hasLocations = locationsArray && locationsArray.length > 0;\n\tconst anyActiveFacetFilter = state.facets?.some((facet: FacetsItemModel) =>\n\t\tfacet.items.some((item: FacetItemModel) => item.active === true)\n\t);\n\tconst inputplaceholder = t('contactpage/inputplaceholder');\n\n\tuseEffect(() => {\n\t\tif (response && response.filter && response.filter.facets) {\n\t\t\tdispatch({ type: 'FACETS', facets: response.filter.facets });\n\t\t}\n\t}, [response]);\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t{ContactPageTheme.VERSION_2 === theme?.toLocaleLowerCase() ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t{breadcrumbs && }\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{tabletView && (\n\t\t\t\t\t\t\t\t\t toggleMobileFilter()}\n\t\t\t\t\t\t\t\t\t\ttitle={t('shared/filter/showfilter')}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{state && state.facets && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{state.facets.map(\n\t\t\t\t\t\t\t\t\t\t\t(fieldset: FacetsItemModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.name && fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{anyActiveFacetFilter && (\n\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t{state.facets?.map((facet: FacetsItemModel, i: number) => {\n\t\t\t\t\t\t\t\t\t\t\treturn facet.items.map((facetItem, j) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn facetItem.active ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t) : null;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{anyActiveFacetFilter && (\n\t\t\t\t\t\t\t\t\t clearFacets()}>\n\t\t\t\t\t\t\t\t\t\t{t('shared/filter/clearallfilters')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!loading && error && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{t('shared/filter/errormessage')}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{loading && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasLocations && !error && !loading\n\t\t\t\t\t\t\t\t\t? locationsArray.map((item: LocationRowModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t ))\n\t\t\t\t\t\t\t\t\t: !error &&\n\t\t\t\t\t\t\t\t\t !loading && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/filter/noresultmessage')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t )}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default ContactPage;\n","import ContactPage from './ContactPage';\n\nexport default ContactPage;\n","import { useFetch } from 'api';\n\nconst getHash = (elements) => {\n\tif (!elements) return {};\n\n\treturn [].reduce.call(\n\t\telements,\n\t\t(data, element) => {\n\t\t\tif (element.value) {\n\t\t\t\tdata[element.name] = element.value;\n\t\t\t}\n\t\t\treturn data;\n\t\t},\n\t\t{}\n\t);\n};\n\nexport const useChangePassword = ({ url, form, antiForgery }) => {\n\tconst preventRequest = typeof url === 'undefined' || url === '';\n\tlet body = {};\n\tif (window && window.FormData) {\n\t\tbody = new FormData(form);\n\t\tbody.append('__RequestVerificationToken', antiForgery);\n\t}\n\tlet formValues = getHash(form && form.elements);\n\tconst hash = JSON.stringify(formValues);\n\n\treturn useFetch({\n\t\turl: `${url}`,\n\t\tresponseDefault: {},\n\t\tmethod: 'post',\n\t\tpreventRequest: preventRequest,\n\t\tdisableCancel: true,\n\t\tdata: body,\n\t\tdatHash: hash,\n\t});\n};\n","/**\n * ForgotPasswordPage\n * @module pages/ForgotPasswordPage\n */\n\nimport { useRef, useState, useEffect, useContext } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { LocalizationContext } from 'context/localization.context';\nimport ContentArea from 'components/framework/ContentArea';\nimport Button from 'components/ui/Button';\nimport { useChangePassword } from 'api/forgotpassword';\nimport RichText from 'components/ui/RichText';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\nimport { LoginPageModel } from 'types/page-types';\n\nconst ForgotPasswordPage = ({\n\theading,\n\ttext,\n\tbutton,\n\tcontentArea,\n}: LoginPageModel): JSX.Element => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst formRef = useRef();\n\tconst [message, setMessage] = useState({ message: '', isError: false });\n\tconst [submitted, setSubmitted] = useState(false);\n\n\tconst [passwordRequest, setPasswordRequest] = useState({});\n\tconst [response, error, loading] = useChangePassword(passwordRequest);\n\tconst [key, setKey] = useState(1);\n\n\tuseEffect(() => {\n\t\tif (error) {\n\t\t\tsetMessage({ message: t('shared/toast/servererror'), isError: true });\n\t\t} else if (!(response as any).success) {\n\t\t\tsetMessage({ message: (response as any).responseText, isError: true });\n\t\t} else if ((response as any).success) {\n\t\t\tsetMessage({ message: (response as any).responseText, isError: false });\n\t\t}\n\t\t// change key to reset form inputs\n\t\tsetKey(key + 1);\n\t\t//eslint-disable-next-line\n\t}, [error, (response as any).responseText, (response as any).success]);\n\n\tconst handleSubmit = (e: any) => {\n\t\te.preventDefault();\n\t\tconst antiForgeryElement = document.querySelector(\n\t\t\t'#antiforgery > input[name=\"__RequestVerificationToken\"]'\n\t\t);\n\t\tconst antiforgeryValue =\n\t\t\tantiForgeryElement && (antiForgeryElement as HTMLInputElement).value;\n\t\tsetPasswordRequest({\n\t\t\turl: button && button.link,\n\t\t\tform: formRef.current,\n\t\t\tantiForgery: antiforgeryValue,\n\t\t});\n\t\tsetSubmitted(true);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{heading &&\n\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-10 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theading\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('forgotpasswordpage/email')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t{message && message.message && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{message.message}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{button && button.text && button.link && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{contentArea && }\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default ForgotPasswordPage;\n","import ForgotPasswordPage from './ForgotPasswordPage';\n\nexport default ForgotPasswordPage;\n","/**\n * ResetPasswordPage\n * @module pages/ResetPasswordPage\n */\n\nimport { useRef, useState, useEffect, useContext } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { LocalizationContext } from 'context/localization.context';\nimport ContentArea from 'components/framework/ContentArea';\nimport Button from 'components/ui/Button';\nimport Modal from 'components/ui/Modal';\nimport { useChangePassword } from 'api/forgotpassword';\n\nimport {\n\trenderElementBasedOnEditMode,\n\tformElementsAreEqual,\n} from 'common/helpers';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport RichText from 'components/ui/RichText';\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\nimport { ResetPasswordPageModel } from 'types/page-types';\n\nconst ResetPasswordPage = ({\n\tcode,\n\theading,\n\ttext,\n\tbutton,\n\tcontentArea,\n\tuserId,\n}: ResetPasswordPageModel): JSX.Element => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst formRef = useRef();\n\tconst [message, setMessage] = useState({ message: '', isError: false });\n\tconst modalDefault = { open: false, url: '' };\n\tconst [modal, setModal] = useState(modalDefault);\n\tconst [passwordRequest, setPasswordRequest] = useState({});\n\tconst [response, error, loading] = useChangePassword(passwordRequest);\n\tconst [key, setKey] = useState(1);\n\n\tuseEffect(() => {\n\t\tif (error) {\n\t\t\tsetMessage({ message: t('shared/toast/servererror'), isError: true });\n\t\t} else if (!(response as any).success) {\n\t\t\tsetMessage({ message: (response as any).responseText, isError: true });\n\t\t} else if ((response as any).success) {\n\t\t\tsetMessage({ message: (response as any).responseText, isError: false });\n\t\t\tsetModal({ open: true, url: (response as any).redirectUrl });\n\t\t}\n\t\t// change key to reset form inputs\n\t\tsetKey(key + 1);\n\t\tsetPasswordRequest({});\n\t\t//eslint-disable-next-line\n\t}, [error, response]);\n\n\tconst handleSubmit = (e: any) => {\n\t\te.preventDefault();\n\t\tconst antiForgeryElement = document.querySelector(\n\t\t\t'#antiforgery > input[name=\"__RequestVerificationToken\"]'\n\t\t);\n\t\tconst antiforgeryValue =\n\t\t\tantiForgeryElement && (antiForgeryElement as HTMLInputElement).value;\n\t\tconst formElements = formRef.current && formRef.current.elements;\n\t\tconst password = formElements['password'];\n\t\tconst repeatpassword = formElements['repeatpassword'];\n\n\t\tif (formElementsAreEqual(password, repeatpassword)) {\n\t\t\tsetPasswordRequest({\n\t\t\t\turl: button && button.link,\n\t\t\t\tform: formRef.current,\n\t\t\t\tantiForgery: antiforgeryValue,\n\t\t\t});\n\t\t} else if (!password.value || !repeatpassword.value) {\n\t\t\tsetMessage({\n\t\t\t\tmessage: t('forgotpasswordpage/bothfieldsarerequired'),\n\t\t\t\tisError: true,\n\t\t\t});\n\t\t\tsetPasswordRequest({});\n\t\t} else {\n\t\t\tsetMessage({\n\t\t\t\tmessage: t('forgotpasswordpage/passwordsdonotmatch'),\n\t\t\t\tisError: true,\n\t\t\t});\n\t\t\tsetPasswordRequest({});\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading &&\n\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theading\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('forgotpasswordpage/password')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('forgotpasswordpage/repeatpassword')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{message && message.message && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{message.message}\n\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{button && button.text && button.link && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{button.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{contentArea && }\n\t\t\t\t\n\t\t\t
    \n\t\t\t{modal.open && modal.url && (\n\t\t\t\t\n\t\t\t\t\t\tsetModal({ open: false, url: (response as any).redirectUrl })\n\t\t\t\t\t}\n\t\t\t\t\twidth=\"small\"\n\t\t\t\t\ttitle={t('forgotpasswordpage/passwordhasbeenreset')}\n\t\t\t\t\theading={t('forgotpasswordpage/passwordhasbeenreset')}\n\t\t\t\t>\n\t\t\t\t\t

    \n\t\t\t\t\t\t{t('forgotpasswordpage/passwordhasbeenresettext')}\n\t\t\t\t\t

    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ResetPasswordPage;\n","import ResetPasswordPage from './ResetPasswordPage';\n\nexport default ResetPasswordPage;\n","/**\n * NewsList\n * @module components/NewsList\n */\n\nimport clsx from 'clsx';\n\ninterface NewsListModel {\n\tchildren: JSX.Element | JSX.Element[];\n\tborderTop: boolean;\n}\n\nconst NewsList = ({ children, borderTop }: NewsListModel) => (\n\t\n\t\t{children}\n\t\n);\n\nexport default NewsList;\n","import { H4Css, paragraphCss } from 'components/ui/Typography';\nimport styled from 'styled-components';\nimport { black } from 'theme/colors';\nimport { spacing05x, spacing1x } from 'theme/spacings';\n\nexport const Li = styled.li`\n\tlist-style: none;\n\tborder-bottom: 0.1rem solid #d0d0d0;\n\tpadding-bottom: 1.2rem;\n\tmargin-bottom: 1.2rem;\n`;\n\nexport const Link = styled.a`\n\ttext-decoration: none;\n\n\t&:hover {\n\t\th2 {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`;\n\nexport const Text = styled.p`\n\t${paragraphCss};\n\tmargin: 0 0 ${spacing05x};\n\tcolor: ${black};\n`;\n\nexport const Category = styled.span`\n\tfont-weight: bold;\n\tmargin-right: ${spacing1x};\n`;\n\nexport const Title = styled.h2`\n\t${H4Css};\n\tmargin: 0;\n\tfont-weight: bold;\n`;\n","/**\n * NewsListItem\n * @module components/NewsListItem\n */\nimport { Li, Link, Text, Title, Category } from './NewsList.styles';\n\ninterface NewsListItemModel {\n\ttitle: string;\n\tcategory: string;\n\tdate: string;\n\turl: string;\n}\n\nconst NewsListItem = ({ category, date, title, url }: NewsListItemModel) => (\n\t
  • \n\t\t\n\t\t\t\n\t\t\t\t{category && {category}}\n\t\t\t\t{date && {date}}\n\t\t\t\n\t\t\t{title}\n\t\t\n\t
  • \n);\n\nexport default NewsListItem;\n","/**\n * CisionPressReleaseListPage\n * @module pages/CisionPressReleaseListPage\n */\n\nimport { useReducer, useEffect, useState, useRef } from 'react';\nimport {\n\tcomposeQueryString,\n\trenderElementBasedOnEditMode,\n\tscrollToTop,\n\tsetUrlLocation,\n} from 'common/helpers';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { usePressRelease } from 'api';\nimport RichText from 'components/ui/RichText';\nimport {\n\tFieldset,\n\tLegend,\n\tLabel,\n\tDefaultCheckbox,\n\tSquareCheckIcon,\n\tSquareIcon,\n\tSpan,\n\tSelectWrapper,\n\tSelectLabel,\n\tSelect,\n\tContentWrapper,\n\tLeftContentWrapper,\n\tRightContentWrapper,\n\tPagerWrapper,\n} from './CisionPressReleaseListPage.styles';\nimport Layout from 'components/ui/Layout';\nimport { NewsList, NewsListItem } from 'components/common/NewsList';\nimport { useMedia } from 'hooks';\nimport listFilterReducer from 'reducers/listFilterReducer';\nimport {\n\tCisionPressReleaseItemModel,\n\tCisionPressreleaseListPageModel,\n} from 'types/page-types';\n\nimport { FacetItemModel, FacetsItemModel } from 'types/filter-types';\n\nconst CisionPressReleaseListPage = (props: CisionPressreleaseListPageModel) => {\n\tconst {\n\t\theading,\n\t\ttext,\n\t\tisInEditMode,\n\t\tbreadcrumbs,\n\t\titems,\n\t\tpagination,\n\t\tfilter,\n\t} = props;\n\tconst isMobile = useMedia('(max-width: 490px)');\n\tconst mobileView = useMedia('(max-width: 768px)');\n\tconst tabletView = useMedia('(max-width: 890px)');\n\tconst [query, setQuery] = useState(null);\n\tconst preventHistoryEntry = useRef(false);\n\tlet didRender = useRef(false);\n\tconst [response, error, loading] = usePressRelease(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null\n\t);\n\n\t// Handle filter, query and pagination.\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tdisplay: pagination.display,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t\tfacets: filter.facets as FacetsItemModel[],\n\t});\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\t\tif (queryString !== query) {\n\t\t\tsetUrlLocation(\n\t\t\t\tqueryString,\n\t\t\t\tstate.query,\n\t\t\t\tstate.sortBy,\n\t\t\t\tstate.display,\n\t\t\t\tstate.currentPage,\n\t\t\t\tstate.facets,\n\t\t\t\tnull,\n\t\t\t\thasRendered,\n\t\t\t\tpreventHistoryEntry.current\n\t\t\t);\n\t\t}\n\t}, [query, state]);\n\n\tconst handleFacet = (\n\t\tfacetId: string,\n\t\titemId: string,\n\t\tvalue: any,\n\t\tisSelect = false\n\t) => {\n\t\tconst facet = state.facets?.find((f: FacetsItemModel) => f.id === facetId);\n\t\tconst item = facet?.items.find((i: FacetItemModel) => i.id === itemId);\n\t\tif (isSelect) {\n\t\t\tfacet?.items.forEach((item: FacetItemModel) => {\n\t\t\t\titem.active = false;\n\t\t\t});\n\t\t}\n\t\titem && (item.active = value);\n\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [], currentPage: 1 });\n\t};\n\n\tconst handlePagination = (value: number) => {\n\t\tscrollToTop(tabletView ? 0 : 800);\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value });\n\t};\n\n\tconst itemArray = response?.items || items;\n\tconst paginationObject = response?.pagination || pagination;\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\t{heading &&\n\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theading\n\t\t\t\t\t\t)}\n\t\t\t\t\t{mobileView && text && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{filter &&\n\t\t\t\t\t\t\t\tfilter.facets &&\n\t\t\t\t\t\t\t\tfilter.facets.length > 0 &&\n\t\t\t\t\t\t\t\tfilter.facets.map((facet, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{facet.type === 'checkbox' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.name && {facet.name}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.items &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.items.length > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.items.map((item, key) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t) : facet.type === 'dropdown' ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.name && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.items && facet.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleFacet(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfacet.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{facet.items.map((item, key) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{!mobileView && text && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemArray && itemArray.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{itemArray\n\t\t\t\t\t\t\t\t\t.slice(0, pagination.display)\n\t\t\t\t\t\t\t\t\t.map((item: CisionPressReleaseItemModel, index: number) => (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default CisionPressReleaseListPage;\n","import CisionPressReleaseListPage from './CisionPressReleaseListPage';\n\nexport default CisionPressReleaseListPage;\n","import styled, { css } from 'styled-components';\nimport { Paragraph, H3Css } from 'components/ui/Typography';\nimport * as colors from 'theme/colors';\nimport { FiDownload, FiFile } from 'react-icons/fi';\nimport { blue, greyDarkest, greyDark, grey } from 'theme/colors';\nimport { spacing1x, spacing05x, spacing2x, spacing4x } from 'theme/spacings';\nimport { fontFamily } from 'theme/typography';\nimport { fontWeightMedium } from 'theme/typography';\nimport { deviceSmallMax, deviceMediumMax } from 'theme/mediaQueries';\nimport RichTextWrapper from 'components/ui/RichText';\nimport {\n\tFaFacebookF,\n\tFaTwitter,\n\tFaLinkedinIn,\n\tFaEnvelope,\n} from 'react-icons/fa';\nimport { FaXTwitter } from 'react-icons/fa6';\nconst SubHeadingCss = css`\n\t${H3Css};\n\tmargin: ${spacing4x} 0 ${spacing1x};\n\tcolor: ${blue};\n`;\n\nconst IconCss = `\ncolor: ${greyDarkest};\nbackground-color: ${grey};\nfont-size: 3.5rem;\npadding: ${spacing1x};\nmargin-left: ${spacing05x};\n\n:hover {\n\tbackground-color: ${greyDark};\n}\n\n@media (max-width: 520px) {\n\tmargin-left: 0;\n\tmargin-right: ${spacing05x};\n}\n`;\n\nexport const Container = styled.div`\n\twidth: 66%;\n\t@media (max-width: ${deviceMediumMax}) {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const SubHeading = styled.h2`\n\t${SubHeadingCss};\n`;\n\nexport const Label = styled.span`\n\tfont-family: ${fontFamily};\n\ttext-transform: uppercase;\n\tbackground-color: ${({ color }) =>\n\t\tcolor === 'orange' ? colors.orangeLight : colors[color]};\n\tcolor: ${colors.white};\n\tfont-size: 1.3rem;\n\tpadding: ${spacing05x} ${spacing1x};\n\tmargin-right: ${spacing1x};\n\tfont-weight: ${fontWeightMedium};\n`;\n\nexport const FacebookIcon = styled(FaFacebookF)`\n\t${IconCss};\n`;\n\nexport const TwitterIcon = styled(FaXTwitter)`\n\t${IconCss};\n`;\n\nexport const LinedInIcon = styled(FaLinkedinIn)`\n\t${IconCss};\n`;\n\nexport const EmailIcon = styled(FaEnvelope)`\n\t${IconCss};\n`;\n\nexport const Preamble = styled(Paragraph)`\n\tfont-weight: ${fontWeightMedium};\n\tfont-size: 2.2rem;\n\tline-height: 2.8rem;\n\tmargin-bottom: ${spacing4x};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n`;\n\nexport const RichText = styled(RichTextWrapper)`\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing05x} 0;\n\t}\n\n\th2 {\n\t\t${SubHeadingCss};\n\t}\n\n\tp {\n\t\tmargin: 0 0 ${spacing2x};\n\t}\n`;\n\nexport const Link = styled.a`\n\ttext-decoration: none;\n\tfont-size: 1.8rem;\n\tline-height: 2.6rem;\n\tcolor: ${blue};\n\t&:hover {\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const FileIcon = styled(FiFile)`\n\tvertical-align: middle;\n\tfont-size: 2.2rem;\n\tmargin-right: ${spacing2x};\n`;\n\nexport const DownloadIcon = styled(FiDownload)`\n\tvertical-align: middle;\n\tfont-size: 2.2rem;\n\tmargin-right: ${spacing2x};\n`;\n","/**\n * CisionPressReleasePage\n * @module pages/CisionPressReleasePage\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport ContentArea from 'components/framework/ContentArea';\nimport Layout from 'components/ui/Layout';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport { FiChevronsLeft } from 'react-icons/fi';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\tLabel,\n\tSubHeading,\n\tFacebookIcon,\n\tTwitterIcon,\n\tLinedInIcon,\n\tEmailIcon,\n\tPreamble,\n\tRichText,\n\tLink,\n\tFileIcon,\n\tContainer,\n\tDownloadIcon,\n} from './CisionPressReleasePage.styles';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport { CisionPressReleasePageModel } from 'types/page-types';\nimport Button from 'components/ui/Button';\n\nconst CisionPressReleasePage = ({\n\tbreadcrumbs,\n\theading,\n\tpreamble,\n\ttext,\n\tcontact,\n\tcompany,\n\thighlight,\n\tpublishDate,\n\timage,\n\tdocuments,\n\tmediaGallery,\n\treturnButton,\n\tcontentArea,\n\tisInEditMode,\n\tdownloadImageButton,\n}: CisionPressReleasePageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\tuseEffect(() => {\n\t\tsetWindowUrl(window.location.href);\n\t}, []);\n\n\tconst renderSocialLinks = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{highlight && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{publishDate && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{publishDate}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    {renderSocialLinks()}
    \n\t\t\t\t\t
    \n\t\t\t\t\t{image && image.src && image.sizes && image.sizes.length > 0 && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{preamble &&\n\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\t\tPreamble,\n\t\t\t\t\t\t\t{ size: 'large' },\n\t\t\t\t\t\t\tpreamble\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t{text && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{contact && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{company && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{documents && documents.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('cisionpressreleasepage/attachments')}\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t{documents.map((item, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t{mediaGallery && mediaGallery.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('cisionpressreleasepage/images')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{mediaGallery.map((image, index) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{image.webpSizes && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{image.sizes && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{downloadImageButton &&\n\t\t\t\t\t\t\t\tdownloadImageButton.link &&\n\t\t\t\t\t\t\t\tdownloadImageButton.text && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{downloadImageButton.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{returnButton.text}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default CisionPressReleasePage;\n","import CisionPressReleasePage from './CisionPressReleasePage';\n\nexport default CisionPressReleasePage;\n","/**\n * ReportBlock\n * @module components/ReportBlock\n */\n\nimport { ImageModel } from 'types/common';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\n\ninterface ReportBlockModel {\n\tmodelType: string;\n\theading: string;\n\tdate: string;\n\tname: string;\n\tlinkToPdf: string;\n\timage: ImageModel;\n\tbuttonText: string;\n\tbuttonLink: string;\n}\n\nconst ReportBlock = ({\n\theading,\n\tdate,\n\tname,\n\tlinkToPdf,\n\timage,\n\tbuttonText,\n\tbuttonLink,\n}: ReportBlockModel) => (\n\t
    \n\t\t{image && (\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t)}\n\t\t{heading && (\n\t\t\t
    \n\t\t\t\t{date && (\n\t\t\t\t\t

    {date}

    \n\t\t\t\t)}\n\t\t\t\t

    {heading}

    \n\t\t\t\t{name && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{name}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{buttonLink && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t)}\n\t
    \n);\n\nexport default ReportBlock;\n","import ReportBlock from './ReportBlock';\n\nexport default ReportBlock;\n","/**\n * ArchiveBlock\n */\n\nimport { Grid, Cell } from 'components/ui/Grid';\nimport Icon from 'components/ui/Icon';\n\ninterface Props {\n\t/** Array of reports */\n\treports: Array<{\n\t\tname: string;\n\t\tlinkToPdf: string;\n\t\tinformationType: string;\n\t}>;\n\n\t/** The heading/year of a report list */\n\tyear: string;\n\n\t/** Pass an optional className */\n\tclassName?: string;\n}\n\nconst ArchiveBlock = ({ reports, year, className }: Props): JSX.Element => (\n\t
    \n\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{year && (\n\t\t\t\t\t\t

    {year}

    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t\t{reports?.map((report, i) => {\n\t\t\t\t\tif (report.informationType !== 'RDV') {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{report.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t} else return null;\n\t\t\t\t})}\n\t\t\t\n\t\t\t\n\t\t\t\t{reports?.map((report, i) => {\n\t\t\t\t\tif (report.informationType === 'RDV') {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{report.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t} else return null;\n\t\t\t\t})}\n\t\t\t\n\t\t
    \n\t
    \n);\n\nexport default ArchiveBlock;\n","import ArchiveBlock from './ArchiveBlock';\n\nexport default ArchiveBlock;\n","import { LinkButton } from 'components/ui/Button/Button.styles';\nimport styled from 'styled-components';\nimport { spacing5x } from 'theme/spacings';\n\nexport const ButtonShowMore = styled(LinkButton)`\n\tmargin: ${spacing5x} 0;\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: white;\n\t}\n`;\n","/**\n * CisionFinancialReportsPage\n * @module pages/CisionFinancialReportsPage\n */\n\nimport React from 'react';\nimport Layout from 'components/ui/Layout';\nimport ReportBlock from 'components/common/ReportBlock';\nimport ArchiveBlock from 'components/common/ArchiveBlock';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport { ButtonShowMore } from './CisionFinancialReportsPage.styles';\n\nconst CisionFinancialReportsPage = ({\n\theading,\n\tlatestInterimReport,\n\tlatestAnnualReport,\n\tcisionFinancialReports,\n\tshowOlderReportsText,\n\tshowOlderReportsLink,\n\tbreadcrumbs,\n\tisInEditMode,\n}) => (\n\t
    \n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{latestInterimReport && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{latestAnnualReport && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\n\t\t\t{cisionFinancialReports &&\n\t\t\t\tObject.keys(cisionFinancialReports)\n\t\t\t\t\t.reverse()\n\t\t\t\t\t.map((year, i) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t{showOlderReportsLink && showOlderReportsText && (\n\t\t\t\t\n\t\t\t\t\t{showOlderReportsText}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t
    \n);\n\nexport default CisionFinancialReportsPage;\n","import CisionFinancialReportsPage from './CisionFinancialReportsPage';\n\nexport default CisionFinancialReportsPage;\n","import styled from 'styled-components';\nimport {\n\tFaFacebookF,\n\tFaTwitter,\n\tFaLinkedinIn,\n\tFaEnvelope,\n} from 'react-icons/fa';\nimport { FaXTwitter } from 'react-icons/fa6';\nimport { greyDarkest, greyDark, grey } from 'theme/colors';\nimport { spacing1x, spacing05x } from 'theme/spacings';\n\nconst IconCss = `\n color: ${greyDarkest};\n background-color: ${grey};\n font-size: 3.5rem;\n padding: ${spacing1x};\n margin-left: ${spacing05x};\n\n :hover {\n background-color: ${greyDark};\n }\n`;\n\nexport const FacebookIcon = styled(FaFacebookF)`\n\t${IconCss};\n`;\n\nexport const TwitterIcon = styled(FaXTwitter)`\n\t${IconCss};\n`;\n\nexport const LinkedInIcon = styled(FaLinkedinIn)`\n\t${IconCss};\n`;\n\nexport const EmailIcon = styled(FaEnvelope)`\n\t${IconCss};\n`;\n","/**\n * CisionOwnershipPage\n * @module pages/CisionOwnershipPage\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { LocalizationContext } from 'context/localization.context';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport {\n\tFacebookIcon,\n\tTwitterIcon,\n\tLinkedInIcon,\n\tEmailIcon,\n} from './CisionOwnershipPage.styles';\nimport ContentArea from 'components/framework/ContentArea';\nimport { CisionOwnerShipPageModel } from 'types/page-types';\n\nconst CisionOwnershipPage = (props: CisionOwnerShipPageModel) => {\n\tconst {\n\t\theading,\n\t\tisInEditMode,\n\t\tbreadcrumbs,\n\t\tcontentAreaTop,\n\t\tcontentAreaBottom,\n\t} = props;\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\tuseEffect(() => {\n\t\tsetWindowUrl(window.location.href);\n\t}, []);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('cisionownershippage/largestshareholders')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('cisionownershippage/largestgroupedshareholders')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('cisionownershippage/shareranges')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('cisionownershippage/geographicaldistribution')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default CisionOwnershipPage;\n","import CisionOwnershipPage from './CisionOwnershipPage';\n\nexport default CisionOwnershipPage;\n","/**\n * CalendariumListPage\n * @module pages/CalendariumListPage\n */\n\nimport { useState, useContext, useEffect } from 'react';\nimport Layout from 'components/ui/Layout';\nimport AddToCalendar from 'react-add-to-calendar';\nimport moment from 'moment-timezone';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { LocalizationContext } from 'context/localization.context';\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\nimport { CalendariumListPageModel } from 'types/page-types';\n\nlet hasRendered = false;\n\nconst CalendariumListPage = ({\n\theading,\n\tcalendarium,\n\tbreadcrumbs,\n\tisInEditMode,\n\tpreamble,\n}: CalendariumListPageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\n\tuseEffect(() => {\n\t\tif (!hasRendered) hasRendered = true;\n\t\tif (window && window.location && window.location.href) {\n\t\t\tsetWindowUrl(window.location.href);\n\t\t}\n\t}, []);\n\tconst [isActive, setIsActive] = useState(\n\t\tcalendarium && calendarium.length > 0 && calendarium[0].id\n\t);\n\n\tconst renderAddToCalendar = (\n\t\theading: string,\n\t\titemPreamble: string,\n\t\tstartTime: string,\n\t\tendTime: string,\n\t\tlocation: string,\n\t\ttext: string\n\t) => {\n\t\tconst formattedStartTime = moment(startTime).format();\n\t\tconst formattedEndTime = moment(endTime).format();\n\n\t\tconst event = {\n\t\t\ttitle: heading,\n\t\t\tdescription: itemPreamble,\n\t\t\tlocation: location,\n\t\t\tstartTime: formattedStartTime,\n\t\t\tendTime: formattedEndTime,\n\t\t};\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t{hasRendered && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{preamble}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{calendarium &&\n\t\t\t\t\t\t\tcalendarium.length > 0 &&\n\t\t\t\t\t\t\tcalendarium.map((list, index) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t setIsActive(list.id)}\n\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\tisActive === list.id && 'calendar-tab-active',\n\t\t\t\t\t\t\t\t\t\t\t'relative py-4 px-5 text-p focus:outline-none'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{list.heading}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t
    \n\t\t\t\t\t{calendarium &&\n\t\t\t\t\t\tcalendarium.length > 0 &&\n\t\t\t\t\t\tcalendarium.map((list, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{list.items &&\n\t\t\t\t\t\t\t\t\tlist.items.length > 0 &&\n\t\t\t\t\t\t\t\t\tlist.items.map((item, i) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.eventMonthFormatted}\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.eventDayFormatted}\n\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.eventDateFormatted}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.heading}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.preamble}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.addToCalendarStartDate &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.addToCalendarEndDate &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderAddToCalendar(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.heading,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.preamble,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.addToCalendarStartDate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.addToCalendarEndDate,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.addToCalendarLocation,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.addToCalendarText\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default CalendariumListPage;\n","import CalendariumListPage from './CalendariumListPage';\n\nexport default CalendariumListPage;\n","/**\n * CalendariumPage\n * @module pages/CalendariumPage\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { renderElementBasedOnEditMode } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\n\nimport Icon from 'components/ui/Icon';\nimport { CalendariumPageModel } from 'types/page-types';\nimport Button from 'components/ui/Button';\nimport RichText from 'components/ui/RichText';\n\nconst CalendariumPage = ({\n\tbreadcrumbs,\n\theading,\n\tpreamble,\n\ttext,\n\teventDateFormatted,\n\tbackToCalendariumListPageText,\n\tlinkToCalendariumListPage,\n\tisInEditMode,\n}: CalendariumPageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\tuseEffect(() => {\n\t\tsetWindowUrl(window.location.href);\n\t}, []);\n\n\tconst renderSocialLinks = () => {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t};\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t{heading &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'font-standard mb-6 mt-2 font-regular text-h2 md:mt-8 md:text-h1 text-blue',\n\t\t\t\t\t\t},\n\t\t\t\t\t\theading\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{eventDateFormatted && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{eventDateFormatted}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    {renderSocialLinks()}
    \n\t\t\t\t
    \n\t\t\t\t{preamble &&\n\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\tisInEditMode,\n\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsize: 'large',\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t'md:w-2/3 font-medium w-full text-4xl leading-10 mb-10 mt-5',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpreamble\n\t\t\t\t\t)}\n\n\t\t\t\t{text && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{backToCalendariumListPageText}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default CalendariumPage;\n","import CalendariumPage from './CalendariumPage';\n\nexport default CalendariumPage;\n","import styled from 'styled-components';\nimport {\n\tFaFacebookF,\n\tFaTwitter,\n\tFaLinkedinIn,\n\tFaEnvelope,\n} from 'react-icons/fa';\nimport { FaXTwitter } from 'react-icons/fa6';\nimport { greyDarkest, greyDark, grey, blue, orange } from 'theme/colors';\nimport { spacing05x, spacing1x, spacing2x, spacing5x } from 'theme/spacings';\nimport RichTextWrapper from 'components/ui/RichText';\nimport { Paragraph } from 'components/ui/Typography';\nimport { FiSquare, FiCheckSquare } from 'react-icons/fi';\nimport { buttonBaseStyle } from 'components/ui/Button/Button.styles';\n\nconst IconCss = `\n color: ${greyDarkest};\n background-color: ${grey};\n font-size: 3.5rem;\n padding: ${spacing1x};\n margin-left: ${spacing05x};\n\n :hover {\n background-color: ${greyDark};\n }\n`;\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\n\t@media (max-width: 500px) {\n\t\tdisplay: block;\n\t\tmargin-bottom: ${spacing2x};\n\t}\n`;\n\nexport const SocialWrapper = styled.div`\n\tdisplay: flex;\n\tpadding-top: ${spacing5x};\n\n\t@media (max-width: 755px) {\n\t\tpadding-top: 4rem;\n\t\tpadding-left: ${spacing2x};\n\t}\n\t@media (max-width: 500px) {\n\t\tpadding-top: 0;\n\t}\n`;\n\nexport const FacebookIcon = styled(FaFacebookF)`\n\t${IconCss};\n`;\n\nexport const TwitterIcon = styled(FaXTwitter)`\n\t${IconCss};\n`;\n\nexport const LinkedInIcon = styled(FaLinkedinIn)`\n\t${IconCss};\n`;\n\nexport const EmailIcon = styled(FaEnvelope)`\n\t${IconCss};\n`;\n\nexport const RichText = styled(RichTextWrapper)`\n\tmax-width: 100%;\n`;\n\nexport const SquareIcon = styled(FiSquare)`\n\tcolor: ${greyDarkest};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\nexport const SquareCheckIcon = styled(FiCheckSquare)`\n\tdisplay: none;\n\tcolor: ${blue};\n\tmargin-top: 0.1rem;\n\tposition: absolute;\n\tleft: 0;\n`;\nexport const Checkbox = styled.input`\n\topacity: 0;\n\tposition: relative;\n\n\t:checked + ${SquareIcon} {\n\t\tdisplay: none;\n\t}\n\n\t:checked ~ ${SquareCheckIcon} {\n\t\tdisplay: inline-block;\n\t}\n`;\nexport const CheckboxWrapper = styled.label`\n\tmargin-top: ${spacing05x};\n\tdisplay: flex;\n\tcursor: pointer;\n\tposition: relative;\n`;\n\nexport const CheckText = styled(Paragraph)`\n\tmargin-top: 0;\n\tmargin-left: ${spacing2x};\n`;\n\nexport const Button = styled.button`\n\t${buttonBaseStyle};\n\tbackground-color: ${orange};\n\tmargin: ${spacing2x} 0;\n`;\n","/**\n * SubscribePage\n * @module pages/SubscribePage\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { LocalizationContext } from 'context/localization.context';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport {\n\tWrapper,\n\tSocialWrapper,\n\tFacebookIcon,\n\tTwitterIcon,\n\tLinkedInIcon,\n\tEmailIcon,\n\tRichText,\n\tCheckboxWrapper,\n\tSquareIcon,\n\tSquareCheckIcon,\n\tCheckbox,\n\tCheckText,\n\tButton,\n} from './SubscribePage.styles';\n\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport Icon from 'components/ui/Icon';\nimport { SubscribePageModel } from 'types/page-types';\n\nconst SubscribePage = ({\n\theading,\n\tbreadcrumbs,\n\tpreamble,\n\ttext,\n\tisInEditMode,\n}: SubscribePageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [windowUrl, setWindowUrl] = useState('');\n\tuseEffect(() => {\n\t\tsetWindowUrl(window.location.href);\n\t}, []);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t{preamble}\n\t\t\t\t\t\t

    \n\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/choosetypeofpressrelease')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/reports')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('subscribepage/pressreleases')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('subscribepage/newsletters')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/chooselanguage')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/english')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/swedish')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/name')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/company')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/email')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('subscribepage/subscribe')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('subscribepage/congratulations')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    {t('subscribepage/congratulationstext')}

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\t{t('subscribepage/error')}\n\t\t\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t

    {t('subscribepage/errortext')}

    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default SubscribePage;\n","import SubscribePage from './SubscribePage';\n\nexport default SubscribePage;\n","import styled from 'styled-components';\nimport { spacing2x } from 'theme/spacings';\n\nexport const Wrapper = styled.div`\n\tdisplay: flex;\n\n\t@media (max-width: 500px) {\n\t\tdisplay: block;\n\t\tmargin-bottom: ${spacing2x};\n\t}\n`;\n\nexport const Header = styled.div`\n\twidth: 100%;\n`;\n","/**\n * StockDiagramPage\n * @module pages/StockDiagramPage\n */\n\nimport React from 'react';\nimport Layout from 'components/ui/Layout';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport { Grid, Cell } from 'components/ui/Grid';\nimport { Header } from './CisionStockDiagramPage.styles';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport Icon from 'components/ui/Icon';\nconst StockDiagramPage = (props) => {\n\tconst { heading, breadcrumbs, inEditMode } = props;\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default StockDiagramPage;\n","import CisionStockDiagramPage from './CisionStockDiagramPage';\n\nexport default CisionStockDiagramPage;\n","/**\n * ProductMatrix\n */\n\nimport Tooltip from 'components/ui/Tooltip';\nimport React from 'react';\nimport { ProductMatrixPropertyModel } from 'types/matrix-types';\nimport { ImageModel } from 'types/common';\n\ninterface Props {\n\t/** Heading for productMatrix */\n\theading: string;\n\n\t/** Image for the article */\n\timage: ImageModel;\n\n\t/** Optional text for productMatrix */\n\ttext?: string;\n\n\t/** Help text for productMatrix */\n\thelpText?: string;\n\n\t/** Array with table headers */\n\tproperties: ProductMatrixPropertyModel[];\n\n\t/** Table row/rows */\n\tchildren: JSX.Element | JSX.Element[];\n}\n\n/** Main description for this component. */\nconst ProductMatrix = ({\n\theading,\n\timage,\n\ttext,\n\thelpText,\n\tproperties,\n\tchildren,\n}: Props): JSX.Element => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t{/* \n\t\t\t\t\t\n\t\t\t\t\t\t{properties.map((header, index) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{header.translation}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t */}\n\t\t\t\t{children}\n\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{image && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t{helpText && {helpText}}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{text && (\n\t\t\t\t\t\t{text}\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default ProductMatrix;\n","/**\n * ProductMatrixRow\n */\n\nimport { usePrevious } from 'hooks';\nimport React, { useEffect, useState } from 'react';\nimport {\n\tProductMatrixPropertyModel,\n\tProductMatrixRowModel,\n} from 'types/matrix-types';\n\ninterface Props {\n\t/** An article row */\n\trow: ProductMatrixRowModel;\n\n\t/** Array with table headers */\n\theaders: ProductMatrixPropertyModel[];\n\n\tvisibleColumns: string[];\n\n\t/** Callback function for quantity change */\n\tonBlur: Function;\n}\n\n/** Main description for this component. */\nconst ProductMatrixRow = ({\n\trow,\n\theaders,\n\tvisibleColumns,\n\tonBlur,\n}: Props): JSX.Element => {\n\t// Store quantity value when on change\n\tconst [displayQuantity, setDisplayQuantity] = useState(row.quantity);\n\n\t// Store quantity value when on blur\n\tconst [blurQuantity, setBlurQuantity] = useState(row.quantity);\n\n\t// Get previous on blur quantity value\n\tconst previousBlurQuantity = usePrevious(blurQuantity);\n\n\tconst handleQuantityChange = (e: any) => {\n\t\tlet value: number = parseInt(e.target.value);\n\n\t\tsetDisplayQuantity(value);\n\t};\n\tconst handleOnBlur = (e: any) => {\n\t\tlet currentValue: number = displayQuantity;\n\t\tif (currentValue < 0 || isNaN(currentValue)) {\n\t\t\tcurrentValue = 0;\n\t\t}\n\t\tif (currentValue !== previousBlurQuantity) {\n\t\t\tonBlur(row.articleNumber, row.source, previousBlurQuantity, currentValue);\n\t\t}\n\t\tsetDisplayQuantity(currentValue);\n\t\tsetBlurQuantity(currentValue);\n\t};\n\n\tconst getColSpan = () => {\n\t\tlet name = visibleColumns?.includes('name');\n\t\tlet articleNumber = visibleColumns?.includes('articleNumber');\n\n\t\tif (name && articleNumber) return 3;\n\t\telse if (!name && !articleNumber) return 5;\n\t\telse return 4;\n\t};\n\n\tconst renderColumn = (column: string) => {\n\t\tlet isVisible = visibleColumns?.includes(column);\n\n\t\tswitch (column) {\n\t\t\tcase 'name':\n\t\t\tcase 'articleNumber':\n\t\t\t\tif (isVisible) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{(row as any)[column]}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'customizedText':\n\t\t\t\tif ((row as any)[column]) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isVisible && (row as any)[column]}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'dimension':\n\t\t\tcase 'length':\n\t\t\tcase 'material':\n\t\t\t\tif (!(row as any)['customizedText']) {\n\t\t\t\t\tif (isVisible) {\n\t\t\t\t\t\treturn {(row as any)[column]};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'quantity':\n\t\t\t\tlet hiddenColumns = headers?.length - visibleColumns?.length;\n\t\t\t\tif (!visibleColumns?.includes('customizedText')) {\n\t\t\t\t\thiddenColumns = hiddenColumns - 1;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{!(row as any)['customizedText'] && hiddenColumns > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tsetDisplayQuantity(row.quantity);\n\t\tsetBlurQuantity(row.quantity);\n\t}, [row]);\n\n\treturn (\n\t\t\n\t\t\t{headers?.map((column, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{renderColumn(column.name)}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t);\n};\n\nexport default ProductMatrixRow;\n","/**\n * OrderMatrixPage\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport {\n\tOrderMatrixLandingPageModel,\n\tOrderMatrixTabPageModel,\n} from 'types/page-types';\n\nimport {\n\tOrderMatrixSectionBlockModel,\n\tOrderMatrixProductBlockModel,\n} from 'types/block-types';\n\nimport { ProductMatrixRowModel } from 'types/matrix-types';\n\nimport { ErrorObjectModel, LinkModel } from 'types/common';\n\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport SectionHeader from 'components/ui/SectionHeader';\nimport clsx from 'clsx';\nimport {\n\tCategoryList,\n\tCategoryListItem,\n} from 'components/framework/CategoryList';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport {\n\tProductMatrix,\n\tProductMatrixRow,\n} from 'components/framework/ProductMatrix';\nimport Button from 'components/ui/Button';\nimport Icon from 'components/ui/Icon';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n\tChangeTab,\n\tUpdateActiveTabQuantity,\n\tselectOrderMatrixData,\n\tUpdateTotalQuantity,\n\tselectOrderMatrixObject,\n\tAddToOrderMatrixCart,\n\tClearOrderMatrix,\n\tAddAllToCart,\n} from 'store/modules/ordermatrix';\nimport { GenericWarning, getURLParameter, ServerError } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport { toast } from 'react-toastify';\nimport { FetchCart } from 'store/modules/cart';\nimport AlertModal from 'components/ui/AlertModal';\nlet articleList: { itemCode: string; source: string; quantity: number }[] = [];\n\nconst OrderMatrixPage = ({\n\theading,\n\ttext,\n\tbreadcrumbs,\n\tclearButton,\n\texportLinks,\n\taddAllToCartButton,\n}: OrderMatrixLandingPageModel) => {\n\tconst [clearArticlesModalOpen, setClearArticlesModalOpen] = useState(false);\n\n\tconst { activeTabObj, totalQuantity, activeTabQuantity } = useSelector(\n\t\tselectOrderMatrixData\n\t);\n\tconst {\n\t\tcartStatus,\n\t\terrorList,\n\t\tproperties,\n\t\torderMatrixTabPages,\n\t} = useSelector(selectOrderMatrixObject);\n\n\tconst dispatch = useDispatch();\n\tconst { t } = useContext(LocalizationContext);\n\n\tconst handleScrollTo = (e: any) => {\n\t\te.preventDefault();\n\t\tconst targetId = e.currentTarget?.href.split('#')[1];\n\t\tconst targetElement = document.getElementById(targetId);\n\n\t\tif (targetElement) {\n\t\t\twindow?.scroll({\n\t\t\t\ttop: targetElement.offsetTop,\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\n\t\t\twindow?.history?.pushState(\n\t\t\t\t{},\n\t\t\t\tdocument.title,\n\t\t\t\t`${window?.location?.pathname}#${targetId}`\n\t\t\t);\n\t\t}\n\t};\n\n\tconst handleQuantityChange = async (\n\t\titemCode: string,\n\t\tsource: string,\n\t\tpreviousQuantity: number,\n\t\tquantity: number\n\t) => {\n\t\ttry {\n\t\t\tconst articles = [\n\t\t\t\t{\n\t\t\t\t\titemCode: itemCode,\n\t\t\t\t\tquantity: quantity,\n\t\t\t\t\tsource: source,\n\t\t\t\t},\n\t\t\t];\n\t\t\tawait dispatch(\n\t\t\t\tAddToOrderMatrixCart(\n\t\t\t\t\tpreviousQuantity === 0 && quantity > 0 ? 'POST' : 'PATCH',\n\t\t\t\t\tarticles\n\t\t\t\t)\n\t\t\t);\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t}\n\n\t\tconst articleIndex = articleList.findIndex(\n\t\t\t(article) => article.itemCode === itemCode && article.source === source\n\t\t);\n\n\t\tif (articleIndex > -1 && quantity > 0) {\n\t\t\tarticleList[articleIndex].quantity = quantity;\n\t\t}\n\t\t// Remove article when quantity = 0\n\t\telse if (articleIndex > -1 && quantity === 0) {\n\t\t\tarticleList.splice(articleIndex, 1);\n\t\t} else {\n\t\t\tarticleList.push({\n\t\t\t\titemCode: itemCode,\n\t\t\t\tsource: source,\n\t\t\t\tquantity: quantity,\n\t\t\t});\n\t\t}\n\n\t\tdispatch(UpdateActiveTabQuantity(articleList));\n\t\tdispatch(UpdateTotalQuantity());\n\t};\n\n\tconst requestArticleList = () => {\n\t\tarticleList = [];\n\t\tactiveTabObj?.orderMatrixSectionBlocks?.forEach(\n\t\t\t(section: OrderMatrixSectionBlockModel) => {\n\t\t\t\tsection.orderMatrixProductBlocks?.forEach(\n\t\t\t\t\t(block: OrderMatrixProductBlockModel) => {\n\t\t\t\t\t\tblock.articles\n\t\t\t\t\t\t\t?.filter((x: ProductMatrixRowModel) => x.quantity > 0)\n\t\t\t\t\t\t\t.forEach((article) => {\n\t\t\t\t\t\t\t\tarticleList.push({\n\t\t\t\t\t\t\t\t\titemCode: article.articleNumber,\n\t\t\t\t\t\t\t\t\tsource: article.source,\n\t\t\t\t\t\t\t\t\tquantity: article.quantity,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t};\n\n\tconst handleChangeTab = async (selectedTab: string) => {\n\t\tconst tabDefault = getURLParameter('tab') || activeTabObj?.id;\n\t\tif (selectedTab && selectedTab !== tabDefault) {\n\t\t\twindow?.history?.pushState(\n\t\t\t\t{},\n\t\t\t\tdocument.title,\n\t\t\t\t`${window?.location?.pathname}?tab=${selectedTab}`\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\tawait dispatch(ChangeTab(window?.location?.pathname, selectedTab));\n\t\t\t} catch (err) {\n\t\t\t\tconsole.log(err);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleClearArticles = async () => {\n\t\ttry {\n\t\t\tawait dispatch(\n\t\t\t\tClearOrderMatrix(`${clearButton.link}?tab=${activeTabObj?.id}`)\n\t\t\t);\n\t\t\ttoast(t('ordermatrixlandingpage/articleshasbeencleared'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/servererror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t} finally {\n\t\t\tsetClearArticlesModalOpen(false);\n\t\t}\n\t};\n\n\tconst handleAddToCart = async () => {\n\t\ttry {\n\t\t\tawait dispatch(\n\t\t\t\tAddAllToCart(`${addAllToCartButton.link}?tab=${activeTabObj?.id}`)\n\t\t\t);\n\t\t\tawait dispatch(FetchCart());\n\t\t\ttoast(t('ordermatrixlandingpage/alladdedtocartmessage'), {\n\t\t\t\ttype: toast.TYPE.SUCCESS,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tif (err instanceof ServerError) {\n\t\t\t\ttoast(t('shared/toast/cartupdateerror'), { type: toast.TYPE.ERROR });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { type: toast.TYPE.WARNING });\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\trequestArticleList();\n\t\t//eslint-disable-next-line\n\t}, [orderMatrixTabPages]);\n\n\tuseEffect(() => {\n\t\tif (cartStatus === 'invalid' && errorList && errorList?.length > 0) {\n\t\t\terrorList?.forEach((error: ErrorObjectModel) => {\n\t\t\t\tconst errormsg = `Error ${error.errorCode} - ${error.message}`;\n\t\t\t\ttoast(errormsg, {\n\t\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [cartStatus]);\n\n\tconst handleScroll = () => {\n\t\tconst stickyBar = document?.getElementById('stickyBar');\n\t\tconst main = document?.getElementById('main-content');\n\n\t\tif (main && stickyBar) {\n\t\t\tif (\n\t\t\t\twindow.pageYOffset + window.innerHeight - stickyBar.offsetHeight <=\n\t\t\t\tmain.offsetHeight + stickyBar.offsetHeight\n\t\t\t) {\n\t\t\t\tstickyBar.classList.add('sticky');\n\t\t\t} else {\n\t\t\t\tstickyBar.classList.remove('sticky');\n\t\t\t}\n\t\t}\n\t};\n\tuseEffect(() => {\n\t\twindow.addEventListener('scroll', handleScroll);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('scroll', handleScroll);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{orderMatrixTabPages?.map(\n\t\t\t\t\t\t\t\t(tab: OrderMatrixTabPageModel, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t handleChangeTab(tab.id)}\n\t\t\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\t\ttab.isActive && 'calendar-tab-active',\n\t\t\t\t\t\t\t\t\t\t\t\t'relative py-4 px-5 text-p'\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{tab.heading}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{tab.isActive ? activeTabQuantity : tab.quantity}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{activeTabObj?.orderMatrixSectionBlocks?.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tsection: OrderMatrixSectionBlockModel,\n\t\t\t\t\t\t\t\t\t\t\tsectionIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{activeTabObj?.orderMatrixSectionBlocks?.map(\n\t\t\t\t\t\t\t(section: OrderMatrixSectionBlockModel, sectionIndex: number) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{section.heading}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{section.orderMatrixProductBlocks?.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tblock: OrderMatrixProductBlockModel,\n\t\t\t\t\t\t\t\t\t\t\tblockIndex: number\n\t\t\t\t\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{block.articles.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem: ProductMatrixRowModel,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titemIndex: number\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{totalQuantity > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t handleScrollTo(e)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('ordermatrixlandingpage/totop')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{totalQuantity > 0 && (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tsetClearArticlesModalOpen(true);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{clearButton?.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{exportLinks?.map((exportLink: LinkModel, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{exportLink?.text}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{t('ordermatrixlandingpage/total')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{totalQuantity}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('ordermatrixlandingpage/articlesselected')}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{addAllToCartButton && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{addAllToCartButton.text}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
    \n\t\t\t{clearArticlesModalOpen && (\n\t\t\t\t setClearArticlesModalOpen(false)}\n\t\t\t\t\tonClick={handleClearArticles}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default OrderMatrixPage;\n","import OrderMatrixLandingPage from './OrderMatrixLandingPage';\n\nexport default OrderMatrixLandingPage;\n","/**\n * ProductDetailPage\n * @module pages/ProductDetailPage\n */\n\nimport { useFilterSearch } from 'api';\nimport clsx from 'clsx';\nimport {\n\tcomposeQueryString,\n\trenderElementBasedOnEditMode,\n\tsetUrlLocation,\n} from 'common/helpers';\nimport Breadcrumbs from 'components/framework/Breadcrumbs';\nimport FilterFieldSet from 'components/framework/FilterFieldSet';\nimport { LocalizationContext } from 'context/localization.context';\nimport Icon from 'components/ui/Icon';\nimport Layout from 'components/ui/Layout/Layout';\nimport { usePopState } from 'hooks/usePopState';\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport { useReducer } from 'react';\nimport listFilterReducer from 'reducers/listFilterReducer';\nimport {\n\tFacetItemModel,\n\tFacetsItemModel,\n\tFilterStateAction,\n} from 'types/filter-types';\n\nimport { DocumentSearchPageModel } from 'types/page-types';\n\nimport { SearchDocumentModel } from 'types/common';\n\nimport Button from 'components/ui/Button';\nimport { iconTypes } from 'components/ui/Icon/Icon';\nimport { Cell, Grid } from 'components/ui/Grid';\nimport ContentArea from 'components/framework/ContentArea';\nimport RichText from 'components/ui/RichText';\n\nconst DocumentSearchPage = ({\n\tbreadcrumbs,\n\tpagination,\n\tdocuments,\n\tfilter,\n\theading,\n\tpreamble,\n\ttext,\n\tcontentArea,\n}: DocumentSearchPageModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [sortBy, setSortBy] = useState('');\n\t// const [showMoreActive, setShowMoreActive] = useState(false);\n\tconst [searchTerm, setSearchTerm] = useState((filter && filter.query) || '');\n\tconst [sortConfig, setSortConfig] = useState({\n\t\tname: 'Desc',\n\t\tentryname: 'Desc',\n\t\tdocumenttype: 'Desc',\n\t\tdocumentformat: 'Desc',\n\t});\n\tconst [expandedArray, setExpandedArray] = useState([]);\n\tconst [query, setQuery] = useState(null);\n\tconst [documentArray, setDocuments] = useState(documents);\n\tconst [response, error, loading] = useFilterSearch(\n\t\tquery,\n\t\twindow && window.location ? window.location.pathname : null,\n\t\tfalse,\n\t\ttrue\n\t);\n\n\t// Handle filter, query and pagination.\n\tconst [state, dispatch] = useReducer(listFilterReducer, {\n\t\tsortBy: filter.sortBy,\n\t\tdisplay: pagination.display,\n\t\tquery: filter.query,\n\t\tcurrentPage: pagination.currentPage,\n\t\tgroup: filter.group,\n\t\tfacets: filter.facets,\n\t\tsortDir: filter.sortDir,\n\t});\n\n\tconst handleSort = (id: string, sortDir: string = 'Asc') => {\n\t\tsetSortBy(id);\n\t\tdispatch({\n\t\t\ttype: 'SORT_BY',\n\t\t\tsortBy: id,\n\t\t\tsortDir: sortDir,\n\t\t} as FilterStateAction);\n\t\tsortConfig[id] = sortDir === 'Asc' ? 'Desc' : 'Asc';\n\t\tsetSortConfig(sortConfig);\n\t};\n\n\tlet didRender = useRef(false);\n\tconst preventHistoryEntry = useRef(false);\n\n\tconst popState = usePopState(state);\n\tconst popStateString = JSON.stringify(popState);\n\tuseEffect(() => {\n\t\tif (popState) {\n\t\t\tdispatch({ type: 'SET_STATE', payload: popState });\n\t\t\tpreventHistoryEntry.current = true;\n\t\t}\n\t}, [popState, popStateString]);\n\n\tuseEffect(() => {\n\t\tconst hasRendered = didRender.current;\n\t\tconst queryString = composeQueryString(\n\t\t\tstate.query,\n\t\t\tstate.sortBy,\n\t\t\tstate.display,\n\t\t\tstate.currentPage,\n\t\t\tstate.facets,\n\t\t\tstate.group,\n\t\t\tstate.sortDir\n\t\t);\n\t\t// Only set the query to fetch new data if it's not the first render.\n\t\tdidRender.current\n\t\t\t? setQuery(queryString ? queryString : null)\n\t\t\t: (didRender.current = !didRender.current);\n\t\tif (queryString !== query) {\n\t\t\tsetUrlLocation(\n\t\t\t\tqueryString,\n\t\t\t\tstate.query,\n\t\t\t\tstate.sortBy,\n\t\t\t\tstate.display,\n\t\t\t\tstate.currentPage,\n\t\t\t\tstate.facets,\n\t\t\t\tnull,\n\t\t\t\tstate.sortDir,\n\t\t\t\thasRendered,\n\t\t\t\tpreventHistoryEntry.current\n\t\t\t);\n\t\t}\n\t}, [query, state]);\n\n\tuseEffect(() => {\n\t\tif (response && response?.documents) {\n\t\t\tsetDocuments([...response?.documents]);\n\t\t}\n\n\t\tif (response && response.filter && response.filter.facets) {\n\t\t\tdispatch({ type: 'FACETS', facets: response.filter.facets });\n\t\t}\n\n\t\tif (response && response.filter && response.filter.query) {\n\t\t\tdispatch({ type: 'QUERY', query: response.filter.query });\n\t\t}\n\t}, [response]);\n\n\tconst handleFacet = (\n\t\tfacetId: string,\n\t\titemId: string,\n\t\tvalue: any,\n\t\tisSelect = false\n\t) => {\n\t\tconst facet = state.facets?.find((f: FacetsItemModel) => f.id === facetId);\n\t\tconst item = facet?.items.find((i: FacetItemModel) => i.id === itemId);\n\n\t\tif (isSelect) {\n\t\t\tfacet?.items.forEach((item: FacetItemModel) => {\n\t\t\t\titem.active = false;\n\t\t\t});\n\t\t}\n\t\titem && (item.active = value);\n\t\tdispatch({ type: 'FACETS', facets: state.facets ?? [], currentPage: 1 });\n\t};\n\n\tconst handleShowMoreClick = (value: number) => {\n\t\tdispatch({ type: 'CURRENT_PAGE', currentPage: value });\n\t};\n\n\tconst handleSearchOnChange = (e: React.ChangeEvent) => {\n\t\tsetSearchTerm(e.target.value);\n\t};\n\n\tconst handleSearch = (value: string) => {\n\t\tif (state.query !== value) {\n\t\t\tdispatch({ type: 'QUERY', query: value });\n\t\t}\n\t};\n\n\tconst paginationObject = response?.pagination || pagination;\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{breadcrumbs && }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{heading &&\n\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t\t\t'h1',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t'font-standard mb-6 mt-8 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\theading\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t{preamble &&\n\t\t\t\t\t\t\trenderElementBasedOnEditMode(\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t'preamble',\n\t\t\t\t\t\t\t\t'p',\n\t\t\t\t\t\t\t\t{ className: 'mb-8 font-medium text-p' },\n\t\t\t\t\t\t\t\tpreamble\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{t('documentsearchpage/searchfordocument')}\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (e.keyCode === 13 && handleSearch) {\n\t\t\t\t\t\t\t\t\thandleSearch && handleSearch(searchTerm);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\tonChange={(e) => handleSearchOnChange(e)}\n\t\t\t\t\t\t\tplaceholder={t('searchpage/searchfieldplaceholder')}\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t'pt-3 pb-3 pl-12 w-full md:pr-6 h-12 rounded border border-greyDark'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid=\"document-search-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('documentsearchpage/filtering')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{state.facets &&\n\t\t\t\t\t\t\t\tstate.facets.map((fieldset: FacetsItemModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.type === 'dropdown' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t 3 && 'mt-4',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(i + 1) % 3 !== 0 && 'md:pr-4'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.name && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.items && fieldset.items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t): void =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleFacet(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfieldset.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst expandArray = expandedArray.find(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ea: any) => ea === fieldset.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? expandedArray.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(i: any) => i !== fieldset.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: [...expandedArray, fieldset.id];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetExpandedArray(expandArray);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetExpandedArray(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texpandedArray.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(i: any) => i !== fieldset.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.items.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(item: FacetItemModel, key: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t i === fieldset.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'down'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'up'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-5 right-5 pointer-events-none\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{fieldset.type === 'checkbox' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{!loading && error && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t

    {t('shared/filter/errormessage')}

    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleSort('entryname', sortConfig.entryname)}\n\t\t\t\t\t\t\t\tclassName=\"border-r-1 border-grey bg-blue text-white text-p p-4 cursor-pointer relative hover:underline max-w-75\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('documentsearchpage/productvariant')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleSort('name', sortConfig.name)}\n\t\t\t\t\t\t\t\tclassName=\"border-r-1 border-grey bg-blue text-white text-p p-4 cursor-pointer relative hover:underline max-w-75\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('documentsearchpage/document')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\thandleSort('documenttype', sortConfig.documenttype)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"border-r-1 border-grey bg-blue text-white text-p p-4 cursor-pointer relative hover:underline max-w-75\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('documentsearchpage/doctype')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\thandleSort('documentformat', sortConfig.documentformat)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"border-r-1 border-grey bg-blue text-white text-p p-4 cursor-pointer relative hover:underline max-w-75\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('documentsearchpage/format')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t\tdocumentArray\n\t\t\t\t\t\t\t\t?.filter((sd: SearchDocumentModel) => sd !== undefined)\n\t\t\t\t\t\t\t\t.map((d: SearchDocumentModel, i: number) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{t('documentsearchpage/size')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('documentsearchpage/download')}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{d.entryName}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{d.name}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{d.type}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{d.size}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{d.format}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{d.name}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t{loading && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t{paginationObject.pageCount > 1 &&\n\t\t\t\t\t\t\tpaginationObject.currentPage < paginationObject.pageCount && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thandleShowMoreClick(paginationObject.currentPage + 1)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{t('documentsearchpage/loadmore')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default DocumentSearchPage;\n","import DocumentSearchPage from './DocumentSearchPage';\n\nexport default DocumentSearchPage;\n","import React from 'react';\nimport ArticlePage from './ArticlePage';\nimport StartPage from './StartPage';\nimport CatalogPage from './CatalogPage';\nimport ErrorPage404 from './ErrorPage404';\nimport ProductDivisionPage from './ProductDivisionPage';\nimport ProductCategoryPage from './ProductCategoryPage';\nimport ProductDetailPage from './ProductDetailPage';\nimport CheckoutPage from './CheckoutPage';\nimport CartPage from './CartPage';\nimport OrderConfirmationPage from './OrderConfirmationPage';\nimport LoginPage from './LoginPage';\nimport SearchPage from './SearchPage';\nimport MyPage from './MyPage';\nimport MyProjectsPage from './MyProjectsPage';\nimport MyAccountPage from './MyAccountPage';\nimport MyAddressesPage from './MyAddressesPage';\nimport OrderDetailsPage from './OrderDetailsPage';\nimport QuotationDetailsPage from './QuotationDetailsPage';\nimport MyNewsDeskItemPage from './MyNewsDeskItemPage';\nimport MyNewsDeskListPage from './MyNewsDeskListPage';\nimport OrderHistoryPage from './OrderHistoryPage';\nimport QuotationHistoryPage from './QuotationHistoryPage';\nimport SavedCartPage from './SavedCartPage';\nimport MySavedCartsPage from './MySavedCartsPage';\nimport ContactPage from './ContactPage';\nimport ForgotPasswordPage from './ForgotPasswordPage';\nimport ResetPasswordPage from './ResetPasswordPage';\nimport CisionPressReleaseListPage from './CisionPressReleaseListPage';\nimport CisionPressReleasePage from './CisionPressReleasePage';\nimport CisionFinancialReportsPage from './CisionFinancialReportsPage';\nimport CisionOwnershipPage from './CisionOwnershipPage';\nimport CalendariumListPage from './CalendariumListPage';\nimport CalendariumPage from './CalendariumPage';\nimport SubscribePage from './SubscribePage';\nimport CisionStockDiagramPage from './CisionStockDiagramPage';\nimport OrderMatrixLandingPage from './OrderMatrixLandingPage';\nimport DocumentSearchPage from './DocumentSearchPage';\n\nconst Pages = {\n\tArticlePage,\n\tStartPage,\n\tCatalogPage,\n\tErrorPage404,\n\tProductDivisionPage,\n\tProductCategoryPage,\n\tProductDetailPage,\n\tCheckoutPage,\n\tCartPage,\n\tOrderConfirmationPage,\n\tLoginPage,\n\tSearchPage,\n\tMyPage,\n\tMyProjectsPage,\n\tMyAccountPage,\n\tMyAddressesPage,\n\tOrderDetailsPage,\n\tQuotationDetailsPage,\n\tMyNewsDeskItemPage,\n\tMyNewsDeskListPage,\n\tOrderHistoryPage,\n\tQuotationHistoryPage,\n\tSavedCartPage,\n\tMySavedCartsPage,\n\tContactPage,\n\tForgotPasswordPage,\n\tResetPasswordPage,\n\tCisionPressReleaseListPage,\n\tCisionPressReleasePage,\n\tCisionFinancialReportsPage,\n\tCisionOwnershipPage,\n\tCalendariumListPage,\n\tCalendariumPage,\n\tSubscribePage,\n\tCisionStockDiagramPage,\n\tOrderMatrixLandingPage,\n\tDocumentSearchPage,\n\tNotImplemented: () => (\n\t\t

    The requested page type has not yet been implemented.

    \n\t),\n};\n\nexport const get = (model) => {\n\tif (model) {\n\t\tlet page = Pages[model.modelType];\n\n\t\tif (page) {\n\t\t\treturn page;\n\t\t}\n\t}\n\n\treturn Pages['NotImplemented'];\n};\n","import styled from 'styled-components';\nimport { fontFamily } from 'theme/typography';\nimport { ToastContainer } from 'react-toastify';\n\nexport const StyledToastContainer = styled(ToastContainer)`\n\tz-index: 9999;\n\t> div {\n\t\tfont-family: ${fontFamily} !important;\n\t\tz-index: 9999;\n\t}\n`;\n","export default __webpack_public_path__ + \"static/media/logotype.223c8e47.svg\";","import styled from 'styled-components';\nimport Layout from 'components/ui/Layout';\nimport {\n\tspacing1x,\n\tspacing2x,\n\tspacing3x,\n\tspacing6x,\n\tspacing7x,\n} from 'theme/spacings';\nimport {\n\tdeviceSmallMax,\n\tdeviceMediumMin,\n\tdeviceMediumLargeMin,\n\tdeviceMediumLargeMax,\n} from 'theme/mediaQueries';\nimport { white, blue } from 'theme/colors';\nimport { fontWeightSemiBold } from 'theme/typography';\n\nexport const Heading = styled.h1`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n\nexport const Header = styled.header`\n\tmax-width: 144rem;\n\tmargin: 0 auto;\n\t> div {\n\t\toverflow: visible;\n\t}\n\t@media (min-width: ${deviceMediumMin}) {\n\t\tbox-shadow: 0 0 8px 0 rgba(42, 42, 42, 0.2), 0 0 8px 0 rgba(42, 42, 42, 0.2);\n\t}\n`;\n\nexport const HeaderLayout = styled(Layout)`\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tborder-bottom: 0.2rem solid ${blue};\n\t}\n`;\n\nexport const LogoLink = styled.a`\n\tmargin-right: ${spacing2x};\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding-top: 0;\n\t}\n`;\n\nexport const LogoImg = styled.img`\n\tmax-width: inherit;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\theight: 3.2rem;\n\t\twidth: 9.8rem;\n\t}\n`;\n\nexport const TopBar = styled.div`\n\tdisplay: flex;\n\tposition: relative;\n\tjustify-content: space-between;\n\tpadding: ${spacing3x} 0;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tpadding: ${spacing2x} 0 ${spacing1x} 0;\n\t}\n`;\n\nexport const LeftWrapper = styled.div`\n\tdisplay: flex;\n\twidth: 40%;\n\talign-items: center;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t\tflex-wrap: wrap;\n\t\tposition: relative;\n\t}\n`;\n\nexport const RightWrapper = styled.div`\n\talign-items: center;\n\n\t> div {\n\t\tmargin-left: ${spacing3x};\n\t}\n`;\n\nexport const MenuWrapper = styled.div`\n\tposition: relative;\n\tbackground-color: ${blue};\n\n\tjustify-content: space-between;\n\tmax-width: 119rem;\n\tmargin: 0 auto;\n`;\n\nexport const LinkItem = styled.a`\n\ttext-decoration: none;\n\tdisplay: inline-block;\n\tpadding: ${spacing3x} ${spacing2x};\n\tcolor: ${white};\n\tfont-weight: ${fontWeightSemiBold};\n\ttext-transform: uppercase;\n\tfont-size: 2rem;\n\tmargin-right: ${spacing6x};\n\tposition: relative;\n\tmargin-left: auto;\n\n\t@media (max-width: 1190px) {\n\t\tmargin-right: ${spacing7x};\n\t}\n\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const CartWrapper = styled.div`\n\tposition: absolute;\n\tright: 0;\n\ttop: 2rem;\n\n\t@media (max-width: 1190px) {\n\t\tright: 2rem;\n\t}\n\n\t@media screen and (min-width: ${deviceMediumLargeMin}) and (max-width: ${deviceMediumLargeMax}) {\n\t\ttop: 2.1rem;\n\t}\n`;\n\nexport const CartWrapperMobile = styled.div`\n\tposition: absolute;\n`;\n\nexport const MobileMenuWrapper = styled.div`\n\tposition: absolute;\n`;\n\nexport const MobileMegaMenuWrapper = styled.div`\n\tpadding-top: ${({ noSearch, expanded }) =>\n\t\texpanded && !noSearch ? spacing1x : '0'};\n\tbackground-color: ${white};\n\tposition: absolute;\n\tz-index: 200;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\ttop: ${({ noSearch }) => (noSearch ? '4.7rem' : '7.8rem')};\n\n\t@media (max-width: 1150px) {\n\t\ttop: ${({ noSearch }) => (noSearch ? '9.8rem' : '7.8rem')};\n\t}\n\t@media (max-width: 768px) {\n\t\ttop: ${({ noSearch }) => (noSearch ? '4.7rem' : '7.8rem')};\n\t}\n\theight: ${(props) => (props.expanded ? '100vh' : '0')};\n\tmin-height: ${(props) => (props.expanded ? '100vh' : '0')};\n\toverflow: ${(props) => (props.expanded ? 'scroll' : 'hidden')};\n`;\nexport const MobileMenuOptionsWrapper = styled.div`\n\tpadding: ${spacing2x};\n\tpadding-top: ${spacing3x};\n\tmargin-bottom: 10rem;\n`;\n\nexport const MegaMenuLayout = styled.div`\n\tbackground-color: ${blue};\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const MyPagesLinkWrapper = styled.div`\n\tposition: relative;\n`;\n\nexport const TickerWrapperMobile = styled.div`\n\t@media (min-width: 900px) {\n\t\tdisplay: none;\n\t}\n\t@media (min-width: ${deviceMediumMin}) and (max-width: 899px) {\n\t\tmargin-top: -2.6rem;\n\t}\n`;\n\nexport const TickerWrapperDesktop = styled.div`\n\t@media (min-width: 1151px) {\n\t\tmargin-right: -16rem;\n\t}\n\t@media (min-width: 900px) and (max-width: 1150px) {\n\t\tmargin-right: 8rem;\n\t}\n\t@media (max-width: 900px) {\n\t\tdisplay: none;\n\t}\n`;\n","import axios from 'axios';\n\nlet cancelToken = axios.CancelToken.source();\n\nexport const quickSearch = (url: string, query: string, display: number) => {\n\tif (process.env.NODE_ENV === 'development') {\n\t\turl = `http://localhost:4000${url}`;\n\t} else {\n\t\tif (\n\t\t\twindow &&\n\t\t\twindow.location &&\n\t\t\twindow.location.origin &&\n\t\t\ttypeof url !== 'undefined'\n\t\t) {\n\t\t\turl = `${window.location.origin}${url}`;\n\t\t}\n\t}\n\n\tif (cancelToken) {\n\t\tcancelToken.cancel();\n\t}\n\n\tconst CancelToken = axios.CancelToken;\n\tcancelToken = CancelToken.source();\n\n\treturn axios({\n\t\turl: `${url}?query=${query}&display=${display}`,\n\t\tmethod: 'post',\n\t\tcancelToken: cancelToken?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t},\n\t})\n\t\t.then((response) => {\n\t\t\treturn response.data || null;\n\t\t})\n\t\t.catch((error) => {\n\t\t\tif (axios.isCancel(error)) {\n\t\t\t\treturn { cancel: true };\n\t\t\t}\n\t\t\tconsole.log(error);\n\t\t});\n};\n","import styled from 'styled-components';\nimport { Input } from 'components/ui/Form/Form.styles';\nimport { spacing1x, spacing3x, spacing5x, spacing6x } from 'theme/spacings';\nimport { blue, greyDarker } from 'theme/colors';\nimport { deviceSmallMax, deviceMediumMin } from 'theme/mediaQueries';\n\nexport const Form = styled.form`\n\tposition: relative;\n\twidth: 100%;\n`;\n\nexport const Button = styled.button`\n\tbackground-color: transparent;\n\tborder: none;\n\tposition: absolute;\n\tleft: 0;\n\tpadding: ${spacing1x} 1rem;\n\n\tsvg {\n\t\tdisplay: block;\n\t\tfont-size: 2.2rem;\n\t\tcolor: ${blue};\n\t}\n\t@media (max-width: 1150px) {\n\t\tsvg {\n\t\t\tfont-size: 1.6rem;\n\t\t}\n\t}\n\n\t@media (min-width: ${deviceMediumMin}) and (max-width: 1150px) {\n\t\ttop: 0rem;\n\t}\n`;\n\nexport const ClearButton = styled(Button)`\n\tright: 0;\n\tleft: auto;\n\tline-height: 3.4rem;\n\theight: 100%;\n\tsvg {\n\t\tdisplay: block;\n\t\tfont-size: 1.6rem;\n\t\tcolor: ${greyDarker};\n\t}\n\t@media (max-width: 1150px) {\n\t\tline-height: 2.4rem;\n\t\tright: 0;\n\t}\n`;\n\nexport const VisuallyHidden = styled.span`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n\nexport const InputField = styled(Input)`\n\theight: 4rem;\n\tpadding: ${spacing1x} ${spacing3x} ${spacing1x} ${spacing5x};\n\twidth: ${({ fieldSize }) => (fieldSize ? fieldSize : '31.2rem')};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmax-width: 100%;\n\t\tpadding: ${spacing1x} ${spacing6x} ${spacing1x} ${spacing5x};\n\t\twidth: 100%;\n\t}\n`;\n","/**\n * SearchField\n * @module components/SearchField\n */\n\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport { FiSearch, FiXCircle } from 'react-icons/fi';\nimport {\n\tForm,\n\tButton,\n\tVisuallyHidden,\n\tInputField,\n\tClearButton,\n} from './SearchField.styles';\n\nconst SearchField = ({\n\tplaceholder,\n\tid,\n\tname,\n\tonChange,\n\tonClear,\n\tonSubmit,\n\tonFocus,\n\tfieldSize,\n}) => {\n\tconst { t } = useContext(LocalizationContext);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tconst input = document.getElementById(id);\n\t\t\t\t\tinput.value = '';\n\t\t\t\t\tonClear && onClear();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t{t('shared/header/clearsearchphrase')}\n\t\t\t\n\t\t\n\t);\n};\n\nSearchField.propTypes = {\n\tplaceholder: PropTypes.string,\n\taction: PropTypes.string,\n\tid: PropTypes.string,\n\tname: PropTypes.string,\n};\n\nexport default SearchField;\n","import SearchField from './SearchField';\n\nexport default SearchField;\n","import styled, { css } from 'styled-components';\nimport { deviceSmallMax, deviceMediumMin } from 'theme/mediaQueries';\nimport { spacing1x } from 'theme/spacings';\nimport { white, greyDark, blue, black } from 'theme/colors';\nimport { fontWeightBold } from 'theme/typography';\nimport Loader from 'components/ui/Loader';\n\nexport const QuickSearchWrapper = styled.div`\n\tposition: relative;\n\tdisplay: block;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmin-width: 100%;\n\t\tmargin-top: ${spacing1x};\n\t}\n`;\n\nexport const QuickSearchResultContainer = styled.ul`\n\tpadding: ${spacing1x};\n\tposition: absolute;\n\tborder-left: 0.1rem solid ${greyDark};\n\tborder-right: 0.1rem solid ${greyDark};\n\tborder-bottom: 0.2rem solid ${blue};\n\tmargin-top: 0;\n\tz-index: 900;\n\tbackground-color: ${white};\n\n\tlist-style: none;\n\tvisibility: ${(props) => (props.expanded ? 'visible' : 'hidden')};\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmin-width: 100%;\n\t}\n\n\t@media (min-width: ${deviceMediumMin}) and (max-width: 1150px) {\n\t\twidth: 45.1rem;\n\t}\n\n\t@media (min-width: 1011px) {\n\t\twidth: 31.2rem;\n\t}\n`;\n\nexport const QuickSearchSpinner = styled(Loader)``;\n\n// QuickSearchResult\n\nexport const QuickSearchResultRow = styled.li`\n\tposition: relative;\n\theight: 5.6rem;\n\t:not(:first-child) {\n\t\tborder-top: 0.1rem solid ${greyDark};\n\t}\n\tpadding: ${spacing1x};\n`;\n\nexport const Link = styled.a`\n\ttext-decoration: none;\n`;\n\nexport const RowTitle = styled.h4`\n\ttext-transform: uppercase;\n\tcolor: ${blue};\n\tline-height: 2.4rem;\n\tfont-size: 1.6rem;\n\tmargin: 0;\n\tmax-width: 80%;\n\tmax-height: 2.4rem;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n`;\n\nconst text = css`\n\tcolor: ${black};\n\tfont-size: 1.3rem;\n\tline-height: 1.3rem;\n\tdisplay: block;\n`;\n\nexport const ParentCategory = styled.span`\n\t${text};\n`;\n\nexport const ItemCodeAndNameWrapper = styled.span`\n\tdisplay: block;\n`;\n\nexport const ArticleText = styled.span`\n\t${text};\n\tdisplay: block;\n`;\n\nexport const BoldText = styled.span`\n\t${text};\n\tfont-weight: ${fontWeightBold};\n\tmargin-right: ${spacing1x};\n\tdisplay: inline-block;\n`;\n\nexport const NoResultMessage = styled.span`\n\t${text};\n\tfont-size: 1.3rem;\n\ttext-align: center;\n\tmargin-top: 0.8rem;\n`;\n\nexport const SmallMessage = styled.p`\n\t${text};\n\tfont-size: 1.3rem;\n\ttext-align: center;\n`;\n","import { useDispatch } from 'react-redux';\nimport { fetchConfArticle } from 'store/modules/configurator';\n\nimport {\n\tQuickSearchResultRow,\n\tRowTitle,\n\tParentCategory,\n\tArticleText,\n\tBoldText,\n\tLink,\n} from './QuickSearch.styles';\nconst ContentResult = (props) => {\n\tconst { link, name, parentCategory } = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{name}\n\t\t\t\t{parentCategory && {parentCategory}}\n\t\t\t\n\t\t\n\t);\n};\n\nconst ArticleResult = (props) => {\n\tconst {\n\t\tmodelType,\n\t\tlink,\n\t\tname,\n\t\titemCode,\n\t\titemName,\n\t\topenModal,\n\t\ttoggleConfModal,\n\t} = props;\n\n\tconst isConfArticle = modelType === 'ConfArticle';\n\n\tconst dispatch = useDispatch();\n\n\tconst getConfArticle = async () => {\n\t\ttry {\n\t\t\ttoggleConfModal();\n\t\t\tawait dispatch(fetchConfArticle(link));\n\t\t} catch (err) {\n\t\t\tconsole.log(err);\n\t\t}\n\t};\n\n\tconst handleClick = (e) => {\n\t\te.preventDefault();\n\t\tif (isConfArticle) {\n\t\t\tgetConfArticle();\n\t\t} else {\n\t\t\topenModal({ link: link, isActive: true });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t handleClick(e)}>\n\t\t\t\t{name}\n\t\t\t\t\n\t\t\t\t\t#{itemCode}\n\t\t\t\t\t{itemName}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst QuickSearchResult = (props) => {\n\tconst { modelType } = props;\n\tconst isProductOrContent = modelType === 'Product' || modelType === 'Content';\n\n\treturn isProductOrContent ? (\n\t\t\n\t) : (\n\t\t\n\t);\n};\n\nexport default QuickSearchResult;\n","import QuickSearch from './QuickSearch';\n\nexport default QuickSearch;\n","/**\n * QuickSearch\n * @module components/QuickSearch\n */\n\nimport { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDebounce, useToggle } from 'hooks';\nimport { quickSearch } from 'api/quicksearch';\nimport SearchField from 'components/ui/SearchField';\nimport QuickSearchResult from './QuickSearchResult';\nimport { LocalizationContext } from 'context/localization.context';\nimport ArticleDetail from 'components/common/ArticleDetail';\n\nimport {\n\tQuickSearchWrapper,\n\tQuickSearchResultContainer,\n\tQuickSearchSpinner,\n\tNoResultMessage,\n\tSmallMessage,\n} from './QuickSearch.styles';\nimport ArticleDetailConfiguration from 'components/common/ArticleDetailConfiguration';\nimport { confReset } from 'store/modules/configurator';\nimport { useDispatch } from 'react-redux';\n\nconst QuickSearch = (props) => {\n\tconst {\n\t\tsearchLink,\n\t\tquickSearchLink,\n\t\tsearchPlaceholder,\n\t\tactiveMarket,\n\t} = props;\n\tconst { t } = useContext(LocalizationContext);\n\tconst dispatch = useDispatch();\n\n\tconst [articleModal, setArticleModal] = useState({\n\t\tisActive: false,\n\t\tlink: null,\n\t});\n\n\tconst [confModalOpen, setConfModalOpen] = useState(false);\n\tconst [expanded, toggle, ref] = useToggle(false, true);\n\tconst [query, setQuery] = useState('');\n\tconst debouncedQuery = useDebounce(query, 750);\n\tconst [response, setResponse] = useState([]);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst toggleConfModal = () => {\n\t\tsetConfModalOpen(false);\n\t\tdispatch(confReset());\n\t};\n\n\tconst getSuggestions = async () => {\n\t\ttry {\n\t\t\tsetLoading(true);\n\n\t\t\tconst data = await quickSearch(quickSearchLink, debouncedQuery, 5);\n\t\t\tif (data) {\n\t\t\t\tif (data.cancel) {\n\t\t\t\t\tsetLoading(true);\n\t\t\t\t} else {\n\t\t\t\t\tsetResponse(data);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tsetLoading(false);\n\t\t\tconsole.log(error);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (debouncedQuery !== '' && debouncedQuery.length >= 2) {\n\t\t\tgetSuggestions();\n\t\t\t!expanded && toggle();\n\t\t} else {\n\t\t\tsetResponse([]);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [debouncedQuery]);\n\n\tconst redirectToSearchResult = (e) => {\n\t\te && e.preventDefault();\n\t\twindow.location.href = `${searchLink}?query=${query}&display=16`;\n\t};\n\n\tconst responseHasResult = response && response.length && response.length > 0;\n\treturn (\n\t\t\n\t\t\t {\n\t\t\t\t\tsetQuery(e.target.value);\n\t\t\t\t}}\n\t\t\t\tonClear={() => {\n\t\t\t\t\tsetQuery('');\n\t\t\t\t\ttoggle();\n\t\t\t\t}}\n\t\t\t\tonFocus={() => {\n\t\t\t\t\tresponseHasResult && toggle();\n\t\t\t\t}}\n\t\t\t\tonSubmit={redirectToSearchResult}\n\t\t\t\taria-controls=\"quicksearchresult\"\n\t\t\t\taria-expanded={expanded}\n\t\t\t/>\n\t\t\t\n\t\t\t\t{!loading && !!expanded && !!responseHasResult && (\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/search/pressenterformoreresults')}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{loading ? (\n\t\t\t\t\t\n\t\t\t\t) : responseHasResult ? (\n\t\t\t\t\tresponse.map((result, key) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t setConfModalOpen(!confModalOpen)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t) : (\n\t\t\t\t\t{t('shared/search/noresult')}\n\t\t\t\t)}\n\t\t\t\n\t\t\t{confModalOpen && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{articleModal.isActive && (\n\t\t\t\t setArticleModal({ link: null, open: false })}\n\t\t\t\t\tarticleApiUrl={articleModal.link}\n\t\t\t\t\tactiveMarket={activeMarket}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t);\n};\n\nQuickSearch.propTypes = {\n\tsearchLink: PropTypes.string,\n\tquickSearchLink: PropTypes.string,\n\tsearchPlaceholder: PropTypes.string,\n};\n\nexport default QuickSearch;\n","import axios from 'axios';\n\nlet cancelToken = axios.CancelToken.source();\n\nexport const customerSearch = (url: string, query: any) => {\n\tif (cancelToken) {\n\t\tcancelToken.cancel();\n\t}\n\n\tconst CancelToken = axios.CancelToken;\n\tcancelToken = CancelToken.source();\n\n\treturn axios({\n\t\turl: `${url}/customer/search?name=${query.name}&number=${query.number}&email=${query.email}`,\n\t\tmethod: 'post',\n\t\tcancelToken: cancelToken?.token,\n\t\theaders: {\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t\t'content-type': 'application/json; charset=utf-8',\n\t\t},\n\t})\n\t\t.then((response) => {\n\t\t\treturn response.data || null;\n\t\t})\n\t\t.catch((error) => {\n\t\t\tif (axios.isCancel(error)) {\n\t\t\t\treturn { cancel: true };\n\t\t\t}\n\t\t\tconsole.log(error);\n\t\t});\n};\n","import CustomerModal from './CustomerModal';\n\nexport default CustomerModal;\n","/**\n * CustomerModal\n * @module components/CustomerModal\n */\n\nimport { useContext, useEffect, useMemo, useState } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport Modal from 'components/ui/Modal';\nimport { useSortBy, useTable } from 'react-table';\nimport { handleKeyboardNavigation, handleSortByKeyDown } from '../Table';\n\nimport {\n\tSortAscIcon,\n\tSortDscIcon,\n\tSortWrapper,\n\tTable,\n\tTableData,\n\tTableHead,\n\tTableHeadContent,\n\tTableHeadRow,\n\tTableRow,\n\tVisuallyHiddenCaption,\n} from '../Table/table.styles';\nimport { FiLogIn } from 'react-icons/fi';\nimport { useDebounce } from 'hooks';\nimport { customerSearch } from 'api/customersearch';\nimport Icon from '../Icon';\n\ninterface Props {\n\t/** Toggle modal callback */\n\tonToggle: any;\n\n\tonChange: any;\n}\n\nconst CustomerModal = ({ onToggle, onChange }: Props) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [query, setQuery] = useState({ name: '', number: '', email: '' });\n\tconst [customers, setCustomers] = useState([]);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst onNameChange = (newName: string) => {\n\t\tsetQuery((prevQuery) => ({\n\t\t\t...prevQuery,\n\t\t\tname: newName,\n\t\t}));\n\t};\n\n\tconst onNumberChange = (newNumber: string) => {\n\t\tsetQuery((prevQuery) => ({\n\t\t\t...prevQuery,\n\t\t\tnumber: newNumber,\n\t\t}));\n\t};\n\n\tconst onEmailChange = (newEmail: string) => {\n\t\tsetQuery((prevQuery) => ({\n\t\t\t...prevQuery,\n\t\t\temail: newEmail,\n\t\t}));\n\t};\n\n\tconst getCustomers = async () => {\n\t\tsetLoading(true);\n\t\ttry {\n\t\t\tconst data = await customerSearch('/sv/api/v2', query);\n\n\t\t\tif (data) {\n\t\t\t\tsetCustomers(data.items);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t}\n\t\tsetLoading(false);\n\t};\n\n\tconst handleSearch = () => {\n\t\tif (query.email !== '' || query.name !== '' || query.number !== '') {\n\t\t\tgetCustomers();\n\t\t} else {\n\t\t\tsetCustomers([]);\n\t\t}\n\t};\n\n\tconst data = useMemo(() => customers, [customers]);\n\n\tconst columns = useMemo(\n\t\t() => [\n\t\t\t{ Header: t('shared/header/customernumber'), accessor: 'externId' },\n\t\t\t{ Header: t('shared/header/companyname'), accessor: 'name' },\n\t\t\t{ Header: t('shared/header/email'), accessor: 'email' },\n\t\t],\n\t\t//eslint-disable-next-line\n\t\t[]\n\t);\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\trows,\n\t\tprepareRow,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t},\n\t\tuseSortBy\n\t);\n\n\tconst handleCustomerClick = (e: React.MouseEvent, item: any) => {\n\t\tif (item.name) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (onChange) {\n\t\t\tonChange(item);\n\t\t}\n\n\t\tonToggle();\n\t};\n\n\tconst handleKeyPress = (e: any) => {\n\t\tif (e.key === 'Enter') {\n\t\t\thandleSearch();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t onNumberChange(e.target.value)}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"border rounded-md px-3 py-2 text-sm col-3 w-full\"\n\t\t\t\t\t\t\tplaceholder={t('shared/header/customernumber')}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t onNameChange(e.target.value)}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"border rounded-md px-3 py-2 text-sm col-3 w-full\"\n\t\t\t\t\t\t\tplaceholder={t('shared/header/companyname')}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t onEmailChange(e.target.value)}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tclassName=\"border rounded-md px-3 py-2 text-sm col-3 w-full\"\n\t\t\t\t\t\t\tplaceholder={t('shared/header/email')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t handleSearch()}\n\t\t\t\t\t\tclassName=\"md:ml-8 w-full md:w-auto mt-5 md:mt-0 text-xsm text-white hover:bg-blue-hover font-standard button bg-blue border-blue border-2 border-solid font-bold align-middle text-center cursor-pointer inline-block uppercase py-2 px-3 rounded-lg no-underline smMax:py-0.5 smMax:px-1.5 smMax:text-sm disabled:text-greyDarker disabled:bg-grey disabled:border-grey disabled:border-solid disabled:border-2 smMax:undefined\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('shared/header/search')}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t{loading ? (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{customers.length > 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t${t('shared/header/searchresult')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{headerGroup.headers.map((column, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (column.canSort) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleSortByKeyDown(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{rows.map((row, i) => {\n\t\t\t\t\t\t\t\t\t\t\tprepareRow(row);\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{row.cells.map((cell: any, index) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn handleKeyboardNavigation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-row={i}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-col={index}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{cell.render('Cell')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleCustomerClick(e, row.original)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mx-auto w-full text-xsm text-white hover:bg-orange-hover font-standard button bg-orange border-orange border-2 border-solid font-bold align-middle text-center cursor-pointer inline-block uppercase py-1 px-2 rounded-lg\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/header/switchtocustomer')}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{t('shared/header/customermodaltext')}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CustomerModal;\n","import IconSelect from './IconSelect';\n\nexport default IconSelect;\n","/**\n * IconSelect\n * @module components/IconSelect\n */\n\nimport React, { useState, useEffect, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport { useToggle } from 'hooks';\nimport Tooltip from '../Tooltip';\nimport { LinkModel } from 'types/common';\nimport clsx from 'clsx';\nimport Text from 'components/ui/Text';\nimport Icon, { iconTypes } from '../Icon/Icon';\n\ninterface IconSelectmodel {\n\t/** Items */\n\titems: any[];\n\n\t/** Icon next to IconSelect text */\n\ticon: iconTypes;\n\n\t/** Id for IconSelect */\n\tid: string;\n\n\t/** Selected item */\n\tselected: any;\n\n\t/** Callback function */\n\tonChange: (item: LinkModel) => void;\n\n\t/** Optional tooltip for warehouse select */\n\twarehouseTooltip?: string;\n\n\tloading?: boolean;\n\n\tsalesUser?: boolean;\n\n\torder?: string;\n\n\thandleOpenCustomerSearch?: () => void;\n}\n\nconst IconSelect = React.memo(\n\t({\n\t\titems,\n\t\ticon,\n\t\tid,\n\t\torder,\n\t\tselected,\n\t\tonChange,\n\t\twarehouseTooltip,\n\t\tloading,\n\t\tsalesUser,\n\t\thandleOpenCustomerSearch,\n\t}: IconSelectmodel) => {\n\t\tconst { t }: any = useContext(LocalizationContext);\n\t\tconst [expanded, toggle, ref] = useToggle(false, true);\n\t\tconst [selectedItem, setSelectedItem] = useState(selected);\n\t\tconst selectedItemLabel = selectedItem?.name;\n\n\t\tuseEffect(() => {\n\t\t\tsetSelectedItem(selected);\n\t\t}, [selected]);\n\n\t\tconst handleItemClick = (e: React.MouseEvent, item: LinkModel) => {\n\t\t\tif (item.name) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\n\t\t\tif (onChange) {\n\t\t\t\tonChange(item);\n\t\t\t}\n\n\t\t\tsetSelectedItem(item);\n\t\t\ttoggle();\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t!loading && toggle();\n\t\t\t\t\t}}\n\t\t\t\t\ttitle={\n\t\t\t\t\t\tloading\n\t\t\t\t\t\t\t? `${t('shared/header/loading')}...`\n\t\t\t\t\t\t\t: id === 'customers'\n\t\t\t\t\t\t\t? `${selectedItem.name} - ${selectedItem.externId}`\n\t\t\t\t\t\t\t: `${selectedItem.name}`\n\t\t\t\t\t}\n\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t'flex my-2 items-center',\n\t\t\t\t\t\tloading && 'opacity-50 cursor-not-allowed'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{loading ? `${t('shared/header/loading')}...` : selectedItemLabel}\n\t\t\t\t\t\n\t\t\t\t\t{expanded ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t 0 && expanded ? 'block' : 'hidden',\n\t\t\t\t\t\t'min-w-full lg:absolute lg:right-0 lg:left-auto left-0 bg-white z-100 lg:px-3 px-0 py-1 border-greyDark lg:border-1 border-t'\n\t\t\t\t\t)}\n\t\t\t\t\tid={id}\n\t\t\t\t\taria-hidden={!expanded}\n\t\t\t\t\ttabIndex={expanded ? -1 : undefined}\n\t\t\t\t>\n\t\t\t\t\t{items && (\n\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t{items.map((item, i) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t handleItemClick(e, item)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t\t\t\t{id === 'customers' && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{item?.externId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t\t{salesUser && id !== 'types' && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('shared/header/switchcustomer')}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t{warehouseTooltip && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    {warehouseTooltip}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n);\n\nexport default IconSelect;\n","import MenuOptions from './MenuOptions';\n\nexport default MenuOptions;\n","/**\n * MenuOptions\n */\n\nimport CustomerModal from 'components/ui/CustomerModal';\nimport FilterField from 'components/ui/FilterField';\nimport IconSelect from 'components/ui/IconSelect';\nimport Modal from 'components/ui/Modal';\nimport { SearchInput } from 'pages/SearchPage/SearchPage.styles';\nimport { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n\tFetchUser,\n\tUpdateTypes,\n\tselectUserData,\n\tselectUserObject,\n\tUpdateProjects,\n\tUpdateWarehouses,\n} from 'store/modules/user';\n\ninterface Props {\n\t/** Tooltip for warehouse select */\n\twarehouseTooltip?: string;\n}\n\n/** Main description for this component. */\nconst MenuOptions = ({ warehouseTooltip }: Props): JSX.Element => {\n\tconst dispatch = useDispatch();\n\tconst { types, customers, projects, warehouses } = useSelector(\n\t\tselectUserObject\n\t);\n\tconst { customerLoading, userObject } = useSelector(selectUserData);\n\tconst [customerSearch, setCustomerSearch] = useState(false);\n\n\tconst [isSalesUser, setIsSalesUser] = useState(false);\n\n\tuseEffect(() => {\n\t\tuserObject.salesUser && setIsSalesUser(true);\n\t}, [userObject]);\n\n\tconst selectedCustomer = customers?.filter(\n\t\t(item: any) => item.selected === true\n\t)[0];\n\n\tconst selectedProject = projects?.filter(\n\t\t(item: any) => item.selected === true\n\t)[0];\n\n\tconst selectedWarehouse = warehouses?.filter(\n\t\t(item: any) => item.selected === true\n\t)[0];\n\n\tconst selectedType = types?.filter((item: any) => item.selected === true)[0];\n\n\tconst handleCustomerChange = async (selectedItem: any) => {\n\t\tawait dispatch(FetchUser(selectedItem.id));\n\t};\n\n\tconst handleTypeChange = async (selectedItem: any) => {\n\t\tawait dispatch(UpdateTypes(selectedItem.id));\n\t};\n\n\tconst handleProjectChange = async (selectedItem: any) => {\n\t\tawait dispatch(UpdateProjects(selectedItem.id));\n\t};\n\n\tconst handleWarehouseChange = async (selectedItem: any) => {\n\t\tawait dispatch(UpdateWarehouses(selectedItem.id));\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t{customerSearch && (\n\t\t\t\t setCustomerSearch(false)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{types && types.length > 0 && (\n\t\t\t\t 0 &&\n\t\t\t\t\t\ttypes &&\n\t\t\t\t\t\ttypes.length > 0 &&\n\t\t\t\t\t\tcustomers &&\n\t\t\t\t\t\tcustomers.length &&\n\t\t\t\t\t\twarehouses &&\n\t\t\t\t\t\twarehouses.length > 0\n\t\t\t\t\t\t\t? '4'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\ticon=\"users\"\n\t\t\t\t\tselected={selectedType}\n\t\t\t\t\titems={types}\n\t\t\t\t\tonChange={handleTypeChange}\n\t\t\t\t\tloading={customerLoading}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{customers && customers.length > 0 && (\n\t\t\t\t setCustomerSearch(!customerSearch)}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{projects && projects.length > 0 && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{warehouses && warehouses.length > 0 && (\n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t);\n};\n\nexport default MenuOptions;\n","import React from 'react';\nimport Layout from 'components/ui/Layout';\nimport RichText from 'components/ui/RichText';\nimport { MegaMenuItemModel } from 'types/common';\nimport clsx from 'clsx';\n\ninterface Props {\n\titems: MegaMenuItemModel[];\n\tsetCurrentExpanded: Function;\n\texpanded: boolean;\n\tonMouseEnter: any;\n}\nconst MegaMenuDropdown: React.FC = ({\n\titems,\n\tsetCurrentExpanded,\n\texpanded,\n\tonMouseEnter,\n}) => {\n\tconst MegaMenuDropdownColumn = (\n\t\tshouldGrow: boolean,\n\t\titem: MegaMenuItemModel,\n\t\tcolumnKey: number\n\t) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t
  • \n\t\t\t\t\t{item.isLink ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t{item?.children?.map((item: MegaMenuItemModel, key: number) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{item.isLink ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tlet sizeCount = 0;\n\tif (items && items.length > 0) {\n\t\tconst blockItem = items.find((i) => i.isBlock);\n\t\treturn (\n\t\t\t setCurrentExpanded(-1)}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'megamenu-dropdown text-black text-p bg-grey my-0 mx-auto absolute',\n\t\t\t\t\texpanded ? 'h-auto visible megamenu-dropdown--after' : 'h-0 invisible'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{items\n\t\t\t\t\t\t\t.filter((i) => !i.isBlock)\n\t\t\t\t\t\t\t.map((item, index) => {\n\t\t\t\t\t\t\t\tlet shouldGrow =\n\t\t\t\t\t\t\t\t\t(item && item.children && item.children.length > 10) || false;\n\t\t\t\t\t\t\t\tshouldGrow ? (sizeCount += 2) : sizeCount++;\n\t\t\t\t\t\t\t\tif (sizeCount > 8) {\n\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{MegaMenuDropdownColumn(shouldGrow, item, index)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t{blockItem && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{blockItem.text}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{blockItem?.children?.map((item, i) => {\n\t\t\t\t\t\t\t\t\t\tlet shouldGrow =\n\t\t\t\t\t\t\t\t\t\t\t(item && item.children && item.children.length > 10) ||\n\t\t\t\t\t\t\t\t\t\t\tfalse;\n\t\t\t\t\t\t\t\t\t\tshouldGrow ? (sizeCount += 2) : sizeCount++;\n\t\t\t\t\t\t\t\t\t\tif (sizeCount > 8) {\n\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{MegaMenuDropdownColumn(shouldGrow, item, i)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n\treturn null;\n};\nexport default MegaMenuDropdown;\n","/**\n * MegaMenuItem\n * @module components/MegaMenuItem\n */\nimport React, { useEffect, useState } from 'react';\nimport MegaMenuDropdown from './MegaMenuDropdown';\nimport { MegaMenuItemModel } from 'types/common';\nimport clsx from 'clsx';\n\n/** OBS! Glöm inte att länka in Modernizr-skript filen i index.html i public-mappen. */\n/** */\ninterface Props {\n\titem: MegaMenuItemModel;\n\tcurrentExpanded: number;\n\tsetCurrentExpanded: Function;\n\tindex: number;\n}\nconst MegaMenuItem: React.FC = ({\n\titem,\n\tcurrentExpanded,\n\tsetCurrentExpanded,\n\tindex,\n}) => {\n\tconst [expanded, setExpanded] = useState(false);\n\n\tlet currentlyExpanded = currentExpanded === index;\n\tconst toggleDropDown = (e?: any) => {\n\t\tif (window.Modernizr && !window.Modernizr.touchevents) {\n\t\t\tsetCurrentExpanded(index);\n\t\t\tsetExpanded(!expanded);\n\t\t}\n\t};\n\t/**\n\t * Fixes so hover works on touch device\n\t */\n\tconst handleTouchHover = (e: any) => {\n\t\tif (window.Modernizr && window.Modernizr.touchevents) {\n\t\t\tif (!expanded || (expanded && e.target.tagName !== 'A')) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t\tsetExpanded(true);\n\t\t\tsetCurrentExpanded(index);\n\t\t}\n\t};\n\t/**\n\t * Adds the possibility to navigate the menu with keyboard\n\t */\n\tconst handleKeyboardNavigation = (e: any) => {\n\t\tif (e.keyCode === 13) {\n\t\t\tif (!expanded && !currentlyExpanded) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t\tif (expanded && currentExpanded !== -1 && !currentlyExpanded) {\n\t\t\t\tsetExpanded(false);\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t\ttoggleDropDown();\n\t\t}\n\t};\n\tuseEffect(() => {\n\t\tsetExpanded(false);\n\t\tsetCurrentExpanded(-1);\n\t\t//eslint-disable-next-line\n\t}, []);\n\tif (item.children && item.children.length > 0) {\n\t\treturn (\n\t\t\t handleTouchHover(e)}\n\t\t\t\tonKeyDown={(e: any) => handleKeyboardNavigation(e)}\n\t\t\t\tonMouseEnter={(e: any) => toggleDropDown(e)}\n\t\t\t\tonMouseLeave={(e: any) => {\n\t\t\t\t\tsetExpanded(false);\n\t\t\t\t\tsetCurrentExpanded(-1);\n\t\t\t\t}}\n\t\t\t\tclassName=\"float-left\"\n\t\t\t>\n\t\t\t\t {\n\t\t\t\t\t// \tsetExpanded(false);\n\t\t\t\t\t// }}\n\t\t\t\t>\n\t\t\t\t\t{item.text}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t toggleDropDown(e)}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t
  • setCurrentExpanded(-1)} className=\"float-left\">\n\t\t\t\t\n\t\t\t\t\t{item.text}\n\t\t\t\t\n\t\t\t
  • \n\t\t);\n\t}\n};\nexport default MegaMenuItem;\n","/**\n * MegaMenu\n * @module components/MegaMenu\n */\nimport { useState, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\nimport MegaMenuItem from './MegaMenuItem';\nimport { useDebounce } from 'hooks';\nimport { MegaMenuItemModel } from 'types/common';\ninterface Props {\n\tmenuItems: MegaMenuItemModel[];\n}\nconst MegaMenu: React.FC = ({ menuItems }) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [currentExpanded, setCurrentExpanded] = useState(-1);\n\tconst debouncedCurrentExpanded = useDebounce(currentExpanded, 10);\n\treturn (\n\t\t\n\t\t\t
      \n\t\t\t\t{menuItems.map((item: MegaMenuItemModel, i: number) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t\n\t);\n};\nexport default MegaMenu;\n","import styled from 'styled-components';\nimport { FaShoppingCart } from 'react-icons/fa';\nimport { deviceSmallMax, deviceMediumMin } from 'theme/mediaQueries';\nimport { white, orangeLight, blue } from 'theme/colors';\nimport { spacing05x } from 'theme/spacings';\n\nexport const CartIcon = styled(FaShoppingCart)`\n\tfont-size: 2.4rem;\n\tposition: relative;\n\topacity: ${({ opacity }) => opacity};\n\tmargin-right: 2rem;\n`;\n\nexport const Items = styled.span`\n\tbackground-color: ${orangeLight};\n\tcolor: ${white};\n\tpadding: 0rem ${spacing05x};\n\tposition: absolute;\n\tfont-size: 1rem;\n\ttop: -0.6rem;\n\tleft: 1.8rem;\n`;\n","import React, { useEffect, useState } from 'react';\n\nexport const ViewContext = React.createContext({});\nconst ViewProvider = (props) => {\n\tconst [view, setView] = useState('unset');\n\n\tconst handleViewChange = (value) => {\n\t\tsetView(value);\n\t\tlocalStorage.setItem('view', value);\n\t};\n\n\tuseEffect(() => {\n\t\tconst storedValue = localStorage.getItem('view');\n\n\t\tif (storedValue !== null) {\n\t\t\tsetView(storedValue);\n\t\t}\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n};\n\nexport default ViewProvider;\n","import { useState, useEffect } from 'react';\n\nconst useWindowSize = (threshold: number): boolean => {\n\tconst [isWindowSizeSmaller, setIsWindowSizeSmaller] = useState(\n\t\twindow.innerWidth < threshold\n\t);\n\n\tuseEffect(() => {\n\t\tconst handleResize = (): void => {\n\t\t\tsetIsWindowSizeSmaller(window.innerWidth < threshold);\n\t\t};\n\n\t\thandleResize(); // Initial check\n\n\t\twindow.addEventListener('resize', handleResize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t};\n\t}, [threshold]);\n\n\treturn isWindowSizeSmaller;\n};\n\nexport default useWindowSize;\n","import Cart from './Cart';\n\nexport default Cart;\n","/**\n * Cart\n * @module components/Cart\n */\n\nimport { useContext } from 'react';\nimport { CartIcon, Items } from './Cart.styles';\nimport { LocalizationContext } from 'context/localization.context';\nimport { ViewContext } from 'context/view.context';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\n\nimport useWindowSize from 'hooks/useWindowSize';\nimport { white, blue } from 'theme/colors';\n\ninterface Props {\n\t/** Link to CartPage */\n\tlink: string;\n\n\t/** Link target */\n\ttarget?: string;\n\n\tcartDisabled: boolean;\n}\n\nconst Cart = ({ link, target, cartDisabled }: Props) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { items } = useSelector(selectCartObject);\n\n\tconst isMobile = useWindowSize(1150);\n\n\tconst { view } = useContext(ViewContext);\n\n\treturn (\n\t\t\n\t\t\t{cartDisabled ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t('shared/header/carthidden')}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/header/showcart')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/header/cartitems')}\n\t\t\t\t\t\t{items}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default Cart;\n","import styled from 'styled-components';\nimport { FiMenu, FiX } from 'react-icons/fi';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { blue } from 'theme/colors';\n\nexport const MenuIcon = styled(FiMenu)`\n\tcolor: ${blue};\n\tfont-size: 3.2rem;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: inline-block;\n\t\tfont-size: 2.4rem;\n\t}\n`;\nexport const XIcon = styled(FiX)`\n\tcolor: ${blue};\n\tfont-size: 3.2rem;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: inline-block;\n\t\tfont-size: 2.4rem;\n\t}\n`;\n\nexport const MenuLink = styled.a`\n\ttext-decoration: none;\n`;\n\nexport const VisuallyHiddenSpan = styled.span`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n","import MobileMenu from './MobileMenu';\n\nexport default MobileMenu;\n","/**\n * MobileMenu\n * @module components/MobileMenu\n */\n\nimport React, { useState, useContext, useEffect } from 'react';\nimport {\n\tMenuLink,\n\tMenuIcon,\n\tXIcon,\n\tVisuallyHiddenSpan,\n} from './MobileMenu.styles';\nimport { LocalizationContext } from 'context/localization.context';\nimport { ViewContext } from 'context/view.context';\nimport useWindowSize from 'hooks/useWindowSize';\n\nconst MobileMenu = (props) => {\n\tconst { onChange } = props;\n\tconst [expanded, setExpanded] = useState(false);\n\tconst { t } = useContext(LocalizationContext);\n\tconst { view } = useContext(ViewContext);\n\tconst toggleMenu = () => {\n\t\tsetExpanded(!expanded);\n\t};\n\n\tuseEffect(() => {\n\t\tif (onChange) {\n\t\t\tonChange(expanded);\n\t\t}\n\t}, [onChange, expanded]);\n\n\tconst isMobile = useWindowSize(1150);\n\n\treturn (\n\t\t {\n\t\t\t\te.preventDefault();\n\t\t\t\ttoggleMenu();\n\t\t\t}}\n\t\t>\n\t\t\t{expanded ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shared/header/closemenu')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t('shared/header/showmenu')}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default MobileMenu;\n","import styled, { css } from 'styled-components';\nimport { blue, white, grey, black, greyDark, greyDarker } from 'theme/colors';\nimport {\n\tfontWeightBold,\n\tfontWeightLight,\n\tfontWeightNormal,\n\tfontWeightSemiBold,\n} from 'theme/typography';\nimport { spacing2x, spacing1x, spacing3x } from 'theme/spacings';\nimport { FaRegMinusSquare, FaRegPlusSquare } from 'react-icons/fa';\nimport { transparentize } from 'polished';\nimport { FiLogIn } from 'react-icons/fi';\n\nexport const MobileNav = styled.nav`\n\twidth: 101vw;\n\tbackground-color: ${blue};\n\tlist-style: none;\n`;\nconst linkBaseCss = css`\n\tfont-weight: ${fontWeightLight};\n\tfont-size: 1.6rem;\n\tmax-height: 8rem;\n\tline-height: 4rem;\n`;\n\nexport const MainLink = styled.li`\n\t${linkBaseCss};\n\tbackground-color: ${blue};\n\tcolor: ${white};\n\tfont-weight: ${fontWeightBold};\n\tborder-bottom: 0.2rem solid ${white};\n\tpadding: 0 ${spacing2x};\n\n\t> a {\n\t\tcolor: white;\n\t\ttext-decoration: none;\n\t\tfont-weight: ${fontWeightNormal};\n\t}\n\t> p {\n\t\tcolor: white;\n\t\ttext-decoration: none;\n\t\tmargin: 0;\n\t\tdisplay: inline-block;\n\t\tfont-weight: ${fontWeightNormal};\n\t}\n`;\n\nexport const SublinkWrapper = styled.div`\n\tbackground-color: ${grey};\n\tpadding: 0 ${spacing2x};\n\tpadding-bottom: ${(props) => (props.active ? spacing1x : '0')};\n\theight: ${(props) => (props.active ? 'auto' : '0')};\n\tvisibility: ${(props) => (props.active ? 'visibile' : 'hidden')};\n`;\nexport const SubSubWrapper = styled.ul`\n\tbackground-color: ${grey};\n\tpadding-left: ${spacing2x};\n\theight: ${(props) => (props.active ? 'auto' : '0')};\n\tvisibility: ${(props) => (props.active ? 'visibile' : 'hidden')};\n`;\n\nexport const SubLink = styled.li`\n\t${linkBaseCss};\n\tcolor: ${black};\n\tfont-weight: ${(props) =>\n\t\tprops.isHeading ? fontWeightSemiBold : fontWeightNormal};\n\tborder-bottom: ${(props) => (props.isLastItem ? '0' : '0.1rem')} solid\n\t\t${greyDark};\n\tdisplay: flex;\n\t> a {\n\t\tcolor: ${black};\n\t\ttext-decoration: none;\n\t\tfont-weight: ${fontWeightNormal};\n\t}\n\t> p {\n\t\tcolor: ${black};\n\t\ttext-decoration: none;\n\t\tfont-weight: ${fontWeightNormal};\n\t\tmargin: 0;\n\t}\n`;\n\nexport const PlusButton = styled(FaRegPlusSquare)`\n\tcolor: ${transparentize(0.2, greyDarker)};\n\tposition: absolute;\n\tright: ${spacing3x};\n\tmargin: 1.2rem 0;\n`;\nexport const MinusButton = styled(FaRegMinusSquare)`\n\tcolor: ${transparentize(0.2, greyDarker)};\n\tposition: absolute;\n\tright: ${spacing3x};\n\tmargin: 1.2rem 0;\n`;\n\nexport const LoginIcon = styled(FiLogIn)`\n\tcolor: ${transparentize(0.2, greyDarker)};\n\tposition: absolute;\n\tright: ${spacing3x};\n\tmargin: 1rem 0;\n`;\n","/**\n * MobileMegaMenu\n * @module components/MobileMegaMenu\n */\n\nimport {\n\tSubLink,\n\tSubSubWrapper,\n\tPlusButton,\n\tMinusButton,\n} from './MobileMegaMenu.styles';\nimport RichText from 'components/ui/RichText';\n\nconst MobileMegaMenuSubSection = (props) => {\n\treturn (\n\t\t
    \n\t\t\t{props.isBlockList && (\n\t\t\t\t
    \n\t\t\t\t\t{props.blockItem && props.blockItem.text}\n\t\t\t\t
    \n\t\t\t)}\n\t\t\t{props.items &&\n\t\t\t\tprops.items.length > 0 &&\n\t\t\t\tprops.items.map((sublink, j) => {\n\t\t\t\t\tconst subIsActive = props.sublinkIndex === j;\n\t\t\t\t\tconst subHasChildren =\n\t\t\t\t\t\tsublink.children && sublink.children.length > 0;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tlet value = subIsActive ? -1 : j;\n\t\t\t\t\t\t\t\t\tprops.setSubLinkIndex(value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{sublink.isLink ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{subHasChildren &&\n\t\t\t\t\t\t\t\t\t(subIsActive ? : )}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{subHasChildren && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{sublink.children.map((subsub, k) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{subsub.isLink ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t
    \n\t);\n};\n\nexport default MobileMegaMenuSubSection;\n","import MobileMegaMenu from './MobileMegaMenu';\n\nexport default MobileMegaMenu;\n","/**\n * MobileMegaMenu\n * @module components/MobileMegaMenu\n */\n\nimport React, { useState, useEffect, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport PropTypes from 'prop-types';\nimport {\n\tMobileNav,\n\tMainLink,\n\tSublinkWrapper,\n\tPlusButton,\n\tMinusButton,\n\tLoginIcon,\n} from './MobileMegaMenu.styles';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\nimport MobileMegaMenuSubSection from './MobileMegaMenuSubSection';\n\nconst MobileMegaMenu = (props) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { items, expanded, myPagesLink, loginLink, logoutLink } = props;\n\tconst [mainIndex, setMainIndex] = useState(-1);\n\tconst [sublinkIndex1, setSubLinkIndex1] = useState(-1);\n\tconst [sublinkIndex2, setSubLinkIndex2] = useState(-1);\n\tconst { cartDisabled } = useSelector(selectCartObject);\n\n\tuseEffect(() => {\n\t\tif (mainIndex !== -1) {\n\t\t\tsetSubLinkIndex1(-1);\n\t\t\tsetSubLinkIndex2(-1);\n\t\t}\n\t}, [mainIndex]);\n\n\tuseEffect(() => {\n\t\tdocument.body.style.overflow = expanded ? 'hidden' : 'unset';\n\t\treturn () => {\n\t\t\tdocument.body.style.overflow = 'unset';\n\t\t};\n\t}, [expanded]);\n\n\tconst getMobileMegaMenuItems = () => {\n\t\tconst megaMenu = items;\n\t\tif (!megaMenu || !megaMenu.items) return [];\n\t\tif (!cartDisabled && myPagesLink) {\n\t\t\tlet mypagesItem = {\n\t\t\t\tlink: myPagesLink?.link,\n\t\t\t\tactive: false,\n\t\t\t\ttext: myPagesLink?.text,\n\t\t\t\tisLink: true,\n\t\t\t};\n\n\t\t\tif (logoutLink) {\n\t\t\t\tmypagesItem['children'] = [\n\t\t\t\t\t{\n\t\t\t\t\t\tlink: logoutLink,\n\t\t\t\t\t\tactive: false,\n\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\ttarget: '',\n\t\t\t\t\t\ttext: t('shared/header/logout'),\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\tlet mobileMegaMenu = {\n\t\t\t\t...megaMenu,\n\t\t\t\titems: [...megaMenu.items, mypagesItem],\n\t\t\t};\n\n\t\t\treturn mobileMegaMenu.items;\n\t\t} else if (cartDisabled && loginLink && loginLink.link) {\n\t\t\tconst loginItem = {\n\t\t\t\tlink: loginLink.link,\n\t\t\t\ttarget: loginLink.target || null,\n\t\t\t\tisLogin: true,\n\t\t\t\tactive: false,\n\t\t\t\tisLink: true,\n\t\t\t\ttext: t('shared/header/login'),\n\t\t\t};\n\t\t\tlet mobileMegaMenu = {\n\t\t\t\t...megaMenu,\n\t\t\t\titems: [...megaMenu.items, loginItem],\n\t\t\t};\n\n\t\t\treturn mobileMegaMenu.items;\n\t\t} else {\n\t\t\treturn megaMenu.items;\n\t\t}\n\t};\n\n\tconst mobileMegaMenuItems = getMobileMegaMenuItems();\n\treturn (\n\t\t\n\t\t\t{mobileMegaMenuItems &&\n\t\t\t\tmobileMegaMenuItems.map((item, i) => {\n\t\t\t\t\tconst isActive = mainIndex === i;\n\t\t\t\t\tconst hasChildren = item.children && item.children.length > 0;\n\t\t\t\t\tconst blockItem =\n\t\t\t\t\t\titem.children && item.children.find((i) => i.isBlock);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tlet value = isActive ? -1 : i;\n\t\t\t\t\t\t\t\t\tsetMainIndex(value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.isLink ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t

    {item.text}

    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{hasChildren && (isActive ? : )}\n\t\t\t\t\t\t\t\t{item.isLogin && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hasChildren && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t !i.isBlock)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{blockItem && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\n\t);\n};\n\nMobileMegaMenu.propTypes = {\n\ttitle: PropTypes.string,\n};\n\nexport default MobileMegaMenu;\n","import MyPagesMenuDropdown from './MyPagesMenuDropdown';\n\nexport default MyPagesMenuDropdown;\n","/**\n * MyPagesMenuDropdown\n * @module components/MyPagesMenuDropdown\n */\n\nimport React, { useState, useContext } from 'react';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport clsx from 'clsx';\nimport { LinkModel } from 'types';\n\ninterface Props {\n\tmyPagesLink: LinkModel;\n\tlogoutLink: string;\n}\n\nconst MyPagesMenuDropdown: React.FC = ({ myPagesLink, logoutLink }) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [myPagesDropdownOpen, setMyPagesDropdownOpen] = useState(false);\n\n\treturn (\n\t\t {\n\t\t\t\tsetMyPagesDropdownOpen(false);\n\t\t\t}}\n\t\t\tonMouseEnter={(e) => {\n\t\t\t\tsetMyPagesDropdownOpen(true);\n\t\t\t}}\n\t\t>\n\t\t\t {\n\t\t\t\t\tif (e.keyCode === 13) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tif (myPagesDropdownOpen && window && window.location) {\n\t\t\t\t\t\t\twindow.location.href = myPagesLink?.link;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetMyPagesDropdownOpen(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonClick={(e: any) => {\n\t\t\t\t\tif (window.Modernizr && window.Modernizr.touchevents) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!myPagesDropdownOpen ||\n\t\t\t\t\t\t\t(myPagesDropdownOpen && e.target.tagName !== 'A')\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetMyPagesDropdownOpen(true);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{myPagesLink?.text}\n\t\t\t\n\t\t\t{logoutLink && (\n\t\t\t\t\n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shared/header/logout')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    • \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default MyPagesMenuDropdown;\n","import styled, { css } from 'styled-components';\nimport { blue } from 'theme/colors';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport { FiGlobe, FiChevronDown, FiChevronUp } from 'react-icons/fi';\n\nexport const GlobeIcon = styled(FiGlobe)`\n\tcolor: ${blue};\n\tmargin-right: ${spacing1x};\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 1.8rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\t@media (max-width: 1150px) {\n\t\ttop: 0.4rem;\n\t\tleft: 1rem;\n\t\tposition: relative;\n\t\ttransform: none;\n\t}\n`;\n\nconst arrowStyling = css`\n\tcolor: ${blue};\n\tposition: relative;\n\ttop: ${spacing2x};\n\tmargin-left: ${spacing1x};\n\tdisplay: inline-block;\n\ttransform: translateY(-50%);\n\twidth: 1.8rem;\n`;\n\nexport const ArrowUp = styled(FiChevronUp)`\n\t${arrowStyling};\n`;\nexport const ArrowDown = styled(FiChevronDown)`\n\t${arrowStyling};\n`;\n","/**\n * LanguageSelector\n * @module components/LanguageSelector\n */\n\nimport { useState, useContext } from 'react';\nimport { GlobeIcon, ArrowDown, ArrowUp } from './LanguageSelector.styles';\nimport { LocalizationContext } from 'context/localization.context';\n\nimport Modal from 'components/ui/Modal';\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\n\ninterface LanguageSelectorModel {\n\tmodalHeading: string;\n\theading: string;\n\tpreamble: string;\n\tmobile: boolean;\n\tlanguages: LanguageItemModel[];\n}\n\ninterface LanguageItemModel {\n\tisHeading: boolean;\n\tmarketId: string;\n\tlanguage: string;\n\tlanguageName: string;\n\tlink: string;\n\ttext: string;\n\tactive: boolean;\n\tisLink: boolean;\n\ttarget: string;\n}\n\nconst renderDropDownItem = (item: LanguageItemModel | undefined) => {\n\tif (item) {\n\t\tconst countryLink = `/assets/images/flags/${item.language}.svg`;\n\t\tif (item.isLink) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{item.language && (\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t)}\n\t\t\t\t\t{' ' + item.text}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{item.text}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n};\n\nconst splitToChunks = (\n\tarray: LanguageItemModel[],\n\tparts: number\n): LanguageItemModel[][] => {\n\tlet result: LanguageItemModel[][] = [];\n\tfor (let i = parts; i > 0; i--) {\n\t\tresult.push(array.splice(0, Math.ceil(array.length / i)));\n\t}\n\treturn result;\n};\n\nconst LanguageSelector = ({\n\tlanguages,\n\tmobile,\n\theading,\n\tpreamble,\n\tmodalHeading,\n}: LanguageSelectorModel) => {\n\tconst { t }: any = useContext(LocalizationContext);\n\tconst [expanded, setExpanded] = useState(false);\n\tconst active = languages?.find((x) => x.active);\n\n\tlet languagesLeftCol: LanguageItemModel[] = [];\n\tlet languagesRightCol: LanguageItemModel[] = [];\n\tlet counter = 0;\n\tlanguages.forEach((l) => {\n\t\tl.isHeading && counter++;\n\t\tcounter > 1 ? languagesRightCol.push(l) : languagesLeftCol.push(l);\n\t});\n\n\treturn (\n\t\t\n\t\t\t{expanded && (\n\t\t\t\t setExpanded(!expanded)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{heading}\n\t\t\t\t\t\n\t\t\t\t\t

    {preamble}

    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{languagesLeftCol.map((lang, i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{lang.isLink && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{lang.active && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{renderDropDownItem(lang)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t{splitToChunks(\n\t\t\t\t\t\t\tlanguagesRightCol.filter((l) => !l.isHeading),\n\t\t\t\t\t\t\t3\n\t\t\t\t\t\t).map((l, j) => {\n\t\t\t\t\t\t\tconst languageHeading = languagesRightCol.find(\n\t\t\t\t\t\t\t\t(l) => l.isHeading\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{languageHeading && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{j === 0 && renderDropDownItem(languageHeading)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{l.map((lang, i) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{lang.isLink && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{lang.active && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{renderDropDownItem(lang)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t{t('shared/header/languagechooser')}\n\t\t\t\n\t\t\t setExpanded(!expanded)}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\taria-expanded={expanded}\n\t\t\t\taria-controls={mobile ? 'langselectmobile' : 'langselectdesktop'}\n\t\t\t\taria-labelledby={mobile ? 'langlabelmobile' : 'langlabeldesktop'}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{active?.text}\n\t\t\t\t

    \n\t\t\t\t{expanded ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default LanguageSelector;\n","import LanguageSelector from './LanguageSelector';\n\nexport default LanguageSelector;\n","import styled, { css } from 'styled-components';\nimport { blue, white, greyDark } from 'theme/colors';\nimport { spacing1x, spacing2x } from 'theme/spacings';\nimport { paragraphCss } from '../../ui/Typography';\nimport { FiGlobe, FiChevronDown, FiChevronUp } from 'react-icons/fi';\nimport { fontWeightBold, fontWeightNormal } from 'theme/typography';\n\nexport const LanguageSelectorWrapper = styled.div`\n\tpadding: ${spacing1x};\n\tborder-right: ${(props) =>\n\t\tprops.mobile ? 'none' : `0.2rem solid ${greyDark}`};\n\tborder-left: ${(props) =>\n\t\tprops.mobile ? 'none' : `0.2rem solid ${greyDark}`};\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: ${(props) => props.mobile && '100%'};\n\tbackground-color: ${white};\n`;\n\nconst textCss = css`\n\t${paragraphCss};\n\tmargin-top: ${spacing1x};\n\tmargin-bottom: ${spacing1x};\n\tdisplay: inline-block;\n\tfont-size: 14px;\n\tfont-weight: ${(props) => (props.bold ? fontWeightBold : fontWeightNormal)};\n\tcolor: ${(props) => (props.active ? blue : 'inherit')};\n`;\n\nexport const Text = styled.p`\n\t${textCss};\n`;\n\nexport const ToggleText = styled.p`\n\t${textCss};\n\tmax-width: 22rem;\n\tmargin-left: 2.5rem;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\t@media (max-width: 1150px) {\n\t\tmargin-left: 1.5rem;\n\t}\n`;\n\nexport const Link = styled.a`\n\t${textCss};\n\ttext-decoration: none;\n\t&:hover {\n\t\tcolor: ${blue};\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const GlobeIcon = styled(FiGlobe)`\n\tcolor: ${blue};\n\tmargin-right: ${spacing1x};\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 1.8rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\t@media (max-width: 1150px) {\n\t\ttop: 0.4rem;\n\t\tleft: 1rem;\n\t\tposition: relative;\n\t\ttransform: none;\n\t}\n`;\n\nconst arrowStyling = css`\n\tcolor: ${blue};\n\tposition: relative;\n\ttop: ${spacing2x};\n\tmargin-left: ${spacing1x};\n\tdisplay: inline-block;\n\ttransform: translateY(-50%);\n\twidth: 1.8rem;\n`;\n\nexport const ArrowUp = styled(FiChevronUp)`\n\t${arrowStyling};\n`;\n\nexport const ArrowDown = styled(FiChevronDown)`\n\t${arrowStyling};\n`;\n\nexport const LanguageSelectorDropDown = styled.ul`\n\tposition: ${(props) => (props.mobile ? 'static' : 'absolute')};\n\tpadding: 0 ${spacing1x};\n\twidth: ${(props) => (props.mobile ? '100%' : 'calc(100% + 0.4rem)')};\n\tmax-height: ${(props) =>\n\t\tprops.offSetHeight > 1\n\t\t\t? `calc(100vh - ${props.offSetHeight + 150}px)`\n\t\t\t: '90vh'};\n\toverflow-y: auto;\n\tborder: ${(props) => (props.mobile ? 'none' : `0.2rem solid ${greyDark}`)};\n\tborder-top: none;\n\tleft: ${(props) => (props.mobile ? 0 : '50%')};\n\ttransform: ${(props) => (props.mobile ? 'none' : 'translateX(-50%)')};\n\tz-index: 300;\n\tbackground-color: ${white};\n\tmargin-top: 0.6rem;\n`;\n\nexport const DropdownItem = styled.li`\n\tborder-top: 0.2rem solid ${greyDark};\n`;\n\nexport const DropDownToggle = styled.button`\n\tbackground: none;\n\tcolor: inherit;\n\tborder: none;\n\tpadding: 0;\n\tfont: inherit;\n\tcursor: pointer;\n\tdisplay: flex;\n\talign-items: baseline;\n`;\n\nexport const VisuallyHidden = styled.span`\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 0.1rem;\n\tmargin: -0.1rem;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 0.1rem;\n`;\n","/**\n * LanguageSelector\n * @module components/LanguageSelectorOld\n */\n\nimport React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tDropdownItem,\n\tLanguageSelectorWrapper,\n\tText,\n\tLink,\n\tGlobeIcon,\n\tLanguageSelectorDropDown,\n\tArrowDown,\n\tArrowUp,\n\tDropDownToggle,\n\tVisuallyHidden,\n\tToggleText,\n} from './LanguageSelectorOld.styles';\nimport { LocalizationContext } from 'context/localization.context';\n\nconst renderDropDownItem = (item) => {\n\tif (!item.isLink || item.active) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{item.text}\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t{item.text}\n\t\t\t\n\t\t);\n\t}\n};\n\nconst LanguageSelectorOld = ({ languages, mobile }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst [expanded, setExpanded] = useState(false);\n\tconst [offsetHeight, setOffset] = useState(false);\n\tconst active = languages?.find((x) => x.active);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shared/header/languagechooser')}\n\t\t\t\n\t\t\t {\n\t\t\t\t\tsetOffset(document.getElementById('mobilenav').offsetHeight);\n\t\t\t\t\tsetExpanded(!expanded);\n\t\t\t\t}}\n\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\taria-expanded={expanded}\n\t\t\t\taria-controls={mobile ? 'langselectmobile' : 'langselectdesktop'}\n\t\t\t\taria-labelledby={mobile ? 'langlabelmobile' : 'langlabeldesktop'}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t{active && {active.text}}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t{expanded && (\n\t\t\t\t\n\t\t\t\t\t{languages?.map((item, key) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t{renderDropDownItem(item)}\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nLanguageSelectorOld.propTypes = {\n\tlanguages: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tmarketId: PropTypes.string,\n\t\t\tlanguage: PropTypes.string,\n\t\t\tlanguageName: PropTypes.string,\n\t\t\tlink: PropTypes.string,\n\t\t\ttext: PropTypes.string,\n\t\t\tactive: PropTypes.boolean,\n\t\t\tisLink: PropTypes.boolean,\n\t\t})\n\t),\n};\n\nexport default LanguageSelectorOld;\n","import AnnouncementBar from './AnnouncementBar';\n\nexport default AnnouncementBar;\n","/**\n * AnnouncementBar\n * @module components/AnnouncementBar\n */\n\nimport React, { useContext, useEffect, useState } from 'react';\nimport Layout from 'components/ui/Layout';\nimport { getCookie, setCookie } from 'common/helpers';\nimport { LocalizationContext } from 'context/localization.context';\nimport Button from 'components/ui/Button';\nimport clsx from 'clsx';\nimport Icon from 'components/ui/Icon';\n\ninterface Props {\n\tcolor: string;\n\theading: string;\n\ttext?: string;\n\tbuttonText: string;\n\turl: string;\n\tid: string;\n}\n\nconst AnnouncementBar = ({\n\tcolor,\n\theading,\n\ttext,\n\tbuttonText,\n\turl,\n\tid,\n}: Props) => {\n\tconst [isVisible, setIsVisible] = useState(false);\n\tconst announcementCookie = getCookie('Announcement-' + id);\n\tconst { t }: any = useContext(LocalizationContext);\n\n\tuseEffect(() => {\n\t\tif (!announcementCookie) {\n\t\t\tsetIsVisible(true);\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{heading && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{text && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{buttonText && url && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{buttonText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tsetCookie('Announcement-' + id, 'true', null, '/');\n\t\t\t\t\t\t\tsetIsVisible(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\tcolor === 'lightGrey' ? 'text-black' : 'text-white'\n\t\t\t\t\t\t)}\n\t\t\t\t\t\taria-label={`${t('shared/header/closeannouncement')} ${heading}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t);\n};\n\nexport default AnnouncementBar;\n","import { FiArrowDownRight, FiArrowRight, FiArrowUpRight } from 'react-icons/fi';\nimport styled, { css } from 'styled-components';\nimport { blue, errorRed, green } from 'theme/colors';\nimport { spacing2x } from 'theme/spacings';\n\ninterface TickerProps {\n\t/** Set the color of Ticker arrow */\n\tdeltaColor: string;\n}\n\nconst ArrowCss = css`\n\tfont-size: 3.4rem;\n\tvertical-align: bottom;\n\t@media (max-width: 900px) {\n\t\tfont-size: 2.4rem;\n\t\tvertical-align: sub;\n\t}\n`;\n\nexport const TickerWrapper = styled.div`\n\tdisplay: block;\n\t@media (max-width: 900px) {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n`;\n\nexport const Date = styled.p`\n\tfont-size: 1.6rem;\n\tline-height: 2.4rem;\n\tmargin: 0;\n\t@media (max-width: 900px) {\n\t\tfont-size: 1.4rem;\n\t}\n`;\nexport const PriceWrapper = styled.p`\n\tfont-weight: bold;\n\tfont-size: 2.5rem;\n\tline-height: 3.2rem;\n\tmargin: 0;\n\tdisplay: flex;\n\talign-items: center;\n\t@media (max-width: 900px) {\n\t\tmargin-left: ${spacing2x};\n\t\tfont-size: 1.8rem;\n\t}\n`;\n\nexport const Delta = styled.span`\n\tmargin-left: ${spacing2x};\n\tcolor: ${({ deltaColor }) => deltaColor};\n`;\nexport const ArrowDownRight = styled(FiArrowDownRight)`\n\tcolor: ${errorRed};\n\t${ArrowCss};\n`;\n\nexport const ArrowRight = styled(FiArrowRight)`\n\tcolor: ${blue};\n\t${ArrowCss};\n`;\nexport const ArrowUpRight = styled(FiArrowUpRight)`\n\tcolor: ${green};\n\t${ArrowCss};\n`;\n","import Ticker from './Ticker';\n\nexport default Ticker;\n","/**\n * Ticker\n * @module components/Ticker\n */\n\nimport React from 'react';\nimport {\n\tTickerWrapper,\n\tDate,\n\tPriceWrapper,\n\tDelta,\n\tArrowDownRight,\n\tArrowRight,\n\tArrowUpRight,\n} from './Ticker.styles';\n\ninterface Props {\n\t/** The Ticker date */\n\tdate?: string;\n\n\t/** The Ticker price */\n\tprice?: number;\n\n\t/** The Ticker trade currency */\n\ttradeCurrency?: string;\n\n\t/** The Ticker delta value */\n\tdelta?: number;\n}\n\nconst Ticker = ({ date, price, tradeCurrency, delta }: Props): JSX.Element => {\n\treturn (\n\t\t\n\t\t\t{date && {date}}\n\t\t\t\n\t\t\t\t{price && {`${price.toFixed(2)} ${tradeCurrency}`}}\n\t\t\t\t{delta && delta < 0 ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{delta.toFixed(2)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : delta && delta > 0 ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{delta.toFixed(2)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : delta && delta == 0 ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{delta.toFixed(2)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\tfalse\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Ticker;\n","import PageHeader from './PageHeader';\n\nexport default PageHeader;\n","/* eslint-disable jsx-a11y/no-access-key */\n/**\n * PageHeader\n * @module components/PageHeader\n */\n\nimport { useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from 'context/localization.context';\n\nimport logotype from './logotype.svg';\nimport {\n\tHeading,\n\tHeader,\n\tLogoLink,\n\tLogoImg,\n\tTopBar,\n\tLeftWrapper,\n\tRightWrapper,\n\tMenuWrapper,\n\tLinkItem,\n\tCartWrapper,\n\tCartWrapperMobile,\n\tMobileMenuWrapper,\n\tMobileMegaMenuWrapper,\n\tMobileMenuOptionsWrapper,\n\tHeaderLayout,\n\tMegaMenuLayout,\n\tTickerWrapperDesktop,\n\tTickerWrapperMobile,\n} from './PageHeader.styles';\nimport QuickSearch from 'components/ui/QuickSearch';\nimport MenuOptions from 'components/framework/MenuOptions';\nimport { MegaMenu } from 'components/common/MegaMenu';\nimport Cart from 'components/ui/Cart';\nimport MobilMenu from 'components/framework/MobileMenu';\nimport MobileMegaMenu from 'components/common/MobileMegaMenu';\n\nimport MyPagesMenuDropdown from 'components/ui/MyPagesMenuDropdown';\nimport LanguageSelector from '../LanguageSelector';\nimport LanguageSelectorOld from 'components/framework/LanguageSelector/LanguageSelectorOld';\nimport AnnouncementBar from '../AnnouncementBar';\nimport Ticker from '../Ticker';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\nimport { toast } from 'react-toastify';\n\nimport useWindowSize from 'hooks/useWindowSize';\nimport { ViewContext } from 'context/view.context';\n\nconst PageHeader = ({ header, api, includeHeading, siteType, modelType }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { view } = useContext(ViewContext);\n\tconst {\n\t\tcartStatus,\n\t\terrorList,\n\t\tcartDisabled,\n\t\tcartHidden,\n\t\tcartLink,\n\t} = useSelector(selectCartObject);\n\tconst [mobileMenuExpanded, setMobileMenuExpanded] = useState(false);\n\tconst isMobile = useWindowSize(1150);\n\tconst isSmallMobile = useWindowSize(768);\n\n\tuseEffect(() => {\n\t\tif (cartStatus === 'invalid' && errorList && errorList?.length > 0) {\n\t\t\terrorList?.forEach((error) => {\n\t\t\t\tconst errormsg = `Error ${error.errorCode} - ${error.message}`;\n\t\t\t\terror.errorCode !== 550 &&\n\t\t\t\t\ttoast(errormsg, {\n\t\t\t\t\t\ttype: toast.TYPE.ERROR,\n\t\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, [cartStatus]);\n\n\tconst {\n\t\tsearch,\n\t\tlogo,\n\t\tmegaMenu,\n\t\tmyPagesLink,\n\t\tloginLink,\n\t\tlogoutLink,\n\t\twarehouseTooltip,\n\t\tannouncements,\n\t\tticker,\n\t} = header;\n\treturn (\n\t\t<>\n\t\t\t{announcements &&\n\t\t\t\tannouncements.length > 0 &&\n\t\t\t\tannouncements.map((item, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{t('shared/header/jumptomaincontent')}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{includeHeading && Lindab}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{siteType === 'Lindab' && !cartDisabled && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{search && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{megaMenu && megaMenu.items && megaMenu.items.length > 0 && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t{((siteType === 'Lindab' && cartDisabled) ||\n\t\t\t\t\t\t\t\t\t\tsiteType === 'LindabGroup') && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t{header.languageSelector &&\n\t\t\t\t\t\t\t\t\t\t\t\theader.languageSelector.languages && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!header.languageSelector && header?.languages && (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{siteType === 'Lindab' && !cartDisabled && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{siteType === 'LindabGroup' && ticker && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{siteType === 'LindabGroup' &&\n\t\t\t\t\t\t\t\theader.languageSelector &&\n\t\t\t\t\t\t\t\theader.languageSelector.languages && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{siteType === 'LindabGroup' &&\n\t\t\t\t\t\t\t\t!header.languageSelector &&\n\t\t\t\t\t\t\t\theader?.languages && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{siteType === 'Lindab' &&\n\t\t\t\t\t\t\t\tcartDisabled &&\n\t\t\t\t\t\t\t\theader &&\n\t\t\t\t\t\t\t\theader.languageSelector &&\n\t\t\t\t\t\t\t\theader.languageSelector.languages && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{siteType === 'Lindab' &&\n\t\t\t\t\t\t\t\tcartDisabled &&\n\t\t\t\t\t\t\t\t!header.languageSelector &&\n\t\t\t\t\t\t\t\theader?.languages && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{siteType === 'Lindab' && !cartDisabled && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{siteType === 'LindabGroup' && ticker && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{siteType === 'Lindab' && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{cartDisabled ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{loginLink && loginLink.link && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('shared/header/login')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{myPagesLink && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!cartHidden && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\n\t);\n};\n\nPageHeader.propTypes = {\n\theader: PropTypes.shape({\n\t\tsearch: PropTypes.shape({\n\t\t\tsearchLink: PropTypes.string,\n\t\t\tsearchPlaceholder: PropTypes.string,\n\t\t\tajaxSearchLink: PropTypes.string,\n\t\t\tautoCompleteLink: PropTypes.string,\n\t\t}),\n\t\tlogo: PropTypes.shape({\n\t\t\tlink: PropTypes.string,\n\t\t\talt: PropTypes.string,\n\t\t}),\n\t\tlogoSrc: PropTypes.string,\n\t\tlogoAlt: PropTypes.string,\n\t\tmarkets: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tlink: PropTypes.string,\n\t\t\t\ttext: PropTypes.string,\n\t\t\t\tactive: PropTypes.bool,\n\t\t\t})\n\t\t),\n\t\tcustomers: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tname: PropTypes.string,\n\t\t\t\tid: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tprojects: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tname: PropTypes.string,\n\t\t\t\tid: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\twarehouses: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tname: PropTypes.string,\n\t\t\t\tid: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tmegaMenu: PropTypes.shape({\n\t\t\titems: PropTypes.arrayOf(\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tlink: PropTypes.string,\n\t\t\t\t\ttext: PropTypes.string,\n\t\t\t\t\tactive: PropTypes.bool,\n\t\t\t\t\tchildren: PropTypes.array,\n\t\t\t\t})\n\t\t\t),\n\t\t}),\n\t\tloginLink: PropTypes.shape({\n\t\t\tlink: PropTypes.string,\n\t\t\ttarget: PropTypes.string,\n\t\t}),\n\t\tlogoutLink: PropTypes.string,\n\t\tmyPagesLink: PropTypes.objectOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tlink: PropTypes.string,\n\t\t\t\ttext: PropTypes.string,\n\t\t\t\tactive: PropTypes.bool,\n\t\t\t\tchildren: PropTypes.array,\n\t\t\t})\n\t\t),\n\t\tcart: PropTypes.shape({\n\t\t\titems: PropTypes.number,\n\t\t}),\n\t}),\n\tapi: PropTypes.shape({\n\t\tprojectsUrl: PropTypes.string,\n\t}),\n\tincludeHeading: PropTypes.bool,\n\tmodelType: PropTypes.string,\n};\n\nexport default PageHeader;\n","import styled, { css } from 'styled-components';\nimport {\n\tspacing05x,\n\tspacing1x,\n\tspacing3x,\n\tspacing4x,\n\tspacing5x,\n} from 'theme/spacings';\nimport { deviceSmallMax } from 'theme/mediaQueries';\nimport { white } from 'theme/colors';\nimport { fontWeightBold } from 'theme/typography';\nimport { Paragraph, paragraphCss } from 'components/ui/Typography';\n\nimport { FiFacebook, FiYoutube, FiLinkedin, FiInstagram } from 'react-icons/fi';\nimport { FaXTwitter } from 'react-icons/fa6';\nconst IconCss = css`\n\tcolor: ${white};\n\tfont-size: 2rem;\n\tmargin: -${spacing05x} ${spacing05x};\n\topacity: 0.75;\n\n\t:hover {\n\t\topacity: 1;\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: 0 ${spacing05x} 0 0;\n\t}\n`;\n\nexport const FooterContainer = styled.div`\n\tmax-width: 144rem;\n\tmargin: 0 auto;\n\tbox-shadow: 0 9px 0px 0px white, 0 -9px 0px 0px white,\n\t\t0 0 8px 0 rgba(42, 42, 42, 0.2), 0 0 8px 0 rgba(42, 42, 42, 0.2);\n`;\n\nexport const BottomWrapper = styled.div`\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin: ${spacing1x} 0;\n\ttext-align: center;\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: block;\n\t\tmargin: 0 ${spacing5x};\n\t}\n`;\n\nexport const ColumnsWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tmargin: ${spacing4x} 0;\n\n\tposition: relative;\n\t&:: before {\n\t\tcontent: ' ';\n\t\tdisplay: inline-block;\n\t\tposition: absolute;\n\t\ttop: -1.5rem;\n\t\twidth: 100%;\n\t\theight: 0.1rem;\n\t\topacity: 0.25;\n\t\tbackground-color: ${white};\n\t}\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tdisplay: block;\n\t}\n`;\n\nexport const Column = styled.section`\n\twidth: 25%;\n\tdisplay: inline-block;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\twidth: 100%;\n\t\tpadding: 1.2rem 0;\n\t}\n`;\n\nexport const Heading = styled(Paragraph)`\n\tcolor: ${white};\n\tfont-weight: ${fontWeightBold};\n\tmargin: 0;\n`;\n\nexport const LogoImg = styled.img`\n\tmargin-top: ${spacing3x};\n\tmax-height: 48px;\n`;\n\nexport const Text = styled(Paragraph)`\n\tcolor: ${white};\n\tmargin: 0;\n\tdisplay: inline-block;\n`;\n\nexport const Link = styled.a`\n\tcolor: ${white};\n\ttext-decoration: none;\n\tmargin: 0;\n\tfont-size: 1.3rem;\n\n\t&::before {\n\t\tcontent: '|';\n\t\tmargin: 0 ${spacing1x};\n\t\tcolor: ${white};\n\t}\n\n\t:hover {\n\t\ttext-decoration: underline;\n\t}\n`;\n\nexport const SocialLink = styled.a`\n\tmargin: 0;\n`;\n\nexport const LinkWrapper = styled.div`\n\tdisplay: inline-block;\n\n\t@media (max-width: ${deviceSmallMax}) {\n\t\tmargin: ${spacing1x} 0;\n\t}\n`;\n\nexport const FacebookIcon = styled(FiFacebook)`\n\t${IconCss}\n`;\n\nexport const TwitterIcon = styled(FaXTwitter)`\n\t${IconCss}\n`;\nexport const YoutubeIcon = styled(FiYoutube)`\n\t${IconCss}\n`;\nexport const InstagramIcon = styled(FiInstagram)`\n\t${IconCss}\n`;\nexport const LinkedinIcon = styled(FiLinkedin)`\n\t${IconCss}\n`;\n\nexport const RichTextWrapper = styled.div`\n\tp {\n\t\t${paragraphCss}\n\t\tcolor: ${white};\n\t}\n\ta {\n\t\t${paragraphCss}\n\t\ttext-decoration: none;\n\t\tcolor: ${white};\n\t\tcursor: pointer;\n\t\t:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n\n\tul {\n\t\t${paragraphCss}\n\t\tcolor: ${white};\n\t\tlist-style: none;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\n\t\tli {\n\t\t\tmargin: ${spacing1x} 0;\n\t\t}\n\t}\n`;\n","export default __webpack_public_path__ + \"static/media/logotype_white.1eebbb2a.svg\";","/**\n * PageFooter\n * @module components/PageFooter\n */\n\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n\tFooterContainer,\n\tBottomWrapper,\n\tLogoImg,\n\tText,\n\tColumnsWrapper,\n\tColumn,\n\tHeading,\n\tLink,\n\tSocialLink,\n\tLinkWrapper,\n\tFacebookIcon,\n\tTwitterIcon,\n\tYoutubeIcon,\n\tInstagramIcon,\n\tLinkedinIcon,\n\tRichTextWrapper,\n} from './PageFooter.styles';\nimport logotype from './logotype_white.svg';\nimport { LocalizationContext } from 'context/localization.context';\nimport useWindowSize from 'hooks/useWindowSize';\nimport Layout from 'components/ui/Layout';\nimport Icon from 'components/ui/Icon';\nimport { ViewContext } from 'context/view.context';\n\nconst renderIcon = (item) => {\n\tswitch (item.modelType) {\n\t\tcase 'FacebookLink':\n\t\t\treturn ;\n\t\tcase 'TwitterLink':\n\t\t\treturn ;\n\t\tcase 'YoutubeLink':\n\t\t\treturn ;\n\t\tcase 'InstagramLink':\n\t\t\treturn ;\n\t\tcase 'LinkedInLink':\n\t\t\treturn ;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n};\n\nconst PageFooter = ({ footer, className }) => {\n\tconst { columns, socialLinks, copyright, links } = footer;\n\tconst { t } = useContext(LocalizationContext);\n\tconst isMobile = useWindowSize(1150);\n\tconst { view, handleViewChange } = useContext(ViewContext);\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{columns && columns.length > 0 && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{columns.map((column, i) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{column.heading && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{column.heading}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{column.text && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{copyright && {copyright}}\n\n\t\t\t\t\t\t\t{links &&\n\t\t\t\t\t\t\t\tlinks.length > 0 &&\n\t\t\t\t\t\t\t\tlinks.map((item, i) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.text}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{socialLinks && socialLinks.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thandleViewChange(\n\t\t\t\t\t\t\t\t\t\t\tview === 'desktop' || (!isMobile && view === 'unset')\n\t\t\t\t\t\t\t\t\t\t\t\t? 'mobile'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'desktop'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{socialLinks.map((item, i) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{renderIcon(item)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nPageFooter.propTypes = {\n\tfooter: PropTypes.shape({\n\t\tlogoSrc: PropTypes.string,\n\t\tlogoAlt: PropTypes.string,\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\theading: PropTypes.string,\n\t\t\t\ttext: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tsocialLinks: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tlink: PropTypes.string,\n\t\t\t\ttext: PropTypes.string,\n\t\t\t\tmodelType: PropTypes.string,\n\t\t\t})\n\t\t),\n\t\tcopyright: PropTypes.string,\n\t\tlinks: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tlink: PropTypes.string,\n\t\t\t\ttext: PropTypes.string,\n\t\t\t})\n\t\t),\n\t}),\n};\n\nexport default PageFooter;\n","import PageFooter from './PageFooter';\n\nexport default PageFooter;\n","import StandardLayout from './StandardLayout';\n\nexport default StandardLayout;\n","/**\n * StandardLayout\n * @module layouts/StandardLayout\n */\n\nimport React from 'react';\nimport { useAnchorLinkNavigation } from 'hooks';\n\nimport PageHeader from 'components/framework/PageHeader';\nimport PageFooter from 'components/framework/PageFooter';\n\ninterface StandardLayoutProps {\n\tchildren?: any;\n\n\theader?: object;\n\n\tapi?: object;\n\n\tfooter?: object;\n\n\tmodelType?: string;\n\n\tsiteType?: string;\n}\n\nconst StandardLayout: React.FC = ({\n\tchildren,\n\theader,\n\tapi,\n\tfooter,\n\tmodelType,\n\tsiteType,\n}) => {\n\tuseAnchorLinkNavigation();\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t{children}\n\t\t\t{footer && }\n\t\t\n\t);\n};\n\nexport default StandardLayout;\n","import { useEffect } from 'react';\n\n// This hook checks if the url contains a hash and if so scrolls to that position, this is to fix a bug with anchorlinks on chrome on some mobile devices.\nexport function useAnchorLinkNavigation() {\n\tuseEffect(() => {\n\t\tif (window && window.navigator && window.document) {\n\t\t\tlet navigator = window.navigator;\n\t\t\tvar isChrome =\n\t\t\t\t/Chrome/.test(navigator.userAgent) &&\n\t\t\t\t/Google Inc/.test(navigator.vendor);\n\t\t\tif (window.location.hash && isChrome) {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tvar hash = window.location.hash;\n\t\t\t\t\twindow.location.hash = '';\n\t\t\t\t\twindow.location.hash = hash;\n\t\t\t\t}, 300);\n\t\t\t}\n\t\t}\n\t}, []);\n}\n","export default __webpack_public_path__ + \"static/media/logotype.ddbb3a0c.svg\";","import LogoHeader from './LogoHeader';\n\nexport default LogoHeader;\n","/* eslint-disable jsx-a11y/no-access-key */\n/**\n * LogoHeader\n */\n\nimport React, { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { LocalizationContext } from 'context/localization.context';\nimport { ViewContext } from 'context/view.context';\nimport logotype from './logotype.svg';\nimport {\n\tHeader,\n\tLogoLink,\n\tLogoImg,\n\tTopBar,\n\tLeftWrapper,\n\tMenuWrapper,\n\tLinkItem,\n\tCartWrapper,\n\tCartWrapperMobile,\n\tMobileMenuWrapper,\n\tMobileMegaMenuWrapper,\n\tHeaderLayout,\n\tMegaMenuLayout,\n} from 'components/framework/PageHeader/PageHeader.styles';\n\nimport { MegaMenu } from 'components/common/MegaMenu';\nimport Cart from 'components/ui/Cart';\nimport MobileMenu from 'components/framework/MobileMenu';\nimport MobileMegaMenu from 'components/common/MobileMegaMenu';\n\nimport MyPagesMenuDropdown from 'components/ui/MyPagesMenuDropdown';\nimport { useSelector } from 'react-redux';\nimport { selectCartObject } from 'store/modules/cart';\n\nimport useWindowSize from 'hooks/useWindowSize';\n\nconst LogoHeader = ({ header, api }) => {\n\tconst { t } = useContext(LocalizationContext);\n\tconst { view } = useContext(ViewContext);\n\tconst { cartDisabled } = useSelector(selectCartObject);\n\tconst [mobileMenuExpanded, setMobileMenuExpanded] = useState(false);\n\tconst isMobile = useWindowSize(1150);\n\tconst isSmallMobile = useWindowSize(768);\n\n\tconst { logo, megaMenu, cart, myPagesLink, loginLink, logoutLink } = header;\n\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{t('shared/header/jumptomaincontent')}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{!cartDisabled && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{megaMenu && megaMenu.items && megaMenu.items.length > 0 && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{!cartDisabled ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('shared/header/login')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nLogoHeader.propTypes = {\n\theader: PropTypes.shape({\n\t\tlogo: PropTypes.shape({\n\t\t\tlink: PropTypes.string,\n\t\t\talt: PropTypes.string,\n\t\t}),\n\t\tlogoSrc: PropTypes.string,\n\t\tlogoAlt: PropTypes.string,\n\t\tmegaMenu: PropTypes.shape({\n\t\t\titems: PropTypes.arrayOf(\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tlink: PropTypes.string,\n\t\t\t\t\ttext: PropTypes.string,\n\t\t\t\t\tactive: PropTypes.bool,\n\t\t\t\t\tchildren: PropTypes.array,\n\t\t\t\t})\n\t\t\t),\n\t\t}),\n\t\tloginLink: PropTypes.string,\n\t\tlogoutLink: PropTypes.string,\n\t\tmyPagesLink: PropTypes.string,\n\t\tcart: PropTypes.shape({\n\t\t\titems: PropTypes.number,\n\t\t}),\n\t}),\n\tapi: PropTypes.shape({\n\t\tprojectsUrl: PropTypes.string,\n\t}),\n};\n\nexport default LogoHeader;\n","import LogoOnlyLayout from './LogoOnlyLayout';\n\nexport default LogoOnlyLayout;\n","/**\n * LogoOnlyLayout\n */\nimport LogoHeader from 'components/framework/LogoHeader';\nimport PageFooter from 'components/framework/PageFooter';\n\ninterface Props {\n\theader?: object;\n\n\tfooter?: object;\n\n\tapi?: object;\n}\nconst LogoOnlyLayout: React.FC = ({ children, header, api, footer }) => {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t{children}\n\t\t\t{footer && }\n\t\t\n\t);\n};\nexport default LogoOnlyLayout;\n","/**\n * Polyfill for forEach functions on objects to work on IE/Edge\n */\nexport const polyfillForEach = () => {\n\tif (\n\t\ttypeof NodeList !== 'undefined' &&\n\t\ttypeof NodeList.prototype.forEach !== 'function'\n\t) {\n\t\tNodeList.prototype.forEach = Array.prototype.forEach;\n\t}\n};\n\n/**\n * Polyfill for find functions on objects to work on IE/Edge\n */\nexport const polyfillFind = () => {\n\tif (!Array.prototype.find) {\n\t\tObject.defineProperty(Array.prototype, 'find', {\n\t\t\tvalue: function(predicate) {\n\t\t\t\tif (this == null) {\n\t\t\t\t\tthrow new TypeError('this is null or not defined');\n\t\t\t\t}\n\n\t\t\t\tvar obj = Object(this);\n\t\t\t\tvar len = obj.length >>> 0;\n\n\t\t\t\tif (typeof predicate !== 'function') {\n\t\t\t\t\tthrow new TypeError('predicate must be a function');\n\t\t\t\t}\n\n\t\t\t\tvar thisArg = arguments[1];\n\n\t\t\t\tvar index = 0;\n\n\t\t\t\twhile (index < len) {\n\t\t\t\t\tvar iValue = obj[index];\n\t\t\t\t\tif (predicate.call(thisArg, iValue, index, obj)) {\n\t\t\t\t\t\treturn iValue;\n\t\t\t\t\t}\n\t\t\t\t\tindex++;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t});\n\t}\n};\n\nexport const polyfillDownload = () => {\n\tif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n\t\tconst downloadAttributeSupport = 'download' in document.createElement('a');\n\t\tconst msSaveBlob = typeof window.navigator.msSaveBlob !== 'undefined';\n\n\t\tif (!downloadAttributeSupport && msSaveBlob) {\n\t\t\tdocument.addEventListener('click', evt => {\n\t\t\t\tconst { target } = evt;\n\t\t\t\tconst { tagName } = target;\n\n\t\t\t\tif (tagName === 'A' && target.hasAttribute('download')) {\n\t\t\t\t\tevt.preventDefault();\n\n\t\t\t\t\tconst { href } = target;\n\t\t\t\t\tconst fileName = new URL(href).pathname.split('/').pop();\n\n\t\t\t\t\tconst xhr = new XMLHttpRequest();\n\n\t\t\t\t\txhr.open('GET', href);\n\n\t\t\t\t\txhr.responseType = 'blob';\n\n\t\t\t\t\txhr.onreadystatechange = () => {\n\t\t\t\t\t\tif (xhr.readyState !== 4) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (xhr.status === 200) {\n\t\t\t\t\t\t\twindow.navigator.msSaveBlob(xhr.response, fileName);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t\t\t'download-attribute-polyfill:',\n\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\txhr.send();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\nexport const polyFillStartsWith = () => {\n\tif (!String.prototype.startsWith) {\n\t\tObject.defineProperty(String.prototype, 'startsWith', {\n\t\t\tvalue: function(search, rawPos) {\n\t\t\t\tvar pos = rawPos > 0 ? rawPos | 0 : 0;\n\t\t\t\treturn this.substring(pos, pos + search.length) === search;\n\t\t\t},\n\t\t});\n\t}\n};\n","import React, { useEffect } from 'react';\nimport * as Pages from './pages';\nimport './styles/global.scss';\nimport './styles/tailwind.output.css';\nimport objectFitImages from 'object-fit-images';\nimport { StyledToastContainer } from 'components/ui/StyledToast';\nimport { LocalizationProvider } from 'context/localization.context';\n\nimport {\n\t//polyfillFind,\n\tpolyfillForEach,\n\tpolyfillDownload,\n\t//polyFillStartsWith,\n} from 'common/polyfills';\n\nimport StandardLayout from 'layouts/StandardLayout';\nimport LogoOnlyLayout from 'layouts/LogoOnlyLayout';\nimport ViewProvider from 'context/view.context';\n\n// polyfillFind();\npolyfillForEach();\npolyfillDownload();\n// polyFillStartsWith();\n\nconst App = (props) => {\n\tconst { footer, header, api, localization, siteType } = props.framework;\n\tlet Page = Pages.get(props);\n\n\tuseEffect(() => {\n\t\tobjectFitImages();\n\n\t\tif (window.dataLayer && siteType === 'Lindab') {\n\t\t\twindow.dataLayer.push({\n\t\t\t\tevent: 'epilogin_status',\n\t\t\t\tloggedIn: header.userObject.customers.length > 0 ? true : false,\n\t\t\t});\n\t\t}\n\t\t//eslint-disable-next-line\n\t}, []);\n\n\tconst PageLayout =\n\t\tprops.modelType === 'CheckoutPage' ? LogoOnlyLayout : StandardLayout;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default App;\n","import ReactDOM from 'react-dom';\nimport App from './App';\nimport initStore from 'store';\nimport { Provider } from 'react-redux';\nimport { getPageData } from 'common/dataHandler';\nimport 'react-app-polyfill/stable';\nimport 'styles/fonts.scss';\nimport { getPreloadedState } from 'common/helpers';\n\n// Start mock API serviceworker\nif (process.env.NODE_ENV === 'development') {\n\tconst { worker } = require('./mocks/browser');\n\tworker.start();\n}\n\nconst model = window.__model || {\n\tframework: {\n\t\treact: {\n\t\t\tcontainerId: 'root',\n\t\t\tclientOnly: true,\n\t\t\trenderWithMockupData: true,\n\t\t},\n\t},\n};\n\nconst render = (model) => {\n\tconst element = document.getElementById(model.framework.react.containerId);\n\n\tif (element) {\n\t\tif (model.framework.react.clientOnly) {\n\t\t\tif (model.framework.react.renderWithMockupData) {\n\t\t\t\tgetPageData().then((data) => {\n\t\t\t\t\tconst { framework, ...pageData } = data;\n\n\t\t\t\t\tmodel = {\n\t\t\t\t\t\tframework: {\n\t\t\t\t\t\t\t...model.framework,\n\t\t\t\t\t\t\t...framework,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...pageData,\n\t\t\t\t\t};\n\t\t\t\t\tReactDOM.render(\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t,\n\t\t\t\t\t\telement\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tReactDOM.render(\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t,\n\t\t\t\t\telement\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tReactDOM.render(\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t,\n\t\t\t\telement\n\t\t\t);\n\t\t}\n\t}\n};\n\nrender(model);\n","import frameworkData from 'data/static/framework';\nimport translationsData from 'data/static/translations';\n\n/**\n * Returns page data based on pathname\n * ! Only used for frontend mockup data\n */\nexport const getPageData = () => {\n\tlet path = window.location.pathname.slice(1);\n\n\tif (path === '') {\n\t\tpath = 'start';\n\t} else if (path === 'styleguide') {\n\t\treturn;\n\t}\n\n\tlet data = {\n\t\tframework: {\n\t\t\t...frameworkData,\n\t\t\tlocalization: translationsData,\n\t\t},\n\t};\n\n\treturn import(`data/pages/${path}`)\n\t\t.then(pageData => {\n\t\t\tdata = { ...data, ...pageData.default };\n\t\t\treturn data;\n\t\t})\n\t\t.catch(() => {\n\t\t\treturn import(`data/pages/404`).then(pageData => {\n\t\t\t\tdata = { ...data, ...pageData.default };\n\t\t\t\treturn data;\n\t\t\t});\n\t\t});\n};\n"],"sourceRoot":""}