{"version":3,"sources":["elements/external-link/index.ts","types/general.ts","types/form.ts","types/state.ts","types/api.ts","assets/icons/close.svg","components/icon-button/IconButton.tsx","components/button/hooks/useButtonEffect.ts","components/button/Button.tsx","assets/icons/arrow-left.svg","assets/icons/arrow-right.svg","assets/icons/fullscreen.svg","assets/icons/search.svg","assets/icons/chevron-left.svg","assets/icons/chevron-right.svg","assets/icons/chevron-up.svg","assets/icons/chevron-down.svg","assets/icons/play.svg","assets/icons/filter.svg","assets/icons/file.svg","assets/icons/cube.svg","assets/icons/book.svg","assets/icons/cursor.svg","assets/icons/verified.svg","assets/icons/video.svg","assets/icons/globe.svg","assets/icons/tag.svg","assets/icons/user.svg","assets/icons/policy.svg","assets/icons/briefcase.svg","assets/icons/goal.svg","assets/icons/bar-chart.svg","assets/icons/squares.svg","assets/icons/phase.svg","assets/icons/farseer.svg","assets/icons/eye.svg","assets/icons/method-subtool.svg","assets/icons/theory-subtool.svg","assets/icons/rhombus.svg","services/LoggerService.ts","services/LazyLoadService.ts","services/i18n/I18nService.ts","services/URLService.ts","config.ts","services/api/NewsletterService.ts","services/api/SearchService.ts","components/modal/Modal.tsx","utils/getRenderRoot.ts","utils/formatDate.ts","utils/getTeaserTitle.tsx","utils/normalizeSearchResult.ts","utils/getToolTypeIcon.tsx","utils/hooks/useOnPersistedPageShow.ts","components/gallery-modal/GalleryModal.tsx","components/gallery-slide/GallerySlide.tsx","components/gallery-slide/ImageSlide.tsx","components/gallery-slide/VideoSlide.tsx","components/embed/Embed.tsx","utils/hooks/useCloseOnEscape.ts","components/embed/EmbedCode.tsx","components/message/Message.tsx","components/loader/Loader.tsx","components/pager/Pager.tsx","components/breadcrumbs/Breadcrumbs.tsx","components/facets/components/ActiveFacet.tsx","components/facets/components/ActiveFacets.tsx","components/facets/components/Facets.tsx","utils/hooks/useBreakpoint.ts","components/facets/components/FacetsTrigger.tsx","components/facets/components/MobileFacets.tsx","components/label/Label.tsx","components/language-switch/LanguageSwitch.tsx","utils/hooks/useOnClickOutside.ts","components/form/fields/InputField.tsx","components/form/components/FormRequired.tsx","components/form/components/FormLabel.tsx","components/form/components/SubmitButton.tsx","components/form/components/FormText.tsx","components/form/fields/CheckboxField.tsx","components/form/fields/CheckboxGroup.tsx","components/form/hooks/useExpandableOptions.tsx","components/form/fields/SelectField.tsx","components/form/FormBuilder.tsx","components/newsletter-form/components/formSchema.ts","components/newsletter-form/components/NewsletterForm.tsx","components/search/components/SearchField.tsx","components/search/components/SearchMessage.tsx","components/site-search/components/SearchResults.tsx","components/site-search/components/SiteSearch.tsx","components/search-filter/components/SearchFilter.tsx","components/search-filter/components/SearchFilterItem.tsx","components/search-filter/components/SearchFilterDropdown.tsx","components/tool-search/components/ToolSearchResults.tsx","components/tool-search/components/ToolSearchMessage.tsx","components/tool-quick-search/components/formSchema.ts","components/tool-quick-search/components/ToolQuickSearchForm.tsx","components/toolbox-quick-search/components/formSchema.ts","components/toolbox-quick-search/components/ToolboxQuickSearchForm.tsx","components/toolbox-search/ToolboxSearch.tsx","components/toolbox-search/index.tsx","components/teasers/default-teaser/DefaultTeaser.tsx","components/teasers/horizontal-teaser/HorizontalTeaser.tsx","components/image/index.tsx","components/gallery/index.tsx","components/video/index.tsx","components/button/index.ts","components/faq/FaqItem.ts","components/faq/index.ts","components/embed/EmbedBlockerContainer.tsx","utils/hooks/useCheckCookieConsent.ts","components/embed/index.tsx","components/header/index.ts","components/newsletter-form/state/index.ts","components/site-search/state/index.ts","components/search-filter/state/index.ts","components/tool-search/state/index.ts","state.ts","components/newsletter-form/containers/NewsletterFormContainer.tsx","components/newsletter-form/index.tsx","components/horizontal-info/index.ts","components/language-switch/index.tsx","components/teasers/default-teaser/index.ts","components/site-search/utils/hooks/useMenuOverlayClose.ts","components/site-search/containers/SiteSearchContainer.tsx","components/site-search/index.tsx","components/search-filter/containers/SearchFilterContainer.tsx","components/search-filter/index.tsx","components/tool-search/utils/queryParamConfig.ts","components/tool-search/utils/mapFacetSlugToKey.ts","components/tool-search/containers/ToolSearchContainer.tsx","components/tool-search/utils/hooks/useActiveFacets.ts","components/tool-search/data/formSchema.ts","components/tool-search/containers/ToolSearchFacetsContainer.tsx","components/tool-search/containers/ToolSearchResultsContainer.tsx","components/tool-search/index.tsx","components/tool-quick-search/containers/ToolQuickSearchContainer.tsx","components/tool-quick-search/index.tsx","components/inclusion/useTableSearch.ts","components/inclusion/tableTypes.ts","components/inclusion/components/Star.tsx","components/inclusion/components/NewCircle.tsx","components/inclusion/components/InclusionTableRow.tsx","components/tussendoortjes/components/TussendoortjesTableRow.tsx","components/inclusion/components/TableContent.tsx","components/inclusion/components/TableFilters.tsx","components/inclusion/components/TableSearch.tsx","components/inclusion/components/TableWrapper.tsx","components/inclusion/index.tsx","components/tussendoortjes/useTussendoortjes.ts","components/tussendoortjes/components/TableFIlters.tsx","components/tussendoortjes/components/TableWrapper.tsx","components/tussendoortjes/index.tsx","components/toolbox-quick-search/containers/ToolboxQuickSearchContainer.tsx","components/toolbox-quick-search/index.tsx","index.ts"],"names":["textBlocks","document","querySelectorAll","length","forEach","textBlock","isSmall","classList","contains","externalLinks","link","_link$parentNode","_link$firstChild","add","parentNode","nodeName","firstChild","remove","textOuterWrapper","createElement","textInnerWrapper","innerHTML","appendChild","ButtonTheme","MessageTheme","BreakpointSize","VideoType","EntityType","ToolType","TeaserHeadingType","CookieCategories","Single","IFieldType","ToolFacetType","ToolboxFacetType","IAPIState","NewsletterMessageType","_path","IconButton","_ref","Icon","label","_ref$theme","theme","primary","_ref$size","size","className","disabled","onClick","rest","_objectWithoutProperties","_excluded","_jsxs","_objectSpread","classnames","secondary","type","tabIndex","children","_jsx","useButtonEffect","buttonRef","_useState","useState","x","y","opacity","_useState2","_slicedToArray","effectStyles","setEffectStyles","useEffect","currentButtonRef","current","onButtonMouseDown","event","currentButton","currentTarget","clientX","getBoundingClientRect","left","clientY","top","setTimeout","addEventListener","removeEventListener","concat","Button","url","text","_ref$layout","layout","PrefixIcon","SuffixIcon","isLoading","outline","anchorRef","useRef","anchorEffect","buttonEffect","buttonClasses","useMemo","classNames","style","ref","_Fragment","Loader","href","_extends","Object","assign","bind","target","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgClose","svgRef","title","titleId","props","width","height","viewBox","fill","xmlns","id","fillRule","clipRule","d","ForwardRef","SvgArrowLeft","SvgArrowRight","SvgFullscreen","SvgSearch","stroke","strokeWidth","SvgChevronLeft","SvgChevronRight","SvgChevronUp","SvgChevronDown","_defs","_g","SvgPlay","filterUnits","dy","in","result","stdDeviation","values","filter","transform","SvgFilter","_path2","SvgFile","SvgCube","_rect","_rect2","_rect3","SvgBook","rx","SvgCursor","SvgVerified","SvgVideo","SvgGlobe","SvgTag","SvgUser","SvgPolicy","clipPath","SvgBriefcase","SvgGoal","_path3","SvgBarChart","_path4","SvgSquares","SvgPhase","SvgFarseer","SvgEye","_path5","SvgMethodSubtool","SvgTheorySubtool","LOGGER_KEY","loggerService","LoggerService","_this","_classCallCheck","log","icon","body","logsEnabled","console","group","groupEnd","currentEnv","table","window","enableWieniLogs","localStorage","setItem","disableWieniLogs","_createClass","value","getLoggerKey","JSON","parse","getItem","freeze","lazyLoadService","LazyLoadService","observer","observe","lozad","i18nService","I18nService","copy","translationContainer","querySelector","translations","dataset","i18n","get","documentElement","lang","URLService","singlePaths","getSinglePath","generateSearchUrl","query","page","generatePath","searchUrlPattern","generateToolSearchUrl","data","queryParams","stringify","skipNull","skipEmptyString","toolSearch","generateToolboxSearchUrl","toolboxSearch","singlePathsContainer","paths","search","urlService","config","API","NEWSLETTER","SEARCH","TOOL_SEARCH","TOOLBOX_SEARCH","NEWSLETTER_API_MESSAGES","general","success","already_subscribed","NewsletterService","subscribe","Promise","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resolve","reject","_responseData$filter","_responseData$filter2","response","responseData","successCodes","errorCodes","_error$response","_error$response$data","wrap","_context","prev","next","axios","method","langcode","currentLanguage","location","sent","isArray","successMessage","item","message","map","error","t0","stop","_x","_x2","SearchService","request","subTool","params","o","amount","a","q","term","undefined","facets","prioritiseDossiersAndTools","err","abrupt","statusText","searchTools","_ref2","_callee2","_error$response2","_context2","_x3","_x4","RenderRoot","Modal","handleClose","ReactModal","isOpen","shouldCloseOnEsc","shouldCloseOnOverlayClick","onRequestClose","overlayClassName","appElement","Close","getRenderRoot","root","modal","convertMinutesToDate","minutes","Date","toLocaleDateString","year","month","day","getTeaserTitle","headingType","h3","join","dangerouslySetInnerHTML","__html","h4","getMeta","publishedOn","publishedDate","created","bundle","article","timestamps","event_timestamps","days","slice","sort","nbDays","firstDay","lastDay","till","startsOn","event_type","getMediaLabel","tool","toolType","_result$document$tool","getToolTypeIcon","getTeaserType","_result$document$tool2","getBundleType","dossier","normalizeSearchResult","intro","highlights","meta","image","metaImage","breadcrumbs","mediaLabel","teaserType","poster","FileIcon","educationalMaterial","Cube","leaflet","Book","game","Cursor","test","Verified","video","Video","website","Globe","policy","Policy","useOnPersistedPageShow","callback","persisted","GalleryModal","_ref$images","images","_ref$videos","videos","_ref$initIndex","initIndex","swiper","setSwiper","_useState3","_useState4","setIsOpen","_useState5","_useState6","currentIndex","setCurrentIndex","modalRoot","unmountComponentAtNode","slideProps","useCallback","index","isActive","currentSlide","totalSlides","isPrevActive","isNextActive","handlePrevClick","slidePrev","handleNextClick","slideNext","renderImages","SwiperSlide","ImageSlide","renderVideos","VideoSlide","Swiper","initialSlide","onSwiper","s","onSlideChange","activeIndex","keyboard","enabled","GallerySlide","media","description","ArrowLeft","ArrowRight","preview","backgroundImage","iframe","playerLoaded","setPlayerLoaded","playing","setPlaying","iframeRef","cleanURL","vimeo","parsedURL","URL","cleanParams","omit","origin","pathname","handlePlayerReady","src","searchParams","set","toString","setAttribute","ReactPlayer","onReady","controls","onPlay","onPause","youtube","embedOptions","host","HIDE_CLASS","SHOW_CLASS","Embed","embed","allowEnlarge","blockElement","isFullscreen","setFullscreen","closeOnEscape","code","Fullscreen","EmbedCode","instgrm","Embeds","process","decodeURIComponent","replace","domNode","attribs","script","async","head","Message","status","role","Pager","currentPage","totalPages","onPageChange","showPrevButton","showNextButton","pages","Array","from","_","visiblePages","startFromCurrent","showPrevEllipsis","showNextEllipsis","ChevronLeft","ChevronRight","Breadcrumbs","breadcrumb","_breadcrumb$links","isMultiLink","links","_breadcrumb$links2","ActiveFacet","_activeFacet$activeOp","activeFacet","activeOptions","option","ActiveFacets","activeFacets","clearAllFacets","Facets","fields","defaultValues","mobileTitle","nbResults","isMobileOpen","setMobileOpen","renderFacets","FormBuilder","onFormSubmit","breakpoint","m","breakpointMatches","matchMedia","matches","setMatches","updateMatches","useBreakpoint","FacetsTrigger","nbActiveFacets","MobileFacets","buttonText","Filter","_i18nService$copy$cop","copyKey","String","Label","renderInner","LanguageSwitch","handler","items","setOpen","find","active","containerRef","listener","FocusTrap","focusTrapOptions","preventScroll","clickOutsideDeactivates","onDeactivate","language","ChevronUp","ChevronDown","InputField","forwardRef","name","required","onChange","debouncedOnChange","debounce","htmlFor","FormLabel","autoComplete","FormRequired","hideLabel","labelIcon","SubmitButton","isSubmitting","FormText","CheckboxField","CheckboxGroup","options","control","validation","triggerOnChange","_useExpandableOptions","expandableOptions","expandable","_expandableOptions$ex","expandableLimit","expandableMoreText","expandableLessText","isExpanded","setExpanded","visibleOptions","hiddenOptionIsActive","includes","nbHiddenOptions","renderExpandableButton","useExpandableOptions","Controller","rules","defaultValue","render","_ref2$field","field","_createElement","checked","e","_newValue","newValue","_e$target","checkboxValue","oldValue","_toConsumableArray","SelectField","prefixText","_ref$className","selectedLabel","setSelectedLabel","selected","setSelected","selectedOption","currentValue","submitLabel","isSubmitted","disableAfterSubmit","resetLabel","handleReset","_ref$submitMode","submitMode","_ref$resetDefaultValu","resetDefaultValues","_useForm","useForm","reset","register","handleSubmit","watch","_useForm$formState","formState","errors","isDirty","isValid","formIsDisabled","renderField","staticText","_excluded2","renderStaticField","_field$validation","_excluded3","email","password","inputValue","checkbox","checkboxGroup","select","isSubmitDisabled","onSubmit","makeSchema","newsletters","pattern","NewsletterForm","clearState","pending","succeeded","SearchField","_ref$searchType","searchType","initSearchValue","_ref$onSubmit","_ref$onChange","menuOverlayOpen","_ref$isOpen","onInputFocus","onInputBlur","_ref$showFocusShadow","showFocusShadow","onInputClick","setError","searchValue","setSearchValue","debouncedOnSubmit","preventDefault","placeholder","onFocus","onBlur","Search","SearchMessage","total","hasSearched","SearchResults","results","_ref$currentPage","HorizontalTeaser","SiteSearch","onSearch","pager","SearchFilter","autosuggest","isFocus","setIsFocus","isDropdownOpen","setDropdownOpen","keysPressed","handleEscape","handleKeyDown","currentElement","activeElement","blur","focusElement","focus","_document$querySelect","nextElement","nextElementSibling","nextButton","handleKeyUp","SearchFilterDropdown","SearchFilterItem","searchFilterDropdownRef","dropdownRef","onKeyDown","firstListItem","searchFilterItems","_searchFilterItems","_searchFilterItems2","_searchFilterItems3","_searchFilterItems$","ToolSearchResults","DefaultTeaser","ToolSearchMessage","_i18nService$copy","nbItems","isError","noResultMessage","facetsWithoutType","facet","_i18nService$copy$too","slug","capitalize","split","toLowerCase","mapValues","keyBy","ToolQuickSearchForm","ToolboxQuickSearchForm","ToolboxSearch","_ref$toolboxSearchDat","toolboxSearchData","subToolTypeOptions","phaseOptions","parentToolId","setTerm","_useQueryParam","useQueryParam","StringParam","_useQueryParam2","subToolType","setSubToolType","_useQueryParam3","_useQueryParam4","phase","setPhase","setResults","_results","parentTool","renderSVG","TheorySubtool","MethodSubtool","Eye","Farseer","Squares","_ref3","Phase","_ref4","_result$document$subT","_result$document$subT2","alt","toolboxSearchContainers","toolboxSearchContainer","_i18nService$copy$too2","toolboxSearchParentToolId","ReactDOM","BrowserRouter","QueryParamProvider","ReactRouterRoute","Route","stringifyOptions","transformSearchString","transformSearchStringJsonSafe","_ref$headingType","h2","isVideo","Play","imageBlocks","MODAL_ROOT","imageBlock","imageInfo","SwiperCore","use","Navigation","Keyboard","galleryBlocks","galleryBlock","_swiperContainer$quer","_swiperContainer$quer2","index1","swiperClass","swiperPrevClass","swiperNextClass","element","swiperContainer","parentElement","slidesPerView","spaceBetween","preloadImages","updateOnImagesReady","updateOnWindowResize","navigation","prevEl","nextEl","init","imagesLoaded","update","imageElements","slide","galleryImage","imageElement","videoBlocks","videoBlock","videoTeasers","videoTeaser","buttons","button","setProperty","FaqItem","faqItem","headerClass","contentClass","activeClass","inactiveClass","faq","question","answer","hiddenText","toggleCollapse","_this$question","toggle","textContent","EmbedBlockerContainer","isSocialEmbed","checkConsent","category","timer","setInterval","consent","setConsent","checkSocialCookiesAllowed","_window","_window$Cookiebot","Cookiebot","clearInterval","useCheckCookieConsent","marketing","show","embedBlock","embedInfo","header","closeMenuButton","headerLogo","menuMain","lastChildMenuMain","_menuMain$lastElement","lastElementChild","_menuMain$lastElement2","_menuMain$lastElement3","previousElement","openMenuButton","openMenu","closeMenu","initPath","rootSearchUrl","scrollTo","offsetTop","offsetLeft","initialMeta","idle","newsletterSubscribe","createAsyncThunk","newsletterData","rejectWithValue","newsletterSlice","createSlice","initialState","reducers","clearNewsletterMeta","state","payload","extraReducers","builder","addCase","arg","rejected","_ref5","failed","fulfilled","_ref6","_payload$errorCodes","newsletterMetaSelector","createSelector","newsletter","newsletterIdSelector","actions","newsletterReducer","reducer","pagination","doSearch","searchSlice","clearSearchState","searchMetaSelector","searchDataSelector","searchReducer","initData","doSearchFilter","searchFilterData","searchFilterSlice","clearSearchFilterState","searchFilterIdSelector","searchFilter","searchFilterReducer","toolSearchSlice","clearToolSearchState","toolSearchMetaSelector","toolSearchDataSelector","toolSearchReducer","combineReducers","store","configureStore","NewsletterFormContainer","_useSelector","useSelector","dispatch","useDispatch","getSuccessMessage","subscribedNewsletters","_newsletters$find","getError","alreadySubscribedNewsletters","_newsletters$find2","_data","chosenNewsletters","chosenNewsletter","unique_id","audience_id","audience","segment_id","segment","cleanData","audiences","newsletterFormContainers","newsletterFormContainer","newsletterForm","Provider","uuid","horizontalInfos","horizontalInfo","horizontalInfoBtn","horizontalInfoInner","innerWidth","languageSwitch","languageSwitchData","languageSwitchItems","teaser","_teaser$querySelector","SiteSearchContainer","redirectPath","currentQuery","searchContainer","history","useHistory","_useParams","useParams","initQuery","initPage","initState","setMenuOverlayOpen","onMenuOverlayOpen","onMenuOverlayClose","useMenuOverlayClose","dispatchSearch","initSearchPerformed","handlePageChange","scrollIntoView","Math","ceil","pathIsSearchUrl","searchProps","Switch","exact","path","component","SearchFilterContainer","searchFilterMetaSelector","searchFilterDataSelector","dispatchClearState","searchFilterContainers","searchFilterContainer","CommaArrayParam","encode","array","encodeDelimitedArray","decode","arrayStr","decodeDelimitedArray","mapFacetSlugToKey","queryFacets","mapKeys","_facets$find","ToolSearchContainer","initQueryFacets","withDefault","_useQueryParams","useQueryParams","_useQueryParams2","setQueryFacets","queryTerm","setQueryTerm","NumberParam","queryPage","setQueryPage","_useActiveFacets","resetTerm","activeFacetsMap","_defineProperty","facetOptionLabels","getActiveOptions","activeOption","activeTerm","useActiveFacets","areQueryParamsValid","queryFacetsByKey","every","queryOptions","facetOptions","queryOptionID","facetOption","ToolSearchFacetsContainer","ToolSearchResultsContainer","handleChangeTerm","handleChangeFacet","isFirstScrollRender","scrollRef","createRef","_document$scrollingEl","scrollingElement","scrollTop","behavior","toolSearchData","ToolQuickSearchContainer","setLoading","toolQuickSearchContainers","toolQuickSearchContainer","toolQuickSearch","toolQuickSearchData","Type","thema","target_audience","material","sortColumn","sortDirection","favorites","TABLE_TYPES","Star","filled","ariaLabel","isCheckbox","colors","onKeyPress","NewCircle","mixBlendMode","InclusionTableRow","_ref$row","row","spotlight","organisation","cta_attachment","cta_tool","rowIndex","expandedRowTitle","toggleRow","addToFavorites","removeFromFavorites","colSpan","open","renderDifficulty","difficulty","TussendoortjesTableRow","themes","goals","learning_areas","key_competencies","cta_link","Goal","Briefcase","User","startsWith","TableContent","filteredRows","handleSort","tableHeaders","tableType","setExpandedRowTitle","scope","INCLUSION","TUSSENDOORTJES","TableFilters","_ref$themaOptions","themaOptions","_ref$targetAudienceOp","targetAudienceOptions","_ref$materialOptions","materialOptions","setThema","setTargetAudience","setMaterial","Tag","TableSearch","setSearch","TableWrapper","_useTableSearch","rows","_useReducer","useReducer","SET_SEARCH","SET_THEMA","SET_TARGET_AUDIENCE","SET_MATERIAL","SET_SORT_COLUMN","SET_SORT_DIRECTION","ADD_TO_FAVORITES","favorite","REMOVE_FROM_FAVORITES","without","_useReducer2","sortBy","uniq","flat","_i18nService$copy$too3","filtered","_ref7","match","t","matchesSearch","matchesTheme","some","matchesTargetAudience","matchesMaterial","b","_state$favorites","_state$favorites2","aIsFavorite","bIsFavorite","_state$favorites3","_state$favorites4","compareValueA","trim","compareValueB","val","column","direction","useTableSearch","_useTableSearch$state","_useTableSearch$actio","overflowX","marginBottom","_document$getElementB","containers","getElementById","_ref$difficultyOption","difficultyOptions","setDifficulty","BarChart","_useTussendoortjes","SET_DIFFICULTY","matchesDifficulty","parseInt","useTussendoortjes","_useTussendoortjes$st","_useTussendoortjes$ac","ToolboxQuickSearchContainer","toolboxQuickSearchContainers","toolboxQuickSearchContainer","toolboxQuickSearch","toolboxQuickSearchData"],"mappings":"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","file":"js/global.5df46655.chunk.js","sourcesContent":["(() => {\n const textBlocks = document.querySelectorAll(\".text\");\n\n if (!textBlocks.length) return;\n\n textBlocks.forEach((textBlock) => {\n const isSmall = textBlock.classList.contains(\"is-small\");\n const externalLinks = textBlock.querySelectorAll(\n \".text a[target=_blank]:not([class])\"\n );\n\n if (!externalLinks.length) return;\n\n // add extra span inside external links\n // for better external icon rendering\n // \n // {text}\n // \n externalLinks.forEach((link) => {\n link.classList.add(\"link\", \"is-dark\");\n\n const isBold =\n link.parentNode?.nodeName === \"STRONG\" ||\n link.firstChild?.nodeName === \"STRONG\";\n\n if (isBold) {\n link.classList.add(\"is-bold\");\n }\n\n if (isSmall) {\n link.classList.add(\"is-small\");\n link.classList.remove(\"is-dark\");\n }\n\n // create .link__text span\n const textOuterWrapper = document.createElement(\"span\");\n textOuterWrapper.classList.add(\"link__inner\");\n\n const textInnerWrapper = document.createElement(\"span\");\n textInnerWrapper.classList.add(\"link__text\");\n\n // add span inside link\n textInnerWrapper.innerHTML = link.innerHTML;\n link.innerHTML = \"\";\n textOuterWrapper.appendChild(textInnerWrapper);\n link.appendChild(textOuterWrapper);\n });\n });\n})();\n\nexport {};\n","export enum ButtonTheme {\n primary = \"primary\",\n secondary = \"secondary\",\n tertiary = \"tertiary\",\n}\n\nexport enum MessageTheme {\n status = \"status\",\n error = \"error\",\n success = \"success\",\n warning = \"warning\",\n}\n\n// Keep in sync with drupack/resources/config/_breakpoints.scss\nexport enum BreakpointSize {\n s = 426,\n m = 768,\n l = 1024,\n xl = 1440,\n xxl = 1650,\n}\n\nexport interface IImage {\n image: string;\n preview?: string;\n alt?: string;\n title?: string;\n description?: string;\n}\n\nexport enum VideoType {\n vimeo = \"vimeo\",\n youtube = \"youtube\",\n}\n\nexport interface IVideo {\n url: string;\n title?: string;\n description?: string;\n iframe?: string;\n hasControls: boolean;\n type: VideoType;\n}\n\nexport interface IEmbed {\n embed: string;\n allowEnlarge?: boolean;\n isSocialEmbed?: boolean;\n noEmbed?: boolean;\n}\n\nexport interface IPager {\n onPageChange: (page: number) => void;\n currentPage: number;\n totalPages: number;\n}\n\nexport interface ISingleBreadcrumb {\n text: string;\n url: string;\n}\n\nexport interface IBreadcrumb extends ISingleBreadcrumb {\n isMultiLink?: boolean;\n links?: ISingleBreadcrumb[];\n}\n\nexport enum EntityType {\n tool = \"tool\",\n page = \"page\",\n article = \"article\",\n dossier = \"dossier\",\n event = \"event\",\n subTool = \"sub-tool\",\n}\n\nexport enum ToolType {\n poster = \"poster\",\n educationalMaterial = \"educational_material\",\n leaflet = \"leaflet\",\n game = \"game\",\n test = \"test\",\n video = \"video\",\n website = \"website\",\n policy = \"policy\",\n}\n\nexport interface IAutosuggest {\n title: string;\n url: string;\n bundle: string;\n}\nexport interface ISearchFilter {\n autosuggest?: IAutosuggest[];\n type: EntityType;\n apiUrl?: string;\n parentToolId?: string;\n}\n\nexport enum TeaserHeadingType {\n h2,\n h3,\n h4,\n}\n\nexport enum CookieCategories {\n necessary = \"necessary\",\n preferences = \"preferences\",\n statistics = \"statistics\",\n marketing = \"marketing\",\n}\n\nexport enum Single {\n homepage = \"homepage\",\n search = \"search\",\n toolSearch = \"toolSearch\",\n toolOverview = \"toolOverview\",\n articleOverview = \"articleOverview\",\n dossierOverview = \"dossierOverview\",\n dossiersAZ = \"dossiersAZ\",\n eventArchive = \"eventArchive\",\n eventOverview = \"eventOverview\",\n toolboxSearch = \"toolboxSearch\",\n}\n\nexport interface ILanguageSwitchItem {\n language: string;\n url: string;\n active: boolean;\n}\n\nexport interface ILanguageSwitchData {\n [key: string]: ILanguageSwitchItem;\n}\n","import { RegisterOptions } from \"react-hook-form\";\n\nexport interface IExpandableFormGroup {\n expandable?: boolean;\n expandableLimit?: number;\n expandableMoreText?: string;\n expandableLessText?: string;\n}\n\n// form builder\n\nexport enum IFieldType {\n text = \"text\",\n email = \"email\",\n password = \"password\",\n checkbox = \"checkbox\",\n checkboxGroup = \"checkboxGroup\",\n search = \"search\",\n select = \"select\",\n staticText = \"staticText\",\n}\n\nexport interface IBaseField {\n type: IFieldType;\n name: string;\n label: string;\n hideLabel?: boolean;\n prefixText?: string;\n labelIcon?: string | JSX.Element;\n placeholder?: string;\n validation?: RegisterOptions;\n}\n\nexport interface IInputField extends IBaseField {\n value?: string;\n onChange?: (data: any) => void;\n}\n\nexport interface IOption extends IBaseField {\n value: string;\n disabled?: boolean;\n}\n\nexport interface ICheckboxField extends IOption {}\n\nexport interface ICheckboxGroup extends IBaseField, IExpandableFormGroup {\n options: ICheckboxField[];\n value?: string[];\n}\n\nexport interface ISelectField extends IBaseField {\n options: IOption[];\n value?: string;\n}\n\nexport interface IStaticText extends IBaseField {\n type: IFieldType.staticText;\n label: string;\n}\n\nexport type IField = IInputField | ICheckboxGroup | ISelectField | IStaticText;\n\nexport interface IFormSchema {\n fields: IField[];\n defaultValues?: Record;\n resetDefaultValues?: boolean;\n layout?: \"inline\" | \"block\";\n disableAfterSubmit?: boolean;\n submitMode?: \"default\" | \"onValid\" | \"onDirty\";\n}\n\n// newsletter form\n\nexport interface INewsletterOption {\n title: string;\n id: string;\n audience: string;\n segment?: string;\n}\n\nexport interface INewsletterSubmitData {\n email: string;\n audiences?: {\n audience_id: string;\n segment_id?: string;\n unique_id: string;\n }[];\n consent: boolean;\n}\n\n// search form\n\nexport interface ISearchSubmitData {\n search: string;\n}\n\n// tool search facets\n\nexport enum ToolFacetType {\n term = \"term\",\n theme = \"theme\",\n type = \"toolType\",\n audience = \"audience\",\n}\n\nexport enum ToolboxFacetType {\n type = \"subToolType\",\n phase = \"subToolPhase\",\n}\n\nexport interface IFacetItem {\n id: string;\n label: string;\n}\n\nexport interface IFacet {\n label: string;\n labelIcon?: string;\n slug: string;\n options: IFacetItem[];\n prefixText?: string;\n}\n\nexport interface IToolFacet extends IFacet {\n key: ToolFacetType;\n}\n\nexport interface IToolboxFacet extends IFacet {\n key: ToolboxFacetType;\n}\n\nexport type ActiveToolFacetType = Partial<\n Record\n>; // term or selected option IDs\n\nexport type ActiveToolboxFacetType = Partial<\n Record\n>; // term or selected option IDs\n\nexport interface IActiveFacet {\n label: string;\n activeOptions: IActiveFacetOption[] | undefined;\n}\n\nexport interface IActiveFacetOption {\n label: string;\n onClick: () => void;\n}\n","import { SerializedError } from \"@reduxjs/toolkit\";\n\nimport { INewsletterState } from \"components/newsletter-form/state\";\nimport { ISearchFilterState } from \"components/search-filter/state\";\nimport { ISearchState } from \"components/site-search/state\";\nimport { IToolSearchState } from \"components/tool-search/state\";\n\nexport enum IAPIState {\n idle,\n pending,\n succeeded,\n failed,\n}\n\nexport interface IErrorPayload {\n error: SerializedError;\n}\n\nexport interface IStoreState {\n newsletter: INewsletterState;\n search: ISearchState;\n searchFilter: ISearchFilterState;\n toolSearch: IToolSearchState;\n}\n","import { SerializedError } from \"@reduxjs/toolkit\";\nimport { ActiveToolFacetType } from \"./form\";\nimport { EntityType, IBreadcrumb, ToolType } from \"./general\";\n\nexport enum NewsletterMessageType {\n success = \"success\",\n already_subscribed = \"already_subscribed\",\n}\n\nexport interface INewsletterAPIData {\n successCodes?: string[] | null;\n successMessage?: string | null;\n errorCodes?: string[] | null;\n error?: SerializedError | string | null;\n}\n\nexport interface ISearchResult {\n highlights: {\n title?: string;\n intro?: string;\n };\n document: {\n id: string;\n breadcrumbs: IBreadcrumb[];\n title: string;\n intro: string;\n url: string;\n bundle: EntityType;\n toolType?: {\n id: string;\n label: string;\n key: ToolType;\n };\n subToolType?: {\n id: string;\n label: string;\n key: string;\n };\n created: string;\n metaImage: string;\n event_timestamps?: string[];\n event_type?:\n | \"one-day-event\"\n | \"multi-day-event\"\n | \"multi-day-event-non-consecutive\";\n };\n}\n\nexport interface ISearchResults {\n results: ISearchResult[];\n total: number;\n}\n\nexport interface ISearchData {\n page: number;\n query: string;\n amount: number;\n type?: EntityType;\n facets?: { [key: string]: string[] };\n prioritiseDossiersAndTools: boolean;\n}\n\nexport interface IToolSearchData {\n page: number;\n amount: number;\n term?: string;\n facets: ActiveToolFacetType;\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.49 9.55L.06 16.97l2.12 2.12 7.43-7.42 7.42 7.42 2.12-2.12-7.42-7.42 7.42-7.43L17.03 0 9.61 7.42 2.18 0 .06 2.12 7.5 9.55z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"media/close.d84a2687.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport classnames from \"classnames\";\n\nimport { ButtonTheme } from \"types\";\n\ninterface IconButtonProps {\n label: string; // required for a11y\n Icon: React.ComponentType;\n size?: \"s\" | \"m\" | \"l\";\n theme?: ButtonTheme;\n}\n\nexport const IconButton: React.FC<\n IconButtonProps & React.ButtonHTMLAttributes\n> = ({\n Icon,\n label,\n theme = ButtonTheme.primary,\n size = \"m\",\n className,\n disabled,\n onClick,\n ...rest\n}) => {\n return (\n \n {label}\n \n \n );\n};\n","import { useState, useEffect, CSSProperties, RefObject } from \"react\";\n\nexport const useButtonEffect = (\n buttonRef: RefObject\n): CSSProperties => {\n const [effectStyles, setEffectStyles] = useState({\n x: 0,\n y: 0,\n size: 0,\n opacity: 0,\n });\n\n useEffect(() => {\n const currentButtonRef = buttonRef.current;\n\n const onButtonMouseDown = (event: any) => {\n const currentButton = event.currentTarget as HTMLElement;\n\n const x = event.clientX - currentButton.getBoundingClientRect().left;\n const y = event.clientY - currentButton.getBoundingClientRect().top;\n\n setEffectStyles({ x, y, size: 50, opacity: 1 });\n\n setTimeout(() => {\n setEffectStyles({ x, y, size: 500, opacity: 1 });\n }, 250);\n\n setTimeout(() => {\n setEffectStyles({ x, y, size: 0, opacity: 0 });\n }, 500);\n };\n\n if (buttonRef && currentButtonRef) {\n currentButtonRef.addEventListener(\"mousedown\", onButtonMouseDown);\n }\n\n return () => {\n if (buttonRef && currentButtonRef) {\n currentButtonRef.removeEventListener(\"mousedown\", onButtonMouseDown);\n }\n };\n }, [buttonRef]);\n\n const style = {\n \"--x\": `${effectStyles.x}px`,\n \"--y\": `${effectStyles.y}px`,\n \"--size\": `${effectStyles.size}px`,\n \"--opacity\": effectStyles.opacity,\n } as CSSProperties;\n\n return style;\n};\n","import React, { FC, useRef, MouseEventHandler, useMemo } from \"react\";\nimport classNames from \"classnames\";\n\nimport { Loader } from \"components\";\n\nimport { useButtonEffect } from \"./hooks/useButtonEffect\";\n\ninterface IButton {\n text: string;\n url?: string;\n layout?: \"inline\" | \"block\";\n PrefixIcon?: React.ComponentType;\n SuffixIcon?: React.ComponentType;\n onClick?: MouseEventHandler;\n isLoading?: boolean;\n outline?: boolean;\n}\n\nexport const Button: FC = ({\n url,\n text,\n layout = \"inline\",\n PrefixIcon,\n SuffixIcon,\n onClick,\n isLoading,\n outline,\n}) => {\n const anchorRef = useRef(null);\n let anchorEffect = useButtonEffect(anchorRef);\n\n const buttonRef = useRef(null);\n let buttonEffect = useButtonEffect(buttonRef);\n\n const renderInner = () => (\n <>\n {PrefixIcon && }\n {text}\n {SuffixIcon && }\n\n {isLoading && (\n \n \n \n )}\n \n );\n\n const buttonClasses = useMemo(\n () =>\n classNames(\"button\", [\n `is-${layout}`,\n isLoading && \"is-loading\",\n outline && \"is-outline\",\n ]),\n [layout, isLoading, outline]\n );\n\n if (onClick) {\n return (\n \n {renderInner()}\n \n );\n }\n\n return (\n \n {PrefixIcon && }\n {text}\n {SuffixIcon && }\n \n );\n};\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgArrowLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.25.58a.83.83 0 111.18 1.18l-4.41 4.4h9.65a.83.83 0 110 1.67H3.02l4.4 4.41a.83.83 0 11-1.17 1.18L.43 7.6a.83.83 0 010-1.2L6.25.58z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"media/arrow-left.90fc5af8.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.43.58a.83.83 0 10-1.18 1.18l4.41 4.4H1.01a.83.83 0 100 1.67h9.65l-4.41 4.41a.83.83 0 101.18 1.18l5.82-5.82a.83.83 0 000-1.2L7.43.58z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"media/arrow-right.99aab64a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgFullscreen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.84.33h-4a.67.67 0 100 1.34h2.39L7.7 5.2a.67.67 0 10.94.94l3.53-3.53V5a.67.67 0 001.34 0V1c0-.37-.3-.67-.67-.67zM1.51 9A.67.67 0 10.17 9v4a.66.66 0 00.67.67h4a.67.67 0 000-1.34h-2.4L5.99 8.8a.67.67 0 10-.94-.94L1.5 11.4V9z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFullscreen);\nexport default __webpack_public_path__ + \"media/fullscreen.eab277c6.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgSearch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75 21.2a9.6 9.6 0 100-19.2 9.6 9.6 0 000 19.2zM26.15 26l-6.96-6.96\",\n stroke: \"currentColor\",\n strokeWidth: 4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearch);\nexport default __webpack_public_path__ + \"media/search.2b346444.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgChevronLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 10,\n viewBox: \"0 0 6 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.63.2a.67.67 0 00-.95 0l-4 4a.67.67 0 000 .94l4 4a.67.67 0 10.95-.94L2.1 4.67l3.53-3.53a.67.67 0 000-.94z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronLeft);\nexport default __webpack_public_path__ + \"media/chevron-left.c0dbffc5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgChevronRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 10,\n viewBox: \"0 0 6 10\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.35.2a.67.67 0 01.94 0l4 4c.26.26.26.68 0 .94l-4 4a.67.67 0 11-.94-.94l3.53-3.53L.35 1.14a.67.67 0 010-.94z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronRight);\nexport default __webpack_public_path__ + \"media/chevron-right.107d56ac.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgChevronUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 10,\n height: 5,\n viewBox: \"0 0 10 5\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.16 4.5c.22.22.6.22.82 0l3.09-3.1 3.09 3.1a.58.58 0 10.82-.83L5.48.17a.58.58 0 00-.82 0l-3.5 3.5a.58.58 0 000 .83z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronUp);\nexport default __webpack_public_path__ + \"media/chevron-up.2b06ee32.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgChevronDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 9,\n height: 5,\n viewBox: \"0 0 9 5\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1 .17c.22-.23.59-.23.82 0L4.9 3.26 8 .17a.58.58 0 01.82.83l-3.5 3.5a.58.58 0 01-.83 0L1 1a.58.58 0 010-.83z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronDown);\nexport default __webpack_public_path__ + \"media/chevron-down.ca7dc689.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgPlay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 101,\n height: 106,\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n x: \"-90.7%\",\n y: \"-81.2%\",\n width: \"281.4%\",\n height: \"262.5%\",\n filterUnits: \"objectBoundingBox\",\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 5,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 7.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n }), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n }), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"SourceGraphic\"\n }))))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#a)\",\n transform: \"translate(29 29)\",\n fill: \"currentColor\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.3 42.2c.1 4.5 4.5 7.2 8.3 5L39.5 29c1.7-1 2.8-3 2.8-5s-1-4-2.8-5L8.6.7c-3.8-2-8.2.6-8.3 5v36.5Z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlay);\nexport default __webpack_public_path__ + \"media/play.adda373a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgFilter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 14,\n viewBox: \"0 0 17 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.87.4A.7.7 0 011.5 0h13.94a.7.7 0 01.53 1.15l-5.4 6.4v5.69a.7.7 0 01-1.02.62l-2.78-1.4a.7.7 0 01-.39-.61v-4.3l-5.4-6.4A.7.7 0 01.87.4zm2.14 1l4.6 5.44c.1.12.17.28.17.45v4.13l1.39.7V7.28a.7.7 0 01.16-.45l4.6-5.45H3.02z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFilter);\nexport default __webpack_public_path__ + \"media/filter.d36cfdae.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgFile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 11,\n height: 14,\n viewBox: \"0 0 11 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.56 1.1C.88.77 1.33.58 1.79.58h4.09c.15 0 .3.06.4.17l4.1 4.09c.1.1.16.26.16.41v6.42a1.75 1.75 0 01-1.75 1.75h-7a1.75 1.75 0 01-1.75-1.75V2.33c0-.46.19-.9.52-1.23zm1.23.65a.58.58 0 00-.58.58v9.34a.58.58 0 00.58.58h7a.58.58 0 00.59-.58V5.49L5.64 1.75H1.79z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.88.58c.32 0 .58.26.58.59v3.5h3.5a.58.58 0 110 1.16H5.88a.58.58 0 01-.59-.58V1.17c0-.33.26-.59.59-.59z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFile);\nexport default __webpack_public_path__ + \"media/file.2a6ecd42.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgCube(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.03 1.37L2.77 3.5l4.52 2.26 4.53-2.26-4.27-2.13a.58.58 0 00-.52 0zM2.04 9.78V4.44l4.67 2.34v5.7L2.36 10.3a.58.58 0 01-.32-.53zm5.84 2.7l4.34-2.18a.58.58 0 00.32-.52V4.44L7.88 6.78v5.7zM7.8.85l.26-.53a1.75 1.75 0 00-1.56 0L1.85 2.66a1.75 1.75 0 00-.97 1.56v5.55a1.75 1.75 0 00.96 1.58l4.67 2.33a1.75 1.75 0 001.56 0l4.67-2.33a1.75 1.75 0 00.97-1.57V4.22a1.75 1.75 0 00-.97-1.56L8.07.32l-.26.53z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCube);\nexport default __webpack_public_path__ + \"media/cube.704ae36a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _rect2, _rect3, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgBook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 14,\n viewBox: \"0 0 15 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.25 4.08464C9.57217 4.08464 9.83333 4.3458 9.83333 4.66797V11.668C9.83333 11.9901 9.57217 12.2513 9.25 12.2513H4C3.67783 12.2513 3.41667 11.9901 3.41667 11.668V4.66797C3.41667 4.3458 3.67783 4.08464 4 4.08464H9.25ZM11 4.66797C11 3.70147 10.2165 2.91797 9.25 2.91797H4C3.0335 2.91797 2.25 3.70147 2.25 4.66797V11.668C2.25 12.6345 3.0335 13.418 4 13.418H9.25C10.2165 13.418 11 12.6345 11 11.668V4.66797Z\",\n fill: \"currentColor\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.58398,\n y: 5.25,\n width: 4.08333,\n height: 1.16667,\n rx: 0.583333,\n fill: \"currentColor\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.58398,\n y: 7.58203,\n width: 4.08333,\n height: 1.16667,\n rx: 0.583333,\n fill: \"currentColor\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 4.58398,\n y: 9.91797,\n width: 2.33333,\n height: 1.16667,\n rx: 0.583333,\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.1673 2.33203C12.1673 2.00986 11.9062 1.7487 11.584 1.7487H6.33398C6.01182 1.7487 5.75065 2.00986 5.75065 2.33203V2.91536H4.58398V2.33203C4.58398 1.36553 5.36749 0.582031 6.33398 0.582031H11.584C12.5505 0.582031 13.334 1.36553 13.334 2.33203V9.33203C13.334 10.2985 12.5505 11.082 11.584 11.082H11.0007V9.91536H11.584C11.9062 9.91536 12.1673 9.6542 12.1673 9.33203V2.33203Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBook);\nexport default __webpack_public_path__ + \"media/book.de8b8210.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgCursor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.27.21A.58.58 0 00.5.97l4.13 9.9a.58.58 0 001.09-.03L6.88 7.4l3.08 3.09a.58.58 0 00.83-.83L7.7 6.6l3.42-1.16a.58.58 0 00.04-1.1L1.27.22zM5.1 9L2.13 1.83l7.16 2.99-2.85.97c-.17.05-.3.19-.36.36L5.1 9z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCursor);\nexport default __webpack_public_path__ + \"media/cursor.ad85b04d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgVerified(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.14 1.88a5.25 5.25 0 013.3.32.58.58 0 10.47-1.06A6.42 6.42 0 1013.7 7v-.54a.58.58 0 00-1.17 0V7a5.25 5.25 0 11-6.4-5.12zm7.4.87a.58.58 0 10-.83-.83L7.3 7.35 5.96 6a.58.58 0 10-.83.83l1.75 1.75a.58.58 0 00.83 0l5.83-5.84z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVerified);\nexport default __webpack_public_path__ + \"media/verified.be4a4207.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgVideo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.04 7a5.25 5.25 0 1110.5 0 5.25 5.25 0 01-10.5 0zM7.3.58a6.42 6.42 0 100 12.84A6.42 6.42 0 007.3.58zm-.84 3.6a.58.58 0 00-.9.49v4.66a.58.58 0 00.9.49l3.5-2.33a.58.58 0 000-.98l-3.5-2.33zM8.58 7L6.7 8.24V5.76L8.58 7z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVideo);\nexport default __webpack_public_path__ + \"media/video.852c3ec3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgGlobe(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.3 2.2a6 6 0 00-4.44 5.13h2.66c.15-1.84.77-3.6 1.78-5.14zm3.04 0a10.87 10.87 0 011.78 5.13h2.66A6 6 0 009.34 2.2zm.44 5.13a9.53 9.53 0 00-1.96-4.96 9.53 9.53 0 00-1.96 4.96h3.92zM5.86 8.67h3.92a9.53 9.53 0 01-1.96 4.96 9.53 9.53 0 01-1.96-4.96zm-1.34 0H1.86A6 6 0 006.3 13.8a10.87 10.87 0 01-1.78-5.14zm4.82 5.14a10.87 10.87 0 001.78-5.14h2.66a6 6 0 01-4.44 5.14zm-1.52 1.52a7.33 7.33 0 100-14.66 7.33 7.33 0 000 14.66z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGlobe);\nexport default __webpack_public_path__ + \"media/globe.134806a4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgTag(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M.5 1.33c0-.36.3-.66.67-.66h6.67c.18 0 .35.07.47.2l5.73 5.72a2 2 0 010 2.82l-.47-.47.47.47-4.78 4.78a2 2 0 01-2.83 0L.7 8.47A.67.67 0 01.5 8V1.33zm12.6 7.14a.67.67 0 000-.94L7.55 2H1.84v5.72l5.53 5.53a.67.67 0 00.94 0l4.78-4.78z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTag);\nexport default __webpack_public_path__ + \"media/tag.1b9a3162.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgUser(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 16 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.34 4.83a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zM7.84.67a4.17 4.17 0 100 8.33 4.17 4.17 0 000-8.33zm-3.33 10a4.17 4.17 0 00-4.17 4.16v1.67a.83.83 0 001.67 0v-1.67a2.5 2.5 0 012.5-2.5h6.66a2.5 2.5 0 012.5 2.5v1.67a.83.83 0 001.67 0v-1.67a4.17 4.17 0 00-4.17-4.16H4.51z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUser);\nexport default __webpack_public_path__ + \"media/user.ccfac766.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgPolicy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 14,\n viewBox: \"0 0 15 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_4208_24117)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.35427 9.02224C1.90125 8.47526 2.64312 8.16797 3.41667 8.16797H8.08333C8.85688 8.16797 9.59875 8.47526 10.1457 9.02224C10.6927 9.56922 11 10.3111 11 11.0846V12.2513C11 12.5735 10.7388 12.8346 10.4167 12.8346C10.0945 12.8346 9.83333 12.5735 9.83333 12.2513V11.0846C9.83333 10.6205 9.64896 10.1754 9.32077 9.8472C8.99258 9.51901 8.54746 9.33464 8.08333 9.33464H3.41667C2.95254 9.33464 2.50742 9.51901 2.17923 9.8472C1.85104 10.1754 1.66667 10.6205 1.66667 11.0846V12.2513C1.66667 12.5735 1.4055 12.8346 1.08333 12.8346C0.761167 12.8346 0.5 12.5735 0.5 12.2513V11.0846C0.5 10.3111 0.807291 9.56922 1.35427 9.02224Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.75065 2.33464C4.78415 2.33464 4.00065 3.11814 4.00065 4.08464C4.00065 5.05113 4.78415 5.83464 5.75065 5.83464C6.71715 5.83464 7.50065 5.05113 7.50065 4.08464C7.50065 3.11814 6.71715 2.33464 5.75065 2.33464ZM2.83398 4.08464C2.83398 2.4738 4.13982 1.16797 5.75065 1.16797C7.36148 1.16797 8.66732 2.4738 8.66732 4.08464C8.66732 5.69547 7.36148 7.0013 5.75065 7.0013C4.13982 7.0013 2.83398 5.69547 2.83398 4.08464Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.6026 8.67983C11.6832 8.36789 12.0014 8.18031 12.3133 8.26085C12.939 8.42241 13.4934 8.78721 13.8893 9.29796C14.2852 9.80871 14.5003 10.4365 14.5008 11.0827L14.5008 12.2498C14.5008 12.572 14.2396 12.8332 13.9175 12.8332C13.5953 12.8332 13.3341 12.572 13.3341 12.2498L13.3341 11.0836C13.3341 11.0835 13.3341 11.0837 13.3341 11.0836C13.3338 10.6959 13.2047 10.3191 12.9672 10.0127C12.7297 9.70628 12.3971 9.48741 12.0216 9.39047C11.7097 9.30993 11.5221 8.99176 11.6026 8.67983Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.26837 1.68097C9.34828 1.36887 9.66606 1.18065 9.97816 1.26056C10.6055 1.42119 11.1616 1.78607 11.5587 2.29766C11.9558 2.80925 12.1714 3.43845 12.1714 4.08608C12.1714 4.7337 11.9558 5.36291 11.5587 5.8745C11.1616 6.38609 10.6055 6.75096 9.97816 6.9116C9.66606 6.99151 9.34828 6.80328 9.26837 6.49118C9.18846 6.17909 9.37669 5.8613 9.68878 5.78139C10.0652 5.68501 10.3989 5.46608 10.6371 5.15913C10.8754 4.85217 11.0047 4.47465 11.0047 4.08608C11.0047 3.6975 10.8754 3.31998 10.6371 3.01303C10.3989 2.70607 10.0652 2.48715 9.68878 2.39077C9.37669 2.31086 9.18846 1.99307 9.26837 1.68097Z\",\n fill: \"#FF3D9A\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_4208_24117\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 14,\n height: 14,\n fill: \"white\",\n transform: \"translate(0.5)\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPolicy);\nexport default __webpack_public_path__ + \"media/policy.3ad11480.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgBriefcase(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 18,\n viewBox: \"0 0 20 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.17.67a2.5 2.5 0 00-2.5 2.5V4h-2.5a2.5 2.5 0 00-2.5 2.5v8.33a2.5 2.5 0 002.5 2.5h13.34a2.5 2.5 0 002.5-2.5V6.5A2.5 2.5 0 0016.5 4H14v-.83a2.5 2.5 0 00-2.5-2.5H8.17zM12.34 4v-.83a.83.83 0 00-.83-.84H8.17a.83.83 0 00-.83.84V4h5zm-5 1.67h5v10h-5v-10zm-1.67 0h-2.5a.83.83 0 00-.83.83v8.33c0 .46.37.84.83.84h2.5v-10zm8.34 10v-10h2.5c.46 0 .83.37.83.83v8.33c0 .46-.37.84-.83.84H14z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBriefcase);\nexport default __webpack_public_path__ + \"media/briefcase.6f5d9947.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgGoal(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_4257_406)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.99999 14C11.3137 14 14 11.3137 14 8C14 4.6863 11.3137 2.00001 7.99999 2.00001C4.68628 2.00001 1.99999 4.6863 1.99999 8C1.99999 11.3137 4.68628 14 7.99999 14ZM7.99999 15.3333C12.0501 15.3333 15.3333 12.0501 15.3333 8C15.3333 3.94992 12.0501 0.666672 7.99999 0.666672C3.9499 0.666672 0.666656 3.94992 0.666656 8C0.666656 12.0501 3.9499 15.3333 7.99999 15.3333Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 10.6667C9.47276 10.6667 10.6667 9.47276 10.6667 8C10.6667 6.52724 9.47276 5.33333 8 5.33333C6.52724 5.33333 5.33333 6.52724 5.33333 8C5.33333 9.47276 6.52724 10.6667 8 10.6667ZM8 12C10.2091 12 12 10.2091 12 8C12 5.79086 10.2091 4 8 4C5.79086 4 4 5.79086 4 8C4 10.2091 5.79086 12 8 12Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 2.99999L11.3333 4.66666L13 4.99999L14.6667 3.33333L13 2.99999L12.6667 1.33333L11 2.99999Z\",\n fill: \"#FF3D9A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.8599 0.695279C13.0952 0.766526 13.2722 0.961507 13.3204 1.2026L13.5666 2.43345L14.7974 2.67962C15.0385 2.72784 15.2335 2.90484 15.3047 3.14015C15.376 3.37546 15.3119 3.63089 15.1381 3.80474L13.4714 5.47141C13.3138 5.62903 13.0878 5.69744 12.8693 5.65373L11.5525 5.39037L8.47141 8.47141C8.21107 8.73176 7.78896 8.73176 7.52861 8.47141C7.26826 8.21106 7.26826 7.78895 7.52861 7.5286L10.6097 4.44756L10.3463 3.13075C10.3026 2.91218 10.371 2.68622 10.5286 2.5286L12.1953 0.861936C12.3691 0.688084 12.6246 0.624031 12.8599 0.695279ZM11.8999 4.10012L12.7809 4.27631L13.3144 3.74276L12.8693 3.65373C12.6054 3.60095 12.3991 3.39466 12.3463 3.13075L12.2573 2.68557L11.7237 3.21912L11.8999 4.10012Z\",\n fill: \"#FF3D9A\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null)));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGoal);\nexport default __webpack_public_path__ + \"media/goal.54d4ecac.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgBarChart(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10 7.5C10.4602 7.5 10.8333 7.8731 10.8333 8.33333V16.6667C10.8333 17.1269 10.4602 17.5 10 17.5C9.53976 17.5 9.16667 17.1269 9.16667 16.6667V8.33333C9.16667 7.8731 9.53976 7.5 10 7.5Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 2.5C15.4602 2.5 15.8333 2.8731 15.8333 3.33333V16.6667C15.8333 17.1269 15.4602 17.5 15 17.5C14.5398 17.5 14.1667 17.1269 14.1667 16.6667V3.33333C14.1667 2.8731 14.5398 2.5 15 2.5Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 12.5C5.46024 12.5 5.83333 12.8731 5.83333 13.3333V16.6667C5.83333 17.1269 5.46024 17.5 5 17.5C4.53976 17.5 4.16667 17.1269 4.16667 16.6667V13.3333C4.16667 12.8731 4.53976 12.5 5 12.5Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBarChart);\nexport default __webpack_public_path__ + \"media/bar-chart.27ee753f.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgSquares(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 10.625L10 15.625L3.75 15.625L3.75 10.625L10 10.625ZM10 9.375L3.75 9.375C3.41848 9.375 3.10054 9.5067 2.86612 9.74112C2.6317 9.97554 2.5 10.2935 2.5 10.625L2.5 15.625C2.5 15.9565 2.6317 16.2745 2.86612 16.5089C3.10054 16.7433 3.41848 16.875 3.75 16.875H10C10.3315 16.875 10.6495 16.7433 10.8839 16.5089C11.1183 16.2745 11.25 15.9565 11.25 15.625L11.25 10.625C11.25 10.2935 11.1183 9.97554 10.8839 9.74112C10.6495 9.5067 10.3315 9.375 10 9.375Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.875 3.75V6.875L10.625 6.875L10.625 3.75L16.875 3.75ZM16.875 2.5L10.625 2.5C10.2935 2.5 9.97554 2.6317 9.74112 2.86612C9.5067 3.10054 9.375 3.41848 9.375 3.75V6.875C9.375 7.20652 9.5067 7.52446 9.74112 7.75888C9.97554 7.9933 10.2935 8.125 10.625 8.125L16.875 8.125C17.2065 8.125 17.5245 7.9933 17.7589 7.75888C17.9933 7.52446 18.125 7.20652 18.125 6.875V3.75C18.125 3.41848 17.9933 3.10054 17.7589 2.86612C17.5245 2.6317 17.2065 2.5 16.875 2.5Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.875 10.625L16.875 13.75H13.75L13.75 10.625H16.875ZM16.875 9.375H13.75C13.4185 9.375 13.1005 9.5067 12.8661 9.74112C12.6317 9.97554 12.5 10.2935 12.5 10.625L12.5 13.75C12.5 14.0815 12.6317 14.3995 12.8661 14.6339C13.1005 14.8683 13.4185 15 13.75 15H16.875C17.2065 15 17.5245 14.8683 17.7589 14.6339C17.9933 14.3995 18.125 14.0815 18.125 13.75L18.125 10.625C18.125 10.2935 17.9933 9.97554 17.7589 9.74112C17.5245 9.5067 17.2065 9.375 16.875 9.375Z\",\n fill: \"currentColor\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.875 3.75L6.875 6.875L3.75 6.875L3.75 3.75L6.875 3.75ZM6.875 2.5L3.75 2.5C3.41848 2.5 3.10054 2.6317 2.86612 2.86612C2.6317 3.10054 2.5 3.41848 2.5 3.75L2.5 6.875C2.5 7.20652 2.6317 7.52446 2.86612 7.75888C3.10054 7.9933 3.41848 8.125 3.75 8.125H6.875C7.20652 8.125 7.52446 7.9933 7.75888 7.75888C7.9933 7.52446 8.125 7.20652 8.125 6.875V3.75C8.125 3.41848 7.9933 3.10054 7.75888 2.86612C7.52446 2.6317 7.20652 2.5 6.875 2.5Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSquares);\nexport default __webpack_public_path__ + \"media/squares.8d1562a0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgPhase(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.93735 5.00001L12.5624 5.00001C12.7172 5.75878 13.1483 6.43302 13.7721 6.89201C14.3958 7.35099 15.1678 7.56202 15.9383 7.48418C16.7088 7.40635 17.423 7.04519 17.9423 6.47073C18.4617 5.89627 18.7492 5.14943 18.7492 4.37501C18.7492 3.60058 18.4617 2.85375 17.9423 2.27929C17.423 1.70483 16.7088 1.34367 15.9383 1.26583C15.1678 1.188 14.3958 1.39903 13.7721 1.85801C13.1483 2.31699 12.7172 2.99123 12.5624 3.75001L5.93735 3.75001C5.02567 3.75001 4.15133 4.11217 3.50667 4.75683C2.86201 5.40148 2.49985 6.27583 2.49985 7.18751C2.49985 8.09919 2.86201 8.97353 3.50667 9.61819C4.15133 10.2628 5.02567 10.625 5.93735 10.625L12.8124 10.625C13.3925 10.625 13.9489 10.8555 14.3591 11.2657C14.7694 11.6759 14.9999 12.2323 14.9999 12.8125C14.9999 13.3927 14.7694 13.9491 14.3591 14.3593C13.9489 14.7695 13.3925 15 12.8124 15L7.43735 15C7.28247 14.2412 6.85136 13.567 6.22761 13.108C5.60386 12.649 4.8319 12.438 4.0614 12.5158C3.2909 12.5937 2.57674 12.9548 2.05739 13.5293C1.53804 14.1037 1.25049 14.8506 1.25049 15.625C1.25049 16.3994 1.53804 17.1463 2.05739 17.7207C2.57674 18.2952 3.2909 18.6563 4.0614 18.7342C4.8319 18.812 5.60386 18.601 6.22761 18.142C6.85136 17.683 7.28247 17.0088 7.43735 16.25L12.8124 16.25C13.724 16.25 14.5984 15.8878 15.243 15.2432C15.8877 14.5985 16.2499 13.7242 16.2499 12.8125C16.2499 11.9008 15.8877 11.0265 15.243 10.3818C14.5984 9.73717 13.724 9.37501 12.8124 9.37501L5.93735 9.37501C5.35719 9.37501 4.80079 9.14454 4.39055 8.7343C3.98032 8.32407 3.74985 7.76767 3.74985 7.18751C3.74985 6.60735 3.98032 6.05095 4.39055 5.64071C4.80079 5.23047 5.35719 5.00001 5.93735 5.00001ZM15.6249 2.50001C15.9957 2.50001 16.3582 2.60997 16.6665 2.816C16.9749 3.02203 17.2152 3.31486 17.3571 3.65748C17.499 4.00009 17.5362 4.37709 17.4638 4.7408C17.3915 5.10452 17.2129 5.43861 16.9507 5.70083C16.6885 5.96306 16.3544 6.14163 15.9906 6.21398C15.6269 6.28633 15.2499 6.2492 14.9073 6.10728C14.5647 5.96537 14.2719 5.72504 14.0658 5.4167C13.8598 5.10836 13.7499 4.74585 13.7499 4.37501C13.7499 3.87773 13.9474 3.40081 14.299 3.04918C14.6507 2.69755 15.1276 2.50001 15.6249 2.50001ZM4.37485 17.5C4.00401 17.5 3.6415 17.39 3.33316 17.184C3.02481 16.978 2.78449 16.6852 2.64258 16.3425C2.50066 15.9999 2.46353 15.6229 2.53588 15.2592C2.60823 14.8955 2.7868 14.5614 3.04903 14.2992C3.31125 14.037 3.64534 13.8584 4.00906 13.786C4.37277 13.7137 4.74977 13.7508 5.09238 13.8927C5.43499 14.0346 5.72783 14.275 5.93386 14.5833C6.13988 14.8917 6.24985 15.2542 6.24985 15.625C6.24985 16.1223 6.05231 16.5992 5.70068 16.9508C5.34905 17.3025 4.87213 17.5 4.37485 17.5Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPhase);\nexport default __webpack_public_path__ + \"media/phase.98ca7625.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgFarseer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 4.1455C17.7458 4.06466 17.4135 4 17 4C16.5865 4 16.2542 4.06466 16 4.1455V5H18V4.1455ZM14 3.41421V6V9H10V6V3.41421C10 3.149 9.89468 2.89362 9.6744 2.74591C9.23258 2.44965 8.34111 2 7 2C5.65889 2 4.76742 2.44965 4.3256 2.74591C4.10532 2.89362 4 3.149 4 3.41421V5H3.7638C3.31284 5 2.91769 5.30182 2.79903 5.73688L0.0352362 15.8708C0.0118498 15.9566 0 16.045 0 16.1339V20.382C0 20.7607 0.214705 21.1055 0.569819 21.2373C1.36682 21.533 2.94992 22 5 22C7.05008 22 8.63318 21.533 9.43018 21.2373C9.78529 21.1055 10 20.7607 10 20.382V15H14V20.382C14 20.7607 14.2147 21.1055 14.5698 21.2373C15.3668 21.533 16.9499 22 19 22C21.0501 22 22.6332 21.533 23.4302 21.2373C23.7853 21.1055 24 20.7607 24 20.382V16.1339C24 16.045 23.9881 15.9566 23.9648 15.8708L21.201 5.73688C21.0823 5.30182 20.6872 5 20.2362 5H20V3.41421C20 3.149 19.8947 2.89362 19.6744 2.74591C19.2326 2.44965 18.3411 2 17 2C15.6589 2 14.7674 2.44965 14.3256 2.74591C14.1053 2.89362 14 3.149 14 3.41421ZM6 5H8V4.1455C7.74578 4.06466 7.4135 4 7 4C6.5865 4 6.25422 4.06466 6 4.1455V5ZM5 7H4.52759L2 16.2678V19.5982C2.72582 19.7995 3.76064 20 5 20C6.23936 20 7.27418 19.7995 8 19.5982V14V10V7H5ZM16 7H19H19.4724L22 16.2678V19.5982C21.2742 19.7995 20.2394 20 19 20C17.7606 20 16.7258 19.7995 16 19.5982V14V10V7ZM10 11V13H14V11H10Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFarseer);\nexport default __webpack_public_path__ + \"media/farseer.f53395d9.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgEye(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.14074 12C2.25003 12.1889 2.39492 12.4296 2.57441 12.7075C3.03543 13.4213 3.71817 14.3706 4.60454 15.3161C6.39552 17.2264 8.89951 19 12 19C15.1005 19 17.6045 17.2264 19.3955 15.3161C20.2818 14.3706 20.9646 13.4213 21.4256 12.7075C21.6051 12.4296 21.75 12.1889 21.8593 12C21.75 11.8111 21.6051 11.5704 21.4256 11.2925C20.9646 10.5787 20.2818 9.6294 19.3955 8.68394C17.6045 6.77356 15.1005 5 12 5C8.89951 5 6.39552 6.77356 4.60454 8.68394C3.71817 9.6294 3.03543 10.5787 2.57441 11.2925C2.39492 11.5704 2.25003 11.8111 2.14074 12ZM23 12C23.8944 11.5528 23.8943 11.5524 23.8941 11.5521L23.8925 11.5489L23.889 11.542L23.8777 11.5198C23.8681 11.5013 23.8546 11.4753 23.8372 11.4424C23.8025 11.3767 23.752 11.2832 23.686 11.166C23.5542 10.9316 23.3601 10.6015 23.1057 10.2075C22.5979 9.42131 21.8432 8.3706 20.8545 7.31606C18.8955 5.22644 15.8995 3 12 3C8.10049 3 5.10448 5.22644 3.14546 7.31606C2.15683 8.3706 1.40207 9.42131 0.894336 10.2075C0.63985 10.6015 0.445792 10.9316 0.313971 11.166C0.248023 11.2832 0.19754 11.3767 0.162753 11.4424C0.145357 11.4753 0.131875 11.5013 0.122338 11.5198L0.11099 11.542L0.107539 11.5489L0.10637 11.5512C0.106186 11.5516 0.105573 11.5528 1 12L0.105573 11.5528C-0.0351909 11.8343 -0.0351909 12.1657 0.105573 12.4472L1 12C0.105573 12.4472 0.105389 12.4468 0.105573 12.4472L0.107539 12.4511L0.11099 12.458L0.122338 12.4802C0.131875 12.4987 0.145357 12.5247 0.162753 12.5576C0.19754 12.6233 0.248023 12.7168 0.313971 12.834C0.445792 13.0684 0.63985 13.3985 0.894336 13.7925C1.40207 14.5787 2.15683 15.6294 3.14546 16.6839C5.10448 18.7736 8.10049 21 12 21C15.8995 21 18.8955 18.7736 20.8545 16.6839C21.8432 15.6294 22.5979 14.5787 23.1057 13.7925C23.3601 13.3985 23.5542 13.0684 23.686 12.834C23.752 12.7168 23.8025 12.6233 23.8372 12.5576C23.8546 12.5247 23.8681 12.4987 23.8777 12.4802L23.889 12.458L23.8925 12.4511L23.8936 12.4488C23.8938 12.4484 23.8944 12.4472 23 12ZM23 12L23.8944 12.4472C24.0352 12.1657 24.0348 11.8336 23.8941 11.5521L23 12Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10ZM8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEye);\nexport default __webpack_public_path__ + \"media/eye.768c1926.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgMethodSubtool(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 5.5C4 6.32843 4.67157 7 5.5 7C6.32843 7 7 6.32843 7 5.5C7 4.67157 6.32843 4 5.5 4C4.67157 4 4 4.67157 4 5.5ZM5.5 2C3.567 2 2 3.567 2 5.5C2 7.433 3.567 9 5.5 9C7.433 9 9 7.433 9 5.5C9 3.567 7.433 2 5.5 2Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 4V7H20V4H17ZM16 2C15.4477 2 15 2.44772 15 3V8C15 8.55228 15.4477 9 16 9H21C21.5523 9 22 8.55228 22 8V3C22 2.44772 21.5523 2 21 2H16Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.00002 18.4721L5.23608 20H6.76395L6.00002 18.4721ZM6.89444 15.7889C6.52592 15.0518 5.47411 15.0518 5.10559 15.7889L2.72362 20.5528C2.39117 21.2177 2.87467 22 3.61805 22H8.38198C9.12536 22 9.60886 21.2177 9.27641 20.5528L6.89444 15.7889Z\",\n fill: \"currentColor\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.2071 15.2929C20.5976 15.6834 20.5976 16.3166 20.2071 16.7071L18.4142 18.5L20.2071 20.2929C20.5976 20.6834 20.5976 21.3166 20.2071 21.7071C19.8166 22.0976 19.1834 22.0976 18.7929 21.7071L16.2929 19.2071C15.9024 18.8166 15.9024 18.1834 16.2929 17.7929L18.7929 15.2929C19.1834 14.9024 19.8166 14.9024 20.2071 15.2929Z\",\n fill: \"currentColor\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 2C11.4477 2 11 2.44772 11 3V11H3C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13H11V21C11 21.5523 11.4477 22 12 22C12.5523 22 13 21.5523 13 21V13H21C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H13V3C13 2.44772 12.5523 2 12 2Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMethodSubtool);\nexport default __webpack_public_path__ + \"media/method-subtool.237da581.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgTheorySubtool(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.46447 16.4645C5.40215 15.5268 6.67392 15 8 15H16C17.3261 15 18.5979 15.5268 19.5355 16.4645C20.4732 17.4021 21 18.6739 21 20V22C21 22.5523 20.5523 23 20 23C19.4477 23 19 22.5523 19 22V20C19 19.2044 18.6839 18.4413 18.1213 17.8787C17.5587 17.3161 16.7956 17 16 17H8C7.20435 17 6.44129 17.3161 5.87868 17.8787C5.31607 18.4413 5 19.2044 5 20V22C5 22.5523 4.55228 23 4 23C3.44772 23 3 22.5523 3 22V20C3 18.6739 3.52678 17.4021 4.46447 16.4645Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 1C3.44772 1 3 1.44772 3 2C3 2.55228 3.44772 3 4 3H7V5V7V8C7 10.7614 9.23858 13 12 13C14.7614 13 17 10.7614 17 8V7V5V3H20C20.5523 3 21 2.55228 21 2C21 1.44772 20.5523 1 20 1H4ZM15 7V8C15 9.65685 13.6569 11 12 11C10.3431 11 9 9.65685 9 8V7H15ZM9 5H15V3H9V5ZM4 4C3.44772 4 3 4.44772 3 5V10H5V5C5 4.44772 4.55228 4 4 4Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTheorySubtool);\nexport default __webpack_public_path__ + \"media/theory-subtool.0c67410a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\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; }\nimport * as React from \"react\";\nfunction SvgRhombus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 13,\n viewBox: \"0 0 25 13\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.8043 11.6413L11.5495 6.85017C11.7426 6.65526 11.7425 6.34121 11.5494 6.14636L9.17357 3.7491L6.80419 1.35834C6.60857 1.16096 6.28953 1.16096 6.09391 1.35834L1.3487 6.14636C1.1556 6.34121 1.15555 6.65526 1.34859 6.85017L6.0938 11.6413C6.28944 11.8388 6.60866 11.8388 6.8043 11.6413Z\",\n stroke: \"#1D9994\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1992 1.35823L13.4508 6.14636C13.2576 6.34119 13.2575 6.65533 13.4506 6.85029L18.1957 11.6413C18.3913 11.8388 18.7106 11.8388 18.9062 11.6413L23.6515 6.85006C23.8445 6.65519 23.8445 6.34123 23.6515 6.14636L18.9095 1.35846C18.714 1.16101 18.3949 1.16091 18.1992 1.35823Z\",\n stroke: \"#1D9994\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRhombus);\nexport default __webpack_public_path__ + \"media/rhombus.a2f025d2.svg\";\nexport { ForwardRef as ReactComponent };","/* eslint-disable no-console */\n\ninterface ILogContent {\n icon?: string;\n title?: string;\n body: any;\n}\n\nconst LOGGER_KEY = \"WIENI_LOGS\";\n\nclass LoggerService {\n constructor() {\n const currentEnv = process.env.REACT_APP_WIENI_ENV || \"local\";\n\n if (currentEnv !== \"production\") {\n console.log(\n `%c🌈 Hi, welcome to Wieni logger for Mediawijs on ${currentEnv}.\\n To see the logs, set WIENI_LOGS=true in your local storage, or use one of these helpers:`,\n \"color: #ff3d9a;\"\n );\n console.table({\n \"Enable Wieni logs\": \"window.enableWieniLogs()\",\n \"Disable Wieni logs\": \"window.disableWieniLogs()\",\n });\n console.log(\n `%c🌈 Logs are ${this.logsEnabled() ? \"✅ enabled\" : \"❌ disabled\"}`,\n \"color: #ff3d9a;\"\n );\n }\n\n window.enableWieniLogs = () => {\n window.localStorage.setItem(LOGGER_KEY, \"true\");\n };\n\n window.disableWieniLogs = () => {\n window.localStorage.setItem(LOGGER_KEY, \"\");\n };\n }\n\n private static getLoggerKey(): string | null {\n const value = localStorage.getItem(LOGGER_KEY);\n return value;\n }\n\n // Check if \"WIENI_LOGS\" is set to true in local storage\n private logsEnabled(): boolean {\n const value = LoggerService.getLoggerKey();\n return value && JSON.parse(value);\n }\n\n log = ({ icon, title, body }: ILogContent) => {\n if (this.logsEnabled()) {\n console.group(icon, title);\n console.log(body);\n console.groupEnd();\n }\n };\n}\n\n// Make sure only one instance of LoggerService is created\nconst loggerService = new LoggerService();\nObject.freeze(loggerService);\n\nexport { loggerService };\n","import lozad, { Observer } from \"lozad\";\n\nclass LazyLoadService {\n private observer: Observer;\n\n constructor() {\n this.observer = lozad();\n }\n\n observe = () => {\n this.observer.observe();\n };\n}\n\n// Make sure only one instance of LazyLoadService is created\nconst lazyLoadService = new LazyLoadService();\nObject.freeze(lazyLoadService);\n\nexport { lazyLoadService };\n","class I18nService {\n copy: { [key: string]: string } = {};\n\n constructor() {\n const translationContainer = document.querySelector(\n \"[data-i18n]\"\n );\n\n if (!translationContainer) return;\n\n const translations = translationContainer.dataset.i18n;\n translationContainer.dataset.i18n = \"\"; // cleanup\n\n if (!translations) return;\n\n this.copy = JSON.parse(translations);\n }\n\n get currentLanguage(): string {\n return document.documentElement.lang;\n }\n}\n\n// Make sure only one instance of I18nService is created\nconst i18nService = new I18nService();\nObject.freeze(i18nService);\n\nexport { i18nService };\n","import { generatePath } from \"react-router\";\nimport { stringify } from \"query-string\";\n\nimport { ActiveToolboxFacetType, ActiveToolFacetType, Single } from \"types\";\n\nclass URLService {\n singlePaths: Partial> = {};\n\n constructor() {\n const singlePathsContainer = document.querySelector(\n \"[data-single-paths]\"\n );\n\n if (!singlePathsContainer) return;\n\n const paths = singlePathsContainer.dataset.singlePaths;\n // singlePathsContainer.dataset.singlePaths = \"\"; // cleanup\n\n if (!paths) return;\n\n this.singlePaths = JSON.parse(paths);\n }\n\n getSinglePath = (type: Single) => this.singlePaths[type] || \"\";\n\n get searchUrlPattern(): string {\n return `${this.getSinglePath(Single.search)}/:query/:page`;\n }\n\n generateSearchUrl = (query: string, page: number): string => {\n return generatePath(this.searchUrlPattern, {\n query,\n page,\n });\n };\n\n generateToolSearchUrl = (data: ActiveToolFacetType): string => {\n const queryParams = stringify(data, {\n skipNull: true,\n skipEmptyString: true,\n });\n\n return `${this.getSinglePath(Single.toolSearch)}?${queryParams}`;\n };\n\n generateToolboxSearchUrl = (data: ActiveToolboxFacetType): string => {\n const queryParams = stringify(data, {\n skipNull: true,\n skipEmptyString: true,\n });\n\n return `${this.getSinglePath(Single.toolboxSearch)}?${queryParams}`;\n };\n}\n\n// Make sure only one instance of URLService is created\nconst urlService = new URLService();\nObject.freeze(URLService);\n\nexport { urlService };\n","let config: { [key: string]: any } = {\n API: {\n NEWSLETTER: \"/api/newsletter\",\n SEARCH: \"/api/search/simple\",\n TOOL_SEARCH: \"/api/search/tools\",\n TOOLBOX_SEARCH: \"/api/search/sub-tools\",\n },\n};\n\nconst env = process.env.REACT_APP_WIENI_ENV;\n\nswitch (env) {\n case \"development\": {\n config = {\n ...config,\n };\n break;\n }\n case \"staging\": {\n config = {\n ...config,\n };\n break;\n }\n // production is the default config, if passing REACT_APP_WIENI_ENV value fails\n default:\n case \"production\": {\n config = {\n ...config,\n };\n break;\n }\n}\n\nexport default Object.freeze(config);\n","import axios from \"axios\";\nimport config from \"config\";\nimport { isArray } from \"lodash-es\";\nimport { i18nService } from \"services/i18n/I18nService\";\nimport {\n INewsletterAPIData,\n INewsletterSubmitData,\n NewsletterMessageType,\n} from \"types\";\n\nconst NEWSLETTER_API_MESSAGES = {\n general: i18nService.copy[\"newsletter.successGeneral\"],\n success: i18nService.copy[\"newsletter.success\"],\n already_subscribed: i18nService.copy[\"newsletter.already_subscribed\"],\n};\n\ninterface INewsletterAPIResponseItem {\n id: string;\n message: \"success\" | \"already_subscribed\";\n status: 200 | 400;\n}\n\nexport class NewsletterService {\n static subscribe = (\n data: INewsletterSubmitData\n ): Promise =>\n new Promise(async (resolve, reject) => {\n try {\n const response = await axios({\n url: config.API.NEWSLETTER,\n method: \"post\",\n data: {\n ...data,\n langcode: i18nService.currentLanguage,\n source: window.location.href,\n },\n });\n\n const responseData: INewsletterAPIResponseItem[] = response?.data;\n\n // if the API says OK\n // but doesn't send an array with IDs/messages\n // just show a fallback message\n if (!isArray(responseData)) {\n resolve({\n successMessage: NEWSLETTER_API_MESSAGES.general,\n });\n }\n\n // get all newsletters\n // where subscription is OK\n const successCodes = responseData\n ?.filter((item) => item.message === NewsletterMessageType.success)\n ?.map((item) => item.id);\n\n // get all newsletters\n // where subscription is NOT OK\n const errorCodes = responseData\n ?.filter(\n (item) => item.message === NewsletterMessageType.already_subscribed\n )\n ?.map((item) => item.id);\n\n resolve({\n successCodes,\n successMessage: successCodes?.length\n ? NEWSLETTER_API_MESSAGES.success\n : null,\n errorCodes,\n error: errorCodes?.length\n ? NEWSLETTER_API_MESSAGES.already_subscribed\n : null,\n });\n } catch (error) {\n reject({\n error:\n error?.response?.data?.message ||\n i18nService.copy[\"newsletter.error\"],\n });\n }\n });\n}\n","import axios from \"axios\";\nimport config from \"config\";\nimport { i18nService } from \"services/i18n/I18nService\";\nimport { EntityType, ISearchData, IToolSearchData } from \"types\";\nimport { ISearchResults } from \"types\";\n\nexport class SearchService {\n static search = (data: ISearchData): Promise =>\n new Promise(async (resolve, reject) => {\n try {\n const request = await axios({\n url:\n data.type === EntityType.subTool\n ? config.API.TOOLBOX_SEARCH\n : config.API.SEARCH,\n method: \"get\",\n params: {\n o: (data.page - 1) * data.amount,\n a: data.amount,\n q: {\n langcode: i18nService.currentLanguage,\n term: data.query,\n type: data.type || undefined,\n facets: data.facets,\n prioritiseDossiersAndTools: data.prioritiseDossiersAndTools,\n },\n },\n });\n\n // not really an error but let's catch it\n if (request.data.err) {\n return reject({\n error: request.data.err,\n });\n }\n\n resolve(request.data as ISearchResults);\n } catch (error) {\n reject({\n error: error.response?.statusText,\n });\n }\n });\n\n static searchTools = (data: IToolSearchData): Promise =>\n new Promise(async (resolve, reject) => {\n try {\n const request = await axios({\n url: config.API.TOOL_SEARCH,\n method: \"get\",\n params: {\n o: (data.page - 1) * data.amount,\n a: data.amount,\n q: {\n langcode: i18nService.currentLanguage,\n term: data.term,\n facets: data.facets,\n },\n },\n });\n\n // not really an error but let's catch it\n if (request.data.err) {\n return reject({\n error: request.data.err,\n });\n }\n\n resolve(request.data as ISearchResults);\n } catch (error) {\n reject({\n error: error.response?.statusText,\n });\n }\n });\n}\n","import React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport { Close } from \"assets/icons\";\nimport { IconButton } from \"components/icon-button/IconButton\";\nimport { ButtonTheme } from \"types\";\nimport { i18nService } from \"services\";\n\ninterface ModalProps {\n handleClose: () => void;\n theme?: \"light\" | \"dark\";\n}\n\nexport const Modal: React.FC = ({\n handleClose,\n theme = \"dark\",\n children,\n}) => {\n return (\n \n {children}\n \n \n );\n};\n","export enum RenderRoot {\n root = \"#root\",\n modal = \"#modal\",\n}\n\nexport const getRenderRoot = (root: RenderRoot): Element | null => {\n switch (root) {\n case RenderRoot.modal:\n return document.querySelector(RenderRoot.modal);\n default:\n case RenderRoot.root:\n return document.querySelector(RenderRoot.root);\n }\n};\n","import { i18nService } from \"services\";\n\nexport const convertMinutesToDate = (minutes: number) => {\n return new Date(minutes * 1000).toLocaleDateString(\n i18nService.currentLanguage,\n {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n }\n );\n};\n","import React from \"react\";\n\nimport { TeaserHeadingType } from \"types\";\n\nexport const getTeaserTitle = (\n title: string,\n headingType?: TeaserHeadingType,\n classNames?: string[]\n) => {\n switch (headingType) {\n case TeaserHeadingType.h3:\n return (\n

\n \n

\n );\n case TeaserHeadingType.h4:\n return (\n

\n \n

\n );\n default:\n return (\n

\n \n

\n );\n }\n};\n","import { EntityType, ISearchResult } from \"types\";\nimport { HorizontalTeaserProps, LabelProps } from \"components\";\nimport { convertMinutesToDate, getToolTypeIcon } from \"utils\";\nimport { i18nService } from \"services\";\n\nconst getMeta = (result: ISearchResult) => {\n const publishedOn = i18nService.copy[\"siteSearch.publishedOn\"];\n const publishedDate = convertMinutesToDate(+result.document.created);\n\n switch (result.document.bundle) {\n case EntityType.article:\n return `${publishedOn} ${publishedDate}`;\n case EntityType.event: {\n const timestamps = result.document.event_timestamps;\n\n if (!timestamps) return undefined;\n\n let days = timestamps.slice().sort();\n const nbDays = days.length;\n\n if (!nbDays) return undefined;\n\n const firstDay = convertMinutesToDate(+days[0]);\n const lastDay = convertMinutesToDate(+days[nbDays - 1]);\n\n const till = i18nService.copy[\"siteSearch.eventTill\"];\n const startsOn = i18nService.copy[\"siteSearch.eventStartsOn\"];\n\n switch (result.document.event_type) {\n case \"one-day-event\":\n return firstDay;\n case \"multi-day-event\":\n return `${firstDay} ${till} ${lastDay}`;\n case \"multi-day-event-non-consecutive\":\n return `${startsOn} ${firstDay}`;\n default:\n return undefined;\n }\n }\n default:\n return undefined;\n }\n};\n\nconst getMediaLabel = (result: ISearchResult): LabelProps | undefined => {\n switch (result.document.bundle) {\n case EntityType.tool:\n if (!result.document.toolType) return undefined;\n\n const { key, label } = result.document.toolType;\n\n if (!label) return undefined;\n\n return {\n Icon: getToolTypeIcon(key),\n text: label,\n };\n default:\n return undefined;\n }\n};\n\nconst getTeaserType = (result: ISearchResult): string | undefined => {\n switch (result.document.bundle) {\n case EntityType.tool:\n return result.document.toolType?.key || undefined;\n default:\n return undefined;\n }\n};\n\nconst getBundleType = (result: ISearchResult): string | undefined => {\n switch (result.document.bundle) {\n case EntityType.tool:\n return '(tool)';\n case EntityType.dossier:\n return '(dossier)';\n default:\n return undefined;\n }\n};\n\nexport const normalizeSearchResult = (\n result: ISearchResult\n): HorizontalTeaserProps => {\n return {\n url: result.document.url,\n title: result.document.title,\n intro: result.highlights.intro || result.document.intro,\n meta: getMeta(result),\n image: result.document.metaImage,\n breadcrumbs: result.document.breadcrumbs,\n mediaLabel: getMediaLabel(result),\n teaserType: getTeaserType(result),\n bundle: getBundleType(result),\n };\n};\n","import React from \"react\";\nimport { ToolType } from \"types\";\n\nimport {\n File as FileIcon,\n Cube,\n Book,\n Cursor,\n Verified,\n Video,\n Globe,\n Policy,\n} from \"assets/icons\";\n\nexport const getToolTypeIcon = (\n toolType: ToolType\n): React.ComponentType | null => {\n switch (toolType) {\n case ToolType.poster:\n return FileIcon;\n case ToolType.educationalMaterial:\n return Cube;\n case ToolType.leaflet:\n return Book;\n case ToolType.game:\n return Cursor;\n case ToolType.test:\n return Verified;\n case ToolType.video:\n return Video;\n case ToolType.website:\n return Globe;\n case ToolType.policy:\n return Policy;\n default:\n return null;\n }\n};\n","import { useEffect } from \"react\";\n\n/**\n * If browser back button was used, and the page is not newly loaded, execute callback\n * This ensures that user will always see an accurate, up-to-date view based on their state\n * https://stackoverflow.com/questions/8788802/prevent-safari-loading-from-cache-when-back-button-is-clicked\n * https://web.dev/bfcache\n */\nexport const useOnPersistedPageShow = (callback: () => void) => {\n useEffect(() => {\n window.addEventListener(\"pageshow\", (event: PageTransitionEvent) => {\n if (event.persisted) {\n callback();\n }\n });\n }, [callback]);\n};\n","import React, { useCallback, useEffect, useState } from \"react\";\nimport { unmountComponentAtNode } from \"react-dom\";\nimport SwiperModule from \"swiper\";\nimport { Swiper, SwiperSlide } from \"swiper/react\";\n\nimport { IImage, IVideo } from \"types\";\nimport { Modal, ImageSlide, VideoSlide } from \"components\";\nimport { getRenderRoot, RenderRoot } from \"utils\";\nimport { lazyLoadService } from \"services\";\n\ninterface GalleryModalProps {\n images?: IImage[];\n videos?: IVideo[];\n initIndex?: number;\n}\n\nexport const GalleryModal: React.FC = ({\n images = [],\n videos = [],\n initIndex = 0,\n}) => {\n const [swiper, setSwiper] = useState(null);\n const [isOpen, setIsOpen] = useState(true);\n const [currentIndex, setCurrentIndex] = useState(initIndex);\n\n // unmount modal after close\n useEffect(() => {\n const modalRoot = getRenderRoot(RenderRoot.modal);\n\n if (!isOpen && modalRoot) {\n unmountComponentAtNode(modalRoot);\n }\n }, [isOpen]);\n\n // observe lazy loading images\n useEffect(() => {\n lazyLoadService.observe();\n }, [swiper, currentIndex]);\n\n const slideProps = useCallback(\n (index: number, length: number) => ({\n isActive: currentIndex === index,\n currentSlide: currentIndex + 1,\n totalSlides: length,\n isPrevActive: currentIndex > 0,\n isNextActive: currentIndex < length - 1,\n handlePrevClick: () => swiper?.slidePrev(),\n handleNextClick: () => swiper?.slideNext(),\n }),\n [swiper, currentIndex]\n );\n\n if (!isOpen) return <>;\n if (!images?.length && !videos?.length) return <>;\n\n const renderImages = (\n <>\n {images.map((image, index) => (\n \n \n \n ))}\n \n );\n\n const renderVideos = (\n <>\n {videos.map((video, index) => (\n \n \n \n ))}\n \n );\n\n return (\n setIsOpen(false)}>\n {\n setSwiper(s);\n }}\n onSlideChange={(s) => setCurrentIndex(s.activeIndex)}\n keyboard={{\n enabled: true,\n }}\n >\n {images && renderImages}\n {videos && renderVideos}\n \n \n );\n};\n","import { IconButton } from \"components/icon-button/IconButton\";\nimport React from \"react\";\nimport { ArrowLeft, ArrowRight } from \"assets/icons\";\nimport { i18nService } from \"services\";\n\nexport interface SlideProps {\n isActive: boolean;\n currentSlide?: number;\n totalSlides?: number;\n isPrevActive?: boolean;\n isNextActive?: boolean;\n handlePrevClick?: () => void;\n handleNextClick?: () => void;\n}\n\ninterface GallerySlideProps extends SlideProps {\n media: JSX.Element;\n title?: string;\n description?: string;\n}\n\nexport const GallerySlide: React.FC = ({\n media,\n title,\n description,\n currentSlide,\n totalSlides,\n isPrevActive,\n isActive,\n isNextActive,\n handlePrevClick,\n handleNextClick,\n}) => {\n return (\n
\n {media}\n
\n {(title || description) && (\n
\n
\n {title && {title}}\n {description && (\n \n )}\n
\n
\n )}\n {totalSlides && totalSlides > 1 && (\n
\n {handlePrevClick && (\n \n )}\n\n \n \n {currentSlide}\n \n /{totalSlides}\n \n\n {handleNextClick && (\n \n )}\n
\n )}\n
\n
\n );\n};\n","import React from \"react\";\nimport { IImage } from \"types\";\nimport { GallerySlide, SlideProps } from \"components\";\n\ninterface ImageSlideProps extends IImage, SlideProps {}\n\nexport const ImageSlide: React.FC = ({\n image,\n preview,\n ...rest\n}) => {\n const media = (\n
\n {preview && (\n \n )}\n \n
\n );\n\n return ;\n};\n","import React, {\n useEffect,\n useMemo,\n useRef,\n useState,\n useCallback,\n} from \"react\";\nimport { IVideo, VideoType } from \"types\";\nimport ReactPlayer from \"react-player\";\nimport { parse, stringify } from \"query-string\";\nimport { omit } from \"lodash-es\";\n\nimport { GallerySlide, SlideProps } from \"components\";\n\ninterface VideoSlideProps extends IVideo, SlideProps {}\n\nexport const VideoSlide: React.FC = ({\n url,\n iframe,\n isActive,\n type,\n ...rest\n}) => {\n const [playerLoaded, setPlayerLoaded] = useState(false);\n const [playing, setPlaying] = useState(false);\n const iframeRef = useRef(null);\n const cleanURL = useMemo(() => {\n if (!url) return;\n\n if (type === VideoType.vimeo) return url;\n const parsedURL = new URL(url);\n const cleanParams = omit(parse(parsedURL.search), [\"index\", \"list\"]);\n\n return `${parsedURL.origin}${parsedURL.pathname}?${stringify(cleanParams)}`;\n }, [url, type]);\n\n useEffect(() => {\n if (!isActive) {\n setPlaying(false);\n }\n\n if (isActive) {\n setPlayerLoaded(true);\n }\n }, [isActive]);\n\n const handlePlayerReady = useCallback(() => {\n document.querySelectorAll(\"iframe\").forEach((iframe) => {\n try {\n const src = new URL(iframe.src);\n\n if (\n src.searchParams.get(\"keyboard\") !== \"false\" ||\n src.searchParams.get(\"disablekb\") !== \"1\"\n ) {\n setPlayerLoaded(true);\n src.searchParams.set(\"keyboard\", \"false\");\n src.searchParams.set(\"disablekb\", \"1\");\n iframe.src = src.toString();\n iframe.setAttribute(\"disablekb\", \"1\");\n }\n } catch (error) {\n console.error(\"Invalid URL:\", iframe.src);\n }\n });\n }, []);\n\n if (!isActive && !playerLoaded) return <>;\n\n const media = (\n
\n {iframe ? (\n \n ) : (\n handlePlayerReady()}\n controls\n onPlay={() => setPlaying(true)}\n onPause={() => setPlaying(false)}\n config={{\n youtube: {\n embedOptions: {\n host: \"https://www.youtube-nocookie.com\",\n },\n },\n }}\n width=\"100%\"\n height=\"100%\"\n />\n )}\n
\n );\n\n return ;\n};\n","import React, { useEffect, useState } from \"react\";\n\nimport { Close, Fullscreen } from \"assets/icons\";\nimport { IEmbed, ButtonTheme } from \"types\";\nimport { IconButton, EmbedCode } from \"components\";\nimport classNames from \"classnames\";\nimport { useCloseOnEscape } from \"utils\";\nimport { i18nService } from \"services\";\n\ninterface EmbedProps extends IEmbed {\n blockElement: HTMLElement | null;\n}\n\nconst HIDE_CLASS = \"is-invisible\";\nconst SHOW_CLASS = \"is-visible\";\n\nexport const Embed: React.FC = ({\n embed,\n allowEnlarge,\n blockElement,\n}) => {\n const [isFullscreen, setFullscreen] = useState(false);\n\n useCloseOnEscape(() => setFullscreen(false));\n\n useEffect(() => {\n if (isFullscreen) return;\n\n document.body.classList.remove(HIDE_CLASS);\n blockElement?.classList.remove(SHOW_CLASS);\n }, [isFullscreen, blockElement]);\n\n const handleFullscreenClick = () => {\n document.body.classList.add(HIDE_CLASS);\n\n setFullscreen(true);\n blockElement?.classList.add(SHOW_CLASS);\n };\n\n return (\n \n {allowEnlarge && !isFullscreen && (\n \n \n \n \n \n {i18nService.copy[\"embed.viewFullscreen\"]}\n \n \n )}\n {isFullscreen && (\n setFullscreen(false)}\n />\n )}\n
\n \n
\n \n );\n};\n","import { useEffect } from \"react\";\n\nexport const useCloseOnEscape = (handleClose?: () => void) => {\n useEffect(() => {\n if (!handleClose) {\n return;\n }\n\n const closeOnEscape = (event: KeyboardEvent) => {\n if (event.code === \"Escape\") {\n handleClose();\n }\n };\n\n document.addEventListener(\"keydown\", closeOnEscape);\n\n return () => document.removeEventListener(\"keydown\", closeOnEscape);\n }, [handleClose]);\n};\n","import React, { useEffect, useMemo } from \"react\";\nimport parse from \"html-react-parser\";\n\ninterface EmbedCodeProps {\n embed: string;\n}\n\nexport const EmbedCode: React.FC = ({ embed }) => {\n useEffect(() => {\n if (!window.instgrm) return;\n\n window.instgrm.Embeds.process();\n }, []);\n\n // save code in memo to prevent useless rerenders\n const code = useMemo(\n () => (\n <>\n {parse(decodeURIComponent(embed), {\n replace(domNode) {\n if (domNode.type !== \"script\") return;\n if (!(\"attribs\" in domNode)) return;\n\n const source = domNode.attribs.src;\n if (!source) return;\n\n const script = document.createElement(\"script\");\n script.src = source;\n script.async = true;\n document.head.appendChild(script);\n },\n })}\n \n ),\n [embed]\n );\n\n return code;\n};\n","import classNames from \"classnames\";\nimport React from \"react\";\nimport { MessageTheme } from \"types\";\n\ninterface MessageProps {\n theme?: MessageTheme;\n}\n\nexport const Message: React.FC = ({\n theme = MessageTheme.status,\n children,\n}) => (\n
\n {children}\n
\n);\n","import classNames from \"classnames\";\nimport React from \"react\";\n\ninterface LoaderProps {\n size?: \"s\" | \"m\" | \"l\";\n theme?: \"default\" | \"light\" | \"dark\";\n}\n\nexport const Loader: React.FC = ({\n size = \"m\",\n theme = \"default\",\n}) => (\n \n);\n","import React, { useMemo } from \"react\";\nimport classNames from \"classnames\";\n\nimport { IPager } from \"types\";\nimport { ChevronLeft, ChevronRight } from \"assets/icons\";\nimport { i18nService } from \"services\";\n\nconst NB_VISIBLE_PAGES = 10;\n\ninterface PagerProps extends IPager {\n theme?: \"dark\" | \"light\";\n}\n\nexport const Pager: React.FC = ({\n currentPage,\n totalPages,\n onPageChange,\n theme = \"light\",\n}) => {\n const showPrevButton = useMemo(() => currentPage > 1, [currentPage]);\n const showNextButton = useMemo(() => currentPage < totalPages, [\n currentPage,\n totalPages,\n ]);\n const pages = useMemo(\n () => Array.from(Array(totalPages)).map((_, index) => index + 1),\n [totalPages]\n );\n\n const visiblePages = useMemo(() => {\n // if number of pages is less than NB_VISIBLE_PAGES\n // show all pages\n if (pages.length < NB_VISIBLE_PAGES) return pages;\n\n // show nb_visible_pages starting from current page\n const startFromCurrent = pages.slice(\n currentPage - 1,\n NB_VISIBLE_PAGES + currentPage - 1\n );\n\n // if number of visible pages in startFromCurrent are\n // less than NB_VISIBLE_PAGES, start from the end\n if (startFromCurrent.length < NB_VISIBLE_PAGES)\n return pages.slice(pages.length - NB_VISIBLE_PAGES, pages.length);\n\n return startFromCurrent;\n }, [currentPage, pages]);\n\n const showPrevEllipsis = useMemo(() => visiblePages[0] !== pages[0], [\n pages,\n visiblePages,\n ]);\n\n const showNextEllipsis = useMemo(\n () => visiblePages[visiblePages.length - 1] !== pages[pages.length - 1],\n [pages, visiblePages]\n );\n\n return (\n \n );\n};\n","import React from \"react\";\nimport { IBreadcrumb } from \"types\";\nimport { ChevronRight } from \"assets/icons\";\n\ninterface BreadcrumbsProps {\n breadcrumbs: IBreadcrumb[];\n}\n\nexport const Breadcrumbs: React.FC = ({ breadcrumbs }) => (\n
\n
    \n {breadcrumbs.map((breadcrumb) => (\n
  1. \n {breadcrumb.isMultiLink && breadcrumb.links ? (\n <>\n {breadcrumb.links?.map((item, index) => (\n \n {item.text}\n {index < (breadcrumb.links?.length || 0) - 1 && \",\"}\n \n ))}\n \n ) : (\n {breadcrumb.text}\n )}\n\n \n \n \n
  2. \n ))}\n
\n
\n);\n","import React from \"react\";\n\nimport { IActiveFacet } from \"types\";\nimport { Close } from \"assets/icons\";\nimport { i18nService } from \"services\";\n\ninterface ActiveFacetProps {\n activeFacet: IActiveFacet;\n}\n\nexport const ActiveFacet: React.FC = ({ activeFacet }) => (\n
\n {activeFacet.label}: \n {activeFacet.activeOptions?.map((option) => (\n \n \n {i18nService.copy[\"a11y.remove\"]}\n \n\n {option.label}\n \n \n ))}\n
\n);\n","import React from \"react\";\n\nimport { IActiveFacet } from \"types\";\nimport { i18nService } from \"services\";\n\nimport { ActiveFacet } from \"./ActiveFacet\";\n\ninterface ActiveFacetsProps {\n activeFacets: IActiveFacet[];\n clearAllFacets: () => void;\n}\n\nexport const ActiveFacets: React.FC = ({\n activeFacets,\n clearAllFacets,\n}) => (\n
\n

{i18nService.copy[\"facets.selectedFacets\"]}

\n
    \n {activeFacets.map((activeFacet) => (\n
  • \n \n
  • \n ))}\n
\n \n {i18nService.copy[\"facets.removeAllFacets\"]}\n \n
\n);\n","import React, { useState } from \"react\";\n\nimport { BreakpointSize, IActiveFacet, IFormSchema } from \"types\";\nimport { FormBuilder } from \"components\";\nimport { i18nService } from \"services\";\nimport { useBreakpoint } from \"utils\";\n\nimport { ActiveFacets, FacetsTrigger, MobileFacets } from \".\";\n\ninterface FacetsProps extends IFormSchema {\n activeFacets?: IActiveFacet[];\n clearAllFacets: () => void;\n mobileTitle?: string;\n nbResults?: number;\n isLoading?: boolean;\n}\n\nexport const Facets: React.FC = ({\n fields,\n defaultValues,\n activeFacets,\n clearAllFacets,\n mobileTitle,\n nbResults,\n isLoading,\n}) => {\n const [isMobileOpen, setMobileOpen] = useState(false);\n const { matches: isMobile } = useBreakpoint(BreakpointSize.m);\n\n const renderFacets = () => (\n
\n {!!activeFacets?.length && (\n \n )}\n\n

\n {i18nService.copy[\"facets.selectFacets\"]}\n

\n {}} // dummy handler, effects are added onChange of fields\n />\n
\n );\n\n if (isMobile) {\n return (\n
\n setMobileOpen(true)}\n />\n {isMobileOpen && (\n setMobileOpen(false)}\n mobileTitle={mobileTitle}\n isLoading={isLoading}\n nbResults={nbResults}\n />\n )}\n
\n );\n }\n\n return <>{renderFacets()};\n};\n","import { useState, useEffect } from \"react\";\nimport { BreakpointSize } from \"types\";\n\nexport const useBreakpoint = (\n breakpoint: BreakpointSize = BreakpointSize.m\n) => {\n const breakpointMatches = () =>\n window.matchMedia(`(max-width: ${breakpoint}px)`).matches;\n\n const [matches, setMatches] = useState(breakpointMatches());\n\n useEffect(() => {\n const updateMatches = () => {\n setMatches(breakpointMatches());\n };\n\n window.addEventListener(\"resize\", updateMatches);\n\n // remove listener on unmount\n return () => {\n window.removeEventListener(\"resize\", updateMatches);\n };\n });\n\n return { matches };\n};\n","import React, { MouseEventHandler, useMemo } from \"react\";\n\nimport { i18nService } from \"services\";\nimport { Button } from \"components\";\nimport { Filter } from \"assets/icons\";\n\ninterface FacetsTriggerProps {\n onClick: MouseEventHandler;\n nbActiveFacets?: number;\n}\n\nexport const FacetsTrigger: React.FC = ({\n nbActiveFacets,\n onClick,\n}) => {\n const buttonText = useMemo(() => {\n if (nbActiveFacets) {\n return `${i18nService.copy[\"facets.mobileTrigger\"]} • ${nbActiveFacets}`;\n }\n\n return i18nService.copy[\"facets.mobileTrigger\"];\n }, [nbActiveFacets]);\n\n return (\n \n );\n};\n","import React, { useMemo } from \"react\";\n\nimport { i18nService } from \"services\";\n\nimport { Modal } from \"components/modal/Modal\";\nimport { Button } from \"components/button/Button\";\n\ninterface MobileFacetsProps {\n handleClose: () => void;\n renderFacets: () => JSX.Element;\n mobileTitle?: string;\n nbResults?: number;\n isLoading?: boolean;\n}\n\nexport const MobileFacets: React.FC = ({\n handleClose,\n renderFacets,\n mobileTitle,\n nbResults,\n isLoading,\n}) => {\n const copyKey = useMemo(() => {\n if (nbResults === 1) {\n return \"facets.showResultsSingular\";\n }\n\n if (!nbResults) {\n return \"facets.noResults\";\n }\n\n return \"facets.showResults\";\n }, [nbResults]);\n\n return (\n <>\n \n
\n {mobileTitle && (\n

{mobileTitle}

\n )}\n {renderFacets()}\n
\n \n
\n
\n
\n \n );\n};\n","import React from \"react\";\n\nexport interface LabelProps {\n Icon?: string | React.ComponentType | null;\n text: string;\n link?: string;\n}\n\nexport const Label: React.FC = ({ Icon, text, link }) => {\n const renderInner = () => (\n <>\n {Icon && typeof Icon === \"string\" && (\n \n )}\n {Icon && typeof Icon !== \"string\" && (\n \n \n \n )}\n {text}\n \n );\n\n if (link) {\n return (\n \n {renderInner()}\n \n );\n }\n\n return {renderInner()};\n};\n","import React, { useRef, useState } from \"react\";\nimport FocusTrap from \"focus-trap-react\";\n\nimport { i18nService } from \"services\";\nimport { ILanguageSwitchItem } from \"types\";\nimport { ChevronDown, ChevronUp, Globe } from \"assets/icons\";\nimport { useOnClickOutside } from \"utils\";\n\ninterface LanguageSwitchProps {\n items: ILanguageSwitchItem[];\n}\n\nexport const LanguageSwitch: React.FC = ({ items }) => {\n const [isOpen, setOpen] = useState(false);\n const currentLanguage = items.find((item) => item.active);\n\n const containerRef = useRef(null);\n\n useOnClickOutside(containerRef, () => setOpen(false));\n\n return (\n setOpen(false),\n }}\n >\n
\n {i18nService.copy[\"languageSwitch.chooseLanguage\"]}:\n
\n setOpen(!isOpen)}\n >\n \n \n \n \n \n {i18nService.copy[\"languageSwitch.chosenLanguage\"]}\n {\": \"}\n \n {currentLanguage?.language}\n \n \n {isOpen ? : }\n \n \n\n {isOpen && (\n
    \n {items.map((item) => (\n
  • \n {item.active ? (\n \n \n {i18nService.copy[\"languageSwitch.chosenLanguage\"]}\n {\": \"}\n \n {item.language}\n \n ) : (\n \n {item.language}\n \n )}\n
  • \n ))}\n
\n )}\n
\n
\n \n );\n};\n","import { RefObject, useEffect } from \"react\";\n\n// pass handler in a useCallback to prevent unneeded rerenders\nexport const useOnClickOutside = (\n ref: RefObject,\n handler: () => void\n) => {\n useEffect(() => {\n const listener = (event: MouseEvent | TouchEvent) => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target as HTMLElement)) {\n return;\n }\n handler();\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [ref, handler]);\n};\n","import React, { forwardRef, useMemo } from \"react\";\nimport { FieldError } from \"react-hook-form\";\nimport classNames from \"classnames\";\n\nimport { IInputField } from \"types\";\nimport { FormLabel } from \"components\";\nimport { debounce } from \"lodash-es\";\n\nconst CHANGE_DEBOUNCE = 500;\n\ninterface InputFieldProps extends IInputField {\n error?: FieldError | null;\n}\nexport const InputField = forwardRef<\n HTMLInputElement,\n InputFieldProps & React.InputHTMLAttributes\n>(({ name, label, type, error, required, onChange, ...rest }, ref) => {\n const debouncedOnChange = useMemo(\n () => debounce((data) => onChange && onChange(data), CHANGE_DEBOUNCE),\n [onChange]\n );\n\n return (\n
\n \n {error?.message && (\n \n {error?.message}\n \n )}\n
\n );\n});\n","import React from \"react\";\n\nimport { i18nService } from \"services\";\n\ninterface FormRequiredProps {}\n\nexport const FormRequired: React.FC = () => (\n \n {i18nService.copy[\"a11y.required\"]}\n *\n \n);\n","import React from \"react\";\n\nimport { FormRequired } from \"./FormRequired\";\n\ninterface FormLabelProps {\n label: string;\n hideLabel?: boolean;\n labelIcon?: string | JSX.Element;\n required?: boolean;\n}\nexport const FormLabel: React.FC = ({\n label,\n hideLabel,\n labelIcon,\n required,\n}) => {\n if (hideLabel) {\n return {label};\n }\n\n return (\n \n {labelIcon && typeof labelIcon === \"string\" && (\n \n )}\n {labelIcon && typeof labelIcon !== \"string\" && (\n {labelIcon}\n )}\n {label}\n {required && }\n \n );\n};\n","import React, { FC, useRef } from \"react\";\nimport { Loader } from \"components\";\n\nimport { useButtonEffect } from \"components/button/hooks/useButtonEffect\";\nimport classNames from \"classnames\";\n\ninterface IButton {\n text: string;\n disabled?: boolean;\n isSubmitting?: boolean;\n}\n\nexport const SubmitButton: FC = ({ text, disabled, isSubmitting }) => {\n const buttonRef = useRef(null);\n const buttonEffect = useButtonEffect(buttonRef);\n\n return (\n \n {text}\n \n {isSubmitting && }\n \n \n );\n};\n","import React from \"react\";\n\ninterface FormTextProps {\n label: string;\n}\nexport const FormText: React.FC = ({ label }) => {\n return {label};\n};\n","import React, { forwardRef } from \"react\";\nimport { FieldError } from \"react-hook-form\";\nimport classNames from \"classnames\";\n\nimport { ICheckboxField } from \"types\";\nimport { FormRequired } from \"../components\";\n\ninterface CheckboxFieldProps extends ICheckboxField {\n error?: FieldError | null;\n}\nexport const CheckboxField = forwardRef<\n HTMLInputElement,\n CheckboxFieldProps & React.InputHTMLAttributes\n>(({ id, label, value, type, error, required, onChange, ...rest }, ref) => {\n return (\n
\n \n {error?.message && (\n \n {error?.message}\n \n )}\n
\n );\n});\n","import React from \"react\";\nimport {\n Control,\n Controller,\n FieldError,\n RegisterOptions,\n} from \"react-hook-form\";\n\nimport { ICheckboxField, ICheckboxGroup } from \"types\";\nimport { FormLabel } from \"components\";\n\nimport { CheckboxField } from \"./CheckboxField\";\nimport { useExpandableOptions } from \"../hooks\";\n\ninterface CheckboxGroupProps extends ICheckboxGroup {\n options: ICheckboxField[];\n control: Control;\n validation?: RegisterOptions;\n value?: string[];\n error?: FieldError | null;\n}\n\nexport const CheckboxGroup: React.FC<\n CheckboxGroupProps & React.InputHTMLAttributes\n> = ({\n name,\n label,\n labelIcon,\n value,\n options,\n control,\n validation,\n required,\n disabled,\n error,\n onChange: triggerOnChange,\n expandable,\n expandableLimit,\n expandableMoreText,\n expandableLessText,\n}) => {\n const { visibleOptions, renderExpandableButton } = useExpandableOptions({\n value,\n options,\n expandableOptions: {\n expandable,\n expandableLimit,\n expandableMoreText,\n expandableLessText,\n },\n });\n\n return (\n (\n
\n \n \n \n {visibleOptions?.map((data) => (\n {\n const { checked, value: checkboxValue } = e.target;\n const oldValue = value || [];\n let newValue;\n\n if (checked) {\n newValue = [...oldValue, checkboxValue];\n } else {\n newValue = oldValue.filter(\n (id: string) => id !== checkboxValue\n );\n }\n\n triggerOnChange && triggerOnChange(newValue);\n\n onChange(newValue?.length === 0 ? \"\" : newValue);\n }}\n />\n ))}\n\n {renderExpandableButton()}\n\n {error?.message && (\n \n {error?.message}\n \n )}\n
\n )}\n />\n );\n};\n","import React, { useState, useMemo, useEffect } from \"react\";\n\nimport { ChevronUp, ChevronDown } from \"assets/icons\";\nimport { IExpandableFormGroup, ICheckboxField } from \"types\";\n\ninterface useExpandableOptionsProps {\n value?: string[];\n options: ICheckboxField[];\n expandableOptions: IExpandableFormGroup;\n}\n\nexport const useExpandableOptions = ({\n value,\n options,\n expandableOptions,\n}: useExpandableOptionsProps) => {\n const {\n expandable,\n expandableLimit = options.length,\n expandableMoreText,\n expandableLessText,\n } = expandableOptions;\n\n // undefined = not applicable because there are less options than the limit\n const [isExpanded, setExpanded] = useState(\n expandable && expandableLimit < options.length ? false : undefined\n );\n\n const visibleOptions = useMemo(() => {\n if (!expandable) return options;\n\n // undefined = not applicable so return all options\n if (isExpanded === undefined) return options;\n\n if (isExpanded) return options;\n\n return options.slice(0, expandableLimit);\n }, [options, expandable, expandableLimit, isExpanded]);\n\n // we don't want this value to update once rendered\n const hiddenOptionIsActive = useMemo(\n () =>\n !!options\n .slice(visibleOptions.length, options.length) // hidden options\n .filter((option) => value?.includes(option.value)).length, // all hidden active options\n [] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n // open options if a hidden option is active\n useEffect(() => {\n if (hiddenOptionIsActive) {\n setExpanded(true);\n }\n }, [hiddenOptionIsActive]);\n\n const nbHiddenOptions: number = useMemo(\n () => options.length - expandableLimit,\n [expandableLimit, options.length]\n );\n\n const renderExpandableButton = () => (\n
\n {expandableMoreText && isExpanded === false && (\n setExpanded(true)}\n >\n \n \n {expandableMoreText?.replace(\"@number\", String(nbHiddenOptions))}\n \n \n \n \n )}\n\n {expandableLessText && isExpanded === true && (\n setExpanded(false)}\n >\n \n \n {expandableLessText?.replace(\"@number\", String(nbHiddenOptions))}\n \n \n \n \n )}\n
\n );\n\n return {\n isExpanded,\n setExpanded,\n visibleOptions,\n nbHiddenOptions,\n hiddenOptionIsActive,\n renderExpandableButton,\n };\n};\n","import React, { ChangeEvent, forwardRef, useEffect, useState } from \"react\";\nimport { FieldError } from \"react-hook-form\";\nimport classNames from \"classnames\";\n\nimport { ISelectField } from \"types\";\nimport { FormLabel } from \"components\";\nimport { useOnPersistedPageShow } from \"utils\";\nimport { ChevronDown } from \"assets/icons\";\n\nimport { FormText } from \"../components\";\n\ninterface SelectFieldProps extends ISelectField {\n error?: FieldError | null;\n}\n\nexport const SelectField = forwardRef<\n HTMLSelectElement,\n SelectFieldProps & React.InputHTMLAttributes\n>(\n (\n {\n name,\n value,\n label,\n labelIcon,\n hideLabel,\n prefixText,\n error,\n required,\n options,\n onChange,\n className = \"\",\n },\n ref\n ) => {\n const [selectedLabel, setSelectedLabel] = useState(); // New state to track the selected label\n const [selected, setSelected] = useState(false);\n\n const handleChange = (event: ChangeEvent) => {\n const currentValue = (event.target as HTMLSelectElement).value;\n\n const selectedOption = options.find(\n (option) => option.value === currentValue\n );\n setSelectedLabel(selectedOption ? selectedOption.label : \"\"); // Update label based on selection\n\n setSelected(!!currentValue);\n onChange && onChange(event);\n };\n\n // bfcache fix\n useOnPersistedPageShow(() => setSelected(false));\n\n useEffect(() => {\n if (!value) return;\n\n const selectedOption = options.find((option) => option.value === value);\n setSelected(!!selectedOption?.value);\n setSelectedLabel(selectedOption?.label); // Set the label for the selected value\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n return (\n
\n {prefixText && }\n
\n
\n \n {error?.message && (\n \n {error?.message}\n \n )}\n
\n \n );\n }\n);\n","import React, { useEffect, useMemo } from \"react\";\nimport { SubmitHandler, useForm } from \"react-hook-form\";\n\nimport {\n ICheckboxField,\n ICheckboxGroup,\n IField,\n IFieldType,\n IFormSchema,\n IInputField,\n ISelectField,\n} from \"types\";\nimport { i18nService } from \"services\";\nimport { useOnPersistedPageShow } from \"utils\";\n\nimport {\n CheckboxField,\n CheckboxGroup,\n InputField,\n SelectField,\n} from \"./fields\";\nimport { FormText, SubmitButton } from \"./components\";\n\ninterface FormBuilderProps extends IFormSchema {\n submitLabel?: string;\n onFormSubmit?: SubmitHandler;\n isSubmitted?: boolean;\n isSubmitting?: boolean;\n resetLabel?: string;\n handleReset?: () => void;\n}\nexport const FormBuilder: React.FC<\n FormBuilderProps & React.FormHTMLAttributes\n> = ({\n fields,\n submitLabel,\n onFormSubmit,\n isSubmitted,\n isSubmitting,\n disableAfterSubmit,\n resetLabel,\n handleReset,\n defaultValues,\n layout = \"block\",\n submitMode = \"default\",\n resetDefaultValues = true,\n ...rest // not defined form html attributes\n}) => {\n const {\n reset,\n register,\n handleSubmit,\n control,\n watch,\n formState: { errors, isDirty, isValid },\n } = useForm({\n defaultValues,\n });\n\n const formIsDisabled = disableAfterSubmit && isSubmitted;\n\n const renderStaticField = (field: IField) => {\n const { type, name, ...rest } = field;\n switch (type) {\n case IFieldType.staticText: {\n return ;\n }\n }\n };\n\n const renderField = (field: IField) => {\n if (field.type === IFieldType.staticText) {\n return renderStaticField(field);\n }\n\n const { name, type, value, validation = {}, ...rest } = field;\n\n const props = {\n required: !!validation?.required,\n error: errors[name],\n key: name,\n disabled: formIsDisabled,\n ...rest,\n };\n\n switch (type) {\n case IFieldType.text:\n case IFieldType.email:\n case IFieldType.password:\n case IFieldType.search: {\n const { value: inputValue } = field as IInputField;\n\n return (\n \n );\n }\n\n case IFieldType.checkbox: {\n const { value: inputValue } = field as ICheckboxField;\n\n return (\n \n );\n }\n\n case IFieldType.checkboxGroup: {\n const { options } = field as ICheckboxGroup;\n\n if (!options.length) return null;\n\n return (\n \n );\n }\n\n case IFieldType.select: {\n const { options } = field as ISelectField;\n\n if (!options.length) return null;\n if (value && typeof value !== \"string\") return null;\n\n return (\n \n );\n }\n }\n };\n\n const onReset = () => {\n handleReset && handleReset();\n reset();\n };\n\n // reset default values if changed after init render\n useEffect(() => {\n if (defaultValues && resetDefaultValues) {\n reset(defaultValues);\n }\n }, [defaultValues, reset, resetDefaultValues]);\n\n const isSubmitDisabled = useMemo(() => {\n if (submitMode === \"onDirty\") return !isDirty;\n if (submitMode === \"onValid\") return !isValid;\n\n return isSubmitted || isSubmitting;\n }, [submitMode, isSubmitted, isSubmitting, isValid, isDirty]);\n\n // bfcache fix\n useOnPersistedPageShow(() => reset());\n\n return (\n \n {fields.map((field) => renderField(field))}\n
\n
\n {submitLabel && (\n \n )}\n {formIsDisabled && (\n \n \n \n {resetLabel || i18nService.copy[\"general.reset\"]}\n \n \n \n )}\n
\n
\n \n );\n};\n","import { i18nService } from \"services\";\nimport { IFieldType, IFormSchema } from \"types\";\n\nimport { INewsletterOption } from \"types\";\n\nexport const makeSchema = (\n id: string,\n newsletters: INewsletterOption[]\n): IFormSchema => ({\n disableAfterSubmit: true,\n fields: [\n {\n name: `email_${id}`,\n label: i18nService.copy[\"newsletter.email\"],\n type: IFieldType.text,\n validation: {\n required: i18nService.copy[\"form.required\"],\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i,\n message: i18nService.copy[\"form.invalidEmail\"],\n },\n },\n },\n {\n name: `audiences_${id}`,\n type: IFieldType.checkboxGroup,\n label: i18nService.copy[\"newsletter.audiencesLabel\"],\n options: newsletters.map(({ title, id }) => ({\n type: IFieldType.checkbox,\n name: id,\n label: title,\n value: id,\n })),\n validation: {\n required: i18nService.copy[\"form.requiredCheckbox\"],\n },\n },\n {\n name: `optin_${id}`,\n type: IFieldType.checkbox,\n label: i18nService.copy[\"newsletter.optin\"],\n validation: {\n required: i18nService.copy[\"form.required\"],\n },\n },\n ],\n});\n","import { FormBuilder } from \"components/form/FormBuilder\";\nimport React from \"react\";\nimport { SerializedError } from \"@reduxjs/toolkit\";\n\nimport { i18nService } from \"services\";\nimport { IAPIState, INewsletterSubmitData, MessageTheme } from \"types\";\nimport { FormRequired, Message } from \"components\";\n\nimport { NewsletterFormContainerProps } from \"../containers\";\nimport { makeSchema } from \"./formSchema\";\n\ninterface NewsletterFormProps extends NewsletterFormContainerProps {\n onSubmit: (data: INewsletterSubmitData) => void;\n status: IAPIState;\n clearState: () => void;\n error?: SerializedError | string | null;\n successMessage?: string | null;\n}\n\nexport const NewsletterForm: React.FC = ({\n id,\n newsletters,\n onSubmit,\n status,\n clearState,\n error,\n successMessage,\n}) => {\n return (\n
\n

\n {i18nService.copy[\"form.requiredGuide\"]}\n

\n\n \n {error && {error}}\n {successMessage && (\n {successMessage}\n )}\n
\n );\n};\n","import React, {\n FormEvent,\n useEffect,\n useState,\n ChangeEvent,\n useMemo,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { debounce } from \"lodash-es\";\n\nimport { i18nService } from \"services\";\nimport { Search } from \"assets/icons\";\n\nconst SEARCH_RATE_LIMIT = 500;\n\ninterface SearchFieldProps {\n id: string;\n searchType?: \"onSubmit\" | \"onChange\";\n initSearchValue?: string;\n isSubmitting?: boolean;\n onSubmit?: (data: any) => void;\n onChange?: (data: any) => void;\n menuOverlayOpen?: boolean;\n isOpen?: boolean;\n onInputFocus?: () => void;\n onInputBlur?: () => void;\n onInputClick?: () => void;\n showFocusShadow?: boolean;\n}\n\nexport const SearchField: React.FC = ({\n id,\n searchType = \"onSubmit\",\n initSearchValue,\n isSubmitting,\n onSubmit = () => {},\n onChange = () => {},\n menuOverlayOpen,\n isOpen = false,\n onInputFocus,\n onInputBlur,\n showFocusShadow = true,\n onInputClick,\n}) => {\n const [error, setError] = useState(null);\n const [searchValue, setSearchValue] = useState(initSearchValue || \"\");\n\n const debouncedOnSubmit = useMemo(\n () => debounce((data) => onSubmit(data), SEARCH_RATE_LIMIT),\n [onSubmit]\n );\n\n const debouncedOnChange = useMemo(\n () => debounce((data) => onChange(data), SEARCH_RATE_LIMIT),\n [onChange]\n );\n\n const handleSubmit = (\n event: FormEvent | null = null\n ): void => {\n if (event) {\n event.preventDefault();\n }\n\n if (\n searchType === \"onSubmit\" &&\n searchValue.length < 3 &&\n searchValue.length !== 0\n ) {\n setError(i18nService.copy[\"siteSearch.minChars\"]);\n\n return;\n }\n\n setError(null);\n debouncedOnSubmit({ search: searchValue });\n };\n\n const handleInputChange = (event: ChangeEvent) => {\n const currentValue = (event.target as HTMLInputElement).value;\n setSearchValue(currentValue);\n\n if (searchType === \"onSubmit\") return;\n if (!onChange) return;\n\n debouncedOnChange({ search: currentValue });\n };\n\n useEffect(() => {\n if (!menuOverlayOpen) {\n setSearchValue(\"\");\n }\n }, [menuOverlayOpen]);\n\n return (\n handleSubmit(event)}\n >\n
\n {error && (\n \n {error}\n \n )}\n \n
\n \n );\n};\n","import React, { useMemo } from \"react\";\nimport { i18nService } from \"services\";\nimport { IAPIState } from \"types\";\n\ninterface SearchMessageProps {\n total?: number;\n status: IAPIState;\n hasSearched?: boolean;\n}\n\nexport const SearchMessage: React.FC = ({\n total,\n status,\n hasSearched,\n}) => {\n const message = useMemo(() => {\n if (status === IAPIState.pending) {\n return i18nService.copy[\"siteSearch.loading\"];\n }\n\n if (hasSearched && total === 0) {\n return i18nService.copy[\"siteSearch.noResults\"];\n }\n\n if (hasSearched && total && total > 0) {\n return `${total} ${i18nService.copy[\"siteSearch.results\"]}`;\n }\n }, [status, hasSearched, total]);\n\n return
{message}
;\n};\n","import React from \"react\";\n\nimport { ISearchResult } from \"types\";\n\nimport { normalizeSearchResult } from \"utils\";\nimport { HorizontalTeaser } from \"components\";\n\ninterface SearchResultsProps {\n results: ISearchResult[];\n currentPage?: number;\n}\n\nexport const SearchResults: React.FC = ({\n results,\n currentPage = 1,\n}) => (\n
    \n {results.map((result, index) => (\n
  • \n \n
  • \n ))}\n
\n);\n","import React from \"react\";\nimport { SerializedError } from \"@reduxjs/toolkit\";\n\nimport { SearchResults, Pager, SearchField, SearchMessage } from \"components\";\nimport { IAPIState, IPager, ISearchResult, ISearchSubmitData } from \"types\";\nimport { i18nService } from \"services\";\n\ninterface SiteSearchProps {\n initSearchValue?: string;\n onSearch: (data: ISearchSubmitData) => void;\n status: IAPIState;\n error?: SerializedError | null;\n results?: ISearchResult[];\n pager: IPager;\n total?: number;\n hasSearched?: boolean;\n menuOverlayOpen?: boolean;\n}\n\nexport const SiteSearch: React.FC = ({\n initSearchValue,\n onSearch,\n status,\n error,\n results,\n pager,\n total,\n hasSearched,\n menuOverlayOpen,\n}) => (\n
\n
\n \n \n {error && (\n

\n {i18nService.copy[\"siteSearch.error\"]}\n

\n )}\n
\n {results && !!results.length && (\n \n )}\n {!!pager.currentPage && pager.totalPages > 1 && (\n
\n \n
\n )}\n
\n);\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { SerializedError } from \"@reduxjs/toolkit\";\nimport FocusTrap from \"focus-trap-react\";\nimport classnames from \"classnames\";\n\nimport { SearchFilterDropdown, SearchField } from \"components\";\nimport {\n IAPIState,\n IAutosuggest,\n ISearchResult,\n ISearchSubmitData,\n} from \"types\";\n\ninterface SearchFilterProps {\n id: string;\n clearState: () => void;\n onSearch: (data: ISearchSubmitData) => void;\n status: IAPIState;\n error?: SerializedError | null;\n results?: ISearchResult[];\n autosuggest?: IAutosuggest[];\n hasSearched?: boolean;\n}\n\nexport const SearchFilter: React.FC = ({\n id,\n onSearch,\n status,\n error,\n results,\n autosuggest,\n hasSearched,\n}) => {\n const ref = useRef(null);\n const [isFocus, setIsFocus] = useState(false);\n const [isDropdownOpen, setDropdownOpen] = useState(false);\n const keysPressed = useRef<{ [key: string]: boolean }>({});\n const onInputClick = () => {\n if (!hasSearched && !autosuggest?.length) return;\n setDropdownOpen(true);\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"ArrowDown\") {\n setDropdownOpen(true);\n setIsFocus(true);\n }\n };\n\n const onInputFocus = () => {\n if (!hasSearched && !autosuggest?.length) return;\n\n document.addEventListener(\"keydown\", handleEscape);\n };\n\n const onInputBlur = () => {\n document.removeEventListener(\"keydown\", handleEscape);\n };\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n keysPressed.current[event.key] = true;\n\n if (isDropdownOpen)\n switch (event.key) {\n case \"Escape\":\n setDropdownOpen(false);\n setIsFocus(false);\n break;\n case \"Tab\":\n const currentElement = document.activeElement as HTMLElement;\n setDropdownOpen(false);\n setIsFocus(false);\n if (keysPressed.current[\"Shift\"] && keysPressed.current[\"Tab\"]) {\n event.preventDefault();\n if (currentElement) currentElement.blur();\n const focusElement = document.querySelector(\n \".header__menu-button\"\n ) as HTMLElement;\n focusElement?.focus();\n } else {\n event.preventDefault();\n if (currentElement) currentElement.blur();\n const nextElement = document.querySelector(\n \".block--content-filter\"\n )?.nextElementSibling;\n const nextButton = nextElement?.querySelector(\n \"a, button\"\n ) as HTMLElement;\n nextButton?.focus();\n }\n break;\n }\n };\n const handleKeyUp = (event: KeyboardEvent) => {\n delete keysPressed.current[event.key];\n };\n\n document.addEventListener(\"keyup\", handleKeyUp);\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keyup\", handleKeyUp);\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [isDropdownOpen]);\n\n const onSearchFilterFocus = () => {\n setIsFocus(true);\n };\n\n const onSearchFilterBlur = () => {\n setIsFocus(false);\n };\n\n useEffect(() => {\n if (hasSearched) {\n setDropdownOpen(true);\n return;\n }\n\n setDropdownOpen(false);\n setIsFocus(false);\n }, [hasSearched]);\n\n return (\n <>\n \n setDropdownOpen(false),\n }}\n >\n
\n \n {isDropdownOpen && (results || error) && (\n
\n \n
\n )}\n {isDropdownOpen && !hasSearched && !!autosuggest?.length && (\n
\n \n
\n )}\n
\n \n \n {isFocus &&
}\n \n );\n};\n","import React from \"react\";\n\nexport interface SearchFilterItemProps {\n url: string;\n title: string;\n bundle: string | undefined;\n}\n\nexport const SearchFilterItem: React.FC = ({\n url,\n title,\n bundle,\n}) => (\n \n {bundle ? (\n <>\n \n \n \n ) : (\n \n )}\n \n);\n","import React, { useEffect, useRef } from \"react\";\nimport { SerializedError } from \"@reduxjs/toolkit\";\n\nimport { IAutosuggest, ISearchResult } from \"types\";\nimport { normalizeSearchResult } from \"utils\";\nimport { i18nService } from \"services\";\nimport { SearchFilterItem, Loader } from \"components\";\n\ninterface SearchFilterDropdownProps {\n results: IAutosuggest[] | ISearchResult[];\n isLoading?: boolean;\n error?: SerializedError | null;\n}\n\nexport const SearchFilterDropdown: React.FC = ({\n results,\n isLoading,\n error,\n}) => {\n const searchFilterDropdownRef = useRef(null);\n\n useEffect(() => {\n const dropdownRef = searchFilterDropdownRef.current;\n\n const onKeyDown = (event: KeyboardEvent) => {\n const activeElement = document.activeElement;\n const firstListItem = dropdownRef?.querySelector(\n \".search-filter-dropdown__list li:first-child > .search-filter-item\"\n ) as HTMLElement | null;\n const searchFilterItems = dropdownRef?.querySelectorAll(\n \".search-filter-item\"\n ) as NodeListOf;\n\n if (!searchFilterItems?.length) return;\n\n let index = Array.from(searchFilterItems).indexOf(\n activeElement as HTMLElement\n );\n\n switch (event.key) {\n case \"ArrowUp\":\n event.preventDefault();\n if (index > 0) {\n searchFilterItems[index - 1]?.focus();\n } else {\n searchFilterItems[searchFilterItems.length - 1]?.focus(); // Loop to the last item\n }\n break;\n case \"ArrowDown\":\n event.preventDefault();\n if (index === -1 && firstListItem) {\n firstListItem.focus();\n } else if (index < searchFilterItems.length - 1) {\n searchFilterItems[index + 1]?.focus();\n } else {\n searchFilterItems[0]?.focus(); // Loop to the first item\n }\n break;\n default:\n // do nothing\n }\n };\n\n if (dropdownRef) {\n window.addEventListener(\"keydown\", onKeyDown, false);\n }\n\n return () => {\n if (dropdownRef) {\n window.removeEventListener(\"keydown\", onKeyDown);\n }\n };\n }, [searchFilterDropdownRef]);\n\n const renderInner = () => {\n if (error) {\n return (\n \n {i18nService.copy[\"siteSearch.error\"]}\n

\n );\n }\n if (isLoading) {\n return (\n
\n \n
\n );\n }\n\n if (results?.length === 0) {\n return (\n

\n {i18nService.copy[\"siteSearch.noResults\"]}\n

\n );\n }\n\n return (\n
    \n {results.map((result: IAutosuggest | ISearchResult, index: number) => {\n // ISearchResult\n if (\"document\" in result) {\n return (\n
  • \n \n
  • \n );\n }\n\n // IAutosuggest\n return (\n
  • \n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n
\n
{renderInner()}
\n
\n );\n};\n","import React from \"react\";\n\nimport { ISearchResult } from \"types\";\n\nimport { normalizeSearchResult } from \"utils\";\nimport { DefaultTeaser } from \"components\";\nimport classNames from \"classnames\";\n\ninterface ToolSearchResultsProps {\n results: ISearchResult[];\n currentPage?: number;\n isLoading?: boolean;\n}\n\nexport const ToolSearchResults: React.FC = ({\n results,\n currentPage = 1,\n isLoading,\n}) => (\n \n
    \n {results.map((result, index) => (\n
  • \n \n
  • \n ))}\n
\n
\n);\n","import React from \"react\";\n\nimport { MessageTheme } from \"types\";\n\nimport { i18nService } from \"services\";\nimport { Message } from \"components/message/Message\";\n\ninterface ToolSearchMessageProps {\n nbItems?: number;\n isError?: boolean;\n hasSearched?: boolean;\n clearAllFacets?: () => void;\n noResultMessage: string;\n}\n\nexport const ToolSearchMessage: React.FC = ({\n nbItems,\n isError,\n hasSearched,\n clearAllFacets,\n noResultMessage,\n}) => {\n if (isError) {\n return (\n \n {i18nService.copy[\"toolSearch.error\"]}\n \n );\n }\n\n return (\n <>\n {!!nbItems && (\n \n {i18nService.copy[\n nbItems === 1\n ? \"toolSearch.nbResultsSingular\"\n : \"toolSearch.nbResults\"\n ]?.replace(\"@number\", String(nbItems))}\n \n )}\n {!isError && !nbItems && hasSearched && (\n \n \n\n \n {i18nService.copy[\"facets.removeAllFacets\"]}\n \n \n )}\n \n );\n};\n","import { keyBy, mapValues } from \"lodash-es\";\nimport { i18nService } from \"services\";\nimport { IToolFacet, IFieldType, IFormSchema, ToolFacetType } from \"types\";\nimport { capitalize } from \"lodash\";\n\nexport const makeSchema = (facets: IToolFacet[]): IFormSchema => {\n const facetsWithoutType = facets.filter(\n (facet) => facet.key !== ToolFacetType.type\n );\n\n return {\n layout: \"inline\",\n submitMode: \"onDirty\",\n fields: [\n {\n name: \"lookingFor\", // used as key\n type: IFieldType.staticText,\n label: i18nService.copy[\"toolQuickSearch.lookingFor\"],\n },\n ...facetsWithoutType.map(({ key, slug, label, options, ...rest }) => ({\n ...rest,\n name: slug,\n type: IFieldType.select,\n label: capitalize(label.split(\" \")[label.split(\" \").length - 1]),\n hideLabel: true,\n options: [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n label.toLowerCase()\n ),\n value: \"\", // placeholder value\n },\n ...options.map((option) => ({\n label: option.label,\n value: option.id,\n })),\n ],\n })),\n ],\n defaultValues: mapValues(keyBy(facetsWithoutType, \"slug\"), \"\"), // set to placeholder value\n resetDefaultValues: false,\n };\n};\n","import { FormBuilder } from \"components/form/FormBuilder\";\nimport React from \"react\";\n\nimport { i18nService } from \"services\";\nimport { ActiveToolFacetType, IToolFacet } from \"types\";\n\nimport { makeSchema } from \"./formSchema\";\n\ninterface ToolQuickSearchFormProps {\n facets: IToolFacet[];\n onSubmit: (data: ActiveToolFacetType) => void;\n isLoading?: boolean;\n}\n\nexport const ToolQuickSearchForm: React.FC = ({\n facets,\n onSubmit,\n isLoading,\n}) => {\n return (\n
\n \n
\n );\n};\n","import { capitalize } from \"lodash\";\nimport { keyBy, mapValues } from \"lodash-es\";\nimport { i18nService } from \"services\";\nimport {\n IFieldType,\n IFormSchema,\n IToolboxFacet,\n ToolboxFacetType,\n} from \"types\";\n\nexport const makeSchema = (facets: IToolboxFacet[]): IFormSchema => {\n return {\n layout: \"inline\",\n submitMode: \"onDirty\",\n fields: [\n {\n name: \"lookingFor\", // used as key\n type: IFieldType.staticText,\n label: i18nService.copy[\"toolboxQuickSearch.lookingFor\"],\n },\n ...facets.map(({ key, slug, label, options, ...rest }) => ({\n ...rest,\n name: slug,\n type: IFieldType.select,\n label: capitalize(label.split(\" \")[label.split(\" \").length - 1]),\n hideLabel: true,\n prefixText: key === ToolboxFacetType.type ? \"\" : rest.prefixText,\n labelIcon:\n key === ToolboxFacetType.type\n ? `\n \n \n \n \n \n `\n : `\n \n \n `,\n options: [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n label.toLowerCase()\n ),\n value: \"\", // placeholder value\n },\n ...options.map((option) => ({\n label: option.label,\n value: option.id,\n })),\n ],\n })),\n ],\n defaultValues: mapValues(keyBy(facets, \"slug\"), \"\"), // set to placeholder value\n resetDefaultValues: false,\n };\n};\n","import { FormBuilder } from \"components/form/FormBuilder\";\nimport React from \"react\";\n\nimport { i18nService } from \"services\";\nimport { ActiveToolboxFacetType, IToolboxFacet } from \"types\";\n\nimport { makeSchema } from \"./formSchema\";\n\ninterface ToolboxQuickSearchFormProps {\n facets: IToolboxFacet[];\n onSubmit: (data: ActiveToolboxFacetType) => void;\n isLoading?: boolean;\n}\n\nexport const ToolboxQuickSearchForm: React.FC = ({\n facets,\n onSubmit,\n isLoading,\n}) => {\n return (\n
\n \n
\n );\n};\n","import {\n Eye,\n Farseer,\n MethodSubtool,\n Phase,\n Squares,\n TheorySubtool,\n} from \"assets/icons\";\nimport { SelectField } from \"components/form/fields\";\nimport { Message } from \"components/message/Message\";\nimport { SearchField } from \"components/search/components\";\nimport { FC, useCallback, useEffect, useState } from \"react\";\nimport { i18nService, SearchService } from \"services\";\nimport { EntityType, IFieldType, IOption, ISearchResult } from \"types\";\nimport { StringParam, useQueryParam } from \"use-query-params\";\n\nexport interface IToolboxSearchData {\n subToolTypeOptions: IOption[];\n phaseOptions: IOption[];\n}\n\ninterface Props {\n toolboxSearchData: IToolboxSearchData;\n parentToolId: string;\n}\n\nexport const ToolboxSearch: FC = ({\n toolboxSearchData: { subToolTypeOptions, phaseOptions },\n parentToolId,\n}) => {\n const [term, setTerm] = useState<{ search: string }>({ search: \"\" });\n const [subToolType, setSubToolType] = useQueryParam(\n \"sub-tool-type\",\n StringParam\n );\n const [phase, setPhase] = useQueryParam(\"fase\", StringParam);\n const [results, setResults] = useState([]);\n\n const search = useCallback(async () => {\n try {\n const results = await SearchService.search({\n page: 1,\n amount: -1,\n query: term.search,\n type: EntityType.subTool,\n facets: {\n ...(subToolType && { subToolType: [subToolType] }),\n ...(phase && { phase: [phase] }),\n parentTool: [parentToolId],\n },\n prioritiseDossiersAndTools: false,\n });\n\n setResults(results.results);\n } catch (error) {\n console.error(error);\n }\n }, [parentToolId, phase, subToolType, term.search]);\n\n useEffect(() => {\n search();\n }, [term, subToolType, phase, search]);\n\n const renderSVG = (subToolType: string) => {\n switch (subToolType) {\n case \"theory\":\n return ;\n case \"method\":\n return ;\n case \"example\":\n return ;\n case \"template\":\n return ;\n }\n };\n\n return (\n <>\n \n
\n }\n name=\"subToolType\"\n label=\"Type\"\n value={subToolType || \"\"}\n onChange={({ currentTarget: { value } }) => setSubToolType(value)}\n />\n }\n name=\"Phase\"\n label=\"Fase\"\n value={phase || \"\"}\n onChange={({ currentTarget: { value } }) => setPhase(value)}\n />\n
\n \n \n );\n};\n","import ReactDOM from \"react-dom\";\n\nimport { BrowserRouter, Route } from \"react-router-dom\";\nimport { ToolboxSearch } from \"./ToolboxSearch\";\nimport { i18nService } from \"services\";\nimport {\n QueryParamProvider,\n transformSearchStringJsonSafe,\n} from \"use-query-params\";\n\n(() => {\n const toolboxSearchContainers = document.querySelectorAll(\n \"[data-toolbox-search]\"\n );\n\n if (!toolboxSearchContainers) return;\n\n toolboxSearchContainers.forEach((toolboxSearchContainer) => {\n const data = toolboxSearchContainer.dataset.toolboxSearch;\n const parentToolId =\n toolboxSearchContainer.dataset.toolboxSearchParentToolId;\n\n if (!data) return;\n\n let toolboxSearchData = JSON.parse(data);\n\n if (!toolboxSearchData) return;\n\n toolboxSearchData = {\n subToolTypeOptions: [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"type\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...toolboxSearchData[0].options.map((option: any) => ({\n type: \"type\",\n name: option.label,\n value: option.id,\n label: option.label,\n slug: option.id,\n })),\n ],\n phaseOptions: [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"fase\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...toolboxSearchData[1].options.map((option: any) => ({\n type: \"phase\",\n name: option.label,\n value: option.id,\n label: option.label,\n slug: option.id,\n })),\n ],\n };\n\n ReactDOM.render(\n \n \n \n \n ,\n toolboxSearchContainer\n );\n });\n})();\n","import React from \"react\";\n\nimport { TeaserHeadingType } from \"types\";\nimport { getTeaserTitle } from \"utils\";\nimport { Play } from \"assets/icons\";\nimport { Label, LabelProps } from \"components/label/Label\";\nimport classNames from \"classnames\";\n\nexport interface TeaserProps {\n url: string;\n title: string;\n intro?: string;\n label?: string;\n image?: string;\n headingType?: TeaserHeadingType;\n isVideo?: boolean;\n mediaLabel?: LabelProps;\n teaserType?: string;\n}\n\nexport const DefaultTeaser: React.FC = ({\n url,\n title,\n intro,\n label,\n image,\n headingType = TeaserHeadingType.h2,\n isVideo,\n mediaLabel,\n teaserType,\n}) => (\n \n {image && (\n
\n \"\"\n {isVideo && }\n {mediaLabel && (\n \n \n )}\n
\n )}\n\n
\n {getTeaserTitle(title, headingType, [\"teaser__title\"])}\n\n {label &&
{label}
}\n\n {intro && (\n \n )}\n
\n \n);\n","import React from \"react\";\n\nimport { IBreadcrumb, TeaserHeadingType } from \"types\";\nimport { Breadcrumbs } from \"components\";\nimport { getTeaserTitle } from \"utils\";\nimport { Label } from \"components/label/Label\";\n\nimport { TeaserProps } from \"../default-teaser/DefaultTeaser\";\nimport classNames from \"classnames\";\n\nexport interface HorizontalTeaserProps extends TeaserProps {\n meta?: string;\n breadcrumbs: IBreadcrumb[];\n theme?: \"light\" | \"dark\";\n bundle: string | undefined;\n}\n\nexport const HorizontalTeaser: React.FC = ({\n url,\n title,\n intro,\n meta,\n image,\n breadcrumbs,\n headingType = TeaserHeadingType.h2,\n mediaLabel,\n teaserType,\n theme,\n}) => (\n \n
\n
\n \n
\n\n {getTeaserTitle(title, headingType, [\"horizontal-teaser__title\"])}\n\n {intro && (\n
\n

\n

\n )}\n {meta &&
{meta}
}\n
\n {image && (\n
\n {title}\n {mediaLabel && (\n \n \n )}\n
\n )}\n \n);\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { IImage } from \"types\";\nimport { GalleryModal } from \"components\";\nimport { getRenderRoot, RenderRoot } from \"utils\";\n\nconst imageBlocks = document.querySelectorAll(\"[data-image]\");\nconst MODAL_ROOT = getRenderRoot(RenderRoot.modal);\n\nimageBlocks.forEach((imageBlock) => {\n const imageInfo = imageBlock.dataset.image;\n imageBlock.dataset.image = \"\"; // cleanup\n\n // render fulllscreen image in modal on image click\n imageBlock.addEventListener(\"click\", () => {\n if (!imageInfo) return;\n\n const image: IImage = JSON.parse(imageInfo);\n\n ReactDOM.render(, MODAL_ROOT);\n });\n});\n\nexport {};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport SwiperCore, { Navigation, Keyboard } from \"swiper/core\";\nimport Swiper from \"swiper\";\nimport \"swiper/swiper.min.css\";\nimport imagesLoaded from \"imagesloaded\";\n\nimport { GalleryModal } from \"components\";\nimport { getRenderRoot, RenderRoot } from \"utils\";\nimport { IImage } from \"types\";\n\nSwiperCore.use([Navigation, Keyboard]);\n\nconst galleryBlocks = document.querySelectorAll(\"[data-gallery]\");\nconst MODAL_ROOT = getRenderRoot(RenderRoot.modal);\n\n// init swiper gallery in content blocks\n(() => {\n galleryBlocks.forEach((galleryBlock, index) => {\n const index1 = index + 1;\n const swiperClass = `swiper-container-${index1}`;\n const swiperPrevClass = \"swiper-button-prev\";\n const swiperNextClass = \"swiper-button-next\";\n\n // add unique class to swiper element\n // to allow multiple instances on one page\n // https://stackoverflow.com/questions/32118999/how-can-i-have-multiple-swiper-slideshows-on-a-single-page\n galleryBlock.classList.add(swiperClass);\n\n const element = document.querySelector(`.${swiperClass}`);\n if (!element) return;\n\n const swiperContainer = element.parentElement;\n if (!swiperContainer) return;\n\n // add unique class to swiper prev button\n swiperContainer\n .querySelector(`.${swiperPrevClass}`)\n ?.classList.add(`${swiperPrevClass}-${index1}`);\n\n // add unique class to swiper next button\n swiperContainer\n .querySelector(`.${swiperNextClass}`)\n ?.classList.add(`${swiperNextClass}-${index1}`);\n\n const swiper = new Swiper(element, {\n slidesPerView: \"auto\",\n spaceBetween: 16,\n preloadImages: true,\n updateOnImagesReady: true,\n updateOnWindowResize: true,\n navigation: {\n prevEl: `.${swiperPrevClass}-${index1}`,\n nextEl: `.${swiperNextClass}-${index1}`,\n },\n });\n\n swiper.navigation.init();\n\n // update swiper after all images are loaded\n imagesLoaded(element, () => {\n setTimeout(() => {\n swiper.update();\n }, 0);\n });\n });\n})();\n\n// init fullscreen swiper gallery\n(() => {\n galleryBlocks.forEach((galleryBlock) => {\n const imageElements = galleryBlock.querySelectorAll(\n \"[data-gallery-image]\"\n );\n\n if (!imageElements) return;\n\n const images: IImage[] = Array.from(imageElements).map((slide) => {\n const data = slide.dataset.galleryImage;\n slide.dataset.galleryImage = \"\"; // cleanup\n\n if (!data) return undefined;\n\n return JSON.parse(data);\n });\n\n imageElements.forEach((imageElement, index) => {\n imageElement.addEventListener(\"click\", () => {\n ReactDOM.render(\n ,\n MODAL_ROOT\n );\n });\n });\n });\n})();\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { GalleryModal } from \"components\";\nimport { getRenderRoot, RenderRoot } from \"utils\";\nimport { IVideo } from \"types\";\n\nconst videoBlocks = document.querySelectorAll(\"[data-video-block]\");\nconst MODAL_ROOT = getRenderRoot(RenderRoot.modal);\n\nvideoBlocks.forEach((videoBlock) => {\n const videoTeasers = videoBlock.querySelectorAll(\n \"[data-video-teaser]\"\n );\n\n if (!videoTeasers) return;\n\n const videos: IVideo[] = Array.from(videoTeasers).map((slide) => {\n const data = slide.dataset.videoTeaser;\n slide.dataset.videoTeaser = \"\"; // cleanup\n\n if (!data) return undefined;\n\n return JSON.parse(data);\n });\n\n videoTeasers.forEach((videoTeaser, index) => {\n videoTeaser.addEventListener(\"click\", () => {\n ReactDOM.render(\n ,\n MODAL_ROOT\n );\n });\n });\n});\n\nexport {};\n","(() => {\n const buttons = [\n ...Array.from(document.querySelectorAll(\"[data-button]\")),\n ];\n\n [...buttons].forEach((button) => {\n button.addEventListener(\"mousedown\", (event: MouseEvent) => {\n const currentButton = event.currentTarget as HTMLElement;\n\n const x = event.clientX - currentButton.getBoundingClientRect().left;\n const y = event.clientY - currentButton.getBoundingClientRect().top;\n\n if (currentButton) {\n currentButton.style.setProperty(\"--x\", `${x}px`);\n currentButton.style.setProperty(\"--y\", `${y}px`);\n currentButton.style.setProperty(\"--size\", \"50px\");\n currentButton.style.setProperty(\"--opacity\", \"1\");\n\n setTimeout(() => {\n currentButton.style.setProperty(\"--size\", \"500px\");\n }, 250);\n\n setTimeout(() => {\n currentButton.style.setProperty(\"--size\", \"0px\");\n currentButton.style.setProperty(\"--opacity\", \"0\");\n }, 500);\n }\n });\n });\n})();\n\nexport {};\n","import { i18nService } from \"services\";\n\nclass FaqItem {\n faq: HTMLElement;\n question: HTMLElement | null;\n answer: HTMLElement | null;\n activeClass: string;\n inactiveClass: string;\n hiddenText: HTMLElement | null;\n\n constructor(\n faqItem: HTMLElement,\n headerClass: string,\n contentClass: string,\n activeClass: string,\n inactiveClass: string\n ) {\n this.faq = faqItem;\n this.question = faqItem.querySelector(headerClass);\n this.answer = faqItem.querySelector(contentClass);\n this.hiddenText = this.question\n ? this.question.querySelector(\".visually-hidden\")\n : null;\n this.activeClass = activeClass;\n this.inactiveClass = inactiveClass;\n }\n\n init() {\n if (this.faq && this.answer && this.question) {\n this.faq.classList.remove(this.activeClass);\n\n this.question.addEventListener(\"click\", () => {\n this.toggleCollapse();\n });\n }\n }\n\n public toggleCollapse(): void {\n const isExpanded = this.faq.classList.toggle(this.activeClass);\n this.question?.setAttribute(\"aria-expanded\", isExpanded.toString());\n\n if (this.hiddenText) {\n this.hiddenText.textContent = isExpanded\n ? i18nService.copy[\"a11y.collapse\"]\n : i18nService.copy[\"a11y.expand\"];\n }\n }\n}\n\nexport default FaqItem;\n","import FaqItem from \"./FaqItem\";\n\n(() => {\n const faqItems = [...Array.from(document.querySelectorAll(\".faq__item\"))];\n\n faqItems.forEach((faqItem: HTMLElement) => {\n const faq = new FaqItem(\n faqItem,\n \".faq__title-wrapper\",\n \".faq__content\",\n \"is-open\",\n \"is-closed\",\n );\n\n faq.init();\n });\n})();\n","import { Button } from \"components/button/Button\";\nimport { FC } from \"react\";\nimport { i18nService } from \"services\";\nimport { CookieCategories } from \"types\";\nimport { useCheckCookieConsent } from \"utils\";\n\ninterface EmbedBlockerContainerProps {\n isSocialEmbed?: boolean;\n}\n\nexport const EmbedBlockerContainer: FC = ({\n isSocialEmbed,\n children,\n}) => {\n const checkConsent = useCheckCookieConsent(CookieCategories.marketing);\n\n const consent = isSocialEmbed ? checkConsent : true;\n\n return consent ? (\n <>{children}\n ) : (\n
\n
\n
\n {i18nService.copy[\"embedBlock.message\"]}\n
\n
\n window?.Cookiebot?.show()}\n />\n
\n
\n
\n );\n};\n","import { useState, useEffect, useRef } from \"react\";\nimport { CookieCategories } from \"types\";\n\nexport const useCheckCookieConsent = (category: CookieCategories): boolean => {\n let timer = useRef>(setInterval(() => {}));\n const [consent, setConsent] = useState(false);\n\n useEffect(() => {\n const checkSocialCookiesAllowed = () => {\n if (window?.Cookiebot?.consent[category]) {\n setConsent(true);\n } else {\n setConsent(false);\n }\n };\n\n // Cookie loads async, consent is checked after 1sec\n setTimeout(checkSocialCookiesAllowed, 1000);\n timer.current = setInterval(checkSocialCookiesAllowed, 2500);\n\n return () => clearInterval(timer.current);\n }, [category, consent]);\n\n return consent;\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { Embed } from \"components\";\nimport { IEmbed } from \"types\";\nimport { EmbedBlockerContainer } from \"./EmbedBlockerContainer\";\n\nconst embedBlocks = document.querySelectorAll(\"[data-embed]\");\n\nembedBlocks.forEach((embedBlock) => {\n const embedInfo = embedBlock.dataset.embed;\n embedBlock.dataset.embed = \"\"; // cleanup\n\n if (!embedInfo) return;\n\n const embed: IEmbed = JSON.parse(embedInfo);\n\n if (embed.embed.includes(\"data-no-head-script\")) return;\n\n ReactDOM.render(\n \n \n ,\n embedBlock\n );\n});\n\nexport {};\n","import { urlService } from \"services\";\nimport { Single } from \"types\";\n\nconst header = document.querySelector(\"[data-header]\");\n\nconst closeMenuButton = document.querySelector(\n \"[data-menu-close]\"\n);\nconst headerLogo = document.querySelector(\"[data-header-logo]\");\nconst menuMain = document.querySelector(\"[data-menu-main]\");\nconst lastChildMenuMain = menuMain?.lastElementChild\n ?.querySelector(\"ul\")\n ?.lastElementChild?.querySelector(\"a\");\nlet previousElement: Element | null | undefined = null;\n\nconst openMenuButton = document.querySelector(\"[data-menu-open]\");\n\nconst openMenu = () => {\n header?.classList.add(\"is-open\");\n document.body.classList.add(\"disallow-scroll\");\n};\n\nconst closeMenu = () => {\n header?.classList.remove(\"is-open\");\n document.body.classList.remove(\"disallow-scroll\");\n};\n\nconst hideMenuButtons = () => {\n openMenuButton?.classList.add(\"is-hidden\");\n closeMenuButton?.classList.add(\"is-hidden\");\n};\n\nconst isMenuOpen: boolean = !!header?.classList.contains(\"is-open\");\n\n(() => {\n const initPath = window.location.pathname;\n const rootSearchUrl = urlService.getSinglePath(Single.search); // search single url\n const pathIsSearchUrl = initPath.includes(rootSearchUrl);\n\n if (pathIsSearchUrl) {\n closeMenuButton?.addEventListener(\"click\", (event) => {\n event.preventDefault();\n window.location.href = \"/\";\n });\n } else {\n closeMenuButton?.addEventListener(\"click\", closeMenu);\n }\n\n document.addEventListener(\"keydown\", (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n closeMenu();\n }\n\n if (event.key === \"Tab\") {\n if (previousElement === lastChildMenuMain) {\n headerLogo?.focus();\n window.scrollTo(\n headerLogo?.offsetTop || 0,\n headerLogo?.offsetLeft || 0\n );\n }\n }\n previousElement = document.activeElement;\n });\n openMenuButton?.addEventListener(\"click\", openMenu);\n})();\n\n// export to add event listener in search\nexport {\n openMenu,\n closeMenu,\n isMenuOpen,\n openMenuButton,\n closeMenuButton,\n hideMenuButtons,\n};\n","import {\n createAsyncThunk,\n createSelector,\n createSlice,\n} from \"@reduxjs/toolkit\";\n\nimport { NewsletterService } from \"services\";\nimport {\n IAPIState,\n IStoreState,\n IErrorPayload,\n INewsletterSubmitData,\n INewsletterAPIData,\n} from \"types\";\n\nexport interface INewletterMeta extends INewsletterAPIData {\n status: IAPIState;\n}\n\nexport interface INewsletterState {\n [id: string]: {\n meta: INewletterMeta;\n };\n}\n\nconst initialMeta = {\n status: IAPIState.idle,\n};\n\nconst initialState: INewsletterState = {};\n\nexport const newsletterSubscribe = createAsyncThunk<\n // Return type of the payload creator\n INewsletterAPIData,\n // First argument to the payload creator\n {\n id: string;\n data: INewsletterSubmitData;\n },\n // Types for ThunkAPI\n { rejectValue: IErrorPayload }\n>(\"newsletter/subscribe\", async (newsletterData, { rejectWithValue }) => {\n try {\n const { data } = newsletterData;\n\n return await NewsletterService.subscribe(data);\n } catch (error) {\n return rejectWithValue(error as IErrorPayload);\n }\n});\n\nconst newsletterSlice = createSlice({\n name: \"newsletter\",\n initialState,\n reducers: {\n clearNewsletterMeta: (state, { payload }) => {\n state[payload].meta = initialMeta;\n },\n },\n extraReducers: (builder) => {\n // newsletter subscribe pending\n builder.addCase(newsletterSubscribe.pending, (state, { meta }) => {\n state[meta.arg.id] = {\n meta: {\n status: IAPIState.pending,\n },\n };\n });\n // newsletter subscribe failed\n builder.addCase(\n newsletterSubscribe.rejected,\n (state, { meta, payload }) => {\n state[meta.arg.id] = {\n meta: {\n status: IAPIState.failed,\n ...payload,\n },\n };\n }\n );\n // newsletter subscribe succeeded\n builder.addCase(\n newsletterSubscribe.fulfilled,\n (state, { meta, payload }) => {\n state[meta.arg.id] = {\n meta: {\n status: payload.errorCodes?.length\n ? IAPIState.failed\n : IAPIState.succeeded,\n ...payload,\n },\n };\n }\n );\n },\n});\n\n// content block id selector\nexport const newsletterIdSelector = (id: string) =>\n createSelector(\n (state: IStoreState) => state.newsletter,\n (newsletter) => newsletter[id]\n );\n\nexport const newsletterMetaSelector = (id: string) =>\n createSelector(\n newsletterIdSelector(id),\n (newsletter) => newsletter?.meta || initialMeta\n );\n\nexport const { clearNewsletterMeta } = newsletterSlice.actions;\nexport const newsletterReducer = newsletterSlice.reducer;\n","import {\n createAsyncThunk,\n createSelector,\n createSlice,\n SerializedError,\n} from \"@reduxjs/toolkit\";\n\nimport { SearchService } from \"services\";\nimport {\n IAPIState,\n IStoreState,\n IErrorPayload,\n ISearchResults,\n ISearchResult,\n ISearchData,\n} from \"types\";\n\nexport interface ISearchState {\n data?: ISearchResult[];\n meta: {\n query?: string;\n status: IAPIState;\n error?: SerializedError | null;\n pagination?: {\n page?: number;\n amount?: number;\n total?: number;\n };\n hasSearched?: boolean;\n };\n}\n\nconst initialState: ISearchState = {\n data: [],\n meta: {\n query: \"\",\n status: IAPIState.idle,\n error: null,\n pagination: undefined,\n hasSearched: false,\n },\n};\n\nconst NB_SEARCH_RESULT_ITEMS = 12;\n\nexport const doSearch = createAsyncThunk<\n // Return type of the payload creator\n ISearchResults,\n // First argument to the payload creator\n Partial,\n // Types for ThunkAPI\n { rejectValue: IErrorPayload }\n>(\"search/search\", async (data, { rejectWithValue }) => {\n try {\n return await SearchService.search({\n page: data.page || 1,\n query: data.query || \"\",\n amount: NB_SEARCH_RESULT_ITEMS,\n type: data.type || undefined,\n prioritiseDossiersAndTools: false,\n });\n } catch (error) {\n return rejectWithValue(error as IErrorPayload);\n }\n});\n\nconst searchSlice = createSlice({\n name: \"search\",\n initialState,\n reducers: {\n clearSearchState: (state) => {\n state.data = [];\n state.meta = initialState.meta;\n },\n },\n extraReducers: (builder) => {\n // search pending\n builder.addCase(doSearch.pending, (state, { meta }) => {\n state.meta = {\n ...state.meta,\n status: IAPIState.pending,\n error: null,\n query: meta.arg.query, // update current query in state\n pagination: {\n ...state.meta.pagination, // keep current pagination, update page\n page: meta.arg.page || 1,\n },\n };\n });\n // search failed\n builder.addCase(doSearch.rejected, (state, { payload }) => {\n state.meta = {\n status: IAPIState.failed,\n error: payload?.error,\n pagination: undefined, // remove pagination on error\n };\n });\n // search succeeded\n builder.addCase(doSearch.fulfilled, (state, { payload, meta }) => {\n state.meta = {\n ...state.meta,\n status: IAPIState.succeeded,\n error: null,\n pagination: {\n page: meta.arg.page || 1, // if no page provided, fallback to page 1\n amount: NB_SEARCH_RESULT_ITEMS,\n total: payload.total,\n },\n hasSearched: true,\n };\n\n state.data = payload.results;\n });\n },\n});\n\nexport const searchMetaSelector = createSelector(\n (state: IStoreState) => state.search,\n (search) => search.meta\n);\n\nexport const searchDataSelector = createSelector(\n (state: IStoreState) => state.search,\n (search) => search.data\n);\n\nexport const { clearSearchState } = searchSlice.actions;\nexport const searchReducer = searchSlice.reducer;\n","import {\n createAsyncThunk,\n createSelector,\n createSlice,\n SerializedError,\n} from \"@reduxjs/toolkit\";\n\nimport { SearchService } from \"services\";\nimport {\n IAPIState,\n IStoreState,\n IErrorPayload,\n ISearchResults,\n ISearchResult,\n ISearchData,\n} from \"types\";\n\nconst NB_SEARCH_RESULT_ITEMS = 50;\n\nexport interface ISearchFilterState {\n [id: string]: {\n data?: ISearchResult[];\n meta: {\n status: IAPIState;\n error?: SerializedError | null;\n hasSearched?: boolean;\n };\n };\n}\n\nconst initData: ISearchResult[] = [];\n\nconst initialMeta = {\n status: IAPIState.idle,\n error: null,\n hasSearched: false,\n};\nconst initialState: ISearchFilterState = {};\n\nexport const doSearchFilter = createAsyncThunk<\n // Return type of the payload creator\n ISearchResults,\n // First argument to the payload creator\n {\n // id = content block id\n id: string;\n data: Partial;\n parentToolId?: string;\n },\n // Types for ThunkAPI\n { rejectValue: IErrorPayload }\n>(\"searchFilter/search\", async (searchFilterData, { rejectWithValue }) => {\n try {\n const { data, parentToolId } = searchFilterData;\n\n return await SearchService.search({\n page: 1, // only fetch the first page\n query: data.query || \"\",\n amount: NB_SEARCH_RESULT_ITEMS,\n type: data.type || undefined,\n ...(parentToolId && { facets: { parentTool: [parentToolId] } }),\n prioritiseDossiersAndTools: !data.type,\n });\n } catch (error) {\n return rejectWithValue(error as IErrorPayload);\n }\n});\n\nconst searchFilterSlice = createSlice({\n name: \"searchFilter\",\n initialState,\n reducers: {\n clearSearchFilterState: (state, { payload }) => {\n state[payload].data = [];\n state[payload].meta = initialMeta;\n },\n },\n extraReducers: (builder) => {\n // search pending\n builder.addCase(doSearchFilter.pending, (state, { meta }) => {\n state[meta.arg.id] = {\n ...state[meta.arg.id],\n meta: {\n status: IAPIState.pending,\n error: null,\n hasSearched: true,\n },\n };\n });\n // search failed\n builder.addCase(doSearchFilter.rejected, (state, { meta, payload }) => {\n state[meta.arg.id] = {\n ...state[meta.arg.id],\n meta: {\n status: IAPIState.failed,\n error: payload?.error,\n hasSearched: true,\n },\n };\n });\n // search succeeded\n builder.addCase(doSearchFilter.fulfilled, (state, { payload, meta }) => {\n state[meta.arg.id] = {\n ...state[meta.arg.id],\n meta: {\n status: IAPIState.succeeded,\n error: null,\n hasSearched: true,\n },\n data: payload.results,\n };\n });\n },\n});\n\n// content block id selector\nexport const searchFilterIdSelector = (id: string) =>\n createSelector(\n (state: IStoreState) => state.searchFilter,\n (searchFilter) => searchFilter[id]\n );\n\nexport const searchFilterMetaSelector = (id: string) =>\n createSelector(\n searchFilterIdSelector(id),\n (searchFilter) => searchFilter?.meta || initialMeta\n );\n\nexport const searchFilterDataSelector = (id: string) =>\n createSelector(\n searchFilterIdSelector(id),\n (searchFilter) => searchFilter?.data || initData\n );\n\nexport const { clearSearchFilterState } = searchFilterSlice.actions;\nexport const searchFilterReducer = searchFilterSlice.reducer;\n","import {\n createAsyncThunk,\n createSelector,\n createSlice,\n SerializedError,\n} from \"@reduxjs/toolkit\";\n\nimport { SearchService } from \"services\";\nimport {\n IAPIState,\n IStoreState,\n IErrorPayload,\n ISearchResults,\n ISearchResult,\n IToolSearchData,\n} from \"types\";\n\nexport interface IToolSearchState {\n data?: ISearchResult[];\n meta: {\n status: IAPIState;\n error?: SerializedError | null;\n hasSearched?: boolean;\n pagination?: {\n page?: number;\n amount?: number;\n total?: number;\n };\n };\n}\n\nconst initialState: IToolSearchState = {\n data: undefined,\n meta: {\n status: IAPIState.idle,\n error: null,\n pagination: undefined,\n hasSearched: false,\n },\n};\n\nconst NB_SEARCH_RESULT_ITEMS = 10;\n\nexport const searchTools = createAsyncThunk<\n // Return type of the payload creator\n ISearchResults,\n // First argument to the payload creator\n Partial,\n // Types for ThunkAPI\n { rejectValue: IErrorPayload }\n>(\"toolSearch/searchTools\", async (data, { rejectWithValue }) => {\n try {\n return await SearchService.searchTools({\n page: data.page || 1,\n amount: NB_SEARCH_RESULT_ITEMS,\n term: data.term,\n facets: data.facets || {},\n });\n } catch (error) {\n return rejectWithValue(error as IErrorPayload);\n }\n});\n\nconst toolSearchSlice = createSlice({\n name: \"toolSearch\",\n initialState,\n reducers: {\n clearToolSearchState: (state) => {\n state.data = [];\n state.meta = initialState.meta;\n },\n },\n extraReducers: (builder) => {\n // search pending\n builder.addCase(searchTools.pending, (state, { meta }) => {\n state.meta = {\n ...state.meta,\n status: IAPIState.pending,\n error: null,\n hasSearched: false,\n pagination: {\n ...state.meta.pagination, // keep current pagination, update page\n page: meta.arg.page || 1,\n },\n };\n });\n // search failed\n builder.addCase(searchTools.rejected, (state, { payload }) => {\n state.meta = {\n status: IAPIState.failed,\n error: payload?.error,\n hasSearched: true,\n pagination: undefined, // remove pagination on error\n };\n });\n // search succeeded\n builder.addCase(searchTools.fulfilled, (state, { payload, meta }) => {\n state.meta = {\n ...state.meta,\n status: IAPIState.succeeded,\n error: null,\n hasSearched: true,\n pagination: {\n page: meta.arg.page || 1, // if no page provided, fallback to page 1\n amount: NB_SEARCH_RESULT_ITEMS,\n total: payload.total,\n },\n };\n\n state.data = payload.results;\n });\n },\n});\n\nexport const toolSearchMetaSelector = createSelector(\n (state: IStoreState) => state.toolSearch,\n (toolSearch) => toolSearch.meta\n);\n\nexport const toolSearchDataSelector = createSelector(\n (state: IStoreState) => state.toolSearch,\n (toolSearch) => toolSearch.data\n);\n\nexport const { clearToolSearchState } = toolSearchSlice.actions;\nexport const toolSearchReducer = toolSearchSlice.reducer;\n","import { configureStore, combineReducers } from \"@reduxjs/toolkit\";\n\nimport { newsletterReducer } from \"components/newsletter-form/state\";\nimport { searchReducer } from \"components/site-search/state\";\nimport { searchFilterReducer } from \"components/search-filter/state\";\nimport { toolSearchReducer } from \"components/tool-search/state\";\n\nconst reducer = combineReducers({\n newsletter: newsletterReducer,\n search: searchReducer,\n searchFilter: searchFilterReducer,\n toolSearch: toolSearchReducer,\n});\n\nconst store = configureStore({ reducer });\n\nexport { store };\n","import React, { useCallback } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { NewsletterForm } from \"components\";\nimport { INewsletterSubmitData, INewsletterOption } from \"types\";\nimport {\n clearNewsletterMeta,\n newsletterMetaSelector,\n newsletterSubscribe,\n} from \"components/newsletter-form/state\";\n\nexport interface NewsletterFormContainerProps {\n id: string;\n newsletters: INewsletterOption[];\n}\n\nexport const NewsletterFormContainer: React.FC = ({\n id,\n newsletters,\n}) => {\n const {\n status,\n successMessage,\n successCodes,\n error,\n errorCodes,\n } = useSelector(newsletterMetaSelector(id));\n const dispatch = useDispatch();\n\n const onSubmit = (data: { [key: string]: any }) => {\n // because there can be different newsletter blocks on 1 page\n // we have to add a unique ID to fields\n // and parse it away before posting to API\n\n const chosenNewsletters = data[`audiences_${id}`]?.map((id: string) => {\n const chosenNewsletter = newsletters.find(\n (newsletter) => newsletter.id === id\n );\n\n return {\n unique_id: chosenNewsletter?.id,\n audience_id: chosenNewsletter?.audience,\n segment_id: chosenNewsletter?.segment || null,\n };\n });\n\n const cleanData: INewsletterSubmitData = {\n email: data[`email_${id}`],\n audiences: chosenNewsletters,\n consent: data[`optin_${id}`],\n };\n\n dispatch(newsletterSubscribe({ id, data: cleanData }));\n };\n\n const clearState = () => {\n dispatch(clearNewsletterMeta(id));\n };\n\n const getSuccessMessage = useCallback(() => {\n if (!successCodes?.length) {\n return successMessage;\n }\n\n const subscribedNewsletters: string | undefined = successCodes\n ?.map(\n (code) =>\n newsletters.find((newsletter) => newsletter.id === code)?.title\n )\n .filter((value) => !!value)\n .join(\", \");\n\n if (!subscribedNewsletters || !subscribedNewsletters.length) return;\n\n return successMessage?.replace(\"@newsletters\", subscribedNewsletters);\n }, [newsletters, successCodes, successMessage]);\n\n const getError = useCallback(() => {\n if (!errorCodes?.length) {\n return error;\n }\n\n const alreadySubscribedNewsletters: string | undefined = errorCodes\n ?.map(\n (code) =>\n newsletters.find((newsletter) => newsletter.id === code)?.title\n )\n .filter((value) => !!value)\n .join(\", \");\n\n if (!alreadySubscribedNewsletters || !alreadySubscribedNewsletters.length)\n return;\n\n return (error as string)?.replace(\n \"@newsletters\",\n alreadySubscribedNewsletters\n );\n }, [newsletters, errorCodes, error]);\n\n return (\n \n );\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { store } from \"state\";\nimport { INewsletterOption } from \"types\";\n\nimport { NewsletterFormContainer } from \"./containers\";\n\n(() => {\n const newsletterFormContainers = document.querySelectorAll(\n \"[data-newsletter-form]\"\n );\n\n if (!newsletterFormContainers) return;\n\n Array.from(newsletterFormContainers).forEach((newsletterFormContainer) => {\n const data = newsletterFormContainer.dataset.newsletterForm;\n newsletterFormContainer.dataset.newsletterForm = \"\"; // cleanup\n\n if (!data) return;\n\n const props = JSON.parse(data);\n const { newsletters } = props;\n\n ReactDOM.render(\n \n {/* (!) Unique ID is required to make input field IDs unique */}\n !!newsletter.audience\n )}\n />\n ,\n newsletterFormContainer\n );\n });\n})();\n","(() => {\n const horizontalInfos = [\n ...Array.from(\n document.querySelectorAll(\"[data-horizontal-info]\")\n ),\n ];\n\n [...horizontalInfos].forEach((horizontalInfo) => {\n const horizontalInfoBtn: HTMLButtonElement | null = horizontalInfo.querySelector(\n \".horizontal-info__toggle\"\n );\n const horizontalInfoInner: HTMLButtonElement | null = horizontalInfo.querySelector(\n \".horizontal-info__inner\"\n );\n\n if (horizontalInfoBtn && horizontalInfoInner) {\n if (window.innerWidth < 768) {\n horizontalInfoBtn.setAttribute(\"aria-expanded\", \"false\");\n horizontalInfoInner.setAttribute(\"aria-hidden\", \"true\");\n }\n\n const onToggleClick = () => {\n if (horizontalInfo.classList.contains(\"is-open\")) {\n horizontalInfo.classList.remove(\"is-open\");\n horizontalInfoBtn.setAttribute(\"aria-expanded\", \"false\");\n horizontalInfoInner.setAttribute(\"aria-hidden\", \"true\");\n } else {\n horizontalInfo.classList.add(\"is-open\");\n horizontalInfoBtn.setAttribute(\"aria-expanded\", \"true\");\n horizontalInfoInner.setAttribute(\"aria-hidden\", \"false\");\n }\n };\n\n horizontalInfoBtn.addEventListener(\"click\", onToggleClick);\n }\n });\n})();\n\nexport {};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { values } from \"lodash-es\";\n\nimport { ILanguageSwitchData } from \"types\";\nimport { LanguageSwitch } from \"components\";\n\n(() => {\n const languageSwitch = document.querySelector(\n \"[data-language-switch]\"\n );\n\n if (!languageSwitch) return;\n\n const data = languageSwitch.dataset.languageSwitch;\n languageSwitch.dataset.languageSwitch = \"\"; // cleanup\n\n if (!data) return undefined;\n\n const languageSwitchData = JSON.parse(data) as ILanguageSwitchData;\n const languageSwitchItems = values(languageSwitchData);\n\n ReactDOM.render(\n ,\n languageSwitch\n );\n})();\n\nexport {};\n","(() => {\n document\n .querySelectorAll(\"[data-default-teaser]\")\n .forEach((teaser) => {\n const link = teaser.querySelector(\"a\")?.href;\n\n teaser.addEventListener(\"click\", () => {\n if (link) window.location.href = link;\n });\n });\n})();\n\nexport {};\n","import { useState, useEffect } from \"react\";\n\nimport { openMenuButton, closeMenuButton } from \"components/header\";\n\nexport const useMenuOverlayClose = (initState?: boolean) => {\n const [menuOverlayOpen, setMenuOverlayOpen] = useState(true);\n\n useEffect(() => {\n const onMenuOverlayOpen = (): void => {\n setMenuOverlayOpen(true);\n };\n\n const onMenuOverlayClose = (): void => {\n setMenuOverlayOpen(false);\n };\n\n // listen to menu buttons to update menu open state\n openMenuButton?.addEventListener(\"click\", onMenuOverlayOpen);\n closeMenuButton?.addEventListener(\"click\", onMenuOverlayClose);\n\n // cleanup event listeners\n return () => {\n openMenuButton?.removeEventListener(\"click\", onMenuOverlayOpen);\n closeMenuButton?.removeEventListener(\"click\", onMenuOverlayClose);\n };\n }, []);\n\n return { menuOverlayOpen };\n};\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n MutableRefObject,\n} from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router\";\n\nimport { SiteSearch } from \"components\";\nimport { IPager, ISearchSubmitData } from \"types\";\nimport { urlService } from \"services\";\n\nimport {\n searchMetaSelector,\n doSearch,\n searchDataSelector,\n clearSearchState,\n} from \"../state\";\nimport { useMenuOverlayClose } from \"../utils\";\n\ninterface SiteSearchContainerProps {\n redirectPath: string;\n}\n\nexport const SiteSearchContainer: React.FC = ({\n redirectPath,\n}) => {\n const {\n status,\n error,\n pagination,\n query: currentQuery,\n hasSearched,\n } = useSelector(searchMetaSelector);\n const results = useSelector(searchDataSelector);\n const dispatch = useDispatch();\n const searchContainer = useRef() as MutableRefObject;\n\n const history = useHistory();\n let { query: initQuery, page: initPage } = useParams<{\n query: string;\n page: string;\n }>();\n\n const { menuOverlayOpen } = useMenuOverlayClose(!!initQuery && !!initPage);\n\n const dispatchSearch = useCallback(\n (query: string, page: number) => {\n dispatch(doSearch({ page, query }));\n },\n [dispatch]\n );\n\n /*\n * Get search term and page from URL params,\n * if there is one, open menu and search\n * (!) and perfrom this effect ONCE\n * */\n const initSearchPerformed = useRef(false);\n useEffect(() => {\n if (initSearchPerformed.current) return;\n\n initSearchPerformed.current = true;\n\n if (!initQuery || !initPage) return;\n\n dispatchSearch(initQuery, +initPage);\n }, [dispatchSearch, initPage, initQuery]);\n\n const handleSearch = (query: string, page: number) => {\n if (!query.length) {\n dispatch(clearSearchState());\n return;\n }\n\n // perform search\n dispatchSearch(query, page);\n\n // update search query AND page in URL\n history.replace(urlService.generateSearchUrl(query, page));\n };\n\n const handlePageChange = useCallback(\n (page: number) => {\n // if there's no query in state, don't perform page change\n if (!currentQuery) return;\n\n // scroll to top of search container for UX\n if (searchContainer?.current) {\n searchContainer.current.scrollIntoView();\n }\n\n // perform search\n dispatchSearch(currentQuery, page);\n\n // update page in URL\n history.replace(urlService.generateSearchUrl(currentQuery, page));\n },\n [currentQuery, dispatchSearch, searchContainer, history]\n );\n\n const pager = useMemo((): IPager => {\n return {\n currentPage: pagination?.page || 1,\n totalPages: Math.ceil(\n (pagination?.total || 0) / (pagination?.amount || 1)\n ),\n onPageChange: handlePageChange,\n };\n }, [pagination, handlePageChange]);\n\n // Clear search if overlay is closed\n useEffect(() => {\n if (!menuOverlayOpen) {\n // push back the original URL where the search was opened\n history.replace(redirectPath);\n\n // clear search\n dispatch(clearSearchState());\n }\n }, [dispatch, menuOverlayOpen, history, redirectPath]);\n\n return (\n
\n handleSearch(data.search, 1)}\n status={status}\n error={error}\n results={results}\n pager={pager}\n total={pagination?.total}\n hasSearched={hasSearched}\n menuOverlayOpen={menuOverlayOpen}\n />\n
\n );\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter, Route, Switch } from \"react-router-dom\";\n\nimport { store } from \"state\";\nimport { hideMenuButtons, openMenu } from \"components/header\";\n\nimport { SiteSearchContainer } from \"./containers\";\nimport { urlService } from \"services\";\nimport { Single } from \"types\";\n\n(() => {\n const searchContainer = document.querySelector(\n \"[data-site-search]\"\n );\n\n if (!searchContainer) return;\n\n // initial path = path where the search was triggered\n // initial path is restored after search is closed\n const initPath = window.location.pathname + window.location.search;\n const rootSearchUrl = urlService.getSinglePath(Single.search); // search single url\n\n const pathIsSearchUrl = initPath.includes(rootSearchUrl);\n\n const searchProps = {\n redirectPath: initPath,\n };\n\n // if we're already on a /search path\n // force open menu\n if (pathIsSearchUrl) {\n openMenu();\n }\n\n // hide close/open buttons when url is /search\n if (initPath === rootSearchUrl) {\n hideMenuButtons();\n }\n\n ReactDOM.render(\n \n \n \n {/* Match route with search params in URL and all routes */}\n {/* Because we want to render the search on all pages */}\n }\n />\n \n \n ,\n searchContainer\n );\n})();\n","import React, { useCallback } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\n\nimport { SearchFilter } from \"components\";\nimport { ISearchFilter, ISearchSubmitData } from \"types\";\n\nimport {\n searchFilterMetaSelector,\n doSearchFilter,\n searchFilterDataSelector,\n clearSearchFilterState,\n} from \"../state\";\n\ninterface SearchFilterContainerProps extends ISearchFilter {\n id: string;\n}\n\nexport const SearchFilterContainer: React.FC = ({\n id,\n autosuggest,\n type,\n parentToolId,\n}) => {\n const { status, error, hasSearched } = useSelector(\n searchFilterMetaSelector(id)\n );\n const results = useSelector(searchFilterDataSelector(id));\n const dispatch = useDispatch();\n\n const dispatchSearch = useCallback(\n (query: string) => {\n dispatch(\n doSearchFilter({\n id,\n data: { query, type },\n parentToolId,\n })\n );\n },\n [dispatch, id, type, parentToolId]\n );\n\n const dispatchClearState = () => {\n dispatch(clearSearchFilterState(id));\n };\n\n const handleSearch = (query: string) => {\n if (!query.length) {\n dispatchClearState();\n return;\n }\n\n // perform search\n dispatchSearch(query);\n };\n\n return (\n handleSearch(data.search)}\n status={status}\n error={error}\n results={results}\n autosuggest={autosuggest}\n hasSearched={hasSearched}\n />\n );\n};\n","import ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { store } from \"state\";\nimport { ISearchFilter } from \"types\";\nimport { SearchFilterContainer } from \"./containers\";\n\n(() => {\n const searchFilterContainers = document.querySelectorAll(\n \"[data-search-filter]\"\n );\n\n if (!searchFilterContainers) return;\n\n Array.from(searchFilterContainers).forEach((searchFilterContainer) => {\n const data = searchFilterContainer.dataset.searchFilter;\n const parentToolId =\n searchFilterContainer.dataset.toolboxSearchParentToolId;\n searchFilterContainer.dataset.searchFilter = \"\";\n searchFilterContainer.dataset.toolboxSearchParentToolId = \"\";\n\n if (!data) return undefined;\n\n const searchFilterData = JSON.parse(data) as ISearchFilter;\n\n const props = { ...searchFilterData, parentToolId };\n\n // we need a unique ID to distinguish state updates\n const id = uuid();\n\n ReactDOM.render(\n \n \n ,\n searchFilterContainer\n );\n });\n})();\n\nexport {};\n","import {\n encodeDelimitedArray,\n decodeDelimitedArray,\n QueryParamConfig,\n} from \"use-query-params\";\n\n/** Uses a comma to delimit entries. e.g. ['a', 'b'] => qp?=a,b */\nexport const CommaArrayParam: QueryParamConfig<\n (string | null)[] | null | undefined,\n string | (string | null)[] | null | undefined\n> = {\n encode: (array) => {\n // remove from query string if value is empty\n if (!array || !array.length) {\n return undefined;\n }\n\n return encodeDelimitedArray(array, \",\");\n },\n decode: (arrayStr) => {\n return decodeDelimitedArray(arrayStr, \",\");\n },\n};\n","import { mapKeys } from \"lodash-es\";\nimport { IToolFacet } from \"types\";\n\nexport const mapFacetSlugToKey = (\n facets: IToolFacet[],\n queryFacets: { [key: string]: string | string[] | null | undefined }\n) =>\n mapKeys(\n queryFacets,\n (value, key) => facets.find((facet) => facet.slug === key)?.key\n );\n","import React, { useCallback, useEffect, useMemo } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { keyBy, mapValues } from \"lodash-es\";\nimport {\n useQueryParam,\n useQueryParams,\n NumberParam,\n StringParam,\n withDefault,\n} from \"use-query-params\";\n\nimport { ActiveToolFacetType, IToolFacet, ToolFacetType } from \"types\";\n\nimport { ToolSearchFacetsContainer, ToolSearchResultsContainer } from \".\";\nimport { CommaArrayParam, mapFacetSlugToKey, useActiveFacets } from \"../utils\";\nimport { searchTools } from \"../state\";\n\ninterface ToolSearchAppProps {\n facets: IToolFacet[];\n noResultMessage: string;\n}\n\nexport const ToolSearchContainer: React.FC = ({\n facets,\n noResultMessage,\n}) => {\n const dispatch = useDispatch();\n\n // use facet slug as key (hardcoded NL)\n const initQueryFacets: { [key: string]: any } = mapValues(\n keyBy(facets, \"slug\"),\n () => withDefault(CommaArrayParam, [])\n );\n const [queryFacets, setQueryFacets] = useQueryParams(initQueryFacets);\n\n const [queryTerm, setQueryTerm] = useQueryParam(\n ToolFacetType.term,\n StringParam\n );\n const [queryPage, setQueryPage] = useQueryParam(\"page\", NumberParam);\n\n const { activeFacetsMap: defaultValues, activeFacets } = useActiveFacets({\n facets,\n queryTerm,\n queryFacets,\n setQueryFacets,\n resetTerm: () => setQueryTerm(undefined),\n });\n\n const clearAllFacets = useCallback(() => {\n // replace all facets in URL\n setQueryFacets(initQueryFacets, \"replace\");\n }, [initQueryFacets, setQueryFacets]);\n\n const dispatchSearch = useCallback(() => {\n dispatch(\n searchTools({\n term: queryTerm || \"\",\n page: queryPage || 1,\n // map slug to key for each facet\n // slug = NL, key = EN\n facets: mapFacetSlugToKey(facets, queryFacets),\n })\n );\n }, [facets, queryFacets, queryTerm, queryPage, dispatch]);\n\n const areQueryParamsValid: boolean = useMemo(() => {\n const queryFacetsByKey = mapFacetSlugToKey(facets, queryFacets);\n\n return Object.keys(queryFacetsByKey).every((key) => {\n const queryOptions = queryFacetsByKey[key];\n const facetOptions = facets.find((facet) => facet.key === key)?.options;\n\n // for free inputs we don't care, always valid\n if (!Array.isArray(queryOptions)) return true;\n\n // find the options in query that correspond to an option in facets\n const mappedOptions = queryOptions?.filter((queryOptionID) =>\n facetOptions?.find((facetOption) => facetOption.id === queryOptionID)\n );\n\n // if found options don't match options in query, not valid\n if (mappedOptions.length !== queryOptions.length) {\n return false;\n }\n\n return true;\n });\n }, [facets, queryFacets]);\n\n useEffect(() => {\n // if there's an option in query params we don't know\n // reset all facets\n if (!areQueryParamsValid) {\n return clearAllFacets();\n }\n\n // if query params are valid\n // search tools when query params change\n dispatchSearch();\n\n // todo: change query param in language switcher\n }, [areQueryParamsValid, clearAllFacets, dispatchSearch]);\n\n return (\n
\n {\n // reset page if not page 1\n if (queryPage && queryPage > 1) {\n setQueryPage(undefined);\n }\n\n setQueryFacets(activeFacet);\n }}\n setQueryTerm={(term: string) => {\n // reset page if not page 1\n if (queryPage && queryPage > 1) {\n setQueryPage(undefined);\n }\n\n // set undefined to remove from URL if empty\n setQueryTerm(term || undefined);\n }}\n clearAllFacets={clearAllFacets}\n />\n \n
\n );\n};\n","import { useCallback, useMemo } from \"react\";\nimport { keyBy, mapValues } from \"lodash-es\";\n\nimport {\n ActiveToolFacetType,\n IActiveFacet,\n IActiveFacetOption,\n IToolFacet,\n ToolFacetType,\n} from \"types\";\nimport { i18nService } from \"services\";\n\nimport { mapFacetSlugToKey } from \"../\";\n\ninterface useActiveFacetsProps {\n queryTerm: string | null | undefined;\n facets: IToolFacet[];\n queryFacets: { [key: string]: any };\n setQueryFacets: (activeFacet: ActiveToolFacetType) => void;\n resetTerm: () => void;\n}\n\nexport const useActiveFacets = ({\n facets,\n queryTerm,\n queryFacets,\n setQueryFacets,\n resetTerm,\n}: useActiveFacetsProps) => {\n // default values for facets form\n // eg. { term: \"test\", theme: [\"id1\" ,\"id2\" , \"id3\"]: type: [] }\n const activeFacetsMap: ActiveToolFacetType = useMemo(\n () => ({\n [ToolFacetType.term]: queryTerm, // hardcode term\n ...mapFacetSlugToKey(facets, queryFacets),\n }),\n [facets, queryTerm, queryFacets]\n );\n\n // lookup table for facet option labels\n // eg. { theme: { id1: \"Cyberpesten\" } }\n const facetOptionLabels = useMemo(\n () =>\n mapValues(keyBy(facets, \"key\"), (value) =>\n mapValues(keyBy(value.options, \"id\"), (value) => value.label)\n ),\n [facets]\n );\n\n // get active facet options\n // with an onClick handler to remove the active option\n // eg. [{ label:\"Cyberpesten\", onClick: () => void }]\n const getActiveOptions = useCallback(\n (\n activeFacet: string | string[] | null | undefined,\n key: string,\n slug: string\n ): IActiveFacetOption[] | undefined => {\n if (!activeFacet) return undefined;\n\n // term has custom code\n if (typeof activeFacet === \"string\") return undefined;\n\n return (\n activeFacet\n .map(\n (option: string): IActiveFacetOption => ({\n label: facetOptionLabels[key][option],\n onClick: () =>\n // remove current option from query string\n setQueryFacets({\n [slug]: activeFacet?.filter(\n (item: string) => item !== option\n ),\n }),\n })\n )\n // if we can't find a label for given key, remove that option\n .filter((activeOption) => !!activeOption.label)\n );\n },\n [facetOptionLabels, setQueryFacets]\n );\n\n const activeTerm: IActiveFacet | undefined = useMemo(\n () =>\n queryTerm\n ? {\n label: i18nService.copy[\"toolSearch.keyword\"],\n activeOptions: [\n {\n label: queryTerm,\n onClick: resetTerm,\n },\n ],\n }\n : undefined,\n [queryTerm, resetTerm]\n );\n\n // array of all active facets with their active options\n const activeFacets: IActiveFacet[] = useMemo(\n () => [\n ...(activeTerm ? [activeTerm] : []), // hardcode term\n ...facets\n .map(({ key, label, slug }) => ({\n label,\n activeOptions: getActiveOptions(activeFacetsMap?.[key], key, slug),\n }))\n // if active options has length 0, remove the active facet\n .filter((activeFacet) => !!activeFacet.activeOptions?.length),\n ],\n [facets, activeFacetsMap, getActiveOptions, activeTerm]\n );\n\n return { activeFacetsMap, activeFacets };\n};\n","import { ChangeEvent } from \"react\";\nimport { i18nService } from \"services\";\nimport {\n IToolFacet,\n IFieldType,\n IFormSchema,\n ActiveToolFacetType,\n ToolFacetType,\n} from \"types\";\n\nexport const makeSchema = (\n facets: IToolFacet[],\n handleChangeTerm: (term: string) => void,\n handleChangeFacet: (facet: ActiveToolFacetType) => void\n): IFormSchema => ({\n fields: [\n {\n name: ToolFacetType.term,\n label: i18nService.copy[\"toolSearch.keyword\"],\n placeholder: i18nService.copy[\"toolSearch.keywordPlaceholder\"],\n type: IFieldType.text,\n onChange: (e: ChangeEvent) =>\n handleChangeTerm(e.target.value),\n },\n ...facets.map(({ key, slug, options, ...rest }) => ({\n ...rest,\n name: key,\n type: IFieldType.checkboxGroup,\n onChange: (value: string[]) => {\n handleChangeFacet({\n [slug]: value,\n });\n },\n options: options.map((option) => ({\n type: IFieldType.checkbox,\n name: option.id,\n label: option.label,\n value: option.id,\n })),\n })),\n ],\n});\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { Facets } from \"components\";\nimport { i18nService } from \"services\";\nimport {\n ActiveToolFacetType,\n IToolFacet,\n IActiveFacet,\n IAPIState,\n} from \"types\";\n\nimport { makeSchema } from \"../data/formSchema\";\nimport { toolSearchMetaSelector } from \"../state\";\n\ninterface ToolSearchFacetsContainerProps {\n facets: IToolFacet[];\n setQueryTerm: (term: string) => void;\n setQueryFacets: (activeFacet: ActiveToolFacetType) => void;\n defaultValues?: Record;\n activeFacets?: IActiveFacet[];\n clearAllFacets: () => void;\n}\n\nexport const ToolSearchFacetsContainer: React.FC = ({\n facets,\n setQueryTerm,\n setQueryFacets,\n defaultValues,\n activeFacets,\n clearAllFacets,\n}) => {\n const { status, pagination } = useSelector(toolSearchMetaSelector);\n\n return (\n
\n \n
\n );\n};\n","import React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport { IAPIState, IPager } from \"types\";\nimport { ToolSearchResults, Pager } from \"components\";\n\nimport { toolSearchDataSelector, toolSearchMetaSelector } from \"../state\";\nimport { ToolSearchMessage } from \"../components\";\nimport { Loader } from \"components/loader/Loader\";\n\ninterface ToolSearchResultsContainerProps {\n setQueryPage: (page: number) => void;\n clearAllFacets?: () => void;\n noResultMessage: string;\n}\n\nexport const ToolSearchResultsContainer: React.FC = ({\n setQueryPage,\n clearAllFacets,\n noResultMessage,\n}) => {\n const { status, pagination, hasSearched } = useSelector(\n toolSearchMetaSelector\n );\n const results = useSelector(toolSearchDataSelector);\n\n const handlePageChange = useCallback(\n (page: number) => {\n // change page in URL\n setQueryPage(page);\n },\n [setQueryPage]\n );\n\n // scroll results into view if results change\n const isFirstScrollRender = useRef(true);\n const scrollRef = createRef();\n useEffect(() => {\n if (!results) return;\n if (!scrollRef.current) return;\n\n // keep page scroll position on first render\n // eg. user scrolls down and click on teaser #10\n // user navigates back to overview, he wants to see teaser #10\n if (isFirstScrollRender.current) {\n isFirstScrollRender.current = false;\n return;\n }\n\n const documentScroll = document.scrollingElement?.scrollTop || 0;\n\n // don't scroll into view if we are on top of page already\n if (documentScroll < scrollRef.current.offsetTop) return;\n\n scrollRef.current.scrollIntoView({ behavior: \"smooth\" });\n }, [results, scrollRef]);\n\n const pager = useMemo((): IPager => {\n return {\n currentPage: pagination?.page || 1,\n totalPages: Math.ceil(\n (pagination?.total || 0) / (pagination?.amount || 1)\n ),\n onPageChange: handlePageChange,\n };\n }, [pagination, handlePageChange]);\n\n return (\n
\n \n\n {!!results?.length && (\n \n )}\n {!!pager.currentPage && pager.totalPages > 1 && (\n
\n \n
\n )}\n\n
\n {status === IAPIState.pending && }\n
\n
\n );\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter, Route } from \"react-router-dom\";\nimport {\n QueryParamProvider,\n transformSearchStringJsonSafe,\n} from \"use-query-params\";\n\nimport { store } from \"state\";\nimport { IToolFacet } from \"types\";\n\nimport { ToolSearchContainer } from \"./containers\";\n\n(() => {\n const searchContainer = document.querySelector(\n \"[data-tool-search]\"\n );\n\n if (!searchContainer) return;\n\n const data = searchContainer.dataset.toolSearch;\n searchContainer.dataset.toolSearch = \"\"; //cleanup\n\n if (!data) return;\n\n const toolSearchData = JSON.parse(data) as {\n facets: IToolFacet[];\n noResultMessage: string;\n };\n\n ReactDOM.render(\n \n \n \n \n \n \n ,\n searchContainer\n );\n})();\n","import React, { useState } from \"react\";\n\nimport { urlService } from \"services\";\nimport { ActiveToolFacetType, IToolFacet } from \"types\";\nimport { useOnPersistedPageShow } from \"utils\";\n\nimport { ToolQuickSearchForm } from \"../components\";\n\ninterface ToolSearchAppProps {\n facets: IToolFacet[];\n}\n\nexport const ToolQuickSearchContainer: React.FC = ({\n facets,\n}) => {\n const [isLoading, setLoading] = useState(false);\n\n // bfcache fix\n useOnPersistedPageShow(() => setLoading(false));\n\n const handleSubmit = (data: ActiveToolFacetType) => {\n setLoading(true);\n\n // redirect to tool search single with chosen facets\n window.location.href = urlService.generateToolSearchUrl(data);\n };\n return (\n
\n \n
\n );\n};\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { IToolFacet } from \"types\";\n\nimport { ToolQuickSearchContainer } from \"./containers\";\n\n(() => {\n const toolQuickSearchContainers = document.querySelectorAll(\n \"[data-tool-quick-search]\"\n );\n\n if (!toolQuickSearchContainers) return;\n\n toolQuickSearchContainers.forEach((toolQuickSearchContainer) => {\n const data = toolQuickSearchContainer.dataset.toolQuickSearch;\n toolQuickSearchContainer.dataset.toolQuickSearch = \"\"; //cleanup\n\n if (!data) return;\n\n const toolQuickSearchData = JSON.parse(data) as IToolFacet[];\n\n ReactDOM.render(\n ,\n toolQuickSearchContainer\n );\n });\n})();\n","import { some, sortBy, uniq, without } from \"lodash-es\";\nimport { useCallback, useMemo, useReducer } from \"react\";\nimport { i18nService } from \"services\";\nimport { IOption } from \"types\";\nimport { IInclusionRow } from \"./components/TableWrapper\";\n\ninterface IState {\n search?: string;\n thema?: string | null;\n target_audience?: string | null;\n material?: string | null;\n sortColumn?: string | null;\n sortDirection?: string | null;\n favorites?: string[];\n}\n\nconst initialState: IState = {\n search: \"\",\n thema: null,\n target_audience: null,\n material: null,\n sortColumn: \"title\",\n sortDirection: \"asc\",\n favorites: JSON.parse(\n localStorage.getItem(\"favorite-inclusion-rows\") || \"[]\"\n ),\n};\n\nenum Type {\n SET_SEARCH = \"SET_SEARCH\",\n SET_THEMA = \"SET_THEMA\",\n SET_TARGET_AUDIENCE = \"SET_TARGET_AUDIENCE\",\n SET_MATERIAL = \"SET_MATERIAL\",\n SET_SORT_COLUMN = \"SET_SORT_COLUMN\",\n SET_SORT_DIRECTION = \"SET_SORT_DIRECTION\",\n ADD_TO_FAVORITES = \"ADD_TO_FAVORITES\",\n REMOVE_FROM_FAVORITES = \"REMOVE_FROM_FAVORITES\",\n}\n\nexport const useTableSearch = ({ rows }: { rows: IInclusionRow[] }) => {\n const [state, dispatch] = useReducer(\n (state: IState, { type, payload }: { type: Type; payload: any }) => {\n switch (type) {\n case Type.SET_SEARCH: {\n return {\n ...state,\n search: payload.search,\n };\n }\n\n case Type.SET_THEMA: {\n return {\n ...state,\n thema: payload.thema,\n };\n }\n\n case Type.SET_TARGET_AUDIENCE: {\n return {\n ...state,\n target_audience: payload.target_audience,\n };\n }\n\n case Type.SET_MATERIAL: {\n return {\n ...state,\n material: payload.material,\n };\n }\n\n case Type.SET_SORT_COLUMN: {\n return {\n ...state,\n sortColumn: payload.sortColumn,\n };\n }\n\n case Type.SET_SORT_DIRECTION: {\n return {\n ...state,\n sortDirection: payload.sortDirection,\n };\n }\n\n case Type.ADD_TO_FAVORITES: {\n localStorage.setItem(\n \"favorite-inclusion-rows\",\n JSON.stringify([\n ...JSON.parse(\n localStorage.getItem(\"favorite-inclusion-rows\") || \"[]\"\n ),\n payload.favorite,\n ])\n );\n return {\n ...state,\n ...(state.favorites && {\n favorites: [...state.favorites, payload.favorite],\n }),\n };\n }\n\n case Type.REMOVE_FROM_FAVORITES: {\n localStorage.setItem(\n \"favorite-inclusion-rows\",\n JSON.stringify(\n without(\n JSON.parse(\n localStorage.getItem(\"favorite-inclusion-rows\") || \"[]\"\n ),\n payload.favorite\n )\n )\n );\n return {\n ...state,\n ...(state.favorites && {\n favorites: without(state.favorites, payload.favorite),\n }),\n };\n }\n\n default: {\n return state;\n }\n }\n },\n initialState\n );\n\n const setSearch = ({ search }: { search: string }) => {\n dispatch({\n type: Type.SET_SEARCH,\n payload: {\n search,\n },\n });\n };\n\n const setThema = (thema: string | null) => {\n dispatch({\n type: Type.SET_THEMA,\n payload: {\n thema,\n },\n });\n };\n\n const setTargetAudience = (target_audience: string | null) => {\n dispatch({\n type: Type.SET_TARGET_AUDIENCE,\n payload: {\n target_audience,\n },\n });\n };\n\n const setMaterial = (material: string | null) => {\n dispatch({\n type: Type.SET_MATERIAL,\n payload: {\n material,\n },\n });\n };\n\n const themaOptions = useMemo(\n () => [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"thema\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...sortBy(\n uniq(\n rows\n .map(({ theme }) => theme)\n .filter((theme) => !!theme)\n .flat()\n ).map((theme: any) => ({\n label: theme,\n value: theme,\n name: theme,\n type: theme,\n })),\n \"label\"\n ),\n ],\n [rows]\n );\n\n const targetAudienceOptions = useMemo(\n () => [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"doelgroep\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...sortBy(\n uniq(\n rows\n .map(({ target_audience }) => target_audience)\n .filter((target_audience) => !!target_audience)\n .flat()\n ).map((target_audience: any) => ({\n label: target_audience,\n value: target_audience,\n name: target_audience,\n type: target_audience,\n })),\n \"label\"\n ),\n ],\n [rows]\n );\n\n const materialOptions = useMemo(\n () => [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"materiaal\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...sortBy(\n uniq(\n rows\n .map(({ type }) => type)\n .filter((type) => !!type)\n .flat()\n ).map((type: any) => ({\n label: type,\n value: type,\n name: type,\n type,\n })),\n \"label\"\n ),\n ],\n [rows]\n );\n\n const filteredRows = useMemo(() => {\n const filtered = rows.filter(\n ({ title, description, theme, target_audience, type }) => {\n const match = (t: string, target?: string | null) =>\n !target || t.toLowerCase().includes(target.toLowerCase());\n\n const matchesSearch =\n match(title, state.search) ||\n (description && match(description, state.search));\n\n const matchesTheme = some(theme, (t: string) => match(t, state.thema));\n\n const matchesTargetAudience = some(target_audience, (t: string) =>\n match(t, state.target_audience)\n );\n\n const matchesMaterial = some(type, (t: string) =>\n match(t, state.material)\n );\n\n return (\n matchesSearch &&\n matchesTheme &&\n matchesTargetAudience &&\n matchesMaterial\n );\n }\n );\n\n if (state.sortColumn === null || state.sortColumn === undefined)\n return filtered.sort((a, b) => {\n let aIsFavorite = state.favorites?.includes(a.title);\n let bIsFavorite = state.favorites?.includes(b.title);\n\n // If either A or B is a favorite, prioritize it\n if (aIsFavorite || bIsFavorite) {\n if (aIsFavorite && !bIsFavorite) {\n return -1;\n }\n if (!aIsFavorite && bIsFavorite) {\n return 1;\n }\n }\n\n // If either A or B is spotlight, prioritize it\n if (a.spotlight || b.spotlight) {\n if (a.spotlight && !b.spotlight) {\n return -1;\n }\n if (!a.spotlight && b.spotlight) {\n return 1;\n }\n }\n\n return 0;\n });\n\n return filtered.sort((a, b) => {\n //@ts-ignore\n let compareValueA = a[state.sortColumn].trim();\n //@ts-ignore\n let compareValueB = b[state.sortColumn].trim();\n\n let aIsFavorite = state.favorites?.includes(a.title);\n let bIsFavorite = state.favorites?.includes(b.title);\n\n // If either A or B is a favorite, prioritize it\n if (aIsFavorite || bIsFavorite) {\n if (aIsFavorite && !bIsFavorite) {\n return -1;\n }\n if (!aIsFavorite && bIsFavorite) {\n return 1;\n }\n }\n\n // If either A or B is spotlight, prioritize it\n if (a.spotlight || b.spotlight) {\n if (a.spotlight && !b.spotlight) {\n return -1;\n }\n if (!a.spotlight && b.spotlight) {\n return 1;\n }\n }\n\n // If A and B are both favorites, or neither is a favorite, sort alphabetically\n if (typeof compareValueA === \"string\") {\n compareValueA = compareValueA.toLowerCase();\n compareValueB = compareValueB.toLowerCase();\n } else {\n compareValueA = compareValueA.map((val: string) => val.toLowerCase());\n compareValueB = compareValueB.map((val: string) => val.toLowerCase());\n }\n\n return state.sortDirection === \"asc\"\n ? compareValueA < compareValueB\n ? -1\n : 1\n : compareValueA > compareValueB\n ? -1\n : 1;\n });\n // eslint-disable-next-line\n }, [\n rows,\n state.material,\n state.search,\n state.sortColumn,\n state.sortDirection,\n state.target_audience,\n state.thema,\n ]);\n\n const handleSort = useCallback(\n (column: string, direction: string) => {\n console.log(column, direction);\n\n if (state.sortColumn === column) {\n if (direction === state.sortDirection) {\n dispatch({\n type: Type.SET_SORT_COLUMN,\n payload: {\n sortColumn: null,\n },\n });\n } else {\n dispatch({\n type: Type.SET_SORT_DIRECTION,\n payload: {\n sortDirection: direction,\n },\n });\n }\n } else {\n dispatch({\n type: Type.SET_SORT_COLUMN,\n payload: {\n sortColumn: column,\n },\n });\n dispatch({\n type: Type.SET_SORT_DIRECTION,\n payload: {\n sortDirection: direction,\n },\n });\n }\n },\n [state.sortColumn, state.sortDirection]\n );\n\n const addToFavorites = (favorite: string) => {\n dispatch({\n type: Type.ADD_TO_FAVORITES,\n payload: {\n favorite,\n },\n });\n };\n\n const removeFromFavorites = (favorite: string) => {\n dispatch({\n type: Type.REMOVE_FROM_FAVORITES,\n payload: {\n favorite,\n },\n });\n };\n\n return {\n state: {\n sortColumn: state.sortColumn,\n sortDirection: state.sortDirection,\n favorites: state.favorites,\n themaOptions,\n targetAudienceOptions,\n materialOptions,\n filteredRows,\n },\n actions: {\n setSearch,\n setThema,\n setTargetAudience,\n setMaterial,\n handleSort,\n addToFavorites,\n removeFromFavorites,\n },\n };\n};\n","export enum TABLE_TYPES {\n INCLUSION = \"inclusion\",\n TUSSENDOORTJES = \"tussendoortjes\",\n}\n","import { FC } from \"react\";\n\ninterface Props {\n filled?: boolean;\n onClick: (e: any) => void;\n tabIndex: number;\n ariaLabel: string;\n isCheckbox?: boolean;\n}\n\nexport const Star: FC = ({\n filled,\n onClick,\n tabIndex,\n ariaLabel,\n isCheckbox,\n}) => {\n const colors = filled\n ? { fill: \"#FF3D9A\", stroke: \"#FF3D9A\" }\n : { fill: \"white\", stroke: \"#B2B5B7\" };\n\n return (\n e.key === \"Enter\" && onClick(e)}\n tabIndex={tabIndex}\n role=\"checkbox\"\n {...(isCheckbox && { role: \"checkbox\", \"aria-checked\": filled || false })}\n >\n \n \n );\n};\n","import { FC } from \"react\";\n\ninterface Props {\n label: string;\n size: \"big\" | \"small\";\n}\n\nexport const NewCircle: FC = ({ label, size = \"big\" }) => {\n return (\n \n {label}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { FC } from \"react\";\nimport { IInclusionRow } from \"./TableWrapper\";\nimport { Star } from \"./Star\";\nimport { NewCircle } from \"./NewCircle\";\nimport { Button } from \"components/button/Button\";\nimport { i18nService } from \"services\";\n\ninterface Props {\n row: IInclusionRow;\n rowIndex: number;\n expandedRowTitle: string | null;\n toggleRow: (title: string) => void;\n favorites?: string[];\n addToFavorites: (t: string) => void;\n removeFromFavorites: (t: string) => void;\n}\n\nexport const InclusionTableRow: FC = ({\n row: {\n spotlight,\n title,\n organisation,\n type,\n target_audience,\n description,\n image,\n cta_attachment,\n cta_tool,\n },\n rowIndex,\n expandedRowTitle,\n toggleRow,\n favorites,\n addToFavorites,\n removeFromFavorites,\n}) => {\n return (\n <>\n \n \n {\n favorites && favorites.includes(title)\n ? removeFromFavorites(title)\n : addToFavorites(title);\n }}\n tabIndex={0}\n isCheckbox\n />\n \n toggleRow(title)}\n >\n {spotlight && }\n {title}\n \n toggleRow(title)}>{organisation}\n toggleRow(title)}>{type?.join(\", \")}\n toggleRow(title)}>{target_audience?.join(\", \")}\n toggleRow(title)}>\n {description && (\n \n )}\n \n \n {expandedRowTitle === title && description && (\n \n \n
\n
\n {description}\n\n
\n {cta_attachment?.map((url: string, i: number) => (\n window.open(url)}\n outline\n />\n ))}\n {cta_tool && (\n window.open(cta_tool)}\n outline\n />\n )}\n
\n
\n {image &&
{{`${title}`}}
}\n
\n \n \n )}\n \n );\n};\n","import { Briefcase, Goal, User } from \"assets/icons\";\nimport { Button } from \"components/button/Button\";\nimport { Star } from \"components/inclusion/components/Star\";\nimport { FC } from \"react\";\nimport { i18nService } from \"services\";\nimport { ITussendoortjesRow } from \"../types\";\nimport { NewCircle } from \"components/inclusion/components/NewCircle\";\n\ninterface Props {\n row: ITussendoortjesRow;\n rowIndex: number;\n expandedRowTitle: string | null;\n toggleRow: (title: string) => void;\n favorites?: string[];\n addToFavorites: (t: string) => void;\n removeFromFavorites: (t: string) => void;\n}\n\nexport const renderDifficulty = (difficulty: number) => {\n switch (difficulty) {\n case 1:\n return \"Makkelijk\";\n case 2:\n return \"Gemiddeld\";\n case 3:\n return \"Moeilijk\";\n default:\n return \"Onbekend\";\n }\n};\n\nconst addProtocolToUrl = (url: string): string => {\n if (url.startsWith(\"https://\")) {\n return url;\n } else {\n return `https://${url}`;\n }\n};\n\nexport const TussendoortjesTableRow: FC = ({\n row: {\n title,\n themes,\n difficulty,\n goals,\n learning_areas,\n key_competencies,\n description,\n cta_link,\n spotlight,\n },\n rowIndex,\n expandedRowTitle,\n toggleRow,\n favorites,\n addToFavorites,\n removeFromFavorites,\n}) => {\n return (\n <>\n \n \n {\n favorites && favorites.includes(title)\n ? removeFromFavorites(title)\n : addToFavorites(title);\n }}\n tabIndex={0}\n />\n \n toggleRow(title)}\n >\n {spotlight && }\n {title}\n \n toggleRow(title)}>{themes?.join(\", \")}\n toggleRow(title)}>{renderDifficulty(difficulty)}\n toggleRow(title)}>\n {description && (\n \n )}\n \n \n {expandedRowTitle === title && description && (\n \n \n
\n
\n {description}\n\n
\n
\n
\n \n
\n
\n

