{"version":3,"sources":["common/utils/polyfills.js","common/jsx/routing/history.js","common/jsx/locale/LanguageContext.js","common/jsx/locale/helpers.js","common/jsx/locale/useLocale.js","common/jsx/locale/LanguageProviderV2.js","common/jsx/auth/CallbackV2.js","common/jsx/auth/AuthProviderV2.js","common/jsx/layout/ScrollToTopV2.js","common/utils/api/apiRequest.js","common/utils/api/translations.js","common/jsx/hooks/useTranslation.js","common/jsx/layout/Flex.js","common/jsx/elements/text/ShowInPrint.js","common/jsx/hooks/useToggle.js","common/jsx/layout/UserMenu/UserMenuItemV2.js","common/utils/browser.js","common/jsx/hooks/useWindowSize.js","common/jsx/layout/UserMenuV2.js","common/jsx/layout/HeaderV3.js","common/jsx/layout/MainContentV2.js","common/jsx/hooks/useMinHeightForMainContent.js","common/jsx/layout/RootV2.js","common/jsx/elements/messages/Tooltip.js","common/jsx/layout/Sidebar/SidebarFooter.js","common/utils/api/apiCall.js","common/utils/api/shared.js","common/jsx/hooks/useTranslationApi.js","prismic-configuration.js","common/jsx/elements/section/Section.js","pages/NotFound.js","utils/prismicHelpers.js","components/prismic/prismic-elements/PrismicLink.js","components/prismic/prismic-elements/RichTextField.js","hooks/useCanWrapText.js","components/prismic/layout/SideNav.js","components/prismic/layout/Sidebar.js","components/prismic/layout/DefaultLayout.js","components/prismic/layout/Header.js","components/prismic/layout/Loader.js","components/prismic/slices/FullWidthImage.js","components/prismic/slices/ImageGallery.js","components/prismic/slices/ImageHighlight.js","components/prismic/slices/Quote.js","components/prismic/slices/TextSection.js","components/prismic/slices/ApiDocumentation.js","components/prismic/slices/Section.js","components/prismic/slices/RawHtml.js","components/prismic/slices/HeroSection.js","components/prismic/SliceZone.js","pages/HomePage.js","common/jsx/elements/spinner/index.js","pages/Page.js","pages/Preview.js","App.js","common/jsx/hooks/useRemoveInitApp.js","index.js"],"names":["String","prototype","includes","indexOf","apply","this","arguments","startsWith","searchString","position","substr","length","endsWith","suffix","Array","fill","Object","defineProperty","value","TypeError","O","len","relativeStart","k","Math","max","min","end","relativeEnd","undefined","final","find","predicate","list","thisArg","i","call","history","createBrowserHistory","getQueryParams","qs","parse","location","search","ignoreQueryPrefix","delimiter","LanguageContext","createContext","cookieDomain","window","hostname","setCookie","lang","Cookies","set","expires","path","domain","useLocale","_useContext","useContext","t","setLanguage","updateLocaleForLang","locale","localeLoaded","swapLangQueryParam","param","params","newQstring","stringify","push","pathname","concat","updateQueryParam","storedLang","langCookie","get","idx","getCurrentCookieLanguage","LanguageProviderV2","_ref","_ref$locale","children","_ref$lang","_useState","useState","_useState2","slicedToArray","showKey","setShowKey","_useState3","_useState4","language","_useState5","_useState6","localeObj","setLocaleObj","useEffect","currentLocale","react_default","a","createElement","locale_LanguageContext","Provider","str","keys","s","index","replace","newLocaleObj","Error","old","objectSpread","_React$Component","inherits","BackwardsCompatLanguageProvider","_super","_createSuper","classCallCheck","createClass","key","_this$props","props","currentLang","React","Component","childContextTypes","PropTypes","object","CallbackV2","_useAuthContext","useAuthContext","loginCallback","logOut","setUser","hash","then","catch","ex","console","log","authContext","AuthProviderV2","authConfig","_ref$restrict","restrict","config","parseConfig","_React$useState","_React$useState2","user","interceptRef","useRef","bufferRef","iframeRef","started","sessionState","frame","frameOrigin","frameTimer","isLocal","href","stateRef","wellKnown","accessToken","refreshToken","isCb","isAuthed","isAuthenticated","setRefreshToken","token","current","setAccessToken","setUserFromPayload","getIdTokenPayload","interceptAddAccessTokenToHeader","interceptRetryOnUnAuthorized","retryBuffer","at","getAccessTokenResponse","access_token","refresh_token","getWellKnown","wk","contextValue","useMemo","state","pluri","signIn","stateToSend","authMethod","amr","getLocationData","loc","hashId","_ref2","asyncToGenerator","regenerator_default","mark","_callee","_loop","wrap","_context","prev","next","requestNewAccessToken","sent","item","axios","response","resolve","stop","_x","_x2","_x3","_x4","_x5","retry","interceptors","use","error","status","_retry","Promise","reject","postLogoutRedirectUri","process","REACT_APP_DO_NOT_LOGOUT","idToken","getIdToken","endPoint","end_session_endpoint","idTokenStr","id_token","postLogoutRedirect","encodeURIComponent","urlStr","clearLocalStorage","localStorage","removeItem","storageKey","assign","request","url","authUrl","headers","responseType","clientId","redirectUri","protocol","host","scope","secret","website","logoutUri","api_access_token","sessionCheckInterval","exp","Date","data","getItem","setItem","JSON","getDataFromToken","decoded","output","atob","urlBase64Decode","split","utftext","c3","string","c","c2","charCodeAt","fromCharCode","utf8_decode","auth","btoa","options","Authorization","Content-Type","method","encodeURI","join","token_endpoint","getAccessTokenByRefreshToken","e","_ref3","_callee2","_context2","authEndpoint","authorization_endpoint","rt","cid","redir","stateStr","nonce","random","now","query","_x6","_x7","_parseOrNull","jsonKey","cbStr","storedState","decodeURIComponent","storedNonce","tokenData","result","tokenParts","parts","decodeURI","decodeClientIDToken","resultState","idTokenPayload","currentDate","code","getAccessTokenByCode","startSessionIframe","iframeUrl","check_session_iframe","session_state","document","style","display","sandbox","onload","addEventListener","onMessage","startFrameTimer","src","body","appendChild","_iframeRef$current","origin","source","contentWindow","stopFrameTimer","setInterval","postMessage","clearInterval","withRouter","scrollTo","apiRequest","contentType","MSInputMethodContext","documentMode","formData","fd","FormData","append","fieldName","err","message","statusText","error_id","logID","error_details","error_description","SHARED_URL","Flex","stl","justifyContent","alignItems","flexDirection","direction","onClick","className","defaultProps","ShowInPrint","addDiv","Children","map","child","cs","cloneElement","useToggle","initialValue","isToggled","setToggled","UMItem","link","iconCls","label","openNewTab","toggleOpen","UserMenuOpenToggleCtx","clickHandler","target","react_router_dom","to","getVisibleWidth","innerWidth","documentElement","clientWidth","getVisibleHeight","innerHeight","clientHeight","getElementHeight","el","offsetHeight","scrollHeight","debounce","func","delay","inDebounce","context","args","clearTimeout","setTimeout","getSize","height","width","useWindowSize","windowSize","setWindowSize","handleResize","removeEventListener","UserMenu","_ref$open","open","_ref$items","items","cls","UserMenuV2_OverlayClickOutside","toggle","show","color","UserMenuItemV2","OverlayClickOutside","Header","_ref$showMobileNav","showMobileNav","toggleSidebar","_ref$userMenu","userMenu","_ref$userMenuItems","userMenuItems","hasUserMenu","_useToggle","_useToggle2","isOpen","UserMenuV2","Fragment","id","title","alt","elements_text_ShowInPrint","paddingRight","MainContentV2","setHeight","calculatedHeight","header","getElementById","footer","useMinHeightForMainContent","role","minHeight","Root","_ref$sidebarOpen","sidebarOpen","rootCls","Tooltip","ReactTooltip","rebuild","place","effect","ReactDOM","createPortal","index_es","SidebarFooter","clsx","useDetailError","REACT_APP_DETAILED_API_ERRORS","apiCall","transformResponse","parseWithDate","detail","description","text","BUSINESS_URL","TRANS_URL","NAV_URL","SUPERVISOR_URL","FORM_URL","translationApi","getTranslationsIS","sourceId","_yield$Promise$all","_yield$Promise$all2","common","trans","all","abrupt","getTranslationsEN","_yield$Promise$all3","_yield$Promise$all4","useTranslationApi","getSettingsUrls","_callee3","_context3","getAnnouncement","_callee4","_context4","getFormByID","formId","companyRegno","getFormByGuid","formGuid","saveFormItems","_callee5","_context5","getFormItemAttachment","_callee6","attachmentID","_context6","insertFormItemAttachment","_callee7","_context7","deleteFormItemAttachment","_callee8","_context8","updateFormStatus","_callee9","_context9","loadedIS","setLoadedIS","loadedEN","setLoadedEN","apiEndpoint","linkResolver","doc","type","uid","Section","forwardRef","ref","_ref$limit","limit","_ref$padded","padded","customPadding","displayName","NotFound","section_Section","data-png","customLink","element","content","client","Prismic","PrismicLink","linkClass","linkUrl","Link","RichTextField","field","prismic_reactjs","render","serializeHyperlink","useCanWrapText","_ref$toggle","_ref$time","time","canWrapText","setCanWrapText","timer","MenuLink","menuLink","_ref2$canWrapText","selected","nav_uid","nav_path","icon_class_name","marginRight","whiteSpace","link_text","SideNav","menuDoc","_ref$isOpen","useLocation","secondLevel","filter","menuItem","slice_type","SideNav_MenuLink","primary","Sidebar","isExpanded","toggleExpanded","products","showNested","layout_SideNav","Sidebar_SidebarFooter","DefaultLayout","wrapperClass","docName","parent","currentPageId","layout_Header","parent_id","RichText","asText","Header_MenuLink","Loader","FullWidthImage","slice","image","GalleryItem","prismic_elements_RichTextField","image_description","prismic_elements_PrismicLink","link_label","ImageGallery","gallery_title","ImageGallery_GalleryItem","ImageHighlight","headline","featured_image","Quote","quote_text","TextSection","sectionClass","slice_label","rich_text","ApiDocumentation","docURL","api_url","swagger_ui_react","section_title","section_content","RawHtml","raw_html","html","dangerouslySetInnerHTML","__html","HeroSection","SliceZone","sliceZone","slices_ApiDocumentation","slices_FullWidthImage","slices_ImageGallery","slices_ImageHighlight","slices_Quote","slices_TextSection","slices_HeroSection","slices_Section","slices_RawHtml","HomePage","homeDoc","prismicData","setPrismicData","notFound","toggleNotFound","getSingle","warn","t0","fetchPrismicData","layout_DefaultLayout","page_title","prismic_SliceZone","pages_NotFound","SIZES","small","medium","large","x-large","Spinner","_ref$size","size","extraCls","extraStl","center","relCenter","container","inner","centerStl","left","right","top","bottom","margin","zIndex","Page","match","pageDoc","loading","toggleLoading","getByUID","spinner","Preview","_qs$parse","documentId","getPreviewResolver","layout_Loader","App","exec","setMenuDoc","loaded","_menuDoc","condition","getElementsByTagName","classList","remove","useRemoveInitApp","RootV2","HeaderV3","react_router","exact","component","layout_Sidebar","react","ScrollToTopV2"],"mappings":"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","file":"static/js/main.9603dc51.chunk.js","sourcesContent":["import 'react-app-polyfill/ie9';\nimport 'core-js/es/number';\nimport 'core-js/es/object/entries';\nimport 'core-js/es/object/is';\nimport 'core-js/es/object/values';\nimport 'core-js/es/object/keys';\n\n/*eslint no-extend-native: \"off\"*/\nif (!String.prototype.includes) {\n String.prototype.includes = function () {\n return String.prototype.indexOf.apply(this, arguments) !== -1;\n };\n}\n\n/*eslint no-extend-native: \"off\"*/\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\n/*eslint no-extend-native: \"off\"*/\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (suffix) {\n return this.indexOf(suffix, this.length - suffix.length) !== -1;\n };\n}\n\nif (!Array.prototype.fill) {\n Object.defineProperty(Array.prototype, 'fill', {\n value: function (value) {\n // Steps 1-2.\n if (this == null) {\n throw new TypeError('this is null or not defined');\n }\n\n var O = Object(this);\n\n // Steps 3-5.\n var len = O.length >>> 0;\n\n // Steps 6-7.\n var start = arguments[1];\n var relativeStart = start >> 0;\n\n // Step 8.\n var k = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len);\n\n // Steps 9-10.\n var end = arguments[2];\n var relativeEnd = end === undefined ? len : end >> 0;\n\n // Step 11.\n var final = relativeEnd < 0 ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len);\n\n // Step 12.\n while (k < final) {\n O[k] = value;\n k++;\n }\n\n // Step 13.\n return O;\n }\n });\n}\n\n/*eslint no-extend-native: \"off\"*/\nif (!Array.prototype.find) {\n Array.prototype.find = function (predicate) {\n if (this == null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n };\n}\n\n/*eslint no-extend-native: \"off\"*/\nif (!Array.prototype.includes) {\n Array.prototype.includes = function (searchString) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] === searchString) {\n return true;\n }\n }\n return false;\n };\n}\n","import qs from 'qs';\nimport { createBrowserHistory } from 'history';\n\nexport const history = createBrowserHistory();\n\nexport const getQueryParams = () =>\n qs.parse(history.location.search, { ignoreQueryPrefix: true, delimiter: '&' });\n\nexport const updateQueryParam = (param, value) => {\n const params = getQueryParams();\n params[param] = value;\n const newQstring = qs.stringify(params, { delimiter: '&' });\n history.push({\n pathname: history.location.pathname,\n search: `?${newQstring}`\n });\n};\n\nexport const removeQueryParam = param => {\n const params = getQueryParams();\n params[param] = undefined;\n const newQstring = qs.stringify(params, { delimiter: '&' });\n history.push({\n pathname: history.location.pathname,\n search: `?${newQstring}`\n });\n};\n","import { createContext } from 'react';\nconst LanguageContext = createContext({});\nexport default LanguageContext;\n","import Cookies from 'js-cookie';\nimport { getQueryParams } from 'jsx/routing/history';\n\nconst hostname = window.location.hostname;\nconst cookieDomain = hostname.indexOf('localhost') !== -1 ? 'localhost' : 'creditinfo.is';\n\nexport const setCookie = lang => {\n Cookies.set('userCulture', 'c=is-IS|uic=' + lang, {\n expires: 365,\n path: '/',\n domain: cookieDomain\n });\n};\n\nexport const getCurrentCookieLanguage = () => {\n let storedLang = 'is';\n\n let langCookie = Cookies.get('userCulture', { domain: cookieDomain });\n\n const { lang } = getQueryParams();\n\n if (!lang && langCookie !== undefined) {\n let idx = langCookie.indexOf('uic=');\n if (idx !== -1) {\n return langCookie.substr(idx + 4, 2);\n } else {\n idx = langCookie.indexOf('uic%3D');\n if (idx !== -1) {\n return langCookie.substr(idx + 6, 2);\n }\n }\n } else {\n setCookie(lang || storedLang);\n return lang || storedLang;\n }\n};\n","import { useContext } from 'react';\nimport LanguageContext from './LanguageContext';\n\nexport default function useLocale() {\n const { lang, t, setLanguage, updateLocaleForLang, locale, localeLoaded } = useContext(LanguageContext);\n return { lang, t, setLanguage, updateLocaleForLang, locale, localeLoaded };\n}\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { history, getQueryParams, updateQueryParam } from '../routing/history';\nimport LanguageContext from './LanguageContext';\nimport { getCurrentCookieLanguage, setCookie } from 'jsx/locale/helpers';\n\nconst swapLangQueryParam = lang => {\n const searchParams = getQueryParams();\n if (searchParams.lang) {\n updateQueryParam('lang', lang);\n }\n};\n\nconst storedLang = getCurrentCookieLanguage();\n\nexport default ({ locale = undefined, children, lang = storedLang }) => {\n const [showKey, setShowKey] = useState(false);\n const [language, setLanguage] = useState(lang);\n const [localeObj, setLocaleObj] = useState(locale);\n\n function updateLanguage(lang) {\n setLanguage(lang);\n setCookie(lang);\n swapLangQueryParam(lang);\n }\n\n function updateLocaleObj(lang, newLocaleObj) {\n if (locale !== undefined) {\n throw new Error(\n 'LanguageProvider is being controlled via the locale prop. ' +\n 'updateLocaleForLang should only be used if the component is uncontrolled.'\n );\n } else {\n setLocaleObj(old => ({\n ...old,\n [lang]: newLocaleObj\n }));\n }\n }\n\n useEffect(() => {\n if (history.location.search.includes('show_locale_string')) {\n setShowKey(true);\n }\n }, []);\n\n let currentLocale = localeObj;\n // Check if locale is controlled from the outside.\n if (locale !== undefined) {\n currentLocale = locale;\n }\n\n function t(str, ...args) {\n if (showKey) return str;\n if (!str) return '';\n\n if (!currentLocale || Object.keys(currentLocale).length === 0 || !currentLocale[lang]) {\n return '';\n }\n\n let s = currentLocale[language][str];\n if (args.length === 0) return s;\n if (s) {\n for (let i = 0; i < args.length; i++) {\n let index = '{' + i + '}';\n s = s.replace(index, args[i]);\n }\n }\n return s;\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport class BackwardsCompatLanguageProvider extends React.Component {\n static childContextTypes = {\n locale: PropTypes.object\n };\n\n getChildContext() {\n const { locale, lang } = this.props;\n return {\n locale: {\n ...locale[lang],\n currentLang: lang\n }\n };\n }\n\n render() {\n return this.props.children;\n }\n}\nexport { default as useLocale } from './useLocale';\n","import { useEffect } from 'react';\n\nimport { useAuthContext } from './AuthProviderV2';\n\nexport default ({ history }) => {\n const { loginCallback, logOut, setUser } = useAuthContext();\n\n useEffect(() => {\n loginCallback(history.location.hash)\n .then(history.push)\n .then(setUser)\n .catch((ex) => {\n console.log(ex);\n logOut();\n });\n }, []);\n\n return null;\n};\n","import React from 'react';\nimport axios from 'axios';\nimport Cookies from 'js-cookie';\nimport Callback from './CallbackV2';\n\nconst authContext = React.createContext(null);\nexport const useAuthContext = () => React.useContext(authContext);\n// export const COOKIE_DOMAIN = window.location.hostname.indexOf('localhost') !== -1 ? 'localhost' : 'creditinfo.is';\n// export const COOKIE_CONFIG = {\n// expires: 1,\n// path: '/',\n// domain: COOKIE_DOMAIN,\n// };\n\nexport default ({ children, authConfig, history, restrict = false }) => {\n const config = parseConfig(authConfig);\n const [user, setUser] = React.useState(null);\n const interceptRef = React.useRef(false);\n const bufferRef = React.useRef([]);\n const iframeRef = React.useRef({\n started: false,\n sessionState: null,\n frame: null,\n frameOrigin: '',\n frameTimer: null,\n isLocal: window.location.href.indexOf('localhost') !== -1,\n });\n\n const stateRef = React.useRef({\n wellKnown: null,\n accessToken: null,\n refreshToken: null,\n });\n\n const isCb = history.location.pathname.endsWith('/_cb');\n const isAuthed = isAuthenticated(config);\n\n // const analyticsCookie = Cookies.get(COOKIE_KEY, { domain: cookieDomain });\n\n if (!interceptRef.current) {\n interceptAddAccessTokenToHeader(config, stateRef);\n interceptRetryOnUnAuthorized(config, bufferRef, retry);\n interceptRef.current = true;\n }\n\n function setRefreshToken(token) {\n stateRef.current.refreshToken = token;\n }\n\n function setAccessToken(token) {\n stateRef.current.accessToken = token;\n }\n\n function setUserFromPayload() {\n setUser(getIdTokenPayload(config));\n }\n\n if (isAuthed && !user) {\n setUserFromPayload();\n const at = getAccessTokenResponse(config);\n if (at) {\n setAccessToken(at.access_token);\n setRefreshToken(at.refresh_token);\n }\n }\n\n function retry() {\n retryBuffer(config, stateRef.current.refreshToken, setRefreshToken, setAccessToken, bufferRef);\n }\n\n if (!stateRef.current.wellKnown) {\n getWellKnown(config).then((wk) => (stateRef.current.wellKnown = wk));\n }\n\n const contextValue = React.useMemo(\n () => ({\n loginCallback: (hash) => loginCallback(config, setRefreshToken, setAccessToken, iframeRef, hash),\n logOut: (state, pluri) => logOut(config, state, pluri),\n signIn: (stateToSend) => signIn(config, stateToSend),\n isAuthenticated: isAuthed,\n setAccessToken,\n setRefreshToken,\n setUser: setUserFromPayload,\n user,\n authMethod: user ? user.amr[0] : null,\n }),\n [user, isAuthed]\n );\n\n if (!isCb && !isAuthed && restrict) {\n signIn(config, getLocationData(history.location));\n return null;\n }\n\n return (\n \n {isCb ? : typeof children === 'function' ? children(contextValue) : children}\n \n );\n};\n\nexport const getLocationData = (location) => {\n let loc = location || window.location;\n return {\n path: loc.pathname,\n search: loc.search,\n hashId: loc.hash && loc.hash.replace('#', ''),\n };\n};\n\nconst retryBuffer = async (config, refreshToken, setRefreshToken, setAccessToken, bufferRef) => {\n const success = await requestNewAccessToken(config, refreshToken, setRefreshToken, setAccessToken);\n if (success) {\n for (let i = 0; i < bufferRef.current.length; i++) {\n const item = bufferRef.current[i];\n axios(item.config).then((response) => item.resolve(response));\n }\n bufferRef.current = [];\n } else {\n logOut(config);\n }\n};\n\nconst interceptRetryOnUnAuthorized = (config, bufferRef, retry) => {\n return axios.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response && error.response.status === 401) {\n if (!error.response.config._retry) {\n error.response.config._retry = true;\n return new Promise((resolve) => {\n const bufferLength = bufferRef.current.push({\n resolve,\n config: error.response.config,\n });\n if (bufferLength === 1) {\n retry();\n }\n });\n } else {\n logOut(config);\n }\n }\n return Promise.reject(error);\n }\n );\n};\n\nconst logOut = (config, state, postLogoutRedirectUri) => {\n if (process.env.REACT_APP_DO_NOT_LOGOUT) {\n return;\n }\n getWellKnown(config).then((wk) => {\n let idToken = getIdToken(config);\n const endPoint = wk.end_session_endpoint;\n const idTokenStr = `id_token_hint=${idToken ? idToken.id_token : ''}`;\n let postLogoutRedirect = `post_logout_redirect_uri=${encodeURIComponent(config.postLogoutRedirectUri || '')}`;\n if (postLogoutRedirectUri) {\n postLogoutRedirect = `post_logout_redirect_uri=${encodeURIComponent(postLogoutRedirectUri)}`;\n }\n let urlStr = `${endPoint}?${idTokenStr}&${postLogoutRedirect}`;\n if (state) {\n urlStr = `${urlStr}&state=${encodeURIComponent(state)}`;\n }\n clearLocalStorage(config);\n localStorage.removeItem(`${config.storageKey}_state`);\n localStorage.removeItem(`${config.storageKey}_nonce`);\n // Cookies.remove(`${config.storageKey}_state`, COOKIE_CONFIG);\n // Cookies.remove(`${config.storageKey}_nonce`, COOKIE_CONFIG);\n // Cookies.delete(COOKIE_KEY, { domain: cookieDomain });\n window.location.assign(urlStr);\n });\n};\n\nconst interceptAddAccessTokenToHeader = (authConfig, stateRef) => {\n axios.interceptors.request.use(\n (config) => {\n const isAuthServer = config.url ? config.url.includes(authConfig.authUrl) : false;\n if (!isAuthServer) {\n const { accessToken } = stateRef.current;\n if (accessToken !== null) {\n config.headers['Authorization'] = `Bearer ${accessToken}`;\n }\n }\n return config;\n },\n (error) => {\n return Promise.reject(error);\n }\n );\n};\n\nconst parseConfig = (config) => ({\n authUrl: config.authUrl || '',\n responseType: config.responseType || 'id_token code',\n clientId: config.clientId || '',\n redirectUri: config.redirectUri || `${window.location.protocol}//${window.location.host}/_cb`,\n scope: config.scope || '',\n secret: config.secret || '',\n website: config.website || 'Default',\n postLogoutRedirectUri: config.postLogoutRedirectUri || `${window.location.protocol}//${window.location.host}`,\n logoutUri: config.logoutUri,\n refresh_token: null,\n api_access_token: null,\n sessionCheckInterval: config.sessionCheckInterval || 2000,\n storageKey: `${config.clientId}_${config.authUrl}`,\n});\n\nconst isAuthenticated = (config) => {\n const idToken = getIdTokenPayload(config);\n if (idToken === null || !idToken.exp) {\n return false;\n }\n return new Date(idToken.exp * 1000) > new Date();\n};\n\nconst getWellKnown = (config) => {\n return new Promise((resolve) => {\n let data = localStorage.getItem(`${config.storageKey}_wellKnown`);\n // let data = Cookies.get(`${config.storageKey}_wellKnown`);\n let wk;\n if (data === null) {\n axios(`${config.authUrl}/.well-known/openid-configuration`).then((response) => {\n wk = response.data;\n // Cookies.set(`${config.storageKey}_wellKnown`, JSON.stringify(wk), COOKIE_CONFIG);\n localStorage.setItem(`${config.storageKey}_wellKnown`, JSON.stringify(wk));\n resolve(wk);\n });\n } else {\n wk = JSON.parse(data);\n resolve(wk);\n }\n });\n};\n\nconst getAccessTokenByRefreshToken = (config, refreshToken) => {\n return new Promise((resolve, reject) => {\n getWellKnown(config)\n .then((wk) => {\n const auth = btoa(`${config.clientId}:${config.secret}`);\n const headers = {\n Authorization: `Basic ${auth}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n };\n const gt = 'grant_type=refresh_token';\n const refreshTokenStr = `refresh_token=${refreshToken}`;\n const scope = `scope=${encodeURI(config.scope)}`;\n const client = `client_id=${config.clientId}`;\n const query = [gt, refreshTokenStr, scope, client].join('&');\n\n const options = {\n headers: headers,\n method: 'post',\n data: query,\n };\n\n return axios(wk.token_endpoint, options);\n })\n .then((response) => resolve(response.data))\n .catch((ex) => reject(ex));\n });\n};\n\nconst getAccessTokenByCode = (config, code) => {\n return new Promise((resolve) => {\n getWellKnown(config)\n .then((wk) => {\n const auth = btoa(`${config.clientId}:${config.secret}`);\n const headers = {\n Authorization: `Basic ${auth}`,\n 'Content-Type': 'application/x-www-form-urlencoded',\n };\n const gt = 'grant_type=authorization_code';\n const codeStr = `code=${code}`;\n const clientId = `client_id=${encodeURI(config.clientId)}`;\n const rediruri = `redirect_uri=${encodeURI(config.redirectUri || '')}`;\n const query = [gt, codeStr, clientId, rediruri].join('&');\n\n const options = {\n headers: headers,\n method: 'post',\n data: query,\n };\n\n return axios(wk.token_endpoint, options);\n })\n .then((response) => resolve(response.data));\n });\n};\n\nconst decodeClientIDToken = (token) => {\n let result = {};\n const tokenParts = token.split('&');\n for (let i = 0; i < tokenParts.length; ++i) {\n const parts = tokenParts[i].split('=');\n if (parts[0] === 'scope') {\n result[parts[0]] = decodeURI(parts[1]);\n } else if (parts[0] === 'state') {\n result[parts[0]] = decodeURIComponent(parts[1]);\n } else {\n result[parts[0]] = parts[1];\n }\n }\n return result;\n};\n\nconst urlBase64Decode = (str) => {\n let output;\n try {\n output = str.replace('-', '+').replace('_', '/');\n } catch (ex) {\n return '';\n }\n\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n return window.atob(output);\n};\n\nconst utf8_decode = (utftext) => {\n let string = '';\n let i = 0;\n let c = 0;\n let c2 = 0;\n let c3;\n\n while (i < utftext.length) {\n c = utftext.charCodeAt(i);\n\n if (c < 128) {\n string += String.fromCharCode(c);\n i += 1;\n } else if (c > 191 && c < 224) {\n c2 = utftext.charCodeAt(i + 1);\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\n i += 2;\n } else {\n c2 = utftext.charCodeAt(i + 1);\n c3 = utftext.charCodeAt(i + 2);\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\n i += 3;\n }\n }\n return string;\n};\n\nconst getDataFromToken = (token) => {\n if (!token) return {};\n let data = {};\n const encoded = token.split('.')[1];\n let decoded = urlBase64Decode(encoded);\n decoded = utf8_decode(decoded);\n\n if (decoded !== '') {\n data = JSON.parse(decoded);\n }\n return data;\n};\n\nconst requestNewAccessToken = (config, refreshToken, setRefreshToken, setAccessToken) => {\n return new Promise((resolve) => {\n if (refreshToken !== null) {\n return getAccessTokenByRefreshToken(config, refreshToken)\n .then((data) => {\n setRefreshToken(data.refresh_token);\n setAccessToken(data.access_token);\n // Cookies.set(`${config.storageKey}_accessToken`, JSON.stringify(data), COOKIE_CONFIG);\n localStorage.setItem(`${config.storageKey}_accessToken`, JSON.stringify(data));\n resolve(true);\n })\n .catch((e) => {\n resolve(false);\n logOut(config);\n });\n }\n resolve(false);\n });\n};\n\n/**\n *\n */\nconst signIn = async (config, stateToSend) => {\n getWellKnown(config).then((wk) => {\n const authEndpoint = wk.authorization_endpoint;\n const rt = `response_type=${config.responseType}`;\n const cid = `client_id=${config.clientId}`;\n const redir = `redirect_uri=${config.redirectUri}`;\n const scope = `scope=${config.scope}`;\n const state = JSON.stringify(stateToSend);\n const stateStr = `state=${state}`.replace(/&/g, '%26'); // encode &\n const website = `website=${config.website}`;\n const nonce = `N${Math.random()}${Date.now()}`;\n const nonceStr = `nonce=${nonce}`;\n const query = [rt, cid, redir, scope, stateStr, website, nonceStr].join('&');\n const url = encodeURI(`${authEndpoint}?${query}`);\n\n // Cookies.set(`${config.storageKey}_state`, state, COOKIE_CONFIG);\n // Cookies.set(`${config.storageKey}_nonce`, nonce, COOKIE_CONFIG);\n localStorage.setItem(`${config.storageKey}_state`, state);\n localStorage.setItem(`${config.storageKey}_nonce`, nonce);\n\n window.location.assign(url);\n });\n};\n\nconst getIdToken = (config) => {\n return _parseOrNull(`${config.storageKey}_idToken`);\n};\n\nconst getAccessTokenResponse = (config) => {\n return _parseOrNull(`${config.storageKey}_accessToken`);\n};\n\nconst getIdTokenPayload = (config) => {\n return _parseOrNull(`${config.storageKey}_idTokenPayload`);\n};\n\nconst clearLocalStorage = (config) => {\n // Cookies.remove(`${config.storageKey}_idToken`, COOKIE_CONFIG);\n // Cookies.remove(`${config.storageKey}_accessToken`, COOKIE_CONFIG);\n // Cookies.remove(`${config.storageKey}_wellKnown`, COOKIE_CONFIG);\n // Cookies.remove(`${config.storageKey}_idTokenPayload`, COOKIE_CONFIG);\n // // //Why are we not removeing state and nonce?\n // Cookies.remove(`${config.storageKey}_state`, COOKIE_CONFIG);\n // Cookies.remove(`${config.storageKey}_nonce`, COOKIE_CONFIG);\n\n localStorage.removeItem(`${config.storageKey}_idToken`);\n localStorage.removeItem(`${config.storageKey}_accessToken`);\n localStorage.removeItem(`${config.storageKey}_wellKnown`);\n localStorage.removeItem(`${config.storageKey}_idTokenPayload`);\n //Why are we not removeing state and nonce?\n localStorage.removeItem(`${config.storageKey}_state`);\n localStorage.removeItem(`${config.storageKey}_nonce`);\n};\n\nconst _parseOrNull = (jsonKey) => {\n if (jsonKey) {\n try {\n const token = localStorage.getItem(jsonKey) || '';\n // const token = Cookies.get(jsonKey) || '';\n return JSON.parse(token);\n } catch (ex) {\n return null;\n }\n }\n return null;\n};\n\nconst loginCallback = (config, setRefreshToken, setAccessToken, iframeRef, hash) => {\n return new Promise((resolve, reject) => {\n const cbStr = hash.substr(1);\n const storedState = decodeURIComponent(localStorage.getItem(`${config.storageKey}_state`));\n // const storedState = decodeURIComponent(Cookies.get(`${config.storageKey}_state`));\n const storedNonce = localStorage.getItem(`${config.storageKey}_nonce`);\n // const storedNonce = Cookies.get(`${config.storageKey}_nonce`);\n const tokenData = decodeClientIDToken(cbStr);\n const resultState = decodeURIComponent(tokenData.state);\n const idTokenPayload = getDataFromToken(tokenData.id_token);\n\n if (!tokenData.error) {\n if (resultState !== storedState) {\n //TODO - Má ekki prófa nýtt state. Ef mismatch - remove old state and save new to local storage. Svo tékka á\n reject({ error: 'state mismatch when parsing token' });\n } else if (storedNonce !== idTokenPayload.nonce) {\n reject({ error: 'nonce mismatch when parsing token' });\n } else {\n const currentDate = new Date();\n if (idTokenPayload.exp === undefined) {\n reject({ error: 'token is expired' });\n return;\n }\n const expires = new Date(idTokenPayload.exp * 1000);\n if (currentDate > expires) {\n reject({ error: 'token is expired' });\n return;\n } else {\n getAccessTokenByCode(config, tokenData.code)\n .then((data) => {\n // Cookies.set(`${config.storageKey}_idToken`, JSON.stringify(tokenData), COOKIE_CONFIG);\n // Cookies.set(`${config.storageKey}_accessToken`, JSON.stringify(data), COOKIE_CONFIG);\n // Cookies.set(`${config.storageKey}_idTokenPayload`, JSON.stringify(idTokenPayload), COOKIE_CONFIG);\n localStorage.setItem(`${config.storageKey}_idToken`, JSON.stringify(tokenData));\n localStorage.setItem(`${config.storageKey}_accessToken`, JSON.stringify(data));\n localStorage.setItem(`${config.storageKey}_idTokenPayload`, JSON.stringify(idTokenPayload));\n\n setRefreshToken(data.refresh_token);\n setAccessToken(data.access_token);\n\n startSessionIframe(config, iframeRef);\n try {\n const loc = JSON.parse(tokenData.state);\n let search = loc.search;\n //not sure why we decode before returning here\n let path = decodeURIComponent(loc.path); //.replace(/%26/g, '&');\n if (loc.search) {\n path = `${path}${search}`;\n }\n if (loc.hashId) {\n path = `${path}#${loc.hashId}`;\n }\n resolve(path);\n } catch (ex) {\n resolve('/');\n }\n })\n .catch(() => reject({ error: 'Got no access token' }));\n }\n }\n } else {\n clearLocalStorage(config);\n reject({ error: 'User has no access to this site' });\n }\n });\n};\n\nconst startSessionIframe = (config, iframeRef) => {\n if (!iframeRef.current.started) {\n iframeRef.current.started = true;\n\n getWellKnown(config).then((wk) => {\n const iframeUrl = wk.check_session_iframe;\n if (!iframeRef.current.sessionState) {\n const idToken = getIdToken(config);\n iframeRef.current.sessionState = idToken.session_state;\n }\n\n const idx = iframeUrl.indexOf('/', iframeUrl.indexOf('//') + 2);\n iframeRef.current.frameOrigin = iframeUrl.substr(0, idx);\n\n const frame = document.createElement('iframe');\n frame.style.display = 'none';\n\n iframeRef.current.frame = frame;\n\n if (iframeRef.current.isLocal) frame.sandbox = 'allow-scripts ';\n frame.onload = () => {\n window.addEventListener('message', (e) => onMessage(config, iframeRef, e), false);\n startFrameTimer(config, iframeRef);\n };\n frame.src = iframeUrl;\n document.body.appendChild(frame);\n });\n }\n};\n\nconst onMessage = (config, iframeRef, e) => {\n const { frameOrigin, frame } = iframeRef.current;\n if (!frame) return;\n\n if (e.origin === frameOrigin && e.source === frame.contentWindow) {\n if (e.data === 'changed') {\n stopFrameTimer(iframeRef);\n clearLocalStorage(config);\n signIn(config, getLocationData());\n }\n }\n};\n\nconst startFrameTimer = (config, iframeRef) => {\n if (iframeRef.current.frameTimer !== null) {\n stopFrameTimer(iframeRef);\n }\n\n iframeRef.current.frameTimer = window.setInterval(() => {\n if (!iframeRef.current.frame || !iframeRef.current.frame.contentWindow) {\n return;\n }\n\n iframeRef.current.frame.contentWindow.postMessage(\n `${config.clientId} ${iframeRef.current.sessionState}`,\n iframeRef.current.frameOrigin\n );\n }, config.sessionCheckInterval);\n};\n\nconst stopFrameTimer = (iframeRef) => {\n if (iframeRef.current.frameTimer) {\n window.clearInterval(iframeRef.current.frameTimer);\n iframeRef.current.frameTimer = null;\n }\n};\n","import React from 'react';\nimport { withRouter } from 'react-router';\n\nfunction ScrollToTop({ children, location }) {\n React.useEffect(() => {\n window.scrollTo(0, 0);\n }, [location]);\n\n return children || null;\n}\n\nexport default withRouter(ScrollToTop);\n","import axios from 'axios';\n\nexport default (url, options = {}) => {\n const config = {\n url,\n method: options.method || 'get',\n responseType: options.responseType || 'json',\n headers: options.headers || {},\n };\n\n config.headers['Content-Type'] = options.contentType || 'application/json';\n\n if (!!window.MSInputMethodContext && !!document.documentMode) {\n /**\n * Internet Explorer is fucking stupid. If I dont set these headers,\n * many GET requests are just cached by IE11. That means\n * certain conditionals keep firing even if the user\n * has resolved them because a GET request to an endpoint\n * that was requested recently, still shows the same response\n * even if the user made some changes in the meantime......\n */\n config.headers['Cache-Control'] = 'no-cache';\n config.headers['Pragma'] = 'no-cache';\n config.headers['Expires'] = 'Sat, 01 Jan 2000 00:00:00 GMT';\n }\n\n if (options.data) {\n if (options.formData) {\n let fd = new FormData();\n fd.append(options.fieldName || 'file', options.data);\n config.data = fd;\n } else {\n if (!options.contentType) {\n config.data = JSON.stringify(options.data);\n } else {\n config.data = options.data;\n }\n }\n }\n\n return axios(config)\n .then((response) => {\n return response.data !== undefined ? response.data : response;\n })\n .catch((err) => {\n let response = err.response;\n let error = {\n code: -1,\n message: 'Villa kom upp.',\n };\n if (response) {\n error.status = response.status;\n error.statusText = response.statusText;\n if (response.data) {\n error.error = response.data.error;\n error.error_id = response.data.error_id;\n error.logID = response.data.logID;\n error.error_details = response.data.error_details;\n error.error_description = response.data.error_description;\n }\n }\n return {\n error,\n };\n });\n};\n","import apiRequest from './apiRequest';\n\nconst SHARED_URL = process.env.REACT_APP_SHARED_API_URL ? process.env.REACT_APP_SHARED_API_URL.replace(/\\/$/, '') : '';\n\nif (!SHARED_URL) {\n throw new Error('Missing SHARED_URL when using translationsApi');\n}\n\nconst TRANS_URL = `${SHARED_URL}/translation`;\n\nconst getTranslation = (sourceID, langID) => {\n return apiRequest(`${TRANS_URL}/getTranslationDocument/${sourceID}/${langID}`);\n};\n\nexport const translationsApi = {\n getTranslations: (sourceID, langID) => {\n if (typeof langID === 'string') {\n const id = langID.startsWith('en') ? 2 : 1;\n return getTranslation(sourceID, id);\n }\n const useID = langID || 1;\n return getTranslation(sourceID, useID);\n },\n getTranslationsIS: (sourceID) => {\n return getTranslation(sourceID, 1);\n },\n getTranslationsEN: (sourceID) => {\n return getTranslation(sourceID, 2);\n },\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { useQuery } from 'react-query';\nimport { translationsApi } from 'utils/api/translations';\nimport { useLocale } from 'jsx/locale/LanguageProviderV2';\n\n/**\n * @param {number} id Translate resource ID\n * @param {\"is\" | \"en\"} lang Override the language used for this translation.\n * Default uses lang from the LanguageProviderV2 context.\n *\n * Load translation for a source ID and the current language.\n * This does not load the translations into the global locale object.\n * The common strings (2009) are also loaded and the objects are merged.\n * In case of duplicates, the string from the resource trumps the shared string.\n *\n * There's also an internal cache so when multiple components request translations\n * for the same source ID, only one request is fired and the rest just get the data\n * from that response. For example, everyone loads 2009 (the shared strings) but\n * only one request is ever made to the API to load it,\n * the others just get it from memory.\n *\n * This is meant for component level translations. So for example,\n * The CookieProvider component uses source 2011 and only downloads\n * the locale needed for that component and the current language.\n *\n * Theoretically we should be able to move all translations to this\n * format at some point and just get rid of most of common (2009) as well.\n *\n * If the lang prop is not supplied, the component using this hook needs to be\n * somewhere in a react tree that's wrapped with LanguageProviderV2 so it can get\n * the language from useLocale().\n *\n * returns:\n * t: a translation function\n * lang: the language currently in use by the hook\n * loaded: whether the resource locale and common locale are both loaded.\n * locale: the text object from the api\n * isFetching: is resource or common locale currently being fetched.\n */\nexport function useTranslation(id, lang = undefined) {\n const { lang: language } = useLocale();\n const usedLanguage = lang || language || 'is';\n\n const shared = useTranslateQuery(2009, usedLanguage);\n const local = useTranslateQuery(id, usedLanguage);\n\n const locale = useMemo(() => {\n if (!shared.data || !local.data) return null;\n return {\n ...shared.data,\n ...local.data,\n };\n }, [shared.data, local.data]);\n\n const t = useCallback(\n (str, ...args) => {\n if (SHOW_KEY || !locale) return str;\n return getReplacedStringFromLocale(locale, str, args);\n },\n [locale]\n );\n\n return {\n t,\n lang: usedLanguage,\n isFetching: local.isFetching || shared.isFetching,\n loaded: local.status === 'success' && shared.status === 'success',\n locale,\n };\n}\n\nconst SHOW_KEY = window.location.search.includes('show_locale_string');\n\nfunction useTranslateQuery(id, lang) {\n return useQuery({\n queryKey: ['translate', id, lang],\n queryFn: async (_, source, lang) => {\n return translationsApi.getTranslations(source, lang);\n },\n config: {\n refetchOnWindowFocus: false,\n refetchInterval: false,\n retry: false,\n staleTime: Infinity,\n },\n });\n}\n\nfunction getReplacedStringFromLocale(locale, key, args) {\n let s = locale[key];\n if (!s) return '';\n\n for (let i = 0; i < args.length; i++) {\n s = s.replace('{' + i + '}', args[i]);\n }\n return s;\n}\n\n/**\n * Fallback functions to help with migrations for class components\n *\n * 1. Use the useMCITranslation() hook in MCI/App.js instead of useTranslationAPI.\n * 2. Move every MCI component/page to use withMCILocale() instead of withLocale().\n * 3. Remove use of redux 'locale' in mapState fns since we no longer load the translations into the LanguageProvider.\n * 4. Show an individual component working with their own translations: CookieProvider.\n *\n * |--- You are here as of May 24, 2020 - siggirh.\n * v\n * 5. Gradually move every component to their own resource for withTranslation().\n * 6. ??\n * 7. Profit.\n */\n\nexport function useMCITranslation(lang = undefined) {\n return useTranslation(2001, lang);\n}\n\nexport function withMCILocale(Component) {\n return function ComponentWithTranslations(props) {\n const tProps = useMCITranslation();\n return ;\n };\n}\n\nexport function withTranslation(Component, id, lang) {\n return function ComponentWithTranslations(props) {\n const tProps = useTranslation(id, lang);\n return ;\n };\n}\n\n/**\n * Fallback for Safnid as well\n */\n\nexport function usePortfolioTranslation(lang = undefined) {\n return useTranslation(2003, lang);\n}\n","import React from 'react';\n\nconst Flex = props => {\n const stl = {\n display: 'flex',\n justifyContent: props.justifyContent,\n alignItems: props.alignItems,\n flexDirection: props.direction,\n ...props.style\n };\n return (\n
\n {props.children}\n
\n );\n};\n\nFlex.defaultProps = {\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n direction: 'row'\n};\n\nexport default Flex;\n","import React from 'react';\n\nimport './ShowInPrint.less';\n\nclass ShowInPrint extends React.Component {\n render() {\n let addDiv = true;\n const children = React.Children.map(this.props.children, child => {\n if (child.props) {\n addDiv = false;\n let cs = 'showOnlyInPrint';\n if (child.props.className) {\n cs = child.props.className + ' showOnlyInPrint';\n }\n return React.cloneElement(child, { className: cs });\n }\n return child;\n });\n\n if (addDiv) {\n return
{children}
;\n }\n return children;\n }\n}\n\nexport default ShowInPrint;\n","import { useState } from 'react';\n\n/**\n * Hook for making generic stateful on/off boolean toggles.\n */\nexport default (initialValue = false) => {\n const [isToggled, setToggled] = useState(initialValue);\n\n const toggleFn = () => {\n setToggled(old => !old);\n };\n\n return [isToggled, toggleFn];\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport { UserMenuOpenToggleCtx } from '../UserMenuV2';\n\nexport const UMItem = ({ link, iconCls, label, openNewTab, onClick, children }) => {\n const { toggleOpen } = useContext(UserMenuOpenToggleCtx);\n\n const clickHandler = () => {\n onClick && onClick();\n toggleOpen && toggleOpen();\n };\n if (!onClick && !link) {\n return
  • {children}
  • ;\n }\n\n if (!link || link.startsWith('http')) {\n return (\n
  • \n \n \n {label}\n \n
  • \n );\n }\n\n return (\n
  • \n \n \n {label}\n \n
  • \n );\n};\n\nUMItem.propTypes = {\n link: PropTypes.string,\n iconCls: PropTypes.string,\n label: PropTypes.string,\n openNewTab: PropTypes.bool,\n onClick: PropTypes.func,\n children: PropTypes.node,\n};\nexport default UMItem;\n","export const getVisibleWidth = () => {\n return (\n window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0\n );\n};\n\nexport const getVisibleHeight = () => {\n return (\n window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0\n );\n};\n\nexport const getElementHeight = el => {\n if (!el) return 0;\n return el.clientHeight || el.offsetHeight || el.scrollHeight;\n};\n\nexport const getElementWidth = el => {\n return el.clientWidth || el.offsetWidth || el.scrollWidth;\n};\n\nexport const debounce = (func, delay) => {\n let inDebounce;\n return function() {\n const context = this;\n const args = arguments;\n clearTimeout(inDebounce);\n inDebounce = setTimeout(() => func.apply(context, args), delay);\n };\n};\n","import { useState, useEffect } from 'react';\nimport { getVisibleHeight, getVisibleWidth, debounce } from '../../utils/browser';\n\nfunction getSize() {\n return { height: getVisibleHeight(), width: getVisibleWidth() };\n}\n\n/**\n * Hook that watches and returns the window size (height and width).\n * Debounces the function call for 100ms in case the user is rapidly\n * dragging the window we dont need to re-render every tick.\n */\nexport default function useWindowSize() {\n let [windowSize, setWindowSize] = useState(getSize());\n\n const handleResize = debounce(() => {\n setWindowSize(getSize());\n }, 100);\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowSize;\n}\n","import React, { createContext } from 'react';\nimport PropTypes from 'prop-types';\nimport UserMenuItem from './UserMenu/UserMenuItemV2';\nimport useWindowSize from '../hooks/useWindowSize';\n/**\n * Use this context for the open/close toggle so the user\n * has more flexibility with the structure of the children.\n */\nexport const UserMenuOpenToggleCtx = createContext({});\n// export const useUserMenuOpenToggleCtx = () => useContext(UserMenuOpenToggleCtx);\n\n/**\n * There are two main ways to use the UserMenu component:\n * 1. Use 'items' array which will create UserMenuItem instances for each item.\n * 2. Use 'children', which should contain only UserMenuItem elements.\n */\nconst UserMenu = ({ open = false, children, toggleOpen, items = [] }) => {\n let cls = 'no-print settings-drop menu-dropdown transition';\n\n if (open) {\n cls += ' open';\n }\n\n return (\n \n \n
    \n {items.length > 0 ? (\n
      \n {items.map((item, i) => (\n \n ))}\n
    \n ) : (\n
      {children}
    \n )}\n
    \n
    \n );\n};\n\nUserMenu.propTypes = {\n open: PropTypes.bool,\n children: PropTypes.node,\n toggleOpen: PropTypes.func,\n items: PropTypes.array,\n};\n\nexport default UserMenu;\n\nconst OverlayClickOutside = ({ show, toggle }) => {\n const { height } = useWindowSize();\n if (!show) return null;\n\n return (\n \n );\n};\n\nOverlayClickOutside.propTypes = {\n show: PropTypes.bool,\n toggle: PropTypes.func,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ShowInPrint from '../elements/text/ShowInPrint';\nimport useToggle from '../hooks/useToggle';\n\n// import UserInformation from './Header/UserInformation';\nimport UserMenu from './UserMenuV2';\n\nconst printLogo = process.env.REACT_APP_STATIC_IMG_URL + '/logo/creditinfo-print-logo.png';\nconst ciLogo = process.env.REACT_APP_STATIC_IMG_URL + '/logo/brand-ci-icon.png';\n\nconst Header = ({\n showMobileNav = true,\n toggleSidebar,\n userMenu = null,\n userMenuItems = [],\n // toggleUserMenu = null,\n children,\n}) => {\n const hasUserMenu = userMenu !== null || userMenuItems.length > 0;\n const [isOpen, toggleOpen] = useToggle(false);\n\n if (hasUserMenu && userMenu === null) {\n userMenu = ;\n }\n\n return (\n <>\n {/*
    \n \n \"Creditinfo\"\n \n \n \"Creditinfo\"\n \n
    */}\n
    \n
    \n
    \n \n \"Creditinfo\"\n \n \n \"Creditinfo\"\n \n
    \n \n {children}\n {showMobileNav && (\n \n )}\n
    \n \n {userMenu}\n
    \n \n );\n};\n\nexport default Header;\n\nHeader.propTypes = {\n mainText: PropTypes.string,\n subText: PropTypes.string,\n products: PropTypes.array,\n showMobileNav: PropTypes.bool,\n toggleSidebar: PropTypes.func,\n userMenu: PropTypes.node,\n userMenuItems: PropTypes.array,\n toggleUserMenu: PropTypes.func,\n children: PropTypes.node,\n};\n","import React from 'react';\nimport useMinHeightForMainContent from '../hooks/useMinHeightForMainContent';\n\nexport default ({ children }) => {\n const height = useMinHeightForMainContent();\n return (\n
    \n {children}\n
    \n );\n};\n","import { useEffect, useState } from 'react';\nimport { getElementHeight, getVisibleHeight } from '../../utils/browser';\n\n/**\n * Hook that figures out the empty space minimum height between\n * the header (.main-header) and footer (.main-footer) on the page\n * and returns the height;\n */\nexport default () => {\n const [height, setHeight] = useState(0);\n\n useEffect(() => {\n let calculatedHeight = getVisibleHeight();\n const header = document.getElementById('main-header');\n const footer = document.getElementById('main-footer');\n calculatedHeight -= getElementHeight(header) + getElementHeight(footer);\n setHeight(calculatedHeight);\n }, []);\n\n return height;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Root = ({ sidebarOpen = false, children }) => {\n const rootCls = `thjonustuvefur ${sidebarOpen ? ' sidebar-open' : ''}`;\n return (\n
    \n
    \n
    \n {children}\n
    \n
    \n );\n};\nexport default Root;\nRoot.propTypes = {\n sidebarOpen: PropTypes.bool,\n children: PropTypes.node,\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport 'styles/less/components/jsx-tooltip.less';\n\nclass Tooltip extends React.Component {\n componentDidMount() {\n ReactTooltip.rebuild();\n }\n\n componentDidUpdate() {\n ReactTooltip.rebuild();\n }\n\n render() {\n const { id, place, effect } = this.props;\n return ReactDOM.createPortal(\n ,\n document.body\n );\n }\n}\n\nTooltip.propTypes = {\n id: PropTypes.string.isRequired,\n place: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n effect: PropTypes.oneOf(['solid', 'float'])\n};\n\nTooltip.defaultProps = {\n place: 'top',\n effect: 'solid'\n};\n\nexport default Tooltip;\n","import React from 'react';\nimport clsx from 'clsx';\n\nconst SidebarFooter = ({ toggle, isOpen }) => {\n return (\n
    \n \n
    \n );\n};\n\nexport default SidebarFooter;\n","import FileSaver from 'file-saver';\nimport axios from 'axios';\nimport 'json.date-extensions/json.date-extensions.js';\n\nexport const apiGetCall = (url, options = {}) => {\n return apiCall(url, options);\n};\n\nexport const apiDeleteCall = (url, options = {}) => {\n let newOptions = { ...options, method: 'delete' };\n return apiCall(url, newOptions);\n};\n\nexport const apiPostCall = (url, body, options = {}) => {\n let newOptions = { ...options, method: 'post', data: body };\n return apiCall(url, newOptions);\n};\n\nexport const isResultOk = (obj, notifyErrorhandler, single = false) => {\n if (obj != null && obj.error != undefined) {\n if (notifyErrorhandler) {\n if (single) {\n notifyErrorhandler(obj);\n } else {\n notifyErrorhandler([obj]);\n }\n }\n return false;\n } else if (obj == null) {\n return true;\n }\n return obj;\n};\n\nconst useDetailError = process.env.REACT_APP_DETAILED_API_ERRORS;\n\nexport const apiCall = (url, options = {}) => {\n const config = {\n url,\n method: options.method || 'get',\n responseType: options.responseType || 'json',\n headers: options.headers || {},\n transformResponse: [\n function (data) {\n //console.log(\"data\",data);\n return JSON.parseWithDate(JSON.stringify(data));\n },\n ],\n };\n config.headers['Content-Type'] = options.contentType || 'application/json';\n\n if (options.data) {\n if (!options.contentType || config.headers['Content-Type'] === 'application/json') {\n config.data = JSON.stringify(options.data);\n } else {\n //console.log(\"contenttype\", config.headers['Content-Type']);\n //console.log(\"send with other than json\");\n config.data = options.data;\n }\n }\n\n return axios(config)\n .then((response) => {\n return response.data !== undefined ? response.data : response;\n })\n .catch((e) => {\n // console.log(\"APICALL response\", e);\n let error = {\n status: -1,\n statusText: 'No connection',\n message: '-1 (No connection)',\n detail: 'No connection available to url ' + config.url,\n description: '',\n };\n if (e.response) {\n error.status = e.response.status;\n error.statusText = e.response.statusText;\n if (e.response.status == 404) {\n error.message = '404 (Not found)';\n error.detail = 'Service was not found on url ' + config.url;\n } else if (e.response.status == 415) {\n error.message = '415 (Unsupported Media Type)';\n error.detail = 'Check the parameters values sent to url ' + config.url;\n }\n }\n if (e.response && e.response.data !== undefined) {\n //Usally 400 Bad request\n let body = e.response.data;\n\n if (body != null && body.error) {\n error.message = body.error;\n error.detail = 'Service url ' + config.url;\n if (useDetailError === true) {\n error.detail = body.error_details;\n }\n error.description = body.error_description;\n } else if (body != null) {\n error.message = '400 (Bad request)';\n let text = JSON.stringify(body);\n error.detail = 'Service url ' + config.url + '\\n' + text;\n }\n }\n // console.log(\"Error returned\", error);\n return { error: error };\n });\n};\n\nexport const fetchPDFBinary = (url, filename) => {\n apiCall(url).then((data) => {\n if (data !== undefined && data !== null) {\n let ab = base64ToArrayBuffer(data);\n let blob = new Blob([ab], { type: 'application/pdf' });\n FileSaver.saveAs(blob, `${filename}.pdf`);\n }\n });\n};\n\nexport const dateToISO = (date) => {\n var d = new Date(date),\n month = '' + (d.getMonth() + 1),\n day = '' + d.getDate(),\n year = d.getFullYear();\n if (month.length < 2) month = '0' + month;\n if (day.length < 2) day = '0' + day;\n return [year, month, day].join('-');\n};\n\nexport const isoToDate = (dateStr) => {\n return new Date(dateStr);\n};\n\nexport const saveFile = (fileData, fileName, type) => {\n let ab = base64ToArrayBuffer(fileData);\n let blob = new Blob([ab], { type: type });\n FileSaver.saveAs(blob, fileName);\n};\n\nexport const base64ToArrayBuffer = (base64) => {\n let binaryString = window.atob(base64);\n let binaryLen = binaryString.length;\n let bytes = new Uint8Array(binaryLen);\n for (let i = 0; i < binaryLen; i++) {\n let ascii = binaryString.charCodeAt(i);\n bytes[i] = ascii;\n }\n return bytes;\n};\n","import { apiCall } from './apiCall';\nimport apiRequest from './apiRequest';\n\nconst BUSINESS_URL = process.env.REACT_APP_BUSINESS_WEB_URL\n ? process.env.REACT_APP_BUSINESS_WEB_URL.replace(/\\/$/, '')\n : '';\nconst SHARED_URL = process.env.REACT_APP_SHARED_API_URL ? process.env.REACT_APP_SHARED_API_URL.replace(/\\/$/, '') : '';\n\nconst TRANS_URL = `${SHARED_URL}/translation`;\nconst NAV_URL = `${SHARED_URL}/navigation`;\nconst SUPERVISOR_URL = `${SHARED_URL}/supervisor`;\nconst FORM_URL = `${SHARED_URL}/form`;\n\nclass TranslationAPI {\n getTranslationsIS = async (sourceId) => {\n const [common, trans] = await Promise.all([\n apiRequest(`${TRANS_URL}/getTranslationDocument/2009/1`),\n apiRequest(`${TRANS_URL}/getTranslationDocument/${sourceId}/1`),\n ]);\n return { ...common, ...trans };\n };\n\n getTranslationsEN = async (sourceId) => {\n const [common, trans] = await Promise.all([\n apiRequest(`${TRANS_URL}/getTranslationDocument/2009/2`),\n apiRequest(`${TRANS_URL}/getTranslationDocument/${sourceId}/2`),\n ]);\n return { ...common, ...trans };\n };\n}\n\nclass NavigationAPI {\n getSettingsUrls = async () => {\n return await apiRequest(`${NAV_URL}/settingsurls?businessWebBaseUrl=${BUSINESS_URL}`);\n };\n}\n\nclass SupervisorAPI {\n getAnnouncement = async (id) => {\n return await apiRequest(`${SUPERVISOR_URL}/announcements?id=${id}`);\n };\n}\n\nclass FormAPI {\n getFormByID = (formId, companyRegno) => apiCall(`${FORM_URL}/${formId}/${companyRegno}`);\n\n getFormByGuid = (formGuid) => apiRequest(`${FORM_URL}/${formGuid}`);\n\n saveFormItems = async (data) => {\n const options = { method: 'post', data };\n return await apiRequest(`${FORM_URL}/save`, options);\n };\n\n getFormItemAttachment = async (formGuid, attachmentID) => {\n const options = { responseType: 'blob' };\n return await apiRequest(`${FORM_URL}/attachment/${formGuid}/${attachmentID}`, options);\n };\n\n insertFormItemAttachment = async (data) => {\n const options = { method: 'post', data };\n return await apiRequest(`${FORM_URL}/attachment/upload`, options);\n };\n\n deleteFormItemAttachment = async (formGuid, attachmentID) => {\n const options = { method: 'delete' };\n return await apiRequest(`${FORM_URL}/attachment/${formGuid}/delete/${attachmentID}`, options);\n };\n\n updateFormStatus = async (data) => {\n const options = { method: 'post', data };\n return await apiRequest(`${FORM_URL}/status`, options);\n };\n}\n\nexport const translationApi = new TranslationAPI();\nexport const navigationApi = new NavigationAPI();\nexport const supervisorApi = new SupervisorAPI();\nexport const formApi = new FormAPI();\n","import { useEffect, useState } from 'react';\nimport { translationApi } from 'utils/api/shared';\nimport { useLocale } from 'jsx/locale/LanguageProviderV2';\n\nexport default (source) => {\n const [loadedIS, setLoadedIS] = useState(false);\n const [loadedEN, setLoadedEN] = useState(false);\n const { updateLocaleForLang } = useLocale();\n\n useEffect(() => {\n if (source) {\n translationApi.getTranslationsIS(source).then((t) => {\n updateLocaleForLang('is', t);\n setLoadedIS(true);\n });\n translationApi.getTranslationsEN(source).then((t) => {\n updateLocaleForLang('en', t);\n setLoadedEN(true);\n });\n }\n }, []);\n\n return loadedIS && loadedEN;\n};\n","// -- Prismic API endpoint\n// Determines which repository to query and fetch data from\n// Configure your site's access point here\n\nexport const apiEndpoint = 'https://developer-creditinfo.cdn.prismic.io/api/v2';\n// export const apiEndpoint = 'https://demo-creditinfo.cdn.prismic.io/api/v2';\n\n// -- Access Token if the repository is not public\n// Generate a token in your dashboard and configure it here if your repository is private\nexport const accessToken = '';\n\n// -- Link resolution rules\n// Manages the url links to internal Prismic documents\nexport const linkResolver = (doc) => {\n if (doc.type === 'page') return `/${doc.uid}`;\n return '/';\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\nconst Section = React.forwardRef(({ limit = true, padded = true, customPadding, className, children }, ref) => {\n return (\n
    \n \n {children}\n
    \n \n );\n});\n\nSection.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object.isRequired, PropTypes.array.isRequired, PropTypes.node]),\n limit: PropTypes.bool,\n padded: PropTypes.bool,\n className: PropTypes.string,\n customPadding: PropTypes.string,\n};\nSection.displayName = 'Section';\n\nexport default Section;\n","import Section from 'jsx/elements/section/Section';\nimport React from 'react';\nimport { Link } from 'react-router-dom';\n\n/**\n * Page not found (404) component\n */\nconst NotFound = () => (\n
    \n
    \n
    \n

    \n Við biðjumst velvirðingar{' '}\n \n
    \n en umbeðin síða finnst ekki\n
    \n

    \n
    \n
    \n \"404\n
    \n\n

    \n \n Aftur á upphafssíðu\n \n

    \n
    \n
    \n
    \n);\n\nexport default NotFound;\n","import React from 'react';\n// import { Link } from 'react-router-dom';\nimport Prismic from 'prismic-javascript';\nimport { apiEndpoint, accessToken, linkResolver } from '../prismic-configuration';\n\n// Helper function to convert Prismic Rich Text links to React Link components\nexport const customLink = (type, element, content, children, index) => (\n {content}\n // \n // {content}\n // \n);\n\n// Client method to query documents from the Prismic repo\nexport const client = Prismic.client(apiEndpoint, { accessToken });\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { Link } from 'prismic-reactjs';\nimport { linkResolver } from 'prismic-configuration';\n\n/**\n * React link for Prismic link fields\n */\nconst PrismicLink = ({ link, linkClass, children }) => {\n const linkUrl = Link.url(link, linkResolver);\n\n if (linkUrl && children !== '') {\n return (\n \n {children}\n \n );\n }\n\n return null;\n};\n\nexport default PrismicLink;\n","import React from 'react';\nimport { RichText } from 'prismic-reactjs';\nimport { customLink } from 'utils/prismicHelpers';\nimport { linkResolver } from 'prismic-configuration';\n/**\n * Helper component for Prismic Rich Text fields\n */\nconst RichTextField = ({ field }) => {\n return ;\n};\n\nexport default RichTextField;\n","import { useEffect, useState } from 'react';\n\nconst useCanWrapText = ({ toggle = false, time = 300 }) => {\n const [canWrapText, setCanWrapText] = useState(false);\n\n useEffect(() => {\n let timer;\n\n if (toggle) {\n timer = setTimeout(() => {\n setCanWrapText(true);\n }, time);\n } else {\n setCanWrapText(false);\n }\n\n return () => clearTimeout(timer);\n }, [toggle]);\n\n return { canWrapText };\n};\n\nexport default useCanWrapText;\n","import React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport clsx from 'clsx';\nimport { useCanWrapText } from 'hooks';\nimport './sideNav.less';\n\n/**\n * Site header/nav component\n */\nconst SideNav = ({ menuDoc, isOpen = false }) => {\n const { pathname } = useLocation();\n const { canWrapText } = useCanWrapText({ toggle: isOpen });\n\n if (menuDoc) {\n const secondLevel = menuDoc.data.body.filter((menuItem) => {\n return menuItem.slice_type === '1st_level';\n });\n\n return (\n
      \n {secondLevel.map((menuLink, index) => (\n \n ))}\n
    \n );\n }\n return null;\n};\n\n/**\n * Menu link component\n */\nconst MenuLink = ({ menuLink, pathname, canWrapText = false }) => {\n const selected = pathname.indexOf(menuLink.nav_uid) !== -1;\n return (\n
  • \n \n {menuLink.icon_class_name && }\n
    \n
    {menuLink.link_text}
    \n
    \n \n
  • \n );\n};\n\nexport default SideNav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n// import SidebarProducts from './Sidebar/SidebarProductsV2';\n// import SidebarFooter from './Sidebar/SidebarFooter';\nimport { useWindowSize } from 'jsx/hooks';\nimport SidebarFooter from 'jsx/layout/Sidebar/SidebarFooter';\nimport SideNav from './SideNav';\nimport './sidebar.less';\n\nconst ciIcon = process.env.REACT_APP_STATIC_IMG_URL + '/logo/brand-ci-icon.png';\nconst ciLogoText = process.env.REACT_APP_STATIC_IMG_URL + '/logo/brand-ci-text.png';\n\nconst Sidebar = ({ isExpanded, toggleExpanded, products, showNested = false }) => {\n const { width } = useWindowSize();\n\n if (!products || products.length === 0) return null;\n if (width < 1100 && !isExpanded) return null;\n\n return (\n
    \n
    \n
    \n
    \n \n
    \n \n \"Creditinfo\"\n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n );\n};\n\nSidebar.propTypes = {\n isExpanded: PropTypes.bool,\n toggleExpanded: PropTypes.func,\n products: PropTypes.array,\n showNested: PropTypes.bool,\n};\n\nexport default Sidebar;\n","import Section from 'jsx/elements/section/Section';\nimport { useToggle } from 'jsx/hooks';\nimport { MainContent } from 'jsx/layout';\nimport React from 'react';\nimport { RichTextField } from '../prismic-elements';\nimport { Footer, Header } from './';\nimport Sidebar from './Sidebar';\n\n/**\n * Default site layout component\n */\nconst DefaultLayout = ({ wrapperClass, docName, menuDoc, children, parent, currentPageId }) => {\n const [sidebarOpen, toggleSidebar] = useToggle(true);\n return (\n <>\n {/* {docName && } */}\n\n
    \n
    \n
    \n
    {children}
    \n\n {/* */}\n {/*