{"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/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/SectionHeader.styles.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","fastCheckout","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","selectedFastCheckout","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","buttonBaseStyle","LinkButton","CustomExternalScriptContainer","squareIcon","checkSquareIcon","circleIcon","checkCircleIcon","CustomExternalScript","SectionHeaderLayout","SectionHeaderWrapper","SectionHeader","handleFastCheckoutChange","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","inputRefs","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.3a4838bf.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\":\"3e33d70b\",\"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\tfastCheckout?: 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\tfastCheckout,\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\tfastCheckout === true\n\t\t\t? '&fastcheckout=false'\n\t\t\t: fastCheckout === false\n\t\t\t? '&fastcheckout=true'\n\t\t\t: '',\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\tselectedFastCheckout?: 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\t//Delete fastCheckout if it is not included in the payload to avoid showing it in the cart page when there is less than 101 items in the cart\n\t\t\tif (!action?.payload?.fastCheckout && state.cartObject?.fastCheckout) {\n\t\t\t\tdelete state.cartObject.fastCheckout;\n\t\t\t}\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\tselectedFastCheckout,\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\tfastCheckout: selectedFastCheckout,\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, { 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 styled from 'styled-components';\nimport { H3Css } from 'components/ui/Typography';\nimport { spacing3x, spacing4x, spacing2x, spacing1x } from 'theme/spacings';\nimport Button from 'components/ui/Button';\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\t@media (max-width: ${deviceMediumMax}) {\n\t\tmax-width: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t}\n`;\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}\n\t& > svg {\n\t\tmargin-bottom: 0.1rem;\n\t}\n`;\n","import SectionHeader from './SectionHeader';\n\nexport default SectionHeader;\n","/**\n * SectionHeader\n * @module components/SectionHeader\n */\n\nimport clsx from 'clsx';\nimport {\n\tGenericWarning,\n\trenderElementBasedOnEditMode,\n\tServerError,\n\tt,\n} from 'common/helpers';\nimport CustomExternalScript from 'components/framework/CustomExternalScript';\nimport RichText from 'components/ui/RichText';\nimport React from 'react';\nimport { FiChevronsLeft, FiChevronsRight } from 'react-icons/fi';\nimport { useDispatch } from 'react-redux';\nimport { toast } from 'react-toastify';\nimport { UpdateCart } from 'store/modules/cart';\nimport { FastCheckout } from 'types/cart-types';\nimport { ContentButton } from './SectionHeader.styles';\nimport {\n\tSectionHeaderLayout,\n\tSectionHeaderWrapper,\n} from './SectionHeader.styles';\n\ninterface Sectionheader {\n\ttitle?: string;\n\tfastCheckout?: FastCheckout;\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 {\n\t\theading,\n\t\ttext,\n\t\tfastCheckout,\n\t\tsize,\n\t\tisInEditMode,\n\t\theadingLevel,\n\t\tclassName,\n\t} = props;\n\tconst dispatch = useDispatch();\n\n\tconst handleFastCheckoutChange = async () => {\n\t\ttry {\n\t\t\tdispatch(\n\t\t\t\tUpdateCart({\n\t\t\t\t\tselectedFastCheckout: fastCheckout?.active,\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: 'error' });\n\t\t\t} else if (err instanceof GenericWarning) {\n\t\t\t\ttoast(err.message, { 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
\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 || false,\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-6 font-normal text-h2 md:text-h1 text-blue',\n\t\t\t\t\t\t\t\t\tas: headingLevel,\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\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{fastCheckout && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleFastCheckoutChange()}\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{fastCheckout?.active ? (\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{fastCheckout.buttonText}\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\t{fastCheckout.buttonText}\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\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 React, { 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 inputRefs = React.useRef<\n\t\t(HTMLInputElement | HTMLSelectElement | null)[]\n\t>([]);\n\n\tuseEffect(() => {\n\t\tif (confOptions && confOptions?.length > 0) {\n\t\t\tfor (let i = confOptions.length - 1; i >= 0; i--) {\n\t\t\t\tif (!confOptions[i].disabled && inputRefs.current[i]) {\n\t\t\t\t\tinputRefs.current[i]?.focus();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [confOptions]);\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\tref={(el) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(inputRefs.current[index] = el)\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\tref={(el) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(inputRefs.current[index] = el)\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 === '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\tref={(el) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(inputRefs.current[index] = el)\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) : 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\tfastCheckout,\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":""}