\n Doel\n

\n {goals?.join(\", \")}\n
\n
\n\n
\n
\n \n
\n
\n

\n Leergebied\n

\n {learning_areas?.join(\", \")}\n
\n
\n
\n
\n \n
\n
\n

\n Sleutelcompetentie\n

\n {key_competencies?.join(\", \")}\n
\n
\n
\n\n
\n {cta_link && (\n {\n window.open(addProtocolToUrl(cta_link));\n }}\n />\n )}\n
\n
\n
\n
\n
\n \n
\n
\n

\n Doel\n

\n {goals?.join(\", \")}\n
\n
\n\n
\n
\n \n
\n
\n

\n Leergebied\n

\n {learning_areas?.join(\", \")}\n
\n
\n
\n
\n \n
\n
\n

\n Sleutelcompetentie\n

\n {key_competencies?.join(\", \")}\n
\n
\n
\n
\n \n \n )}\n \n );\n};\n","import { Message } from \"components/message/Message\";\nimport { FC, useState } from \"react\";\nimport { i18nService } from \"services\";\nimport { InclusionTableRow } from \"./InclusionTableRow\";\nimport { IInclusionRow } from \"./TableWrapper\";\nimport { TABLE_TYPES } from \"../tableTypes\";\nimport { ITussendoortjesRow } from \"components/tussendoortjes/types\";\nimport { TussendoortjesTableRow } from \"components/tussendoortjes/components/TussendoortjesTableRow\";\n\ninterface Props {\n filteredRows: (IInclusionRow | ITussendoortjesRow)[];\n sortColumn?: string | null;\n sortDirection?: string | null;\n handleSort: (column: string, direction: string) => void;\n favorites?: string[];\n addToFavorites: (t: string) => void;\n removeFromFavorites: (t: string) => void;\n tableHeaders: { [key: string]: string };\n tableType: string;\n}\n\nexport const TableContent: FC = ({\n filteredRows,\n sortColumn,\n sortDirection,\n handleSort,\n favorites,\n addToFavorites,\n removeFromFavorites,\n tableHeaders,\n tableType,\n}) => {\n const [expandedRowTitle, setExpandedRowTitle] = useState(null);\n\n const toggleRow = (title: string) =>\n setExpandedRowTitle(title === expandedRowTitle ? null : title);\n\n return (\n <>\n {filteredRows.length > 0 ? (\n \n \n \n \n {Object.keys(tableHeaders).map((key) => (\n \n
\n handleSort(key, e.target.value)}\n aria-label={`${i18nService.copy[\"table.sortBy\"]} ${tableHeaders[key]}`}\n >\n \n \n \n \n
\n \n ))}\n
\n \n \n {filteredRows.map((row, rowIndex) => {\n switch (tableType) {\n case TABLE_TYPES.INCLUSION:\n return (\n \n );\n case TABLE_TYPES.TUSSENDOORTJES:\n return (\n \n );\n default:\n return null;\n }\n })}\n \n
\n ) : (\n {i18nService.copy[\"siteSearch.noResults\"]}\n )}\n \n );\n};\n","import { Cube, Tag, User } from \"assets/icons\";\nimport { SelectField } from \"components/form/fields\";\nimport { FC } from \"react\";\nimport { IFieldType, IOption } from \"types\";\n\ninterface Props {\n themaOptions: IOption[];\n targetAudienceOptions: IOption[];\n materialOptions: IOption[];\n setThema: (thema: string | null) => void;\n setTargetAudience: (targetAudience: string | null) => void;\n setMaterial: (thema: string | null) => void;\n}\n\nexport const TableFilters: FC = ({\n themaOptions = [],\n targetAudienceOptions = [],\n materialOptions = [],\n setThema,\n setTargetAudience,\n setMaterial,\n}) => {\n return (\n
\n }\n name=\"Thema\"\n label=\"Thema\"\n onChange={({ currentTarget: { value } }) => setThema(value)}\n />\n }\n name=\"Doelgroep\"\n label=\"Doelgroep\"\n onChange={({ currentTarget: { value } }) => setTargetAudience(value)}\n />\n }\n name=\"Materiaal\"\n label=\"Materiaal\"\n onChange={({ currentTarget: { value } }) => setMaterial(value)}\n />\n
\n );\n};\n","import { SearchField } from \"components/search/components\";\nimport { FC } from \"react\";\n\ninterface Props {\n setSearch?: ({ search }: { search: string }) => void;\n}\n\nexport const TableSearch: FC = ({ setSearch }) => {\n return ;\n};\n","import { FC } from \"react\";\nimport { useTableSearch } from \"../useTableSearch\";\nimport { TableContent } from \"./TableContent\";\nimport { TableFilters } from \"./TableFilters\";\nimport { TableSearch } from \"./TableSearch\";\nimport { TABLE_TYPES } from \"../tableTypes\";\n\nexport interface IInclusionRow {\n title: string;\n organisation: string;\n type?: string[];\n cta_attachment?: string[];\n cta_tool?: string;\n description: string;\n image?: string;\n spotlight: boolean;\n target_audience?: string[];\n theme?: string[];\n}\n\ninterface Props {\n rows: IInclusionRow[];\n}\n\nconst tableHeaders: { [key: string]: string } = {\n title: \"Titel\",\n organisation: \"Organisatie\",\n type: \"Type\",\n target_audience: \"Doelgroep\",\n};\n\nexport const TableWrapper: FC = ({ rows }) => {\n const {\n state: {\n sortColumn,\n sortDirection,\n themaOptions,\n targetAudienceOptions,\n materialOptions,\n filteredRows,\n favorites,\n },\n actions: {\n setSearch,\n setThema,\n setTargetAudience,\n setMaterial,\n handleSort,\n addToFavorites,\n removeFromFavorites,\n },\n } = useTableSearch({ rows });\n\n return (\n <>\n \n \n
\n \n
\n \n );\n};\n","import ReactDOM from \"react-dom\";\nimport { TableWrapper } from \"./components/TableWrapper\";\n\n(() => {\n const containers = document.querySelectorAll(\n \"[data-mediawijs-inclusion]\"\n );\n\n const data = document.getElementById(\"inclusion-data\")?.textContent;\n\n if (!containers || !data) return;\n\n ReactDOM.render(, containers[0]);\n})();\n","import { some, sortBy, uniq, without } from \"lodash-es\";\nimport { useCallback, useMemo, useReducer } from \"react\";\nimport { i18nService } from \"services\";\nimport { IOption } from \"types\";\nimport { ITussendoortjesRow } from \"./types\";\nimport { renderDifficulty } from \"./components/TussendoortjesTableRow\";\n\ninterface IState {\n search?: string;\n thema?: string | null;\n difficulty?: string | null;\n sortColumn?: string | null;\n sortDirection?: string | null;\n favorites?: string[];\n}\n\nconst initialState: IState = {\n search: \"\",\n thema: null,\n difficulty: null,\n sortColumn: \"title\",\n sortDirection: \"asc\",\n favorites: JSON.parse(\n localStorage.getItem(\"favorite-tussendoortjes-rows\") || \"[]\"\n ),\n};\n\nenum Type {\n SET_SEARCH = \"SET_SEARCH\",\n SET_THEMA = \"SET_THEMA\",\n SET_DIFFICULTY = \"SET_DIFFICULTY\",\n SET_SORT_COLUMN = \"SET_SORT_COLUMN\",\n SET_SORT_DIRECTION = \"SET_SORT_DIRECTION\",\n ADD_TO_FAVORITES = \"ADD_TO_FAVORITES\",\n REMOVE_FROM_FAVORITES = \"REMOVE_FROM_FAVORITES\",\n}\n\nexport const useTussendoortjes = ({ rows }: { rows: ITussendoortjesRow[] }) => {\n const [state, dispatch] = useReducer(\n (state: IState, { type, payload }: { type: Type; payload: any }) => {\n switch (type) {\n case Type.SET_SEARCH: {\n return {\n ...state,\n search: payload.search,\n };\n }\n\n case Type.SET_THEMA: {\n return {\n ...state,\n thema: payload.thema,\n };\n }\n\n case Type.SET_DIFFICULTY: {\n return {\n ...state,\n difficulty: payload.difficulty,\n };\n }\n\n case Type.SET_SORT_COLUMN: {\n return {\n ...state,\n sortColumn: payload.sortColumn,\n };\n }\n\n case Type.SET_SORT_DIRECTION: {\n return {\n ...state,\n sortDirection: payload.sortDirection,\n };\n }\n\n case Type.ADD_TO_FAVORITES: {\n localStorage.setItem(\n \"favorite-tussendoortjes-rows\",\n JSON.stringify([\n ...JSON.parse(\n localStorage.getItem(\"favorite-tussendoortjes-rows\") || \"[]\"\n ),\n payload.favorite,\n ])\n );\n return {\n ...state,\n ...(state.favorites && {\n favorites: [...state.favorites, payload.favorite],\n }),\n };\n }\n\n case Type.REMOVE_FROM_FAVORITES: {\n localStorage.setItem(\n \"favorite-tussendoortjes-rows\",\n JSON.stringify(\n without(\n JSON.parse(\n localStorage.getItem(\"favorite-tussendoortjes-rows\") || \"[]\"\n ),\n payload.favorite\n )\n )\n );\n return {\n ...state,\n ...(state.favorites && {\n favorites: without(state.favorites, payload.favorite),\n }),\n };\n }\n\n default: {\n return state;\n }\n }\n },\n initialState\n );\n\n const setSearch = ({ search }: { search: string }) => {\n dispatch({\n type: Type.SET_SEARCH,\n payload: {\n search,\n },\n });\n };\n\n const setThema = (thema: string | null) => {\n dispatch({\n type: Type.SET_THEMA,\n payload: {\n thema,\n },\n });\n };\n\n const setDifficulty = (difficulty: string | null) => {\n dispatch({\n type: Type.SET_DIFFICULTY,\n payload: {\n difficulty,\n },\n });\n };\n\n const themaOptions = useMemo(\n () => [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"thema\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...sortBy(\n uniq(\n rows\n .map(({ themes }) => themes)\n .flat()\n .filter((theme) => !!theme)\n ).map((theme: any) => ({\n label: theme,\n value: theme,\n name: theme,\n type: theme,\n })),\n \"label\"\n ),\n ],\n [rows]\n );\n\n const difficultyOptions = useMemo(\n () => [\n {\n label: i18nService.copy[\"toolQuickSearch.choose\"]?.replace(\n \"@filter\",\n \"moeilijkheidsgraad\"\n ),\n value: \"\",\n type: \"\",\n name: \"\",\n },\n ...sortBy(\n uniq(\n rows\n .map(({ difficulty }) => difficulty)\n .filter((type) => !!type)\n .flat()\n ).map((type: any) => ({\n label: renderDifficulty(type),\n value: type,\n name: type,\n type,\n })),\n \"label\"\n ),\n ],\n [rows]\n );\n\n const filteredRows = useMemo(() => {\n const filtered = rows.filter(\n ({\n title,\n description,\n themes,\n difficulty,\n goals,\n key_competencies,\n learning_areas,\n }) => {\n // If any field is not filled in, don't show the row.\n\n const match = (t: string, target?: string | null) =>\n !target || t.toLowerCase().includes(target.toLowerCase());\n\n const matchesSearch =\n match(title, state.search) ||\n (description && match(description, state.search));\n\n const matchesTheme = some(themes, (t: string) => match(t, state.thema));\n\n const matchesDifficulty = match(\n difficulty.toString(),\n state.difficulty\n );\n\n return matchesSearch && matchesTheme && matchesDifficulty;\n }\n );\n\n if (state.sortColumn === null || state.sortColumn === undefined)\n return filtered.sort((a, b) => {\n let aIsFavorite = state.favorites?.includes(a.title);\n let bIsFavorite = state.favorites?.includes(b.title);\n\n // If either A or B is a favorite, prioritize it\n if (aIsFavorite || bIsFavorite) {\n if (aIsFavorite && !bIsFavorite) {\n return -1;\n }\n if (!aIsFavorite && bIsFavorite) {\n return 1;\n }\n }\n\n // If either A or B is spotlight, prioritize it\n if (a.spotlight || b.spotlight) {\n if (a.spotlight && !b.spotlight) {\n return -1;\n }\n if (!a.spotlight && b.spotlight) {\n return 1;\n }\n }\n\n return 0;\n });\n\n return filtered.sort((a, b) => {\n //@ts-ignore\n let compareValueA = a[state.sortColumn].toString().trim();\n //@ts-ignore\n let compareValueB = b[state.sortColumn].toString().trim();\n\n if (state.sortColumn === \"difficulty\") {\n //@ts-ignore\n compareValueA = renderDifficulty(parseInt(a[state.sortColumn]));\n //@ts-ignore\n compareValueB = renderDifficulty(b[state.sortColumn]);\n }\n\n let aIsFavorite = state.favorites?.includes(a.title);\n let bIsFavorite = state.favorites?.includes(b.title);\n\n // If either A or B is a favorite, prioritize it\n if (aIsFavorite || bIsFavorite) {\n if (aIsFavorite && !bIsFavorite) {\n return -1;\n }\n if (!aIsFavorite && bIsFavorite) {\n return 1;\n }\n }\n\n // If either A or B is spotlight, prioritize it\n if (a.spotlight || b.spotlight) {\n if (a.spotlight && !b.spotlight) {\n return -1;\n }\n if (!a.spotlight && b.spotlight) {\n return 1;\n }\n }\n\n // If A and B are both favorites, or neither is a favorite, sort alphabetically\n if (typeof compareValueA === \"string\") {\n compareValueA = compareValueA.toLowerCase();\n compareValueB = compareValueB.toLowerCase();\n } else {\n compareValueA = compareValueA.map((val: string) => val.toLowerCase());\n compareValueB = compareValueB.map((val: string) => val.toLowerCase());\n }\n\n return state.sortDirection === \"asc\"\n ? compareValueA < compareValueB\n ? -1\n : 1\n : compareValueA > compareValueB\n ? -1\n : 1;\n });\n // eslint-disable-next-line\n }, [\n rows,\n state.difficulty,\n state.search,\n state.sortColumn,\n state.sortDirection,\n state.thema,\n ]);\n\n const handleSort = useCallback(\n (column: string) => {\n if (state.sortColumn === column) {\n if (state.sortDirection === \"desc\") {\n dispatch({\n type: Type.SET_SORT_COLUMN,\n payload: {\n sortColumn: null,\n },\n });\n } else {\n dispatch({\n type: Type.SET_SORT_DIRECTION,\n payload: {\n sortDirection: \"desc\",\n },\n });\n }\n } else {\n dispatch({\n type: Type.SET_SORT_COLUMN,\n payload: {\n sortColumn: column,\n },\n });\n\n dispatch({\n type: Type.SET_SORT_DIRECTION,\n payload: {\n sortDirection: \"asc\",\n },\n });\n }\n },\n [state.sortColumn, state.sortDirection]\n );\n\n const addToFavorites = (favorite: string) => {\n dispatch({\n type: Type.ADD_TO_FAVORITES,\n payload: {\n favorite,\n },\n });\n };\n\n const removeFromFavorites = (favorite: string) => {\n dispatch({\n type: Type.REMOVE_FROM_FAVORITES,\n payload: {\n favorite,\n },\n });\n };\n\n return {\n state: {\n sortColumn: state.sortColumn,\n sortDirection: state.sortDirection,\n favorites: state.favorites,\n themaOptions,\n difficultyOptions,\n filteredRows,\n },\n actions: {\n setSearch,\n setThema,\n setDifficulty,\n handleSort,\n addToFavorites,\n removeFromFavorites,\n },\n };\n};\n","import { BarChart, Tag } from \"assets/icons\";\nimport { SelectField } from \"components/form/fields\";\nimport { FC } from \"react\";\nimport { IFieldType, IOption } from \"types\";\n\ninterface Props {\n themaOptions: IOption[];\n difficultyOptions: IOption[];\n setThema: (thema: string | null) => void;\n setDifficulty: (difficulty: string | null) => void;\n}\n\nexport const TableFilters: FC = ({\n themaOptions = [],\n difficultyOptions = [],\n setThema,\n setDifficulty,\n}) => {\n return (\n
\n }\n name=\"Thema\"\n label=\"Thema\"\n className=\"table-overview-filters__thema\"\n onChange={({ currentTarget: { value } }) => setThema(value)}\n />\n }\n name=\"Moeilijkheidsgraad\"\n label=\"Moeilijkheidsgraad\"\n className=\"table-overview-filters__difficulty\"\n onChange={({ currentTarget: { value } }) => setDifficulty(value)}\n />\n
\n );\n};\n","import { FC } from \"react\";\nimport { useTussendoortjes } from \"../useTussendoortjes\";\nimport { ITussendoortjesRow } from \"../types\";\nimport { TABLE_TYPES } from \"components/inclusion/tableTypes\";\nimport { TableFilters } from \"./TableFIlters\";\nimport { TableSearch } from \"components/inclusion/components/TableSearch\";\nimport { TableContent } from \"components/inclusion/components/TableContent\";\n\ninterface Props {\n rows: ITussendoortjesRow[];\n}\n\nconst tableHeaders: { [key: string]: string } = {\n title: \"Titel\",\n themes: \"Thema\",\n difficulty: \"Moeilijkheidsgraad\",\n};\n\nexport const TableWrapper: FC = ({ rows }) => {\n const {\n state: {\n sortColumn,\n sortDirection,\n filteredRows,\n themaOptions,\n favorites,\n difficultyOptions,\n },\n actions: {\n setSearch,\n setThema,\n handleSort,\n addToFavorites,\n removeFromFavorites,\n setDifficulty,\n },\n } = useTussendoortjes({ rows });\n\n return (\n <>\n \n \n
\n \n
\n \n );\n};\n","import ReactDOM from \"react-dom\";\nimport { TableWrapper } from \"./components/TableWrapper\";\n\n(() => {\n const containers = document.querySelectorAll(\n \"[data-mediawijs-tussendoortjes]\"\n );\n\n const data = document.getElementById(\"tussendoortjes-data\")?.textContent;\n\n if (!containers || !data) return;\n\n ReactDOM.render(, containers[0]);\n})();\n","import React, { useState } from \"react\";\n\nimport { urlService } from \"services\";\nimport { ActiveToolboxFacetType, IToolboxFacet } from \"types\";\nimport { useOnPersistedPageShow } from \"utils\";\n\nimport { ToolboxQuickSearchForm } from \"../components\";\n\ninterface ToolboxSearchAppProps {\n facets: IToolboxFacet[];\n}\n\nexport const ToolboxQuickSearchContainer: React.FC = ({\n facets,\n}) => {\n const [isLoading, setLoading] = useState(false);\n\n // bfcache fix\n useOnPersistedPageShow(() => setLoading(false));\n\n const handleSubmit = (data: ActiveToolboxFacetType) => {\n setLoading(true);\n\n // redirect to toolbox search single with chosen facets\n window.location.href = urlService.generateToolboxSearchUrl(data);\n };\n return (\n
\n \n
\n );\n};\n","import ReactDOM from \"react-dom\";\n\nimport { IToolboxFacet } from \"types\";\n\nimport { ToolboxQuickSearchContainer } from \"./containers\";\nimport { BrowserRouter } from \"react-router-dom\";\n\n(() => {\n const toolboxQuickSearchContainers = document.querySelectorAll(\n \"[data-toolbox-quick-search]\"\n );\n\n if (!toolboxQuickSearchContainers) return;\n\n toolboxQuickSearchContainers.forEach((toolboxQuickSearchContainer) => {\n const data = toolboxQuickSearchContainer.dataset.toolboxQuickSearch;\n // toolboxQuickSearchContainer.dataset.toolboxQuickSearch = \"\"; //cleanup\n\n if (!data) return;\n\n const toolboxQuickSearchData = JSON.parse(data) as IToolboxFacet[];\n\n ReactDOM.render(\n \n \n ,\n toolboxQuickSearchContainer\n );\n });\n})();\n","import \"sanitize.css\";\n\nimport \"./index.scss\";\n\nimport \"elements/scripts\";\nimport \"components/scripts\";\n\nimport { loggerService, lazyLoadService } from \"services\";\nimport { openMenu } from \"components/header\";\n\nloggerService.log({\n icon: \"👾\",\n title: \"Test\",\n body: \"Test\",\n});\n\n// init lazy load script\nlazyLoadService.observe();\n\n// used on 403/404 pages to open the menu from a text link\n(() => {\n const menuOpenLinks = document.querySelectorAll(\n \"[data-menu-open-link]\"\n );\n\n menuOpenLinks.forEach((link) => {\n link.addEventListener(\"click\", () => {\n openMenu();\n });\n });\n})();\n"],"sourceRoot":""}