{"version":3,"file":"client.a68291aea86b2ce32592.js","mappings":"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","sources":["webpack://Fiskesprell-Web/webpack/runtime/chunk loaded","webpack://Fiskesprell-Web/./source/components/rich-text/rich-text.jsx","webpack://Fiskesprell-Web/./source/components/accordion-block/accordion-block.jsx","webpack://Fiskesprell-Web/./source/components/link/link.jsx","webpack://Fiskesprell-Web/./source/components/breadcrumbs/breadcrumbs.jsx","webpack://Fiskesprell-Web/./source/js/image-resizer.js","webpack://Fiskesprell-Web/./source/components/image/image.jsx","webpack://Fiskesprell-Web/./source/components/contact/contact.jsx","webpack://Fiskesprell-Web/./source/components/contact-information/contact-information.jsx","webpack://Fiskesprell-Web/./source/components/contact-us/contact-us.jsx","webpack://Fiskesprell-Web/./source/components/content-area/content-area.jsx","webpack://Fiskesprell-Web/./source/components/course-content/course-part-link.jsx","webpack://Fiskesprell-Web/./source/components/spinner/spinner.jsx","webpack://Fiskesprell-Web/./source/components/course-content/course-content.jsx","webpack://Fiskesprell-Web/./source/hooks/use-event.js","webpack://Fiskesprell-Web/./source/hooks/use-click-outside.js","webpack://Fiskesprell-Web/./source/components/drop-down/drop-down.jsx","webpack://Fiskesprell-Web/./source/components/embeddable-form-block/embeddable-form-block.jsx","webpack://Fiskesprell-Web/./source/components/icon/icon.jsx","webpack://Fiskesprell-Web/./source/components/quick-search-panel/quick-search-panel.jsx","webpack://Fiskesprell-Web/./source/components/link-button/link-button.jsx","webpack://Fiskesprell-Web/./source/components/error-block/error-block.jsx","webpack://Fiskesprell-Web/./source/components/factbox/factbox.jsx","webpack://Fiskesprell-Web/./source/components/factbox-with-text-block/factbox-with-text-block.jsx","webpack://Fiskesprell-Web/./source/components/social-link/social-link.jsx","webpack://Fiskesprell-Web/./source/components/footer/footer.jsx","webpack://Fiskesprell-Web/./source/js/id-helper.js","webpack://Fiskesprell-Web/./source/components/front-page-hero/getting-started-link.jsx","webpack://Fiskesprell-Web/./source/components/front-page-hero/front-page-hero.jsx","webpack://Fiskesprell-Web/./source/components/full-width-banner/full-width-banner.jsx","webpack://Fiskesprell-Web/./source/components/getting-started-teaser/getting-started-teaser.jsx","webpack://Fiskesprell-Web/./source/components/getting-started-list/getting-started-list.jsx","webpack://Fiskesprell-Web/./source/hooks/use-toggle.js","webpack://Fiskesprell-Web/./source/components/menu-link/menu-link.jsx","webpack://Fiskesprell-Web/./source/components/main-menu/main-menu.jsx","webpack://Fiskesprell-Web/./source/components/header/header-menu.jsx","webpack://Fiskesprell-Web/./source/components/header/header.jsx","webpack://Fiskesprell-Web/./source/components/image-with-caption/image-with-caption.jsx","webpack://Fiskesprell-Web/./source/components/image-gallery/image-gallery.jsx","webpack://Fiskesprell-Web/./source/components/image-with-text-block/image-with-text-block.jsx","webpack://Fiskesprell-Web/./source/components/ingredients/ingredient-base.jsx","webpack://Fiskesprell-Web/./source/components/ingredients/ingredients.jsx","webpack://Fiskesprell-Web/./source/js/messenger.js","webpack://Fiskesprell-Web/./source/components/message/message.jsx","webpack://Fiskesprell-Web/./source/components/modal/modal.jsx","webpack://Fiskesprell-Web/./source/components/pages-list/pages-list-item.jsx","webpack://Fiskesprell-Web/./source/components/select-option/select-option.jsx","webpack://Fiskesprell-Web/./source/components/tag-filter/tag-filter.jsx","webpack://Fiskesprell-Web/./source/js/analytics.js","webpack://Fiskesprell-Web/./source/js/api-helper.js","webpack://Fiskesprell-Web/./source/js/form-helper.js","webpack://Fiskesprell-Web/./source/components/pages-list/pages-list.jsx","webpack://Fiskesprell-Web/./source/components/print-button/print-button.jsx","webpack://Fiskesprell-Web/./source/components/questionnaire/answer.jsx","webpack://Fiskesprell-Web/./source/components/questionnaire/question.jsx","webpack://Fiskesprell-Web/./source/components/questionnaire/questionnaire.jsx","webpack://Fiskesprell-Web/./source/components/react-component/react-component.jsx","webpack://Fiskesprell-Web/./source/components/recipe-page-details/recipe-page-details.jsx","webpack://Fiskesprell-Web/./source/components/search/category-filter.jsx","webpack://Fiskesprell-Web/./source/hooks/use-is-mounted.js","webpack://Fiskesprell-Web/./source/components/search/search-query-input.jsx","webpack://Fiskesprell-Web/./source/components/search/search-form.jsx","webpack://Fiskesprell-Web/./source/components/teaser/teaser.jsx","webpack://Fiskesprell-Web/./source/components/search-result/search-result.jsx","webpack://Fiskesprell-Web/./source/js/string-helper.js","webpack://Fiskesprell-Web/./source/components/search/search.jsx","webpack://Fiskesprell-Web/./source/components/see-also-links/see-also-links.jsx","webpack://Fiskesprell-Web/./source/components/simple-list/simple-list-teaser.jsx","webpack://Fiskesprell-Web/./source/components/simple-list/simple-list.jsx","webpack://Fiskesprell-Web/./source/components/teasers-list/teasers-list.jsx","webpack://Fiskesprell-Web/./source/components/video/video.jsx","webpack://Fiskesprell-Web/./source/assets/inline-icons/icons.js","webpack://Fiskesprell-Web/./source/js/polyfills/class-list.js","webpack://Fiskesprell-Web/./source/js/input-detection.js","webpack://Fiskesprell-Web/./source/js/input-detection-loader.js","webpack://Fiskesprell-Web/./source/app.components-exposed.js","webpack://Fiskesprell-Web/./source/assets/inline-icons/arrow.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/clock-big.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/clock.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/close.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/cook-big.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/cook.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/facebook.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/instagram.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/menu.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/play.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/print.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/search.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/youtube.svg","webpack://Fiskesprell-Web/./source/assets/inline-icons/ sync \\.svg$","webpack://Fiskesprell-Web/webpack/bootstrap","webpack://Fiskesprell-Web/webpack/runtime/compat get default export","webpack://Fiskesprell-Web/webpack/runtime/define property getters","webpack://Fiskesprell-Web/webpack/runtime/global","webpack://Fiskesprell-Web/webpack/runtime/hasOwnProperty shorthand","webpack://Fiskesprell-Web/webpack/runtime/make namespace object","webpack://Fiskesprell-Web/webpack/runtime/node module decorator","webpack://Fiskesprell-Web/webpack/runtime/jsonp chunk loading","webpack://Fiskesprell-Web/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\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, id }) => {\r\n return !text ? null : (\r\n \r\n );\r\n};\r\n\r\nRichText.propTypes = {\r\n id: PropTypes.string,\r\n text: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nRichText.viewModelMeta = {\r\n id: 'ignore',\r\n className: 'ignore',\r\n};\r\n\r\nexport default RichText;\r\n","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Accordion as AccordionComponent,\r\n AccordionItem,\r\n AccordionItemHeading,\r\n AccordionItemButton,\r\n AccordionItemPanel,\r\n AccordionItemState,\r\n} from 'react-accessible-accordion';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst AccordionBlock = ({ title, items }) => {\r\n return (\r\n
\r\n
\r\n {title &&

{title}

}\r\n \r\n {items.length > 0 &&\r\n items.map((item, index) => {\r\n return (\r\n \r\n \r\n {({ expanded }) => (\r\n \r\n \r\n \r\n
\r\n {item.name}\r\n
\r\n
\r\n
\r\n \r\n {expanded && item.textHtml && (\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\n};\r\n\r\nAccordionBlock.propTypes = {\r\n title: PropTypes.string,\r\n items: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n name: PropTypes.string.isRequired,\r\n textHtml: PropTypes.string.isRequired,\r\n })\r\n ).isRequired,\r\n};\r\n\r\nexport default AccordionBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst ariaCurrentTypes = {\r\n page: 'page',\r\n step: 'step',\r\n location: 'location',\r\n true: 'true',\r\n};\r\n\r\nconst Link = ({\r\n ariaCurrent,\r\n className,\r\n openInNewTab = false,\r\n url,\r\n text,\r\n tabindex = null,\r\n ariaLabelledBy,\r\n ariaDescribedBy,\r\n}) => (\r\n \r\n {text}\r\n \r\n);\r\n\r\nLink.propTypes = {\r\n className: PropTypes.string,\r\n openInNewTab: PropTypes.bool,\r\n url: PropTypes.string,\r\n text: PropTypes.string,\r\n tabindex: PropTypes.number,\r\n ariaCurrent: PropTypes.oneOf(Object.values(ariaCurrentTypes)),\r\n ariaLabelledBy: PropTypes.string,\r\n ariaDescribedBy: PropTypes.string,\r\n};\r\n\r\nLink.viewModelMeta = {\r\n className: 'ignore',\r\n tabindex: 'ignore',\r\n ariaCurrent: 'ignore',\r\n ariaLabelledBy: 'ignore',\r\n ariaDescribedBy: 'ignore',\r\n};\r\n\r\nLink.ariaCurrentTypes = ariaCurrentTypes;\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 cn from 'classnames';\r\n\r\nconst Breadcrumbs = ({ links, ariaLabel = 'Brødsmulesti', className }) => {\r\n return links ? (\r\n \r\n
    \r\n {links.map((item, index) => {\r\n return (\r\n
  • \r\n \r\n {index !== links.length - 1 &&  / }\r\n
  • \r\n );\r\n })}\r\n
\r\n \r\n ) : null;\r\n};\r\n\r\nBreadcrumbs.propTypes = {\r\n links: PropTypes.arrayOf(PropTypes.exact(Link.propTypes)),\r\n className: PropTypes.string,\r\n ariaLabel: PropTypes.string,\r\n};\r\n\r\nexport default Breadcrumbs;\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","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\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 * - widthReasolution and heightResolution it is kind of steps for automatic width/height calculation, for example if withResolution is 100, image will have with 100,200,300...1200...\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 widthResolution: PropTypes.number,\r\n heightResolution: 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 widthResolution: 'ignore',\r\n heightResolution: 'ignore',\r\n };\r\n\r\n canBeResized = imageResizer.checkImageCanBeResized(this.props.src);\r\n state = {\r\n src: !this.canBeResized\r\n ? this.props.src\r\n : DefaultWidth > 0 || DefaultHeight > 0\r\n ? imageResizer.buildResizeUrl(\r\n this.props.src,\r\n DefaultWidth,\r\n DefaultHeight,\r\n this.resizeTransform\r\n )\r\n : undefined,\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 autoTransform = Image.transforms.fill;\r\n autoCalcWidthOnly = false;\r\n autoCalcHeightOnly = false;\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 widthResolution =\r\n this.props.widthResolution > 0\r\n ? this.props.widthResolution\r\n : this.container.offsetWidth > 100\r\n ? 100\r\n : 10;\r\n\r\n const heightResolution =\r\n this.props.heightResolution > 0\r\n ? this.props.heightResolution\r\n : this.container.offsetHeight > 100\r\n ? 100\r\n : 10;\r\n\r\n const 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 const 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 const newRatio = newHeight > 0 ? Math.ceil(newWidth / newHeight) : 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 return {\r\n src: newSrc,\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 componentDidMount() {\r\n if (this.canBeResized) {\r\n this.debouncedHandleResize();\r\n window.addEventListener('resize', this.debouncedHandleResize);\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 }\r\n\r\n componentDidUpdate() {\r\n if (this.canBeResized) this.debouncedHandleResize();\r\n }\r\n\r\n render() {\r\n if (!this.props.fluid) {\r\n return (\r\n (this.container = c)}\r\n >\r\n {this.state.src && (\r\n \r\n )}\r\n \r\n );\r\n } else {\r\n return (\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\nexport default Image;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport Link from 'components/link';\r\n\r\nconst Contact = ({ image, name, title, phoneLink, mailLink }) => {\r\n return (\r\n
\r\n
\r\n {image && }\r\n
\r\n
\r\n {name &&

{name}

}\r\n {title &&
{title}
}\r\n {phoneLink && (\r\n
\r\n \r\n
\r\n )}\r\n {mailLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nContact.propTypes = {\r\n image: PropTypes.exact(Image.propTypes),\r\n name: PropTypes.string,\r\n title: PropTypes.string,\r\n phoneLink: PropTypes.exact(Link.propTypes),\r\n mailLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default Contact;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst ContactInformation = ({ heading, textHtml }) => {\r\n return (\r\n
\r\n {heading &&

{heading}

}\r\n {textHtml && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nContactInformation.propTypes = {\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nexport default ContactInformation;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Contact from 'components/contact';\r\n\r\nconst ContactUs = ({ heading, contacts }) => {\r\n return (\r\n
\r\n
\r\n
\r\n {heading &&

{heading}

}\r\n {contacts && contacts.length > 0 && (\r\n
\r\n {contacts.map((item, index) => (\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\nContactUs.propTypes = {\r\n heading: PropTypes.string,\r\n contacts: PropTypes.arrayOf(PropTypes.exact(Contact.propTypes)),\r\n};\r\n\r\nexport default ContactUs;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as Components from '../../app.components';\r\n\r\nconst ContentArea = ({ blocks }) => {\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.array,\r\n};\r\n\r\nContentArea.viewModelMeta = 'ignore';\r\n\r\nexport default ContentArea;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst CoursePartLink = ({\r\n text,\r\n partId,\r\n onClick = () => {},\r\n active = false,\r\n}) => {\r\n return (\r\n onClick({ partId })}\r\n className={cn('course-content__navigation-item-button', {\r\n 'course-content__navigation-item-button_active': active,\r\n })}\r\n disabled={active}\r\n aria-current={active ? 'true' : null}\r\n >\r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n\r\nCoursePartLink.propTypes = {\r\n text: PropTypes.string.isRequired,\r\n partId: PropTypes.number.isRequired,\r\n onClick: PropTypes.func,\r\n active: PropTypes.bool,\r\n};\r\n\r\nCoursePartLink.viewModelMeta = {\r\n onClick: 'ignore',\r\n active: 'ignore',\r\n};\r\n\r\nexport default CoursePartLink;\r\n","/* eslint-disable react/no-unused-prop-types */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst Spinner = ({ className, text }) => (\r\n
\r\n
\r\n
\r\n);\r\n\r\nSpinner.propTypes = {\r\n className: PropTypes.string,\r\n text: PropTypes.string,\r\n};\r\n\r\nSpinner.viewModelMeta = 'ignore';\r\n\r\nexport default Spinner;\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport CoursePartLink from './course-part-link';\r\nimport Spinner from 'components/spinner';\r\nimport scrollToElement from 'scroll-to-element';\r\n\r\nconst CourseContent = ({\r\n coursePartsLinks,\r\n loadCoursePartEndpoint,\r\n loadingText,\r\n errorText,\r\n prevButtonText,\r\n nextButtonText,\r\n navigationAriaLabel = 'Navigasjonsmeny for undervisning',\r\n}) => {\r\n const numberOfPartsLinks = coursePartsLinks ? coursePartsLinks.length : 0;\r\n const partsLinksAreExist = numberOfPartsLinks > 0;\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [error, setError] = useState(null);\r\n const [pageContent, setPageContent] = useState(null);\r\n const [pageId, setPageId] = useState(\r\n partsLinksAreExist ? coursePartsLinks[0].partId : null\r\n );\r\n\r\n const scrollToTopOfContent = () => {\r\n scrollToElement('.course-content', {\r\n offset: 0,\r\n ease: 'linear',\r\n duration: 500,\r\n });\r\n };\r\n\r\n const firstPartsLinkIsActive = partsLinksAreExist\r\n ? pageId !== coursePartsLinks[0].partId\r\n : false;\r\n\r\n const lastPartsLinkIsActive = partsLinksAreExist\r\n ? pageId !== coursePartsLinks[numberOfPartsLinks - 1].partId\r\n : false;\r\n\r\n const currentPartsLinkIndex = partsLinksAreExist\r\n ? coursePartsLinks.findIndex(p => p.partId === pageId)\r\n : null;\r\n\r\n const loadPageContent = () => {\r\n setIsLoading(true);\r\n setError(null);\r\n\r\n let xhr = new XMLHttpRequest();\r\n let query = `${loadCoursePartEndpoint}?partId=${pageId}`;\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === XMLHttpRequest.DONE) {\r\n if (xhr.status === 200) {\r\n setIsLoading(false);\r\n setPageContent(xhr.response);\r\n }\r\n }\r\n };\r\n\r\n xhr.onerror = function () {\r\n setError(errorText);\r\n setIsLoading(false);\r\n };\r\n\r\n xhr.open('GET', query, true);\r\n xhr.send();\r\n };\r\n\r\n const handleNavigate = activePartId => {\r\n setPageId(activePartId);\r\n };\r\n\r\n const handlePrevButtonClick = () => {\r\n firstPartsLinkIsActive &&\r\n setPageId(coursePartsLinks[currentPartsLinkIndex - 1].partId);\r\n scrollToTopOfContent();\r\n };\r\n\r\n const handleNextButtonClick = () => {\r\n lastPartsLinkIsActive &&\r\n setPageId(coursePartsLinks[currentPartsLinkIndex + 1].partId);\r\n scrollToTopOfContent();\r\n };\r\n\r\n useEffect(() => {\r\n pageId && loadPageContent(pageId);\r\n }, [pageId]);\r\n\r\n return (\r\n
\r\n {coursePartsLinks && (\r\n \r\n
    \r\n {coursePartsLinks.map((link, index) => (\r\n
  • \r\n handleNavigate(e.partId)}\r\n />\r\n
  • \r\n ))}\r\n
\r\n {isLoading && }\r\n \r\n )}\r\n\r\n {error && errorText && (\r\n
{error}
\r\n )}\r\n {pageContent &&
}\r\n\r\n {numberOfPartsLinks > 0 && (\r\n
\r\n {firstPartsLinkIsActive && (\r\n \r\n {prevButtonText}\r\n \r\n )}\r\n {lastPartsLinkIsActive && (\r\n \r\n {nextButtonText}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nCourseContent.propTypes = {\r\n coursePartsLinks: PropTypes.arrayOf(\r\n PropTypes.exact(CoursePartLink.propTypes)\r\n ),\r\n loadCoursePartEndpoint: PropTypes.string.isRequired,\r\n loadingText: PropTypes.string.isRequired,\r\n errorText: PropTypes.string.isRequired,\r\n nextButtonText: PropTypes.string.isRequired,\r\n prevButtonText: PropTypes.string.isRequired,\r\n navigationAriaLabel: PropTypes.string,\r\n};\r\n\r\nexport default CourseContent;\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 useEvent from './use-event';\r\n\r\n/** Executes the provided callback when a click event occurs outside of the provided ref */\r\nconst useClickOutside = (ref, callback = () => {}) => {\r\n useEvent('click', e => {\r\n if (\r\n ref.current &&\r\n e.target !== ref.current &&\r\n !ref.current.contains(e.target)\r\n ) {\r\n callback();\r\n }\r\n });\r\n};\r\n\r\nexport default useClickOutside;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport useClickOutside from '../../hooks/use-click-outside';\r\n\r\nconst DropDown = ({ items, label, onOptionClicked, selectedOptionIndex }) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const toggling = () => setIsOpen(!isOpen);\r\n const handleOptionClick = index => {\r\n setIsOpen(false);\r\n onOptionClicked(index);\r\n };\r\n const close = () => setIsOpen(false);\r\n const dropdownRef = React.useRef();\r\n useClickOutside(dropdownRef, close);\r\n\r\n return (\r\n
\r\n \r\n {items[selectedOptionIndex].heading}\r\n \r\n {label}\r\n\r\n \r\n {items.map((item, index) => (\r\n
  • \r\n handleOptionClick(index)}\r\n className=\"drop-down__option-button\"\r\n >\r\n {item.heading}\r\n \r\n
  • \r\n ))}\r\n \r\n
    \r\n );\r\n};\r\n\r\nDropDown.propTypes = {\r\n label: PropTypes.string,\r\n items: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n heading: PropTypes.string,\r\n text: PropTypes.string,\r\n })\r\n ),\r\n onOptionClicked: PropTypes.func,\r\n selectedOptionIndex: PropTypes.number,\r\n};\r\n\r\nDropDown.viewModelMeta = 'ignore';\r\n\r\nexport default DropDown;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst EmbeddableFormBlock = ({ html }) => {\r\n function createHtml() {\r\n return { __html: html };\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nEmbeddableFormBlock.propTypes = {\r\n html: PropTypes.string,\r\n};\r\n\r\nexport default EmbeddableFormBlock;\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(\r\n process.env.NODE_ENV === 'test'\r\n ? '../../assets/inline-icons/icons-noop.js'\r\n : '../../assets/inline-icons/icons.js'\r\n).default;\r\n\r\nconst Icon = ({ className, name, style, useFill }) => {\r\n const defaultProps = icons[name].customDefaultProps;\r\n\r\n return icons[name]\r\n ? React.createElement(icons[name], {\r\n ...(defaultProps && defaultProps),\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\n\r\nIcon.propTypes = {\r\n className: PropTypes.string,\r\n name: PropTypes.oneOf(Object.keys(icons)).isRequired,\r\n style: PropTypes.object,\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 PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport Icon from 'components/icon';\r\nimport cn from 'classnames';\r\n\r\nconst themes = {\r\n blueWithIcon: '--blue-with-icon',\r\n};\r\n\r\nconst QuickSearchPanel = ({\r\n searchInputLabel,\r\n placeholder,\r\n searchPageUrl,\r\n searchInputName,\r\n helpTextHtml,\r\n submitButtonText,\r\n formAriaLabel = 'Søkefelt for globalsøk i hurtigsøkpanelet',\r\n autocompleteEndpoint, // TODO: BE side done, FE side is not implemented yet.\r\n theme,\r\n}) => {\r\n const inputRef = React.useRef();\r\n\r\n React.useEffect(() => {\r\n inputRef.current.focus();\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n {theme === themes.blueWithIcon && (\r\n \r\n \r\n \r\n )}\r\n
    \r\n {helpTextHtml && (\r\n \r\n )}\r\n {theme !== themes.blueWithIcon && (\r\n \r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nQuickSearchPanel.propTypes = {\r\n searchInputLabel: PropTypes.string,\r\n placeholder: PropTypes.string.isRequired,\r\n searchPageUrl: PropTypes.string.isRequired,\r\n searchInputName: PropTypes.string.isRequired,\r\n helpTextHtml: PropTypes.string,\r\n submitButtonText: PropTypes.string.isRequired,\r\n autocompleteEndpoint: PropTypes.string,\r\n formAriaLabel: PropTypes.string,\r\n theme: PropTypes.oneOf(Object.values(themes)),\r\n};\r\n\r\nQuickSearchPanel.viewModelMeta = {\r\n theme: 'ignore',\r\n};\r\n\r\nQuickSearchPanel.themes = themes;\r\n\r\nexport default QuickSearchPanel;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport Icon from 'components/icon/icon';\r\n\r\nconst themes = {\r\n subscribe: 'subscribe',\r\n};\r\n\r\nconst LinkButton = ({\r\n url,\r\n text,\r\n openInNewTab = false,\r\n className,\r\n iconName,\r\n theme,\r\n}) => {\r\n return (\r\n \r\n {text}\r\n {iconName && }\r\n \r\n );\r\n};\r\n\r\nLinkButton.propTypes = {\r\n className: PropTypes.string,\r\n iconName: PropTypes.string,\r\n url: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n openInNewTab: PropTypes.bool,\r\n theme: PropTypes.oneOf(Object.values(themes)),\r\n};\r\n\r\nLinkButton.viewModelMeta = {\r\n className: 'ignore',\r\n iconName: 'ignore',\r\n theme: 'ignore',\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';\r\nimport QuickSearchPanel from 'components/quick-search-panel';\r\nimport LinkButton from 'components/link-button';\r\n\r\nconst ErrorBlock = ({ errorCode, bigText, smallText, image, search, link }) => {\r\n return (\r\n
    \r\n

    {errorCode}

    \r\n
    {bigText}
    \r\n
    {smallText}
    \r\n {image && (\r\n
    \r\n \r\n
    \r\n )}\r\n {search && (\r\n \r\n )}\r\n {link && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nErrorBlock.propTypes = {\r\n errorCode: PropTypes.string,\r\n bigText: PropTypes.string,\r\n smallText: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n search: PropTypes.exact(QuickSearchPanel.propTypes),\r\n link: PropTypes.exact(LinkButton.propTypes),\r\n};\r\n\r\nexport default ErrorBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport Image from 'components/image';\r\nimport cn from 'classnames';\r\n\r\nconst Factbox = ({ className, backgroundColor, title, icon, textHtml }) => {\r\n return (\r\n \r\n {icon && (\r\n
    \r\n \r\n
    \r\n )}\r\n {title &&

    {title}

    }\r\n {textHtml && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nFactbox.propTypes = {\r\n className: PropTypes.string,\r\n backgroundColor: PropTypes.string.isRequired,\r\n icon: PropTypes.exact(Image.propTypes),\r\n title: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nFactbox.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default Factbox;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport Factbox from 'components/factbox';\r\nimport cn from 'classnames';\r\n\r\nconst FactboxWithTextBlock = ({\r\n factbox,\r\n className,\r\n factboxPosition,\r\n textHtml,\r\n}) => {\r\n const twoColumns = factbox && textHtml;\r\n\r\n return factbox || textHtml ? (\r\n \r\n \r\n {factbox && (\r\n
    \r\n \r\n
    \r\n )}\r\n {textHtml && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n ) : null;\r\n};\r\n\r\nFactboxWithTextBlock.propTypes = {\r\n className: PropTypes.string,\r\n factbox: PropTypes.exact(Factbox.propTypes),\r\n factboxPosition: PropTypes.oneOf(['left', 'right']).isRequired,\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nFactboxWithTextBlock.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default FactboxWithTextBlock;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon';\r\nimport cn from 'classnames';\r\n\r\nconst icons = {\r\n instagram: 'instagram',\r\n facebook: 'facebook',\r\n youtube: 'youtube',\r\n};\r\n\r\nconst SocialLink = ({ url, icon, className, openInNewTab, ariaLabel }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSocialLink.propTypes = {\r\n className: PropTypes.string,\r\n url: PropTypes.string.isRequired,\r\n icon: PropTypes.oneOf(Object.values(icons)).isRequired,\r\n openInNewTab: PropTypes.bool,\r\n ariaLabel: PropTypes.string,\r\n};\r\n\r\nSocialLink.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default SocialLink;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SocialLink from 'components/social-link';\r\nimport RichText from 'components/rich-text';\r\nimport Link from 'components/link';\r\nimport LinkButton from 'components/link-button';\r\n\r\nconst Footer = ({\r\n content1Html,\r\n content2Html,\r\n subscribeButton,\r\n socialLinks,\r\n copyrightText,\r\n cookiesLink,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {content1Html && (\r\n \r\n )}\r\n {content2Html && (\r\n \r\n )}\r\n
    \r\n {subscribeButton && (\r\n \r\n )}\r\n {socialLinks && (\r\n
      \r\n {socialLinks.map((socialLink, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {copyrightText && (\r\n
    {copyrightText}
    \r\n )}\r\n {cookiesLink && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nFooter.propTypes = {\r\n subscribeButton: PropTypes.exact(LinkButton.propTypes),\r\n content1Html: PropTypes.string,\r\n content2Html: PropTypes.string,\r\n socialLinks: PropTypes.arrayOf(PropTypes.exact(SocialLink.propTypes)),\r\n copyrightText: PropTypes.string,\r\n cookiesLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default Footer;\r\n","const prefixesDictionary = {};\r\n\r\nconst generateUniqueId = prefix => {\r\n if (!prefixesDictionary[prefix]) {\r\n prefixesDictionary[prefix] = 1;\r\n } else {\r\n prefixesDictionary[prefix] += 1;\r\n }\r\n return `${prefix}-${prefixesDictionary[prefix]}`;\r\n};\r\n\r\nexport default {\r\n generateUniqueId,\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Link from 'components/link';\r\nimport RichText from 'components/rich-text';\r\nimport idHelper from 'js/id-helper';\r\n\r\nconst GettingStartedLink = ({ heading, introHtml, link }) => {\r\n const uniqueId = useMemo(\r\n () => idHelper.generateUniqueId('getting-started-link'),\r\n []\r\n );\r\n const headingId = `${uniqueId}-heading`;\r\n const descriptionId = `${uniqueId}-description`;\r\n\r\n return (\r\n
  • \r\n {heading && (\r\n \r\n {heading}\r\n \r\n )}\r\n {introHtml && (\r\n \r\n )}\r\n {link && (\r\n \r\n )}\r\n
  • \r\n );\r\n};\r\n\r\nGettingStartedLink.propTypes = {\r\n heading: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n link: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default GettingStartedLink;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport GettingStartedLink from 'components/front-page-hero/getting-started-link';\r\nimport imageResizer from 'js/image-resizer';\r\nimport Link from 'components/link';\r\nimport debounce from 'lodash/debounce';\r\n\r\nconst FrontPageHero = ({\r\n backgroundImage,\r\n backgroundImageMobile,\r\n mainHeading,\r\n secondaryHeadingLeft,\r\n secondaryHeadingRight,\r\n gettingStartedLinks,\r\n gettingStartedReadMoreLink,\r\n}) => {\r\n const isDesktopView = () => {\r\n return document.body.clientWidth >= 768;\r\n };\r\n\r\n const [imageWidth, setImageWidth] = useState(0);\r\n const [imageSource, setImageSource] = useState(\r\n backgroundImageMobile ? null : backgroundImage\r\n );\r\n\r\n useEffect(() => {\r\n if (backgroundImageMobile) {\r\n setImageSource(isDesktopView() ? backgroundImage : backgroundImageMobile);\r\n let isDesktop = isDesktopView();\r\n const handleResize = () => {\r\n if (isDesktopView() !== isDesktop) {\r\n setImageSource(\r\n isDesktopView() ? backgroundImage : backgroundImageMobile\r\n );\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n }\r\n isDesktop = isDesktopView();\r\n };\r\n\r\n window.addEventListener('resize', debounce(handleResize, 200));\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }\r\n setImageWidth(imageResizer.calcImageWidth(window.screen.width, 100));\r\n }, []);\r\n\r\n return (\r\n
    \r\n
    \r\n {imageSource && (\r\n \r\n )}\r\n {mainHeading && (\r\n
    \r\n

    {mainHeading}

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {secondaryHeadingLeft && (\r\n

    \r\n {secondaryHeadingLeft}\r\n

    \r\n )}\r\n\r\n {secondaryHeadingRight && (\r\n

    \r\n {secondaryHeadingRight}\r\n

    \r\n )}\r\n
    \r\n {gettingStartedReadMoreLink && (\r\n \r\n )}\r\n {gettingStartedLinks && (\r\n
      \r\n {gettingStartedLinks.map((gettingStartedLink, index) => (\r\n \r\n ))}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nFrontPageHero.propTypes = {\r\n backgroundImage: PropTypes.exact(Image.propTypes),\r\n backgroundImageMobile: PropTypes.exact(Image.propTypes),\r\n mainHeading: PropTypes.string,\r\n secondaryHeadingLeft: PropTypes.string,\r\n secondaryHeadingRight: PropTypes.string,\r\n gettingStartedLinks: PropTypes.arrayOf(\r\n PropTypes.exact(GettingStartedLink.propTypes)\r\n ),\r\n gettingStartedReadMoreLink: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default FrontPageHero;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport RichText from 'components/rich-text';\r\nimport LinkButton from 'components/link-button';\r\nimport cn from 'classnames';\r\n\r\nconst styles = {\r\n default: 'default',\r\n overlay: 'overlay',\r\n};\r\n\r\nconst FullWidthBanner = ({\r\n backgroundImage,\r\n heading,\r\n textHtml,\r\n style,\r\n readMoreButton,\r\n}) => {\r\n return (\r\n \r\n {backgroundImage && (\r\n \r\n )}\r\n
    \r\n {heading &&

    {heading}

    }\r\n {textHtml && (\r\n \r\n )}\r\n {readMoreButton && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nFullWidthBanner.propTypes = {\r\n backgroundImage: PropTypes.exact(Image.propTypes),\r\n heading: PropTypes.string,\r\n textHtml: PropTypes.string,\r\n style: PropTypes.oneOf(Object.values(styles)).isRequired,\r\n readMoreButton: PropTypes.exact(LinkButton.propTypes),\r\n};\r\n\r\nexport default FullWidthBanner;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport RichText from 'components/rich-text';\r\nimport Link from 'components/link';\r\n\r\nconst GettingStartedTeaser = ({ image, heading, introHtml, link }) => {\r\n return (\r\n \r\n {image && }\r\n {heading && (\r\n

    {heading}

    \r\n )}\r\n {introHtml && (\r\n \r\n )}\r\n {link && link.text && (\r\n {link.text}\r\n )}\r\n \r\n );\r\n};\r\n\r\nGettingStartedTeaser.propTypes = {\r\n image: PropTypes.exact(Image.propTypes),\r\n heading: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n link: PropTypes.exact(Link.propTypes),\r\n};\r\n\r\nexport default GettingStartedTeaser;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport GettingStartedTeaser from 'components/getting-started-teaser';\r\n\r\nconst GettingStartedList = ({ teasers }) => {\r\n return (\r\n
    \r\n
      \r\n {teasers.map((teaser, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nGettingStartedList.propTypes = {\r\n teasers: PropTypes.arrayOf(PropTypes.exact(GettingStartedTeaser.propTypes))\r\n .isRequired,\r\n};\r\n\r\nexport default GettingStartedList;\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","/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\nimport Link from 'components/link';\r\n\r\nconst MenuLink = ({\r\n className,\r\n openInNewTab,\r\n url,\r\n text,\r\n tabindex,\r\n isActive,\r\n isCurrent = false,\r\n}) => (\r\n \r\n);\r\n\r\nMenuLink.propTypes = Object.assign({}, Link.propTypes, {\r\n isActive: PropTypes.bool,\r\n isCurrent: PropTypes.bool,\r\n});\r\n\r\nexport default MenuLink;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuLink from 'components/menu-link';\r\nimport LinkButton from 'components/link-button/link-button';\r\nimport SocialLink from 'components/social-link';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport cn from 'classnames';\r\nimport Icon from 'components/icon/icon';\r\n\r\nconst MainMenu = ({\r\n firstColumnLinks,\r\n secondColumnLinks,\r\n thirdColumnHeading,\r\n thirdColumnLinks,\r\n subscribeLink,\r\n socialLinks,\r\n}) => {\r\n const [menuIsOpened, toggleMenu] = useToggle(false);\r\n\r\n const onMenuButtonClick = React.useCallback(() => {\r\n toggleMenu();\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nMainMenu.propTypes = {\r\n firstColumnLinks: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)),\r\n secondColumnLinks: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)),\r\n thirdColumnHeading: PropTypes.string,\r\n thirdColumnLinks: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)),\r\n socialLinks: PropTypes.arrayOf(PropTypes.exact(SocialLink.propTypes)),\r\n subscribeLink: PropTypes.exact(LinkButton.propTypes),\r\n};\r\n\r\nexport default MainMenu;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport MenuLink from 'components/menu-link';\r\n\r\nconst HeaderMenu = ({ headerMenuLinks }) => {\r\n return (\r\n
    \r\n {headerMenuLinks && (\r\n
      \r\n {headerMenuLinks.map((link, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nHeaderMenu.propTypes = {\r\n headerMenuLinks: PropTypes.arrayOf(PropTypes.exact(MenuLink.propTypes)),\r\n};\r\n\r\nexport default HeaderMenu;\r\n","import React, { useCallback, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport useClickOutside from 'hooks/use-click-outside';\r\nimport MainMenu from 'components/main-menu';\r\nimport HeaderMenu from 'components/header/header-menu';\r\nimport QuickSearchPanel from 'components/quick-search-panel';\r\nimport cn from 'classnames';\r\nimport Icon from 'components/icon';\r\nimport Image from 'components/image';\r\nimport useEvent from 'hooks/use-event';\r\nimport FocusTrap from 'focus-trap-react';\r\n\r\nconst Header = ({\r\n logo,\r\n mainMenu,\r\n quickSearchPanel,\r\n headerMenu,\r\n buttonSearchAriaLabel = 'Søkevindu',\r\n buttonMenuAriaLabel = 'Meny',\r\n buttonCloseAriaLabel,\r\n quickSearchPanelTitleAriaLabel = 'Modalvindu for globalsøk',\r\n mainMenuTitleAriaLabel = 'Modalvindu for hovedmeny',\r\n}) => {\r\n const [popupIsOpened, togglePopup, hidePopup] = useToggle(false);\r\n const [searchMode, setSearchModIsActive] = useState(false);\r\n\r\n const onMenuButtonClick = useCallback(() => {\r\n setSearchModIsActive(false);\r\n togglePopup();\r\n }, []);\r\n\r\n const onSearchButtonClick = React.useCallback(() => {\r\n setSearchModIsActive(true);\r\n togglePopup();\r\n }, []);\r\n\r\n const navigationRef = React.useRef();\r\n\r\n useClickOutside(navigationRef, () => {\r\n hidePopup();\r\n });\r\n\r\n useEvent('keydown', event => {\r\n event.key === 'Escape' && hidePopup();\r\n });\r\n\r\n return (\r\n
    \r\n \r\n {logo.image && }\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\n {logo.expandedMenuImage && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n {searchMode ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n logo: PropTypes.shape({\r\n url: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n expandedMenuImage: PropTypes.exact(Image.propTypes),\r\n ariaLabel: PropTypes.string,\r\n }),\r\n mainMenu: PropTypes.exact(MainMenu.propTypes),\r\n headerMenu: PropTypes.exact(HeaderMenu.propTypes),\r\n quickSearchPanel: PropTypes.exact(QuickSearchPanel.propTypes),\r\n buttonSearchAriaLabel: PropTypes.string,\r\n buttonMenuAriaLabel: PropTypes.string,\r\n buttonCloseAriaLabel: PropTypes.string,\r\n quickSearchPanelTitleAriaLabel: PropTypes.string,\r\n mainMenuTitleAriaLabel: PropTypes.string,\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport RichText from 'components/rich-text';\r\nimport cn from 'classnames';\r\n\r\nconst ImageWithCaption = ({\r\n image,\r\n caption,\r\n imageSizeClassName,\r\n className,\r\n}) => {\r\n return (\r\n
    \r\n {image && (\r\n \r\n )}\r\n {caption && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nImageWithCaption.propTypes = {\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};\r\n\r\nImageWithCaption.viewModelMeta = {\r\n className: 'ignore',\r\n imageSizeClassName: 'ignore',\r\n};\r\n\r\nexport default ImageWithCaption;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ImageWithCaption from 'components/image-with-caption';\r\nimport Slider from 'react-slick';\r\nimport debounce from 'lodash/debounce';\r\nimport cn from 'classnames';\r\n\r\nconst gallerySettings = {\r\n dots: true,\r\n centerMode: true,\r\n infinite: false,\r\n speed: 500,\r\n centerPadding: 0,\r\n slidesToScroll: 1,\r\n slidesToShow: 1,\r\n};\r\n\r\nconst galleryImageClassName = 'image-gallery__image';\r\n\r\nconst ImageGallery = ({ items, className }) => {\r\n const imageGalleryContainer = React.useRef(null);\r\n const [currentSlideIndex, setCurrentSlideIndex] = React.useState(0);\r\n\r\n const getSlideHeight = slideIndex => {\r\n let slideHeight = 0;\r\n if (imageGalleryContainer && imageGalleryContainer.current) {\r\n const currentSlide = imageGalleryContainer.current.querySelectorAll(\r\n '.' + galleryImageClassName\r\n )[slideIndex];\r\n const currentSlideImage = currentSlide.querySelector('.image');\r\n if (currentSlideImage) {\r\n slideHeight = currentSlideImage.offsetHeight;\r\n }\r\n }\r\n return slideHeight;\r\n };\r\n\r\n const updateNavigationControlsPosition = currentSlideIndex => {\r\n if (imageGalleryContainer && imageGalleryContainer.current) {\r\n const slideHeight = getSlideHeight(currentSlideIndex);\r\n const sliderDots =\r\n imageGalleryContainer.current.querySelector('.slick-dots');\r\n const sliderArrows =\r\n imageGalleryContainer.current.querySelectorAll('.slick-arrow');\r\n if (sliderArrows && sliderArrows.length > 0) {\r\n for (let i = 0; i < sliderArrows.length; i++) {\r\n sliderArrows[i].style.top = slideHeight / 2 + 'px';\r\n sliderArrows[i].style.display = 'block';\r\n }\r\n }\r\n if (sliderDots) {\r\n sliderDots.style.top = slideHeight - 65 + 'px';\r\n sliderDots.style.display = 'block';\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n function recalculateElementsPosition() {\r\n updateNavigationControlsPosition(currentSlideIndex);\r\n }\r\n const debouncedRecalculateElementsPosition = debounce(\r\n recalculateElementsPosition,\r\n 100\r\n );\r\n window.addEventListener('resize', debouncedRecalculateElementsPosition);\r\n return () => {\r\n window.removeEventListener(\r\n 'resize',\r\n debouncedRecalculateElementsPosition\r\n );\r\n };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n updateNavigationControlsPosition(currentSlideIndex);\r\n }, [currentSlideIndex]);\r\n\r\n const onSlideChange = currentSlideIndex => {\r\n setCurrentSlideIndex(currentSlideIndex);\r\n };\r\n\r\n return items && items.length > 0 ? (\r\n \r\n
    \r\n \r\n {items.map((image, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
    \r\n \r\n ) : null;\r\n};\r\n\r\nImageGallery.propTypes = {\r\n className: PropTypes.string,\r\n items: PropTypes.arrayOf(PropTypes.exact(ImageWithCaption.propTypes))\r\n .isRequired,\r\n};\r\n\r\nImageGallery.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default ImageGallery;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport ImageWithCaption from 'components/image-with-caption';\r\nimport cn from 'classnames';\r\n\r\nconst ImageWithTextBlock = ({ image, className, imagePosition, textHtml }) => {\r\n const twoColumns = image && textHtml;\r\n\r\n return image || textHtml ? (\r\n \r\n \r\n {image && (\r\n
    \r\n \r\n
    \r\n )}\r\n {textHtml && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n ) : null;\r\n};\r\n\r\nImageWithTextBlock.propTypes = {\r\n className: PropTypes.string,\r\n image: PropTypes.exact(ImageWithCaption.propTypes),\r\n imagePosition: PropTypes.oneOf(['left', 'right']).isRequired,\r\n textHtml: PropTypes.string,\r\n};\r\n\r\nImageWithTextBlock.viewModelMeta = {\r\n className: 'ignore',\r\n};\r\n\r\nexport default ImageWithTextBlock;\r\n","import PropTypes from 'prop-types';\r\nconst IngredientBase = {};\r\n\r\nIngredientBase.propTypes = {\r\n heading: PropTypes.string,\r\n text: PropTypes.string,\r\n};\r\n\r\nexport default IngredientBase;\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport RichText from 'components/rich-text';\r\nimport DropDown from 'components/drop-down/drop-down';\r\nimport IngredientBase from './ingredient-base';\r\n\r\nconst Ingredients = ({\r\n heading,\r\n forAdults,\r\n forChildren,\r\n forKindergarten,\r\n label,\r\n}) => {\r\n const [selectedOptionIndex, setSelectedOptionIndex] = useState(0);\r\n const items = [forAdults, forChildren, forKindergarten].filter(Boolean);\r\n const selectedItem = items[selectedOptionIndex] || null;\r\n return (\r\n
    \r\n {heading &&

    {heading}

    }\r\n \r\n {selectedItem && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nIngredients.propTypes = {\r\n heading: PropTypes.string,\r\n label: PropTypes.string,\r\n forAdults: PropTypes.exact(IngredientBase.propTypes),\r\n forChildren: PropTypes.exact(IngredientBase.propTypes),\r\n forKindergarten: PropTypes.exact(IngredientBase.propTypes),\r\n};\r\n\r\nexport default Ingredients;\r\n","import PubSub from 'pubsub-js';\r\n\r\nconst errorMessageTopic = 'error-message';\r\nconst messageTopic = 'message';\r\n\r\nfunction onTopic(topic, func) {\r\n if (typeof func !== 'function') {\r\n return;\r\n }\r\n\r\n return PubSub.subscribe(topic, (topic, { message }) => {\r\n func({ message });\r\n });\r\n}\r\n\r\nfunction send(topic, { message }) {\r\n PubSub.publish(topic, { message });\r\n}\r\n\r\nconst onErrorMessage = func => onTopic(errorMessageTopic, func);\r\n\r\nconst onMessage = func => onTopic(messageTopic, func);\r\n\r\nconst sendErrorMessage = ({ message }) => send(errorMessageTopic, { message });\r\n\r\nconst sendMessage = ({ message }) => send(messageTopic, { message });\r\n\r\nexport default {\r\n onErrorMessage,\r\n onMessage,\r\n sendErrorMessage,\r\n sendMessage,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport cn from 'classnames';\r\n\r\nimport messenger from 'js/messenger';\r\n\r\nclass Message extends React.Component {\r\n static propTypes = {\r\n isErrorMessage: PropTypes.bool,\r\n text: PropTypes.string,\r\n };\r\n\r\n state = {\r\n isErrorMessage: this.props.isErrorMessage,\r\n isVisible: false,\r\n text: this.props.text,\r\n };\r\n\r\n show = ({ message, isErrorMessage }) => {\r\n this.setState(\r\n { isVisible: !!message, isErrorMessage, text: message },\r\n () => {\r\n if (!this.state.isErrorMessage) {\r\n setTimeout(() => {\r\n this.hide();\r\n }, 3000);\r\n }\r\n }\r\n );\r\n };\r\n\r\n hide = () => {\r\n this.setState({ isVisible: false });\r\n };\r\n\r\n componentDidMount() {\r\n if (this.props.text) {\r\n this.setState({ isVisible: true });\r\n }\r\n\r\n messenger.onErrorMessage(({ message }) => {\r\n this.show({ message, isErrorMessage: true });\r\n });\r\n\r\n messenger.onMessage(({ message }) => {\r\n this.show({ message, isErrorMessage: false });\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n this.state.isVisible && (\r\n \r\n

    {this.state.text}

    \r\n {this.state.isErrorMessage && (\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nModal.propTypes = {\r\n children: PropTypes.node,\r\n logo: PropTypes.exact(Image.propTypes),\r\n isOpened: PropTypes.bool,\r\n closeLabel: PropTypes.string,\r\n onClose: PropTypes.func,\r\n titleAriaLabel: PropTypes.string,\r\n};\r\n\r\nModal.viewModelMeta = 'ignore';\r\n\r\nexport default Modal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport RichText from 'components/rich-text';\r\nimport Link from 'components/link';\r\n\r\nconst PagesListItem = ({ image, heading, introHtml, link }) =>\r\n (() => {\r\n const linkUrlExists = link && link.url;\r\n const ItemContent = () => (\r\n \r\n
    \r\n {image && }\r\n
    \r\n
    \r\n {heading &&

    {heading}

    }\r\n {introHtml && (\r\n \r\n )}\r\n {linkUrlExists && link.text && (\r\n \r\n {link.text}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n return linkUrlExists ? (\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n \r\n
    \r\n );\r\n })();\r\n\r\nPagesListItem.propTypes = {\r\n image: PropTypes.exact(Image.propTypes),\r\n heading: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n link: PropTypes.exact(Link.propTypes),\r\n id: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default PagesListItem;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst SelectOption = ({ id, value, label, isSelected, onChange }) => {\r\n const handleChange = () => {\r\n onChange({ value: value });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {label}\r\n \r\n
    \r\n );\r\n};\r\n\r\nSelectOption.propTypes = {\r\n id: PropTypes.string,\r\n value: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n isSelected: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nSelectOption.viewModelMeta = {\r\n id: 'ignore',\r\n};\r\n\r\nexport default SelectOption;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SelectOption from 'components/select-option';\r\n\r\nconst TagFilter = ({\r\n options = [],\r\n name,\r\n clearLabel,\r\n multiselect = false,\r\n onChange = () => {},\r\n}) => {\r\n const [clearOption, setClearOption] = useState(\r\n clearLabel ? { label: clearLabel, value: '' } : null\r\n );\r\n const [optionsMap, setOptions] = useState(\r\n new Map(options.map(o => [o.value, o]))\r\n );\r\n\r\n useEffect(() => {\r\n if (clearOption) {\r\n clearOption.isSelected = ![...optionsMap.values()].find(\r\n o => o.isSelected\r\n );\r\n setClearOption(Object.assign({}, clearOption));\r\n }\r\n }, [optionsMap]);\r\n\r\n const refreshOptions = () => {\r\n setOptions(new Map(optionsMap));\r\n };\r\n\r\n const handleClearOptionChange = () => {\r\n for (var option of optionsMap.values()) {\r\n option.isSelected = false;\r\n }\r\n refreshOptions();\r\n onChange({\r\n options: [],\r\n selectedValues: [],\r\n value: null,\r\n });\r\n };\r\n\r\n const handleOptionChange = e => {\r\n var targetOption = optionsMap.get(e.value);\r\n if (!multiselect && targetOption.isSelected) return;\r\n\r\n targetOption.isSelected = !targetOption.isSelected;\r\n if (!multiselect && targetOption.isSelected) {\r\n for (var option of optionsMap.values()) {\r\n option.isSelected = option === targetOption;\r\n }\r\n }\r\n refreshOptions();\r\n const options = [...optionsMap.values()];\r\n const selectedValues = options.filter(o => o.isSelected).map(o => o.value);\r\n const value = (options.find(o => o.isSelected) || {}).value || null;\r\n onChange({\r\n options: options,\r\n selectedValues: selectedValues,\r\n value: value,\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n
      \r\n {clearOption && (\r\n
    • \r\n \r\n
    • \r\n )}\r\n {[...optionsMap.values()].map((option, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nTagFilter.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n multiselect: PropTypes.bool,\r\n options: PropTypes.arrayOf(PropTypes.exact(SelectOption.propTypes)),\r\n clearLabel: PropTypes.string,\r\n onChange: PropTypes.func,\r\n};\r\nexport default TagFilter;\r\n","import isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\n/* NOTE: Implement Google Tag Manager for this module to work correctly\r\n\r\n Step 1\r\n Copy the following JavaScript and paste it as close to the opening tag as possible on every page of your website\r\n \r\n\r\n Step 2\r\n Copy the following snippet and paste it immediately after the opening tag on every page of your website\r\n \r\n*/\r\n\r\nfunction Timeout(fn, delay) {\r\n const id = setTimeout(() => {\r\n this.clear();\r\n fn();\r\n }, delay);\r\n\r\n this.cleared = false;\r\n this.clear = () => {\r\n this.cleared = true;\r\n clearTimeout(id);\r\n };\r\n}\r\n\r\nfunction getCallbackEnhancedData(data, callback) {\r\n if (typeof callback !== 'function') {\r\n return data;\r\n }\r\n\r\n // NOTE: The timeout will call the callback after the delay unless eventCallback is called first, clearing the timeout.\r\n // This ensures that the callback will be called even if GTM is unavailable or can't handle the event fast enough.\r\n const callbackTimeout = new Timeout(callback, 300);\r\n\r\n return Object.assign({}, data, {\r\n eventCallback: () => {\r\n if (!callbackTimeout.cleared) {\r\n callbackTimeout.clear();\r\n callback();\r\n }\r\n },\r\n });\r\n}\r\n\r\nfunction send(data, callback) {\r\n if (!data || !isRunningOnClient) {\r\n return;\r\n }\r\n\r\n window.dataLayer = window.dataLayer || [];\r\n\r\n if (data.length) {\r\n data.forEach(dataObject => {\r\n window.dataLayer.push(getCallbackEnhancedData(dataObject, callback));\r\n });\r\n } else {\r\n window.dataLayer.push(getCallbackEnhancedData(data, callback));\r\n }\r\n}\r\n\r\nexport default {\r\n send,\r\n};\r\n","import analytics from './analytics';\r\nimport getData from '@creuna/utils/get-data';\r\nimport messenger from './messenger';\r\n\r\nconst defaultFetchOptions = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n credentials: 'include',\r\n};\r\n\r\nfunction parseResponse(response) {\r\n return response.json().then(json => ({ json, response }));\r\n}\r\n\r\nfunction handleUserMessages({ json, response }) {\r\n if (json.messageToUser) {\r\n if (json.success) {\r\n messenger.sendMessage({ message: json.messageToUser });\r\n } else {\r\n messenger.sendErrorMessage({ message: json.messageToUser });\r\n }\r\n }\r\n\r\n return { json, response };\r\n}\r\n\r\nfunction handleAnalytics({ json, response }) {\r\n if (json.analytics) {\r\n analytics.send(json.analytics);\r\n }\r\n\r\n return { json, response };\r\n}\r\n\r\nfunction handleNotOk({ json, response }) {\r\n // NOTE: `response.ok` is true when the returned status is in the inclusive range 200-299.\r\n if (!response.ok && !json.messageToUser) {\r\n const error = new Error(response.statusText);\r\n\r\n error.name = `${response.status} on ${response.url}`;\r\n\r\n throw error;\r\n }\r\n\r\n return { json, response };\r\n}\r\n\r\nfunction handleResponse({ json }) {\r\n return json.payload || json;\r\n}\r\n\r\nfunction handleFetchError(error) {\r\n messenger.sendErrorMessage({\r\n message:\r\n getData('generic-error-message') ||\r\n 'Noe gikk galt. Vennligst prøv igjen senere.',\r\n });\r\n\r\n return Promise.reject(error);\r\n}\r\n\r\nfunction request(url, options) {\r\n return fetch(url, options)\r\n .then(parseResponse)\r\n .then(handleUserMessages)\r\n .then(handleAnalytics)\r\n .then(handleNotOk)\r\n .then(handleResponse)\r\n .catch(handleFetchError);\r\n}\r\n\r\nfunction post(endpoint, data) {\r\n return request(\r\n endpoint,\r\n Object.assign({}, defaultFetchOptions, {\r\n body: data,\r\n method: 'post',\r\n })\r\n );\r\n}\r\n\r\nfunction get(endpoint) {\r\n return request(endpoint, defaultFetchOptions);\r\n}\r\n\r\nfunction execute(endpoint, data) {\r\n if (endpoint.indexOf('/static-site/api') !== -1) {\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(request(endpoint, defaultFetchOptions));\r\n }, 1000);\r\n });\r\n }\r\n\r\n return post(endpoint, JSON.stringify(data));\r\n}\r\n\r\nexport default {\r\n execute,\r\n get,\r\n};\r\n","import replaceQueryParameters from '@creuna/utils/replace-query-parameters';\r\n\r\nconst _getUndefinedIfEmpty = value => {\r\n return !value || value === '' || value.length === 0 ? undefined : value;\r\n};\r\n\r\nconst getFilterSelectedValues = options => {\r\n return options.filter(o => o.isSelected).map(o => o.value);\r\n};\r\n\r\nconst createQuery = () => {\r\n return new Object();\r\n};\r\n\r\nconst setQueryValue = (query, name, value) => {\r\n query[name] = _getUndefinedIfEmpty(value);\r\n};\r\n\r\nconst setToQueryFilterOptions = (query, filter, currentOptions = null) => {\r\n if (!filter) {\r\n return;\r\n }\r\n setQueryValue(\r\n query,\r\n filter.name,\r\n getFilterSelectedValues(currentOptions || filter.options)\r\n );\r\n};\r\n\r\nconst setToQueryTextInputValue = (query, textInput, currentValue = null) => {\r\n if (!textInput) {\r\n return;\r\n }\r\n setQueryValue(query, textInput.name, currentValue ?? textInput.value);\r\n};\r\n\r\nconst updatePageQueryString = query => {\r\n var newUrl = replaceQueryParameters(window.location.toString(), query);\r\n window.history.replaceState({}, document.title, newUrl);\r\n};\r\n\r\nexport default {\r\n createQuery,\r\n setQueryValue,\r\n getFilterSelectedValues,\r\n setToQueryFilterOptions,\r\n setToQueryTextInputValue,\r\n updatePageQueryString,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PagesListItem from './pages-list-item';\r\nimport TagFilter from 'components/tag-filter';\r\nimport api from '../../js/api-helper';\r\nimport formHelper from 'js/form-helper';\r\nimport replaceQueryParameters from '@creuna/utils/replace-query-parameters';\r\nimport Spinner from 'components/spinner';\r\n\r\nconst PagesList = ({ tagFilter, loadItemsEndpoint, errorText }) => {\r\n const buildDefaultQuery = () => {\r\n const query = formHelper.createQuery();\r\n if (tagFilter) {\r\n formHelper.setToQueryFilterOptions(query, tagFilter);\r\n }\r\n return query;\r\n };\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [pages, setPages] = React.useState(null);\r\n const [error, setError] = React.useState(false);\r\n const [query, setQuery] = React.useState(buildDefaultQuery());\r\n\r\n const loadPages = () => {\r\n setIsLoading(true);\r\n var loadUrl = replaceQueryParameters(loadItemsEndpoint, query);\r\n api\r\n .get(loadUrl)\r\n .then(response => {\r\n setIsLoading(false);\r\n if (response.listItems.length !== 0) {\r\n setPages(response.listItems);\r\n }\r\n })\r\n .catch(() => {\r\n setError(true);\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n const handleTagFilterChange = e => {\r\n formHelper.setToQueryFilterOptions(query, tagFilter, e.options);\r\n setQuery(Object.assign({}, query));\r\n };\r\n\r\n React.useEffect(() => {\r\n formHelper.updatePageQueryString(query);\r\n loadPages();\r\n }, [query]);\r\n return (\r\n
    \r\n {tagFilter && (\r\n
    \r\n \r\n {isLoading && }\r\n
    \r\n )}\r\n {error ? (\r\n
    {errorText}
    \r\n ) : (\r\n pages && (\r\n
      \r\n {pages.map(listItem => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n )\r\n )}\r\n
    \r\n );\r\n};\r\n\r\nPagesList.propTypes = {\r\n tagFilter: PropTypes.exact(TagFilter.propTypes),\r\n listItems: PropTypes.arrayOf(PropTypes.exact(PagesListItem.propTypes)),\r\n errorText: PropTypes.string.isRequired,\r\n loadItemsEndpoint: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default PagesList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon';\r\nimport cn from 'classnames';\r\nimport isRunningOnClient from '@creuna/utils/is-running-on-client';\r\n\r\nconst PrintButton = ({ label, className }) => {\r\n const printPage = () => {\r\n isRunningOnClient && window.print();\r\n };\r\n\r\n return (\r\n \r\n \r\n {label && {label}}\r\n \r\n );\r\n};\r\n\r\nPrintButton.propTypes = {\r\n className: PropTypes.string,\r\n label: PropTypes.string,\r\n};\r\n\r\nexport default PrintButton;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nconst Answer = ({\r\n text,\r\n isCorrect,\r\n onChange,\r\n checked,\r\n showResults,\r\n name,\r\n isMultipleChoice,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nAnswer.propTypes = {\r\n text: PropTypes.string.isRequired,\r\n name: PropTypes.string,\r\n isCorrect: PropTypes.bool,\r\n showResults: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n checked: PropTypes.bool,\r\n isMultipleChoice: PropTypes.bool,\r\n};\r\n\r\nAnswer.viewModelMeta = {\r\n showResults: 'ignore',\r\n checked: 'ignore',\r\n name: 'ignore',\r\n isMultipleChoice: 'ignore',\r\n};\r\n\r\nexport default Answer;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Answer from './answer';\r\nimport RichText from 'components/rich-text';\r\n\r\nconst Question = ({\r\n textHtml,\r\n answers,\r\n showResults,\r\n questionNumber,\r\n selectNoteText,\r\n onChange = () => {},\r\n isSelected,\r\n showValidation,\r\n}) => {\r\n const [checkedValue, setIsChecked] = React.useState(null);\r\n const [checkedItems, setCheckedItems] = React.useState({});\r\n const handleChange = event => {\r\n setCheckedItems({\r\n ...checkedItems,\r\n [event.target.name]: event.target.checked,\r\n });\r\n setIsChecked(null);\r\n };\r\n\r\n const isMultipleChoice = answers.filter(a => a.isCorrect).length > 1;\r\n\r\n React.useEffect(() => {\r\n const allMultipleChoicesFalse = arr => arr.every(v => v === false);\r\n\r\n let checkIfMultySelected =\r\n Object.keys(checkedItems).length > 0\r\n ? !allMultipleChoicesFalse(Object.values(checkedItems))\r\n : false;\r\n let checkIfSingleSelected = isMultipleChoice\r\n ? false\r\n : checkedValue !== null;\r\n\r\n onChange(questionNumber, checkIfMultySelected || checkIfSingleSelected);\r\n }, [checkedValue, checkedItems]);\r\n\r\n return (\r\n
    \r\n \r\n {showValidation && !isSelected && (\r\n
    \r\n {selectNoteText}\r\n
    \r\n )}\r\n
      \r\n {answers.map((answer, index) => (\r\n
    • \r\n \r\n setIsChecked(`question-${questionNumber}answer-${index}`)\r\n }\r\n {...answer}\r\n />\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nQuestion.propTypes = {\r\n textHtml: PropTypes.string.isRequired,\r\n showResults: PropTypes.bool,\r\n questionNumber: PropTypes.number,\r\n selectNoteText: PropTypes.string,\r\n answers: PropTypes.arrayOf(PropTypes.exact(Answer.propTypes)).isRequired,\r\n onChange: PropTypes.func,\r\n isSelected: PropTypes.bool,\r\n showValidation: PropTypes.bool,\r\n};\r\n\r\nQuestion.viewModelMeta = {\r\n questionNumber: 'ignore',\r\n showResults: 'ignore',\r\n selectNoteText: 'ignore',\r\n onChange: 'ignore',\r\n isSelected: 'ignore',\r\n showValidation: 'ignore',\r\n};\r\n\r\nexport default Question;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Question from './question';\r\n\r\nconst Questionnaire = ({\r\n getResultButtonText,\r\n restartButtonText,\r\n questions,\r\n selectNoteText,\r\n}) => {\r\n const [showResults, setShowResults] = React.useState(false);\r\n const [qIndex, setQIndex] = React.useState(1);\r\n const [questionsList, setQuestionsList] = React.useState([]);\r\n const [showValidation, setShowValidation] = React.useState(false);\r\n\r\n const setAllQuestionsUnselected = () => {\r\n const tmpArr = questions && questions.map(q => q);\r\n for (var i in tmpArr) {\r\n tmpArr[i].isSelected = false;\r\n }\r\n setQuestionsList(tmpArr);\r\n };\r\n\r\n const onGetResultClick = () => {\r\n const selectedAnswers = questionsList.filter(q => q.isSelected === true);\r\n const allAnswersSelected = questions.length === selectedAnswers.length;\r\n\r\n if (allAnswersSelected) {\r\n setShowResults(true);\r\n setShowValidation(false);\r\n } else {\r\n setShowValidation(true);\r\n setShowResults(false);\r\n }\r\n };\r\n\r\n const onRestartClick = () => {\r\n setShowResults(false);\r\n setQIndex(qIndex + 1);\r\n setShowValidation(false);\r\n setAllQuestionsUnselected();\r\n };\r\n\r\n const onQuestionChange = (index, isSelected) => {\r\n let tmpArr = questionsList.map(q => ({ ...q }));\r\n tmpArr[index] = {\r\n ...tmpArr[index],\r\n isSelected: isSelected,\r\n };\r\n\r\n setQuestionsList(tmpArr);\r\n };\r\n\r\n React.useEffect(() => {\r\n setAllQuestionsUnselected();\r\n }, []);\r\n\r\n return (\r\n
    \r\n {questionsList && (\r\n
      \r\n {questionsList.map((question, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n )}\r\n\r\n {showResults ? (\r\n \r\n ) : (\r\n {\r\n e.preventDefault;\r\n onGetResultClick();\r\n }}\r\n >\r\n {getResultButtonText}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nQuestionnaire.propTypes = {\r\n getResultButtonText: PropTypes.string.isRequired,\r\n restartButtonText: PropTypes.string.isRequired,\r\n questions: PropTypes.arrayOf(PropTypes.exact(Question.propTypes)),\r\n selectNoteText: PropTypes.string,\r\n};\r\n\r\nexport default Questionnaire;\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 React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon/icon';\r\n\r\nconst RecipePageDetails = ({ cookTime, difficulty }) => {\r\n return (\r\n
    \r\n {cookTime && (\r\n
    \r\n \r\n {cookTime}\r\n
    \r\n )}\r\n {difficulty && (\r\n
    \r\n \r\n {difficulty}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nRecipePageDetails.propTypes = {\r\n cookTime: PropTypes.string,\r\n difficulty: PropTypes.string,\r\n};\r\n\r\nexport default RecipePageDetails;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SelectOption from 'components/select-option';\r\nimport Icon from 'components/icon';\r\nimport useToggle from '../../hooks/use-toggle';\r\nimport useEvent from '../../hooks/use-event';\r\nimport useClickOutside from '../../hooks/use-click-outside';\r\nimport useIsMounted from '../../hooks/use-is-mounted';\r\nimport cn from 'classnames';\r\n\r\nconst CategoryFilter = ({\r\n label,\r\n placeholder,\r\n options = [],\r\n name,\r\n onChange = () => {},\r\n}) => {\r\n const [isOpen, toggle, close] = useToggle(false);\r\n const [hasTouch, setHasTouch] = React.useState(false);\r\n useEvent('touchstart', () => setHasTouch(true));\r\n\r\n const fakeSelectRef = React.useRef();\r\n useClickOutside(fakeSelectRef, close);\r\n\r\n const [selectedOption, setSelectedOption] = React.useState(\r\n options.find(o => o.isSelected) || {}\r\n );\r\n\r\n const isMounted = useIsMounted();\r\n\r\n const handleChange = value => {\r\n setSelectedOption(options.find(x => x.value === value) || {});\r\n const currentOptions = options.map(option => {\r\n const currentOption = Object.assign({}, option);\r\n currentOption.isSelected = currentOption.value === value;\r\n return currentOption;\r\n });\r\n onChange({ options: currentOptions });\r\n close();\r\n };\r\n\r\n return (\r\n \r\n {options && (\r\n
    \r\n handleChange(e.target.value)}\r\n value={selectedOption.value}\r\n aria-label={label}\r\n >\r\n {placeholder && }\r\n {options.map(option => (\r\n \r\n ))}\r\n \r\n
    \r\n \r\n {selectedOption.label || placeholder}\r\n \r\n
    \r\n {isOpen && (\r\n
      \r\n {placeholder && (\r\n handleChange('')}\r\n >\r\n {placeholder}\r\n \r\n )}\r\n {options\r\n .filter(option => option !== selectedOption)\r\n .map(option => (\r\n handleChange(option.value)}\r\n >\r\n {option.label}\r\n \r\n ))}\r\n
    \r\n )}\r\n
    \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nCategoryFilter.propTypes = {\r\n label: PropTypes.string,\r\n placeholder: PropTypes.string.isRequired,\r\n options: PropTypes.arrayOf(PropTypes.exact(SelectOption.propTypes)),\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nexport default CategoryFilter;\r\n","import React from 'react';\r\n\r\nexport default function useIsMounted() {\r\n const [isMounted, setIsMounted] = React.useState(false);\r\n\r\n React.useEffect(() => setIsMounted(true), []);\r\n\r\n return isMounted;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon';\r\n\r\nconst SearchQueryInput = ({\r\n label,\r\n name,\r\n value,\r\n placeholder,\r\n autocompleteEndpoint, // TODO: BE side done, FE side is not implemented yet.\r\n submitButtonAriaLabel = 'Sende inn',\r\n onChange = () => {},\r\n}) => {\r\n const [currentValue, setCurrentValue] = React.useState(value);\r\n\r\n const handleInput = e => {\r\n setCurrentValue(e.target.value);\r\n };\r\n\r\n const handleClick = e => {\r\n e.preventDefault();\r\n onChange({ value: currentValue });\r\n return false;\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\nSearchQueryInput.propTypes = {\r\n label: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n autocompleteEndpoint: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func,\r\n submitButtonAriaLabel: PropTypes.string,\r\n};\r\n\r\nexport default SearchQueryInput;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport CategoryFilter from './category-filter';\r\nimport SearchQueryInput from './search-query-input';\r\nimport TagFilter from 'components/tag-filter';\r\nimport formHelper from 'js/form-helper';\r\n\r\nconst SearchForm = ({\r\n categoryFilter1,\r\n categoryFilter2,\r\n searchQueryInput,\r\n tagFilter,\r\n formAriaLabel = 'Søkefelt for globalsøk',\r\n onChange = () => {},\r\n onInit = () => {},\r\n}) => {\r\n const [query, setQuery] = React.useState(null);\r\n\r\n const buildInitQuery = () => {\r\n var query = formHelper.createQuery();\r\n formHelper.setToQueryFilterOptions(query, categoryFilter1);\r\n formHelper.setToQueryFilterOptions(query, categoryFilter2);\r\n formHelper.setToQueryFilterOptions(query, tagFilter);\r\n formHelper.setToQueryTextInputValue(query, searchQueryInput);\r\n return query;\r\n };\r\n\r\n useEffect(() => {\r\n var initQuery = buildInitQuery();\r\n setQuery(initQuery);\r\n onInit({ query: initQuery, searchText: initQuery[searchQueryInput.name] });\r\n }, []);\r\n\r\n const queryUpdated = () => {\r\n setQuery(Object.assign({}, query));\r\n onChange({ query: query, searchText: query[searchQueryInput.name] });\r\n };\r\n\r\n const handleFilterChange = (filter, e) => {\r\n formHelper.setToQueryFilterOptions(query, filter, e.options);\r\n queryUpdated();\r\n };\r\n\r\n const handleTextInputChnage = (input, e) => {\r\n formHelper.setToQueryTextInputValue(query, input, e.value);\r\n queryUpdated();\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {categoryFilter1 && (\r\n
    \r\n handleFilterChange(categoryFilter1, e)}\r\n {...categoryFilter1}\r\n />\r\n
    \r\n )}\r\n {categoryFilter2 && (\r\n
    \r\n handleFilterChange(categoryFilter2, e)}\r\n {...categoryFilter2}\r\n />\r\n
    \r\n )}\r\n
    \r\n handleTextInputChnage(searchQueryInput, e)}\r\n {...searchQueryInput}\r\n />\r\n
    \r\n
    \r\n {tagFilter && (\r\n handleFilterChange(tagFilter, e)}\r\n {...tagFilter}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nSearchForm.propTypes = {\r\n categoryFilter1: PropTypes.exact(CategoryFilter.propTypes),\r\n categoryFilter2: PropTypes.exact(CategoryFilter.propTypes),\r\n searchQueryInput: PropTypes.exact(SearchQueryInput.propTypes).isRequired,\r\n tagFilter: PropTypes.exact(TagFilter.propTypes),\r\n formAriaLabel: PropTypes.string,\r\n onChange: PropTypes.func,\r\n onInit: PropTypes.func,\r\n};\r\n\r\nexport default SearchForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport Icon from 'components/icon/icon';\r\n\r\nconst Teaser = ({\r\n heading,\r\n image,\r\n tags,\r\n url,\r\n trackUrl,\r\n cookTime,\r\n difficulty,\r\n}) => {\r\n let TeaserTag = url ? 'a' : 'div';\r\n let attributes = url ? { href: url } : {};\r\n\r\n const handleLinkClick = e => {\r\n if (trackUrl) {\r\n var defaultBehaviour = e.ctrlKey;\r\n if (!defaultBehaviour) {\r\n e.preventDefault();\r\n }\r\n fetch(trackUrl, {\r\n credentials: 'same-origin',\r\n }).then(_response => {\r\n if (!defaultBehaviour && url) {\r\n window.location.href = url;\r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n {image && }\r\n {tags && (\r\n
    {tags.join(', ')}
    \r\n )}\r\n {heading &&

    {heading}

    }\r\n {(cookTime || difficulty) && (\r\n
    \r\n {cookTime && (\r\n
    \r\n \r\n \r\n {cookTime}\r\n \r\n
    \r\n )}\r\n {difficulty && (\r\n
    \r\n \r\n \r\n {difficulty}\r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nTeaser.propTypes = {\r\n heading: PropTypes.string,\r\n image: PropTypes.exact(Image.propTypes),\r\n tags: PropTypes.arrayOf(PropTypes.string),\r\n url: PropTypes.string,\r\n trackUrl: PropTypes.string,\r\n cookTime: PropTypes.string,\r\n difficulty: PropTypes.string,\r\n};\r\nexport default Teaser;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Teaser from 'components/teaser/teaser';\r\n\r\nconst SearchResult = ({ teasers }) => {\r\n return (\r\n
    \r\n {teasers && (\r\n
      \r\n {teasers.map((teaser, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nSearchResult.propTypes = {\r\n teasers: PropTypes.arrayOf(PropTypes.exact(Teaser.propTypes)),\r\n totalCount: PropTypes.number,\r\n};\r\n\r\nSearchResult.empty = () => {\r\n return {\r\n teasers: [],\r\n totalCount: 0,\r\n };\r\n};\r\n\r\nexport default SearchResult;\r\n","function format(string, ...args) {\r\n return string.replace(/{(\\d+)}/g, function (match, number) {\r\n return typeof args[number] !== 'undefined' ? args[number] : '';\r\n });\r\n}\r\n\r\nexport default {\r\n format,\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SearchForm from './search-form';\r\nimport SearchResult from 'components/search-result';\r\nimport api from '../../js/api-helper';\r\nimport replaceQueryParameters from '@creuna/utils/replace-query-parameters';\r\n\r\nimport stringHelper from 'js/string-helper';\r\nimport Spinner from 'components/spinner';\r\nimport formHelper from 'js/form-helper';\r\n\r\nconst Search = ({\r\n headingTemplate,\r\n heading,\r\n searchForm,\r\n searchEndpoint,\r\n pageSize,\r\n errorText,\r\n noResultsText,\r\n loadMoreText,\r\n loadingText,\r\n}) => {\r\n const [result, setResult] = useState(SearchResult.empty());\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [showError, setShowError] = useState(false);\r\n const [searchQuery, setSearchQuery] = useState(null);\r\n const [currentHeading, setCurrentHeading] = useState(null);\r\n const [page, setPage] = useState(1);\r\n\r\n const updateHeading = searchText => {\r\n if (searchText) {\r\n if (headingTemplate) {\r\n var newHeading = stringHelper.format(headingTemplate, searchText);\r\n setCurrentHeading(newHeading);\r\n }\r\n } else {\r\n setCurrentHeading(heading);\r\n }\r\n };\r\n\r\n const search = () => {\r\n const currentResult = result;\r\n setIsLoading(true);\r\n setShowError(false);\r\n let query = Object.assign({}, searchQuery);\r\n formHelper.updatePageQueryString(query);\r\n query = Object.assign(query, { page: page, pageSize: pageSize });\r\n var searchUrl = replaceQueryParameters(searchEndpoint, query);\r\n api\r\n .execute(searchUrl)\r\n .then(response => {\r\n setIsLoading(false);\r\n const loadedResult = response;\r\n loadedResult.teasers = [\r\n ...currentResult.teasers,\r\n ...loadedResult.teasers,\r\n ];\r\n setResult(loadedResult);\r\n })\r\n .catch(() => {\r\n setShowError(true);\r\n setIsLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (searchQuery) {\r\n search();\r\n }\r\n }, [searchQuery, page]);\r\n\r\n const handleFormChange = e => {\r\n setSearchQuery(Object.assign({}, e.query));\r\n updateHeading(e.searchText);\r\n setPage(1);\r\n setResult(SearchResult.empty());\r\n };\r\n\r\n const handleLoadMore = () => {\r\n setPage(page + 1);\r\n };\r\n\r\n return (\r\n
    \r\n {currentHeading &&

    {currentHeading}

    }\r\n
    \r\n \r\n\r\n {isLoading && }\r\n
    \r\n {showError && errorText &&
    {errorText}
    }\r\n {result.teasers.length > 0 ? (\r\n \r\n ) : (\r\n !isLoading && noResultsText &&
    {noResultsText}
    \r\n )}\r\n {result.teasers.length < result.totalCount && (\r\n
    \r\n \r\n {isLoading && }\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nSearch.propTypes = {\r\n headingTemplate: PropTypes.string,\r\n heading: PropTypes.string,\r\n searchForm: PropTypes.exact(SearchForm.propTypes).isRequired,\r\n noResultsText: PropTypes.string.isRequired,\r\n errorText: PropTypes.string.isRequired,\r\n searchEndpoint: PropTypes.string.isRequired,\r\n pageSize: PropTypes.number,\r\n loadMoreText: PropTypes.string.isRequired,\r\n loadingText: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default Search;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport LinkButton from 'components/link-button';\r\n\r\nconst SeeAlsoLinks = ({ heading, links }) => {\r\n return (\r\n
    \r\n {heading &&

    {heading}

    }\r\n {links && (\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\nSeeAlsoLinks.propTypes = {\r\n heading: PropTypes.string,\r\n links: PropTypes.arrayOf(PropTypes.exact(LinkButton.propTypes)),\r\n};\r\n\r\nexport default SeeAlsoLinks;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Image from 'components/image';\r\nimport RichText from 'components/rich-text';\r\nimport LinkButton from 'components/link-button';\r\nimport cn from 'classnames';\r\n\r\nconst sizes = {\r\n default: 'default',\r\n small: 'small',\r\n};\r\n\r\nconst SimpleListTeaser = ({ image, heading, introHtml, link, size }) => {\r\n const _size = size || sizes.default;\r\n return (\r\n \r\n {image && (\r\n \r\n )}\r\n \r\n \r\n {heading && (\r\n

    {heading}

    \r\n )}\r\n {introHtml && (\r\n \r\n )}\r\n \r\n {link && link.text && (\r\n {link.text}\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nSimpleListTeaser.propTypes = {\r\n image: PropTypes.exact(Image.propTypes),\r\n heading: PropTypes.string,\r\n introHtml: PropTypes.string,\r\n link: PropTypes.exact(LinkButton.propTypes),\r\n size: PropTypes.oneOf(Object.values(sizes)),\r\n};\r\n\r\nSimpleListTeaser.viewModelMeta = {\r\n size: 'ignore',\r\n};\r\n\r\nexport default SimpleListTeaser;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SimpleListTeaser from './simple-list-teaser';\r\n\r\nconst SimpleList = ({ topTeaser, teasers }) => {\r\n return (\r\n
    \r\n {topTeaser && }\r\n
      \r\n {teasers.map((teaser, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nSimpleList.propTypes = {\r\n topTeaser: PropTypes.exact(SimpleListTeaser.propTypes),\r\n teasers: PropTypes.arrayOf(PropTypes.exact(SimpleListTeaser.propTypes)),\r\n};\r\n\r\nexport default SimpleList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Teaser from 'components/teaser/teaser';\r\nimport LinkButton from 'components/link-button/link-button';\r\n\r\nconst TeasersList = ({ heading, teasers, seeMoreLink }) => {\r\n return (\r\n
    \r\n {heading &&

    {heading}

    }\r\n
      \r\n {teasers.map((teaser, index) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n {seeMoreLink && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nTeasersList.propTypes = {\r\n heading: PropTypes.string,\r\n teasers: PropTypes.arrayOf(PropTypes.exact(Teaser.propTypes)).isRequired,\r\n seeMoreLink: PropTypes.exact(LinkButton.propTypes),\r\n};\r\nexport default TeasersList;\r\n","import React, { useState, useCallback, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Icon from 'components/icon';\r\nimport useToggle from 'hooks/use-toggle';\r\nimport Image from 'components/image';\r\nimport Modal from 'components/modal';\r\nimport Spinner from 'components/spinner';\r\nimport YouTube from 'react-youtube';\r\nimport cn from 'classnames';\r\nimport useEvent from 'hooks/use-event';\r\n\r\nconst Video = ({\r\n logo,\r\n thumbnailImage,\r\n closeLabel,\r\n videoId,\r\n sources,\r\n autoplay,\r\n showRelated,\r\n modalTitleAriaLabel = 'Modalvindu for videoavspiller',\r\n}) => {\r\n const [popupIsOpened, togglePopup, hidePopup] = useToggle(false);\r\n const [youtubePlayerReady, setYoutubePlayerReady] = useState(false);\r\n const videoBlock = useRef();\r\n\r\n useEvent('keydown', event => {\r\n if (event.key === 'Escape') {\r\n hidePopup();\r\n }\r\n });\r\n\r\n const youtubeVideoOptions = {\r\n height: '390',\r\n width: '640',\r\n playerVars: {\r\n autoplay: autoplay ? 1 : 0,\r\n rel: showRelated ? 1 : 0,\r\n },\r\n };\r\n\r\n const localVideoOptions = {\r\n ...(autoplay ? { autoPlay: 'autoplay' } : {}),\r\n };\r\n\r\n const onReady = useCallback(() => {\r\n setYoutubePlayerReady(true);\r\n if (videoBlock && videoBlock.current) {\r\n const youtubeIframe = videoBlock.current.querySelector('iframe');\r\n\r\n if (youtubeIframe) {\r\n youtubeIframe.setAttribute('tabindex', '0');\r\n }\r\n }\r\n }, [videoBlock]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n {thumbnailImage && thumbnailImage.src && (\r\n \r\n )}\r\n \r\n {sources && sources.length > 0 ? (\r\n
    \r\n \r\n {sources.map((source, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n ) : (\r\n videoId && (\r\n
    \r\n {!youtubePlayerReady && }\r\n \r\n
    \r\n )\r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nVideo.propTypes = {\r\n logo: PropTypes.exact(Image.propTypes),\r\n closeLabel: PropTypes.string,\r\n thumbnailImage: PropTypes.exact(Image.propTypes),\r\n videoId: PropTypes.string,\r\n sources: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n url: PropTypes.string.isRequired,\r\n mimeType: PropTypes.string.isRequired,\r\n })\r\n ),\r\n autoplay: PropTypes.bool,\r\n showRelated: PropTypes.bool,\r\n modalTitleAriaLabel: PropTypes.string,\r\n};\r\n\r\nexport default Video;\r\n","const req = require.context('./', true, /\\.svg$/);\r\n\r\nconst icons = req.keys().reduce((icons, filename) => {\r\n const id = filename.replace('./', '').replace('.svg', '');\r\n const component = req(filename);\r\n\r\n // After updating the React version we get this warning (Support for defaultProps will be removed from function components in a future major release.\r\n // Use JavaScript default parameters instead), because the module https://www.npmjs.com/package/svg-react-loader which was updated long time ago\r\n // generates React components where default svg params used as defaultProps. The solution is to avoid using defaultProps by passing a custom object instead\r\n if (component.defaultProps) {\r\n component.customDefaultProps = component.defaultProps;\r\n delete component.defaultProps;\r\n }\r\n\r\n return { ...icons, [id]: component };\r\n}, {});\r\n\r\nexport default icons;\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","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!../node_modules/babel-loader/lib/index.js!./app.components.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"AppComponents\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"AppComponents\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","var React = require('react');\n\nfunction Arrow (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"stroke\":\"currentColor\",\"d\":\"m123.671 446.184 4.743 4.743 6.64 6.64-11.383 11.383\",\"style\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"4px\"},\"transform\":\"translate(-122.257 -444.769)\"}));\n}\n\nArrow.defaultProps = {\"width\":\"15.626\",\"height\":\"25.595\",\"viewBox\":\"0 0 15.626 25.595\"};\n\nmodule.exports = Arrow;\n\nArrow.default = Arrow;\n","var React = require('react');\n\nfunction ClockBig (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"style\",null,\".b{fill:#00568a}\")),React.createElement(\"path\",{\"d\":\"M1003.052 207.883v15.341h15.241a15.534 15.534 0 0 0-15.241-15.341\",\"style\":{\"fill\":\"#00568a\",\"opacity\":\".2\"},\"transform\":\"translate(-986.967 -207.235)\",\"key\":1}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M17.724 15.989a1.736 1.736 0 1 1-1.736-1.736 1.736 1.736 0 0 1 1.736 1.736\",\"className\":\"b\",\"key\":2}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M15.988 15.203a.785.785 0 0 1-.785-.785v-3.916a.785.785 0 0 1 1.57 0v3.916a.785.785 0 0 1-.785.785M23.893 16.773h-7.12a.785.785 0 0 1 0-1.57h7.12a.785.785 0 1 1 0 1.57M16.085 5.657a.786.786 0 0 1-.785-.786V3.457a.785.785 0 1 1 1.57 0v1.414a.786.786 0 0 1-.785.786\",\"className\":\"b\",\"key\":3}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(15.3 26.318)\",\"key\":4}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M16.085 5.657a.786.786 0 0 1-.785-.786V3.457a.785.785 0 1 1 1.57 0v1.414a.786.786 0 0 1-.785.786\",\"className\":\"b\",\"key\":5}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(15.3 26.318)\",\"key\":6}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M10.922 7.044a.785.785 0 0 1-1.073-.288l-.707-1.225a.786.786 0 0 1 1.361-.785l.707 1.225a.785.785 0 0 1-.288 1.073\",\"className\":\"b\",\"key\":7}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-30 57.544 -25.721)\",\"key\":8}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M7.14 10.824a.785.785 0 0 1-1.073.288l-1.225-.707a.785.785 0 0 1 .785-1.36l1.226.707a.786.786 0 0 1 .287 1.072\",\"className\":\"b\",\"key\":9}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-60 31.227 -10.42)\",\"key\":10}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M5.756 15.99a.785.785 0 0 1-.785.785H3.557a.786.786 0 1 1 0-1.571h1.417a.786.786 0 0 1 .782.786\",\"className\":\"b\",\"key\":11}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(26.414 15.204)\",\"key\":12}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M7.14 21.154a.785.785 0 0 1-.287 1.073l-1.226.707a.786.786 0 0 1-.785-1.361l1.225-.707a.785.785 0 0 1 1.073.288\",\"className\":\"b\",\"key\":13}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-30 31.25 -40.903)\",\"key\":14}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M10.922 24.936a.785.785 0 0 1 .287 1.073l-.707 1.225a.786.786 0 0 1-1.361-.785l.707-1.226a.785.785 0 0 1 1.074-.287\",\"className\":\"b\",\"key\":15}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-60 16.046 -14.488)\",\"key\":16}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M15.988 31.977a15.988 15.988 0 1 1 15.989-15.988 16.007 16.007 0 0 1-15.989 15.988m0-30.406a14.418 14.418 0 1 0 14.418 14.418A14.433 14.433 0 0 0 15.988 1.571\",\"className\":\"b\",\"key\":17})]);\n}\n\nClockBig.defaultProps = {\"width\":\"40\",\"height\":\"40\",\"viewBox\":\"0 0 31.977 31.977\"};\n\nmodule.exports = ClockBig;\n\nClockBig.default = ClockBig;\n","var React = require('react');\n\nfunction Clock (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"style\",null,\".b{fill:#00568a}\")),React.createElement(\"path\",{\"d\":\"M1003.052 207.883v15.341h15.241a15.534 15.534 0 0 0-15.241-15.341\",\"style\":{\"fill\":\"#00568a\",\"opacity\":\".2\"},\"transform\":\"translate(-986.967 -207.235)\",\"key\":1}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M17.724 15.989a1.736 1.736 0 1 1-1.736-1.736 1.736 1.736 0 0 1 1.736 1.736\",\"className\":\"b\",\"key\":2}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M15.988 15.203a.785.785 0 0 1-.785-.785v-3.916a.785.785 0 0 1 1.57 0v3.916a.785.785 0 0 1-.785.785M23.893 16.773h-7.12a.785.785 0 0 1 0-1.57h7.12a.785.785 0 1 1 0 1.57M16.085 5.657a.786.786 0 0 1-.785-.786V3.457a.785.785 0 1 1 1.57 0v1.414a.786.786 0 0 1-.785.786\",\"className\":\"b\",\"key\":3}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(15.3 26.318)\",\"key\":4}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M16.085 5.657a.786.786 0 0 1-.785-.786V3.457a.785.785 0 1 1 1.57 0v1.414a.786.786 0 0 1-.785.786\",\"className\":\"b\",\"key\":5}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(15.3 26.318)\",\"key\":6}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M10.922 7.044a.785.785 0 0 1-1.073-.288l-.707-1.225a.786.786 0 0 1 1.361-.785l.707 1.225a.785.785 0 0 1-.288 1.073\",\"className\":\"b\",\"key\":7}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-30 57.544 -25.721)\",\"key\":8}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M7.14 10.824a.785.785 0 0 1-1.073.288l-1.225-.707a.785.785 0 0 1 .785-1.36l1.226.707a.786.786 0 0 1 .287 1.072\",\"className\":\"b\",\"key\":9}),React.createElement(\"rect\",{\"width\":\"1.571\",\"height\":\"2.986\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-60 31.227 -10.42)\",\"key\":10}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M5.756 15.99a.785.785 0 0 1-.785.785H3.557a.786.786 0 1 1 0-1.571h1.417a.786.786 0 0 1 .782.786\",\"className\":\"b\",\"key\":11}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"translate(26.414 15.204)\",\"key\":12}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M7.14 21.154a.785.785 0 0 1-.287 1.073l-1.226.707a.786.786 0 0 1-.785-1.361l1.225-.707a.785.785 0 0 1 1.073.288\",\"className\":\"b\",\"key\":13}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-30 31.25 -40.903)\",\"key\":14}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M10.922 24.936a.785.785 0 0 1 .287 1.073l-.707 1.225a.786.786 0 0 1-1.361-.785l.707-1.226a.785.785 0 0 1 1.074-.287\",\"className\":\"b\",\"key\":15}),React.createElement(\"rect\",{\"width\":\"2.986\",\"height\":\"1.571\",\"fill\":\"currentColor\",\"className\":\"b\",\"rx\":\".785\",\"transform\":\"rotate(-60 16.046 -14.488)\",\"key\":16}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M15.988 31.977a15.988 15.988 0 1 1 15.989-15.988 16.007 16.007 0 0 1-15.989 15.988m0-30.406a14.418 14.418 0 1 0 14.418 14.418A14.433 14.433 0 0 0 15.988 1.571\",\"className\":\"b\",\"key\":17})]);\n}\n\nClock.defaultProps = {\"width\":\"31.977\",\"height\":\"31.977\",\"viewBox\":\"0 0 31.977 31.977\"};\n\nmodule.exports = Clock;\n\nClock.default = Clock;\n","var React = require('react');\n\nfunction Close (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"4\"},React.createElement(\"path\",{\"d\":\"m1.414 1.414 29.698 29.698M31.112 1.414 1.414 31.112\"})));\n}\n\nClose.defaultProps = {\"width\":\"32.527\",\"height\":\"32.527\",\"viewBox\":\"0 0 32.527 32.527\"};\n\nmodule.exports = Close;\n\nClose.default = Close;\n","var React = require('react');\n\nfunction CookBig (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"style\",null,\".b{fill:#00568a}\")),React.createElement(\"path\",{\"d\":\"M1178.051 234.325a4.8 4.8 0 0 0-6.381-4.54c0-.09.014-.178.014-.268 0-.075-.009-.147-.011-.22-6.929 6.088-17.222 7.637-17.222 7.637l.275 5.138s12.125-6.412 19.616 1V239a4.81 4.81 0 0 0 3.709-4.675\",\"style\":{\"fill\":\"#00568a\",\"opacity\":\".2\"},\"transform\":\"translate(-1151.045 -221.444)\",\"key\":1}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M23.295 21.536a.73.73 0 0 1-.415-.13 18.3 18.3 0 0 0-9.583-2.548A17.57 17.57 0 0 0 3.829 21.4a.732.732 0 0 1-.849-1.193 18.8 18.8 0 0 1 10.317-2.813 19.4 19.4 0 0 1 10.415 2.808.732.732 0 0 1-.417 1.333Z\",\"className\":\"b\",\"key\":2}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M13.67 38.901h-.746a10.26 10.26 0 0 1-10.073-8.382 3.406 3.406 0 0 1-.177-6.686v-7.922a5.63 5.63 0 0 1-2.673-4.674 5.56 5.56 0 0 1 5.585-5.541 8.072 8.072 0 0 1 15.759 1.713 5.4 5.4 0 0 1 .853-.067 5.539 5.539 0 0 1 1.831 10.767v5.726a3.34 3.34 0 0 1 2.566 3.325 3.41 3.41 0 0 1-2.851 3.359 10.256 10.256 0 0 1-10.074 8.382M3.484 29.093a.73.73 0 0 1 .726.642 8.79 8.79 0 0 0 8.713 7.7h.746a8.79 8.79 0 0 0 8.712-7.7.74.74 0 0 1 .752-.642c.019 0 .057 0 .087.008a1.944 1.944 0 0 0 1.909-1.94 1.85 1.85 0 0 0-1.833-1.942.73.73 0 0 1-.731-.732v-6.926a.73.73 0 0 1 .564-.712 4.074 4.074 0 1 0-2.265-7.815.733.733 0 0 1-.97-.719l.008-.132c0-.037.005-.073.005-.11A6.608 6.608 0 0 0 6.851 6.629a.73.73 0 0 1-.8.567 4 4 0 0 0-.506-.035 4.08 4.08 0 0 0-4.085 4.077 4.18 4.18 0 0 0 2.283 3.605.73.73 0 0 1 .39.647v9a.73.73 0 0 1-.732.732 1.941 1.941 0 0 0-.034 3.882c.03 0 .058-.006.087-.008Z\",\"className\":\"b\",\"key\":3}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M3.406 18.869a.488.488 0 0 1-.3-.876c.135-.1 3.363-2.478 10.24-2.478a.488.488 0 1 1 0 .976c-6.518 0-9.622 2.259-9.653 2.282a.5.5 0 0 1-.287.096M22.869 18.868a.5.5 0 0 1-.292-.1 11.4 11.4 0 0 0-3.3-1.45.488.488 0 1 1 .273-.937 12 12 0 0 1 3.617 1.607.488.488 0 0 1-.295.877ZM4.056 11.327a1 1 0 0 1-.08 0 .73.73 0 0 1-.649-.807 2.18 2.18 0 0 1 2.4-1.915.732.732 0 0 1-.092 1.46.73.73 0 0 0-.847.614.73.73 0 0 1-.732.648M10.197 5.896a.8.8 0 0 1-.225-.035.73.73 0 0 1-.472-.921 3.447 3.447 0 0 1 4.364-2.2.732.732 0 0 1-.388 1.411 2.045 2.045 0 0 0-2.582 1.238.73.73 0 0 1-.697.507M6.729 25.718a.488.488 0 0 1-.1-.966l3.737-.744a.488.488 0 1 1 .191.956l-3.738.745a.5.5 0 0 1-.09.009M9.806 27.124a1.208 1.208 0 1 1-1.208-1.208 1.21 1.21 0 0 1 1.208 1.208M19.411 25.718a.5.5 0 0 1-.1-.009l-3.738-.745a.488.488 0 1 1 .191-.956l3.737.744a.488.488 0 0 1-.095.966ZM16.179 27.082a1.208 1.208 0 1 0 1.208-1.209 1.21 1.21 0 0 0-1.208 1.209M13.352 34.684a4.07 4.07 0 0 1-3.787-2.065.488.488 0 0 1 .881-.419 3.13 3.13 0 0 0 2.906 1.508 2.79 2.79 0 0 0 2.744-1.474.488.488 0 1 1 .909.354 3.73 3.73 0 0 1-3.653 2.096M13.868 30.32h-1.484a.488.488 0 1 1 0-.976h1.484a.488.488 0 1 1 0 .976M3.404 25.218a.732.732 0 0 1-.16-1.446c2.647-.6 9.688-2.765 10.463-5.585a.732.732 0 0 1 1.412.388c-.505 1.837-2.637 3.515-6.337 4.989A39 39 0 0 1 3.566 25.2a.7.7 0 0 1-.162.018M23.296 25.217a.8.8 0 0 1-.173-.02 11.63 11.63 0 0 1-7.624-6.545.732.732 0 0 1 1.358-.546 10.33 10.33 0 0 0 6.611 5.668.732.732 0 0 1-.172 1.443\",\"className\":\"b\",\"key\":4})]);\n}\n\nCookBig.defaultProps = {\"width\":\"40\",\"height\":\"48\",\"viewBox\":\"0 0 27.737 38.901\"};\n\nmodule.exports = CookBig;\n\nCookBig.default = CookBig;\n","var React = require('react');\n\nfunction Cook (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"style\",null,\".b{fill:#00568a}\")),React.createElement(\"path\",{\"d\":\"M1178.051 234.325a4.8 4.8 0 0 0-6.381-4.54c0-.09.014-.178.014-.268 0-.075-.009-.147-.011-.22-6.929 6.088-17.222 7.637-17.222 7.637l.275 5.138s12.125-6.412 19.616 1V239a4.81 4.81 0 0 0 3.709-4.675\",\"style\":{\"fill\":\"#00568a\",\"opacity\":\".2\"},\"transform\":\"translate(-1151.045 -221.444)\",\"key\":1}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M23.295 21.536a.73.73 0 0 1-.415-.13 18.3 18.3 0 0 0-9.583-2.548A17.57 17.57 0 0 0 3.829 21.4a.732.732 0 0 1-.849-1.193 18.8 18.8 0 0 1 10.317-2.813 19.4 19.4 0 0 1 10.415 2.808.732.732 0 0 1-.417 1.333Z\",\"className\":\"b\",\"key\":2}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M13.67 38.901h-.746a10.26 10.26 0 0 1-10.073-8.382 3.406 3.406 0 0 1-.177-6.686v-7.922a5.63 5.63 0 0 1-2.673-4.674 5.56 5.56 0 0 1 5.585-5.541 8.072 8.072 0 0 1 15.759 1.713 5.4 5.4 0 0 1 .853-.067 5.539 5.539 0 0 1 1.831 10.767v5.726a3.34 3.34 0 0 1 2.566 3.325 3.41 3.41 0 0 1-2.851 3.359 10.256 10.256 0 0 1-10.074 8.382M3.484 29.093a.73.73 0 0 1 .726.642 8.79 8.79 0 0 0 8.713 7.7h.746a8.79 8.79 0 0 0 8.712-7.7.74.74 0 0 1 .752-.642c.019 0 .057 0 .087.008a1.944 1.944 0 0 0 1.909-1.94 1.85 1.85 0 0 0-1.833-1.942.73.73 0 0 1-.731-.732v-6.926a.73.73 0 0 1 .564-.712 4.074 4.074 0 1 0-2.265-7.815.733.733 0 0 1-.97-.719l.008-.132c0-.037.005-.073.005-.11A6.608 6.608 0 0 0 6.851 6.629a.73.73 0 0 1-.8.567 4 4 0 0 0-.506-.035 4.08 4.08 0 0 0-4.085 4.077 4.18 4.18 0 0 0 2.283 3.605.73.73 0 0 1 .39.647v9a.73.73 0 0 1-.732.732 1.941 1.941 0 0 0-.034 3.882c.03 0 .058-.006.087-.008Z\",\"className\":\"b\",\"key\":3}),React.createElement(\"path\",{\"fill\":\"currentColor\",\"d\":\"M3.406 18.869a.488.488 0 0 1-.3-.876c.135-.1 3.363-2.478 10.24-2.478a.488.488 0 1 1 0 .976c-6.518 0-9.622 2.259-9.653 2.282a.5.5 0 0 1-.287.096M22.869 18.868a.5.5 0 0 1-.292-.1 11.4 11.4 0 0 0-3.3-1.45.488.488 0 1 1 .273-.937 12 12 0 0 1 3.617 1.607.488.488 0 0 1-.295.877ZM4.056 11.327a1 1 0 0 1-.08 0 .73.73 0 0 1-.649-.807 2.18 2.18 0 0 1 2.4-1.915.732.732 0 0 1-.092 1.46.73.73 0 0 0-.847.614.73.73 0 0 1-.732.648M10.197 5.896a.8.8 0 0 1-.225-.035.73.73 0 0 1-.472-.921 3.447 3.447 0 0 1 4.364-2.2.732.732 0 0 1-.388 1.411 2.045 2.045 0 0 0-2.582 1.238.73.73 0 0 1-.697.507M6.729 25.718a.488.488 0 0 1-.1-.966l3.737-.744a.488.488 0 1 1 .191.956l-3.738.745a.5.5 0 0 1-.09.009M9.806 27.124a1.208 1.208 0 1 1-1.208-1.208 1.21 1.21 0 0 1 1.208 1.208M19.411 25.718a.5.5 0 0 1-.1-.009l-3.738-.745a.488.488 0 1 1 .191-.956l3.737.744a.488.488 0 0 1-.095.966ZM16.179 27.082a1.208 1.208 0 1 0 1.208-1.209 1.21 1.21 0 0 0-1.208 1.209M13.352 34.684a4.07 4.07 0 0 1-3.787-2.065.488.488 0 0 1 .881-.419 3.13 3.13 0 0 0 2.906 1.508 2.79 2.79 0 0 0 2.744-1.474.488.488 0 1 1 .909.354 3.73 3.73 0 0 1-3.653 2.096M13.868 30.32h-1.484a.488.488 0 1 1 0-.976h1.484a.488.488 0 1 1 0 .976M3.404 25.218a.732.732 0 0 1-.16-1.446c2.647-.6 9.688-2.765 10.463-5.585a.732.732 0 0 1 1.412.388c-.505 1.837-2.637 3.515-6.337 4.989A39 39 0 0 1 3.566 25.2a.7.7 0 0 1-.162.018M23.296 25.217a.8.8 0 0 1-.173-.02 11.63 11.63 0 0 1-7.624-6.545.732.732 0 0 1 1.358-.546 10.33 10.33 0 0 0 6.611 5.668.732.732 0 0 1-.172 1.443\",\"className\":\"b\",\"key\":4})]);\n}\n\nCook.defaultProps = {\"width\":\"27.737\",\"height\":\"38.901\",\"viewBox\":\"0 0 27.737 38.901\"};\n\nmodule.exports = Cook;\n\nCook.default = Cook;\n","var React = require('react');\n\nfunction Facebook (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M13.257 21.48v-7.639h6.161V10a10.05 10.05 0 0 1 2.7-7.08A8.59 8.59 0 0 1 28.657 0h6.12v7.64h-6.12a1.35 1.35 0 0 0-1.079.66 2.68 2.68 0 0 0-.48 1.62v3.92h7.679v7.639H27.1V40h-7.68V21.48Z\",\"style\":{\"fill\":\"#fff\"},\"transform\":\"translate(-13.257)\"}));\n}\n\nFacebook.defaultProps = {\"width\":\"21.52\",\"height\":\"40\",\"viewBox\":\"0 0 21.52 40\"};\n\nmodule.exports = Facebook;\n\nFacebook.default = Facebook;\n","var React = require('react');\n\nfunction Instagram (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M20 11.982a10.255 10.255 0 1 0 10.259 10.256A10.24 10.24 0 0 0 20 11.982m0 16.923a6.667 6.667 0 1 1 6.667-6.667A6.68 6.68 0 0 1 20 28.905m13.071-17.342a2.392 2.392 0 1 1-2.392-2.392 2.387 2.387 0 0 1 2.392 2.392m6.792 2.428c-.152-3.2-.884-6.043-3.231-8.381s-5.177-3.07-8.381-3.231c-3.3-.187-13.2-.187-16.5 0-3.2.152-6.034.884-8.381 3.222S.3 10.777.135 13.982c-.187 3.3-.187 13.2 0 16.5.152 3.2.884 6.043 3.231 8.381s5.177 3.07 8.381 3.231c3.3.187 13.2.187 16.5 0 3.2-.152 6.043-.884 8.381-3.231s3.07-5.177 3.231-8.381c.187-3.3.187-13.192 0-16.494ZM35.6 34.028a6.75 6.75 0 0 1-3.8 3.8c-2.633 1.044-8.881.8-11.791.8s-9.167.232-11.791-.8a6.75 6.75 0 0 1-3.8-3.8c-1.044-2.633-.8-8.881-.8-11.791s-.232-9.167.8-11.791a6.75 6.75 0 0 1 3.8-3.8c2.633-1.044 8.881-.8 11.791-.8s9.167-.232 11.791.8a6.75 6.75 0 0 1 3.8 3.8c1.044 2.633.8 8.881.8 11.791s.241 9.163-.8 11.791\",\"style\":{\"fill\":\"#fff\"},\"transform\":\"translate(.005 -2.238)\"}));\n}\n\nInstagram.defaultProps = {\"width\":\"40.009\",\"height\":\"40\",\"viewBox\":\"0 0 40.009 40\"};\n\nmodule.exports = Instagram;\n\nInstagram.default = Instagram;\n","var React = require('react');\n\nfunction Menu (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"4\"},React.createElement(\"path\",{\"d\":\"M0 2h42M0 16h42M0 30h29\"})));\n}\n\nMenu.defaultProps = {\"width\":\"42\",\"height\":\"36\",\"className\":\"icon\",\"viewBox\":\"0 0 42 29\"};\n\nmodule.exports = Menu;\n\nMenu.default = Menu;\n","var React = require('react');\n\nfunction Play (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"style\",null,\".a{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}\")),React.createElement(\"path\",{\"d\":\"M142.5 72.5a70 70 0 1 1-70-70 70 70 0 0 1 70 70\",\"className\":\"a\",\"key\":1}),React.createElement(\"path\",{\"d\":\"M58.198 44.148 100.726 72.5l-42.528 28.348Z\",\"className\":\"a\",\"key\":2})]);\n}\n\nPlay.defaultProps = {\"width\":\"145\",\"height\":\"145\",\"style\":{\"fill\":\"none\",\"stroke\":\"#fff\",\"strokeWidth\":\"5px\"},\"viewBox\":\"0 0 145 145\"};\n\nmodule.exports = Play;\n\nPlay.default = Play;\n","var React = require('react');\n\nfunction Print (props) {\n return React.createElement(\"svg\",props,React.createElement(\"g\",{\"transform\":\"translate(-1856.308 -36.584)\"},[React.createElement(\"path\",{\"d\":\"M1891.42 50.58h-27.45l-.06-13h27.45zM1863.97 62.52h27.45v16.49h-27.45z\",\"className\":\"st0\",\"style\":{\"fill\":\"none\",\"stroke\":\"#114778\",\"strokeWidth\":\"1.6\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"key\":0}),React.createElement(\"path\",{\"d\":\"M1857.3 50.58v20.94h6.67v-9h27.45v9h6.67V50.58z\",\"className\":\"st1\",\"style\":{\"opacity\":\".2\",\"fill\":\"#114778\"},\"key\":1}),React.createElement(\"path\",{\"d\":\"M1857.3 50.58v20.94h6.67v-9h27.45v9h6.67V50.58z\",\"className\":\"st0\",\"style\":{\"fill\":\"none\",\"stroke\":\"#114778\",\"strokeWidth\":\"1.6\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"key\":2}),React.createElement(\"circle\",{\"cx\":\"1891.42\",\"cy\":\"56.39\",\"r\":\".53\",\"className\":\"st2\",\"style\":{\"fill\":\"none\",\"stroke\":\"#114778\",\"strokeWidth\":\"2.053\",\"strokeMiterlimit\":\"10\"},\"key\":3}),React.createElement(\"path\",{\"d\":\"M1868.13 68.5h19.08M1868.13 71.52h19.08M1868.13 74.54h14.37\",\"className\":\"st3\",\"style\":{\"fill\":\"none\",\"stroke\":\"#114778\",\"strokeWidth\":\"1.027\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\"},\"key\":4})]));\n}\n\nPrint.defaultProps = {\"xmlSpace\":\"preserve\",\"viewBox\":\"0 0 42.7 43.4\"};\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\":\"4\",\"transform\":\"translate(-31.212 -446.886)\"},[React.createElement(\"circle\",{\"cx\":\"12.105\",\"cy\":\"12.105\",\"r\":\"12.105\",\"transform\":\"translate(37.383 448.886)\",\"key\":0}),React.createElement(\"path\",{\"d\":\"m32.627 477.938 8.475-8.475\",\"key\":1})]));\n}\n\nSearch.defaultProps = {\"width\":\"32.381\",\"height\":\"32.467\",\"viewBox\":\"0 0 32.381 32.467\"};\n\nmodule.exports = Search;\n\nSearch.default = Search;\n","var React = require('react');\n\nfunction Youtube (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M52.976 13.333c0-4.687-3.448-8.458-7.708-8.458C39.5 4.6 33.613 4.5 27.6 4.5h-1.872c-6 0-11.9.1-17.666.375-4.25 0-7.7 3.791-7.7 8.479A152 152 0 0 0 0 24.478q-.015 5.562.354 11.135C.354 40.3 3.8 44.1 8.052 44.1c6.062.281 12.281.406 18.6.4q9.5.031 18.6-.4c4.26 0 7.708-3.8 7.708-8.489.25-3.719.365-7.427.354-11.145q.037-5.561-.338-11.133M21.562 34.7V14.229l15.1 10.229Z\",\"style\":{\"fill\":\"#fff\"},\"transform\":\"translate(0 -4.5)\"}));\n}\n\nYoutube.defaultProps = {\"width\":\"53.323\",\"height\":\"40\",\"viewBox\":\"0 0 53.323 40\"};\n\nmodule.exports = Youtube;\n\nYoutube.default = Youtube;\n","var map = {\n\t\"./arrow.svg\": 6701,\n\t\"./clock-big.svg\": 57,\n\t\"./clock.svg\": 4876,\n\t\"./close.svg\": 7066,\n\t\"./cook-big.svg\": 2631,\n\t\"./cook.svg\": 6426,\n\t\"./facebook.svg\": 1874,\n\t\"./instagram.svg\": 1446,\n\t\"./menu.svg\": 5775,\n\t\"./play.svg\": 3324,\n\t\"./print.svg\": 8527,\n\t\"./search.svg\": 7286,\n\t\"./youtube.svg\": 2229\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 = 9477;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t818: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkFiskesprell_Web\"] = self[\"webpackChunkFiskesprell_Web\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(8624)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(6472)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(5348)))\n__webpack_require__.O(undefined, [121], () => (__webpack_require__(4709)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [121], () => (__webpack_require__(273)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","RichText","_ref","text","className","id","React","cn","dangerouslySetInnerHTML","__html","propTypes","PropTypes","AccordionBlock","title","items","AccordionComponent","allowMultipleExpanded","allowZeroExpanded","length","map","item","index","AccordionItem","key","AccordionItemState","_ref2","expanded","Fragment","AccordionItemHeading","AccordionItemButton","name","AccordionItemPanel","textHtml","isRequired","ariaCurrentTypes","page","step","location","true","Link","ariaCurrent","openInNewTab","url","tabindex","ariaLabelledBy","ariaDescribedBy","href","target","tabIndex","rel","Object","values","Breadcrumbs","links","ariaLabel","_extends","transforms","downFit","downFill","skipForResizeExtensions","queryParameters","width","undefined","height","transform","center","checkImageCanBeResized","extension","split","pop","trim","toLowerCase","some","serializeCenter","x","y","concat","buildResizeUrl","centerX","centerY","resizeUrl","replaceQueryParameters","assign","resizeQuery","queryHash","CryptoJs","replace","hash","calcImageWidth","containerWidth","resolution","Math","ceil","window","devicePixelRatio","calcImageHeight","containerHeight","Transforms","Image","constructor","arguments","_defineProperty","imageResizer","this","props","src","canBeResized","ratio","containerOffsetWidth","containerOffsetHeight","fill","container","offsetWidth","offsetHeight","autoTransform","fit","autoCalcWidthOnly","autoCalcHeightOnly","skipByWidth","state","skipByHeight","widthResolution","heightResolution","newWidth","newHeight","newRatio","setState","previousState","focusPoint","debounce","handleResize","componentDidMount","debouncedHandleResize","addEventListener","componentWillUnmount","removeEventListener","componentDidUpdate","render","fluid","style","backgroundImage","backgroundPosition","ref","c","alt","_Image","Contact","image","phoneLink","mailLink","ContactInformation","heading","ContactUs","contacts","ContentArea","blocks","block","Block","Components","componentName","console","error","CoursePartLink","partId","onClick","active","disabled","Spinner","CourseContent","coursePartsLinks","loadCoursePartEndpoint","loadingText","errorText","prevButtonText","nextButtonText","navigationAriaLabel","numberOfPartsLinks","partsLinksAreExist","isLoading","setIsLoading","useState","setError","pageContent","setPageContent","pageId","setPageId","scrollToTopOfContent","scrollToElement","offset","ease","duration","firstPartsLinkIsActive","lastPartsLinkIsActive","currentPartsLinkIndex","findIndex","p","useEffect","loadPageContent","xhr","XMLHttpRequest","query","onreadystatechange","readyState","DONE","status","response","onerror","open","send","link","e","handleNavigate","activePartId","handlePrevButtonClick","handleNextButtonClick","useEvent","eventName","eventHandler","dependencies","callback","current","contains","DropDown","label","onOptionClicked","selectedOptionIndex","isOpen","setIsOpen","dropdownRef","useClickOutside","close","toggling","handleOptionClick","EmbeddableFormBlock","html","icons","require","Icon","useFill","defaultProps","customDefaultProps","_objectSpread","focusable","keys","themes","blueWithIcon","QuickSearchPanel","searchInputLabel","placeholder","searchPageUrl","searchInputName","helpTextHtml","submitButtonText","formAriaLabel","autocompleteEndpoint","theme","inputRef","focus","action","method","role","type","LinkButton","iconName","subscribe","ErrorBlock","errorCode","bigText","smallText","search","Factbox","backgroundColor","icon","FactboxWithTextBlock","factbox","factboxPosition","twoColumns","SocialLink","instagram","facebook","youtube","Footer","content1Html","content2Html","subscribeButton","socialLinks","copyrightText","cookiesLink","socialLink","prefixesDictionary","GettingStartedLink","introHtml","uniqueId","useMemo","idHelper","prefix","headingId","descriptionId","FrontPageHero","backgroundImageMobile","mainHeading","secondaryHeadingLeft","secondaryHeadingRight","gettingStartedLinks","gettingStartedReadMoreLink","isDesktopView","document","body","clientWidth","imageWidth","setImageWidth","imageSource","setImageSource","isDesktop","screen","gettingStartedLink","FullWidthBanner","readMoreButton","default","overlay","GettingStartedTeaser","GettingStartedList","teasers","teaser","useToggle","initiallyActive","isActive","setIsActive","toggle","useCallback","activate","MenuLink","isCurrent","MainMenu","firstColumnLinks","secondColumnLinks","thirdColumnHeading","thirdColumnLinks","subscribeLink","menuIsOpened","toggleMenu","onMenuButtonClick","HeaderMenu","headerMenuLinks","Header","logo","mainMenu","quickSearchPanel","headerMenu","buttonSearchAriaLabel","buttonMenuAriaLabel","buttonCloseAriaLabel","quickSearchPanelTitleAriaLabel","mainMenuTitleAriaLabel","popupIsOpened","togglePopup","hidePopup","searchMode","setSearchModIsActive","onSearchButtonClick","navigationRef","event","FocusTrap","header__popup_opened","expandedMenuImage","ImageWithCaption","caption","imageSizeClassName","gallerySettings","dots","centerMode","infinite","speed","centerPadding","slidesToScroll","slidesToShow","galleryImageClassName","ImageGallery","imageGalleryContainer","currentSlideIndex","setCurrentSlideIndex","updateNavigationControlsPosition","slideHeight","slideIndex","currentSlideImage","querySelectorAll","querySelector","getSlideHeight","sliderDots","sliderArrows","i","top","display","debouncedRecalculateElementsPosition","Slider","afterChange","ImageWithTextBlock","imagePosition","IngredientBase","Ingredients","forAdults","forChildren","forKindergarten","setSelectedOptionIndex","filter","Boolean","selectedItem","errorMessageTopic","messageTopic","onTopic","topic","func","PubSub","message","onErrorMessage","onMessage","sendErrorMessage","_ref3","sendMessage","_ref4","Message","isErrorMessage","isVisible","setTimeout","hide","messenger","show","Modal","isOpened","closeLabel","onClose","children","titleAriaLabel","PagesListItem","linkUrlExists","ItemContent","SelectOption","value","isSelected","onChange","handleChange","TagFilter","options","clearLabel","multiselect","clearOption","setClearOption","optionsMap","setOptions","Map","o","find","refreshOptions","handleOptionChange","targetOption","get","option","selectedValues","handleClearOptionChange","Timeout","fn","delay","clear","cleared","clearTimeout","getCallbackEnhancedData","data","callbackTimeout","eventCallback","isRunningOnClient","dataLayer","forEach","dataObject","push","defaultFetchOptions","headers","Accept","credentials","parseResponse","json","then","handleUserMessages","messageToUser","success","handleAnalytics","analytics","handleNotOk","ok","Error","statusText","handleResponse","payload","handleFetchError","getData","Promise","reject","request","fetch","catch","endpoint","indexOf","resolve","post","JSON","stringify","setQueryValue","_getUndefinedIfEmpty","createQuery","currentOptions","textInput","currentValue","newUrl","toString","history","replaceState","PagesList","tagFilter","loadItemsEndpoint","pages","setPages","setQuery","buildDefaultQuery","formHelper","loadPages","loadUrl","api","listItems","listItem","PrintButton","printPage","print","Answer","isCorrect","checked","showResults","isMultipleChoice","Question","answers","questionNumber","selectNoteText","showValidation","checkedValue","setIsChecked","checkedItems","setCheckedItems","a","checkIfMultySelected","every","v","answer","Questionnaire","getResultButtonText","restartButtonText","questions","setShowResults","qIndex","setQIndex","questionsList","setQuestionsList","setShowValidation","setAllQuestionsUnselected","tmpArr","q","onQuestionChange","question","onRestartClick","preventDefault","onGetResultClick","selectedAnswers","ReactComponent","RecipePageDetails","cookTime","difficulty","CategoryFilter","hasTouch","setHasTouch","fakeSelectRef","selectedOption","setSelectedOption","isMounted","setIsMounted","useIsMounted","currentOption","SearchQueryInput","submitButtonAriaLabel","setCurrentValue","SearchForm","categoryFilter1","categoryFilter2","searchQueryInput","onInit","initQuery","buildInitQuery","searchText","queryUpdated","handleFilterChange","handleTextInputChnage","input","Teaser","tags","trackUrl","TeaserTag","attributes","defaultBehaviour","ctrlKey","_response","join","SearchResult","totalCount","empty","string","_len","args","Array","_key","match","number","Search","headingTemplate","searchForm","searchEndpoint","pageSize","noResultsText","loadMoreText","result","setResult","showError","setShowError","searchQuery","setSearchQuery","currentHeading","setCurrentHeading","setPage","currentResult","searchUrl","loadedResult","handleFormChange","newHeading","stringHelper","updateHeading","handleLoadMore","SeeAlsoLinks","sizes","small","SimpleListTeaser","size","_size","SimpleList","topTeaser","TeasersList","seeMoreLink","Video","thumbnailImage","videoId","sources","autoplay","showRelated","modalTitleAriaLabel","youtubePlayerReady","setYoutubePlayerReady","videoBlock","useRef","youtubeVideoOptions","playerVars","localVideoOptions","autoPlay","onReady","youtubeIframe","setAttribute","poster","controls","loop","muted","source","mimeType","YouTube","opts","containerClassName","req","reduce","filename","component","documentElement","defineProperty","HTMLElement","prototype","self","update","classes","ret","add","remove","splice","touchEndHappened","classListPolyfill","onTouchStart","classList","onTouchEnd","onMouseDown","keyCodeWhiteList","which","inputDetection","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GLOBAL_THIS___","module","exports","Arrow","createElement","ClockBig","Clock","Close","CookBig","Cook","Facebook","Instagram","Menu","Play","Print","Youtube","webpackContext","webpackContextResolve","__webpack_require__","code","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","r","n","getter","__esModule","d","definition","enumerable","g","globalThis","Function","obj","prop","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","__webpack_exports__"],"sourceRoot":""}