{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./source/app.components.js-exposed","webpack:///./source/assets/inline-icons/icons.js","webpack:///./source/assets/inline-icons sync \\.svg$","webpack:///./source/assets/inline-icons/aquaculture.svg","webpack:///./source/assets/inline-icons/arrow-right.svg","webpack:///./source/assets/inline-icons/close.svg","webpack:///./source/assets/inline-icons/language.svg","webpack:///./source/assets/inline-icons/menu.svg","webpack:///./source/assets/inline-icons/pause-squared.svg","webpack:///./source/assets/inline-icons/play-squared.svg","webpack:///./source/assets/inline-icons/print.svg","webpack:///./source/assets/inline-icons/search.svg","webpack:///./source/assets/inline-icons/toggle.svg","webpack:///./source/assets/inline-icons/wildfish.svg","webpack:///./source/components/ldJson/ldJson.jsx","webpack:///./source/components/article-schema/article-schema.jsx","webpack:///./source/components/icon/icon.jsx","webpack:///./source/components/play-button/play-button.jsx","webpack:///./source/components/background-video/background-video.jsx","webpack:///./source/components/models/link-base/link-base.jsx","webpack:///./source/components/link/link.jsx","webpack:///./source/components/breadcrumbs/breadcrumbsSchema.jsx","webpack:///./source/components/breadcrumbs/breadcrumbs.jsx","webpack:///./source/components/circle-icon/circle-icon.jsx","webpack:///./source/components/content-area/content-area.jsx","webpack:///./source/js/image-resizer.js","webpack:///./source/js/dom-image-utils.js","webpack:///./source/components/image/image.jsx","webpack:///./source/components/link-button/link-button.jsx","webpack:///./source/components/cta-image-block/cta-image-block.jsx","webpack:///./source/components/rich-text/rich-text.jsx","webpack:///./source/components/fact-block/fact-block.jsx","webpack:///./source/components/react-component/react-component.jsx","webpack:///./source/components/filtered-list/filtered-list-item.jsx","webpack:///./source/js/message-bus.js","webpack:///./source/components/filtered-list/filtered-list.jsx","webpack:///./source/components/logo/logo.jsx","webpack:///./source/components/footer/footer-column.jsx","webpack:///./source/components/footer/footer.jsx","webpack:///./source/components/poor-text/poor-text.jsx","webpack:///./source/components/footnotes/footnote.jsx","webpack:///./source/js/scroll-to-utils.js","webpack:///./source/components/footnotes/footnotes.jsx","webpack:///./source/components/full-width-banner-block/full-width-banner-block.jsx","webpack:///./source/components/models/menu-link/menu-link.jsx","webpack:///./source/hooks/use-toggle.js","webpack:///./source/hooks/use-dependent-toggle.js","webpack:///./source/components/main-menu/main-menu.jsx","webpack:///./source/components/language-selector/language.jsx","webpack:///./source/hooks/use-escape.js","webpack:///./source/hooks/use-event.js","webpack:///./source/js/breakpoints.js","webpack:///./source/components/language-selector/language-selector.jsx","webpack:///./source/hooks/use-did-update-effect.js","webpack:///./source/components/header/header.jsx","webpack:///./source/components/highlighted-issue/highlighted-issue.jsx","webpack:///./source/components/image-block/image-block.jsx","webpack:///./source/components/image-with-text-block/image-with-text-block.jsx","webpack:///./source/components/link-type-processor/link-type-processor.jsx","webpack:///./source/components/not-found-page/not-found-page.jsx","webpack:///./source/components/page-heading/page-heading.jsx","webpack:///./source/components/page-hero/page-hero.jsx","webpack:///./source/hooks/use-breakpoints.js","webpack:///./source/components/qa-group-block/qa-group-block.jsx","webpack:///./source/components/rich-text-block/rich-text-block.jsx","webpack:///./source/components/skip-to-main/skip-to-main.jsx","webpack:///./source/components/tabs-filter/filter-tab.jsx","webpack:///./source/components/tabs-filter/tabs-filter.jsx","webpack:///./source/components/tabs-panel/tab.jsx","webpack:///./source/components/tabs-panel/tabs-panel.jsx","webpack:///./source/components/topic-group-block/topic-group-block.jsx","webpack:///./source/js/polyfills/class-list.js","webpack:///./source/js/input-detection.js","webpack:///./source/js/input-detection-loader.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","req","require","keys","reduce","icons","filename","id","replace","map","webpackContext","webpackContextResolve","e","Error","code","resolve","React","Aquaculture","props","createElement","defaultProps","default","ArrowRight","Close","Language","Menu","PauseSquared","PlaySquared","Print","Search","Toggle","Wildfish","LdJson","json","type","dangerouslySetInnerHTML","__html","JSON","stringify","propTypes","PropTypes","isRequired","ArticleSchema","headline","imageUrls","datePublished","dateModified","authorName","schemaJson","image","author","undefined","string","arrayOf","process","Icon","className","style","useFill","cn","focusable","oneOf","shape","bool","PlayButton","iconName","text","ariaLabel","onClick","aria-label","func","BackgroundVideo","url","lang","playVideoLabel","pauseVideoLabel","playVideoAriaLabel","pauseVideoAriaLabel","useState","videoPlaying","setVideoPlaying","videoRef","useRef","useEffect","current","play","pause","src","ref","loop","autoPlay","muted","playsInline","prev","LinkBase","openInNewTab","Link","tabindex","ariaCurrent","onFocus","onBlur","href","target","rel","tabIndex","aria-current","assign","number","BreadcrumbsSchema","itemListElement","links","link","index","position","item","exact","Breadcrumbs","isLastLink","breadcrumbs__link_current","aria-hidden","CircleIcon","isActive","ContentArea","blocks","place","block","Block","Components","componentName","console","error","transforms","downFit","downFill","skipForResizeExtensions","queryParameters","width","height","transform","center","checkImageCanBeResized","extension","split","pop","trim","toLowerCase","some","serializeCenter","x","y","buildResizeUrl","centerX","centerY","resizeUrl","replaceQueryParameters","resizeQuery","queryHash","CryptoJs","MD5","hash","calcImageWidth","containerWidth","resolution","Math","ceil","devicePixelRatio","calcImageHeight","containerHeight","Transforms","createHtmlImage","Image","imageResizer","constructor","fill","canBeResized","autoTransform","defaultSrc","ratio","containerOffsetWidth","containerOffsetHeight","container","offsetWidth","offsetHeight","fit","autoCalcWidthOnly","autoCalcHeightOnly","skipByWidth","state","skipByHeight","resolutionByWidth","widthResolution","heightResolution","newWidth","newHeight","newRatio","setState","previousState","newSrc","focusPoint","preloadImage","debounce","handleResize","isRunningOnClient","MutationObserver","onObservedChnage","this","element","offsetParent","checkElementIsHidden","parent","parentElement","isHidden","debouncedHandleResize","self","onload","onSrcPreloaded","addEventListener","observer","observe","getHiddenRoot","attributes","componentDidMount","removeEventListener","disconnect","Fragment","fluid","backgroundImage","backgroundPosition","alt","Component","values","LinkButton","CtaImageBlock","ctaButton","isFullWidth","RichText","FactBlock","textHtml","ReactComponent","FilteredListItem","category","component","topic","PubSub","subscribe","messageData","onTopic","publish","send","categoryFilterUpdated","currentCategoryFilterRequest","mobileMenuOpened","mobileLanguageSelectorOpened","FilteredList","items","categories","currentCategories","setCurrentCategories","messageBus","callback","itemsWithIndexes","filteredItems","filter","includes","aria-atomic","aria-live","Logo","imageClass","RootElement","rootElementProps","FooterColumn","heading","Footer","mainLogo","secondaryLogo","column1","column2","column3","column4","copyrightText","cookieInfoLink","PoorText","Footnote","footnoteKey","footnote_active","getElementPosition","el","isCentered","heightDif","innerHeight","scrollHeight","parentScrollTop","document","documentElement","scrollTop","getBoundingClientRect","top","scrollToBlock","extraOffset","scrollTo","behavior","Footnotes","activeFootnoteKey","setActiveFootnoteKey","editModeRoot","querySelector","footnoteReferences","querySelectorAll","footnotes","footnoteReference","innerText","relatedFootnote","getElementById","relatedFootnoteIndex","Array","indexOf","classList","add","FullWidthBannerBlock","introHtml","textPosition","left","right","MenuLink","useToggle","initiallyActive","setIsActive","toggle","useCallback","activate","deactivate","useDependentToggle","messageTypeToSend","messageTypeToSubscribe","MainMenu","closeMenuLabel","openMenuLabel","menuLabel","displayName","isCurrent","useEscape","eventName","eventHandler","dependencies","useEvent","event","which","minWidth","size","matchMedia","matches","breakpoints","ipadPro","desktop","KEY_NAMES","LanguageSelector","fn","inputs","didMountRef","languages","languageSelectorRef","languageSelectorOpenerRef","focusedIndex","setFocusedIndex","focus","selectorOptions","onKeyDown","preventDefault","prevIndex","aria-expanded","aria-haspopup","aria-controls","onMouseEnter","onMouseLeave","languagesLabel","aria-labelledby","Header","mainMenu","languageSelector","HighlightedIssue","title","ImageBlock","caption","photograph","imageSizeClassName","photographLabel","ImageWithTextBlock","imagePosition","imageVAlignment","bottom","processLink","isExternal","protocol","hostname","location","opensNewTab","setAttribute","externalLinkLabel","opensNewTabLabel","LinkTypeProcessor","forEach","mutations","mutation","addedNodes","node","tagName","childList","subtree","NotFoundPage","errorHeading","homePageButton","role","PageHeading","PageHero","imageMobile","video","isMobile","initiallyDesktop","initiallyTablet","initiallyMobile","initiallyDesktopLargerThanIpad","isDesktop","isTablet","isDesktopLargerThanIpad","brekpointsStarted","onResize","useBreakpoints","imageWidth","setImageWidth","screen","pageHeroImage","QaGroupBlock","RichTextBlock","SkipToMain","FilterTab","icon","TabsFilter","tabs","selectedCategory","defaultCategoryAlwaysEnabled","defaultCategory","activeCategory","setActiveCategory","getSelectedCategories","addDefaultCategory","updateActiveCategory","onHashChange","substring","setTimeout","history","pushState","dispatchEvent","HashChangeEvent","onTabItemClick","Tab","contentId","TabsPanel","activeTabIndex","activeIndex","setActiveIndex","hashChecked","setHashChecked","displayActiveTabContent","allTabsContent","activeTabId","activeTabContent","findIndex","tab","remove","displayTabContentBasedOnHash","activeTab","topicGroupBlocks","ccn","TopicGroupBlock","allBlocks","topicGroupRows","blocksSlice","hasFullWidthBlock","rowItems","rowIndex","itemIndex","ItemBlock","ItemBlocks","HTMLElement","update","classes","join","ret","contains","touchEndHappened","classListPolyfill","keyCodeWhiteList"],"mappings":"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","file":"client.fa5c82e4aa75d8087543.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([200,6]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = global[\"Components\"] = require(\"-!D:\\\\a\\\\1\\\\s\\\\src\\\\Frontend-NSCPortal\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!.\\\\app.components.js\");","const req = require.context('./', true, /\\.svg$/);\r\n\r\nexport default req.keys().reduce((icons, filename) => {\r\n const id = filename.replace('./', '').replace('.svg', '');\r\n return { ...icons, [id]: req(filename) };\r\n}, {});\r\n","var map = {\n\t\"./aquaculture.svg\": 130,\n\t\"./arrow-right.svg\": 131,\n\t\"./close.svg\": 132,\n\t\"./language.svg\": 133,\n\t\"./menu.svg\": 134,\n\t\"./pause-squared.svg\": 135,\n\t\"./play-squared.svg\": 136,\n\t\"./print.svg\": 137,\n\t\"./search.svg\": 138,\n\t\"./toggle.svg\": 139,\n\t\"./wildfish.svg\": 140\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 129;","var React = require('react');\n\nfunction Aquaculture (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M85.861 39.601c.072 5.224.143 33.778 0 50.309-.072 4.508-2.648 6.941-6.798 7.013-3.078.071-54.102.071-57.823 0-4.008-.072-6.87-2.577-6.87-7.371.036-12.202-.093-34.558-.093-34.558l.057-29.562c7.8-3.006 25.405-9.59 25.333-10.663-.071-.93-25.333-10.348-25.333-10.348V1.086a1.101 1.101 0 0 0-1.21-1.08c-1.38 0-1.223 1.08-1.223 1.08l-.057 53.894-.194 34.715c0 6.44 3.579 10.09 9.375 10.162C30.4 100 69.402 100 78.776 100c7.013 0 10.02-3.35 10.02-9.876V39.53c0-2.504-3.007-2.504-2.935.072zM14.334 7.039l20.538 7.808-20.538 8.365V7.04z\",\"fill\":\"currentColor\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M58.038 74.345c-.587-1.03-2.269-.544-4.201.673a30.008 30.008 0 0 0-3.292 2.362s-7.75-5.446-15.35-5.446c-11.157 0-16.746 9.038-16.746 9.038a19.686 19.686 0 0 0 16.868 9.067c9.746 0 15.3-5.138 15.3-5.138a22.763 22.763 0 0 0 2.905 2.003c2.147 1.074 3.142 1.432 3.972.637.83-.794-1.152-4-1.224-6.44 0-2.219 2.355-5.725 1.768-6.756zm-33.27 10.099a14.823 14.823 0 0 1-3.77-3.471 17.067 17.067 0 0 1 3.864-3.52 17.515 17.515 0 0 1 4.086-2.355s3.034 2.44 3.034 5.875a8.666 8.666 0 0 1-2.677 5.933 20.595 20.595 0 0 1-4.537-2.462zm30.93 1.293c-.286.287-1.653-.766-3.013-1.91a10.11 10.11 0 0 1-1.682-1.525s-10.477 7.607-19.565 5.246c-.286-.072 2.648-2.004 2.576-6.584s-3.363-6.512-3.149-6.584c9.733-2.433 20.038 5.868 20.038 5.868s1.503-1.574 2.72-2.719c1.073-.93 2.04-1.646 2.325-1.288.287.358-1.681 1.86-1.753 4.723-.072 3.006 1.86 4.344 1.503 4.773zM61.05 46.691c-7.607 0-15.357 5.475-15.357 5.475a30 30 0 0 0-3.292-2.362c-1.932-1.216-3.578-1.717-4.194-.672-.615 1.045 1.76 4.537 1.76 6.755-.07 2.433-2.046 5.654-1.216 6.44.83.788 1.825.445 3.972-.629a22.182 22.182 0 0 0 2.862-2.004s5.56 5.139 15.308 5.139a19.689 19.689 0 0 0 16.867-9.067s-5.517-9.075-16.71-9.075zM64.8 62.33c-9.088 2.362-19.558-5.245-19.558-5.245-.502.57-1.066 1.08-1.682 1.524-1.36 1.145-2.726 2.197-3.013 1.91-.357-.429 1.568-1.767 1.496-4.773-.071-2.862-2.032-4.444-1.746-4.73.286-.286 1.245.365 2.319 1.295 1.216 1.145 2.72 2.72 2.72 2.72s10.304-8.302 20.037-5.868c.214.071-3.077 2.003-3.15 6.583-.07 4.58 2.863 6.513 2.577 6.584zm6.677-3.115a20.415 20.415 0 0 1-4.53 2.469 8.695 8.695 0 0 1-2.67-5.933c0-3.442 3.027-5.875 3.027-5.875a17.342 17.342 0 0 1 4.087 2.354 16.854 16.854 0 0 1 3.85 3.521 14.922 14.922 0 0 1-3.764 3.464zM66.403 82.613h12.166s1.474 0 1.474 1.217c0 1.216-1.474 1.195-1.474 1.216H66.403s-1.388 0-1.388-1.216c0-1.217 1.388-1.217 1.388-1.217zM80.78 70.64h12.166s1.43 0 1.43 1.217-1.43 1.195-1.43 1.217H80.78s-1.431 0-1.431-1.217 1.43-1.216 1.43-1.216zM1.395 49.07h5.726s1.467 0 1.467 1.217c0 1.216-1.467 1.195-1.467 1.216H1.395S0 51.503 0 50.287c0-1.217 1.395-1.217 1.395-1.217zM6.835 64.477H19s1.474 0 1.474 1.216c0 1.217-1.474 1.188-1.474 1.231H6.835s-1.389 0-1.389-1.217c0-1.216 1.389-1.23 1.389-1.23zM91.514 58.117h5.725s1.432 0 1.432 1.217c0 1.216-1.432 1.195-1.432 1.216h-5.725s-1.431 0-1.431-1.216c0-1.217 1.431-1.217 1.431-1.217zM91.987 90.04h5.725s1.431 0 1.431 1.216-1.431 1.195-1.431 1.216h-5.725s-1.431 0-1.431-1.216c0-1.217 1.43-1.217 1.43-1.217zM1.395 82.613h5.726s1.467 0 1.467 1.217c0 1.216-1.467 1.195-1.467 1.216H1.395S0 85.046 0 83.83c0-1.217 1.395-1.217 1.395-1.217zM101.64 42.894c-3.07.075-6.12-.51-8.945-1.717a21.927 21.927 0 0 0-16.316 0 21.219 21.219 0 0 1-8.946 1.717c-3.071.071-6.122-.52-8.945-1.732a19.972 19.972 0 0 0-8.158-1.574c-2.795-.05-5.57.485-8.144 1.574a21.219 21.219 0 0 1-8.945 1.718c-3.07.075-6.121-.51-8.946-1.718a19.972 19.972 0 0 0-8.158-1.574 19.972 19.972 0 0 0-8.172 1.574c-2.791 1.217-3.722 1.79-6.799 1.718a1.073 1.073 0 0 1 0-2.147c2.791.072 3.435-.5 6.011-1.574a21.219 21.219 0 0 1 8.946-1.718c3.07-.075 6.121.51 8.945 1.718a19.973 19.973 0 0 0 8.158 1.574c2.8.053 5.58-.483 8.159-1.574a21.219 21.219 0 0 1 8.945-1.718c3.07-.075 6.121.51 8.945 1.718a19.973 19.973 0 0 0 8.158 1.574c2.8.053 5.58-.483 8.159-1.574a21.219 21.219 0 0 1 8.945-1.718c3.07-.075 6.121.51 8.945 1.718a19.972 19.972 0 0 0 8.158 1.574 1.072 1.072 0 1 1 0 2.147v.014z\",\"fill\":\"currentColor\",\"key\":1})]);\n}\n\nAquaculture.defaultProps = {\"width\":\"103\",\"height\":\"100\",\"viewBox\":\"0 0 103 100\",\"style\":{\"enableBackground\":\"new 0 0 103 100\"},\"xmlSpace\":\"preserve\"};\n\nmodule.exports = Aquaculture;\n\nAquaculture.default = Aquaculture;\n","var React = require('react');\n\nfunction ArrowRight (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"m12.821 0-2.387 2.563 7.11 7.625H0v3.624h17.544l-7.11 7.625L12.821 24 24 12 12.821 0Z\",\"fill\":\"#001E64\"}));\n}\n\nArrowRight.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"};\n\nmodule.exports = ArrowRight;\n\nArrowRight.default = ArrowRight;\n","var React = require('react');\n\nfunction Close (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fill\":\"#fff\",\"d\":\"M0 14.578 14.578 0 16 1.422 1.422 16z\",\"key\":0}),React.createElement(\"path\",{\"fill\":\"#fff\",\"d\":\"M16 14.578 1.422 0 0 1.422 14.578 16z\",\"key\":1})]);\n}\n\nClose.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"};\n\nmodule.exports = Close;\n\nClose.default = Close;\n","var React = require('react');\n\nfunction Language (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.36 10h-1.846c.096-.64.153-1.308.153-2 0-.455-.028-.899-.07-1.333h1.936A6.655 6.655 0 0 1 14.359 10Zm-3.194 3.865c.448-.711.814-1.569 1.073-2.532h1.526a6.703 6.703 0 0 1-2.599 2.532Zm-8.93-2.532h1.526c.258.963.624 1.821 1.072 2.532a6.707 6.707 0 0 1-2.599-2.532Zm-.768-4.666h1.935c-.042.434-.07.878-.07 1.333 0 .692.057 1.36.153 2H1.641a6.654 6.654 0 0 1-.173-3.333Zm3.366-4.532c-.55.872-.975 1.964-1.23 3.198h-1.71a6.707 6.707 0 0 1 2.94-3.198Zm3.833 3.198V1.495c.974.452 1.914 1.847 2.374 3.838H8.667Zm0 9.172v-3.172h2.196c-.5 1.636-1.334 2.773-2.196 3.172Zm-1.334-3.172v3.172c-.862-.399-1.696-1.536-2.195-3.172h2.195Zm0-9.838v3.838H4.96c.46-1.991 1.4-3.386 2.374-3.838ZM4.667 8c0-.462.026-.906.072-1.333h2.594V10H4.83a12.292 12.292 0 0 1-.162-2Zm6.666 0c0 .709-.058 1.377-.162 2H8.667V6.667h2.595c.045.427.071.871.071 1.333Zm2.774-2.667h-1.712c-.254-1.234-.68-2.326-1.229-3.198a6.711 6.711 0 0 1 2.94 3.198ZM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Z\",\"fill\":\"#fff\"}));\n}\n\nLanguage.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"};\n\nmodule.exports = Language;\n\nLanguage.default = Language;\n","var React = require('react');\n\nfunction Menu (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"fill\":\"#fff\",\"d\":\"M0 14h16v2H0zM0 7h16v2H0zM0 0h16v2H0z\"}));\n}\n\nMenu.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"};\n\nmodule.exports = Menu;\n\nMenu.default = Menu;\n","var React = require('react');\n\nfunction PauseSquared (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 16h16V0H0v16Zm1.333-1.333h13.334V1.333H1.333v13.334Z\",\"fill\":\"currentColor\",\"key\":0}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M5.34 4h1.33v8H5.34zM9.34 4h1.33v8H9.34z\",\"key\":1})]);\n}\n\nPauseSquared.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"};\n\nmodule.exports = PauseSquared;\n\nPauseSquared.default = PauseSquared;\n","var React = require('react');\n\nfunction PlaySquared (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 16h16V0H0v16Zm1.333-1.333h13.334V1.333H1.333v13.334Z\",\"fill\":\"currentColor\",\"key\":0}),React.createElement(\"path\",{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.333 5.693 10.947 8l-4.614 2.307V5.693Zm-.978 6.194a.753.753 0 0 0 .732.034l6.497-3.249A.747.747 0 0 0 13 8a.747.747 0 0 0-.416-.672l-6.498-3.25A.75.75 0 0 0 5 4.752v6.498c0 .262.133.5.355.638Z\",\"fill\":\"currentColor\",\"key\":1})]);\n}\n\nPlaySquared.defaultProps = {\"width\":\"16\",\"height\":\"16\",\"viewBox\":\"0 0 16 16\",\"fill\":\"none\"};\n\nmodule.exports = PlaySquared;\n\nPlaySquared.default = PlaySquared;\n","var React = require('react');\n\nfunction Print (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"none\",\"stroke\":\"#000\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\"},[React.createElement(\"path\",{\"d\":\"M5 8V1h12v7M5 17H3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M17 13H5v8h12Z\",\"key\":1})]));\n}\n\nPrint.defaultProps = {\"width\":\"22\",\"height\":\"22\",\"viewBox\":\"0 0 22 22\"};\n\nmodule.exports = Print;\n\nPrint.default = Print;\n","var React = require('react');\n\nfunction Search (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"2.5\"},[React.createElement(\"path\",{\"d\":\"M1.54 7.36a8.25 8.25 0 1 1 .82 6.25 8.13 8.13 0 0 1-.82-6.25Z\",\"key\":0}),React.createElement(\"path\",{\"strokeLinecap\":\"round\",\"d\":\"m13.73 16.74 4.36 7.35\",\"key\":1})]));\n}\n\nSearch.defaultProps = {\"data-name\":\"Layer 1\",\"width\":\"19.34\",\"height\":\"25.34\",\"viewBox\":\"0 0 19.34 25.34\"};\n\nmodule.exports = Search;\n\nSearch.default = Search;\n","var React = require('react');\n\nfunction Toggle (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M6 7 0 0h12Z\",\"fill\":\"currentColor\"}));\n}\n\nToggle.defaultProps = {\"data-name\":\"Layer 1\",\"width\":\"12\",\"height\":\"7\",\"viewBox\":\"0 0 12 7\"};\n\nmodule.exports = Toggle;\n\nToggle.default = Toggle;\n","var React = require('react');\n\nfunction Wildfish (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M12.227 68.768a1.067 1.067 0 0 1-1.06-.848C10.46 62.407 8.48 52.37 3.604 46.929a.926.926 0 0 1-.212-.848c.08-.285.254-.535.495-.707l26.009-14.418a.961.961 0 0 1 1.06 0l25.938 14.277a.849.849 0 0 1 .495.707c.014.308-.086.61-.283.848-4.735 5.442-6.785 15.336-7.492 20.708a1.075 1.075 0 0 1-.424.707 1.413 1.413 0 0 1-.777.212.97.97 0 0 1-.848-1.202c.707-5.371 2.615-14.842 7.209-20.779L30.39 32.935l-24.383 13.5c4.594 6.007 6.503 15.69 7.21 21.131a1.012 1.012 0 0 1-.213.778c-.178.22-.428.37-.706.424h-.071z\",\"fill\":\"currentColor\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M48.06 42.547a1.089 1.089 0 0 1-1.06-1.06V25.514H13.78v15.973a1.06 1.06 0 1 1-2.12 0V24.525a1.089 1.089 0 0 1 1.06-1.06H48.06c.262.005.513.106.707.282.183.19.284.444.283.707v16.962a1.08 1.08 0 0 1-.283.707.777.777 0 0 1-.707.424z\",\"fill\":\"currentColor\",\"key\":1}),React.createElement(\"path\",{\"d\":\"M48.767 42.897a.997.997 0 0 1-.99-.777 1.046 1.046 0 0 1 .566-1.202L83.043 24.31a.962.962 0 0 1 1.273.494 1.032 1.032 0 0 1-.425 1.343l-34.701 16.68a.899.899 0 0 1-.425.07zM99.582 71.664a21.16 21.16 0 0 1-8.834-1.696c-2.544-1.06-3.887-1.626-6.644-1.555a19.726 19.726 0 0 0-8.057 1.555 20.955 20.955 0 0 1-8.834 1.696 21.16 21.16 0 0 1-8.835-1.696 19.725 19.725 0 0 0-8.057-1.555 19.726 19.726 0 0 0-8.057 1.555 20.955 20.955 0 0 1-8.834 1.696 21.16 21.16 0 0 1-8.835-1.696 19.725 19.725 0 0 0-8.057-1.555 19.725 19.725 0 0 0-8.057 1.555c-2.756 1.201-4.382 1.767-7.42 1.696a1.06 1.06 0 0 1 0-2.12c2.756.07 4.098-.495 6.643-1.555a20.955 20.955 0 0 1 8.834-1.696 21.16 21.16 0 0 1 8.835 1.696 19.725 19.725 0 0 0 8.057 1.555c2.765.052 5.51-.478 8.057-1.555a20.955 20.955 0 0 1 8.834-1.696 21.16 21.16 0 0 1 8.835 1.696 19.725 19.725 0 0 0 8.057 1.555c2.765.052 5.51-.478 8.057-1.555a20.955 20.955 0 0 1 8.834-1.696c3.04-.071 4.594.494 7.421 1.696a19.725 19.725 0 0 0 8.057 1.555 1.087 1.087 0 0 1 1.061 1.06 1.038 1.038 0 0 1-1.06 1.06zM99.653 78.379a21.16 21.16 0 0 1-8.835-1.696c-2.544-1.06-3.887-1.626-6.643-1.555a19.725 19.725 0 0 0-8.057 1.555 20.955 20.955 0 0 1-8.835 1.696 21.16 21.16 0 0 1-8.834-1.696 19.725 19.725 0 0 0-8.057-1.555 19.725 19.725 0 0 0-8.058 1.555 20.955 20.955 0 0 1-8.834 1.696 21.16 21.16 0 0 1-8.835-1.696 19.725 19.725 0 0 0-8.057-1.555 19.725 19.725 0 0 0-8.057 1.555c-2.756 1.201-4.381 1.766-7.42 1.696a1.06 1.06 0 0 1 0-2.12c2.756.07 4.099-.495 6.643-1.555a20.955 20.955 0 0 1 8.834-1.697 21.16 21.16 0 0 1 8.835 1.697 19.725 19.725 0 0 0 8.057 1.554c2.765.053 5.51-.477 8.057-1.554a20.955 20.955 0 0 1 8.835-1.697 21.16 21.16 0 0 1 8.834 1.697 19.725 19.725 0 0 0 8.057 1.554c2.765.053 5.51-.477 8.057-1.554a20.955 20.955 0 0 1 8.835-1.697c3.039-.07 4.594.495 7.42 1.697a19.725 19.725 0 0 0 8.058 1.554 1.087 1.087 0 0 1 1.06 1.06 1.137 1.137 0 0 1-1.06 1.06zM31.592 3.038c-.141-.071-.07-.99-.07-1.98a1.033 1.033 0 1 0-2.05.142c0 6.926 0 17.386.07 22.263l1.98.07c0-2.261.07-4.452.07-4.452.636-.283 19.507-7.704 19.507-7.986 0-.424-14.136-5.937-19.507-8.057zm0 14.275V5.016l15.407 5.866-15.407 6.431zM82.924 43.867c-7.506 0-15.16 5.393-15.16 5.393a29.632 29.632 0 0 0-3.251-2.333c-1.909-1.201-3.534-1.696-4.15-.664-.614 1.032 1.747 4.481 1.747 6.672-.071 2.403-2.029 5.583-1.209 6.36.82.778 1.81.432 3.93-.628a22.614 22.614 0 0 0 2.827-1.98s5.491 5.075 15.117 5.075a19.441 19.441 0 0 0 16.694-8.968s-5.52-8.927-16.545-8.927zm3.71 15.428c-8.976 2.332-19.316-5.18-19.316-5.18a9.987 9.987 0 0 1-1.66 1.505c-1.344 1.13-2.694 2.17-2.976 1.886-.354-.423 1.548-1.745 1.477-4.714-.07-2.827-2.007-4.367-1.725-4.65.283-.283 1.23.353 2.29 1.272 1.202 1.13 2.686 2.686 2.686 2.686S77.587 43.9 87.2 46.304c.211.071-3.04 1.965-3.11 6.488-.071 4.524 2.827 6.432 2.544 6.503zm6.594-3.053a20.457 20.457 0 0 1-4.474 2.431 8.566 8.566 0 0 1-2.636-5.859c0-3.392 2.99-5.802 2.99-5.802a17.128 17.128 0 0 1 4.035 2.325 16.855 16.855 0 0 1 3.803 3.456 14.666 14.666 0 0 1-3.718 3.449zM55.94 84.492c-.58-1.018-2.24-.537-4.149.664a29.639 29.639 0 0 0-3.251 2.333s-7.654-5.407-15.16-5.407c-11.018.014-16.538 8.962-16.538 8.962A19.443 19.443 0 0 0 33.5 99.998c9.626 0 15.11-5.074 15.11-5.074a22.495 22.495 0 0 0 2.87 1.979c2.12 1.06 3.11 1.413 3.923.622.812-.792-1.138-3.944-1.209-6.361 0-2.191 2.325-5.654 1.746-6.672zm-32.858 10a14.785 14.785 0 0 1-3.725-3.449 16.805 16.805 0 0 1 3.81-3.456 17.199 17.199 0 0 1 4.028-2.325s2.997 2.41 2.997 5.802a8.58 8.58 0 0 1-2.643 5.86 20.335 20.335 0 0 1-4.467-2.432zm30.546 1.26c-.282.282-1.632-.757-2.975-1.888a9.986 9.986 0 0 1-1.661-1.505s-10.347 7.513-19.323 5.18c-.283-.07 2.615-1.979 2.544-6.502-.056-4.523-3.321-6.438-3.11-6.502 9.613-2.403 19.79 5.795 19.79 5.795s1.484-1.555 2.686-2.685c1.06-.92 2.014-1.633 2.297-1.28.282.354-1.661 1.845-1.732 4.672-.07 2.968 1.838 4.29 1.484 4.714z\",\"fill\":\"currentColor\",\"key\":2}),React.createElement(\"path\",{\"d\":\"M100.324 83.854a1.087 1.087 0 0 0-.742-.318 19.727 19.727 0 0 1-8.057-1.555c-2.827-1.202-4.382-1.767-7.42-1.696a20.955 20.955 0 0 0-8.835 1.696 19.728 19.728 0 0 1-8.057 1.555 19.727 19.727 0 0 1-8.057-1.555 21.159 21.159 0 0 0-8.835-1.696 20.955 20.955 0 0 0-8.834 1.696 19.728 19.728 0 0 1-8.057 1.555 19.727 19.727 0 0 1-8.057-1.555 21.158 21.158 0 0 0-8.835-1.696 20.955 20.955 0 0 0-8.834 1.696c-2.545 1.06-3.887 1.626-6.644 1.555a1.06 1.06 0 0 0 0 2.12c3.04.07 4.665-.495 7.421-1.696a19.724 19.724 0 0 1 8.057-1.555c2.765-.052 5.51.478 8.057 1.555a21.16 21.16 0 0 0 5.415 1.502c-.56-.606-.987-.903-.906-.927 3.339-.835 6.745-.39 9.77.547a20.943 20.943 0 0 0 3.39-1.122 19.725 19.725 0 0 1 8.057-1.555c2.765-.052 5.51.478 8.057 1.555a21.16 21.16 0 0 0 8.835 1.696c3.033.08 6.047-.498 8.834-1.696a19.725 19.725 0 0 1 8.057-1.555c2.757-.07 4.1.495 6.644 1.555a21.159 21.159 0 0 0 8.834 1.696 1.003 1.003 0 0 0 1.061-1.06 1.094 1.094 0 0 0-.319-.742zM22.784 87.861a21.154 21.154 0 0 0-6.246-.791 20.955 20.955 0 0 0-8.834 1.696c-2.545 1.06-3.887 1.626-6.644 1.555a1.06 1.06 0 0 0 0 2.12c3.04.071 4.665-.494 7.421-1.696a19.725 19.725 0 0 1 8.057-1.555c1.41-.026 2.813.102 4.188.373.64-.62 1.327-1.19 2.058-1.702zM100.324 90.64a1.088 1.088 0 0 0-.742-.319 19.724 19.724 0 0 1-8.057-1.555c-2.827-1.201-4.382-1.767-7.42-1.696a20.955 20.955 0 0 0-8.835 1.696 19.725 19.725 0 0 1-8.057 1.555 19.724 19.724 0 0 1-8.057-1.555 21.155 21.155 0 0 0-5.673-1.532c-.318.483-.74 1.16-1.027 2.035 2.035.183 4.033.677 5.922 1.476a21.16 21.16 0 0 0 8.835 1.696c3.033.081 6.047-.498 8.834-1.696a19.726 19.726 0 0 1 8.057-1.555c2.757-.07 4.1.495 6.644 1.555a21.16 21.16 0 0 0 8.834 1.696 1.005 1.005 0 0 0 1.061-1.06 1.093 1.093 0 0 0-.319-.741z\",\"fill\":\"currentColor\",\"key\":3}),React.createElement(\"g\",{\"fill\":\"currentColor\",\"key\":4},React.createElement(\"path\",{\"d\":\"M79.096 46.399c.682-.16 1.38-.286 2.085-.377a47.226 47.226 0 0 0-8.526-15.631 1.055 1.055 0 0 0-1.626 1.343 45.476 45.476 0 0 1 8.067 14.665zM80.944 59.622c.157 3.398.268 6.656.334 7.803a1.074 1.074 0 0 0 1.06.99l.07.07a.984.984 0 0 0 .707-.353 1.058 1.058 0 0 0 .283-.778c-.064-1.142-.184-4.28-.349-7.614a17.993 17.993 0 0 1-2.105-.118z\"})),React.createElement(\"g\",{\"fill\":\"currentColor\",\"key\":5},React.createElement(\"path\",{\"d\":\"M89.108 47.012a17.12 17.12 0 0 1 2.716 1.41c-5.507-13.763-17.874-19.25-18.038-19.305a.976.976 0 0 0-.778-.071c-.253.11-.455.312-.565.565a1.032 1.032 0 0 0 .565 1.343c.104.104 10.485 4.715 16.002 16.141l.098-.083zM93.228 56.242a20.45 20.45 0 0 1-1.224.808c.244 1.734.381 3.56.37 5.496a47.272 47.272 0 0 1-.495 6.361 1.045 1.045 0 0 0 .848 1.202h.141a1.011 1.011 0 0 0 1.06-.848c.306-2.202.47-4.421.495-6.644a39.685 39.685 0 0 0-.545-6.836c-.215.156-.426.316-.65.461z\"})),React.createElement(\"g\",{\"fill\":\"currentColor\",\"key\":6},React.createElement(\"path\",{\"d\":\"M72.208 56.941c-.088 5.231-.232 11.392-.401 12.745a.934.934 0 0 0 .848 1.13h.07a1.025 1.025 0 0 0 1.06-.777c.202-1.373.335-7.105.412-12.217a35.186 35.186 0 0 1-1.99-.88zM72.297 48.997a33.575 33.575 0 0 1 1.981-.958 48.912 48.912 0 0 0-3.107-16.871.962.962 0 0 0-1.273-.495 1.06 1.06 0 0 0-.565 1.272 49.023 49.023 0 0 1 2.964 17.052z\"})),React.createElement(\"g\",{\"fill\":\"currentColor\",\"key\":7},React.createElement(\"path\",{\"d\":\"M66.404 51.066a72.02 72.02 0 0 0 3.212-18.698 1.01 1.01 0 0 0-.283-.706 1.054 1.054 0 0 0-1.767.777 69.963 69.963 0 0 1-2.77 17.043 68.116 68.116 0 0 1 1.608 1.584zM62.682 57.506c-.354-.423 1.548-1.745 1.477-4.714a6.167 6.167 0 0 0-.1-.947c-.082.245-.155.493-.238.737a52.015 52.015 0 0 1-7.916 15.054.969.969 0 0 0-.142 1.06.947.947 0 0 0 .92.565 1.195 1.195 0 0 0 .847-.494 54.132 54.132 0 0 0 6.912-12.164c-.858.659-1.565 1.099-1.76.903z\"}))]);\n}\n\nWildfish.defaultProps = {\"width\":\"101\",\"height\":\"100\",\"viewBox\":\"0 0 101 100\",\"style\":{\"enableBackground\":\"new 0 0 101 100\"},\"xmlSpace\":\"preserve\"};\n\nmodule.exports = Wildfish;\n\nWildfish.default = Wildfish;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst LdJson = ({ json }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nLdJson.propTypes = {\r\n json: PropTypes.object.isRequired,\r\n};\r\n\r\nLdJson.viewModelMeta = 'ignore';\r\n\r\nexport default LdJson;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Ldjson from 'components/ldJson';\r\n\r\nconst ArticleSchema = ({\r\n headline,\r\n imageUrls,\r\n datePublished,\r\n dateModified,\r\n authorName,\r\n}) => {\r\n const schemaJson = {\r\n '@context': 'https://schema.org',\r\n '@type': 'Article',\r\n headline: headline,\r\n image: imageUrls,\r\n datePublished: datePublished,\r\n dateModified: dateModified,\r\n author: authorName\r\n ? [\r\n {\r\n '@type': 'Organization',\r\n name: authorName,\r\n },\r\n ]\r\n : undefined,\r\n };\r\n\r\n return ;\r\n};\r\n\r\nArticleSchema.propTypes = {\r\n headline: PropTypes.string.isRequired,\r\n imageUrls: PropTypes.arrayOf(PropTypes.string),\r\n datePublished: PropTypes.string.isRequired,\r\n dateModified: PropTypes.string.isRequired,\r\n authorName: PropTypes.string,\r\n};\r\n\r\nexport default ArticleSchema;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\n// NOTE: When running tests, importing SVGs directly will make the application crash, so all icons are exported as noops instead.\r\nconst icons = require(process.env.NODE_ENV === 'test'\r\n ? '../../assets/inline-icons/icons-noop.js'\r\n : '../../assets/inline-icons/icons.js').default;\r\n\r\nconst Icon = ({ className, name, style, useFill }) =>\r\n icons[name]\r\n ? React.createElement(icons[name], {\r\n className: cn('icon', className, { '-use-fill-color': useFill }),\r\n focusable: 'false',\r\n style,\r\n })\r\n : null;\r\n\r\nIcon.propTypes = {\r\n className: PropTypes.string,\r\n name: PropTypes.oneOf(Object.keys(icons)).isRequired,\r\n style: PropTypes.shape({}),\r\n useFill: PropTypes.bool,\r\n};\r\n\r\nIcon.viewModelMeta = 'ignore';\r\n\r\nexport default Icon;\r\n","import React from 'react';\r\nimport Icon from 'components/icon';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst PlayButton = ({ iconName, className, text, ariaLabel, onClick }) => {\r\n return (\r\n \r\n {iconName && }\r\n {text && {text}}\r\n \r\n );\r\n};\r\n\r\nPlayButton.propTypes = {\r\n iconName: PropTypes.string,\r\n className: PropTypes.string,\r\n ariaLabel: PropTypes.string,\r\n text: PropTypes.string,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nPlayButton.viewModelMeta = 'ignore';\r\n\r\nexport default PlayButton;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport PlayButton from 'components/play-button';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst BackgroundVideo = ({\r\n url,\r\n lang = {\r\n playVideoLabel: 'Play',\r\n pauseVideoLabel: 'Pause',\r\n playVideoAriaLabel: 'Play a video',\r\n pauseVideoAriaLabel: 'Pause a video',\r\n },\r\n}) => {\r\n const [videoPlaying, setVideoPlaying] = React.useState(true);\r\n const videoRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (videoRef && videoRef.current) {\r\n if (videoPlaying) {\r\n videoRef.current.play();\r\n } else {\r\n videoRef.current.pause();\r\n }\r\n }\r\n }, [videoPlaying, videoRef]);\r\n\r\n const toggleVideoState = () => {\r\n setVideoPlaying(prev => !prev);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {lang && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nBackgroundVideo.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n lang: PropTypes.shape({\r\n playVideoLabel: PropTypes.string.isRequired,\r\n pauseVideoLabel: PropTypes.string.isRequired,\r\n playVideoAriaLabel: PropTypes.string.isRequired,\r\n pauseVideoAriaLabel: PropTypes.string.isRequired,\r\n }),\r\n};\r\n\r\nexport default BackgroundVideo;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst LinkBase = {};\r\n\r\nLinkBase.propTypes = {\r\n url: PropTypes.string,\r\n text: PropTypes.string,\r\n openInNewTab: PropTypes.bool,\r\n};\r\n\r\nexport default LinkBase;\r\n","/* eslint-disable react/jsx-no-target-blank */\r\n/* eslint-disable view-models/no-unused-meta */\r\n/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport LinkBase from 'components/models/link-base';\r\nimport cn from 'classnames';\r\n\r\nconst Link = ({\r\n className,\r\n openInNewTab = false,\r\n url,\r\n text,\r\n tabindex,\r\n ariaCurrent,\r\n onFocus = () => {},\r\n onBlur = () => {},\r\n}) => (\r\n \r\n {text}\r\n \r\n);\r\n\r\nLink.viewModelMeta = {\r\n className: 'ignore',\r\n tabindex: 'ignore',\r\n onFocus: 'ignore',\r\n onBlur: 'ignore',\r\n ariaCurrent: 'ignore',\r\n};\r\n\r\nLink.propTypes = Object.assign({}, LinkBase.propTypes, {\r\n className: PropTypes.string,\r\n tabindex: PropTypes.number,\r\n onFocus: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n ariaCurrent: PropTypes.string,\r\n});\r\n\r\nexport default Link;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\nimport Ldjson from 'components/ldJson';\r\n\r\nconst BreadcrumbsSchema = ({ links }) => {\r\n const schemaJson = {\r\n '@context': 'https://schema.org',\r\n '@type': 'BreadcrumbList',\r\n itemListElement: links.map((link, index) => ({\r\n '@type': 'ListItem',\r\n position: index + 1,\r\n name: link.text,\r\n item: link.url,\r\n })),\r\n };\r\n\r\n return ;\r\n};\r\n\r\nBreadcrumbsSchema.propTypes = {\r\n links: PropTypes.arrayOf(PropTypes.exact(Link.propTypes)),\r\n};\r\n\r\nBreadcrumbsSchema.viewModelMeta = 'ignore';\r\n\r\nexport default BreadcrumbsSchema;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\nimport cn from 'classnames';\r\nimport BreadcrumbsSchema from './breadcrumbsSchema';\r\n\r\nconst Breadcrumbs = ({\r\n links,\r\n className,\r\n lang = { ariaLabel: 'Breadcrumb' },\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBreadcrumbs.propTypes = {\r\n lang: PropTypes.shape({\r\n ariaLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n links: PropTypes.arrayOf(PropTypes.exact(Link.propTypes)),\r\n className: PropTypes.string,\r\n};\r\n\r\nBreadcrumbs.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default Breadcrumbs;\r\n","import React from 'react';\r\nimport Icon from 'components/icon';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst CircleIcon = ({ name, isActive, className }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCircleIcon.propTypes = {\r\n name: PropTypes.string,\r\n isActive: PropTypes.bool,\r\n className: PropTypes.string,\r\n};\r\n\r\nCircleIcon.viewModelMeta = 'ignore';\r\n\r\nexport default CircleIcon;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport * as Components from '../../app.components';\r\n\r\nconst ContentArea = ({ blocks, className, place }) => {\r\n return blocks ? (\r\n \r\n {blocks.map((block, index) => {\r\n const Block = Components[block.componentName];\r\n if (!Block) {\r\n // eslint-disable-next-line no-console\r\n console.error(`Components.${block.componentName} is not defined`);\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n );\r\n })}\r\n \r\n ) : null;\r\n};\r\n\r\nContentArea.propTypes = {\r\n blocks: PropTypes.arrayOf(PropTypes.shape({})),\r\n className: PropTypes.string,\r\n place: PropTypes.string,\r\n};\r\n\r\nContentArea.viewModelMeta = 'ignore';\r\n\r\nexport default ContentArea;\r\n","import replaceQueryParameters from '@creuna/utils/replace-query-parameters';\r\nimport CryptoJs from 'crypto-js';\r\n\r\nconst resizeQueryHashSalt = '{DB2BF126-5117-49B4-AB02-949E94E711BD}';\r\n\r\nconst transforms = {\r\n downFit: 'downFit',\r\n downFill: 'downFill',\r\n};\r\n\r\nconst skipForResizeExtensions = ['svg'];\r\n\r\nconst queryParameters = {\r\n width: undefined,\r\n height: undefined,\r\n transform: undefined,\r\n center: undefined,\r\n};\r\n\r\nfunction checkImageCanBeResized(url) {\r\n if (!url) return false;\r\n var extension = url.split(/#|\\?/)[0].split('.').pop().trim();\r\n extension = extension.toLowerCase();\r\n if (skipForResizeExtensions.some(item => item === extension)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nfunction buildResizeUrl(url, width, height, transform, centerX, centerY) {\r\n if (!checkImageCanBeResized(url)) {\r\n return url;\r\n }\r\n\r\n var resizeUrl = replaceQueryParameters(\r\n url,\r\n Object.assign({}, queryParameters, {\r\n width: width > 0 ? width : undefined,\r\n height: height > 0 ? height : undefined,\r\n transform: transform,\r\n center:\r\n transform !== transforms.downFit\r\n ? serializeCenter(centerX, centerY)\r\n : undefined,\r\n })\r\n );\r\n\r\n const resizeQuery = resizeUrl.split(/#|\\?/)[1];\r\n if (resizeQuery) {\r\n var queryHash = CryptoJs.MD5(\r\n resizeQuery.replace('%2C', '%2c') + resizeQueryHashSalt\r\n );\r\n resizeUrl = replaceQueryParameters(resizeUrl, { hash: queryHash });\r\n }\r\n\r\n return resizeUrl;\r\n}\r\n\r\nfunction calcImageWidth(containerWidth, resolution) {\r\n resolution = resolution > 0 ? resolution : 1;\r\n return (\r\n Math.ceil((containerWidth * (window.devicePixelRatio || 1)) / resolution) *\r\n resolution\r\n );\r\n}\r\n\r\nfunction calcImageHeight(containerHeight, resolution) {\r\n resolution = resolution > 0 ? resolution : 1;\r\n return (\r\n Math.ceil((containerHeight * (window.devicePixelRatio || 1)) / resolution) *\r\n resolution\r\n );\r\n}\r\n\r\nfunction serializeCenter(x, y) {\r\n if (x > 0 || y > 0) {\r\n return `${x / 100},${y / 100}`;\r\n }\r\n return undefined;\r\n}\r\n\r\nexport default {\r\n buildResizeUrl,\r\n checkImageCanBeResized,\r\n calcImageWidth,\r\n calcImageHeight,\r\n Transforms: transforms,\r\n};\r\n","export function createHtmlImage() {\r\n var image = typeof Image !== 'undefined' ? new Image() : {};\r\n return image;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport debounce from 'lodash/debounce';\r\nimport imageResizer from 'js/image-resizer';\r\nimport cn from 'classnames';\r\nimport isRunningOnClient from '@creuna/utils/is-running-on-client';\r\nimport { createHtmlImage } from 'js/dom-image-utils';\r\n\r\nconst DefaultWidth = 0;\r\nconst DefaultHeight = 0;\r\n\r\n/**\r\n * Image\r\n *\r\n * Key notes:\r\n * - automatically responsive by default (size is automatically calculated from container size)\r\n * - default transform is 'fill'\r\n * - width or height can be fixed (useful for fluid images), in this case default transform is 'fit'\r\n * - when both width and height are defined it becomes unresponsive.\r\n * - can be rendered as fluid or ordinary image\r\n * - resolution it is kind of steps for automatic size calculation, for example if resolution is 100, horizontal image width could be 100,200,300...1200... and height is calculated according to aspect ratio and vise versa for vertical image\r\n * - default resolutions for images with size > 100 is 100 for < 100 is 10\r\n * - device pixel ratio is taken into account for calculating image size\r\n *\r\n * Transforms:\r\n * 'fill' - image is cropped according to container proportions to fill it completely.\r\n * 'fit' - image is resized with saving original proportions to fit container by width or height.\r\n */\r\nclass Image extends React.Component {\r\n static transforms = {\r\n fill: 'fill',\r\n fit: 'fit',\r\n };\r\n\r\n static propTypes = {\r\n className: PropTypes.string,\r\n src: PropTypes.string.isRequired,\r\n alt: PropTypes.string,\r\n transform: PropTypes.oneOf(Object.values(Image.transforms)),\r\n fluid: PropTypes.bool,\r\n focusPoint: PropTypes.shape({\r\n x: PropTypes.number.isRequired,\r\n y: PropTypes.number.isRequired,\r\n }),\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n resolution: PropTypes.number,\r\n };\r\n\r\n static viewModelMeta = {\r\n className: 'ignore',\r\n transform: 'ignore',\r\n fluid: 'ignore',\r\n width: 'ignore',\r\n height: 'ignore',\r\n resolution: 'ignore',\r\n };\r\n\r\n canBeResized = imageResizer.checkImageCanBeResized(this.props.src);\r\n autoTransform = this.constructor.transforms.fill;\r\n autoCalcWidthOnly = false;\r\n autoCalcHeightOnly = false;\r\n\r\n defaultSrc = !this.canBeResized\r\n ? this.props.src\r\n : this.props.width > 0 && this.props.height > 0\r\n ? imageResizer.buildResizeUrl(\r\n this.props.src,\r\n this.props.width,\r\n this.props.height,\r\n this.props.transform ||\r\n this.autoTransform === this.constructor.transforms.fill\r\n ? imageResizer.Transforms.downFill\r\n : imageResizer.Transforms.downFit\r\n )\r\n : DefaultWidth > 0 && DefaultHeight > 0\r\n ? imageResizer.buildResizeUrl(\r\n this.props.src,\r\n DefaultWidth,\r\n DefaultHeight,\r\n this.props.transform ||\r\n this.autoTransform === this.constructor.transforms.fill\r\n ? imageResizer.Transforms.downFill\r\n : imageResizer.Transforms.downFit\r\n )\r\n : undefined;\r\n\r\n state = {\r\n src: this.defaultSrc,\r\n width: 0,\r\n height: 0,\r\n ratio: 0,\r\n containerOffsetWidth: 0,\r\n containerOffsetHeight: 0,\r\n };\r\n\r\n preloadImage = createHtmlImage();\r\n\r\n handleResize = () => {\r\n if (\r\n !this.container ||\r\n (this.container.offsetWidth === 0 && this.container.offsetHeight === 0)\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.container.offsetWidth === 0 || this.container.offsetHeight === 0) {\r\n this.autoTransform = Image.transforms.fit;\r\n this.autoCalcWidthOnly = this.container.offsetWidth > 0;\r\n this.autoCalcHeightOnly = this.container.offsetHeight > 0;\r\n }\r\n\r\n const skipByWidth =\r\n this.container.offsetWidth === this.state.containerOffsetWidth ||\r\n (this.props.width > 0 && this.state.width === this.props.width);\r\n const skipByHeight =\r\n this.container.offsetHeight === this.state.containerOffsetHeight ||\r\n (this.props.height > 0 && this.state.height === this.props.height);\r\n\r\n if (skipByWidth && skipByHeight) {\r\n return;\r\n }\r\n\r\n const resolutionByWidth =\r\n !(this.props.width > 0) &&\r\n this.container.offsetWidth > this.container.offsetHeight;\r\n\r\n let resolution = this.props.resolution;\r\n if (!(resolution > 0)) {\r\n var resolutionSize = resolutionByWidth\r\n ? this.container.offsetWidth\r\n : this.container.offsetHeight;\r\n\r\n resolution = resolutionSize > 100 ? 100 : 10;\r\n }\r\n\r\n const widthResolution = resolutionByWidth ? resolution : 1;\r\n const heightResolution = resolutionByWidth ? 1 : resolution;\r\n\r\n let newWidth =\r\n this.props.width > 0\r\n ? this.props.width\r\n : this.autoCalcHeightOnly\r\n ? 0\r\n : imageResizer.calcImageWidth(\r\n this.container.offsetWidth,\r\n widthResolution\r\n );\r\n\r\n let newHeight =\r\n this.props.height > 0\r\n ? this.props.height\r\n : this.autoCalcWidthOnly\r\n ? 0\r\n : imageResizer.calcImageHeight(\r\n this.container.offsetHeight,\r\n heightResolution\r\n );\r\n\r\n if (resolutionByWidth) {\r\n if (!this.autoCalcWidthOnly && !this.props.height > 0) {\r\n newHeight = Math.ceil(\r\n newWidth / (this.container.offsetWidth / this.container.offsetHeight)\r\n );\r\n }\r\n } else {\r\n if (!this.autoCalcHeightOnly && !this.props.width > 0) {\r\n newWidth = Math.ceil(\r\n newHeight / (this.container.offsetHeight / this.container.offsetWidth)\r\n );\r\n }\r\n }\r\n\r\n const newRatio =\r\n this.container.offsetHeight > 0\r\n ? Math.ceil(this.container.offsetWidth / this.container.offsetHeight)\r\n : 1;\r\n\r\n this.setState(previousState => {\r\n if (\r\n previousState.width >= newWidth &&\r\n previousState.height >= newHeight &&\r\n previousState.ratio === newRatio\r\n ) {\r\n return {\r\n containerOffsetWidth: this.container.offsetWidth,\r\n containerOffsetHeight: this.container.offsetHeight,\r\n };\r\n }\r\n\r\n const newSrc = imageResizer.buildResizeUrl(\r\n this.props.src,\r\n newWidth,\r\n newHeight,\r\n this.props.transform || this.autoTransform === Image.transforms.fill\r\n ? imageResizer.Transforms.downFill\r\n : imageResizer.Transforms.downFit,\r\n this.props.focusPoint ? this.props.focusPoint.x : null,\r\n this.props.focusPoint ? this.props.focusPoint.y : null\r\n );\r\n\r\n if (newSrc !== this.state.src) {\r\n this.preloadImage.src = newSrc;\r\n }\r\n\r\n return {\r\n width: newWidth,\r\n height: newHeight,\r\n ratio: newRatio,\r\n containerOffsetWidth: this.container.offsetWidth,\r\n containerOffsetHeight: this.container.offsetHeight,\r\n };\r\n });\r\n };\r\n\r\n debouncedHandleResize = debounce(this.handleResize, 300);\r\n\r\n onSrcPreloaded() {\r\n this.setState({ src: this.preloadImage.src });\r\n }\r\n\r\n checkElementIsHidden(element) {\r\n return !element.offsetParent;\r\n }\r\n\r\n isHidden() {\r\n return this.checkElementIsHidden(this.container);\r\n }\r\n\r\n getHiddenRoot() {\r\n if (!this.checkElementIsHidden(this.container)) {\r\n return null;\r\n }\r\n\r\n var parent = this.container.parentElement;\r\n while (parent && this.checkElementIsHidden(parent.parentElement)) {\r\n parent = parent.parentElement;\r\n }\r\n\r\n return parent;\r\n }\r\n\r\n onObservedChnage() {\r\n if (!this.isHidden()) {\r\n this.debouncedHandleResize();\r\n }\r\n }\r\n\r\n observer =\r\n this.canBeResized && isRunningOnClient\r\n ? new MutationObserver(() => this.onObservedChnage.call(this))\r\n : null;\r\n\r\n componentDidMount() {\r\n const self = this;\r\n this.preloadImage.onload = () => {\r\n self.onSrcPreloaded();\r\n };\r\n if (this.canBeResized) {\r\n this.debouncedHandleResize();\r\n window.addEventListener('resize', this.debouncedHandleResize);\r\n }\r\n\r\n if (this.observer && this.isHidden()) {\r\n this.observer.observe(this.getHiddenRoot(), {\r\n attributes: true,\r\n });\r\n }\r\n this.setState({ componentDidMount: true });\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.canBeResized) {\r\n window.removeEventListener('resize', this.debouncedHandleResize);\r\n }\r\n if (this.observer) {\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.canBeResized) this.debouncedHandleResize();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {!this.props.fluid ? (\r\n (this.container = c)}\r\n >\r\n {this.state.src && (\r\n \r\n )}\r\n \r\n ) : (\r\n (this.container = c)}\r\n >\r\n {this.state.src && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Image;\r\n","/* eslint-disable view-models/no-unused-meta */\r\n/* eslint-disable react/jsx-no-target-blank */\r\n/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport LinkBase from 'components/models/link-base';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst LinkButton = ({\r\n className,\r\n openInNewTab = false,\r\n url,\r\n text,\r\n tabindex,\r\n}) => {\r\n return url ? (\r\n \r\n {text}\r\n \r\n ) : (\r\n {text}\r\n );\r\n};\r\n\r\nLinkButton.viewModelMeta = {\r\n className: 'ignore',\r\n tabindex: 'ignore',\r\n};\r\n\r\nLinkButton.propTypes = Object.assign({}, LinkBase.propTypes, {\r\n className: PropTypes.string,\r\n tabindex: PropTypes.number,\r\n});\r\n\r\nexport default LinkButton;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image/image';\r\nimport LinkButton from 'components/link-button/link-button';\r\nimport cn from 'classnames';\r\n\r\nconst CtaImageBlock = ({ ctaButton, backgroundImage, isFullWidth = false }) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nCtaImageBlock.propTypes = {\r\n ctaButton: PropTypes.exact(LinkButton.propTypes).isRequired,\r\n backgroundImage: PropTypes.exact(Image.propTypes).isRequired,\r\n isFullWidth: PropTypes.bool, //TODO: set isFullWidth in parent block (topic group)\r\n};\r\n\r\nCtaImageBlock.viewModelMeta = {\r\n isFullWidth: 'ignore',\r\n};\r\n\r\nexport default CtaImageBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\nconst RichText = ({ text, className }) => {\r\n return !text ? null : (\r\n \r\n );\r\n};\r\n\r\nRichText.propTypes = {\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nRichText.viewModelMeta = 'ignore';\r\n\r\nexport default RichText;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst FactBlock = ({ textHtml }) => {\r\n return (\r\n textHtml && (\r\n
\r\n \r\n
\r\n )\r\n );\r\n};\r\n\r\nFactBlock.propTypes = {\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nexport default FactBlock;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst ReactComponent = {};\r\n\r\n// Empty propTypes needed in order for ReactComponent.cs to be generated.\r\nReactComponent.propTypes = {\r\n componentName: PropTypes.string.isRequired,\r\n};\r\n\r\nReactComponent.viewModelMeta = 'ignore'; // Not generated automatically, defained on BE instead.\r\n\r\n// 'ReactComponent' is used as the base class in all generated .cs-files (configurerd in CSharpWebpackPlugin options in webpack.config.js)\r\nexport default ReactComponent;\r\n","import PropTypes from 'prop-types';\r\nimport ReactComponent from 'components/react-component';\r\n\r\nconst FilteredListItem = {};\r\n\r\nFilteredListItem.propTypes = {\r\n category: PropTypes.string.isRequired,\r\n component: PropTypes.shape(ReactComponent.propTypes).isRequired,\r\n};\r\n\r\nexport default FilteredListItem;\r\n","import PubSub from 'pubsub-js';\r\n\r\nconst messageTypes = {\r\n categoryFilterUpdated: 'category-filter-updated',\r\n currentCategoryFilterRequest: 'current-category-filter-request',\r\n mobileMenuOpened: 'mobile-menu-opened',\r\n mobileLanguageSelectorOpened: 'mobile-language-selector-opened',\r\n};\r\n\r\nfunction onTopic(topic, func) {\r\n if (typeof func !== 'function') {\r\n return;\r\n }\r\n return PubSub.subscribe(topic, (topic, messageData) => {\r\n func(messageData);\r\n });\r\n}\r\n\r\nfunction send(topic, messageData) {\r\n PubSub.publish(topic, messageData);\r\n}\r\n\r\nconst onMessage = (topic, func) => onTopic(topic, func);\r\nconst sendMessage = (topic, messageData) => send(topic, messageData);\r\n\r\nexport default {\r\n onMessage,\r\n sendMessage,\r\n messageTypes,\r\n};\r\n","import React, { useState, useEffect, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as Components from '../../app.components';\r\nimport FilteredListItem from './filtered-list-item';\r\nimport messageBus from 'js/message-bus';\r\n\r\nconst FilteredList = ({ items, categories = [] }) => {\r\n const [currentCategories, setCurrentCategories] = useState(categories);\r\n\r\n useEffect(() => {\r\n messageBus.onMessage(messageBus.messageTypes.categoryFilterUpdated, m =>\r\n setCurrentCategories(m.categories)\r\n );\r\n messageBus.sendMessage(\r\n messageBus.messageTypes.currentCategoryFilterRequest,\r\n { callback: e => setCurrentCategories(e.categories) }\r\n );\r\n }, []);\r\n\r\n const itemsWithIndexes = items.map((item, index) => ({ ...item, index }));\r\n\r\n const filteredItems =\r\n currentCategories && currentCategories.length > 0\r\n ? itemsWithIndexes.filter(item =>\r\n currentCategories.includes(item.category)\r\n )\r\n : itemsWithIndexes;\r\n\r\n return filteredItems && filteredItems.length > 0 ? (\r\n
\r\n {filteredItems.map(item => {\r\n const Block = Components[item.component.componentName];\r\n if (!Block) {\r\n // eslint-disable-next-line no-console\r\n console.error(\r\n `Components.${item.component.componentName} is not defined`\r\n );\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n ) : null;\r\n};\r\n\r\nFilteredList.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.exact(FilteredListItem.propTypes))\r\n .isRequired,\r\n categories: PropTypes.arrayOf(PropTypes.string),\r\n};\r\n\r\nexport default FilteredList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport Image from 'components/image';\r\n\r\nconst Logo = ({ className, url, image, imageClass }) => {\r\n const RootElement = url ? 'a' : 'div';\r\n\r\n const rootElementProps = {\r\n ...(url && {\r\n href: url,\r\n }),\r\n className: cn('logo', className),\r\n };\r\n\r\n return (\r\n \r\n {image && }\r\n \r\n );\r\n};\r\n\r\nLogo.propTypes = {\r\n className: PropTypes.string,\r\n imageClass: PropTypes.string,\r\n url: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n};\r\n\r\nLogo.viewModelMeta = {\r\n className: 'ignore',\r\n imageClass: 'ignore',\r\n};\r\n\r\nexport default Logo;\r\n","import React from 'react';\r\nimport RichText from 'components/rich-text';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst FooterColumn = ({ heading, textHtml }) => {\r\n return (\r\n
\r\n {heading &&

{heading}

}\r\n {textHtml && }\r\n
\r\n );\r\n};\r\n\r\nFooterColumn.propTypes = {\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nexport default FooterColumn;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Logo from 'components/logo';\r\nimport FooterColumn from './footer-column';\r\nimport Link from 'components/link';\r\n\r\nconst Footer = ({\r\n mainLogo,\r\n secondaryLogo,\r\n column1,\r\n column2,\r\n column3,\r\n column4,\r\n copyrightText,\r\n cookieInfoLink,\r\n}) => {\r\n return (\r\n
\r\n
\r\n
\r\n {mainLogo && (\r\n \r\n )}\r\n {secondaryLogo && (\r\n \r\n )}\r\n
\r\n
\r\n {column1 && }\r\n {column2 && }\r\n {column3 && }\r\n {column4 && }\r\n
\r\n
\r\n {copyrightText && (\r\n
{copyrightText}
\r\n )}\r\n {cookieInfoLink && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nFooter.propTypes = {\r\n mainLogo: PropTypes.exact(Logo.propTypes),\r\n secondaryLogo: PropTypes.exact(Logo.propTypes),\r\n column1: PropTypes.exact(FooterColumn.propTypes),\r\n column2: PropTypes.exact(FooterColumn.propTypes),\r\n column3: PropTypes.exact(FooterColumn.propTypes),\r\n column4: PropTypes.exact(FooterColumn.propTypes),\r\n copyrightText: PropTypes.string,\r\n cookieInfoLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default Footer;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\nconst PoorText = ({ text, className }) => {\r\n return !text ? null : (\r\n \r\n );\r\n};\r\n\r\nPoorText.propTypes = {\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nPoorText.viewModelMeta = 'ignore';\r\n\r\nexport default PoorText;\r\n","import React from 'react';\r\nimport PoorText from 'components/poor-text/poor-text';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst Footnote = ({ footnoteKey, isActive, index, textHtml }) => {\r\n return (\r\n \r\n {index !== undefined && (\r\n {index + 1}\r\n )}\r\n {footnoteKey}\r\n \r\n \r\n );\r\n};\r\n\r\nFootnote.viewModelMeta = {\r\n index: 'ignore',\r\n isActive: 'ignore',\r\n};\r\n\r\nFootnote.propTypes = {\r\n footnoteKey: PropTypes.string.isRequired,\r\n index: PropTypes.number,\r\n isActive: PropTypes.bool,\r\n textHtml: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default Footnote;\r\n","import isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\nconst getElementPosition = (el, isCentered, parent) => {\r\n if (!isRunningOnClient || !el) return;\r\n const parentHeight = parent.offsetHeight || window.innerHeight;\r\n const elHeight = el.scrollHeight;\r\n const heightDif = parentHeight - elHeight;\r\n const parentScrollTop =\r\n parent === window ? document.documentElement.scrollTop : parent.scrollTop;\r\n\r\n const offset = 20;\r\n return isCentered\r\n ? el.getBoundingClientRect().top + parentScrollTop - heightDif / 2\r\n : el.getBoundingClientRect().top + parentScrollTop - offset;\r\n};\r\n\r\nexport const scrollToBlock = ({\r\n el,\r\n isCentered = false,\r\n extraOffset = 0,\r\n parent,\r\n}) => {\r\n if (!isRunningOnClient || !el) return;\r\n\r\n if (!parent) parent = window;\r\n\r\n parent.scrollTo({\r\n top: getElementPosition(el, isCentered, parent) - extraOffset,\r\n behavior: 'smooth',\r\n });\r\n};\r\n\r\nexport default {\r\n scrollToBlock,\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Footnote from './footnote';\r\nimport { scrollToBlock } from 'js/scroll-to-utils';\r\n\r\nconst Footnotes = ({ heading, items }) => {\r\n const [activeFootnoteKey, setActiveFootnoteKey] = useState(null);\r\n\r\n useEffect(() => {\r\n const editModeRoot = document.querySelector('.on-page-editing');\r\n const footnoteReferences = document.querySelectorAll('.footnote-reference');\r\n const footnotes = document.querySelectorAll('.footnote');\r\n\r\n if (!editModeRoot && footnotes && footnotes.length > 0) {\r\n for (let i = 0; i < footnoteReferences.length; i++) {\r\n const footnoteReference = footnoteReferences[i];\r\n const footnoteKey = footnoteReference.innerText;\r\n const relatedFootnote = document.getElementById(footnoteKey);\r\n\r\n if (relatedFootnote) {\r\n const relatedFootnoteIndex = Array.prototype.indexOf.call(\r\n footnotes,\r\n relatedFootnote\r\n );\r\n\r\n if (relatedFootnoteIndex > -1) {\r\n footnoteReference.innerText = relatedFootnoteIndex + 1;\r\n footnoteReference.classList.add('footnote-reference_enabled');\r\n\r\n footnoteReference.addEventListener('click', () => {\r\n setActiveFootnoteKey(footnoteKey);\r\n\r\n scrollToBlock({\r\n el: relatedFootnote,\r\n isCentered: true,\r\n });\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n {heading &&

{heading}

}\r\n {items.length > 0 && (\r\n
    \r\n {items.map((item, index) => (\r\n
  1. \r\n \r\n
  2. \r\n ))}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nFootnotes.propTypes = {\r\n heading: PropTypes.string,\r\n items: PropTypes.arrayOf(PropTypes.exact(Footnote.propTypes)).isRequired,\r\n};\r\n\r\nexport default Footnotes;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image/image';\r\nimport Link from 'components/link/link';\r\nimport PoorText from 'components/poor-text/poor-text';\r\nimport cn from 'classnames';\r\n\r\nconst position = {\r\n left: 'left',\r\n right: 'right',\r\n};\r\n\r\nconst FullWidthBannerBlock = ({\r\n heading,\r\n url,\r\n introHtml,\r\n backgroundImage,\r\n textPosition,\r\n}) => {\r\n return (\r\n \r\n
\r\n {(heading || introHtml) && (\r\n
\r\n {heading && (\r\n

\r\n {url ? (\r\n \r\n ) : (\r\n <>{heading}\r\n )}\r\n

\r\n )}\r\n {introHtml && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nFullWidthBannerBlock.propTypes = {\r\n heading: PropTypes.string,\r\n url: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n backgroundImage: PropTypes.exact(Image.propTypes),\r\n textPosition: PropTypes.oneOf(Object.values(position)).isRequired,\r\n};\r\n\r\nexport default FullWidthBannerBlock;\r\n","import PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\n\r\nconst MenuLink = {};\r\n\r\nMenuLink.propTypes = Object.assign({}, Link.propTypes, {\r\n isActive: PropTypes.bool,\r\n});\r\n\r\nexport default MenuLink;\r\n","import React, { useCallback } from 'react';\r\n\r\nexport default function useToggle(initiallyActive) {\r\n const [isActive, setIsActive] = React.useState(initiallyActive);\r\n const toggle = useCallback(() => setIsActive(isActive => !isActive), []);\r\n const activate = useCallback(() => setIsActive(true), []);\r\n const deactivate = useCallback(() => setIsActive(false), []);\r\n\r\n return { isActive, toggle, deactivate, activate };\r\n}\r\n","import { useEffect } from 'react';\r\nimport messageBus from 'js/message-bus';\r\n\r\nexport default function useDependentToggle({\r\n isActive,\r\n messageTypeToSend,\r\n messageTypeToSubscribe,\r\n deactivate,\r\n}) {\r\n useEffect(() => {\r\n if (isActive) {\r\n messageBus.sendMessage(messageTypeToSend);\r\n }\r\n }, [isActive]);\r\n\r\n useEffect(() => {\r\n messageBus.onMessage(messageTypeToSubscribe, deactivate);\r\n }, []);\r\n}\r\n","import React from 'react';\r\nimport Link from 'components/link';\r\nimport Icon from 'components/icon';\r\nimport MenuLink from 'components/models/menu-link';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport useDependentToggle from 'hooks/use-dependent-toggle';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport messageBus from 'js/message-bus';\r\n\r\nconst MainMenu = ({ links, lang, className }) => {\r\n const { isActive, toggle, deactivate } = useToggle(false);\r\n\r\n useDependentToggle({\r\n isActive,\r\n messageTypeToSend: messageBus.messageTypes.mobileMenuOpened,\r\n messageTypeToSubscribe:\r\n messageBus.messageTypes.mobileLanguageSelectorOpened,\r\n deactivate,\r\n });\r\n\r\n return links && links.length > 0 ? (\r\n \r\n \r\n \r\n {lang.menuLabel}\r\n \r\n \r\n {links.map((link, index) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n \r\n \r\n ) : null;\r\n};\r\n\r\nMainMenu.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nMainMenu.propTypes = {\r\n className: PropTypes.string,\r\n links: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)).isRequired,\r\n lang: PropTypes.shape({\r\n menuLabel: PropTypes.string.isRequired,\r\n openMenuLabel: PropTypes.string.isRequired,\r\n closeMenuLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport default MainMenu;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst Language = {};\r\n\r\nLanguage.propTypes = {\r\n displayName: PropTypes.string.isRequired,\r\n url: PropTypes.string,\r\n name: PropTypes.string,\r\n isCurrent: PropTypes.bool,\r\n};\r\n\r\nexport default Language;\r\n","import useEvent from './use-event';\r\n\r\nconst isEscape = event =>\r\n event && (event.key === 'Escape' || event.which === 27);\r\n\r\n/** Fires `callback` when the escape key is pressed */\r\nexport default function useEscape(callback) {\r\n useEvent('keydown', e => {\r\n if (isEscape(e)) {\r\n callback();\r\n }\r\n });\r\n}\r\n","import React from 'react';\r\n\r\n/** Attaches an event listener for `eventName` to `window`. */\r\nexport default function useEvent(\r\n eventName = '',\r\n eventHandler = () => {},\r\n dependencies = []\r\n) {\r\n React.useEffect(() => {\r\n window.addEventListener(eventName, eventHandler);\r\n return () => window.removeEventListener(eventName, eventHandler);\r\n }, dependencies);\r\n}\r\n","import isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\nfunction minWidth(size) {\r\n return function () {\r\n return isRunningOnClient\r\n ? window.matchMedia(`(min-width: ${size}px)`).matches\r\n : null;\r\n };\r\n}\r\n\r\nconst breakpoints = {\r\n s: 0,\r\n m: 768,\r\n l: 1024,\r\n ipadPro: 1025,\r\n desktop: 1280,\r\n};\r\n\r\nexport default {\r\n s: minWidth(breakpoints.s),\r\n m: minWidth(breakpoints.m),\r\n l: minWidth(breakpoints.l),\r\n ipadPro: minWidth(breakpoints.ipadPro),\r\n desktop: minWidth(breakpoints.desktop),\r\n};\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Language from './language';\r\nimport Link from 'components/link';\r\nimport Icon from 'components/icon';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport useEscape from 'hooks/use-escape';\r\nimport useDependentToggle from 'hooks/use-dependent-toggle';\r\nimport useDidUpdateEffect from 'hooks/use-did-update-effect';\r\nimport messageBus from 'js/message-bus';\r\nimport breakpoints from 'js/breakpoints';\r\nimport cn from 'classnames';\r\n\r\nconst KEY_NAMES = {\r\n ARROW_UP: 'ArrowUp',\r\n ARROW_DOWN: 'ArrowDown',\r\n};\r\n\r\nconst LANGUAGE_SELECTOR_MENU = 'language-selector-menu';\r\n\r\nconst LanguageSelector = ({ className, lang, languages }) => {\r\n const { isActive, toggle, activate, deactivate } = useToggle(false);\r\n const languageSelectorRef = useRef(null);\r\n const languageSelectorOpenerRef = useRef(null);\r\n\r\n const [focusedIndex, setFocusedIndex] = useState(null);\r\n\r\n useEscape(deactivate);\r\n useDependentToggle({\r\n isActive,\r\n messageTypeToSend: messageBus.messageTypes.mobileLanguageSelectorOpened,\r\n messageTypeToSubscribe: messageBus.messageTypes.mobileMenuOpened,\r\n deactivate,\r\n });\r\n\r\n useDidUpdateEffect(() => {\r\n if (\r\n languageSelectorOpenerRef &&\r\n languageSelectorOpenerRef.current &&\r\n !isActive\r\n ) {\r\n languageSelectorOpenerRef.current.focus();\r\n setFocusedIndex(null);\r\n }\r\n }, [isActive, languageSelectorOpenerRef]);\r\n\r\n useEffect(() => {\r\n if (languageSelectorRef && languageSelectorRef.current) {\r\n const selectorOptions = languageSelectorRef.current.querySelectorAll(\r\n '.language-selector__link'\r\n );\r\n\r\n if (\r\n selectorOptions &&\r\n selectorOptions.length > 0 &&\r\n selectorOptions[focusedIndex]\r\n ) {\r\n selectorOptions[focusedIndex].focus();\r\n }\r\n }\r\n }, [focusedIndex, languageSelectorRef]);\r\n\r\n const handleKeyDown = event => {\r\n switch (event.key) {\r\n case KEY_NAMES.ARROW_DOWN:\r\n event.preventDefault();\r\n setFocusedIndex(prevIndex => {\r\n if (prevIndex === languages.length - 1) {\r\n return 0;\r\n }\r\n\r\n return prevIndex === null ? 0 : prevIndex + 1;\r\n });\r\n break;\r\n case KEY_NAMES.ARROW_UP:\r\n event.preventDefault();\r\n setFocusedIndex(prevIndex => {\r\n return prevIndex === 0 ? languages.length - 1 : prevIndex - 1;\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleMouseEnter = () => {\r\n if (breakpoints.desktop()) {\r\n activate();\r\n }\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n if (breakpoints.desktop()) {\r\n deactivate();\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {lang.languagesLabel}\r\n \r\n \r\n {languages && languages.length > 0 && (\r\n \r\n {languages.map((item, index) => (\r\n \r\n {item.url ? (\r\n \r\n ) : (\r\n item.displayName\r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nLanguageSelector.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nLanguageSelector.propTypes = {\r\n className: PropTypes.string,\r\n lang: PropTypes.shape({\r\n languagesLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n languages: PropTypes.arrayOf(PropTypes.exact(Language.propTypes)),\r\n};\r\n\r\nexport default LanguageSelector;\r\n","import { useRef, useEffect } from 'react';\r\n\r\nexport default function useDidUpdateEffect(fn, inputs) {\r\n const didMountRef = useRef(false);\r\n\r\n useEffect(() => {\r\n if (didMountRef.current) fn();\r\n else didMountRef.current = true;\r\n }, inputs);\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Logo from 'components/logo';\r\nimport MainMenu from 'components/main-menu';\r\nimport LanguageSelector from 'components/language-selector';\r\n\r\nconst Header = ({ mainLogo, secondaryLogo, mainMenu, languageSelector }) => {\r\n return (\r\n
    \r\n
    \r\n {mainLogo && (\r\n
    \r\n \r\n
    \r\n )}\r\n {mainMenu && }\r\n {languageSelector && (\r\n \r\n )}\r\n {secondaryLogo && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n mainLogo: PropTypes.exact(Logo.propTypes),\r\n secondaryLogo: PropTypes.exact(Logo.propTypes),\r\n mainMenu: PropTypes.exact(MainMenu.propTypes),\r\n languageSelector: PropTypes.exact(LanguageSelector.propTypes),\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport Link from 'components/link';\r\nimport PoorText from 'components/poor-text/poor-text';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst HighlightedIssue = ({ title, introHtml, url }) => {\r\n return (\r\n
    \r\n
    \r\n {title && (\r\n

    \r\n {url ? (\r\n \r\n ) : (\r\n title\r\n )}\r\n

    \r\n )}\r\n {introHtml && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nHighlightedIssue.propTypes = {\r\n title: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n url: PropTypes.string,\r\n};\r\n\r\nexport default HighlightedIssue;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport cn from 'classnames';\r\n\r\nconst ImageBlock = ({\r\n image,\r\n caption,\r\n photograph,\r\n className,\r\n imageSizeClassName,\r\n lang,\r\n}) => {\r\n const imageClass = imageSizeClassName\r\n ? imageSizeClassName\r\n : 'image_size_image-block';\r\n return (\r\n
    \r\n
    \r\n \r\n {(caption || photograph) && (\r\n
    \r\n {caption &&
    {caption}
    }\r\n {photograph && (\r\n
    \r\n \r\n {lang.photographLabel}\r\n \r\n \r\n {photograph}\r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nImageBlock.propTypes = {\r\n lang: PropTypes.shape({\r\n photographLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n image: PropTypes.exact(Image.propTypes).isRequired,\r\n caption: PropTypes.string,\r\n className: PropTypes.string,\r\n imageSizeClassName: PropTypes.string,\r\n photograph: PropTypes.string,\r\n};\r\n\r\nImageBlock.viewModelMeta = {\r\n className: 'ignore',\r\n imageSizeClassName: 'ignore',\r\n};\r\n\r\nexport default ImageBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ImageBlock from 'components/image-block';\r\nimport RichText from 'components/rich-text';\r\nimport cn from 'classnames';\r\n\r\nconst position = {\r\n left: 'left',\r\n right: 'right',\r\n};\r\n\r\nconst verticalAlignment = {\r\n top: 'top',\r\n center: 'center',\r\n bottom: 'bottom',\r\n};\r\n\r\nconst ImageWithTextBlock = ({\r\n textHtml,\r\n image,\r\n imagePosition,\r\n imageVAlignment,\r\n}) => {\r\n return (\r\n \r\n
    \r\n {image && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nImageWithTextBlock.propTypes = {\r\n textHtml: PropTypes.string,\r\n image: PropTypes.exact(ImageBlock.propTypes),\r\n imagePosition: PropTypes.oneOf(Object.values(position)).isRequired,\r\n imageVAlignment: PropTypes.oneOf(Object.values(verticalAlignment)).isRequired,\r\n};\r\n\r\nexport default ImageWithTextBlock;\r\n","import { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst PARENT_SELECTOR = 'page__root';\r\nconst EXTERNAL_LINK_CLASS_NAME = 'link-type_external';\r\n\r\nconst processLink = (link, lang) => {\r\n const isWebLink = link.protocol === 'http:' || link.protocol === 'https:';\r\n const isExternal = isWebLink && link.hostname !== window.location.hostname;\r\n const opensNewTab = link.target === '_blank';\r\n\r\n if (isExternal && opensNewTab) {\r\n link.classList.add(EXTERNAL_LINK_CLASS_NAME);\r\n link.setAttribute(\r\n 'aria-label',\r\n `${lang.externalLinkLabel}, ${lang.opensNewTabLabel.toLowerCase()}`\r\n );\r\n } else if (isExternal) {\r\n link.classList.add(EXTERNAL_LINK_CLASS_NAME);\r\n link.setAttribute('aria-label', lang.externalLinkLabel);\r\n } else if (opensNewTab) {\r\n link.setAttribute('aria-label', lang.opensNewTabLabel);\r\n }\r\n};\r\n\r\nconst LinkTypeProcessor = ({\r\n lang = {\r\n externalLinkLabel: 'External link',\r\n opensNewTabLabel: 'Opens a new tab',\r\n },\r\n}) => {\r\n useEffect(() => {\r\n const parentElement = document.querySelector(`.${PARENT_SELECTOR}`);\r\n\r\n if (!parentElement) return;\r\n\r\n const links = document.querySelectorAll('a');\r\n links.forEach(link => processLink(link, lang));\r\n\r\n const observer = new MutationObserver(mutations => {\r\n mutations.forEach(mutation => {\r\n if (mutation.type === 'childList') {\r\n mutation.addedNodes.forEach(node => {\r\n if (node.tagName === 'A') {\r\n processLink(node, lang);\r\n } else if (node.querySelectorAll) {\r\n const newLinks = node.querySelectorAll('a');\r\n newLinks.forEach(link => processLink(link, lang));\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n observer.observe(parentElement, {\r\n childList: true,\r\n subtree: true,\r\n });\r\n\r\n return () => observer.disconnect();\r\n }, [lang]);\r\n\r\n return null;\r\n};\r\n\r\nLinkTypeProcessor.propTypes = {\r\n lang: PropTypes.shape({\r\n externalLinkLabel: PropTypes.string.isRequired,\r\n opensNewTabLabel: PropTypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport default LinkTypeProcessor;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport LinkButton from 'components/link-button';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst NotFoundPage = ({ heading, errorHeading, textHtml, homePageButton }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {errorHeading && (\r\n

    {errorHeading}

    \r\n )}\r\n {heading &&

    {heading}

    }\r\n {textHtml && (\r\n \r\n )}\r\n {homePageButton && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nNotFoundPage.propTypes = {\r\n errorHeading: PropTypes.string,\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n homePageButton: PropTypes.exact(LinkButton.propTypes),\r\n};\r\n\r\nexport default NotFoundPage;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\n// NOTE: Rendered on BE side as static html.\r\nconst PageHeading = ({ text, className }) => {\r\n return

    {text}

    ;\r\n};\r\n\r\nPageHeading.propTypes = {\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nPageHeading.viewModelMeta = 'ignore';\r\n\r\nexport default PageHeading;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport BackgroundVideo from 'components/background-video/background-video';\r\nimport PoorText from 'components/poor-text/poor-text';\r\nimport imageResizer from 'js/image-resizer';\r\nimport useBreakpoints from 'hooks/use-breakpoints';\r\n\r\nconst PageHero = ({ heading, introHtml, image, imageMobile, video }) => {\r\n const { isMobile } = useBreakpoints(true);\r\n const [imageWidth, setImageWidth] = React.useState(0);\r\n\r\n React.useEffect(() => {\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n });\r\n\r\n const pageHeroImage = isMobile ? (imageMobile ? imageMobile : image) : image;\r\n\r\n return (\r\n
    \r\n
    \r\n {video ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n pageHeroImage && (\r\n \r\n )\r\n )}\r\n
    \r\n\r\n
    \r\n {(heading || introHtml) && (\r\n
    \r\n {heading &&

    {heading}

    }\r\n {introHtml && (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nPageHero.propTypes = {\r\n heading: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n imageMobile: PropTypes.exact(Image.propTypes),\r\n video: PropTypes.exact(BackgroundVideo.propTypes),\r\n};\r\n\r\nexport default PageHero;\r\n","import React, { useEffect } from 'react';\r\nimport breakpoints from 'js/breakpoints';\r\n\r\nexport default function useBreakpoints(\r\n initiallyDesktop,\r\n initiallyTablet,\r\n initiallyMobile,\r\n initiallyDesktopLargerThanIpad\r\n) {\r\n const [state, setState] = React.useState({\r\n isDesktop: initiallyDesktop,\r\n isTablet: initiallyTablet,\r\n isMobile: initiallyMobile,\r\n isDesktopLargerThanIpad: initiallyDesktopLargerThanIpad,\r\n brekpointsStarted: false,\r\n });\r\n\r\n const onResize = () => {\r\n setState({\r\n isDesktop: breakpoints.l(),\r\n isTablet: breakpoints.m() && !breakpoints.l(),\r\n isMobile: breakpoints.s() && !breakpoints.m(),\r\n isDesktopLargerThanIpad: breakpoints.ipadPro(),\r\n brekpointsStarted: true,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n onResize();\r\n window.addEventListener('resize', onResize);\r\n return () => window.removeEventListener('resize', onResize);\r\n }, []);\r\n\r\n return state;\r\n}\r\n","import React from 'react';\r\nimport Link from 'components/link';\r\nimport Icon from 'components/icon';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst QaGroupBlock = ({ heading, links }) => {\r\n return (\r\n
    \r\n {heading &&

    {heading}

    }\r\n
      \r\n {links.map((link, index) => (\r\n
    • \r\n \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nQaGroupBlock.propTypes = {\r\n heading: PropTypes.string,\r\n links: PropTypes.arrayOf(PropTypes.exact(Link.propTypes)).isRequired,\r\n};\r\n\r\nexport default QaGroupBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst RichTextBlock = ({ textHtml }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nRichTextBlock.propTypes = {\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nexport default RichTextBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst SkipToMain = ({ text }) => (\r\n \r\n {text}\r\n \r\n);\r\n\r\nSkipToMain.propTypes = {\r\n text: PropTypes.string,\r\n};\r\n\r\nexport default SkipToMain;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst FilterTab = {};\r\n\r\nFilterTab.propTypes = {\r\n name: PropTypes.string,\r\n icon: PropTypes.string,\r\n category: PropTypes.string,\r\n};\r\n\r\nexport default FilterTab;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport CircleIcon from 'components/circle-icon';\r\nimport FilterTab from './filter-tab';\r\nimport messageBus from 'js/message-bus';\r\n\r\nconst TabsFilter = ({\r\n tabs,\r\n selectedCategory,\r\n defaultCategoryAlwaysEnabled = true,\r\n defaultCategory,\r\n}) => {\r\n const [activeCategory, setActiveCategory] = useState(null);\r\n\r\n const getSelectedCategories = () => {\r\n const categories = [];\r\n const addDefaultCategory = !activeCategory || defaultCategoryAlwaysEnabled;\r\n if (activeCategory) {\r\n categories.push(activeCategory);\r\n }\r\n if (defaultCategory && addDefaultCategory) {\r\n categories.push(defaultCategory);\r\n }\r\n return categories;\r\n };\r\n\r\n useEffect(() => {\r\n messageBus.sendMessage(messageBus.messageTypes.categoryFilterUpdated, {\r\n categories: getSelectedCategories(),\r\n });\r\n messageBus.onMessage(\r\n messageBus.messageTypes.currentCategoryFilterRequest,\r\n m => m.callback({ categories: getSelectedCategories() })\r\n );\r\n }, [activeCategory]);\r\n\r\n const updateActiveCategory = category => {\r\n setActiveCategory(category ? category : null);\r\n };\r\n\r\n const onTabItemClick = (e, category) => {\r\n e.preventDefault();\r\n\r\n if (activeCategory === category) {\r\n history.pushState(null, null, ' ');\r\n window.dispatchEvent(new HashChangeEvent('hashchange'));\r\n } else {\r\n window.location.hash = category;\r\n }\r\n };\r\n\r\n const onHashChange = useCallback(() => {\r\n const hash = window.location.hash.substring(1);\r\n\r\n if (tabs.some(item => item.category === hash) || !hash) {\r\n updateActiveCategory(window.location.hash.substring(1));\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n const hash = window.location.hash;\r\n\r\n setTimeout(() => {\r\n if (hash) {\r\n onHashChange();\r\n } else {\r\n updateActiveCategory(selectedCategory);\r\n }\r\n }, 0);\r\n\r\n window.addEventListener('hashchange', onHashChange, false);\r\n\r\n return () => window.removeEventListener('hashchange', onHashChange, false);\r\n }, []);\r\n\r\n return !tabs || tabs.length <= 0 ? null : (\r\n
    \r\n
      \r\n {tabs.map((item, index) => {\r\n const isActive = item.category === activeCategory;\r\n\r\n return (\r\n
    • \r\n onTabItemClick(e, item.category)}\r\n >\r\n {item.icon && (\r\n \r\n )}\r\n {item.name}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nTabsFilter.propTypes = {\r\n tabs: PropTypes.arrayOf(PropTypes.exact(FilterTab.propTypes)).isRequired,\r\n selectedCategory: PropTypes.string,\r\n defaultCategoryAlwaysEnabled: PropTypes.bool,\r\n defaultCategory: PropTypes.string,\r\n};\r\n\r\nexport default TabsFilter;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst Tab = {};\r\n\r\nTab.propTypes = {\r\n name: PropTypes.string,\r\n icon: PropTypes.string,\r\n contentId: PropTypes.string,\r\n};\r\n\r\nexport default Tab;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport CircleIcon from 'components/circle-icon';\r\nimport Tab from './tab';\r\n\r\nconst tabContentClassName = 'tab-content';\r\nconst tabContentActiveClassName = 'tab-content_active';\r\n\r\nconst TabsPanel = ({ tabs, activeTabIndex = 0 }) => {\r\n const [activeIndex, setActiveIndex] = useState(activeTabIndex);\r\n const [hashChecked, setHashChecked] = useState(false);\r\n\r\n const displayActiveTabContent = contentId => {\r\n const allTabsContent = document.querySelectorAll(`.${tabContentClassName}`);\r\n const activeTabId = `#${contentId}`;\r\n const activeTabContent = document.querySelector(activeTabId);\r\n const activeTabIndex = tabs.findIndex(tab => tab.contentId === contentId);\r\n\r\n if (activeTabIndex > -1) {\r\n setActiveIndex(activeTabIndex);\r\n }\r\n\r\n for (let i = 0; i < allTabsContent.length; i++) {\r\n allTabsContent[i].classList.remove(tabContentActiveClassName);\r\n }\r\n\r\n if (activeTabContent) {\r\n activeTabContent.classList.add(tabContentActiveClassName);\r\n }\r\n };\r\n\r\n const onTabItemClick = (e, contentId) => {\r\n e.preventDefault();\r\n window.location.hash = contentId;\r\n };\r\n\r\n const displayTabContentBasedOnHash = useCallback(() => {\r\n displayActiveTabContent(window.location.hash.substring(1));\r\n });\r\n\r\n useEffect(() => {\r\n const hash = window.location.hash;\r\n\r\n if (hash) {\r\n displayActiveTabContent(hash.substring(1));\r\n } else {\r\n const activeTab = tabs[activeIndex];\r\n if (activeTab && activeTab.contentId) {\r\n displayActiveTabContent(activeTab.contentId);\r\n }\r\n }\r\n\r\n setHashChecked(true);\r\n\r\n window.addEventListener('hashchange', displayTabContentBasedOnHash, false);\r\n\r\n return () =>\r\n window.removeEventListener(\r\n 'hashchange',\r\n displayTabContentBasedOnHash,\r\n false\r\n );\r\n }, []);\r\n\r\n return !tabs || tabs.length <= 0 ? null : (\r\n
    \r\n
      \r\n {tabs.map((item, index) => {\r\n const isActive = hashChecked && index === activeIndex;\r\n\r\n return (\r\n
    • \r\n onTabItemClick(e, item.contentId)}\r\n >\r\n {item.icon && (\r\n \r\n )}\r\n {item.name}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nTabsPanel.propTypes = {\r\n tabs: PropTypes.arrayOf(PropTypes.exact(Tab.propTypes)).isRequired,\r\n activeTabIndex: PropTypes.number,\r\n};\r\n\r\nexport default TabsPanel;\r\n","import React from 'react';\r\nimport ReactComponent from 'components/react-component';\r\nimport PropTypes from 'prop-types';\r\nimport * as ItemBlocks from './item-blocks';\r\nimport cn from 'classnames';\r\n\r\nconst topicGroupBlocks = {\r\n ctaImageBlock: 'CtaImageBlock',\r\n fullWidthBannerBlock: 'FullWidthBannerBlock',\r\n};\r\n\r\nconst ccn = (x = '') => 'topic-group-block' + x;\r\n\r\nconst TopicGroupBlock = ({ heading, category, blocks }) => {\r\n const allBlocks = [...blocks];\r\n const topicGroupRows = [];\r\n while (allBlocks.length) {\r\n const blocksSlice = [];\r\n if (allBlocks[0]) {\r\n blocksSlice.push(allBlocks[0]);\r\n }\r\n if (allBlocks[1]) {\r\n blocksSlice.push(allBlocks[1]);\r\n }\r\n const hasFullWidthBlock = blocksSlice.some(\r\n block => block.componentName === topicGroupBlocks.fullWidthBannerBlock\r\n );\r\n topicGroupRows.push(allBlocks.splice(0, hasFullWidthBlock ? 1 : 2));\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {category && (\r\n {category}\r\n )}\r\n {heading &&

    {heading}

    }\r\n
    \r\n {topicGroupRows.map((rowItems, rowIndex) => (\r\n
    \r\n {rowItems &&\r\n rowItems.map((item, itemIndex) => {\r\n const ItemBlock = ItemBlocks[item.componentName];\r\n const isFullWidth = rowItems.length === 1;\r\n if (!ItemBlock) {\r\n // eslint-disable-next-line no-console\r\n console.error(\r\n `Components.${item.componentName} is not supported within TopicGroupBlock`\r\n );\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n ))}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nTopicGroupBlock.propTypes = {\r\n heading: PropTypes.string,\r\n category: PropTypes.string,\r\n blocks: PropTypes.arrayOf(PropTypes.shape(ReactComponent.propTypes))\r\n .isRequired,\r\n};\r\n\r\nexport default TopicGroupBlock;\r\n","/*\r\n * Minimal classList shim for IE 9\r\n * By Devon Govett\r\n * MIT LICENSE\r\n */\r\n\r\n// NOTE: https://gist.github.com/devongovett/1381839\r\n\r\nfunction activate() {\r\n if (\r\n !('classList' in document.documentElement) &&\r\n Object.defineProperty &&\r\n typeof HTMLElement !== 'undefined'\r\n ) {\r\n Object.defineProperty(HTMLElement.prototype, 'classList', {\r\n get: function () {\r\n var self = this;\r\n function update(fn) {\r\n return function (value) {\r\n var classes = self.className.split(/\\s+/),\r\n index = classes.indexOf(value);\r\n\r\n fn(classes, index, value);\r\n self.className = classes.join(' ');\r\n };\r\n }\r\n\r\n var ret = {\r\n add: update(function (classes, index, value) {\r\n ~index || classes.push(value);\r\n }),\r\n\r\n remove: update(function (classes, index) {\r\n ~index && classes.splice(index, 1);\r\n }),\r\n\r\n toggle: update(function (classes, index, value) {\r\n ~index ? classes.splice(index, 1) : classes.push(value);\r\n }),\r\n\r\n contains: function (value) {\r\n return !!~self.className.split(/\\s+/).indexOf(value);\r\n },\r\n\r\n item: function (i) {\r\n return self.className.split(/\\s+/)[i] || null;\r\n },\r\n };\r\n\r\n Object.defineProperty(ret, 'length', {\r\n get: function () {\r\n return self.className.split(/\\s+/).length;\r\n },\r\n });\r\n\r\n return ret;\r\n },\r\n });\r\n }\r\n}\r\n\r\nexport default {\r\n activate,\r\n};\r\n","import classListPolyfill from './polyfills/class-list';\r\n\r\n/* NOTE: https://www.html5rocks.com/en/mobile/touchandmouse/\r\n First, you have to be careful when designing more advanced touch interactions:\r\n when the user uses a mouse it will respond via a click event, but when the user\r\n touches the screen both touch and click events will occur.\r\n\r\n For a single click the order of events is:\r\n\r\n 1. touchstart\r\n 2. touchmove\r\n 3. touchend\r\n 4. mouseover\r\n 5. mousemove\r\n 6. mousedown\r\n 7. mouseup\r\n 8. click\r\n*/\r\n\r\nfunction activate() {\r\n let touchEndHappened = false;\r\n\r\n classListPolyfill.activate();\r\n\r\n const onMouseDown = () => {\r\n if (touchEndHappened) {\r\n return;\r\n }\r\n\r\n document.documentElement.classList.add('mouse-user');\r\n document.documentElement.classList.add('no-touchevents');\r\n document.documentElement.classList.remove('touchevents');\r\n };\r\n\r\n const onTouchEnd = () => {\r\n touchEndHappened = true;\r\n setTimeout(() => {\r\n touchEndHappened = false;\r\n }, 100);\r\n };\r\n\r\n const onTouchStart = () => {\r\n document.documentElement.classList.add('mouse-user');\r\n document.documentElement.classList.add('touchevents');\r\n document.documentElement.classList.remove('no-touchevents');\r\n };\r\n\r\n document.addEventListener('touchstart', onTouchStart);\r\n document.addEventListener('touchend', onTouchEnd);\r\n document.addEventListener('mousedown', onMouseDown);\r\n\r\n const keyCodeWhiteList = [9, 33, 34, 35, 36, 37, 38, 39, 40];\r\n\r\n document.addEventListener('keydown', e => {\r\n if (keyCodeWhiteList.indexOf(e.which) !== -1) {\r\n document.documentElement.classList.remove('mouse-user');\r\n }\r\n });\r\n}\r\n\r\nexport default {\r\n activate,\r\n};\r\n","import inputDetection from './input-detection';\r\n\r\ninputDetection.activate();\r\n"],"sourceRoot":""}